@festo-ui/angular 8.2.0-dev.616 → 8.2.0-dev.620

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 (100) hide show
  1. package/css/bundle.css +1 -1
  2. package/css/popover.css +1 -1
  3. package/fesm2022/festo-ui-angular.mjs +514 -260
  4. package/fesm2022/festo-ui-angular.mjs.map +1 -1
  5. package/lib/components/components.module.d.ts +3 -1
  6. package/lib/components/overlay/overlay-content/overlay-content.component.d.ts +5 -0
  7. package/lib/components/overlay/overlay-outlet.directive.d.ts +64 -0
  8. package/lib/components/popovers/popover.defaults.d.ts +0 -18
  9. package/lib/components/popovers/popover.models.d.ts +2 -1
  10. package/lib/components/popovers/tooltip/tooltip.directive.d.ts +7 -0
  11. package/lib/forms/value-accessor-base.d.ts +1 -1
  12. package/package.json +9 -11
  13. package/public-api.d.ts +2 -0
  14. package/scss/base/icons-svg.scss +1 -1
  15. package/scss/base/image-gallery.scss +2 -2
  16. package/scss/base/popover.scss +2 -2
  17. package/scss/base/styles.scss +4 -4
  18. package/esm2022/festo-ui-angular.mjs +0 -5
  19. package/esm2022/lib/components/accordion/accordion-header/accordion-header.component.mjs +0 -11
  20. package/esm2022/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +0 -15
  21. package/esm2022/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +0 -28
  22. package/esm2022/lib/components/accordion/accordion-item/accordion-item.component.mjs +0 -148
  23. package/esm2022/lib/components/accordion/accordion.component.mjs +0 -59
  24. package/esm2022/lib/components/accordion/index.mjs +0 -6
  25. package/esm2022/lib/components/bottom-sheet/bottom-sheet.component.mjs +0 -97
  26. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -26
  27. package/esm2022/lib/components/buttons/button/button.component.mjs +0 -48
  28. package/esm2022/lib/components/buttons/link-button/link-button.component.mjs +0 -34
  29. package/esm2022/lib/components/chips/chip/chip.component.mjs +0 -38
  30. package/esm2022/lib/components/chips/chip-container/chip-container.component.mjs +0 -17
  31. package/esm2022/lib/components/components.module.mjs +0 -212
  32. package/esm2022/lib/components/loading-indicator/loading-indicator.component.mjs +0 -17
  33. package/esm2022/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +0 -39
  34. package/esm2022/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +0 -65
  35. package/esm2022/lib/components/mobile-flyout/mobile-flyout.component.mjs +0 -69
  36. package/esm2022/lib/components/pagination/pagination.component.mjs +0 -57
  37. package/esm2022/lib/components/popovers/legend/legend.component.mjs +0 -42
  38. package/esm2022/lib/components/popovers/legend/legend.directive.mjs +0 -31
  39. package/esm2022/lib/components/popovers/popover/popover.component.mjs +0 -31
  40. package/esm2022/lib/components/popovers/popover-content/popover-content.component.mjs +0 -80
  41. package/esm2022/lib/components/popovers/popover-content/popover-content.directive.mjs +0 -39
  42. package/esm2022/lib/components/popovers/popover-menu/popover-menu.component.mjs +0 -67
  43. package/esm2022/lib/components/popovers/popover-ref.mjs +0 -25
  44. package/esm2022/lib/components/popovers/popover.defaults.mjs +0 -59
  45. package/esm2022/lib/components/popovers/popover.models.mjs +0 -7
  46. package/esm2022/lib/components/popovers/popover.service.mjs +0 -140
  47. package/esm2022/lib/components/popovers/tooltip/tooltip.directive.mjs +0 -101
  48. package/esm2022/lib/components/progress/progress.component.mjs +0 -22
  49. package/esm2022/lib/components/scroll/index.mjs +0 -2
  50. package/esm2022/lib/components/scroll/scrollable.directive.mjs +0 -75
  51. package/esm2022/lib/components/search-input/search-input.component.mjs +0 -182
  52. package/esm2022/lib/components/sidebar-overlay/sidebar-overlay.component.mjs +0 -59
  53. package/esm2022/lib/components/snackbar/snackbar-container.component.mjs +0 -21
  54. package/esm2022/lib/components/snackbar/snackbar-container.directive.mjs +0 -80
  55. package/esm2022/lib/components/snackbar/snackbar.component.mjs +0 -81
  56. package/esm2022/lib/components/snackbar/snackbar.models.mjs +0 -2
  57. package/esm2022/lib/components/snackbar/snackbar.module.mjs +0 -24
  58. package/esm2022/lib/components/snackbar/snackbar.service.mjs +0 -23
  59. package/esm2022/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +0 -19
  60. package/esm2022/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +0 -52
  61. package/esm2022/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +0 -57
  62. package/esm2022/lib/components/stepper-vertical/stepper-vertical.component.mjs +0 -54
  63. package/esm2022/lib/components/table-header-cell/table-header-cell.directive.mjs +0 -60
  64. package/esm2022/lib/components/tabs/tab-pane/tab-pane.component.mjs +0 -34
  65. package/esm2022/lib/components/tabs/tabs.component.mjs +0 -459
  66. package/esm2022/lib/directives/click-outside.directive.mjs +0 -29
  67. package/esm2022/lib/festo-angular.module.mjs +0 -21
  68. package/esm2022/lib/forms/checkbox/checkbox.component.mjs +0 -154
  69. package/esm2022/lib/forms/color-indicator/color-indicator.component.mjs +0 -88
  70. package/esm2022/lib/forms/color-picker/color-helper.mjs +0 -129
  71. package/esm2022/lib/forms/color-picker/color-picker.component.mjs +0 -292
  72. package/esm2022/lib/forms/date-picker/date-picker.component.mjs +0 -205
  73. package/esm2022/lib/forms/date-range-picker/date-range-picker.component.mjs +0 -231
  74. package/esm2022/lib/forms/flatpickr/flatpickr.component.mjs +0 -55
  75. package/esm2022/lib/forms/forms.module.mjs +0 -132
  76. package/esm2022/lib/forms/radio/radio.component.mjs +0 -349
  77. package/esm2022/lib/forms/segment/segment-control/segment-control.component.mjs +0 -65
  78. package/esm2022/lib/forms/segment/segment.component.mjs +0 -139
  79. package/esm2022/lib/forms/select/chip-text.pipe.mjs +0 -39
  80. package/esm2022/lib/forms/select/select-option/select-option.component.mjs +0 -23
  81. package/esm2022/lib/forms/select/select.component.mjs +0 -273
  82. package/esm2022/lib/forms/slider/slider.component.mjs +0 -117
  83. package/esm2022/lib/forms/switch/switch.component.mjs +0 -121
  84. package/esm2022/lib/forms/text-area/text-area.component.mjs +0 -187
  85. package/esm2022/lib/forms/text-editor/text-editor.component.mjs +0 -307
  86. package/esm2022/lib/forms/text-input/text-input.component.mjs +0 -208
  87. package/esm2022/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +0 -107
  88. package/esm2022/lib/forms/time-picker/time-picker.component.mjs +0 -204
  89. package/esm2022/lib/forms/unique-selection-dispatcher.mjs +0 -41
  90. package/esm2022/lib/forms/value-accessor-base.mjs +0 -41
  91. package/esm2022/lib/modals/alert/alert.component.mjs +0 -55
  92. package/esm2022/lib/modals/confirm/confirm.component.mjs +0 -56
  93. package/esm2022/lib/modals/custom-modal/custom-modal.component.mjs +0 -88
  94. package/esm2022/lib/modals/image-gallery/image-gallery.component.mjs +0 -80
  95. package/esm2022/lib/modals/index.mjs +0 -2
  96. package/esm2022/lib/modals/modal.service.mjs +0 -118
  97. package/esm2022/lib/modals/modals.module.mjs +0 -27
  98. package/esm2022/lib/modals/prompt/prompt.component.mjs +0 -114
  99. package/esm2022/lib/pipes/safe-html.pipe.mjs +0 -21
  100. package/esm2022/public-api.mjs +0 -66
