ngx-vector-components 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +13 -4
  2. package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +7 -7
  3. package/esm2020/lib/components/fields/filters/filters.component.mjs +1 -1
  4. package/esm2020/lib/guards/get-token-by-guid.guard.mjs +48 -0
  5. package/esm2020/lib/guards/has-permission.guard.mjs +27 -0
  6. package/esm2020/lib/guards/index.mjs +5 -0
  7. package/esm2020/lib/guards/role.guard.mjs +24 -0
  8. package/esm2020/lib/guards/token-is-present.guard.mjs +17 -0
  9. package/esm2020/lib/models/http-response.model.mjs +1 -1
  10. package/esm2020/lib/services/storage.service.mjs +4 -3
  11. package/esm2020/lib/utils/mask.util.mjs +5 -1
  12. package/esm2020/public-api.mjs +2 -1
  13. package/fesm2015/ngx-vector-components.mjs +178 -62
  14. package/fesm2015/ngx-vector-components.mjs.map +1 -1
  15. package/fesm2020/ngx-vector-components.mjs +168 -58
  16. package/fesm2020/ngx-vector-components.mjs.map +1 -1
  17. package/lib/components/fields/currency-field/currency-field.component.d.ts +4 -1
  18. package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +2 -2
  19. package/lib/guards/get-token-by-guid.guard.d.ts +14 -0
  20. package/lib/guards/has-permission.guard.d.ts +13 -0
  21. package/lib/guards/index.d.ts +4 -0
  22. package/lib/guards/role.guard.d.ts +11 -0
  23. package/lib/guards/token-is-present.guard.d.ts +10 -0
  24. package/lib/models/http-response.model.d.ts +1 -1
  25. package/lib/services/storage.service.d.ts +2 -2
  26. package/lib/utils/mask.util.d.ts +1 -0
  27. package/package.json +1 -1
  28. package/public-api.d.ts +1 -0
@@ -7,6 +7,9 @@ import * as i2 from "@angular/common";
7
7
  import * as i3 from "@angular/forms";
8
8
  export class CurrencyFieldComponent {
9
9
  constructor() {
10
+ this.minValue = 0;
11
+ this.maxValue = 999999999;
12
+ this.placeholder = '';
10
13
  this.outlined = false;
11
14
  this.lastInvertedIndexTyped = 0;
12
15
  this.subscription = new Subscription();
@@ -73,7 +76,7 @@ export class CurrencyFieldComponent {
73
76
  return returnValue;
74
77
  }));
75
78
  const newValueOnlyNumbers = newValue.replace(/[^0-9]/g, '');
