@provoly/dashboard 0.15.11 → 0.15.13

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.
@@ -138,11 +138,11 @@ export class AdminAttributesFormComponent {
138
138
  this.closeCategory();
139
139
  }
140
140
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminAttributesFormComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.UntypedFormBuilder }, { token: i4.Overlay }, { token: i0.ViewContainerRef }, { token: i5.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminAttributesFormComponent, selector: "pry-admin-attributes-form", inputs: { selectedClass: "selectedClass", interClass: "interClass", selectedAttribute: "selectedAttribute" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [items]=\"fields$ | async\"\n [itemsAsOption]=\"true\"\n [autocomplete]=\"true\"\n [bindLabel]=\"'name'\"\n [isForm]=\"true\"\n required=\"true\"\n [templateLabel]=\"templateOption\"\n [templateOption]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <p>{{ item.name }}</p>\n <div class=\"chips\" *ngIf=\"item.crs\">{{ item.crs }}</div>\n </div>\n </ng-template>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
141
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminAttributesFormComponent, selector: "pry-admin-attributes-form", inputs: { selectedClass: "selectedClass", interClass: "interClass", selectedAttribute: "selectedAttribute" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [items]=\"fields$ | async\"\n [itemsAsOption]=\"true\"\n [autocomplete]=\"true\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [isForm]=\"true\"\n required=\"true\"\n [templateLabel]=\"templateOption\"\n [templateOption]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <p>{{ item.name }}</p>\n <div class=\"chips\" *ngIf=\"item.crs\">{{ item.crs }}</div>\n </div>\n </ng-template>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
142
142
  }
143
143
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminAttributesFormComponent, decorators: [{
144
144
  type: Component,
145
- args: [{ selector: 'pry-admin-attributes-form', template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [items]=\"fields$ | async\"\n [itemsAsOption]=\"true\"\n [autocomplete]=\"true\"\n [bindLabel]=\"'name'\"\n [isForm]=\"true\"\n required=\"true\"\n [templateLabel]=\"templateOption\"\n [templateOption]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <p>{{ item.name }}</p>\n <div class=\"chips\" *ngIf=\"item.crs\">{{ item.crs }}</div>\n </div>\n </ng-template>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n" }]
145
+ args: [{ selector: 'pry-admin-attributes-form', template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [items]=\"fields$ | async\"\n [itemsAsOption]=\"true\"\n [autocomplete]=\"true\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [isForm]=\"true\"\n required=\"true\"\n [templateLabel]=\"templateOption\"\n [templateOption]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <p>{{ item.name }}</p>\n <div class=\"chips\" *ngIf=\"item.crs\">{{ item.crs }}</div>\n </div>\n </ng-template>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n" }]
146
146
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.UntypedFormBuilder }, { type: i4.Overlay }, { type: i0.ViewContainerRef }, { type: i5.PryI18nService }]; }, propDecorators: { selectedClass: [{
147
147
  type: Input
148
148
  }], interClass: [{
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
153
153
  type: ViewChild,
154
154
  args: ['template', { read: TemplateRef }]
155
155
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tYXR0cmlidXRlcy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLXZpZXcvYWRtaW4tYXR0cmlidXRlcy1mb3JtL2FkbWluLWF0dHJpYnV0ZXMtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWNsYXNzZXMvYWRtaW4tY2xhc3Nlcy12aWV3L2FkbWluLWF0dHJpYnV0ZXMtZm9ybS9hZG1pbi1hdHRyaWJ1dGVzLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUF3QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRixPQUFPLEVBR0wsZUFBZSxFQUNmLGlCQUFpQixFQUVqQixhQUFhLEVBQ2IscUJBQXFCLEVBRXJCLGFBQWEsRUFDYixZQUFZLEVBQ1osY0FBYyxFQUVmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLEdBQUcsRUFFSCxFQUFFLEVBQ0YsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFN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QUM7SUFDdkIsQ0FBQzs4R0ExS1UsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsZ1FBa0JSLFdBQVcsNkJDMUQ1QywrcE1Ba0tBOzsyRkQxSGEsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLDJCQUEyQjtpUUFnQjVCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR3dDLFFBQVE7c0JBQXJELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGUsXG4gIENhdGVnb3J5LFxuICBDYXRlZ29yeUFjdGlvbnMsXG4gIENhdGVnb3J5U2VsZWN0b3JzLFxuICBDbGFzcyxcbiAgQ29uZmlnQWN0aW9ucyxcbiAgREVGQVVMVF9DQVRFR09SWV9VVUlELFxuICBGaWVsZCxcbiAgRklFTERfT1BUSU9OUyxcbiAgRmllbGRBY3Rpb25zLFxuICBGaWVsZFNlbGVjdG9ycyxcbiAgUHJ5STE4blNlcnZpY2Vcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXBcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBub1doaXRlc3BhY2VWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2FkbWluLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZG1pbkFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9hZG1pbi5hY3Rpb25zJztcbmltcG9ydCB7IEFkbWluQ2xhc3NBY3Rpb25zIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWRtaW4tY2xhc3MuYWN0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1hdHRyaWJ1dGVzLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tYXR0cmlidXRlcy1mb3JtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkF0dHJpYnV0ZXNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBhdHRyRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBuYW1lQWxyZWFkeUV4aXN0cyQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBhdHRyaWJ1dGVOYW1lcz86IHN0cmluZ1tdO1xuICBmaWVsZHMkOiBPYnNlcnZhYmxlPEZpZWxkW10+O1xuICBzZWxlY3RlZEZpZWxkVHlwZURlc2NyaXB0aW9uJD86IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgZmllbGRUeXBlRGVzY3JpcHRpb24gPSBGSUVMRF9PUFRJT05TO1xuICBjYXRlZ29yaWVzJDogT2JzZXJ2YWJsZTxDYXRlZ29yeVtdPjtcbiAgbmFtZUFscmVhZHlFeGlzdHMgPSBmYWxzZTtcbiAgaXNTaG93ZWRDYXRlZ29yeSA9IGZhbHNlO1xuICBjYXRUb0FkZCA9IHt9IGFzIENhdGVnb3J5O1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2xhc3M/OiBDbGFzcztcbiAgQElucHV0KCkgaW50ZXJDbGFzcz86IENsYXNzO1xuICBASW5wdXQoKSBzZWxlY3RlZEF0dHJpYnV0ZT86IEF0dHJpYnV0ZTtcblxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIGZpbHRlckNhdGVnb3JpZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgaTE4blNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRmllbGRBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5maWVsZHMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRzKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENhdGVnb3J5QWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuY2F0ZWdvcmllcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdChDYXRlZ29yeVNlbGVjdG9ycy5jYXRlZ29yaWVzKSwgdGhpcy5maWx0ZXJDYXRlZ29yaWVzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtjYXRlZ29yaWVzLCBmaWx0ZXJdKSA9PlxuICAgICAgICBjYXRlZ29yaWVzLmZpbHRlcigoY2F0KSA9PiAhZmlsdGVyIHx8IGNhdC5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyLnRvTG9jYWxlTG93ZXJDYXNlKCkpKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmF0dHJGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBpZDogW3V1aWQoKV0sXG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKSwgbm9XaGl0ZXNwYWNlVmFsaWRhdG9yXV0sXG4gICAgICBkZXNjcmlwdGlvbjogW3sgdmFsdWU6ICcnLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgIGZpZWxkOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBjYXRlZ29yeTogW0RFRkFVTFRfQ0FURUdPUllfVVVJRF0sXG4gICAgICBtdWx0aVZhbHVlZDogW2ZhbHNlXVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdHRyaWJ1dGVOYW1lcyA9IHRoaXMuaW50ZXJDbGFzcz8uYXR0cmlidXRlcy5tYXAoKGF0dHI6IEF0dHJpYnV0ZSkgPT4gYXR0ci5uYW1lKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2xhc3MpIHtcbiAgICAgIHRoaXMuYXR0cmlidXRlTmFtZXMgPSB0aGlzLnNlbGVjdGVkQ2xhc3MuYXR0cmlidXRlcy5tYXAoKGF0dHI6IEF0dHJpYnV0ZSkgPT4gYXR0ci5uYW1lKTtcblxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUpIHtcbiAgICAgICAgdGhpcy5hdHRyRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZS5pZCxcbiAgICAgICAgICBuYW1lOiB0aGlzLnNlbGVjdGVkQXR0cmlidXRlLm5hbWUsXG4gICAgICAgICAgZmllbGQ6IHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUuZmllbGQsXG4gICAgICAgICAgY2F0ZWdvcnk6IHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUuY2F0ZWdvcnlcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXR0ckZvcm0uY29udHJvbHNbJ2ZpZWxkJ10uZGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgICB0aGlzLm5hbWVBbHJlYWR5RXhpc3RzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmF0dHJGb3JtLmdldCgnbmFtZScpPy52YWx1ZUNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICBvZih0aGlzLmF0dHJpYnV0ZU5hbWVzKVxuICAgICAgXSkucGlwZShcbiAgICAgICAgbWFwKChbdmFsdWUsIGF0dHJpYnV0ZU5hbWVzXSkgPT4gYXR0cmlidXRlTmFtZXMuaW5jbHVkZXModmFsdWUpICYmIHZhbHVlICE9IHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGU/Lm5hbWUpXG4gICAgICApO1xuICAgICAgdGhpcy5zdWIuYWRkKHRoaXMubmFtZUFscmVhZHlFeGlzdHMkLnN1YnNjcmliZSgodmFsdWUpID0+ICh0aGlzLm5hbWVBbHJlYWR5RXhpc3RzID0gdmFsdWUpKSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEZpZWxkVHlwZURlc2NyaXB0aW9uJCA9IHRoaXMuYXR0ckZvcm0uZ2V0KCdmaWVsZCcpPy52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmF0dHJGb3JtLmdldCgnZmllbGQnKT8udmFsdWUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgoc2VsZWN0ZWRGaWVsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkcyQucGlwZShcbiAgICAgICAgICBtYXAoKGZpZWxkcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGREZXNjcmlwdGlvbiA9IHRoaXMuZmllbGRUeXBlRGVzY3JpcHRpb24uZmluZChcbiAgICAgICAgICAgICAgKGZpZWxkVHlwZSkgPT4gZmllbGRUeXBlLnZhclR5cGUgPT09IGZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQuaWQgPT09IHNlbGVjdGVkRmllbGRJZCk/LnR5cGVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gZmllbGREZXNjcmlwdGlvbiA/IHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudChmaWVsZERlc2NyaXB0aW9uLmRlc2NyaXB0aW9uKSA6ICcnO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIGNvbnN0IHJlZGlyZWN0UGF0aCA9IHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUgPyAnLi4vLi4nIDogJy4uJztcbiAgICBjb25zdCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbcmVkaXJlY3RQYXRoXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBwYXRoLnRvU3RyaW5nKCkgfSkpO1xuICB9XG5cbiAgYWRkQXR0cmlidXRlKCkge1xuICAgIHRoaXMuYXR0ckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBuYW1lOiB0aGlzLmF0dHJGb3JtLnZhbHVlLm5hbWUudHJpbSgpXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5hdHRyRm9ybS52YWxpZCkge1xuICAgICAgbGV0IGF0dHJUb1NhdmUgPSB0aGlzLmF0dHJGb3JtLmdldFJhd1ZhbHVlKCkgYXMgQXR0cmlidXRlO1xuICAgICAgbGV0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZEF0dHJpYnV0ZSkge1xuICAgICAgICBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uLy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDbGFzcykge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIEFkbWluQ2xhc3NBY3Rpb25zLnNhdmVBdHRyaWJ1dGVGb3JDbGFzcyh7XG4gICAgICAgICAgICBjbGFzc0lkOiB0aGlzLnNlbGVjdGVkQ2xhc3MuaWQsXG4gICAgICAgICAgICBhdHRyaWJ1dGU6IGF0dHJUb1NhdmUsXG4gICAgICAgICAgICByb3V0ZTogcGF0aC50b1N0cmluZygpXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pbnRlckNsYXNzKSB7XG4gICAgICAgIGxldCBpbnRlckF0dHJpYnV0ZSA9IE9iamVjdC5hc3NpZ24oW10sIHRoaXMuaW50ZXJDbGFzcy5hdHRyaWJ1dGVzKTtcbiAgICAgICAgbGV0IGludGVyQ2xhc3NVcGRhdGVkID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5pbnRlckNsYXNzKTtcbiAgICAgICAgaW50ZXJBdHRyaWJ1dGUucHVzaChhdHRyVG9TYXZlKTtcbiAgICAgICAgaW50ZXJDbGFzc1VwZGF0ZWQuYXR0cmlidXRlcyA9IGludGVyQXR0cmlidXRlO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnNhdmVJbnRlckNsYXNzKHsgY2xhc3M6IGludGVyQ2xhc3NVcGRhdGVkLCByb3V0ZTogcGF0aC50b1N0cmluZygpIH0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaG93Q2F0ZWdvcnkoKSB7XG4gICAgdGhpcy5pc1Nob3dlZENhdGVnb3J5ID0gdHJ1ZTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgcGFuZWxDbGFzczogWydvLW1vZGFsLXdyYXBwZXInXSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJ1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5hZGRpbmdPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKF8pID0+IHRoaXMuY2xvc2VDYXRlZ29yeSgpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgfVxuXG4gIGNsb3NlQ2F0ZWdvcnkoKSB7XG4gICAgdGhpcy5pc1Nob3dlZENhdGVnb3J5ID0gZmFsc2U7XG4gICAgdGhpcy5jYXRUb0FkZCA9IHt9IGFzIENhdGVnb3J5O1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgIHRoaXMuY2F0ZWdvcmllcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDYXRlZ29yeVNlbGVjdG9ycy5jYXRlZ29yaWVzKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY2xvc2VPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gIH1cblxuICBzZWFyY2goZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZmlsdGVyQ2F0ZWdvcmllcyQubmV4dChldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG5cbiAgYWRkQ2F0ZWdvcnkoKSB7XG4gICAgdGhpcy5jYXRUb0FkZC5pZCA9IHV1aWQoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnNhdmVDYXRlZ29yeSh7IGNhdGVnb3J5OiB0aGlzLmNhdFRvQWRkIH0pKTtcbiAgICB0aGlzLnNldENhdGVnb3J5KHRoaXMuY2F0VG9BZGQpO1xuICB9XG5cbiAgc2V0Q2F0ZWdvcnkoY2F0OiBDYXRlZ29yeSkge1xuICAgIHRoaXMuYXR0ckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBjYXRlZ29yeTogY2F0LmlkXG4gICAgfSk7XG4gICAgdGhpcy5jbG9zZUNhdGVnb3J5KCk7XG4gIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJhdHRyRm9ybVwiIChuZ1N1Ym1pdCk9XCJhZGRBdHRyaWJ1dGUoKVwiPlxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJhdHRyX25hbWVcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMubmFtZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICA8aW5wdXQgaWQ9XCJhdHRyX25hbWVcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiICpuZ0lmPVwibmFtZUFscmVhZHlFeGlzdHMkIHwgYXN5bmNcIj57e1xuICAgICAgJ0BwcnkuYWRtaW4uZXhpc3RzJyB8IGkxOG5cbiAgICB9fTwvbGFiZWw+XG4gICAgPGRpdiAqbmdJZj1cImF0dHJGb3JtLmdldCgnbmFtZScpPy5pbnZhbGlkXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYXR0ckZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIiBmb3I9XCJhdHRyX25hbWVcIj57eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImF0dHJGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiIGZvcj1cImF0dHJfbmFtZVwiPnt7XG4gICAgICAgICAgJ0BwcnkuYWRtaW4ubWluTGVuZ3RoJyB8IGkxOG4gOiB7IGxlbjogMiB9XG4gICAgICAgIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImF0dHJGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiIGZvcj1cImF0dHJfbmFtZVwiPnt7XG4gICAgICAgICAgJ0BwcnkuYWRtaW4ubWF4TGVuZ3RoJyB8IGkxOG4gOiB7IGxlbjogMTAwIH1cbiAgICAgICAgfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYXR0ckZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCd3aGl0ZXNwYWNlJykgJiYgIWF0dHJGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiIGZvcj1cImF0dHJfbmFtZVwiPnt7ICdAcHJ5LmFkbWluLm5vV2hpdGVzcGFjZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJ0eXBlXCI+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5hdHRyaWJ1dGVzLmZpZWxkJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1jb250YWluZXJcIj5cbiAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgIGlkPVwidHlwZVwiXG4gICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0XCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmllbGRcIlxuICAgICAgICBbaXRlbXNdPVwiZmllbGRzJCB8IGFzeW5jXCJcbiAgICAgICAgW2l0ZW1zQXNPcHRpb25dPVwidHJ1ZVwiXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwidHJ1ZVwiXG4gICAgICAgIFtiaW5kTGFiZWxdPVwiJ25hbWUnXCJcbiAgICAgICAgW2lzRm9ybV09XCJ0cnVlXCJcbiAgICAgICAgcmVxdWlyZWQ9XCJ0cnVlXCJcbiAgICAgICAgW3RlbXBsYXRlTGFiZWxdPVwidGVtcGxhdGVPcHRpb25cIlxuICAgICAgICBbdGVtcGxhdGVPcHRpb25dPVwidGVtcGxhdGVPcHRpb25cIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVPcHRpb24gbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGlnbmVkLW9wdGlvblwiPlxuICAgICAgICAgIDxwPnt7IGl0ZW0ubmFtZSB9fTwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcHNcIiAqbmdJZj1cIml0ZW0uY3JzXCI+e3sgaXRlbS5jcnMgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRmllbGRUeXBlRGVzY3JpcHRpb24kIHwgYXN5bmMgYXMgZGVzY3JpcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImluZm8taWNvbiBkZXNjcmlwdGlvbi1jb250YWluZXIgZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZm8tdGV4dFwiPmk8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24tdG9vbHRpcCB0aXRsZS10b29sdGlwXCI+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhLXAgLWRhdGVcIj57eyBkZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiYXR0ckZvcm0uZ2V0KCdmaWVsZCcpPy5pbnZhbGlkXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYXR0ckZvcm0uZ2V0KCdmaWVsZCcpPy5oYXNFcnJvcigncmVxdWlyZWQnKVwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCI+e3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwiY2F0ZWdvcnlcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMuY2F0ZWdvcnknIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgPHByeS1zZWxlY3RcbiAgICAgIGlkPVwiY2F0ZWdvcnlcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2F0ZWdvcnlcIlxuICAgICAgW2xhYmVsVHJhbnNsYXRlXT1cInRydWVcIlxuICAgICAgW2l0ZW1zXT1cImNhdGVnb3JpZXMkIHwgYXN5bmNcIlxuICAgICAgKGNsaWNrKT1cInNob3dDYXRlZ29yeSgpXCJcbiAgICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgW2lzRm9ybV09XCJ0cnVlXCJcbiAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcbiAgICA+PC9wcnktc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgLXdpZHRoLXNtXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIlxuICAgICAgKGNsaWNrKT1cImdvQmFjaygpXCJcbiAgICAgIFtpbm5lckhUTUxdPVwiJ0BwcnkuYWRtaW4uY2FuY2VsJyB8IGkxOG5cIlxuICAgID48L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdhZG1pbicsIHBhZ2U6ICdjbGFzc2VzJywgYWN0aW9uOiAnYWRkX2F0dHJpYnV0ZScgfVwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgW2Rpc2FibGVkXT1cImF0dHJGb3JtLmludmFsaWQgfHwgbmFtZUFscmVhZHlFeGlzdHNcIlxuICAgICAgW2lubmVySFRNTF09XCIoc2VsZWN0ZWRBdHRyaWJ1dGUgPyAnQHByeS5hZG1pbi5lZGl0JyA6ICdAcHJ5LmFkbWluLmNyZWF0ZScpIHwgaTE4blwiXG4gICAgPjwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZm9ybT5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cIm8tbW9kYWwgby1tb2RhbC0tc2VsZWN0b3JcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX190aXRsZVwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJhLWgyXCIgaWQ9XCJkaWFsb2dfdGl0bGVcIj5cbiAgICAgICAgICB7eyAnQHByeS5hZG1pbi5jbGFzc2VzLmNhdGVnb3J5LnNlbGVjdCcgfCBpMThuIH19XG4gICAgICAgIDwvaDI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BfX2Nsb3NlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCIgKGNsaWNrKT1cImNsb3NlQ2F0ZWdvcnkoKVwiPlxuICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIiBbaGVpZ2h0XT1cIjM1XCIgW3dpZHRoXT1cIjM1XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkudG9vbGJveC5jbG9zZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxmb3JtIChuZ1N1Ym1pdCk9XCJhZGRDYXRlZ29yeSgpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIHNlbGVjdG9yXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJuYW1lLXNlYXJjaFwiPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuY2F0ZWdvcnkuc2VhcmNoT3JDcmVhdGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgKGlucHV0KT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNhdFRvQWRkLm5hbWVcIlxuICAgICAgICAgIG5hbWU9XCJuYW1lXCJcbiAgICAgICAgICBpZD1cIm5hbWUtc2VhcmNoXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8dGFibGUgY2xhc3M9XCJhLXRhYmxlXCI+XG4gICAgICAgIDxjYXB0aW9uPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnQHByeS5hZG1pbi5jbGFzc2VzLmNhdGVnb3J5Lm5hbWUnIHwgaTE4blxuICAgICAgICAgIH19XG4gICAgICAgIDwvY2FwdGlvbj5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aCBzY29sZT1cImNvbFwiPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuY2F0ZWdvcnkubmFtZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBjYXQgb2YgY2F0ZWdvcmllcyQgfCBhc3luY1wiPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1naG9zdCBzZWxlY3QtaXRcIiAoY2xpY2spPVwic2V0Q2F0ZWdvcnkoY2F0KVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmNhdGVnb3J5LnNlbGVjdEl0JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAge3sgY2F0Lm5hbWUgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihjYXRlZ29yaWVzJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiYS1wIGEtcC0tY3JlYXRlXCI+XG4gICAgICAgICAgPHN0cm9uZz57eyBjYXRUb0FkZC5uYW1lIH19IDwvc3Ryb25nPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiJ0BwcnkuYWRtaW4uY2xhc3Nlcy5jYXRlZ29yeS5hZGQnIHwgaTE4blwiPjwvc3Bhbj5cbiAgICAgICAgPC9wPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAgICAgW2lubmVySFRNTF09XCInQHByeS5hZG1pbi5jbGFzc2VzLmNhdGVnb3J5LmNyZWF0ZScgfCBpMThuXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tYXR0cmlidXRlcy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLXZpZXcvYWRtaW4tYXR0cmlidXRlcy1mb3JtL2FkbWluLWF0dHJpYnV0ZXMtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWNsYXNzZXMvYWRtaW4tY2xhc3Nlcy12aWV3L2FkbWluLWF0dHJpYnV0ZXMtZm9ybS9hZG1pbi1hdHRyaWJ1dGVzLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUF3QyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRixPQUFPLEVBR0wsZUFBZSxFQUNmLGlCQUFpQixFQUVqQixhQUFhLEVBQ2IscUJBQXFCLEVBRXJCLGFBQWEsRUFDYixZQUFZLEVBQ1osY0FBYyxFQUVmLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLEdBQUcsRUFFSCxFQUFFLEVBQ0YsU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFN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QUM7SUFDdkIsQ0FBQzs4R0ExS1UsNEJBQTRCO2tHQUE1Qiw0QkFBNEIsZ1FBa0JSLFdBQVcsNkJDMUQ1Qyxxck1BbUtBOzsyRkQzSGEsNEJBQTRCO2tCQUp4QyxTQUFTOytCQUNFLDJCQUEyQjtpUUFnQjVCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR3dDLFFBQVE7c0JBQXJELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBdHRyaWJ1dGUsXG4gIENhdGVnb3J5LFxuICBDYXRlZ29yeUFjdGlvbnMsXG4gIENhdGVnb3J5U2VsZWN0b3JzLFxuICBDbGFzcyxcbiAgQ29uZmlnQWN0aW9ucyxcbiAgREVGQVVMVF9DQVRFR09SWV9VVUlELFxuICBGaWVsZCxcbiAgRklFTERfT1BUSU9OUyxcbiAgRmllbGRBY3Rpb25zLFxuICBGaWVsZFNlbGVjdG9ycyxcbiAgUHJ5STE4blNlcnZpY2Vcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgU3Vic2NyaXB0aW9uLFxuICBzd2l0Y2hNYXBcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBub1doaXRlc3BhY2VWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21wb25lbnRzL2FkbWluLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZG1pbkFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zdG9yZS9hZG1pbi5hY3Rpb25zJztcbmltcG9ydCB7IEFkbWluQ2xhc3NBY3Rpb25zIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWRtaW4tY2xhc3MuYWN0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1hdHRyaWJ1dGVzLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tYXR0cmlidXRlcy1mb3JtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkF0dHJpYnV0ZXNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBhdHRyRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBuYW1lQWxyZWFkeUV4aXN0cyQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBhdHRyaWJ1dGVOYW1lcz86IHN0cmluZ1tdO1xuICBmaWVsZHMkOiBPYnNlcnZhYmxlPEZpZWxkW10+O1xuICBzZWxlY3RlZEZpZWxkVHlwZURlc2NyaXB0aW9uJD86IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgZmllbGRUeXBlRGVzY3JpcHRpb24gPSBGSUVMRF9PUFRJT05TO1xuICBjYXRlZ29yaWVzJDogT2JzZXJ2YWJsZTxDYXRlZ29yeVtdPjtcbiAgbmFtZUFscmVhZHlFeGlzdHMgPSBmYWxzZTtcbiAgaXNTaG93ZWRDYXRlZ29yeSA9IGZhbHNlO1xuICBjYXRUb0FkZCA9IHt9IGFzIENhdGVnb3J5O1xuXG4gIEBJbnB1dCgpIHNlbGVjdGVkQ2xhc3M/OiBDbGFzcztcbiAgQElucHV0KCkgaW50ZXJDbGFzcz86IENsYXNzO1xuICBASW5wdXQoKSBzZWxlY3RlZEF0dHJpYnV0ZT86IEF0dHJpYnV0ZTtcblxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBwcml2YXRlIGZpbHRlckNhdGVnb3JpZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgaTE4blNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRmllbGRBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5maWVsZHMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRzKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENhdGVnb3J5QWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuY2F0ZWdvcmllcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdChDYXRlZ29yeVNlbGVjdG9ycy5jYXRlZ29yaWVzKSwgdGhpcy5maWx0ZXJDYXRlZ29yaWVzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtjYXRlZ29yaWVzLCBmaWx0ZXJdKSA9PlxuICAgICAgICBjYXRlZ29yaWVzLmZpbHRlcigoY2F0KSA9PiAhZmlsdGVyIHx8IGNhdC5uYW1lLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyLnRvTG9jYWxlTG93ZXJDYXNlKCkpKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLmF0dHJGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICBpZDogW3V1aWQoKV0sXG4gICAgICBuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKSwgbm9XaGl0ZXNwYWNlVmFsaWRhdG9yXV0sXG4gICAgICBkZXNjcmlwdGlvbjogW3sgdmFsdWU6ICcnLCBkaXNhYmxlZDogdHJ1ZSB9XSxcbiAgICAgIGZpZWxkOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBjYXRlZ29yeTogW0RFRkFVTFRfQ0FURUdPUllfVVVJRF0sXG4gICAgICBtdWx0aVZhbHVlZDogW2ZhbHNlXVxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdHRyaWJ1dGVOYW1lcyA9IHRoaXMuaW50ZXJDbGFzcz8uYXR0cmlidXRlcy5tYXAoKGF0dHI6IEF0dHJpYnV0ZSkgPT4gYXR0ci5uYW1lKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ2xhc3MpIHtcbiAgICAgIHRoaXMuYXR0cmlidXRlTmFtZXMgPSB0aGlzLnNlbGVjdGVkQ2xhc3MuYXR0cmlidXRlcy5tYXAoKGF0dHI6IEF0dHJpYnV0ZSkgPT4gYXR0ci5uYW1lKTtcblxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUpIHtcbiAgICAgICAgdGhpcy5hdHRyRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBpZDogdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZS5pZCxcbiAgICAgICAgICBuYW1lOiB0aGlzLnNlbGVjdGVkQXR0cmlidXRlLm5hbWUsXG4gICAgICAgICAgZmllbGQ6IHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUuZmllbGQsXG4gICAgICAgICAgY2F0ZWdvcnk6IHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUuY2F0ZWdvcnlcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYXR0ckZvcm0uY29udHJvbHNbJ2ZpZWxkJ10uZGlzYWJsZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmF0dHJpYnV0ZU5hbWVzKSB7XG4gICAgICB0aGlzLm5hbWVBbHJlYWR5RXhpc3RzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmF0dHJGb3JtLmdldCgnbmFtZScpPy52YWx1ZUNoYW5nZXMgYXMgT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICBvZih0aGlzLmF0dHJpYnV0ZU5hbWVzKVxuICAgICAgXSkucGlwZShcbiAgICAgICAgbWFwKChbdmFsdWUsIGF0dHJpYnV0ZU5hbWVzXSkgPT4gYXR0cmlidXRlTmFtZXMuaW5jbHVkZXModmFsdWUpICYmIHZhbHVlICE9IHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGU/Lm5hbWUpXG4gICAgICApO1xuICAgICAgdGhpcy5zdWIuYWRkKHRoaXMubmFtZUFscmVhZHlFeGlzdHMkLnN1YnNjcmliZSgodmFsdWUpID0+ICh0aGlzLm5hbWVBbHJlYWR5RXhpc3RzID0gdmFsdWUpKSk7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEZpZWxkVHlwZURlc2NyaXB0aW9uJCA9IHRoaXMuYXR0ckZvcm0uZ2V0KCdmaWVsZCcpPy52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmF0dHJGb3JtLmdldCgnZmllbGQnKT8udmFsdWUpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgoc2VsZWN0ZWRGaWVsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkcyQucGlwZShcbiAgICAgICAgICBtYXAoKGZpZWxkcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmllbGREZXNjcmlwdGlvbiA9IHRoaXMuZmllbGRUeXBlRGVzY3JpcHRpb24uZmluZChcbiAgICAgICAgICAgICAgKGZpZWxkVHlwZSkgPT4gZmllbGRUeXBlLnZhclR5cGUgPT09IGZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQuaWQgPT09IHNlbGVjdGVkRmllbGRJZCk/LnR5cGVcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gZmllbGREZXNjcmlwdGlvbiA/IHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudChmaWVsZERlc2NyaXB0aW9uLmRlc2NyaXB0aW9uKSA6ICcnO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ29CYWNrKCkge1xuICAgIGNvbnN0IHJlZGlyZWN0UGF0aCA9IHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGUgPyAnLi4vLi4nIDogJy4uJztcbiAgICBjb25zdCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbcmVkaXJlY3RQYXRoXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBwYXRoLnRvU3RyaW5nKCkgfSkpO1xuICB9XG5cbiAgYWRkQXR0cmlidXRlKCkge1xuICAgIHRoaXMuYXR0ckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBuYW1lOiB0aGlzLmF0dHJGb3JtLnZhbHVlLm5hbWUudHJpbSgpXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5hdHRyRm9ybS52YWxpZCkge1xuICAgICAgbGV0IGF0dHJUb1NhdmUgPSB0aGlzLmF0dHJGb3JtLmdldFJhd1ZhbHVlKCkgYXMgQXR0cmlidXRlO1xuICAgICAgbGV0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZEF0dHJpYnV0ZSkge1xuICAgICAgICBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uLy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDbGFzcykge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIEFkbWluQ2xhc3NBY3Rpb25zLnNhdmVBdHRyaWJ1dGVGb3JDbGFzcyh7XG4gICAgICAgICAgICBjbGFzc0lkOiB0aGlzLnNlbGVjdGVkQ2xhc3MuaWQsXG4gICAgICAgICAgICBhdHRyaWJ1dGU6IGF0dHJUb1NhdmUsXG4gICAgICAgICAgICByb3V0ZTogcGF0aC50b1N0cmluZygpXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pbnRlckNsYXNzKSB7XG4gICAgICAgIGxldCBpbnRlckF0dHJpYnV0ZSA9IE9iamVjdC5hc3NpZ24oW10sIHRoaXMuaW50ZXJDbGFzcy5hdHRyaWJ1dGVzKTtcbiAgICAgICAgbGV0IGludGVyQ2xhc3NVcGRhdGVkID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5pbnRlckNsYXNzKTtcbiAgICAgICAgaW50ZXJBdHRyaWJ1dGUucHVzaChhdHRyVG9TYXZlKTtcbiAgICAgICAgaW50ZXJDbGFzc1VwZGF0ZWQuYXR0cmlidXRlcyA9IGludGVyQXR0cmlidXRlO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnNhdmVJbnRlckNsYXNzKHsgY2xhc3M6IGludGVyQ2xhc3NVcGRhdGVkLCByb3V0ZTogcGF0aC50b1N0cmluZygpIH0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaG93Q2F0ZWdvcnkoKSB7XG4gICAgdGhpcy5pc1Nob3dlZENhdGVnb3J5ID0gdHJ1ZTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgcGFuZWxDbGFzczogWydvLW1vZGFsLXdyYXBwZXInXSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJ1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5hZGRpbmdPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKF8pID0+IHRoaXMuY2xvc2VDYXRlZ29yeSgpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgfVxuXG4gIGNsb3NlQ2F0ZWdvcnkoKSB7XG4gICAgdGhpcy5pc1Nob3dlZENhdGVnb3J5ID0gZmFsc2U7XG4gICAgdGhpcy5jYXRUb0FkZCA9IHt9IGFzIENhdGVnb3J5O1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgIHRoaXMuY2F0ZWdvcmllcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDYXRlZ29yeVNlbGVjdG9ycy5jYXRlZ29yaWVzKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY2xvc2VPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gIH1cblxuICBzZWFyY2goZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuZmlsdGVyQ2F0ZWdvcmllcyQubmV4dChldmVudC50YXJnZXQudmFsdWUpO1xuICB9XG5cbiAgYWRkQ2F0ZWdvcnkoKSB7XG4gICAgdGhpcy5jYXRUb0FkZC5pZCA9IHV1aWQoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnNhdmVDYXRlZ29yeSh7IGNhdGVnb3J5OiB0aGlzLmNhdFRvQWRkIH0pKTtcbiAgICB0aGlzLnNldENhdGVnb3J5KHRoaXMuY2F0VG9BZGQpO1xuICB9XG5cbiAgc2V0Q2F0ZWdvcnkoY2F0OiBDYXRlZ29yeSkge1xuICAgIHRoaXMuYXR0ckZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBjYXRlZ29yeTogY2F0LmlkXG4gICAgfSk7XG4gICAgdGhpcy5jbG9zZUNhdGVnb3J5KCk7XG4gIH1cbn1cbiIsIjxmb3JtIGNsYXNzPVwiby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJhdHRyRm9ybVwiIChuZ1N1Ym1pdCk9XCJhZGRBdHRyaWJ1dGUoKVwiPlxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJhdHRyX25hbWVcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMubmFtZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICA8aW5wdXQgaWQ9XCJhdHRyX25hbWVcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiICpuZ0lmPVwibmFtZUFscmVhZHlFeGlzdHMkIHwgYXN5bmNcIj57e1xuICAgICAgJ0BwcnkuYWRtaW4uZXhpc3RzJyB8IGkxOG5cbiAgICB9fTwvbGFiZWw+XG4gICAgPGRpdiAqbmdJZj1cImF0dHJGb3JtLmdldCgnbmFtZScpPy5pbnZhbGlkXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYXR0ckZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIiBmb3I9XCJhdHRyX25hbWVcIj57eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImF0dHJGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiIGZvcj1cImF0dHJfbmFtZVwiPnt7XG4gICAgICAgICAgJ0BwcnkuYWRtaW4ubWluTGVuZ3RoJyB8IGkxOG4gOiB7IGxlbjogMiB9XG4gICAgICAgIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImF0dHJGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignbWF4bGVuZ3RoJylcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiIGZvcj1cImF0dHJfbmFtZVwiPnt7XG4gICAgICAgICAgJ0BwcnkuYWRtaW4ubWF4TGVuZ3RoJyB8IGkxOG4gOiB7IGxlbjogMTAwIH1cbiAgICAgICAgfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYXR0ckZvcm0uZ2V0KCduYW1lJyk/Lmhhc0Vycm9yKCd3aGl0ZXNwYWNlJykgJiYgIWF0dHJGb3JtLmdldCgnbmFtZScpPy5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiIGZvcj1cImF0dHJfbmFtZVwiPnt7ICdAcHJ5LmFkbWluLm5vV2hpdGVzcGFjZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJ0eXBlXCI+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5hdHRyaWJ1dGVzLmZpZWxkJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZS1jb250YWluZXJcIj5cbiAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgIGlkPVwidHlwZVwiXG4gICAgICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0XCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmllbGRcIlxuICAgICAgICBbaXRlbXNdPVwiZmllbGRzJCB8IGFzeW5jXCJcbiAgICAgICAgW2l0ZW1zQXNPcHRpb25dPVwidHJ1ZVwiXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwidHJ1ZVwiXG4gICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICBiaW5kVmFsdWU9XCJpZFwiXG4gICAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICAgIHJlcXVpcmVkPVwidHJ1ZVwiXG4gICAgICAgIFt0ZW1wbGF0ZUxhYmVsXT1cInRlbXBsYXRlT3B0aW9uXCJcbiAgICAgICAgW3RlbXBsYXRlT3B0aW9uXT1cInRlbXBsYXRlT3B0aW9uXCJcbiAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlT3B0aW9uIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWxpZ25lZC1vcHRpb25cIj5cbiAgICAgICAgICA8cD57eyBpdGVtLm5hbWUgfX08L3A+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBzXCIgKm5nSWY9XCJpdGVtLmNyc1wiPnt7IGl0ZW0uY3JzIH19PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZEZpZWxkVHlwZURlc2NyaXB0aW9uJCB8IGFzeW5jIGFzIGRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWljb24gZGVzY3JpcHRpb24tY29udGFpbmVyIGRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmZvLXRleHRcIj5pPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uLXRvb2x0aXAgdGl0bGUtdG9vbHRpcFwiPlxuICAgICAgICAgIDxwIGNsYXNzPVwiYS1wIC1kYXRlXCI+e3sgZGVzY3JpcHRpb24gfX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImF0dHJGb3JtLmdldCgnZmllbGQnKT8uaW52YWxpZFwiPlxuICAgICAgPGRpdiAqbmdJZj1cImF0dHJGb3JtLmdldCgnZmllbGQnKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiPnt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cImNhdGVnb3J5XCI+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5hdHRyaWJ1dGVzLmNhdGVnb3J5JyB8IGkxOG4gfX08L2xhYmVsPlxuICAgIDxwcnktc2VsZWN0XG4gICAgICBpZD1cImNhdGVnb3J5XCJcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImNhdGVnb3J5XCJcbiAgICAgIFtsYWJlbFRyYW5zbGF0ZV09XCJ0cnVlXCJcbiAgICAgIFtpdGVtc109XCJjYXRlZ29yaWVzJCB8IGFzeW5jXCJcbiAgICAgIChjbGljayk9XCJzaG93Q2F0ZWdvcnkoKVwiXG4gICAgICBiaW5kVmFsdWU9XCJpZFwiXG4gICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXG4gICAgPjwvcHJ5LXNlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC13aWR0aC1zbVwiPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCJcbiAgICAgIChjbGljayk9XCJnb0JhY2soKVwiXG4gICAgICBbaW5uZXJIVE1MXT1cIidAcHJ5LmFkbWluLmNhbmNlbCcgfCBpMThuXCJcbiAgICA+PC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKnByeUFjY2Vzcz1cInsgbW9kdWxlOiAnYWRtaW4nLCBwYWdlOiAnY2xhc3NlcycsIGFjdGlvbjogJ2FkZF9hdHRyaWJ1dGUnIH1cIlxuICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgIFtkaXNhYmxlZF09XCJhdHRyRm9ybS5pbnZhbGlkIHx8IG5hbWVBbHJlYWR5RXhpc3RzXCJcbiAgICAgIFtpbm5lckhUTUxdPVwiKHNlbGVjdGVkQXR0cmlidXRlID8gJ0BwcnkuYWRtaW4uZWRpdCcgOiAnQHByeS5hZG1pbi5jcmVhdGUnKSB8IGkxOG5cIlxuICAgID48L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJvLW1vZGFsIG8tbW9kYWwtLXNlbGVjdG9yXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcF9fdGl0bGVcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwiYS1oMlwiIGlkPVwiZGlhbG9nX3RpdGxlXCI+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5jYXRlZ29yeS5zZWxlY3QnIHwgaTE4biB9fVxuICAgICAgICA8L2gyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX19jbG9zZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJjbG9zZUNhdGVnb3J5KClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIzNVwiIFt3aWR0aF09XCIzNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnRvb2xib3guY2xvc2UnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8Zm9ybSAobmdTdWJtaXQpPVwiYWRkQ2F0ZWdvcnkoKVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCBzZWxlY3RvclwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwibmFtZS1zZWFyY2hcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmNhdGVnb3J5LnNlYXJjaE9yQ3JlYXRlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgIChpbnB1dCk9XCJzZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJjYXRUb0FkZC5uYW1lXCJcbiAgICAgICAgICBuYW1lPVwibmFtZVwiXG4gICAgICAgICAgaWQ9XCJuYW1lLXNlYXJjaFwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPHRhYmxlIGNsYXNzPVwiYS10YWJsZVwiPlxuICAgICAgICA8Y2FwdGlvbj5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5jYXRlZ29yeS5uYW1lJyB8IGkxOG5cbiAgICAgICAgICB9fVxuICAgICAgICA8L2NhcHRpb24+XG4gICAgICAgIDx0aGVhZD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggc2NvbGU9XCJjb2xcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmNhdGVnb3J5Lm5hbWUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgY2F0IG9mIGNhdGVnb3JpZXMkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tZ2hvc3Qgc2VsZWN0LWl0XCIgKGNsaWNrKT1cInNldENhdGVnb3J5KGNhdClcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5jYXRlZ29yeS5zZWxlY3RJdCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIHt7IGNhdC5uYW1lIH19XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoY2F0ZWdvcmllcyQgfCBhc3luYyk/Lmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICA8cCBjbGFzcz1cImEtcCBhLXAtLWNyZWF0ZVwiPlxuICAgICAgICAgIDxzdHJvbmc+e3sgY2F0VG9BZGQubmFtZSB9fSA8L3N0cm9uZz5cbiAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cIidAcHJ5LmFkbWluLmNsYXNzZXMuY2F0ZWdvcnkuYWRkJyB8IGkxOG5cIj48L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICAgIFtpbm5lckhUTUxdPVwiJ0BwcnkuYWRtaW4uY2xhc3Nlcy5jYXRlZ29yeS5jcmVhdGUnIHwgaTE4blwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZm9ybT5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -45,7 +45,7 @@ export const enTranslations = {
45
45
  WARNING: 'Warning'
46
46
  },
47
47
  code: {
48
- UNRECOGNIZED: 'Unrecognized attribute {{name}}',
48
+ UNRECOGNIZED: 'Unrecognized attribute{{plural}} {{name}}',
49
49
  FORMAT: 'Wrong format for attribute {{name}}',
50
50
  STORAGE: 'Insertion error for element {{recordId}}',
51
51
  NO_VALUES: 'No value for {{recordId}} line',
@@ -65,4 +65,4 @@ export const enTranslations = {
65
65
  }
66
66
  }
67
67
  };
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2VuLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLFFBQVE7WUFDaEIsY0FBYyxFQUFFLGlCQUFpQjtZQUNqQyxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxPQUFPO1lBQ2QsR0FBRyxFQUFFLEtBQUs7WUFDVixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsS0FBSztZQUNWLFlBQVksRUFBRSxpQkFBaUI7WUFDL0IsT0FBTyxFQUFFLFNBQVM7WUFDbEIsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxPQUFPO2dCQUNkLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLEtBQUssRUFBRSxPQUFPO2dCQUNkLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixlQUFlLEVBQUUsUUFBUTthQUMxQjtZQUNELFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsWUFBWTtnQkFDcEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxFQUFFO2FBQ2I7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsUUFBUTtnQkFDZixVQUFVLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLGdCQUFnQjtvQkFDdkIsT0FBTyxFQUFFLGtCQUFrQjtpQkFDNUI7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMLEtBQUssRUFBRSxPQUFPO29CQUNkLE9BQU8sRUFBRSxTQUFTO2lCQUNuQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osWUFBWSxFQUFFLGlDQUFpQztvQkFDL0MsTUFBTSxFQUFFLHFDQUFxQztvQkFDN0MsT0FBTyxFQUFFLDBDQUEwQztvQkFDbkQsU0FBUyxFQUFFLGdDQUFnQztvQkFDM0MsaUJBQWlCLEVBQUUseUJBQXlCO29CQUM1QyxhQUFhLEVBQUUsd0ZBQXdGO2lCQUN4RzthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSx5RkFBeUY7Z0JBQ2hHLE1BQU0sRUFBRSxzR0FBc0c7Z0JBQzlHLFFBQVEsRUFDTiwySUFBMkk7Z0JBQzdJLE9BQU8sRUFBRSwwREFBMEQ7Z0JBQ25FLE9BQU8sRUFDTCw0SEFBNEg7Z0JBQzlILGdCQUFnQixFQUNkLGdUQUFnVDtnQkFDbFQsY0FBYyxFQUNaLDJQQUEyUDthQUM5UDtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVuVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICBjb25zdWx0OiAnVmlldycsXG4gICAgICB0aXRsZTogJ0RhdGFzZXQgY2F0YWxvZycsXG4gICAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgc3RhdHVzOiAnU3RhdHVzJyxcbiAgICAgIHZlcnNpb25IaXN0b3J5OiAnVmVyc2lvbiBoaXN0b3J5JyxcbiAgICAgIGRhdGE6ICdEYXRhJyxcbiAgICAgIHRhYmxlOiAnVGFibGUnLFxuICAgICAgbWFwOiAnTWFwJyxcbiAgICAgIGV4cG9ydDogJ0V4cG9ydCcsXG4gICAgICBhcGk6ICdBUEknLFxuICAgICAgcmV0dXJuVG9MaXN0OiAnQmFjayB0byBjYXRhbG9nJyxcbiAgICAgIHJlZnJlc2g6ICdSZWZyZXNoJyxcbiAgICAgIHZlcnNpb246IHtcbiAgICAgICAgdGl0bGU6ICdUaXRsZScsXG4gICAgICAgIElOREVYSU5HOiAnTG9hZGluZycsXG4gICAgICAgIExPQURJTkc6ICdMb2FkaW5nJyxcbiAgICAgICAgSU5BQ1RJVkU6ICdJbnZhbGlkJyxcbiAgICAgICAgRVJST1I6ICdFcnJvcicsXG4gICAgICAgIEFDVElWRTogJ0F2YWlsYWJsZScsXG4gICAgICAgIGN1cnJlbnRseUFjdGl2ZTogJ0FjdGl2ZSdcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGF0ZScsXG4gICAgICAgIElOQUNUSVZFOiAnVmFsaWRhdGUnLFxuICAgICAgICBFUlJPUjogJ0NvbnN1bHQgZXJyb3JzJyxcbiAgICAgICAgV0FSTklORzogJ0NvbnN1bHQgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBlbGVtZW50czogJ0VsZW1lbnRzJyxcbiAgICAgICAgbWVzc2FnZTogJ01lc3NhZ2UnLFxuICAgICAgICBjbG9zZTogJ0Zlcm1lcicsXG4gICAgICAgIG1vZGFsVGl0bGU6IHtcbiAgICAgICAgICBFUlJPUjogJ0xpc3Qgb2YgZXJyb3JzJyxcbiAgICAgICAgICBXQVJOSU5HOiAnTGlzdCBvZiB3YXJuaW5ncydcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICBFUlJPUjogJ0Vycm9yJyxcbiAgICAgICAgICBXQVJOSU5HOiAnV2FybmluZydcbiAgICAgICAgfSxcbiAgICAgICAgY29kZToge1xuICAgICAgICAgIFVOUkVDT0dOSVpFRDogJ1VucmVjb2duaXplZCBhdHRyaWJ1dGUge3tuYW1lfX0nLFxuICAgICAgICAgIEZPUk1BVDogJ1dyb25nIGZvcm1hdCBmb3IgYXR0cmlidXRlIHt7bmFtZX19JyxcbiAgICAgICAgICBTVE9SQUdFOiAnSW5zZXJ0aW9uIGVycm9yIGZvciBlbGVtZW50IHt7cmVjb3JkSWR9fScsXG4gICAgICAgICAgTk9fVkFMVUVTOiAnTm8gdmFsdWUgZm9yIHt7cmVjb3JkSWR9fSBsaW5lJyxcbiAgICAgICAgICBGT1JNQVRfRklMRV9FUlJPUjogJ1Vuc3VwcG9ydGVkIGZpbGUgZm9ybWF0JyxcbiAgICAgICAgICBOT19BVFRSSUJVVEVTOiAnVGhlIGltcG9ydGVkIGRhdGEgZG9lcyBub3QgY29ycmVzcG9uZCB0byB0aGUgZGF0YSBtb2RlbCBpbmRpY2F0ZWQgaW4gdGhlIGltcG9ydCB0YXJnZXQnXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0b29sdGlwOiB7XG4gICAgICAgIGVycm9yOiAnRXJyb3JzIG9jY3VycmVkIHdoZW4gaW50ZWdyYXRpbmcgdGhlIGRhdGEgaW50byB0aGUgc29sdXRpb24uIFRoZSBkYXRhIGlzIG5vdCBhY2Nlc3NpYmxlJyxcbiAgICAgICAgYWN0aXZlOiAnVGhlIGRhdGEgcmV0cmlldmVkIGJ5IGRlZmF1bHQgaW4gdGhlIGFwcGxpY2F0aW9uIGNvcnJlc3BvbmRzIHRvIHRoZSBkYXRhIGludGVncmF0ZWQgaW4gdGhpcyB2ZXJzaW9uLicsXG4gICAgICAgIGluYWN0aXZlOlxuICAgICAgICAgICdUaGUgZGF0YSBmb3IgdGhpcyB2ZXJzaW9uIGlzIGF2YWlsYWJsZSBidXQgbm90IHVwbG9hZGVkIGJ5IGRlZmF1bHQuIEl0IGlzIHBvc3NpYmxlIHRvIGRpc3BsYXkgdGhlbSBieSBleHBsaWNpdGx5IHJlcXVlc3RpbmcgdGhpcyB2ZXJzaW9uLicsXG4gICAgICAgIGxvYWRpbmc6ICdUaGUgZGF0YSBpcyBjdXJyZW50bHkgYmVpbmcgaW50ZWdyYXRlZCBpbnRvIHRoZSBzb2x1dGlvbicsXG4gICAgICAgIGludmFsaWQ6XG4gICAgICAgICAgJ1RoZSBkYXRhIGluIHRoaXMgdmVyc2lvbiBpcyBwcmVzZW50IGluIHRoZSBzb2x1dGlvbiBidXQgaXMgbm90IHJlbGV2YW50LiBJdCBpcyBub3QgYXZhaWxhYmxlIGFyZSBub3QgYXZhaWxhYmxlIGZvciBkaXNwbGF5JyxcbiAgICAgICAgaW5WYWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICAnQWxsb3dzIHlvdSB0byBtYWtlIHRoZSB2ZXJzaW9uXFwncyBkYXRhIHVuYXZhaWxhYmxlIGlmIGl0IGlzIGNvbnNpZGVyZWQgaXJyZWxldmFudCBmcm9tIGEgYnVzaW5lc3MgcG9pbnQgb2Ygdmlldy4gSWYgdGhlIGludmFsaWRhdGVkIHZlcnNpb24gaXMgdGhlIGFjdGl2ZSB2ZXJzaW9uLCB0aGVuIHRoZSBkYXRhIHJldHJpZXZlZCBieSBkZWZhdWx0IHdpbGwgYmUgdGhhdCBvZiB0aGUgbW9zdCByZWNlbnQgcHJldmlvdXMgXCJBdmFpbGFibGVcIiB2ZXJzaW9uLCB3aGljaCB3aWxsIHRodXMgY2hhbmdlIHRvIFwiQWN0aXZlXCIgc3RhdHVzLicsXG4gICAgICAgIHZhbGlkYXRlQnV0dG9uOlxuICAgICAgICAgIFwiQWxsb3dzIHRoZSB2ZXJzaW9uJ3MgZGF0YSB0byBiZSBtYWRlIGF2YWlsYWJsZSBpZiBpdCBpcyBjb25zaWRlcmVkIHJlbGV2YW50IGZyb20gYSBidXNpbmVzcyBwb2ludCBvZiB2aWV3IGFmdGVyIGhhdmluZyBiZWVuIGludmFsaWRhdGVkLiBJZiB0aGUgdmFsaWRhdGVkIHZlcnNpb24gaXMgdGhlIG1vc3QgcmVjZW50LCBpdCB3aWxsIGJlY29tZSB0aGUgYWN0aXZlIHZlcnNpb24gYW5kIGl0cyBkYXRhIHdpbGwgYmUgdGhlIGRlZmF1bHQuXCJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2VuLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUUsaUJBQWlCO1lBQ3hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxNQUFNO1lBQ1osTUFBTSxFQUFFLFFBQVE7WUFDaEIsY0FBYyxFQUFFLGlCQUFpQjtZQUNqQyxJQUFJLEVBQUUsTUFBTTtZQUNaLEtBQUssRUFBRSxPQUFPO1lBQ2QsR0FBRyxFQUFFLEtBQUs7WUFDVixNQUFNLEVBQUUsUUFBUTtZQUNoQixHQUFHLEVBQUUsS0FBSztZQUNWLFlBQVksRUFBRSxpQkFBaUI7WUFDL0IsT0FBTyxFQUFFLFNBQVM7WUFDbEIsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSxPQUFPO2dCQUNkLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLEtBQUssRUFBRSxPQUFPO2dCQUNkLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixlQUFlLEVBQUUsUUFBUTthQUMxQjtZQUNELFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsWUFBWTtnQkFDcEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLEtBQUssRUFBRSxnQkFBZ0I7Z0JBQ3ZCLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLE9BQU8sRUFBRSxFQUFFO2dCQUNYLFFBQVEsRUFBRSxFQUFFO2FBQ2I7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixLQUFLLEVBQUUsUUFBUTtnQkFDZixVQUFVLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLGdCQUFnQjtvQkFDdkIsT0FBTyxFQUFFLGtCQUFrQjtpQkFDNUI7Z0JBQ0QsS0FBSyxFQUFFO29CQUNMLEtBQUssRUFBRSxPQUFPO29CQUNkLE9BQU8sRUFBRSxTQUFTO2lCQUNuQjtnQkFDRCxJQUFJLEVBQUU7b0JBQ0osWUFBWSxFQUFFLDJDQUEyQztvQkFDekQsTUFBTSxFQUFFLHFDQUFxQztvQkFDN0MsT0FBTyxFQUFFLDBDQUEwQztvQkFDbkQsU0FBUyxFQUFFLGdDQUFnQztvQkFDM0MsaUJBQWlCLEVBQUUseUJBQXlCO29CQUM1QyxhQUFhLEVBQUUsd0ZBQXdGO2lCQUN4RzthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQLEtBQUssRUFBRSx5RkFBeUY7Z0JBQ2hHLE1BQU0sRUFBRSxzR0FBc0c7Z0JBQzlHLFFBQVEsRUFDTiwySUFBMkk7Z0JBQzdJLE9BQU8sRUFBRSwwREFBMEQ7Z0JBQ25FLE9BQU8sRUFDTCw0SEFBNEg7Z0JBQzlILGdCQUFnQixFQUNkLGdUQUFnVDtnQkFDbFQsY0FBYyxFQUNaLDJQQUEyUDthQUM5UDtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVuVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICBkYXRhc2V0OiB7XG4gICAgICBjb25zdWx0OiAnVmlldycsXG4gICAgICB0aXRsZTogJ0RhdGFzZXQgY2F0YWxvZycsXG4gICAgICBzZWFyY2g6ICdTZWFyY2gnLFxuICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgc3RhdHVzOiAnU3RhdHVzJyxcbiAgICAgIHZlcnNpb25IaXN0b3J5OiAnVmVyc2lvbiBoaXN0b3J5JyxcbiAgICAgIGRhdGE6ICdEYXRhJyxcbiAgICAgIHRhYmxlOiAnVGFibGUnLFxuICAgICAgbWFwOiAnTWFwJyxcbiAgICAgIGV4cG9ydDogJ0V4cG9ydCcsXG4gICAgICBhcGk6ICdBUEknLFxuICAgICAgcmV0dXJuVG9MaXN0OiAnQmFjayB0byBjYXRhbG9nJyxcbiAgICAgIHJlZnJlc2g6ICdSZWZyZXNoJyxcbiAgICAgIHZlcnNpb246IHtcbiAgICAgICAgdGl0bGU6ICdUaXRsZScsXG4gICAgICAgIElOREVYSU5HOiAnTG9hZGluZycsXG4gICAgICAgIExPQURJTkc6ICdMb2FkaW5nJyxcbiAgICAgICAgSU5BQ1RJVkU6ICdJbnZhbGlkJyxcbiAgICAgICAgRVJST1I6ICdFcnJvcicsXG4gICAgICAgIEFDVElWRTogJ0F2YWlsYWJsZScsXG4gICAgICAgIGN1cnJlbnRseUFjdGl2ZTogJ0FjdGl2ZSdcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGF0ZScsXG4gICAgICAgIElOQUNUSVZFOiAnVmFsaWRhdGUnLFxuICAgICAgICBFUlJPUjogJ0NvbnN1bHQgZXJyb3JzJyxcbiAgICAgICAgV0FSTklORzogJ0NvbnN1bHQgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBlbGVtZW50czogJ0VsZW1lbnRzJyxcbiAgICAgICAgbWVzc2FnZTogJ01lc3NhZ2UnLFxuICAgICAgICBjbG9zZTogJ0Zlcm1lcicsXG4gICAgICAgIG1vZGFsVGl0bGU6IHtcbiAgICAgICAgICBFUlJPUjogJ0xpc3Qgb2YgZXJyb3JzJyxcbiAgICAgICAgICBXQVJOSU5HOiAnTGlzdCBvZiB3YXJuaW5ncydcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICBFUlJPUjogJ0Vycm9yJyxcbiAgICAgICAgICBXQVJOSU5HOiAnV2FybmluZydcbiAgICAgICAgfSxcbiAgICAgICAgY29kZToge1xuICAgICAgICAgIFVOUkVDT0dOSVpFRDogJ1VucmVjb2duaXplZCBhdHRyaWJ1dGV7e3BsdXJhbH19IHt7bmFtZX19JyxcbiAgICAgICAgICBGT1JNQVQ6ICdXcm9uZyBmb3JtYXQgZm9yIGF0dHJpYnV0ZSB7e25hbWV9fScsXG4gICAgICAgICAgU1RPUkFHRTogJ0luc2VydGlvbiBlcnJvciBmb3IgZWxlbWVudCB7e3JlY29yZElkfX0nLFxuICAgICAgICAgIE5PX1ZBTFVFUzogJ05vIHZhbHVlIGZvciB7e3JlY29yZElkfX0gbGluZScsXG4gICAgICAgICAgRk9STUFUX0ZJTEVfRVJST1I6ICdVbnN1cHBvcnRlZCBmaWxlIGZvcm1hdCcsXG4gICAgICAgICAgTk9fQVRUUklCVVRFUzogJ1RoZSBpbXBvcnRlZCBkYXRhIGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gdGhlIGRhdGEgbW9kZWwgaW5kaWNhdGVkIGluIHRoZSBpbXBvcnQgdGFyZ2V0J1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBlcnJvcjogJ0Vycm9ycyBvY2N1cnJlZCB3aGVuIGludGVncmF0aW5nIHRoZSBkYXRhIGludG8gdGhlIHNvbHV0aW9uLiBUaGUgZGF0YSBpcyBub3QgYWNjZXNzaWJsZScsXG4gICAgICAgIGFjdGl2ZTogJ1RoZSBkYXRhIHJldHJpZXZlZCBieSBkZWZhdWx0IGluIHRoZSBhcHBsaWNhdGlvbiBjb3JyZXNwb25kcyB0byB0aGUgZGF0YSBpbnRlZ3JhdGVkIGluIHRoaXMgdmVyc2lvbi4nLFxuICAgICAgICBpbmFjdGl2ZTpcbiAgICAgICAgICAnVGhlIGRhdGEgZm9yIHRoaXMgdmVyc2lvbiBpcyBhdmFpbGFibGUgYnV0IG5vdCB1cGxvYWRlZCBieSBkZWZhdWx0LiBJdCBpcyBwb3NzaWJsZSB0byBkaXNwbGF5IHRoZW0gYnkgZXhwbGljaXRseSByZXF1ZXN0aW5nIHRoaXMgdmVyc2lvbi4nLFxuICAgICAgICBsb2FkaW5nOiAnVGhlIGRhdGEgaXMgY3VycmVudGx5IGJlaW5nIGludGVncmF0ZWQgaW50byB0aGUgc29sdXRpb24nLFxuICAgICAgICBpbnZhbGlkOlxuICAgICAgICAgICdUaGUgZGF0YSBpbiB0aGlzIHZlcnNpb24gaXMgcHJlc2VudCBpbiB0aGUgc29sdXRpb24gYnV0IGlzIG5vdCByZWxldmFudC4gSXQgaXMgbm90IGF2YWlsYWJsZSBhcmUgbm90IGF2YWlsYWJsZSBmb3IgZGlzcGxheScsXG4gICAgICAgIGluVmFsaWRhdGVCdXR0b246XG4gICAgICAgICAgJ0FsbG93cyB5b3UgdG8gbWFrZSB0aGUgdmVyc2lvblxcJ3MgZGF0YSB1bmF2YWlsYWJsZSBpZiBpdCBpcyBjb25zaWRlcmVkIGlycmVsZXZhbnQgZnJvbSBhIGJ1c2luZXNzIHBvaW50IG9mIHZpZXcuIElmIHRoZSBpbnZhbGlkYXRlZCB2ZXJzaW9uIGlzIHRoZSBhY3RpdmUgdmVyc2lvbiwgdGhlbiB0aGUgZGF0YSByZXRyaWV2ZWQgYnkgZGVmYXVsdCB3aWxsIGJlIHRoYXQgb2YgdGhlIG1vc3QgcmVjZW50IHByZXZpb3VzIFwiQXZhaWxhYmxlXCIgdmVyc2lvbiwgd2hpY2ggd2lsbCB0aHVzIGNoYW5nZSB0byBcIkFjdGl2ZVwiIHN0YXR1cy4nLFxuICAgICAgICB2YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICBcIkFsbG93cyB0aGUgdmVyc2lvbidzIGRhdGEgdG8gYmUgbWFkZSBhdmFpbGFibGUgaWYgaXQgaXMgY29uc2lkZXJlZCByZWxldmFudCBmcm9tIGEgYnVzaW5lc3MgcG9pbnQgb2YgdmlldyBhZnRlciBoYXZpbmcgYmVlbiBpbnZhbGlkYXRlZC4gSWYgdGhlIHZhbGlkYXRlZCB2ZXJzaW9uIGlzIHRoZSBtb3N0IHJlY2VudCwgaXQgd2lsbCBiZWNvbWUgdGhlIGFjdGl2ZSB2ZXJzaW9uIGFuZCBpdHMgZGF0YSB3aWxsIGJlIHRoZSBkZWZhdWx0LlwiXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuIl19
@@ -47,7 +47,7 @@ export const frTranslations = {
47
47
  WARNING: 'Warning'
48
48
  },
49
49
  code: {
50
- UNRECOGNIZED: 'Attribut {{plural}} {{name}} non reconnu {{plural}}',
50
+ UNRECOGNIZED: 'Attribut{{plural}} {{name}} non reconnu {{plural}}',
51
51
  FORMAT: "Format d'attribut {{name}} incorrect",
52
52
  STORAGE: "Erreur d'insertion pour l'élément {{recordId}}",
53
53
  NO_VALUES: 'Pas de valeur pour la ligne {{recordId}}',
@@ -67,4 +67,4 @@ export const frTranslations = {
67
67
  }
68
68
  }
69
69
  };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLFdBQVc7WUFDcEIsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxNQUFNLEVBQUUsWUFBWTtZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLGNBQWMsRUFBRSx3QkFBd0I7WUFDeEMsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsT0FBTztZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxPQUFPLEVBQUUsWUFBWTtZQUNyQixPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLEtBQUssRUFBRSxXQUFXO2dCQUNsQixNQUFNLEVBQUUsWUFBWTtnQkFDcEIsZUFBZSxFQUFFLE9BQU87YUFDekI7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsRUFBRTthQUNiO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsbUJBQW1CO29CQUMxQixPQUFPLEVBQUUsb0JBQW9CO2lCQUM5QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsT0FBTyxFQUFFLFNBQVM7aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixZQUFZLEVBQUUscURBQXFEO29CQUNuRSxNQUFNLEVBQUUsc0NBQXNDO29CQUM5QyxPQUFPLEVBQUUsZ0RBQWdEO29CQUN6RCxTQUFTLEVBQUUsMENBQTBDO29CQUNyRCxpQkFBaUIsRUFBRSw4Q0FBOEM7b0JBQ2pFLGFBQWEsRUFBRSw4RkFBOEY7aUJBQzlHO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUNILG1IQUFtSDtnQkFDckgsTUFBTSxFQUNKLHlHQUF5RztnQkFDM0csUUFBUSxFQUNOLHdKQUF3SjtnQkFDMUosT0FBTyxFQUFFLDBEQUEwRDtnQkFDbkUsT0FBTyxFQUNMLHdJQUF3STtnQkFDMUksZ0JBQWdCLEVBQ2QsOFVBQThVO2dCQUNoVixjQUFjLEVBQ1osc1NBQXNTO2FBQ3pTO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGRhdGFzZXQ6IHtcbiAgICAgIGNvbnN1bHQ6ICdDb25zdWx0ZXInLFxuICAgICAgdGl0bGU6ICdDYXRhbG9ndWUgZGVzIGpldXggZGUgZG9ubsOpZXMnLFxuICAgICAgc2VhcmNoOiAnUmVjaGVyY2hlcicsXG4gICAgICBkYXRlOiAnRGF0ZScsXG4gICAgICBzdGF0dXM6ICdTdGF0dXQnLFxuICAgICAgdmVyc2lvbkhpc3Rvcnk6ICdIaXN0b3JpcXVlIGRlIHZlcnNpb25zJyxcbiAgICAgIGRhdGE6ICdEb25uw6llcycsXG4gICAgICB0YWJsZTogJ1RhYmxlYXUnLFxuICAgICAgbWFwOiAnQ2FydGUnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0JyxcbiAgICAgIGFwaTogJ0FQSScsXG4gICAgICByZXR1cm5Ub0xpc3Q6ICdSZXRvdXIgYXUgY2F0YWxvZ3VlJyxcbiAgICAgIHJlZnJlc2g6ICdBY3R1YWxpc2VyJyxcbiAgICAgIHZlcnNpb246IHtcbiAgICAgICAgdGl0bGU6ICdJbnRpdHVsw6knLFxuICAgICAgICBJTkRFWElORzogJ0VuIGNoYXJnZW1lbnQnLFxuICAgICAgICBMT0FESU5HOiAnRW4gY2hhcmdlbWVudCcsXG4gICAgICAgIElOQUNUSVZFOiAnSW52YWxpZGUnLFxuICAgICAgICBFUlJPUjogJ0VuIGVycmV1cicsXG4gICAgICAgIEFDVElWRTogJ0Rpc3BvbmlibGUnLFxuICAgICAgICBjdXJyZW50bHlBY3RpdmU6ICdBY3RpZidcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGVyJyxcbiAgICAgICAgSU5BQ1RJVkU6ICdWYWxpZGVyJyxcbiAgICAgICAgRVJST1I6ICdDb25zdWx0ZXIgZXJyZXVycycsXG4gICAgICAgIFdBUk5JTkc6ICdDb25zdWx0ZXIgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgRVJST1I6ICdFcnJldXInLFxuICAgICAgICBXQVJOSU5HOiAnV2FybmluZycsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZWxlbWVudHM6ICdFbGVtZW50cycsXG4gICAgICAgIG1lc3NhZ2U6ICdNZXNzYWdlJyxcbiAgICAgICAgY2xvc2U6ICdGZXJtZXInLFxuICAgICAgICBtb2RhbFRpdGxlOiB7XG4gICAgICAgICAgRVJST1I6ICdMaXN0ZSBkZXMgZXJyZXVycycsXG4gICAgICAgICAgV0FSTklORzogJ0xpc3RlIGRlcyB3YXJuaW5ncydcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICBFUlJPUjogJ0VycmV1cicsXG4gICAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvZGU6IHtcbiAgICAgICAgICBVTlJFQ09HTklaRUQ6ICdBdHRyaWJ1dCB7e3BsdXJhbH19IHt7bmFtZX19IG5vbiByZWNvbm51IHt7cGx1cmFsfX0nLFxuICAgICAgICAgIEZPUk1BVDogXCJGb3JtYXQgZCdhdHRyaWJ1dCB7e25hbWV9fSBpbmNvcnJlY3RcIixcbiAgICAgICAgICBTVE9SQUdFOiBcIkVycmV1ciBkJ2luc2VydGlvbiBwb3VyIGwnw6lsw6ltZW50IHt7cmVjb3JkSWR9fVwiLFxuICAgICAgICAgIE5PX1ZBTFVFUzogJ1BhcyBkZSB2YWxldXIgcG91ciBsYSBsaWduZSB7e3JlY29yZElkfX0nLFxuICAgICAgICAgIEZPUk1BVF9GSUxFX0VSUk9SOiBcIkxlIGZvcm1hdCBkdSBmaWNoaWVyIHRyYW5zbWlzIG4nZXN0IHBhcyBnw6lyw6lcIixcbiAgICAgICAgICBOT19BVFRSSUJVVEVTOiBcIkxlcyBkb25uw6llcyBpbXBvcnTDqWVzIG5lIGNvcnJlc3BvbmRlbnQgcGFzIGF1IG1vZMOobGUgZGUgZG9ubsOpZXMgaW5kaXF1w6kgZW4gY2libGUgZGUgbCdpbXBvcnRcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdG9vbHRpcDoge1xuICAgICAgICBlcnJvcjpcbiAgICAgICAgICBcIkRlcyBlcnJldXJzIHNvbnQgYXBwYXJ1ZXMgbG9ycyBkZSBsJ2ludMOpZ3JhdGlvbiBkZXMgZG9ubsOpZXMgZGFucyBsYSBzb2x1dGlvbi4gTGVzIGRvbm7DqWVzIG5lIHNvbnQgcGFzIGFjY2Vzc2libGVzXCIsXG4gICAgICAgIGFjdGl2ZTpcbiAgICAgICAgICBcIkxlcyBkb25uw6llcyByZW1vbnTDqWVzIHBhciBkw6lmYXV0IGRhbnMgbCdhcHBsaWNhdGlvbiBjb3JyZXNwb25kZW50IMOgIGNlbGxlcyBpbnTDqWdyw6llcyBkYW5zIGNldHRlIHZlcnNpb25cIixcbiAgICAgICAgaW5hY3RpdmU6XG4gICAgICAgICAgJ0xlcyBkb25uw6llcyBkZSBjZXR0ZSB2ZXJzaW9uIHNvbnQgZGlzcG9uaWJsZXMgbWFpcyBub24gcmVtb250w6llcyBwYXIgZMOpZmF1dC4gSWwgZXN0IHBvc3NpYmxlIGRlIGxlcyBhZmZpY2hlciBlbiBkZW1hbmRhbnQgZXhwbGljaXRlbWVudCBjZXR0ZSB2ZXJzaW9uLicsXG4gICAgICAgIGxvYWRpbmc6IFwiTGVzIGRvbm7DqWVzIHNvbnQgZW4gY291cnMgZCdpbnTDqWdyYXRpb24gZGFucyBsYSBzb2x1dGlvblwiLFxuICAgICAgICBpbnZhbGlkOlxuICAgICAgICAgIFwiTGVzIGRvbm7DqWVzIGRlIGNldHRlIHZlcnNpb24gc29udCBwcsOpc2VudGVzIGRhbnMgbGEgc29sdXRpb24gbWFpcyBzb250IG5vbiBwZXJ0aW5lbnRlcy4gRWxsZXMgbmUgc29udCBwYXMgZGlzcG9uaWJsZXMgcG91ciBsJ2FmZmljaGFnZVwiLFxuICAgICAgICBpblZhbGlkYXRlQnV0dG9uOlxuICAgICAgICAgICdQZXJtZXQgZGUgcmVuZHJlIGluZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIG5vbiBwZXJ0aW5lbnRlIGRcXCd1biBwb2ludCBkZSB2dWUgbcOpdGllci4gU2kgbGEgdmVyc2lvbiBpbnZhbGlkw6llIGVzdCBsYSB2ZXJzaW9uIGFjdGl2ZSwgYWxvcnMgbGVzIGRvbm7DqWVzIHLDqWN1cMOpcsOpZXMgcGFyIGTDqWZhdXQgc2Vyb250IGNlbGxlIGRlIGxhIHZlcnNpb24gXCJEaXNwb25pYmxlXCIgcHLDqWPDqWRlbnRlIGxhIHBsdXMgcsOpY2VudGUgcXVpIHBhc3NlcmEgYWluc2kgYXUgc3RhdHV0IFwiQWN0aXZlXCInLFxuICAgICAgICB2YWxpZGF0ZUJ1dHRvbjpcbiAgICAgICAgICBcIlBlcm1ldCBkZSByZW5kcmUgZGlzcG9uaWJsZSBsZXMgZG9ubsOpZXMgZGUgbGEgdmVyc2lvbiBkYW5zIGxlIGNhcyBvw7kgZWxsZXMgc29udCBjb25zaWTDqXLDqWVzIGNvbW1lIHBlcnRpbmVudGUgZCd1biBwb2ludCBkZSB2dWUgbcOpdGllciBhcHLDqHMgYXZvaXIgw6l0w6kgaW52YWxpZGVyLiBTaSBsYSB2ZXJzaW9uIHZhbGlkw6llIGVzdCBsYSBwbHVzIHLDqWNlbnRlLCBlbGxlIGRldmllbmRyYSBhaW5zaSBsYSB2ZXJzaW9uIGFjdGl2ZSBldCBzZXMgZG9ubsOpZXMgc2Vyb250IGNlbGxlcyByZW1vbnTDqWVzIHBhciBkw6lmYXV0XCJcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvZGF0YXNldC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFO1lBQ1AsT0FBTyxFQUFFLFdBQVc7WUFDcEIsS0FBSyxFQUFFLCtCQUErQjtZQUN0QyxNQUFNLEVBQUUsWUFBWTtZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLGNBQWMsRUFBRSx3QkFBd0I7WUFDeEMsSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsT0FBTztZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsWUFBWSxFQUFFLHFCQUFxQjtZQUNuQyxPQUFPLEVBQUUsWUFBWTtZQUNyQixPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLFFBQVEsRUFBRSxlQUFlO2dCQUN6QixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLEtBQUssRUFBRSxXQUFXO2dCQUNsQixNQUFNLEVBQUUsWUFBWTtnQkFDcEIsZUFBZSxFQUFFLE9BQU87YUFDekI7WUFDRCxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixLQUFLLEVBQUUsbUJBQW1CO2dCQUMxQixPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixPQUFPLEVBQUUsRUFBRTtnQkFDWCxRQUFRLEVBQUUsRUFBRTthQUNiO1lBQ0QsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxRQUFRO2dCQUNmLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLEtBQUssRUFBRSxRQUFRO2dCQUNmLFVBQVUsRUFBRTtvQkFDVixLQUFLLEVBQUUsbUJBQW1CO29CQUMxQixPQUFPLEVBQUUsb0JBQW9CO2lCQUM5QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsT0FBTyxFQUFFLFNBQVM7aUJBQ25CO2dCQUNELElBQUksRUFBRTtvQkFDSixZQUFZLEVBQUUsb0RBQW9EO29CQUNsRSxNQUFNLEVBQUUsc0NBQXNDO29CQUM5QyxPQUFPLEVBQUUsZ0RBQWdEO29CQUN6RCxTQUFTLEVBQUUsMENBQTBDO29CQUNyRCxpQkFBaUIsRUFBRSw4Q0FBOEM7b0JBQ2pFLGFBQWEsRUFBRSw4RkFBOEY7aUJBQzlHO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUNILG1IQUFtSDtnQkFDckgsTUFBTSxFQUNKLHlHQUF5RztnQkFDM0csUUFBUSxFQUNOLHdKQUF3SjtnQkFDMUosT0FBTyxFQUFFLDBEQUEwRDtnQkFDbkUsT0FBTyxFQUNMLHdJQUF3STtnQkFDMUksZ0JBQWdCLEVBQ2QsOFVBQThVO2dCQUNoVixjQUFjLEVBQ1osc1NBQXNTO2FBQ3pTO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGRhdGFzZXQ6IHtcbiAgICAgIGNvbnN1bHQ6ICdDb25zdWx0ZXInLFxuICAgICAgdGl0bGU6ICdDYXRhbG9ndWUgZGVzIGpldXggZGUgZG9ubsOpZXMnLFxuICAgICAgc2VhcmNoOiAnUmVjaGVyY2hlcicsXG4gICAgICBkYXRlOiAnRGF0ZScsXG4gICAgICBzdGF0dXM6ICdTdGF0dXQnLFxuICAgICAgdmVyc2lvbkhpc3Rvcnk6ICdIaXN0b3JpcXVlIGRlIHZlcnNpb25zJyxcbiAgICAgIGRhdGE6ICdEb25uw6llcycsXG4gICAgICB0YWJsZTogJ1RhYmxlYXUnLFxuICAgICAgbWFwOiAnQ2FydGUnLFxuICAgICAgZXhwb3J0OiAnRXhwb3J0JyxcbiAgICAgIGFwaTogJ0FQSScsXG4gICAgICByZXR1cm5Ub0xpc3Q6ICdSZXRvdXIgYXUgY2F0YWxvZ3VlJyxcbiAgICAgIHJlZnJlc2g6ICdBY3R1YWxpc2VyJyxcbiAgICAgIHZlcnNpb246IHtcbiAgICAgICAgdGl0bGU6ICdJbnRpdHVsw6knLFxuICAgICAgICBJTkRFWElORzogJ0VuIGNoYXJnZW1lbnQnLFxuICAgICAgICBMT0FESU5HOiAnRW4gY2hhcmdlbWVudCcsXG4gICAgICAgIElOQUNUSVZFOiAnSW52YWxpZGUnLFxuICAgICAgICBFUlJPUjogJ0VuIGVycmV1cicsXG4gICAgICAgIEFDVElWRTogJ0Rpc3BvbmlibGUnLFxuICAgICAgICBjdXJyZW50bHlBY3RpdmU6ICdBY3RpZidcbiAgICAgIH0sXG4gICAgICBidXR0b25BY3Rpb246IHtcbiAgICAgICAgQUNUSVZFOiAnSW52YWxpZGVyJyxcbiAgICAgICAgSU5BQ1RJVkU6ICdWYWxpZGVyJyxcbiAgICAgICAgRVJST1I6ICdDb25zdWx0ZXIgZXJyZXVycycsXG4gICAgICAgIFdBUk5JTkc6ICdDb25zdWx0ZXIgd2FybmluZ3MnLFxuICAgICAgICBMT0FESU5HOiAnJyxcbiAgICAgICAgSU5ERVhJTkc6ICcnXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgRVJST1I6ICdFcnJldXInLFxuICAgICAgICBXQVJOSU5HOiAnV2FybmluZycsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgZWxlbWVudHM6ICdFbGVtZW50cycsXG4gICAgICAgIG1lc3NhZ2U6ICdNZXNzYWdlJyxcbiAgICAgICAgY2xvc2U6ICdGZXJtZXInLFxuICAgICAgICBtb2RhbFRpdGxlOiB7XG4gICAgICAgICAgRVJST1I6ICdMaXN0ZSBkZXMgZXJyZXVycycsXG4gICAgICAgICAgV0FSTklORzogJ0xpc3RlIGRlcyB3YXJuaW5ncydcbiAgICAgICAgfSxcbiAgICAgICAgbGV2ZWw6IHtcbiAgICAgICAgICBFUlJPUjogJ0VycmV1cicsXG4gICAgICAgICAgV0FSTklORzogJ1dhcm5pbmcnXG4gICAgICAgIH0sXG4gICAgICAgIGNvZGU6IHtcbiAgICAgICAgICBVTlJFQ09HTklaRUQ6ICdBdHRyaWJ1dHt7cGx1cmFsfX0ge3tuYW1lfX0gbm9uIHJlY29ubnUge3twbHVyYWx9fScsXG4gICAgICAgICAgRk9STUFUOiBcIkZvcm1hdCBkJ2F0dHJpYnV0IHt7bmFtZX19IGluY29ycmVjdFwiLFxuICAgICAgICAgIFNUT1JBR0U6IFwiRXJyZXVyIGQnaW5zZXJ0aW9uIHBvdXIgbCfDqWzDqW1lbnQge3tyZWNvcmRJZH19XCIsXG4gICAgICAgICAgTk9fVkFMVUVTOiAnUGFzIGRlIHZhbGV1ciBwb3VyIGxhIGxpZ25lIHt7cmVjb3JkSWR9fScsXG4gICAgICAgICAgRk9STUFUX0ZJTEVfRVJST1I6IFwiTGUgZm9ybWF0IGR1IGZpY2hpZXIgdHJhbnNtaXMgbidlc3QgcGFzIGfDqXLDqVwiLFxuICAgICAgICAgIE5PX0FUVFJJQlVURVM6IFwiTGVzIGRvbm7DqWVzIGltcG9ydMOpZXMgbmUgY29ycmVzcG9uZGVudCBwYXMgYXUgbW9kw6hsZSBkZSBkb25uw6llcyBpbmRpcXXDqSBlbiBjaWJsZSBkZSBsJ2ltcG9ydFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB0b29sdGlwOiB7XG4gICAgICAgIGVycm9yOlxuICAgICAgICAgIFwiRGVzIGVycmV1cnMgc29udCBhcHBhcnVlcyBsb3JzIGRlIGwnaW50w6lncmF0aW9uIGRlcyBkb25uw6llcyBkYW5zIGxhIHNvbHV0aW9uLiBMZXMgZG9ubsOpZXMgbmUgc29udCBwYXMgYWNjZXNzaWJsZXNcIixcbiAgICAgICAgYWN0aXZlOlxuICAgICAgICAgIFwiTGVzIGRvbm7DqWVzIHJlbW9udMOpZXMgcGFyIGTDqWZhdXQgZGFucyBsJ2FwcGxpY2F0aW9uIGNvcnJlc3BvbmRlbnQgw6AgY2VsbGVzIGludMOpZ3LDqWVzIGRhbnMgY2V0dGUgdmVyc2lvblwiLFxuICAgICAgICBpbmFjdGl2ZTpcbiAgICAgICAgICAnTGVzIGRvbm7DqWVzIGRlIGNldHRlIHZlcnNpb24gc29udCBkaXNwb25pYmxlcyBtYWlzIG5vbiByZW1vbnTDqWVzIHBhciBkw6lmYXV0LiBJbCBlc3QgcG9zc2libGUgZGUgbGVzIGFmZmljaGVyIGVuIGRlbWFuZGFudCBleHBsaWNpdGVtZW50IGNldHRlIHZlcnNpb24uJyxcbiAgICAgICAgbG9hZGluZzogXCJMZXMgZG9ubsOpZXMgc29udCBlbiBjb3VycyBkJ2ludMOpZ3JhdGlvbiBkYW5zIGxhIHNvbHV0aW9uXCIsXG4gICAgICAgIGludmFsaWQ6XG4gICAgICAgICAgXCJMZXMgZG9ubsOpZXMgZGUgY2V0dGUgdmVyc2lvbiBzb250IHByw6lzZW50ZXMgZGFucyBsYSBzb2x1dGlvbiBtYWlzIHNvbnQgbm9uIHBlcnRpbmVudGVzLiBFbGxlcyBuZSBzb250IHBhcyBkaXNwb25pYmxlcyBwb3VyIGwnYWZmaWNoYWdlXCIsXG4gICAgICAgIGluVmFsaWRhdGVCdXR0b246XG4gICAgICAgICAgJ1Blcm1ldCBkZSByZW5kcmUgaW5kaXNwb25pYmxlIGxlcyBkb25uw6llcyBkZSBsYSB2ZXJzaW9uIGRhbnMgbGUgY2FzIG/DuSBlbGxlcyBzb250IGNvbnNpZMOpcsOpZXMgY29tbWUgbm9uIHBlcnRpbmVudGUgZFxcJ3VuIHBvaW50IGRlIHZ1ZSBtw6l0aWVyLiBTaSBsYSB2ZXJzaW9uIGludmFsaWTDqWUgZXN0IGxhIHZlcnNpb24gYWN0aXZlLCBhbG9ycyBsZXMgZG9ubsOpZXMgcsOpY3Vww6lyw6llcyBwYXIgZMOpZmF1dCBzZXJvbnQgY2VsbGUgZGUgbGEgdmVyc2lvbiBcIkRpc3BvbmlibGVcIiBwcsOpY8OpZGVudGUgbGEgcGx1cyByw6ljZW50ZSBxdWkgcGFzc2VyYSBhaW5zaSBhdSBzdGF0dXQgXCJBY3RpdmVcIicsXG4gICAgICAgIHZhbGlkYXRlQnV0dG9uOlxuICAgICAgICAgIFwiUGVybWV0IGRlIHJlbmRyZSBkaXNwb25pYmxlIGxlcyBkb25uw6llcyBkZSBsYSB2ZXJzaW9uIGRhbnMgbGUgY2FzIG/DuSBlbGxlcyBzb250IGNvbnNpZMOpcsOpZXMgY29tbWUgcGVydGluZW50ZSBkJ3VuIHBvaW50IGRlIHZ1ZSBtw6l0aWVyIGFwcsOocyBhdm9pciDDqXTDqSBpbnZhbGlkZXIuIFNpIGxhIHZlcnNpb24gdmFsaWTDqWUgZXN0IGxhIHBsdXMgcsOpY2VudGUsIGVsbGUgZGV2aWVuZHJhIGFpbnNpIGxhIHZlcnNpb24gYWN0aXZlIGV0IHNlcyBkb25uw6llcyBzZXJvbnQgY2VsbGVzIHJlbW9udMOpZXMgcGFyIGTDqWZhdXRcIlxuICAgICAgfVxuICAgIH1cbiAgfVxufTtcbiJdfQ==
@@ -32,14 +32,14 @@ export class PryModalStatusComponent {
32
32
  this.gotoConsult.emit(this.version);
33
33
  }
34
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryModalStatusComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryModalStatusComponent, selector: "pry-modal-status", inputs: { version: "version" }, outputs: { gotoConsult: "gotoConsult" }, ngImport: i0, template: "<div class=\"o-modal-wrapper -extra-large\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{\n '@pry.dataset.error.modalTitle.' +\n (_version?.state !== 'ERROR' && _version?.hasWarnings ? 'WARNING' : 'ERROR') | i18n\n }}\n ({{ messageCount$ | async }})\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"goBack()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <table class=\"a-table\">\n <thead>\n <tr>\n <th>{{ '@pry.dataset.error.type' | i18n }}</th>\n <th>{{ '@pry.dataset.error.elements' | i18n }}</th>\n <th>{{ '@pry.dataset.error.message' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let preview of datasetPreviews$ | async | slice : 0 : 5\">\n <td>\n {{ '@pry.dataset.error.level.' + preview.level | i18n }}\n </td>\n <td>\n {{ preview.recordId }}\n </td>\n <td>\n {{\n '@pry.dataset.error.code.' + preview.extractMessageCode\n | i18n : { plural: preview.name.includes(',') ? 's' : '', name: preview.name, recordId: preview.recordId }\n }}\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryModalStatusComponent, selector: "pry-modal-status", inputs: { version: "version" }, outputs: { gotoConsult: "gotoConsult" }, ngImport: i0, template: "<div class=\"o-modal-wrapper__backdrop\" (click)=\"goBack()\">\n <div class=\"o-modal-wrapper -extra-large\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{\n '@pry.dataset.error.modalTitle.' +\n (_version?.state !== 'ERROR' && _version?.hasWarnings ? 'WARNING' : 'ERROR') | i18n\n }}\n ({{ messageCount$ | async }})\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"goBack()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <table class=\"a-table\">\n <thead>\n <tr>\n <th>{{ '@pry.dataset.error.type' | i18n }}</th>\n <th>{{ '@pry.dataset.error.elements' | i18n }}</th>\n <th>{{ '@pry.dataset.error.message' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let preview of datasetPreviews$ | async | slice : 0 : 5\">\n <td>\n {{ '@pry.dataset.error.level.' + preview.level | i18n }}\n </td>\n <td>\n {{ preview.recordId }}\n </td>\n <td>\n {{\n '@pry.dataset.error.code.' + preview.extractMessageCode\n | i18n\n : { plural: preview.name.includes(',') ? 's' : '', name: preview.name, recordId: preview.recordId }\n }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryModalStatusComponent, decorators: [{
38
38
  type: Component,
39
- args: [{ selector: 'pry-modal-status', template: "<div class=\"o-modal-wrapper -extra-large\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{\n '@pry.dataset.error.modalTitle.' +\n (_version?.state !== 'ERROR' && _version?.hasWarnings ? 'WARNING' : 'ERROR') | i18n\n }}\n ({{ messageCount$ | async }})\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"goBack()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <table class=\"a-table\">\n <thead>\n <tr>\n <th>{{ '@pry.dataset.error.type' | i18n }}</th>\n <th>{{ '@pry.dataset.error.elements' | i18n }}</th>\n <th>{{ '@pry.dataset.error.message' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let preview of datasetPreviews$ | async | slice : 0 : 5\">\n <td>\n {{ '@pry.dataset.error.level.' + preview.level | i18n }}\n </td>\n <td>\n {{ preview.recordId }}\n </td>\n <td>\n {{\n '@pry.dataset.error.code.' + preview.extractMessageCode\n | i18n : { plural: preview.name.includes(',') ? 's' : '', name: preview.name, recordId: preview.recordId }\n }}\n </td>\n </tr>\n </tbody>\n </table>\n</div>\n" }]
39
+ args: [{ selector: 'pry-modal-status', template: "<div class=\"o-modal-wrapper__backdrop\" (click)=\"goBack()\">\n <div class=\"o-modal-wrapper -extra-large\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{\n '@pry.dataset.error.modalTitle.' +\n (_version?.state !== 'ERROR' && _version?.hasWarnings ? 'WARNING' : 'ERROR') | i18n\n }}\n ({{ messageCount$ | async }})\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"goBack()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <table class=\"a-table\">\n <thead>\n <tr>\n <th>{{ '@pry.dataset.error.type' | i18n }}</th>\n <th>{{ '@pry.dataset.error.elements' | i18n }}</th>\n <th>{{ '@pry.dataset.error.message' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let preview of datasetPreviews$ | async | slice : 0 : 5\">\n <td>\n {{ '@pry.dataset.error.level.' + preview.level | i18n }}\n </td>\n <td>\n {{ preview.recordId }}\n </td>\n <td>\n {{\n '@pry.dataset.error.code.' + preview.extractMessageCode\n | i18n\n : { plural: preview.name.includes(',') ? 's' : '', name: preview.name, recordId: preview.recordId }\n }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n" }]
40
40
  }], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { gotoConsult: [{
41
41
  type: Output
42
42
  }], version: [{
43
43
  type: Input
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvbW9kYWwtc3RhdHVzL21vZGFsLXN0YXR1cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL21vZGFsLXN0YXR1cy9tb2RhbC1zdGF0dXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7QUFNcEYsTUFBTSxPQUFPLHVCQUF1QjtJQWVsQyxJQUFhLE9BQU8sQ0FBQyxPQUFtQztRQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQ2pGLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ2YsUUFBUTtpQkFDTCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7aUJBQ2xDLElBQUksRUFBRTtpQkFDTixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pCLEdBQUcsT0FBTztnQkFDVixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2pELENBQUMsQ0FBQyxDQUNOLENBQ0YsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUM5RSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDZixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQXJDdEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQXFDeEIsQ0FBQztJQUVwQyxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBMUNVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlJQ1hwQywyOUNBNENBOzsyRkRqQ2EsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLGtCQUFrQjs0RkFJbEIsV0FBVztzQkFBcEIsTUFBTTtnQkFjTSxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLmFjdGlvbnMnO1xuaW1wb3J0IHsgRGF0YXNldFZlcnNpb24gfSBmcm9tICcuLi8uLi9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2Uuc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LW1vZGFsLXN0YXR1cycsXG4gIHRlbXBsYXRlVXJsOiAnbW9kYWwtc3RhdHVzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlNb2RhbFN0YXR1c0NvbXBvbmVudCB7XG4gIEBPdXRwdXQoKSBnb3RvQ29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXNldFZlcnNpb24+KCk7XG4gIGRhdGFzZXRQcmV2aWV3cyQ/OiBPYnNlcnZhYmxlPFxuICAgIHtcbiAgICAgIGRhdGFzZXRWZXJzaW9uSWQ6IHN0cmluZztcbiAgICAgIGV4dHJhY3RNZXNzYWdlQ29kZTogc3RyaW5nO1xuICAgICAgbGV2ZWw6ICdFUlJPUicgfCAnV0FSTklORyc7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICByZWNvcmRJZDogc3RyaW5nO1xuICAgICAgdHlwZTogc3RyaW5nO1xuICAgIH1bXVxuICA+O1xuICBtZXNzYWdlQ291bnQkPzogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBfdmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuXG4gIEBJbnB1dCgpIHNldCB2ZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdmVyc2lvbiA9IHZlcnNpb247XG4gICAgaWYgKCEhdmVyc2lvbikge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LnByZXZpZXdzLmdldEJ5SWQoeyBpZDogdmVyc2lvbi5pZCB9KSk7XG4gICAgICB0aGlzLmRhdGFzZXRQcmV2aWV3cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRQcmV2aWV3cykucGlwZShcbiAgICAgICAgbWFwKChwcmV2aWV3cykgPT5cbiAgICAgICAgICBwcmV2aWV3c1xuICAgICAgICAgICAgLm1hcCgocHJldmlldykgPT4gcHJldmlldy5tZXNzYWdlcylcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoKHByZXZpZXcpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnByZXZpZXcsXG4gICAgICAgICAgICAgIG5hbWU6IChwcmV2aWV3Lm5hbWUgPz8gJycpLnNwbGl0KCcsJykuam9pbignLCAnKVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLm1lc3NhZ2VDb3VudCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRQcmV2aWV3cykucGlwZShcbiAgICAgICAgbWFwKChwcmV2aWV3cykgPT4ge1xuICAgICAgICAgIHJldHVybiBwcmV2aWV3cy5tYXAoKHByZXZpZXcpID0+IHByZXZpZXcuY291bnQpLnJlZHVjZSgocCwgYykgPT4gcCArIGMsIDApO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5nb3RvQ29uc3VsdC5lbWl0KHRoaXMudmVyc2lvbik7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLW1vZGFsLXdyYXBwZXIgLWV4dHJhLWxhcmdlXCI+XG4gIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX190aXRsZVwiPlxuICAgICAgPGgyIGNsYXNzPVwiYS1oMlwiPlxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmRhdGFzZXQuZXJyb3IubW9kYWxUaXRsZS4nICtcbiAgICAgICAgICAgIChfdmVyc2lvbj8uc3RhdGUgIT09ICdFUlJPUicgJiYgX3ZlcnNpb24/Lmhhc1dhcm5pbmdzID8gJ1dBUk5JTkcnIDogJ0VSUk9SJykgfCBpMThuXG4gICAgICAgIH19XG4gICAgICAgICh7eyBtZXNzYWdlQ291bnQkIHwgYXN5bmMgfX0pXG4gICAgICA8L2gyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BfX2Nsb3NlXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIzNVwiIFt3aWR0aF09XCIzNVwiPjwvcHJ5LWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94LmNsb3NlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIj5cbiAgICA8dGhlYWQ+XG4gICAgICA8dHI+XG4gICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LmVycm9yLnR5cGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LmVycm9yLmVsZW1lbnRzJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICA8dGg+e3sgJ0BwcnkuZGF0YXNldC5lcnJvci5tZXNzYWdlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keT5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcHJldmlldyBvZiBkYXRhc2V0UHJldmlld3MkIHwgYXN5bmMgfCBzbGljZSA6IDAgOiA1XCI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICB7eyAnQHByeS5kYXRhc2V0LmVycm9yLmxldmVsLicgKyBwcmV2aWV3LmxldmVsIHwgaTE4biB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAge3sgcHJldmlldy5yZWNvcmRJZCB9fVxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdAcHJ5LmRhdGFzZXQuZXJyb3IuY29kZS4nICsgcHJldmlldy5leHRyYWN0TWVzc2FnZUNvZGVcbiAgICAgICAgICAgICAgfCBpMThuIDogeyBwbHVyYWw6IHByZXZpZXcubmFtZS5pbmNsdWRlcygnLCcpID8gJ3MnIDogJycsIG5hbWU6IHByZXZpZXcubmFtZSwgcmVjb3JkSWQ6IHByZXZpZXcucmVjb3JkSWQgfVxuICAgICAgICAgIH19XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RhdHVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvbW9kYWwtc3RhdHVzL21vZGFsLXN0YXR1cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL21vZGFsLXN0YXR1cy9tb2RhbC1zdGF0dXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7QUFNcEYsTUFBTSxPQUFPLHVCQUF1QjtJQWVsQyxJQUFhLE9BQU8sQ0FBQyxPQUFtQztRQUN0RCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQ2pGLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ2YsUUFBUTtpQkFDTCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7aUJBQ2xDLElBQUksRUFBRTtpQkFDTixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2pCLEdBQUcsT0FBTztnQkFDVixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2pELENBQUMsQ0FBQyxDQUNOLENBQ0YsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUM5RSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDZixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxZQUFvQixLQUFZO1FBQVosVUFBSyxHQUFMLEtBQUssQ0FBTztRQXJDdEIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQXFDeEIsQ0FBQztJQUVwQyxNQUFNO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBMUNVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlJQ1hwQyw4b0RBK0NBOzsyRkRwQ2EsdUJBQXVCO2tCQUpuQyxTQUFTOytCQUNFLGtCQUFrQjs0RkFJbEIsV0FBVztzQkFBcEIsTUFBTTtnQkFjTSxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhU291cmNlQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2RhdGEtc291cmNlL2RhdGEtc291cmNlLmFjdGlvbnMnO1xuaW1wb3J0IHsgRGF0YXNldFZlcnNpb24gfSBmcm9tICcuLi8uLi9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2Uuc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LW1vZGFsLXN0YXR1cycsXG4gIHRlbXBsYXRlVXJsOiAnbW9kYWwtc3RhdHVzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlNb2RhbFN0YXR1c0NvbXBvbmVudCB7XG4gIEBPdXRwdXQoKSBnb3RvQ29uc3VsdCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YXNldFZlcnNpb24+KCk7XG4gIGRhdGFzZXRQcmV2aWV3cyQ/OiBPYnNlcnZhYmxlPFxuICAgIHtcbiAgICAgIGRhdGFzZXRWZXJzaW9uSWQ6IHN0cmluZztcbiAgICAgIGV4dHJhY3RNZXNzYWdlQ29kZTogc3RyaW5nO1xuICAgICAgbGV2ZWw6ICdFUlJPUicgfCAnV0FSTklORyc7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICByZWNvcmRJZDogc3RyaW5nO1xuICAgICAgdHlwZTogc3RyaW5nO1xuICAgIH1bXVxuICA+O1xuICBtZXNzYWdlQ291bnQkPzogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBfdmVyc2lvbj86IERhdGFzZXRWZXJzaW9uO1xuXG4gIEBJbnB1dCgpIHNldCB2ZXJzaW9uKHZlcnNpb246IERhdGFzZXRWZXJzaW9uIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdmVyc2lvbiA9IHZlcnNpb247XG4gICAgaWYgKCEhdmVyc2lvbikge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LnByZXZpZXdzLmdldEJ5SWQoeyBpZDogdmVyc2lvbi5pZCB9KSk7XG4gICAgICB0aGlzLmRhdGFzZXRQcmV2aWV3cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRQcmV2aWV3cykucGlwZShcbiAgICAgICAgbWFwKChwcmV2aWV3cykgPT5cbiAgICAgICAgICBwcmV2aWV3c1xuICAgICAgICAgICAgLm1hcCgocHJldmlldykgPT4gcHJldmlldy5tZXNzYWdlcylcbiAgICAgICAgICAgIC5mbGF0KClcbiAgICAgICAgICAgIC5tYXAoKHByZXZpZXcpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnByZXZpZXcsXG4gICAgICAgICAgICAgIG5hbWU6IChwcmV2aWV3Lm5hbWUgPz8gJycpLnNwbGl0KCcsJykuam9pbignLCAnKVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICB0aGlzLm1lc3NhZ2VDb3VudCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRQcmV2aWV3cykucGlwZShcbiAgICAgICAgbWFwKChwcmV2aWV3cykgPT4ge1xuICAgICAgICAgIHJldHVybiBwcmV2aWV3cy5tYXAoKHByZXZpZXcpID0+IHByZXZpZXcuY291bnQpLnJlZHVjZSgocCwgYykgPT4gcCArIGMsIDApO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge31cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5nb3RvQ29uc3VsdC5lbWl0KHRoaXMudmVyc2lvbik7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLW1vZGFsLXdyYXBwZXJfX2JhY2tkcm9wXCIgKGNsaWNrKT1cImdvQmFjaygpXCI+XG4gIDxkaXYgY2xhc3M9XCJvLW1vZGFsLXdyYXBwZXIgLWV4dHJhLWxhcmdlXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcF9fdGl0bGVcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwiYS1oMlwiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnQHByeS5kYXRhc2V0LmVycm9yLm1vZGFsVGl0bGUuJyArXG4gICAgICAgICAgICAgIChfdmVyc2lvbj8uc3RhdGUgIT09ICdFUlJPUicgJiYgX3ZlcnNpb24/Lmhhc1dhcm5pbmdzID8gJ1dBUk5JTkcnIDogJ0VSUk9SJykgfCBpMThuXG4gICAgICAgICAgfX1cbiAgICAgICAgICAoe3sgbWVzc2FnZUNvdW50JCB8IGFzeW5jIH19KVxuICAgICAgICA8L2gyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX19jbG9zZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJnb0JhY2soKVwiPlxuICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIiBbaGVpZ2h0XT1cIjM1XCIgW3dpZHRoXT1cIjM1XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkudG9vbGJveC5jbG9zZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aD57eyAnQHByeS5kYXRhc2V0LmVycm9yLnR5cGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQuZXJyb3IuZWxlbWVudHMnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmRhdGFzZXQuZXJyb3IubWVzc2FnZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcHJldmlldyBvZiBkYXRhc2V0UHJldmlld3MkIHwgYXN5bmMgfCBzbGljZSA6IDAgOiA1XCI+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAge3sgJ0BwcnkuZGF0YXNldC5lcnJvci5sZXZlbC4nICsgcHJldmlldy5sZXZlbCB8IGkxOG4gfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7IHByZXZpZXcucmVjb3JkSWQgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICdAcHJ5LmRhdGFzZXQuZXJyb3IuY29kZS4nICsgcHJldmlldy5leHRyYWN0TWVzc2FnZUNvZGVcbiAgICAgICAgICAgICAgICB8IGkxOG5cbiAgICAgICAgICAgICAgICAgIDogeyBwbHVyYWw6IHByZXZpZXcubmFtZS5pbmNsdWRlcygnLCcpID8gJ3MnIDogJycsIG5hbWU6IHByZXZpZXcubmFtZSwgcmVjb3JkSWQ6IHByZXZpZXcucmVjb3JkSWQgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -16,4 +16,4 @@ export const widgetMapConfig = {
16
16
  ])
17
17
  };
18
18
  export const DEFAULT_PROJECTION = 'EPSG:4326';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC1tYW5pZmVzdC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9tb2RlbC93aWRnZXQtbWFwLW1hbmlmZXN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBeUl2QyxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZiw0QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBOEU7UUFDekcsTUFBTTtRQUNOLE9BQU87UUFDUCxPQUFPO1FBQ1AsV0FBVztRQUNYLE1BQU07UUFDTixRQUFRO1FBQ1IsUUFBUTtLQUNULENBQUM7Q0FDSCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwV2lkZ2V0T3B0aW9ucyB7XG4gIGNlbnRlcj86IG51bWJlcltdO1xuICB6b29tPzoge1xuICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgbWluOiBudW1iZXI7XG4gICAgbWF4OiBudW1iZXI7XG4gIH07XG4gIHN0eWxlOiBzdHJpbmc7XG4gIHN0eWxlVVJMPzogc3RyaW5nO1xuICBsYXllcnM/OiBNYXBXaWRnZXRMYXllck9wdGlvbnNbXTtcbiAgZml0PzogYm9vbGVhbjtcbiAgYXR0cmlidXRpb25zPzogYm9vbGVhbjtcbiAgdG9vbHRpcE1vZGU/OiBUb29sdGlwTW9kZTtcbiAgc2luZ2xlTGF5ZXI/OiBib29sZWFuO1xuICBpZ25vcmVBdXRvTGF5ZXI/OiBzdHJpbmdbXTtcbiAgYXV0b21hdGljTGF5ZXJzPzogYm9vbGVhbjtcbiAgaWdub3JlR2V0Q2FwYWJpbGl0aWVzRXh0ZW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgTWFwV2lkZ2V0TGF5ZXJPcHRpb25zID1cbiAgfCBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zXG4gIHwgTWFwV2lkZ2V0TWFya2VyTGF5ZXJPcHRpb25zXG4gIHwgTWFwV2lkZ2V0QnViYmxlTGF5ZXJPcHRpb25zXG4gIHwgTWFwV2lkZ2V0UmVsYXRpb25MYXllck9wdGlvbnNcbiAgfCBNYXBXTVNMYXllckxheWVyT3B0aW9uc1xuICB8IE1hcEZlYXR1cmVMYXllck9wdGlvbnNcbiAgfCBNYXBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXG4gIHwgTWFwUmFzdGVyVGlsZUxheWVyT3B0aW9uc1xuICB8IE1hcEdlb1NlcnZlckxheWVyT3B0aW9uc1xuICB8IE1hcEF1dG9MYXllck9wdGlvbnNcbiAgfCBNYXBXTVRTTGF5ZXJMYXllck9wdGlvbnNcbiAgfCBNYXBXaWRnZXRHZW9tZXRyeUxheWVyT3B0aW9ucztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogc3RyaW5nO1xuICBhdHRyaWJ1dGlvbj86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1pblpvb20/OiBudW1iZXI7XG4gIG1heFpvb20/OiBudW1iZXI7XG4gIG9wYWNpdHk/OiBudW1iZXI7XG4gIG9yZGVyPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFdpZGdldEhlYXRNYXBMYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ2hlYXRtYXAnO1xuICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgY2xhc3Nlcz86IHN0cmluZ1tdO1xuICBpbnRlbnNpdHlBdHRyaWJ1dGU/OiBzdHJpbmc7XG4gIGludGVuc2l0eUFzYz86IGJvb2xlYW47XG4gIHJhZGl1cz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBXaWRnZXRHZW9tZXRyeUxheWVyT3B0aW9ucyBleHRlbmRzIEJhc2VXaWRnZXRNYXBMYXllck9wdGlvbnMge1xuICB0eXBlOiAncG9pbnQnIHwgJ2xpbmUnIHwgJ3BvbHlnb24nIHwgJ211bHRpLWxpbmUnIHwgJ211bHRpLXBvbHlnb24nO1xuICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgY2xhc3Nlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFdpZGdldE1hcmtlckxheWVyT3B0aW9ucyBleHRlbmRzIEJhc2VXaWRnZXRNYXBMYXllck9wdGlvbnMge1xuICB0eXBlOiAnbWFya2VyJztcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIGNsYXNzZXM/OiBzdHJpbmdbXTtcbiAgY2x1c3RlcmVkPzogYm9vbGVhbjtcbiAgY2x1c3RlckRpc3RhbmNlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFdpZGdldEJ1YmJsZUxheWVyT3B0aW9ucyBleHRlbmRzIEJhc2VXaWRnZXRNYXBMYXllck9wdGlvbnMge1xuICB0eXBlOiAnYnViYmxlJztcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIGludGVuc2l0eUF0dHJpYnV0ZT86IHN0cmluZztcbiAgaW50ZW5zaXR5QXNjPzogYm9vbGVhbjtcbiAgcmFkaXVzRmFjdG9yPzogbnVtYmVyO1xuICByYWRpdXM/OiBudW1iZXI7XG4gIGNsYXNzZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBXaWRnZXRSZWxhdGlvbkxheWVyT3B0aW9ucyBleHRlbmRzIEJhc2VXaWRnZXRNYXBMYXllck9wdGlvbnMge1xuICB0eXBlOiAncmVsYXRpb24nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFdNU0xheWVyTGF5ZXJPcHRpb25zIGV4dGVuZHMgQmFzZVdpZGdldE1hcExheWVyT3B0aW9ucyB7XG4gIHR5cGU6ICd3bXMnO1xuICB1cmw6IHN0cmluZztcbiAgcGFyYW1MYXllcjogc3RyaW5nO1xuICBwYXJhbVRpbGVkOiBib29sZWFuO1xuICBvQ2xhc3M6IHN0cmluZztcbiAgZ2V0RmVhdHVyZUluZm9BZGRpdGlvbmFsUGFyYW1ldGVycz86IGFueTtcbiAgYWRkaXRpb25hbFBhcmFtZXRlcnM/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwV01UU0xheWVyTGF5ZXJPcHRpb25zIGV4dGVuZHMgQmFzZVdpZGdldE1hcExheWVyT3B0aW9ucyB7XG4gIHR5cGU6ICd3bXRzJztcbiAgdXJsOiBzdHJpbmc7XG4gIHBhcmFtTGF5ZXI6IHN0cmluZztcbiAgbWF0cml4U2V0OiBzdHJpbmc7XG4gIHN0eWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwRmVhdHVyZUxheWVyT3B0aW9ucyBleHRlbmRzIEJhc2VXaWRnZXRNYXBMYXllck9wdGlvbnMge1xuICB0eXBlOiAnZmVhdHVyZWxheWVyJztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwVmVjdG9yVGlsZUxheWVyT3B0aW9ucyBleHRlbmRzIEJhc2VXaWRnZXRNYXBMYXllck9wdGlvbnMge1xuICB0eXBlOiAndmVjdG9ydGlsZSc7XG4gIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFJhc3RlclRpbGVMYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ3Jhc3RlcnRpbGUnO1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBHZW9TZXJ2ZXJMYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ2dlb3NlcnZlcic7XG4gIGtleTogc3RyaW5nO1xuICBwYXJhbUxheWVyOiBzdHJpbmc7XG4gIHBhcmFtVGlsZWQ6IGJvb2xlYW47XG4gIHVybDogc3RyaW5nO1xuICBvQ2xhc3M6IHN0cmluZztcbiAgZGF0YXNvdXJjZUlkOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGFkZGl0aW9uYWxQYXJhbWV0ZXJzPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcEF1dG9MYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ2F1dG8nO1xuICBvQ2xhc3M6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIHN1YlR5cGU6IHN0cmluZztcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIGNsYXNzZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGVudW0gVG9vbHRpcE1vZGUge1xuICBDTElDSyA9ICdjbGljaycsXG4gIE5PTkUgPSAnbm9uZSdcbn1cblxuZXhwb3J0IGNvbnN0IHdpZGdldE1hcENvbmZpZyA9IHtcbiAgYWN0aW9ucyQ6IG5ldyBCZWhhdmlvclN1YmplY3Q8KCdjbGljaycgfCAnbGFzc28nIHwgJ3JlY3RhbmdsZScgfCAnem9vbScgfCAnbW92ZScgfCAnZXhwb3J0JyB8ICd1cGxvYWQnKVtdPihbXG4gICAgJ21vdmUnLFxuICAgICdjbGljaycsXG4gICAgJ2xhc3NvJyxcbiAgICAncmVjdGFuZ2xlJyxcbiAgICAnem9vbScsXG4gICAgJ2V4cG9ydCcsXG4gICAgJ3VwbG9hZCdcbiAgXSlcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BST0pFQ1RJT04gPSAnRVBTRzo0MzI2JztcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC1tYW5pZmVzdC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9tb2RlbC93aWRnZXQtbWFwLW1hbmlmZXN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBMEl2QyxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLDhCQUFlLENBQUE7SUFDZiw0QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCO0FBRUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLFFBQVEsRUFBRSxJQUFJLGVBQWUsQ0FBOEU7UUFDekcsTUFBTTtRQUNOLE9BQU87UUFDUCxPQUFPO1FBQ1AsV0FBVztRQUNYLE1BQU07UUFDTixRQUFRO1FBQ1IsUUFBUTtLQUNULENBQUM7Q0FDSCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwV2lkZ2V0T3B0aW9ucyB7XG4gIGNlbnRlcj86IG51bWJlcltdO1xuICB6b29tPzoge1xuICAgIHN0YXJ0OiBudW1iZXI7XG4gICAgbWluOiBudW1iZXI7XG4gICAgbWF4OiBudW1iZXI7XG4gIH07XG4gIHN0eWxlOiBzdHJpbmc7XG4gIHN0eWxlVVJMPzogc3RyaW5nO1xuICBsYXllcnM/OiBNYXBXaWRnZXRMYXllck9wdGlvbnNbXTtcbiAgZml0PzogYm9vbGVhbjtcbiAgYXR0cmlidXRpb25zPzogYm9vbGVhbjtcbiAgdG9vbHRpcE1vZGU/OiBUb29sdGlwTW9kZTtcbiAgc2luZ2xlTGF5ZXI/OiBib29sZWFuO1xuICBpZ25vcmVBdXRvTGF5ZXI/OiBzdHJpbmdbXTtcbiAgYXV0b21hdGljTGF5ZXJzPzogYm9vbGVhbjtcbiAgaWdub3JlR2V0Q2FwYWJpbGl0aWVzRXh0ZW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgTWFwV2lkZ2V0TGF5ZXJPcHRpb25zID1cbiAgfCBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zXG4gIHwgTWFwV2lkZ2V0TWFya2VyTGF5ZXJPcHRpb25zXG4gIHwgTWFwV2lkZ2V0QnViYmxlTGF5ZXJPcHRpb25zXG4gIHwgTWFwV2lkZ2V0UmVsYXRpb25MYXllck9wdGlvbnNcbiAgfCBNYXBXTVNMYXllckxheWVyT3B0aW9uc1xuICB8IE1hcEZlYXR1cmVMYXllck9wdGlvbnNcbiAgfCBNYXBWZWN0b3JUaWxlTGF5ZXJPcHRpb25zXG4gIHwgTWFwUmFzdGVyVGlsZUxheWVyT3B0aW9uc1xuICB8IE1hcEdlb1NlcnZlckxheWVyT3B0aW9uc1xuICB8IE1hcEF1dG9MYXllck9wdGlvbnNcbiAgfCBNYXBXTVRTTGF5ZXJMYXllck9wdGlvbnNcbiAgfCBNYXBXaWRnZXRHZW9tZXRyeUxheWVyT3B0aW9ucztcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogc3RyaW5nO1xuICBhdHRyaWJ1dGlvbj86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1pblpvb20/OiBudW1iZXI7XG4gIG1heFpvb20/OiBudW1iZXI7XG4gIG9wYWNpdHk/OiBudW1iZXI7XG4gIG9yZGVyPzogbnVtYmVyO1xuICBiYWNrZ3JvdW5kPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zIGV4dGVuZHMgQmFzZVdpZGdldE1hcExheWVyT3B0aW9ucyB7XG4gIHR5cGU6ICdoZWF0bWFwJztcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIGNsYXNzZXM/OiBzdHJpbmdbXTtcbiAgaW50ZW5zaXR5QXR0cmlidXRlPzogc3RyaW5nO1xuICBpbnRlbnNpdHlBc2M/OiBib29sZWFuO1xuICByYWRpdXM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwV2lkZ2V0R2VvbWV0cnlMYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ3BvaW50JyB8ICdsaW5lJyB8ICdwb2x5Z29uJyB8ICdtdWx0aS1saW5lJyB8ICdtdWx0aS1wb2x5Z29uJztcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIGNsYXNzZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBXaWRnZXRNYXJrZXJMYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ21hcmtlcic7XG4gIGF0dHJpYnV0ZTogc3RyaW5nO1xuICBjbGFzc2VzPzogc3RyaW5nW107XG4gIGNsdXN0ZXJlZD86IGJvb2xlYW47XG4gIGNsdXN0ZXJEaXN0YW5jZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBXaWRnZXRCdWJibGVMYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ2J1YmJsZSc7XG4gIGF0dHJpYnV0ZTogc3RyaW5nO1xuICBpbnRlbnNpdHlBdHRyaWJ1dGU/OiBzdHJpbmc7XG4gIGludGVuc2l0eUFzYz86IGJvb2xlYW47XG4gIHJhZGl1c0ZhY3Rvcj86IG51bWJlcjtcbiAgcmFkaXVzPzogbnVtYmVyO1xuICBjbGFzc2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwV2lkZ2V0UmVsYXRpb25MYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ3JlbGF0aW9uJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBXTVNMYXllckxheWVyT3B0aW9ucyBleHRlbmRzIEJhc2VXaWRnZXRNYXBMYXllck9wdGlvbnMge1xuICB0eXBlOiAnd21zJztcbiAgdXJsOiBzdHJpbmc7XG4gIHBhcmFtTGF5ZXI6IHN0cmluZztcbiAgcGFyYW1UaWxlZDogYm9vbGVhbjtcbiAgb0NsYXNzOiBzdHJpbmc7XG4gIGdldEZlYXR1cmVJbmZvQWRkaXRpb25hbFBhcmFtZXRlcnM/OiBhbnk7XG4gIGFkZGl0aW9uYWxQYXJhbWV0ZXJzPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFdNVFNMYXllckxheWVyT3B0aW9ucyBleHRlbmRzIEJhc2VXaWRnZXRNYXBMYXllck9wdGlvbnMge1xuICB0eXBlOiAnd210cyc7XG4gIHVybDogc3RyaW5nO1xuICBwYXJhbUxheWVyOiBzdHJpbmc7XG4gIG1hdHJpeFNldDogc3RyaW5nO1xuICBzdHlsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcEZlYXR1cmVMYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ2ZlYXR1cmVsYXllcic7XG4gIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hcFZlY3RvclRpbGVMYXllck9wdGlvbnMgZXh0ZW5kcyBCYXNlV2lkZ2V0TWFwTGF5ZXJPcHRpb25zIHtcbiAgdHlwZTogJ3ZlY3RvcnRpbGUnO1xuICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBSYXN0ZXJUaWxlTGF5ZXJPcHRpb25zIGV4dGVuZHMgQmFzZVdpZGdldE1hcExheWVyT3B0aW9ucyB7XG4gIHR5cGU6ICdyYXN0ZXJ0aWxlJztcbiAgdXJsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwR2VvU2VydmVyTGF5ZXJPcHRpb25zIGV4dGVuZHMgQmFzZVdpZGdldE1hcExheWVyT3B0aW9ucyB7XG4gIHR5cGU6ICdnZW9zZXJ2ZXInO1xuICBrZXk6IHN0cmluZztcbiAgcGFyYW1MYXllcjogc3RyaW5nO1xuICBwYXJhbVRpbGVkOiBib29sZWFuO1xuICB1cmw6IHN0cmluZztcbiAgb0NsYXNzOiBzdHJpbmc7XG4gIGRhdGFzb3VyY2VJZDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBhZGRpdGlvbmFsUGFyYW1ldGVycz86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXBBdXRvTGF5ZXJPcHRpb25zIGV4dGVuZHMgQmFzZVdpZGdldE1hcExheWVyT3B0aW9ucyB7XG4gIHR5cGU6ICdhdXRvJztcbiAgb0NsYXNzOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICBzdWJUeXBlOiBzdHJpbmc7XG4gIGF0dHJpYnV0ZTogc3RyaW5nO1xuICBjbGFzc2VzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBlbnVtIFRvb2x0aXBNb2RlIHtcbiAgQ0xJQ0sgPSAnY2xpY2snLFxuICBOT05FID0gJ25vbmUnXG59XG5cbmV4cG9ydCBjb25zdCB3aWRnZXRNYXBDb25maWcgPSB7XG4gIGFjdGlvbnMkOiBuZXcgQmVoYXZpb3JTdWJqZWN0PCgnY2xpY2snIHwgJ2xhc3NvJyB8ICdyZWN0YW5nbGUnIHwgJ3pvb20nIHwgJ21vdmUnIHwgJ2V4cG9ydCcgfCAndXBsb2FkJylbXT4oW1xuICAgICdtb3ZlJyxcbiAgICAnY2xpY2snLFxuICAgICdsYXNzbycsXG4gICAgJ3JlY3RhbmdsZScsXG4gICAgJ3pvb20nLFxuICAgICdleHBvcnQnLFxuICAgICd1cGxvYWQnXG4gIF0pXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QUk9KRUNUSU9OID0gJ0VQU0c6NDMyNic7XG4iXX0=
@@ -38,7 +38,6 @@ export class PryFrontendAggregationService extends PryAggregationService {
38
38
  if (!!options.ordinate.operation)
39
39
  console.warn('no ordinate operation selected');
40
40
  aggregationResult.values = this.getChartDataBasedOnOperation(items, options.ordinate.operation, abscissa, ordinate, options.abscissa.limit);
41
- console.log(aggregationResult.values);
42
41
  }
43
42
  else {
44
43
  const groupByAttribute = classes
@@ -70,7 +69,6 @@ export class PryFrontendAggregationService extends PryAggregationService {
70
69
  const groupByAbscissa = this.getItemsGroupedByAttributeValue(items, abscissa);
71
70
  let result = [
72
71
  ...Object.keys(groupByAbscissa).map((abscissaAttribute) => {
73
- console.log(AggregationUtils.getAggregatedValue(operation, groupByAbscissa, abscissaAttribute, ordinate ?? ''));
74
72
  return {
75
73
  key: +abscissaAttribute || abscissaAttribute,
76
74
  value: AggregationUtils.getAggregatedValue(operation, groupByAbscissa, abscissaAttribute, ordinate ?? '')
@@ -90,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
90
88
  providedIn: 'root'
91
89
  }]
92
90
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmQtYWdncmVnYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2FnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQVFyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHFCQUFxQjtJQUN0RSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUVoQyxDQUFDO0lBRVEsU0FBUyxDQUFDLFdBQXFCLEVBQUUsT0FBcUM7UUFDN0UsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1NBQzlDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVB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UUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hILE9BQU87b0JBQ0wsR0FBRyxFQUFFLENBQUMsaUJBQWlCLElBQUksaUJBQWlCO29CQUM1QyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLElBQUksRUFBRSxDQUFDO2lCQUMxRyxDQUFDO1lBQ0osQ0FBQyxDQUFDO1NBQ0gsQ0FBQztRQUVGLElBQUksS0FBSztZQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3RSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQW5HVSw2QkFBNkI7a0hBQTdCLDZCQUE2QixjQUY1QixNQUFNOzsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhc2hib2FyZFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uLy4uL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEl0ZW0sIFZhbHVlVHlwZSB9IGZyb20gJy4uLy4uLy4uL21vZGVsL2l0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEF0TGltaXQsXG4gIENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMsXG4gIE9wZXJhdGlvbixcbiAgVGltZUxpbWl0XG59IGZyb20gJy4uLy4uLy4uL21vZGVsL3dpZGdldC1hZ2dyZWdhdGVkLWNoYXJ0LW1hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uL2NsYXNzL2NsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBBZ2dyZWdhdGlvblJlc3VsdCwgUHJ5QWdncmVnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1hZ2dyZWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uVXRpbHMgfSBmcm9tICcuL2FnZ3JlZ2F0aW9uLXV0aWxzLmNsYXNzJztcbmltcG9ydCB7IENsYXNzIH0gZnJvbSAnLi4vLi4vY2xhc3MvY2xhc3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5RnJvbnRlbmRBZ2dyZWdhdGlvblNlcnZpY2UgZXh0ZW5kcyBQcnlBZ2dyZWdhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBvdmVycmlkZSBhZ2dyZWdhdGUoZGF0YXNvdXJjZXM6IHN0cmluZ1tdLCBvcHRpb25zOiBDaGFydEFnZ3JlZ2F0ZWRXaWRnZXRPcHRpb25zKTogT2JzZXJ2YWJsZTxBZ2dyZWdhdGlvblJlc3VsdD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5yZXN1bHRTZXRzKSxcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzZXMpLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmZpbHRlcnMpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW3Jlc3VsdFNldHMsIGNsYXNzZXMsIGZpbHRlcnNdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdFNldCA9IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0Q2hhcnREYXRhc291cmNlUmVzdWx0U2V0KGRhdGFzb3VyY2VzLCByZXN1bHRTZXRzKTtcbiAgICAgICAgbGV0IGl0ZW1zOiBJdGVtW10gPSBPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpXG4gICAgICAgICAgLm1hcCgoY2xhc3NJZCkgPT4gcmVzdWx0U2V0Lml0ZW1zW2NsYXNzSWRdKVxuICAgICAgICAgIC5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IFsuLi5wcmV2LCAuLi5jdXJyXSwgW10pIGFzIEl0ZW1bXTtcbiAgICAgICAgaXRlbXMgPSBBZ2dyZWdhdGlvblV0aWxzLmZpbHRlckl0ZW1zKGl0ZW1zLCBmaWx0ZXJzKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWdncmVnYXRpb25SZXN1bHQob3B0aW9ucywgY2xhc3NlcywgaXRlbXMpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QWdncmVnYXRpb25SZXN1bHQob3B0aW9uczogQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucywgY2xhc3NlczogQ2xhc3NbXSwgaXRlbXM6IEl0ZW1bXSk6IEFnZ3JlZ2F0aW9uUmVzdWx0IHtcbiAgICBjb25zdCBbYWJzY2lzc2EsIG9yZGluYXRlXSA9IFtcbiAgICAgIEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0QXhpc0F0dHJpYnV0ZShjbGFzc2VzLCBvcHRpb25zLCAnYWJzY2lzc2EnKSA/PyAnJyxcbiAgICAgIEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0QXhpc0F0dHJpYnV0ZShjbGFzc2VzLCBvcHRpb25zLCAnb3JkaW5hdGUnKSA/PyAnJ1xuICAgIF07XG5cbiAgICBjb25zdCBhZ2dyZWdhdGlvblJlc3VsdDogQWdncmVnYXRpb25SZXN1bHQgPSB7XG4gICAgICBvcGVyYXRpb246IG9wdGlvbnMub3JkaW5hdGUub3BlcmF0aW9uLFxuICAgICAgdmFsdWVzOiBbXVxuICAgIH07XG5cbiAgICBpZiAoIW9wdGlvbnMuZ3JvdXBCeSkge1xuICAgICAgaWYgKCEhb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24pIGNvbnNvbGUud2Fybignbm8gb3JkaW5hdGUgb3BlcmF0aW9uIHNlbGVjdGVkJyk7XG4gICAgICBhZ2dyZWdhdGlvblJlc3VsdC52YWx1ZXMgPSB0aGlzLmdldENoYXJ0RGF0YUJhc2VkT25PcGVyYXRpb24oXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbixcbiAgICAgICAgYWJzY2lzc2EsXG4gICAgICAgIG9yZGluYXRlLFxuICAgICAgICBvcHRpb25zLmFic2Npc3NhLmxpbWl0XG4gICAgICApO1xuICAgICAgY29uc29sZS5sb2coYWdncmVnYXRpb25SZXN1bHQudmFsdWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZ3JvdXBCeUF0dHJpYnV0ZSA9XG4gICAgICAgIGNsYXNzZXNcbiAgICAgICAgICAubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcy5maW5kKChhdHRyKSA9PiBhdHRyLmlkID09PSBvcHRpb25zLmdyb3VwQnk/LmF0dHJpYnV0ZSkpXG4gICAgICAgICAgLmZpbmQoKGF0dHIpID0+ICEhYXR0cik/Lm5hbWUgPz8gJyc7XG4gICAgICBjb25zdCBpdGVtc0dyb3VwZWQ6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogSXRlbVtdIH0gPSB0aGlzLmdldEl0ZW1zR3JvdXBlZEJ5QXR0cmlidXRlVmFsdWUoXG4gICAgICAgIGl0ZW1zLFxuICAgICAgICBncm91cEJ5QXR0cmlidXRlXG4gICAgICApO1xuXG4gICAgICBhZ2dyZWdhdGlvblJlc3VsdC52YWx1ZXMgPSBPYmplY3Qua2V5cyhpdGVtc0dyb3VwZWQpLm1hcCgoa2V5KSA9PiAoe1xuICAgICAgICBrZXksXG4gICAgICAgIGdyb3VwQnk6IHRoaXMuZ2V0Q2hhcnREYXRhQmFzZWRPbk9wZXJhdGlvbihcbiAgICAgICAgICBpdGVtc0dyb3VwZWRba2V5XSxcbiAgICAgICAgICBvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbixcbiAgICAgICAgICBhYnNjaXNzYSxcbiAgICAgICAgICBvcmRpbmF0ZSxcbiAgICAgICAgICBvcHRpb25zLmFic2Npc3NhLmxpbWl0XG4gICAgICAgIClcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGFnZ3JlZ2F0aW9uUmVzdWx0O1xuICB9XG5cbiAgZ2V0SXRlbXNHcm91cGVkQnlBdHRyaWJ1dGVWYWx1ZShpdGVtczogSXRlbVtdLCBhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogSXRlbVtdIH0ge1xuICAgIGlmIChhdHRyaWJ1dGUgPT09ICcnKSBjb25zb2xlLndhcm4oJ2dyb3VwQnkgYXR0cmlidXRlIG5vdCBmb3VuZCcpO1xuICAgIGxldCBkaXN0aW5jdFZhbHVlczogeyBba2V5OiBzdHJpbmcgfCBudW1iZXJdOiBJdGVtW10gfSA9IHt9O1xuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW06IEl0ZW0pID0+IHtcbiAgICAgIGxldCB2YWx1ZSA9IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0VmFsdWVGcm9tQXR0cmlidXRlKGl0ZW0sIGF0dHJpYnV0ZSk/LnZhbHVlIGFzIHN0cmluZyB8IG51bWJlcjtcbiAgICAgIGlmICghIXZhbHVlKSBkaXN0aW5jdFZhbHVlc1t2YWx1ZV0gPSBbLi4uKGRpc3RpbmN0VmFsdWVzW3ZhbHVlXSA/PyBbXSksIGl0ZW1dO1xuICAgIH0pO1xuICAgIHJldHVybiBkaXN0aW5jdFZhbHVlcztcbiAgfVxuXG4gIC8vIGdldCB7IGtleSwgdmFsdWUgfSBvYmplY3QgbGlzdCB0aGF0IHdpbGwgYmUgb3VyIGRhdGEgdG8gc2hvdyBpbiB0aGUgY2hhcnRcbiAgZ2V0Q2hhcnREYXRhQmFzZWRPbk9wZXJhdGlvbihcbiAgICBpdGVtczogSXRlbVtdLFxuICAgIG9wZXJhdGlvbjogT3BlcmF0aW9uLFxuICAgIGFic2Npc3NhOiBzdHJpbmcsXG4gICAgb3JkaW5hdGU6IHN0cmluZyxcbiAgICBsaW1pdD86IEF0TGltaXQgfCBUaW1lTGltaXRcbiAgKTogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10ge1xuICAgIGlmIChhYnNjaXNzYSA9PT0gJycgfHwgb3JkaW5hdGUgPT09ICcnKSBjb25zb2xlLndhcm4oJ2Fic2Npc3NhIG9yIG9yZGluYXRlIGF0dHJpYnV0ZSBub3QgZm91bmQnKTtcbiAgICBjb25zdCBncm91cEJ5QWJzY2lzc2EgPSB0aGlzLmdldEl0ZW1zR3JvdXBlZEJ5QXR0cmlidXRlVmFsdWUoaXRlbXMsIGFic2Npc3NhKTtcbiAgICBsZXQgcmVzdWx0OiB7IGtleTogVmFsdWVUeXBlOyB2YWx1ZTogVmFsdWVUeXBlIH1bXSA9IFtcbiAgICAgIC4uLk9iamVjdC5rZXlzKGdyb3VwQnlBYnNjaXNzYSkubWFwKChhYnNjaXNzYUF0dHJpYnV0ZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhBZ2dyZWdhdGlvblV0aWxzLmdldEFnZ3JlZ2F0ZWRWYWx1ZShvcGVyYXRpb24sIGdyb3VwQnlBYnNjaXNzYSwgYWJzY2lzc2FBdHRyaWJ1dGUsIG9yZGluYXRlID8/ICcnKSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiArYWJzY2lzc2FBdHRyaWJ1dGUgfHwgYWJzY2lzc2FBdHRyaWJ1dGUsXG4gICAgICAgICAgdmFsdWU6IEFnZ3JlZ2F0aW9uVXRpbHMuZ2V0QWdncmVnYXRlZFZhbHVlKG9wZXJhdGlvbiwgZ3JvdXBCeUFic2Npc3NhLCBhYnNjaXNzYUF0dHJpYnV0ZSwgb3JkaW5hdGUgPz8gJycpXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgIF07XG5cbiAgICBpZiAobGltaXQpIHJlc3VsdCA9IEFnZ3JlZ2F0aW9uVXRpbHMuZm9ybWF0QnlMaW1pdChyZXN1bHQsIGxpbWl0LCBvcGVyYXRpb24pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbnRlbmQtYWdncmVnYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2FnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uL2Zyb250ZW5kLWFnZ3JlZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQVFyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLDZCQUE4QixTQUFRLHFCQUFxQjtJQUN0RSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUVoQyxDQUFDO0lBRVEsU0FBUyxDQUFDLFdBQXFCLEVBQUUsT0FBcUM7UUFDN0UsT0FBTyxhQUFhLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7WUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1NBQzlDLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVB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QUFFLENBQUM7aUJBQzFHLENBQUM7WUFDSixDQUFDLENBQUM7U0FDSCxDQUFDO1FBRUYsSUFBSSxLQUFLO1lBQUUsTUFBTSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzdFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBakdVLDZCQUE2QjtrSEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07OzJGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgSXRlbSwgVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgQXRMaW1pdCxcbiAgQ2hhcnRBZ2dyZWdhdGVkV2lkZ2V0T3B0aW9ucyxcbiAgT3BlcmF0aW9uLFxuICBUaW1lTGltaXRcbn0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvd2lkZ2V0LWFnZ3JlZ2F0ZWQtY2hhcnQtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsYXNzU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vY2xhc3MvY2xhc3Muc2VsZWN0b3JzJztcbmltcG9ydCB7IEFnZ3JlZ2F0aW9uUmVzdWx0LCBQcnlBZ2dyZWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9iYXNlLWFnZ3JlZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWdncmVnYXRpb25VdGlscyB9IGZyb20gJy4vYWdncmVnYXRpb24tdXRpbHMuY2xhc3MnO1xuaW1wb3J0IHsgQ2xhc3MgfSBmcm9tICcuLi8uLi9jbGFzcy9jbGFzcy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBQcnlGcm9udGVuZEFnZ3JlZ2F0aW9uU2VydmljZSBleHRlbmRzIFByeUFnZ3JlZ2F0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFnZ3JlZ2F0ZShkYXRhc291cmNlczogc3RyaW5nW10sIG9wdGlvbnM6IENoYXJ0QWdncmVnYXRlZFdpZGdldE9wdGlvbnMpOiBPYnNlcnZhYmxlPEFnZ3JlZ2F0aW9uUmVzdWx0PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLnJlc3VsdFNldHMpLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ2xhc3NTZWxlY3RvcnMuY2xhc3NlcyksXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZmlsdGVycylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbcmVzdWx0U2V0cywgY2xhc3NlcywgZmlsdGVyc10pID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0U2V0ID0gQWdncmVnYXRpb25VdGlscy5nZXRDaGFydERhdGFzb3VyY2VSZXN1bHRTZXQoZGF0YXNvdXJjZXMsIHJlc3VsdFNldHMpO1xuICAgICAgICBsZXQgaXRlbXM6IEl0ZW1bXSA9IE9iamVjdC5rZXlzKHJlc3VsdFNldC5pdGVtcylcbiAgICAgICAgICAubWFwKChjbGFzc0lkKSA9PiByZXN1bHRTZXQuaXRlbXNbY2xhc3NJZF0pXG4gICAgICAgICAgLnJlZHVjZSgocHJldiwgY3VycikgPT4gWy4uLnByZXYsIC4uLmN1cnJdLCBbXSkgYXMgSXRlbVtdO1xuICAgICAgICBpdGVtcyA9IEFnZ3JlZ2F0aW9uVXRpbHMuZmlsdGVySXRlbXMoaXRlbXMsIGZpbHRlcnMpO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBZ2dyZWdhdGlvblJlc3VsdChvcHRpb25zLCBjbGFzc2VzLCBpdGVtcyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRBZ2dyZWdhdGlvblJlc3VsdChvcHRpb25zOiBDaGFydEFnZ3JlZ2F0ZWRXaWRnZXRPcHRpb25zLCBjbGFzc2VzOiBDbGFzc1tdLCBpdGVtczogSXRlbVtdKTogQWdncmVnYXRpb25SZXN1bHQge1xuICAgIGNvbnN0IFthYnNjaXNzYSwgb3JkaW5hdGVdID0gW1xuICAgICAgQWdncmVnYXRpb25VdGlscy5nZXRBeGlzQXR0cmlidXRlKGNsYXNzZXMsIG9wdGlvbnMsICdhYnNjaXNzYScpID8/ICcnLFxuICAgICAgQWdncmVnYXRpb25VdGlscy5nZXRBeGlzQXR0cmlidXRlKGNsYXNzZXMsIG9wdGlvbnMsICdvcmRpbmF0ZScpID8/ICcnXG4gICAgXTtcblxuICAgIGNvbnN0IGFnZ3JlZ2F0aW9uUmVzdWx0OiBBZ2dyZWdhdGlvblJlc3VsdCA9IHtcbiAgICAgIG9wZXJhdGlvbjogb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24sXG4gICAgICB2YWx1ZXM6IFtdXG4gICAgfTtcblxuICAgIGlmICghb3B0aW9ucy5ncm91cEJ5KSB7XG4gICAgICBpZiAoISFvcHRpb25zLm9yZGluYXRlLm9wZXJhdGlvbikgY29uc29sZS53YXJuKCdubyBvcmRpbmF0ZSBvcGVyYXRpb24gc2VsZWN0ZWQnKTtcbiAgICAgIGFnZ3JlZ2F0aW9uUmVzdWx0LnZhbHVlcyA9IHRoaXMuZ2V0Q2hhcnREYXRhQmFzZWRPbk9wZXJhdGlvbihcbiAgICAgICAgaXRlbXMsXG4gICAgICAgIG9wdGlvbnMub3JkaW5hdGUub3BlcmF0aW9uLFxuICAgICAgICBhYnNjaXNzYSxcbiAgICAgICAgb3JkaW5hdGUsXG4gICAgICAgIG9wdGlvbnMuYWJzY2lzc2EubGltaXRcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGdyb3VwQnlBdHRyaWJ1dGUgPVxuICAgICAgICBjbGFzc2VzXG4gICAgICAgICAgLm1hcCgoY2xhenopID0+IGNsYXp6LmF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci5pZCA9PT0gb3B0aW9ucy5ncm91cEJ5Py5hdHRyaWJ1dGUpKVxuICAgICAgICAgIC5maW5kKChhdHRyKSA9PiAhIWF0dHIpPy5uYW1lID8/ICcnO1xuICAgICAgY29uc3QgaXRlbXNHcm91cGVkOiB7IFtrZXk6IHN0cmluZyB8IG51bWJlcl06IEl0ZW1bXSB9ID0gdGhpcy5nZXRJdGVtc0dyb3VwZWRCeUF0dHJpYnV0ZVZhbHVlKFxuICAgICAgICBpdGVtcyxcbiAgICAgICAgZ3JvdXBCeUF0dHJpYnV0ZVxuICAgICAgKTtcblxuICAgICAgYWdncmVnYXRpb25SZXN1bHQudmFsdWVzID0gT2JqZWN0LmtleXMoaXRlbXNHcm91cGVkKS5tYXAoKGtleSkgPT4gKHtcbiAgICAgICAga2V5LFxuICAgICAgICBncm91cEJ5OiB0aGlzLmdldENoYXJ0RGF0YUJhc2VkT25PcGVyYXRpb24oXG4gICAgICAgICAgaXRlbXNHcm91cGVkW2tleV0sXG4gICAgICAgICAgb3B0aW9ucy5vcmRpbmF0ZS5vcGVyYXRpb24sXG4gICAgICAgICAgYWJzY2lzc2EsXG4gICAgICAgICAgb3JkaW5hdGUsXG4gICAgICAgICAgb3B0aW9ucy5hYnNjaXNzYS5saW1pdFxuICAgICAgICApXG4gICAgICB9KSk7XG4gICAgfVxuICAgIHJldHVybiBhZ2dyZWdhdGlvblJlc3VsdDtcbiAgfVxuXG4gIGdldEl0ZW1zR3JvdXBlZEJ5QXR0cmlidXRlVmFsdWUoaXRlbXM6IEl0ZW1bXSwgYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZyB8IG51bWJlcl06IEl0ZW1bXSB9IHtcbiAgICBpZiAoYXR0cmlidXRlID09PSAnJykgY29uc29sZS53YXJuKCdncm91cEJ5IGF0dHJpYnV0ZSBub3QgZm91bmQnKTtcbiAgICBsZXQgZGlzdGluY3RWYWx1ZXM6IHsgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogSXRlbVtdIH0gPSB7fTtcbiAgICBpdGVtcy5mb3JFYWNoKChpdGVtOiBJdGVtKSA9PiB7XG4gICAgICBsZXQgdmFsdWUgPSBBZ2dyZWdhdGlvblV0aWxzLmdldFZhbHVlRnJvbUF0dHJpYnV0ZShpdGVtLCBhdHRyaWJ1dGUpPy52YWx1ZSBhcyBzdHJpbmcgfCBudW1iZXI7XG4gICAgICBpZiAoISF2YWx1ZSkgZGlzdGluY3RWYWx1ZXNbdmFsdWVdID0gWy4uLihkaXN0aW5jdFZhbHVlc1t2YWx1ZV0gPz8gW10pLCBpdGVtXTtcbiAgICB9KTtcbiAgICByZXR1cm4gZGlzdGluY3RWYWx1ZXM7XG4gIH1cblxuICAvLyBnZXQgeyBrZXksIHZhbHVlIH0gb2JqZWN0IGxpc3QgdGhhdCB3aWxsIGJlIG91ciBkYXRhIHRvIHNob3cgaW4gdGhlIGNoYXJ0XG4gIGdldENoYXJ0RGF0YUJhc2VkT25PcGVyYXRpb24oXG4gICAgaXRlbXM6IEl0ZW1bXSxcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvbixcbiAgICBhYnNjaXNzYTogc3RyaW5nLFxuICAgIG9yZGluYXRlOiBzdHJpbmcsXG4gICAgbGltaXQ/OiBBdExpbWl0IHwgVGltZUxpbWl0XG4gICk6IHsga2V5OiBWYWx1ZVR5cGU7IHZhbHVlOiBWYWx1ZVR5cGUgfVtdIHtcbiAgICBpZiAoYWJzY2lzc2EgPT09ICcnIHx8IG9yZGluYXRlID09PSAnJykgY29uc29sZS53YXJuKCdhYnNjaXNzYSBvciBvcmRpbmF0ZSBhdHRyaWJ1dGUgbm90IGZvdW5kJyk7XG4gICAgY29uc3QgZ3JvdXBCeUFic2Npc3NhID0gdGhpcy5nZXRJdGVtc0dyb3VwZWRCeUF0dHJpYnV0ZVZhbHVlKGl0ZW1zLCBhYnNjaXNzYSk7XG4gICAgbGV0IHJlc3VsdDogeyBrZXk6IFZhbHVlVHlwZTsgdmFsdWU6IFZhbHVlVHlwZSB9W10gPSBbXG4gICAgICAuLi5PYmplY3Qua2V5cyhncm91cEJ5QWJzY2lzc2EpLm1hcCgoYWJzY2lzc2FBdHRyaWJ1dGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXk6ICthYnNjaXNzYUF0dHJpYnV0ZSB8fCBhYnNjaXNzYUF0dHJpYnV0ZSxcbiAgICAgICAgICB2YWx1ZTogQWdncmVnYXRpb25VdGlscy5nZXRBZ2dyZWdhdGVkVmFsdWUob3BlcmF0aW9uLCBncm91cEJ5QWJzY2lzc2EsIGFic2Npc3NhQXR0cmlidXRlLCBvcmRpbmF0ZSA/PyAnJylcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgXTtcblxuICAgIGlmIChsaW1pdCkgcmVzdWx0ID0gQWdncmVnYXRpb25VdGlscy5mb3JtYXRCeUxpbWl0KHJlc3VsdCwgbGltaXQsIG9wZXJhdGlvbik7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19