ecabs-components 1.0.1 → 1.0.2

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.
@@ -8,8 +8,12 @@ import * as i5 from "@angular/forms";
8
8
  export class EcabsLanguageSelectorComponent {
9
9
  languages = [];
10
10
  currentLanguage;
11
+ showLabelTitle = true;
11
12
  languageChanged = new EventEmitter();
12
13
  selectedLang;
14
+ get panelClass() {
15
+ return this.showLabelTitle ? 'wide-select' : 'wide-select no-title';
16
+ }
13
17
  ngOnChanges() {
14
18
  this.selectedLang = this.currentLanguage;
15
19
  }
@@ -36,16 +40,18 @@ export class EcabsLanguageSelectorComponent {
36
40
  return lang.of(code);
37
41
  }
38
42
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsLanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: EcabsLanguageSelectorComponent, selector: "ecabs-language-selector", inputs: { languages: "languages", currentLanguage: "currentLanguage" }, outputs: { languageChanged: "languageChanged" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field>\r\n\t<mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n\t\t\t\t\t\t\tpanelClass=\"wide-select\">\r\n\t\t<mat-select-trigger>\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span [ngClass]=\"flagClass(matchSelected()?.iso_code)\"></span>\r\n\t\t\t\t<div class=\"ml-2\">{{standardLang(matchSelected()?.iso_code)}}</div>\r\n\t\t\t</div>\r\n\t\t</mat-select-trigger>\r\n\t\t<mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang.iso_code\">\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span [ngClass]=\"flagClass(lang?.iso_code)\"></span>\r\n\t\t\t\t<div class=\"ml-2\">{{standardLang(lang?.iso_code)}}</div>\r\n\t\t\t</div>\r\n\t\t</mat-option>\r\n\t</mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-mdc-select{padding:0;border:0}:host::ng-deep .mat-mdc-select .mat-mdc-select-arrow-wrapper{display:none}:host::ng-deep .mat-mdc-select,:host::ng-deep .mat-mdc-select .mdc-list-item{font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: EcabsLanguageSelectorComponent, selector: "ecabs-language-selector", inputs: { languages: "languages", currentLanguage: "currentLanguage", showLabelTitle: "showLabelTitle" }, outputs: { languageChanged: "languageChanged" }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field>\r\n\t<mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n\t\t\t\t\t\t\t[panelClass]=\"panelClass\" [disableOptionCentering]=\"!showLabelTitle\">\r\n\t\t<mat-select-trigger>\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span [ngClass]=\"flagClass(matchSelected()?.iso_code)\"></span>\r\n\t\t\t\t<div *ngIf=\"showLabelTitle\" class=\"ml-2\">{{standardLang(matchSelected()?.iso_code)}}</div>\r\n\t\t\t</div>\r\n\t\t</mat-select-trigger>\r\n\t\t<mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang.iso_code\">\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span [ngClass]=\"flagClass(lang?.iso_code)\"></span>\r\n\t\t\t\t<div class=\"ml-2\">{{standardLang(lang?.iso_code)}}</div>\r\n\t\t\t</div>\r\n\t\t</mat-option>\r\n\t</mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-mdc-select{padding:0;border:0}:host::ng-deep .mat-mdc-select .mat-mdc-select-arrow-wrapper{display:none}:host::ng-deep .mat-mdc-select,:host::ng-deep .mat-mdc-select .mdc-list-item{font-size:12px}:host::ng-deep .mat-mdc-form-field-infix{width:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "directive", type: i3.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
40
44
  }
41
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: EcabsLanguageSelectorComponent, decorators: [{
42
46
  type: Component,
43
- args: [{ selector: 'ecabs-language-selector', template: "<mat-form-field>\r\n\t<mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n\t\t\t\t\t\t\tpanelClass=\"wide-select\">\r\n\t\t<mat-select-trigger>\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span [ngClass]=\"flagClass(matchSelected()?.iso_code)\"></span>\r\n\t\t\t\t<div class=\"ml-2\">{{standardLang(matchSelected()?.iso_code)}}</div>\r\n\t\t\t</div>\r\n\t\t</mat-select-trigger>\r\n\t\t<mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang.iso_code\">\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span [ngClass]=\"flagClass(lang?.iso_code)\"></span>\r\n\t\t\t\t<div class=\"ml-2\">{{standardLang(lang?.iso_code)}}</div>\r\n\t\t\t</div>\r\n\t\t</mat-option>\r\n\t</mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-mdc-select{padding:0;border:0}:host::ng-deep .mat-mdc-select .mat-mdc-select-arrow-wrapper{display:none}:host::ng-deep .mat-mdc-select,:host::ng-deep .mat-mdc-select .mdc-list-item{font-size:12px}\n"] }]
47
+ args: [{ selector: 'ecabs-language-selector', template: "<mat-form-field>\r\n\t<mat-select class=\"capitalize\" [(ngModel)]=\"selectedLang\" name=\"language\" (ngModelChange)=\"toggleLang()\"\r\n\t\t\t\t\t\t\t[panelClass]=\"panelClass\" [disableOptionCentering]=\"!showLabelTitle\">\r\n\t\t<mat-select-trigger>\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span [ngClass]=\"flagClass(matchSelected()?.iso_code)\"></span>\r\n\t\t\t\t<div *ngIf=\"showLabelTitle\" class=\"ml-2\">{{standardLang(matchSelected()?.iso_code)}}</div>\r\n\t\t\t</div>\r\n\t\t</mat-select-trigger>\r\n\t\t<mat-option class=\"capitalize\" *ngFor=\"let lang of languages\" [value]=\"lang.iso_code\">\r\n\t\t\t<div class=\"flex items-center\">\r\n\t\t\t\t<span [ngClass]=\"flagClass(lang?.iso_code)\"></span>\r\n\t\t\t\t<div class=\"ml-2\">{{standardLang(lang?.iso_code)}}</div>\r\n\t\t\t</div>\r\n\t\t</mat-option>\r\n\t</mat-select>\r\n</mat-form-field>\r\n", styles: [":host::ng-deep .mat-mdc-select{padding:0;border:0}:host::ng-deep .mat-mdc-select .mat-mdc-select-arrow-wrapper{display:none}:host::ng-deep .mat-mdc-select,:host::ng-deep .mat-mdc-select .mdc-list-item{font-size:12px}:host::ng-deep .mat-mdc-form-field-infix{width:auto}\n"] }]
44
48
  }], propDecorators: { languages: [{
45
49
  type: Input
46
50
  }], currentLanguage: [{
47
51
  type: Input
52
+ }], showLabelTitle: [{
53
+ type: Input
48
54
  }], languageChanged: [{
49
55
  type: Output
50
56
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUWxGLE1BQU0sT0FBTyw4QkFBOEI7SUFFekMsU0FBUyxHQUFxQixFQUFFLENBQUM7SUFHakMsZUFBZSxDQUFTO0lBR3hCLGVBQWUsR0FBaUMsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFFbkYsWUFBWSxDQUFTO0lBRXJCLFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDM0MsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM5RixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUUsQ0FBRSxJQUFJLEVBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBRSxDQUFDO0lBQ2pGLENBQUM7SUFFRCxZQUFZLENBQUUsSUFBWTtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUUsSUFBSSxDQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFNBQVMsQ0FBRSxJQUFZO1FBQ3JCLE9BQU8sU0FBVSxJQUFJLEVBQUUsS0FBSyxDQUFFLENBQUMsQ0FBQyxDQUFFLENBQUMsV0FBVyxFQUFHLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU8sV0FBVyxDQUFFLElBQVk7UUFDL0IsSUFBSyxDQUFDLElBQUksRUFBRztZQUNYLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFFLENBQUUsSUFBSSxDQUFFLEVBQUU7WUFDNUMsSUFBSSxFQUFFLFVBQVU7WUFDaEIsZUFBZSxFQUFFLFVBQVU7U0FDNUIsQ0FBRSxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQ3pCLENBQUM7dUdBekNVLDhCQUE4QjsyRkFBOUIsOEJBQThCLDZNQ1IzQyw2eUJBaUJBOzsyRkRUYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UseUJBQXlCOzhCQU1uQyxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3RhbmRhcmRMb2NhbGUgfSBmcm9tICcuLi9tb2RlbHMvbGFuZ3VhZ2UubW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuc2NzcycgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0xhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFuZ3VhZ2VzOiBTdGFuZGFyZExvY2FsZVtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY3VycmVudExhbmd1YWdlOiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGxhbmd1YWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFN0YW5kYXJkTG9jYWxlPiA9IG5ldyBFdmVudEVtaXR0ZXI8U3RhbmRhcmRMb2NhbGU+KCk7XHJcblxyXG4gIHNlbGVjdGVkTGFuZzogc3RyaW5nO1xyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMYW5nID0gdGhpcy5jdXJyZW50TGFuZ3VhZ2U7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVMYW5nKCk6IHZvaWQge1xyXG4gICAgcmV0dXJuIHRoaXMubWF0Y2hTZWxlY3RlZCgpID8gdGhpcy5sYW5ndWFnZUNoYW5nZWQuZW1pdCggdGhpcy5tYXRjaFNlbGVjdGVkKCkgKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIG1hdGNoU2VsZWN0ZWQoKTogU3RhbmRhcmRMb2NhbGUge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VzPy5maW5kKCAoIGxhbmcgKSA9PiBsYW5nLmlzb19jb2RlID09PSB0aGlzLnNlbGVjdGVkTGFuZyApO1xyXG4gIH1cclxuXHJcbiAgc3RhbmRhcmRMYW5nKCBjb2RlOiBzdHJpbmcgKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnN0YW5kYXJkaXNlKCBjb2RlICk7XHJcbiAgfVxyXG5cclxuICBmbGFnQ2xhc3MoIGxhbmc6IHN0cmluZyApOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGBmaSBmaS0keyBsYW5nPy5zbGljZSggLTIgKS50b0xvd2VyQ2FzZSgpIH1gO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGFuZGFyZGlzZSggY29kZTogc3RyaW5nICk6IHN0cmluZyB7XHJcbiAgICBpZiAoICFjb2RlICkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgY29uc3QgbGFuZyA9IG5ldyBJbnRsLkRpc3BsYXlOYW1lcyggWyBjb2RlIF0sIHtcclxuICAgICAgdHlwZTogJ2xhbmd1YWdlJyxcclxuICAgICAgbGFuZ3VhZ2VEaXNwbGF5OiAnc3RhbmRhcmQnLFxyXG4gICAgfSApO1xyXG4gICAgcmV0dXJuIGxhbmcub2YoIGNvZGUgKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1mb3JtLWZpZWxkPlxyXG5cdDxtYXQtc2VsZWN0IGNsYXNzPVwiY2FwaXRhbGl6ZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRMYW5nXCIgbmFtZT1cImxhbmd1YWdlXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlTGFuZygpXCJcclxuXHRcdFx0XHRcdFx0XHRwYW5lbENsYXNzPVwid2lkZS1zZWxlY3RcIj5cclxuXHRcdDxtYXQtc2VsZWN0LXRyaWdnZXI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdDxzcGFuIFtuZ0NsYXNzXT1cImZsYWdDbGFzcyhtYXRjaFNlbGVjdGVkKCk/Lmlzb19jb2RlKVwiPjwvc3Bhbj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWwtMlwiPnt7c3RhbmRhcmRMYW5nKG1hdGNoU2VsZWN0ZWQoKT8uaXNvX2NvZGUpfX08L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L21hdC1zZWxlY3QtdHJpZ2dlcj5cclxuXHRcdDxtYXQtb3B0aW9uIGNsYXNzPVwiY2FwaXRhbGl6ZVwiICpuZ0Zvcj1cImxldCBsYW5nIG9mIGxhbmd1YWdlc1wiIFt2YWx1ZV09XCJsYW5nLmlzb19jb2RlXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdDxzcGFuIFtuZ0NsYXNzXT1cImZsYWdDbGFzcyhsYW5nPy5pc29fY29kZSlcIj48L3NwYW4+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1sLTJcIj57e3N0YW5kYXJkTGFuZyhsYW5nPy5pc29fY29kZSl9fTwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbWF0LW9wdGlvbj5cclxuXHQ8L21hdC1zZWxlY3Q+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBUWxGLE1BQU0sT0FBTyw4QkFBOEI7SUFFekMsU0FBUyxHQUFxQixFQUFFLENBQUM7SUFHakMsZUFBZSxDQUFTO0lBR3hCLGNBQWMsR0FBWSxJQUFJLENBQUM7SUFHL0IsZUFBZSxHQUFpQyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUVuRixZQUFZLENBQVM7SUFFckIsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDO0lBQ3RFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzNDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDOUYsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFFLENBQUUsSUFBSSxFQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsWUFBWSxDQUFFLElBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTLENBQUUsSUFBWTtRQUNyQixPQUFPLFNBQVUsSUFBSSxFQUFFLEtBQUssQ0FBRSxDQUFDLENBQUMsQ0FBRSxDQUFDLFdBQVcsRUFBRyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVPLFdBQVcsQ0FBRSxJQUFZO1FBQy9CLElBQUssQ0FBQyxJQUFJLEVBQUc7WUFDWCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBRSxDQUFFLElBQUksQ0FBRSxFQUFFO1lBQzVDLElBQUksRUFBRSxVQUFVO1lBQ2hCLGVBQWUsRUFBRSxVQUFVO1NBQzVCLENBQUUsQ0FBQztRQUNKLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBRSxJQUFJLENBQUUsQ0FBQztJQUN6QixDQUFDO3VHQWhEVSw4QkFBOEI7MkZBQTlCLDhCQUE4QiwrT0NSM0MsbzNCQWlCQTs7MkZEVGEsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLHlCQUF5Qjs4QkFNbkMsU0FBUztzQkFEUixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdGFuZGFyZExvY2FsZSB9IGZyb20gJy4uL21vZGVscy9sYW5ndWFnZS5tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtbGFuZ3VhZ2Utc2VsZWN0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2VjYWJzLWxhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJyBdLFxyXG59IClcclxuZXhwb3J0IGNsYXNzIEVjYWJzTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KClcclxuICBsYW5ndWFnZXM6IFN0YW5kYXJkTG9jYWxlW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBjdXJyZW50TGFuZ3VhZ2U6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBzaG93TGFiZWxUaXRsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGxhbmd1YWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFN0YW5kYXJkTG9jYWxlPiA9IG5ldyBFdmVudEVtaXR0ZXI8U3RhbmRhcmRMb2NhbGU+KCk7XHJcblxyXG4gIHNlbGVjdGVkTGFuZzogc3RyaW5nO1xyXG5cclxuICBnZXQgcGFuZWxDbGFzcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0xhYmVsVGl0bGUgPyAnd2lkZS1zZWxlY3QnIDogJ3dpZGUtc2VsZWN0IG5vLXRpdGxlJztcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZExhbmcgPSB0aGlzLmN1cnJlbnRMYW5ndWFnZTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUxhbmcoKTogdm9pZCB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXRjaFNlbGVjdGVkKCkgPyB0aGlzLmxhbmd1YWdlQ2hhbmdlZC5lbWl0KCB0aGlzLm1hdGNoU2VsZWN0ZWQoKSApIDogdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgbWF0Y2hTZWxlY3RlZCgpOiBTdGFuZGFyZExvY2FsZSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZXM/LmZpbmQoICggbGFuZyApID0+IGxhbmcuaXNvX2NvZGUgPT09IHRoaXMuc2VsZWN0ZWRMYW5nICk7XHJcbiAgfVxyXG5cclxuICBzdGFuZGFyZExhbmcoIGNvZGU6IHN0cmluZyApOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhbmRhcmRpc2UoIGNvZGUgKTtcclxuICB9XHJcblxyXG4gIGZsYWdDbGFzcyggbGFuZzogc3RyaW5nICk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYGZpIGZpLSR7IGxhbmc/LnNsaWNlKCAtMiApLnRvTG93ZXJDYXNlKCkgfWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YW5kYXJkaXNlKCBjb2RlOiBzdHJpbmcgKTogc3RyaW5nIHtcclxuICAgIGlmICggIWNvZGUgKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCBsYW5nID0gbmV3IEludGwuRGlzcGxheU5hbWVzKCBbIGNvZGUgXSwge1xyXG4gICAgICB0eXBlOiAnbGFuZ3VhZ2UnLFxyXG4gICAgICBsYW5ndWFnZURpc3BsYXk6ICdzdGFuZGFyZCcsXHJcbiAgICB9ICk7XHJcbiAgICByZXR1cm4gbGFuZy5vZiggY29kZSApO1xyXG4gIH1cclxufVxyXG4iLCI8bWF0LWZvcm0tZmllbGQ+XHJcblx0PG1hdC1zZWxlY3QgY2xhc3M9XCJjYXBpdGFsaXplXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZExhbmdcIiBuYW1lPVwibGFuZ3VhZ2VcIiAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGVMYW5nKClcIlxyXG5cdFx0XHRcdFx0XHRcdFtwYW5lbENsYXNzXT1cInBhbmVsQ2xhc3NcIiBbZGlzYWJsZU9wdGlvbkNlbnRlcmluZ109XCIhc2hvd0xhYmVsVGl0bGVcIj5cclxuXHRcdDxtYXQtc2VsZWN0LXRyaWdnZXI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdDxzcGFuIFtuZ0NsYXNzXT1cImZsYWdDbGFzcyhtYXRjaFNlbGVjdGVkKCk/Lmlzb19jb2RlKVwiPjwvc3Bhbj5cclxuXHRcdFx0XHQ8ZGl2ICpuZ0lmPVwic2hvd0xhYmVsVGl0bGVcIiBjbGFzcz1cIm1sLTJcIj57e3N0YW5kYXJkTGFuZyhtYXRjaFNlbGVjdGVkKCk/Lmlzb19jb2RlKX19PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9tYXQtc2VsZWN0LXRyaWdnZXI+XHJcblx0XHQ8bWF0LW9wdGlvbiBjbGFzcz1cImNhcGl0YWxpemVcIiAqbmdGb3I9XCJsZXQgbGFuZyBvZiBsYW5ndWFnZXNcIiBbdmFsdWVdPVwibGFuZy5pc29fY29kZVwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0XHQ8c3BhbiBbbmdDbGFzc109XCJmbGFnQ2xhc3MobGFuZz8uaXNvX2NvZGUpXCI+PC9zcGFuPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtbC0yXCI+e3tzdGFuZGFyZExhbmcobGFuZz8uaXNvX2NvZGUpfX08L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L21hdC1vcHRpb24+XHJcblx0PC9tYXQtc2VsZWN0PlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=