mapa-library-ui 0.34.0 → 0.36.0

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 (77) hide show
  1. package/esm2020/lib/core/elements/element-base.mjs +5 -3
  2. package/esm2020/lib/core/elements/slide-toggle.mjs +8 -0
  3. package/esm2020/public-api.mjs +2 -1
  4. package/esm2020/src/lib/components/capability/lib/core/elements/element-base.mjs +5 -3
  5. package/esm2020/src/lib/components/chart/lib/core/elements/element-base.mjs +5 -3
  6. package/esm2020/src/lib/components/dropdown/lib/core/elements/element-base.mjs +5 -3
  7. package/esm2020/src/lib/components/form/form.mjs +2 -1
  8. package/esm2020/src/lib/components/form/lib/components/form/src/form.component.mjs +4 -3
  9. package/esm2020/src/lib/components/form/lib/components/form/src/form.module.mjs +5 -2
  10. package/esm2020/src/lib/components/form/lib/components/slide-toggle/public-api.mjs +6 -0
  11. package/esm2020/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.component.mjs +31 -0
  12. package/esm2020/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.module.mjs +35 -0
  13. package/esm2020/src/lib/components/form/lib/core/elements/element-base.mjs +5 -3
  14. package/esm2020/src/lib/components/form/slide-toggle.mjs +5 -0
  15. package/esm2020/src/lib/components/radio-button/lib/core/elements/element-base.mjs +5 -3
  16. package/esm2020/src/lib/components/slide-toggle/lib/components/slide-toggle/public-api.mjs +6 -0
  17. package/esm2020/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.component.mjs +31 -0
  18. package/esm2020/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.module.mjs +35 -0
  19. package/esm2020/src/lib/components/slide-toggle/lib/core/elements/action-button.mjs +2 -0
  20. package/esm2020/src/lib/components/slide-toggle/lib/core/elements/element-base.mjs +32 -0
  21. package/esm2020/src/lib/components/slide-toggle/lib/core/elements/element-search.mjs +2 -0
  22. package/esm2020/src/lib/components/slide-toggle/lib/core/elements/errors.mjs +2 -0
  23. package/esm2020/src/lib/components/slide-toggle/lib/core/interfaces/element-group.interface.mjs +2 -0
  24. package/esm2020/src/lib/components/slide-toggle/lib/core/interfaces/element-option.interface.mjs +2 -0
  25. package/esm2020/src/lib/components/slide-toggle/mapa-library-ui-src-lib-components-slide-toggle.mjs +5 -0
  26. package/esm2020/src/lib/components/slide-toggle/slide-toggle.mjs +5 -0
  27. package/esm2020/src/lib/components/table/lib/components/table/src/table.component.mjs +7 -2
  28. package/esm2020/src/lib/components/textarea/lib/core/elements/element-base.mjs +5 -3
  29. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +4 -2
  30. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  31. package/fesm2015/mapa-library-ui-src-lib-components-form.mjs +68 -5
  32. package/fesm2015/mapa-library-ui-src-lib-components-form.mjs.map +1 -1
  33. package/fesm2015/mapa-library-ui-src-lib-components-slide-toggle.mjs +78 -0
  34. package/fesm2015/mapa-library-ui-src-lib-components-slide-toggle.mjs.map +1 -0
  35. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +6 -1
  36. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  37. package/fesm2015/mapa-library-ui.mjs +12 -3
  38. package/fesm2015/mapa-library-ui.mjs.map +1 -1
  39. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +4 -2
  40. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  41. package/fesm2020/mapa-library-ui-src-lib-components-form.mjs +68 -5
  42. package/fesm2020/mapa-library-ui-src-lib-components-form.mjs.map +1 -1
  43. package/fesm2020/mapa-library-ui-src-lib-components-slide-toggle.mjs +78 -0
  44. package/fesm2020/mapa-library-ui-src-lib-components-slide-toggle.mjs.map +1 -0
  45. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +6 -1
  46. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  47. package/fesm2020/mapa-library-ui.mjs +12 -3
  48. package/fesm2020/mapa-library-ui.mjs.map +1 -1
  49. package/lib/core/elements/element-base.d.ts +5 -0
  50. package/lib/core/elements/slide-toggle.d.ts +4 -0
  51. package/mapa-library-ui-0.36.0.tgz +0 -0
  52. package/package.json +9 -1
  53. package/public-api.d.ts +1 -0
  54. package/src/lib/components/capability/lib/core/elements/element-base.d.ts +5 -0
  55. package/src/lib/components/chart/lib/core/elements/element-base.d.ts +5 -0
  56. package/src/lib/components/dropdown/lib/core/elements/element-base.d.ts +5 -0
  57. package/src/lib/components/form/form.d.ts +1 -0
  58. package/src/lib/components/form/lib/components/form/src/form.module.d.ts +2 -1
  59. package/src/lib/components/form/lib/components/slide-toggle/public-api.d.ts +2 -0
  60. package/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.component.d.ts +17 -0
  61. package/src/lib/components/form/lib/components/slide-toggle/src/slide-toggle.module.d.ts +11 -0
  62. package/src/lib/components/form/lib/core/elements/element-base.d.ts +5 -0
  63. package/src/lib/components/form/slide-toggle.d.ts +1 -0
  64. package/src/lib/components/radio-button/lib/core/elements/element-base.d.ts +5 -0
  65. package/src/lib/components/slide-toggle/index.d.ts +5 -0
  66. package/src/lib/components/slide-toggle/lib/components/slide-toggle/public-api.d.ts +2 -0
  67. package/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.component.d.ts +17 -0
  68. package/src/lib/components/slide-toggle/lib/components/slide-toggle/src/slide-toggle.module.d.ts +11 -0
  69. package/src/lib/components/slide-toggle/lib/core/elements/action-button.d.ts +5 -0
  70. package/src/lib/components/slide-toggle/lib/core/elements/element-base.d.ts +64 -0
  71. package/src/lib/components/slide-toggle/lib/core/elements/element-search.d.ts +6 -0
  72. package/src/lib/components/slide-toggle/lib/core/elements/errors.d.ts +12 -0
  73. package/src/lib/components/slide-toggle/lib/core/interfaces/element-group.interface.d.ts +5 -0
  74. package/src/lib/components/slide-toggle/lib/core/interfaces/element-option.interface.d.ts +4 -0
  75. package/src/lib/components/slide-toggle/slide-toggle.d.ts +1 -0
  76. package/src/lib/components/textarea/lib/core/elements/element-base.d.ts +5 -0
  77. package/mapa-library-ui-0.34.0.tgz +0 -0
@@ -0,0 +1,35 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
4
+ import { MatSlideToggleModule } from "@angular/material/slide-toggle";
5
+ import { MatFormFieldModule } from "@angular/material/form-field";
6
+ import { SlideToggleComponent } from "./slide-toggle.component";
7
+ import * as i0 from "@angular/core";
8
+ export class MapaSlideToggleModule {
9
+ }
10
+ MapaSlideToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaSlideToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ MapaSlideToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MapaSlideToggleModule, declarations: [SlideToggleComponent], imports: [CommonModule,
12
+ FormsModule,
13
+ ReactiveFormsModule,
14
+ MatSlideToggleModule,
15
+ MatFormFieldModule], exports: [SlideToggleComponent] });
16
+ MapaSlideToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaSlideToggleModule, imports: [CommonModule,
17
+ FormsModule,
18
+ ReactiveFormsModule,
19
+ MatSlideToggleModule,
20
+ MatFormFieldModule] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MapaSlideToggleModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ declarations: [SlideToggleComponent],
25
+ exports: [SlideToggleComponent],
26
+ imports: [
27
+ CommonModule,
28
+ FormsModule,
29
+ ReactiveFormsModule,
30
+ MatSlideToggleModule,
31
+ MatFormFieldModule,
32
+ ],
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcGEtbGlicmFyeS11aS9zcmMvbGliL2NvbXBvbmVudHMvc2xpZGUtdG9nZ2xlL3NyYy9zbGlkZS10b2dnbGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFhaEUsTUFBTSxPQUFPLHFCQUFxQjs7bUhBQXJCLHFCQUFxQjtvSEFBckIscUJBQXFCLGlCQVZqQixvQkFBb0IsYUFHakMsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLGtCQUFrQixhQU5WLG9CQUFvQjtvSEFTbkIscUJBQXFCLFlBUDlCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixrQkFBa0I7NEZBR1QscUJBQXFCO2tCQVhqQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5cbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZVwiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcblxuaW1wb3J0IHsgU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tIFwiLi9zbGlkZS10b2dnbGUuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NsaWRlVG9nZ2xlQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NsaWRlVG9nZ2xlQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYVNsaWRlVG9nZ2xlTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hcGEtbGlicmFyeS11aS9zcmMvbGliL2NvcmUvZWxlbWVudHMvYWN0aW9uLWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25CdXR0b24ge1xuICBsYWJlbDogc3RyaW5nO1xuICBhY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+O1xufVxuIl19
@@ -0,0 +1,32 @@
1
+ export class ElementBase {
2
+ constructor(options = {}) {
3
+ this.value = options.value || "";
4
+ this.key = options.key || "";
5
+ this.label = options.label || "";
6
+ this.required = !!options.required;
7
+ this.order = options.order === undefined ? 1 : options.order;
8
+ this.controlType = options.controlType || "";
9
+ this.type = options.type || "";
10
+ this.placeholder = options.placeholder || "";
11
+ this.hint = options.hint || "";
12
+ this.prefix = options.prefix || "";
13
+ this.suffix = options.suffix || "";
14
+ this.autosize = options.autosize || false;
15
+ this.autosizeMinWidth = options.autosizeMinWidth || "212px";
16
+ this.autosizeMaxWidth = options.autosizeMaxWidth || "400px";
17
+ this.autosizeMinRow = options.autosizeMinRow || 2;
18
+ this.autosizeMaxRow = options.autosizeMaxRow || 5;
19
+ this.options = options.options || [];
20
+ this.multiple = options.multiple || false;
21
+ this.search = options.search || undefined;
22
+ this.maxLength = options.maxLength || null;
23
+ this.errors = options.errors || undefined;
24
+ this.actionButton = options.actionButton || undefined;
25
+ this.mask = options.mask || undefined;
26
+ this.autocomplete = options.autocomplete || "";
27
+ this.clearValue =
28
+ options.clearValue !== undefined ? options.clearValue : true;
29
+ this.status = options.status || undefined;
30
+ }
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29yZS9lbGVtZW50cy9lbGVtZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFPLFdBQVc7SUE0QnRCLFlBQ0UsVUEyQkksRUFBRTtRQUVOLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVTtZQUNiLE9BQU8sQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50R3JvdXAgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRWxlbWVudE9wdGlvbiB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQWN0aW9uQnV0dG9uIH0gZnJvbSBcIi4vYWN0aW9uLWJ1dHRvblwiO1xuaW1wb3J0IHsgRWxlbWVudFNlYXJjaCB9IGZyb20gXCIuL2VsZW1lbnQtc2VhcmNoXCI7XG5pbXBvcnQgeyBFcnJvcnMgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzIHtcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEVsZW1lbnRCYXNlIHtcbiAgdmFsdWU6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBvcmRlcjogbnVtYmVyO1xuICBjb250cm9sVHlwZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgYXV0b3NpemU/OiBib29sZWFuO1xuICBhdXRvc2l6ZU1pbldpZHRoPzogc3RyaW5nO1xuICBhdXRvc2l6ZU1heFdpZHRoPzogc3RyaW5nO1xuICBhdXRvc2l6ZU1pblJvdz86IG51bWJlcjtcbiAgYXV0b3NpemVNYXhSb3c/OiBudW1iZXI7XG4gIG9wdGlvbnM6IEVsZW1lbnRPcHRpb25bXSB8IEVsZW1lbnRHcm91cFtdO1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIHNlYXJjaD86IEVsZW1lbnRTZWFyY2g7XG4gIG1heExlbmd0aCE6IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gIGVycm9ycz86IEVycm9ycztcbiAgYWN0aW9uQnV0dG9uPzogQWN0aW9uQnV0dG9uO1xuICBtYXNrPzogc3RyaW5nO1xuICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG4gIGNsZWFyVmFsdWU/OiBib29sZWFuO1xuICBzdGF0dXM/OiBTdGF0dXNbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiB7XG4gICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgIGtleT86IHN0cmluZztcbiAgICAgIGxhYmVsPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAgb3JkZXI/OiBudW1iZXI7XG4gICAgICBjb250cm9sVHlwZT86IHN0cmluZztcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICAgIGhpbnQ/OiBzdHJpbmc7XG4gICAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgICBhdXRvc2l6ZT86IGJvb2xlYW47XG4gICAgICBhdXRvc2l6ZU1pbldpZHRoPzogc3RyaW5nO1xuICAgICAgYXV0b3NpemVNYXhXaWR0aD86IHN0cmluZztcbiAgICAgIGF1dG9zaXplTWluUm93PzogbnVtYmVyO1xuICAgICAgYXV0b3NpemVNYXhSb3c/OiBudW1iZXI7XG4gICAgICBvcHRpb25zPzogRWxlbWVudE9wdGlvbltdIHwgRWxlbWVudEdyb3VwW107XG4gICAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgICBzZWFyY2g/OiBFbGVtZW50U2VhcmNoO1xuICAgICAgbWF4TGVuZ3RoPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICAgIGVycm9ycz86IEVycm9ycztcbiAgICAgIGFjdGlvbkJ1dHRvbj86IEFjdGlvbkJ1dHRvbjtcbiAgICAgIG1hc2s/OiBzdHJpbmc7XG4gICAgICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG4gICAgICBjbGVhclZhbHVlPzogYm9vbGVhbjtcbiAgICAgIHN0YXR1cz86IFN0YXR1c1tdO1xuICAgIH0gPSB7fVxuICApIHtcbiAgICB0aGlzLnZhbHVlID0gb3B0aW9ucy52YWx1ZSB8fCBcIlwiO1xuICAgIHRoaXMua2V5ID0gb3B0aW9ucy5rZXkgfHwgXCJcIjtcbiAgICB0aGlzLmxhYmVsID0gb3B0aW9ucy5sYWJlbCB8fCBcIlwiO1xuICAgIHRoaXMucmVxdWlyZWQgPSAhIW9wdGlvbnMucmVxdWlyZWQ7XG4gICAgdGhpcy5vcmRlciA9IG9wdGlvbnMub3JkZXIgPT09IHVuZGVmaW5lZCA/IDEgOiBvcHRpb25zLm9yZGVyO1xuICAgIHRoaXMuY29udHJvbFR5cGUgPSBvcHRpb25zLmNvbnRyb2xUeXBlIHx8IFwiXCI7XG4gICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8IFwiXCI7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IG9wdGlvbnMucGxhY2Vob2xkZXIgfHwgXCJcIjtcbiAgICB0aGlzLmhpbnQgPSBvcHRpb25zLmhpbnQgfHwgXCJcIjtcbiAgICB0aGlzLnByZWZpeCA9IG9wdGlvbnMucHJlZml4IHx8IFwiXCI7XG4gICAgdGhpcy5zdWZmaXggPSBvcHRpb25zLnN1ZmZpeCB8fCBcIlwiO1xuICAgIHRoaXMuYXV0b3NpemUgPSBvcHRpb25zLmF1dG9zaXplIHx8IGZhbHNlO1xuICAgIHRoaXMuYXV0b3NpemVNaW5XaWR0aCA9IG9wdGlvbnMuYXV0b3NpemVNaW5XaWR0aCB8fCBcIjIxMnB4XCI7XG4gICAgdGhpcy5hdXRvc2l6ZU1heFdpZHRoID0gb3B0aW9ucy5hdXRvc2l6ZU1heFdpZHRoIHx8IFwiNDAwcHhcIjtcbiAgICB0aGlzLmF1dG9zaXplTWluUm93ID0gb3B0aW9ucy5hdXRvc2l6ZU1pblJvdyB8fCAyO1xuICAgIHRoaXMuYXV0b3NpemVNYXhSb3cgPSBvcHRpb25zLmF1dG9zaXplTWF4Um93IHx8IDU7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucy5vcHRpb25zIHx8IFtdO1xuICAgIHRoaXMubXVsdGlwbGUgPSBvcHRpb25zLm11bHRpcGxlIHx8IGZhbHNlO1xuICAgIHRoaXMuc2VhcmNoID0gb3B0aW9ucy5zZWFyY2ggfHwgdW5kZWZpbmVkO1xuICAgIHRoaXMubWF4TGVuZ3RoID0gb3B0aW9ucy5tYXhMZW5ndGggfHwgbnVsbDtcbiAgICB0aGlzLmVycm9ycyA9IG9wdGlvbnMuZXJyb3JzIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLmFjdGlvbkJ1dHRvbiA9IG9wdGlvbnMuYWN0aW9uQnV0dG9uIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLm1hc2sgPSBvcHRpb25zLm1hc2sgfHwgdW5kZWZpbmVkO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlID0gb3B0aW9ucy5hdXRvY29tcGxldGUgfHwgXCJcIjtcbiAgICB0aGlzLmNsZWFyVmFsdWUgPVxuICAgICAgb3B0aW9ucy5jbGVhclZhbHVlICE9PSB1bmRlZmluZWQgPyBvcHRpb25zLmNsZWFyVmFsdWUgOiB0cnVlO1xuICAgIHRoaXMuc3RhdHVzID0gb3B0aW9ucy5zdGF0dXMgfHwgdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb3JlL2VsZW1lbnRzL2VsZW1lbnQtc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgRWxlbWVudEJhc2UgfSBmcm9tIFwiLi9lbGVtZW50LWJhc2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50U2VhcmNoIHtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG5vRW50cmllc0ZvdW5kTGFiZWw/OiBzdHJpbmc7XG4gIGZvcm1Db250cm9sPzogRm9ybUNvbnRyb2w7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29yZS9lbGVtZW50cy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXJyb3JzIHtcbiAgcmVxdWlyZWQ/OiBzdHJpbmc7XG4gIG1pbmxlbmd0aD86IHN0cmluZztcbiAgY3BmPzogc3RyaW5nO1xuICBjbnBqPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgcGF0dGVybj86IHN0cmluZztcbiAgbWluPzogc3RyaW5nO1xuICBtYXg/OiBzdHJpbmc7XG4gIG1pbkxlbmd0aD86IHN0cmluZztcbiAgbWF4TGVuZ3RoPzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1ncm91cC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb3JlL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFbGVtZW50R3JvdXAge1xuICBsYWJlbDogc3RyaW5nO1xuICBvcHRpb25zOiBFbGVtZW50T3B0aW9uW107XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1vcHRpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBFbGVtZW50T3B0aW9uIHtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './slide-toggle';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwYS1saWJyYXJ5LXVpLXNyYy1saWItY29tcG9uZW50cy1zbGlkZS10b2dnbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL21hcGEtbGlicmFyeS11aS1zcmMtbGliLWNvbXBvbmVudHMtc2xpZGUtdG9nZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9zbGlkZS10b2dnbGUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /*
2
+ * Public API Surface of mapa-library-ui slide-toggle
3
+ */
4
+ export * from './lib/components/slide-toggle/public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtdG9nZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9zbGlkZS10b2dnbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBtYXBhLWxpYnJhcnktdWkgc2xpZGUtdG9nZ2xlXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zbGlkZS10b2dnbGUvcHVibGljLWFwaSc7XG4iXX0=
@@ -277,7 +277,12 @@ export class MapaTableComponent {
277
277
  }
278
278
  getValue(row) {
279
279
  try {
280
- return row.value + "%";
280
+ if (row.value) {
281
+ return row.value + "%";
282
+ }
283
+ else {
284
+ return "-";
285
+ }
281
286
  }
282
287
  catch {
283
288
  return "-";
@@ -378,4 +383,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
378
383
  type: ViewChild,
379
384
  args: [MatSort]
380
385
  }] } });
