@festo-ui/angular 6.1.0-dev.296 → 7.0.0-dev.302
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.
- package/esm2022/lib/components/accordion/accordion-header/accordion-header.component.mjs +3 -3
- package/esm2022/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +3 -3
- package/esm2022/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +3 -3
- package/esm2022/lib/components/accordion/accordion-item/accordion-item.component.mjs +4 -4
- package/esm2022/lib/components/accordion/accordion.component.mjs +4 -4
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/lib/components/buttons/button/button.component.mjs +4 -4
- package/esm2022/lib/components/buttons/link-button/link-button.component.mjs +3 -3
- package/esm2022/lib/components/chips/chip/chip.component.mjs +3 -3
- package/esm2022/lib/components/chips/chip-container/chip-container.component.mjs +3 -3
- package/esm2022/lib/components/components.module.mjs +4 -4
- package/esm2022/lib/components/loading-indicator/loading-indicator.component.mjs +3 -3
- package/esm2022/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +4 -4
- package/esm2022/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +4 -4
- package/esm2022/lib/components/mobile-flyout/mobile-flyout.component.mjs +4 -4
- package/esm2022/lib/components/pagination/pagination.component.mjs +4 -4
- package/esm2022/lib/components/popovers/legend/legend.component.mjs +4 -4
- package/esm2022/lib/components/popovers/legend/legend.directive.mjs +4 -4
- package/esm2022/lib/components/popovers/popover/popover.component.mjs +4 -4
- package/esm2022/lib/components/popovers/popover-content/popover-content.component.mjs +4 -4
- package/esm2022/lib/components/popovers/popover-content/popover-content.directive.mjs +4 -4
- package/esm2022/lib/components/popovers/popover-menu/popover-menu.component.mjs +4 -4
- package/esm2022/lib/components/popovers/popover.service.mjs +4 -4
- package/esm2022/lib/components/popovers/tooltip/tooltip.directive.mjs +4 -4
- package/esm2022/lib/components/progress/progress.component.mjs +3 -3
- package/esm2022/lib/components/scroll/scrollable.directive.mjs +5 -5
- package/esm2022/lib/components/search-input/search-input.component.mjs +4 -4
- package/esm2022/lib/components/sidebar-overlay/sidebar-overlay.component.mjs +4 -4
- package/esm2022/lib/components/snackbar/snackbar-container.component.mjs +3 -3
- package/esm2022/lib/components/snackbar/snackbar-container.directive.mjs +4 -4
- package/esm2022/lib/components/snackbar/snackbar.component.mjs +4 -4
- package/esm2022/lib/components/snackbar/snackbar.module.mjs +4 -4
- package/esm2022/lib/components/snackbar/snackbar.service.mjs +3 -3
- package/esm2022/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +3 -3
- package/esm2022/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +4 -4
- package/esm2022/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +4 -4
- package/esm2022/lib/components/stepper-vertical/stepper-vertical.component.mjs +4 -4
- package/esm2022/lib/components/table-header-cell/table-header-cell.directive.mjs +4 -4
- package/esm2022/lib/components/tabs/tab-pane/tab-pane.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tabs.component.mjs +4 -4
- package/esm2022/lib/directives/click-outside.directive.mjs +4 -4
- package/esm2022/lib/festo-angular.module.mjs +4 -4
- package/esm2022/lib/forms/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/lib/forms/color-indicator/color-indicator.component.mjs +4 -4
- package/esm2022/lib/forms/color-picker/color-helper.mjs +1 -1
- package/esm2022/lib/forms/color-picker/color-picker.component.mjs +4 -4
- package/esm2022/lib/forms/date-picker/date-picker.component.mjs +4 -4
- package/esm2022/lib/forms/date-range-picker/date-range-picker.component.mjs +4 -4
- package/esm2022/lib/forms/flatpickr/flatpickr.component.mjs +4 -4
- package/esm2022/lib/forms/forms.module.mjs +4 -4
- package/esm2022/lib/forms/radio/radio.component.mjs +7 -7
- package/esm2022/lib/forms/segment/segment-control/segment-control.component.mjs +4 -4
- package/esm2022/lib/forms/segment/segment.component.mjs +4 -4
- package/esm2022/lib/forms/select/chip-text.pipe.mjs +4 -4
- package/esm2022/lib/forms/select/select-option/select-option.component.mjs +3 -3
- package/esm2022/lib/forms/select/select.component.mjs +4 -4
- package/esm2022/lib/forms/slider/slider.component.mjs +4 -4
- package/esm2022/lib/forms/switch/switch.component.mjs +4 -4
- package/esm2022/lib/forms/text-area/text-area.component.mjs +4 -4
- package/esm2022/lib/forms/text-editor/text-editor.component.mjs +6 -6
- package/esm2022/lib/forms/text-input/text-input.component.mjs +4 -4
- package/esm2022/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +4 -4
- package/esm2022/lib/forms/time-picker/time-picker.component.mjs +4 -4
- package/esm2022/lib/forms/unique-selection-dispatcher.mjs +4 -4
- package/esm2022/lib/forms/value-accessor-base.mjs +4 -4
- package/esm2022/lib/modals/alert/alert.component.mjs +4 -4
- package/esm2022/lib/modals/confirm/confirm.component.mjs +4 -4
- package/esm2022/lib/modals/custom-modal/custom-modal.component.mjs +4 -4
- package/esm2022/lib/modals/image-gallery/image-gallery.component.mjs +5 -5
- package/esm2022/lib/modals/modal.service.mjs +4 -4
- package/esm2022/lib/modals/modals.module.mjs +4 -4
- package/esm2022/lib/modals/prompt/prompt.component.mjs +4 -4
- package/esm2022/lib/pipes/safe-html.pipe.mjs +3 -3
- package/fesm2022/festo-ui-angular.mjs +229 -229
- package/fesm2022/festo-ui-angular.mjs.map +1 -1
- package/package.json +11 -11
|
@@ -239,16 +239,16 @@ export class FngTextEditorComponent extends FngValueAccessorBaseDirective {
|
|
|
239
239
|
// set a placeholder for tab entity to avoid that quill removes it
|
|
240
240
|
return value.replace(/	/gi, '###tab###');
|
|
241
241
|
}
|
|
242
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
243
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
242
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FngTextEditorComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
243
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", 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: [
|
|
244
244
|
{
|
|
245
245
|
provide: NG_VALUE_ACCESSOR,
|
|
246
246
|
useExisting: forwardRef(() => FngTextEditorComponent),
|
|
247
247
|
multi: true
|
|
248
248
|
}
|
|
249
|
-
], 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=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-center fwe-mr-0\" [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=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-right fwe-mr-0\" [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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-list-list-view fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-enumeration fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-image-image fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-file-link fwe-mr-0\"></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\";/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.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.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.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;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 ul,.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;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\\2022\"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\\2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\\2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9: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 .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-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 pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{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-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:0px}.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:0px;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-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-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-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-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 .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-icon-hero-light)}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-icon-hero-light)}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-dark);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-darker)}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"], 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
|
+
], 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=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-center fwe-mr-0\" [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=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-right fwe-mr-0\" [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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-list-list-view fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-enumeration fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-image-image fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-file-link fwe-mr-0\"></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.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.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;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 ul,.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;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\\2022\"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\\2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\\2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9: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 .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-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 pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{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-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:0px}.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:0px;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-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-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-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-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 .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-icon-hero-light)}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-icon-hero-light)}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-dark);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-darker)}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 v1.3.7\n * https://quilljs.com/\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 }); }
|
|
250
250
|
}
|
|
251
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FngTextEditorComponent, decorators: [{
|
|
252
252
|
type: Component,
|
|
253
253
|
args: [{ standalone: true, imports: [CommonModule, ReactiveFormsModule, FormsModule, CommonModule, OverlayModule, ScrollingModule, DragDropModule, ObserversModule], selector: 'fng-text-editor', encapsulation: ViewEncapsulation.None, providers: [
|
|
254
254
|
{
|
|
@@ -256,7 +256,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
256
256
|
useExisting: forwardRef(() => FngTextEditorComponent),
|
|
257
257
|
multi: true
|
|
258
258
|
}
|
|
259
|
-
], 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=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-center fwe-mr-0\" [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=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-right fwe-mr-0\" [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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-list-list-view fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-enumeration fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-image-image fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-file-link fwe-mr-0\"></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\";/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.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.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.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;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 ul,.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;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\\2022\"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\\2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\\2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9: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 .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-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 pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{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-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:0px}.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:0px;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-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-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-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-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 .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-icon-hero-light)}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-icon-hero-light)}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-dark);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-darker)}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"] }]
|
|
259
|
+
], 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=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-center fwe-mr-0\" [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=\"fwe-icon fwe-icon-toolbar-list fng-icon-text-align-right fwe-mr-0\" [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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-list-list-view fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-enumeration fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-image-image fwe-mr-0\"></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=\"fwe-icon fwe-icon-toolbar-list fwe-icon-file-link fwe-mr-0\"></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.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.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;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 ul,.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;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\\2022\"}.ql-editor ul[data-checked=true],.ql-editor ul[data-checked=false]{pointer-events:none}.ql-editor ul[data-checked=true]>li *,.ql-editor ul[data-checked=false]>li *{pointer-events:all}.ql-editor ul[data-checked=true]>li:before,.ql-editor ul[data-checked=false]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\\2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\\2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9: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 .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-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 pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{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-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:0px}.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:0px;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-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-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-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-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 .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-icon-hero-light)}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-icon-hero-light)}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-dark);color:var(--fwe-black)}}fng-text-editor .ql-toolbar.ql-snow button:active{background-color:var(--fwe-control-darker)}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 v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n"] }]
|
|
260
260
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.DomSanitizer }], propDecorators: { btnBold: [{
|
|
261
261
|
type: ViewChild,
|
|
262
262
|
args: ['btnBold']
|
|
@@ -305,4 +305,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
305
305
|
}], value: [{
|
|
306
306
|
type: Input
|
|
307
307
|
}] } });
|
|
308
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixLQUFLLEVBRUwsZUFBZSxFQUdmLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUVWLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFNBQVMsTUFBTSxPQUFPLENBQUM7QUFFOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBcUN6RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsNkJBQXdEO0lBNENsRyxJQUNhLEtBQUssQ0FBQyxLQUFnQztRQUNqRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxFQUFFO1lBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElB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SztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNFLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDSyxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBRVgsU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBRUUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRU8sS0FBSztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIElucHV0LFxuICBBZnRlclZpZXdJbml0LFxuICBTZWN1cml0eUNvbnRleHQsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIGZvcndhcmRSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgUXVpbGxUeXBlIGZyb20gJ3F1aWxsJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBGbmdWYWx1ZUFjY2Vzc29yQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL3ZhbHVlLWFjY2Vzc29yLWJhc2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBPYnNlcnZlcnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb2JzZXJ2ZXJzJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcblxuZXhwb3J0IGludGVyZmFjZSBGbmdUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiB7XG4gIHRvb2xiYXI/OiB7XG4gICAgYm9sZD86IGJvb2xlYW47XG4gICAgaXRhbGljPzogYm9vbGVhbjtcbiAgICB1bmRlcmxpbmU/OiBib29sZWFuO1xuICAgIGFsaWduQ2VudGVyPzogYm9vbGVhbjtcbiAgICBhbGlnblJpZ2h0PzogYm9vbGVhbjtcbiAgICBidWxsZXRMaXN0PzogYm9vbGVhbjtcbiAgICBvcmRlcmVkTGlzdD86IGJvb2xlYW47XG4gICAgaW1hZ2U/OiBib29sZWFuO1xuICAgIGxpbms/OiBib29sZWFuO1xuICB9O1xuICBzYW5pdGl6aW5nPzoge1xuICAgIHNraXBEZWZhdWx0U2FuaXRpemluZz86IGJvb2xlYW47XG4gICAgc2tpcFdoaXRlc3BhY2VIYW5kbGluZz86IGJvb2xlYW47XG4gICAgc2FuaXRpemluZ0ZuPzogKGRzOiBEb21TYW5pdGl6ZXIsIHZhbHVlOiBzdHJpbmcpID0+IHN0cmluZztcbiAgfTtcbiAgZm9jdXNDdXJzb3JUb0VuZE9uV3JpdGU/OiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSwgT3ZlcmxheU1vZHVsZSwgU2Nyb2xsaW5nTW9kdWxlLCBEcmFnRHJvcE1vZHVsZSwgT2JzZXJ2ZXJzTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdmbmctdGV4dC1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZuZ1RleHRFZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm5nVGV4dEVkaXRvckNvbXBvbmVudCBleHRlbmRzIEZuZ1ZhbHVlQWNjZXNzb3JCYXNlRGlyZWN0aXZlPHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBxdWlsbEVkaXRvciE6IFF1aWxsVHlwZTtcbiAgZWRpdG9yRWxlbSE6IEhUTUxFbGVtZW50O1xuICBkZWZhdWx0Q29uZmlnOiBGbmdUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiA9IHtcbiAgICB0b29sYmFyOiB7XG4gICAgICBib2xkOiB0cnVlLFxuICAgICAgaXRhbGljOiB0cnVlLFxuICAgICAgdW5kZXJsaW5lOiB0cnVlLFxuICAgICAgYWxpZ25DZW50ZXI6IHRydWUsXG4gICAgICBhbGlnblJpZ2h0OiB0cnVlLFxuICAgICAgYnVsbGV0TGlzdDogdHJ1ZSxcbiAgICAgIG9yZGVyZWRMaXN0OiB0cnVlLFxuICAgICAgaW1hZ2U6IHRydWUsXG4gICAgICBsaW5rOiB0cnVlXG4gICAgfSxcbiAgICBzYW5pdGl6aW5nOiB7XG4gICAgICBzYW5pdGl6aW5nRm46IHVuZGVmaW5lZCxcbiAgICAgIHNraXBEZWZhdWx0U2FuaXRpemluZzogZmFsc2UsXG4gICAgICBza2lwV2hpdGVzcGFjZUhhbmRsaW5nOiBmYWxzZVxuICAgIH0sXG4gICAgZm9jdXNDdXJzb3JUb0VuZE9uV3JpdGU6IHRydWVcbiAgfTtcblxuICBAVmlld0NoaWxkKCdidG5Cb2xkJykgYnRuQm9sZDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZCgnYnRuSXRhbGljJykgYnRuSXRhbGljOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdidG5VbmRlcmxpbmUnKSBidG5VbmRlcmxpbmU6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2J0bkFsaWduQ2VudGVyJykgYnRuQWxpZ25DZW50ZXI6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2J0bkFsaWduUmlnaHQnKSBidG5BbGlnblJpZ2h0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdidG5MaW5rJykgYnRuTGluazogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZCgnYnRuVWwnKSBidG5VbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZCgnYnRuT2wnKSBidG5PbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZCgnYnRuSW1hZ2UnKSBidG5JbWFnZTogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KCkgZm5nQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASW5wdXQoKSBjb25maWc6IEZuZ1RleHRFZGl0b3JDb25maWd1cmF0aW9uID0gdGhpcy5kZWZhdWx0Q29uZmlnO1xuICBASW5wdXQoKSBtb2R1bGVzOiBhbnk7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgZXJyb3I6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaGludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKVxuICBvdmVycmlkZSBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5pbm5lclZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZWQuZm9yRWFjaChmID0+IHtcbiAgICAgICAgdGhpcy5mbmdDaGFuZ2UuZW1pdCh0aGlzLmlubmVyVmFsdWUpO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuaW5uZXJWYWx1ZSk7XG4gICAgICAgIHJldHVybiBmKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICB9XG5cbiAgLy8gbmVlZGVkIHRvIGFjY2VzcyBlZGl0b3IgY29udGVudFxuICB2YWx1ZUdldHRlciA9IChlZGl0b3JFbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB8IGFueSA9PiB7XG4gICAgbGV0IGh0bWw6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGVkaXRvckVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy5xbC1lZGl0b3InKT8uaW5uZXJIVE1MO1xuICAgIGlmIChodG1sID09PSAnPHA+PGJyPjwvcD4nIHx8IGh0bWwgPT09ICc8ZGl2Pjxicj48L2Rpdj4nKSB7XG4gICAgICBodG1sID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gaHRtbDtcbiAgfTtcblxuICAvLyBuZWVkZWQgdG8gYWNjZXNzIGVkaXRvciBjb250ZW50XG4gIHZhbHVlU2V0dGVyID0gKHF1aWxsRWRpdG9yOiBRdWlsbFR5cGUsIHZhbHVlOiBhbnkpOiBhbnkgPT4ge1xuICAgIGNvbnN0IHNhbml0aXplQ29uZmlnID0gdGhpcy5jb25maWc/LnNhbml0aXppbmcgfHwgdGhpcy5kZWZhdWx0Q29uZmlnLnNhbml0aXppbmc7XG5cbiAgICBpZiAoc2FuaXRpemVDb25maWc/LnNhbml0aXppbmdGbikge1xuICAgICAgdmFsdWUgPSBzYW5pdGl6ZUNvbmZpZy5zYW5pdGl6aW5nRm4odGhpcy5kb21TYW5pdGl6ZXIsIHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHNhbml0aXplQ29uZmlnICYmICFzYW5pdGl6ZUNvbmZpZy5za2lwRGVmYXVsdFNhbml0aXppbmcpIHtcbiAgICAgIHZhbHVlID0gdGhpcy5kb21TYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LkhUTUwsIHZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHNhbml0aXplQ29uZmlnICYmICFzYW5pdGl6ZUNvbmZpZy5za2lwV2hpdGVzcGFjZUhhbmRsaW5nKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuaGFuZGxlV2hpdGVzcGFjZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHF1aWxsRWRpdG9yLmNsaXBib2FyZC5jb252ZXJ0KHZhbHVlKTtcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaWQgPSAoTWF0aC5yYW5kb20oKSAqIERhdGUubm93KCkpLnRvU3RyaW5nKCkucmVwbGFjZSgnLicsICctJyk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0b3JFbGVtID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgI2VkaXRvci0ke3RoaXMuaWR9YCk7XG5cbiAgICB0aGlzLnF1aWxsRWRpdG9yID0gbmV3IFF1aWxsVHlwZSh0aGlzLmVkaXRvckVsZW0sIHtcbiAgICAgIG1vZHVsZXM6IHsgdG9vbGJhcjogYCNlZGl0b3ItdG9vbGJhci0ke3RoaXMuaWR9YCwgLi4udGhpcy5tb2R1bGVzIH0sXG4gICAgICB0aGVtZTogJ3Nub3cnLFxuICAgICAgc2Nyb2xsaW5nQ29udGFpbmVyOiBgI2VkaXRvci1jb250YWluZXItJHt0aGlzLmlkfWBcbiAgICB9KTtcbiAgICB0aGlzLnNldEVkaXRvckxhYmVsKCk7XG4gICAgdGhpcy5hZGRXaGl0ZXNwYWNlTWF0Y2hlcigpO1xuICAgIHRoaXMuYWRkSW1hZ2VNYXRjaGVyKCk7XG5cbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy52YWx1ZVNldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB0aGlzLmlubmVyVmFsdWUgfHwgJycpO1xuICAgIHRoaXMucXVpbGxFZGl0b3Iuc2V0Q29udGVudHMoY29udGVudCwgJ3NpbGVudCcpO1xuICAgIHRoaXMucXVpbGxFZGl0b3IuZ2V0TW9kdWxlKCdoaXN0b3J5JykuY2xlYXIoKTtcblxuICAgIHRoaXMuaGFuZGxlKCk7XG5cbiAgICB0aGlzLnF1aWxsRWRpdG9yLm9uKCd0ZXh0LWNoYW5nZScsICgpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlR2V0dGVyKHRoaXMuZWRpdG9yRWxlbSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/LlsnY29uZmlnJ10/LmN1cnJlbnRWYWx1ZSAhPSBudWxsKSB7XG4gICAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgICAgdG9vbGJhcjogeyAuLi50aGlzLmRlZmF1bHRDb25maWcudG9vbGJhciwgLi4uY2hhbmdlc1snY29uZmlnJ10uY3VycmVudFZhbHVlPy50b29sYmFyIH0sXG4gICAgICAgIHNhbml0aXppbmc6IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLnNhbml0aXppbmcsIC4uLmNoYW5nZXNbJ2NvbmZpZyddLmN1cnJlbnRWYWx1ZT8uc2FuaXRpemluZyB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlKCk7XG4gIH1cblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcblxuICAgIGlmICghdGhpcy5xdWlsbEVkaXRvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnZhbHVlU2V0dGVyKHRoaXMucXVpbGxFZGl0b3IsIHZhbHVlIHx8ICcnKTtcbiAgICB0aGlzLnF1aWxsRWRpdG9yLnNldENvbnRlbnRzKGNvbnRlbnQpO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnPy5mb2N1c0N1cnNvclRvRW5kT25Xcml0ZSkge1xuICAgICAgLy8gd2hlbiBuZXcgY29udGVudCBnZXRzIHdyaXR0ZW4gd2UgYWx3YXlzIHNldCBjdXJzb3IgZm9jdXMgdG8gZW5kIG9mIHRleHRcbiAgICAgIHRoaXMucXVpbGxFZGl0b3Iuc2V0U2VsZWN0aW9uKE51bWJlci5NQVhfU0FGRV9JTlRFR0VSLCAwKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSB0aGlzLmRpc2FibGVkKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgaWYgKHRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICAgIHRoaXMucXVpbGxFZGl0b3IuZGlzYWJsZSgpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgJ2Rpc2FibGVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRSZWFkT25seVN0YXRlKCkge1xuICAgIHRoaXMucXVpbGxFZGl0b3IuZW5hYmxlKCF0aGlzLnJlYWRPbmx5KTtcbiAgfVxuXG4gIGRlbGVnYXRlKGV2ZW50OiBhbnksIGFjdGlvbjogc3RyaW5nKSB7XG4gICAgbGV0IGJ0bjogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgJ2JvbGQnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkJvbGQ/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bj8uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdpdGFsaWMnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkl0YWxpYz8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VuZGVybGluZSc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuVW5kZXJsaW5lPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4/LmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYWxpZ24tY2VudGVyJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5BbGlnbkNlbnRlcj8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2FsaWduLXJpZ2h0JzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5BbGlnblJpZ2h0Py5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4/LmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGluayc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuTGluaz8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3VsJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5VbD8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ29sJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5PbD8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5JbWFnZT8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZT8ubGVuZ3RoIHx8IDA7XG4gIH1cblxuICBoaWRlRGl2aWRlcihuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5rT3JJbWFnZSA9IHRoaXMuY29uZmlnLnRvb2xiYXI/LmltYWdlIHx8IHRoaXMuY29uZmlnLnRvb2xiYXI/Lmxpbms7XG4gICAgY29uc3QgbGlzdHMgPSB0aGlzLmNvbmZpZy50b29sYmFyPy5idWxsZXRMaXN0IHx8IHRoaXMuY29uZmlnLnRvb2xiYXI/Lm9yZGVyZWRMaXN0O1xuICAgIGNvbnN0IHR5cG9zID0gdGhpcy5jb25maWcudG9vbGJhcj8uYm9sZCB8fCB0aGlzLmNvbmZpZy50b29sYmFyPy5pdGFsaWMgfHwgdGhpcy5jb25maWcudG9vbGJhcj8udW5kZXJsaW5lO1xuICAgIGNvbnN0IHRleHRBbGlnbiA9IHRoaXMuY29uZmlnLnRvb2xiYXI/LmFsaWduQ2VudGVyIHx8IHRoaXMuY29uZmlnLnRvb2xiYXI/LmFsaWduUmlnaHQ7XG4gICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICBjYXNlICd0eXBvJzpcbiAgICAgICAgcmV0dXJuICF0eXBvcyB8fCAoIXRleHRBbGlnbiAmJiAhbGlua09ySW1hZ2UgJiYgIWxpc3RzKTtcbiAgICAgIGNhc2UgJ3RleHQtYWxpZ24nOlxuICAgICAgICByZXR1cm4gIXRleHRBbGlnbiB8fCAoIWxpbmtPckltYWdlICYmICFsaXN0cyk7XG4gICAgICBjYXNlICdsaXN0cyc6XG4gICAgICAgIHJldHVybiAhbGlzdHMgfHwgIWxpbmtPckltYWdlO1xuICAgICAgY2FzZSAnaW1hZ2UnOlxuICAgICAgICByZXR1cm4gIXRoaXMuY29uZmlnLnRvb2xiYXI/LmltYWdlIHx8ICF0aGlzLmNvbmZpZy50b29sYmFyLmxpbms7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRFZGl0b3JMYWJlbCgpIHtcbiAgICBjb25zdCBlZGl0b3JEaXYgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucWwtZWRpdG9yJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWRpdG9yRGl2LCAncm9sZScsICd0ZXh0Ym94Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWRpdG9yRGl2LCAnYXJpYS1sYWJlbGxlZGJ5JywgYGVkaXRvci1sYWJlbC0ke3RoaXMuaWR9YCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWRpdG9yRGl2LCAnYXJpYS1tdWx0aWxpbmUnLCAndHJ1ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGUoKSB7XG4gICAgdGhpcy5zZXRSZWFkT25seVN0YXRlKCk7XG4gICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGFkZFdoaXRlc3BhY2VNYXRjaGVyKCkge1xuICAgIC8vIHNldCB1cCBhIG1hdGNoZXIgdGhhdCByZXBsYWNlcyBwbGFjZWhvbGRlciAjIyN0YWIjIyMgd2l0aCBcXHQgaW4gZGVsdGEgYWdhaW5cbiAgICB0aGlzLnF1aWxsRWRpdG9yLmNsaXBib2FyZC5hZGRNYXRjaGVyKCdwJywgKF9ub2RlLCBkZWx0YSkgPT4ge1xuICAgICAgbGV0IHN0ciA9IEpTT04uc3RyaW5naWZ5KGRlbHRhKTtcbiAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKC8jIyN0YWIjIyMvZywgJ1xcXFx0Jyk7XG4gICAgICBkZWx0YSA9IEpTT04ucGFyc2Uoc3RyKTtcbiAgICAgIHJldHVybiBkZWx0YTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkSW1hZ2VNYXRjaGVyKCkge1xuICAgIC8vIHNldCB1cCBhIG1hdGNoZXIgdGhhdCBkb2VzIGFsbG93L2Rpc2FsbG93IHRvIHBhc3RlIGltYWdlcyBjb3JyZXNwb25kaW5nIHRvIGNvbmZpZyBzZXR0aW5nc1xuICAgIHRoaXMucXVpbGxFZGl0b3IuY2xpcGJvYXJkLmFkZE1hdGNoZXIoJ2ltZycsIChfbm9kZSwgZGVsdGEpID0+IHtcbiAgICAgIC8vIGFsbG93ZWQsIHBhc3N0aHJ1IGRlbHRhXG4gICAgICBpZiAodGhpcy5jb25maWcudG9vbGJhcj8uaW1hZ2UgPT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIGRlbHRhO1xuICAgICAgfVxuXG4gICAgICAvLyBub3QgYWxsb3dlZCwgcmVtb3ZlIGltYWdlIGJ5IHNldHRpbmcgdXAgYSBuZXcgZGVsdGFcbiAgICAgIGNvbnN0IERlbHRhID0gUXVpbGxUeXBlLmltcG9ydCgncXVpbGwtZGVsdGEnKTtcbiAgICAgIHJldHVybiBuZXcgRGVsdGEoKS5pbnNlcnQoJycpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVXaGl0ZXNwYWNlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIHNldCBhIHBsYWNlaG9sZGVyIGZvciB0YWIgZW50aXR5IHRvIGF2b2lkIHRoYXQgcXVpbGwgcmVtb3ZlcyBpdFxuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC8mIzk7L2dpLCAnIyMjdGFiIyMjJyk7XG4gIH1cbn1cbiIsIjxsYWJlbCBjbGFzcz1cImZ3ZS1pbnB1dC10ZXh0XCIgW2NsYXNzLmZ3ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8ZGl2IGNsYXNzPVwiZm5nLWVkaXRvci10b29sYmFyXCIgW2lkXT1cIidlZGl0b3ItdG9vbGJhci0nICsgaWRcIj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgZndlLWQtbm9uZVwiPlxuICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLXNpemVcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNtYWxsXCI+PC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJsYXJnZVwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwiaHVnZVwiPjwvb3B0aW9uPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0cyBmbmctZWRpdG9yLXRvb2xiYXItYnV0dG9ucy1jb250YWluZXIgZndlLW1yLTNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmJvbGRcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkJvbGQgY2xhc3M9XCJxbC1ib2xkIGZ3ZS1kLW5vbmUgYWN0aW9uLWJvbGRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnLnRvb2xiYXI/LnVuZGVybGluZSB8fCBjb25maWcudG9vbGJhcj8uaXRhbGljXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnYm9sZCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZuZy1idXR0b24tdGV4dCBmbmctdGV4dC1ib2xkXCI+QjwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uaXRhbGljXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5JdGFsaWMgY2xhc3M9XCJxbC1pdGFsaWMgZndlLWQtbm9uZSBhY3Rpb24taXRhbGljXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZy50b29sYmFyPy51bmRlcmxpbmVcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdpdGFsaWMnKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbmctYnV0dG9uLXRleHQgZm5nLXRleHQtaXRhbGljXCI+STwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8udW5kZXJsaW5lXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5VbmRlcmxpbmUgY2xhc3M9XCJxbC11bmRlcmxpbmUgZndlLWQtbm9uZSBhY3Rpb24tdW5kZXJsaW5lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ3VuZGVybGluZScpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZuZy1idXR0b24tdGV4dCBmbmctdGV4dC11bmRlcmxpbmVcIj5VPC9kaXY+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZURpdmlkZXIoJ3R5cG8nKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5hbGlnbkNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuQWxpZ25DZW50ZXIgY2xhc3M9XCJxbC1hbGlnbiBmd2UtZC1ub25lIGFjdGlvbi1hbGlnbi1jZW50ZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB2YWx1ZT1cImNlbnRlclwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIlxuICAgICAgICAgIFtjbGFzcy5md2UtbXItM109XCJjb25maWcudG9vbGJhcj8uYWxpZ25SaWdodFwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2FsaWduLWNlbnRlcicpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZm5nLWljb24tdGV4dC1hbGlnbi1jZW50ZXIgZndlLW1yLTBcIiBbY2xhc3MuZm5nLWdyYXldPVwiZGlzYWJsZWRcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LmFsaWduUmlnaHRcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkFsaWduUmlnaHQgY2xhc3M9XCJxbC1hbGlnbiBmd2UtZC1ub25lIGFjdGlvbi1hbGlnbi1yaWdodFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHZhbHVlPVwicmlnaHRcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnYWxpZ24tcmlnaHQnKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZuZy1pY29uLXRleHQtYWxpZ24tcmlnaHQgZndlLW1yLTBcIiBbY2xhc3MuZm5nLWdyYXldPVwiZGlzYWJsZWRcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZURpdmlkZXIoJ3RleHQtYWxpZ24nKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5idWxsZXRMaXN0XCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5VbCBjbGFzcz1cInFsLWxpc3QgZndlLWQtbm9uZSBhY3Rpb24tdWxcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB2YWx1ZT1cImJ1bGxldFwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIlxuICAgICAgICAgIFtjbGFzcy5md2UtbXItM109XCJjb25maWcudG9vbGJhcj8ub3JkZXJlZExpc3RcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICd1bCcpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24tbGlzdC1saXN0LXZpZXcgZndlLW1yLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5vcmRlcmVkTGlzdFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuT2wgY2xhc3M9XCJxbC1saXN0IGZ3ZS1kLW5vbmUgYWN0aW9uLW9sXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJvcmRlcmVkXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ29sJylcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmd2UtaWNvbi1lbnVtZXJhdGlvbiBmd2UtbXItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcignbGlzdHMnKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5pbWFnZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdpbWFnZScpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24taW1hZ2UtaW1hZ2UgZndlLW1yLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuSW1hZ2UgY2xhc3M9XCJxbC1pbWFnZSBmd2UtZC1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGRpdiAqbmdJZj1cIiFoaWRlRGl2aWRlcignaW1hZ2UnKVwiIGNsYXNzPVwiZm5nLWRpdmlkZXIteSBmd2UtbXgtNFwiPjwvZGl2PlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5saW5rXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCIgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2xpbmsnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZ3ZS1pY29uLWZpbGUtbGluayBmd2UtbXItMFwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5MaW5rIGNsYXNzPVwicWwtbGluayBmd2UtZC1ub25lXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZm5nLWVkaXRvci1jb250YWluZXJcIiBbaWRdPVwiJ2VkaXRvci1jb250YWluZXItJyArIGlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3JcIiBbaWRdPVwiJ2VkaXRvci0nICsgaWRcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwiZndlLWlucHV0LXRleHQtbGFiZWxcIiBbaWRdPVwiJ2VkaXRvci1sYWJlbC0nICsgaWRcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJoaW50XCIgY2xhc3M9XCJmbmctdGV4dC1lZGl0b3ItaW5mb1wiPnt7IGhpbnQgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiZXJyb3JcIiBjbGFzcz1cImZuZy10ZXh0LWVkaXRvci1pbnZhbGlkXCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwibWF4TGVuZ3RoID4gMCAmJiB2YWx1ZSAhPSBudWxsXCIgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dC1jb3VudFwiPnt7IGN1cnJlbnRMZW5ndGgoKSB9fSAvIHt7IG1heExlbmd0aCB9fTwvc3Bhbj5cbjwvbGFiZWw+XG4iXX0=
|
|
308
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL3RleHQtZWRpdG9yL3RleHQtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixLQUFLLEVBRUwsZUFBZSxFQUdmLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUVWLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLFNBQVMsTUFBTSxPQUFPLENBQUM7QUFFOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBcUN6RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsNkJBQXdEO0lBNENsRyxJQUNhLEtBQUssQ0FBQyxLQUFnQztRQUNqRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFD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Uzt1QkFBQyxXQUFXO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFDSSxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFDQyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0osT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNBLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDRSxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ0ssUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUVYLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUVFLE1BQU07c0JBQWQsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVPLEtBQUs7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBJbnB1dCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgU2VjdXJpdHlDb250ZXh0LFxuICBFbGVtZW50UmVmLFxuICBSZW5kZXJlcjIsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxuICBmb3J3YXJkUmVmLFxuICBPbkNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFF1aWxsVHlwZSBmcm9tICdxdWlsbCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgRm5nVmFsdWVBY2Nlc3NvckJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi92YWx1ZS1hY2Nlc3Nvci1iYXNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgT2JzZXJ2ZXJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL29ic2VydmVycyc7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm5nVGV4dEVkaXRvckNvbmZpZ3VyYXRpb24ge1xuICB0b29sYmFyPzoge1xuICAgIGJvbGQ/OiBib29sZWFuO1xuICAgIGl0YWxpYz86IGJvb2xlYW47XG4gICAgdW5kZXJsaW5lPzogYm9vbGVhbjtcbiAgICBhbGlnbkNlbnRlcj86IGJvb2xlYW47XG4gICAgYWxpZ25SaWdodD86IGJvb2xlYW47XG4gICAgYnVsbGV0TGlzdD86IGJvb2xlYW47XG4gICAgb3JkZXJlZExpc3Q/OiBib29sZWFuO1xuICAgIGltYWdlPzogYm9vbGVhbjtcbiAgICBsaW5rPzogYm9vbGVhbjtcbiAgfTtcbiAgc2FuaXRpemluZz86IHtcbiAgICBza2lwRGVmYXVsdFNhbml0aXppbmc/OiBib29sZWFuO1xuICAgIHNraXBXaGl0ZXNwYWNlSGFuZGxpbmc/OiBib29sZWFuO1xuICAgIHNhbml0aXppbmdGbj86IChkczogRG9tU2FuaXRpemVyLCB2YWx1ZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIH07XG4gIGZvY3VzQ3Vyc29yVG9FbmRPbldyaXRlPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGUsIFNjcm9sbGluZ01vZHVsZSwgRHJhZ0Ryb3BNb2R1bGUsIE9ic2VydmVyc01vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZm5nLXRleHQtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGbmdUZXh0RWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZuZ1RleHRFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBGbmdWYWx1ZUFjY2Vzc29yQmFzZURpcmVjdGl2ZTxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcXVpbGxFZGl0b3IhOiBRdWlsbFR5cGU7XG4gIGVkaXRvckVsZW0hOiBIVE1MRWxlbWVudDtcbiAgZGVmYXVsdENvbmZpZzogRm5nVGV4dEVkaXRvckNvbmZpZ3VyYXRpb24gPSB7XG4gICAgdG9vbGJhcjoge1xuICAgICAgYm9sZDogdHJ1ZSxcbiAgICAgIGl0YWxpYzogdHJ1ZSxcbiAgICAgIHVuZGVybGluZTogdHJ1ZSxcbiAgICAgIGFsaWduQ2VudGVyOiB0cnVlLFxuICAgICAgYWxpZ25SaWdodDogdHJ1ZSxcbiAgICAgIGJ1bGxldExpc3Q6IHRydWUsXG4gICAgICBvcmRlcmVkTGlzdDogdHJ1ZSxcbiAgICAgIGltYWdlOiB0cnVlLFxuICAgICAgbGluazogdHJ1ZVxuICAgIH0sXG4gICAgc2FuaXRpemluZzoge1xuICAgICAgc2FuaXRpemluZ0ZuOiB1bmRlZmluZWQsXG4gICAgICBza2lwRGVmYXVsdFNhbml0aXppbmc6IGZhbHNlLFxuICAgICAgc2tpcFdoaXRlc3BhY2VIYW5kbGluZzogZmFsc2VcbiAgICB9LFxuICAgIGZvY3VzQ3Vyc29yVG9FbmRPbldyaXRlOiB0cnVlXG4gIH07XG5cbiAgQFZpZXdDaGlsZCgnYnRuQm9sZCcpIGJ0bkJvbGQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2J0bkl0YWxpYycpIGJ0bkl0YWxpYzogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZCgnYnRuVW5kZXJsaW5lJykgYnRuVW5kZXJsaW5lOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdidG5BbGlnbkNlbnRlcicpIGJ0bkFsaWduQ2VudGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuICBAVmlld0NoaWxkKCdidG5BbGlnblJpZ2h0JykgYnRuQWxpZ25SaWdodDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgQFZpZXdDaGlsZCgnYnRuTGluaycpIGJ0bkxpbms6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2J0blVsJykgYnRuVWw6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2J0bk9sJykgYnRuT2w6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2J0bkltYWdlJykgYnRuSW1hZ2U6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgQE91dHB1dCgpIGZuZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCkgY29uZmlnOiBGbmdUZXh0RWRpdG9yQ29uZmlndXJhdGlvbiA9IHRoaXMuZGVmYXVsdENvbmZpZztcbiAgQElucHV0KCkgbW9kdWxlczogYW55O1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGVycm9yOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGhpbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KClcbiAgb3ZlcnJpZGUgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHRoaXMuaW5uZXJWYWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5jaGFuZ2VkLmZvckVhY2goZiA9PiB7XG4gICAgICAgIHRoaXMuZm5nQ2hhbmdlLmVtaXQodGhpcy5pbm5lclZhbHVlKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLmlubmVyVmFsdWUpO1xuICAgICAgICByZXR1cm4gZih2YWx1ZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIC8vIG5lZWRlZCB0byBhY2Nlc3MgZWRpdG9yIGNvbnRlbnRcbiAgdmFsdWVHZXR0ZXIgPSAoZWRpdG9yRWxlbWVudDogSFRNTEVsZW1lbnQpOiBzdHJpbmcgfCBhbnkgPT4ge1xuICAgIGxldCBodG1sOiBzdHJpbmcgfCB1bmRlZmluZWQgPSBlZGl0b3JFbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcucWwtZWRpdG9yJyk/LmlubmVySFRNTDtcbiAgICBpZiAoaHRtbCA9PT0gJzxwPjxicj48L3A+JyB8fCBodG1sID09PSAnPGRpdj48YnI+PC9kaXY+Jykge1xuICAgICAgaHRtbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIGh0bWw7XG4gIH07XG5cbiAgLy8gbmVlZGVkIHRvIGFjY2VzcyBlZGl0b3IgY29udGVudFxuICB2YWx1ZVNldHRlciA9IChxdWlsbEVkaXRvcjogUXVpbGxUeXBlLCB2YWx1ZTogYW55KTogYW55ID0+IHtcbiAgICBjb25zdCBzYW5pdGl6ZUNvbmZpZyA9IHRoaXMuY29uZmlnPy5zYW5pdGl6aW5nIHx8IHRoaXMuZGVmYXVsdENvbmZpZy5zYW5pdGl6aW5nO1xuXG4gICAgaWYgKHNhbml0aXplQ29uZmlnPy5zYW5pdGl6aW5nRm4pIHtcbiAgICAgIHZhbHVlID0gc2FuaXRpemVDb25maWcuc2FuaXRpemluZ0ZuKHRoaXMuZG9tU2FuaXRpemVyLCB2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChzYW5pdGl6ZUNvbmZpZyAmJiAhc2FuaXRpemVDb25maWcuc2tpcERlZmF1bHRTYW5pdGl6aW5nKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuZG9tU2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCB2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChzYW5pdGl6ZUNvbmZpZyAmJiAhc2FuaXRpemVDb25maWcuc2tpcFdoaXRlc3BhY2VIYW5kbGluZykge1xuICAgICAgdmFsdWUgPSB0aGlzLmhhbmRsZVdoaXRlc3BhY2UodmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBxdWlsbEVkaXRvci5jbGlwYm9hcmQuY29udmVydCh2YWx1ZSk7XG4gIH07XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBkb21TYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkID0gKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKS50b1N0cmluZygpLnJlcGxhY2UoJy4nLCAnLScpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdG9yRWxlbSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYCNlZGl0b3ItJHt0aGlzLmlkfWApO1xuXG4gICAgdGhpcy5xdWlsbEVkaXRvciA9IG5ldyBRdWlsbFR5cGUodGhpcy5lZGl0b3JFbGVtLCB7XG4gICAgICBtb2R1bGVzOiB7IHRvb2xiYXI6IGAjZWRpdG9yLXRvb2xiYXItJHt0aGlzLmlkfWAsIC4uLnRoaXMubW9kdWxlcyB9LFxuICAgICAgdGhlbWU6ICdzbm93JyxcbiAgICAgIHNjcm9sbGluZ0NvbnRhaW5lcjogYCNlZGl0b3ItY29udGFpbmVyLSR7dGhpcy5pZH1gXG4gICAgfSk7XG4gICAgdGhpcy5zZXRFZGl0b3JMYWJlbCgpO1xuICAgIHRoaXMuYWRkV2hpdGVzcGFjZU1hdGNoZXIoKTtcbiAgICB0aGlzLmFkZEltYWdlTWF0Y2hlcigpO1xuXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMudmFsdWVTZXR0ZXIodGhpcy5xdWlsbEVkaXRvciwgdGhpcy5pbm5lclZhbHVlIHx8ICcnKTtcbiAgICB0aGlzLnF1aWxsRWRpdG9yLnNldENvbnRlbnRzKGNvbnRlbnQsICdzaWxlbnQnKTtcbiAgICB0aGlzLnF1aWxsRWRpdG9yLmdldE1vZHVsZSgnaGlzdG9yeScpLmNsZWFyKCk7XG5cbiAgICB0aGlzLmhhbmRsZSgpO1xuXG4gICAgdGhpcy5xdWlsbEVkaXRvci5vbigndGV4dC1jaGFuZ2UnLCAoKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZUdldHRlcih0aGlzLmVkaXRvckVsZW0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzPy5bJ2NvbmZpZyddPy5jdXJyZW50VmFsdWUgIT0gbnVsbCkge1xuICAgICAgdGhpcy5jb25maWcgPSB7XG4gICAgICAgIHRvb2xiYXI6IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLnRvb2xiYXIsIC4uLmNoYW5nZXNbJ2NvbmZpZyddLmN1cnJlbnRWYWx1ZT8udG9vbGJhciB9LFxuICAgICAgICBzYW5pdGl6aW5nOiB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZy5zYW5pdGl6aW5nLCAuLi5jaGFuZ2VzWydjb25maWcnXS5jdXJyZW50VmFsdWU/LnNhbml0aXppbmcgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmhhbmRsZSgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG5cbiAgICBpZiAoIXRoaXMucXVpbGxFZGl0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy52YWx1ZVNldHRlcih0aGlzLnF1aWxsRWRpdG9yLCB2YWx1ZSB8fCAnJyk7XG4gICAgdGhpcy5xdWlsbEVkaXRvci5zZXRDb250ZW50cyhjb250ZW50KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZz8uZm9jdXNDdXJzb3JUb0VuZE9uV3JpdGUpIHtcbiAgICAgIC8vIHdoZW4gbmV3IGNvbnRlbnQgZ2V0cyB3cml0dGVuIHdlIGFsd2F5cyBzZXQgY3Vyc29yIGZvY3VzIHRvIGVuZCBvZiB0ZXh0XG4gICAgICB0aGlzLnF1aWxsRWRpdG9yLnNldFNlbGVjdGlvbihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiwgMCk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuID0gdGhpcy5kaXNhYmxlZCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIGlmICh0aGlzLnF1aWxsRWRpdG9yKSB7XG4gICAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgICB0aGlzLnF1aWxsRWRpdG9yLmRpc2FibGUoKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCF0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgdGhpcy5xdWlsbEVkaXRvci5lbmFibGUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0UmVhZE9ubHlTdGF0ZSgpIHtcbiAgICB0aGlzLnF1aWxsRWRpdG9yLmVuYWJsZSghdGhpcy5yZWFkT25seSk7XG4gIH1cblxuICBkZWxlZ2F0ZShldmVudDogYW55LCBhY3Rpb246IHN0cmluZykge1xuICAgIGxldCBidG46IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICBjYXNlICdib2xkJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5Cb2xkPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBidG4/LmNsaWNrKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnaXRhbGljJzpcbiAgICAgICAgYnRuID0gdGhpcy5idG5JdGFsaWM/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bj8uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd1bmRlcmxpbmUnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0blVuZGVybGluZT8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2FsaWduLWNlbnRlcic6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuQWxpZ25DZW50ZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bj8uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdhbGlnbi1yaWdodCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuQWxpZ25SaWdodD8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgYnRuPy5jbGljaygpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICBidG4gPSB0aGlzLmJ0bkxpbms/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bj8uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd1bCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuVWw/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bj8uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdvbCc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuT2w/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bj8uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdpbWFnZSc6XG4gICAgICAgIGJ0biA9IHRoaXMuYnRuSW1hZ2U/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGJ0bj8uY2xpY2soKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBjdXJyZW50TGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWU/Lmxlbmd0aCB8fCAwO1xuICB9XG5cbiAgaGlkZURpdmlkZXIobmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbGlua09ySW1hZ2UgPSB0aGlzLmNvbmZpZy50b29sYmFyPy5pbWFnZSB8fCB0aGlzLmNvbmZpZy50b29sYmFyPy5saW5rO1xuICAgIGNvbnN0IGxpc3RzID0gdGhpcy5jb25maWcudG9vbGJhcj8uYnVsbGV0TGlzdCB8fCB0aGlzLmNvbmZpZy50b29sYmFyPy5vcmRlcmVkTGlzdDtcbiAgICBjb25zdCB0eXBvcyA9IHRoaXMuY29uZmlnLnRvb2xiYXI/LmJvbGQgfHwgdGhpcy5jb25maWcudG9vbGJhcj8uaXRhbGljIHx8IHRoaXMuY29uZmlnLnRvb2xiYXI/LnVuZGVybGluZTtcbiAgICBjb25zdCB0ZXh0QWxpZ24gPSB0aGlzLmNvbmZpZy50b29sYmFyPy5hbGlnbkNlbnRlciB8fCB0aGlzLmNvbmZpZy50b29sYmFyPy5hbGlnblJpZ2h0O1xuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSAndHlwbyc6XG4gICAgICAgIHJldHVybiAhdHlwb3MgfHwgKCF0ZXh0QWxpZ24gJiYgIWxpbmtPckltYWdlICYmICFsaXN0cyk7XG4gICAgICBjYXNlICd0ZXh0LWFsaWduJzpcbiAgICAgICAgcmV0dXJuICF0ZXh0QWxpZ24gfHwgKCFsaW5rT3JJbWFnZSAmJiAhbGlzdHMpO1xuICAgICAgY2FzZSAnbGlzdHMnOlxuICAgICAgICByZXR1cm4gIWxpc3RzIHx8ICFsaW5rT3JJbWFnZTtcbiAgICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgICAgcmV0dXJuICF0aGlzLmNvbmZpZy50b29sYmFyPy5pbWFnZSB8fCAhdGhpcy5jb25maWcudG9vbGJhci5saW5rO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0RWRpdG9yTGFiZWwoKSB7XG4gICAgY29uc3QgZWRpdG9yRGl2ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnFsLWVkaXRvcicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVkaXRvckRpdiwgJ3JvbGUnLCAndGV4dGJveCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVkaXRvckRpdiwgJ2FyaWEtbGFiZWxsZWRieScsIGBlZGl0b3ItbGFiZWwtJHt0aGlzLmlkfWApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVkaXRvckRpdiwgJ2FyaWEtbXVsdGlsaW5lJywgJ3RydWUnKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlKCkge1xuICAgIHRoaXMuc2V0UmVhZE9ubHlTdGF0ZSgpO1xuICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRXaGl0ZXNwYWNlTWF0Y2hlcigpIHtcbiAgICAvLyBzZXQgdXAgYSBtYXRjaGVyIHRoYXQgcmVwbGFjZXMgcGxhY2Vob2xkZXIgIyMjdGFiIyMjIHdpdGggXFx0IGluIGRlbHRhIGFnYWluXG4gICAgdGhpcy5xdWlsbEVkaXRvci5jbGlwYm9hcmQuYWRkTWF0Y2hlcigncCcsIChfbm9kZSwgZGVsdGEpID0+IHtcbiAgICAgIGxldCBzdHIgPSBKU09OLnN0cmluZ2lmeShkZWx0YSk7XG4gICAgICBzdHIgPSBzdHIucmVwbGFjZSgvIyMjdGFiIyMjL2csICdcXFxcdCcpO1xuICAgICAgZGVsdGEgPSBKU09OLnBhcnNlKHN0cik7XG4gICAgICByZXR1cm4gZGVsdGE7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEltYWdlTWF0Y2hlcigpIHtcbiAgICAvLyBzZXQgdXAgYSBtYXRjaGVyIHRoYXQgZG9lcyBhbGxvdy9kaXNhbGxvdyB0byBwYXN0ZSBpbWFnZXMgY29ycmVzcG9uZGluZyB0byBjb25maWcgc2V0dGluZ3NcbiAgICB0aGlzLnF1aWxsRWRpdG9yLmNsaXBib2FyZC5hZGRNYXRjaGVyKCdpbWcnLCAoX25vZGUsIGRlbHRhKSA9PiB7XG4gICAgICAvLyBhbGxvd2VkLCBwYXNzdGhydSBkZWx0YVxuICAgICAgaWYgKHRoaXMuY29uZmlnLnRvb2xiYXI/LmltYWdlID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiBkZWx0YTtcbiAgICAgIH1cblxuICAgICAgLy8gbm90IGFsbG93ZWQsIHJlbW92ZSBpbWFnZSBieSBzZXR0aW5nIHVwIGEgbmV3IGRlbHRhXG4gICAgICBjb25zdCBEZWx0YSA9IFF1aWxsVHlwZS5pbXBvcnQoJ3F1aWxsLWRlbHRhJyk7XG4gICAgICByZXR1cm4gbmV3IERlbHRhKCkuaW5zZXJ0KCcnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlV2hpdGVzcGFjZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBzZXQgYSBwbGFjZWhvbGRlciBmb3IgdGFiIGVudGl0eSB0byBhdm9pZCB0aGF0IHF1aWxsIHJlbW92ZXMgaXRcbiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvJiM5Oy9naSwgJyMjI3RhYiMjIycpO1xuICB9XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJmd2UtaW5wdXQtdGV4dFwiIFtjbGFzcy5md2UtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3ItdG9vbGJhclwiIFtpZF09XCInZWRpdG9yLXRvb2xiYXItJyArIGlkXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzIGZ3ZS1kLW5vbmVcIj5cbiAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1zaXplXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxvcHRpb24gdmFsdWU9XCJzbWFsbFwiPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICA8b3B0aW9uIHZhbHVlPVwibGFyZ2VcIj48L29wdGlvbj5cbiAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImh1Z2VcIj48L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHMgZm5nLWVkaXRvci10b29sYmFyLWJ1dHRvbnMtY29udGFpbmVyIGZ3ZS1tci0zXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5ib2xkXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5Cb2xkIGNsYXNzPVwicWwtYm9sZCBmd2UtZC1ub25lIGFjdGlvbi1ib2xkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1tci0zXT1cImNvbmZpZy50b29sYmFyPy51bmRlcmxpbmUgfHwgY29uZmlnLnRvb2xiYXI/Lml0YWxpY1wiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2JvbGQnKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbmctYnV0dG9uLXRleHQgZm5nLXRleHQtYm9sZFwiPkI8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/Lml0YWxpY1wiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuSXRhbGljIGNsYXNzPVwicWwtaXRhbGljIGZ3ZS1kLW5vbmUgYWN0aW9uLWl0YWxpY1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJmd2UtYnRuIGZuZy1idXR0b25cIlxuICAgICAgICAgIFtjbGFzcy5md2UtbXItM109XCJjb25maWcudG9vbGJhcj8udW5kZXJsaW5lXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnaXRhbGljJylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm5nLWJ1dHRvbi10ZXh0IGZuZy10ZXh0LWl0YWxpY1wiPkk8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWc/LnRvb2xiYXI/LnVuZGVybGluZVwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuVW5kZXJsaW5lIGNsYXNzPVwicWwtdW5kZXJsaW5lIGZ3ZS1kLW5vbmUgYWN0aW9uLXVuZGVybGluZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICd1bmRlcmxpbmUnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbmctYnV0dG9uLXRleHQgZm5nLXRleHQtdW5kZXJsaW5lXCI+VTwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCd0eXBvJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYWxpZ25DZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkFsaWduQ2VudGVyIGNsYXNzPVwicWwtYWxpZ24gZndlLWQtbm9uZSBhY3Rpb24tYWxpZ24tY2VudGVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJjZW50ZXJcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnLnRvb2xiYXI/LmFsaWduUmlnaHRcIlxuICAgICAgICAgIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdhbGlnbi1jZW50ZXInKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZuZy1pY29uLXRleHQtYWxpZ24tY2VudGVyIGZ3ZS1tci0wXCIgW2NsYXNzLmZuZy1ncmF5XT1cImRpc2FibGVkXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uZmlnPy50b29sYmFyPy5hbGlnblJpZ2h0XCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICNidG5BbGlnblJpZ2h0IGNsYXNzPVwicWwtYWxpZ24gZndlLWQtbm9uZSBhY3Rpb24tYWxpZ24tcmlnaHRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB2YWx1ZT1cInJpZ2h0XCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiXG4gICAgICAgICAgKGNsaWNrKT1cImRlbGVnYXRlKCRldmVudCwgJ2FsaWduLXJpZ2h0JylcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmbmctaWNvbi10ZXh0LWFsaWduLXJpZ2h0IGZ3ZS1tci0wXCIgW2NsYXNzLmZuZy1ncmF5XT1cImRpc2FibGVkXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwiIWhpZGVEaXZpZGVyKCd0ZXh0LWFsaWduJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uYnVsbGV0TGlzdFwiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuVWwgY2xhc3M9XCJxbC1saXN0IGZ3ZS1kLW5vbmUgYWN0aW9uLXVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdmFsdWU9XCJidWxsZXRcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiZndlLWJ0biBmbmctYnRuLXRvb2xiYXItbGlzdCBmbmctYnV0dG9uXCJcbiAgICAgICAgICBbY2xhc3MuZndlLW1yLTNdPVwiY29uZmlnLnRvb2xiYXI/Lm9yZGVyZWRMaXN0XCJcbiAgICAgICAgICAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAndWwnKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZ3ZS1pY29uLWxpc3QtbGlzdC12aWV3IGZ3ZS1tci0wXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8ub3JkZXJlZExpc3RcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bk9sIGNsYXNzPVwicWwtbGlzdCBmd2UtZC1ub25lIGFjdGlvbi1vbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHZhbHVlPVwib3JkZXJlZFwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdvbCcpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi10b29sYmFyLWxpc3QgZndlLWljb24tZW51bWVyYXRpb24gZndlLW1yLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZURpdmlkZXIoJ2xpc3RzJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8uaW1hZ2VcIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZuZy1idG4tdG9vbGJhci1saXN0IGZuZy1idXR0b25cIiAoY2xpY2spPVwiZGVsZWdhdGUoJGV2ZW50LCAnaW1hZ2UnKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tdG9vbGJhci1saXN0IGZ3ZS1pY29uLWltYWdlLWltYWdlIGZ3ZS1tci0wXCI+PC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2J0bkltYWdlIGNsYXNzPVwicWwtaW1hZ2UgZndlLWQtbm9uZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCIhaGlkZURpdmlkZXIoJ2ltYWdlJylcIiBjbGFzcz1cImZuZy1kaXZpZGVyLXkgZndlLW14LTRcIj48L2Rpdj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbmZpZz8udG9vbGJhcj8ubGlua1wiPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1idG4gZm5nLWJ0bi10b29sYmFyLWxpc3QgZm5nLWJ1dHRvblwiIChjbGljayk9XCJkZWxlZ2F0ZSgkZXZlbnQsICdsaW5rJylcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLXRvb2xiYXItbGlzdCBmd2UtaWNvbi1maWxlLWxpbmsgZndlLW1yLTBcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjYnRuTGluayBjbGFzcz1cInFsLWxpbmsgZndlLWQtbm9uZVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZuZy1lZGl0b3ItY29udGFpbmVyXCIgW2lkXT1cIidlZGl0b3ItY29udGFpbmVyLScgKyBpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbmctZWRpdG9yXCIgW2lkXT1cIidlZGl0b3ItJyArIGlkXCI+PC9kaXY+XG4gIDwvZGl2PlxuICA8c3BhbiBjbGFzcz1cImZ3ZS1pbnB1dC10ZXh0LWxhYmVsXCIgW2lkXT1cIidlZGl0b3ItbGFiZWwtJyArIGlkXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiaGludFwiIGNsYXNzPVwiZm5nLXRleHQtZWRpdG9yLWluZm9cIj57eyBoaW50IH19PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJmbmctdGV4dC1lZGl0b3ItaW52YWxpZFwiPnt7IGVycm9yIH19PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cIm1heExlbmd0aCA+IDAgJiYgdmFsdWUgIT0gbnVsbFwiIGNsYXNzPVwiZndlLWlucHV0LXRleHQtY291bnRcIj57eyBjdXJyZW50TGVuZ3RoKCkgfX0gLyB7eyBtYXhMZW5ndGggfX08L3NwYW4+XG48L2xhYmVsPlxuIl19
|