ngx-vector-components 4.41.1 → 4.42.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.42.1] (27/10/2022)
4
+
5
+ ### Bugfix
6
+
7
+ - Added fixed `vector-checkbox-field` error validation
8
+
9
+ ## [4.42.0] (26/10/2022)
10
+
11
+ ### Feature
12
+
13
+ - Adding `columns expansible` in data-table.
14
+
3
15
  ## [4.41.1] (19/10/2022)
4
16
 
5
17
  ### Bugfix
@@ -18,10 +18,10 @@ export class CheckboxFieldComponent {
18
18
  ngOnInit() { }
19
19
  }
20
20
  CheckboxFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- CheckboxFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CheckboxFieldComponent, selector: "vector-checkbox-field", inputs: { isRequired: "isRequired", control: "control", label: "label", rounded: "rounded", labelSize: "labelSize", value: "value", groupName: "groupName", options: "options", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"checkbox-container flex-wrap\">\r\n <ng-container *ngIf=\"control && groupName\">\r\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\r\n <p-checkbox\r\n [name]=\"groupName\"\r\n [formControl]=\"control\"\r\n [value]=\"option\"\r\n checkboxIcon=\"fas fa-check\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [inputId]=\"option.code\"\r\n ></p-checkbox>\r\n <label [for]=\"option.code\"> {{ option.name }}</label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control && !groupName\">\r\n <p-checkbox\r\n *ngIf=\"control\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n </ng-container>\r\n</div>\r\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}.checkbox-container .checkbox-item{min-width:80px}\n"], components: [{ type: i1.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
21
+ CheckboxFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CheckboxFieldComponent, selector: "vector-checkbox-field", inputs: { isRequired: "isRequired", control: "control", label: "label", rounded: "rounded", labelSize: "labelSize", value: "value", groupName: "groupName", options: "options", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"checkbox-container flex-wrap\">\r\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\r\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\r\n <p-checkbox\r\n [name]=\"groupName\"\r\n [formControl]=\"control\"\r\n [value]=\"option\"\r\n checkboxIcon=\"fas fa-check\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [inputId]=\"option.code\"\r\n ></p-checkbox>\r\n <label [for]=\"option.code\"> {{ option.name }}</label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #elseBlock>\r\n <p-checkbox\r\n *ngIf=\"control && !groupName\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control && !groupName\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n </ng-template>\r\n</div>\r\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}.checkbox-container .checkbox-item{min-width:80px}\n"], components: [{ type: i1.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "trueValue", "falseValue"], outputs: ["onChange"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
23
23
  type: Component,
24
- args: [{ selector: 'vector-checkbox-field', template: "<div class=\"checkbox-container flex-wrap\">\r\n <ng-container *ngIf=\"control && groupName\">\r\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\r\n <p-checkbox\r\n [name]=\"groupName\"\r\n [formControl]=\"control\"\r\n [value]=\"option\"\r\n checkboxIcon=\"fas fa-check\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [inputId]=\"option.code\"\r\n ></p-checkbox>\r\n <label [for]=\"option.code\"> {{ option.name }}</label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"control && !groupName\">\r\n <p-checkbox\r\n *ngIf=\"control\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n </ng-container>\r\n</div>\r\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}.checkbox-container .checkbox-item{min-width:80px}\n"] }]
24
+ args: [{ selector: 'vector-checkbox-field', template: "<div class=\"checkbox-container flex-wrap\">\r\n <ng-container *ngIf=\"control && groupName; else elseBlock\">\r\n <div class=\"checkbox-item mb-3 mr-3\" *ngFor=\"let option of options\">\r\n <p-checkbox\r\n [name]=\"groupName\"\r\n [formControl]=\"control\"\r\n [value]=\"option\"\r\n checkboxIcon=\"fas fa-check\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [inputId]=\"option.code\"\r\n ></p-checkbox>\r\n <label [for]=\"option.code\"> {{ option.name }}</label>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-template #elseBlock>\r\n <p-checkbox\r\n *ngIf=\"control && !groupName\"\r\n [formControl]=\"control\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n ></p-checkbox>\r\n <p-checkbox\r\n *ngIf=\"!control && !groupName\"\r\n [ngModel]=\"value\"\r\n (ngModelChange)=\"value = $event; valueChange.emit($event)\"\r\n checkboxIcon=\"fas fa-check\"\r\n [binary]=\"true\"\r\n [class.rounded-checkbox]=\"rounded\"\r\n [disabled]=\"disabled\"\r\n ></p-checkbox>\r\n <label *ngIf=\"label\" [class.large-label]=\"labelSize === 'large'\" (click)=\"control.setValue(!control.value)\"\r\n >{{ label }}\r\n <span class=\"red-label\" *ngIf=\"isRequired\"> (*)</span>\r\n </label>\r\n </ng-template>\r\n</div>\r\n", styles: [".checkbox-container{display:flex;align-items:center}.checkbox-container label{margin-left:10px}.checkbox-container .large-label{font-size:1em}.checkbox-container .checkbox-item{min-width:80px}\n"] }]
25
25
  }], ctorParameters: function () { return []; }, propDecorators: { isRequired: [{
26
26
  type: Input
27
27
  }], control: [{
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
43
43
  }], valueChange: [{
44
44
  type: Output
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2hlY2tib3gtZmllbGQvY2hlY2tib3gtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2hlY2tib3gtZmllbGQvY2hlY2tib3gtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRL0UsTUFBTSxPQUFPLHNCQUFzQjtJQXFCakM7UUFuQk8sZUFBVSxHQUFZLEtBQUssQ0FBQztRQUk1QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsY0FBUyxHQUF3QixTQUFTLENBQUM7UUFFM0MsVUFBSyxHQUF3QixLQUFLLENBQUM7UUFFbkMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2QixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUVsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOzttSEF2QkYsc0JBQXNCO3VHQUF0QixzQkFBc0IsOFNDUm5DLGkzQ0FzQ0E7MkZEOUJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSx1QkFBdUI7MEVBTTFCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1jaGVja2JveC1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm91bmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZTogJ2RlZmF1bHQnIHwgJ2xhcmdlJyA9ICdkZWZhdWx0JztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdyb3VwTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3B0aW9uczogTGlzdEl0ZW1bXSB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXIgZmxleC13cmFwXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wgJiYgZ3JvdXBOYW1lXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2hlY2tib3gtaXRlbSBtYi0zIG1yLTNcIiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cclxuICAgICAgPHAtY2hlY2tib3hcclxuICAgICAgICBbbmFtZV09XCJncm91cE5hbWVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcclxuICAgICAgICBjaGVja2JveEljb249XCJmYXMgZmEtY2hlY2tcIlxyXG4gICAgICAgIFtjbGFzcy5yb3VuZGVkLWNoZWNrYm94XT1cInJvdW5kZWRcIlxyXG4gICAgICAgIFtpbnB1dElkXT1cIm9wdGlvbi5jb2RlXCJcclxuICAgICAgPjwvcC1jaGVja2JveD5cclxuICAgICAgPGxhYmVsIFtmb3JdPVwib3B0aW9uLmNvZGVcIj4ge3sgb3B0aW9uLm5hbWUgfX08L2xhYmVsPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250cm9sICYmICFncm91cE5hbWVcIj5cclxuICAgIDxwLWNoZWNrYm94XHJcbiAgICAgICpuZ0lmPVwiY29udHJvbFwiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgY2hlY2tib3hJY29uPVwiZmFzIGZhLWNoZWNrXCJcclxuICAgICAgW2JpbmFyeV09XCJ0cnVlXCJcclxuICAgICAgW2NsYXNzLnJvdW5kZWQtY2hlY2tib3hdPVwicm91bmRlZFwiXHJcbiAgICA+PC9wLWNoZWNrYm94PlxyXG4gICAgPHAtY2hlY2tib3hcclxuICAgICAgKm5nSWY9XCIhY29udHJvbFwiXHJcbiAgICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWUgPSAkZXZlbnQ7IHZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIGNoZWNrYm94SWNvbj1cImZhcyBmYS1jaGVja1wiXHJcbiAgICAgIFtiaW5hcnldPVwidHJ1ZVwiXHJcbiAgICAgIFtjbGFzcy5yb3VuZGVkLWNoZWNrYm94XT1cInJvdW5kZWRcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgPjwvcC1jaGVja2JveD5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW2NsYXNzLmxhcmdlLWxhYmVsXT1cImxhYmVsU2l6ZSA9PT0gJ2xhcmdlJ1wiIChjbGljayk9XCJjb250cm9sLnNldFZhbHVlKCFjb250cm9sLnZhbHVlKVwiXHJcbiAgICAgID57eyBsYWJlbCB9fVxyXG4gICAgICA8c3BhbiBjbGFzcz1cInJlZC1sYWJlbFwiICpuZ0lmPVwiaXNSZXF1aXJlZFwiPiAoKik8L3NwYW4+XHJcbiAgICA8L2xhYmVsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2hlY2tib3gtZmllbGQvY2hlY2tib3gtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY2hlY2tib3gtZmllbGQvY2hlY2tib3gtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRL0UsTUFBTSxPQUFPLHNCQUFzQjtJQXFCakM7UUFuQk8sZUFBVSxHQUFZLEtBQUssQ0FBQztRQUk1QixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRW5CLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIsY0FBUyxHQUF3QixTQUFTLENBQUM7UUFFM0MsVUFBSyxHQUF3QixLQUFLLENBQUM7UUFFbkMsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUV2QixZQUFPLEdBQXNCLElBQUksQ0FBQztRQUVsQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUNsQyxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDOzttSEF2QkYsc0JBQXNCO3VHQUF0QixzQkFBc0IsOFNDUm5DLHM0Q0FzQ0E7MkZEOUJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSx1QkFBdUI7MEVBTTFCLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxTQUFTO3NCQURmLEtBQUs7Z0JBR0MsT0FBTztzQkFEYixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxXQUFXO3NCQURqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1jaGVja2JveC1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jaGVja2JveC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbnRyb2w6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcm91bmRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsU2l6ZTogJ2RlZmF1bHQnIHwgJ2xhcmdlJyA9ICdkZWZhdWx0JztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdyb3VwTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3B0aW9uczogTGlzdEl0ZW1bXSB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjaGVja2JveC1jb250YWluZXIgZmxleC13cmFwXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRyb2wgJiYgZ3JvdXBOYW1lOyBlbHNlIGVsc2VCbG9ja1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNoZWNrYm94LWl0ZW0gbWItMyBtci0zXCIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XHJcbiAgICAgIDxwLWNoZWNrYm94XHJcbiAgICAgICAgW25hbWVdPVwiZ3JvdXBOYW1lXCJcclxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiXHJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXHJcbiAgICAgICAgY2hlY2tib3hJY29uPVwiZmFzIGZhLWNoZWNrXCJcclxuICAgICAgICBbY2xhc3Mucm91bmRlZC1jaGVja2JveF09XCJyb3VuZGVkXCJcclxuICAgICAgICBbaW5wdXRJZF09XCJvcHRpb24uY29kZVwiXHJcbiAgICAgID48L3AtY2hlY2tib3g+XHJcbiAgICAgIDxsYWJlbCBbZm9yXT1cIm9wdGlvbi5jb2RlXCI+IHt7IG9wdGlvbi5uYW1lIH19PC9sYWJlbD5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2Vsc2VCbG9jaz5cclxuICAgIDxwLWNoZWNrYm94XHJcbiAgICAgICpuZ0lmPVwiY29udHJvbCAmJiAhZ3JvdXBOYW1lXCJcclxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxyXG4gICAgICBjaGVja2JveEljb249XCJmYXMgZmEtY2hlY2tcIlxyXG4gICAgICBbYmluYXJ5XT1cInRydWVcIlxyXG4gICAgICBbY2xhc3Mucm91bmRlZC1jaGVja2JveF09XCJyb3VuZGVkXCJcclxuICAgID48L3AtY2hlY2tib3g+XHJcbiAgICA8cC1jaGVja2JveFxyXG4gICAgICAqbmdJZj1cIiFjb250cm9sICYmICFncm91cE5hbWVcIlxyXG4gICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlID0gJGV2ZW50OyB2YWx1ZUNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICBjaGVja2JveEljb249XCJmYXMgZmEtY2hlY2tcIlxyXG4gICAgICBbYmluYXJ5XT1cInRydWVcIlxyXG4gICAgICBbY2xhc3Mucm91bmRlZC1jaGVja2JveF09XCJyb3VuZGVkXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgID48L3AtY2hlY2tib3g+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtjbGFzcy5sYXJnZS1sYWJlbF09XCJsYWJlbFNpemUgPT09ICdsYXJnZSdcIiAoY2xpY2spPVwiY29udHJvbC5zZXRWYWx1ZSghY29udHJvbC52YWx1ZSlcIlxyXG4gICAgICA+e3sgbGFiZWwgfX1cclxuICAgICAgPHNwYW4gY2xhc3M9XCJyZWQtbGFiZWxcIiAqbmdJZj1cImlzUmVxdWlyZWRcIj4gKCopPC9zcGFuPlxyXG4gICAgPC9sYWJlbD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj5cclxuIl19
@@ -31,6 +31,8 @@ export class DataTableComponent {
31
31
  this.virtualPagination = false;
32
32
  this.addItemButtonPlusSign = false;
33
33
  this.hasActions = true;
34
+ this.hasExpandableIcon = false;
35
+ this.addNameColumnExpand = '';
34
36
  this.expandable = false;
35
37
  this.selectionType = null;
36
38
  this.onLazyLoad = new EventEmitter();
@@ -253,10 +255,10 @@ export class DataTableComponent {
253
255
  }
254
256
  }
255
257
  DataTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
256
- DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DataTableComponent, selector: "vector-data-table", inputs: { columns: "columns", data: "data", exportExcel: "exportExcel", exportPDF: "exportPDF", totalRecords: "totalRecords", disabledHeadercheckbox: "disabledHeadercheckbox", filters: "filters", addItemLabel: "addItemLabel", pagination: "pagination", virtualPagination: "virtualPagination", tabs: "tabs", customButtons: "customButtons", addItemButtonPlusSign: "addItemButtonPlusSign", hasActions: "hasActions", expandable: "expandable", expansionTemplate: "expansionTemplate", selectionMode: "selectionMode", selectionType: "selectionType", height: "height" }, outputs: { onLazyLoad: "onLazyLoad", onFilter: "onFilter", onAdd: "onAdd", onExportExcel: "onExportExcel", onExportPDF: "onExportPDF", onSelectedRows: "onSelectedRows", onFilterChanged: "onFilterChanged" }, viewQueries: [{ propertyName: "filtersComponent", first: true, predicate: FiltersComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters\r\n [fields]=\"filters\"\r\n (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"\r\n (formBuilded)=\"subscribeToFilterChanges()\"\r\n ></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel || exportExcel || exportPDF\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n *ngFor=\"let button of customButtons\"\r\n class=\"add-item-button\"\r\n [label]=\"button.label\"\r\n (click)=\"button.clickFunction()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n <vector-button\r\n *ngIf=\"addItemLabel\"\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n dataKey=\"id\"\r\n [scrollHeight]=\"height\"\r\n [attr.selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selectedItems\"\r\n (onRowSelect)=\"changeSelectedItems($event)\"\r\n (onHeaderCheckboxToggle)=\"changeSelectedItems($event)\"\r\n (onRowUnselect)=\"changeSelectedItems($event)\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 3rem\" *ngIf=\"selectionType === 'checkbox'\">\r\n <p-tableHeaderCheckbox [disabled]=\"disabledHeadercheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n <th style=\"max-width: 100px\" class=\"centered\" *ngIf=\"hasActions\">A\u00E7\u00F5es</th>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n [pSortableColumn]=\"col.notSortable ? '' : col.field\"\r\n >\r\n {{ col.header }} <p-sortIcon *ngIf=\"!col.notSortable\" [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-item let-expanded=\"expanded\">\r\n <tr\r\n class=\"row\"\r\n [pSelectableRow]=\"rowData\"\r\n [ngClass]=\"{ expandable: expandable }\"\r\n [pRowToggler]=\"expandable ? item : undefined\"\r\n (click)=\"onRowClick(item)\"\r\n >\r\n <ng-container *ngIf=\"selectionType === 'checkbox'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"flex justify-content-center align-items-center\">\r\n <p-tableCheckbox [value]=\"item\" [disabled]=\"item.disabledCheckBox\"></p-tableCheckbox>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'radiobutton'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"flex justify-content-center align-items-center\">\r\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n </td>\r\n </ng-container>\r\n <td *ngIf=\"hasActions\" style=\"max-width: 100px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <td\r\n *ngIf=\"isHtmlCell(col)\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n <td\r\n *ngIf=\"!isHtmlCell(col)\"\r\n class=\"cell\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n >\r\n <vector-badge\r\n *ngIf=\"col.type === 'TEXT_BADGE' && !!col.getStatus\"\r\n [label]=\"item[col.field]\"\r\n [type]=\"col.getStatus(item[col.field])\"\r\n ></vector-badge>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-item>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + (hasActions ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"expansionTemplate; context: { item }\"> </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}.expandable{cursor:pointer}\n"], components: [{ type: i1.FiltersComponent, selector: "vector-filters", inputs: ["fields"], outputs: ["onSearch", "formBuilded"] }, { type: i2.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i3.PanelComponent, selector: "vector-panel" }, { type: i4.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i4.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i5.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollDelay", "virtualRowHeight", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "minBufferPx", "maxBufferPx", "responsiveLayout", "breakpoint", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { type: i5.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { type: i5.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { type: i5.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { type: i5.TableRadioButton, selector: "p-tableRadioButton", inputs: ["disabled", "value", "index", "inputId", "name", "ariaLabel"] }, { type: i6.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: i7.BadgeComponent, selector: "vector-badge", inputs: ["type", "label", "customColor", "customBackgroundColor"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { type: i5.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.RowToggler, selector: "[pRowToggler]", inputs: ["pRowToggler", "pRowTogglerDisabled"] }, { type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
258
+ DataTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DataTableComponent, selector: "vector-data-table", inputs: { columns: "columns", data: "data", exportExcel: "exportExcel", exportPDF: "exportPDF", totalRecords: "totalRecords", disabledHeadercheckbox: "disabledHeadercheckbox", filters: "filters", addItemLabel: "addItemLabel", pagination: "pagination", virtualPagination: "virtualPagination", tabs: "tabs", customButtons: "customButtons", addItemButtonPlusSign: "addItemButtonPlusSign", hasActions: "hasActions", hasExpandableIcon: "hasExpandableIcon", addNameColumnExpand: "addNameColumnExpand", expandable: "expandable", expansionTemplate: "expansionTemplate", selectionMode: "selectionMode", selectionType: "selectionType", height: "height" }, outputs: { onLazyLoad: "onLazyLoad", onFilter: "onFilter", onAdd: "onAdd", onExportExcel: "onExportExcel", onExportPDF: "onExportPDF", onSelectedRows: "onSelectedRows", onFilterChanged: "onFilterChanged" }, viewQueries: [{ propertyName: "filtersComponent", first: true, predicate: FiltersComponent, descendants: true, static: true }], ngImport: i0, template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters\r\n [fields]=\"filters\"\r\n (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"\r\n (formBuilded)=\"subscribeToFilterChanges()\"\r\n ></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel || exportExcel || exportPDF\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n *ngFor=\"let button of customButtons\"\r\n class=\"add-item-button\"\r\n [label]=\"button.label\"\r\n (click)=\"button.clickFunction()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n <vector-button\r\n *ngIf=\"addItemLabel\"\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n dataKey=\"id\"\r\n [scrollHeight]=\"height\"\r\n [attr.selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selectedItems\"\r\n (onRowSelect)=\"changeSelectedItems($event)\"\r\n (onHeaderCheckboxToggle)=\"changeSelectedItems($event)\"\r\n (onRowUnselect)=\"changeSelectedItems($event)\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 3rem\" *ngIf=\"selectionType === 'checkbox'\">\r\n <p-tableHeaderCheckbox [disabled]=\"disabledHeadercheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n <th style=\"max-width: 150px\" class=\"centered text-center\" *ngIf=\"hasExpandableIcon\">\r\n {{ addNameColumnExpand }}\r\n </th>\r\n <th style=\"max-width: 100px\" class=\"centered\" *ngIf=\"hasActions\">A\u00E7\u00F5es</th>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n [pSortableColumn]=\"col.notSortable ? '' : col.field\"\r\n >\r\n {{ col.header }} <p-sortIcon *ngIf=\"!col.notSortable\" [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-item let-expanded=\"expanded\">\r\n <tr\r\n class=\"row\"\r\n [pSelectableRow]=\"rowData\"\r\n [ngClass]=\"{ expandable: expandable }\"\r\n [pRowToggler]=\"expandable ? item : undefined\"\r\n (click)=\"onRowClick(item)\"\r\n >\r\n <ng-container *ngIf=\"selectionType === 'checkbox'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"flex justify-content-center align-items-center\">\r\n <p-tableCheckbox [value]=\"item\" [disabled]=\"item.disabledCheckBox\"></p-tableCheckbox>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'radiobutton'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"flex justify-content-center align-items-center\">\r\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n </td>\r\n </ng-container>\r\n <td *ngIf=\"hasExpandableIcon\" style=\"max-width: 150px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i\r\n [ngClass]=\"\r\n expanded ? 'actions-menu-button pi pi-chevron-down' : 'actions-menu-button pi pi-chevron-right'\r\n \"\r\n ></i>\r\n </td>\r\n <td *ngIf=\"hasActions\" style=\"max-width: 100px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <td\r\n *ngIf=\"isHtmlCell(col)\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n <td\r\n *ngIf=\"!isHtmlCell(col)\"\r\n class=\"cell\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n >\r\n <vector-badge\r\n *ngIf=\"col.type === 'TEXT_BADGE' && !!col.getStatus\"\r\n [label]=\"item[col.field]\"\r\n [type]=\"col.getStatus(item[col.field])\"\r\n ></vector-badge>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-item>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + (hasActions ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"expansionTemplate; context: { item }\"> </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}.expandable{cursor:pointer}\n"], components: [{ type: i1.FiltersComponent, selector: "vector-filters", inputs: ["fields"], outputs: ["onSearch", "formBuilded"] }, { type: i2.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: i3.PanelComponent, selector: "vector-panel" }, { type: i4.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i4.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i5.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollDelay", "virtualRowHeight", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "minBufferPx", "maxBufferPx", "responsiveLayout", "breakpoint", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["selectAllChange", "selectionChange", "contextMenuSelectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { type: i5.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { type: i5.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { type: i5.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { type: i5.TableRadioButton, selector: "p-tableRadioButton", inputs: ["disabled", "value", "index", "inputId", "name", "ariaLabel"] }, { type: i6.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { type: i7.BadgeComponent, selector: "vector-badge", inputs: ["type", "label", "customColor", "customBackgroundColor"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i9.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { type: i5.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.RowToggler, selector: "[pRowToggler]", inputs: ["pRowToggler", "pRowTogglerDisabled"] }, { type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
257
259
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DataTableComponent, decorators: [{
258
260
  type: Component,
259
- args: [{ selector: 'vector-data-table', template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters\r\n [fields]=\"filters\"\r\n (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"\r\n (formBuilded)=\"subscribeToFilterChanges()\"\r\n ></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel || exportExcel || exportPDF\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n *ngFor=\"let button of customButtons\"\r\n class=\"add-item-button\"\r\n [label]=\"button.label\"\r\n (click)=\"button.clickFunction()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n <vector-button\r\n *ngIf=\"addItemLabel\"\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n dataKey=\"id\"\r\n [scrollHeight]=\"height\"\r\n [attr.selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selectedItems\"\r\n (onRowSelect)=\"changeSelectedItems($event)\"\r\n (onHeaderCheckboxToggle)=\"changeSelectedItems($event)\"\r\n (onRowUnselect)=\"changeSelectedItems($event)\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 3rem\" *ngIf=\"selectionType === 'checkbox'\">\r\n <p-tableHeaderCheckbox [disabled]=\"disabledHeadercheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n <th style=\"max-width: 100px\" class=\"centered\" *ngIf=\"hasActions\">A\u00E7\u00F5es</th>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n [pSortableColumn]=\"col.notSortable ? '' : col.field\"\r\n >\r\n {{ col.header }} <p-sortIcon *ngIf=\"!col.notSortable\" [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-item let-expanded=\"expanded\">\r\n <tr\r\n class=\"row\"\r\n [pSelectableRow]=\"rowData\"\r\n [ngClass]=\"{ expandable: expandable }\"\r\n [pRowToggler]=\"expandable ? item : undefined\"\r\n (click)=\"onRowClick(item)\"\r\n >\r\n <ng-container *ngIf=\"selectionType === 'checkbox'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"flex justify-content-center align-items-center\">\r\n <p-tableCheckbox [value]=\"item\" [disabled]=\"item.disabledCheckBox\"></p-tableCheckbox>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'radiobutton'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"flex justify-content-center align-items-center\">\r\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n </td>\r\n </ng-container>\r\n <td *ngIf=\"hasActions\" style=\"max-width: 100px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <td\r\n *ngIf=\"isHtmlCell(col)\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n <td\r\n *ngIf=\"!isHtmlCell(col)\"\r\n class=\"cell\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n >\r\n <vector-badge\r\n *ngIf=\"col.type === 'TEXT_BADGE' && !!col.getStatus\"\r\n [label]=\"item[col.field]\"\r\n [type]=\"col.getStatus(item[col.field])\"\r\n ></vector-badge>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-item>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + (hasActions ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"expansionTemplate; context: { item }\"> </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}.expandable{cursor:pointer}\n"] }]
261
+ args: [{ selector: 'vector-data-table', template: "<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <vector-filters\r\n [fields]=\"filters\"\r\n (onSearch)=\"lazyLoaded({ filter: true, data: $event })\"\r\n (formBuilded)=\"subscribeToFilterChanges()\"\r\n ></vector-filters>\r\n </div>\r\n <div class=\"table-header-actions field\" *ngIf=\"addItemLabel || exportExcel || exportPDF\">\r\n <button *ngIf=\"exportExcel\" (click)=\"onExportExcel.emit()\" class=\"export-button export-excel\">\r\n <i class=\"fas fa-file\"></i><span>Excel</span>\r\n </button>\r\n <button *ngIf=\"exportPDF\" (click)=\"onExportPDF.emit()\" class=\"export-button export-pdf\">\r\n <i class=\"fas fa-file\"></i><span>PDF</span>\r\n </button>\r\n <vector-button\r\n *ngFor=\"let button of customButtons\"\r\n class=\"add-item-button\"\r\n [label]=\"button.label\"\r\n (click)=\"button.clickFunction()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n <vector-button\r\n *ngIf=\"addItemLabel\"\r\n class=\"add-item-button\"\r\n [label]=\"addItemLabel\"\r\n (click)=\"onAdd.emit()\"\r\n [rightIcon]=\"addItemButtonPlusSign ? 'pi pi-plus' : ''\"\r\n ></vector-button>\r\n </div>\r\n <div class=\"col-12\">\r\n <vector-panel class=\"data-table-panel\">\r\n <p-tabView (onChange)=\"onTabChange($event)\" *ngIf=\"tabs?.length\">\r\n <p-tabPanel *ngFor=\"let tab of tabs\" [header]=\"tab.name\"></p-tabPanel>\r\n </p-tabView>\r\n <p-table\r\n currentPageReportTemplate=\"Mostrando {first} at\u00E9 {last} de {totalRecords} registros\"\r\n sortMode=\"single\"\r\n [rows]=\"10\"\r\n [lazy]=\"pagination && !virtualPagination\"\r\n [value]=\"data\"\r\n [paginator]=\"pagination\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [responsive]=\"true\"\r\n [resizableColumns]=\"true\"\r\n [scrollable]=\"true\"\r\n scrollDirection=\"vertical\"\r\n responsiveLayout=\"scroll\"\r\n dataKey=\"id\"\r\n [scrollHeight]=\"height\"\r\n [attr.selectionMode]=\"selectionMode\"\r\n [(selection)]=\"selectedItems\"\r\n (onRowSelect)=\"changeSelectedItems($event)\"\r\n (onHeaderCheckboxToggle)=\"changeSelectedItems($event)\"\r\n (onRowUnselect)=\"changeSelectedItems($event)\"\r\n (onLazyLoad)=\"lazyLoaded({ filter: false, data: $event })\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"header\">\r\n <th style=\"max-width: 3rem\" *ngIf=\"selectionType === 'checkbox'\">\r\n <p-tableHeaderCheckbox [disabled]=\"disabledHeadercheckbox\"></p-tableHeaderCheckbox>\r\n </th>\r\n <th style=\"max-width: 150px\" class=\"centered text-center\" *ngIf=\"hasExpandableIcon\">\r\n {{ addNameColumnExpand }}\r\n </th>\r\n <th style=\"max-width: 100px\" class=\"centered\" *ngIf=\"hasActions\">A\u00E7\u00F5es</th>\r\n <th\r\n *ngFor=\"let col of columns\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n [pSortableColumn]=\"col.notSortable ? '' : col.field\"\r\n >\r\n {{ col.header }} <p-sortIcon *ngIf=\"!col.notSortable\" [field]=\"col.field\"></p-sortIcon>\r\n </th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-rowData let-item let-expanded=\"expanded\">\r\n <tr\r\n class=\"row\"\r\n [pSelectableRow]=\"rowData\"\r\n [ngClass]=\"{ expandable: expandable }\"\r\n [pRowToggler]=\"expandable ? item : undefined\"\r\n (click)=\"onRowClick(item)\"\r\n >\r\n <ng-container *ngIf=\"selectionType === 'checkbox'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"flex justify-content-center align-items-center\">\r\n <p-tableCheckbox [value]=\"item\" [disabled]=\"item.disabledCheckBox\"></p-tableCheckbox>\r\n </td>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectionType === 'radiobutton'\">\r\n <td style=\"max-width: 3rem; padding-left: 10px\" class=\"flex justify-content-center align-items-center\">\r\n <p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\r\n </td>\r\n </ng-container>\r\n <td *ngIf=\"hasExpandableIcon\" style=\"max-width: 150px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i\r\n [ngClass]=\"\r\n expanded ? 'actions-menu-button pi pi-chevron-down' : 'actions-menu-button pi pi-chevron-right'\r\n \"\r\n ></i>\r\n </td>\r\n <td *ngIf=\"hasActions\" style=\"max-width: 100px\" class=\"centered\">\r\n <p-menu #menu [model]=\"item.actions\" [popup]=\"true\" appendTo=\"body\"></p-menu>\r\n <i class=\"actions-menu-button fas fa-cog\" (click)=\"menu.toggle($event)\"></i>\r\n </td>\r\n <ng-container *ngFor=\"let col of columns\">\r\n <td\r\n *ngIf=\"isHtmlCell(col)\"\r\n class=\"cell\"\r\n [innerHTML]=\"getCellContent(item, col)\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n ></td>\r\n <td\r\n *ngIf=\"!isHtmlCell(col)\"\r\n class=\"cell\"\r\n (click)=\"col && col.clickFunction && col.clickFunction(item)\"\r\n [ngStyle]=\"getColStyle(col)\"\r\n >\r\n <vector-badge\r\n *ngIf=\"col.type === 'TEXT_BADGE' && !!col.getStatus\"\r\n [label]=\"item[col.field]\"\r\n [type]=\"col.getStatus(item[col.field])\"\r\n ></vector-badge>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"row\">\r\n <td class=\"no-results\" [attr.colspan]=\"columns.length + 1\">Nenhum resultado encontrado</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"paginatorright\"> </ng-template>\r\n <ng-template let-item pTemplate=\"paginatordropdownitem\"> {{ item.value }} </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-item>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length + (hasActions ? 1 : 0)\">\r\n <ng-container *ngTemplateOutlet=\"expansionTemplate; context: { item }\"> </ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </vector-panel>\r\n </div>\r\n</div>\r\n", styles: [".no-results{padding:15px;background-color:#fff;width:100%}.centered{display:flex;justify-content:center}.table-header-actions{display:flex;justify-content:flex-end;align-items:flex-end;width:100%;padding-right:7px;margin-bottom:15px!important}@media (min-width: 768px){.table-header-actions{margin-top:-3px}}.table-header-actions .export-button{padding:7px 10px;color:#fff;display:flex;align-items:center;border:none;border-radius:5px;margin:5px;font-size:.75rem;cursor:pointer}.table-header-actions .export-button.export-excel{background-color:var(--success-color)}.table-header-actions .export-button.export-excel:hover{background-color:var(--success-color-dark)}.table-header-actions .export-button.export-pdf{background-color:var(--error-color)}.table-header-actions .export-button.export-pdf:hover{background-color:var(--error-color-dark)}.table-header-actions .export-button i{color:#fff}.table-header-actions .export-button span{margin-left:5px}.table-header-actions .add-item-button{margin-left:10px}.actions-menu-button{font-size:23px;cursor:pointer;color:var(--theme-medium)}.expandable{cursor:pointer}\n"] }]
260
262
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
261
263
  type: Input
262
264
  }], data: [{
@@ -285,6 +287,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
285
287
  type: Input
286
288
  }], hasActions: [{
287
289
  type: Input
290
+ }], hasExpandableIcon: [{
291
+ type: Input
292
+ }], addNameColumnExpand: [{
293
+ type: Input
288
294
  }], expandable: [{
289
295
  type: Input
290
296
  }], expansionTemplate: [{
@@ -313,4 +319,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
313
319
  type: ViewChild,
314
320
  args: [FiltersComponent, { static: true }]
315
321
  }] } });
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFnQyxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQXVDLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFPN0UsTUFBTSxPQUFPLGtCQUFrQjtJQTJHN0IsWUFBbUIsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUF6R2pDLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBRTVCLFNBQUksR0FBVSxFQUFFLENBQUM7UUFFakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVs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SztnQkFHQyxVQUFVO3NCQURoQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBZUMsYUFBYTtzQkFEbkIsS0FBSztnQkFHSyxNQUFNO3NCQURoQixLQUFLO2dCQW9CQyxVQUFVO3NCQURoQixNQUFNO2dCQUdBLFFBQVE7c0JBRGQsTUFBTTtnQkFHQSxLQUFLO3NCQURYLE1BQU07Z0JBR0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFHQSxXQUFXO3NCQURqQixNQUFNO2dCQUdBLGNBQWM7c0JBRHBCLE1BQU07Z0JBR0EsZUFBZTtzQkFEckIsTUFBTTtnQkFHQSxnQkFBZ0I7c0JBRHRCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZpbHRlckNoYW5nZWRFdmVudCwgTGlzdEl0ZW0sIFN0YXR1cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUxhenlMb2FkRXZlbnQsIFRhYmxlQ29sdW1uLCBUYWJsZUNvbHVtblR5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZGF0YS10YWJsZS5tb2RlbCc7XHJcbmltcG9ydCB7IE1hc2tVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJGaWVsZCwgRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4uL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItZGF0YS10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGEtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjb2x1bW5zOiBUYWJsZUNvbHVtbltdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGF0YTogYW55W10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleHBvcnRFeGNlbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4cG9ydFBERiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRvdGFsUmVjb3JkcyA9IDA7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZWRIZWFkZXJjaGVja2JveCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpbHRlcnM6IEZpbHRlckZpZWxkW10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRJdGVtTGFiZWwgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYWdpbmF0aW9uID0gdHJ1ZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2aXJ0dWFsUGFnaW5hdGlvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB0YWJzKF90YWJzOiBMaXN0SXRlbVtdKSB7XHJcbiAgICB0aGlzLl90YWJzID0gX3RhYnM7XHJcbiAgICB0aGlzLl90YWJTZWxlY3RlZCA9IF90YWJzWzBdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjdXN0b21CdXR0b25zOiB7IGxhYmVsOiBzdHJpbmc7IGNsaWNrRnVuY3Rpb246IEZ1bmN0aW9uIH1bXSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRJdGVtQnV0dG9uUGx1c1NpZ24gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBoYXNBY3Rpb25zOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBleHBhbmRhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXhwYW5zaW9uVGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgc2VsZWN0aW9uTW9kZShfc2VsZWN0aW9uTW9kZSkge1xyXG4gICAgc3dpdGNoIChfc2VsZWN0aW9uTW9kZSkge1xyXG4gICAgICBjYXNlICdzaW5nbGUnOlxyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUgPSAnc2luZ2xlJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbXVsdGlwbGUnOlxyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUgPSAnbXVsdGlwbGUnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbk1vZGUgPSBudWxsO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWxlY3Rpb25UeXBlOiAnY2hlY2tib3gnIHwgJ3JhZGlvYnV0dG9uJyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBoZWlnaHQoX2hlaWdodDogc3RyaW5nKSB7XHJcbiAgICBzd2l0Y2ggKF9oZWlnaHQpIHtcclxuICAgICAgY2FzZSAnc21hbGwnOlxyXG4gICAgICAgIHRoaXMuX2hlaWdodCA9ICczMDBweCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21lZGl1bSc6XHJcbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gJzUwMHB4JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbGFyZ2UnOlxyXG4gICAgICAgIHRoaXMuX2hlaWdodCA9ICc3MDBweCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2Z1bGwnOlxyXG4gICAgICAgIHRoaXMuX2hlaWdodCA9ICdmbGV4JztcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9oZWlnaHQgPSAnMzAwcHgnO1xyXG4gICAgfVxyXG4gIH1cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25MYXp5TG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YVRhYmxlTGF6eUxvYWRFdmVudD4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25GaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25BZGQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRXhwb3J0RXhjZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRXhwb3J0UERGID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvblNlbGVjdGVkUm93cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkZpbHRlckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckNoYW5nZWRFdmVudD4oKTtcclxuICBAVmlld0NoaWxkKEZpbHRlcnNDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXHJcbiAgcHVibGljIGZpbHRlcnNDb21wb25lbnQ6IEZpbHRlcnNDb21wb25lbnQgfCB1bmRlZmluZWQ7XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW1zOiBhbnkgPSBbXTtcclxuXHJcbiAgZ2V0IHRhYnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFicztcclxuICB9XHJcbiAgZ2V0IGhlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XHJcbiAgfVxyXG4gIGdldCBzZWxlY3Rpb25Nb2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbk1vZGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZWxlY3Rpb25Nb2RlOiAnc2luZ2xlJyB8ICdtdWx0aXBsZScgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIF9oZWlnaHQ6IHN0cmluZyA9ICdzbWFsbCc7XHJcbiAgcHJpdmF0ZSBfdGFiczogTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIHByaXZhdGUgX2RyYXcgPSAxO1xyXG4gIHByaXZhdGUgX2ZpcnN0TGF6eUxvYWRlZERvbmUgPSBmYWxzZTtcclxuICBwcml2YXRlIF9sYXN0TGF6eUxvYWRFdmVudDogRGF0YVRhYmxlTGF6eUxvYWRFdmVudCB8IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIF90YWJTZWxlY3RlZDogTGlzdEl0ZW0gfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfZmlsdGVyU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5oZWlnaHQgPSAnc21hbGwnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5wYWdpbmF0aW9uIHx8IHRoaXMudmlydHVhbFBhZ2luYXRpb24pIHtcclxuICAgICAgdGhpcy5maWx0ZXJzQ29tcG9uZW50Py5zZWFyY2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZmlsdGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRDb2xTdHlsZShjb2w6IFRhYmxlQ29sdW1uKSB7XHJcbiAgICByZXR1cm4geyAnbWluLXdpZHRoJzogY29sLndpZHRoIH07XHJcbiAgfVxyXG5cclxuICBsYXp5TG9hZGVkKHBhcmFtczogeyBmaWx0ZXI6IGJvb2xlYW47IGRhdGE6IGFueSB9ID0geyBmaWx0ZXI6IGZhbHNlLCBkYXRhOiB7IHN0YXJ0OiAwLCByb3dzOiAxMCB9IH0pIHtcclxuICAgIGlmICghcGFyYW1zLmZpbHRlcikge1xyXG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5jb2x1bW5zLm1hcCgoY29sKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRhdGE6IGNvbC5maWVsZCxcclxuICAgICAgICAgIG5hbWU6IGAke2NvbC5maWVsZC5zdWJzdHJpbmcoMCwgMSkudG9VcHBlckNhc2UoKX0ke2NvbC5maWVsZC5zdWJzdHJpbmcoMSwgY29sLmZpZWxkLmxlbmd0aCl9YCxcclxuICAgICAgICAgIG9yZGVyYWJsZTogdHJ1ZSxcclxuICAgICAgICAgIHNlYXJjaDogeyB2YWx1ZTogJycsIHJlZ2V4OiBmYWxzZSB9LFxyXG4gICAgICAgICAgc2VhcmNoYWJsZTogdHJ1ZSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKHRoaXMuaGFzQWN0aW9ucykge1xyXG4gICAgICAgIGNvbHVtbnMudW5zaGlmdCh7XHJcbiAgICAgICAgICBkYXRhOiAnYWN0aXZlJyxcclxuICAgICAgICAgIG5hbWU6ICdBY3RpdmUnLFxyXG4gICAgICAgICAgb3JkZXJhYmxlOiB0cnVlLFxyXG4gICAgICAgICAgc2VhcmNoOiB7IHZhbHVlOiAnJywgcmVnZXg6IGZhbHNlIH0sXHJcbiAgICAgICAgICBzZWFyY2hhYmxlOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2xhc3RMYXp5TG9hZEV2ZW50ID0ge1xyXG4gICAgICAgIC4uLih0aGlzLl9sYXN0TGF6eUxvYWRFdmVudCB8fCAoe30gYXMgYW55KSksXHJcbiAgICAgICAgcGFnZTogcGFyYW1zLmRhdGEuZmlyc3QgLyBwYXJhbXMuZGF0YS5yb3dzICsgMSxcclxuICAgICAgICBzdGFydDogcGFyYW1zLmRhdGEuZmlyc3QsXHJcbiAgICAgICAgbGVuZ3RoOiBwYXJhbXMuZGF0YS5yb3dzLFxyXG4gICAgICAgIGRyYXc6IHRoaXMuX2RyYXcrKyxcclxuICAgICAgICBvcmRlcjogcGFyYW1zLmRhdGEuc29ydEZpZWxkXHJcbiAgICAgICAgICA/IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW46XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuY29sdW1ucy5maW5kSW5kZXgoKGNvbCkgPT4gY29sLmZpZWxkID09PSBwYXJhbXMuZGF0YS5zb3J0RmllbGQpICsgKHRoaXMuaGFzQWN0aW9ucyA/IDEgOiAwKSxcclxuICAgICAgICAgICAgICAgIGRpcjogcGFyYW1zLmRhdGEuc29ydE9yZGVyID4gMCA/ICdhc2MnIDogJ2Rlc2MnLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICAgIDogW3sgY29sdW1uOiAwLCBkaXI6ICdkZXNjJyB9XSxcclxuICAgICAgICBjb2x1bW5zOiBjb2x1bW5zLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fbGFzdExhenlMb2FkRXZlbnQgPSB7XHJcbiAgICAgICAgLi4udGhpcy5fbGFzdExhenlMb2FkRXZlbnQsXHJcbiAgICAgICAgLi4ucGFyYW1zLmRhdGEsXHJcbiAgICAgICAgc3RhcnQ6IDAsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICh0aGlzLl90YWJTZWxlY3RlZCkge1xyXG4gICAgICAgIHRoaXMuX2xhc3RMYXp5TG9hZEV2ZW50ID0ge1xyXG4gICAgICAgICAgLi4uKHRoaXMuX2xhc3RMYXp5TG9hZEV2ZW50IHx8ICh7fSBhcyBhbnkpKSxcclxuICAgICAgICAgIC4uLnsgU3RhdHVzOiB0aGlzLl90YWJTZWxlY3RlZC5jb2RlIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9maXJzdExhenlMb2FkZWREb25lKSB7XHJcbiAgICAgIHRoaXMub25MYXp5TG9hZC5lbWl0KHRoaXMuX2xhc3RMYXp5TG9hZEV2ZW50KTtcclxuICAgIH1cclxuICAgIHRoaXMuX2ZpcnN0TGF6eUxvYWRlZERvbmUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2VsbENvbnRlbnQoaXRlbTogYW55LCBjb2w6IFRhYmxlQ29sdW1uKSB7XHJcbiAgICBsZXQgY29udGVudCA9IGA8c3BhbiBjbGFzcz1cInAtY29sdW1uLXRpdGxlXCI+JHtjb2wuaGVhZGVyfTwvc3Bhbj48c3BhbiBjbGFzcz1cInctMTAwXCI+YDtcclxuICAgIGlmICghY29sLnR5cGUgfHwgY29sLnR5cGUgPT09IFRhYmxlQ29sdW1uVHlwZS5URVhUKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gaXRlbVtjb2wuZmllbGRdIHx8ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkNVU1RPTV9TVFlMRSkge1xyXG4gICAgICBjb250ZW50ICs9IGA8c3BhbiBjbGFzcz1cIiR7Y29sLnRleHRGaWVsZENsYXNzID8gaXRlbVtjb2wudGV4dEZpZWxkQ2xhc3NdIDogJyd9XCI+JHtpdGVtW2NvbC5maWVsZCB8fCAnJ119PC9zcGFuPmA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuQk9PTEVBTikge1xyXG4gICAgICBjb250ZW50ICs9IGA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJlZFwiPjxpIGNsYXNzPVwiIHN0YXR1cy10YWJsZS1maWVsZCBmYXMgZmEtJHtcclxuICAgICAgICBpdGVtW2NvbC5maWVsZF0gPyAnY2hlY2sgYm9vbGVhbi12YWx1ZS1wb3NpdGl2ZScgOiAndGltZXMgYm9vbGVhbi12YWx1ZS1uZWdhdGl2ZSdcclxuICAgICAgfVwiPjwvaT48L2Rpdj5gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkVOVU0gJiYgY29sLmdldEVudW1UcmFuc2xhdGVkKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gY29sLmdldEVudW1UcmFuc2xhdGVkKGl0ZW1bY29sLmZpZWxkXSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuREFURVRJTUUgJiYgaXRlbVtjb2wuZmllbGRdKSB7XHJcbiAgICAgIGNvbnN0IGRhdGVUaW1lID1cclxuICAgICAgICBpdGVtW2NvbC5maWVsZF0gaW5zdGFuY2VvZiBEYXRlID8gRGF0ZVRpbWUuZnJvbUpTRGF0ZShpdGVtW2NvbC5maWVsZF0pIDogRGF0ZVRpbWUuZnJvbUlTTyhpdGVtW2NvbC5maWVsZF0pO1xyXG4gICAgICBjb250ZW50ICs9IGRhdGVUaW1lLnRvRm9ybWF0KCdkZC9NTS95eXl5IEhIOm1tJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuU1RBVFVTX0JBREdFKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gYDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlcmVkXCI+PGkgY2xhc3M9XCJmYXMgZmEtY2lyY2xlIHN0YXR1cy10YWJsZS1maWVsZCAke3RoaXMuZ2V0U3RhdHVzQ29sb3IoXHJcbiAgICAgICAgaXRlbVtjb2wuZmllbGRdXHJcbiAgICAgICl9XCI+PC9pPjwvZGl2PmA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuQUNUSVZFX0JPT0xFQU5fQkFER0UpIHtcclxuICAgICAgY29udGVudCArPSBgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyZWRcIj48aSBjbGFzcz1cImZhcyBmYS1jaXJjbGUgc3RhdHVzLXRhYmxlLWZpZWxkICR7dGhpcy5nZXRBY3RpdmVTdGF0dXNDb2xvcihcclxuICAgICAgICBpdGVtW2NvbC5maWVsZF1cclxuICAgICAgKX1cIj48L2k+PC9kaXY+YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sdW1uVHlwZS5CVVRUT04pIHtcclxuICAgICAgY29udGVudCArPSBgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyZWRcIj48aSBjbGFzcz1cImZhcyAke1xyXG4gICAgICAgIGNvbC5pY29uIHx8ICdmYS1jaXJjbGUnXHJcbiAgICAgIH0gc3RhdHVzLXRhYmxlLWZpZWxkIHRhYmxlLWJ1dHRvblwiPjwvaT48L2Rpdj5gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLk1BU0spIHtcclxuICAgICAgY29udGVudCArPSBNYXNrVXRpbC5kb01hc2tTdHJpbmcoaXRlbVtjb2wuZmllbGRdIHx8ICcnLCBjb2wubWFzayk7XHJcbiAgICB9XHJcblxyXG4gICAgY29udGVudCArPSBgPC9zcGFuPmA7XHJcbiAgICByZXR1cm4gY29udGVudDtcclxuICB9XHJcblxyXG4gIG9uVGFiQ2hhbmdlKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLl90YWJTZWxlY3RlZCA9IHRoaXMudGFic1skZXZlbnQuaW5kZXhdO1xyXG4gICAgdGhpcy5sYXp5TG9hZGVkKHsgZmlsdGVyOiB0cnVlLCBkYXRhOiB7fSB9KTtcclxuICB9XHJcblxyXG4gIHN1YnNjcmliZVRvRmlsdGVyQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuX2ZpbHRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fZmlsdGVyU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gICAgT2JqZWN0LmtleXModGhpcy5maWx0ZXJzQ29tcG9uZW50Py5mb3JtR3JvdXAuY29udHJvbHMgfHwge30pLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICB0aGlzLl9maWx0ZXJTdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuZmlsdGVyc0NvbXBvbmVudD8uZm9ybUdyb3VwXHJcbiAgICAgICAgICAuZ2V0KGtleSlcclxuICAgICAgICAgID8udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlZC5lbWl0KHsgZmllbGQ6IGtleSwgdmFsdWUgfSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLm9uRmlsdGVyQ2hhbmdlZC5lbWl0KHsgZmllbGQ6IGtleSwgdmFsdWU6IHRoaXMuZmlsdGVyc0NvbXBvbmVudD8uZm9ybUdyb3VwLmdldChrZXkpPy52YWx1ZSB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25Sb3dDbGljayhpdGVtOiBhbnkpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgbGlzdEhhc0FjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhLnNvbWUoKGl0ZW0pID0+IGl0ZW0uYWN0aW9ucz8ubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U3RhdHVzQ29sb3Ioc3RhdHVzOiBTdGF0dXMpIHtcclxuICAgIHN3aXRjaCAoc3RhdHVzKSB7XHJcbiAgICAgIGNhc2UgU3RhdHVzLlBFTkRJTkc6XHJcbiAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcclxuICAgICAgY2FzZSBTdGF0dXMuQVBQUk9WRUQ6XHJcbiAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgY2FzZSBTdGF0dXMuUkVKRUNURUQ6XHJcbiAgICAgICAgcmV0dXJuICdlcnJvcic7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFjdGl2ZVN0YXR1c0NvbG9yKGFjdGl2ZTogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIGFjdGl2ZSA/ICdzdWNjZXNzJyA6ICdlcnJvcic7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlU2VsZWN0ZWRJdGVtcyh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLm9uU2VsZWN0ZWRSb3dzLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW1zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0h0bWxDZWxsKGNvbDogVGFibGVDb2x1bW4pIHtcclxuICAgIGlmICghY29sLnR5cGUpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gIVtUYWJsZUNvbHVtblR5cGUuVEVYVF9CQURHRV0uaW5jbHVkZXMoY29sLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbjogYW55KSB7XHJcbiAgICBmb3IgKGxldCBpID0gc2VsZWN0aW9uLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIGxldCBkYXRhID0gc2VsZWN0aW9uW2ldO1xyXG4gICAgICBpZiAoZGF0YS5kaXNhYmxlZENoZWNrQm94KSB7XHJcbiAgICAgICAgc2VsZWN0aW9uLnNwbGljZShpLCAxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gc2VsZWN0aW9uO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cclxuICAgIDx2ZWN0b3ItZmlsdGVyc1xyXG4gICAgICBbZmllbGRzXT1cImZpbHRlcnNcIlxyXG4gICAgICAob25TZWFyY2gpPVwibGF6eUxvYWRlZCh7IGZpbHRlcjogdHJ1ZSwgZGF0YTogJGV2ZW50IH0pXCJcclxuICAgICAgKGZvcm1CdWlsZGVkKT1cInN1YnNjcmliZVRvRmlsdGVyQ2hhbmdlcygpXCJcclxuICAgID48L3ZlY3Rvci1maWx0ZXJzPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXItYWN0aW9ucyBmaWVsZFwiICpuZ0lmPVwiYWRkSXRlbUxhYmVsIHx8IGV4cG9ydEV4Y2VsIHx8IGV4cG9ydFBERlwiPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cImV4cG9ydEV4Y2VsXCIgKGNsaWNrKT1cIm9uRXhwb3J0RXhjZWwuZW1pdCgpXCIgY2xhc3M9XCJleHBvcnQtYnV0dG9uIGV4cG9ydC1leGNlbFwiPlxyXG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1maWxlXCI+PC9pPjxzcGFuPkV4Y2VsPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8YnV0dG9uICpuZ0lmPVwiZXhwb3J0UERGXCIgKGNsaWNrKT1cIm9uRXhwb3J0UERGLmVtaXQoKVwiIGNsYXNzPVwiZXhwb3J0LWJ1dHRvbiBleHBvcnQtcGRmXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWZpbGVcIj48L2k+PHNwYW4+UERGPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8dmVjdG9yLWJ1dHRvblxyXG4gICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGN1c3RvbUJ1dHRvbnNcIlxyXG4gICAgICBjbGFzcz1cImFkZC1pdGVtLWJ1dHRvblwiXHJcbiAgICAgIFtsYWJlbF09XCJidXR0b24ubGFiZWxcIlxyXG4gICAgICAoY2xpY2spPVwiYnV0dG9uLmNsaWNrRnVuY3Rpb24oKVwiXHJcbiAgICAgIFtyaWdodEljb25dPVwiYWRkSXRlbUJ1dHRvblBsdXNTaWduID8gJ3BpIHBpLXBsdXMnIDogJydcIlxyXG4gICAgPjwvdmVjdG9yLWJ1dHRvbj5cclxuICAgIDx2ZWN0b3ItYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiYWRkSXRlbUxhYmVsXCJcclxuICAgICAgY2xhc3M9XCJhZGQtaXRlbS1idXR0b25cIlxyXG4gICAgICBbbGFiZWxdPVwiYWRkSXRlbUxhYmVsXCJcclxuICAgICAgKGNsaWNrKT1cIm9uQWRkLmVtaXQoKVwiXHJcbiAgICAgIFtyaWdodEljb25dPVwiYWRkSXRlbUJ1dHRvblBsdXNTaWduID8gJ3BpIHBpLXBsdXMnIDogJydcIlxyXG4gICAgPjwvdmVjdG9yLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICA8dmVjdG9yLXBhbmVsIGNsYXNzPVwiZGF0YS10YWJsZS1wYW5lbFwiPlxyXG4gICAgICA8cC10YWJWaWV3IChvbkNoYW5nZSk9XCJvblRhYkNoYW5nZSgkZXZlbnQpXCIgKm5nSWY9XCJ0YWJzPy5sZW5ndGhcIj5cclxuICAgICAgICA8cC10YWJQYW5lbCAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIiBbaGVhZGVyXT1cInRhYi5uYW1lXCI+PC9wLXRhYlBhbmVsPlxyXG4gICAgICA8L3AtdGFiVmlldz5cclxuICAgICAgPHAtdGFibGVcclxuICAgICAgICBjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlPVwiTW9zdHJhbmRvIHtmaXJzdH0gYXTDqSB7bGFzdH0gZGUge3RvdGFsUmVjb3Jkc30gcmVnaXN0cm9zXCJcclxuICAgICAgICBzb3J0TW9kZT1cInNpbmdsZVwiXHJcbiAgICAgICAgW3Jvd3NdPVwiMTBcIlxyXG4gICAgICAgIFtsYXp5XT1cInBhZ2luYXRpb24gJiYgIXZpcnR1YWxQYWdpbmF0aW9uXCJcclxuICAgICAgICBbdmFsdWVdPVwiZGF0YVwiXHJcbiAgICAgICAgW3BhZ2luYXRvcl09XCJwYWdpbmF0aW9uXCJcclxuICAgICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcbiAgICAgICAgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJ0cnVlXCJcclxuICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cIlsxMCwgMjUsIDUwLCAxMDBdXCJcclxuICAgICAgICBbcmVzcG9uc2l2ZV09XCJ0cnVlXCJcclxuICAgICAgICBbcmVzaXphYmxlQ29sdW1uc109XCJ0cnVlXCJcclxuICAgICAgICBbc2Nyb2xsYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICBzY3JvbGxEaXJlY3Rpb249XCJ2ZXJ0aWNhbFwiXHJcbiAgICAgICAgcmVzcG9uc2l2ZUxheW91dD1cInNjcm9sbFwiXHJcbiAgICAgICAgZGF0YUtleT1cImlkXCJcclxuICAgICAgICBbc2Nyb2xsSGVpZ2h0XT1cImhlaWdodFwiXHJcbiAgICAgICAgW2F0dHIuc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlXCJcclxuICAgICAgICBbKHNlbGVjdGlvbildPVwic2VsZWN0ZWRJdGVtc1wiXHJcbiAgICAgICAgKG9uUm93U2VsZWN0KT1cImNoYW5nZVNlbGVjdGVkSXRlbXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uSGVhZGVyQ2hlY2tib3hUb2dnbGUpPVwiY2hhbmdlU2VsZWN0ZWRJdGVtcygkZXZlbnQpXCJcclxuICAgICAgICAob25Sb3dVbnNlbGVjdCk9XCJjaGFuZ2VTZWxlY3RlZEl0ZW1zKCRldmVudClcIlxyXG4gICAgICAgIChvbkxhenlMb2FkKT1cImxhenlMb2FkZWQoeyBmaWx0ZXI6IGZhbHNlLCBkYXRhOiAkZXZlbnQgfSlcIlxyXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICA8dHIgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgICAgICAgICAgPHRoIHN0eWxlPVwibWF4LXdpZHRoOiAzcmVtXCIgKm5nSWY9XCJzZWxlY3Rpb25UeXBlID09PSAnY2hlY2tib3gnXCI+XHJcbiAgICAgICAgICAgICAgPHAtdGFibGVIZWFkZXJDaGVja2JveCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRIZWFkZXJjaGVja2JveFwiPjwvcC10YWJsZUhlYWRlckNoZWNrYm94PlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8dGggc3R5bGU9XCJtYXgtd2lkdGg6IDEwMHB4XCIgY2xhc3M9XCJjZW50ZXJlZFwiICpuZ0lmPVwiaGFzQWN0aW9uc1wiPkHDp8O1ZXM8L3RoPlxyXG4gICAgICAgICAgICA8dGhcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIlxyXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldENvbFN0eWxlKGNvbClcIlxyXG4gICAgICAgICAgICAgIFtwU29ydGFibGVDb2x1bW5dPVwiY29sLm5vdFNvcnRhYmxlID8gJycgOiBjb2wuZmllbGRcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3sgY29sLmhlYWRlciB9fSA8cC1zb3J0SWNvbiAqbmdJZj1cIiFjb2wubm90U29ydGFibGVcIiBbZmllbGRdPVwiY29sLmZpZWxkXCI+PC9wLXNvcnRJY29uPlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXJvd0RhdGEgbGV0LWl0ZW0gbGV0LWV4cGFuZGVkPVwiZXhwYW5kZWRcIj5cclxuICAgICAgICAgIDx0clxyXG4gICAgICAgICAgICBjbGFzcz1cInJvd1wiXHJcbiAgICAgICAgICAgIFtwU2VsZWN0YWJsZVJvd109XCJyb3dEYXRhXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBleHBhbmRhYmxlOiBleHBhbmRhYmxlIH1cIlxyXG4gICAgICAgICAgICBbcFJvd1RvZ2dsZXJdPVwiZXhwYW5kYWJsZSA/IGl0ZW0gOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Sb3dDbGljayhpdGVtKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25UeXBlID09PSAnY2hlY2tib3gnXCI+XHJcbiAgICAgICAgICAgICAgPHRkIHN0eWxlPVwibWF4LXdpZHRoOiAzcmVtOyBwYWRkaW5nLWxlZnQ6IDEwcHhcIiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cIml0ZW1cIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZENoZWNrQm94XCI+PC9wLXRhYmxlQ2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25UeXBlID09PSAncmFkaW9idXR0b24nXCI+XHJcbiAgICAgICAgICAgICAgPHRkIHN0eWxlPVwibWF4LXdpZHRoOiAzcmVtOyBwYWRkaW5nLWxlZnQ6IDEwcHhcIiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlUmFkaW9CdXR0b24gW3ZhbHVlXT1cIml0ZW1cIj48L3AtdGFibGVSYWRpb0J1dHRvbj5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGFzQWN0aW9uc1wiIHN0eWxlPVwibWF4LXdpZHRoOiAxMDBweFwiIGNsYXNzPVwiY2VudGVyZWRcIj5cclxuICAgICAgICAgICAgICA8cC1tZW51ICNtZW51IFttb2RlbF09XCJpdGVtLmFjdGlvbnNcIiBbcG9wdXBdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1tZW51PlxyXG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiYWN0aW9ucy1tZW51LWJ1dHRvbiBmYXMgZmEtY29nXCIgKGNsaWNrKT1cIm1lbnUudG9nZ2xlKCRldmVudClcIj48L2k+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImlzSHRtbENlbGwoY29sKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGxcIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJnZXRDZWxsQ29udGVudChpdGVtLCBjb2wpXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb2wgJiYgY29sLmNsaWNrRnVuY3Rpb24gJiYgY29sLmNsaWNrRnVuY3Rpb24oaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0Q29sU3R5bGUoY29sKVwiXHJcbiAgICAgICAgICAgICAgPjwvdGQ+XHJcbiAgICAgICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFpc0h0bWxDZWxsKGNvbClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb2wgJiYgY29sLmNsaWNrRnVuY3Rpb24gJiYgY29sLmNsaWNrRnVuY3Rpb24oaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0Q29sU3R5bGUoY29sKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHZlY3Rvci1iYWRnZVxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbC50eXBlID09PSAnVEVYVF9CQURHRScgJiYgISFjb2wuZ2V0U3RhdHVzXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIml0ZW1bY29sLmZpZWxkXVwiXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbC5nZXRTdGF0dXMoaXRlbVtjb2wuZmllbGRdKVwiXHJcbiAgICAgICAgICAgICAgICA+PC92ZWN0b3ItYmFkZ2U+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImVtcHR5bWVzc2FnZVwiPlxyXG4gICAgICAgICAgPHRyIGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cIm5vLXJlc3VsdHNcIiBbYXR0ci5jb2xzcGFuXT1cImNvbHVtbnMubGVuZ3RoICsgMVwiPk5lbmh1bSByZXN1bHRhZG8gZW5jb250cmFkbzwvdGQ+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInBhZ2luYXRvcnJpZ2h0XCI+IDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtIHBUZW1wbGF0ZT1cInBhZ2luYXRvcmRyb3Bkb3duaXRlbVwiPiB7eyBpdGVtLnZhbHVlIH19IDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInJvd2V4cGFuc2lvblwiIGxldC1pdGVtPlxyXG4gICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICA8dGQgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLmxlbmd0aCArIChoYXNBY3Rpb25zID8gMSA6IDApXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImV4cGFuc2lvblRlbXBsYXRlOyBjb250ZXh0OiB7IGl0ZW0gfVwiPiA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9wLXRhYmxlPlxyXG4gICAgPC92ZWN0b3ItcGFuZWw+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
322
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpZWxkcy9kYXRhLXRhYmxlL2RhdGEtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFnQyxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQXVDLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7QUFPN0UsTUFBTSxPQUFPLGtCQUFrQjtJQStHN0IsWUFBbUIsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUE3R2pDLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBRTVCLFNBQUksR0FBVSxFQUFFLENBQUM7UUFFakIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVs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QkFEZCxLQUFLO2dCQU1DLGFBQWE7c0JBRG5CLEtBQUs7Z0JBR0MscUJBQXFCO3NCQUQzQixLQUFLO2dCQUdDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0MsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUdDLG1CQUFtQjtzQkFEekIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFSyxhQUFhO3NCQUR2QixLQUFLO2dCQWVDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBR0ssTUFBTTtzQkFEaEIsS0FBSztnQkFvQkMsVUFBVTtzQkFEaEIsTUFBTTtnQkFHQSxRQUFRO3NCQURkLE1BQU07Z0JBR0EsS0FBSztzQkFEWCxNQUFNO2dCQUdBLGFBQWE7c0JBRG5CLE1BQU07Z0JBR0EsV0FBVztzQkFEakIsTUFBTTtnQkFHQSxjQUFjO3NCQURwQixNQUFNO2dCQUdBLGVBQWU7c0JBRHJCLE1BQU07Z0JBR0EsZ0JBQWdCO3NCQUR0QixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJDaGFuZ2VkRXZlbnQsIExpc3RJdGVtLCBTdGF0dXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVMYXp5TG9hZEV2ZW50LCBUYWJsZUNvbHVtbiwgVGFibGVDb2x1bW5UeXBlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RhdGEtdGFibGUubW9kZWwnO1xyXG5pbXBvcnQgeyBNYXNrVXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgRmlsdGVyRmllbGQsIEZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXJzL2ZpbHRlcnMuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAndmVjdG9yLWRhdGEtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRhLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY29sdW1uczogVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRhdGE6IGFueVtdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXhwb3J0RXhjZWwgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleHBvcnRQREYgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0b3RhbFJlY29yZHMgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkSGVhZGVyY2hlY2tib3ggPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaWx0ZXJzOiBGaWx0ZXJGaWVsZFtdID0gW107XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkSXRlbUxhYmVsID0gJyc7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnaW5hdGlvbiA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmlydHVhbFBhZ2luYXRpb24gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdGFicyhfdGFiczogTGlzdEl0ZW1bXSkge1xyXG4gICAgdGhpcy5fdGFicyA9IF90YWJzO1xyXG4gICAgdGhpcy5fdGFiU2VsZWN0ZWQgPSBfdGFic1swXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY3VzdG9tQnV0dG9uczogeyBsYWJlbDogc3RyaW5nOyBjbGlja0Z1bmN0aW9uOiBGdW5jdGlvbiB9W10gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkSXRlbUJ1dHRvblBsdXNTaWduID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGFzQWN0aW9uczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGFzRXhwYW5kYWJsZUljb24gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGROYW1lQ29sdW1uRXhwYW5kID0gJyc7XHJcbiAgQElucHV0KCkgZXhwYW5kYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGV4cGFuc2lvblRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PiB8IG51bGw7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNlbGVjdGlvbk1vZGUoX3NlbGVjdGlvbk1vZGUpIHtcclxuICAgIHN3aXRjaCAoX3NlbGVjdGlvbk1vZGUpIHtcclxuICAgICAgY2FzZSAnc2luZ2xlJzpcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlID0gJ3NpbmdsZSc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ211bHRpcGxlJzpcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlID0gJ211bHRpcGxlJztcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9zZWxlY3Rpb25Nb2RlID0gbnVsbDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2VsZWN0aW9uVHlwZTogJ2NoZWNrYm94JyB8ICdyYWRpb2J1dHRvbicgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaGVpZ2h0KF9oZWlnaHQ6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChfaGVpZ2h0KSB7XHJcbiAgICAgIGNhc2UgJ3NtYWxsJzpcclxuICAgICAgICB0aGlzLl9oZWlnaHQgPSAnMzAwcHgnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdtZWRpdW0nOlxyXG4gICAgICAgIHRoaXMuX2hlaWdodCA9ICc1MDBweCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2xhcmdlJzpcclxuICAgICAgICB0aGlzLl9oZWlnaHQgPSAnNzAwcHgnO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdmdWxsJzpcclxuICAgICAgICB0aGlzLl9oZWlnaHQgPSAnZmxleCc7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gJzMwMHB4JztcclxuICAgIH1cclxuICB9XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uTGF6eUxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGFUYWJsZUxhenlMb2FkRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uQWRkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkV4cG9ydEV4Y2VsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkV4cG9ydFBERiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25TZWxlY3RlZFJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25GaWx0ZXJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJDaGFuZ2VkRXZlbnQ+KCk7XHJcbiAgQFZpZXdDaGlsZChGaWx0ZXJzQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHB1YmxpYyBmaWx0ZXJzQ29tcG9uZW50OiBGaWx0ZXJzQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xyXG5cclxuICBwdWJsaWMgc2VsZWN0ZWRJdGVtczogYW55ID0gW107XHJcblxyXG4gIGdldCB0YWJzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RhYnM7XHJcbiAgfVxyXG4gIGdldCBoZWlnaHQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faGVpZ2h0O1xyXG4gIH1cclxuICBnZXQgc2VsZWN0aW9uTW9kZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25Nb2RlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uTW9kZTogJ3NpbmdsZScgfCAnbXVsdGlwbGUnIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfaGVpZ2h0OiBzdHJpbmcgPSAnc21hbGwnO1xyXG4gIHByaXZhdGUgX3RhYnM6IExpc3RJdGVtW10gPSBbXTtcclxuICBwcml2YXRlIF9kcmF3ID0gMTtcclxuICBwcml2YXRlIF9maXJzdExhenlMb2FkZWREb25lID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfbGFzdExhenlMb2FkRXZlbnQ6IERhdGFUYWJsZUxhenlMb2FkRXZlbnQgfCB1bmRlZmluZWQ7XHJcbiAgcHJpdmF0ZSBfdGFiU2VsZWN0ZWQ6IExpc3RJdGVtIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgX2ZpbHRlclN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMuaGVpZ2h0ID0gJ3NtYWxsJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMucGFnaW5hdGlvbiB8fCB0aGlzLnZpcnR1YWxQYWdpbmF0aW9uKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyc0NvbXBvbmVudD8uc2VhcmNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2ZpbHRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sU3R5bGUoY29sOiBUYWJsZUNvbHVtbikge1xyXG4gICAgcmV0dXJuIHsgJ21pbi13aWR0aCc6IGNvbC53aWR0aCB9O1xyXG4gIH1cclxuXHJcbiAgbGF6eUxvYWRlZChwYXJhbXM6IHsgZmlsdGVyOiBib29sZWFuOyBkYXRhOiBhbnkgfSA9IHsgZmlsdGVyOiBmYWxzZSwgZGF0YTogeyBzdGFydDogMCwgcm93czogMTAgfSB9KSB7XHJcbiAgICBpZiAoIXBhcmFtcy5maWx0ZXIpIHtcclxuICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuY29sdW1ucy5tYXAoKGNvbCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhOiBjb2wuZmllbGQsXHJcbiAgICAgICAgICBuYW1lOiBgJHtjb2wuZmllbGQuc3Vic3RyaW5nKDAsIDEpLnRvVXBwZXJDYXNlKCl9JHtjb2wuZmllbGQuc3Vic3RyaW5nKDEsIGNvbC5maWVsZC5sZW5ndGgpfWAsXHJcbiAgICAgICAgICBvcmRlcmFibGU6IHRydWUsXHJcbiAgICAgICAgICBzZWFyY2g6IHsgdmFsdWU6ICcnLCByZWdleDogZmFsc2UgfSxcclxuICAgICAgICAgIHNlYXJjaGFibGU6IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICh0aGlzLmhhc0FjdGlvbnMpIHtcclxuICAgICAgICBjb2x1bW5zLnVuc2hpZnQoe1xyXG4gICAgICAgICAgZGF0YTogJ2FjdGl2ZScsXHJcbiAgICAgICAgICBuYW1lOiAnQWN0aXZlJyxcclxuICAgICAgICAgIG9yZGVyYWJsZTogdHJ1ZSxcclxuICAgICAgICAgIHNlYXJjaDogeyB2YWx1ZTogJycsIHJlZ2V4OiBmYWxzZSB9LFxyXG4gICAgICAgICAgc2VhcmNoYWJsZTogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9sYXN0TGF6eUxvYWRFdmVudCA9IHtcclxuICAgICAgICAuLi4odGhpcy5fbGFzdExhenlMb2FkRXZlbnQgfHwgKHt9IGFzIGFueSkpLFxyXG4gICAgICAgIHBhZ2U6IHBhcmFtcy5kYXRhLmZpcnN0IC8gcGFyYW1zLmRhdGEucm93cyArIDEsXHJcbiAgICAgICAgc3RhcnQ6IHBhcmFtcy5kYXRhLmZpcnN0LFxyXG4gICAgICAgIGxlbmd0aDogcGFyYW1zLmRhdGEucm93cyxcclxuICAgICAgICBkcmF3OiB0aGlzLl9kcmF3KyssXHJcbiAgICAgICAgb3JkZXI6IHBhcmFtcy5kYXRhLnNvcnRGaWVsZFxyXG4gICAgICAgICAgPyBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgY29sdW1uOlxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbHVtbnMuZmluZEluZGV4KChjb2wpID0+IGNvbC5maWVsZCA9PT0gcGFyYW1zLmRhdGEuc29ydEZpZWxkKSArICh0aGlzLmhhc0FjdGlvbnMgPyAxIDogMCksXHJcbiAgICAgICAgICAgICAgICBkaXI6IHBhcmFtcy5kYXRhLnNvcnRPcmRlciA+IDAgPyAnYXNjJyA6ICdkZXNjJyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgICA6IFt7IGNvbHVtbjogMCwgZGlyOiAnZGVzYycgfV0sXHJcbiAgICAgICAgY29sdW1uczogY29sdW1ucyxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2xhc3RMYXp5TG9hZEV2ZW50ID0ge1xyXG4gICAgICAgIC4uLnRoaXMuX2xhc3RMYXp5TG9hZEV2ZW50LFxyXG4gICAgICAgIC4uLnBhcmFtcy5kYXRhLFxyXG4gICAgICAgIHN0YXJ0OiAwLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAodGhpcy5fdGFiU2VsZWN0ZWQpIHtcclxuICAgICAgICB0aGlzLl9sYXN0TGF6eUxvYWRFdmVudCA9IHtcclxuICAgICAgICAgIC4uLih0aGlzLl9sYXN0TGF6eUxvYWRFdmVudCB8fCAoe30gYXMgYW55KSksXHJcbiAgICAgICAgICAuLi57IFN0YXR1czogdGhpcy5fdGFiU2VsZWN0ZWQuY29kZSB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fZmlyc3RMYXp5TG9hZGVkRG9uZSkge1xyXG4gICAgICB0aGlzLm9uTGF6eUxvYWQuZW1pdCh0aGlzLl9sYXN0TGF6eUxvYWRFdmVudCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9maXJzdExhenlMb2FkZWREb25lID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGdldENlbGxDb250ZW50KGl0ZW06IGFueSwgY29sOiBUYWJsZUNvbHVtbikge1xyXG4gICAgbGV0IGNvbnRlbnQgPSBgPHNwYW4gY2xhc3M9XCJwLWNvbHVtbi10aXRsZVwiPiR7Y29sLmhlYWRlcn08L3NwYW4+PHNwYW4gY2xhc3M9XCJ3LTEwMFwiPmA7XHJcbiAgICBpZiAoIWNvbC50eXBlIHx8IGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuVEVYVCkge1xyXG4gICAgICBjb250ZW50ICs9IGl0ZW1bY29sLmZpZWxkXSB8fCAnJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sdW1uVHlwZS5DVVNUT01fU1RZTEUpIHtcclxuICAgICAgY29udGVudCArPSBgPHNwYW4gY2xhc3M9XCIke2NvbC50ZXh0RmllbGRDbGFzcyA/IGl0ZW1bY29sLnRleHRGaWVsZENsYXNzXSA6ICcnfVwiPiR7aXRlbVtjb2wuZmllbGQgfHwgJyddfTwvc3Bhbj5gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkJPT0xFQU4pIHtcclxuICAgICAgY29udGVudCArPSBgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyZWRcIj48aSBjbGFzcz1cIiBzdGF0dXMtdGFibGUtZmllbGQgZmFzIGZhLSR7XHJcbiAgICAgICAgaXRlbVtjb2wuZmllbGRdID8gJ2NoZWNrIGJvb2xlYW4tdmFsdWUtcG9zaXRpdmUnIDogJ3RpbWVzIGJvb2xlYW4tdmFsdWUtbmVnYXRpdmUnXHJcbiAgICAgIH1cIj48L2k+PC9kaXY+YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sdW1uVHlwZS5FTlVNICYmIGNvbC5nZXRFbnVtVHJhbnNsYXRlZCkge1xyXG4gICAgICBjb250ZW50ICs9IGNvbC5nZXRFbnVtVHJhbnNsYXRlZChpdGVtW2NvbC5maWVsZF0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkRBVEVUSU1FICYmIGl0ZW1bY29sLmZpZWxkXSkge1xyXG4gICAgICBjb25zdCBkYXRlVGltZSA9XHJcbiAgICAgICAgaXRlbVtjb2wuZmllbGRdIGluc3RhbmNlb2YgRGF0ZSA/IERhdGVUaW1lLmZyb21KU0RhdGUoaXRlbVtjb2wuZmllbGRdKSA6IERhdGVUaW1lLmZyb21JU08oaXRlbVtjb2wuZmllbGRdKTtcclxuICAgICAgY29udGVudCArPSBkYXRlVGltZS50b0Zvcm1hdCgnZGQvTU0veXl5eSBISDptbScpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLlNUQVRVU19CQURHRSkge1xyXG4gICAgICBjb250ZW50ICs9IGA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJlZFwiPjxpIGNsYXNzPVwiZmFzIGZhLWNpcmNsZSBzdGF0dXMtdGFibGUtZmllbGQgJHt0aGlzLmdldFN0YXR1c0NvbG9yKFxyXG4gICAgICAgIGl0ZW1bY29sLmZpZWxkXVxyXG4gICAgICApfVwiPjwvaT48L2Rpdj5gO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjb2wudHlwZSA9PT0gVGFibGVDb2x1bW5UeXBlLkFDVElWRV9CT09MRUFOX0JBREdFKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gYDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlcmVkXCI+PGkgY2xhc3M9XCJmYXMgZmEtY2lyY2xlIHN0YXR1cy10YWJsZS1maWVsZCAke3RoaXMuZ2V0QWN0aXZlU3RhdHVzQ29sb3IoXHJcbiAgICAgICAgaXRlbVtjb2wuZmllbGRdXHJcbiAgICAgICl9XCI+PC9pPjwvZGl2PmA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbC50eXBlID09PSBUYWJsZUNvbHVtblR5cGUuQlVUVE9OKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gYDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlcmVkXCI+PGkgY2xhc3M9XCJmYXMgJHtcclxuICAgICAgICBjb2wuaWNvbiB8fCAnZmEtY2lyY2xlJ1xyXG4gICAgICB9IHN0YXR1cy10YWJsZS1maWVsZCB0YWJsZS1idXR0b25cIj48L2k+PC9kaXY+YDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY29sLnR5cGUgPT09IFRhYmxlQ29sdW1uVHlwZS5NQVNLKSB7XHJcbiAgICAgIGNvbnRlbnQgKz0gTWFza1V0aWwuZG9NYXNrU3RyaW5nKGl0ZW1bY29sLmZpZWxkXSB8fCAnJywgY29sLm1hc2spO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnRlbnQgKz0gYDwvc3Bhbj5gO1xyXG4gICAgcmV0dXJuIGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBvblRhYkNoYW5nZSgkZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5fdGFiU2VsZWN0ZWQgPSB0aGlzLnRhYnNbJGV2ZW50LmluZGV4XTtcclxuICAgIHRoaXMubGF6eUxvYWRlZCh7IGZpbHRlcjogdHJ1ZSwgZGF0YToge30gfSk7XHJcbiAgfVxyXG5cclxuICBzdWJzY3JpYmVUb0ZpbHRlckNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLl9maWx0ZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX2ZpbHRlclN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICAgIE9iamVjdC5rZXlzKHRoaXMuZmlsdGVyc0NvbXBvbmVudD8uZm9ybUdyb3VwLmNvbnRyb2xzIHx8IHt9KS5mb3JFYWNoKChrZXkpID0+IHtcclxuICAgICAgdGhpcy5fZmlsdGVyU3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgICB0aGlzLmZpbHRlcnNDb21wb25lbnQ/LmZvcm1Hcm91cFxyXG4gICAgICAgICAgLmdldChrZXkpXHJcbiAgICAgICAgICA/LnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgzMDApKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5vbkZpbHRlckNoYW5nZWQuZW1pdCh7IGZpZWxkOiBrZXksIHZhbHVlIH0pO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5vbkZpbHRlckNoYW5nZWQuZW1pdCh7IGZpZWxkOiBrZXksIHZhbHVlOiB0aGlzLmZpbHRlcnNDb21wb25lbnQ/LmZvcm1Hcm91cC5nZXQoa2V5KT8udmFsdWUgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uUm93Q2xpY2soaXRlbTogYW55KSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxpc3RIYXNBY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5zb21lKChpdGVtKSA9PiBpdGVtLmFjdGlvbnM/Lmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFN0YXR1c0NvbG9yKHN0YXR1czogU3RhdHVzKSB7XHJcbiAgICBzd2l0Y2ggKHN0YXR1cykge1xyXG4gICAgICBjYXNlIFN0YXR1cy5QRU5ESU5HOlxyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIGNhc2UgU3RhdHVzLkFQUFJPVkVEOlxyXG4gICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgIGNhc2UgU3RhdHVzLlJFSkVDVEVEOlxyXG4gICAgICAgIHJldHVybiAnZXJyb3InO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBY3RpdmVTdGF0dXNDb2xvcihhY3RpdmU6IGJvb2xlYW4pIHtcclxuICAgIHJldHVybiBhY3RpdmUgPyAnc3VjY2VzcycgOiAnZXJyb3InO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZVNlbGVjdGVkSXRlbXModmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5vblNlbGVjdGVkUm93cy5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNIdG1sQ2VsbChjb2w6IFRhYmxlQ29sdW1uKSB7XHJcbiAgICBpZiAoIWNvbC50eXBlKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICFbVGFibGVDb2x1bW5UeXBlLlRFWFRfQkFER0VdLmluY2x1ZGVzKGNvbC50eXBlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb246IGFueSkge1xyXG4gICAgZm9yIChsZXQgaSA9IHNlbGVjdGlvbi5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICBsZXQgZGF0YSA9IHNlbGVjdGlvbltpXTtcclxuICAgICAgaWYgKGRhdGEuZGlzYWJsZWRDaGVja0JveCkge1xyXG4gICAgICAgIHNlbGVjdGlvbi5zcGxpY2UoaSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHNlbGVjdGlvbjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImdyaWRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICA8dmVjdG9yLWZpbHRlcnNcclxuICAgICAgW2ZpZWxkc109XCJmaWx0ZXJzXCJcclxuICAgICAgKG9uU2VhcmNoKT1cImxhenlMb2FkZWQoeyBmaWx0ZXI6IHRydWUsIGRhdGE6ICRldmVudCB9KVwiXHJcbiAgICAgIChmb3JtQnVpbGRlZCk9XCJzdWJzY3JpYmVUb0ZpbHRlckNoYW5nZXMoKVwiXHJcbiAgICA+PC92ZWN0b3ItZmlsdGVycz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwidGFibGUtaGVhZGVyLWFjdGlvbnMgZmllbGRcIiAqbmdJZj1cImFkZEl0ZW1MYWJlbCB8fCBleHBvcnRFeGNlbCB8fCBleHBvcnRQREZcIj5cclxuICAgIDxidXR0b24gKm5nSWY9XCJleHBvcnRFeGNlbFwiIChjbGljayk9XCJvbkV4cG9ydEV4Y2VsLmVtaXQoKVwiIGNsYXNzPVwiZXhwb3J0LWJ1dHRvbiBleHBvcnQtZXhjZWxcIj5cclxuICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZmlsZVwiPjwvaT48c3Bhbj5FeGNlbDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiAqbmdJZj1cImV4cG9ydFBERlwiIChjbGljayk9XCJvbkV4cG9ydFBERi5lbWl0KClcIiBjbGFzcz1cImV4cG9ydC1idXR0b24gZXhwb3J0LXBkZlwiPlxyXG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1maWxlXCI+PC9pPjxzcGFuPlBERjwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPHZlY3Rvci1idXR0b25cclxuICAgICAgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBjdXN0b21CdXR0b25zXCJcclxuICAgICAgY2xhc3M9XCJhZGQtaXRlbS1idXR0b25cIlxyXG4gICAgICBbbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcclxuICAgICAgKGNsaWNrKT1cImJ1dHRvbi5jbGlja0Z1bmN0aW9uKClcIlxyXG4gICAgICBbcmlnaHRJY29uXT1cImFkZEl0ZW1CdXR0b25QbHVzU2lnbiA/ICdwaSBwaS1wbHVzJyA6ICcnXCJcclxuICAgID48L3ZlY3Rvci1idXR0b24+XHJcbiAgICA8dmVjdG9yLWJ1dHRvblxyXG4gICAgICAqbmdJZj1cImFkZEl0ZW1MYWJlbFwiXHJcbiAgICAgIGNsYXNzPVwiYWRkLWl0ZW0tYnV0dG9uXCJcclxuICAgICAgW2xhYmVsXT1cImFkZEl0ZW1MYWJlbFwiXHJcbiAgICAgIChjbGljayk9XCJvbkFkZC5lbWl0KClcIlxyXG4gICAgICBbcmlnaHRJY29uXT1cImFkZEl0ZW1CdXR0b25QbHVzU2lnbiA/ICdwaSBwaS1wbHVzJyA6ICcnXCJcclxuICAgID48L3ZlY3Rvci1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgPHZlY3Rvci1wYW5lbCBjbGFzcz1cImRhdGEtdGFibGUtcGFuZWxcIj5cclxuICAgICAgPHAtdGFiVmlldyAob25DaGFuZ2UpPVwib25UYWJDaGFuZ2UoJGV2ZW50KVwiICpuZ0lmPVwidGFicz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgPHAtdGFiUGFuZWwgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCIgW2hlYWRlcl09XCJ0YWIubmFtZVwiPjwvcC10YWJQYW5lbD5cclxuICAgICAgPC9wLXRhYlZpZXc+XHJcbiAgICAgIDxwLXRhYmxlXHJcbiAgICAgICAgY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZT1cIk1vc3RyYW5kbyB7Zmlyc3R9IGF0w6kge2xhc3R9IGRlIHt0b3RhbFJlY29yZHN9IHJlZ2lzdHJvc1wiXHJcbiAgICAgICAgc29ydE1vZGU9XCJzaW5nbGVcIlxyXG4gICAgICAgIFtyb3dzXT1cIjEwXCJcclxuICAgICAgICBbbGF6eV09XCJwYWdpbmF0aW9uICYmICF2aXJ0dWFsUGFnaW5hdGlvblwiXHJcbiAgICAgICAgW3ZhbHVlXT1cImRhdGFcIlxyXG4gICAgICAgIFtwYWdpbmF0b3JdPVwicGFnaW5hdGlvblwiXHJcbiAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG4gICAgICAgIFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Jvd3NQZXJQYWdlT3B0aW9uc109XCJbMTAsIDI1LCA1MCwgMTAwXVwiXHJcbiAgICAgICAgW3Jlc3BvbnNpdmVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Jlc2l6YWJsZUNvbHVtbnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Njcm9sbGFibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgc2Nyb2xsRGlyZWN0aW9uPVwidmVydGljYWxcIlxyXG4gICAgICAgIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIlxyXG4gICAgICAgIGRhdGFLZXk9XCJpZFwiXHJcbiAgICAgICAgW3Njcm9sbEhlaWdodF09XCJoZWlnaHRcIlxyXG4gICAgICAgIFthdHRyLnNlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZVwiXHJcbiAgICAgICAgWyhzZWxlY3Rpb24pXT1cInNlbGVjdGVkSXRlbXNcIlxyXG4gICAgICAgIChvblJvd1NlbGVjdCk9XCJjaGFuZ2VTZWxlY3RlZEl0ZW1zKCRldmVudClcIlxyXG4gICAgICAgIChvbkhlYWRlckNoZWNrYm94VG9nZ2xlKT1cImNoYW5nZVNlbGVjdGVkSXRlbXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uUm93VW5zZWxlY3QpPVwiY2hhbmdlU2VsZWN0ZWRJdGVtcygkZXZlbnQpXCJcclxuICAgICAgICAob25MYXp5TG9hZCk9XCJsYXp5TG9hZGVkKHsgZmlsdGVyOiBmYWxzZSwgZGF0YTogJGV2ZW50IH0pXCJcclxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgPHRyIGNsYXNzPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICAgIDx0aCBzdHlsZT1cIm1heC13aWR0aDogM3JlbVwiICpuZ0lmPVwic2VsZWN0aW9uVHlwZSA9PT0gJ2NoZWNrYm94J1wiPlxyXG4gICAgICAgICAgICAgIDxwLXRhYmxlSGVhZGVyQ2hlY2tib3ggW2Rpc2FibGVkXT1cImRpc2FibGVkSGVhZGVyY2hlY2tib3hcIj48L3AtdGFibGVIZWFkZXJDaGVja2JveD5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRoIHN0eWxlPVwibWF4LXdpZHRoOiAxNTBweFwiIGNsYXNzPVwiY2VudGVyZWQgdGV4dC1jZW50ZXJcIiAqbmdJZj1cImhhc0V4cGFuZGFibGVJY29uXCI+XHJcbiAgICAgICAgICAgICAge3sgYWRkTmFtZUNvbHVtbkV4cGFuZCB9fVxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8dGggc3R5bGU9XCJtYXgtd2lkdGg6IDEwMHB4XCIgY2xhc3M9XCJjZW50ZXJlZFwiICpuZ0lmPVwiaGFzQWN0aW9uc1wiPkHDp8O1ZXM8L3RoPlxyXG4gICAgICAgICAgICA8dGhcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIlxyXG4gICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldENvbFN0eWxlKGNvbClcIlxyXG4gICAgICAgICAgICAgIFtwU29ydGFibGVDb2x1bW5dPVwiY29sLm5vdFNvcnRhYmxlID8gJycgOiBjb2wuZmllbGRcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge3sgY29sLmhlYWRlciB9fSA8cC1zb3J0SWNvbiAqbmdJZj1cIiFjb2wubm90U29ydGFibGVcIiBbZmllbGRdPVwiY29sLmZpZWxkXCI+PC9wLXNvcnRJY29uPlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXJvd0RhdGEgbGV0LWl0ZW0gbGV0LWV4cGFuZGVkPVwiZXhwYW5kZWRcIj5cclxuICAgICAgICAgIDx0clxyXG4gICAgICAgICAgICBjbGFzcz1cInJvd1wiXHJcbiAgICAgICAgICAgIFtwU2VsZWN0YWJsZVJvd109XCJyb3dEYXRhXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieyBleHBhbmRhYmxlOiBleHBhbmRhYmxlIH1cIlxyXG4gICAgICAgICAgICBbcFJvd1RvZ2dsZXJdPVwiZXhwYW5kYWJsZSA/IGl0ZW0gOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25Sb3dDbGljayhpdGVtKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25UeXBlID09PSAnY2hlY2tib3gnXCI+XHJcbiAgICAgICAgICAgICAgPHRkIHN0eWxlPVwibWF4LXdpZHRoOiAzcmVtOyBwYWRkaW5nLWxlZnQ6IDEwcHhcIiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cIml0ZW1cIiBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZENoZWNrQm94XCI+PC9wLXRhYmxlQ2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3Rpb25UeXBlID09PSAncmFkaW9idXR0b24nXCI+XHJcbiAgICAgICAgICAgICAgPHRkIHN0eWxlPVwibWF4LXdpZHRoOiAzcmVtOyBwYWRkaW5nLWxlZnQ6IDEwcHhcIiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxwLXRhYmxlUmFkaW9CdXR0b24gW3ZhbHVlXT1cIml0ZW1cIj48L3AtdGFibGVSYWRpb0J1dHRvbj5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiaGFzRXhwYW5kYWJsZUljb25cIiBzdHlsZT1cIm1heC13aWR0aDogMTUwcHhcIiBjbGFzcz1cImNlbnRlcmVkXCI+XHJcbiAgICAgICAgICAgICAgPHAtbWVudSAjbWVudSBbbW9kZWxdPVwiaXRlbS5hY3Rpb25zXCIgW3BvcHVwXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIj48L3AtbWVudT5cclxuICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgICAgICAgICAgICAgIGV4cGFuZGVkID8gJ2FjdGlvbnMtbWVudS1idXR0b24gcGkgcGktY2hldnJvbi1kb3duJyA6ICdhY3Rpb25zLW1lbnUtYnV0dG9uIHBpIHBpLWNoZXZyb24tcmlnaHQnXHJcbiAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCAqbmdJZj1cImhhc0FjdGlvbnNcIiBzdHlsZT1cIm1heC13aWR0aDogMTAwcHhcIiBjbGFzcz1cImNlbnRlcmVkXCI+XHJcbiAgICAgICAgICAgICAgPHAtbWVudSAjbWVudSBbbW9kZWxdPVwiaXRlbS5hY3Rpb25zXCIgW3BvcHVwXT1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIj48L3AtbWVudT5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImFjdGlvbnMtbWVudS1idXR0b24gZmFzIGZhLWNvZ1wiIChjbGljayk9XCJtZW51LnRvZ2dsZSgkZXZlbnQpXCI+PC9pPlxyXG4gICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc0h0bWxDZWxsKGNvbClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjZWxsXCJcclxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiZ2V0Q2VsbENvbnRlbnQoaXRlbSwgY29sKVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29sICYmIGNvbC5jbGlja0Z1bmN0aW9uICYmIGNvbC5jbGlja0Z1bmN0aW9uKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldENvbFN0eWxlKGNvbClcIlxyXG4gICAgICAgICAgICAgID48L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNIdG1sQ2VsbChjb2wpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY29sICYmIGNvbC5jbGlja0Z1bmN0aW9uICYmIGNvbC5jbGlja0Z1bmN0aW9uKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldENvbFN0eWxlKGNvbClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDx2ZWN0b3ItYmFkZ2VcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2wudHlwZSA9PT0gJ1RFWFRfQkFER0UnICYmICEhY29sLmdldFN0YXR1c1wiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJpdGVtW2NvbC5maWVsZF1cIlxyXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJjb2wuZ2V0U3RhdHVzKGl0ZW1bY29sLmZpZWxkXSlcIlxyXG4gICAgICAgICAgICAgICAgPjwvdmVjdG9yLWJhZGdlPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJlbXB0eW1lc3NhZ2VcIj5cclxuICAgICAgICAgIDx0ciBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJuby1yZXN1bHRzXCIgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLmxlbmd0aCArIDFcIj5OZW5odW0gcmVzdWx0YWRvIGVuY29udHJhZG88L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJwYWdpbmF0b3JyaWdodFwiPiA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbSBwVGVtcGxhdGU9XCJwYWdpbmF0b3Jkcm9wZG93bml0ZW1cIj4ge3sgaXRlbS52YWx1ZSB9fSA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJyb3dleHBhbnNpb25cIiBsZXQtaXRlbT5cclxuICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPHRkIFthdHRyLmNvbHNwYW5dPVwiY29sdW1ucy5sZW5ndGggKyAoaGFzQWN0aW9ucyA/IDEgOiAwKVwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJleHBhbnNpb25UZW1wbGF0ZTsgY29udGV4dDogeyBpdGVtIH1cIj4gPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvcC10YWJsZT5cclxuICAgIDwvdmVjdG9yLXBhbmVsPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -188,4 +188,4 @@ export var ProfileModuleActionType;
188
188
  ProfileModuleActionType["SHOW_TRIP_OFFERT"] = "Trip Offer Show";
189
189
  ProfileModuleActionType["ADD_LASTNAME_LOCATION"] = "Add LastName Location";
190
190
  })(ProfileModuleActionType || (ProfileModuleActionType = {}));
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9wcm9maWxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZCQSxNQUFNLENBQU4sSUFBWSxpQkFNWDtBQU5ELFdBQVksaUJBQWlCO0lBQzNCLHFFQUFnRCxDQUFBO0lBQ2hELG1EQUE4QixDQUFBO0lBQzlCLHFFQUFzQyxDQUFBO0lBQ3RDLDZEQUF3QyxDQUFBO0lBQ3hDLDBEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUFOVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBTTVCO0FBRUQsTUFBTSxDQUFOLElBQVksdUJBb0xYO0FBcExELFdBQVksdUJBQXVCO0lBQ2pDLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLG9EQUF5QixDQUFBO0lBQ3pCLHNEQUEyQixDQUFBO0lBQzNCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLDBFQUErQyxDQUFBO0lBQy9DLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLG9GQUF5RCxDQUFBO0lBQ3pELGtGQUF1RCxDQUFBO0lBQ3ZELG9GQUF5RCxDQUFBO0lBQ3pELDhFQUFtRCxDQUFBO0lBQ25ELDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLGtFQUF1QyxDQUFBO0lBQ3ZDLHNFQUEyQyxDQUFBO0lBQzNDLDhEQUFtQyxDQUFBO0lBQ25DLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLDhEQUFtQyxDQUFBO0lBQ25DLHdEQUE2QixDQUFBO0lBQzdCLDhDQUFtQixDQUFBO0lBQ25CLGdEQUFxQixDQUFBO0lBQ3JCLG9EQUF5QixDQUFBO0lBQ3pCLGdEQUFxQixDQUFBO0lBQ3JCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLGtGQUF1RCxDQUFBO0lBQ3ZELG9GQUF5RCxDQUFBO0lBQ3pELG9GQUF5RCxDQUFBO0lBQ3pELDREQUFpQyxDQUFBO0lBQ2pDLDhEQUFtQyxDQUFBO0lBQ25DLGtFQUF1QyxDQUFBO0lBQ3ZDLGtHQUF1RSxDQUFBO0lBQ3ZFLG9HQUF5RSxDQUFBO0lBQ3pFLG9HQUF5RSxDQUFBO0lBQ3pFLDhEQUFtQyxDQUFBO0lBQ25DLDhEQUFtQyxDQUFBO0lBQ25DLG9HQUF5RSxDQUFBO0lBQ3pFLG9HQUF5RSxDQUFBO0lBQ3pFLG9GQUF5RCxDQUFBO0lBQ3pELHNGQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGdFQUFxQyxDQUFBO0lBQ3JDLDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDhGQUFtRSxDQUFBO0lBQ25FLDRGQUFpRSxDQUFBO0lBQ2pFLDRGQUFpRSxDQUFBO0lBQ2pFLDBGQUErRCxDQUFBO0lBQy9ELDRGQUFpRSxDQUFBO0lBQ2pFLGdHQUFxRSxDQUFBO0lBQ3JFLDBGQUErRCxDQUFBO0lBQy9ELHdGQUE2RCxDQUFBO0lBQzdELDBGQUErRCxDQUFBO0lBQy9ELDhGQUFtRSxDQUFBO0lBQ25FLHdGQUE2RCxDQUFBO0lBQzdELHNGQUEyRCxDQUFBO0lBQzNELHdGQUE2RCxDQUFBO0lBQzdELDRGQUFpRSxDQUFBO0lBQ2pFLDRGQUFpRSxDQUFBO0lBQ2pFLDBGQUErRCxDQUFBO0lBQy9ELDRGQUFpRSxDQUFBO0lBQ2pFLGdHQUFxRSxDQUFBO0lBQ3JFLDhFQUFtRCxDQUFBO0lBQ25ELDRFQUFpRCxDQUFBO0lBQ2pELGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLHdFQUE2QyxDQUFBO0lBQzdDLDhFQUFtRCxDQUFBO0lBQ25ELDRFQUFpRCxDQUFBO0lBQ2pELDhFQUFtRCxDQUFBO0lBQ25ELHNFQUEyQyxDQUFBO0lBQzNDLG9FQUF5QyxDQUFBO0lBQ3pDLHNFQUEyQyxDQUFBO0lBQzNDLDBFQUErQyxDQUFBO0lBQy9DLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLHdFQUE2QyxDQUFBO0lBQzdDLHNFQUEyQyxDQUFBO0lBQzNDLGtHQUF1RSxDQUFBO0lBQ3ZFLHdIQUE2RixDQUFBO0lBQzdGLGtIQUF1RixDQUFBO0lBQ3ZGLGdFQUFxQyxDQUFBO0lBQ3JDLDhEQUFtQyxDQUFBO0lBQ25DLDhEQUFtQyxDQUFBO0lBQ25DLHdEQUE2QixDQUFBO0lBQzdCLGtEQUF1QixDQUFBO0lBQ3ZCLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLG9EQUF5QixDQUFBO0lBQ3pCLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLHVFQUE0QyxDQUFBO0lBQzVDLHlFQUE4QyxDQUFBO0lBQzlDLHlFQUE4QyxDQUFBO0lBQzlDLDZFQUFrRCxDQUFBO0lBQ2xELHdEQUE2QixDQUFBO0lBQzdCLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLDRFQUFpRCxDQUFBO0lBQ2pELGdGQUFxRCxDQUFBO0lBQ3JELDhFQUFtRCxDQUFBO0lBQ25ELGdFQUFxQyxDQUFBO0lBQ3JDLGtEQUF1QixDQUFBO0lBQ3ZCLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLDhFQUFtRCxDQUFBO0lBQ25ELDBHQUErRSxDQUFBO0lBQy9FLDRHQUFpRixDQUFBO0lBQ2pGLDRHQUFpRixDQUFBO0lBQ2pGLGdIQUFxRixDQUFBO0lBQ3JGLG1IQUF3RixDQUFBO0lBQ3hGLHFIQUEwRixDQUFBO0lBQzFGLHFIQUEwRixDQUFBO0lBQzFGLHlIQUE4RixDQUFBO0lBQzlGLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLHVFQUE0QyxDQUFBO0lBQzVDLDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELGdGQUFxRCxDQUFBO0lBQ3JELDBFQUErQyxDQUFBO0lBQy9DLDRFQUFpRCxDQUFBO0lBQ2pELHdGQUE2RCxDQUFBO0lBQzdELGtEQUF1QixDQUFBO0lBQ3ZCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLGdEQUFxQixDQUFBO0lBQ3JCLG9FQUF5QyxDQUFBO0lBQ3pDLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLG9EQUF5QixDQUFBO0lBQ3pCLDBEQUErQixDQUFBO0lBQy9CLHdFQUE2QyxDQUFBO0lBQzdDLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLGtFQUF1QyxDQUFBO0lBQ3ZDLHNFQUEyQyxDQUFBO0lBQzNDLHNFQUEyQyxDQUFBO0lBQzNDLHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELDhFQUFtRCxDQUFBO0lBQ25ELGtGQUF1RCxDQUFBO0lBQ3ZELHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGtFQUF1QyxDQUFBO0lBQ3ZDLDBFQUErQyxDQUFBO0lBQy9DLHNEQUEyQixDQUFBO0lBQzNCLCtEQUFvQyxDQUFBO0lBQ3BDLDBFQUErQyxDQUFBO0FBQ2pELENBQUMsRUFwTFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQW9MbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVGFibGVCYXNlSXRlbSB9IGZyb20gJy4vZGF0YS10YWJsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHByb2ZpbGVUeXBlSWQ6IG51bWJlcjtcclxuICBQcm9maWxlVHlwZU5hbWU6IHN0cmluZztcclxuICBtb2R1bGVzOiBQcm9maWxlTW9kdWxlW107XHJcbn0gJiBEYXRhVGFibGVCYXNlSXRlbTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2ZpbGVNb2R1bGUgPSB7XHJcbiAgbWVudTogc3RyaW5nO1xyXG4gIGFjdGlvbnM6IFByb2ZpbGVNb2R1bGVBY3Rpb25bXTtcclxufSAmIFByb2ZpbGVNb2R1bGVCYXNlO1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZmlsZU1vZHVsZUdyb3VwZWRCeU1lbnUgPSB7XHJcbiAgbWVudTogc3RyaW5nO1xyXG4gIG1vZHVsZXM6IFByb2ZpbGVNb2R1bGVbXTtcclxuICBjaGlsZHJlbj86IFByb2ZpbGVNb2R1bGVHcm91cGVkQnlNZW51W107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlTW9kdWxlQWN0aW9uID0ge30gJiBQcm9maWxlTW9kdWxlQmFzZTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2ZpbGVNb2R1bGVCYXNlID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGlzQXZhaWxhYmxlPzogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIFByb2ZpbGVNb2R1bGVUeXBlIHtcclxuICBPUEVSQVRJT05BTF9FVkFMVUFUSU9OID0gJ09wZXJhdGlvbmFsRXZhbHVhdGlvbicsXHJcbiAgQURNSU5fU1VSVkVZUyA9ICdBZG1pblN1cnZleXMnLFxyXG4gIERJR0lUQUxfRElTQ0hBUkdFID0gJ1F1aXRhw6fDo28gRGlnaXRhbCcsXHJcbiAgUkVHSVNURVJfT1BFUkFUSU9OID0gJ1JlZ2lzdGVyT3BlcmF0aW9uJyxcclxuICBSRUdJU1RFUl9QUk9EVUNUUyA9ICdSZWdpc3RlclByb2R1Y3QnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQcm9maWxlTW9kdWxlQWN0aW9uVHlwZSB7XHJcbiAgQUREX1ZFSElDTEUgPSAnQWRkIFZlaGljbGUnLFxyXG4gIEVESVRfVkVISUNMRSA9ICdFZGl0IFZlaGljbGUnLFxyXG4gIERFTEVURV9WRUhJQ0xFID0gJ0RlbGV0ZSBWZWhpY2xlJyxcclxuICBTSE9XX1ZFSElDTEUgPSAnU2hvdyBWZWhpY2xlJyxcclxuICBBRERfRFJJVkVSID0gJ0FkZCBEcml2ZXInLFxyXG4gIEVESVRfRFJJVkVSID0gJ0VkaXQgRHJpdmVyJyxcclxuICBERUxFVEVfRFJJVkVSID0gJ0RlbGV0ZSBEcml2ZXInLFxyXG4gIFNIT1dfRFJJVkVSID0gJ1Nob3cgRHJpdmVyJyxcclxuICBBRERfQ0FSUklFUiA9ICdBZGQgQ2FycmllcicsXHJcbiAgRURJVF9DQVJSSUVSID0gJ0VkaXQgQ2FycmllcicsXHJcbiAgREVMRVRFX0NBUlJJRVIgPSAnRGVsZXRlIENhcnJpZXInLFxyXG4gIFNIT1dfQ0FSUklFUiA9ICdTaG93IENhcnJpZXInLFxyXG4gIEFERF9QUk9GSUxFID0gJ0FkZCBQcm9maWxlJyxcclxuICBFRElUX1BST0ZJTEUgPSAnRWRpdCBQcm9maWxlJyxcclxuICBERUxFVEVfUFJPRklMRSA9ICdEZWxldGUgUHJvZmlsZScsXHJcbiAgU0hPV19QUk9GSUxFID0gJ1Nob3cgUHJvZmlsZScsXHJcbiAgRURJVF9CUk9BRENBU1RfVkFMVUVTID0gJ0VkaXQgQnJvYWRjYXN0IFZhbHVlcycsXHJcbiAgQUREX1dBVkUgPSAnQWRkIFdhdmUnLFxyXG4gIEVESVRfV0FWRSA9ICdFZGl0IFdhdmUnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19WRUhJQ0xFID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBWZWhpY2xlJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfRFJJVkVSID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBEcml2ZXInLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19DQVJSSUVSID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBDYXJyaWVyJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfVFJJUCA9ICdIaXN0b3JpY2FsIENoYW5nZXMgVHJpcCcsXHJcbiAgSElTVE9SSUNBTF9DSEFOR0VTX1VTRVIgPSAnSGlzdG9yaWNhbCBDaGFuZ2VzIFVzZXInLFxyXG4gIENBTkNFTF9UUklQUyA9ICdDYW5jZWwgVHJpcHMnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19MT1RTID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBMb3RzJyxcclxuICBBRERfTE9DQVRJT04gPSAnQWRkIExvY2F0aW9uJyxcclxuICBFRElUX0xPQ0FUSU9OID0gJ0VkaXQgTG9jYXRpb24nLFxyXG4gIFNIT1dfTE9DQVRJT04gPSAnU2hvdyBMb2NhdGlvbicsXHJcbiAgQUREX1JFU1RSSUNUSU9OUyA9ICdBZGQgUmVzdHJpY3Rpb25zJyxcclxuICBFRElUX1JFU1RSSUNUSU9OUyA9ICdFZGl0IFJlc3RyaWN0aW9ucycsXHJcbiAgU0hPV19SRVNUUklDVElPTlMgPSAnU2hvdyBSZXN0cmljdGlvbnMnLFxyXG4gIERFTEVURV9SRVNUUklDVElPTlMgPSAnRGVsZXRlIFJlc3RyaWN0aW9ucycsXHJcbiAgREVMRVRFX0xPQ0FUSU9OID0gJ0RlbGV0ZSBMb2NhdGlvbicsXHJcbiAgU0hPV19NRVNTQUdFUyA9ICdTaG93IE1lc3NhZ2VzJyxcclxuICBFRElUX01FU1NBR0VTID0gJ0VkaXQgTWVzc2FnZXMnLFxyXG4gIERFTEVURV9NRVNTQUdFUyA9ICdEZWxldGUgTWVzc2FnZXMnLFxyXG4gIEFERF9NRVNTQUdFUyA9ICdBZGQgTWVzc2FnZXMnLFxyXG4gIEFERF9MT1QgPSAnQWRkIExvdCcsXHJcbiAgRURJVF9MT1QgPSAnRWRpdCBMb3QnLFxyXG4gIERFTEVURV9MT1QgPSAnRGVsZXRlIExvdCcsXHJcbiAgU0hPV19MT1QgPSAnU2hvdyBMb3QnLFxyXG4gIEFDQ0VQVF9DUkVESVQgPSAnQWNjZXB0IENyZWRpdCcsXHJcbiAgU0hPV19DUkVESVQgPSAnU2hvdyBDcmVkaXQnLFxyXG4gIEFERF9WRUhJQ0xFX0NPTkZJR1VSQVRJT04gPSAnQWRkIFZlaGljbGUgQ29uZmlndXJhdGlvbicsXHJcbiAgRURJVF9WRUhJQ0xFX0NPTkZJR1VSQVRJT04gPSAnRWRpdCBWZWhpY2xlIENvbmZpZ3VyYXRpb24nLFxyXG4gIFNIT1dfVkVISUNMRV9DT05GSUdVUkFUSU9OID0gJ1Nob3cgVmVoaWNsZSBDb25maWd1cmF0aW9uJyxcclxuICBBRERfU0NIRURVTElORyA9ICdBZGQgU2NoZWR1bGluZycsXHJcbiAgRURJVF9TQ0hFRFVMSU5HID0gJ0VkaXQgU2NoZWR1bGluZycsXHJcbiAgREVMRVRFX1NDSEVEVUxJTkcgPSAnRGVsZXRlIFNjaGVkdWxpbmcnLFxyXG4gIEFERF9WRUhJQ0xFX0NPTkZJR1VSQVRJT05fU0hJUFBFUiA9ICdBZGQgVmVoaWNsZSBDb25maWd1cmF0aW9uIFNoaXBwZXInLFxyXG4gIEVESVRfVkVISUNMRV9DT05GSUdVUkFUSU9OX1NISVBQRVIgPSAnRWRpdCBWZWhpY2xlIENvbmZpZ3VyYXRpb24gU2hpcHBlcicsXHJcbiAgU0hPV19WRUhJQ0xFX0NPTkZJR1VSQVRJT05fU0hJUFBFUiA9ICdTaG93IFZlaGljbGUgQ29uZmlndXJhdGlvbiBTaGlwcGVyJyxcclxuICBFRElUX1RSSVBfQlVOR0UgPSAnRWRpdCB0cmlwIEJ1bmdlJyxcclxuICBFRElUX1RSSVBfQ09GQ08gPSAnRWRpdCB0cmlwIENvZmNvJyxcclxuICBTSE9XX01JTklNVU1fVFJBTlNQT1JUX1BSSUNFX1RBQkxFID0gJ1Nob3cgTWluaW11bSBUcmFuc3BvcnQgUHJpY2UgVGFibGUnLFxyXG4gIEVESVRfTUlOSU1VTV9UUkFOU1BPUlRfUFJJQ0VfVEFCTEUgPSAnRWRpdCBNaW5pbXVtIFRyYW5zcG9ydCBQcmljZSBUYWJsZScsXHJcbiAgSElTVE9SSUNBTF9DSEFOR0VTX0NSRURJVFMgPSAnSGlzdG9yaWNhbCBDaGFuZ2VzIENyZWRpdHMnLFxyXG4gIElOVEVHUkHDh8ODT19QQUdCRU0gPSAnSW50ZWdyYcOnw6NvIFBhZ2JlbScsXHJcbiAgVkFMSURBVElPTl9DQVJSSUVSID0gJ1ZhbGlkYXRpb24gQ2FycmllcicsXHJcbiAgVkFMSURBVElPTl9EUklWRVIgPSAnVmFsaWRhdGlvbiBEcml2ZXInLFxyXG4gIFZBTElEQVRJT05fVkVISUNMRSA9ICdWYWxpZGF0aW9uIFZlaGljbGUnLFxyXG4gIEVESVRfVFJJUF9TVEFUVVMgPSAnRWRpdCB0cmlwIHN0YXR1cycsXHJcbiAgUkVHSVNUUkFUSU9OX1ZBTElEQVRJT04gPSAnUmVnaXN0cmF0aW9uIFZhbGlkYXRpb24nLFxyXG4gIEIzX09QRVJBVElPTiA9ICdCMyBPcGVyYXRpb24nLFxyXG4gIFNIT1dfQ0FSUklFUl9ERVRBSUxfSU5URUdSQVRJT04gPSAnU2hvdyBDYXJyaWVyIERldGFpbCBJbnRlZ3JhdGlvbicsXHJcbiAgU0hPV19EUklWRVJfREVUQUlMX0lOVEVHUkFUSU9OID0gJ1Nob3cgRHJpdmVyIERldGFpbCBJbnRlZ3JhdGlvbicsXHJcbiAgRlVFTFNfU0hPV19ESVNUUklCVVRJT05fQ0VOVEVSID0gJ0Z1ZWxzIHNob3cgZGlzdHJpYnV0aW9uIGNlbnRlcicsXHJcbiAgRlVFTFNfQUREX0RJU1RSSUJVVElPTl9DRU5URVIgPSAnRnVlbHMgYWRkIGRpc3RyaWJ1dGlvbiBjZW50ZXInLFxyXG4gIEZVRUxTX0VESVRfRElTVFJJQlVUSU9OX0NFTlRFUiA9ICdGdWVscyBlZGl0IGRpc3RyaWJ1dGlvbiBjZW50ZXInLFxyXG4gIEZVRUxTX0RFTEVURV9ESVNUUklCVVRJT05fQ0VOVEVSID0gJ0Z1ZWxzIGRlbGV0ZSBkaXN0cmlidXRpb24gY2VudGVyJyxcclxuICBGVUVMU19TSE9XX0RJU1RSSUJVVElPTl9QT0lOVCA9ICdGdWVscyBzaG93IGRpc3RyaWJ1dGlvbiBwb2ludCcsXHJcbiAgRlVFTFNfQUREX0RJU1RSSUJVVElPTl9QT0lOVCA9ICdGdWVscyBhZGQgZGlzdHJpYnV0aW9uIHBvaW50JyxcclxuICBGVUVMU19FRElUX0RJU1RSSUJVVElPTl9QT0lOVCA9ICdGdWVscyBlZGl0IGRpc3RyaWJ1dGlvbiBwb2ludCcsXHJcbiAgRlVFTFNfREVMRVRFX0RJU1RSSUJVVElPTl9QT0lOVCA9ICdGdWVscyBkZWxldGUgZGlzdHJpYnV0aW9uIHBvaW50JyxcclxuICBGVUVMU19TSE9XX0RJU1RSSUJVVElPTl9QT1NUID0gJ0Z1ZWxzIHNob3cgZGlzdHJpYnV0aW9uIHBvc3QnLFxyXG4gIEZVRUxTX0FERF9ESVNUUklCVVRJT05fUE9TVCA9ICdGdWVscyBhZGQgZGlzdHJpYnV0aW9uIHBvc3QnLFxyXG4gIEZVRUxTX0VESVRfRElTVFJJQlVUSU9OX1BPU1QgPSAnRnVlbHMgZWRpdCBkaXN0cmlidXRpb24gcG9zdCcsXHJcbiAgRlVFTFNfREVMRVRFX0RJU1RSSUJVVElPTl9QT1NUID0gJ0Z1ZWxzIGRlbGV0ZSBkaXN0cmlidXRpb24gcG9zdCcsXHJcbiAgRlVFTFNfU0hPV19NQVJLRVRQTEFDRV9QUk9EVUNUID0gJ0Z1ZWxzIHNob3cgbWFya2V0cGxhY2UgcHJvZHVjdCcsXHJcbiAgRlVFTFNfQUREX01BUktFVFBMQUNFX1BST0RVQ1QgPSAnRnVlbHMgYWRkIG1hcmtldHBsYWNlIHByb2R1Y3QnLFxyXG4gIEZVRUxTX0VESVRfTUFSS0VUUExBQ0VfUFJPRFVDVCA9ICdGdWVscyBlZGl0IG1hcmtldHBsYWNlIHByb2R1Y3QnLFxyXG4gIEZVRUxTX0RFTEVURV9NQVJLRVRQTEFDRV9QUk9EVUNUID0gJ0Z1ZWxzIGRlbGV0ZSBtYXJrZXRwbGFjZSBwcm9kdWN0JyxcclxuICBGVUVMU19TSE9XX1NUT0NLX1VQREFURSA9ICdGdWVscyBzaG93IHN0b2NrIHVwZGF0ZScsXHJcbiAgRlVFTFNfQUREX1NUT0NLX1VQREFURSA9ICdGdWVscyBhZGQgc3RvY2sgdXBkYXRlJyxcclxuICBTSE9XX01BUktFVFBMQUNFUyA9ICdTaG93IG1hcmtldHBsYWNlcycsXHJcbiAgRlVFTFNfU0hPV19ERVBPU0lUID0gJ0Z1ZWxzIHNob3cgZGVwb3NpdCcsXHJcbiAgRlVFTFNfQUREX0RFUE9TSVQgPSAnRnVlbHMgYWRkIGRlcG9zaXQnLFxyXG4gIEZVRUxTX0VESVRfREVQT1NJVCA9ICdGdWVscyBlZGl0IGRlcG9zaXQnLFxyXG4gIEZVRUxTX0RFTEVURV9ERVBPU0lUID0gJ0Z1ZWxzIGRlbGV0ZSBkZXBvc2l0JyxcclxuICBGVUVMU19TSE9XX1NVUFBMWV9PRkZFUiA9ICdGdWVscyBzaG93IHN1cHBseSBvZmZlcicsXHJcbiAgRlVFTFNfQUREX1NVUFBMWV9PRkZFUiA9ICdGdWVscyBhZGQgc3VwcGx5IG9mZmVyJyxcclxuICBGVUVMU19FRElUX1NVUFBMWV9PRkZFUiA9ICdGdWVscyBlZGl0IHN1cHBseSBvZmZlcicsXHJcbiAgRlVFTFNfU0hPV19PUEVSQVRPUiA9ICdGdWVscyBzaG93IG9wZXJhdG9yJyxcclxuICBGVUVMU19BRERfT1BFUkFUT1IgPSAnRnVlbHMgYWRkIG9wZXJhdG9yJyxcclxuICBGVUVMU19FRElUX09QRVJBVE9SID0gJ0Z1ZWxzIGVkaXQgb3BlcmF0b3InLFxyXG4gIEZVRUxTX0RFTEVURV9PUEVSQVRPUiA9ICdGdWVscyBkZWxldGUgb3BlcmF0b3InLFxyXG4gIEZJTlRFQ0hfQkFOS19BRE1JTiA9ICdGaW50ZWNoIEJhbmsgQWRtaW4nLFxyXG4gIEZJTlRFQ0hfQkFOS19VU0VSID0gJ0ZpbnRlY2ggQmFuayBVc2VyJyxcclxuICBGSU5URUNIX0NSRURJVF9BRE1JTiA9ICdGaW50ZWNoIENyZWRpdCBBZG1pbicsXHJcbiAgRklOVEVDSF9DUkVESVRfVVNFUiA9ICdGaW50ZWNoIENyZWRpdCBVc2VyJyxcclxuICBGSU5URUNIX0JBTktfQURNSU5fQUNDT1VOVFNfVklFVyA9ICdGaW50ZWNoIEJhbmsgQWRtaW4gLSBBY2NvdW50cyBWaWV3JyxcclxuICBGSU5URUNIX0NSRURJVF9BRE1JTl9QUk9QT1NBTF9OT1RfQ09ORklSTUVEID0gJ0ZpbnRlY2ggQ3JlZGl0IEFkbWluIC0gUHJvcG9zYWwgTm90IENvbmZpcm1lZCcsXHJcbiAgRklOVEVDSF9DUkVESVRfQURNSU5fQ09OVFJBQ1RTX0ZPTExPV19VUCA9ICdGaW50ZWNoIENyZWRpdCBBZG1pbiAtIENvbnRyYWN0cyBGb2xsb3ctVXAnLFxyXG4gIEFETUlOX01BUktFUExBQ0UgPSAnQWRtaW4gTWFya2VwbGFjZScsXHJcbiAgQVBQUk9WRV9SRVFVRVNUID0gJ0FwcHJvdmUgUmVxdWVzdCcsXHJcbiAgUkVQUk9WRV9SRVFVRVNUID0gJ1JlcHJvdmUgUmVxdWVzdCcsXHJcbiAgU0hPV19SRVFVRVNUID0gJ1Nob3cgUmVxdWVzdCcsXHJcbiAgU0hPV19VU0VSID0gJ1Nob3cgVXNlcicsXHJcbiAgQUREX1VTRVIgPSAnQWRkIFVzZXInLFxyXG4gIEVESVRfVVNFUiA9ICdFZGl0IFVzZXInLFxyXG4gIERFTEVURV9VU0VSID0gJ0RlbGV0ZSBVc2VyJyxcclxuICBBRERfUkVHSU9OID0gJ0FkZCBSZWdpb24nLFxyXG4gIFNIT1dfUkVHSU9OID0gJ1Nob3cgUmVnaW9uJyxcclxuICBFRElUX1JFR0lPTiA9ICdFZGl0IFJlZ2lvbicsXHJcbiAgQUREX0xPQ0FUSU9OX1NISVBQRVIgPSAnQWRkIExvY2F0aW9uU2hpcHBlcicsXHJcbiAgRURJVF9MT0NBVElPTl9TSElQUEVSID0gJ0VkaXQgTG9jYXRpb25TaGlwcGVyJyxcclxuICBTSE9XX0xPQ0FUSU9OX1NISVBQRVIgPSAnU2hvdyBMb2NhdGlvblNoaXBwZXInLFxyXG4gIERFTEVURV9MT0NBVElPTl9TSElQUEVSID0gJ0RlbGV0ZSBMb2NhdGlvblNoaXBwZXInLFxyXG4gIEFERF9TQ0hFRFVMRSA9ICdBZGQgU2NoZWR1bGUnLFxyXG4gIEVESVRfU0NIRURVTEUgPSAnRWRpdCBTY2hlZHVsZScsXHJcbiAgU0hPV19TQ0hFRFVMRSA9ICdTaG93IFNjaGVkdWxlJyxcclxuICBBRERfVkFDQU5DSUVTX0xPR0lTVElDID0gJ0FkZCBWYWNhbmNpZXMgTG9naXN0aWMnLFxyXG4gIEFERF9WQUNBTkNJRVNfQ09NTUVSQ0lBTCA9ICdBZGQgVmFjYW5jaWVzIENvbW1lcmNpYWwnLFxyXG4gIFNIT1dfVkFDQU5DSUVTX0NPTVBMRVRFID0gJ1Nob3cgVmFjYW5jaWVzIENvbXBsZXRlJyxcclxuICBBRERfU0NIRURVTEVfT0ZGID0gJ0FkZCBTY2hlZHVsZSBPZmYnLFxyXG4gIFNIT1dfTkVXUyA9ICdTaG93IE5ld3MnLFxyXG4gIEFERF9ORVdTID0gJ0FkZCBOZXdzJyxcclxuICBFRElUX05FV1MgPSAnRWRpdCBOZXdzJyxcclxuICBERUxFVEVfTkVXUyA9ICdEZWxldGUgTmV3cycsXHJcbiAgSElTVE9SSUNBTF9DSEFOR0VTX05FV1MgPSAnSGlzdG9yaWNhbCBDaGFuZ2VzIE5ld3MnLFxyXG4gIEFERF9ESVNUUklCVVRJT05fQ0VOVEVSX0NPTVBBTllfQ1JFRElUID0gJ0FkZCBEaXN0cmlidXRpb25DZW50ZXJzQ29tcGFueUNyZWRpdCcsXHJcbiAgRURJVF9ESVNUUklCVVRJT05fQ0VOVEVSX0NPTVBBTllfQ1JFRElUID0gJ0VkaXQgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlDcmVkaXQnLFxyXG4gIFNIT1dfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVCA9ICdTaG93IERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55Q3JlZGl0JyxcclxuICBERUxFVEVfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVCA9ICdEZWxldGUgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlDcmVkaXQnLFxyXG4gIEFERF9ESVNUUklCVVRJT05fQ0VOVEVSX0NPTVBBTllfQ1JFRElUX1VOSVQgPSAnQWRkIERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55VW5pdENyZWRpdCcsXHJcbiAgRURJVF9ESVNUUklCVVRJT05fQ0VOVEVSX0NPTVBBTllfQ1JFRElUX1VOSVQgPSAnRWRpdCBEaXN0cmlidXRpb25DZW50ZXJzQ29tcGFueVVuaXRDcmVkaXQnLFxyXG4gIFNIT1dfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVF9VTklUID0gJ1Nob3cgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlVbml0Q3JlZGl0JyxcclxuICBERUxFVEVfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVF9VTklUID0gJ0RlbGV0ZSBEaXN0cmlidXRpb25DZW50ZXJzQ29tcGFueVVuaXRDcmVkaXQnLFxyXG4gIEFQUFJPVkVfVkVDVE9SID0gJ0FwcHJvdmUgVmVjdG9yJyxcclxuICBBUFBST1ZFX0VUQ0QgPSAnQXBwcm92ZSBFVENEJyxcclxuICBERUxFVEVfUEFSQU1FVEVSU19FVENEID0gJ0RlbGV0ZSBQYXJhbWV0ZXJzJyxcclxuICBTSE9XX1JFQ0VQVElPTl9QUk9EVUNUID0gJ1Nob3cgUmVjZXB0aW9uIFByb2R1Y3QnLFxyXG4gIEVESVRfUkVDRVBUSU9OX1BST0RVQ1QgPSAnRWRpdCBSZWNlcHRpb24gUHJvZHVjdCcsXHJcbiAgREVMRVRFX1JFQ0VQVElPTl9QUk9EVUNUID0gJ0RlbGV0ZSBSZWNlcHRpb24gUHJvZHVjdCcsXHJcbiAgQUREX1JFQ0VQVElPTl9QUk9EVUNUID0gJ0FkZCBSZWNlcHRpb24gUHJvZHVjdCcsXHJcbiAgU0hPV19ESUdJVEFMX0RJU0NIQVJHRSA9ICdTaG93IERpZ2l0YWwgRGlzY2hhcmdlJyxcclxuICBTSE9XX0RJR0lUQUxfRElTQ0hBUkdFX0ZJTEVTID0gJ1Nob3cgRGlnaXRhbCBEaXNjaGFyZ2UgRmlsZXMnLFxyXG4gIFNIT1dfRVRDRCA9ICdTaG93IEVUQ0QnLFxyXG4gIEVESVRfRVRDRCA9ICdFZGl0IEVUQ0QnLFxyXG4gIERFTEVURV9FVENEID0gJ0RlbGV0ZSBFVENEJyxcclxuICBBRERfRVRDRCA9ICdBZGQgRVRDRCcsXHJcbiAgU0hPV19SRUdJT05BTF9FVENEID0gJ1Nob3cgUmVnaW9uYWwgRVRDRCcsXHJcbiAgU0hPV19CUkFOQ0ggPSAnU2hvdyBCcmFuY2gnLFxyXG4gIEVESVRfQlJBTkNIID0gJ0VkaXQgQnJhbmNoJyxcclxuICBBRERfQlJBTkNIID0gJ0FkZCBCcmFuY2gnLFxyXG4gIERFTEVURV9CUkFOQ0ggPSAnRGVsZXRlIEJyYW5jaCcsXHJcbiAgU0hPV19NT05JVE9SSU5HX0VUQ0QgPSAnU2hvdyBNb25pdG9yaW5nIEVUQ0QnLFxyXG4gIEFERF9QUk9EVUNUX0VUQ0QgPSAnQWRkIFByb2R1Y3QgRVRDRCcsXHJcbiAgRURJVF9QUk9EVUNUX0VUQ0QgPSAnRWRpdCBQcm9kdWN0IEVUQ0QnLFxyXG4gIFNIT1dfUFJPRFVDVF9FVENEID0gJ1Nob3cgUHJvZHVjdCBFVENEJyxcclxuICBERUxFVEVfUFJPRFVDVF9FVENEID0gJ0RlbGV0ZSBQcm9kdWN0IEVUQ0QnLFxyXG4gIEFERF9QQVJBTUVURVJTX0VUQ0QgPSAnQWRkIFBhcmFtZXRlcnMgRVRDRCcsXHJcbiAgRURJVF9QQVJBTUVURVJTX0VUQ0QgPSAnRWRpdCBQYXJhbWV0ZXJzIEVUQ0QnLFxyXG4gIFNIT1dfUEFSQU1FVEVSU19FVENEID0gJ1Nob3cgUGFyYW1ldGVycyBFVENEJyxcclxuICBBRERfRlJFSUdIVF9FVENEID0gJ0FkZCBGcmVpZ2h0IEVUQ0QnLFxyXG4gIFNIT1dfRlJFSUdIVF9FVENEID0gJ1Nob3cgRnJlaWdodCBFVENEJyxcclxuICBBUFBST1ZFX0FESlVTTUVOVF9FVENEID0gJ0FwcHJvdmUgQWRqdXNtZW50IEVUQ0QnLFxyXG4gIFJFUFJPVkVfQURKVVNNRU5UX0VUQ0QgPSAnUmVwcm92ZSBBZGp1c21lbnQgRVRDRCcsXHJcbiAgQUREX0pVU1RJRklDQVRJVkVfRVRDRCA9ICdBZGQgSnVzdGlmaWNhdGl2ZSBFVENEJyxcclxuICBFRElUX0pVU1RJRklDQVRJVkVfRVRDRCA9ICdFZGl0IEp1c3RpZmljYXRpdmUgRVRDRCcsXHJcbiAgREVMRVRFX0pVU1RJRklDQVRJVkVfRVRDRCA9ICdEZWxldGUgSnVzdGlmaWNhdGl2ZSBFVENEJyxcclxuICBBUFBST1ZFX1JFTEVBU0VfRVRDRCA9ICdBcHByb3ZlIFJlbGVhc2UgRVRDRCcsXHJcbiAgUkVQUk9WRV9SRUxFQVNFX0VUQ0QgPSAnUmVwcm92ZSBSZWxlYXNlIEVUQ0QnLFxyXG4gIFNIT1dfQURWQU5DRV9FVENEID0gJ1Nob3cgQWR2YW5jZSBFVENEJyxcclxuICBBUFBST1ZFX1JFUVVFU1RTX0VUQ0QgPSAnQXBwcm92ZSBSZXF1ZXN0cyBFVENEJyxcclxuICBTSE9XX1NVUFBMWSA9ICdTaG93IFN1cHBseScsXHJcbiAgU0hPV19UUklQX09GRkVSVCA9ICdUcmlwIE9mZmVyIFNob3cnLFxyXG4gIEFERF9MQVNUTkFNRV9MT0NBVElPTiA9ICdBZGQgTGFzdE5hbWUgTG9jYXRpb24nLFxyXG59XHJcbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9wcm9maWxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThCQSxNQUFNLENBQU4sSUFBWSxpQkFNWDtBQU5ELFdBQVksaUJBQWlCO0lBQzNCLHFFQUFnRCxDQUFBO0lBQ2hELG1EQUE4QixDQUFBO0lBQzlCLHFFQUFzQyxDQUFBO0lBQ3RDLDZEQUF3QyxDQUFBO0lBQ3hDLDBEQUFxQyxDQUFBO0FBQ3ZDLENBQUMsRUFOVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBTTVCO0FBRUQsTUFBTSxDQUFOLElBQVksdUJBb0xYO0FBcExELFdBQVksdUJBQXVCO0lBQ2pDLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLG9EQUF5QixDQUFBO0lBQ3pCLHNEQUEyQixDQUFBO0lBQzNCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLHNEQUEyQixDQUFBO0lBQzNCLHdEQUE2QixDQUFBO0lBQzdCLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLDBFQUErQyxDQUFBO0lBQy9DLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLG9GQUF5RCxDQUFBO0lBQ3pELGtGQUF1RCxDQUFBO0lBQ3ZELG9GQUF5RCxDQUFBO0lBQ3pELDhFQUFtRCxDQUFBO0lBQ25ELDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLGtFQUF1QyxDQUFBO0lBQ3ZDLHNFQUEyQyxDQUFBO0lBQzNDLDhEQUFtQyxDQUFBO0lBQ25DLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLDhEQUFtQyxDQUFBO0lBQ25DLHdEQUE2QixDQUFBO0lBQzdCLDhDQUFtQixDQUFBO0lBQ25CLGdEQUFxQixDQUFBO0lBQ3JCLG9EQUF5QixDQUFBO0lBQ3pCLGdEQUFxQixDQUFBO0lBQ3JCLDBEQUErQixDQUFBO0lBQy9CLHNEQUEyQixDQUFBO0lBQzNCLGtGQUF1RCxDQUFBO0lBQ3ZELG9GQUF5RCxDQUFBO0lBQ3pELG9GQUF5RCxDQUFBO0lBQ3pELDREQUFpQyxDQUFBO0lBQ2pDLDhEQUFtQyxDQUFBO0lBQ25DLGtFQUF1QyxDQUFBO0lBQ3ZDLGtHQUF1RSxDQUFBO0lBQ3ZFLG9HQUF5RSxDQUFBO0lBQ3pFLG9HQUF5RSxDQUFBO0lBQ3pFLDhEQUFtQyxDQUFBO0lBQ25DLDhEQUFtQyxDQUFBO0lBQ25DLG9HQUF5RSxDQUFBO0lBQ3pFLG9HQUF5RSxDQUFBO0lBQ3pFLG9GQUF5RCxDQUFBO0lBQ3pELHNGQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGdFQUFxQyxDQUFBO0lBQ3JDLDhFQUFtRCxDQUFBO0lBQ25ELHdEQUE2QixDQUFBO0lBQzdCLDhGQUFtRSxDQUFBO0lBQ25FLDRGQUFpRSxDQUFBO0lBQ2pFLDRGQUFpRSxDQUFBO0lBQ2pFLDBGQUErRCxDQUFBO0lBQy9ELDRGQUFpRSxDQUFBO0lBQ2pFLGdHQUFxRSxDQUFBO0lBQ3JFLDBGQUErRCxDQUFBO0lBQy9ELHdGQUE2RCxDQUFBO0lBQzdELDBGQUErRCxDQUFBO0lBQy9ELDhGQUFtRSxDQUFBO0lBQ25FLHdGQUE2RCxDQUFBO0lBQzdELHNGQUEyRCxDQUFBO0lBQzNELHdGQUE2RCxDQUFBO0lBQzdELDRGQUFpRSxDQUFBO0lBQ2pFLDRGQUFpRSxDQUFBO0lBQ2pFLDBGQUErRCxDQUFBO0lBQy9ELDRGQUFpRSxDQUFBO0lBQ2pFLGdHQUFxRSxDQUFBO0lBQ3JFLDhFQUFtRCxDQUFBO0lBQ25ELDRFQUFpRCxDQUFBO0lBQ2pELGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLG9FQUF5QyxDQUFBO0lBQ3pDLHdFQUE2QyxDQUFBO0lBQzdDLDhFQUFtRCxDQUFBO0lBQ25ELDRFQUFpRCxDQUFBO0lBQ2pELDhFQUFtRCxDQUFBO0lBQ25ELHNFQUEyQyxDQUFBO0lBQzNDLG9FQUF5QyxDQUFBO0lBQ3pDLHNFQUEyQyxDQUFBO0lBQzNDLDBFQUErQyxDQUFBO0lBQy9DLG9FQUF5QyxDQUFBO0lBQ3pDLGtFQUF1QyxDQUFBO0lBQ3ZDLHdFQUE2QyxDQUFBO0lBQzdDLHNFQUEyQyxDQUFBO0lBQzNDLGtHQUF1RSxDQUFBO0lBQ3ZFLHdIQUE2RixDQUFBO0lBQzdGLGtIQUF1RixDQUFBO0lBQ3ZGLGdFQUFxQyxDQUFBO0lBQ3JDLDhEQUFtQyxDQUFBO0lBQ25DLDhEQUFtQyxDQUFBO0lBQ25DLHdEQUE2QixDQUFBO0lBQzdCLGtEQUF1QixDQUFBO0lBQ3ZCLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLG9EQUF5QixDQUFBO0lBQ3pCLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLHVFQUE0QyxDQUFBO0lBQzVDLHlFQUE4QyxDQUFBO0lBQzlDLHlFQUE4QyxDQUFBO0lBQzlDLDZFQUFrRCxDQUFBO0lBQ2xELHdEQUE2QixDQUFBO0lBQzdCLDBEQUErQixDQUFBO0lBQy9CLDBEQUErQixDQUFBO0lBQy9CLDRFQUFpRCxDQUFBO0lBQ2pELGdGQUFxRCxDQUFBO0lBQ3JELDhFQUFtRCxDQUFBO0lBQ25ELGdFQUFxQyxDQUFBO0lBQ3JDLGtEQUF1QixDQUFBO0lBQ3ZCLGdEQUFxQixDQUFBO0lBQ3JCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLDhFQUFtRCxDQUFBO0lBQ25ELDBHQUErRSxDQUFBO0lBQy9FLDRHQUFpRixDQUFBO0lBQ2pGLDRHQUFpRixDQUFBO0lBQ2pGLGdIQUFxRixDQUFBO0lBQ3JGLG1IQUF3RixDQUFBO0lBQ3hGLHFIQUEwRixDQUFBO0lBQzFGLHFIQUEwRixDQUFBO0lBQzFGLHlIQUE4RixDQUFBO0lBQzlGLDREQUFpQyxDQUFBO0lBQ2pDLHdEQUE2QixDQUFBO0lBQzdCLHVFQUE0QyxDQUFBO0lBQzVDLDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELGdGQUFxRCxDQUFBO0lBQ3JELDBFQUErQyxDQUFBO0lBQy9DLDRFQUFpRCxDQUFBO0lBQ2pELHdGQUE2RCxDQUFBO0lBQzdELGtEQUF1QixDQUFBO0lBQ3ZCLGtEQUF1QixDQUFBO0lBQ3ZCLHNEQUEyQixDQUFBO0lBQzNCLGdEQUFxQixDQUFBO0lBQ3JCLG9FQUF5QyxDQUFBO0lBQ3pDLHNEQUEyQixDQUFBO0lBQzNCLHNEQUEyQixDQUFBO0lBQzNCLG9EQUF5QixDQUFBO0lBQ3pCLDBEQUErQixDQUFBO0lBQy9CLHdFQUE2QyxDQUFBO0lBQzdDLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLGtFQUF1QyxDQUFBO0lBQ3ZDLHNFQUEyQyxDQUFBO0lBQzNDLHNFQUEyQyxDQUFBO0lBQzNDLHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGdFQUFxQyxDQUFBO0lBQ3JDLGtFQUF1QyxDQUFBO0lBQ3ZDLDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELDRFQUFpRCxDQUFBO0lBQ2pELDhFQUFtRCxDQUFBO0lBQ25ELGtGQUF1RCxDQUFBO0lBQ3ZELHdFQUE2QyxDQUFBO0lBQzdDLHdFQUE2QyxDQUFBO0lBQzdDLGtFQUF1QyxDQUFBO0lBQ3ZDLDBFQUErQyxDQUFBO0lBQy9DLHNEQUEyQixDQUFBO0lBQzNCLCtEQUFvQyxDQUFBO0lBQ3BDLDBFQUErQyxDQUFBO0FBQ2pELENBQUMsRUFwTFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQW9MbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhVGFibGVCYXNlSXRlbSB9IGZyb20gJy4vZGF0YS10YWJsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlID0ge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHByb2ZpbGVUeXBlSWQ6IG51bWJlcjtcclxuICBQcm9maWxlVHlwZU5hbWU6IHN0cmluZztcclxuICBtb2R1bGVzOiBQcm9maWxlTW9kdWxlW107XHJcbiAgYWN0aXZlOiBib29sZWFuO1xyXG59ICYgRGF0YVRhYmxlQmFzZUl0ZW07XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlTW9kdWxlID0ge1xyXG4gIG1lbnU6IHN0cmluZztcclxuICBhY3Rpb25zOiBQcm9maWxlTW9kdWxlQWN0aW9uW107XHJcbn0gJiBQcm9maWxlTW9kdWxlQmFzZTtcclxuXHJcbmV4cG9ydCB0eXBlIFByb2ZpbGVNb2R1bGVHcm91cGVkQnlNZW51ID0ge1xyXG4gIG1lbnU6IHN0cmluZztcclxuICBtb2R1bGVzOiBQcm9maWxlTW9kdWxlW107XHJcbiAgY2hpbGRyZW4/OiBQcm9maWxlTW9kdWxlR3JvdXBlZEJ5TWVudVtdO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgUHJvZmlsZU1vZHVsZUFjdGlvbiA9IHt9ICYgUHJvZmlsZU1vZHVsZUJhc2U7XHJcblxyXG5leHBvcnQgdHlwZSBQcm9maWxlTW9kdWxlQmFzZSA9IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpc0F2YWlsYWJsZT86IGJvb2xlYW47XHJcbn07XHJcblxyXG5leHBvcnQgZW51bSBQcm9maWxlTW9kdWxlVHlwZSB7XHJcbiAgT1BFUkFUSU9OQUxfRVZBTFVBVElPTiA9ICdPcGVyYXRpb25hbEV2YWx1YXRpb24nLFxyXG4gIEFETUlOX1NVUlZFWVMgPSAnQWRtaW5TdXJ2ZXlzJyxcclxuICBESUdJVEFMX0RJU0NIQVJHRSA9ICdRdWl0YcOnw6NvIERpZ2l0YWwnLFxyXG4gIFJFR0lTVEVSX09QRVJBVElPTiA9ICdSZWdpc3Rlck9wZXJhdGlvbicsXHJcbiAgUkVHSVNURVJfUFJPRFVDVFMgPSAnUmVnaXN0ZXJQcm9kdWN0JyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUHJvZmlsZU1vZHVsZUFjdGlvblR5cGUge1xyXG4gIEFERF9WRUhJQ0xFID0gJ0FkZCBWZWhpY2xlJyxcclxuICBFRElUX1ZFSElDTEUgPSAnRWRpdCBWZWhpY2xlJyxcclxuICBERUxFVEVfVkVISUNMRSA9ICdEZWxldGUgVmVoaWNsZScsXHJcbiAgU0hPV19WRUhJQ0xFID0gJ1Nob3cgVmVoaWNsZScsXHJcbiAgQUREX0RSSVZFUiA9ICdBZGQgRHJpdmVyJyxcclxuICBFRElUX0RSSVZFUiA9ICdFZGl0IERyaXZlcicsXHJcbiAgREVMRVRFX0RSSVZFUiA9ICdEZWxldGUgRHJpdmVyJyxcclxuICBTSE9XX0RSSVZFUiA9ICdTaG93IERyaXZlcicsXHJcbiAgQUREX0NBUlJJRVIgPSAnQWRkIENhcnJpZXInLFxyXG4gIEVESVRfQ0FSUklFUiA9ICdFZGl0IENhcnJpZXInLFxyXG4gIERFTEVURV9DQVJSSUVSID0gJ0RlbGV0ZSBDYXJyaWVyJyxcclxuICBTSE9XX0NBUlJJRVIgPSAnU2hvdyBDYXJyaWVyJyxcclxuICBBRERfUFJPRklMRSA9ICdBZGQgUHJvZmlsZScsXHJcbiAgRURJVF9QUk9GSUxFID0gJ0VkaXQgUHJvZmlsZScsXHJcbiAgREVMRVRFX1BST0ZJTEUgPSAnRGVsZXRlIFByb2ZpbGUnLFxyXG4gIFNIT1dfUFJPRklMRSA9ICdTaG93IFByb2ZpbGUnLFxyXG4gIEVESVRfQlJPQURDQVNUX1ZBTFVFUyA9ICdFZGl0IEJyb2FkY2FzdCBWYWx1ZXMnLFxyXG4gIEFERF9XQVZFID0gJ0FkZCBXYXZlJyxcclxuICBFRElUX1dBVkUgPSAnRWRpdCBXYXZlJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfVkVISUNMRSA9ICdIaXN0b3JpY2FsIENoYW5nZXMgVmVoaWNsZScsXHJcbiAgSElTVE9SSUNBTF9DSEFOR0VTX0RSSVZFUiA9ICdIaXN0b3JpY2FsIENoYW5nZXMgRHJpdmVyJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfQ0FSUklFUiA9ICdIaXN0b3JpY2FsIENoYW5nZXMgQ2FycmllcicsXHJcbiAgSElTVE9SSUNBTF9DSEFOR0VTX1RSSVAgPSAnSGlzdG9yaWNhbCBDaGFuZ2VzIFRyaXAnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19VU0VSID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBVc2VyJyxcclxuICBDQU5DRUxfVFJJUFMgPSAnQ2FuY2VsIFRyaXBzJyxcclxuICBISVNUT1JJQ0FMX0NIQU5HRVNfTE9UUyA9ICdIaXN0b3JpY2FsIENoYW5nZXMgTG90cycsXHJcbiAgQUREX0xPQ0FUSU9OID0gJ0FkZCBMb2NhdGlvbicsXHJcbiAgRURJVF9MT0NBVElPTiA9ICdFZGl0IExvY2F0aW9uJyxcclxuICBTSE9XX0xPQ0FUSU9OID0gJ1Nob3cgTG9jYXRpb24nLFxyXG4gIEFERF9SRVNUUklDVElPTlMgPSAnQWRkIFJlc3RyaWN0aW9ucycsXHJcbiAgRURJVF9SRVNUUklDVElPTlMgPSAnRWRpdCBSZXN0cmljdGlvbnMnLFxyXG4gIFNIT1dfUkVTVFJJQ1RJT05TID0gJ1Nob3cgUmVzdHJpY3Rpb25zJyxcclxuICBERUxFVEVfUkVTVFJJQ1RJT05TID0gJ0RlbGV0ZSBSZXN0cmljdGlvbnMnLFxyXG4gIERFTEVURV9MT0NBVElPTiA9ICdEZWxldGUgTG9jYXRpb24nLFxyXG4gIFNIT1dfTUVTU0FHRVMgPSAnU2hvdyBNZXNzYWdlcycsXHJcbiAgRURJVF9NRVNTQUdFUyA9ICdFZGl0IE1lc3NhZ2VzJyxcclxuICBERUxFVEVfTUVTU0FHRVMgPSAnRGVsZXRlIE1lc3NhZ2VzJyxcclxuICBBRERfTUVTU0FHRVMgPSAnQWRkIE1lc3NhZ2VzJyxcclxuICBBRERfTE9UID0gJ0FkZCBMb3QnLFxyXG4gIEVESVRfTE9UID0gJ0VkaXQgTG90JyxcclxuICBERUxFVEVfTE9UID0gJ0RlbGV0ZSBMb3QnLFxyXG4gIFNIT1dfTE9UID0gJ1Nob3cgTG90JyxcclxuICBBQ0NFUFRfQ1JFRElUID0gJ0FjY2VwdCBDcmVkaXQnLFxyXG4gIFNIT1dfQ1JFRElUID0gJ1Nob3cgQ3JlZGl0JyxcclxuICBBRERfVkVISUNMRV9DT05GSUdVUkFUSU9OID0gJ0FkZCBWZWhpY2xlIENvbmZpZ3VyYXRpb24nLFxyXG4gIEVESVRfVkVISUNMRV9DT05GSUdVUkFUSU9OID0gJ0VkaXQgVmVoaWNsZSBDb25maWd1cmF0aW9uJyxcclxuICBTSE9XX1ZFSElDTEVfQ09ORklHVVJBVElPTiA9ICdTaG93IFZlaGljbGUgQ29uZmlndXJhdGlvbicsXHJcbiAgQUREX1NDSEVEVUxJTkcgPSAnQWRkIFNjaGVkdWxpbmcnLFxyXG4gIEVESVRfU0NIRURVTElORyA9ICdFZGl0IFNjaGVkdWxpbmcnLFxyXG4gIERFTEVURV9TQ0hFRFVMSU5HID0gJ0RlbGV0ZSBTY2hlZHVsaW5nJyxcclxuICBBRERfVkVISUNMRV9DT05GSUdVUkFUSU9OX1NISVBQRVIgPSAnQWRkIFZlaGljbGUgQ29uZmlndXJhdGlvbiBTaGlwcGVyJyxcclxuICBFRElUX1ZFSElDTEVfQ09ORklHVVJBVElPTl9TSElQUEVSID0gJ0VkaXQgVmVoaWNsZSBDb25maWd1cmF0aW9uIFNoaXBwZXInLFxyXG4gIFNIT1dfVkVISUNMRV9DT05GSUdVUkFUSU9OX1NISVBQRVIgPSAnU2hvdyBWZWhpY2xlIENvbmZpZ3VyYXRpb24gU2hpcHBlcicsXHJcbiAgRURJVF9UUklQX0JVTkdFID0gJ0VkaXQgdHJpcCBCdW5nZScsXHJcbiAgRURJVF9UUklQX0NPRkNPID0gJ0VkaXQgdHJpcCBDb2ZjbycsXHJcbiAgU0hPV19NSU5JTVVNX1RSQU5TUE9SVF9QUklDRV9UQUJMRSA9ICdTaG93IE1pbmltdW0gVHJhbnNwb3J0IFByaWNlIFRhYmxlJyxcclxuICBFRElUX01JTklNVU1fVFJBTlNQT1JUX1BSSUNFX1RBQkxFID0gJ0VkaXQgTWluaW11bSBUcmFuc3BvcnQgUHJpY2UgVGFibGUnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19DUkVESVRTID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBDcmVkaXRzJyxcclxuICBJTlRFR1JBw4fDg09fUEFHQkVNID0gJ0ludGVncmHDp8OjbyBQYWdiZW0nLFxyXG4gIFZBTElEQVRJT05fQ0FSUklFUiA9ICdWYWxpZGF0aW9uIENhcnJpZXInLFxyXG4gIFZBTElEQVRJT05fRFJJVkVSID0gJ1ZhbGlkYXRpb24gRHJpdmVyJyxcclxuICBWQUxJREFUSU9OX1ZFSElDTEUgPSAnVmFsaWRhdGlvbiBWZWhpY2xlJyxcclxuICBFRElUX1RSSVBfU1RBVFVTID0gJ0VkaXQgdHJpcCBzdGF0dXMnLFxyXG4gIFJFR0lTVFJBVElPTl9WQUxJREFUSU9OID0gJ1JlZ2lzdHJhdGlvbiBWYWxpZGF0aW9uJyxcclxuICBCM19PUEVSQVRJT04gPSAnQjMgT3BlcmF0aW9uJyxcclxuICBTSE9XX0NBUlJJRVJfREVUQUlMX0lOVEVHUkFUSU9OID0gJ1Nob3cgQ2FycmllciBEZXRhaWwgSW50ZWdyYXRpb24nLFxyXG4gIFNIT1dfRFJJVkVSX0RFVEFJTF9JTlRFR1JBVElPTiA9ICdTaG93IERyaXZlciBEZXRhaWwgSW50ZWdyYXRpb24nLFxyXG4gIEZVRUxTX1NIT1dfRElTVFJJQlVUSU9OX0NFTlRFUiA9ICdGdWVscyBzaG93IGRpc3RyaWJ1dGlvbiBjZW50ZXInLFxyXG4gIEZVRUxTX0FERF9ESVNUUklCVVRJT05fQ0VOVEVSID0gJ0Z1ZWxzIGFkZCBkaXN0cmlidXRpb24gY2VudGVyJyxcclxuICBGVUVMU19FRElUX0RJU1RSSUJVVElPTl9DRU5URVIgPSAnRnVlbHMgZWRpdCBkaXN0cmlidXRpb24gY2VudGVyJyxcclxuICBGVUVMU19ERUxFVEVfRElTVFJJQlVUSU9OX0NFTlRFUiA9ICdGdWVscyBkZWxldGUgZGlzdHJpYnV0aW9uIGNlbnRlcicsXHJcbiAgRlVFTFNfU0hPV19ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgc2hvdyBkaXN0cmlidXRpb24gcG9pbnQnLFxyXG4gIEZVRUxTX0FERF9ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgYWRkIGRpc3RyaWJ1dGlvbiBwb2ludCcsXHJcbiAgRlVFTFNfRURJVF9ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgZWRpdCBkaXN0cmlidXRpb24gcG9pbnQnLFxyXG4gIEZVRUxTX0RFTEVURV9ESVNUUklCVVRJT05fUE9JTlQgPSAnRnVlbHMgZGVsZXRlIGRpc3RyaWJ1dGlvbiBwb2ludCcsXHJcbiAgRlVFTFNfU0hPV19ESVNUUklCVVRJT05fUE9TVCA9ICdGdWVscyBzaG93IGRpc3RyaWJ1dGlvbiBwb3N0JyxcclxuICBGVUVMU19BRERfRElTVFJJQlVUSU9OX1BPU1QgPSAnRnVlbHMgYWRkIGRpc3RyaWJ1dGlvbiBwb3N0JyxcclxuICBGVUVMU19FRElUX0RJU1RSSUJVVElPTl9QT1NUID0gJ0Z1ZWxzIGVkaXQgZGlzdHJpYnV0aW9uIHBvc3QnLFxyXG4gIEZVRUxTX0RFTEVURV9ESVNUUklCVVRJT05fUE9TVCA9ICdGdWVscyBkZWxldGUgZGlzdHJpYnV0aW9uIHBvc3QnLFxyXG4gIEZVRUxTX1NIT1dfTUFSS0VUUExBQ0VfUFJPRFVDVCA9ICdGdWVscyBzaG93IG1hcmtldHBsYWNlIHByb2R1Y3QnLFxyXG4gIEZVRUxTX0FERF9NQVJLRVRQTEFDRV9QUk9EVUNUID0gJ0Z1ZWxzIGFkZCBtYXJrZXRwbGFjZSBwcm9kdWN0JyxcclxuICBGVUVMU19FRElUX01BUktFVFBMQUNFX1BST0RVQ1QgPSAnRnVlbHMgZWRpdCBtYXJrZXRwbGFjZSBwcm9kdWN0JyxcclxuICBGVUVMU19ERUxFVEVfTUFSS0VUUExBQ0VfUFJPRFVDVCA9ICdGdWVscyBkZWxldGUgbWFya2V0cGxhY2UgcHJvZHVjdCcsXHJcbiAgRlVFTFNfU0hPV19TVE9DS19VUERBVEUgPSAnRnVlbHMgc2hvdyBzdG9jayB1cGRhdGUnLFxyXG4gIEZVRUxTX0FERF9TVE9DS19VUERBVEUgPSAnRnVlbHMgYWRkIHN0b2NrIHVwZGF0ZScsXHJcbiAgU0hPV19NQVJLRVRQTEFDRVMgPSAnU2hvdyBtYXJrZXRwbGFjZXMnLFxyXG4gIEZVRUxTX1NIT1dfREVQT1NJVCA9ICdGdWVscyBzaG93IGRlcG9zaXQnLFxyXG4gIEZVRUxTX0FERF9ERVBPU0lUID0gJ0Z1ZWxzIGFkZCBkZXBvc2l0JyxcclxuICBGVUVMU19FRElUX0RFUE9TSVQgPSAnRnVlbHMgZWRpdCBkZXBvc2l0JyxcclxuICBGVUVMU19ERUxFVEVfREVQT1NJVCA9ICdGdWVscyBkZWxldGUgZGVwb3NpdCcsXHJcbiAgRlVFTFNfU0hPV19TVVBQTFlfT0ZGRVIgPSAnRnVlbHMgc2hvdyBzdXBwbHkgb2ZmZXInLFxyXG4gIEZVRUxTX0FERF9TVVBQTFlfT0ZGRVIgPSAnRnVlbHMgYWRkIHN1cHBseSBvZmZlcicsXHJcbiAgRlVFTFNfRURJVF9TVVBQTFlfT0ZGRVIgPSAnRnVlbHMgZWRpdCBzdXBwbHkgb2ZmZXInLFxyXG4gIEZVRUxTX1NIT1dfT1BFUkFUT1IgPSAnRnVlbHMgc2hvdyBvcGVyYXRvcicsXHJcbiAgRlVFTFNfQUREX09QRVJBVE9SID0gJ0Z1ZWxzIGFkZCBvcGVyYXRvcicsXHJcbiAgRlVFTFNfRURJVF9PUEVSQVRPUiA9ICdGdWVscyBlZGl0IG9wZXJhdG9yJyxcclxuICBGVUVMU19ERUxFVEVfT1BFUkFUT1IgPSAnRnVlbHMgZGVsZXRlIG9wZXJhdG9yJyxcclxuICBGSU5URUNIX0JBTktfQURNSU4gPSAnRmludGVjaCBCYW5rIEFkbWluJyxcclxuICBGSU5URUNIX0JBTktfVVNFUiA9ICdGaW50ZWNoIEJhbmsgVXNlcicsXHJcbiAgRklOVEVDSF9DUkVESVRfQURNSU4gPSAnRmludGVjaCBDcmVkaXQgQWRtaW4nLFxyXG4gIEZJTlRFQ0hfQ1JFRElUX1VTRVIgPSAnRmludGVjaCBDcmVkaXQgVXNlcicsXHJcbiAgRklOVEVDSF9CQU5LX0FETUlOX0FDQ09VTlRTX1ZJRVcgPSAnRmludGVjaCBCYW5rIEFkbWluIC0gQWNjb3VudHMgVmlldycsXHJcbiAgRklOVEVDSF9DUkVESVRfQURNSU5fUFJPUE9TQUxfTk9UX0NPTkZJUk1FRCA9ICdGaW50ZWNoIENyZWRpdCBBZG1pbiAtIFByb3Bvc2FsIE5vdCBDb25maXJtZWQnLFxyXG4gIEZJTlRFQ0hfQ1JFRElUX0FETUlOX0NPTlRSQUNUU19GT0xMT1dfVVAgPSAnRmludGVjaCBDcmVkaXQgQWRtaW4gLSBDb250cmFjdHMgRm9sbG93LVVwJyxcclxuICBBRE1JTl9NQVJLRVBMQUNFID0gJ0FkbWluIE1hcmtlcGxhY2UnLFxyXG4gIEFQUFJPVkVfUkVRVUVTVCA9ICdBcHByb3ZlIFJlcXVlc3QnLFxyXG4gIFJFUFJPVkVfUkVRVUVTVCA9ICdSZXByb3ZlIFJlcXVlc3QnLFxyXG4gIFNIT1dfUkVRVUVTVCA9ICdTaG93IFJlcXVlc3QnLFxyXG4gIFNIT1dfVVNFUiA9ICdTaG93IFVzZXInLFxyXG4gIEFERF9VU0VSID0gJ0FkZCBVc2VyJyxcclxuICBFRElUX1VTRVIgPSAnRWRpdCBVc2VyJyxcclxuICBERUxFVEVfVVNFUiA9ICdEZWxldGUgVXNlcicsXHJcbiAgQUREX1JFR0lPTiA9ICdBZGQgUmVnaW9uJyxcclxuICBTSE9XX1JFR0lPTiA9ICdTaG93IFJlZ2lvbicsXHJcbiAgRURJVF9SRUdJT04gPSAnRWRpdCBSZWdpb24nLFxyXG4gIEFERF9MT0NBVElPTl9TSElQUEVSID0gJ0FkZCBMb2NhdGlvblNoaXBwZXInLFxyXG4gIEVESVRfTE9DQVRJT05fU0hJUFBFUiA9ICdFZGl0IExvY2F0aW9uU2hpcHBlcicsXHJcbiAgU0hPV19MT0NBVElPTl9TSElQUEVSID0gJ1Nob3cgTG9jYXRpb25TaGlwcGVyJyxcclxuICBERUxFVEVfTE9DQVRJT05fU0hJUFBFUiA9ICdEZWxldGUgTG9jYXRpb25TaGlwcGVyJyxcclxuICBBRERfU0NIRURVTEUgPSAnQWRkIFNjaGVkdWxlJyxcclxuICBFRElUX1NDSEVEVUxFID0gJ0VkaXQgU2NoZWR1bGUnLFxyXG4gIFNIT1dfU0NIRURVTEUgPSAnU2hvdyBTY2hlZHVsZScsXHJcbiAgQUREX1ZBQ0FOQ0lFU19MT0dJU1RJQyA9ICdBZGQgVmFjYW5jaWVzIExvZ2lzdGljJyxcclxuICBBRERfVkFDQU5DSUVTX0NPTU1FUkNJQUwgPSAnQWRkIFZhY2FuY2llcyBDb21tZXJjaWFsJyxcclxuICBTSE9XX1ZBQ0FOQ0lFU19DT01QTEVURSA9ICdTaG93IFZhY2FuY2llcyBDb21wbGV0ZScsXHJcbiAgQUREX1NDSEVEVUxFX09GRiA9ICdBZGQgU2NoZWR1bGUgT2ZmJyxcclxuICBTSE9XX05FV1MgPSAnU2hvdyBOZXdzJyxcclxuICBBRERfTkVXUyA9ICdBZGQgTmV3cycsXHJcbiAgRURJVF9ORVdTID0gJ0VkaXQgTmV3cycsXHJcbiAgREVMRVRFX05FV1MgPSAnRGVsZXRlIE5ld3MnLFxyXG4gIEhJU1RPUklDQUxfQ0hBTkdFU19ORVdTID0gJ0hpc3RvcmljYWwgQ2hhbmdlcyBOZXdzJyxcclxuICBBRERfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVCA9ICdBZGQgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlDcmVkaXQnLFxyXG4gIEVESVRfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVCA9ICdFZGl0IERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55Q3JlZGl0JyxcclxuICBTSE9XX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVQgPSAnU2hvdyBEaXN0cmlidXRpb25DZW50ZXJzQ29tcGFueUNyZWRpdCcsXHJcbiAgREVMRVRFX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVQgPSAnRGVsZXRlIERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55Q3JlZGl0JyxcclxuICBBRERfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVF9VTklUID0gJ0FkZCBEaXN0cmlidXRpb25DZW50ZXJzQ29tcGFueVVuaXRDcmVkaXQnLFxyXG4gIEVESVRfRElTVFJJQlVUSU9OX0NFTlRFUl9DT01QQU5ZX0NSRURJVF9VTklUID0gJ0VkaXQgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlVbml0Q3JlZGl0JyxcclxuICBTSE9XX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVRfVU5JVCA9ICdTaG93IERpc3RyaWJ1dGlvbkNlbnRlcnNDb21wYW55VW5pdENyZWRpdCcsXHJcbiAgREVMRVRFX0RJU1RSSUJVVElPTl9DRU5URVJfQ09NUEFOWV9DUkVESVRfVU5JVCA9ICdEZWxldGUgRGlzdHJpYnV0aW9uQ2VudGVyc0NvbXBhbnlVbml0Q3JlZGl0JyxcclxuICBBUFBST1ZFX1ZFQ1RPUiA9ICdBcHByb3ZlIFZlY3RvcicsXHJcbiAgQVBQUk9WRV9FVENEID0gJ0FwcHJvdmUgRVRDRCcsXHJcbiAgREVMRVRFX1BBUkFNRVRFUlNfRVRDRCA9ICdEZWxldGUgUGFyYW1ldGVycycsXHJcbiAgU0hPV19SRUNFUFRJT05fUFJPRFVDVCA9ICdTaG93IFJlY2VwdGlvbiBQcm9kdWN0JyxcclxuICBFRElUX1JFQ0VQVElPTl9QUk9EVUNUID0gJ0VkaXQgUmVjZXB0aW9uIFByb2R1Y3QnLFxyXG4gIERFTEVURV9SRUNFUFRJT05fUFJPRFVDVCA9ICdEZWxldGUgUmVjZXB0aW9uIFByb2R1Y3QnLFxyXG4gIEFERF9SRUNFUFRJT05fUFJPRFVDVCA9ICdBZGQgUmVjZXB0aW9uIFByb2R1Y3QnLFxyXG4gIFNIT1dfRElHSVRBTF9ESVNDSEFSR0UgPSAnU2hvdyBEaWdpdGFsIERpc2NoYXJnZScsXHJcbiAgU0hPV19ESUdJVEFMX0RJU0NIQVJHRV9GSUxFUyA9ICdTaG93IERpZ2l0YWwgRGlzY2hhcmdlIEZpbGVzJyxcclxuICBTSE9XX0VUQ0QgPSAnU2hvdyBFVENEJyxcclxuICBFRElUX0VUQ0QgPSAnRWRpdCBFVENEJyxcclxuICBERUxFVEVfRVRDRCA9ICdEZWxldGUgRVRDRCcsXHJcbiAgQUREX0VUQ0QgPSAnQWRkIEVUQ0QnLFxyXG4gIFNIT1dfUkVHSU9OQUxfRVRDRCA9ICdTaG93IFJlZ2lvbmFsIEVUQ0QnLFxyXG4gIFNIT1dfQlJBTkNIID0gJ1Nob3cgQnJhbmNoJyxcclxuICBFRElUX0JSQU5DSCA9ICdFZGl0IEJyYW5jaCcsXHJcbiAgQUREX0JSQU5DSCA9ICdBZGQgQnJhbmNoJyxcclxuICBERUxFVEVfQlJBTkNIID0gJ0RlbGV0ZSBCcmFuY2gnLFxyXG4gIFNIT1dfTU9OSVRPUklOR19FVENEID0gJ1Nob3cgTW9uaXRvcmluZyBFVENEJyxcclxuICBBRERfUFJPRFVDVF9FVENEID0gJ0FkZCBQcm9kdWN0IEVUQ0QnLFxyXG4gIEVESVRfUFJPRFVDVF9FVENEID0gJ0VkaXQgUHJvZHVjdCBFVENEJyxcclxuICBTSE9XX1BST0RVQ1RfRVRDRCA9ICdTaG93IFByb2R1Y3QgRVRDRCcsXHJcbiAgREVMRVRFX1BST0RVQ1RfRVRDRCA9ICdEZWxldGUgUHJvZHVjdCBFVENEJyxcclxuICBBRERfUEFSQU1FVEVSU19FVENEID0gJ0FkZCBQYXJhbWV0ZXJzIEVUQ0QnLFxyXG4gIEVESVRfUEFSQU1FVEVSU19FVENEID0gJ0VkaXQgUGFyYW1ldGVycyBFVENEJyxcclxuICBTSE9XX1BBUkFNRVRFUlNfRVRDRCA9ICdTaG93IFBhcmFtZXRlcnMgRVRDRCcsXHJcbiAgQUREX0ZSRUlHSFRfRVRDRCA9ICdBZGQgRnJlaWdodCBFVENEJyxcclxuICBTSE9XX0ZSRUlHSFRfRVRDRCA9ICdTaG93IEZyZWlnaHQgRVRDRCcsXHJcbiAgQVBQUk9WRV9BREpVU01FTlRfRVRDRCA9ICdBcHByb3ZlIEFkanVzbWVudCBFVENEJyxcclxuICBSRVBST1ZFX0FESlVTTUVOVF9FVENEID0gJ1JlcHJvdmUgQWRqdXNtZW50IEVUQ0QnLFxyXG4gIEFERF9KVVNUSUZJQ0FUSVZFX0VUQ0QgPSAnQWRkIEp1c3RpZmljYXRpdmUgRVRDRCcsXHJcbiAgRURJVF9KVVNUSUZJQ0FUSVZFX0VUQ0QgPSAnRWRpdCBKdXN0aWZpY2F0aXZlIEVUQ0QnLFxyXG4gIERFTEVURV9KVVNUSUZJQ0FUSVZFX0VUQ0QgPSAnRGVsZXRlIEp1c3RpZmljYXRpdmUgRVRDRCcsXHJcbiAgQVBQUk9WRV9SRUxFQVNFX0VUQ0QgPSAnQXBwcm92ZSBSZWxlYXNlIEVUQ0QnLFxyXG4gIFJFUFJPVkVfUkVMRUFTRV9FVENEID0gJ1JlcHJvdmUgUmVsZWFzZSBFVENEJyxcclxuICBTSE9XX0FEVkFOQ0VfRVRDRCA9ICdTaG93IEFkdmFuY2UgRVRDRCcsXHJcbiAgQVBQUk9WRV9SRVFVRVNUU19FVENEID0gJ0FwcHJvdmUgUmVxdWVzdHMgRVRDRCcsXHJcbiAgU0hPV19TVVBQTFkgPSAnU2hvdyBTdXBwbHknLFxyXG4gIFNIT1dfVFJJUF9PRkZFUlQgPSAnVHJpcCBPZmZlciBTaG93JyxcclxuICBBRERfTEFTVE5BTUVfTE9DQVRJT04gPSAnQWRkIExhc3ROYW1lIExvY2F0aW9uJyxcclxufVxyXG4iXX0=