381
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLGtCQUFrQjtJQWlDN0IsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFoQ2pDLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBQzVCLFNBQUksR0FBYSxFQUFFLENBQUM7UUFDcEIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUt2QixnQkFBVyxHQUFzQixFQUFFLENBQUM7UUFFcEMsY0FBUyxHQUFlLEVBQUUsQ0FBQztR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UTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVxQixPQUFPO3NCQUFqQyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWYsUUFBUTtzQkFBakIsTUFBTTtnQkFHRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBRWtDLFNBQVM7c0JBQWpELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRTtnQkFDbkIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zXCI7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IsIFBhZ2VFdmVudCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcbmltcG9ydCB7IE1hdFNvcnQsIFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XG5cbmltcG9ydCB7IFJvd0NsaWNrRXZlbnQgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL3RhYmxlLXJvdy1jbGljay1ldmVudC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvaW50ZXJmYWNlcy90YWJsZS1jb2x1bW4uaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBHcm91cFJlcG9ydEl0ZW0gfSBmcm9tIFwiLi9ncm91cC1yZXBvcnQtaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gXCIuLi8uLi9tZW51L3B1YmxpYy1hcGlcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1hcGEtdGFibGVcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcbiAgICBcIi4vdGFibGUuY29tcG9uZW50LnNjc3NcIixcbiAgICBcIi4vLi4vLi4vY2FwYWJpbGl0eS9zdHlsZXMvY2FwYWJpbGl0eS5zY3NzXCIsXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIE1hcGFUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgZGF0YTogT2JqZWN0W10gPSBbXTtcbiAgQElucHV0KCkgcGFnZUluZGV4OiBudW1iZXIgPSAxO1xuICBASW5wdXQoKSBwYWdlU2l6ZTogbnVtYmVyID0gNTtcbiAgQElucHV0KCkgdG90YWxDb3VudDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgdG90YWxQYWdlczogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgY2hlY2tib3g6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHNlbGVjdGlvbjogU2VsZWN0aW9uTW9kZWw8YW55PiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYWN0aW9ucz86IE1lbnVJdGVtW10gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZpbHRlckNvbnRyb2w6IEZvcm1Db250cm9sIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBncm91cFJlcG9ydDogR3JvdXBSZXBvcnRJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgaXNHcm91cFJlcG9ydDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIG1lbnU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHNob3dQYWdpbmF0b3I6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoTWF0TWVudVRyaWdnZXIpIHRyaWdnZXIhOiBNYXRNZW51VHJpZ2dlcjtcblxuICBAT3V0cHV0KCkgcm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxSb3dDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8XG4gICAgUm93Q2xpY2tFdmVudFxuICA+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZFJvd3M6IEV2ZW50RW1pdHRlcjxhbnlbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueVtdPigpO1xuICBAT3V0cHV0KCkgb25DaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHJlYWQ6IHRydWUgfSkgcGFnaW5hdG9yITogTWF0UGFnaW5hdG9yO1xuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQhOiBNYXRTb3J0O1xuXG4gIGNoZWNrYm94R3JvdXAhOiBGb3JtR3JvdXA7XG4gIGRhdGFTb3VyY2UhOiBNYXRUYWJsZURhdGFTb3VyY2U8T2JqZWN0PjtcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXTtcbiAgY3VycmVudFNvcnQ6IFNvcnQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzR3JvdXBSZXBvcnQpIHtcbiAgICAgIHRoaXMuZ2VuZXJhdGVDb2x1bW5zKCk7XG4gICAgICB0aGlzLmdlbmVyYXRlR3JvdXBEYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKChjb2x1bW4pID0+IGNvbHVtbi5rZXkpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzW1wiZGF0YVwiXSkge1xuICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBjaGFuZ2VzW1wiZGF0YVwiXS5jdXJyZW50VmFsdWU7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UodGhpcy5kYXRhKTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gY29sdW1uLmtleSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1tcImZpbHRlckNvbnRyb2xcIl0gJiYgdGhpcy5maWx0ZXJDb250cm9sKSB7XG4gICAgICB0aGlzLnNldHVwRmlsdGVyKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0dXBGaWx0ZXIoKSB7XG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5maWx0ZXJDb250cm9sIS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSB2YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyUHJlZGljYXRlID0gKGRhdGE6IGFueSwgZmlsdGVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgZGF0YVN0ciA9IE9iamVjdC5rZXlzKGRhdGEpXG4gICAgICAgICAgLnJlZHVjZSgoY3VycmVudFRlcm0sIGtleSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgY3VycmVudFRlcm0gK1xuICAgICAgICAgICAgICAoKGRhdGFba2V5XSAmJiBkYXRhW2tleV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpKSB8fCBcIlwiKSArXG4gICAgICAgICAgICAgIFwiIFwiXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sIFwiXCIpXG4gICAgICAgICAgLnRyaW0oKVxuICAgICAgICAgIC50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgIHJldHVybiBkYXRhU3RyLmluZGV4T2YoZmlsdGVyKSAhPT0gLTE7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGlzQWxsU2VsZWN0ZWQoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBjb25zdCBudW1TZWxlY3RlZCA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aDtcbiAgICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGg7XG4gICAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHRvZ2dsZUFsbFJvd3MoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcbiAgICAgICAgdGhpcy5nZXRTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZGF0YUFzUGVyaW9kaWNFbGVtZW50cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhIGFzIGFueVtdO1xuICAgICAgICBkYXRhQXNQZXJpb2RpY0VsZW1lbnRzLmZvckVhY2goKHJvdykgPT4gdGhpcy5zZWxlY3Rpb24/LnNlbGVjdChyb3cpKTtcbiAgICAgICAgdGhpcy5nZXRTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoZWNrYm94TGFiZWwocm93PzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIGlmICghcm93KSB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/IFwiZGVzZWxlY3RcIiA6IFwic2VsZWN0XCJ9IGFsbGA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYCR7dGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpID8gXCJkZXNlbGVjdFwiIDogXCJzZWxlY3RcIn0gcm93ICR7XG4gICAgICAgIHJvdy5wb3NpdGlvbiArIDFcbiAgICAgIH1gO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHNvcnREYXRhKGNvbHVtbjogVGFibGVDb2x1bW4pOiB2b2lkIHtcbiAgICBpZiAoY29sdW1uLnNvcnQpIHtcbiAgICAgIGNvbnN0IHNvcnQ6IFNvcnQgPSB7IGFjdGl2ZTogY29sdW1uLmtleSwgZGlyZWN0aW9uOiBcImFzY1wiIH07XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5jdXJyZW50U29ydCAmJlxuICAgICAgICB0aGlzLmN1cnJlbnRTb3J0LmFjdGl2ZSA9PT0gY29sdW1uLmtleSAmJlxuICAgICAgICB0aGlzLmN1cnJlbnRTb3J0LmRpcmVjdGlvbiA9PT0gXCJhc2NcIlxuICAgICAgKSB7XG4gICAgICAgIHNvcnQuZGlyZWN0aW9uID0gXCJkZXNjXCI7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY3VycmVudFNvcnQgPSBzb3J0O1xuICAgICAgdGhpcy5zb3J0RGF0YUZ1bmN0aW9uKHNvcnQpO1xuICAgIH1cbiAgfVxuXG4gIHNvcnREYXRhRnVuY3Rpb24oc29ydDogU29ydCkge1xuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5zbGljZSgpO1xuXG4gICAgaWYgKCFzb3J0LmFjdGl2ZSB8fCBzb3J0LmRpcmVjdGlvbiA9PT0gXCJcIikge1xuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gZGF0YS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaXNBc2MgPSBzb3J0LmRpcmVjdGlvbiA9PT0gXCJhc2NcIjtcbiAgICAgIHJldHVybiB0aGlzLmNvbXBhcmUoYVtzb3J0LmFjdGl2ZV0sIGJbc29ydC5hY3RpdmVdLCBpc0FzYyk7XG4gICAgfSk7XG4gIH1cblxuICBjb21wYXJlKGE6IGFueSwgYjogYW55LCBpc0FzYzogYm9vbGVhbikge1xuICAgIGlmICh0eXBlb2YgYSA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgYiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIChhLnRvTG93ZXJDYXNlKCkgPCBiLnRvTG93ZXJDYXNlKCkgPyAtMSA6IDEpICogKGlzQXNjID8gMSA6IC0xKTtcbiAgICB9XG4gICAgcmV0dXJuIChhIDwgYiA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xuICB9XG5cbiAgZW1pdFJvd0NsaWNrKHJvdzogc3RyaW5nLCBhY3Rpb246IHN0cmluZykge1xuICAgIGNvbnN0IHJvd0RhdGE6IFJvd0NsaWNrRXZlbnQgPSB7IHJvdywgYWN0aW9uIH07XG4gICAgdGhpcy5yb3dDbGljay5lbWl0KHJvd0RhdGEpO1xuICB9XG5cbiAgdG9nZ2xlU2VsZWN0aW9uKHJvdzogYW55KSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmRlc2VsZWN0KHJvdyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3Qocm93KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RlZFZhbHVlcygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkUm93cyA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLm1hcCgocm93KSA9PiB7XG4gICAgICAgIHJldHVybiB7IHJvdyB9O1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93cy5lbWl0KHNlbGVjdGVkUm93cyk7XG4gICAgfVxuICB9XG5cbiAgZ2VuZXJhdGVDb2x1bW5zKCkge1xuICAgIGNvbnN0IGNvbHVtbnM6IFRhYmxlQ29sdW1uW10gPSBbeyBrZXk6IFwibmFtZVwiLCBsYWJlbDogXCJcIiwgc29ydDogZmFsc2UgfV07XG4gICAgdGhpcy5ncm91cFJlcG9ydC5mb3JFYWNoKChyZXBvcnRJdGVtKSA9PiB7XG4gICAgICByZXBvcnRJdGVtLmRpbWVuc2lvbnM/LmZvckVhY2goKGRpbWVuc2lvbikgPT4ge1xuICAgICAgICBjb25zdCBkaW1lbnNpb25LZXkgPSBkaW1lbnNpb24uZGltZW5zaW9uTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBkaW1lbnNpb25MYWJlbCA9IGRpbWVuc2lvbi5kaW1lbnNpb25OYW1lO1xuICAgICAgICBpZiAoIXRoaXMuY29sdW1uRXhpc3RzKGNvbHVtbnMsIGRpbWVuc2lvbktleSkpIHtcbiAgICAgICAgICBjb2x1bW5zLnB1c2goe1xuICAgICAgICAgICAga2V5OiBkaW1lbnNpb25LZXksXG4gICAgICAgICAgICBsYWJlbDogZGltZW5zaW9uTGFiZWwsXG4gICAgICAgICAgICBzb3J0OiBkaW1lbnNpb24uc29ydCB8fCBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJlcG9ydEl0ZW0uaW5kaWNhdG9ycz8uZm9yRWFjaCgoaW5kaWNhdG9yKSA9PiB7XG4gICAgICAgIGNvbnN0IGluZGljYXRvcktleSA9IGluZGljYXRvci5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGluZGljYXRvckxhYmVsID0gaW5kaWNhdG9yLm5hbWU7XG4gICAgICAgIGlmICghdGhpcy5jb2x1bW5FeGlzdHMoY29sdW1ucywgaW5kaWNhdG9yS2V5KSkge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCh7XG4gICAgICAgICAgICBrZXk6IGluZGljYXRvcktleSxcbiAgICAgICAgICAgIGxhYmVsOiBpbmRpY2F0b3JMYWJlbCxcbiAgICAgICAgICAgIHNvcnQ6IGluZGljYXRvci5zb3J0IHx8IGZhbHNlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XG4gIH1cblxuICBjb2x1bW5FeGlzdHMoY29sdW1uczogVGFibGVDb2x1bW5bXSwga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29sdW1ucy5zb21lKChjb2x1bW4pID0+IGNvbHVtbi5rZXkgPT09IGtleSk7XG4gIH1cblxuICBnZW5lcmF0ZUdyb3VwRGF0YSgpIHtcbiAgICBjb25zdCByZXN1bHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSA9IFtdO1xuXG4gICAgdGhpcy5ncm91cFJlcG9ydC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBkYXRhSXRlbTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHtcbiAgICAgICAgbmFtZTogaXRlbS5jYW5kaWRhdGUubmFtZSxcbiAgICAgICAgY3BmOiBpdGVtLmNhbmRpZGF0ZS5jcGYsXG4gICAgICAgIGdlbmVyYWw6IGl0ZW0uY2FuZGlkYXRlLmdlbmVyYWwsXG4gICAgICB9O1xuXG4gICAgICBpdGVtLmRpbWVuc2lvbnM/LmZvckVhY2goKGRpbWVuc2lvbikgPT4ge1xuICAgICAgICBkYXRhSXRlbVtkaW1lbnNpb24uZGltZW5zaW9uTmFtZS50b0xvd2VyQ2FzZSgpXSA9IHtcbiAgICAgICAgICB2YWx1ZTogZGltZW5zaW9uLmVzY29yZVQsXG4gICAgICAgICAgZGlyZWN0aW9uOiBkaW1lbnNpb24uZGlyZWN0aW9uLFxuICAgICAgICAgIGNsYXNzaWZpY2F0aW9uSWQ6IGRpbWVuc2lvbi5jbGFzc2lmaWNhdGlvbklkLFxuICAgICAgICAgIGNsYXNzaWZpY2F0aW9uQ29sb3I6IGRpbWVuc2lvbi5jbGFzc2lmaWNhdGlvbkNvbG9yLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIGl0ZW0uaW5kaWNhdG9ycz8uZm9yRWFjaCgoaW5kaWNhdG9yKSA9PiB7XG4gICAgICAgIGRhdGFJdGVtW2luZGljYXRvci5uYW1lLnRvTG93ZXJDYXNlKCldID0ge1xuICAgICAgICAgIHZhbHVlOiBpbmRpY2F0b3IuaW50ZXJ2YWwsXG4gICAgICAgICAgZGlyZWN0aW9uOiBpbmRpY2F0b3IuZGlyZWN0aW9uLFxuICAgICAgICAgIGNsYXNzaWZpY2F0aW9uSWQ6IGluZGljYXRvci5jbGFzc2lmaWNhdGlvbklkLFxuICAgICAgICAgIGNsYXNzaWZpY2F0aW9uQ29sb3I6IGluZGljYXRvci5jbGFzc2lmaWNhdGlvbkNvbG9yLFxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJlc3VsdC5wdXNoKGRhdGFJdGVtKTtcbiAgICB9KTtcblxuICAgIHRoaXMuZGF0YSA9IHJlc3VsdDtcbiAgfVxuXG4gIGlzQm9vbGVhbihjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2Ygcm93W2NvbHVtbi5rZXldID09PSBcImJvb2xlYW5cIjtcbiAgfVxuXG4gIGlzTWFza2VkRGF0YShjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvcm1hdHMgPSBbbW9tZW50LklTT184NjAxLCBcIk1NL0REL1lZWVkgIDopICBISCptbSpzc1wiXTtcbiAgICBjb25zdCBpc0RhdGUgPSBtb21lbnQocm93W2NvbHVtbi5rZXldLCBmb3JtYXRzLCB0cnVlKS5pc1ZhbGlkKCk7XG4gICAgcmV0dXJuIChjb2x1bW4ubWFzayAmJiBpc0RhdGUpIHx8IGZhbHNlO1xuICB9XG5cbiAgZ2V0VmFsdWVBc0RhdGUoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnkpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUocm93W2NvbHVtbi5rZXldKTtcbiAgfVxuXG4gIGdldENlbGxDbGFzcyhjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IHN0cmluZyB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMuaXNHcm91cFJlcG9ydCB8fFxuICAgICAgY29sdW1uLmtleSA9PT0gXCJuYW1lXCIgfHxcbiAgICAgIGNvbHVtbi5rZXkgPT09IFwiY3BmXCIgfHxcbiAgICAgIGNvbHVtbi5rZXkgPT09IFwiZ2VuZXJhbFwiXG4gICAgKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBgY2xhc3NpZmljYXRpb25gO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2VsbEJnKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5pc0dyb3VwUmVwb3J0IHx8XG4gICAgICBjb2x1bW4ua2V5ID09PSBcIm5hbWVcIiB8fFxuICAgICAgY29sdW1uLmtleSA9PT0gXCJjcGZcIiB8fFxuICAgICAgY29sdW1uLmtleSA9PT0gXCJnZW5lcmFsXCJcbiAgICApIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgYmcgPSByb3dbY29sdW1uLmtleV0/LmNsYXNzaWZpY2F0aW9uQ29sb3I7XG4gICAgICByZXR1cm4gYmc7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gIH1cblxuICBnZXRDZWxsVGV4dENvbG9yKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5pc0dyb3VwUmVwb3J0IHx8XG4gICAgICBjb2x1bW4ua2V5ID09PSBcIm5hbWVcIiB8fFxuICAgICAgY29sdW1uLmtleSA9PT0gXCJjcGZcIiB8fFxuICAgICAgY29sdW1uLmtleSA9PT0gXCJnZW5lcmFsXCJcbiAgICApIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgY29sb3IgPSByb3dbY29sdW1uLmtleV0/LmNsYXNzaWZpY2F0aW9uVGV4dENvbG9yITtcbiAgICAgIHJldHVybiBjb2xvcjtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIGdldFJvd0NsYXNzKCk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgXCJyb3ctaG92ZXJcIjogIXRoaXMuaXNHcm91cFJlcG9ydCxcbiAgICB9O1xuICB9XG5cbiAgZ2V0VmFsdWUocm93OiB7IHZhbHVlOiBzdHJpbmcgfSk6IHN0cmluZyB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiByb3cudmFsdWUgKyBcIiVcIjtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBcIi1cIjtcbiAgICB9XG4gIH1cblxuICBjaGFuZ2VQYWdlKGV2ZW50PzogUGFnZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZVBhZ2UuZW1pdChldmVudCk7XG4gIH1cblxuICB0b2dnbGVNZW51KCkge1xuICAgIHRoaXMudHJpZ2dlci5vcGVuTWVudSgpO1xuICB9XG5cbiAgZ2V0QmFja2dyb3VuZENvbG9yKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29sdW1uLnN0YXR1cz8uY29sb3I/Lltyb3dbY29sdW1uLmtleV0gfHwgMF0gfHwgXCJcIjtcbiAgfVxuXG4gIGhhc0N1c3RvbUNsYXNzKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55LCBrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIGNvbHVtbj8uY2xhc3MgfHxcbiAgICAgIHJvdz8ucm93U3R5bGVDbGFzcyB8fFxuICAgICAgdGhpcy5oYXNDZWxsU3R5bGVDbGFzcyhyb3csIGtleSlcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRDdXN0b21DbGFzcyhjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSwga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmhhc0NlbGxTdHlsZUNsYXNzKHJvdywga2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFN0eWxlQ2xhc3Mocm93LCBjb2x1bW4ua2V5KTtcbiAgICB9IGVsc2UgaWYgKGNvbHVtbj8uY2xhc3MpIHtcbiAgICAgIHJldHVybiBjb2x1bW4uY2xhc3M7XG4gICAgfSBlbHNlIGlmIChyb3c/LnJvd1N0eWxlQ2xhc3MpIHtcbiAgICAgIHJldHVybiByb3cucm93U3R5bGVDbGFzcztcbiAgICB9XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBoYXNDZWxsU3R5bGVDbGFzcyhyb3c6IGFueSwga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcm93LnN0eWxlQ2xhc3M/LmtleSA9PT0ga2V5O1xuICB9XG5cbiAgZ2V0Q2VsbFN0eWxlQ2xhc3Mocm93OiBhbnksIGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcm93LnN0eWxlQ2xhc3M/LmtleSA9PT0ga2V5ID8gcm93LnN0eWxlQ2xhc3M/LmNsYXNzIDogXCJcIjtcbiAgfVxuXG4gIGhhbmRsZU1lbnUoc2VsZWN0ZWQ6IGFueSkge1xuICAgIHRoaXMuZW1pdFJvd0NsaWNrKHNlbGVjdGVkLmRhdGEsIHNlbGVjdGVkLmFjdGlvbik7XG4gIH1cblxuICBoYXNJbmRpdmlkdWFsTWVudShyb3c6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmIChyb3cgIT09IFwiXCIgJiYgcm93ICE9PSBudWxsKSByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxzZWN0aW9uIGNsYXNzPVwibWFwYS10YWJsZVwiPlxuICA8dGFibGVcbiAgICBtYXQtdGFibGVcbiAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICBtYXRTb3J0XG4gICAgKG1hdFNvcnRDaGFuZ2UpPVwic29ydERhdGFGdW5jdGlvbigkZXZlbnQpXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgbGV0IGlzRmlyc3QgPSBmaXJzdFwiXG4gICAgICBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5rZXlcIlxuICAgID5cbiAgICAgIDx0aFxuICAgICAgICBtYXQtaGVhZGVyLWNlbGxcbiAgICAgICAgKm1hdEhlYWRlckNlbGxEZWZcbiAgICAgICAgbWF0LXNvcnQtaGVhZGVyXG4gICAgICAgIFtkaXNhYmxlZF09XCIhKGNvbHVtbi5rZXkgIT09ICdhY3Rpb25zJyA/IGNvbHVtbi5zb3J0IDogbnVsbClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVIZWFkZXJcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGlvbiwgY29sdW1uLCBpc0ZpcnN0LCBjaGVja2JveCB9XCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBbc3R5bGUud2lkdGhdPVwiY29sdW1uPy53aWR0aFwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJtYXBhLXRhYmxlX19jb2x1bW5cIlxuICAgICAgICAgIChjbGljayk9XCJlbWl0Um93Q2xpY2socm93LCAnJylcIlxuICAgICAgICAgIFtjbGFzcy5tYXBhLXRhYmxlX19jb2x1bW4tLWNlbnRlci1jZWxsXT1cImNvbHVtbj8uYWxpZ24gPT09ICdjZW50ZXInIHx8IGlzR3JvdXBSZXBvcnQgJiYgY29sdW1uLmtleSAhPT0gJ25hbWUnXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLmtleSAhPT0gJ2FjdGlvbnMnICYmIGNvbHVtbi5rZXkgIT09ICdtZW51JzsgZWxzZSBjb2x1bW5BY3Rpb25zT3JNZW51XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFwYS10YWJsZV9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhaXNHcm91cFJlcG9ydFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbHVtbj8ud2lkdGhcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5tYXBhLXRhYmxlX19jb2x1bW4tLWVsbGlwc2lzXT1cImNvbHVtbj8uY29sbGFwc2UgPT09ICdvdmVyZmxvdydcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5tYXBhLXRhYmxlX19jb2x1bW4tLW5vLXdyYXBdPVwiY29sdW1uPy5jb2xsYXBzZSA9PT0gJ25vLXdyYXAnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MubWFwYS10YWJsZV9fY29sdW1uLS13cmFwXT1cImNvbHVtbj8uY29sbGFwc2UgPT09ICd3cmFwJ1wiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiW2hhc0N1c3RvbUNsYXNzKGNvbHVtbiwgcm93LCBjb2x1bW4ua2V5KSA/IGdldEN1c3RvbUNsYXNzKGNvbHVtbiwgcm93LCBjb2x1bW4ua2V5KSA6ICcnXVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbj8uc3RhdHVzPy5jb2xvcjsgZWxzZSBjb21tb25Db2x1bW5cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXBhLXRhYmxlX19jb2x1bW4tLXN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImdldEJhY2tncm91bmRDb2xvcihjb2x1bW4sIHJvdylcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2VsZWN0aW9uLCBjb2x1bW4sIGlzRmlyc3QsIGNoZWNrYm94LCByb3cgfVwiXG4gICAgICAgICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb21tb25Db2x1bW4+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGlvbiwgY29sdW1uLCBpc0ZpcnN0LCBjaGVja2JveCwgcm93IH1cIlxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNHcm91cFJlcG9ydFwiPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImdldENlbGxCZyhjb2x1bW4sIHJvdylcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJnZXRDZWxsVGV4dENvbG9yKGNvbHVtbiwgcm93KVwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZ2V0Q2VsbENsYXNzKGNvbHVtbiwgcm93KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICduYW1lJyB8fCBjb2x1bW4ua2V5ID09PSAnY3BmJyB8fCBjb2x1bW4ua2V5ID09PSAnZ2VuZXJhbCc7IGVsc2UgdmFsdWVDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICduYW1lJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCI+e3sgcm93Lm5hbWUgfX08YnIgLz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3BmXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3Jvdy5jcGZ9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICdnZW5lcmFsJ1wiIGNsYXNzPVwiZ2VuZXJhbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IHJvd1tjb2x1bW4ua2V5XSB8IGN1cnJlbmN5OicnOicnIH19JVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN2YWx1ZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWFwYS10YWJsZV9fY29udGVudC0tdmFsdWVcIj57eyBnZXRWYWx1ZShyb3dbY29sdW1uLmtleV0pIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2NvbHVtbkFjdGlvbnNPck1lbnU+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uLS1hY3Rpb25zXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW4ua2V5ID09PSAnYWN0aW9ucycgJiYgYWN0aW9uc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTWVudSh7ZGF0YTogcm93LCBhY3Rpb246IGl0ZW0uYWN0aW9ufSlcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uLS1hY3Rpb25zLWl0ZW1cIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJpdGVtLnRleHRcIlxuICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiaXRlbS5pY29uXCI+e3tpdGVtLmljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cIml0ZW0uaW1hZ2VcIiBbc3JjXT1cIml0ZW0uaW1hZ2VcIiAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbi0tbWVudVwiICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ21lbnUnXCI+XG4gICAgICAgICAgICAgIDxtYXBhLW1lbnVcbiAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0luZGl2aWR1YWxNZW51KHJvd1snbWVudSddKTsgZWxzZSBnZW5lcmFsTWVudVwiXG4gICAgICAgICAgICAgICAgW2l0ZW1zXT1cInJvd1snbWVudSddXCJcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJyb3dcIlxuICAgICAgICAgICAgICAgIChlbWl0TWVudSk9XCJoYW5kbGVNZW51KCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9tYXBhLW1lbnU+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZ2VuZXJhbE1lbnU+XG4gICAgICAgICAgICAgICAgPG1hcGEtbWVudVxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJtZW51SXRlbXMgJiYgbWVudUl0ZW1zLmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm1lbnVJdGVtc1wiXG4gICAgICAgICAgICAgICAgICBbZGF0YV09XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgKGVtaXRNZW51KT1cImhhbmRsZU1lbnUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvbWFwYS1tZW51PlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICA8dHJcbiAgICAgIG1hdC1yb3dcbiAgICAgICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiXG4gICAgICBbbmdDbGFzc109XCJnZXRSb3dDbGFzcygpXCJcbiAgICA+PC90cj5cbiAgPC90YWJsZT5cblxuICA8c2VjdGlvbiAqbmdJZj1cIiFpc0dyb3VwUmVwb3J0ICYmIHNob3dQYWdpbmF0b3JcIj5cbiAgICA8bWF0LXBhZ2luYXRvclxuICAgICAgY2xhc3M9XCJtYXBhLXRhYmxlX19wYWdpbmF0b3ItbGVnYWN5XCJcbiAgICAgIGl0ZW1zUGVyUGFnZUxhYmVsPVwiSXRlbSBwb3IgcMOhZ2luYVwiXG4gICAgICBhcHBTdHlsZVBhZ2luYXRvck12XG4gICAgICBbbGVuZ3RoXT1cInRvdGFsQ291bnRcIlxuICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwiWzUsIDEwLCAyNSwgMTAwXVwiXG4gICAgICAocGFnZSk9XCJjaGFuZ2VQYWdlKCRldmVudClcIlxuICAgID48L21hdC1wYWdpbmF0b3I+XG4gIDwvc2VjdGlvbj5cbjwvc2VjdGlvbj5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUhlYWRlclxuICBsZXQtc2VsZWN0aW9uPVwic2VsZWN0aW9uXCJcbiAgbGV0LWNvbHVtbj1cImNvbHVtblwiXG4gIGxldC1pc0ZpcnN0PVwiaXNGaXJzdFwiXG4gIGxldC1jaGVja2JveD1cImNoZWNrYm94XCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmlyc3QgJiYgY2hlY2tib3hcIj5cbiAgICA8bWF0LWNoZWNrYm94XG4gICAgICAqbmdJZj1cInNlbGVjdGlvblwiXG4gICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHRvZ2dsZUFsbFJvd3MoKSA6IG51bGxcIlxuICAgICAgW2NoZWNrZWRdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgIFtpbmRldGVybWluYXRlXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICFpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgPjwvbWF0LWNoZWNrYm94PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7ICdsYWJlbF9yZXBvcnQnOiBpc0dyb3VwUmVwb3J0IH1cIj5cbiAgICB7eyBjb2x1bW4ubGFiZWwgfX1cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJjb2x1bW4ua2V5ICE9PSAnYWN0aW9ucycgJiYgY29sdW1uLmtleSAhPT0gJ21lbnUnICYmIGNvbHVtbi5zb3J0XCI+XG4gICAgPG1hdC1pY29uPmZpbHRlcl9saXN0PC9tYXQtaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI3RhYmxlQ29udGVudFxuICBsZXQtc2VsZWN0aW9uPVwic2VsZWN0aW9uXCJcbiAgbGV0LWNvbHVtbj1cImNvbHVtblwiXG4gIGxldC1pc0ZpcnN0PVwiaXNGaXJzdFwiXG4gIGxldC1jaGVja2JveD1cImNoZWNrYm94XCJcbiAgbGV0LXJvdz1cInJvd1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgPG1hdC1jaGVja2JveFxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbj8udG9nZ2xlKHJvdykgOiBudWxsOyBnZXRTZWxlY3RlZFZhbHVlcygpXCJcbiAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbj8uaXNTZWxlY3RlZChyb3cpXCJcbiAgICA+XG4gICAgPC9tYXQtY2hlY2tib3g+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIFBPUiBGQVZPUiwgTsODTyBRVUVCUkUgTElOSEEgRU5UUkUgTkctQ09OVEFJTkVSL1RFTVBMQVRFIEUgTyBWQUxPUiBDT05URcOaRE8gIC0tPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNNYXNrZWREYXRhKGNvbHVtbiwgcm93KTsgZWxzZSBzdGF0dXNDb250ZW50XCJcbiAgICA+e3sgZ2V0VmFsdWVBc0RhdGUoY29sdW1uLCByb3cpIHwgZGF0ZTogY29sdW1uLm1hc2sgfX08L25nLWNvbnRhaW5lclxuICA+XG4gIDxuZy10ZW1wbGF0ZSAjc3RhdHVzQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnN0YXR1czsgZWxzZSBjb21tb25Db250ZW50XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNCb29sZWFuKGNvbHVtbiwgcm93KTsgZWxzZSBjb21tb25TdGF0dXNcIlxuICAgICAgICA+e3sgY29sdW1uLnN0YXR1cy5sYWJlbFtyb3dbY29sdW1uLmtleV0gPyAxIDogMF0gfX08L25nLWNvbnRhaW5lclxuICAgICAgPlxuICAgICAgPG5nLXRlbXBsYXRlICNjb21tb25TdGF0dXNcbiAgICAgICAgPnt7IGNvbHVtbi5zdGF0dXMubGFiZWxbcm93W2NvbHVtbi5rZXldXSB8fCAnLScgfX08L25nLXRlbXBsYXRlXG4gICAgICA+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNjb21tb25Db250ZW50Pnt7IHJvd1tjb2x1bW4ua2V5XSB9fTwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjc3RhdHVzQ29udGVudD5cbiAgICA8bmctdGVtcGxhdGUgI2NvbW1vbkNvbnRlbnQ+e3sgcm93W2NvbHVtbi5rZXldIH19PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
386
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBUSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFZeEQsTUFBTSxPQUFPLGtCQUFrQjtJQWlDN0IsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFoQ2pDLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBQzVCLFNBQUksR0FBYSxFQUFFLENBQUM7UUFDcEIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUt2QixnQkFBVyxHQUFzQixFQUFFLENBQUM7UUFFcEMsY0FBUyxHQUFlLEVBQUUsQ0FBQztR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QU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRXFCLE9BQU87c0JBQWpDLFNBQVM7dUJBQUMsY0FBYztnQkFFZixRQUFRO3NCQUFqQixNQUFNO2dCQUdHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFFa0MsU0FBUztzQkFBakQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO2dCQUNuQixJQUFJO3NCQUF2QixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29sbGVjdGlvbnNcIjtcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5cbmltcG9ydCB7IE1hdFBhZ2luYXRvciwgUGFnZUV2ZW50IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvclwiO1xuaW1wb3J0IHsgTWF0U29ydCwgU29ydCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcblxuaW1wb3J0IHsgUm93Q2xpY2tFdmVudCB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2ludGVyZmFjZXMvdGFibGUtcm93LWNsaWNrLWV2ZW50LmludGVyZmFjZVwiO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9pbnRlcmZhY2VzL3RhYmxlLWNvbHVtbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEdyb3VwUmVwb3J0SXRlbSB9IGZyb20gXCIuL2dyb3VwLXJlcG9ydC1pbnRlcmZhY2VcIjtcbmltcG9ydCB7IE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSBcIi4uLy4uL21lbnUvcHVibGljLWFwaVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwibWFwYS10YWJsZVwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RhYmxlLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1xuICAgIFwiLi90YWJsZS5jb21wb25lbnQuc2Nzc1wiLFxuICAgIFwiLi8uLi8uLi9jYXBhYmlsaXR5L3N0eWxlcy9jYXBhYmlsaXR5LnNjc3NcIixcbiAgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgTWFwYVRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgY29sdW1uczogVGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBkYXRhOiBPYmplY3RbXSA9IFtdO1xuICBASW5wdXQoKSBwYWdlSW5kZXg6IG51bWJlciA9IDE7XG4gIEBJbnB1dCgpIHBhZ2VTaXplOiBudW1iZXIgPSA1O1xuICBASW5wdXQoKSB0b3RhbENvdW50OiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSB0b3RhbFBhZ2VzOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBjaGVja2JveDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2VsZWN0aW9uOiBTZWxlY3Rpb25Nb2RlbDxhbnk+IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBhY3Rpb25zPzogTWVudUl0ZW1bXSB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZmlsdGVyQ29udHJvbDogRm9ybUNvbnRyb2wgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGdyb3VwUmVwb3J0OiBHcm91cFJlcG9ydEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBpc0dyb3VwUmVwb3J0OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBtZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgbWVudTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2hvd1BhZ2luYXRvcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZChNYXRNZW51VHJpZ2dlcikgdHJpZ2dlciE6IE1hdE1lbnVUcmlnZ2VyO1xuXG4gIEBPdXRwdXQoKSByb3dDbGljazogRXZlbnRFbWl0dGVyPFJvd0NsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICBSb3dDbGlja0V2ZW50XG4gID4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkUm93czogRXZlbnRFbWl0dGVyPGFueVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55W10+KCk7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZVBhZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IsIHsgcmVhZDogdHJ1ZSB9KSBwYWdpbmF0b3IhOiBNYXRQYWdpbmF0b3I7XG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydCE6IE1hdFNvcnQ7XG5cbiAgY2hlY2tib3hHcm91cCE6IEZvcm1Hcm91cDtcbiAgZGF0YVNvdXJjZSE6IE1hdFRhYmxlRGF0YVNvdXJjZTxPYmplY3Q+O1xuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xuICBjdXJyZW50U29ydDogU29ydCB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNHcm91cFJlcG9ydCkge1xuICAgICAgdGhpcy5nZW5lcmF0ZUNvbHVtbnMoKTtcbiAgICAgIHRoaXMuZ2VuZXJhdGVHcm91cERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmRhdGEpO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuY29sdW1ucy5tYXAoKGNvbHVtbikgPT4gY29sdW1uLmtleSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbXCJkYXRhXCJdKSB7XG4gICAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IGNoYW5nZXNbXCJkYXRhXCJdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmRhdGEpO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zID0gdGhpcy5jb2x1bW5zLm1hcCgoY29sdW1uKSA9PiBjb2x1bW4ua2V5KTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzW1wiZmlsdGVyQ29udHJvbFwiXSAmJiB0aGlzLmZpbHRlckNvbnRyb2wpIHtcbiAgICAgIHRoaXMuc2V0dXBGaWx0ZXIoKTtcbiAgICB9XG4gIH1cblxuICBzZXR1cEZpbHRlcigpIHtcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XG4gICAgICB0aGlzLmZpbHRlckNvbnRyb2whLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9IHZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXJQcmVkaWNhdGUgPSAoZGF0YTogYW55LCBmaWx0ZXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCBkYXRhU3RyID0gT2JqZWN0LmtleXMoZGF0YSlcbiAgICAgICAgICAucmVkdWNlKChjdXJyZW50VGVybSwga2V5KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICBjdXJyZW50VGVybSArXG4gICAgICAgICAgICAgICgoZGF0YVtrZXldICYmIGRhdGFba2V5XS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpIHx8IFwiXCIpICtcbiAgICAgICAgICAgICAgXCIgXCJcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSwgXCJcIilcbiAgICAgICAgICAudHJpbSgpXG4gICAgICAgICAgLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGFTdHIuaW5kZXhPZihmaWx0ZXIpICE9PSAtMTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgaXNBbGxTZWxlY3RlZCgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xuICAgICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcbiAgICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdG9nZ2xlQWxsUm93cygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIGlmICh0aGlzLmlzQWxsU2VsZWN0ZWQoKSkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB0aGlzLmdldFNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBkYXRhQXNQZXJpb2RpY0VsZW1lbnRzID0gdGhpcy5kYXRhU291cmNlLmRhdGEgYXMgYW55W107XG4gICAgICAgIGRhdGFBc1BlcmlvZGljRWxlbWVudHMuZm9yRWFjaCgocm93KSA9PiB0aGlzLnNlbGVjdGlvbj8uc2VsZWN0KHJvdykpO1xuICAgICAgICB0aGlzLmdldFNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hlY2tib3hMYWJlbChyb3c/OiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgaWYgKCFyb3cpIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaXNBbGxTZWxlY3RlZCgpID8gXCJkZXNlbGVjdFwiIDogXCJzZWxlY3RcIn0gYWxsYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBgJHt0aGlzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdykgPyBcImRlc2VsZWN0XCIgOiBcInNlbGVjdFwifSByb3cgJHtcbiAgICAgICAgcm93LnBvc2l0aW9uICsgMVxuICAgICAgfWA7XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgc29ydERhdGEoY29sdW1uOiBUYWJsZUNvbHVtbik6IHZvaWQge1xuICAgIGlmIChjb2x1bW4uc29ydCkge1xuICAgICAgY29uc3Qgc29ydDogU29ydCA9IHsgYWN0aXZlOiBjb2x1bW4ua2V5LCBkaXJlY3Rpb246IFwiYXNjXCIgfTtcblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmN1cnJlbnRTb3J0ICYmXG4gICAgICAgIHRoaXMuY3VycmVudFNvcnQuYWN0aXZlID09PSBjb2x1bW4ua2V5ICYmXG4gICAgICAgIHRoaXMuY3VycmVudFNvcnQuZGlyZWN0aW9uID09PSBcImFzY1wiXG4gICAgICApIHtcbiAgICAgICAgc29ydC5kaXJlY3Rpb24gPSBcImRlc2NcIjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jdXJyZW50U29ydCA9IHNvcnQ7XG4gICAgICB0aGlzLnNvcnREYXRhRnVuY3Rpb24oc29ydCk7XG4gICAgfVxuICB9XG5cbiAgc29ydERhdGFGdW5jdGlvbihzb3J0OiBTb3J0KSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLnNsaWNlKCk7XG5cbiAgICBpZiAoIXNvcnQuYWN0aXZlIHx8IHNvcnQuZGlyZWN0aW9uID09PSBcIlwiKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSBkYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiB7XG4gICAgICBjb25zdCBpc0FzYyA9IHNvcnQuZGlyZWN0aW9uID09PSBcImFzY1wiO1xuICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZShhW3NvcnQuYWN0aXZlXSwgYltzb3J0LmFjdGl2ZV0sIGlzQXNjKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbXBhcmUoYTogYW55LCBiOiBhbnksIGlzQXNjOiBib29sZWFuKSB7XG4gICAgaWYgKHR5cGVvZiBhID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBiID09PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gKGEudG9Mb3dlckNhc2UoKSA8IGIudG9Mb3dlckNhc2UoKSA/IC0xIDogMSkgKiAoaXNBc2MgPyAxIDogLTEpO1xuICAgIH1cbiAgICByZXR1cm4gKGEgPCBiID8gLTEgOiAxKSAqIChpc0FzYyA/IDEgOiAtMSk7XG4gIH1cblxuICBlbWl0Um93Q2xpY2socm93OiBzdHJpbmcsIGFjdGlvbjogc3RyaW5nKSB7XG4gICAgY29uc3Qgcm93RGF0YTogUm93Q2xpY2tFdmVudCA9IHsgcm93LCBhY3Rpb24gfTtcbiAgICB0aGlzLnJvd0NsaWNrLmVtaXQocm93RGF0YSk7XG4gIH1cblxuICB0b2dnbGVTZWxlY3Rpb24ocm93OiBhbnkpIHtcbiAgICBpZiAodGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdykpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uZGVzZWxlY3Qocm93KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdChyb3cpO1xuICAgICAgfVxuICAgICAgdGhpcy5nZXRTZWxlY3RlZFZhbHVlcygpO1xuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdGVkVmFsdWVzKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGlvbikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRSb3dzID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubWFwKChyb3cpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgcm93IH07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmVtaXQoc2VsZWN0ZWRSb3dzKTtcbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZUNvbHVtbnMoKSB7XG4gICAgY29uc3QgY29sdW1uczogVGFibGVDb2x1bW5bXSA9IFt7IGtleTogXCJuYW1lXCIsIGxhYmVsOiBcIlwiLCBzb3J0OiBmYWxzZSB9XTtcbiAgICB0aGlzLmdyb3VwUmVwb3J0LmZvckVhY2goKHJlcG9ydEl0ZW0pID0+IHtcbiAgICAgIHJlcG9ydEl0ZW0uZGltZW5zaW9ucz8uZm9yRWFjaCgoZGltZW5zaW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpbWVuc2lvbktleSA9IGRpbWVuc2lvbi5kaW1lbnNpb25OYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGRpbWVuc2lvbkxhYmVsID0gZGltZW5zaW9uLmRpbWVuc2lvbk5hbWU7XG4gICAgICAgIGlmICghdGhpcy5jb2x1bW5FeGlzdHMoY29sdW1ucywgZGltZW5zaW9uS2V5KSkge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCh7XG4gICAgICAgICAgICBrZXk6IGRpbWVuc2lvbktleSxcbiAgICAgICAgICAgIGxhYmVsOiBkaW1lbnNpb25MYWJlbCxcbiAgICAgICAgICAgIHNvcnQ6IGRpbWVuc2lvbi5zb3J0IHx8IGZhbHNlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmVwb3J0SXRlbS5pbmRpY2F0b3JzPy5mb3JFYWNoKChpbmRpY2F0b3IpID0+IHtcbiAgICAgICAgY29uc3QgaW5kaWNhdG9yS2V5ID0gaW5kaWNhdG9yLm5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgaW5kaWNhdG9yTGFiZWwgPSBpbmRpY2F0b3IubmFtZTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbHVtbkV4aXN0cyhjb2x1bW5zLCBpbmRpY2F0b3JLZXkpKSB7XG4gICAgICAgICAgY29sdW1ucy5wdXNoKHtcbiAgICAgICAgICAgIGtleTogaW5kaWNhdG9yS2V5LFxuICAgICAgICAgICAgbGFiZWw6IGluZGljYXRvckxhYmVsLFxuICAgICAgICAgICAgc29ydDogaW5kaWNhdG9yLnNvcnQgfHwgZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcbiAgfVxuXG4gIGNvbHVtbkV4aXN0cyhjb2x1bW5zOiBUYWJsZUNvbHVtbltdLCBrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjb2x1bW5zLnNvbWUoKGNvbHVtbikgPT4gY29sdW1uLmtleSA9PT0ga2V5KTtcbiAgfVxuXG4gIGdlbmVyYXRlR3JvdXBEYXRhKCkge1xuICAgIGNvbnN0IHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdID0gW107XG5cbiAgICB0aGlzLmdyb3VwUmVwb3J0LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbnN0IGRhdGFJdGVtOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xuICAgICAgICBuYW1lOiBpdGVtLmNhbmRpZGF0ZS5uYW1lLFxuICAgICAgICBjcGY6IGl0ZW0uY2FuZGlkYXRlLmNwZixcbiAgICAgICAgZ2VuZXJhbDogaXRlbS5jYW5kaWRhdGUuZ2VuZXJhbCxcbiAgICAgIH07XG5cbiAgICAgIGl0ZW0uZGltZW5zaW9ucz8uZm9yRWFjaCgoZGltZW5zaW9uKSA9PiB7XG4gICAgICAgIGRhdGFJdGVtW2RpbWVuc2lvbi5kaW1lbnNpb25OYW1lLnRvTG93ZXJDYXNlKCldID0ge1xuICAgICAgICAgIHZhbHVlOiBkaW1lbnNpb24uZXNjb3JlVCxcbiAgICAgICAgICBkaXJlY3Rpb246IGRpbWVuc2lvbi5kaXJlY3Rpb24sXG4gICAgICAgICAgY2xhc3NpZmljYXRpb25JZDogZGltZW5zaW9uLmNsYXNzaWZpY2F0aW9uSWQsXG4gICAgICAgICAgY2xhc3NpZmljYXRpb25Db2xvcjogZGltZW5zaW9uLmNsYXNzaWZpY2F0aW9uQ29sb3IsXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgaXRlbS5pbmRpY2F0b3JzPy5mb3JFYWNoKChpbmRpY2F0b3IpID0+IHtcbiAgICAgICAgZGF0YUl0ZW1baW5kaWNhdG9yLm5hbWUudG9Mb3dlckNhc2UoKV0gPSB7XG4gICAgICAgICAgdmFsdWU6IGluZGljYXRvci5pbnRlcnZhbCxcbiAgICAgICAgICBkaXJlY3Rpb246IGluZGljYXRvci5kaXJlY3Rpb24sXG4gICAgICAgICAgY2xhc3NpZmljYXRpb25JZDogaW5kaWNhdG9yLmNsYXNzaWZpY2F0aW9uSWQsXG4gICAgICAgICAgY2xhc3NpZmljYXRpb25Db2xvcjogaW5kaWNhdG9yLmNsYXNzaWZpY2F0aW9uQ29sb3IsXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0LnB1c2goZGF0YUl0ZW0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5kYXRhID0gcmVzdWx0O1xuICB9XG5cbiAgaXNCb29sZWFuKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiByb3dbY29sdW1uLmtleV0gPT09IFwiYm9vbGVhblwiO1xuICB9XG5cbiAgaXNNYXNrZWREYXRhKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm9ybWF0cyA9IFttb21lbnQuSVNPXzg2MDEsIFwiTU0vREQvWVlZWSAgOikgIEhIKm1tKnNzXCJdO1xuICAgIGNvbnN0IGlzRGF0ZSA9IG1vbWVudChyb3dbY29sdW1uLmtleV0sIGZvcm1hdHMsIHRydWUpLmlzVmFsaWQoKTtcbiAgICByZXR1cm4gKGNvbHVtbi5tYXNrICYmIGlzRGF0ZSkgfHwgZmFsc2U7XG4gIH1cblxuICBnZXRWYWx1ZUFzRGF0ZShjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShyb3dbY29sdW1uLmtleV0pO1xuICB9XG5cbiAgZ2V0Q2VsbENsYXNzKGNvbHVtbjogVGFibGVDb2x1bW4sIHJvdzogYW55KTogc3RyaW5nIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5pc0dyb3VwUmVwb3J0IHx8XG4gICAgICBjb2x1bW4ua2V5ID09PSBcIm5hbWVcIiB8fFxuICAgICAgY29sdW1uLmtleSA9PT0gXCJjcGZcIiB8fFxuICAgICAgY29sdW1uLmtleSA9PT0gXCJnZW5lcmFsXCJcbiAgICApIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGBjbGFzc2lmaWNhdGlvbmA7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gIH1cblxuICBnZXRDZWxsQmcoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmlzR3JvdXBSZXBvcnQgfHxcbiAgICAgIGNvbHVtbi5rZXkgPT09IFwibmFtZVwiIHx8XG4gICAgICBjb2x1bW4ua2V5ID09PSBcImNwZlwiIHx8XG4gICAgICBjb2x1bW4ua2V5ID09PSBcImdlbmVyYWxcIlxuICAgICkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBiZyA9IHJvd1tjb2x1bW4ua2V5XT8uY2xhc3NpZmljYXRpb25Db2xvcjtcbiAgICAgIHJldHVybiBiZztcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gIGdldENlbGxUZXh0Q29sb3IoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmlzR3JvdXBSZXBvcnQgfHxcbiAgICAgIGNvbHVtbi5rZXkgPT09IFwibmFtZVwiIHx8XG4gICAgICBjb2x1bW4ua2V5ID09PSBcImNwZlwiIHx8XG4gICAgICBjb2x1bW4ua2V5ID09PSBcImdlbmVyYWxcIlxuICAgICkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb2xvciA9IHJvd1tjb2x1bW4ua2V5XT8uY2xhc3NpZmljYXRpb25UZXh0Q29sb3IhO1xuICAgICAgcmV0dXJuIGNvbG9yO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICB9XG5cbiAgZ2V0Um93Q2xhc3MoKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBcInJvdy1ob3ZlclwiOiAhdGhpcy5pc0dyb3VwUmVwb3J0LFxuICAgIH07XG4gIH1cblxuICBnZXRWYWx1ZShyb3c6IHsgdmFsdWU6IHN0cmluZyB9KTogc3RyaW5nIHtcbiAgICB0cnkge1xuICAgICAgaWYgKHJvdy52YWx1ZSkge1xuICAgICAgICByZXR1cm4gcm93LnZhbHVlICsgXCIlXCI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gXCItXCI7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gXCItXCI7XG4gICAgfVxuICB9XG5cbiAgY2hhbmdlUGFnZShldmVudD86IFBhZ2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VQYWdlLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgdG9nZ2xlTWVudSgpIHtcbiAgICB0aGlzLnRyaWdnZXIub3Blbk1lbnUoKTtcbiAgfVxuXG4gIGdldEJhY2tncm91bmRDb2xvcihjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbHVtbi5zdGF0dXM/LmNvbG9yPy5bcm93W2NvbHVtbi5rZXldIHx8IDBdIHx8IFwiXCI7XG4gIH1cblxuICBoYXNDdXN0b21DbGFzcyhjb2x1bW46IFRhYmxlQ29sdW1uLCByb3c6IGFueSwga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICBjb2x1bW4/LmNsYXNzIHx8XG4gICAgICByb3c/LnJvd1N0eWxlQ2xhc3MgfHxcbiAgICAgIHRoaXMuaGFzQ2VsbFN0eWxlQ2xhc3Mocm93LCBrZXkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0Q3VzdG9tQ2xhc3MoY29sdW1uOiBUYWJsZUNvbHVtbiwgcm93OiBhbnksIGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5oYXNDZWxsU3R5bGVDbGFzcyhyb3csIGtleSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldENlbGxTdHlsZUNsYXNzKHJvdywgY29sdW1uLmtleSk7XG4gICAgfSBlbHNlIGlmIChjb2x1bW4/LmNsYXNzKSB7XG4gICAgICByZXR1cm4gY29sdW1uLmNsYXNzO1xuICAgIH0gZWxzZSBpZiAocm93Py5yb3dTdHlsZUNsYXNzKSB7XG4gICAgICByZXR1cm4gcm93LnJvd1N0eWxlQ2xhc3M7XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgaGFzQ2VsbFN0eWxlQ2xhc3Mocm93OiBhbnksIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJvdy5zdHlsZUNsYXNzPy5rZXkgPT09IGtleTtcbiAgfVxuXG4gIGdldENlbGxTdHlsZUNsYXNzKHJvdzogYW55LCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJvdy5zdHlsZUNsYXNzPy5rZXkgPT09IGtleSA/IHJvdy5zdHlsZUNsYXNzPy5jbGFzcyA6IFwiXCI7XG4gIH1cblxuICBoYW5kbGVNZW51KHNlbGVjdGVkOiBhbnkpIHtcbiAgICB0aGlzLmVtaXRSb3dDbGljayhzZWxlY3RlZC5kYXRhLCBzZWxlY3RlZC5hY3Rpb24pO1xuICB9XG5cbiAgaGFzSW5kaXZpZHVhbE1lbnUocm93OiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAocm93ICE9PSBcIlwiICYmIHJvdyAhPT0gbnVsbCkgcmV0dXJuIHRydWU7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1hcGEtdGFibGVcIj5cbiAgPHRhYmxlXG4gICAgbWF0LXRhYmxlXG4gICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgbWF0U29ydFxuICAgIChtYXRTb3J0Q2hhbmdlKT1cInNvcnREYXRhRnVuY3Rpb24oJGV2ZW50KVwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IGxldCBpc0ZpcnN0ID0gZmlyc3RcIlxuICAgICAgW21hdENvbHVtbkRlZl09XCJjb2x1bW4ua2V5XCJcbiAgICA+XG4gICAgICA8dGhcbiAgICAgICAgbWF0LWhlYWRlci1jZWxsXG4gICAgICAgICptYXRIZWFkZXJDZWxsRGVmXG4gICAgICAgIG1hdC1zb3J0LWhlYWRlclxuICAgICAgICBbZGlzYWJsZWRdPVwiIShjb2x1bW4ua2V5ICE9PSAnYWN0aW9ucycgPyBjb2x1bW4uc29ydCA6IG51bGwpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlSGVhZGVyXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzZWxlY3Rpb24sIGNvbHVtbiwgaXNGaXJzdCwgY2hlY2tib3ggfVwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgW3N0eWxlLndpZHRoXT1cImNvbHVtbj8ud2lkdGhcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uXCJcbiAgICAgICAgICAoY2xpY2spPVwiZW1pdFJvd0NsaWNrKHJvdywgJycpXCJcbiAgICAgICAgICBbY2xhc3MubWFwYS10YWJsZV9fY29sdW1uLS1jZW50ZXItY2VsbF09XCJjb2x1bW4/LmFsaWduID09PSAnY2VudGVyJyB8fCBpc0dyb3VwUmVwb3J0ICYmIGNvbHVtbi5rZXkgIT09ICduYW1lJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImNvbHVtbi5rZXkgIT09ICdhY3Rpb25zJyAmJiBjb2x1bW4ua2V5ICE9PSAnbWVudSc7IGVsc2UgY29sdW1uQWN0aW9uc09yTWVudVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWlzR3JvdXBSZXBvcnRcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4/LndpZHRoXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MubWFwYS10YWJsZV9fY29sdW1uLS1lbGxpcHNpc109XCJjb2x1bW4/LmNvbGxhcHNlID09PSAnb3ZlcmZsb3cnXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MubWFwYS10YWJsZV9fY29sdW1uLS1uby13cmFwXT1cImNvbHVtbj8uY29sbGFwc2UgPT09ICduby13cmFwJ1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLm1hcGEtdGFibGVfX2NvbHVtbi0td3JhcF09XCJjb2x1bW4/LmNvbGxhcHNlID09PSAnd3JhcCdcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIltoYXNDdXN0b21DbGFzcyhjb2x1bW4sIHJvdywgY29sdW1uLmtleSkgPyBnZXRDdXN0b21DbGFzcyhjb2x1bW4sIHJvdywgY29sdW1uLmtleSkgOiAnJ11cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW4/LnN0YXR1cz8uY29sb3I7IGVsc2UgY29tbW9uQ29sdW1uXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fY29sdW1uLS1zdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJnZXRCYWNrZ3JvdW5kQ29sb3IoY29sdW1uLCByb3cpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNlbGVjdGlvbiwgY29sdW1uLCBpc0ZpcnN0LCBjaGVja2JveCwgcm93IH1cIlxuICAgICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uQ29sdW1uPlxuICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzZWxlY3Rpb24sIGNvbHVtbiwgaXNGaXJzdCwgY2hlY2tib3gsIHJvdyB9XCJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzR3JvdXBSZXBvcnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJnZXRDZWxsQmcoY29sdW1uLCByb3cpXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZ2V0Q2VsbFRleHRDb2xvcihjb2x1bW4sIHJvdylcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImdldENlbGxDbGFzcyhjb2x1bW4sIHJvdylcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb2x1bW4ua2V5ID09PSAnbmFtZScgfHwgY29sdW1uLmtleSA9PT0gJ2NwZicgfHwgY29sdW1uLmtleSA9PT0gJ2dlbmVyYWwnOyBlbHNlIHZhbHVlQ29udGVudFwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ua2V5ID09PSAnbmFtZSdcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPnt7IHJvdy5uYW1lIH19PGJyIC8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNwZlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tyb3cuY3BmfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4ua2V5ID09PSAnZ2VuZXJhbCdcIiBjbGFzcz1cImdlbmVyYWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyByb3dbY29sdW1uLmtleV0gfCBjdXJyZW5jeTonJzonJyB9fSVcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdmFsdWVDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbnRlbnQtLXZhbHVlXCI+e3sgZ2V0VmFsdWUocm93W2NvbHVtbi5rZXldKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNjb2x1bW5BY3Rpb25zT3JNZW51PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbi0tYWN0aW9uc1wiXG4gICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLmtleSA9PT0gJ2FjdGlvbnMnICYmIGFjdGlvbnNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU1lbnUoe2RhdGE6IHJvdywgYWN0aW9uOiBpdGVtLmFjdGlvbn0pXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1hcGEtdGFibGVfX2NvbHVtbi0tYWN0aW9ucy1pdGVtXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiaXRlbS50ZXh0XCJcbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIml0ZW0uaWNvblwiPnt7aXRlbS5pY29ufX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJpdGVtLmltYWdlXCIgW3NyY109XCJpdGVtLmltYWdlXCIgLz5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXBhLXRhYmxlX19jb2x1bW4tLW1lbnVcIiAqbmdJZj1cImNvbHVtbi5rZXkgPT09ICdtZW51J1wiPlxuICAgICAgICAgICAgICA8bWFwYS1tZW51XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNJbmRpdmlkdWFsTWVudShyb3dbJ21lbnUnXSk7IGVsc2UgZ2VuZXJhbE1lbnVcIlxuICAgICAgICAgICAgICAgIFtpdGVtc109XCJyb3dbJ21lbnUnXVwiXG4gICAgICAgICAgICAgICAgW2RhdGFdPVwicm93XCJcbiAgICAgICAgICAgICAgICAoZW1pdE1lbnUpPVwiaGFuZGxlTWVudSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPjwvbWFwYS1tZW51PlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2dlbmVyYWxNZW51PlxuICAgICAgICAgICAgICAgIDxtYXBhLW1lbnVcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwibWVudUl0ZW1zICYmIG1lbnVJdGVtcy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJtZW51SXRlbXNcIlxuICAgICAgICAgICAgICAgICAgW2RhdGFdPVwicm93XCJcbiAgICAgICAgICAgICAgICAgIChlbWl0TWVudSk9XCJoYW5kbGVNZW51KCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L21hcGEtbWVudT5cbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPHRyXG4gICAgICBtYXQtcm93XG4gICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIlxuICAgICAgW25nQ2xhc3NdPVwiZ2V0Um93Q2xhc3MoKVwiXG4gICAgPjwvdHI+XG4gIDwvdGFibGU+XG5cbiAgPHNlY3Rpb24gKm5nSWY9XCIhaXNHcm91cFJlcG9ydCAmJiBzaG93UGFnaW5hdG9yXCI+XG4gICAgPG1hdC1wYWdpbmF0b3JcbiAgICAgIGNsYXNzPVwibWFwYS10YWJsZV9fcGFnaW5hdG9yLWxlZ2FjeVwiXG4gICAgICBpdGVtc1BlclBhZ2VMYWJlbD1cIkl0ZW0gcG9yIHDDoWdpbmFcIlxuICAgICAgYXBwU3R5bGVQYWdpbmF0b3JNdlxuICAgICAgW2xlbmd0aF09XCJ0b3RhbENvdW50XCJcbiAgICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXG4gICAgICBbcGFnZVNpemVPcHRpb25zXT1cIls1LCAxMCwgMjUsIDEwMF1cIlxuICAgICAgKHBhZ2UpPVwiY2hhbmdlUGFnZSgkZXZlbnQpXCJcbiAgICA+PC9tYXQtcGFnaW5hdG9yPlxuICA8L3NlY3Rpb24+XG48L3NlY3Rpb24+XG5cbjxuZy10ZW1wbGF0ZVxuICAjdGFibGVIZWFkZXJcbiAgbGV0LXNlbGVjdGlvbj1cInNlbGVjdGlvblwiXG4gIGxldC1jb2x1bW49XCJjb2x1bW5cIlxuICBsZXQtaXNGaXJzdD1cImlzRmlyc3RcIlxuICBsZXQtY2hlY2tib3g9XCJjaGVja2JveFwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0ZpcnN0ICYmIGNoZWNrYm94XCI+XG4gICAgPG1hdC1jaGVja2JveFxuICAgICAgKm5nSWY9XCJzZWxlY3Rpb25cIlxuICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyB0b2dnbGVBbGxSb3dzKCkgOiBudWxsXCJcbiAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIGlzQWxsU2VsZWN0ZWQoKVwiXG4gICAgICBbaW5kZXRlcm1pbmF0ZV09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgID48L21hdC1jaGVja2JveD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXYgW25nQ2xhc3NdPVwieyAnbGFiZWxfcmVwb3J0JzogaXNHcm91cFJlcG9ydCB9XCI+XG4gICAge3sgY29sdW1uLmxhYmVsIH19XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmtleSAhPT0gJ2FjdGlvbnMnICYmIGNvbHVtbi5rZXkgIT09ICdtZW51JyAmJiBjb2x1bW4uc29ydFwiPlxuICAgIDxtYXQtaWNvbj5maWx0ZXJfbGlzdDwvbWF0LWljb24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICN0YWJsZUNvbnRlbnRcbiAgbGV0LXNlbGVjdGlvbj1cInNlbGVjdGlvblwiXG4gIGxldC1jb2x1bW49XCJjb2x1bW5cIlxuICBsZXQtaXNGaXJzdD1cImlzRmlyc3RcIlxuICBsZXQtY2hlY2tib3g9XCJjaGVja2JveFwiXG4gIGxldC1yb3c9XCJyb3dcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGaXJzdCAmJiBjaGVja2JveFwiPlxuICAgIDxtYXQtY2hlY2tib3hcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyBzZWxlY3Rpb24/LnRvZ2dsZShyb3cpIDogbnVsbDsgZ2V0U2VsZWN0ZWRWYWx1ZXMoKVwiXG4gICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24/LmlzU2VsZWN0ZWQocm93KVwiXG4gICAgPlxuICAgIDwvbWF0LWNoZWNrYm94PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBQT1IgRkFWT1IsIE7Dg08gUVVFQlJFIExJTkhBIEVOVFJFIE5HLUNPTlRBSU5FUi9URU1QTEFURSBFIE8gVkFMT1IgQ09OVEXDmkRPICAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTWFza2VkRGF0YShjb2x1bW4sIHJvdyk7IGVsc2Ugc3RhdHVzQ29udGVudFwiXG4gICAgPnt7IGdldFZhbHVlQXNEYXRlKGNvbHVtbiwgcm93KSB8IGRhdGU6IGNvbHVtbi5tYXNrIH19PC9uZy1jb250YWluZXJcbiAgPlxuICA8bmctdGVtcGxhdGUgI3N0YXR1c0NvbnRlbnQ+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi5zdGF0dXM7IGVsc2UgY29tbW9uQ29udGVudFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQm9vbGVhbihjb2x1bW4sIHJvdyk7IGVsc2UgY29tbW9uU3RhdHVzXCJcbiAgICAgICAgPnt7IGNvbHVtbi5zdGF0dXMubGFiZWxbcm93W2NvbHVtbi5rZXldID8gMSA6IDBdIH19PC9uZy1jb250YWluZXJcbiAgICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uU3RhdHVzXG4gICAgICAgID57eyBjb2x1bW4uc3RhdHVzLmxhYmVsW3Jvd1tjb2x1bW4ua2V5XV0gfHwgJy0nIH19PC9uZy10ZW1wbGF0ZVxuICAgICAgPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjY29tbW9uQ29udGVudD57eyByb3dbY29sdW1uLmtleV0gfX08L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3N0YXR1c0NvbnRlbnQ+XG4gICAgPG5nLXRlbXBsYXRlICNjb21tb25Db250ZW50Pnt7IHJvd1tjb2x1bW4ua2V5XSB9fTwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -23,8 +23,10 @@ export class ElementBase {
23
23
  this.errors = options.errors || undefined;
24
24
  this.actionButton = options.actionButton || undefined;
25
25
  this.mask = options.mask || undefined;
26
- this.autocomplete = options.autocomplete || '';
27
- this.clearValue = options.clearValue !== undefined ? options.clearValue : true;
26
+ this.autocomplete = options.autocomplete || "";
27
+ this.clearValue =
28
+ options.clearValue !== undefined ? options.clearValue : true;
29
+ this.status = options.status || undefined;
28
30
  }