76
- target.value = Number(`${newValueOnlyNumbers.substr(0, newValueOnlyNumbers.length - 2)}.${newValueOnlyNumbers.substr(newValueOnlyNumbers.length - 2)}`).toLocaleString('pt-BR', {
79
+ target.value = Number(`${newValueOnlyNumbers.substring(0, newValueOnlyNumbers.length - 2)}.${newValueOnlyNumbers.substr(newValueOnlyNumbers.length - 2)}`).toLocaleString('pt-BR', {
77
80
  currency: 'BRL',
78
81
  minimumFractionDigits: 2,
79
82
  maximumFractionDigits: 2,
@@ -85,13 +88,19 @@ export class CurrencyFieldComponent {
85
88
  }
86
89
  }
87
90
  CurrencyFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
- CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { control: "control", outlined: "outlined" }, ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined }\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [max]=\"999999999\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"focusLastIndex($event)\"\r\n (onKeyDown)=\"inputNextChar($event)\"\r\n ></p-inputNumber>\r\n </div>\r\n</div>\r\n", styles: [".value-input-container{display:flex;flex-direction:row;align-items:center;padding:5px 20px}.value-input-container span{font-size:2em;font-weight:700;color:#3a2b68}.value-input-container .value-input{margin:0 4px;flex:1}\n"], components: [{ type: i1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
91
+ CurrencyFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: { minValue: "minValue", maxValue: "maxValue", placeholder: "placeholder", control: "control", outlined: "outlined" }, ngImport: i0, template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined }\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [max]=\"999999999\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"focusLastIndex($event)\"\r\n (onKeyDown)=\"inputNextChar($event)\"\r\n ></p-inputNumber>\r\n </div>\r\n</div>\r\n", styles: [".value-input-container{display:flex;flex-direction:row;align-items:center;padding:5px 20px}.value-input-container span{font-size:2em;font-weight:700;color:#3a2b68}.value-input-container .value-input{margin:0 4px;flex:1}\n"], components: [{ type: i1.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
89
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: CurrencyFieldComponent, decorators: [{
90
93
  type: Component,
91
94
  args: [{ selector: 'vector-currency-field', template: "<div [ngClass]=\"{ 'input-container': outlined, 'value-input-container': !outlined }\">\r\n <span *ngIf=\"!outlined\">R$ </span>\r\n <div class=\"value-input\">\r\n <p-inputNumber\r\n class=\"currency-input\"\r\n [ngClass]=\"{outlined}\"\r\n [formControl]=\"control\"\r\n mode=\"decimal\"\r\n [minFractionDigits]=\"2\"\r\n [maxFractionDigits]=\"2\"\r\n [max]=\"999999999\"\r\n [prefix]=\"outlined ? 'R$ ' : ''\"\r\n (click)=\"focusLastIndex($event)\"\r\n (onKeyDown)=\"inputNextChar($event)\"\r\n ></p-inputNumber>\r\n </div>\r\n</div>\r\n", styles: [".value-input-container{display:flex;flex-direction:row;align-items:center;padding:5px 20px}.value-input-container span{font-size:2em;font-weight:700;color:#3a2b68}.value-input-container .value-input{margin:0 4px;flex:1}\n"] }]
92
- }], propDecorators: { control: [{
95
+ }], propDecorators: { minValue: [{
96
+ type: Input
97
+ }], maxValue: [{
98
+ type: Input
99
+ }], placeholder: [{
100
+ type: Input
101
+ }], control: [{
93
102
  type: Input
94
103
  }], outlined: [{
95
104
  type: Input
96
105
  }] } });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFzQlMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU9oQiwyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFDM0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBdUUzQztJQS9GQyxJQUNJLE9BQU8sQ0FBQyxRQUFhO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDdEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDOUQ7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFD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QUMsRUFBRSxDQUFDO2dCQUNKLE9BQU8sV0FBVyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUNILENBQUM7WUFDRixNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVELE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUNuQixHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sQ0FDNUYsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDL0IsRUFBRSxDQUNKLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTtnQkFDeEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YscUJBQXFCLEVBQUUsQ0FBQztnQkFDeEIscUJBQXFCLEVBQUUsQ0FBQzthQUN6QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2FBQy9CO1NBQ0Y7SUFDSCxDQUFDOzttSEEvRlUsc0JBQXNCO3VHQUF0QixzQkFBc0IsbUhDVG5DLHdsQkFpQkE7MkZEUmEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFNN0IsT0FBTztzQkFEVixLQUFLO2dCQWdCQyxRQUFRO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1jdXJyZW5jeS1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VycmVuY3lGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBzZXQgY29udHJvbChfY29udHJvbDogYW55KSB7XHJcbiAgICB0aGlzLl9jb250cm9sID0gX2NvbnRyb2w7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZCA9IGAke3RoaXMuY29udHJvbC52YWx1ZX1gLmxlbmd0aDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQgPSBgJHt2YWx1ZX1gLmxlbmd0aDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBvdXRsaW5lZCA9IGZhbHNlO1xyXG5cclxuICBnZXQgY29udHJvbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29udHJvbDogYW55O1xyXG4gIHByaXZhdGUgbGFzdEludmVydGVkSW5kZXhUeXBlZCA9IDA7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb2N1c0xhc3RJbmRleCgkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSAkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCBzZWxlY3Rpb25JbmRleCA9IHRhcmdldD8udmFsdWUubGVuZ3RoIHx8IDA7XHJcbiAgICB0YXJnZXQ/LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvbkluZGV4LCBzZWxlY3Rpb25JbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5wdXROZXh0Q2hhcigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXNMYXN0SW5kZXgoJGV2ZW50KTtcclxuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IGlzRGVsZXRlT3JCYWNrc3BhY2UgPSBbJ0RlbGV0ZScsICdCYWNrc3BhY2UnXS5pbmNsdWRlcygkZXZlbnQua2V5KTtcclxuICAgIGlmIChpc0RlbGV0ZU9yQmFja3NwYWNlKSB7XHJcbiAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZC0tO1xyXG4gICAgICB0YXJnZXQudmFsdWUgPSB0YXJnZXQudmFsdWUuc3Vic3RyKDAsIHRhcmdldC52YWx1ZS5sZW5ndGggLSAxKTtcclxuICAgICAgaWYgKHRhcmdldC52YWx1ZSA9PT0gJycpIHtcclxuICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQgPSAwO1xyXG4gICAgICAgIHRhcmdldC52YWx1ZSA9ICcwLDAwJztcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCB2YWx1ZVR5cGVkID0gJGV2ZW50LmtleTtcclxuICAgIGlmICghaXNOYU4oK3ZhbHVlVHlwZWQpIHx8IGlzRGVsZXRlT3JCYWNrc3BhY2UpIHtcclxuICAgICAgaWYgKHRhcmdldC52YWx1ZSA9PT0gJzAsMDAnICYmICt2YWx1ZVR5cGVkID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaXNEZWxldGVPckJhY2tzcGFjZSkge1xyXG4gICAgICAgIHZhbHVlVHlwZWQgPSAnJztcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICBjb25zdCByZXZlcnNlZFByZXZpb3VzVmFsdWUgPSBTdHJpbmdVdGlsLnJldmVydFN0cmluZyh0YXJnZXQudmFsdWUucmVwbGFjZSgvW14wLTldL2csICcnKSk7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gU3RyaW5nVXRpbC5yZXZlcnRTdHJpbmcoXHJcbiAgICAgICAgU3RyaW5nVXRpbC5yZXZlcnRTdHJpbmcoXHJcbiAgICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQgPj0gMyA/IGAke3RhcmdldC52YWx1ZX0ke3ZhbHVlVHlwZWR9YC5yZXBsYWNlKC9bMC05XS9nLCAnIycpIDogJyMsIyMnXHJcbiAgICAgICAgKS5yZXBsYWNlKC8jL2csICgpID0+IHtcclxuICAgICAgICAgIGxldCByZXR1cm5WYWx1ZSA9ICcwJztcclxuICAgICAgICAgIGlmIChpc0RlbGV0ZU9yQmFja3NwYWNlKSB7XHJcbiAgICAgICAgICAgIHJldHVyblZhbHVlID0gcmV2ZXJzZWRQcmV2aW91c1ZhbHVlW2ldO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGkgPT09IDApIHtcclxuICAgICAgICAgICAgICByZXR1cm5WYWx1ZSA9IGAke3ZhbHVlVHlwZWR9YDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm5WYWx1ZSA9IHJldmVyc2VkUHJldmlvdXNWYWx1ZVtpIC0gMV0gfHwgJzAnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgcmV0dXJuIHJldHVyblZhbHVlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlT25seU51bWJlcnMgPSBuZXdWYWx1ZS5yZXBsYWNlKC9bXjAtOV0vZywgJycpO1xyXG4gICAgICB0YXJnZXQudmFsdWUgPSBOdW1iZXIoXHJcbiAgICAgICAgYCR7bmV3VmFsdWVPbmx5TnVtYmVycy5zdWJzdHIoMCwgbmV3VmFsdWVPbmx5TnVtYmVycy5sZW5ndGggLSAyKX0uJHtuZXdWYWx1ZU9ubHlOdW1iZXJzLnN1YnN0cihcclxuICAgICAgICAgIG5ld1ZhbHVlT25seU51bWJlcnMubGVuZ3RoIC0gMlxyXG4gICAgICAgICl9YFxyXG4gICAgICApLnRvTG9jYWxlU3RyaW5nKCdwdC1CUicsIHtcclxuICAgICAgICBjdXJyZW5jeTogJ0JSTCcsXHJcbiAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICghaXNOYU4oK3ZhbHVlVHlwZWQpKSB7XHJcbiAgICAgICAgdGhpcy5sYXN0SW52ZXJ0ZWRJbmRleFR5cGVkKys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJ7ICdpbnB1dC1jb250YWluZXInOiBvdXRsaW5lZCwgJ3ZhbHVlLWlucHV0LWNvbnRhaW5lcic6ICFvdXRsaW5lZCB9XCI+XHJcbiAgPHNwYW4gKm5nSWY9XCIhb3V0bGluZWRcIj5SJCA8L3NwYW4+XHJcbiAgPGRpdiBjbGFzcz1cInZhbHVlLWlucHV0XCI+XHJcbiAgICA8cC1pbnB1dE51bWJlclxyXG4gICAgICBjbGFzcz1cImN1cnJlbmN5LWlucHV0XCJcclxuICAgICAgW25nQ2xhc3NdPVwie291dGxpbmVkfVwiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgbW9kZT1cImRlY2ltYWxcIlxyXG4gICAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwiMlwiXHJcbiAgICAgIFttYXhGcmFjdGlvbkRpZ2l0c109XCIyXCJcclxuICAgICAgW21heF09XCI5OTk5OTk5OTlcIlxyXG4gICAgICBbcHJlZml4XT1cIm91dGxpbmVkID8gJ1IkICcgOiAnJ1wiXHJcbiAgICAgIChjbGljayk9XCJmb2N1c0xhc3RJbmRleCgkZXZlbnQpXCJcclxuICAgICAgKG9uS2V5RG93bik9XCJpbnB1dE5leHRDaGFyKCRldmVudClcIlxyXG4gICAgPjwvcC1pbnB1dE51bWJlcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvY3VycmVuY3ktZmllbGQvY3VycmVuY3ktZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTzVDLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFPUyxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsYUFBUSxHQUFHLFNBQVMsQ0FBQztRQUVyQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQWlCekIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQU9oQiwyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFDM0IsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBdUUzQztJQS9GQyxJQUNJLE9BQU8sQ0FBQyxRQUFhO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDdEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDOUQ7UUFFRCxJQUFJLENBQUMsWUFBWSxD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V0FBVyxHQUFHLHFCQUFxQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUM7cUJBQ25EO2lCQUNGO2dCQUVELENBQUMsRUFBRSxDQUFDO2dCQUNKLE9BQU8sV0FBVyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUNILENBQUM7WUFDRixNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVELE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUNuQixHQUFHLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLE1BQU0sQ0FDL0YsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDL0IsRUFBRSxDQUNKLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTtnQkFDeEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YscUJBQXFCLEVBQUUsQ0FBQztnQkFDeEIscUJBQXFCLEVBQUUsQ0FBQzthQUN6QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2FBQy9CO1NBQ0Y7SUFDSCxDQUFDOzttSEFyR1Usc0JBQXNCO3VHQUF0QixzQkFBc0IsMkxDVG5DLHdsQkFpQkE7MkZEUmEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFNMUIsUUFBUTtzQkFEZCxLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxXQUFXO3NCQURqQixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFnQkMsUUFBUTtzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdHJpbmdVdGlsIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItY3VycmVuY3ktZmllbGQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW5jeS1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3VycmVuY3ktZmllbGQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG1pblZhbHVlID0gMDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtYXhWYWx1ZSA9IDk5OTk5OTk5OTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBzZXQgY29udHJvbChfY29udHJvbDogYW55KSB7XHJcbiAgICB0aGlzLl9jb250cm9sID0gX2NvbnRyb2w7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZCA9IGAke3RoaXMuY29udHJvbC52YWx1ZX1gLmxlbmd0aDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXHJcbiAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQgPSBgJHt2YWx1ZX1gLmxlbmd0aDtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBvdXRsaW5lZCA9IGZhbHNlO1xyXG5cclxuICBnZXQgY29udHJvbCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb250cm9sO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29udHJvbDogYW55O1xyXG4gIHByaXZhdGUgbGFzdEludmVydGVkSW5kZXhUeXBlZCA9IDA7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb2N1c0xhc3RJbmRleCgkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSAkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCBzZWxlY3Rpb25JbmRleCA9IHRhcmdldD8udmFsdWUubGVuZ3RoIHx8IDA7XHJcbiAgICB0YXJnZXQ/LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvbkluZGV4LCBzZWxlY3Rpb25JbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5wdXROZXh0Q2hhcigkZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXNMYXN0SW5kZXgoJGV2ZW50KTtcclxuICAgIGNvbnN0IHRhcmdldCA9ICRldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IGlzRGVsZXRlT3JCYWNrc3BhY2UgPSBbJ0RlbGV0ZScsICdCYWNrc3BhY2UnXS5pbmNsdWRlcygkZXZlbnQua2V5KTtcclxuICAgIGlmIChpc0RlbGV0ZU9yQmFja3NwYWNlKSB7XHJcbiAgICAgIHRoaXMubGFzdEludmVydGVkSW5kZXhUeXBlZC0tO1xyXG4gICAgICB0YXJnZXQudmFsdWUgPSB0YXJnZXQudmFsdWUuc3Vic3RyKDAsIHRhcmdldC52YWx1ZS5sZW5ndGggLSAxKTtcclxuICAgICAgaWYgKHRhcmdldC52YWx1ZSA9PT0gJycpIHtcclxuICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQgPSAwO1xyXG4gICAgICAgIHRhcmdldC52YWx1ZSA9ICcwLDAwJztcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCB2YWx1ZVR5cGVkID0gJGV2ZW50LmtleTtcclxuICAgIGlmICghaXNOYU4oK3ZhbHVlVHlwZWQpIHx8IGlzRGVsZXRlT3JCYWNrc3BhY2UpIHtcclxuICAgICAgaWYgKHRhcmdldC52YWx1ZSA9PT0gJzAsMDAnICYmICt2YWx1ZVR5cGVkID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaXNEZWxldGVPckJhY2tzcGFjZSkge1xyXG4gICAgICAgIHZhbHVlVHlwZWQgPSAnJztcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IGkgPSAwO1xyXG4gICAgICBjb25zdCByZXZlcnNlZFByZXZpb3VzVmFsdWUgPSBTdHJpbmdVdGlsLnJldmVydFN0cmluZyh0YXJnZXQudmFsdWUucmVwbGFjZSgvW14wLTldL2csICcnKSk7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gU3RyaW5nVXRpbC5yZXZlcnRTdHJpbmcoXHJcbiAgICAgICAgU3RyaW5nVXRpbC5yZXZlcnRTdHJpbmcoXHJcbiAgICAgICAgICB0aGlzLmxhc3RJbnZlcnRlZEluZGV4VHlwZWQgPj0gMyA/IGAke3RhcmdldC52YWx1ZX0ke3ZhbHVlVHlwZWR9YC5yZXBsYWNlKC9bMC05XS9nLCAnIycpIDogJyMsIyMnXHJcbiAgICAgICAgKS5yZXBsYWNlKC8jL2csICgpID0+IHtcclxuICAgICAgICAgIGxldCByZXR1cm5WYWx1ZSA9ICcwJztcclxuICAgICAgICAgIGlmIChpc0RlbGV0ZU9yQmFja3NwYWNlKSB7XHJcbiAgICAgICAgICAgIHJldHVyblZhbHVlID0gcmV2ZXJzZWRQcmV2aW91c1ZhbHVlW2ldO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGkgPT09IDApIHtcclxuICAgICAgICAgICAgICByZXR1cm5WYWx1ZSA9IGAke3ZhbHVlVHlwZWR9YDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm5WYWx1ZSA9IHJldmVyc2VkUHJldmlvdXNWYWx1ZVtpIC0gMV0gfHwgJzAnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaSsrO1xyXG4gICAgICAgICAgcmV0dXJuIHJldHVyblZhbHVlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlT25seU51bWJlcnMgPSBuZXdWYWx1ZS5yZXBsYWNlKC9bXjAtOV0vZywgJycpO1xyXG4gICAgICB0YXJnZXQudmFsdWUgPSBOdW1iZXIoXHJcbiAgICAgICAgYCR7bmV3VmFsdWVPbmx5TnVtYmVycy5zdWJzdHJpbmcoMCwgbmV3VmFsdWVPbmx5TnVtYmVycy5sZW5ndGggLSAyKX0uJHtuZXdWYWx1ZU9ubHlOdW1iZXJzLnN1YnN0cihcclxuICAgICAgICAgIG5ld1ZhbHVlT25seU51bWJlcnMubGVuZ3RoIC0gMlxyXG4gICAgICAgICl9YFxyXG4gICAgICApLnRvTG9jYWxlU3RyaW5nKCdwdC1CUicsIHtcclxuICAgICAgICBjdXJyZW5jeTogJ0JSTCcsXHJcbiAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAyLFxyXG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgfSk7XHJcbiAgICAgIGlmICghaXNOYU4oK3ZhbHVlVHlwZWQpKSB7XHJcbiAgICAgICAgdGhpcy5sYXN0SW52ZXJ0ZWRJbmRleFR5cGVkKys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJ7ICdpbnB1dC1jb250YWluZXInOiBvdXRsaW5lZCwgJ3ZhbHVlLWlucHV0LWNvbnRhaW5lcic6ICFvdXRsaW5lZCB9XCI+XHJcbiAgPHNwYW4gKm5nSWY9XCIhb3V0bGluZWRcIj5SJCA8L3NwYW4+XHJcbiAgPGRpdiBjbGFzcz1cInZhbHVlLWlucHV0XCI+XHJcbiAgICA8cC1pbnB1dE51bWJlclxyXG4gICAgICBjbGFzcz1cImN1cnJlbmN5LWlucHV0XCJcclxuICAgICAgW25nQ2xhc3NdPVwie291dGxpbmVkfVwiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgICAgbW9kZT1cImRlY2ltYWxcIlxyXG4gICAgICBbbWluRnJhY3Rpb25EaWdpdHNdPVwiMlwiXHJcbiAgICAgIFttYXhGcmFjdGlvbkRpZ2l0c109XCIyXCJcclxuICAgICAgW21heF09XCI5OTk5OTk5OTlcIlxyXG4gICAgICBbcHJlZml4XT1cIm91dGxpbmVkID8gJ1IkICcgOiAnJ1wiXHJcbiAgICAgIChjbGljayk9XCJmb2N1c0xhc3RJbmRleCgkZXZlbnQpXCJcclxuICAgICAgKG9uS2V5RG93bik9XCJpbnB1dE5leHRDaGFyKCRldmVudClcIlxyXG4gICAgPjwvcC1pbnB1dE51bWJlcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -24,7 +24,7 @@ export class DropdownFieldComponent {
24
24
  }
25
25
  set options(_options) {
26
26
  this._options = _options;
27
- this.pagedSuggestions = this.options;
27
+ this.pagedSuggestions = this.options || [];
28
28
  }
29
29
  set control(_control) {
30
30
  this._control = _control;
@@ -93,7 +93,7 @@ export class DropdownFieldComponent {
93
93
  if (this.service) {
94
94
  this.currentScrollPage++;
95
95
  this.service.getPaged(this.currentSearchQuery, this.currentScrollPage, 20, this.dependencies).subscribe((response) => {
96
- this.pagedSuggestions = this.currentScrollPage === 0 ? response : this.pagedSuggestions.concat(response);
96
+ this.pagedSuggestions = this.currentScrollPage === 0 ? response : this.pagedSuggestions?.concat(response);
97
97
  this.isLoading = false;
98
98
  this.setControlValueFromSuggestions();
99
99
  this.handleSearchErrors();
@@ -104,7 +104,7 @@ export class DropdownFieldComponent {
104
104
  else {
105
105
  const filteredOptions = this.filterListByQuery(this.options, this.currentSearchQuery.toUpperCase());
106
106
  this.pagedSuggestions = filteredOptions.slice(0, this.currentScrollIndex + 20);
107
- if (this.options.length > 20) {
107
+ if (this.options?.length && this.options.length > 20) {
108
108
  this.currentScrollIndex = this.currentScrollIndex + 20;
109
109
  }
110
110
  this.setControlValueFromSuggestions();
@@ -112,7 +112,7 @@ export class DropdownFieldComponent {
112
112
  }
113
113
  }
114
114
  setControlValueFromSuggestions() {
115
- if (this.control.value && this.pagedSuggestions.length) {
115
+ if (this.control.value && this.pagedSuggestions?.length) {
116
116
  let itemsArray = this.pagedSuggestions;
117
117
  if (this.options?.length) {
118
118
  itemsArray = this.options;
@@ -122,14 +122,14 @@ export class DropdownFieldComponent {
122
122
  }
123
123
  }
124
124
  handleSearchErrors() {
125
- if (this.pagedSuggestions.length) {
125
+ if (this.pagedSuggestions?.length) {
126
126
  delete this.control.errors?.itemNotFound;
127
127
  }
128
128
  else if (this.currentSearchQuery) {
129
129
  this.control.setErrors({ itemNotFound: true });
130
130
  }
131
131
  }
132
- filterListByQuery(list, query) {
132
+ filterListByQuery(list = [], query) {
133
133
  return list.filter((opt) => opt.code.toString().toUpperCase().includes(query) || opt.name.toUpperCase().includes(query));
134
134
  }
135
135
  }
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
157
157
  }], onFocus: [{
158
158
  type: Output
159
159
  }] } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVk1QyxNQUFNLE9BQU8sc0JBQXNCO0lBMERqQyxZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBbkRoQyxlQUFVLEdBQXdCLEtBQUssQ0FBQztRQWF4QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBSW5CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFNYixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWlCN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBZSxFQUFFLENBQUM7UUFDbEMsc0NBQWlDLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRzVDLGFBQVEsR0FBZSxFQUFFLENBQUM7UUFDMUIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsdUJBQWtCLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLGlCQUFZLEdBQUcsSUFBSSxZ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SUFDSCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztTQUMxQzthQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBZ0IsRUFBRSxLQUFhO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FDaEIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUNyRyxDQUFDO0lBQ0osQ0FBQzs7bUhBdktVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDRSQ2hCbkMsbXRCQXVCQTsyRkRQYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsdUJBQXVCO2dHQU03QixPQUFPO3NCQURWLEtBQUs7Z0JBTUMsVUFBVTtzQkFEaEIsS0FBSztnQkFHRixPQUFPO3NCQURWLEtBQUs7Z0JBWUMsS0FBSztzQkFEWCxLQUFLO2dCQUdDLE9BQU87c0JBRGIsS0FBSztnQkFHQyxLQUFLO3NCQURYLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFHQyxZQUFZO3NCQURsQixLQUFLO2dCQUdDLE9BQU87c0JBRGIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEJhc2VEcm9wZG93biB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcclxuXHJcbmV4cG9ydCB0eXBlIERyb3Bkb3duQnV0dG9uQWN0aW9uID0ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgb25DbGljazogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ZlY3Rvci1kcm9wZG93bi1maWVsZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1maWVsZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKVxyXG4gIHNldCBvcHRpb25zKF9vcHRpb25zOiBMaXN0SXRlbVtdKSB7XHJcbiAgICB0aGlzLl9vcHRpb25zID0gX29wdGlvbnM7XHJcbiAgICB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzUmVxdWlyZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHNldCBjb250cm9sKF9jb250cm9sOiBhbnkpIHtcclxuICAgIHRoaXMuX2NvbnRyb2wgPSBfY29udHJvbDtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG4gICAgICAgIHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlcnZpY2U6IEJhc2VEcm9wZG93biB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYWdlZCA9IHRydWU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYnV0dG9uQWN0aW9uOiBEcm9wZG93bkJ1dHRvbkFjdGlvbiB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZXBlbmRlbmNpZXM6IGFueTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25Gb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgZ2V0IGNvbnRyb2woKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCBvcHRpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XHJcbiAgfVxyXG5cclxuICBnZXQgcGxhY2Vob2xkZXIoKSB7XHJcbiAgICBpZiAoIXRoaXMubGFiZWwpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke3RoaXMubGFiZWx9JHt0aGlzLmlzUmVxdWlyZWQgPyAnKicgOiAnJ31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIHB1YmxpYyBwYWdlZFN1Z2dlc3Rpb25zOiBMaXN0SXRlbVtdID0gW107XHJcbiAgcHVibGljIHVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCA9ICgpID0+IHt9O1xyXG5cclxuICBwcml2YXRlIF9jb250cm9sOiBhbnk7XHJcbiAgcHJpdmF0ZSBfb3B0aW9uczogTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIHByaXZhdGUgY3VycmVudFNjcm9sbFBhZ2UgPSAtMTtcclxuICBwcml2YXRlIGN1cnJlbnRTY3JvbGxJbmRleCA9IDA7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgcHJpdmF0ZSBjdXJyZW50U2VhcmNoUXVlcnkgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICBpZiAodGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwpIHtcclxuICAgICAgdGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaWVsZEVycm9yTGFiZWwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2w/LmludmFsaWQgJiYgdGhpcy5jb250cm9sLnRvdWNoZWQpIHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbC5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xyXG4gICAgICAgIHJldHVybiAnQ2FtcG8gb2JyaWdhdMOzcmlvJztcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMuY29udHJvbD8uZXJyb3JzICYmIHR5cGVvZiB0aGlzLmNvbnRyb2wuZXJyb3JzWydpbnZhbGlkJ10gPT09ICdzdHJpbmcnXHJcbiAgICAgICAgPyB0aGlzLmNvbnRyb2w/LmVycm9yc1snaW52YWxpZCddXHJcbiAgICAgICAgOiAnQ2FtcG8gaW52w6FsaWRvJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VhcmNoKCRldmVudD86IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkgPSAkZXZlbnQ/LnF1ZXJ5LnRvVXBwZXJDYXNlKCkgfHwgJyc7XHJcbiAgICB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlID0gLTE7XHJcbiAgICB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCA9IDA7XHJcbiAgICB0aGlzLnBhZ2VSZXN1bHRzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25PcGVuQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhdXRvY29tcGxldGVQYW5lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5wLWF1dG9jb21wbGV0ZS1wYW5lbCcpO1xyXG4gICAgaWYgKGF1dG9jb21wbGV0ZVBhbmVsICYmIHRoaXMucGFnZWQpIHtcclxuICAgICAgdGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihhdXRvY29tcGxldGVQYW5lbCwgJ3Njcm9sbCcsIChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50YXJnZXQuc2Nyb2xsSGVpZ2h0IC0gZXZlbnQudGFyZ2V0LmNsaWVudEhlaWdodCA9PT0gTWF0aC5yb3VuZChldmVudC50YXJnZXQuc2Nyb2xsVG9wKSkge1xyXG4gICAgICAgICAgdGhpcy5wYWdlUmVzdWx0cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5wYWdlZCkge1xyXG4gICAgICB0aGlzLnVubGlzdGVuQXV0b2NvbXBsZXRlVmlydHVhbFNjcm9sbCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gW107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBhZ2VSZXN1bHRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMuc2VydmljZSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlKys7XHJcbiAgICAgIHRoaXMuc2VydmljZS5nZXRQYWdlZCh0aGlzLmN1cnJlbnRTZWFyY2hRdWVyeSwgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSwgMjAsIHRoaXMuZGVwZW5kZW5jaWVzKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnMgPSB0aGlzLmN1cnJlbnRTY3JvbGxQYWdlID09PSAwID8gcmVzcG9uc2UgOiB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnMuY29uY2F0KHJlc3BvbnNlKTtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpO1xyXG4gICAgICAgICAgdGhpcy5oYW5kbGVTZWFyY2hFcnJvcnMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5maWx0ZXJMaXN0QnlRdWVyeSh0aGlzLm9wdGlvbnMsIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5LnRvVXBwZXJDYXNlKCkpO1xyXG4gICAgICB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnMgPSBmaWx0ZXJlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggKyAyMCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLmxlbmd0aCA+IDIwKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggPSB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCArIDIwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpO1xyXG4gICAgICB0aGlzLmhhbmRsZVNlYXJjaEVycm9ycygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb250cm9sVmFsdWVGcm9tU3VnZ2VzdGlvbnMoKSB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sLnZhbHVlICYmIHRoaXMucGFnZWRTdWdnZXN0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgbGV0IGl0ZW1zQXJyYXkgPSB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM7XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICAgIGl0ZW1zQXJyYXkgPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKFxyXG4gICAgICAgIGl0ZW1zQXJyYXkuZmluZChcclxuICAgICAgICAgIChvcHQpID0+XHJcbiAgICAgICAgICAgIGAke29wdC5jb2RlfWAgPT09XHJcbiAgICAgICAgICAgICgoT2JqZWN0VXRpbC5pc1ZhbGlkKHRoaXMuY29udHJvbC52YWx1ZT8uY29kZSkgJiYgYCR7dGhpcy5jb250cm9sLnZhbHVlPy5jb2RlfWApIHx8IGAke3RoaXMuY29udHJvbC52YWx1ZX1gKVxyXG4gICAgICAgICksXHJcbiAgICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlU2VhcmNoRXJyb3JzKCkge1xyXG4gICAgaWYgKHRoaXMucGFnZWRTdWdnZXN0aW9ucy5sZW5ndGgpIHtcclxuICAgICAgZGVsZXRlIHRoaXMuY29udHJvbC5lcnJvcnM/Lml0ZW1Ob3RGb3VuZDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyZW50U2VhcmNoUXVlcnkpIHtcclxuICAgICAgdGhpcy5jb250cm9sLnNldEVycm9ycyh7IGl0ZW1Ob3RGb3VuZDogdHJ1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsdGVyTGlzdEJ5UXVlcnkobGlzdDogTGlzdEl0ZW1bXSwgcXVlcnk6IHN0cmluZyk6IExpc3RJdGVtW10ge1xyXG4gICAgcmV0dXJuIGxpc3QuZmlsdGVyKFxyXG4gICAgICAob3B0KSA9PiBvcHQuY29kZS50b1N0cmluZygpLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpIHx8IG9wdC5uYW1lLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgPHAtYXV0b0NvbXBsZXRlXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgZmllbGQ9XCJuYW1lXCJcclxuICAgIGRhdGFLZXk9XCJjb2RlXCJcclxuICAgIFtmb3JjZVNlbGVjdGlvbl09XCJ0cnVlXCJcclxuICAgIFtkcm9wZG93bl09XCJ0cnVlXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICBbc3VnZ2VzdGlvbnNdPVwicGFnZWRTdWdnZXN0aW9uc1wiXHJcbiAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxyXG4gICAgKG9uU2hvdyk9XCJvbk9wZW5BdXRvY29tcGxldGVQYW5lbCgpXCJcclxuICAgIChvbkhpZGUpPVwib25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKVwiXHJcbiAgICAob25Gb2N1cyk9XCJvbkZvY3VzLmVtaXQoJGV2ZW50KVwiXHJcbiAgPlxyXG4gIDwvcC1hdXRvQ29tcGxldGU+XHJcbiAgPHZlY3Rvci1idXR0b25cclxuICAgICpuZ0lmPVwiYnV0dG9uQWN0aW9uXCJcclxuICAgIFtsYWJlbF09XCJidXR0b25BY3Rpb24ubGFiZWxcIlxyXG4gICAgW2Rpc2FibGVkXT1cIiFjb250cm9sLnZhbHVlXCJcclxuICAgIChvbkNsaWNrKT1cImJ1dHRvbkFjdGlvbi5vbkNsaWNrKGNvbnRyb2wudmFsdWUpXCJcclxuICA+PC92ZWN0b3ItYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9maWVsZHMvZHJvcGRvd24tZmllbGQvZHJvcGRvd24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQVk1QyxNQUFNLE9BQU8sc0JBQXNCO0lBMERqQyxZQUFvQixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBbkRoQyxlQUFVLEdBQXdCLEtBQUssQ0FBQztRQWF4QyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBSW5CLFVBQUssR0FBRyxJQUFJLENBQUM7UUFNYixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWlCN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBZSxFQUFFLENBQUM7UUFDbEMsc0NBQWlDLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRzVDLGFBQVEsR0FBMkIsRUFBRSxDQUFDO1FBQ3RDLHNCQUFpQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLHVCQUFrQixHQUFHLENBQUMsQ0FBQztRQUN2QixpQkFBWSxHQUFHLElBQUks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RUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQ3JCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDO1NBQzFDO2FBQU0sSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNoRDtJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxPQUFtQixFQUFFLEVBQUUsS0FBYTtRQUM1RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDckcsQ0FBQztJQUNKLENBQUM7O21IQXZLVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw0UkNoQm5DLG10QkF1QkE7MkZEUGEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLHVCQUF1QjtnR0FNN0IsT0FBTztzQkFEVixLQUFLO2dCQU1DLFVBQVU7c0JBRGhCLEtBQUs7Z0JBR0YsT0FBTztzQkFEVixLQUFLO2dCQVlDLEtBQUs7c0JBRFgsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUs7Z0JBR0MsS0FBSztzQkFEWCxLQUFLO2dCQUdDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBR0MsWUFBWTtzQkFEbEIsS0FBSztnQkFHQyxPQUFPO3NCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBCYXNlRHJvcGRvd24gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE9iamVjdFV0aWwgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcblxyXG5leHBvcnQgdHlwZSBEcm9wZG93bkJ1dHRvbkFjdGlvbiA9IHtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIG9uQ2xpY2s6ICh2YWx1ZTogYW55KSA9PiB2b2lkO1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2ZWN0b3ItZHJvcGRvd24tZmllbGQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1maWVsZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24tZmllbGQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyb3Bkb3duRmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICBzZXQgb3B0aW9ucyhfb3B0aW9uczogTGlzdEl0ZW1bXSB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fb3B0aW9ucyA9IF9vcHRpb25zO1xyXG4gICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gdGhpcy5vcHRpb25zIHx8IFtdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1JlcXVpcmVkOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzZXQgY29udHJvbChfY29udHJvbDogYW55KSB7XHJcbiAgICB0aGlzLl9jb250cm9sID0gX2NvbnRyb2w7XHJcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcclxuICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXJ2aWNlOiBCYXNlRHJvcGRvd24gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFnZWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGJ1dHRvbkFjdGlvbjogRHJvcGRvd25CdXR0b25BY3Rpb24gfCB1bmRlZmluZWQ7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGVwZW5kZW5jaWVzOiBhbnk7XHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGdldCBjb250cm9sKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgb3B0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBsYWNlaG9sZGVyKCkge1xyXG4gICAgaWYgKCF0aGlzLmxhYmVsKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIHJldHVybiBgJHt0aGlzLmxhYmVsfSR7dGhpcy5pc1JlcXVpcmVkID8gJyonIDogJyd9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBwdWJsaWMgcGFnZWRTdWdnZXN0aW9uczogTGlzdEl0ZW1bXSA9IFtdO1xyXG4gIHB1YmxpYyB1bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwgPSAoKSA9PiB7fTtcclxuXHJcbiAgcHJpdmF0ZSBfY29udHJvbDogYW55O1xyXG4gIHByaXZhdGUgX29wdGlvbnM6IExpc3RJdGVtW10gfCB1bmRlZmluZWQgPSBbXTtcclxuICBwcml2YXRlIGN1cnJlbnRTY3JvbGxQYWdlID0gLTE7XHJcbiAgcHJpdmF0ZSBjdXJyZW50U2Nyb2xsSW5kZXggPSAwO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xyXG4gIHByaXZhdGUgY3VycmVudFNlYXJjaFF1ZXJ5ID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgaWYgKHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsKSB7XHJcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmllbGRFcnJvckxhYmVsKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sPy5pbnZhbGlkICYmIHRoaXMuY29udHJvbC50b3VjaGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcclxuICAgICAgICByZXR1cm4gJ0NhbXBvIG9icmlnYXTDs3Jpbyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiB0aGlzLmNvbnRyb2w/LmVycm9ycyAmJiB0eXBlb2YgdGhpcy5jb250cm9sLmVycm9yc1snaW52YWxpZCddID09PSAnc3RyaW5nJ1xyXG4gICAgICAgID8gdGhpcy5jb250cm9sPy5lcnJvcnNbJ2ludmFsaWQnXVxyXG4gICAgICAgIDogJ0NhbXBvIGludsOhbGlkbyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlYXJjaCgkZXZlbnQ/OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5ID0gJGV2ZW50Py5xdWVyeS50b1VwcGVyQ2FzZSgpIHx8ICcnO1xyXG4gICAgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSA9IC0xO1xyXG4gICAgdGhpcy5jdXJyZW50U2Nyb2xsSW5kZXggPSAwO1xyXG4gICAgdGhpcy5wYWdlUmVzdWx0cygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uT3BlbkF1dG9jb21wbGV0ZVBhbmVsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYXV0b2NvbXBsZXRlUGFuZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucC1hdXRvY29tcGxldGUtcGFuZWwnKTtcclxuICAgIGlmIChhdXRvY29tcGxldGVQYW5lbCAmJiB0aGlzLnBhZ2VkKSB7XHJcbiAgICAgIHRoaXMudW5saXN0ZW5BdXRvY29tcGxldGVWaXJ0dWFsU2Nyb2xsID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oYXV0b2NvbXBsZXRlUGFuZWwsICdzY3JvbGwnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnNjcm9sbEhlaWdodCAtIGV2ZW50LnRhcmdldC5jbGllbnRIZWlnaHQgPT09IE1hdGgucm91bmQoZXZlbnQudGFyZ2V0LnNjcm9sbFRvcCkpIHtcclxuICAgICAgICAgIHRoaXMucGFnZVJlc3VsdHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uSGlkZUF1dG9jb21wbGV0ZVBhbmVsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFnZWQpIHtcclxuICAgICAgdGhpcy51bmxpc3RlbkF1dG9jb21wbGV0ZVZpcnR1YWxTY3JvbGwoKTtcclxuICAgIH1cclxuICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYWdlUmVzdWx0cygpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLnNlcnZpY2UpIHtcclxuICAgICAgdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSsrO1xyXG4gICAgICB0aGlzLnNlcnZpY2UuZ2V0UGFnZWQodGhpcy5jdXJyZW50U2VhcmNoUXVlcnksIHRoaXMuY3VycmVudFNjcm9sbFBhZ2UsIDIwLCB0aGlzLmRlcGVuZGVuY2llcykuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zID0gdGhpcy5jdXJyZW50U2Nyb2xsUGFnZSA9PT0gMCA/IHJlc3BvbnNlIDogdGhpcy5wYWdlZFN1Z2dlc3Rpb25zPy5jb25jYXQocmVzcG9uc2UpO1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCk7XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZVNlYXJjaEVycm9ycygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBmaWx0ZXJlZE9wdGlvbnMgPSB0aGlzLmZpbHRlckxpc3RCeVF1ZXJ5KHRoaXMub3B0aW9ucywgdGhpcy5jdXJyZW50U2VhcmNoUXVlcnkudG9VcHBlckNhc2UoKSk7XHJcbiAgICAgIHRoaXMucGFnZWRTdWdnZXN0aW9ucyA9IGZpbHRlcmVkT3B0aW9ucy5zbGljZSgwLCB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCArIDIwKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnM/Lmxlbmd0aCAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoID4gMjApIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRTY3JvbGxJbmRleCA9IHRoaXMuY3VycmVudFNjcm9sbEluZGV4ICsgMjA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0Q29udHJvbFZhbHVlRnJvbVN1Z2dlc3Rpb25zKCk7XHJcbiAgICAgIHRoaXMuaGFuZGxlU2VhcmNoRXJyb3JzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbnRyb2xWYWx1ZUZyb21TdWdnZXN0aW9ucygpIHtcclxuICAgIGlmICh0aGlzLmNvbnRyb2wudmFsdWUgJiYgdGhpcy5wYWdlZFN1Z2dlc3Rpb25zPy5sZW5ndGgpIHtcclxuICAgICAgbGV0IGl0ZW1zQXJyYXkgPSB0aGlzLnBhZ2VkU3VnZ2VzdGlvbnM7XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICAgIGl0ZW1zQXJyYXkgPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKFxyXG4gICAgICAgIGl0ZW1zQXJyYXkuZmluZChcclxuICAgICAgICAgIChvcHQpID0+XHJcbiAgICAgICAgICAgIGAke29wdC5jb2RlfWAgPT09XHJcbiAgICAgICAgICAgICgoT2JqZWN0VXRpbC5pc1ZhbGlkKHRoaXMuY29udHJvbC52YWx1ZT8uY29kZSkgJiYgYCR7dGhpcy5jb250cm9sLnZhbHVlPy5jb2RlfWApIHx8IGAke3RoaXMuY29udHJvbC52YWx1ZX1gKVxyXG4gICAgICAgICksXHJcbiAgICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlU2VhcmNoRXJyb3JzKCkge1xyXG4gICAgaWYgKHRoaXMucGFnZWRTdWdnZXN0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIGRlbGV0ZSB0aGlzLmNvbnRyb2wuZXJyb3JzPy5pdGVtTm90Rm91bmQ7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY3VycmVudFNlYXJjaFF1ZXJ5KSB7XHJcbiAgICAgIHRoaXMuY29udHJvbC5zZXRFcnJvcnMoeyBpdGVtTm90Rm91bmQ6IHRydWUgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbHRlckxpc3RCeVF1ZXJ5KGxpc3Q6IExpc3RJdGVtW10gPSBbXSwgcXVlcnk6IHN0cmluZyk6IExpc3RJdGVtW10ge1xyXG4gICAgcmV0dXJuIGxpc3QuZmlsdGVyKFxyXG4gICAgICAob3B0KSA9PiBvcHQuY29kZS50b1N0cmluZygpLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpIHx8IG9wdC5uYW1lLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMocXVlcnkpXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgPHAtYXV0b0NvbXBsZXRlXHJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgZmllbGQ9XCJuYW1lXCJcclxuICAgIGRhdGFLZXk9XCJjb2RlXCJcclxuICAgIFtmb3JjZVNlbGVjdGlvbl09XCJ0cnVlXCJcclxuICAgIFtkcm9wZG93bl09XCJ0cnVlXCJcclxuICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICBbc3VnZ2VzdGlvbnNdPVwicGFnZWRTdWdnZXN0aW9uc1wiXHJcbiAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxyXG4gICAgKG9uU2hvdyk9XCJvbk9wZW5BdXRvY29tcGxldGVQYW5lbCgpXCJcclxuICAgIChvbkhpZGUpPVwib25IaWRlQXV0b2NvbXBsZXRlUGFuZWwoKVwiXHJcbiAgICAob25Gb2N1cyk9XCJvbkZvY3VzLmVtaXQoJGV2ZW50KVwiXHJcbiAgPlxyXG4gIDwvcC1hdXRvQ29tcGxldGU+XHJcbiAgPHZlY3Rvci1idXR0b25cclxuICAgICpuZ0lmPVwiYnV0dG9uQWN0aW9uXCJcclxuICAgIFtsYWJlbF09XCJidXR0b25BY3Rpb24ubGFiZWxcIlxyXG4gICAgW2Rpc2FibGVkXT1cIiFjb250cm9sLnZhbHVlXCJcclxuICAgIChvbkNsaWNrKT1cImJ1dHRvbkFjdGlvbi5vbkNsaWNrKGNvbnRyb2wudmFsdWUpXCJcclxuICA+PC92ZWN0b3ItYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
@@ -116,7 +116,7 @@ export class FiltersComponent {
116
116
  }
117
117
  }
118
118
  FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
119
- FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch" }, ngImport: i0, template: "<section class=\"grid filter-container\" [hidden]=\"!fields?.length\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"field.type === fieldTypes.DROPDOWN\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n </div>\r\n <div class=\"search-button col-12 sm:col-4 md:col-2\">\r\n <vector-button label=\"Pesquisar\" (click)=\"search()\" [disabled]=\"!formGroup.valid\"></vector-button>\r\n </div>\r\n</section>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}@media (min-width: 768px){.filter-container .search-button{padding-top:32px}}\n"], components: [{ type: i1.TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "onlyText", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: i2.DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies"], outputs: ["onFocus"] }, { type: i3.CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["control", "outlined"] }, { type: i4.CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled"] }, { type: i5.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "noShadow"], outputs: ["onClick"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": i7.NotHiddenPipe } });
119
+ FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch" }, ngImport: i0, template: "<section class=\"grid filter-container\" [hidden]=\"!fields?.length\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"field.type === fieldTypes.DROPDOWN\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n </div>\r\n <div class=\"search-button col-12 sm:col-4 md:col-2\">\r\n <vector-button label=\"Pesquisar\" (click)=\"search()\" [disabled]=\"!formGroup.valid\"></vector-button>\r\n </div>\r\n</section>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}@media (min-width: 768px){.filter-container .search-button{padding-top:32px}}\n"], components: [{ type: i1.TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "onlyText", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: i2.DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies"], outputs: ["onFocus"] }, { type: i3.CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "control", "outlined"] }, { type: i4.CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled"] }, { type: i5.ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "noShadow"], outputs: ["onClick"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": i7.NotHiddenPipe } });
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'vector-filters', template: "<section class=\"grid filter-container\" [hidden]=\"!fields?.length\">\r\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\r\n <label>{{ field.label }}</label>\r\n <vector-text-field\r\n *ngIf=\"isTextFieldType(field)\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [mask]=\"field.mask\"\r\n [label]=\"field.placeholder\"\r\n [isRequired]=\"field.required\"\r\n [numeric]=\"field.type === fieldTypes.NUMBER\"\r\n ></vector-text-field>\r\n <vector-dropdown-field\r\n *ngIf=\"field.type === fieldTypes.DROPDOWN\"\r\n [options]=\"field.options || []\"\r\n [service]=\"field.service\"\r\n [isRequired]=\"field.required\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [paged]=\"false\"\r\n [dependencies]=\"getFieldDependencies(field)\"\r\n ></vector-dropdown-field>\r\n <vector-currency-field\r\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [outlined]=\"true\"\r\n ></vector-currency-field>\r\n <vector-calendar-field\r\n *ngIf=\"field.type === fieldTypes.DATE\"\r\n [control]=\"formGroup.get(field.name)\"\r\n [isRequired]=\"field.required\"\r\n [label]=\"field.placeholder || ''\"\r\n ></vector-calendar-field>\r\n </div>\r\n <div class=\"search-button col-12 sm:col-4 md:col-2\">\r\n <vector-button label=\"Pesquisar\" (click)=\"search()\" [disabled]=\"!formGroup.valid\"></vector-button>\r\n </div>\r\n</section>\r\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}@media (min-width: 768px){.filter-container .search-button{padding-top:32px}}\n"] }]
@@ -0,0 +1,48 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { Role } from '../models';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services";
6
+ import * as i2 from "@angular/router";
7
+ import * as i3 from "../models";
8
+ export class GetTokenByGuidGuard {
9
+ constructor(authService, storageService, router, appName) {
10
+ this.authService = authService;
11
+ this.storageService = storageService;
12
+ this.router = router;
13
+ this.appName = appName;
14
+ }
15
+ canActivate(route) {
16
+ const paramTokenGuid = route.queryParams['Token'];
17
+ const role = atob(route.queryParams['role'] || '');
18
+ this.authService.role$.next(role);
19
+ if (paramTokenGuid) {
20
+ this.storageService.clear();
21
+ this.storageService.setRole(route.queryParams['role']);
22
+ this.storageService.setUserId(route.queryParams['userId']);
23
+ return this.authService.getTokenByGuid(paramTokenGuid).pipe(map((token) => {
24
+ if (token && role !== Role.ADMIN) {
25
+ return this.router.createUrlTree([this.appName.toLowerCase()]);
26
+ }
27
+ return true;
28
+ }));
29
+ }
30
+ else if (this.storageService.getToken()) {
31
+ if (role !== Role.ADMIN) {
32
+ return this.router.createUrlTree([this.appName.toLowerCase()]);
33
+ }
34
+ return true;
35
+ }
36
+ this.authService.logout();
37
+ return false;
38
+ }
39
+ }
40
+ GetTokenByGuidGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetTokenByGuidGuard, deps: [{ token: i1.AuthService }, { token: i1.StorageService }, { token: i2.Router }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Injectable });
41
+ GetTokenByGuidGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetTokenByGuidGuard });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: GetTokenByGuidGuard, decorators: [{
43
+ type: Injectable
44
+ }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.StorageService }, { type: i2.Router }, { type: i3.AppName, decorators: [{
45
+ type: Inject,
46
+ args: ['appName']
47
+ }] }]; } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRva2VuLWJ5LWd1aWQuZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9ndWFyZHMvZ2V0LXRva2VuLWJ5LWd1aWQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBVyxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBSTFDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFDVSxXQUF3QixFQUN4QixjQUE4QixFQUM5QixNQUFjLEVBQ0ssT0FBZ0I7UUFIbkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDSyxZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQzFDLENBQUM7SUFFSixXQUFXLENBQUMsS0FBNkI7UUFDdkMsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQVMsQ0FBQztRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzNELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUN6RCxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDWixJQUFJLEtBQUssSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDaEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNoRTtnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDthQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN6QyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDaEU7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2dIQWhDVSxtQkFBbUIsaUdBS3BCLFNBQVM7b0hBTFIsbUJBQW1COzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQU1OLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcHBOYW1lLCBSb2xlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgR2V0VG9rZW5CeUd1aWRHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgQEluamVjdCgnYXBwTmFtZScpIHByaXZhdGUgYXBwTmFtZTogQXBwTmFtZVxyXG4gICkge31cclxuXHJcbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcclxuICAgIGNvbnN0IHBhcmFtVG9rZW5HdWlkID0gcm91dGUucXVlcnlQYXJhbXNbJ1Rva2VuJ107XHJcbiAgICBjb25zdCByb2xlID0gYXRvYihyb3V0ZS5xdWVyeVBhcmFtc1sncm9sZSddIHx8ICcnKSBhcyBSb2xlO1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5yb2xlJC5uZXh0KHJvbGUpO1xyXG4gICAgaWYgKHBhcmFtVG9rZW5HdWlkKSB7XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXIoKTtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRSb2xlKHJvdXRlLnF1ZXJ5UGFyYW1zWydyb2xlJ10pO1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFVzZXJJZChyb3V0ZS5xdWVyeVBhcmFtc1sndXNlcklkJ10pO1xyXG4gICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbkJ5R3VpZChwYXJhbVRva2VuR3VpZCkucGlwZShcclxuICAgICAgICBtYXAoKHRva2VuKSA9PiB7XHJcbiAgICAgICAgICBpZiAodG9rZW4gJiYgcm9sZSAhPT0gUm9sZS5BRE1JTikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbdGhpcy5hcHBOYW1lLnRvTG93ZXJDYXNlKCldKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VG9rZW4oKSkge1xyXG4gICAgICBpZiAocm9sZSAhPT0gUm9sZS5BRE1JTikge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFt0aGlzLmFwcE5hbWUudG9Mb3dlckNhc2UoKV0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,27 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../services";
4
+ import * as i2 from "@angular/router";
5
+ import * as i3 from "../models";
6
+ export class HasPermissionGuard {
7
+ constructor(profileService, router, appName) {
8
+ this.profileService = profileService;
9
+ this.router = router;
10
+ this.appName = appName;
11
+ }
12
+ canActivate(routeSnapshot) {
13
+ if (!this.profileService.userHasPermission(routeSnapshot.data['permission'])) {
14
+ return this.router.createUrlTree([this.appName.toLowerCase()]);
15
+ }
16
+ return true;
17
+ }
18
+ }
19
+ HasPermissionGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HasPermissionGuard, deps: [{ token: i1.ProfileService }, { token: i2.Router }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Injectable });
20
+ HasPermissionGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HasPermissionGuard });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HasPermissionGuard, decorators: [{
22
+ type: Injectable
23
+ }], ctorParameters: function () { return [{ type: i1.ProfileService }, { type: i2.Router }, { type: i3.AppName, decorators: [{
24
+ type: Inject,
25
+ args: ['appName']
26
+ }] }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzLXBlcm1pc3Npb24uZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9ndWFyZHMvaGFzLXBlcm1pc3Npb24uZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBTW5ELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDVSxjQUE4QixFQUM5QixNQUFjLEVBQ0ssT0FBZ0I7UUFGbkMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDSyxZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQzFDLENBQUM7SUFFSixXQUFXLENBQUMsYUFBcUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFO1lBQzVFLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7K0dBWlUsa0JBQWtCLHNFQUluQixTQUFTO21IQUpSLGtCQUFrQjsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVOzswQkFLTixNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFwcE5hbWUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQcm9maWxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEhhc1Blcm1pc3Npb25HdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcHJvZmlsZVNlcnZpY2U6IFByb2ZpbGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIEBJbmplY3QoJ2FwcE5hbWUnKSBwcml2YXRlIGFwcE5hbWU6IEFwcE5hbWVcclxuICApIHt9XHJcblxyXG4gIGNhbkFjdGl2YXRlKHJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcclxuICAgIGlmICghdGhpcy5wcm9maWxlU2VydmljZS51c2VySGFzUGVybWlzc2lvbihyb3V0ZVNuYXBzaG90LmRhdGFbJ3Blcm1pc3Npb24nXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoW3RoaXMuYXBwTmFtZS50b0xvd2VyQ2FzZSgpXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './get-token-by-guid.guard';
2
+ export * from './has-permission.guard';
3
+ export * from './role.guard';
4
+ export * from './token-is-present.guard';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9ndWFyZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC10b2tlbi1ieS1ndWlkLmd1YXJkJztcclxuZXhwb3J0ICogZnJvbSAnLi9oYXMtcGVybWlzc2lvbi5ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcm9sZS5ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4taXMtcHJlc2VudC5ndWFyZCc7XHJcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Role } from '../models';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../services";
5
+ import * as i2 from "@angular/router";
6
+ export class RoleGuard {
7
+ constructor(storageService, router) {
8
+ this.storageService = storageService;
9
+ this.router = router;
10
+ }
11
+ canActivate(routeSnapshot) {
12
+ const isRoleAdmin = this.storageService.getRole() === Role.ADMIN;
13
+ if ((routeSnapshot.data['adminView'] && isRoleAdmin) || (!routeSnapshot.data['adminView'] && !isRoleAdmin)) {
14
+ return true;
15
+ }
16
+ return this.router.createUrlTree(['']);
17
+ }
18
+ }
19
+ RoleGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RoleGuard, deps: [{ token: i1.StorageService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
20
+ RoleGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RoleGuard });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: RoleGuard, decorators: [{
22
+ type: Injectable
23
+ }], ctorParameters: function () { return [{ type: i1.StorageService }, { type: i2.Router }]; } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2d1YXJkcy9yb2xlLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQUlqQyxNQUFNLE9BQU8sU0FBUztJQUNwQixZQUFvQixjQUE4QixFQUFVLE1BQWM7UUFBdEQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFOUUsV0FBVyxDQUFDLGFBQXFDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNqRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzFHLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDOztzR0FUVSxTQUFTOzBHQUFULFNBQVM7MkZBQVQsU0FBUztrQkFEckIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJvbGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJvbGVHdWFyZCBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cclxuXHJcbiAgY2FuQWN0aXZhdGUocm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCkge1xyXG4gICAgY29uc3QgaXNSb2xlQWRtaW4gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFJvbGUoKSA9PT0gUm9sZS5BRE1JTjtcclxuICAgIGlmICgocm91dGVTbmFwc2hvdC5kYXRhWydhZG1pblZpZXcnXSAmJiBpc1JvbGVBZG1pbikgfHwgKCFyb3V0ZVNuYXBzaG90LmRhdGFbJ2FkbWluVmlldyddICYmICFpc1JvbGVBZG1pbikpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJyddKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,17 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../services";
4
+ export class TokenIsPresentGuard {
5
+ constructor(storageService) {
6
+ this.storageService = storageService;
7
+ }
8
+ canActivate() {
9
+ return !!this.storageService.getToken();
10
+ }
11
+ }
12
+ TokenIsPresentGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard, deps: [{ token: i1.StorageService }], target: i0.ɵɵFactoryTarget.Injectable });
13
+ TokenIsPresentGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TokenIsPresentGuard, decorators: [{
15
+ type: Injectable
16
+ }], ctorParameters: function () { return [{ type: i1.StorageService }]; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4taXMtcHJlc2VudC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2d1YXJkcy90b2tlbi1pcy1wcmVzZW50Lmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQW9CLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7SUFFdEQsV0FBVztRQUNULE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7Z0hBTFUsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FuQWN0aXZhdGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRva2VuSXNQcmVzZW50R3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UpIHt9XHJcblxyXG4gIGNhbkFjdGl2YXRlKCkge1xyXG4gICAgcmV0dXJuICEhdGhpcy5zdG9yYWdlU2VydmljZS5nZXRUb2tlbigpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXNwb25zZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9odHRwLXJlc3BvbnNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBIdHRwUmVzcG9uc2U8VD4gPSB7XHJcbiAgc3VjY2VzczogYm9vbGVhbjtcclxuICBzdGF0dXNDb2RlOiBudW1iZXI7XHJcbiAgZGF0YTogVFtdO1xyXG4gIG1lc3NhZ2VzOiBhbnlbXTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEh0dHBSZXNwb25zZVBhZ2VkPFQ+ID0ge1xyXG4gIGRhdGE6IFRbXTtcclxuICBwYWdlOiBudW1iZXI7XHJcbiAgdG90YWxDb3VudDogbnVtYmVyO1xyXG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEh0dHBSZXNwb25zZUdyaWRQYWdlZDxUPiA9IHtcclxuICBkYXRhOiBUW107XHJcbiAgZHJhdzogbnVtYmVyO1xyXG4gIHJlY29yZHNGaWx0ZXJlZDogbnVtYmVyO1xyXG4gIHJlY29yZHNUb3RhbDogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSHR0cExlZ2FjeUxpc3RJdGVtID0ge1xyXG4gIHRleHQ6IHN0cmluZztcclxuICB2YWx1ZTogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSHR0cExlZ2FjeUl0ZW1EYXRhPFQ+ID0ge1xyXG4gIGQ6IFQ7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBIdHRwTGVnYWN5Q3J1ZEFjdGlvblJlc3BvbnNlID0ge1xyXG4gIGRpc3BsYXlNc2c6IGJvb2xlYW47XHJcbiAgZXJyb3JDb2RlOiBudW1iZXI7XHJcbiAgbXNnQ29kZTogbnVtYmVyO1xyXG4gIG9rOiBib29sZWFuO1xyXG4gIHJlc3VsdDogbnVtYmVyO1xyXG59O1xyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXNwb25zZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9odHRwLXJlc3BvbnNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBIdHRwUmVzcG9uc2U8VD4gPSB7XHJcbiAgc3VjY2VzczogYm9vbGVhbjtcclxuICBzdGF0dXNDb2RlOiBudW1iZXI7XHJcbiAgZGF0YTogVDtcclxuICBtZXNzYWdlczogYW55W107XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBIdHRwUmVzcG9uc2VQYWdlZDxUPiA9IHtcclxuICBkYXRhOiBUW107XHJcbiAgcGFnZTogbnVtYmVyO1xyXG4gIHRvdGFsQ291bnQ6IG51bWJlcjtcclxuICB0b3RhbFBhZ2VzOiBudW1iZXI7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBIdHRwUmVzcG9uc2VHcmlkUGFnZWQ8VD4gPSB7XHJcbiAgZGF0YTogVFtdO1xyXG4gIGRyYXc6IG51bWJlcjtcclxuICByZWNvcmRzRmlsdGVyZWQ6IG51bWJlcjtcclxuICByZWNvcmRzVG90YWw6IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEh0dHBMZWdhY3lMaXN0SXRlbSA9IHtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgdmFsdWU6IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIEh0dHBMZWdhY3lJdGVtRGF0YTxUPiA9IHtcclxuICBkOiBUO1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgSHR0cExlZ2FjeUNydWRBY3Rpb25SZXNwb25zZSA9IHtcclxuICBkaXNwbGF5TXNnOiBib29sZWFuO1xyXG4gIGVycm9yQ29kZTogbnVtYmVyO1xyXG4gIG1zZ0NvZGU6IG51bWJlcjtcclxuICBvazogYm9vbGVhbjtcclxuICByZXN1bHQ6IG51bWJlcjtcclxufTtcclxuIl19
@@ -10,10 +10,11 @@ export class StorageService {
10
10
  sessionStorage.clear();
11
11
  }
12
12
  get(key) {
13
- return localStorage.getItem(key);
13
+ const storageItem = localStorage.getItem(key);
14
+ return storageItem ? JSON.parse(storageItem) : '';
14
15
  }
15
16
  set(key, value) {
16
- localStorage.setItem(key, value);
17
+ localStorage.setItem(key, JSON.stringify(value));
17
18
  }
18
19
  remove(key) {
19
20
  localStorage.removeItem(key);
@@ -81,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
81
82
  type: Injectable,
82
83
  args: [{ providedIn: 'root' }]
83
84
  }], ctorParameters: function () { return []; } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGdCQUFlLENBQUM7SUFFVCxLQUFLO1FBQ1YsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sWUFBWTtRQUNqQixjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXO1FBQ3BCLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ25DLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBVztRQUN2QixZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFTSxlQUFlLENBQUMsWUFBb0I7UUFDekMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixjQUFjLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVNLFdBQVcsQ0FBQyxRQUFnQjtRQUNqQyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sY0FBYztRQUNuQixjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxTQUFTO1FBQ2QsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sV0FBVztRQUNoQixjQUFjLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQVMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQWE7UUFDMUIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTSxTQUFTO1FBQ2QsY0FBYyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sVUFBVTtRQUtmLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxRQUlqQjtRQUNDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVNLGFBQWE7UUFDbEIsY0FBYyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDOzsyR0F4R1UsY0FBYzsrR0FBZCxjQUFjLGNBREQsTUFBTTsyRkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFByb2ZpbGVNb2R1bGUsIFJvbGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFN0b3JhZ2VTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLmNsZWFyKCk7XHJcbiAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhclNlc3Npb24oKTogdm9pZCB7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VG9rZW4oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSB8fCAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogc3RyaW5nKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB0b2tlbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlVG9rZW4oKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndG9rZW4nKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSZWZyZXNoVG9rZW4oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdyZWZyZXNoVG9rZW4nKSB8fCAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZWZyZXNoVG9rZW4ocmVmcmVzaFRva2VuOiBzdHJpbmcpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3JlZnJlc2hUb2tlbicsIHJlZnJlc2hUb2tlbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlUmVmcmVzaFRva2VuKCkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgncmVmcmVzaFRva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VXNlcm5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3VzZXJuYW1lJywgdXNlcm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZVVzZXJuYW1lKCkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgndXNlcm5hbWUnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRVc2VySWQoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHVzZXJJZCA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpIHx8ICcnO1xyXG4gICAgcmV0dXJuIHVzZXJJZCA/ICthdG9iKHVzZXJJZCkgOiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFVzZXJJZCh1c2VySWQ6IG51bWJlcikge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndXNlcklkJywgYnRvYShgJHt1c2VySWR9YCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyVXNlcklkKCkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgndXNlcklkJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Um9sZSgpOiBSb2xlIHtcclxuICAgIHJldHVybiBhdG9iKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3JvbGUnKSB8fCAnJykgYXMgUm9sZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSb2xlKHJvbGU/OiBzdHJpbmcpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3JvbGUnLCByb2xlIHx8ICcnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhclJvbGUoKSB7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdyb2xlJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UHJvZmlsZSgpOiB7XHJcbiAgICBtYXJrZXRwbGFjZTogUHJvZmlsZU1vZHVsZSB8IHVuZGVmaW5lZDtcclxuICAgIGZpbnRlY2g6IFByb2ZpbGVNb2R1bGUgfCB1bmRlZmluZWQ7XHJcbiAgICBhbGxNb2R1bGVzOiBQcm9maWxlTW9kdWxlW10gfCB1bmRlZmluZWQ7XHJcbiAgfSB7XHJcbiAgICBjb25zdCBkYXRhID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncHJvZmlsZScpIHx8ICcnO1xyXG4gICAgcmV0dXJuIGRhdGEgPyBKU09OLnBhcnNlKGRhdGEpIDogZGF0YTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRQcm9maWxlKHByb2ZpbGVzOiB7XHJcbiAgICBtYXJrZXRwbGFjZTogUHJvZmlsZU1vZHVsZSB8IHVuZGVmaW5lZDtcclxuICAgIGZpbnRlY2g6IFByb2ZpbGVNb2R1bGUgfCB1bmRlZmluZWQ7XHJcbiAgICBhbGxNb2R1bGVzOiBQcm9maWxlTW9kdWxlW10gfCB1bmRlZmluZWQ7XHJcbiAgfSkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgncHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KHByb2ZpbGVzIHx8ICcnKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlUHJvZmlsZSgpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ3Byb2ZpbGUnKTtcclxuICB9XHJcbn1cclxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSTNDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGdCQUFlLENBQUM7SUFFVCxLQUFLO1FBQ1YsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sWUFBWTtRQUNqQixjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ2hDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQVc7UUFDdkIsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLGVBQWU7UUFDcEIsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRU0sZUFBZSxDQUFDLFlBQW9CO1FBQ3pDLGNBQWMsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsY0FBYyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTSxXQUFXLENBQUMsUUFBZ0I7UUFDakMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLGNBQWM7UUFDbkIsY0FBYyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sU0FBUztRQUNkLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxTQUFTLENBQUMsTUFBYztRQUM3QixjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsY0FBYyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFTLENBQUM7SUFDNUQsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFhO1FBQzFCLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sU0FBUztRQUNkLGNBQWMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFVBQVU7UUFLZixNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxVQUFVLENBQUMsUUFJakI7UUFDQyxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxhQUFhO1FBQ2xCLGNBQWMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7MkdBekdVLGNBQWM7K0dBQWQsY0FBYyxjQURELE1BQU07MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9maWxlTW9kdWxlLCBSb2xlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5jbGVhcigpO1xyXG4gICAgbG9jYWxTdG9yYWdlLmNsZWFyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJTZXNzaW9uKCk6IHZvaWQge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3Qgc3RvcmFnZUl0ZW0gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgcmV0dXJuIHN0b3JhZ2VJdGVtID8gSlNPTi5wYXJzZShzdG9yYWdlSXRlbSkgOiAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VG9rZW4oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSB8fCAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogc3RyaW5nKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndG9rZW4nLCB0b2tlbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlVG9rZW4oKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgndG9rZW4nKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRSZWZyZXNoVG9rZW4oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdyZWZyZXNoVG9rZW4nKSB8fCAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZWZyZXNoVG9rZW4ocmVmcmVzaFRva2VuOiBzdHJpbmcpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3JlZnJlc2hUb2tlbicsIHJlZnJlc2hUb2tlbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlUmVmcmVzaFRva2VuKCkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgncmVmcmVzaFRva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VXNlcm5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd1c2VybmFtZScpIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3VzZXJuYW1lJywgdXNlcm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZVVzZXJuYW1lKCkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgndXNlcm5hbWUnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRVc2VySWQoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHVzZXJJZCA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpIHx8ICcnO1xyXG4gICAgcmV0dXJuIHVzZXJJZCA/ICthdG9iKHVzZXJJZCkgOiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFVzZXJJZCh1c2VySWQ6IG51bWJlcikge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgndXNlcklkJywgYnRvYShgJHt1c2VySWR9YCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyVXNlcklkKCkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgndXNlcklkJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Um9sZSgpOiBSb2xlIHtcclxuICAgIHJldHVybiBhdG9iKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3JvbGUnKSB8fCAnJykgYXMgUm9sZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSb2xlKHJvbGU/OiBzdHJpbmcpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3JvbGUnLCByb2xlIHx8ICcnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhclJvbGUoKSB7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdyb2xlJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UHJvZmlsZSgpOiB7XHJcbiAgICBtYXJrZXRwbGFjZTogUHJvZmlsZU1vZHVsZSB8IHVuZGVmaW5lZDtcclxuICAgIGZpbnRlY2g6IFByb2ZpbGVNb2R1bGUgfCB1bmRlZmluZWQ7XHJcbiAgICBhbGxNb2R1bGVzOiBQcm9maWxlTW9kdWxlW10gfCB1bmRlZmluZWQ7XHJcbiAgfSB7XHJcbiAgICBjb25zdCBkYXRhID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgncHJvZmlsZScpIHx8ICcnO1xyXG4gICAgcmV0dXJuIGRhdGEgPyBKU09OLnBhcnNlKGRhdGEpIDogZGF0YTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRQcm9maWxlKHByb2ZpbGVzOiB7XHJcbiAgICBtYXJrZXRwbGFjZTogUHJvZmlsZU1vZHVsZSB8IHVuZGVmaW5lZDtcclxuICAgIGZpbnRlY2g6IFByb2ZpbGVNb2R1bGUgfCB1bmRlZmluZWQ7XHJcbiAgICBhbGxNb2R1bGVzOiBQcm9maWxlTW9kdWxlW10gfCB1bmRlZmluZWQ7XHJcbiAgfSkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgncHJvZmlsZScsIEpTT04uc3RyaW5naWZ5KHByb2ZpbGVzIHx8ICcnKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlUHJvZmlsZSgpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ3Byb2ZpbGUnKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,6 +1,7 @@