@@ -1,307 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, SecurityContext, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';
2
- import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
3
- import QuillType from 'quill';
4
- import { DragDropModule } from '@angular/cdk/drag-drop';
5
- import { ObserversModule } from '@angular/cdk/observers';
6
- import { OverlayModule } from '@angular/cdk/overlay';
7
- import { ScrollingModule } from '@angular/cdk/scrolling';
8
- import { CommonModule } from '@angular/common';
9
- import Delta from 'quill-delta';
10
- import { FngValueAccessorBaseDirective } from '../value-accessor-base';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/platform-browser";
13
- import * as i2 from "@angular/common";
14
- import * as i3 from "@angular/forms";
15
- export class FngTextEditorComponent extends FngValueAccessorBaseDirective {
16
- set value(value) {
17
- if (this.innerValue !== value) {
18
- this.innerValue = value;
19
- this.changed.forEach(f => {
20
- this.fngChange.emit(this.innerValue);
21
- this.change.emit(this.innerValue);
22
- return f(value);
23
- });
24
- }
25
- }
26
- get value() {
27
- return this.innerValue;
28
- }
29
- constructor(elementRef, renderer, domSanitizer) {
30
- super();
31
- this.elementRef = elementRef;
32
- this.renderer = renderer;
33
- this.domSanitizer = domSanitizer;
34
- this.defaultConfig = {
35
- toolbar: {
36
- bold: true,
37
- italic: true,
38
- underline: true,
39
- alignCenter: false,
40
- alignRight: false,
41
- bulletList: true,
42
- orderedList: true,
43
- image: true,
44
- link: true
45
- },
46
- sanitizing: {
47
- sanitizingFn: undefined,
48
- skipDefaultSanitizing: false,
49
- skipWhitespaceHandling: false
50
- },
51
- focusCursorToEndOnWrite: true
52
- };
53
- this.fngChange = new EventEmitter();
54
- this.change = new EventEmitter();
55
- this.config = this.defaultConfig;
56
- this.readOnly = false;
57
- this.maxLength = 0;
58
- // needed to access editor content
59
- this.valueGetter = (editorElement) => {
60
- let html = editorElement?.querySelector('.ql-editor')?.innerHTML;
61
- if (html === '<p><br></p>' || html === '<div><br></div>') {
62
- html = undefined;
63
- }
64
- return html;
65
- };
66
- // needed to access editor content
67
- this.valueSetter = (quillEditor, value) => {
68
- const sanitizeConfig = this.config?.sanitizing || this.defaultConfig.sanitizing;
69
- if (sanitizeConfig?.sanitizingFn) {
70
- value = sanitizeConfig.sanitizingFn(this.domSanitizer, value);
71
- }
72
- if (sanitizeConfig && !sanitizeConfig.skipDefaultSanitizing) {
73
- value = this.domSanitizer.sanitize(SecurityContext.HTML, value);
74
- }
75
- if (sanitizeConfig && !sanitizeConfig.skipWhitespaceHandling) {
76
- value = this.handleWhitespace(value);
77
- }
78
- return quillEditor.clipboard.convert({ html: value });
79
- };
80
- }
81
- ngOnInit() {
82
- this.id = (Math.random() * Date.now()).toString().replace('.', '-');
83
- }
84
- ngAfterViewInit() {
85
- this.editorElem = this.elementRef.nativeElement.querySelector(`#editor-${this.id}`);
86
- this.quillEditor = new QuillType(this.editorElem, {
87
- modules: { toolbar: `#editor-toolbar-${this.id}`, ...this.modules },
88
- theme: 'snow'
89
- });
90
- this.setEditorLabel();
91
- this.addWhitespaceMatcher();
92
- this.addImageMatcher();
93
- const content = this.valueSetter(this.quillEditor, this.innerValue || '');
94
- this.quillEditor.setContents(content, 'silent');
95
- this.quillEditor.getModule('history').clear();
96
- this.handle();
97
- this.quillEditor.on('text-change', () => {
98
- this.value = this.valueGetter(this.editorElem);
99
- });
100
- }
101
- ngOnChanges(changes) {
102
- if (changes?.['config']?.currentValue != null) {
103
- this.config = {
104
- toolbar: { ...this.defaultConfig.toolbar, ...changes['config'].currentValue?.toolbar },
105
- sanitizing: { ...this.defaultConfig.sanitizing, ...changes['config'].currentValue?.sanitizing }
106
- };
107
- }
108
- if (!this.quillEditor) {
109
- return;
110
- }
111
- this.handle();
112
- }
113
- writeValue(value) {
114
- this.innerValue = value;
115
- if (!this.quillEditor) {
116
- return;
117
- }
118
- const content = this.valueSetter(this.quillEditor, value || '');
119
- this.quillEditor.setContents(content);
120
- if (this.config?.focusCursorToEndOnWrite) {
121
- // when new content gets written we always set cursor focus to end of text
122
- this.quillEditor.setSelection(Number.MAX_SAFE_INTEGER, 0);
123
- }
124
- }
125
- setDisabledState(isDisabled = this.disabled) {
126
- this.disabled = isDisabled;
127
- if (this.quillEditor) {
128
- if (isDisabled) {
129
- this.quillEditor.disable();
130
- this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', 'disabled');
131
- }
132
- else {
133
- if (!this.readOnly) {
134
- this.quillEditor.enable();
135
- }
136
- this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');
137
- }
138
- }
139
- }
140
- setReadOnlyState() {
141
- this.quillEditor.enable(!this.readOnly);
142
- }
143
- delegate(event, action) {
144
- let btn = undefined;
145
- switch (action) {
146
- case 'bold':
147
- btn = this.btnBold?.nativeElement;
148
- btn?.click();
149
- break;
150
- case 'italic':
151
- btn = this.btnItalic?.nativeElement;
152
- btn?.click();
153
- break;
154
- case 'underline':
155
- btn = this.btnUnderline?.nativeElement;
156
- btn?.click();
157
- break;
158
- case 'align-center':
159
- btn = this.btnAlignCenter?.nativeElement;
160
- btn?.click();
161
- break;
162
- case 'align-right':
163
- btn = this.btnAlignRight?.nativeElement;
164
- btn?.click();
165
- break;
166
- case 'link':
167
- btn = this.btnLink?.nativeElement;
168
- btn?.click();
169
- break;
170
- case 'ul':
171
- btn = this.btnUl?.nativeElement;
172
- btn?.click();
173
- break;
174
- case 'ol':
175
- btn = this.btnOl?.nativeElement;
176
- btn?.click();
177
- break;
178
- case 'image':
179
- btn = this.btnImage?.nativeElement;
180
- btn?.click();
181
- break;
182
- default:
183
- break;
184
- }
185
- }
186
- currentLength() {
187
- return this.value?.length || 0;
188
- }
189
- hideDivider(name) {
190
- const linkOrImage = this.config.toolbar?.image || this.config.toolbar?.link;
191
- const lists = this.config.toolbar?.bulletList || this.config.toolbar?.orderedList;
192
- const typos = this.config.toolbar?.bold || this.config.toolbar?.italic || this.config.toolbar?.underline;
193
- const textAlign = this.config.toolbar?.alignCenter || this.config.toolbar?.alignRight;
194
- switch (name) {
195
- case 'typo':
196
- return !typos || (!textAlign && !linkOrImage && !lists);
197
- case 'text-align':
198
- return !textAlign || (!linkOrImage && !lists);
199
- case 'lists':
200
- return !lists || !linkOrImage;
201
- case 'image':
202
- return !this.config.toolbar?.image || !this.config.toolbar.link;
203
- default:
204
- return false;
205
- }
206
- }
207
- setEditorLabel() {
208
- const editorDiv = this.elementRef.nativeElement.querySelector('.ql-editor');
209
- this.renderer.setAttribute(editorDiv, 'role', 'textbox');
210
- this.renderer.setAttribute(editorDiv, 'aria-labelledby', `editor-label-${this.id}`);
211
- this.renderer.setAttribute(editorDiv, 'aria-multiline', 'true');
212
- }
213
- handle() {
214
- this.setReadOnlyState();
215
- this.setDisabledState();
216
- }
217
- addWhitespaceMatcher() {
218
- // set up a matcher that replaces placeholder ###tab### with \t in delta again
219
- this.quillEditor.clipboard.addMatcher('P', (_node, delta) => {
220
- let str = JSON.stringify(delta);
221
- str = str.replace(/###tab###/g, '\\t');
222
- delta = JSON.parse(str);
223
- return delta;
224
- });
225
- }
226
- addImageMatcher() {
227
- // set up a matcher that does allow/disallow to paste images corresponding to config settings
228
- this.quillEditor.clipboard.addMatcher('IMG', (_node, delta) => {
229
- // allowed, passthru delta
230
- if (this.config.toolbar?.image === true) {
231
- return delta;
232
- }
233
- // not allowed, remove image by setting up a new delta
234
- return new Delta().insert('');
235
- });
236
- }
237
- handleWhitespace(value) {
238
- // set a placeholder for tab entity to avoid that quill removes it
239
- return value.replace(/&#9;/gi, '###tab###');
240
- }
241
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngTextEditorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
242
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngTextEditorComponent, isStandalone: true, selector: "fng-text-editor", inputs: { config: "config", modules: "modules", label: "label", readOnly: "readOnly", maxLength: "maxLength", error: "error", hint: "hint", value: "value" }, outputs: { fngChange: "fngChange", change: "change" }, providers: [
243
- {
244
- provide: NG_VALUE_ACCESSOR,
245
- useExisting: forwardRef(() => FngTextEditorComponent),
246
- multi: true
247
- }
248
- ], viewQueries: [{ propertyName: "btnBold", first: true, predicate: ["btnBold"], descendants: true }, { propertyName: "btnItalic", first: true, predicate: ["btnItalic"], descendants: true }, { propertyName: "btnUnderline", first: true, predicate: ["btnUnderline"], descendants: true }, { propertyName: "btnAlignCenter", first: true, predicate: ["btnAlignCenter"], descendants: true }, { propertyName: "btnAlignRight", first: true, predicate: ["btnAlignRight"], descendants: true }, { propertyName: "btnLink", first: true, predicate: ["btnLink"], descendants: true }, { propertyName: "btnUl", first: true, predicate: ["btnUl"], descendants: true }, { propertyName: "btnOl", first: true, predicate: ["btnOl"], descendants: true }, { propertyName: "btnImage", first: true, predicate: ["btnImage"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label class=\"fwe-input-text\" [class.fwe-disabled]=\"disabled\">\n <div class=\"fng-editor-toolbar\" [id]=\"'editor-toolbar-' + id\">\n <span class=\"ql-formats fwe-d-none\">\n <select class=\"ql-size\" aria-hidden=\"true\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n <span class=\"ql-formats fng-editor-toolbar-buttons-container fwe-mr-3\">\n <ng-container *ngIf=\"config?.toolbar?.bold\">\n <button type=\"button\" #btnBold class=\"ql-bold fwe-d-none action-bold\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline || config.toolbar?.italic\"\n (click)=\"delegate($event, 'bold')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-bold\">B</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.italic\">\n <button type=\"button\" #btnItalic class=\"ql-italic fwe-d-none action-italic\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline\"\n (click)=\"delegate($event, 'italic')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-italic\">I</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.underline\">\n <button type=\"button\" #btnUnderline class=\"ql-underline fwe-d-none action-underline\" aria-hidden=\"true\"></button>\n <button type=\"button\" class=\"fwe-btn fng-button\" (click)=\"delegate($event, 'underline')\" [disabled]=\"disabled\">\n <div class=\"fng-button-text fng-text-underline\">U</div>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('typo')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.alignCenter\">\n <button type=\"button\" #btnAlignCenter class=\"ql-align fwe-d-none action-align-center\" aria-hidden=\"true\" value=\"center\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.alignRight\"\n (click)=\"delegate($event, 'align-center')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fng-icon-svg-text-align-center\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"config?.toolbar?.alignRight\">\n <button type=\"button\" #btnAlignRight class=\"ql-align fwe-d-none action-align-right\" aria-hidden=\"true\" value=\"right\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n (click)=\"delegate($event, 'align-right')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fng-icon-svg-text-align-right\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('text-align')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.bulletList\">\n <button type=\"button\" #btnUl class=\"ql-list fwe-d-none action-ul\" aria-hidden=\"true\" value=\"bullet\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.orderedList\"\n (click)=\"delegate($event, 'ul')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fng-icon-svg-list-view\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.orderedList\">\n <button type=\"button\" #btnOl class=\"ql-list fwe-d-none action-ol\" aria-hidden=\"true\" value=\"ordered\"></button>\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'ol')\" [disabled]=\"disabled\">\n <i class=\"fng-icon-svg-enumeration\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('lists')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.image\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'image')\" [disabled]=\"disabled\">\n <i class=\"fng-icon-svg-image\"></i>\n </button>\n <button type=\"button\" #btnImage class=\"ql-image fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('image')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.link\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'link')\" [disabled]=\"disabled\">\n <i class=\"fng-icon-svg-link\"></i>\n </button>\n <button type=\"button\" #btnLink class=\"ql-link fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n </span>\n </div>\n <div class=\"fng-editor-container\" [id]=\"'editor-container-' + id\">\n <div class=\"fng-editor\" [id]=\"'editor-' + id\"></div>\n </div>\n <span class=\"fwe-input-text-label\" [id]=\"'editor-label-' + id\">{{ label }}</span>\n <span *ngIf=\"hint\" class=\"fng-text-editor-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fng-text-editor-invalid\">{{ error }}</span>\n <span *ngIf=\"maxLength > 0 && value != null\" class=\"fwe-input-text-count\">{{ currentLength() }} / {{ maxLength }}</span>\n</label>\n", styles: ["@charset \"UTF-8\";.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set: none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:\"\\2022\"}.ql-editor li[data-list=checked]>.ql-ui:before{content:\"\\2611\"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:\"\\2610\"}@supports (counter-set: none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) \". \"}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:\"\";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:\"Sans Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:\"Small\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:\"Large\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:\"Edit\";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:\"Remove\";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:\"Save\";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]:before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}fng-text-editor .fng-divider-y{display:inline-flex;flex:0 0 1px;height:24px;width:1px;background-color:var(--fwe-gray-400)}fng-text-editor .fng-editor{min-height:100%}fng-text-editor .fng-editor-container{order:2;height:160px;min-height:100%;overflow-y:auto;padding-top:4px;padding-bottom:4px;padding-left:8px;border:var(--fwe-control-border) solid 1px}@-moz-document url-prefix(){fng-text-editor .fng-editor-container{scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) transparent}}@media (pointer: fine){fng-text-editor .fng-editor-container::-webkit-scrollbar{width:14px}fng-text-editor .fng-editor-container::-webkit-scrollbar-track{background:transparent}fng-text-editor .fng-editor-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}fng-text-editor .fng-editor-container:hover{border-color:var(--fwe-hero)}fng-text-editor .fng-editor-container[contenteditable=true]{outline:none}fng-text-editor .fng-editor-container[contenteditable=true]:focus{border-color:var(--fwe-hero)}fng-text-editor label.fwe-input-text{line-height:24px}fng-text-editor label.fwe-input-text .fwe-input-text-count{display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;right:0;bottom:0;z-index:1;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text .fwe-input-text-label{order:-1}fng-text-editor label.fwe-input-text .fng-text-editor-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;left:0;top:unset;bottom:0;z-index:2;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text.fwe-disabled{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fwe-input-text-label{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container:hover{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-divider-y{background-color:var(--fwe-text-disabled)}fng-text-editor .fng-text-editor-invalid{display:none;line-height:1.5;position:absolute;left:0;bottom:0;z-index:2;color:var(--fwe-red);font-size:var(--fwe-font-size-small)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor{box-shadow:none;outline:none}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info:after{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor-container{border-color:var(--fwe-red)}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-info{display:none!important}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-invalid{display:block!important}fng-text-editor .fng-text-bold{font-weight:var(--fwe-font-weight-bold)}fng-text-editor .fng-text-italic{font-style:italic}fng-text-editor .fng-text-underline{text-decoration:underline}fng-text-editor .fng-icon-svg-list-view{display:inline-block;min-width:16px;height:16px;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9Imxpc3Rfdmlld18xNi1nIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4IDgpIj4NCiAgICA8ZyBpZD0ibGlzdF92aWV3XzE2LWctMiIgZGF0YS1uYW1lPSJsaXN0X3ZpZXdfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTY2IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk2NiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5NjciIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTY3IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDMpIiBmaWxsPSIjMzMzIi8+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5NjgiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTY4IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSAzKSIgZmlsbD0iIzMzMyIvPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTY5IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk2OSIgd2lkdGg9IjIiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSA3KSIgZmlsbD0iIzMzMyIvPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTcwIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk3MCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUgNykiIGZpbGw9IiMzMzMiLz4NCiAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk3MSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5NzEiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMTEpIiBmaWxsPSIjMzMzIi8+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5NzIiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTcyIiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSAxMSkiIGZpbGw9IiMzMzMiLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K)}fng-text-editor .fng-icon-svg-list-view.fng-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9Imxpc3Rfdmlld18xNi1nIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4IDgpIj4NCiAgICA8ZyBpZD0ibGlzdF92aWV3XzE2LWctMiIgZGF0YS1uYW1lPSJsaXN0X3ZpZXdfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTgwIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk4MCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5ODEiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTgxIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDMpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5ODIiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTgyIiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSAzKSIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTgzIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk4MyIgd2lkdGg9IjIiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSA3KSIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTg0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk4NCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUgNykiIGZpbGw9IiNiOWJhYmIiLz4NCiAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk4NSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5ODUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMTEpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5ODYiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTg2IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSAxMSkiIGZpbGw9IiNiOWJhYmIiLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K)}fng-text-editor .fng-icon-svg-enumeration{display:inline-block;min-width:16px;height:16px;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImVudW1lcmF0aW9uXzE2LWciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDggOCkiPg0KICAgIDxnIGlkPSJlbnVtZXJhdGlvbl8xNi1nLTIiIGRhdGEtbmFtZT0iZW51bWVyYXRpb25fMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5OTQiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTk0IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNiAzKSIgZmlsbD0iIzMzMyIvPg0KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk5NSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5OTUiIHdpZHRoPSIxMCIgaGVpZ2h0PSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2IDcpIiBmaWxsPSIjMzMzIi8+DQogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTk2IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk5NiIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYgMTEpIiBmaWxsPSIjMzMzIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8zNjM2NSIgZGF0YS1uYW1lPSJQYXRoIDM2MzY1IiBkPSJNMi4xNCwxMS45NjlsLjItLjFjLjMtLjE4Ljc1Ny0uNDEzLDEuMDI3LS42MTVhMS40NzUsMS40NzUsMCwwLDAsLjcwNS0xLjIxNWMwLS43MzUtLjU3LTEuMjMtMS40NjMtMS4yM2EyLjY4NCwyLjY4NCwwLDAsMC0xLjg5Ljc0MmwuNi42MjJhMS41OCwxLjU4LDAsMCwxLDEuMDItLjQ4Yy4zNTIsMCwuNi4xNzMuNi41LDAsLjM0NS0uMjYyLjY4My0xLjMsMS4yNjgtLjQ0My4yNTUtLjUxLjI1NS0uNjM3LjM5VjEzSDMuOTkybC4yMTgtMVMyLjMsMTEuOTQ2LDIuMTQsMTEuOTY5WiIgZmlsbD0iIzMzMyIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMzYzNjYiIGRhdGEtbmFtZT0iUGF0aCAzNjM2NiIgZD0iTTIsNC4xMThWNkgxVjdINFY2SDNWM0gyLjNMLjgwNiw0LjAxN2wuMjYzLjUyM0E0LjYxNCw0LjYxNCwwLDAsMCwyLDQuMTE4WiIgZmlsbD0iIzMzMyIvPg0KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk5NyIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5OTciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+DQo=)}fng-text-editor .fng-icon-svg-enumeration.fng-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImVudW1lcmF0aW9uXzE2LWciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDggOCkiPg0KICAgIDxnIGlkPSJlbnVtZXJhdGlvbl8xNi1nLTIiIGRhdGEtbmFtZT0iZW51bWVyYXRpb25fMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5OTQiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTk0IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNiAzKSIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk5NSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5OTUiIHdpZHRoPSIxMCIgaGVpZ2h0PSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2IDcpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTk2IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk5NiIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYgMTEpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8zNjM2NSIgZGF0YS1uYW1lPSJQYXRoIDM2MzY1IiBkPSJNMi4xNCwxMS45NjlsLjItLjFjLjMtLjE4Ljc1Ny0uNDEzLDEuMDI3LS42MTVhMS40NzUsMS40NzUsMCwwLDAsLjcwNS0xLjIxNWMwLS43MzUtLjU3LTEuMjMtMS40NjMtMS4yM2EyLjY4NCwyLjY4NCwwLDAsMC0xLjg5Ljc0MmwuNi42MjJhMS41OCwxLjU4LDAsMCwxLDEuMDItLjQ4Yy4zNTIsMCwuNi4xNzMuNi41LDAsLjM0NS0uMjYyLjY4My0xLjMsMS4yNjgtLjQ0My4yNTUtLjUxLjI1NS0uNjM3LjM5VjEzSDMuOTkybC4yMTgtMVMyLjMsMTEuOTQ2LDIuMTQsMTEuOTY5WiIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMzYzNjYiIGRhdGEtbmFtZT0iUGF0aCAzNjM2NiIgZD0iTTIsNC4xMThWNkgxVjdINFY2SDNWM0gyLjNMLjgwNiw0LjAxN2wuMjYzLjUyM0E0LjYxNCw0LjYxNCwwLDAsMCwyLDQuMTE4WiIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk5NyIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5OTciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+DQo=)}fng-text-editor .fng-icon-svg-image{display:inline-block;min-width:16px;height:16px;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImltYWdlXzE2LWciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDggOCkiPg0KICAgIDxnIGlkPSJpbWFnZV8xNi1nLTIiIGRhdGEtbmFtZT0iaW1hZ2VfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI1MDAyIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNTAwMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzY5IiBkYXRhLW5hbWU9IlBhdGggMzYzNjkiIGQ9Ik0xNCwzVjEzSDJWM0gxNG0xLTFIMVYxNEgxNVoiIGZpbGw9IiMzMzMiLz4NCiAgICAgICAgPGNpcmNsZSBpZD0iRWxsaXBzZV8xMzU1IiBkYXRhLW5hbWU9IkVsbGlwc2UgMTM1NSIgY3g9IjEuNSIgY3k9IjEuNSIgcj0iMS41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDQpIiBmaWxsPSIjMzMzIi8+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzcwIiBkYXRhLW5hbWU9IlBhdGggMzYzNzAiIGQ9Ik05LjUsN2wtMyw0TDUsOS41LDMsMTJIMTNaIiBmaWxsPSIjMzMzIi8+DQogICAgICA8L2c+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4NCg==)}fng-text-editor .fng-icon-svg-image.fng-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImltYWdlXzE2LWciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDggOCkiPg0KICAgIDxnIGlkPSJpbWFnZV8xNi1nLTIiIGRhdGEtbmFtZT0iaW1hZ2VfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI1MDAyIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNTAwMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzY5IiBkYXRhLW5hbWU9IlBhdGggMzYzNjkiIGQ9Ik0xNCwzVjEzSDJWM0gxNG0xLTFIMVYxNEgxNVoiIGZpbGw9IiNiOWJhYmIiLz4NCiAgICAgICAgPGNpcmNsZSBpZD0iRWxsaXBzZV8xMzU1IiBkYXRhLW5hbWU9IkVsbGlwc2UgMTM1NSIgY3g9IjEuNSIgY3k9IjEuNSIgcj0iMS41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDQpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzcwIiBkYXRhLW5hbWU9IlBhdGggMzYzNzAiIGQ9Ik05LjUsN2wtMyw0TDUsOS41LDMsMTJIMTNaIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICA8L2c+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4NCg==)}fng-text-editor .fng-icon-svg-link{display:inline-block;min-width:16px;height:16px;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImxpbmtfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA4KSI+DQogICAgPGcgaWQ9ImxpbmtfMTYtZy0yIiBkYXRhLW5hbWU9ImxpbmtfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI1MDA0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNTAwNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzczIiBkYXRhLW5hbWU9IlBhdGggMzYzNzMiIGQ9Ik01LjMsNy41MzdhMi40OCwyLjQ4LDAsMCwxLC43MzItMS43NjhMOS4yLDIuNmEyLjUsMi41LDAsMCwxLDMuNTM1LDBsLjE3Mi4xNzJhMi41LDIuNSwwLDAsMSwwLDMuNTM1bC0uNTg2LjU4Ni0uNzA3LS43MDdMMTIuMiw1LjZhMS41LDEuNSwwLDAsMCwwLTIuMTIxTDEyLjAyOSwzLjNhMS41LDEuNSwwLDAsMC0yLjEyMSwwTDYuNzM2LDYuNDc2YTEuNTM2LDEuNTM2LDAsMCwwLDAsMi4xMjFsLjU4Ni41ODYtLjcwNy43MDdMNi4wMjksOS4zQTIuNDgsMi40OCwwLDAsMSw1LjMsNy41MzdaIiBmaWxsPSIjMzMzIi8+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2Mzc0IiBkYXRhLW5hbWU9IlBhdGggMzYzNzQiIGQ9Ik0yLjM2MiwxMS40NjJhMi40ODQsMi40ODQsMCwwLDEsLjczMi0xLjc2OGwuNTg2LS41ODYuNzA3LjcwN0wzLjgsMTAuNGExLjUzNSwxLjUzNSwwLDAsMCwwLDIuMTIxbC4xNzIuMTcyYTEuNSwxLjUsMCwwLDAsMi4xMjEsMGgwTDkuMjY1LDkuNTIyYTEuNTM2LDEuNTM2LDAsMCwwLDAtMi4xMjFsLS41ODYtLjU4Ni43MDctLjcwNy41ODYuNTg2YTIuNTU5LDIuNTU5LDAsMCwxLDAsMy41MzVMNi44LDEzLjRhMi41LDIuNSwwLDAsMS0zLjUzNCwwaDBsLS4xNzItLjE3MmEyLjQ4LDIuNDgsMCwwLDEtLjczMi0xLjc2OFoiIGZpbGw9IiMzMzMiLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K)}fng-text-editor .fng-icon-svg-link.fng-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImxpbmtfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA4KSI+DQogICAgPGcgaWQ9ImxpbmtfMTYtZy0yIiBkYXRhLW5hbWU9ImxpbmtfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI1MDA0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNTAwNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzczIiBkYXRhLW5hbWU9IlBhdGggMzYzNzMiIGQ9Ik01LjMsNy41MzdhMi40OCwyLjQ4LDAsMCwxLC43MzItMS43NjhMOS4yLDIuNmEyLjUsMi41LDAsMCwxLDMuNTM1LDBsLjE3Mi4xNzJhMi41LDIuNSwwLDAsMSwwLDMuNTM1bC0uNTg2LjU4Ni0uNzA3LS43MDdMMTIuMiw1LjZhMS41LDEuNSwwLDAsMCwwLTIuMTIxTDEyLjAyOSwzLjNhMS41LDEuNSwwLDAsMC0yLjEyMSwwTDYuNzM2LDYuNDc2YTEuNTM2LDEuNTM2LDAsMCwwLDAsMi4xMjFsLjU4Ni41ODYtLjcwNy43MDdMNi4wMjksOS4zQTIuNDgsMi40OCwwLDAsMSw1LjMsNy41MzdaIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2Mzc0IiBkYXRhLW5hbWU9IlBhdGggMzYzNzQiIGQ9Ik0yLjM2MiwxMS40NjJhMi40ODQsMi40ODQsMCwwLDEsLjczMi0xLjc2OGwuNTg2LS41ODYuNzA3LjcwN0wzLjgsMTAuNGExLjUzNSwxLjUzNSwwLDAsMCwwLDIuMTIxbC4xNzIuMTcyYTEuNSwxLjUsMCwwLDAsMi4xMjEsMGgwTDkuMjY1LDkuNTIyYTEuNTM2LDEuNTM2LDAsMCwwLDAtMi4xMjFsLS41ODYtLjU4Ni43MDctLjcwNy41ODYuNTg2YTIuNTU5LDIuNTU5LDAsMCwxLDAsMy41MzVMNi44LDEzLjRhMi41LDIuNSwwLDAsMS0zLjUzNCwwaDBsLS4xNzItLjE3MmEyLjQ4LDIuNDgsMCwwLDEtLjczMi0xLjc2OFoiIGZpbGw9IiNiOWJhYmIiLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K)}fng-text-editor .fng-icon-svg-text-align-center{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-svg-text-align-center.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-svg-text-align-right{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-svg-text-align-right.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-editor-container{background:#fff;padding-right:8px}fng-text-editor .ql-tooltip{z-index:var(--fwe-z-index-tooltip)}fng-text-editor .ql-editor{font-family:var(--fwe-font-family-sans-serif);font-size:var(--fwe-font-size-base);padding:0;min-height:72px;overflow-x:hidden}fng-text-editor .ql-editor p::selection,fng-text-editor .ql-editor strong::selection,fng-text-editor .ql-editor em::selection,fng-text-editor .ql-editor u::selection,fng-text-editor .ql-editor ul::selection,fng-text-editor .ql-editor ol::selection,fng-text-editor .ql-editor li::selection,fng-text-editor .ql-editor a::selection{background:var(--fwe-sucaerul)}fng-text-editor .ql-container.ql-snow{border:0;background-color:var(--fwe-white)}fng-text-editor .ql-container.ql-snow .ql-tooltip{transform:translate(160px,12px);color:var(--fwe-black);box-shadow:-1px 1px 4px -1px #3333;border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input{border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input::selection{background:var(--fwe-sucaerul)}fng-text-editor .ql-container.ql-snow a{color:var(--fwe-caerul)}fng-text-editor .ql-toolbar.ql-snow{border:0;padding:4px 0}fng-text-editor .ql-toolbar.ql-snow .ql-formats.fng-editor-toolbar-buttons-container{display:flex;align-items:center;flex-wrap:wrap}fng-text-editor .ql-toolbar.ql-snow button{line-height:normal;box-sizing:border-box;display:inline-flex;text-align:center;padding:0 8px;height:32px;min-height:unset;color:var(--fwe-black);background:none;border-radius:4px;cursor:pointer;border:none;width:unset;max-width:24px;justify-content:center;align-items:center;float:unset}@media (hover: hover) and (pointer: fine){fng-text-editor .ql-toolbar.ql-snow button:hover{background-color:var(--fwe-control-hover);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-active)}fng-text-editor .ql-toolbar.ql-snow button.ql-active+button{background-color:var(--fwe-control)}fng-text-editor .ql-toolbar.ql-snow button.fng-btn-toolbar-list{padding:0 6px}fng-text-editor .ql-toolbar.ql-snow button.fng-button i{pointer-events:none}fng-text-editor .ql-toolbar.ql-snow button.fng-button div{pointer-events:none}fng-text-editor .ql-toolbar .fng-button-text{min-width:12px;line-height:16px}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar{pointer-events:none}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar button{color:var(--fwe-text-disabled)}\n/*!\n * Quill Editor v2.0.3\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "ngmodule", type: ScrollingModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "ngmodule", type: ObserversModule }], encapsulation: i0.ViewEncapsulation.None }); }
249
- }
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngTextEditorComponent, decorators: [{
251
- type: Component,
252
- args: [{ standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule, CommonModule, OverlayModule, ScrollingModule, DragDropModule, ObserversModule], selector: 'fng-text-editor', encapsulation: ViewEncapsulation.None, providers: [
253
- {
254
- provide: NG_VALUE_ACCESSOR,
255
- useExisting: forwardRef(() => FngTextEditorComponent),
256
- multi: true
257
- }
258
- ], template: "<label class=\"fwe-input-text\" [class.fwe-disabled]=\"disabled\">\n <div class=\"fng-editor-toolbar\" [id]=\"'editor-toolbar-' + id\">\n <span class=\"ql-formats fwe-d-none\">\n <select class=\"ql-size\" aria-hidden=\"true\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n <span class=\"ql-formats fng-editor-toolbar-buttons-container fwe-mr-3\">\n <ng-container *ngIf=\"config?.toolbar?.bold\">\n <button type=\"button\" #btnBold class=\"ql-bold fwe-d-none action-bold\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline || config.toolbar?.italic\"\n (click)=\"delegate($event, 'bold')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-bold\">B</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.italic\">\n <button type=\"button\" #btnItalic class=\"ql-italic fwe-d-none action-italic\" aria-hidden=\"true\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.underline\"\n (click)=\"delegate($event, 'italic')\"\n [disabled]=\"disabled\"\n >\n <div class=\"fng-button-text fng-text-italic\">I</div>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.underline\">\n <button type=\"button\" #btnUnderline class=\"ql-underline fwe-d-none action-underline\" aria-hidden=\"true\"></button>\n <button type=\"button\" class=\"fwe-btn fng-button\" (click)=\"delegate($event, 'underline')\" [disabled]=\"disabled\">\n <div class=\"fng-button-text fng-text-underline\">U</div>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('typo')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.alignCenter\">\n <button type=\"button\" #btnAlignCenter class=\"ql-align fwe-d-none action-align-center\" aria-hidden=\"true\" value=\"center\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.alignRight\"\n (click)=\"delegate($event, 'align-center')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fng-icon-svg-text-align-center\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <ng-container *ngIf=\"config?.toolbar?.alignRight\">\n <button type=\"button\" #btnAlignRight class=\"ql-align fwe-d-none action-align-right\" aria-hidden=\"true\" value=\"right\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n (click)=\"delegate($event, 'align-right')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fng-icon-svg-text-align-right\" [class.fng-gray]=\"disabled\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('text-align')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.bulletList\">\n <button type=\"button\" #btnUl class=\"ql-list fwe-d-none action-ul\" aria-hidden=\"true\" value=\"bullet\"></button>\n <button\n type=\"button\"\n class=\"fwe-btn fng-btn-toolbar-list fng-button\"\n [class.fwe-mr-3]=\"config.toolbar?.orderedList\"\n (click)=\"delegate($event, 'ul')\"\n [disabled]=\"disabled\"\n >\n <i class=\"fng-icon-svg-list-view\"></i>\n </button>\n </ng-container>\n <ng-container *ngIf=\"config?.toolbar?.orderedList\">\n <button type=\"button\" #btnOl class=\"ql-list fwe-d-none action-ol\" aria-hidden=\"true\" value=\"ordered\"></button>\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'ol')\" [disabled]=\"disabled\">\n <i class=\"fng-icon-svg-enumeration\"></i>\n </button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('lists')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.image\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'image')\" [disabled]=\"disabled\">\n <i class=\"fng-icon-svg-image\"></i>\n </button>\n <button type=\"button\" #btnImage class=\"ql-image fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n\n <div *ngIf=\"!hideDivider('image')\" class=\"fng-divider-y fwe-mx-4\"></div>\n\n <ng-container *ngIf=\"config?.toolbar?.link\">\n <button type=\"button\" class=\"fwe-btn fng-btn-toolbar-list fng-button\" (click)=\"delegate($event, 'link')\" [disabled]=\"disabled\">\n <i class=\"fng-icon-svg-link\"></i>\n </button>\n <button type=\"button\" #btnLink class=\"ql-link fwe-d-none\" aria-hidden=\"true\"></button>\n </ng-container>\n </span>\n </div>\n <div class=\"fng-editor-container\" [id]=\"'editor-container-' + id\">\n <div class=\"fng-editor\" [id]=\"'editor-' + id\"></div>\n </div>\n <span class=\"fwe-input-text-label\" [id]=\"'editor-label-' + id\">{{ label }}</span>\n <span *ngIf=\"hint\" class=\"fng-text-editor-info\">{{ hint }}</span>\n <span *ngIf=\"error\" class=\"fng-text-editor-invalid\">{{ error }}</span>\n <span *ngIf=\"maxLength > 0 && value != null\" class=\"fwe-input-text-count\">{{ currentLength() }} / {{ maxLength }}</span>\n</label>\n", styles: ["@charset \"UTF-8\";.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set: none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:\"\\2022\"}.ql-editor li[data-list=checked]>.ql-ui:before{content:\"\\2611\"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:\"\\2610\"}@supports (counter-set: none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) \". \"}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) \". \"}@supports (counter-set: none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set: none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer: coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:\"\";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:\"Sans Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:\"Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:\"Monospace\"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:\"Normal\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:\"Small\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:\"Large\"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:\"Huge\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:\"Edit\";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:\"Remove\";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:\"Save\";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]:before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}fng-text-editor .fng-divider-y{display:inline-flex;flex:0 0 1px;height:24px;width:1px;background-color:var(--fwe-gray-400)}fng-text-editor .fng-editor{min-height:100%}fng-text-editor .fng-editor-container{order:2;height:160px;min-height:100%;overflow-y:auto;padding-top:4px;padding-bottom:4px;padding-left:8px;border:var(--fwe-control-border) solid 1px}@-moz-document url-prefix(){fng-text-editor .fng-editor-container{scrollbar-width:thin;scrollbar-color:var(--fwe-control-scrollbar) transparent}}@media (pointer: fine){fng-text-editor .fng-editor-container::-webkit-scrollbar{width:14px}fng-text-editor .fng-editor-container::-webkit-scrollbar-track{background:transparent}fng-text-editor .fng-editor-container::-webkit-scrollbar-thumb{overflow:visible;background-color:var(--fwe-control-scrollbar);border:3px solid rgba(242,243,245,0);-webkit-background-clip:padding-box;background-clip:padding-box;border-radius:8px}}fng-text-editor .fng-editor-container:hover{border-color:var(--fwe-hero)}fng-text-editor .fng-editor-container[contenteditable=true]{outline:none}fng-text-editor .fng-editor-container[contenteditable=true]:focus{border-color:var(--fwe-hero)}fng-text-editor label.fwe-input-text{line-height:24px}fng-text-editor label.fwe-input-text .fwe-input-text-count{display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;right:0;bottom:0;z-index:1;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text .fwe-input-text-label{order:-1}fng-text-editor label.fwe-input-text .fng-text-editor-info{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:var(--fwe-line-height-base);position:absolute;left:0;top:unset;bottom:0;z-index:2;color:var(--fwe-text-disabled);font-size:var(--fwe-font-size-small)}fng-text-editor label.fwe-input-text.fwe-disabled{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fwe-input-text-label{color:var(--fwe-text-disabled)}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-editor-container:hover{border-color:var(--fwe-control-disabled)!important}fng-text-editor label.fwe-input-text.fwe-disabled .fng-divider-y{background-color:var(--fwe-text-disabled)}fng-text-editor .fng-text-editor-invalid{display:none;line-height:1.5;position:absolute;left:0;bottom:0;z-index:2;color:var(--fwe-red);font-size:var(--fwe-font-size-small)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor{box-shadow:none;outline:none}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled{border-bottom:1px solid var(--fwe-control-disabled)!important}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fwe-input-text-label:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-invalid:after,fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor:disabled~.fng-text-editor-info:after{color:var(--fwe-text-disabled)}fng-text-editor.ng-dirty.ng-invalid label.fwe-input-text .fng-editor-container{border-color:var(--fwe-red)}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-info{display:none!important}fng-text-editor.ng-dirty.ng-invalid .fng-text-editor-invalid{display:block!important}fng-text-editor .fng-text-bold{font-weight:var(--fwe-font-weight-bold)}fng-text-editor .fng-text-italic{font-style:italic}fng-text-editor .fng-text-underline{text-decoration:underline}fng-text-editor .fng-icon-svg-list-view{display:inline-block;min-width:16px;height:16px;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9Imxpc3Rfdmlld18xNi1nIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4IDgpIj4NCiAgICA8ZyBpZD0ibGlzdF92aWV3XzE2LWctMiIgZGF0YS1uYW1lPSJsaXN0X3ZpZXdfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTY2IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk2NiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5NjciIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTY3IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDMpIiBmaWxsPSIjMzMzIi8+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5NjgiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTY4IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSAzKSIgZmlsbD0iIzMzMyIvPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTY5IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk2OSIgd2lkdGg9IjIiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSA3KSIgZmlsbD0iIzMzMyIvPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTcwIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk3MCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUgNykiIGZpbGw9IiMzMzMiLz4NCiAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk3MSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5NzEiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMTEpIiBmaWxsPSIjMzMzIi8+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5NzIiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTcyIiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSAxMSkiIGZpbGw9IiMzMzMiLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K)}fng-text-editor .fng-icon-svg-list-view.fng-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9Imxpc3Rfdmlld18xNi1nIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4IDgpIj4NCiAgICA8ZyBpZD0ibGlzdF92aWV3XzE2LWctMiIgZGF0YS1uYW1lPSJsaXN0X3ZpZXdfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTgwIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk4MCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5ODEiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTgxIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDMpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5ODIiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTgyIiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSAzKSIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTgzIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk4MyIgd2lkdGg9IjIiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSA3KSIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTg0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk4NCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUgNykiIGZpbGw9IiNiOWJhYmIiLz4NCiAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk4NSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5ODUiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMTEpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5ODYiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTg2IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSAxMSkiIGZpbGw9IiNiOWJhYmIiLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K)}fng-text-editor .fng-icon-svg-enumeration{display:inline-block;min-width:16px;height:16px;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImVudW1lcmF0aW9uXzE2LWciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDggOCkiPg0KICAgIDxnIGlkPSJlbnVtZXJhdGlvbl8xNi1nLTIiIGRhdGEtbmFtZT0iZW51bWVyYXRpb25fMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5OTQiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTk0IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNiAzKSIgZmlsbD0iIzMzMyIvPg0KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk5NSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5OTUiIHdpZHRoPSIxMCIgaGVpZ2h0PSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2IDcpIiBmaWxsPSIjMzMzIi8+DQogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTk2IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk5NiIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYgMTEpIiBmaWxsPSIjMzMzIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8zNjM2NSIgZGF0YS1uYW1lPSJQYXRoIDM2MzY1IiBkPSJNMi4xNCwxMS45NjlsLjItLjFjLjMtLjE4Ljc1Ny0uNDEzLDEuMDI3LS42MTVhMS40NzUsMS40NzUsMCwwLDAsLjcwNS0xLjIxNWMwLS43MzUtLjU3LTEuMjMtMS40NjMtMS4yM2EyLjY4NCwyLjY4NCwwLDAsMC0xLjg5Ljc0MmwuNi42MjJhMS41OCwxLjU4LDAsMCwxLDEuMDItLjQ4Yy4zNTIsMCwuNi4xNzMuNi41LDAsLjM0NS0uMjYyLjY4My0xLjMsMS4yNjgtLjQ0My4yNTUtLjUxLjI1NS0uNjM3LjM5VjEzSDMuOTkybC4yMTgtMVMyLjMsMTEuOTQ2LDIuMTQsMTEuOTY5WiIgZmlsbD0iIzMzMyIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMzYzNjYiIGRhdGEtbmFtZT0iUGF0aCAzNjM2NiIgZD0iTTIsNC4xMThWNkgxVjdINFY2SDNWM0gyLjNMLjgwNiw0LjAxN2wuMjYzLjUyM0E0LjYxNCw0LjYxNCwwLDAsMCwyLDQuMTE4WiIgZmlsbD0iIzMzMyIvPg0KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk5NyIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5OTciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+DQo=)}fng-text-editor .fng-icon-svg-enumeration.fng-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImVudW1lcmF0aW9uXzE2LWciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDggOCkiPg0KICAgIDxnIGlkPSJlbnVtZXJhdGlvbl8xNi1nLTIiIGRhdGEtbmFtZT0iZW51bWVyYXRpb25fMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMjQ5OTQiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDI0OTk0IiB3aWR0aD0iMTAiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNiAzKSIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk5NSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5OTUiIHdpZHRoPSIxMCIgaGVpZ2h0PSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2IDcpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI0OTk2IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNDk5NiIgd2lkdGg9IjEwIiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYgMTEpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICA8cGF0aCBpZD0iUGF0aF8zNjM2NSIgZGF0YS1uYW1lPSJQYXRoIDM2MzY1IiBkPSJNMi4xNCwxMS45NjlsLjItLjFjLjMtLjE4Ljc1Ny0uNDEzLDEuMDI3LS42MTVhMS40NzUsMS40NzUsMCwwLDAsLjcwNS0xLjIxNWMwLS43MzUtLjU3LTEuMjMtMS40NjMtMS4yM2EyLjY4NCwyLjY4NCwwLDAsMC0xLjg5Ljc0MmwuNi42MjJhMS41OCwxLjU4LDAsMCwxLDEuMDItLjQ4Yy4zNTIsMCwuNi4xNzMuNi41LDAsLjM0NS0uMjYyLjY4My0xLjMsMS4yNjgtLjQ0My4yNTUtLjUxLjI1NS0uNjM3LjM5VjEzSDMuOTkybC4yMTgtMVMyLjMsMTEuOTQ2LDIuMTQsMTEuOTY5WiIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgPHBhdGggaWQ9IlBhdGhfMzYzNjYiIGRhdGEtbmFtZT0iUGF0aCAzNjM2NiIgZD0iTTIsNC4xMThWNkgxVjdINFY2SDNWM0gyLjNMLjgwNiw0LjAxN2wuMjYzLjUyM0E0LjYxNCw0LjYxNCwwLDAsMCwyLDQuMTE4WiIgZmlsbD0iI2I5YmFiYiIvPg0KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8yNDk5NyIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMjQ5OTciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+DQo=)}fng-text-editor .fng-icon-svg-image{display:inline-block;min-width:16px;height:16px;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImltYWdlXzE2LWciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDggOCkiPg0KICAgIDxnIGlkPSJpbWFnZV8xNi1nLTIiIGRhdGEtbmFtZT0iaW1hZ2VfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI1MDAyIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNTAwMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzY5IiBkYXRhLW5hbWU9IlBhdGggMzYzNjkiIGQ9Ik0xNCwzVjEzSDJWM0gxNG0xLTFIMVYxNEgxNVoiIGZpbGw9IiMzMzMiLz4NCiAgICAgICAgPGNpcmNsZSBpZD0iRWxsaXBzZV8xMzU1IiBkYXRhLW5hbWU9IkVsbGlwc2UgMTM1NSIgY3g9IjEuNSIgY3k9IjEuNSIgcj0iMS41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDQpIiBmaWxsPSIjMzMzIi8+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzcwIiBkYXRhLW5hbWU9IlBhdGggMzYzNzAiIGQ9Ik05LjUsN2wtMyw0TDUsOS41LDMsMTJIMTNaIiBmaWxsPSIjMzMzIi8+DQogICAgICA8L2c+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4NCg==)}fng-text-editor .fng-icon-svg-image.fng-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImltYWdlXzE2LWciIHRyYW5zZm9ybT0idHJhbnNsYXRlKDggOCkiPg0KICAgIDxnIGlkPSJpbWFnZV8xNi1nLTIiIGRhdGEtbmFtZT0iaW1hZ2VfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI1MDAyIiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNTAwMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzY5IiBkYXRhLW5hbWU9IlBhdGggMzYzNjkiIGQ9Ik0xNCwzVjEzSDJWM0gxNG0xLTFIMVYxNEgxNVoiIGZpbGw9IiNiOWJhYmIiLz4NCiAgICAgICAgPGNpcmNsZSBpZD0iRWxsaXBzZV8xMzU1IiBkYXRhLW5hbWU9IkVsbGlwc2UgMTM1NSIgY3g9IjEuNSIgY3k9IjEuNSIgcj0iMS41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzIDQpIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzcwIiBkYXRhLW5hbWU9IlBhdGggMzYzNzAiIGQ9Ik05LjUsN2wtMyw0TDUsOS41LDMsMTJIMTNaIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICA8L2c+DQogICAgPC9nPg0KICA8L2c+DQo8L3N2Zz4NCg==)}fng-text-editor .fng-icon-svg-link{display:inline-block;min-width:16px;height:16px;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImxpbmtfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA4KSI+DQogICAgPGcgaWQ9ImxpbmtfMTYtZy0yIiBkYXRhLW5hbWU9ImxpbmtfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI1MDA0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNTAwNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzczIiBkYXRhLW5hbWU9IlBhdGggMzYzNzMiIGQ9Ik01LjMsNy41MzdhMi40OCwyLjQ4LDAsMCwxLC43MzItMS43NjhMOS4yLDIuNmEyLjUsMi41LDAsMCwxLDMuNTM1LDBsLjE3Mi4xNzJhMi41LDIuNSwwLDAsMSwwLDMuNTM1bC0uNTg2LjU4Ni0uNzA3LS43MDdMMTIuMiw1LjZhMS41LDEuNSwwLDAsMCwwLTIuMTIxTDEyLjAyOSwzLjNhMS41LDEuNSwwLDAsMC0yLjEyMSwwTDYuNzM2LDYuNDc2YTEuNTM2LDEuNTM2LDAsMCwwLDAsMi4xMjFsLjU4Ni41ODYtLjcwNy43MDdMNi4wMjksOS4zQTIuNDgsMi40OCwwLDAsMSw1LjMsNy41MzdaIiBmaWxsPSIjMzMzIi8+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2Mzc0IiBkYXRhLW5hbWU9IlBhdGggMzYzNzQiIGQ9Ik0yLjM2MiwxMS40NjJhMi40ODQsMi40ODQsMCwwLDEsLjczMi0xLjc2OGwuNTg2LS41ODYuNzA3LjcwN0wzLjgsMTAuNGExLjUzNSwxLjUzNSwwLDAsMCwwLDIuMTIxbC4xNzIuMTcyYTEuNSwxLjUsMCwwLDAsMi4xMjEsMGgwTDkuMjY1LDkuNTIyYTEuNTM2LDEuNTM2LDAsMCwwLDAtMi4xMjFsLS41ODYtLjU4Ni43MDctLjcwNy41ODYuNTg2YTIuNTU5LDIuNTU5LDAsMCwxLDAsMy41MzVMNi44LDEzLjRhMi41LDIuNSwwLDAsMS0zLjUzNCwwaDBsLS4xNzItLjE3MmEyLjQ4LDIuNDgsMCwwLDEtLjczMi0xLjc2OFoiIGZpbGw9IiMzMzMiLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K)}fng-text-editor .fng-icon-svg-link.fng-gray{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4NCiAgPGcgaWQ9ImxpbmtfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA4KSI+DQogICAgPGcgaWQ9ImxpbmtfMTYtZy0yIiBkYXRhLW5hbWU9ImxpbmtfMTYtZyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTggLTgpIj4NCiAgICAgIDxnIGlkPSJ3aGl0ZV9iYWNrZ3JvdW5kIiBkYXRhLW5hbWU9IndoaXRlIGJhY2tncm91bmQiPg0KICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzI1MDA0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAyNTAwNCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiBmaWxsPSJub25lIi8+DQogICAgICA8L2c+DQogICAgICA8ZyBpZD0iY29udGVudCI+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2MzczIiBkYXRhLW5hbWU9IlBhdGggMzYzNzMiIGQ9Ik01LjMsNy41MzdhMi40OCwyLjQ4LDAsMCwxLC43MzItMS43NjhMOS4yLDIuNmEyLjUsMi41LDAsMCwxLDMuNTM1LDBsLjE3Mi4xNzJhMi41LDIuNSwwLDAsMSwwLDMuNTM1bC0uNTg2LjU4Ni0uNzA3LS43MDdMMTIuMiw1LjZhMS41LDEuNSwwLDAsMCwwLTIuMTIxTDEyLjAyOSwzLjNhMS41LDEuNSwwLDAsMC0yLjEyMSwwTDYuNzM2LDYuNDc2YTEuNTM2LDEuNTM2LDAsMCwwLDAsMi4xMjFsLjU4Ni41ODYtLjcwNy43MDdMNi4wMjksOS4zQTIuNDgsMi40OCwwLDAsMSw1LjMsNy41MzdaIiBmaWxsPSIjYjliYWJiIi8+DQogICAgICAgIDxwYXRoIGlkPSJQYXRoXzM2Mzc0IiBkYXRhLW5hbWU9IlBhdGggMzYzNzQiIGQ9Ik0yLjM2MiwxMS40NjJhMi40ODQsMi40ODQsMCwwLDEsLjczMi0xLjc2OGwuNTg2LS41ODYuNzA3LjcwN0wzLjgsMTAuNGExLjUzNSwxLjUzNSwwLDAsMCwwLDIuMTIxbC4xNzIuMTcyYTEuNSwxLjUsMCwwLDAsMi4xMjEsMGgwTDkuMjY1LDkuNTIyYTEuNTM2LDEuNTM2LDAsMCwwLDAtMi4xMjFsLS41ODYtLjU4Ni43MDctLjcwNy41ODYuNTg2YTIuNTU5LDIuNTU5LDAsMCwxLDAsMy41MzVMNi44LDEzLjRhMi41LDIuNSwwLDAsMS0zLjUzNCwwaDBsLS4xNzItLjE3MmEyLjQ4LDIuNDgsMCwwLDEtLjczMi0xLjc2OFoiIGZpbGw9IiNiOWJhYmIiLz4NCiAgICAgIDwvZz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K)}fng-text-editor .fng-icon-svg-text-align-center{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-svg-text-align-center.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M5,7h6V9H5Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-svg-text-align-right{width:12px;height:10px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(51, 51, 51)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-icon-svg-text-align-right.fng-gray{background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"10\" fill=\"rgb(185, 186, 187)\" viewBox=\"0 0 12 10\"><path d=\"M2,3H14V5H2Z\" transform=\"translate(-2 -3)\"/><path d=\"M8,7h6V9H8Z\" transform=\"translate(-2 -3)\"/><path d=\"M2,11H14v2H2Z\" transform=\"translate(-2 -3)\"/></svg>')}fng-text-editor .fng-editor-container{background:#fff;padding-right:8px}fng-text-editor .ql-tooltip{z-index:var(--fwe-z-index-tooltip)}fng-text-editor .ql-editor{font-family:var(--fwe-font-family-sans-serif);font-size:var(--fwe-font-size-base);padding:0;min-height:72px;overflow-x:hidden}fng-text-editor .ql-editor p::selection,fng-text-editor .ql-editor strong::selection,fng-text-editor .ql-editor em::selection,fng-text-editor .ql-editor u::selection,fng-text-editor .ql-editor ul::selection,fng-text-editor .ql-editor ol::selection,fng-text-editor .ql-editor li::selection,fng-text-editor .ql-editor a::selection{background:var(--fwe-sucaerul)}fng-text-editor .ql-container.ql-snow{border:0;background-color:var(--fwe-white)}fng-text-editor .ql-container.ql-snow .ql-tooltip{transform:translate(160px,12px);color:var(--fwe-black);box-shadow:-1px 1px 4px -1px #3333;border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input{border:1px solid var(--fwe-gray-200)}fng-text-editor .ql-container.ql-snow .ql-tooltip input::selection{background:var(--fwe-sucaerul)}fng-text-editor .ql-container.ql-snow a{color:var(--fwe-caerul)}fng-text-editor .ql-toolbar.ql-snow{border:0;padding:4px 0}fng-text-editor .ql-toolbar.ql-snow .ql-formats.fng-editor-toolbar-buttons-container{display:flex;align-items:center;flex-wrap:wrap}fng-text-editor .ql-toolbar.ql-snow button{line-height:normal;box-sizing:border-box;display:inline-flex;text-align:center;padding:0 8px;height:32px;min-height:unset;color:var(--fwe-black);background:none;border-radius:4px;cursor:pointer;border:none;width:unset;max-width:24px;justify-content:center;align-items:center;float:unset}@media (hover: hover) and (pointer: fine){fng-text-editor .ql-toolbar.ql-snow button:hover{background-color:var(--fwe-control-hover);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-active)}fng-text-editor .ql-toolbar.ql-snow button.ql-active+button{background-color:var(--fwe-control)}fng-text-editor .ql-toolbar.ql-snow button.fng-btn-toolbar-list{padding:0 6px}fng-text-editor .ql-toolbar.ql-snow button.fng-button i{pointer-events:none}fng-text-editor .ql-toolbar.ql-snow button.fng-button div{pointer-events:none}fng-text-editor .ql-toolbar .fng-button-text{min-width:12px;line-height:16px}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar{pointer-events:none}fng-text-editor label.fwe-input-text.fwe-disabled .ql-toolbar button{color:var(--fwe-text-disabled)}\n/*!\n * Quill Editor v2.0.3\n * https://quilljs.com\n * Copyright (c) 2017-2024, Slab\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n"] }]
259
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DomSanitizer }], propDecorators: { btnBold: [{
260
- type: ViewChild,
261
- args: ['btnBold']
262
- }], btnItalic: [{
263
- type: ViewChild,
264
- args: ['btnItalic']
265
- }], btnUnderline: [{
266
- type: ViewChild,
267
- args: ['btnUnderline']
268
- }], btnAlignCenter: [{
269
- type: ViewChild,
270
- args: ['btnAlignCenter']
271
- }], btnAlignRight: [{
272
- type: ViewChild,
273
- args: ['btnAlignRight']
274
- }], btnLink: [{
275
- type: ViewChild,
276
- args: ['btnLink']
277
- }], btnUl: [{
278
- type: ViewChild,
279
- args: ['btnUl']
280
- }], btnOl: [{
281
- type: ViewChild,
282
- args: ['btnOl']
283
- }], btnImage: [{
284
- type: ViewChild,
285
- args: ['btnImage']
286
- }], fngChange: [{
287
- type: Output
288
- }], change: [{
289
- type: Output
290
- }], config: [{
291
- type: Input
292
- }], modules: [{
293
- type: Input
294
- }], label: [{
295
- type: Input
296
- }], readOnly: [{
297
- type: Input
298
- }], maxLength: [{
299
- type: Input
300
- }], error: [{
301
- type: Input
302
- }], hint: [{
303
- type: Input
304
- }], value: [{
305
- type: Input
306
- }] } });
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLGVBQWUsRUFFZixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckYsT0FBTyxTQUFTLE1BQU0sT0FBTyxDQUFDO0FBRTlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQXFDdkUsTUFBTSxPQUFPLHNCQUNYLFNBQVEsNkJBQXdEO0lBOENoRSxJQUNhLEtBQUssQ0FBQyxLQUFnQztRQUNqRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFB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QkFDSSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDQyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0osT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNBLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDRSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ0ssUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUVYLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUVFLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVPLEtBQUs7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgU2VjdXJpdHlDb250ZXh0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgUXVpbGxUeXBlIGZyb20gJ3F1aWxsJztcblxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IE9ic2VydmVyc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMnO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCBEZWx0YSBmcm9tICdxdWlsbC1kZWx0YSc7XG5pbXBvcnQgeyBGbmdWYWx1ZUFjY2Vzc29yQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL3ZhbHVlLWFjY2Vzc29yLWJhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZuZ1RleHRFZGl0b3JDb25maWd1cmF0aW9uIHtcbiAgdG9vbGJhcj86IHtcbiAgICBib2xkPzogYm9vbGVhbjtcbiAgICBpdGFsaWM/OiBib29sZWFuO1xuICAgIHVuZGVybGluZT86IGJvb2xlYW47XG4gICAgYWxpZ25DZW50ZXI/OiBib29sZWFuO1xuICAgIGFsaWduUmlnaHQ/OiBib29sZWFuO1xuICAgIGJ1bGxldExpc3Q/OiBib29sZWFuO1xuICAgIG9yZGVyZWRMaXN0PzogYm9vbGVhbjtcbiAgICBpbWFnZT86IGJvb2xlYW47XG4gICAgbGluaz86IGJvb2xlYW47XG4gIH07XG4gIHNhbml0aXppbmc/OiB7XG4gICAgc2tpcERlZmF1bHRTYW5pdGl6aW5nPzogYm9vbGVhbjtcbiAgICBza2lwV2hpdGVzcGFjZUhhbmRsaW5nPzogYm9vbGVhbjtcbiAgICBzYW5pdGl6aW5nRm4/OiAoZHM6IERvbVNhbml0aXplciwgdmFsdWU6IHN0cmluZykgPT4gc3RyaW5nO1xuICB9O1xuICBmb2N1c0N1cnNvclRvRW5kT25Xcml0ZT86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlLCBPdmVybGF5TW9kdWxlLCBTY3JvbGxpbmdNb2R1bGUsIERyYWdEcm9wTW9kdWxlLCBPYnNlcnZlcnNNb2R1bGVdLFxuICBzZWxlY3RvcjogJ2ZuZy10ZXh0LWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWVkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHQtZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRm5nVGV4dEVkaXRvckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGbmdUZXh0RWRpdG9yQ29tcG9uZW50XG4gIGV4dGVuZHMgRm5nVmFsdWVBY2Nlc3NvckJhc2VEaXJlY3RpdmU8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlc1xue1xuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBxdWlsbEVkaXRvciE6IFF1aWxsVHlwZTtcbiAgZWRpdG9yRWxlbSE6IEhUTUxFbGVtZW50O1xuICBkZWZhdWx0Q29uZmlnOiBGbmdUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiA9IHtcbiAgICB0b29sYmFyOiB7XG4gICAgICBib2xkOiB0cnVlLFxuICAgICAgaXRhbGljOiB0cnVlLFxuICAgICAgdW5kZXJsaW5lOiB0cnVlLFxuICAgICAgYWxpZ25DZW50ZXI6IGZhbHNlLFxuICAgICAgYWxpZ25SaWdodDogZmFsc2UsXG4gICAgICBidWxsZXRMaXN0OiB0cnVlLFxuICAgICAgb3JkZXJlZExpc3Q6IHRydWUsXG4gICAgICBpbWFnZTogdHJ1ZSxcbiAgICAgIGxpbms6IHRydWVcbiAgICB9LFxuICAgIHNhbml0aXppbmc6IHtcbiAgICAgIHNhbml0aXppbmdGbjogdW5kZWZpbmVkLFxuICAgICAgc2tpcERlZmF1bHRTYW5pdGl6aW5nOiBmYWxzZSxcbiAgICAgIHNraXBXaGl0ZXNwYWNlSGFuZGxpbmc6IGZhbHNlXG4gICAgfSxcbiAgICBmb2N1c0N1cnNvclRvRW5kT25Xcml0ZTogdHJ1ZVxuICB9O1xuXG4gIEBWaWV3Q2hpbGQoJ2J0bkJvbGQnKSBidG5Cb2xkOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdidG5JdGFsaWMnKSBidG5JdGFsaWM6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2J0blVuZGVybGluZScpIGJ0blVuZGVybGluZTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZCgnYnRuQWxpZ25DZW50ZXInKSBidG5BbGlnbkNlbnRlcjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZCgnYnRuQWxpZ25SaWdodCcpIGJ0bkFsaWduUmlnaHQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2J0bkxpbmsnKSBidG5MaW5rOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdidG5VbCcpIGJ0blVsOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdidG5PbCcpIGJ0bk9sOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdidG5JbWFnZScpIGJ0bkltYWdlOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKSBmbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogRm5nVGV4dEVkaXRvckNvbmZpZ3VyYXRpb24gPSB0aGlzLmRlZmF1bHRDb25maWc7XG4gIEBJbnB1dCgpIG1vZHVsZXM6IGFueTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgcmVhZE9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWF4TGVuZ3RoOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBlcnJvcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBoaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpXG4gIG92ZXJyaWRlIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh0aGlzLmlubmVyVmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2hhbmdlZC5mb3JFYWNoKGYgPT4ge1xuICAgICAgICB0aGlzLmZuZ0NoYW5nZS5lbWl0KHRoaXMuaW5uZXJWYWx1ZSk7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgICAgICAgcmV0dXJuIGYodmFsdWUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XG4gIH1cblxuICAvLyBuZWVkZWQgdG8gYWNjZXNzIGVkaXRvciBjb250ZW50XG4gIHZhbHVlR2V0dGVyID0gKGVkaXRvckVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHwgYW55ID0+IHtcbiAgICBsZXQgaHRtbDogc3RyaW5nIHwgdW5kZWZpbmVkID0gZWRpdG9yRWxlbWVudD8ucXVlcnlTZWxlY3RvcignLnFsLWVkaXRvcicpPy5pbm5lckhUTUw7XG4gICAgaWYgKGh0bWwgPT09ICc8cD48YnI+PC9wPicgfHwgaHRtbCA9PT0gJzxkaXY+PGJyPjwvZGl2PicpIHtcbiAgICAgIGh0bWwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBodG1sO1xuICB9O1xuXG4gIC8vIG5lZWRlZCB0byBhY2Nlc3MgZWRpdG9yIGNvbnRlbnRcbiAgdmFsdWVTZXR0ZXIgPSAocXVpbGxFZGl0b3I6IFF1aWxsVHlwZSwgdmFsdWU6IGFueSk6IGFueSA9PiB7XG4gICAgY29uc3Qgc2FuaXRpemVDb25maWcgPSB0aGlzLmNvbmZpZz8uc2FuaXRpemluZyB8fCB0aGlzLmRlZmF1bHRDb25maWcuc2FuaXRpemluZztcblxuICAgIGlmIChzYW5pdGl6ZUNvbmZpZz8uc2FuaXRpemluZ0ZuKSB7XG4gICAgICB2YWx1ZSA9IHNhbml0aXplQ29uZmlnLnNhbml0aXppbmdGbih0aGlzLmRvbVNhbml0aXplciwgdmFsdWUpO1xuICAgIH1cbiAgICBpZiAoc2FuaXRpemVDb25maWcgJiYgIXNhbml0aXplQ29uZmlnLnNraXBEZWZhdWx0U2FuaXRpemluZykge1xuICAgICAgdmFsdWUgPSB0aGlzLmRvbVNhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgdmFsdWUpO1xuICAgIH1cbiAgICBpZiAoc2FuaXRpemVDb25maWcgJiYgIXNhbml0aXplQ29uZmlnLnNraXBXaGl0ZXNwYWNlSGFuZGxpbmcpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5oYW5kbGVXaGl0ZXNwYWNlKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVpbGxFZGl0b3IuY2xpcGJvYXJkLmNvbnZlcnQoeyBodG1sOiB2YWx1ZSB9KTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplclxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pZCA9IChNYXRoLnJhbmRvbSgpICogRGF0ZS5ub3coKSkudG9TdHJpbmcoKS5yZXBsYWNlKCcuJywgJy0nKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRvckVsZW0gPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGAjZWRpdG9yLSR7dGhpcy5pZH1gKTtcblxuICAgIHRoaXMucXVpbGxFZGl0b3IgPSBuZXcgUXVpbGxUeXBlKHRoaXMuZWRpdG9yRWxlbSwge1xuICAgICAgbW9kdWxlczogeyB0b29sYmFyOiBgI2VkaXRvci10b29sYmFyLSR7dGhpcy5pZH1gLCAuLi50aGlzLm1vZHVsZXMgfSxcbiAgICAgIHRoZW1lOiAnc25vdydcbiAgICB9KTtcbiAgICB0aGlzLnNldEVkaXRvckxhYmVsKCk7XG4gICAgdGhpcy5hZGRXaGl0ZXNwYWNlTWF0Y2hlcigpO1xuICAgIHRoaXMuYWRkSW1hZ2VNYXRjaGVyKCk7XG5cbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy52YWx1ZVNldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB0aGlzLmlubmVyVmFsdWUgfHwgJycpO1xuICAgIHRoaXMucXVpbGxFZGl0b3Iuc2V0Q29udGVudHMoY29udGVudCwgJ3NpbGVudCcpO1xuICAgICh0aGlzLnF1aWxsRWRpdG9yLmdldE1vZHVsZSgnaGlzdG9yeScpIGFzIGFueSkuY2xlYXIoKTtcblxuICAgIHRoaXMuaGFuZGxlKCk7XG5cbiAgICB0aGlzLnF1aWxsRWRpdG9yLm9uKCd0ZXh0LWNoYW5nZScsICgpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlR2V0dGVyKHRoaXMuZWRpdG9yRWxlbSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/LlsnY29uZmlnJ10/LmN1cnJlbnRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgICAgdG9vbGJhcjogeyAuLi50aGlzLmRlZmF1bHRDb25maWcudG9vbGJhciwgLi4uY2hhbmdlc1snY29uZmlnJ10uY3VycmVudFZhbHVlPy50b29sYmFyIH0sXG4gICAgICAgIHNhbml0aXppbmc6IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLnNhbml0aXppbmcsIC4uLmNoYW5nZXNbJ2NvbmZpZyddLmN1cnJlbnRWYWx1ZT8uc2FuaXRpemluZyB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlKCk7XG4gIH1cblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnZhbHVlU2V0dGVyKHRoaXMucXVpbGxFZGl0b3IsIHZhbHVlIHx8ICcnKTtcbiAgICB0aGlzLnF1aWxsRWRpdG9yLnNldENvbnRlbnRzKGNvbnRlbnQpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnPy5mb2N1c0N1cnNvclRvRW5kT25Xcml0ZSkge1xuICAgICAgLy8gd2hlbiBuZXcgY29udGVudCBnZXRzIHdyaXR0ZW4gd2UgYWx3YXlzIHNldCBjdXJzb3IgZm9jdXMgdG8gZW5kIG9mIHRleHRcbiAgICAgIHRoaXMucXVpbGxFZGl0b3Iuc2V0U2VsZWN0aW9uKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLCAwKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSB0aGlzLmRpc2FibGVkKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgaWYgKHRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICAgIHRoaXMucXVpbGxFZGl0b3IuZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRSZWFkT25seVN0YXRlKCkge1xuICAgIHRoaXMucXVpbGxFZGl0b3IuZW5hYmxlKCF0aGlzLnJlYWRPbmx5KTtcbiAgfVxuXG4gIGRlbGVnYXRlKGV2ZW50OiBhbnksIGFjdGlvbjogc3RyaW5nKSB7XG4gICAgbGV0IGJ0bjogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2JvbGQnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkJvbGQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bj8uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdpdGFsaWMnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkl0YWxpYz8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VuZGVybGluZSc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuVW5kZXJsaW5lPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4/LmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWxpZ24tY2VudGVyJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5BbGlnbkNlbnRlcj8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2FsaWduLXJpZ2h0JzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5BbGlnblJpZ2h0Py5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4/LmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGluayc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuTGluaz8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VsJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5VbD8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ29sJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5PbD8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5JbWFnZT8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8ubGVuZ3RoIHx8IDA7XG4gIH1cblxuICBoaWRlRGl2aWRlcihuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5rT3JJbWFnZSA9IHRoaXMuY29uZmlnLnRvb2xiYXI/LmltYWdlIHx8IHRoaXMuY29uZmlnLnRvb2xiYXI/Lmxpbms7XG4gICAgY29uc3QgbGlzdHMgPSB0aGlzLmNvbmZpZy50b29sYmFyPy5idWxsZXRMaXN0IHx8IHRoaXMuY29uZmlnLnRvb2xiYXI/Lm9yZGVyZWRMaXN0O1xuICAgIGNvbnN0IHR5cG9zID0gdGhpcy5jb25maWcudG9vbGJhcj8uYm9sZCB8fCB0aGlzLmNvbmZpZy50b29sYmFyPy5pdGFsaWMgfHwgdGhpcy5jb25maWcudG9vbGJhcj8udW5kZXJsaW5lO1xuICAgIGNvbnN0IHRleHRBbGlnbiA9IHRoaXMuY29uZmlnLnRvb2xiYXI/LmFsaWduQ2VudGVyIHx8IHRoaXMuY29uZmlnLnRvb2xiYXI/LmFsaWduUmlnaHQ7XG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlICd0eXBvJzpcbiAgICAgICAgcmV0dXJuICF0eXBvcyB8fCAoIXRleHRBbGlnbiAmJiAhbGlua09ySW1hZ2UgJiYgIWxpc3RzKTtcbiAgICAgIGNhc2UgJ3RleHQtYWxpZ24nOlxuICAgICAgICByZXR1cm4gIXRleHRBbGlnbiB8fCAoIWxpbmtPckltYWdlICYmICFsaXN0cyk7XG4gICAgICBjYXNlICdsaXN0cyc6XG4gICAgICAgIHJldHVybiAhbGlzdHMgfHwgIWxpbmtPckltYWdlO1xuICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICByZXR1cm4gIXRoaXMuY29uZmlnLnRvb2xiYXI/LmltYWdlIHx8ICF0aGlzLmNvbmZpZy50b29sYmFyLmxpbms7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRFZGl0b3JMYWJlbCgpIHtcbiAgICBjb25zdCBlZGl0b3JEaXYgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucWwtZWRpdG9yJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWRpdG9yRGl2LCAncm9sZScsICd0ZXh0Ym94Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWRpdG9yRGl2LCAnYXJpYS1sYWJlbGxlZGJ5JywgYGVkaXRvci1sYWJlbC0ke3RoaXMuaWR9YCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWRpdG9yRGl2LCAnYXJpYS1tdWx0aWxpbmUnLCAndHJ1ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGUoKSB7XG4gICAgdGhpcy5zZXRSZWFkT25seVN0YXRlKCk7XG4gICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZFdoaXRlc3BhY2VNYXRjaGVyKCkge1xuICAgIC8vIHNldCB1cCBhIG1hdGNoZXIgdGhhdCByZXBsYWNlcyBwbGFjZWhvbGRlciAjIyN0YWIjIyMgd2l0aCBcXHQgaW4gZGVsdGEgYWdhaW5cbiAgICB0aGlzLnF1aWxsRWRpdG9yLmNsaXBib2FyZC5hZGRNYXRjaGVyKCdQJywgKF9ub2RlLCBkZWx0YSkgPT4ge1xuICAgICAgbGV0IHN0ciA9IEpTT04uc3RyaW5naWZ5KGRlbHRhKTtcbiAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKC8jIyN0YWIjIyMvZywgJ1xcXFx0Jyk7XG4gICAgICBkZWx0YSA9IEpTT04ucGFyc2Uoc3RyKTtcbiAgICAgIHJldHVybiBkZWx0YTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkSW1hZ2VNYXRjaGVyKCkge1xuICAgIC8vIHNldCB1cCBhIG1hdGNoZXIgdGhhdCBkb2VzIGFsbG93L2Rpc2FsbG93IHRvIHBhc3RlIGltYWdlcyBjb3JyZXNwb25kaW5nIHRvIGNvbmZpZyBzZXR0aW5nc1xuICAgIHRoaXMucXVpbGxFZGl0b3IuY2xpcGJvYXJkLmFkZE1hdGNoZXIoJ0lNRycsIChfbm9kZSwgZGVsdGEpID0+IHtcbiAgICAgIC8vIGFsbG93ZWQsIHBhc3N0aHJ1IGRlbHRhXG4gICAgICBpZiAodGhpcy5jb25maWcudG9vbGJhcj8uaW1hZ2UgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIGRlbHRhO1xuICAgICAgfVxuICAgICAgLy8gbm90IGFsbG93ZWQsIHJlbW92ZSBpbWFnZSBieSBzZXR0aW5nIHVwIGEgbmV3IGRlbHRhXG4gICAgICByZXR1cm4gbmV3IERlbHRhKCkuaW5zZXJ0KCcnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2hpdGVzcGFjZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBzZXQgYSBwbGFjZWhvbGRlciBmb3IgdGFiIGVudGl0eSB0byBhdm9pZCB0aGF0IHF1aWxsIHJlbW92ZXMgaXRcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvJiM5Oy9naSwgJyMjI3RhYiMjIycpO1xuICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dFwiIFtjbGFzcy5md2UtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3ItdG9vbGJhclwiIFtpZF09XCInZWRpdG9yLXRvb2xiYXItJyArIGlkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzIGZ3ZS1kLW5vbmVcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1zaXplXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJzbWFsbFwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibGFyZ2VcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImh1Z2VcIj48L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgZm5nLWVkaXRvci10b29sYmFyLWJ1dHRvbnMtY29udGFpbmVyIGZ3ZS1tci0zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5ib2xkXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5Cb2xkIGNsYXNzPVwicWwtYm9sZCBmd2UtZC1ub25lIGFjdGlvbi1ib2xkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZy50b29sYmFyPy51bmRlcmxpbmUgfHwgY29uZmlnLnRvb2xiYXI/Lml0YWxpY1wiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2JvbGQnKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbmctYnV0dG9uLXRleHQgZm5nLXRleHQtYm9sZFwiPkI8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/Lml0YWxpY1wiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuSXRhbGljIGNsYXNzPVwicWwtaXRhbGljIGZ3ZS1kLW5vbmUgYWN0aW9uLWl0YWxpY1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJmd2UtYnRuIGZuZy1idXR0b25cIlxuICAgICAgICAgIFtjbGFzcy5md2UtbXItM109XCJjb25maWcudG9vbGJhcj8udW5kZXJsaW5lXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnaXRhbGljJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm5nLWJ1dHRvbi10ZXh0IGZuZy10ZXh0LWl0YWxpY1wiPkk8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LnVuZGVybGluZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuVW5kZXJsaW5lIGNsYXNzPVwicWwtdW5kZXJsaW5lIGZ3ZS1kLW5vbmUgYWN0aW9uLXVuZGVybGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICd1bmRlcmxpbmUnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbmctYnV0dG9uLXRleHQgZm5nLXRleHQtdW5kZXJsaW5lXCI+VTwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCd0eXBvJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYWxpZ25DZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkFsaWduQ2VudGVyIGNsYXNzPVwicWwtYWxpZ24gZndlLWQtbm9uZSBhY3Rpb24tYWxpZ24tY2VudGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJjZW50ZXJcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnLnRvb2xiYXI/LmFsaWduUmlnaHRcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdhbGlnbi1jZW50ZXInKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZm5nLWljb24tc3ZnLXRleHQtYWxpZ24tY2VudGVyXCIgW2NsYXNzLmZuZy1ncmF5XT1cImRpc2FibGVkXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5hbGlnblJpZ2h0XCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5BbGlnblJpZ2h0IGNsYXNzPVwicWwtYWxpZ24gZndlLWQtbm9uZSBhY3Rpb24tYWxpZ24tcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB2YWx1ZT1cInJpZ2h0XCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2FsaWduLXJpZ2h0JylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZuZy1pY29uLXN2Zy10ZXh0LWFsaWduLXJpZ2h0XCIgW2NsYXNzLmZuZy1ncmF5XT1cImRpc2FibGVkXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCd0ZXh0LWFsaWduJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYnVsbGV0TGlzdFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuVWwgY2xhc3M9XCJxbC1saXN0IGZ3ZS1kLW5vbmUgYWN0aW9uLXVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJidWxsZXRcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnLnRvb2xiYXI/Lm9yZGVyZWRMaXN0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAndWwnKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZm5nLWljb24tc3ZnLWxpc3Qtdmlld1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/Lm9yZGVyZWRMaXN0XCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5PbCBjbGFzcz1cInFsLWxpc3QgZndlLWQtbm9uZSBhY3Rpb24tb2xcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB2YWx1ZT1cIm9yZGVyZWRcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIiAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnb2wnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZm5nLWljb24tc3ZnLWVudW1lcmF0aW9uXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCdsaXN0cycpXCIgY2xhc3M9XCJmbmctZGl2aWRlci15IGZ3ZS1teC00XCI+PC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmltYWdlXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2ltYWdlJylcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZuZy1pY29uLXN2Zy1pbWFnZVwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5JbWFnZSBjbGFzcz1cInFsLWltYWdlIGZ3ZS1kLW5vbmVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCdpbWFnZScpXCIgY2xhc3M9XCJmbmctZGl2aWRlci15IGZ3ZS1teC00XCI+PC9kaXY+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmxpbmtcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIiAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnbGluaycpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmbmctaWNvbi1zdmctbGlua1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5MaW5rIGNsYXNzPVwicWwtbGluayBmd2UtZC1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZm5nLWVkaXRvci1jb250YWluZXJcIiBbaWRdPVwiJ2VkaXRvci1jb250YWluZXItJyArIGlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3JcIiBbaWRdPVwiJ2VkaXRvci0nICsgaWRcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwiZndlLWlucHV0LXRleHQtbGFiZWxcIiBbaWRdPVwiJ2VkaXRvci1sYWJlbC0nICsgaWRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJoaW50XCIgY2xhc3M9XCJmbmctdGV4dC1lZGl0b3ItaW5mb1wiPnt7IGhpbnQgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImZuZy10ZXh0LWVkaXRvci1pbnZhbGlkXCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwibWF4TGVuZ3RoID4gMCAmJiB2YWx1ZSAhPSBudWxsXCIgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dC1jb3VudFwiPnt7IGN1cnJlbnRMZW5ndGgoKSB9fSAvIHt7IG1heExlbmd0aCB9fTwvc3Bhbj5cbjwvbGFiZWw+XG4iXX0=