29
31
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29yZS9lbGVtZW50cy9lbGVtZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFPLFdBQVc7SUEyQnRCLFlBQ0UsVUEwQkksRUFBRTtRQUVOLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDakYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudEdyb3VwIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZWxlbWVudC1ncm91cC5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEVsZW1lbnRPcHRpb24gfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9lbGVtZW50LW9wdGlvbi5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEFjdGlvbkJ1dHRvbiB9IGZyb20gXCIuL2FjdGlvbi1idXR0b25cIjtcbmltcG9ydCB7IEVsZW1lbnRTZWFyY2ggfSBmcm9tIFwiLi9lbGVtZW50LXNlYXJjaFwiO1xuaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5cbmV4cG9ydCBjbGFzcyBFbGVtZW50QmFzZSB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgb3JkZXI6IG51bWJlcjtcbiAgY29udHJvbFR5cGU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgaGludD86IHN0cmluZztcbiAgcHJlZml4Pzogc3RyaW5nO1xuICBzdWZmaXg/OiBzdHJpbmc7XG4gIGF1dG9zaXplPzogYm9vbGVhbjtcbiAgYXV0b3NpemVNaW5XaWR0aD86IHN0cmluZztcbiAgYXV0b3NpemVNYXhXaWR0aD86IHN0cmluZztcbiAgYXV0b3NpemVNaW5Sb3c/OiBudW1iZXI7XG4gIGF1dG9zaXplTWF4Um93PzogbnVtYmVyO1xuICBvcHRpb25zOiBFbGVtZW50T3B0aW9uW10gfCBFbGVtZW50R3JvdXBbXTtcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICBzZWFyY2g/OiBFbGVtZW50U2VhcmNoO1xuICBtYXhMZW5ndGghOiBzdHJpbmcgfCBudW1iZXIgfCBudWxsO1xuICBlcnJvcnM/OiBFcnJvcnM7XG4gIGFjdGlvbkJ1dHRvbj86IEFjdGlvbkJ1dHRvbjtcbiAgbWFzaz86IHN0cmluZztcbiAgYXV0b2NvbXBsZXRlPzogc3RyaW5nO1xuICBjbGVhclZhbHVlPzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiB7XG4gICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgIGtleT86IHN0cmluZztcbiAgICAgIGxhYmVsPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAgb3JkZXI/OiBudW1iZXI7XG4gICAgICBjb250cm9sVHlwZT86IHN0cmluZztcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICAgIGhpbnQ/OiBzdHJpbmc7XG4gICAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgICBhdXRvc2l6ZT86IGJvb2xlYW47XG4gICAgICBhdXRvc2l6ZU1pbldpZHRoPzogc3RyaW5nO1xuICAgICAgYXV0b3NpemVNYXhXaWR0aD86IHN0cmluZztcbiAgICAgIGF1dG9zaXplTWluUm93PzogbnVtYmVyO1xuICAgICAgYXV0b3NpemVNYXhSb3c/OiBudW1iZXI7XG4gICAgICBvcHRpb25zPzogRWxlbWVudE9wdGlvbltdIHwgRWxlbWVudEdyb3VwW107XG4gICAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgICBzZWFyY2g/OiBFbGVtZW50U2VhcmNoO1xuICAgICAgbWF4TGVuZ3RoPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICAgIGVycm9ycz86IEVycm9ycztcbiAgICAgIGFjdGlvbkJ1dHRvbj86IEFjdGlvbkJ1dHRvbjtcbiAgICAgIG1hc2s/OiBzdHJpbmc7XG4gICAgICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG4gICAgICBjbGVhclZhbHVlPzogYm9vbGVhbjtcbiAgICB9ID0ge31cbiAgKSB7XG4gICAgdGhpcy52YWx1ZSA9IG9wdGlvbnMudmFsdWUgfHwgXCJcIjtcbiAgICB0aGlzLmtleSA9IG9wdGlvbnMua2V5IHx8IFwiXCI7XG4gICAgdGhpcy5sYWJlbCA9IG9wdGlvbnMubGFiZWwgfHwgXCJcIjtcbiAgICB0aGlzLnJlcXVpcmVkID0gISFvcHRpb25zLnJlcXVpcmVkO1xuICAgIHRoaXMub3JkZXIgPSBvcHRpb25zLm9yZGVyID09PSB1bmRlZmluZWQgPyAxIDogb3B0aW9ucy5vcmRlcjtcbiAgICB0aGlzLmNvbnRyb2xUeXBlID0gb3B0aW9ucy5jb250cm9sVHlwZSB8fCBcIlwiO1xuICAgIHRoaXMudHlwZSA9IG9wdGlvbnMudHlwZSB8fCBcIlwiO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBvcHRpb25zLnBsYWNlaG9sZGVyIHx8IFwiXCI7XG4gICAgdGhpcy5oaW50ID0gb3B0aW9ucy5oaW50IHx8IFwiXCI7XG4gICAgdGhpcy5wcmVmaXggPSBvcHRpb25zLnByZWZpeCB8fCBcIlwiO1xuICAgIHRoaXMuc3VmZml4ID0gb3B0aW9ucy5zdWZmaXggfHwgXCJcIjtcbiAgICB0aGlzLmF1dG9zaXplID0gb3B0aW9ucy5hdXRvc2l6ZSB8fCBmYWxzZTtcbiAgICB0aGlzLmF1dG9zaXplTWluV2lkdGggPSBvcHRpb25zLmF1dG9zaXplTWluV2lkdGggfHwgXCIyMTJweFwiO1xuICAgIHRoaXMuYXV0b3NpemVNYXhXaWR0aCA9IG9wdGlvbnMuYXV0b3NpemVNYXhXaWR0aCB8fCBcIjQwMHB4XCI7XG4gICAgdGhpcy5hdXRvc2l6ZU1pblJvdyA9IG9wdGlvbnMuYXV0b3NpemVNaW5Sb3cgfHwgMjtcbiAgICB0aGlzLmF1dG9zaXplTWF4Um93ID0gb3B0aW9ucy5hdXRvc2l6ZU1heFJvdyB8fCA1O1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMub3B0aW9ucyB8fCBbXTtcbiAgICB0aGlzLm11bHRpcGxlID0gb3B0aW9ucy5tdWx0aXBsZSB8fCBmYWxzZTtcbiAgICB0aGlzLnNlYXJjaCA9IG9wdGlvbnMuc2VhcmNoIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLm1heExlbmd0aCA9IG9wdGlvbnMubWF4TGVuZ3RoIHx8IG51bGw7XG4gICAgdGhpcy5lcnJvcnMgPSBvcHRpb25zLmVycm9ycyB8fCB1bmRlZmluZWQ7XG4gICAgdGhpcy5hY3Rpb25CdXR0b24gPSBvcHRpb25zLmFjdGlvbkJ1dHRvbiB8fCB1bmRlZmluZWQ7XG4gICAgdGhpcy5tYXNrID0gb3B0aW9ucy5tYXNrIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLmF1dG9jb21wbGV0ZSA9IG9wdGlvbnMuYXV0b2NvbXBsZXRlIHx8ICcnO1xuICAgIHRoaXMuY2xlYXJWYWx1ZSA9IG9wdGlvbnMuY2xlYXJWYWx1ZSAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5jbGVhclZhbHVlIDogdHJ1ZTtcbiAgfVxufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWFwYS1saWJyYXJ5LXVpL3NyYy9saWIvY29yZS9lbGVtZW50cy9lbGVtZW50LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0EsTUFBTSxPQUFPLFdBQVc7SUE0QnRCLFlBQ0UsVUEyQkksRUFBRTtRQUVOLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO1FBQzFDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLElBQUksU0FBUyxDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVTtZQUNiLE9BQU8sQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDL0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQztJQUM1QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50R3JvdXAgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9lbGVtZW50LWdyb3VwLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRWxlbWVudE9wdGlvbiB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2VsZW1lbnQtb3B0aW9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQWN0aW9uQnV0dG9uIH0gZnJvbSBcIi4vYWN0aW9uLWJ1dHRvblwiO1xuaW1wb3J0IHsgRWxlbWVudFNlYXJjaCB9IGZyb20gXCIuL2VsZW1lbnQtc2VhcmNoXCI7XG5pbXBvcnQgeyBFcnJvcnMgfSBmcm9tIFwiLi9lcnJvcnNcIjtcbmV4cG9ydCBpbnRlcmZhY2UgU3RhdHVzIHtcbiAgbGFiZWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEVsZW1lbnRCYXNlIHtcbiAgdmFsdWU6IHN0cmluZztcbiAga2V5OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBvcmRlcjogbnVtYmVyO1xuICBjb250cm9sVHlwZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBoaW50Pzogc3RyaW5nO1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgYXV0b3NpemU/OiBib29sZWFuO1xuICBhdXRvc2l6ZU1pbldpZHRoPzogc3RyaW5nO1xuICBhdXRvc2l6ZU1heFdpZHRoPzogc3RyaW5nO1xuICBhdXRvc2l6ZU1pblJvdz86IG51bWJlcjtcbiAgYXV0b3NpemVNYXhSb3c/OiBudW1iZXI7XG4gIG9wdGlvbnM6IEVsZW1lbnRPcHRpb25bXSB8IEVsZW1lbnRHcm91cFtdO1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIHNlYXJjaD86IEVsZW1lbnRTZWFyY2g7XG4gIG1heExlbmd0aCE6IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gIGVycm9ycz86IEVycm9ycztcbiAgYWN0aW9uQnV0dG9uPzogQWN0aW9uQnV0dG9uO1xuICBtYXNrPzogc3RyaW5nO1xuICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG4gIGNsZWFyVmFsdWU/OiBib29sZWFuO1xuICBzdGF0dXM/OiBTdGF0dXNbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiB7XG4gICAgICB2YWx1ZT86IHN0cmluZztcbiAgICAgIGtleT86IHN0cmluZztcbiAgICAgIGxhYmVsPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAgb3JkZXI/OiBudW1iZXI7XG4gICAgICBjb250cm9sVHlwZT86IHN0cmluZztcbiAgICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICAgIGhpbnQ/OiBzdHJpbmc7XG4gICAgICBwcmVmaXg/OiBzdHJpbmc7XG4gICAgICBzdWZmaXg/OiBzdHJpbmc7XG4gICAgICBhdXRvc2l6ZT86IGJvb2xlYW47XG4gICAgICBhdXRvc2l6ZU1pbldpZHRoPzogc3RyaW5nO1xuICAgICAgYXV0b3NpemVNYXhXaWR0aD86IHN0cmluZztcbiAgICAgIGF1dG9zaXplTWluUm93PzogbnVtYmVyO1xuICAgICAgYXV0b3NpemVNYXhSb3c/OiBudW1iZXI7XG4gICAgICBvcHRpb25zPzogRWxlbWVudE9wdGlvbltdIHwgRWxlbWVudEdyb3VwW107XG4gICAgICBtdWx0aXBsZT86IGJvb2xlYW47XG4gICAgICBzZWFyY2g/OiBFbGVtZW50U2VhcmNoO1xuICAgICAgbWF4TGVuZ3RoPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICAgIGVycm9ycz86IEVycm9ycztcbiAgICAgIGFjdGlvbkJ1dHRvbj86IEFjdGlvbkJ1dHRvbjtcbiAgICAgIG1hc2s/OiBzdHJpbmc7XG4gICAgICBhdXRvY29tcGxldGU/OiBzdHJpbmc7XG4gICAgICBjbGVhclZhbHVlPzogYm9vbGVhbjtcbiAgICAgIHN0YXR1cz86IFN0YXR1c1tdO1xuICAgIH0gPSB7fVxuICApIHtcbiAgICB0aGlzLnZhbHVlID0gb3B0aW9ucy52YWx1ZSB8fCBcIlwiO1xuICAgIHRoaXMua2V5ID0gb3B0aW9ucy5rZXkgfHwgXCJcIjtcbiAgICB0aGlzLmxhYmVsID0gb3B0aW9ucy5sYWJlbCB8fCBcIlwiO1xuICAgIHRoaXMucmVxdWlyZWQgPSAhIW9wdGlvbnMucmVxdWlyZWQ7XG4gICAgdGhpcy5vcmRlciA9IG9wdGlvbnMub3JkZXIgPT09IHVuZGVmaW5lZCA/IDEgOiBvcHRpb25zLm9yZGVyO1xuICAgIHRoaXMuY29udHJvbFR5cGUgPSBvcHRpb25zLmNvbnRyb2xUeXBlIHx8IFwiXCI7XG4gICAgdGhpcy50eXBlID0gb3B0aW9ucy50eXBlIHx8IFwiXCI7XG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IG9wdGlvbnMucGxhY2Vob2xkZXIgfHwgXCJcIjtcbiAgICB0aGlzLmhpbnQgPSBvcHRpb25zLmhpbnQgfHwgXCJcIjtcbiAgICB0aGlzLnByZWZpeCA9IG9wdGlvbnMucHJlZml4IHx8IFwiXCI7XG4gICAgdGhpcy5zdWZmaXggPSBvcHRpb25zLnN1ZmZpeCB8fCBcIlwiO1xuICAgIHRoaXMuYXV0b3NpemUgPSBvcHRpb25zLmF1dG9zaXplIHx8IGZhbHNlO1xuICAgIHRoaXMuYXV0b3NpemVNaW5XaWR0aCA9IG9wdGlvbnMuYXV0b3NpemVNaW5XaWR0aCB8fCBcIjIxMnB4XCI7XG4gICAgdGhpcy5hdXRvc2l6ZU1heFdpZHRoID0gb3B0aW9ucy5hdXRvc2l6ZU1heFdpZHRoIHx8IFwiNDAwcHhcIjtcbiAgICB0aGlzLmF1dG9zaXplTWluUm93ID0gb3B0aW9ucy5hdXRvc2l6ZU1pblJvdyB8fCAyO1xuICAgIHRoaXMuYXV0b3NpemVNYXhSb3cgPSBvcHRpb25zLmF1dG9zaXplTWF4Um93IHx8IDU7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucy5vcHRpb25zIHx8IFtdO1xuICAgIHRoaXMubXVsdGlwbGUgPSBvcHRpb25zLm11bHRpcGxlIHx8IGZhbHNlO1xuICAgIHRoaXMuc2VhcmNoID0gb3B0aW9ucy5zZWFyY2ggfHwgdW5kZWZpbmVkO1xuICAgIHRoaXMubWF4TGVuZ3RoID0gb3B0aW9ucy5tYXhMZW5ndGggfHwgbnVsbDtcbiAgICB0aGlzLmVycm9ycyA9IG9wdGlvbnMuZXJyb3JzIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLmFjdGlvbkJ1dHRvbiA9IG9wdGlvbnMuYWN0aW9uQnV0dG9uIHx8IHVuZGVmaW5lZDtcbiAgICB0aGlzLm1hc2sgPSBvcHRpb25zLm1hc2sgfHwgdW5kZWZpbmVkO1xuICAgIHRoaXMuYXV0b2NvbXBsZXRlID0gb3B0aW9ucy5hdXRvY29tcGxldGUgfHwgXCJcIjtcbiAgICB0aGlzLmNsZWFyVmFsdWUgPVxuICAgICAgb3B0aW9ucy5jbGVhclZhbHVlICE9PSB1bmRlZmluZWQgPyBvcHRpb25zLmNsZWFyVmFsdWUgOiB0cnVlO1xuICAgIHRoaXMuc3RhdHVzID0gb3B0aW9ucy5zdGF0dXMgfHwgdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
@@ -43,8 +43,10 @@ class ElementBase {
43
43
  this.errors = options.errors || undefined;
44
44
  this.actionButton = options.actionButton || undefined;
45
45
  this.mask = options.mask || undefined;
46
- this.autocomplete = options.autocomplete || '';
47
- this.clearValue = options.clearValue !== undefined ? options.clearValue : true;
46
+ this.autocomplete = options.autocomplete || "";
47
+ this.clearValue =
48
+ options.clearValue !== undefined ? options.clearValue : true;
49
+ this.status = options.status || undefined;
48
50
  }
