@wizishop/angular-components 14.1.1 → 14.1.3

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 (86) hide show
  1. package/angular-components.scss +1872 -183
  2. package/esm2020/lib/components/block-with-checkbox/block-with-checkbox.component.mjs +47 -0
  3. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +27 -0
  4. package/esm2020/lib/components/breadcrumbs/breadcrumbs.dto.mjs +2 -0
  5. package/esm2020/lib/components/button/button.component.mjs +23 -3
  6. package/esm2020/lib/components/card-price/card-price.component.mjs +66 -0
  7. package/esm2020/lib/components/checkbox/checkbox.component.mjs +3 -3
  8. package/esm2020/lib/components/common/label/label.component.mjs +16 -0
  9. package/esm2020/lib/components/common/placeholder/placeholder.component.mjs +16 -0
  10. package/esm2020/lib/components/confirm-delete/confirm-delete.component.mjs +64 -0
  11. package/esm2020/lib/components/content-with-buttons/content-with-buttons.component.mjs +69 -0
  12. package/esm2020/lib/components/draganddrop-list/draganddrop-list.component.mjs +61 -0
  13. package/esm2020/lib/components/edit-in-place/edit-in-place.component.mjs +1 -1
  14. package/esm2020/lib/components/free-popin/free-popin.component.mjs +1 -1
  15. package/esm2020/lib/components/header-page/header-page.component.mjs +6 -4
  16. package/esm2020/lib/components/hn/h1/h1.component.mjs +10 -5
  17. package/esm2020/lib/components/inputs/input/input.component.mjs +10 -3
  18. package/esm2020/lib/components/link/link.component.mjs +6 -4
  19. package/esm2020/lib/components/mosaic/mosaic.component.mjs +81 -0
  20. package/esm2020/lib/components/popin/popin.component.mjs +3 -3
  21. package/esm2020/lib/components/selected-list/selected-list.component.mjs +1 -1
  22. package/esm2020/lib/components/selects/option/option-selection-handler.interface.mjs +2 -0
  23. package/esm2020/lib/components/selects/option/option-selection-handler.token.mjs +3 -0
  24. package/esm2020/lib/components/selects/option/option.component.mjs +62 -0
  25. package/esm2020/lib/components/selects/option/select-option.directive.mjs +61 -0
  26. package/esm2020/lib/components/selects/option-call-to-action/option-call-to-action.component.mjs +12 -0
  27. package/esm2020/lib/components/selects/select/select.component.mjs +16 -16
  28. package/esm2020/lib/components/selects/select-in-text/select-in-text.component.mjs +5 -4
  29. package/esm2020/lib/components/selects/select-search-trigger/select-search-trigger.component.mjs +38 -0
  30. package/esm2020/lib/components/selects/select-test/select.component.mjs +216 -0
  31. package/esm2020/lib/components/selects/select-test/value-change.service.mjs +116 -0
  32. package/esm2020/lib/components/shared-components.module.mjs +88 -8
  33. package/esm2020/lib/components/switch/switch.component.mjs +40 -11
  34. package/esm2020/lib/components/tag-label/tag-label.component.mjs +34 -0
  35. package/esm2020/lib/components/text-area/text-area.component.mjs +19 -5
  36. package/esm2020/lib/components/token-check/token-check.component.mjs +21 -0
  37. package/esm2020/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.mjs +12 -0
  38. package/esm2020/lib/components/wrapper-sidebar/wrapper-sidebar.component.mjs +27 -0
  39. package/esm2020/lib/directives/shared-directives.module.mjs +4 -3
  40. package/esm2020/lib/pipes/select/filter-options.pipe.mjs +19 -0
  41. package/esm2020/lib/pipes/shared-pipes.module.mjs +5 -4
  42. package/esm2020/public-api.mjs +20 -2
  43. package/fesm2015/wizishop-angular-components.mjs +1164 -64
  44. package/fesm2015/wizishop-angular-components.mjs.map +1 -1
  45. package/fesm2020/wizishop-angular-components.mjs +1162 -64
  46. package/fesm2020/wizishop-angular-components.mjs.map +1 -1
  47. package/lib/components/block-with-checkbox/block-with-checkbox.component.d.ts +17 -0
  48. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +13 -0
  49. package/lib/components/breadcrumbs/breadcrumbs.dto.d.ts +5 -0
  50. package/lib/components/button/button.component.d.ts +8 -1
  51. package/lib/components/card-price/card-price.component.d.ts +27 -0
  52. package/lib/components/common/label/label.component.d.ts +8 -0
  53. package/lib/components/common/placeholder/placeholder.component.d.ts +8 -0
  54. package/lib/components/confirm-delete/confirm-delete.component.d.ts +21 -0
  55. package/lib/components/content-with-buttons/content-with-buttons.component.d.ts +26 -0
  56. package/lib/components/draganddrop-list/draganddrop-list.component.d.ts +20 -0
  57. package/lib/components/header-page/header-page.component.d.ts +3 -4
  58. package/lib/components/hn/h1/h1.component.d.ts +4 -4
  59. package/lib/components/inputs/input/input.component.d.ts +4 -1
  60. package/lib/components/link/link.component.d.ts +4 -4
  61. package/lib/components/mosaic/mosaic.component.d.ts +28 -0
  62. package/lib/components/selects/option/option-selection-handler.interface.d.ts +7 -0
  63. package/lib/components/selects/option/option-selection-handler.token.d.ts +3 -0
  64. package/lib/components/selects/option/option.component.d.ts +24 -0
  65. package/lib/components/selects/option/select-option.directive.d.ts +21 -0
  66. package/lib/components/selects/option-call-to-action/option-call-to-action.component.d.ts +6 -0
  67. package/lib/components/selects/select/select.component.d.ts +5 -7
  68. package/lib/components/selects/select-search-trigger/select-search-trigger.component.d.ts +14 -0
  69. package/lib/components/selects/select-test/select.component.d.ts +55 -0
  70. package/lib/components/selects/select-test/value-change.service.d.ts +30 -0
  71. package/lib/components/shared-components.module.d.ts +55 -35
  72. package/lib/components/switch/switch.component.d.ts +13 -3
  73. package/lib/components/tag-label/tag-label.component.d.ts +12 -0
  74. package/lib/components/text-area/text-area.component.d.ts +8 -3
  75. package/lib/components/token-check/token-check.component.d.ts +10 -0
  76. package/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.d.ts +6 -0
  77. package/lib/components/wrapper-sidebar/wrapper-sidebar.component.d.ts +11 -0
  78. package/lib/directives/shared-directives.module.d.ts +4 -3
  79. package/lib/pipes/select/filter-options.pipe.d.ts +7 -0
  80. package/lib/pipes/shared-pipes.module.d.ts +6 -5
  81. package/package.json +1 -1
  82. package/public-api.d.ts +19 -1
  83. package/wizishop-angular-components-14.1.3.tgz +0 -0
  84. package/esm2020/lib/components/label/label.component.mjs +0 -34
  85. package/lib/components/label/label.component.d.ts +0 -12
  86. package/wizishop-angular-components-14.1.1.tgz +0 -0