1
1
  const CPF_PATTERN = '###.###.###-##';
2
2
  const CNPJ_PATTERN = '##.###.###/####-##';
3
3
  const BOLETO_PATTERN = '#####.##### #####.###### #####.###### # ##############';
4
+ const POSTALCODE_TEXT_FIELD_PATTERN = '#####-###';
4
5
  export class MaskUtil {
5
6
  static formatDocument(stringValue) {
6
7
  if (!stringValue) {
@@ -14,6 +15,9 @@ export class MaskUtil {
14
15
  }
15
16
  return stringValue;
16
17
  }
18
+ static formatPostalCode(stringValue) {
19
+ return this.doMaskString(stringValue, POSTALCODE_TEXT_FIELD_PATTERN);
20
+ }
17
21
  static formatBoleto(stringValue) {
18
22
  return this.doMaskString(stringValue, BOLETO_PATTERN);
19
23
  }
@@ -28,4 +32,4 @@ MaskUtil.BOLETO_TEXT_FIELD_PATTERN = '99999.99999 99999.999999 99999.999999 9 99
28
32
  MaskUtil.CELLPHONE_TEXT_FIELD_PATTERN = '(99) 99999-9999';
29
33
  MaskUtil.PHONE_TEXT_FIELD_PATTERN = '(99) 9999-9999';
30
34
  MaskUtil.POSTALCODE_TEXT_FIELD_PATTERN = '99999-999';
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvdXRpbHMvbWFzay51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDO0FBQ3JDLE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDO0FBQzFDLE1BQU0sY0FBYyxHQUFHLHdEQUF3RCxDQUFDO0FBRWhGLE1BQU0sT0FBTyxRQUFRO0lBUVosTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFtQjtRQUM5QyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDckQ7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFtQjtRQUM1QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVcsRUFBRSxPQUFlO1FBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDOztBQTlCYSwrQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUMxQyxnQ0FBdUIsR0FBRyxvQkFBb0IsQ0FBQztBQUMvQyxrQ0FBeUIsR0FBRyx3REFBd0QsQ0FBQztBQUNyRixxQ0FBNEIsR0FBRyxpQkFBaUIsQ0FBQztBQUNqRCxpQ0FBd0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUM1QyxzQ0FBNkIsR0FBRyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBDUEZfUEFUVEVSTiA9ICcjIyMuIyMjLiMjIy0jIyc7XHJcbmNvbnN0IENOUEpfUEFUVEVSTiA9ICcjIy4jIyMuIyMjLyMjIyMtIyMnO1xyXG5jb25zdCBCT0xFVE9fUEFUVEVSTiA9ICcjIyMjIy4jIyMjIyAjIyMjIy4jIyMjIyMgIyMjIyMuIyMjIyMjICMgIyMjIyMjIyMjIyMjIyMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1hc2tVdGlsIHtcclxuICBwdWJsaWMgc3RhdGljIENQRl9URVhUX0ZJRUxEX1BBVFRFUk4gPSAnOTk5Ljk5OS45OTktOTknO1xyXG4gIHB1YmxpYyBzdGF0aWMgQ05QSl9URVhUX0ZJRUxEX1BBVFRFUk4gPSAnOTkuOTk5Ljk5OS85OTk5LTk5JztcclxuICBwdWJsaWMgc3RhdGljIEJPTEVUT19URVhUX0ZJRUxEX1BBVFRFUk4gPSAnOTk5OTkuOTk5OTkgOTk5OTkuOTk5OTk5IDk5OTk5Ljk5OTk5OSA5IDk5OTk5OTk5OTk5OTk5JztcclxuICBwdWJsaWMgc3RhdGljIENFTExQSE9ORV9URVhUX0ZJRUxEX1BBVFRFUk4gPSAnKDk5KSA5OTk5OS05OTk5JztcclxuICBwdWJsaWMgc3RhdGljIFBIT05FX1RFWFRfRklFTERfUEFUVEVSTiA9ICcoOTkpIDk5OTktOTk5OSc7XHJcbiAgcHVibGljIHN0YXRpYyBQT1NUQUxDT0RFX1RFWFRfRklFTERfUEFUVEVSTiA9ICc5OTk5OS05OTknO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdERvY3VtZW50KHN0cmluZ1ZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICghc3RyaW5nVmFsdWUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJpbmdWYWx1ZS5sZW5ndGggPT09IDExKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvTWFza1N0cmluZyhzdHJpbmdWYWx1ZSwgQ1BGX1BBVFRFUk4pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJpbmdWYWx1ZS5sZW5ndGggPT09IDE0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvTWFza1N0cmluZyhzdHJpbmdWYWx1ZSwgQ05QSl9QQVRURVJOKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3RyaW5nVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdEJvbGV0byhzdHJpbmdWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIEJPTEVUT19QQVRURVJOKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGRvTWFza1N0cmluZyhzdHI6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKSB7XHJcbiAgICBsZXQgaSA9IDA7XHJcbiAgICByZXR1cm4gcGF0dGVybi5yZXBsYWNlKC8jL2csICgpID0+IHN0cltpKytdKTtcclxuICB9XHJcbn1cclxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvdXRpbHMvbWFzay51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDO0FBQ3JDLE1BQU0sWUFBWSxHQUFHLG9CQUFvQixDQUFDO0FBQzFDLE1BQU0sY0FBYyxHQUFHLHdEQUF3RCxDQUFDO0FBQ2hGLE1BQU0sNkJBQTZCLEdBQUcsV0FBVyxDQUFDO0FBRWxELE1BQU0sT0FBTyxRQUFRO0lBUVosTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFtQjtRQUM5QyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDckQ7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQW1CO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxXQUFtQjtRQUM1QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVcsRUFBRSxPQUFlO1FBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNWLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDOztBQWxDYSwrQkFBc0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUMxQyxnQ0FBdUIsR0FBRyxvQkFBb0IsQ0FBQztBQUMvQyxrQ0FBeUIsR0FBRyx3REFBd0QsQ0FBQztBQUNyRixxQ0FBNEIsR0FBRyxpQkFBaUIsQ0FBQztBQUNqRCxpQ0FBd0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUM1QyxzQ0FBNkIsR0FBRyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBDUEZfUEFUVEVSTiA9ICcjIyMuIyMjLiMjIy0jIyc7XHJcbmNvbnN0IENOUEpfUEFUVEVSTiA9ICcjIy4jIyMuIyMjLyMjIyMtIyMnO1xyXG5jb25zdCBCT0xFVE9fUEFUVEVSTiA9ICcjIyMjIy4jIyMjIyAjIyMjIy4jIyMjIyMgIyMjIyMuIyMjIyMjICMgIyMjIyMjIyMjIyMjIyMnO1xyXG5jb25zdCBQT1NUQUxDT0RFX1RFWFRfRklFTERfUEFUVEVSTiA9ICcjIyMjIy0jIyMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1hc2tVdGlsIHtcclxuICBwdWJsaWMgc3RhdGljIENQRl9URVhUX0ZJRUxEX1BBVFRFUk4gPSAnOTk5Ljk5OS45OTktOTknO1xyXG4gIHB1YmxpYyBzdGF0aWMgQ05QSl9URVhUX0ZJRUxEX1BBVFRFUk4gPSAnOTkuOTk5Ljk5OS85OTk5LTk5JztcclxuICBwdWJsaWMgc3RhdGljIEJPTEVUT19URVhUX0ZJRUxEX1BBVFRFUk4gPSAnOTk5OTkuOTk5OTkgOTk5OTkuOTk5OTk5IDk5OTk5Ljk5OTk5OSA5IDk5OTk5OTk5OTk5OTk5JztcclxuICBwdWJsaWMgc3RhdGljIENFTExQSE9ORV9URVhUX0ZJRUxEX1BBVFRFUk4gPSAnKDk5KSA5OTk5OS05OTk5JztcclxuICBwdWJsaWMgc3RhdGljIFBIT05FX1RFWFRfRklFTERfUEFUVEVSTiA9ICcoOTkpIDk5OTktOTk5OSc7XHJcbiAgcHVibGljIHN0YXRpYyBQT1NUQUxDT0RFX1RFWFRfRklFTERfUEFUVEVSTiA9ICc5OTk5OS05OTknO1xyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdERvY3VtZW50KHN0cmluZ1ZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICghc3RyaW5nVmFsdWUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJpbmdWYWx1ZS5sZW5ndGggPT09IDExKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvTWFza1N0cmluZyhzdHJpbmdWYWx1ZSwgQ1BGX1BBVFRFUk4pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJpbmdWYWx1ZS5sZW5ndGggPT09IDE0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRvTWFza1N0cmluZyhzdHJpbmdWYWx1ZSwgQ05QSl9QQVRURVJOKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc3RyaW5nVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdFBvc3RhbENvZGUoc3RyaW5nVmFsdWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuZG9NYXNrU3RyaW5nKHN0cmluZ1ZhbHVlLCBQT1NUQUxDT0RFX1RFWFRfRklFTERfUEFUVEVSTik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdEJvbGV0byhzdHJpbmdWYWx1ZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kb01hc2tTdHJpbmcoc3RyaW5nVmFsdWUsIEJPTEVUT19QQVRURVJOKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGRvTWFza1N0cmluZyhzdHI6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKSB7XHJcbiAgICBsZXQgaSA9IDA7XHJcbiAgICByZXR1cm4gcGF0dGVybi5yZXBsYWNlKC8jL2csICgpID0+IHN0cltpKytdKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,8 @@
1
1
  export * from './lib/components';
2
+ export * from './lib/guards';
2
3
  export * from './lib/interceptors';
3
4
  export * from './lib/models';
4
5
  export * from './lib/pipes';
5
6
  export * from './lib/services';
6
7
  export * from './lib/utils';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJjZXB0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscyc7XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3VhcmRzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyY2VwdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMnO1xuIl19