49
51
  }
50
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui-src-lib-components-dropdown.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/elements/element-base.ts","../../../projects/mapa-library-ui/src/lib/core/elements/dropdown.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.html","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.html","../../../projects/mapa-library-ui/src/lib/components/button/src/button.module.ts","../../../projects/mapa-library-ui/src/lib/components/button/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.module.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/public-api.ts","../../../projects/mapa-library-ui/src/dropdown.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-dropdown.ts"],"sourcesContent":["import { ElementGroup } from \"../interfaces/element-group.interface\";\nimport { ElementOption } from \"../interfaces/element-option.interface\";\nimport { ActionButton } from \"./action-button\";\nimport { ElementSearch } from \"./element-search\";\nimport { Errors } from \"./errors\";\n\nexport class ElementBase {\n value: string;\n key: string;\n label: string;\n required: boolean;\n order: number;\n controlType: string;\n type: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options: ElementOption[] | ElementGroup[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength!: string | number | null;\n errors?: Errors;\n actionButton?: ActionButton;\n mask?: string;\n autocomplete?: string;\n clearValue?: boolean;\n\n constructor(\n options: {\n value?: string;\n key?: string;\n label?: string;\n required?: boolean;\n order?: number;\n controlType?: string;\n type?: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options?: ElementOption[] | ElementGroup[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength?: string | number | null;\n errors?: Errors;\n actionButton?: ActionButton;\n mask?: string;\n autocomplete?: string;\n clearValue?: boolean;\n } = {}\n ) {\n this.value = options.value || \"\";\n this.key = options.key || \"\";\n this.label = options.label || \"\";\n this.required = !!options.required;\n this.order = options.order === undefined ? 1 : options.order;\n this.controlType = options.controlType || \"\";\n this.type = options.type || \"\";\n this.placeholder = options.placeholder || \"\";\n this.hint = options.hint || \"\";\n this.prefix = options.prefix || \"\";\n this.suffix = options.suffix || \"\";\n this.autosize = options.autosize || false;\n this.autosizeMinWidth = options.autosizeMinWidth || \"212px\";\n this.autosizeMaxWidth = options.autosizeMaxWidth || \"400px\";\n this.autosizeMinRow = options.autosizeMinRow || 2;\n this.autosizeMaxRow = options.autosizeMaxRow || 5;\n this.options = options.options || [];\n this.multiple = options.multiple || false;\n this.search = options.search || undefined;\n this.maxLength = options.maxLength || null;\n this.errors = options.errors || undefined;\n this.actionButton = options.actionButton || undefined;\n this.mask = options.mask || undefined;\n this.autocomplete = options.autocomplete || '';\n this.clearValue = options.clearValue !== undefined ? options.clearValue : true;\n }\n}\n","import { ElementBase } from './element-base';\n\nexport class Dropdown extends ElementBase {\n override controlType = 'dropdown';\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'mapa-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent {\n @Input() color: 'primary' | 'accent' | 'basic' | null | undefined;\n @Input() disabled!: boolean;\n @Output() clicked: EventEmitter<void> = new EventEmitter<void>();\n\n onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button> ","import {\n AfterViewInit,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { MatSelect } from \"@angular/material/select\";\n\nimport { ReplaySubject } from \"rxjs/internal/ReplaySubject\";\nimport { Subject } from \"rxjs/internal/Subject\";\n//import { take, takeUntil } from \"rxjs/operators\";\n\nimport { ElementOption } from \"../../../core/interfaces/element-option.interface\";\nimport { Dropdown } from \"../../../core/elements/dropdown\";\nimport { ElementGroup } from \"../../../core/interfaces/element-group.interface\";\n\n@Component({\n selector: \"mapa-dropdown\",\n templateUrl: \"./dropdown.component.html\",\n styleUrls: [\"./dropdown.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaDropdownComponent implements OnInit, OnDestroy, OnChanges {\n @Input() formControl!: FormControl;\n @Input() formControlSearch!: FormControl;\n @Input() element!: Dropdown;\n @Input() border: \"soft\" | \"tag\" | \"highlight\" | null | undefined;\n\n @ViewChild(\"dropdown\", { static: true }) dropdown!: MatSelect;\n\n public filteredOptions: ReplaySubject<ElementOption[]> = new ReplaySubject<\n ElementOption[]\n >(1);\n public filteredGroups: ReplaySubject<ElementGroup[]> = new ReplaySubject<\n ElementGroup[]\n >(1);\n protected filteredOptionsCache: ElementOption[] = [];\n protected filteredGroupCache: ElementGroup[] = [];\n protected _onDestroy = new Subject<void>();\n\n isIndeterminate = false;\n isChecked = false;\n isOptionsGroup = false;\n\n constructor() {}\n\n ngOnInit() {\n this.setOptions();\n\n if (this.element.search) {\n this.element.search.formControl?.valueChanges\n //.pipe(takeUntil(this._onDestroy))\n .subscribe(() => {\n this.filterOptions();\n this.setToggleAllCheckboxState();\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes[\"element\"].previousValue?.controlType === \"dropdown\" &&\n changes[\"element\"].previousValue?.options !== changes[\"element\"].currentValue?.options\n ) {\n this.element.options = changes[\"element\"].currentValue.options;\n this.setOptions();\n }\n }\n\n ngOnDestroy() {\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n setOptions(): void {\n this.isOptionsGroup = this.isElementGroup(this.element.options[0]);\n\n if (this.isOptionsGroup) {\n this.filteredGroupCache = (this.element\n .options as ElementGroup[]).slice();\n this.filteredGroups.next(this.filteredGroupCache);\n } else {\n this.filteredOptionsCache = (this.element\n .options as ElementOption[]).slice();\n this.filteredOptions.next(this.filteredOptionsCache);\n }\n }\n\n protected filterOptionsFromGroup(\n group: ElementGroup,\n value: string\n ): ElementOption[] {\n const filterValue = value.toLocaleLowerCase();\n\n return group.label.toLocaleLowerCase().includes(filterValue)\n ? group.options\n : group.options.filter((item) =>\n item.value.toLocaleLowerCase().includes(filterValue)\n );\n }\n\n protected filterOptions() {\n if (!this.element.options) {\n return;\n }\n // get the search keyword\n let search = this.element.search?.formControl?.value.toLowerCase();\n\n if (this.isOptionsGroup) {\n const groups = this.element.options as ElementGroup[];\n this.filteredGroupCache = groups\n .map((group: ElementGroup) => ({\n label: group.label,\n options: this.filterOptionsFromGroup(group, search),\n }))\n .filter((group) => group.options.length > 0);\n this.filteredGroups.next(this.filteredGroupCache);\n } else {\n const options = this.element.options as ElementOption[];\n if (!search) {\n this.filteredOptionsCache = options.slice();\n this.filteredOptions.next(this.filteredOptionsCache);\n return;\n }\n // filter the options\n this.filteredOptionsCache = options.filter(\n (option: ElementOption) =>\n option.value.toLowerCase().indexOf(search) > -1\n );\n this.filteredOptions.next(this.filteredOptionsCache);\n }\n }\n\n protected setToggleAllCheckboxState() {\n let filteredLength = 0;\n let search = this.element.search?.formControl?.value;\n\n if (search && search.value) {\n this.filteredOptionsCache.forEach((el) => {\n if (search.value.toLowerCase().indexOf(el) > -1) {\n filteredLength++;\n }\n });\n this.isIndeterminate =\n filteredLength > 0 && filteredLength < this.filteredOptionsCache.length;\n this.isChecked =\n filteredLength > 0 &&\n filteredLength === this.filteredOptionsCache.length;\n }\n }\n\n toggleSelectAll(selectAllValue: boolean) {\n this.filteredOptions.subscribe((options: ElementOption[]) => {\n if (selectAllValue) {\n this.formControl?.patchValue(options);\n } else {\n this.formControl?.patchValue([]);\n }\n });\n this.filteredGroups.subscribe((groups: ElementGroup[]) => {\n if (selectAllValue) {\n this.formControl?.patchValue(\n groups.map((group: ElementGroup) => group.options)\n );\n } else {\n this.formControl?.patchValue([]);\n }\n });\n }\n\n isElementGroup(object: ElementGroup | ElementOption): object is ElementGroup {\n try {\n return (\n (object as ElementGroup).label !== undefined &&\n (object as ElementGroup).options !== undefined\n );\n } catch (e) {\n return false;\n }\n }\n\n compareFn(c1: any, c2: any): boolean {\n return c1 && c2 ? c1.key === c2.key : c1 === c2;\n }\n \n hasValue(): boolean {\n return !!this.formControl.value;\n }\n\n clearValue(event: any): void {\n event.stopPropagation();\n this.formControl.setValue(null);\n }\n}\n","<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n imports: [CommonModule, MatButtonModule],\n})\nexport class MapaButtonModule {}\n","/*\n * Public API Surface of mapa-library-ui button\n */\n\nexport * from './src/button.component';\nexport * from './src/button.module';\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatIconModule } from \"@angular/material/icon\";\n\nimport { MapaDropdownComponent } from \"./dropdown.component\";\nimport { MAT_SELECT_CONFIG, MatSelectModule } from \"@angular/material/select\";\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MapaButtonModule } from \"../../button/public-api\";\n\n@NgModule({\n declarations: [MapaDropdownComponent],\n exports: [MapaDropdownComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatButtonModule,\n MapaButtonModule,\n MatListModule,\n MatIconModule,\n MatSelectModule,\n NgxMatSelectSearchModule,\n ],\n providers: [\n {\n provide: MAT_SELECT_CONFIG,\n useValue: { overlayPanelClass: \"mapa-overlay-dropdown\" },\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: { appearance: \"outline\" },\n },\n ],\n})\nexport class MapaDropdownModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './src/dropdown.component';\nexport * from './src/dropdown.module';\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './lib/core/elements/element-search';\nexport * from './lib/core/elements/element-base';\nexport * from './lib/core/elements/dropdown';\n\nexport * from './lib/components/dropdown/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './dropdown';\n"],"names":["i3.ButtonComponent"],"mappings":"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"}
1
+ {"version":3,"file":"mapa-library-ui-src-lib-components-dropdown.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/elements/element-base.ts","../../../projects/mapa-library-ui/src/lib/core/elements/dropdown.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.ts","../../../projects/mapa-library-ui/src/lib/components/button/src/button.component.html","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.component.html","../../../projects/mapa-library-ui/src/lib/components/button/src/button.module.ts","../../../projects/mapa-library-ui/src/lib/components/button/public-api.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/src/dropdown.module.ts","../../../projects/mapa-library-ui/src/lib/components/dropdown/public-api.ts","../../../projects/mapa-library-ui/src/dropdown.ts","../../../projects/mapa-library-ui/src/mapa-library-ui-src-lib-components-dropdown.ts"],"sourcesContent":["import { ElementGroup } from \"../interfaces/element-group.interface\";\nimport { ElementOption } from \"../interfaces/element-option.interface\";\nimport { ActionButton } from \"./action-button\";\nimport { ElementSearch } from \"./element-search\";\nimport { Errors } from \"./errors\";\nexport interface Status {\n label: string;\n}\n\nexport class ElementBase {\n value: string;\n key: string;\n label: string;\n required: boolean;\n order: number;\n controlType: string;\n type: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options: ElementOption[] | ElementGroup[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength!: string | number | null;\n errors?: Errors;\n actionButton?: ActionButton;\n mask?: string;\n autocomplete?: string;\n clearValue?: boolean;\n status?: Status[];\n\n constructor(\n options: {\n value?: string;\n key?: string;\n label?: string;\n required?: boolean;\n order?: number;\n controlType?: string;\n type?: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n autosizeMinRow?: number;\n autosizeMaxRow?: number;\n options?: ElementOption[] | ElementGroup[];\n multiple?: boolean;\n search?: ElementSearch;\n maxLength?: string | number | null;\n errors?: Errors;\n actionButton?: ActionButton;\n mask?: string;\n autocomplete?: string;\n clearValue?: boolean;\n status?: Status[];\n } = {}\n ) {\n this.value = options.value || \"\";\n this.key = options.key || \"\";\n this.label = options.label || \"\";\n this.required = !!options.required;\n this.order = options.order === undefined ? 1 : options.order;\n this.controlType = options.controlType || \"\";\n this.type = options.type || \"\";\n this.placeholder = options.placeholder || \"\";\n this.hint = options.hint || \"\";\n this.prefix = options.prefix || \"\";\n this.suffix = options.suffix || \"\";\n this.autosize = options.autosize || false;\n this.autosizeMinWidth = options.autosizeMinWidth || \"212px\";\n this.autosizeMaxWidth = options.autosizeMaxWidth || \"400px\";\n this.autosizeMinRow = options.autosizeMinRow || 2;\n this.autosizeMaxRow = options.autosizeMaxRow || 5;\n this.options = options.options || [];\n this.multiple = options.multiple || false;\n this.search = options.search || undefined;\n this.maxLength = options.maxLength || null;\n this.errors = options.errors || undefined;\n this.actionButton = options.actionButton || undefined;\n this.mask = options.mask || undefined;\n this.autocomplete = options.autocomplete || \"\";\n this.clearValue =\n options.clearValue !== undefined ? options.clearValue : true;\n this.status = options.status || undefined;\n }\n}\n","import { ElementBase } from './element-base';\n\nexport class Dropdown extends ElementBase {\n override controlType = 'dropdown';\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'mapa-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss']\n})\nexport class ButtonComponent {\n @Input() color: 'primary' | 'accent' | 'basic' | null | undefined;\n @Input() disabled!: boolean;\n @Output() clicked: EventEmitter<void> = new EventEmitter<void>();\n\n onClick(): void {\n this.clicked.emit();\n }\n}\n","<button\n class=\"mapa-button\"\n (click)=\"onClick()\"\n [class.primary]=\"color === 'primary'\"\n [class.accent]=\"color === 'accent'\"\n [class.basic]=\"color === 'basic'\"\n [disabled]=\"disabled\"\n>\n <ng-content></ng-content>\n</button> ","import {\n AfterViewInit,\n Component,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from \"@angular/core\";\nimport { FormControl } from \"@angular/forms\";\n\nimport { MatSelect } from \"@angular/material/select\";\n\nimport { ReplaySubject } from \"rxjs/internal/ReplaySubject\";\nimport { Subject } from \"rxjs/internal/Subject\";\n//import { take, takeUntil } from \"rxjs/operators\";\n\nimport { ElementOption } from \"../../../core/interfaces/element-option.interface\";\nimport { Dropdown } from \"../../../core/elements/dropdown\";\nimport { ElementGroup } from \"../../../core/interfaces/element-group.interface\";\n\n@Component({\n selector: \"mapa-dropdown\",\n templateUrl: \"./dropdown.component.html\",\n styleUrls: [\"./dropdown.component.scss\"],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MapaDropdownComponent implements OnInit, OnDestroy, OnChanges {\n @Input() formControl!: FormControl;\n @Input() formControlSearch!: FormControl;\n @Input() element!: Dropdown;\n @Input() border: \"soft\" | \"tag\" | \"highlight\" | null | undefined;\n\n @ViewChild(\"dropdown\", { static: true }) dropdown!: MatSelect;\n\n public filteredOptions: ReplaySubject<ElementOption[]> = new ReplaySubject<\n ElementOption[]\n >(1);\n public filteredGroups: ReplaySubject<ElementGroup[]> = new ReplaySubject<\n ElementGroup[]\n >(1);\n protected filteredOptionsCache: ElementOption[] = [];\n protected filteredGroupCache: ElementGroup[] = [];\n protected _onDestroy = new Subject<void>();\n\n isIndeterminate = false;\n isChecked = false;\n isOptionsGroup = false;\n\n constructor() {}\n\n ngOnInit() {\n this.setOptions();\n\n if (this.element.search) {\n this.element.search.formControl?.valueChanges\n //.pipe(takeUntil(this._onDestroy))\n .subscribe(() => {\n this.filterOptions();\n this.setToggleAllCheckboxState();\n });\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes[\"element\"].previousValue?.controlType === \"dropdown\" &&\n changes[\"element\"].previousValue?.options !== changes[\"element\"].currentValue?.options\n ) {\n this.element.options = changes[\"element\"].currentValue.options;\n this.setOptions();\n }\n }\n\n ngOnDestroy() {\n this._onDestroy.next();\n this._onDestroy.complete();\n }\n\n setOptions(): void {\n this.isOptionsGroup = this.isElementGroup(this.element.options[0]);\n\n if (this.isOptionsGroup) {\n this.filteredGroupCache = (this.element\n .options as ElementGroup[]).slice();\n this.filteredGroups.next(this.filteredGroupCache);\n } else {\n this.filteredOptionsCache = (this.element\n .options as ElementOption[]).slice();\n this.filteredOptions.next(this.filteredOptionsCache);\n }\n }\n\n protected filterOptionsFromGroup(\n group: ElementGroup,\n value: string\n ): ElementOption[] {\n const filterValue = value.toLocaleLowerCase();\n\n return group.label.toLocaleLowerCase().includes(filterValue)\n ? group.options\n : group.options.filter((item) =>\n item.value.toLocaleLowerCase().includes(filterValue)\n );\n }\n\n protected filterOptions() {\n if (!this.element.options) {\n return;\n }\n // get the search keyword\n let search = this.element.search?.formControl?.value.toLowerCase();\n\n if (this.isOptionsGroup) {\n const groups = this.element.options as ElementGroup[];\n this.filteredGroupCache = groups\n .map((group: ElementGroup) => ({\n label: group.label,\n options: this.filterOptionsFromGroup(group, search),\n }))\n .filter((group) => group.options.length > 0);\n this.filteredGroups.next(this.filteredGroupCache);\n } else {\n const options = this.element.options as ElementOption[];\n if (!search) {\n this.filteredOptionsCache = options.slice();\n this.filteredOptions.next(this.filteredOptionsCache);\n return;\n }\n // filter the options\n this.filteredOptionsCache = options.filter(\n (option: ElementOption) =>\n option.value.toLowerCase().indexOf(search) > -1\n );\n this.filteredOptions.next(this.filteredOptionsCache);\n }\n }\n\n protected setToggleAllCheckboxState() {\n let filteredLength = 0;\n let search = this.element.search?.formControl?.value;\n\n if (search && search.value) {\n this.filteredOptionsCache.forEach((el) => {\n if (search.value.toLowerCase().indexOf(el) > -1) {\n filteredLength++;\n }\n });\n this.isIndeterminate =\n filteredLength > 0 && filteredLength < this.filteredOptionsCache.length;\n this.isChecked =\n filteredLength > 0 &&\n filteredLength === this.filteredOptionsCache.length;\n }\n }\n\n toggleSelectAll(selectAllValue: boolean) {\n this.filteredOptions.subscribe((options: ElementOption[]) => {\n if (selectAllValue) {\n this.formControl?.patchValue(options);\n } else {\n this.formControl?.patchValue([]);\n }\n });\n this.filteredGroups.subscribe((groups: ElementGroup[]) => {\n if (selectAllValue) {\n this.formControl?.patchValue(\n groups.map((group: ElementGroup) => group.options)\n );\n } else {\n this.formControl?.patchValue([]);\n }\n });\n }\n\n isElementGroup(object: ElementGroup | ElementOption): object is ElementGroup {\n try {\n return (\n (object as ElementGroup).label !== undefined &&\n (object as ElementGroup).options !== undefined\n );\n } catch (e) {\n return false;\n }\n }\n\n compareFn(c1: any, c2: any): boolean {\n return c1 && c2 ? c1.key === c2.key : c1 === c2;\n }\n \n hasValue(): boolean {\n return !!this.formControl.value;\n }\n\n clearValue(event: any): void {\n event.stopPropagation();\n this.formControl.setValue(null);\n }\n}\n","<div *ngIf=\"element\">\n <label *ngIf=\"element.label\" class=\"mapa-dropdown__label\">\n {{ element.label }}\n </label>\n <div class=\"mapa-form--inline\">\n <mat-form-field\n appearance=\"outline\"\n class=\"mapa-dropdown\"\n [class.mapa-dropdown--highlight]=\"border === 'highlight'\"\n [class.mapa-dropdown--soft-border]=\"border === 'soft'\"\n [class.mapa-dropdown--tag]=\"border === 'tag'\"\n [class.mapa-dropdown--labeled]=\"!!element.label\"\n >\n <mat-select\n #dropdown\n ngDefaultControl\n [formControl]=\"formControl\"\n [multiple]=\"element.multiple\"\n [placeholder]=\"element.placeholder || ''\"\n [compareWith]=\"compareFn\"\n >\n <mat-option *ngIf=\"element.search\" class=\"mapa-dropdown__search\">\n <ngx-mat-select-search\n *ngIf=\"element.search.formControl\"\n [showToggleAllCheckbox]=\"true\"\n [formControl]=\"element.search.formControl\"\n [placeholderLabel]=\"element.search.placeholder || ''\"\n i18n-placeholderLabel\n [noEntriesFoundLabel]=\"element.search.noEntriesFoundLabel || ''\"\n [toggleAllCheckboxIndeterminate]=\"isIndeterminate\"\n [toggleAllCheckboxChecked]=\"isChecked\"\n (toggleAll)=\"toggleSelectAll($event)\"\n ></ngx-mat-select-search>\n </mat-option>\n\n <ng-container *ngIf=\"isOptionsGroup; else isElementOptions\">\n <mat-optgroup\n *ngFor=\"let group of filteredGroups | async\"\n [label]=\"group.label\"\n >\n <mat-option *ngFor=\"let option of group.options\" [value]=\"option\">\n {{ option.value }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n <ng-template #isElementOptions>\n <mat-option\n *ngFor=\"let option of filteredOptions | async\"\n [value]=\"option\"\n >\n {{ option.value }}\n </mat-option>\n </ng-template>\n </mat-select>\n <mat-error *ngIf=\"formControl?.hasError('required')\">\n {{ element.errors?.required }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minlength')\">\n {{ element.errors?.minlength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cpf')\">\n {{ element.errors?.cpf }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('cnpj')\">\n {{ element.errors?.cnpj }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('email')\">\n {{ element.errors?.email }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('pattern')\">\n {{ element.errors?.pattern }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('min')\">\n {{ element.errors?.min }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('max')\">\n {{ element.errors?.max }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('minLength')\">\n {{ element.errors?.minLength }}\n </mat-error>\n <mat-error *ngIf=\"formControl?.hasError('maxLength')\">\n {{ element.errors?.maxLength }}\n </mat-error>\n <mat-icon\n *ngIf=\"hasValue() && !formControl.disabled && element.clearValue\"\n (click)=\"clearValue($event)\"\n class=\"mapa-input--close\"\n >close</mat-icon\n >\n </mat-form-field>\n <div *ngIf=\"element.actionButton\" class=\"mapa-form--action\">\n <mapa-button\n color=\"basic\"\n (click)=\"element.actionButton.action.emit(true)\"\n >\n {{ element.actionButton.label }}\n </mapa-button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MatButtonModule } from '@angular/material/button';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n declarations: [ButtonComponent],\n exports: [ButtonComponent],\n imports: [CommonModule, MatButtonModule],\n})\nexport class MapaButtonModule {}\n","/*\n * Public API Surface of mapa-library-ui button\n */\n\nexport * from './src/button.component';\nexport * from './src/button.module';\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\n\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\n\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatIconModule } from \"@angular/material/icon\";\n\nimport { MapaDropdownComponent } from \"./dropdown.component\";\nimport { MAT_SELECT_CONFIG, MatSelectModule } from \"@angular/material/select\";\nimport { NgxMatSelectSearchModule } from \"ngx-mat-select-search\";\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MapaButtonModule } from \"../../button/public-api\";\n\n@NgModule({\n declarations: [MapaDropdownComponent],\n exports: [MapaDropdownComponent],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatButtonModule,\n MapaButtonModule,\n MatListModule,\n MatIconModule,\n MatSelectModule,\n NgxMatSelectSearchModule,\n ],\n providers: [\n {\n provide: MAT_SELECT_CONFIG,\n useValue: { overlayPanelClass: \"mapa-overlay-dropdown\" },\n },\n {\n provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,\n useValue: { appearance: \"outline\" },\n },\n ],\n})\nexport class MapaDropdownModule {}\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './src/dropdown.component';\nexport * from './src/dropdown.module';\n","/*\n * Public API Surface of mapa-library-ui dropdown\n */\n\nexport * from './lib/core/elements/element-search';\nexport * from './lib/core/elements/element-base';\nexport * from './lib/core/elements/dropdown';\n\nexport * from './lib/components/dropdown/public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './dropdown';\n"],"names":["i3.ButtonComponent"],"mappings":"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"}