@@ -0,0 +1,61 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/cdk/drag-drop";
6
+ import * as i3 from "../inputs/input/input.component";
7
+ import * as i4 from "../button/button.component";
8
+ export class DraganddropListComponent {
9
+ constructor() {
10
+ this.label = '';
11
+ this.disabled = false;
12
+ this.backgroundColor = '#fff';
13
+ this.showTriggerSave = false;
14
+ this.itemsChange = new EventEmitter();
15
+ }
16
+ drop(event) {
17
+ if (!this.disabled) {
18
+ moveItemInArray(this.items, event.previousIndex, event.currentIndex);
19
+ this.itemsChange.emit(Object.values(this.items));
20
+ }
21
+ }
22
+ delete(index) {
23
+ if (!this.disabled) {
24
+ this.items = this.items.filter((value, i) => i !== index);
25
+ this.itemsChange.emit(Object.values(this.items));
26
+ }
27
+ }
28
+ saveFieldEnd(index, event) {
29
+ this.items[index] = event.target.value;
30
+ this.itemsChange.emit(Object.values(this.items));
31
+ }
32
+ addField() {
33
+ this.showTriggerSave = true;
34
+ }
35
+ saveNewField(event) {
36
+ this.items.push(event.target.value);
37
+ this.itemsChange.emit(Object.values(this.items));
38
+ this.showTriggerSave = false;
39
+ }
40
+ }
41
+ DraganddropListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DraganddropListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ DraganddropListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: DraganddropListComponent, selector: "wac-draganddrop-list", inputs: { label: "label", items: "items", disabled: "disabled", max: "max", labelBtnAdd: "labelBtnAdd", backgroundColor: "backgroundColor" }, outputs: { itemsChange: "itemsChange" }, ngImport: i0, template: "<div class=\"wac-draganddrop-list\" *ngIf=\"!disabled\" [style.backgroundColor]=\"backgroundColor\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\" [cdkDropListLockAxis]=\"'y'\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"wac-draganddrop-list__wrapper__item\" [style.backgroundColor]=\"backgroundColor\" *ngFor=\"let item of items;let i = index;\" cdkDrag>\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span (mousedown)=\"$event.stopPropagation()\" class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [value]=\"item\" [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveFieldEnd(i, $event)\" (focusout)=\"saveFieldEnd(i, $event)\"></wac-input>\n </span>\n </div>\n <div (mousedown)=\"$event.stopPropagation()\">\n <div>\n <wac-button [iconFontSize]=\"14\" [opacity]=\"true\" [icon]=\"'fa-regular fa-trash-can'\" [extraClasses]=\"'is-danger'\" (click)=\"delete(i)\"></wac-button>\n </div>\n <div *ngIf=\"i === (items.length - 1) && max > items.length && !showTriggerSave\">\n <wac-button [extraClasses]=\"'is-info'\" [iconFontSize]=\"18\" [opacity]=\"true\" [icon]=\"'fa-regular fa-plus'\" (click)=\"addField()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-draganddrop-list__wrapper__item wac-draganddrop-list__wrapper__item--trigger\" *ngIf=\"showTriggerSave\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveNewField($event)\" (focusout)=\"saveNewField($event)\"></wac-input>\n </span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"wac-draganddrop-list wac-draganddrop-list--disabled\" *ngIf=\"disabled\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\">\n <div class=\"wac-draganddrop-list__wrapper__item\" *ngFor=\"let item of items;let i = index;\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__label\" [innerHTML]=\"item\"></span>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3.InputComponent, selector: "wac-input", inputs: ["label", "value", "type", "placeholder", "textInfo", "textError", "size", "isNumber", "withoutBlock", "icon", "big", "medium", "boldLabel", "min", "max", "disableMargin", "textPrepend", "textAppend", "progressBar", "extraClasses", "keyPreventDefault", "showTooltip", "textTooltip", "iconTooltip", "urlTooltip", "linkTooltip", "padding", "disabled", "indication", "success", "error", "maxlength", "minlength", "indicationLeft"], outputs: ["keypressEnter", "blurred"] }, { kind: "component", type: i4.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "iconNext", "textcolor", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "coin", "tooltip", "tooltipWidth", "noPadding", "tooltipPosition", "tooltipOneline", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: DraganddropListComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'wac-draganddrop-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wac-draganddrop-list\" *ngIf=\"!disabled\" [style.backgroundColor]=\"backgroundColor\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\" [cdkDropListLockAxis]=\"'y'\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"wac-draganddrop-list__wrapper__item\" [style.backgroundColor]=\"backgroundColor\" *ngFor=\"let item of items;let i = index;\" cdkDrag>\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span (mousedown)=\"$event.stopPropagation()\" class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [value]=\"item\" [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveFieldEnd(i, $event)\" (focusout)=\"saveFieldEnd(i, $event)\"></wac-input>\n </span>\n </div>\n <div (mousedown)=\"$event.stopPropagation()\">\n <div>\n <wac-button [iconFontSize]=\"14\" [opacity]=\"true\" [icon]=\"'fa-regular fa-trash-can'\" [extraClasses]=\"'is-danger'\" (click)=\"delete(i)\"></wac-button>\n </div>\n <div *ngIf=\"i === (items.length - 1) && max > items.length && !showTriggerSave\">\n <wac-button [extraClasses]=\"'is-info'\" [iconFontSize]=\"18\" [opacity]=\"true\" [icon]=\"'fa-regular fa-plus'\" (click)=\"addField()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-draganddrop-list__wrapper__item wac-draganddrop-list__wrapper__item--trigger\" *ngIf=\"showTriggerSave\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__icon\">\n <span></span>\n </span>\n <span class=\"wac-draganddrop-list__wrapper__item__input\">\n <wac-input [extraClasses]=\"'transparent'\" (keyup.enter)=\"saveNewField($event)\" (focusout)=\"saveNewField($event)\"></wac-input>\n </span>\n </div>\n </div>\n </div>\n</div>\n\n<div class=\"wac-draganddrop-list wac-draganddrop-list--disabled\" *ngIf=\"disabled\">\n <div class=\"wac-draganddrop-list__label\" *ngIf=\"label\"><span [innerHTML]=\"label\"></span></div>\n <div class=\"wac-draganddrop-list__wrapper\">\n <div class=\"wac-draganddrop-list__wrapper__item\" *ngFor=\"let item of items;let i = index;\">\n <div>\n <span class=\"wac-draganddrop-list__wrapper__item__label\" [innerHTML]=\"item\"></span>\n </div>\n </div>\n </div>\n</div>\n" }]
46
+ }], propDecorators: { label: [{
47
+ type: Input
48
+ }], items: [{
49
+ type: Input
50
+ }], disabled: [{
51
+ type: Input
52
+ }], max: [{
53
+ type: Input
54
+ }], labelBtnAdd: [{
55
+ type: Input
56
+ }], backgroundColor: [{
57
+ type: Input
58
+ }], itemsChange: [{
59
+ type: Output
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZ2FuZGRyb3AtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RyYWdhbmRkcm9wLWxpc3QvZHJhZ2FuZGRyb3AtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2RyYWdhbmRkcm9wLWxpc3QvZHJhZ2FuZGRyb3AtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBYyxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBT3BFLE1BQU0sT0FBTyx3QkFBd0I7SUFMckM7UUFRRSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBTVgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVNqQixvQkFBZSxHQUFHLE1BQU0sQ0FBQztRQUV6QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUd4QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO0tBK0JqRDtJQTdCQyxJQUFJLENBQUMsS0FBNEI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSztRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFFLENBQUM7WUFDM0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUs7UUFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDOztxSEFwRFUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsbVBDUnJDLDI3RUE0Q0E7MkZEcENhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxzQkFBc0IsbUJBRWYsdUJBQXVCLENBQUMsTUFBTTs4QkFLL0MsS0FBSztzQkFESixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sR0FBRztzQkFERixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJTixlQUFlO3NCQURkLEtBQUs7Z0JBTU4sV0FBVztzQkFEVixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Nka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtZHJhZ2FuZGRyb3AtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcmFnYW5kZHJvcC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRHJhZ2FuZGRyb3BMaXN0Q29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBsYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBBcnJheTxzdHJpbmc+O1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgbWF4OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbGFiZWxCdG5BZGQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBiYWNrZ3JvdW5kQ29sb3IgPSAnI2ZmZic7XG5cbiAgc2hvd1RyaWdnZXJTYXZlID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxzdHJpbmc+PigpO1xuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuaXRlbXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQoT2JqZWN0LnZhbHVlcyh0aGlzLml0ZW1zKSk7XG4gICAgfVxuICB9XG5cbiAgZGVsZXRlKGluZGV4KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKHZhbHVlLCBpKSA9PiBpICE9PSBpbmRleCApO1xuICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KE9iamVjdC52YWx1ZXModGhpcy5pdGVtcykpO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVGaWVsZEVuZChpbmRleCwgZXZlbnQpIHtcbiAgICB0aGlzLml0ZW1zW2luZGV4XSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQoT2JqZWN0LnZhbHVlcyh0aGlzLml0ZW1zKSk7XG4gIH1cblxuICBhZGRGaWVsZCgpIHtcbiAgICB0aGlzLnNob3dUcmlnZ2VyU2F2ZSA9IHRydWU7XG4gIH1cblxuICBzYXZlTmV3RmllbGQoZXZlbnQpIHtcbiAgICB0aGlzLml0ZW1zLnB1c2goZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQoT2JqZWN0LnZhbHVlcyh0aGlzLml0ZW1zKSk7XG4gICAgdGhpcy5zaG93VHJpZ2dlclNhdmUgPSBmYWxzZTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RcIiAqbmdJZj1cIiFkaXNhYmxlZFwiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiYmFja2dyb3VuZENvbG9yXCI+XG4gIDxkaXYgY2xhc3M9XCJ3YWMtZHJhZ2FuZGRyb3AtbGlzdF9fbGFiZWxcIiAqbmdJZj1cImxhYmVsXCI+PHNwYW4gW2lubmVySFRNTF09XCJsYWJlbFwiPjwvc3Bhbj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0X193cmFwcGVyXCIgW2Nka0Ryb3BMaXN0TG9ja0F4aXNdPVwiJ3knXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJfX2l0ZW1cIiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImJhY2tncm91bmRDb2xvclwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zO2xldCBpID0gaW5kZXg7XCIgY2RrRHJhZz5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJfX2l0ZW1fX2ljb25cIj5cbiAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKG1vdXNlZG93bik9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0X193cmFwcGVyX19pdGVtX19pbnB1dFwiPlxuICAgICAgICAgIDx3YWMtaW5wdXQgW3ZhbHVlXT1cIml0ZW1cIiBbZXh0cmFDbGFzc2VzXT1cIid0cmFuc3BhcmVudCdcIiAoa2V5dXAuZW50ZXIpPVwic2F2ZUZpZWxkRW5kKGksICRldmVudClcIiAoZm9jdXNvdXQpPVwic2F2ZUZpZWxkRW5kKGksICRldmVudClcIj48L3dhYy1pbnB1dD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IChtb3VzZWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPHdhYy1idXR0b24gW2ljb25Gb250U2l6ZV09XCIxNFwiIFtvcGFjaXR5XT1cInRydWVcIiBbaWNvbl09XCInZmEtcmVndWxhciBmYS10cmFzaC1jYW4nXCIgW2V4dHJhQ2xhc3Nlc109XCInaXMtZGFuZ2VyJ1wiIChjbGljayk9XCJkZWxldGUoaSlcIj48L3dhYy1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaSA9PT0gKGl0ZW1zLmxlbmd0aCAtIDEpICYmIG1heCA+IGl0ZW1zLmxlbmd0aCAmJiAhc2hvd1RyaWdnZXJTYXZlXCI+XG4gICAgICAgICAgPHdhYy1idXR0b24gW2V4dHJhQ2xhc3Nlc109XCInaXMtaW5mbydcIiBbaWNvbkZvbnRTaXplXT1cIjE4XCIgW29wYWNpdHldPVwidHJ1ZVwiIFtpY29uXT1cIidmYS1yZWd1bGFyIGZhLXBsdXMnXCIgKGNsaWNrKT1cImFkZEZpZWxkKClcIj48L3dhYy1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0X193cmFwcGVyX19pdGVtIHdhYy1kcmFnYW5kZHJvcC1saXN0X193cmFwcGVyX19pdGVtLS10cmlnZ2VyXCIgKm5nSWY9XCJzaG93VHJpZ2dlclNhdmVcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJfX2l0ZW1fX2ljb25cIj5cbiAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3YWMtZHJhZ2FuZGRyb3AtbGlzdF9fd3JhcHBlcl9faXRlbV9faW5wdXRcIj5cbiAgICAgICAgICA8d2FjLWlucHV0IFtleHRyYUNsYXNzZXNdPVwiJ3RyYW5zcGFyZW50J1wiIChrZXl1cC5lbnRlcik9XCJzYXZlTmV3RmllbGQoJGV2ZW50KVwiIChmb2N1c291dCk9XCJzYXZlTmV3RmllbGQoJGV2ZW50KVwiPjwvd2FjLWlucHV0PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0IHdhYy1kcmFnYW5kZHJvcC1saXN0LS1kaXNhYmxlZFwiICpuZ0lmPVwiZGlzYWJsZWRcIj5cbiAgPGRpdiBjbGFzcz1cIndhYy1kcmFnYW5kZHJvcC1saXN0X19sYWJlbFwiICpuZ0lmPVwibGFiZWxcIj48c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsXCI+PC9zcGFuPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2FjLWRyYWdhbmRkcm9wLWxpc3RfX3dyYXBwZXJfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtcztsZXQgaSA9IGluZGV4O1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3YWMtZHJhZ2FuZGRyb3AtbGlzdF9fd3JhcHBlcl9faXRlbV9fbGFiZWxcIiBbaW5uZXJIVE1MXT1cIml0ZW1cIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -199,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
199
199
  type: ViewChild,
200
200
  args: ['input']
201
201
  }] } });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1pbi1wbGFjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2VkaXQtaW4tcGxhY2UvZWRpdC1pbi1wbGFjZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2VkaXQtaW4tcGxhY2UvZWRpdC1pbi1wbGFjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBZ0J6RSxNQUFNLE9BQU8sc0JBQXNCO0lBWm5DO1FBb0JFLFdBQU0sR0FBeUIsRUFBRSxDQUFDO1FBR3hCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUtqRCxlQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUtsQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBS2hCLGFBQVEsR0FBUSxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ25DLGNBQVMsR0FBUSxRQUFRLENBQUMsU0FBUyxDQUFDO0tBMEs1QztJQXhLQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLENBQU07UUFDZCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25C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LEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDOzttSEFwTVUsc0JBQXNCO3VHQUF0QixzQkFBc0IsNktBUnRCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLCtJQzFCSCw0bURBMkNBOzJGRGZhLHNCQUFzQjtrQkFabEMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBRWQsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHdCQUF3Qjs0QkFDbkMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBTUQsSUFBSTtzQkFESCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBR1AsS0FBSztzQkFESixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1lZGl0LWluLXBsYWNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtaW4tcGxhY2UuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBXekVkaXRJblBsYWNlQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgV3pFZGl0SW5QbGFjZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdDaGVja2VkLCBPbkNoYW5nZXMge1xuICAvLyEgUmVmYWN0byBhd2VmdWwgdG8gdXNlXG4gIC8vIHRvZG8gYWRkIGV4ZW1wbGVzIGluIHNob3djYXNlc1xuICBASW5wdXQoKVxuICB0eXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIG53Yk9wdGlvbnM6IG9iamVjdCB8IHN0cmluZ1tdO1xuICBASW5wdXQoKVxuICBjb25maWc6IE53YkVkaXRJblBsYWNlQ29uZmlnID0ge307XG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBjdXN0b21DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gIG9iamVjdEtleXMgPSBPYmplY3Qua2V5cztcbiAgcHVibGljIGN1cnJlbnRWYWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICBwcml2YXRlIHByZVZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgcHVibGljIGlucHV0V2lkdGg6IG51bWJlcjtcbiAgcHVibGljIGVkaXRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBmaXJzdEVkaXQ6IGJvb2xlYW47XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIG9uQ2hhbmdlOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgaWYgKHYgIT09IHRoaXMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHY7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5jb25maWcuY3VycmVuY3kpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLnBhcnNlVmFsdWVUb051bWJlcih2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5zZXBhcmF0b3IgIT09ICcuJykge1xuICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5wYXJzZVZhbHVlVG9TZXBhcmF0b3IodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlICs9IHRoaXMuY29uZmlnLmN1cnJlbmN5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4ge30pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHt9KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFZhbHVlKHY6IHN0cmluZyB8IG51bWJlcikge1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdzZWxlY3QnKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHYpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuY29uZmlnLmN1cnJlbmN5ID09PSAnc3RyaW5nJykge1xuICAgICAgdiA9IHRoaXMucGFyc2VWYWx1ZVRvTnVtYmVyKHYpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh2KTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5zZXBhcmF0b3IgIT09ICcuJykge1xuICAgICAgICB2ID0gdGhpcy5wYXJzZVZhbHVlVG9TZXBhcmF0b3Iodik7XG4gICAgICB9XG4gICAgICB2ID0gdiArIHRoaXMuY29uZmlnLmN1cnJlbmN5O1xuICAgICAgdGhpcy5jdXN0b21DaGFuZ2UuZW1pdCh2KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNoYW5nZSh2KTtcbiAgICB9XG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xuICAgIHRoaXMudmFsdWUgPSB2O1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICh0aGlzLmlucHV0ICYmIHRoaXMuZWRpdGluZykge1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICBpZiAodGhpcy5jb25maWcuc2VsZWN0VGV4dFVwb25DbGljayAmJiB0aGlzLmZpcnN0RWRpdCAmJiB0aGlzLnByZVZhbHVlICYmIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSkge1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIHRoaXMuZmlyc3RFZGl0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgc3RhcnRFZGl0aW5nKCkge1xuICAgIGlmICghdGhpcy5lZGl0aW5nKSB7XG4gICAgICB0aGlzLmVkaXRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmNoZWNrQW5kUmVtb3ZlQ3VycmVuY3kodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgdGhpcy5maXJzdEVkaXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGVkaXQoKSB7XG4gICAgdGhpcy5wcmVWYWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuICAgIHRoaXMuZWRpdGluZyA9IHRydWU7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICB0aGlzLmVkaXRpbmcgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5jdXJyZW50VmFsdWUgIT09IHRoaXMucHJlVmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcuaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY29uZmlnLmhhbmRsZXIodGhpcy5jdXJyZW50VmFsdWUsIHRoaXMuY29uZmlnLmRhdGEpLnN1YnNjcmliZShcbiAgICAgICAgICBkYXRhID0+IHtcbiAgICAgICAgICAgIGxldCBoYXNDaGFuZ2VkOiBib29sZWFuO1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZGF0YSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gZGF0YS52YWx1ZTtcbiAgICAgICAgICAgICAgaGFzQ2hhbmdlZCA9IGRhdGEuc3VjY2VzcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGhhc0NoYW5nZWQgPSBkYXRhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhhc0NoYW5nZWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2V0VmFsdWUodGhpcy5wcmVWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fc2V0VmFsdWUodGhpcy5wcmVWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLmN1cnJlbmN5ID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlICsgdGhpcy5jb25maWcuY3VycmVuY3k7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hlY2tBbmRSZW1vdmVDdXJyZW5jeSh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcuY3VycmVuY3kgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdmFsdWUuc2xpY2UoMCwgLTEpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHBhcnNlVmFsdWVUb051bWJlcih2YWx1ZSkge1xuICAgIGlmICghaXNOYU4odmFsdWUpICYmIHZhbHVlICE9PSAnJykge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLmN1cnJlbmN5ID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgaW5kZXhDb21tYSA9IHZhbHVlLmluZGV4T2YoJywnKTtcbiAgICAgIGNvbnN0IGluZGV4RG90ID0gdmFsdWUuaW5kZXhPZignLicpO1xuICAgICAgaWYgKGluZGV4Q29tbWEgPiAwICYmIGluZGV4RG90ID09PSAtMSkge1xuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IHZhbHVlLnJlcGxhY2UoJywnLCAnLicpO1xuICAgICAgICBpZiAoIWlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBwYXJzZUZsb2F0KHBhcnNlZFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGluZGV4RG90ID4gMCAmJiBpbmRleENvbW1hID09PSAtMSkge1xuICAgICAgICBpZiAoIWlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VWYWx1ZVRvU2VwYXJhdG9yKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZy5zZXBhcmF0b3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpLnRvRml4ZWQoMik7XG4gICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgnLicsIHRoaXMuY29uZmlnLnNlcGFyYXRvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuY2hlY2tBbmRSZW1vdmVDdXJyZW5jeSh0aGlzLmN1cnJlbnRWYWx1ZSkgKyB0aGlzLmNvbmZpZy5jdXJyZW5jeTtcbiAgICAgIHRoaXMuY3VzdG9tQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0T3B0aW9uKGV2ZW50KSB7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBldmVudC50YXJnZXQuaW5uZXJUZXh0O1xuICAgIHRoaXMuY2xvc2VTZWxlY3QoZXZlbnQpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY3VzdG9tQ2hhbmdlLmVtaXQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIGNsb3NlU2VsZWN0KGV2ZW50KSB7XG4gICAgdGhpcy5lZGl0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE53YkVkaXRJblBsYWNlQ29uZmlnIHtcbiAgLyoqIFdoZXRoZXIgdG8gc2VsZWN0IHRoZSB3aG9sZSB0ZXh0IGluc2lkZSB0aGUgaW5wdXQgdXBvbiBjbGljayAqL1xuICBzZWxlY3RUZXh0VXBvbkNsaWNrPzogYm9vbGVhbjtcblxuICAvKiogRGF0YSB0byBwYXNzIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgZm9yIHRoZSBoYW5kbGVyIG1ldGhvZCBpZiBhbnkgKiovXG4gIGRhdGE/OiBhbnk7XG5cbiAgY3VycmVuY3k/OiBzdHJpbmc7XG5cbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBoYW5kbGVyIG1ldGhvZCB0byBjYWxsIG9uIGNoYW5nZS5cbiAgICogVGhpcyBhbGxvd3MgeW91IHRvIHBlcmZvcm0gYW55IGFjdGlvbiBiZWZvcmUgc2V0dGluZyBuZXcgdmFsdWUgdG8gdGhlIG1vZGVsXG4gICAqIEl0IGhhcyB0byByZXR1cm4gYSBib29sZWFuIG9ic2VydmFibGUuIElmIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyB0cnVlIHRoZW4gdGhlIG1vZGVsIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaGFuZGxlcj86ICh2YWx1ZTogYW55LCBkYXRhOiBhbnkpID0+IE9ic2VydmFibGU8Ym9vbGVhbiB8IFJldHVybmVkRGF0YT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV0dXJuZWREYXRhIHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgdmFsdWU6IGFueTtcbn1cbiIsIjxkaXYgW2NsYXNzLm53Yi13cmFwcGVyLS1lZGl0YWJsZV09XCJ0eXBlID09PSAnc2VsZWN0JyB8fCAoIWVkaXRpbmcgJiYgIWlzTG9hZGluZylcIiBjbGFzcz1cIndhYy1lZGl0LWluLXBsYWNlIG53Yi13cmFwcGVyXCIgKGNsaWNrKT1cInN0YXJ0RWRpdGluZygpXCI+XG4gIDxzcGFuXG4gICAgZGF0YS10ZXh0PVwiZGRcIlxuICAgIFtjbGFzcy5ud2ItaXMtbG9hZGluZ109XCJ0eXBlID09PSAnc2VsZWN0JyA/ICcnIDogaXNMb2FkaW5nXCJcbiAgICBbY2xhc3MubndiLWVkaXRpbmddPVwidHlwZSA9PT0gJ3NlbGVjdCcgPyAnJyA6IGVkaXRpbmdcIlxuICAgIFtuZ0NsYXNzXT1cInR5cGUgPT09ICdzZWxlY3QnID8gJ253YlNlbGVjdCcgOiAnJ1wiXG4gID5cbiAgICB7eyBjdXJyZW50VmFsdWUgfX1cbiAgPC9zcGFuPlxuXG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgICpuZ0lmPVwidHlwZSAhPT0gJ3NlbGVjdCcgJiYgZWRpdGluZ1wiXG4gICAgW2NsYXNzLm53Yi1lZGl0YWJsZV09XCIhZWRpdGluZ1wiXG4gICAgW2NsYXNzLm53Yi1lZGl0aW5nXT1cImVkaXRpbmdcIlxuICAgIFtjbGFzcy5ud2ItaXMtbG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAoZm9jdXMpPVwiZWRpdCgpXCJcbiAgICAoYmx1cik9XCJvblN1Ym1pdCgpXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwib25TdWJtaXQoKVwiXG4gICAgW25nU3R5bGVdPVwieyAnd2lkdGgucHgnOiBpbnB1dFdpZHRoIH1cIlxuICAvPlxuICA8ZGl2IGNsYXNzPVwibndiU2VsZWN0X19jb250YWluZXJcIiAqbmdJZj1cInR5cGUgPT09ICdzZWxlY3QnICYmIGVkaXRpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwibndiU2VsZWN0X19iYWNrZ3JvdW5kXCIgKGNsaWNrKT1cImNsb3NlU2VsZWN0KCRldmVudClcIj48L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBud2JPcHRpb24gb2Ygb2JqZWN0S2V5cyhud2JPcHRpb25zKVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIm53Yk9wdGlvbnNbbndiT3B0aW9uXVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgIG53Yk9wdGlvbnNbbndiT3B0aW9uXS5sYWJlbCA9PT0gY3VycmVudFZhbHVlXG4gICAgICAgICAgICA/ICdud2JTZWxlY3RfX2NvbnRhaW5lcl9faXRlbSBud2JTZWxlY3RfX2NvbnRhaW5lcl9faXRlbS0tc2VsZWN0ZWQnXG4gICAgICAgICAgICA6ICdud2JTZWxlY3RfX2NvbnRhaW5lcl9faXRlbSdcbiAgICAgICAgXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgW3ZhbHVlXT1cIm53Yk9wdGlvbnNbbndiT3B0aW9uXS52YWx1ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IG53Yk9wdGlvbnNbbndiT3B0aW9uXS5sYWJlbCA/IG53Yk9wdGlvbnNbbndiT3B0aW9uXS5sYWJlbCA6IG53Yk9wdGlvbnNbbndiT3B0aW9uXS52YWx1ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxzcGFuIGNsYXNzPVwibndiLWxvYWRlclwiIFtjbGFzcy5ud2ItaXMtbG9hZGluZ109XCJ0eXBlID09PSAnc2VsZWN0JyA/ICcnIDogaXNMb2FkaW5nXCI+PC9zcGFuPlxuPC9kaXY+XG4iXX0=
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1pbi1wbGFjZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2VkaXQtaW4tcGxhY2UvZWRpdC1pbi1wbGFjZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2VkaXQtaW4tcGxhY2UvZWRpdC1pbi1wbGFjZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBZ0J6RSxNQUFNLE9BQU8sc0JBQXNCO0lBWm5DO1FBcUJFLFdBQU0sR0FBeUIsRUFBRSxDQUFDO1FBR3hCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUtqRCxlQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUtsQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBS2hCLGFBQVEsR0FBUSxRQUFRLENBQUMsU0FBUyxDQUFDO1FBQ25DLGNBQVMsR0FBUSxRQUFRLENBQUMsU0FBUyxDQUFDO0tBMEs1QztJQXhLQyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLENBQU07UUFDZCxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25C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LEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDOzttSEFyTVUsc0JBQXNCO3VHQUF0QixzQkFBc0IsNktBUnRCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLCtJQzFCSCw0bURBMkNBOzJGRGZhLHNCQUFzQjtrQkFabEMsU0FBUzsrQkFDRSxtQkFBbUIsaUJBRWQsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHdCQUF3Qjs0QkFDbkMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OEJBT0QsSUFBSTtzQkFESCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBR1AsS0FBSztzQkFESixTQUFTO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1lZGl0LWluLXBsYWNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtaW4tcGxhY2UuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBXekVkaXRJblBsYWNlQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgV3pFZGl0SW5QbGFjZUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdDaGVja2VkLCBPbkNoYW5nZXMge1xuICAvLyEgUmVmYWN0byBhd2VmdWwgdG8gdXNlXG4gIC8vIHRvZG8gYWRkIGV4ZW1wbGVzIGluIHNob3djYXNlc1xuICAvLyAhIE5vdCB3b3JraW5nIGNvcnJlY3RseSB3aXRoIG5nTW9kZWwgYW5kIChuZ01vZGVsQ2hhbmdlKVxuICBASW5wdXQoKVxuICB0eXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIG53Yk9wdGlvbnM6IG9iamVjdCB8IHN0cmluZ1tdO1xuICBASW5wdXQoKVxuICBjb25maWc6IE53YkVkaXRJblBsYWNlQ29uZmlnID0ge307XG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBjdXN0b21DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gIGlucHV0OiBFbGVtZW50UmVmO1xuXG4gIG9iamVjdEtleXMgPSBPYmplY3Qua2V5cztcbiAgcHVibGljIGN1cnJlbnRWYWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICBwcml2YXRlIHByZVZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgcHVibGljIGlucHV0V2lkdGg6IG51bWJlcjtcbiAgcHVibGljIGVkaXRpbmcgPSBmYWxzZTtcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBmaXJzdEVkaXQ6IGJvb2xlYW47XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIG9uQ2hhbmdlOiBhbnkgPSBGdW5jdGlvbi5wcm90b3R5cGU7XG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9IEZ1bmN0aW9uLnByb3RvdHlwZTtcblxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgaWYgKHYgIT09IHRoaXMuY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHY7XG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBpZiAodGhpcy5jb25maWcuY3VycmVuY3kpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLnBhcnNlVmFsdWVUb051bWJlcih2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5zZXBhcmF0b3IgIT09ICcuJykge1xuICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gdGhpcy5wYXJzZVZhbHVlVG9TZXBhcmF0b3IodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY3VycmVudFZhbHVlICs9IHRoaXMuY29uZmlnLmN1cnJlbmN5O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4ge30pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHt9KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHByaXZhdGUgX3NldFZhbHVlKHY6IHN0cmluZyB8IG51bWJlcikge1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdzZWxlY3QnKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHYpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuY29uZmlnLmN1cnJlbmN5ID09PSAnc3RyaW5nJykge1xuICAgICAgdiA9IHRoaXMucGFyc2VWYWx1ZVRvTnVtYmVyKHYpO1xuICAgICAgdGhpcy5vbkNoYW5nZSh2KTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5zZXBhcmF0b3IgIT09ICcuJykge1xuICAgICAgICB2ID0gdGhpcy5wYXJzZVZhbHVlVG9TZXBhcmF0b3Iodik7XG4gICAgICB9XG4gICAgICB2ID0gdiArIHRoaXMuY29uZmlnLmN1cnJlbmN5O1xuICAgICAgdGhpcy5jdXN0b21DaGFuZ2UuZW1pdCh2KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNoYW5nZSh2KTtcbiAgICB9XG4gICAgdGhpcy53cml0ZVZhbHVlKHYpO1xuICAgIHRoaXMudmFsdWUgPSB2O1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIGlmICh0aGlzLmlucHV0ICYmIHRoaXMuZWRpdGluZykge1xuICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICBpZiAodGhpcy5jb25maWcuc2VsZWN0VGV4dFVwb25DbGljayAmJiB0aGlzLmZpcnN0RWRpdCAmJiB0aGlzLnByZVZhbHVlICYmIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSkge1xuICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XG4gICAgICAgIHRoaXMuZmlyc3RFZGl0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgc3RhcnRFZGl0aW5nKCkge1xuICAgIGlmICghdGhpcy5lZGl0aW5nKSB7XG4gICAgICB0aGlzLmVkaXRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jdXJyZW50VmFsdWUgPSB0aGlzLmNoZWNrQW5kUmVtb3ZlQ3VycmVuY3kodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgdGhpcy5maXJzdEVkaXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGVkaXQoKSB7XG4gICAgdGhpcy5wcmVWYWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlO1xuICAgIHRoaXMuZWRpdGluZyA9IHRydWU7XG4gIH1cblxuICBvblN1Ym1pdCgpIHtcbiAgICB0aGlzLmVkaXRpbmcgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5jdXJyZW50VmFsdWUgIT09IHRoaXMucHJlVmFsdWUpIHtcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcuaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY29uZmlnLmhhbmRsZXIodGhpcy5jdXJyZW50VmFsdWUsIHRoaXMuY29uZmlnLmRhdGEpLnN1YnNjcmliZShcbiAgICAgICAgICBkYXRhID0+IHtcbiAgICAgICAgICAgIGxldCBoYXNDaGFuZ2VkOiBib29sZWFuO1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZGF0YSAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gZGF0YS52YWx1ZTtcbiAgICAgICAgICAgICAgaGFzQ2hhbmdlZCA9IGRhdGEuc3VjY2VzcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGhhc0NoYW5nZWQgPSBkYXRhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhhc0NoYW5nZWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdGhpcy5fc2V0VmFsdWUodGhpcy5wcmVWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5fc2V0VmFsdWUodGhpcy5wcmVWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2V0VmFsdWUodGhpcy5jdXJyZW50VmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLmN1cnJlbmN5ID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuY3VycmVudFZhbHVlICsgdGhpcy5jb25maWcuY3VycmVuY3k7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY2hlY2tBbmRSZW1vdmVDdXJyZW5jeSh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcuY3VycmVuY3kgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdmFsdWUuc2xpY2UoMCwgLTEpO1xuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHBhcnNlVmFsdWVUb051bWJlcih2YWx1ZSkge1xuICAgIGlmICghaXNOYU4odmFsdWUpICYmIHZhbHVlICE9PSAnJykge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnLmN1cnJlbmN5ID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgaW5kZXhDb21tYSA9IHZhbHVlLmluZGV4T2YoJywnKTtcbiAgICAgIGNvbnN0IGluZGV4RG90ID0gdmFsdWUuaW5kZXhPZignLicpO1xuICAgICAgaWYgKGluZGV4Q29tbWEgPiAwICYmIGluZGV4RG90ID09PSAtMSkge1xuICAgICAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IHZhbHVlLnJlcGxhY2UoJywnLCAnLicpO1xuICAgICAgICBpZiAoIWlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBwYXJzZUZsb2F0KHBhcnNlZFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGluZGV4RG90ID4gMCAmJiBpbmRleENvbW1hID09PSAtMSkge1xuICAgICAgICBpZiAoIWlzTmFOKHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VWYWx1ZVRvU2VwYXJhdG9yKHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZy5zZXBhcmF0b3IgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpLnRvRml4ZWQoMik7XG4gICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgnLicsIHRoaXMuY29uZmlnLnNlcGFyYXRvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRWYWx1ZSA9IHRoaXMuY2hlY2tBbmRSZW1vdmVDdXJyZW5jeSh0aGlzLmN1cnJlbnRWYWx1ZSkgKyB0aGlzLmNvbmZpZy5jdXJyZW5jeTtcbiAgICAgIHRoaXMuY3VzdG9tQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0T3B0aW9uKGV2ZW50KSB7XG4gICAgdGhpcy5jdXJyZW50VmFsdWUgPSBldmVudC50YXJnZXQuaW5uZXJUZXh0O1xuICAgIHRoaXMuY2xvc2VTZWxlY3QoZXZlbnQpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuY3VzdG9tQ2hhbmdlLmVtaXQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIGNsb3NlU2VsZWN0KGV2ZW50KSB7XG4gICAgdGhpcy5lZGl0aW5nID0gZmFsc2U7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE53YkVkaXRJblBsYWNlQ29uZmlnIHtcbiAgLyoqIFdoZXRoZXIgdG8gc2VsZWN0IHRoZSB3aG9sZSB0ZXh0IGluc2lkZSB0aGUgaW5wdXQgdXBvbiBjbGljayAqL1xuICBzZWxlY3RUZXh0VXBvbkNsaWNrPzogYm9vbGVhbjtcblxuICAvKiogRGF0YSB0byBwYXNzIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgZm9yIHRoZSBoYW5kbGVyIG1ldGhvZCBpZiBhbnkgKiovXG4gIGRhdGE/OiBhbnk7XG5cbiAgY3VycmVuY3k/OiBzdHJpbmc7XG5cbiAgc2VwYXJhdG9yPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBoYW5kbGVyIG1ldGhvZCB0byBjYWxsIG9uIGNoYW5nZS5cbiAgICogVGhpcyBhbGxvd3MgeW91IHRvIHBlcmZvcm0gYW55IGFjdGlvbiBiZWZvcmUgc2V0dGluZyBuZXcgdmFsdWUgdG8gdGhlIG1vZGVsXG4gICAqIEl0IGhhcyB0byByZXR1cm4gYSBib29sZWFuIG9ic2VydmFibGUuIElmIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyB0cnVlIHRoZW4gdGhlIG1vZGVsIHdpbGwgY2hhbmdlLlxuICAgKi9cbiAgaGFuZGxlcj86ICh2YWx1ZTogYW55LCBkYXRhOiBhbnkpID0+IE9ic2VydmFibGU8Ym9vbGVhbiB8IFJldHVybmVkRGF0YT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV0dXJuZWREYXRhIHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgdmFsdWU6IGFueTtcbn1cbiIsIjxkaXYgW2NsYXNzLm53Yi13cmFwcGVyLS1lZGl0YWJsZV09XCJ0eXBlID09PSAnc2VsZWN0JyB8fCAoIWVkaXRpbmcgJiYgIWlzTG9hZGluZylcIiBjbGFzcz1cIndhYy1lZGl0LWluLXBsYWNlIG53Yi13cmFwcGVyXCIgKGNsaWNrKT1cInN0YXJ0RWRpdGluZygpXCI+XG4gIDxzcGFuXG4gICAgZGF0YS10ZXh0PVwiZGRcIlxuICAgIFtjbGFzcy5ud2ItaXMtbG9hZGluZ109XCJ0eXBlID09PSAnc2VsZWN0JyA/ICcnIDogaXNMb2FkaW5nXCJcbiAgICBbY2xhc3MubndiLWVkaXRpbmddPVwidHlwZSA9PT0gJ3NlbGVjdCcgPyAnJyA6IGVkaXRpbmdcIlxuICAgIFtuZ0NsYXNzXT1cInR5cGUgPT09ICdzZWxlY3QnID8gJ253YlNlbGVjdCcgOiAnJ1wiXG4gID5cbiAgICB7eyBjdXJyZW50VmFsdWUgfX1cbiAgPC9zcGFuPlxuXG4gIDxpbnB1dFxuICAgICNpbnB1dFxuICAgICpuZ0lmPVwidHlwZSAhPT0gJ3NlbGVjdCcgJiYgZWRpdGluZ1wiXG4gICAgW2NsYXNzLm53Yi1lZGl0YWJsZV09XCIhZWRpdGluZ1wiXG4gICAgW2NsYXNzLm53Yi1lZGl0aW5nXT1cImVkaXRpbmdcIlxuICAgIFtjbGFzcy5ud2ItaXMtbG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAoZm9jdXMpPVwiZWRpdCgpXCJcbiAgICAoYmx1cik9XCJvblN1Ym1pdCgpXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwib25TdWJtaXQoKVwiXG4gICAgW25nU3R5bGVdPVwieyAnd2lkdGgucHgnOiBpbnB1dFdpZHRoIH1cIlxuICAvPlxuICA8ZGl2IGNsYXNzPVwibndiU2VsZWN0X19jb250YWluZXJcIiAqbmdJZj1cInR5cGUgPT09ICdzZWxlY3QnICYmIGVkaXRpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwibndiU2VsZWN0X19iYWNrZ3JvdW5kXCIgKGNsaWNrKT1cImNsb3NlU2VsZWN0KCRldmVudClcIj48L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBud2JPcHRpb24gb2Ygb2JqZWN0S2V5cyhud2JPcHRpb25zKVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cIm53Yk9wdGlvbnNbbndiT3B0aW9uXVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgIG53Yk9wdGlvbnNbbndiT3B0aW9uXS5sYWJlbCA9PT0gY3VycmVudFZhbHVlXG4gICAgICAgICAgICA/ICdud2JTZWxlY3RfX2NvbnRhaW5lcl9faXRlbSBud2JTZWxlY3RfX2NvbnRhaW5lcl9faXRlbS0tc2VsZWN0ZWQnXG4gICAgICAgICAgICA6ICdud2JTZWxlY3RfX2NvbnRhaW5lcl9faXRlbSdcbiAgICAgICAgXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdGlvbigkZXZlbnQpXCJcbiAgICAgICAgW3ZhbHVlXT1cIm53Yk9wdGlvbnNbbndiT3B0aW9uXS52YWx1ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IG53Yk9wdGlvbnNbbndiT3B0aW9uXS5sYWJlbCA/IG53Yk9wdGlvbnNbbndiT3B0aW9uXS5sYWJlbCA6IG53Yk9wdGlvbnNbbndiT3B0aW9uXS52YWx1ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxzcGFuIGNsYXNzPVwibndiLWxvYWRlclwiIFtjbGFzcy5ud2ItaXMtbG9hZGluZ109XCJ0eXBlID09PSAnc2VsZWN0JyA/ICcnIDogaXNMb2FkaW5nXCI+PC9zcGFuPlxuPC9kaXY+XG4iXX0=
@@ -39,7 +39,7 @@ export class FreePopinComponent {
39
39
  }
40
40
  }
41
41
  FreePopinComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: FreePopinComponent, deps: [{ token: i1.DomService }], target: i0.ɵɵFactoryTarget.Component });
42
- FreePopinComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: FreePopinComponent, selector: "wac-free-popin", inputs: { okButtonLabel: "okButtonLabel", koButtonLabel: "koButtonLabel", visible: "visible", disableCloseOutside: "disableCloseOutside", background: "background", zIndex: "zIndex" }, outputs: { visibleChange: "visibleChange", response: "response" }, ngImport: i0, template: "<div class=\"wac-free-popin\" *ngIf=\"visible\" [ngStyle]=\"{'z-index': zIndex}\">\n <div class=\"wac-free-popin__wrapper\" wzAutoHide (clickOutside)=\"!disableCloseOutside ? closePopin() : ''\">\n <a class=\"wac-free-popin__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free-popin__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content></ng-content>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons\">\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free-popin__background\" *ngIf=\"background\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "component", type: i4.PerfectScrollbarComponent, selector: "perfect-scrollbar", inputs: ["disabled", "usePSClass", "autoPropagation", "scrollIndicators", "config"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }, { kind: "component", type: i5.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "iconNext", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }] });
42
+ FreePopinComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: FreePopinComponent, selector: "wac-free-popin", inputs: { okButtonLabel: "okButtonLabel", koButtonLabel: "koButtonLabel", visible: "visible", disableCloseOutside: "disableCloseOutside", background: "background", zIndex: "zIndex" }, outputs: { visibleChange: "visibleChange", response: "response" }, ngImport: i0, template: "<div class=\"wac-free-popin\" *ngIf=\"visible\" [ngStyle]=\"{'z-index': zIndex}\">\n <div class=\"wac-free-popin__wrapper\" wzAutoHide (clickOutside)=\"!disableCloseOutside ? closePopin() : ''\">\n <a class=\"wac-free-popin__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free-popin__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content></ng-content>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons\">\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free-popin__background\" *ngIf=\"background\"></div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "component", type: i4.PerfectScrollbarComponent, selector: "perfect-scrollbar", inputs: ["disabled", "usePSClass", "autoPropagation", "scrollIndicators", "config"], outputs: ["psScrollY", "psScrollX", "psScrollUp", "psScrollDown", "psScrollLeft", "psScrollRight", "psYReachEnd", "psYReachStart", "psXReachEnd", "psXReachStart"], exportAs: ["ngxPerfectScrollbar"] }, { kind: "component", type: i5.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "iconNext", "textcolor", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "coin", "tooltip", "tooltipWidth", "noPadding", "tooltipPosition", "tooltipOneline", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }] });
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: FreePopinComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'wac-free-popin', template: "<div class=\"wac-free-popin\" *ngIf=\"visible\" [ngStyle]=\"{'z-index': zIndex}\">\n <div class=\"wac-free-popin__wrapper\" wzAutoHide (clickOutside)=\"!disableCloseOutside ? closePopin() : ''\">\n <a class=\"wac-free-popin__wrapper__button-close\" (click)=\"closePopin()\">\n <i class=\"fas fa-times\"></i>\n </a>\n <div class=\"wac-free-popin__wrapper__content\">\n <perfect-scrollbar [config]=\"{ suppressScrollX: true }\">\n <ng-content></ng-content>\n </perfect-scrollbar>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons\">\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\n </div>\n <div class=\"wac-free-popin__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\n </div>\n </div>\n </div>\n <div class=\"wac-free-popin__background\" *ngIf=\"background\"></div>\n</div>\n" }]
@@ -6,19 +6,21 @@ import * as i3 from "../hn/h1/h1.component";
6
6
  export class HeaderPageComponent {
7
7
  constructor() {
8
8
  this.withImg = false;
9
+ this.center = false;
9
10
  }
10
- ngOnInit() { }
11
11
  }
12
12
  HeaderPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- HeaderPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: HeaderPageComponent, selector: "wac-header-page", inputs: { title: "title", linkBack: "linkBack", withImg: "withImg" }, ngImport: i0, template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\">\n <div class=\"wac-header-page__maxWidth__top__left\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <a *ngIf=\"linkBack\" [routerLink]=\"linkBack\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "component", type: i3.H1Component, selector: "wac-h1", inputs: ["withImg"] }] });
13
+ HeaderPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: HeaderPageComponent, selector: "wac-header-page", inputs: { title: "title", linkBack: "linkBack", withImg: "withImg", center: "center" }, ngImport: i0, template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" [routerLink]=\"linkBack\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "component", type: i3.H1Component, selector: "wac-h1", inputs: ["annotation", "withImg", "center"] }] });
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: HeaderPageComponent, decorators: [{
15
15
  type: Component,
16
- args: [{ selector: 'wac-header-page', template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\">\n <div class=\"wac-header-page__maxWidth__top__left\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <a *ngIf=\"linkBack\" [routerLink]=\"linkBack\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
16
+ args: [{ selector: 'wac-header-page', template: "<div class=\"wac-header-page\">\n <div class=\"wac-header-page__maxWidth\">\n <div class=\"wac-header-page__maxWidth__top\" [ngClass]=\"{'center':center}\">\n <div class=\"wac-header-page__maxWidth__top__left\" [ngClass]=\"{'fullsize':center}\">\n <!-- TODO Hard to use when only want a button and not a router link -->\n <div class=\"wac-header-page__maxWidth__top__left__nowrap\">\n <a *ngIf=\"linkBack\" [routerLink]=\"linkBack\"><i class=\"fas fa-chevron-left\"></i></a>\n <wac-h1 [center]=\"center\" [withImg]=\"withImg\">{{ title }}<ng-content select=\"[role=header]\"></ng-content></wac-h1>\n </div>\n <p class=\"subtitle\"><ng-content select=\"[role=subtitle]\"></ng-content></p>\n </div>\n <div class=\"wac-header-page__maxWidth__top__right\" *ngIf=\"!center\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n" }]
17
17
  }], ctorParameters: function () { return []; }, propDecorators: { title: [{
18
18
  type: Input
19
19
  }], linkBack: [{
20
20
  type: Input
21
21
  }], withImg: [{
22
22
  type: Input
23
+ }], center: [{
24
+ type: Input
23
25
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXItcGFnZS9oZWFkZXItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci1wYWdlL2hlYWRlci1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQUt6RCxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCO1FBREEsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUNELENBQUM7SUFDaEIsUUFBUSxLQUFVLENBQUM7O2dIQVJSLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDZIQ0xoQyw0bkJBY0E7MkZEVGEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGlCQUFpQjswRUFLM0IsS0FBSztzQkFESixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1oZWFkZXItcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXItcGFnZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGxpbmtCYWNrOiBzdHJpbmdbXTtcbiAgQElucHV0KClcbiAgd2l0aEltZyA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcigpIHt9XG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3YWMtaGVhZGVyLXBhZ2VcIj5cbiAgPGRpdiBjbGFzcz1cIndhYy1oZWFkZXItcGFnZV9fbWF4V2lkdGhcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wX19sZWZ0XCI+XG4gICAgICAgIDwhLS0gVE9ETyBIYXJkIHRvIHVzZSB3aGVuIG9ubHkgd2FudCBhIGJ1dHRvbiBhbmQgbm90IGEgcm91dGVyIGxpbmsgLS0+XG4gICAgICAgIDxhICpuZ0lmPVwibGlua0JhY2tcIiBbcm91dGVyTGlua109XCJsaW5rQmFja1wiPjxpIGNsYXNzPVwiZmFzIGZhLWNoZXZyb24tbGVmdFwiPjwvaT48L2E+XG4gICAgICAgIDx3YWMtaDEgW3dpdGhJbWddPVwid2l0aEltZ1wiPnt7IHRpdGxlIH19PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3JvbGU9aGVhZGVyXVwiPjwvbmctY29udGVudD48L3dhYy1oMT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIndhYy1oZWFkZXItcGFnZV9fbWF4V2lkdGhfX3RvcF9fcmlnaHRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXItcGFnZS9oZWFkZXItcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci1wYWdlL2hlYWRlci1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUtqRCxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCO1FBSEEsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUVoQixXQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ0EsQ0FBQzs7Z0hBVEwsbUJBQW1CO29HQUFuQixtQkFBbUIsK0lDTGhDLHM1QkFpQkE7MkZEWmEsbUJBQW1CO2tCQUovQixTQUFTOytCQUNFLGlCQUFpQjswRUFLM0IsS0FBSztzQkFESixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWhlYWRlci1wYWdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci1wYWdlLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJQYWdlQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgbGlua0JhY2s6IHN0cmluZ1tdO1xuICBASW5wdXQoKVxuICB3aXRoSW1nID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGNlbnRlciA9IGZhbHNlO1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlXCI+XG4gIDxkaXYgY2xhc3M9XCJ3YWMtaGVhZGVyLXBhZ2VfX21heFdpZHRoXCI+XG4gICAgPGRpdiBjbGFzcz1cIndhYy1oZWFkZXItcGFnZV9fbWF4V2lkdGhfX3RvcFwiIFtuZ0NsYXNzXT1cInsnY2VudGVyJzpjZW50ZXJ9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wX19sZWZ0XCIgW25nQ2xhc3NdPVwieydmdWxsc2l6ZSc6Y2VudGVyfVwiPlxuICAgICAgICA8IS0tIFRPRE8gSGFyZCB0byB1c2Ugd2hlbiBvbmx5IHdhbnQgYSBidXR0b24gYW5kIG5vdCBhIHJvdXRlciBsaW5rIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2FjLWhlYWRlci1wYWdlX19tYXhXaWR0aF9fdG9wX19sZWZ0X19ub3dyYXBcIj5cbiAgICAgICAgICA8YSAqbmdJZj1cImxpbmtCYWNrXCIgW3JvdXRlckxpbmtdPVwibGlua0JhY2tcIj48aSBjbGFzcz1cImZhcyBmYS1jaGV2cm9uLWxlZnRcIj48L2k+PC9hPlxuICAgICAgICAgIDx3YWMtaDEgW2NlbnRlcl09XCJjZW50ZXJcIiBbd2l0aEltZ109XCJ3aXRoSW1nXCI+e3sgdGl0bGUgfX08bmctY29udGVudCBzZWxlY3Q9XCJbcm9sZT1oZWFkZXJdXCI+PC9uZy1jb250ZW50Pjwvd2FjLWgxPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHAgY2xhc3M9XCJzdWJ0aXRsZVwiPjxuZy1jb250ZW50IHNlbGVjdD1cIltyb2xlPXN1YnRpdGxlXVwiPjwvbmctY29udGVudD48L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3YWMtaGVhZGVyLXBhZ2VfX21heFdpZHRoX190b3BfX3JpZ2h0XCIgKm5nSWY9XCIhY2VudGVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -3,16 +3,21 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  export class H1Component {
5
5
  constructor() {
6
+ this.annotation = '';
6
7
  this.withImg = false;
8
+ this.center = false;
7
9
  }
8
- ngOnInit() { }
9
10
  }
10
11
  H1Component.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: H1Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- H1Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: H1Component, selector: "wac-h1", inputs: { withImg: "withImg" }, ngImport: i0, template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg}\"><ng-content></ng-content></h1>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
12
+ H1Component.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: H1Component, selector: "wac-h1", inputs: { annotation: "annotation", withImg: "withImg", center: "center" }, ngImport: i0, template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
12
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: H1Component, decorators: [{
13
14
  type: Component,
14
- args: [{ selector: 'wac-h1', template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg}\"><ng-content></ng-content></h1>\n" }]
15
- }], ctorParameters: function () { return []; }, propDecorators: { withImg: [{
15
+ args: [{ selector: 'wac-h1', template: "<h1 class=\"wac-h1\" [ngClass]=\"{'with-img': withImg, 'center': center}\"><ng-content></ng-content><small *ngIf=\"annotation !== ''\">{{ annotation }}</small></h1>\n" }]
16
+ }], ctorParameters: function () { return []; }, propDecorators: { annotation: [{
17
+ type: Input
18
+ }], withImg: [{
19
+ type: Input
20
+ }], center: [{
16
21
  type: Input
17
22
  }] } });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaDEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9obi9oMS9oMS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2huL2gxL2gxLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLFdBQVc7SUFHdEI7UUFEQSxZQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ0QsQ0FBQztJQUVoQixRQUFRLEtBQVUsQ0FBQzs7d0dBTFIsV0FBVzs0RkFBWCxXQUFXLDhFQ054QiwyRkFDQTsyRkRLYSxXQUFXO2tCQUp2QixTQUFTOytCQUNFLFFBQVE7MEVBS2xCLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWgxJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2gxLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIMUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIHdpdGhJbWcgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjxoMSBjbGFzcz1cIndhYy1oMVwiIFtuZ0NsYXNzXT1cInsnd2l0aC1pbWcnOiB3aXRoSW1nfVwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2gxPlxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaDEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9obi9oMS9oMS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2huL2gxL2gxLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLFdBQVc7SUFPdEI7UUFMQSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFaEIsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUNBLENBQUM7O3dHQVBMLFdBQVc7NEZBQVgsV0FBVywwSENOeEIsd0tBQ0E7MkZES2EsV0FBVztrQkFKdkIsU0FBUzsrQkFDRSxRQUFROzBFQUtsQixVQUFVO3NCQURULEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWgxJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2gxLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIMUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGFubm90YXRpb24gPSAnJztcbiAgQElucHV0KClcbiAgd2l0aEltZyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBjZW50ZXIgPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiPGgxIGNsYXNzPVwid2FjLWgxXCIgW25nQ2xhc3NdPVwieyd3aXRoLWltZyc6IHdpdGhJbWcsICdjZW50ZXInOiBjZW50ZXJ9XCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjxzbWFsbCAqbmdJZj1cImFubm90YXRpb24gIT09ICcnXCI+e3sgYW5ub3RhdGlvbiB9fTwvc21hbGw+PC9oMT5cbiJdfQ==
@@ -37,6 +37,7 @@ export class InputComponent {
37
37
  this.disabled = false;
38
38
  this.indication = ''; // todo should be handle with ng-content
39
39
  this.success = false;
40
+ this.error = false;
40
41
  this.indicationLeft = false;
41
42
  this.keypressEnter = new EventEmitter();
42
43
  this.blurred = new EventEmitter();
@@ -94,10 +95,10 @@ export class InputComponent {
94
95
  }
95
96
  }
96
97
  InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: InputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
97
- InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: InputComponent, selector: "wac-input", inputs: { label: "label", value: "value", type: "type", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", size: "size", isNumber: "isNumber", withoutBlock: "withoutBlock", icon: "icon", big: "big", medium: "medium", boldLabel: "boldLabel", min: "min", max: "max", disableMargin: "disableMargin", textPrepend: "textPrepend", textAppend: "textAppend", progressBar: "progressBar", extraClasses: "extraClasses", keyPreventDefault: "keyPreventDefault", showTooltip: "showTooltip", textTooltip: "textTooltip", iconTooltip: "iconTooltip", urlTooltip: "urlTooltip", linkTooltip: "linkTooltip", padding: "padding", disabled: "disabled", indication: "indication", success: "success", indicationLeft: "indicationLeft" }, outputs: { keypressEnter: "keypressEnter", blurred: "blurred" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], ngImport: i0, template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel == 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"value && size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': textError,\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"textError && !textAppend && !indicationLeft\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TooltipComponent, selector: "wac-tooltip", inputs: ["tooltipIcon", "tooltipText", "tooltipLink", "tooltipUrl"] }, { kind: "component", type: i4.ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }] });
98
+ InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: InputComponent, selector: "wac-input", inputs: { label: "label", value: "value", type: "type", placeholder: "placeholder", textInfo: "textInfo", textError: "textError", size: "size", isNumber: "isNumber", withoutBlock: "withoutBlock", icon: "icon", big: "big", medium: "medium", boldLabel: "boldLabel", min: "min", max: "max", disableMargin: "disableMargin", textPrepend: "textPrepend", textAppend: "textAppend", progressBar: "progressBar", extraClasses: "extraClasses", keyPreventDefault: "keyPreventDefault", showTooltip: "showTooltip", textTooltip: "textTooltip", iconTooltip: "iconTooltip", urlTooltip: "urlTooltip", linkTooltip: "linkTooltip", padding: "padding", disabled: "disabled", indication: "indication", success: "success", error: "error", maxlength: "maxlength", minlength: "minlength", indicationLeft: "indicationLeft" }, outputs: { keypressEnter: "keypressEnter", blurred: "blurred" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], ngImport: i0, template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TooltipComponent, selector: "wac-tooltip", inputs: ["tooltipIcon", "tooltipText", "tooltipLink", "tooltipUrl"] }, { kind: "component", type: i4.ProgressBarComponent, selector: "wac-progress-bar", inputs: ["valueLength", "min", "max"] }] });
98
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: InputComponent, decorators: [{
99
100
  type: Component,
100
- args: [{ selector: 'wac-input', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel == 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"value && size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': textError,\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"textError && !textAppend && !indicationLeft\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n" }]
101
+ args: [{ selector: 'wac-input', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputComponent, multi: true }], template: "<div\n class=\"field wac-input\"\n [ngClass]=\"{ 'has-no-block': withoutBlock, 'is-big': big, 'is-medium': medium, 'with-padding': padding, 'indication-left': indicationLeft, 'with-progress-bar': progressBar }\"\n>\n <div class=\"field-label is-normal has-text-left\" *ngIf=\"!withoutBlock\">\n <label\n [ngClass]=\"[boldLabel === 'true' ? 'label has-text-weight-bold' : 'label has-text-weight-normal', showTooltip ? 'label-inline' : '', size && !progressBar ? 'has-padding-right-mobile' : '']\"\n [innerHTML]=\"label\"\n [for]=\"id\"\n ></label>\n <wac-tooltip\n *ngIf=\"showTooltip\"\n [tooltipIcon]=\"iconTooltip\"\n [tooltipText]=\"textTooltip\"\n [tooltipLink]=\"linkTooltip\"\n [tooltipUrl]=\"urlTooltip\"\n ></wac-tooltip>\n <!-- Size -->\n <span *ngIf=\"size && !progressBar\" class=\"is-size-7 wac-input__size\">\n <strong>{{ !value ? 0 : value.toString().length }}</strong> / {{ size }}\n </span>\n </div>\n <div class=\"field-body\">\n <div class=\"field\">\n <p\n class=\"control\"\n [ngClass]=\"{ 'has-icons-right': textError || success || error, 'has-icons-left': icon !== '', 'has-input-group': textAppend || textPrepend }\"\n >\n <!-- Text Prepend -->\n <span *ngIf=\"textPrepend\" class=\"has-input-group\">\n <span class=\"has-input-group-text prepend\">{{ textPrepend }}</span>\n <span *ngIf=\"icon !== ''\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n </span>\n\n <!-- Input -->\n <input\n [class]=\"'input ' + extraClasses\"\n [id]=\"id\"\n [ngClass]=\"{\n 'is-danger': (textError || error) && !disabled,\n 'is-empty': value === '',\n 'is-large': big,\n 'is-number': isNumber,\n 'remove-margin': disableMargin,\n 'text-append': textAppend\n }\"\n [type]=\"type\"\n [placeholder]=\"placeholder\"\n [attr.size]=\"size\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event)\"\n (blur)=\"onBlur()\"\n [disabled]=\"disabled\"\n (focusout)=\"onFocusOut()\"\n [min]=\"min\"\n [max]=\"max\"\n [maxlength]=\"maxlength ? maxlength : 524288\"\n [minlength]=\"minlength ? minlength : 0\"\n (keypress)=\"keyPress($event)\"\n />\n\n <!-- Indication at the end of the input -->\n <span class=\"indication\" *ngIf=\"indication\" [ngClass]=\"{'reverse': indicationLeft}\">\n <span [innerHTML]=\"indication\"></span>\n </span>\n\n <!-- Text Append -->\n <span *ngIf=\"textAppend && !indicationLeft\" class=\"has-input-group\">\n <span class=\"has-input-group-text append\">{{ textAppend }}</span>\n <!-- error if text append not empty -->\n <span *ngIf=\"textError\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n </span>\n\n <!-- Icon Left -->\n <span *ngIf=\"icon !== '' && !textPrepend && !indicationLeft\" class=\"icon is-small is-left\">\n <i [class]=\"icon\"></i>\n </span>\n\n <!-- Icon error if textAppend empty -->\n <span *ngIf=\"(textError || error) && !textAppend && !indicationLeft && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fal fa-times has-text-danger\"></i>\n </span>\n\n <!-- Icon success -->\n <span *ngIf=\"success && !disabled\" class=\"icon is-small is-right\">\n <i class=\"fas fa-check has-text-success\"></i>\n </span>\n\n <!-- Text Info -->\n <span\n *ngIf=\"textInfo && (textError === null || textError === '') && !progressBar && !indicationLeft\"\n class=\"is-size-7 wac-input__info text-info\"\n [innerHtml]=\"textInfo\"\n ></span>\n\n <!-- Text Error -->\n <span *ngIf=\"textError && !progressBar && !indicationLeft\" class=\"is-size-7 wac-input__error has-text-danger\" [innerHtml]=\"textError\"></span>\n </p>\n\n <!-- Progress Bar -->\n <wac-progress-bar *ngIf=\"progressBar && !indicationLeft\" [min]=\"min\" [max]=\"max\" [valueLength]=\"value.length\"></wac-progress-bar>\n </div>\n </div>\n</div>\n" }]
101
102
  }], propDecorators: { label: [{
102
103
  type: Input
103
104
  }], value: [{
@@ -158,6 +159,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
158
159
  type: Input
159
160
  }], success: [{
160
161
  type: Input
162
+ }], error: [{
163
+ type: Input
164
+ }], maxlength: [{
165
+ type: Input
166
+ }], minlength: [{
167
+ type: Input
161
168
  }], indicationLeft: [{
162
169
  type: Input
163
170
  }], keypressEnter: [{
@@ -165,4 +172,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
165
172
  }], blurred: [{
166
173
  type: Output
167
174
  }] } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU96RSxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU9FLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUVkLGdCQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsdUNBQXVDO1FBRXpELGFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyx3Q0FBd0M7UUFFekQsY0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLHdDQUF3QztRQUUxRCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRVosYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVYsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUVaLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixjQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsMEJBQTBCO1FBRS9DLFFBQUcsR0FBRyxJQUFJLENBQUM7UUFFWCxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBRVgsa0JBQWEsR0FBRyxL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QkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sY0FBYztzQkFEYixLQUFLO2dCQUdJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dhYy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBJbnB1dENvbXBvbmVudCwgbXVsdGk6IHRydWUgfV1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpXG4gIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpXG4gIHZhbHVlID0gJyc7XG4gIEBJbnB1dCgpXG4gIHR5cGUgPSAndGV4dCc7XG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyID0gJyc7IC8vIHRvZG8gY291bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICB0ZXh0SW5mbyA9IG51bGw7IC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgdGV4dEVycm9yID0gbnVsbDsgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICBzaXplID0gbnVsbDtcbiAgQElucHV0KClcbiAgaXNOdW1iZXIgPSBudWxsO1xuICBASW5wdXQoKVxuICB3aXRob3V0QmxvY2sgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgaWNvbiA9ICcnO1xuICBASW5wdXQoKVxuICBiaWcgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgbWVkaXVtID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGJvbGRMYWJlbCA9ICdmYWxzZSc7IC8vIHRvZG8gcmVmYWN0byB0byBib29sZWFuXG4gIEBJbnB1dCgpXG4gIG1pbiA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIG1heCA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVNYXJnaW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgdGV4dFByZXBlbmQgPSBudWxsOyAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XG4gIEBJbnB1dCgpXG4gIHRleHRBcHBlbmQgPSBudWxsOyAgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICBwcm9ncmVzc0JhciA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBleHRyYUNsYXNzZXMgPSAnJztcbiAgQElucHV0KClcbiAga2V5UHJldmVudERlZmF1bHQgPSBbXTtcbiAgQElucHV0KClcbiAgc2hvd1Rvb2x0aXAgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgdGV4dFRvb2x0aXAgPSAnJztcbiAgQElucHV0KClcbiAgaWNvblRvb2x0aXAgPSAnJztcbiAgQElucHV0KClcbiAgdXJsVG9vbHRpcCA9ICcnO1xuICBASW5wdXQoKVxuICBsaW5rVG9vbHRpcCA9ICcnO1xuICBASW5wdXQoKVxuICBwYWRkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGluZGljYXRpb24gPSAnJzsgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICBzdWNjZXNzID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGluZGljYXRpb25MZWZ0ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGtleXByZXNzRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBibHVycmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgS0VZUFJFU1NfRU5URVIgPSBcIkVudGVyXCI7XG5cbiAgaWQgPVxuICAgICd3ei1pbnB1dF8nICtcbiAgICBNYXRoLnJhbmRvbSgpXG4gICAgICAudG9TdHJpbmcoMzYpXG4gICAgICAuc3Vic3RyKDIsIDkpO1xuXG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gIH1cblxuICBvbkNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuX29uQ2hhbmdlKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLl9vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIH1cbiAgICB0aGlzLmJsdXJyZWQubmV4dCgpO1xuICB9XG5cbiAgY2hlY2tOdW1iZXJWYWx1ZSh2YWx1ZSkge1xuICAgIGlmICh0aGlzLm1pbiAmJiB0aGlzLm1pbiA+IHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XG4gICAgfVxuICAgIGlmICh0aGlzLm1heCAmJiB0aGlzLm1heCA8IHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG4gICAgfVxuICB9XG5cbiAgb25Gb2N1c091dCgpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgdGhpcy5jaGVja051bWJlclZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGtleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMua2V5UHJldmVudERlZmF1bHQuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSB0aGlzLktFWVBSRVNTX0VOVEVSKSB7XG4gICAgICB0aGlzLmtleXByZXNzRW50ZXIubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmaWVsZCB3YWMtaW5wdXRcIlxuICBbbmdDbGFzc109XCJ7ICdoYXMtbm8tYmxvY2snOiB3aXRob3V0QmxvY2ssICdpcy1iaWcnOiBiaWcsICdpcy1tZWRpdW0nOiBtZWRpdW0sICd3aXRoLXBhZGRpbmcnOiBwYWRkaW5nLCAnaW5kaWNhdGlvbi1sZWZ0JzogaW5kaWNhdGlvbkxlZnQsICd3aXRoLXByb2dyZXNzLWJhcic6IHByb2dyZXNzQmFyIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmllbGQtbGFiZWwgaXMtbm9ybWFsIGhhcy10ZXh0LWxlZnRcIiAqbmdJZj1cIiF3aXRob3V0QmxvY2tcIj5cbiAgICA8bGFiZWxcbiAgICAgIFtuZ0NsYXNzXT1cIltib2xkTGFiZWwgPT0gJ3RydWUnID8gJ2xhYmVsIGhhcy10ZXh0LXdlaWdodC1ib2xkJyA6ICdsYWJlbCBoYXMtdGV4dC13ZWlnaHQtbm9ybWFsJywgc2hvd1Rvb2x0aXAgPyAnbGFiZWwtaW5saW5lJyA6ICcnXVwiXG4gICAgICBbaW5uZXJIVE1MXT1cImxhYmVsXCJcbiAgICAgIFtmb3JdPVwiaWRcIlxuICAgID48L2xhYmVsPlxuICAgIDx3YWMtdG9vbHRpcFxuICAgICAgKm5nSWY9XCJzaG93VG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcEljb25dPVwiaWNvblRvb2x0aXBcIlxuICAgICAgW3Rvb2x0aXBUZXh0XT1cInRleHRUb29sdGlwXCJcbiAgICAgIFt0b29sdGlwTGlua109XCJsaW5rVG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcFVybF09XCJ1cmxUb29sdGlwXCJcbiAgICA+PC93YWMtdG9vbHRpcD5cbiAgICA8IS0tIFNpemUgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCJ2YWx1ZSAmJiBzaXplICYmICFwcm9ncmVzc0JhclwiIGNsYXNzPVwiaXMtc2l6ZS03IHdhYy1pbnB1dF9fc2l6ZVwiPlxuICAgICAgPHN0cm9uZz57eyB2YWx1ZS50b1N0cmluZygpLmxlbmd0aCB9fTwvc3Ryb25nPiAvIHt7IHNpemUgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZmllbGQtYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxuICAgICAgPHBcbiAgICAgICAgY2xhc3M9XCJjb250cm9sXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAnaGFzLWljb25zLXJpZ2h0JzogdGV4dEVycm9yIHx8IHN1Y2Nlc3MsICdoYXMtaWNvbnMtbGVmdCc6IGljb24gIT09ICcnLCAnaGFzLWlucHV0LWdyb3VwJzogdGV4dEFwcGVuZCB8fCB0ZXh0UHJlcGVuZCB9XCJcbiAgICAgID5cbiAgICAgICAgPCEtLSBUZXh0IFByZXBlbmQgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidGV4dFByZXBlbmRcIiBjbGFzcz1cImhhcy1pbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGFzLWlucHV0LWdyb3VwLXRleHQgcHJlcGVuZFwiPnt7IHRleHRQcmVwZW5kIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbiAhPT0gJydcIiBjbGFzcz1cImljb24gaXMtc21hbGwgaXMtbGVmdFwiPlxuICAgICAgICAgICAgPGkgW2NsYXNzXT1cImljb25cIj48L2k+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBJbnB1dCAtLT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgW2NsYXNzXT1cIidpbnB1dCAnICsgZXh0cmFDbGFzc2VzXCJcbiAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdpcy1kYW5nZXInOiB0ZXh0RXJyb3IsXG4gICAgICAgICAgICAnaXMtbGFyZ2UnOiBiaWcsXG4gICAgICAgICAgICAnaXMtbnVtYmVyJzogaXNOdW1iZXIsXG4gICAgICAgICAgICAncmVtb3ZlLW1hcmdpbic6IGRpc2FibGVNYXJnaW4sXG4gICAgICAgICAgICAndGV4dC1hcHBlbmQnOiB0ZXh0QXBwZW5kXG4gICAgICAgICAgfVwiXG4gICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICBbYXR0ci5zaXplXT1cInNpemVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIChmb2N1c291dCk9XCJvbkZvY3VzT3V0KClcIlxuICAgICAgICAgIFttaW5dPVwibWluXCJcbiAgICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgICAgKGtleXByZXNzKT1cImtleVByZXNzKCRldmVudClcIlxuICAgICAgICAvPlxuXG4gICAgICAgIDwhLS0gSW5kaWNhdGlvbiBhdCB0aGUgZW5kIG9mIHRoZSBpbnB1dCAtLT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpbmRpY2F0aW9uXCIgKm5nSWY9XCJpbmRpY2F0aW9uXCIgW25nQ2xhc3NdPVwieydyZXZlcnNlJzogaW5kaWNhdGlvbkxlZnR9XCI+XG4gICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpbmRpY2F0aW9uXCI+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBUZXh0IEFwcGVuZCAtLT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0ZXh0QXBwZW5kICYmICFpbmRpY2F0aW9uTGVmdFwiIGNsYXNzPVwiaGFzLWlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJoYXMtaW5wdXQtZ3JvdXAtdGV4dCBhcHBlbmRcIj57eyB0ZXh0QXBwZW5kIH19PC9zcGFuPlxuICAgICAgICAgIDwhLS0gZXJyb3IgaWYgdGV4dCBhcHBlbmQgbm90IGVtcHR5IC0tPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGV4dEVycm9yXCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLXJpZ2h0XCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS10aW1lcyBoYXMtdGV4dC1kYW5nZXJcIj48L2k+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBJY29uIExlZnQgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbiAhPT0gJycgJiYgIXRleHRQcmVwZW5kICYmICFpbmRpY2F0aW9uTGVmdFwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1sZWZ0XCI+XG4gICAgICAgICAgPGkgW2NsYXNzXT1cImljb25cIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8IS0tIEljb24gZXJyb3IgaWYgdGV4dEFwcGVuZCBlbXB0eSAtLT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJ0ZXh0RXJyb3IgJiYgIXRleHRBcHBlbmQgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLXJpZ2h0XCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgaGFzLXRleHQtZGFuZ2VyXCI+PC9pPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBJY29uIHN1Y2Nlc3MgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwic3VjY2Vzc1wiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZWNrIGhhcy10ZXh0LXN1Y2Nlc3NcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8IS0tIFRleHQgSW5mbyAtLT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cInRleHRJbmZvICYmICh0ZXh0RXJyb3IgPT09IG51bGwgfHwgdGV4dEVycm9yID09PSAnJykgJiYgIXByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiXG4gICAgICAgICAgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19pbmZvIHRleHQtaW5mb1wiXG4gICAgICAgICAgW2lubmVySHRtbF09XCJ0ZXh0SW5mb1wiXG4gICAgICAgID48L3NwYW4+XG5cbiAgICAgICAgPCEtLSBUZXh0IEVycm9yIC0tPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRFcnJvciAmJiAhcHJvZ3Jlc3NCYXIgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19lcnJvciBoYXMtdGV4dC1kYW5nZXJcIiBbaW5uZXJIdG1sXT1cInRleHRFcnJvclwiPjwvc3Bhbj5cbiAgICAgIDwvcD5cblxuICAgICAgPCEtLSBQcm9ncmVzcyBCYXIgLS0+XG4gICAgICA8d2FjLXByb2dyZXNzLWJhciAqbmdJZj1cInByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbdmFsdWVMZW5ndGhdPVwidmFsdWUubGVuZ3RoXCI+PC93YWMtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU96RSxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU9FLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRVgsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUVkLGdCQUFXLEdBQUcsRUFBRSxDQUFDLENBQUMsdUNBQXVDO1FBRXpELGFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyx3Q0FBd0M7UUFFekQsY0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLHdDQUF3QztRQUUxRCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRVosYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUVyQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBRVYsUUFBRyxHQUFHLEtBQUssQ0FBQztRQUVaLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixjQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsMEJBQTBCO1FBRS9DLFFBQUcsR0FBRyxJQUFJLENBQUM7UUFFWCxRQUFHLEdBQUcsSUFBSSxDQUFDO1FBRVgsa0JBQWEsR0FBRyxL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SztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLEtBQUs7c0JBREosS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBR04sU0FBUztzQkFEUixLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHSSxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogSW5wdXRDb21wb25lbnQsIG11bHRpOiB0cnVlIH1dXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKVxuICBsYWJlbCA9ICcnO1xuICBASW5wdXQoKVxuICB2YWx1ZSA9ICcnO1xuICBASW5wdXQoKVxuICB0eXBlID0gJ3RleHQnO1xuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlciA9ICcnOyAvLyB0b2RvIGNvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgdGV4dEluZm8gPSBudWxsOyAvLyB0b2RvIHNob3VsZCBiZSBoYW5kbGUgd2l0aCBuZy1jb250ZW50XG4gIEBJbnB1dCgpXG4gIHRleHRFcnJvciA9IG51bGw7IC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgc2l6ZSA9IG51bGw7XG4gIEBJbnB1dCgpXG4gIGlzTnVtYmVyID0gbnVsbDtcbiAgQElucHV0KClcbiAgd2l0aG91dEJsb2NrID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIGljb24gPSAnJztcbiAgQElucHV0KClcbiAgYmlnID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIG1lZGl1bSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBib2xkTGFiZWwgPSAnZmFsc2UnOyAvLyB0b2RvIHJlZmFjdG8gdG8gYm9vbGVhblxuICBASW5wdXQoKVxuICBtaW4gPSBudWxsO1xuICBASW5wdXQoKVxuICBtYXggPSBudWxsO1xuICBASW5wdXQoKVxuICBkaXNhYmxlTWFyZ2luID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHRleHRQcmVwZW5kID0gbnVsbDsgLy8gdG9kbyBzaG91bGQgYmUgaGFuZGxlIHdpdGggbmctY29udGVudFxuICBASW5wdXQoKVxuICB0ZXh0QXBwZW5kID0gbnVsbDsgIC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgcHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgQElucHV0KClcbiAgZXh0cmFDbGFzc2VzID0gJyc7XG4gIEBJbnB1dCgpXG4gIGtleVByZXZlbnREZWZhdWx0ID0gW107XG4gIEBJbnB1dCgpXG4gIHNob3dUb29sdGlwID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHRleHRUb29sdGlwID0gJyc7XG4gIEBJbnB1dCgpXG4gIGljb25Ub29sdGlwID0gJyc7XG4gIEBJbnB1dCgpXG4gIHVybFRvb2x0aXAgPSAnJztcbiAgQElucHV0KClcbiAgbGlua1Rvb2x0aXAgPSAnJztcbiAgQElucHV0KClcbiAgcGFkZGluZyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBpbmRpY2F0aW9uID0gJyc7IC8vIHRvZG8gc2hvdWxkIGJlIGhhbmRsZSB3aXRoIG5nLWNvbnRlbnRcbiAgQElucHV0KClcbiAgc3VjY2VzcyA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBlcnJvciA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBtYXhsZW5ndGg6IG51bWJlciB8IHN0cmluZztcbiAgQElucHV0KClcbiAgbWlubGVuZ3RoOiBudW1iZXIgfCBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGluZGljYXRpb25MZWZ0ID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGtleXByZXNzRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBibHVycmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgS0VZUFJFU1NfRU5URVIgPSBcIkVudGVyXCI7XG5cbiAgaWQgPVxuICAgICd3ei1pbnB1dF8nICtcbiAgICBNYXRoLnJhbmRvbSgpXG4gICAgICAudG9TdHJpbmcoMzYpXG4gICAgICAuc3Vic3RyKDIsIDkpO1xuXG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKHZhbHVlOiBzdHJpbmcpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gIH1cblxuICBvbkNoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuX29uQ2hhbmdlKSB7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLl9vblRvdWNoZWQpIHtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgIH1cbiAgICB0aGlzLmJsdXJyZWQubmV4dCgpO1xuICB9XG5cbiAgY2hlY2tOdW1iZXJWYWx1ZSh2YWx1ZSkge1xuICAgIGlmICh0aGlzLm1pbiAmJiB0aGlzLm1pbiA+IHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XG4gICAgfVxuICAgIGlmICh0aGlzLm1heCAmJiB0aGlzLm1heCA8IHZhbHVlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG4gICAgfVxuICB9XG5cbiAgb25Gb2N1c091dCgpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgdGhpcy5jaGVja051bWJlclZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGtleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKHRoaXMua2V5UHJldmVudERlZmF1bHQuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSB0aGlzLktFWVBSRVNTX0VOVEVSKSB7XG4gICAgICB0aGlzLmtleXByZXNzRW50ZXIubmV4dCh0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmaWVsZCB3YWMtaW5wdXRcIlxuICBbbmdDbGFzc109XCJ7ICdoYXMtbm8tYmxvY2snOiB3aXRob3V0QmxvY2ssICdpcy1iaWcnOiBiaWcsICdpcy1tZWRpdW0nOiBtZWRpdW0sICd3aXRoLXBhZGRpbmcnOiBwYWRkaW5nLCAnaW5kaWNhdGlvbi1sZWZ0JzogaW5kaWNhdGlvbkxlZnQsICd3aXRoLXByb2dyZXNzLWJhcic6IHByb2dyZXNzQmFyIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZmllbGQtbGFiZWwgaXMtbm9ybWFsIGhhcy10ZXh0LWxlZnRcIiAqbmdJZj1cIiF3aXRob3V0QmxvY2tcIj5cbiAgICA8bGFiZWxcbiAgICAgIFtuZ0NsYXNzXT1cIltib2xkTGFiZWwgPT09ICd0cnVlJyA/ICdsYWJlbCBoYXMtdGV4dC13ZWlnaHQtYm9sZCcgOiAnbGFiZWwgaGFzLXRleHQtd2VpZ2h0LW5vcm1hbCcsIHNob3dUb29sdGlwID8gJ2xhYmVsLWlubGluZScgOiAnJywgc2l6ZSAmJiAhcHJvZ3Jlc3NCYXIgPyAnaGFzLXBhZGRpbmctcmlnaHQtbW9iaWxlJyA6ICcnXVwiXG4gICAgICBbaW5uZXJIVE1MXT1cImxhYmVsXCJcbiAgICAgIFtmb3JdPVwiaWRcIlxuICAgID48L2xhYmVsPlxuICAgIDx3YWMtdG9vbHRpcFxuICAgICAgKm5nSWY9XCJzaG93VG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcEljb25dPVwiaWNvblRvb2x0aXBcIlxuICAgICAgW3Rvb2x0aXBUZXh0XT1cInRleHRUb29sdGlwXCJcbiAgICAgIFt0b29sdGlwTGlua109XCJsaW5rVG9vbHRpcFwiXG4gICAgICBbdG9vbHRpcFVybF09XCJ1cmxUb29sdGlwXCJcbiAgICA+PC93YWMtdG9vbHRpcD5cbiAgICA8IS0tIFNpemUgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCJzaXplICYmICFwcm9ncmVzc0JhclwiIGNsYXNzPVwiaXMtc2l6ZS03IHdhYy1pbnB1dF9fc2l6ZVwiPlxuICAgICAgPHN0cm9uZz57eyAhdmFsdWUgPyAwIDogdmFsdWUudG9TdHJpbmcoKS5sZW5ndGggfX08L3N0cm9uZz4gLyB7eyBzaXplIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZpZWxkLWJvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cbiAgICAgIDxwXG4gICAgICAgIGNsYXNzPVwiY29udHJvbFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hhcy1pY29ucy1yaWdodCc6IHRleHRFcnJvciB8fCBzdWNjZXNzIHx8IGVycm9yLCAnaGFzLWljb25zLWxlZnQnOiBpY29uICE9PSAnJywgJ2hhcy1pbnB1dC1ncm91cCc6IHRleHRBcHBlbmQgfHwgdGV4dFByZXBlbmQgfVwiXG4gICAgICA+XG4gICAgICAgIDwhLS0gVGV4dCBQcmVwZW5kIC0tPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRQcmVwZW5kXCIgY2xhc3M9XCJoYXMtaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhhcy1pbnB1dC1ncm91cC10ZXh0IHByZXBlbmRcIj57eyB0ZXh0UHJlcGVuZCB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImljb24gIT09ICcnXCIgY2xhc3M9XCJpY29uIGlzLXNtYWxsIGlzLWxlZnRcIj5cbiAgICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uXCI+PC9pPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDwhLS0gSW5wdXQgLS0+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIFtjbGFzc109XCInaW5wdXQgJyArIGV4dHJhQ2xhc3Nlc1wiXG4gICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAnaXMtZGFuZ2VyJzogKHRleHRFcnJvciB8fCBlcnJvcikgJiYgIWRpc2FibGVkLFxuICAgICAgICAgICAgJ2lzLWVtcHR5JzogdmFsdWUgPT09ICcnLFxuICAgICAgICAgICAgJ2lzLWxhcmdlJzogYmlnLFxuICAgICAgICAgICAgJ2lzLW51bWJlcic6IGlzTnVtYmVyLFxuICAgICAgICAgICAgJ3JlbW92ZS1tYXJnaW4nOiBkaXNhYmxlTWFyZ2luLFxuICAgICAgICAgICAgJ3RleHQtYXBwZW5kJzogdGV4dEFwcGVuZFxuICAgICAgICAgIH1cIlxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgW2F0dHIuc2l6ZV09XCJzaXplXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgpXCJcbiAgICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgICAgW21heF09XCJtYXhcIlxuICAgICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoID8gbWF4bGVuZ3RoIDogNTI0Mjg4XCJcbiAgICAgICAgICBbbWlubGVuZ3RoXT1cIm1pbmxlbmd0aCA/IG1pbmxlbmd0aCA6IDBcIlxuICAgICAgICAgIChrZXlwcmVzcyk9XCJrZXlQcmVzcygkZXZlbnQpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8IS0tIEluZGljYXRpb24gYXQgdGhlIGVuZCBvZiB0aGUgaW5wdXQgLS0+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5kaWNhdGlvblwiICpuZ0lmPVwiaW5kaWNhdGlvblwiIFtuZ0NsYXNzXT1cInsncmV2ZXJzZSc6IGluZGljYXRpb25MZWZ0fVwiPlxuICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiaW5kaWNhdGlvblwiPjwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDwhLS0gVGV4dCBBcHBlbmQgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidGV4dEFwcGVuZCAmJiAhaW5kaWNhdGlvbkxlZnRcIiBjbGFzcz1cImhhcy1pbnB1dC1ncm91cFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGFzLWlucHV0LWdyb3VwLXRleHQgYXBwZW5kXCI+e3sgdGV4dEFwcGVuZCB9fTwvc3Bhbj5cbiAgICAgICAgICA8IS0tIGVycm9yIGlmIHRleHQgYXBwZW5kIG5vdCBlbXB0eSAtLT5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRFcnJvclwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtdGltZXMgaGFzLXRleHQtZGFuZ2VyXCI+PC9pPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDwhLS0gSWNvbiBMZWZ0IC0tPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImljb24gIT09ICcnICYmICF0ZXh0UHJlcGVuZCAmJiAhaW5kaWNhdGlvbkxlZnRcIiBjbGFzcz1cImljb24gaXMtc21hbGwgaXMtbGVmdFwiPlxuICAgICAgICAgIDxpIFtjbGFzc109XCJpY29uXCI+PC9pPlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPCEtLSBJY29uIGVycm9yIGlmIHRleHRBcHBlbmQgZW1wdHkgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiKHRleHRFcnJvciB8fCBlcnJvcikgJiYgIXRleHRBcHBlbmQgJiYgIWluZGljYXRpb25MZWZ0ICAmJiAhZGlzYWJsZWRcIiBjbGFzcz1cImljb24gaXMtc21hbGwgaXMtcmlnaHRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS10aW1lcyBoYXMtdGV4dC1kYW5nZXJcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8IS0tIEljb24gc3VjY2VzcyAtLT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJzdWNjZXNzICYmICFkaXNhYmxlZFwiIGNsYXNzPVwiaWNvbiBpcy1zbWFsbCBpcy1yaWdodFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZWNrIGhhcy10ZXh0LXN1Y2Nlc3NcIj48L2k+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8IS0tIFRleHQgSW5mbyAtLT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cInRleHRJbmZvICYmICh0ZXh0RXJyb3IgPT09IG51bGwgfHwgdGV4dEVycm9yID09PSAnJykgJiYgIXByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiXG4gICAgICAgICAgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19pbmZvIHRleHQtaW5mb1wiXG4gICAgICAgICAgW2lubmVySHRtbF09XCJ0ZXh0SW5mb1wiXG4gICAgICAgID48L3NwYW4+XG5cbiAgICAgICAgPCEtLSBUZXh0IEVycm9yIC0tPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInRleHRFcnJvciAmJiAhcHJvZ3Jlc3NCYXIgJiYgIWluZGljYXRpb25MZWZ0XCIgY2xhc3M9XCJpcy1zaXplLTcgd2FjLWlucHV0X19lcnJvciBoYXMtdGV4dC1kYW5nZXJcIiBbaW5uZXJIdG1sXT1cInRleHRFcnJvclwiPjwvc3Bhbj5cbiAgICAgIDwvcD5cblxuICAgICAgPCEtLSBQcm9ncmVzcyBCYXIgLS0+XG4gICAgICA8d2FjLXByb2dyZXNzLWJhciAqbmdJZj1cInByb2dyZXNzQmFyICYmICFpbmRpY2F0aW9uTGVmdFwiIFttaW5dPVwibWluXCIgW21heF09XCJtYXhcIiBbdmFsdWVMZW5ndGhdPVwidmFsdWUubGVuZ3RoXCI+PC93YWMtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -5,6 +5,7 @@ export class LinkComponent {
5
5
  constructor(renderer2) {
6
6
  this.renderer2 = renderer2;
7
7
  this.target = '_self';
8
+ this.fontSize = '14px';
8
9
  }
9
10
  set href(link) {
10
11
  this._link = link;
@@ -13,7 +14,6 @@ export class LinkComponent {
13
14
  get href() {
14
15
  return this._link;
15
16
  }
16
- ngOnInit() { }
17
17
  ngAfterViewInit() {
18
18
  this.setAttributesLink();
19
19
  }
@@ -32,10 +32,10 @@ export class LinkComponent {
32
32
  }
33
33
  }
34
34
  LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: LinkComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
35
- LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: LinkComponent, selector: "wac-link", inputs: { href: "href", target: "target", id: "id", class: "class" }, viewQueries: [{ propertyName: "linkComponent", first: true, predicate: ["linkComponent"], descendants: true }], ngImport: i0, template: "<a #linkComponent class=\"wac-link\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\"><ng-content></ng-content></a>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
35
+ LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: LinkComponent, selector: "wac-link", inputs: { href: "href", target: "target", id: "id", class: "class", fontSize: "fontSize" }, viewQueries: [{ propertyName: "linkComponent", first: true, predicate: ["linkComponent"], descendants: true }], ngImport: i0, template: "<a #linkComponent class=\"wac-link\" [style.fontSize]=\"fontSize\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\"><ng-content></ng-content></a>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
36
36
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: LinkComponent, decorators: [{
37
37
  type: Component,
38
- args: [{ selector: 'wac-link', template: "<a #linkComponent class=\"wac-link\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\"><ng-content></ng-content></a>\n" }]
38
+ args: [{ selector: 'wac-link', template: "<a #linkComponent class=\"wac-link\" [style.fontSize]=\"fontSize\" [ngClass]=\"{ class: class }\" [id]=\"{ id: id }\"><ng-content></ng-content></a>\n" }]
39
39
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { href: [{
40
40
  type: Input
41
41
  }], target: [{
@@ -44,8 +44,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
44
44
  type: Input
45
45
  }], class: [{
46
46
  type: Input
47
+ }], fontSize: [{
48
+ type: Input
47
49
  }], linkComponent: [{
48
50
  type: ViewChild,
49
51
  args: ['linkComponent']
50
52
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpbmsvbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpbmsvbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0YsTUFBTSxPQUFPLGFBQWE7SUFvQnhCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFQL0IsV0FBTSxHQUE0QyxPQUFPLENBQUM7SUFPeEIsQ0FBQztJQWhCNUMsSUFBYSxJQUFJLENBQUMsSUFBYTtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFXRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixlQUFlO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0RjthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDNUU7SUFDSCxDQUFDOzswR0F4Q1UsYUFBYTs4RkFBYixhQUFhLHNPQ04xQix5SEFDQTsyRkRLYSxhQUFhO2tCQUp6QixTQUFTOytCQUNFLFVBQVU7Z0dBT1AsSUFBSTtzQkFBaEIsS0FBSztnQkFTRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHTixhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2FjLWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGluay5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgTGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgX2xpbms6IHN0cmluZztcblxuICBASW5wdXQoKSBzZXQgaHJlZihsaW5rIDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGluayA9IGxpbms7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzTGluaygpO1xuICB9XG5cbiAgZ2V0IGhyZWYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGluaztcbiAgfVxuXG4gIEBJbnB1dCgpIHRhcmdldDogJ19zZWxmJyB8ICdfYmxhbmsnIHwgJ19wYXJlbnQnIHwgJ190b3AnID0gJ19zZWxmJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdsaW5rQ29tcG9uZW50JylcbiAgbGlua0NvbXBvbmVudDogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyMjogUmVuZGVyZXIyKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzTGluaygpO1xuICB9XG5cbiAgc2V0QXR0cmlidXRlc0xpbmsoKSB7XG4gICAgaWYgKCF0aGlzLmxpbmtDb21wb25lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5zZXRBdHRyaWJ1dGUodGhpcy5saW5rQ29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQsIFwiaHJlZlwiLCB0aGlzLmhyZWYpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0QXR0cmlidXRlKHRoaXMubGlua0NvbXBvbmVudC5uYXRpdmVFbGVtZW50LCBcInRhcmdldFwiLCB0aGlzLnRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmxpbmtDb21wb25lbnQubmF0aXZlRWxlbWVudCwgXCJocmVmXCIpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQXR0cmlidXRlKHRoaXMubGlua0NvbXBvbmVudC5uYXRpdmVFbGVtZW50LCBcInRhcmdldFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhICNsaW5rQ29tcG9uZW50IGNsYXNzPVwid2FjLWxpbmtcIiBbbmdDbGFzc109XCJ7IGNsYXNzOiBjbGFzcyB9XCIgW2lkXT1cInsgaWQ6IGlkIH1cIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9hPlxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpbmsvbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpbmsvbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNbEcsTUFBTSxPQUFPLGFBQWE7SUFxQnhCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFSL0IsV0FBTSxHQUE0QyxPQUFPLENBQUM7UUFHMUQsYUFBUSxHQUFHLE1BQU0sQ0FBQztJQUtnQixDQUFDO0lBakI1QyxJQUFhLElBQUksQ0FBQyxJQUFhO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQVlELGVBQWU7UUFDYixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsT0FBTztTQUNSO1FBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3RGO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUM1RTtJQUNILENBQUM7OzBHQXZDVSxhQUFhOzhGQUFiLGFBQWEsNFBDTjFCLHVKQUNBOzJGREthLGFBQWE7a0JBSnpCLFNBQVM7K0JBQ0UsVUFBVTtnR0FPUCxJQUFJO3NCQUFoQixLQUFLO2dCQVNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YWMtbGluaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgX2xpbms6IHN0cmluZztcblxuICBASW5wdXQoKSBzZXQgaHJlZihsaW5rIDogc3RyaW5nKSB7XG4gICAgdGhpcy5fbGluayA9IGxpbms7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzTGluaygpO1xuICB9XG5cbiAgZ2V0IGhyZWYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbGluaztcbiAgfVxuXG4gIEBJbnB1dCgpIHRhcmdldDogJ19zZWxmJyB8ICdfYmxhbmsnIHwgJ19wYXJlbnQnIHwgJ190b3AnID0gJ19zZWxmJztcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgQElucHV0KCkgY2xhc3M6IHN0cmluZztcbiAgQElucHV0KCkgZm9udFNpemUgPSAnMTRweCc7XG5cbiAgQFZpZXdDaGlsZCgnbGlua0NvbXBvbmVudCcpXG4gIGxpbmtDb21wb25lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVzTGluaygpO1xuICB9XG5cbiAgc2V0QXR0cmlidXRlc0xpbmsoKSB7XG4gICAgaWYgKCF0aGlzLmxpbmtDb21wb25lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ocmVmKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyMi5zZXRBdHRyaWJ1dGUodGhpcy5saW5rQ29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQsIFwiaHJlZlwiLCB0aGlzLmhyZWYpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIuc2V0QXR0cmlidXRlKHRoaXMubGlua0NvbXBvbmVudC5uYXRpdmVFbGVtZW50LCBcInRhcmdldFwiLCB0aGlzLnRhcmdldCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyZXIyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmxpbmtDb21wb25lbnQubmF0aXZlRWxlbWVudCwgXCJocmVmXCIpO1xuICAgICAgdGhpcy5yZW5kZXJlcjIucmVtb3ZlQXR0cmlidXRlKHRoaXMubGlua0NvbXBvbmVudC5uYXRpdmVFbGVtZW50LCBcInRhcmdldFwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxhICNsaW5rQ29tcG9uZW50IGNsYXNzPVwid2FjLWxpbmtcIiBbc3R5bGUuZm9udFNpemVdPVwiZm9udFNpemVcIiBbbmdDbGFzc109XCJ7IGNsYXNzOiBjbGFzcyB9XCIgW2lkXT1cInsgaWQ6IGlkIH1cIj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9hPlxuIl19