@rangertechnologies/ngnxt 2.1.83 → 2.1.84

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.
@@ -12,7 +12,7 @@ import * as i1 from "../../i18n.service";
12
12
  import * as i2 from "../../services/change.service";
13
13
  import * as i3 from "@angular/forms";
14
14
  import * as i4 from "@angular/common";
15
- // RS 17JAN2025
15
+ // RS 17JAN2025
16
16
  // An array fontFamilyArr is created containing a list of font family names as strings.
17
17
  const fontFamilyArr = ["Roboto", "Roboto Condensed", "Arial", "Verdana", "Tahoma", "Trebuchet MS",
18
18
  "Georgia", "Times New Roman", "Courier New", "Palatino Linotype",
@@ -22,7 +22,7 @@ const fontFamilyArr = ["Roboto", "Roboto Condensed", "Arial", "Verdana", "Tahoma
22
22
  Quill.register('modules/mention', Mention);
23
23
  ImageResizor.Quill = Quill;
24
24
  Quill.register('modules/imageResizor', ImageResizor);
25
- // RS 17JAN2025
25
+ // RS 17JAN2025
26
26
  //The Quill font style attributor is imported and it is registered with Quil
27
27
  let fonts = Quill.import("attributors/style/font");
28
28
  fonts.whitelist = fontFamilyArr;
@@ -128,13 +128,28 @@ export class CustomRichTextComponent {
128
128
  }
129
129
  }
130
130
  }
131
- onEditorChange(event) {
132
- if (event && event.html !== undefined) {
133
- this.textValueChange.emit(event.html);
134
- }
135
- else {
136
- this.textValueChange.emit('');
137
- }
131
+ // onEditorChange(event: any): void {
132
+ // if (event && event.html !== undefined) {
133
+ // this.textValueChange.emit(event.html);
134
+ // } else {
135
+ // this.textValueChange.emit('');
136
+ // }
137
+ // }
138
+ // onEditorChange(event: any): void {
139
+ // console.log('Typing detected...', event.html);
140
+ // if (this.typingTimer) {
141
+ // clearTimeout(this.typingTimer); // Clear previous timer
142
+ // }
143
+ // this.typingTimer = setTimeout(() => {
144
+ // console.log('Debounced event fired:', event.html);
145
+ // const newValue = event?.html ? event.html : ''; // Ensure empty values are handled
146
+ // this.textValueChange.emit(newValue);
147
+ // }, this.doneTypingInterval);
148
+ // }
149
+ onEditorBlur() {
150
+ // Only emit if we have a value change
151
+ const currentValue = this.value || '';
152
+ this.textValueChange.emit(currentValue);
138
153
  }
139
154
  // Added ngOnDestroy to prevent memory leaks
140
155
  ngOnDestroy() {
@@ -143,11 +158,11 @@ export class CustomRichTextComponent {
143
158
  }
144
159
  }
145
160
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomRichTextComponent, deps: [{ token: i1.I18nService }, { token: i2.ChangeService }], target: i0.ɵɵFactoryTarget.Component });
146
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomRichTextComponent, isStandalone: true, selector: "app-custom-rich-text", inputs: { value: "value", placeholder: "placeholder", error: "error", question: "question", rows: "rows", readOnly: "readOnly", minLength: "minLength", maxLength: "maxLength" }, outputs: { textValueChange: "textValueChange" }, ngImport: i0, template: "<!-- RS 06JAN25 -->\r\n<div class=\"rich-text-container\">\r\n <quill-editor\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [modules]=\"quillConfiguration\"\r\n [readOnly]=\"readOnly\"\r\n (onContentChanged)=\"onEditorChange($event)\"\r\n [class.error]=\"error\">\r\n </quill-editor>\r\n <div *ngIf=\"error\" class=\"error-message\">\r\n {{ error }}\r\n </div>\r\n</div>", styles: [".rich-text-container{width:100%;margin:10px 0}.error{border:1px solid red}:is() .ql-editor img{cursor:pointer}:is() .image-resizer{display:block!important;visibility:visible!important}:is() .ql-editor .image-resizer{border:1px dashed #000;position:absolute}:is() .ql-editor .image-resizer .handle{background-color:#000;border:1px solid #fff;border-radius:50%;height:12px;width:12px;position:absolute}quill-editor{width:100%}\n"], dependencies: [{ kind: "component", type: QuillEditorComponent, selector: "quill-editor" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
161
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomRichTextComponent, isStandalone: true, selector: "app-custom-rich-text", inputs: { value: "value", placeholder: "placeholder", error: "error", question: "question", rows: "rows", readOnly: "readOnly", minLength: "minLength", maxLength: "maxLength" }, outputs: { textValueChange: "textValueChange" }, ngImport: i0, template: "<!-- RS 06JAN25 -->\r\n<div class=\"rich-text-container\">\r\n <quill-editor\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [modules]=\"quillConfiguration\"\r\n [readOnly]=\"readOnly\"\r\n (onBlur)=\"onEditorBlur()\"\r\n [class.error]=\"error\">\r\n </quill-editor>\r\n <div *ngIf=\"error\" class=\"error-message\">\r\n {{ error }}\r\n </div>\r\n</div>", styles: [".rich-text-container{width:100%;margin:10px 0}.error{border:1px solid red}:is() .ql-editor img{cursor:pointer}:is() .image-resizer{display:block!important;visibility:visible!important}:is() .ql-editor .image-resizer{border:1px dashed #000;position:absolute}:is() .ql-editor .image-resizer .handle{background-color:#000;border:1px solid #fff;border-radius:50%;height:12px;width:12px;position:absolute}quill-editor{width:100%}\n"], dependencies: [{ kind: "component", type: QuillEditorComponent, selector: "quill-editor" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
147
162
  }
148
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomRichTextComponent, decorators: [{
149
164
  type: Component,
150
- args: [{ imports: [QuillEditorComponent, FormsModule, CommonModule], selector: 'app-custom-rich-text', standalone: true, template: "<!-- RS 06JAN25 -->\r\n<div class=\"rich-text-container\">\r\n <quill-editor\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [modules]=\"quillConfiguration\"\r\n [readOnly]=\"readOnly\"\r\n (onContentChanged)=\"onEditorChange($event)\"\r\n [class.error]=\"error\">\r\n </quill-editor>\r\n <div *ngIf=\"error\" class=\"error-message\">\r\n {{ error }}\r\n </div>\r\n</div>", styles: [".rich-text-container{width:100%;margin:10px 0}.error{border:1px solid red}:is() .ql-editor img{cursor:pointer}:is() .image-resizer{display:block!important;visibility:visible!important}:is() .ql-editor .image-resizer{border:1px dashed #000;position:absolute}:is() .ql-editor .image-resizer .handle{background-color:#000;border:1px solid #fff;border-radius:50%;height:12px;width:12px;position:absolute}quill-editor{width:100%}\n"] }]
165
+ args: [{ imports: [QuillEditorComponent, FormsModule, CommonModule], selector: 'app-custom-rich-text', standalone: true, template: "<!-- RS 06JAN25 -->\r\n<div class=\"rich-text-container\">\r\n <quill-editor\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [modules]=\"quillConfiguration\"\r\n [readOnly]=\"readOnly\"\r\n (onBlur)=\"onEditorBlur()\"\r\n [class.error]=\"error\">\r\n </quill-editor>\r\n <div *ngIf=\"error\" class=\"error-message\">\r\n {{ error }}\r\n </div>\r\n</div>", styles: [".rich-text-container{width:100%;margin:10px 0}.error{border:1px solid red}:is() .ql-editor img{cursor:pointer}:is() .image-resizer{display:block!important;visibility:visible!important}:is() .ql-editor .image-resizer{border:1px dashed #000;position:absolute}:is() .ql-editor .image-resizer .handle{background-color:#000;border:1px solid #fff;border-radius:50%;height:12px;width:12px;position:absolute}quill-editor{width:100%}\n"] }]
151
166
  }], ctorParameters: () => [{ type: i1.I18nService }, { type: i2.ChangeService }], propDecorators: { value: [{
152
167
  type: Input
153
168
  }], placeholder: [{
@@ -167,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
167
182
  }], maxLength: [{
168
183
  type: Input
169
184
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJpY2gtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b20tcmljaC10ZXh0L2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXJpY2gtdGV4dC9jdXN0b20tcmljaC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdGQUF3RjtBQUN4RixrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFLbEgsT0FBTyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFL0MsZ0JBQWdCO0FBQ2hCLHVGQUF1RjtBQUN2RixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFjO0lBQy9GLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsbUJBQW1CO0lBQ2hFLFVBQVUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXO0lBQ2pFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFF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WUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO3dHQXZFVSx1QkFBdUI7NEZBQXZCLHVCQUF1QixtVEMzRnBDLDhaQWFNLG9lRHVFUSxvQkFBb0Isd0RBQUUsV0FBVyw4VkFBRSxZQUFZOzs0RkFPaEQsdUJBQXVCO2tCQVJuQyxTQUFTOzhCQUNHLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxZQUNoRCxzQkFBc0IsY0FDcEIsSUFBSTs0R0FNVCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNFLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENoYW5nZXMgY29tbWVudGVkIG91dCBkdWUgdG8gQW5ndWxhciB2ZXJzaW9uIGNvbXBhdGliaWxpdHk7IHdpbGwgYXBwbHkgYWZ0ZXIgdXBncmFkZS5cclxuLy8gLy8gUlMgMDZKQU4yMDI1XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIE9uRGVzdHJveSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uLy4uL2kxOG4uc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDaGFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2hhbmdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXBlbmRlbmN5TWV0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZGVwZW5kZW5jeU1ldGEnO1xyXG5pbXBvcnQgeyBRdWlsbEVkaXRvckNvbXBvbmVudCwgUXVpbGxNb2R1bGVzIH0gZnJvbSAnbmd4LXF1aWxsJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcclxuaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcclxuaW1wb3J0IHsgTWVudGlvbiB9IGZyb20gJ3F1aWxsLW1lbnRpb24nO1xyXG5pbXBvcnQgSW1hZ2VSZXNpem9yIGZyb20gJ3F1aWxsLWltYWdlLXJlc2l6b3InXHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vLyBSUyAxN0pBTjIwMjUgXHJcbi8vIEFuIGFycmF5IGZvbnRGYW1pbHlBcnIgaXMgY3JlYXRlZCBjb250YWluaW5nIGEgbGlzdCBvZiBmb250IGZhbWlseSBuYW1lcyBhcyBzdHJpbmdzLlxyXG5jb25zdCBmb250RmFtaWx5QXJyID0gW1wiUm9ib3RvXCIsIFwiUm9ib3RvIENvbmRlbnNlZFwiLCBcIkFyaWFsXCIsIFwiVmVyZGFuYVwiLCBcIlRhaG9tYVwiLCBcIlRyZWJ1Y2hldCBNU1wiLFxyXG4gIFwiR2VvcmdpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIkNvdXJpZXIgTmV3XCIsIFwiUGFsYXRpbm8gTGlub3R5cGVcIixcclxuICBcIlNlZ29lIFVJXCIsIFwiQ2FsaWJyaVwiLCBcIkNhbGlicmkgTGlnaHRcIiwgXCJTYW5zLVNlcmlmXCIsIFwiSGVsdmV0aWNhXCIsXHJcbiAgXCJJbXBhY3RcIiwgXCJHYXJhbW9uZFwiLCBcIkNvbWljIFNhbnMgTVNcIiwgXCJMdWNpZGEgQ29uc29sZVwiLCBcIkZyYW5rbGluIEdvdGhpYyBNZWRpdW1cIl07XHJcblxyXG4vLyBSZWdpc3RlciBRdWlsbCBtb2R1bGVzXHJcblF1aWxsLnJlZ2lzdGVyKCdtb2R1bGVzL21lbnRpb24nLCBNZW50aW9uKTtcclxuSW1hZ2VSZXNpem9yLlF1aWxsID0gUXVpbGxcclxuUXVpbGwucmVnaXN0ZXIoJ21vZHVsZXMvaW1hZ2VSZXNpem9yJywgSW1hZ2VSZXNpem9yKVxyXG5cclxuLy8gUlMgMTdKQU4yMDI1IFxyXG4vL1RoZSBRdWlsbCBmb250IHN0eWxlIGF0dHJpYnV0b3IgaXMgaW1wb3J0ZWQgYW5kIGl0IGlzIHJlZ2lzdGVyZWQgd2l0aCBRdWlsXHJcbmxldCBmb250czogYW55ID0gUXVpbGwuaW1wb3J0KFwiYXR0cmlidXRvcnMvc3R5bGUvZm9udFwiKTtcclxuZm9udHMud2hpdGVsaXN0ID0gZm9udEZhbWlseUFycjtcclxuUXVpbGwucmVnaXN0ZXIoZm9udHMsIHRydWUpO1xyXG5cclxuZXhwb3J0IGNvbnN0IFF1aWxsQ29uZmlndXJhdGlvbjogUXVpbGxNb2R1bGVzID0ge1xyXG4gICAgaW1hZ2VSZXNpem9yOiB7fSxcclxuICB0b29sYmFyOiB7XHJcbiAgICBjb250YWluZXI6IFtcclxuICAgICAgW3sgJ2ZvbnQnOiBmb250RmFtaWx5QXJyIH1dLCAgLy9SUyAxN0pBTjIwMjUgIEFkZGVkIGZvbnQgZmFtaWx5IGRyb3Bkb3duXHJcbiAgICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZSddLFxyXG4gICAgICBbJ2Jsb2NrcXVvdGUnLCAnY29kZS1ibG9jayddLFxyXG4gICAgICBbeyBoZWFkZXI6IFsxLCAyLCAzLCA0LCA1LCA2LCBmYWxzZV0gfV0sXHJcbiAgICAgIFt7IGxpc3Q6ICdvcmRlcmVkJyB9LCB7IGxpc3Q6ICdidWxsZXQnIH1dLFxyXG4gICAgICBbeyBjb2xvcjogW10gfSwgeyBiYWNrZ3JvdW5kOiBbXSB9XSxcclxuICAgICAgW3sgYWxpZ246IFtdIH1dLFxyXG4gICAgICBbJ2xpbmsnLCAnaW1hZ2UnLCAndmlkZW8nXSxcclxuICAgICAgWydmb3JtdWxhJ10sXHJcbiAgICAgIFsnY2xlYW4nXSxcclxuICAgIF0sXHJcbiAgfSxcclxuICBtZW50aW9uOiB7XHJcbiAgICBhbGxvd2VkQ2hhcnM6IC9eW0EtWmEtelxcc8OFw4TDlsOlw6TDtl0qJC8sXHJcbiAgICBtZW50aW9uRGVub3RhdGlvbkNoYXJzOiBbJ0AnLCAnIyddLFxyXG4gICAgc291cmNlOiBmdW5jdGlvbiAoc2VhcmNoVGVybTogc3RyaW5nLCByZW5kZXJMaXN0OiBhbnkpIHtcclxuICAgICAgY29uc3QgdmFsdWVzID0gW1xyXG4gICAgICAgIHsgaWQ6IDEsIHZhbHVlOiAnVXNlciAxJyB9LFxyXG4gICAgICAgIHsgaWQ6IDIsIHZhbHVlOiAnVXNlciAyJyB9LFxyXG4gICAgICBdO1xyXG5cclxuICAgICAgaWYgKHNlYXJjaFRlcm0ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmVuZGVyTGlzdCh2YWx1ZXMsIHNlYXJjaFRlcm0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSB2YWx1ZXMuZmlsdGVyKChpdGVtKSA9PlxyXG4gICAgICAgICAgaXRlbS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSlcclxuICAgICAgICApO1xyXG4gICAgICAgIHJlbmRlckxpc3QobWF0Y2hlcywgc2VhcmNoVGVybSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuXHJcbi8vIHJlc2l6ZToge1xyXG4vLyAgICAgZGlzcGxheVNpemU6IHRydWUsXHJcbi8vICAgICBtb2R1bGVzOiBbJ1Jlc2l6ZScsICdEaXNwbGF5U2l6ZScsICdUb29sYmFyJ10sXHJcbi8vICAgICB0b29sYmFyU3R5bGVzOiB7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnYmxhY2snLFxyXG4vLyAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxyXG4vLyAgICAgICAgIGNvbG9yOiAnd2hpdGUnXHJcbi8vICAgICB9LFxyXG4vLyAgICAgaGFuZGxlU3R5bGVzOiB7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnYmxhY2snLFxyXG4vLyAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxyXG4vLyAgICAgICAgIGNvbG9yOiAnd2hpdGUnXHJcbi8vICAgICB9XHJcbi8vIH0sXHJcbkBDb21wb25lbnQoe1xyXG4gICAgaW1wb3J0czogW1F1aWxsRWRpdG9yQ29tcG9uZW50LCBGb3Jtc01vZHVsZSAsQ29tbW9uTW9kdWxlXSxcclxuICAgIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1yaWNoLXRleHQnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tcmljaC10ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tUmljaFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7IFxyXG4gIEBJbnB1dCgpIHZhbHVlOiBhbnkgfCBhbnlbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXJyb3I6IGFueTtcclxuICBASW5wdXQoKSBxdWVzdGlvbjogYW55O1xyXG4gIEBJbnB1dCgpIHJvd3M6TnVtYmVyOyAvL1RoZSBudW1iZXIgb2YgdmlzaWJsZSB0ZXh0IGxpbmVzIGZvciB0aGUgY29udHJvbFxyXG4gIEBJbnB1dCgpIHJlYWRPbmx5ID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHRleHRWYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBASW5wdXQoKSBtaW5MZW5ndGg/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgbWF4TGVuZ3RoPzogbnVtYmVyO1xyXG4gIC8vIEBJbnB1dCgpIHZhbHVlOiBhbnkgPSAnJzsgLy8gU2V0IGRlZmF1bHQgdmFsdWVcclxuXHJcbiAgcXVpbGxDb25maWd1cmF0aW9uOiBRdWlsbE1vZHVsZXMgPSBRdWlsbENvbmZpZ3VyYXRpb247XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247ICBcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VTZXJ2aWNlOiBDaGFuZ2VTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnUmljaCBUZXh0IEluaXQ6Jywge1xyXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcclxuICAgICAgcXVlc3Rpb246IHRoaXMucXVlc3Rpb25cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMudmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcclxuICAgICAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdCgnJyk7XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5pbml0aWFsaXplRGVwZW5kZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gU2VwYXJhdGVkIGRlcGVuZGVuY3kgaW5pdGlhbGl6YXRpb24gZm9yIGJldHRlciBvcmdhbml6YXRpb25cclxuICBwcml2YXRlIGluaXRpYWxpemVEZXBlbmRlbmN5KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucXVlc3Rpb24/LnN1YlRleHQpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnc3ViVGV4dDonLCB0aGlzLnF1ZXN0aW9uLnN1YlRleHQpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlcGVuZGVuY3lPYmo6IERlcGVuZGVuY3lNZXRhID0gSlNPTi5wYXJzZSh0aGlzLnF1ZXN0aW9uLnN1YlRleHQpO1xyXG4gICAgICAgICAgICBpZiAoZGVwZW5kZW5jeU9iaj8uc291cmNlUXVlc3Rpb25JZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNoYW5nZVNlcnZpY2UuY2hhbmdlQW5ub3VuY2VkJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZVZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdDaGFuZ2UgVmFsdWU6JywgY2hhbmdlVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hhbmdlVmFsdWUgJiYgY2hhbmdlVmFsdWUudmFsdWVPYmogJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVZhbHVlLmZyb21RdWVzdGlvbklkID09PSBkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBjaGFuZ2VWYWx1ZS52YWx1ZU9ialtkZXBlbmRlbmN5T2JqLnZhbHVlRmllbGRdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVNlcnZpY2UuY29uZmlybUNoYW5nZShkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIHN1YlRleHQ6JywgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbm9uRWRpdG9yQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICBpZiAoZXZlbnQgJiYgZXZlbnQuaHRtbCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLnRleHRWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50Lmh0bWwpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnRleHRWYWx1ZUNoYW5nZS5lbWl0KCcnKTtcclxuICB9XHJcbn1cclxuICAvLyBBZGRlZCBuZ09uRGVzdHJveSB0byBwcmV2ZW50IG1lbW9yeSBsZWFrc1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8IS0tIFJTIDA2SkFOMjUgLS0+XHJcbjxkaXYgY2xhc3M9XCJyaWNoLXRleHQtY29udGFpbmVyXCI+XHJcbiAgPHF1aWxsLWVkaXRvclxyXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgW21vZHVsZXNdPVwicXVpbGxDb25maWd1cmF0aW9uXCJcclxuICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbiAgICAob25Db250ZW50Q2hhbmdlZCk9XCJvbkVkaXRvckNoYW5nZSgkZXZlbnQpXCJcclxuICAgIFtjbGFzcy5lcnJvcl09XCJlcnJvclwiPlxyXG4gIDwvcXVpbGwtZWRpdG9yPlxyXG4gIDxkaXYgKm5nSWY9XCJlcnJvclwiIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlxyXG4gICAge3sgZXJyb3IgfX1cclxuICA8L2Rpdj5cclxuPC9kaXY+Il19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJpY2gtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvY29tcG9uZW50cy9jdXN0b20tcmljaC10ZXh0L2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL2NvbXBvbmVudHMvY3VzdG9tLXJpY2gtdGV4dC9jdXN0b20tcmljaC10ZXh0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdGQUF3RjtBQUN4RixrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFLbEgsT0FBTyxFQUFFLG9CQUFvQixFQUFnQixNQUFNLFdBQVcsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDNUMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxZQUFZLE1BQU0scUJBQXFCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFFL0MsZUFBZTtBQUNmLHVGQUF1RjtBQUN2RixNQUFNLGFBQWEsR0FBRyxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFjO0lBQy9GLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsbUJBQW1CO0lBQ2hFLFVBQVUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXO0lBQ2pFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDLENBQUM7QUFFckYseUJBQXlCO0FBQ3pCLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0MsWUFBWSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7QUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxZQUFZLENBQUMsQ0FBQTtBQUVwRCxlQUFlO0FBQ2YsNEVBQTRFO0FBQzVFLElBQUksS0FBSyxHQUFRLEtBQUssQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUN4RCxLQUFLLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQztBQUNoQyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUU1QixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBaUI7SUFDNUMsWUFBWSxFQUFFLEVBQUU7SUFDbEIsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFO1lBQ1QsQ0FBQyxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFHLDBDQUEwQztZQUN4RSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQztZQUN6QyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7WUFDNUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUN6QyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ25DLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDZixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1lBQzFCLENBQUMsU0FBUyxDQUFDO1lBQ1gsQ0FBQyxPQUFPLENBQUM7U0FDVjtLQUNGO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsWUFBWSxFQUFFLHFCQUFxQjtRQUNuQyxzQkFBc0IsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDbEMsTUFBTSxFQUFFLFVBQVUsVUFBa0IsRUFBRSxVQUFlO1lBQ25ELE1BQU0sTUFBTSxHQUFHO2dCQUNiLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2dCQUMxQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTthQUMzQixDQUFDO1lBRUYsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUM1QixVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQzVELENBQUM7Z0JBQ0YsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztLQUNGO0NBQ0YsQ0FBQztBQUVGLFlBQVk7QUFDWix5QkFBeUI7QUFDekIscURBQXFEO0FBQ3JELHVCQUF1QjtBQUN2QixvQ0FBb0M7QUFDcEMsMEJBQTBCO0FBQzFCLHlCQUF5QjtBQUN6QixTQUFTO0FBQ1Qsc0JBQXNCO0FBQ3RCLG9DQUFvQztBQUNwQywwQkFBMEI7QUFDMUIseUJBQXlCO0FBQ3pCLFFBQVE7QUFDUixLQUFLO0FBU0wsTUFBTSxPQUFPLHVCQUF1QjtJQWdCekI7SUFDQztJQWhCRCxLQUFLLEdBQWdCLEVBQUUsQ0FBQztJQUN4QixXQUFXLENBQVM7SUFDcEIsS0FBSyxDQUFNO0lBQ1gsUUFBUSxDQUFNO0lBQ2QsSUFBSSxDQUFRLENBQUMsa0RBQWtEO0lBQy9ELFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDaEIsZUFBZSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ3BFLFNBQVMsQ0FBVTtJQUNuQixTQUFTLENBQVU7SUFDNUIsaURBQWlEO0lBRWpELGtCQUFrQixHQUFpQixrQkFBa0IsQ0FBQztJQUN0RCxZQUFZLENBQWU7SUFFM0IsWUFDUyxXQUF3QixFQUN2QixhQUE0QjtRQUQ3QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNsQyxDQUFDO0lBRUwsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUU7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7UUFDSCxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFaEMsQ0FBQztRQUNELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCw4REFBOEQ7SUFDdEQsb0JBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQztnQkFDRCxNQUFNLGFBQWEsR0FBbUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4RSxJQUFJLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUM3RCxDQUFDLFdBQVcsRUFBRSxFQUFFO3dCQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsUUFBUTs0QkFDbkMsV0FBVyxDQUFDLGNBQWMsS0FBSyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQzs0QkFDaEUsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzs0QkFDNUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUMxQyxDQUFDO3dCQUNELElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUNyRSxDQUFDLENBQ0osQ0FBQztnQkFDTixDQUFDO1lBQ0wsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFHRCxxQ0FBcUM7SUFDckMsNkNBQTZDO0lBQzdDLDZDQUE2QztJQUM3QyxhQUFhO0lBQ2IscUNBQXFDO0lBQ3JDLE1BQU07SUFDTixJQUFJO0lBQ0oscUNBQXFDO0lBQ3JDLG1EQUFtRDtJQUVuRCw0QkFBNEI7SUFDNUIsOERBQThEO0lBQzlELE1BQU07SUFDTiwwQ0FBMEM7SUFDMUMseURBQXlEO0lBRXpELHlGQUF5RjtJQUN6RiwyQ0FBMkM7SUFDM0MsaUNBQWlDO0lBQ2pDLElBQUk7SUFFSixZQUFZO1FBQ1Ysc0NBQXNDO1FBQ3RDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDQyw0Q0FBNEM7SUFDNUMsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7d0dBMUZVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLG1UQzNGcEMsNFlBYU0sb2VEdUVRLG9CQUFvQix3REFBRSxXQUFXLDhWQUFFLFlBQVk7OzRGQU9oRCx1QkFBdUI7a0JBUm5DLFNBQVM7OEJBQ0csQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLFlBQ2hELHNCQUFzQixjQUNwQixJQUFJOzRHQU1ULEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0UsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ2hhbmdlcyBjb21tZW50ZWQgb3V0IGR1ZSB0byBBbmd1bGFyIHZlcnNpb24gY29tcGF0aWJpbGl0eTsgd2lsbCBhcHBseSBhZnRlciB1cGdyYWRlLlxyXG4vLyAvLyBSUyAwNkpBTjIwMjVcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgT25EZXN0cm95LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaTE4bi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENoYW5nZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jaGFuZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERlcGVuZGVuY3lNZXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9kZXBlbmRlbmN5TWV0YSc7XHJcbmltcG9ydCB7IFF1aWxsRWRpdG9yQ29tcG9uZW50LCBRdWlsbE1vZHVsZXMgfSBmcm9tICduZ3gtcXVpbGwnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xyXG5pbXBvcnQgUXVpbGwgZnJvbSAncXVpbGwnO1xyXG5pbXBvcnQgeyBNZW50aW9uIH0gZnJvbSAncXVpbGwtbWVudGlvbic7XHJcbmltcG9ydCBJbWFnZVJlc2l6b3IgZnJvbSAncXVpbGwtaW1hZ2UtcmVzaXpvcidcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbi8vIFJTIDE3SkFOMjAyNVxyXG4vLyBBbiBhcnJheSBmb250RmFtaWx5QXJyIGlzIGNyZWF0ZWQgY29udGFpbmluZyBhIGxpc3Qgb2YgZm9udCBmYW1pbHkgbmFtZXMgYXMgc3RyaW5ncy5cclxuY29uc3QgZm9udEZhbWlseUFyciA9IFtcIlJvYm90b1wiLCBcIlJvYm90byBDb25kZW5zZWRcIiwgXCJBcmlhbFwiLCBcIlZlcmRhbmFcIiwgXCJUYWhvbWFcIiwgXCJUcmVidWNoZXQgTVNcIixcclxuICBcIkdlb3JnaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJDb3VyaWVyIE5ld1wiLCBcIlBhbGF0aW5vIExpbm90eXBlXCIsXHJcbiAgXCJTZWdvZSBVSVwiLCBcIkNhbGlicmlcIiwgXCJDYWxpYnJpIExpZ2h0XCIsIFwiU2Fucy1TZXJpZlwiLCBcIkhlbHZldGljYVwiLFxyXG4gIFwiSW1wYWN0XCIsIFwiR2FyYW1vbmRcIiwgXCJDb21pYyBTYW5zIE1TXCIsIFwiTHVjaWRhIENvbnNvbGVcIiwgXCJGcmFua2xpbiBHb3RoaWMgTWVkaXVtXCJdO1xyXG5cclxuLy8gUmVnaXN0ZXIgUXVpbGwgbW9kdWxlc1xyXG5RdWlsbC5yZWdpc3RlcignbW9kdWxlcy9tZW50aW9uJywgTWVudGlvbik7XHJcbkltYWdlUmVzaXpvci5RdWlsbCA9IFF1aWxsXHJcblF1aWxsLnJlZ2lzdGVyKCdtb2R1bGVzL2ltYWdlUmVzaXpvcicsIEltYWdlUmVzaXpvcilcclxuXHJcbi8vIFJTIDE3SkFOMjAyNVxyXG4vL1RoZSBRdWlsbCBmb250IHN0eWxlIGF0dHJpYnV0b3IgaXMgaW1wb3J0ZWQgYW5kIGl0IGlzIHJlZ2lzdGVyZWQgd2l0aCBRdWlsXHJcbmxldCBmb250czogYW55ID0gUXVpbGwuaW1wb3J0KFwiYXR0cmlidXRvcnMvc3R5bGUvZm9udFwiKTtcclxuZm9udHMud2hpdGVsaXN0ID0gZm9udEZhbWlseUFycjtcclxuUXVpbGwucmVnaXN0ZXIoZm9udHMsIHRydWUpO1xyXG5cclxuZXhwb3J0IGNvbnN0IFF1aWxsQ29uZmlndXJhdGlvbjogUXVpbGxNb2R1bGVzID0ge1xyXG4gICAgaW1hZ2VSZXNpem9yOiB7fSxcclxuICB0b29sYmFyOiB7XHJcbiAgICBjb250YWluZXI6IFtcclxuICAgICAgW3sgJ2ZvbnQnOiBmb250RmFtaWx5QXJyIH1dLCAgLy9SUyAxN0pBTjIwMjUgIEFkZGVkIGZvbnQgZmFtaWx5IGRyb3Bkb3duXHJcbiAgICAgIFsnYm9sZCcsICdpdGFsaWMnLCAndW5kZXJsaW5lJywgJ3N0cmlrZSddLFxyXG4gICAgICBbJ2Jsb2NrcXVvdGUnLCAnY29kZS1ibG9jayddLFxyXG4gICAgICBbeyBoZWFkZXI6IFsxLCAyLCAzLCA0LCA1LCA2LCBmYWxzZV0gfV0sXHJcbiAgICAgIFt7IGxpc3Q6ICdvcmRlcmVkJyB9LCB7IGxpc3Q6ICdidWxsZXQnIH1dLFxyXG4gICAgICBbeyBjb2xvcjogW10gfSwgeyBiYWNrZ3JvdW5kOiBbXSB9XSxcclxuICAgICAgW3sgYWxpZ246IFtdIH1dLFxyXG4gICAgICBbJ2xpbmsnLCAnaW1hZ2UnLCAndmlkZW8nXSxcclxuICAgICAgWydmb3JtdWxhJ10sXHJcbiAgICAgIFsnY2xlYW4nXSxcclxuICAgIF0sXHJcbiAgfSxcclxuICBtZW50aW9uOiB7XHJcbiAgICBhbGxvd2VkQ2hhcnM6IC9eW0EtWmEtelxcc8OFw4TDlsOlw6TDtl0qJC8sXHJcbiAgICBtZW50aW9uRGVub3RhdGlvbkNoYXJzOiBbJ0AnLCAnIyddLFxyXG4gICAgc291cmNlOiBmdW5jdGlvbiAoc2VhcmNoVGVybTogc3RyaW5nLCByZW5kZXJMaXN0OiBhbnkpIHtcclxuICAgICAgY29uc3QgdmFsdWVzID0gW1xyXG4gICAgICAgIHsgaWQ6IDEsIHZhbHVlOiAnVXNlciAxJyB9LFxyXG4gICAgICAgIHsgaWQ6IDIsIHZhbHVlOiAnVXNlciAyJyB9LFxyXG4gICAgICBdO1xyXG5cclxuICAgICAgaWYgKHNlYXJjaFRlcm0ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmVuZGVyTGlzdCh2YWx1ZXMsIHNlYXJjaFRlcm0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IG1hdGNoZXMgPSB2YWx1ZXMuZmlsdGVyKChpdGVtKSA9PlxyXG4gICAgICAgICAgaXRlbS52YWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSlcclxuICAgICAgICApO1xyXG4gICAgICAgIHJlbmRlckxpc3QobWF0Y2hlcywgc2VhcmNoVGVybSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgfSxcclxufTtcclxuXHJcbi8vIHJlc2l6ZToge1xyXG4vLyAgICAgZGlzcGxheVNpemU6IHRydWUsXHJcbi8vICAgICBtb2R1bGVzOiBbJ1Jlc2l6ZScsICdEaXNwbGF5U2l6ZScsICdUb29sYmFyJ10sXHJcbi8vICAgICB0b29sYmFyU3R5bGVzOiB7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnYmxhY2snLFxyXG4vLyAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxyXG4vLyAgICAgICAgIGNvbG9yOiAnd2hpdGUnXHJcbi8vICAgICB9LFxyXG4vLyAgICAgaGFuZGxlU3R5bGVzOiB7XHJcbi8vICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnYmxhY2snLFxyXG4vLyAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxyXG4vLyAgICAgICAgIGNvbG9yOiAnd2hpdGUnXHJcbi8vICAgICB9XHJcbi8vIH0sXHJcbkBDb21wb25lbnQoe1xyXG4gICAgaW1wb3J0czogW1F1aWxsRWRpdG9yQ29tcG9uZW50LCBGb3Jtc01vZHVsZSAsQ29tbW9uTW9kdWxlXSxcclxuICAgIHNlbGVjdG9yOiAnYXBwLWN1c3RvbS1yaWNoLXRleHQnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tcmljaC10ZXh0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2N1c3RvbS1yaWNoLXRleHQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tUmljaFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgdmFsdWU6IGFueSB8IGFueVtdID0gJyc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBlcnJvcjogYW55O1xyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBhbnk7XHJcbiAgQElucHV0KCkgcm93czpOdW1iZXI7IC8vVGhlIG51bWJlciBvZiB2aXNpYmxlIHRleHQgbGluZXMgZm9yIHRoZSBjb250cm9sXHJcbiAgQElucHV0KCkgcmVhZE9ubHkgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgdGV4dFZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBJbnB1dCgpIG1pbkxlbmd0aD86IG51bWJlcjtcclxuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XHJcbiAgLy8gQElucHV0KCkgdmFsdWU6IGFueSA9ICcnOyAvLyBTZXQgZGVmYXVsdCB2YWx1ZVxyXG5cclxuICBxdWlsbENvbmZpZ3VyYXRpb246IFF1aWxsTW9kdWxlcyA9IFF1aWxsQ29uZmlndXJhdGlvbjtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaTE4blNlcnZpY2U6IEkxOG5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VTZXJ2aWNlOiBDaGFuZ2VTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZygnUmljaCBUZXh0IEluaXQ6Jywge1xyXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcclxuICAgICAgcXVlc3Rpb246IHRoaXMucXVlc3Rpb25cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMudmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSAnJztcclxuICAgICAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdCgnJyk7XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5pbml0aWFsaXplRGVwZW5kZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gU2VwYXJhdGVkIGRlcGVuZGVuY3kgaW5pdGlhbGl6YXRpb24gZm9yIGJldHRlciBvcmdhbml6YXRpb25cclxuICBwcml2YXRlIGluaXRpYWxpemVEZXBlbmRlbmN5KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucXVlc3Rpb24/LnN1YlRleHQpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnc3ViVGV4dDonLCB0aGlzLnF1ZXN0aW9uLnN1YlRleHQpO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlcGVuZGVuY3lPYmo6IERlcGVuZGVuY3lNZXRhID0gSlNPTi5wYXJzZSh0aGlzLnF1ZXN0aW9uLnN1YlRleHQpO1xyXG4gICAgICAgICAgICBpZiAoZGVwZW5kZW5jeU9iaj8uc291cmNlUXVlc3Rpb25JZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNoYW5nZVNlcnZpY2UuY2hhbmdlQW5ub3VuY2VkJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZVZhbHVlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdDaGFuZ2UgVmFsdWU6JywgY2hhbmdlVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hhbmdlVmFsdWUgJiYgY2hhbmdlVmFsdWUudmFsdWVPYmogJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVZhbHVlLmZyb21RdWVzdGlvbklkID09PSBkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBjaGFuZ2VWYWx1ZS52YWx1ZU9ialtkZXBlbmRlbmN5T2JqLnZhbHVlRmllbGRdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVNlcnZpY2UuY29uZmlybUNoYW5nZShkZXBlbmRlbmN5T2JqLnNvdXJjZVF1ZXN0aW9uSWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIHN1YlRleHQ6JywgZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIG9uRWRpdG9yQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuLy8gICBpZiAoZXZlbnQgJiYgZXZlbnQuaHRtbCAhPT0gdW5kZWZpbmVkKSB7XHJcbi8vICAgICB0aGlzLnRleHRWYWx1ZUNoYW5nZS5lbWl0KGV2ZW50Lmh0bWwpO1xyXG4vLyAgIH0gZWxzZSB7XHJcbi8vICAgICB0aGlzLnRleHRWYWx1ZUNoYW5nZS5lbWl0KCcnKTtcclxuLy8gICB9XHJcbi8vIH1cclxuLy8gb25FZGl0b3JDaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4vLyAgIGNvbnNvbGUubG9nKCdUeXBpbmcgZGV0ZWN0ZWQuLi4nLCBldmVudC5odG1sKTtcclxuXHJcbi8vICAgaWYgKHRoaXMudHlwaW5nVGltZXIpIHtcclxuLy8gICAgIGNsZWFyVGltZW91dCh0aGlzLnR5cGluZ1RpbWVyKTsgLy8gQ2xlYXIgcHJldmlvdXMgdGltZXJcclxuLy8gICB9XHJcbi8vICAgdGhpcy50eXBpbmdUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4vLyAgICAgY29uc29sZS5sb2coJ0RlYm91bmNlZCBldmVudCBmaXJlZDonLCBldmVudC5odG1sKTtcclxuXHJcbi8vICAgICBjb25zdCBuZXdWYWx1ZSA9IGV2ZW50Py5odG1sID8gZXZlbnQuaHRtbCA6ICcnOyAvLyBFbnN1cmUgZW1wdHkgdmFsdWVzIGFyZSBoYW5kbGVkXHJcbi8vICAgICB0aGlzLnRleHRWYWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcclxuLy8gICB9LCB0aGlzLmRvbmVUeXBpbmdJbnRlcnZhbCk7XHJcbi8vIH1cclxuXHJcbm9uRWRpdG9yQmx1cigpOiB2b2lkIHtcclxuICAvLyBPbmx5IGVtaXQgaWYgd2UgaGF2ZSBhIHZhbHVlIGNoYW5nZVxyXG4gIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWUgfHwgJyc7XHJcbiAgdGhpcy50ZXh0VmFsdWVDaGFuZ2UuZW1pdChjdXJyZW50VmFsdWUpO1xyXG59XHJcbiAgLy8gQWRkZWQgbmdPbkRlc3Ryb3kgdG8gcHJldmVudCBtZW1vcnkgbGVha3NcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbiIsIjwhLS0gUlMgMDZKQU4yNSAtLT5cclxuPGRpdiBjbGFzcz1cInJpY2gtdGV4dC1jb250YWluZXJcIj5cclxuICA8cXVpbGwtZWRpdG9yXHJcbiAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICBbbW9kdWxlc109XCJxdWlsbENvbmZpZ3VyYXRpb25cIlxyXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcclxuICAgIChvbkJsdXIpPVwib25FZGl0b3JCbHVyKClcIlxyXG4gICAgW2NsYXNzLmVycm9yXT1cImVycm9yXCI+XHJcbiAgPC9xdWlsbC1lZGl0b3I+XHJcbiAgPGRpdiAqbmdJZj1cImVycm9yXCIgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+XHJcbiAgICB7eyBlcnJvciB9fVxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -47,6 +47,14 @@ import { CustomImageComponent } from './components/custom-image/custom-image.com
47
47
  import { CustomRadioComponent } from './components/custom-radio/custom-radio.component';
48
48
  import { LoaderComponent } from './components/loader/loader.component';
49
49
  import { ComponenthostDirective } from './directives/componenthost/componenthost.directive';
50
+ // AP 22JAN2025 Added the below components
51
+ import { ElementComponent } from './pages/builder/element/element.component';
52
+ import { PropertiesComponent } from './pages/builder/properties/properties.component';
53
+ import { MenuComponent } from './pages/builder/menu/menu.component';
54
+ // AP 22JAN2025 Added the DragDropModule
55
+ import { DragDropModule } from '@angular/cdk/drag-drop';
56
+ //AP 22JAN2025 Added the FormBuilderService
57
+ import { FormBuilderService } from './services/form-builder.service';
50
58
  import * as i0 from "@angular/core";
51
59
  import * as i1 from "ngx-quill";
52
60
  import * as i2 from "./i18n.module";
@@ -64,7 +72,7 @@ const languages = [
64
72
  ];
65
73
  export class NxtAppModule {
66
74
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NxtAppModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
67
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NxtAppModule, declarations: [NxtAppComponent,
75
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: NxtAppModule, bootstrap: [NxtAppComponent], declarations: [NxtAppComponent,
68
76
  QuestionnaireComponent,
69
77
  PickLocationComponent,
70
78
  CustomInputComponent,
@@ -91,7 +99,11 @@ export class NxtAppModule {
91
99
  I18nComponent,
92
100
  I18nPipe,
93
101
  CustomImageComponent,
94
- CustomRadioComponent], imports: [i1.QuillModule, // RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.
102
+ CustomRadioComponent,
103
+ //AP 22JAN2025 Added the below components
104
+ ElementComponent,
105
+ PropertiesComponent,
106
+ MenuComponent], imports: [i1.QuillModule, // RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.
95
107
  CustomRichTextComponent,
96
108
  CommonModule, FormsModule,
97
109
  // BrowserModule,
@@ -104,6 +116,7 @@ export class NxtAppModule {
104
116
  NgSelectModule,
105
117
  GoogleMapsModule,
106
118
  MatTooltipModule,
119
+ DragDropModule, //AP 22JAN25 Added the DragDropModule
107
120
  //AgmCoreModule.forRoot({
108
121
  // apiKey: GOOGLE_MAP_API_KEY,
109
122
  // libraries: ['geometry', 'places', 'visualization', 'drawing']
@@ -113,10 +126,16 @@ export class NxtAppModule {
113
126
  BookletComponent,
114
127
  SummaryPageComponent,
115
128
  I18nPipe,
116
- I18nComponent] });
129
+ I18nComponent,
130
+ ElementComponent,
131
+ PropertiesComponent,
132
+ MenuComponent
133
+ // CustomRichTextComponent
134
+ ] });
117
135
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NxtAppModule, providers: [
118
136
  I18nService,
119
- I18nPipe
137
+ I18nPipe,
138
+ FormBuilderService //AP 22JAN2025 Added the FormBuilderService
120
139
  ], imports: [QuillModule.forRoot(), // RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.
121
140
  CustomRichTextComponent,
122
141
  CommonModule, FormsModule,
@@ -128,6 +147,7 @@ export class NxtAppModule {
128
147
  NgSelectModule,
129
148
  GoogleMapsModule,
130
149
  MatTooltipModule,
150
+ DragDropModule, //AP 22JAN25 Added the DragDropModule
131
151
  //AgmCoreModule.forRoot({
132
152
  // apiKey: GOOGLE_MAP_API_KEY,
133
153
  // libraries: ['geometry', 'places', 'visualization', 'drawing']
@@ -147,7 +167,7 @@ export class NxtAppModule {
147
167
  "backgroundGradientStopColor": "#dd2e13",
148
168
  "backgroundStroke": "#d3cfcf",
149
169
  "title": [
150
-
170
+
151
171
  "%"
152
172
  ],
153
173
  // titleFontSize: 12,
@@ -172,7 +192,7 @@ export class NxtAppModule {
172
192
  "outerStrokeLinecap": "inherit",
173
193
  "innerStrokeColor": "#f6dfdf",
174
194
  "title": [
175
-
195
+
176
196
  "%"
177
197
  ],
178
198
  "titleColor": "#e7d9d9",
@@ -242,7 +262,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
242
262
  I18nComponent,
243
263
  I18nPipe,
244
264
  CustomImageComponent,
245
- CustomRadioComponent
265
+ CustomRadioComponent,
266
+ //AP 22JAN2025 Added the below components
267
+ ElementComponent,
268
+ PropertiesComponent,
269
+ MenuComponent
246
270
  ],
247
271
  imports: [
248
272
  QuillModule.forRoot(), // RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.
@@ -258,6 +282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
258
282
  NgSelectModule,
259
283
  GoogleMapsModule,
260
284
  MatTooltipModule,
285
+ DragDropModule, //AP 22JAN25 Added the DragDropModule
261
286
  //AgmCoreModule.forRoot({
262
287
  // apiKey: GOOGLE_MAP_API_KEY,
263
288
  // libraries: ['geometry', 'places', 'visualization', 'drawing']
@@ -277,7 +302,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
277
302
  "backgroundGradientStopColor": "#dd2e13",
278
303
  "backgroundStroke": "#d3cfcf",
279
304
  "title": [
280
-
305
+
281
306
  "%"
282
307
  ],
283
308
  // titleFontSize: 12,
@@ -302,7 +327,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
302
327
  "outerStrokeLinecap": "inherit",
303
328
  "innerStrokeColor": "#f6dfdf",
304
329
  "title": [
305
-
330
+
306
331
  "%"
307
332
  ],
308
333
  "titleColor": "#e7d9d9",
@@ -342,6 +367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
342
367
  "showSubtitle": false
343
368
  })
344
369
  ],
370
+ bootstrap: [NxtAppComponent],
345
371
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
346
372
  exports: [NxtAppComponent,
347
373
  QuestionnaireComponent,
@@ -349,11 +375,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
349
375
  SummaryPageComponent,
350
376
  I18nPipe,
351
377
  I18nComponent,
378
+ ElementComponent,
379
+ PropertiesComponent,
380
+ MenuComponent
352
381
  // CustomRichTextComponent
353
382
  ],
354
383
  providers: [
355
384
  I18nService,
356
- I18nPipe
385
+ I18nPipe,
386
+ FormBuilderService //AP 22JAN2025 Added the FormBuilderService
357
387
  ]
358
388
  // providers: [
359
389
  // { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },
@@ -361,4 +391,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
361
391
  // ]
362
392
  }]
363
393
  }] });
364
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWFwcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvbnh0LWFwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBc0IsTUFBTSwwREFBMEQsQ0FBQyxDQUFDLGlJQUFpSTtBQUN6UCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FB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Q3JCLGVBQWUsRUFBRSxTQUFTOzRCQUMxQixjQUFjLEVBQUUsS0FBSzt5QkFBQyxDQUFDO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsZUFBZTt3QkFDdkIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsUUFBUTt3QkFDUixhQUFhO3dCQUNiLDBCQUEwQjtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFdBQVc7d0JBQ1gsUUFBUTtxQkFDVDtvQkFDRCxlQUFlO29CQUNmLG9GQUFvRjtvQkFDcEYscUVBQXFFO29CQUNyRSxJQUFJO2lCQUNMIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTnh0QXBwQ29tcG9uZW50IH0gZnJvbSAnLi9ueHQtYXBwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9ubmFpcmVDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb25uYWlyZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUgfSBmcm9tICduZy1jaXJjbGUtcHJvZ3Jlc3MnO1xyXG5pbXBvcnQgeyBOZ3hTcGlubmVyTW9kdWxlIH0gZnJvbSBcIm5neC1zcGlubmVyXCI7XHJcbmltcG9ydCB7IEdPT0dMRV9NQVBfQVBJX0tFWSB9IGZyb20gJy4uL2xpYi9zYW1wbGUnO1xyXG5pbXBvcnQgeyBQaWNrTG9jYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGljay1sb2NhdGlvbi9waWNrLWxvY2F0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5pbXBvcnQgeyBDdXN0b21JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20taW5wdXQvY3VzdG9tLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbVRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS10ZXh0LWFyZWEvY3VzdG9tLXRleHQtYXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21UYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tdGFibGUvY3VzdG9tLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbVJpY2hUZXh0Q29tcG9uZW50LCBRdWlsbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXJpY2gtdGV4dC9jdXN0b20tcmljaC10ZXh0LmNvbXBvbmVudCc7IC8vUlMgMDZKQU4yMDI1IEltcG9ydHMgbW9kdWxlcyBhbmQgY29tcG9uZW50cyBmb3IgYnJvd3NlciBjb21wYXRpYmlsaXR5LCBRdWlsbC1iYXNlZCByaWNoIHRleHQgZWRpdGluZywgYW5kIGN1c3RvbSBjb25maWd1cmF0aW9uc1xyXG5pbXBvcnQgeyBRdWlsbE1vZHVsZSB9IGZyb20gJ25neC1xdWlsbCc7XHJcbmltcG9ydCB7IERyb3Bkb3duV2l0aEZsYWdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24td2l0aC1mbGFnL2Ryb3Bkb3duLXdpdGgtZmxhZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPd2xEYXRlVGltZU1vZHVsZSwgT3dsTmF0aXZlRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAZGFuaWVsbW9uY2FkYS9hbmd1bGFyLWRhdGV0aW1lLXBpY2tlcic7XHJcblxyXG4vL2ltcG9ydCB7IE9XTF9NT01FTlRfREFURV9USU1FX0FEQVBURVJfT1BUSU9OUyB9IGZyb20gJ25nLXBpY2stZGF0ZXRpbWUvZGF0ZS10aW1lL2FkYXB0ZXIvbW9tZW50LWFkYXB0ZXIvbW9tZW50LWRhdGUtdGltZS1hZGFwdGVyLmNsYXNzJztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZGF0ZS1waWNrZXIvY3VzdG9tLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50JztcclxuLy8gVkQgMjNKQU4yNCByZW1vdmVkIEh0dHBDbGllbnRNb2R1bGVcclxuaW1wb3J0IHsgQm9va2xldENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYm9va2xldC9ib29rbGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdvb2dsZU1hcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XHJcbmltcG9ydCB7IFNlYXJjaEJveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gtYm94L3NlYXJjaC1ib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgUXVlc3Rpb25ib29rQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9xdWVzdGlvbmJvb2svcXVlc3Rpb25ib29rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3VtbWFyeVBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL3N1bW1hcnktcGFnZS9zdW1tYXJ5LXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmlsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS12aWV3L2ZpbGUtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXBlbmRlbnRUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kZXBlbmRlbnQtdGFibGUvZGVwZW5kZW50LXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1sYWJlbC9jdXN0b20tbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVBcHBlbmRpeENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1hcHBlbmRpeC90YWJsZS1hcHBlbmRpeC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21EYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1kYXRlL2N1c3RvbS1kYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbVRpbWVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXRpbWUvY3VzdG9tLXRpbWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1idXR0b24vY3VzdG9tLWJ1dHRvbi5jb21wb25lbnQnO1xyXG4vLyBIQSAxOURFQzIzIEltcG9ydGluZyBmb3IgdHJhbnNsYXRpb25cclxuaW1wb3J0IHsgSTE4bk1vZHVsZSB9IGZyb20gJy4vaTE4bi5tb2R1bGUnXHJcbmltcG9ydCB7IEkxOG5Db21wb25lbnQgfSBmcm9tICcuL2kxOG4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSTE4blBpcGUgfSBmcm9tICcuL2kxOG4ucGlwZSc7XHJcbmltcG9ydCAqIGFzIGVuSTE4biBmcm9tICcuL2VuLmkxOG4nO1xyXG5pbXBvcnQgKiBhcyBhckkxOG4gZnJvbSAnLi9hci5pMThuJztcclxuaW1wb3J0ICogYXMgdGFtSTE4biBmcm9tICcuL3RhbS5pMThuJ1xyXG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4vaTE4bi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnOyAvLyBWRCAyMEpVTjI0IC0gaGVscCB0ZXh0IGNoYW5nZXNcclxuaW1wb3J0IHsgR2V0VmFsdWVQaXBlIH0gZnJvbSAnLi9waXBlL2dldC12YWx1ZS5waXBlJzsgLy8gVkQgMjZKVU4yNCAtIHBpcGUgY2hhbmdlc1xyXG5pbXBvcnQgeyBDdXN0b21DYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tY2FsZW5kYXIvY3VzdG9tLWNhbGVuZGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbU1vZGVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1tb2RlbC9jdXN0b20tbW9kZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLWltYWdlL2N1c3RvbS1pbWFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21SYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tcmFkaW8vY3VzdG9tLXJhZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbXBvbmVudGhvc3REaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29tcG9uZW50aG9zdC9jb21wb25lbnRob3N0LmRpcmVjdGl2ZSc7XHJcblxyXG4vLyBleHBvcnQgY29uc3QgTVlfQ1VTVE9NX0ZPUk1BVFMgPSB7XHJcbi8vICAgZnVsbFBpY2tlcklucHV0OiAnREQvTU0vWVlZWSBISDptbTpzcycsXHJcbi8vICAgdXNlVXRjOiB0cnVlLFxyXG4vLyB9O1xyXG5cclxuLy8gSEEgMTlERUMyMyB2YXJpYWJsZSBjcmVhdGVkIGZvciB0cmFuc2xhdGlvblxyXG5jb25zdCBsYW5ndWFnZXMgPSBbXHJcbiAgLy8geyBsYW5nOiAnRU4nLCBmbGFnOiAnYXNzZXRzL2ltYWdlcy9lbi5pMThuLnBuZycsIGZpbGU6IGVuSTE4biB9LFxyXG4gIHsgbGFuZzogJ0VOJywgZmlsZTogZW5JMThuIH0sXHJcbiAgeyBsYW5nOiAnVEFNJywgZmlsZTogdGFtSTE4biB9LFxyXG4gIHsgbGFuZzogJ0FSJywgZmlsZTogYXJJMThuIH1cclxuXVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtOeHRBcHBDb21wb25lbnQsIFxyXG4gICAgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCxcclxuICAgIFBpY2tMb2NhdGlvbkNvbXBvbmVudCxcclxuICAgIEN1c3RvbUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQsXHJcbiAgICBDdXN0b21UYWJsZUNvbXBvbmVudCxcclxuICAgIEN1c3RvbUNhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duV2l0aEZsYWdDb21wb25lbnQsXHJcbiAgICBDdXN0b21Ecm9wZG93bkNvbXBvbmVudCxcclxuICAgIEJvb2tsZXRDb21wb25lbnQsXHJcbiAgICBTZWFyY2hCb3hDb21wb25lbnQsXHJcbiAgICBRdWVzdGlvbmJvb2tDb21wb25lbnQsXHJcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgU3VtbWFyeVBhZ2VDb21wb25lbnQsXHJcbiAgICBGaWxlVmlld0NvbXBvbmVudCxcclxuICAgIERlcGVuZGVudFRhYmxlQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tTGFiZWxDb21wb25lbnQsXHJcbiAgICBUYWJsZUFwcGVuZGl4Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGF0ZUNvbXBvbmVudCxcclxuICAgIEN1c3RvbVRpbWVDb21wb25lbnQsXHJcbiAgICBDdXN0b21CdXR0b25Db21wb25lbnQsXHJcbiAgICBDdXN0b21Nb2RlbENvbXBvbmVudCxcclxuICAgIExvYWRlckNvbXBvbmVudCxcclxuICAgIEkxOG5Db21wb25lbnQsXHJcbiAgICBJMThuUGlwZSxcclxuICAgIEN1c3RvbUltYWdlQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tUmFkaW9Db21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFF1aWxsTW9kdWxlLmZvclJvb3QoKSwvLyBSUyAwNkpBTjIwMjUgSW5pdGlhbGl6ZXMgdGhlIFF1aWxsTW9kdWxlIHdpdGggZGVmYXVsdCBzZXR0aW5ncyBmb3IgaW50ZWdyYXRpbmcgdGhlIFF1aWxsIGVkaXRvci5cclxuICAgIEN1c3RvbVJpY2hUZXh0Q29tcG9uZW50LFxyXG4gICAgQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSxcclxuICAgIC8vIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgT3dsRGF0ZVRpbWVNb2R1bGUsXHJcbiAgICBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSxcclxuICAgIENvbXBvbmVudGhvc3REaXJlY3RpdmUsXHJcbiAgICBHZXRWYWx1ZVBpcGUsXHJcbiAgICAvLyAgICBWRCAyM0pBTjI0IHJlbW92ZWQgSHR0cENsaWVudE1vZHVsZVxyXG4gICAgTmdTZWxlY3RNb2R1bGUsXHJcbiAgICBHb29nbGVNYXBzTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIC8vQWdtQ29yZU1vZHVsZS5mb3JSb290KHtcclxuICAgIC8vICBhcGlLZXk6IEdPT0dMRV9NQVBfQVBJX0tFWSxcclxuICAgIC8vICBsaWJyYXJpZXM6IFsnZ2VvbWV0cnknLCAncGxhY2VzJywgJ3Zpc3VhbGl6YXRpb24nLCAnZHJhd2luZyddXHJcbiAgLy8gIH0pLFxyXG4gICAgTmd4U3Bpbm5lck1vZHVsZSxcclxuICAgIEkxOG5Nb2R1bGUuZm9yUm9vdChsYW5ndWFnZXMpLFxyXG4gICAgLypOZ0NpcmNsZVByb2dyZXNzTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBcImJhY2tncm91bmRQYWRkaW5nXCI6IC0xMCxcclxuICAgICAgXCJyYWRpdXNcIjogNjAsXHJcbiAgICAgIFwic3BhY2VcIjogLTYsXHJcbiAgICAgIFwiaW5uZXJTdHJva2VDb2xvclwiOiBcIiM5MTkxOTFcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUNvbG9yXCI6IFwiI2RiOTU5NFwiLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZTBiMWIwXCIsXHJcbiAgICAgIFwiaW5uZXJTdHJva2VXaWR0aFwiOiAyLFxyXG4gICAgICBcImJhY2tncm91bmRHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICBcImJhY2tncm91bmRDb2xvclwiOiBcIiNkZDJlMTNcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZGQyZTEzXCIsXHJcbiAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVwiOiBcIiNkM2NmY2ZcIixcclxuICAgICAgXCJ0aXRsZVwiOiBbXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIFwiJVwiXHJcbiAgICAgIF0sXHJcbiAgICAgIC8vIHRpdGxlRm9udFNpemU6IDEyLFxyXG4gICAgICAvLyBcInN1YnRpdGxlRm9udFNpemVcIjogMjAsXHJcbiAgICAgIFwiYW5pbWF0ZVRpdGxlXCI6IGZhbHNlLFxyXG4gICAgICBcImFuaW1hdGlvbkR1cmF0aW9uXCI6IDEwMDAsXHJcbiAgICAgIFwic2hvd1VuaXRzXCI6IGZhbHNlLFxyXG4gICAgICBcImNsb2Nrd2lzZVwiOnRydWVcclxuXHJcbiAgICAgIC8vXCJiYWNrZ3JvdW5kU3Ryb2tlV2lkdGhcIjogXCIwXCIsXHJcblwiYmFja2dyb3VuZEdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgIC8vXCJiYWNrZ3JvdW5kQ29sb3JcIjogXCIjZGQyZTEzXCIsXHJcbiAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50U3RvcENvbG9yXCI6IFwiI2RkMmUxM1wiLFxyXG4gICAgICBcImJhY2tncm91bmRTdHJva2VcIjogXCIjMDAwMDAwXCIsXHJcbiAgICAgIFwiYmFja2dyb3VuZFBhZGRpbmdcIjogLTEwLFxyXG4gICAgICBcInJhZGl1c1wiOiA2MCxcclxuICAgICAgXCJ1bml0c0ZvbnRXZWlnaHRcIjogXCI2MDBcIixcclxuICAgICAgXCJ1bml0c0NvbG9yXCI6IFwiI2YyZjJmMlwiLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlR3JhZGllbnRcIjogdHJ1ZSxcclxuICAgICAgXCJvdXRlclN0cm9rZUNvbG9yXCI6IFwiI2UwYjFiMFwiLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZTBiMWIwXCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VMaW5lY2FwXCI6IFwiaW5oZXJpdFwiLFxyXG4gICAgICBcImlubmVyU3Ryb2tlQ29sb3JcIjogXCIjZjZkZmRmXCIsXHJcbiAgICAgIFwidGl0bGVcIjogW1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgXCIlXCJcclxuXSxcclxuICAgICAgXCJ0aXRsZUNvbG9yXCI6IFwiI2U3ZDlkOVwiLFxyXG4gICAgICBcInRpdGxlRm9udFNpemVcIjogXCIzMVwiLFxyXG4gICAgICBcInRpdGxlRm9udFdlaWdodFwiOiBcIjEwMFwiLFxyXG4gICAgICBcInN1YnRpdGxlQ29sb3JcIjogXCIjZjdmN2Y3XCIsXHJcbiAgICAgIFwic3VidGl0bGVGb250U2l6ZVwiOiBcIjM2XCIsXHJcbiAgICAgIFwic3VidGl0bGVGb250V2VpZ2h0XCI6IFwiOTAwXCIsXHJcbiAgICAgIFwiYW5pbWF0ZVRpdGxlXCI6IGZhbHNlLFxyXG4gICAgICBcImFuaW1hdGlvbkR1cmF0aW9uXCI6IDEwMDAsXHJcbiAgICAgIFwic2hvd1RpdGxlXCI6IHRydWUsXHJcbiAgICAgIFwic2hvd1VuaXRzXCI6IHRydWUsXHJcbiAgICAgIFwiY2xvY2t3aXNlXCI6IGZhbHNlLFxyXG4gICAgICBcInN0YXJ0RnJvbVplcm9cIjogdHJ1ZSxcclxuICAgICAgXCJzaG93WmVyb091dGVyU3Ryb2tlXCI6IGZhbHNlLFxyXG4gICAgICBcImxhenlcIjogdHJ1ZX0pKi9cclxuXHJcbiAgICAgIE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUuZm9yUm9vdCh7XHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRcIjogdHJ1ZSxcclxuICAgICAgICBcImJhY2tncm91bmRDb2xvclwiOiBcIiNlMjlkOThcIixcclxuICAgICAgICBcImJhY2tncm91bmRHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNjNTI4MWNcIixcclxuICAgICAgICBcImJhY2tncm91bmRTdHJva2VcIjogXCIjZWNlNGU0XCIsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kU3Ryb2tlV2lkdGhcIjogMCxcclxuICAgICAgICBcImJhY2tncm91bmRQYWRkaW5nXCI6IC0xMCxcclxuICAgICAgICBcInJhZGl1c1wiOiA2MCxcclxuICAgICAgICBcInNwYWNlXCI6IDQsXHJcbiAgICAgICAgXCJtYXhQZXJjZW50XCI6IDEwMCxcclxuICAgICAgICBcInVuaXRzRm9udFNpemVcIjogXCIzNVwiLFxyXG4gICAgICAgIFwidW5pdHNDb2xvclwiOiBcIiNmMGViZWJcIixcclxuICAgICAgICBcIm91dGVyU3Ryb2tlR3JhZGllbnRcIjogdHJ1ZSxcclxuICAgICAgICBcIm91dGVyU3Ryb2tlV2lkdGhcIjogMTAsXHJcbiAgICAgICAgXCJvdXRlclN0cm9rZUNvbG9yXCI6IFwiI2Y3YzBiZlwiLFxyXG4gICAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNmOWM5YzhcIixcclxuICAgICAgICBcImlubmVyU3Ryb2tlV2lkdGhcIjogMCxcclxuICAgICAgICBcInRpdGxlQ29sb3JcIjogXCIjZjNlZGVkXCIsXHJcbiAgICAgICAgXCJ0aXRsZUZvbnRTaXplXCI6IFwiNDBcIixcclxuICAgICAgICBcInN1YnRpdGxlQ29sb3JcIjogXCIjNDQ0NDQ0XCIsXHJcbiAgICAgICAgXCJzaG93U3VidGl0bGVcIjogZmFsc2V9KVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGV4cG9ydHM6IFtOeHRBcHBDb21wb25lbnQsIFxyXG4gICAgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCxcclxuICAgIEJvb2tsZXRDb21wb25lbnQsXHJcbiAgICBTdW1tYXJ5UGFnZUNvbXBvbmVudCxcclxuICAgIEkxOG5QaXBlLFxyXG4gICAgSTE4bkNvbXBvbmVudCxcclxuICAgIC8vIEN1c3RvbVJpY2hUZXh0Q29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEkxOG5TZXJ2aWNlLFxyXG4gICAgSTE4blBpcGVcclxuICBdXHJcbiAgLy8gcHJvdmlkZXJzOiBbXHJcbiAgLy8gICB7IHByb3ZpZGU6IE9XTF9NT01FTlRfREFURV9USU1FX0FEQVBURVJfT1BUSU9OUywgdXNlVmFsdWU6IHsgdXNlVXRjOiBmYWxzZSB9IH0sXHJcbiAgLy8gICB7IHByb3ZpZGU6IE9XTF9EQVRFX1RJTUVfRk9STUFUUywgdXNlVmFsdWU6IE1ZX0NVU1RPTV9GT1JNQVRTIH0sXHJcbiAgLy8gXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnh0QXBwTW9kdWxlIHsgfVxyXG4iXX0=
394
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnh0LWFwcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvbnh0LWFwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUMsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBc0IsTUFBTSwwREFBMEQsQ0FBQyxDQUFDLGlJQUFpSTtBQUN6UCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FB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RTtvQkFDckUsSUFBSTtpQkFDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE54dEFwcENvbXBvbmVudCB9IGZyb20gJy4vbnh0LWFwcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSxSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlIH0gZnJvbSAnbmctY2lyY2xlLXByb2dyZXNzJztcclxuaW1wb3J0IHsgTmd4U3Bpbm5lck1vZHVsZSB9IGZyb20gXCJuZ3gtc3Bpbm5lclwiO1xyXG5pbXBvcnQgeyBHT09HTEVfTUFQX0FQSV9LRVkgfSBmcm9tICcuLi9saWIvc2FtcGxlJztcclxuaW1wb3J0IHsgUGlja0xvY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpY2stbG9jYXRpb24vcGljay1sb2NhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcclxuaW1wb3J0IHsgQ3VzdG9tSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLWlucHV0L2N1c3RvbS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21UZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tdGV4dC1hcmVhL2N1c3RvbS10ZXh0LWFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXRhYmxlL2N1c3RvbS10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21SaWNoVGV4dENvbXBvbmVudCwgUXVpbGxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1yaWNoLXRleHQvY3VzdG9tLXJpY2gtdGV4dC5jb21wb25lbnQnOyAvL1JTIDA2SkFOMjAyNSBJbXBvcnRzIG1vZHVsZXMgYW5kIGNvbXBvbmVudHMgZm9yIGJyb3dzZXIgY29tcGF0aWJpbGl0eSwgUXVpbGwtYmFzZWQgcmljaCB0ZXh0IGVkaXRpbmcsIGFuZCBjdXN0b20gY29uZmlndXJhdGlvbnNcclxuaW1wb3J0IHsgUXVpbGxNb2R1bGUgfSBmcm9tICduZ3gtcXVpbGwnO1xyXG5pbXBvcnQgeyBEcm9wZG93bldpdGhGbGFnQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duLXdpdGgtZmxhZy9kcm9wZG93bi13aXRoLWZsYWcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3dsRGF0ZVRpbWVNb2R1bGUsIE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlIH0gZnJvbSAnQGRhbmllbG1vbmNhZGEvYW5ndWxhci1kYXRldGltZS1waWNrZXInO1xyXG5cclxuLy9pbXBvcnQgeyBPV0xfTU9NRU5UX0RBVEVfVElNRV9BREFQVEVSX09QVElPTlMgfSBmcm9tICduZy1waWNrLWRhdGV0aW1lL2RhdGUtdGltZS9hZGFwdGVyL21vbWVudC1hZGFwdGVyL21vbWVudC1kYXRlLXRpbWUtYWRhcHRlci5jbGFzcyc7XHJcbmltcG9ydCB7IEN1c3RvbURhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLWRhdGUtcGlja2VyL2N1c3RvbS1kYXRlLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21Ecm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZHJvcGRvd24vY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudCc7XHJcbi8vIFZEIDIzSkFOMjQgcmVtb3ZlZCBIdHRwQ2xpZW50TW9kdWxlXHJcbmltcG9ydCB7IEJvb2tsZXRDb21wb25lbnQgfSBmcm9tICcuL3BhZ2VzL2Jvb2tsZXQvYm9va2xldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHb29nbGVNYXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZ29vZ2xlLW1hcHMnO1xyXG5pbXBvcnQgeyBTZWFyY2hCb3hDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VhcmNoLWJveC9zZWFyY2gtYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFF1ZXN0aW9uYm9va0NvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvcXVlc3Rpb25ib29rL3F1ZXN0aW9uYm9vay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1bW1hcnlQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlcy9zdW1tYXJ5LXBhZ2Uvc3VtbWFyeS1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdmlldy9maWxlLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGVwZW5kZW50VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVwZW5kZW50LXRhYmxlL2RlcGVuZGVudC10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21MYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tbGFiZWwvY3VzdG9tLWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlQXBwZW5kaXhDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtYXBwZW5kaXgvdGFibGUtYXBwZW5kaXguY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZGF0ZS9jdXN0b20tZGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21UaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS10aW1lL2N1c3RvbS10aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tYnV0dG9uL2N1c3RvbS1idXR0b24uY29tcG9uZW50JztcclxuLy8gSEEgMTlERUMyMyBJbXBvcnRpbmcgZm9yIHRyYW5zbGF0aW9uXHJcbmltcG9ydCB7IEkxOG5Nb2R1bGUgfSBmcm9tICcuL2kxOG4ubW9kdWxlJ1xyXG5pbXBvcnQgeyBJMThuQ29tcG9uZW50IH0gZnJvbSAnLi9pMThuLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEkxOG5QaXBlIH0gZnJvbSAnLi9pMThuLnBpcGUnO1xyXG5pbXBvcnQgKiBhcyBlbkkxOG4gZnJvbSAnLi9lbi5pMThuJztcclxuaW1wb3J0ICogYXMgYXJJMThuIGZyb20gJy4vYXIuaTE4bic7XHJcbmltcG9ydCAqIGFzIHRhbUkxOG4gZnJvbSAnLi90YW0uaTE4bidcclxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuL2kxOG4uc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJzsgLy8gVkQgMjBKVU4yNCAtIGhlbHAgdGV4dCBjaGFuZ2VzXHJcbmltcG9ydCB7IEdldFZhbHVlUGlwZSB9IGZyb20gJy4vcGlwZS9nZXQtdmFsdWUucGlwZSc7IC8vIFZEIDI2SlVOMjQgLSBwaXBlIGNoYW5nZXNcclxuaW1wb3J0IHsgQ3VzdG9tQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLWNhbGVuZGFyL2N1c3RvbS1jYWxlbmRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21Nb2RlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tbW9kZWwvY3VzdG9tLW1vZGVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbUltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1pbWFnZS9jdXN0b20taW1hZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tUmFkaW9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLXJhZGlvL2N1c3RvbS1yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbG9hZGVyL2xvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRob3N0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NvbXBvbmVudGhvc3QvY29tcG9uZW50aG9zdC5kaXJlY3RpdmUnO1xyXG4vLyBBUCAyMkpBTjIwMjUgQWRkZWQgdGhlIGJlbG93IGNvbXBvbmVudHNcclxuaW1wb3J0IHsgRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYnVpbGRlci9lbGVtZW50L2VsZW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvcGVydGllc0NvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYnVpbGRlci9wcm9wZXJ0aWVzL3Byb3BlcnRpZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZXMvYnVpbGRlci9tZW51L21lbnUuY29tcG9uZW50JztcclxuLy8gQVAgMjJKQU4yMDI1IEFkZGVkIHRoZSBEcmFnRHJvcE1vZHVsZVxyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG4vL0FQIDIySkFOMjAyNSBBZGRlZCB0aGUgRm9ybUJ1aWxkZXJTZXJ2aWNlXHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZm9ybS1idWlsZGVyLnNlcnZpY2UnO1xyXG5cclxuLy8gZXhwb3J0IGNvbnN0IE1ZX0NVU1RPTV9GT1JNQVRTID0ge1xyXG4vLyAgIGZ1bGxQaWNrZXJJbnB1dDogJ0REL01NL1lZWVkgSEg6bW06c3MnLFxyXG4vLyAgIHVzZVV0YzogdHJ1ZSxcclxuLy8gfTtcclxuXHJcbi8vIEhBIDE5REVDMjMgdmFyaWFibGUgY3JlYXRlZCBmb3IgdHJhbnNsYXRpb25cclxuY29uc3QgbGFuZ3VhZ2VzID0gW1xyXG4gIC8vIHsgbGFuZzogJ0VOJywgZmxhZzogJ2Fzc2V0cy9pbWFnZXMvZW4uaTE4bi5wbmcnLCBmaWxlOiBlbkkxOG4gfSxcclxuICB7IGxhbmc6ICdFTicsIGZpbGU6IGVuSTE4biB9LFxyXG4gIHsgbGFuZzogJ1RBTScsIGZpbGU6IHRhbUkxOG4gfSxcclxuICB7IGxhbmc6ICdBUicsIGZpbGU6IGFySTE4biB9XHJcbl1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbTnh0QXBwQ29tcG9uZW50LFxyXG4gICAgUXVlc3Rpb25uYWlyZUNvbXBvbmVudCxcclxuICAgIFBpY2tMb2NhdGlvbkNvbXBvbmVudCxcclxuICAgIEN1c3RvbUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tVGV4dEFyZWFDb21wb25lbnQsXHJcbiAgICBDdXN0b21UYWJsZUNvbXBvbmVudCxcclxuICAgIEN1c3RvbUNhbGVuZGFyQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duV2l0aEZsYWdDb21wb25lbnQsXHJcbiAgICBDdXN0b21Ecm9wZG93bkNvbXBvbmVudCxcclxuICAgIEJvb2tsZXRDb21wb25lbnQsXHJcbiAgICBTZWFyY2hCb3hDb21wb25lbnQsXHJcbiAgICBRdWVzdGlvbmJvb2tDb21wb25lbnQsXHJcbiAgICBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgU3VtbWFyeVBhZ2VDb21wb25lbnQsXHJcbiAgICBGaWxlVmlld0NvbXBvbmVudCxcclxuICAgIERlcGVuZGVudFRhYmxlQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tTGFiZWxDb21wb25lbnQsXHJcbiAgICBUYWJsZUFwcGVuZGl4Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGF0ZUNvbXBvbmVudCxcclxuICAgIEN1c3RvbVRpbWVDb21wb25lbnQsXHJcbiAgICBDdXN0b21CdXR0b25Db21wb25lbnQsXHJcbiAgICBDdXN0b21Nb2RlbENvbXBvbmVudCxcclxuICAgIExvYWRlckNvbXBvbmVudCxcclxuICAgIEkxOG5Db21wb25lbnQsXHJcbiAgICBJMThuUGlwZSxcclxuICAgIEN1c3RvbUltYWdlQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tUmFkaW9Db21wb25lbnQsXHJcbiAgICAvL0FQIDIySkFOMjAyNSBBZGRlZCB0aGUgYmVsb3cgY29tcG9uZW50c1xyXG4gICAgRWxlbWVudENvbXBvbmVudCxcclxuICAgIFByb3BlcnRpZXNDb21wb25lbnQsXHJcbiAgICBNZW51Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBRdWlsbE1vZHVsZS5mb3JSb290KCksLy8gUlMgMDZKQU4yMDI1IEluaXRpYWxpemVzIHRoZSBRdWlsbE1vZHVsZSB3aXRoIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGludGVncmF0aW5nIHRoZSBRdWlsbCBlZGl0b3IuXHJcbiAgICBDdXN0b21SaWNoVGV4dENvbXBvbmVudCxcclxuICAgIENvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsXHJcbiAgICAvLyBCcm93c2VyTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE93bERhdGVUaW1lTW9kdWxlLFxyXG4gICAgT3dsTmF0aXZlRGF0ZVRpbWVNb2R1bGUsXHJcbiAgICBDb21wb25lbnRob3N0RGlyZWN0aXZlLFxyXG4gICAgR2V0VmFsdWVQaXBlLFxyXG4gICAgLy8gICAgVkQgMjNKQU4yNCByZW1vdmVkIEh0dHBDbGllbnRNb2R1bGVcclxuICAgIE5nU2VsZWN0TW9kdWxlLFxyXG4gICAgR29vZ2xlTWFwc01vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSwgLy9BUCAyMkpBTjI1IEFkZGVkIHRoZSBEcmFnRHJvcE1vZHVsZVxyXG5cclxuICAgIC8vQWdtQ29yZU1vZHVsZS5mb3JSb290KHtcclxuICAgIC8vICBhcGlLZXk6IEdPT0dMRV9NQVBfQVBJX0tFWSxcclxuICAgIC8vICBsaWJyYXJpZXM6IFsnZ2VvbWV0cnknLCAncGxhY2VzJywgJ3Zpc3VhbGl6YXRpb24nLCAnZHJhd2luZyddXHJcbiAgLy8gIH0pLFxyXG4gICAgTmd4U3Bpbm5lck1vZHVsZSxcclxuICAgIEkxOG5Nb2R1bGUuZm9yUm9vdChsYW5ndWFnZXMpLFxyXG4gICAgLypOZ0NpcmNsZVByb2dyZXNzTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICBcImJhY2tncm91bmRQYWRkaW5nXCI6IC0xMCxcclxuICAgICAgXCJyYWRpdXNcIjogNjAsXHJcbiAgICAgIFwic3BhY2VcIjogLTYsXHJcbiAgICAgIFwiaW5uZXJTdHJva2VDb2xvclwiOiBcIiM5MTkxOTFcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUNvbG9yXCI6IFwiI2RiOTU5NFwiLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZTBiMWIwXCIsXHJcbiAgICAgIFwiaW5uZXJTdHJva2VXaWR0aFwiOiAyLFxyXG4gICAgICBcImJhY2tncm91bmRHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICBcImJhY2tncm91bmRDb2xvclwiOiBcIiNkZDJlMTNcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZGQyZTEzXCIsXHJcbiAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVwiOiBcIiNkM2NmY2ZcIixcclxuICAgICAgXCJ0aXRsZVwiOiBbXHJcblxyXG4gICAgICAgICAgICAgICAgXCIlXCJcclxuICAgICAgXSxcclxuICAgICAgLy8gdGl0bGVGb250U2l6ZTogMTIsXHJcbiAgICAgIC8vIFwic3VidGl0bGVGb250U2l6ZVwiOiAyMCxcclxuICAgICAgXCJhbmltYXRlVGl0bGVcIjogZmFsc2UsXHJcbiAgICAgIFwiYW5pbWF0aW9uRHVyYXRpb25cIjogMTAwMCxcclxuICAgICAgXCJzaG93VW5pdHNcIjogZmFsc2UsXHJcbiAgICAgIFwiY2xvY2t3aXNlXCI6dHJ1ZVxyXG5cclxuICAgICAgLy9cImJhY2tncm91bmRTdHJva2VXaWR0aFwiOiBcIjBcIixcclxuXCJiYWNrZ3JvdW5kR3JhZGllbnRcIjogdHJ1ZSxcclxuICAgICAgLy9cImJhY2tncm91bmRDb2xvclwiOiBcIiNkZDJlMTNcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZGQyZTEzXCIsXHJcbiAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVwiOiBcIiMwMDAwMDBcIixcclxuICAgICAgXCJiYWNrZ3JvdW5kUGFkZGluZ1wiOiAtMTAsXHJcbiAgICAgIFwicmFkaXVzXCI6IDYwLFxyXG4gICAgICBcInVuaXRzRm9udFdlaWdodFwiOiBcIjYwMFwiLFxyXG4gICAgICBcInVuaXRzQ29sb3JcIjogXCIjZjJmMmYyXCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFwiOiB0cnVlLFxyXG4gICAgICBcIm91dGVyU3Ryb2tlQ29sb3JcIjogXCIjZTBiMWIwXCIsXHJcbiAgICAgIFwib3V0ZXJTdHJva2VHcmFkaWVudFN0b3BDb2xvclwiOiBcIiNlMGIxYjBcIixcclxuICAgICAgXCJvdXRlclN0cm9rZUxpbmVjYXBcIjogXCJpbmhlcml0XCIsXHJcbiAgICAgIFwiaW5uZXJTdHJva2VDb2xvclwiOiBcIiNmNmRmZGZcIixcclxuICAgICAgXCJ0aXRsZVwiOiBbXHJcblxyXG4gICAgICAgIFwiJVwiXHJcbl0sXHJcbiAgICAgIFwidGl0bGVDb2xvclwiOiBcIiNlN2Q5ZDlcIixcclxuICAgICAgXCJ0aXRsZUZvbnRTaXplXCI6IFwiMzFcIixcclxuICAgICAgXCJ0aXRsZUZvbnRXZWlnaHRcIjogXCIxMDBcIixcclxuICAgICAgXCJzdWJ0aXRsZUNvbG9yXCI6IFwiI2Y3ZjdmN1wiLFxyXG4gICAgICBcInN1YnRpdGxlRm9udFNpemVcIjogXCIzNlwiLFxyXG4gICAgICBcInN1YnRpdGxlRm9udFdlaWdodFwiOiBcIjkwMFwiLFxyXG4gICAgICBcImFuaW1hdGVUaXRsZVwiOiBmYWxzZSxcclxuICAgICAgXCJhbmltYXRpb25EdXJhdGlvblwiOiAxMDAwLFxyXG4gICAgICBcInNob3dUaXRsZVwiOiB0cnVlLFxyXG4gICAgICBcInNob3dVbml0c1wiOiB0cnVlLFxyXG4gICAgICBcImNsb2Nrd2lzZVwiOiBmYWxzZSxcclxuICAgICAgXCJzdGFydEZyb21aZXJvXCI6IHRydWUsXHJcbiAgICAgIFwic2hvd1plcm9PdXRlclN0cm9rZVwiOiBmYWxzZSxcclxuICAgICAgXCJsYXp5XCI6IHRydWV9KSovXHJcblxyXG4gICAgICBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlLmZvclJvb3Qoe1xyXG4gICAgICAgIFwiYmFja2dyb3VuZEdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kQ29sb3JcIjogXCIjZTI5ZDk4XCIsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjYzUyODFjXCIsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kU3Ryb2tlXCI6IFwiI2VjZTRlNFwiLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZFN0cm9rZVdpZHRoXCI6IDAsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kUGFkZGluZ1wiOiAtMTAsXHJcbiAgICAgICAgXCJyYWRpdXNcIjogNjAsXHJcbiAgICAgICAgXCJzcGFjZVwiOiA0LFxyXG4gICAgICAgIFwibWF4UGVyY2VudFwiOiAxMDAsXHJcbiAgICAgICAgXCJ1bml0c0ZvbnRTaXplXCI6IFwiMzVcIixcclxuICAgICAgICBcInVuaXRzQ29sb3JcIjogXCIjZjBlYmViXCIsXHJcbiAgICAgICAgXCJvdXRlclN0cm9rZUdyYWRpZW50XCI6IHRydWUsXHJcbiAgICAgICAgXCJvdXRlclN0cm9rZVdpZHRoXCI6IDEwLFxyXG4gICAgICAgIFwib3V0ZXJTdHJva2VDb2xvclwiOiBcIiNmN2MwYmZcIixcclxuICAgICAgICBcIm91dGVyU3Ryb2tlR3JhZGllbnRTdG9wQ29sb3JcIjogXCIjZjljOWM4XCIsXHJcbiAgICAgICAgXCJpbm5lclN0cm9rZVdpZHRoXCI6IDAsXHJcbiAgICAgICAgXCJ0aXRsZUNvbG9yXCI6IFwiI2YzZWRlZFwiLFxyXG4gICAgICAgIFwidGl0bGVGb250U2l6ZVwiOiBcIjQwXCIsXHJcbiAgICAgICAgXCJzdWJ0aXRsZUNvbG9yXCI6IFwiIzQ0NDQ0NFwiLFxyXG4gICAgICAgIFwic2hvd1N1YnRpdGxlXCI6IGZhbHNlfSlcclxuICBdLFxyXG4gIGJvb3RzdHJhcDogWyBOeHRBcHBDb21wb25lbnQgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgZXhwb3J0czogW054dEFwcENvbXBvbmVudCxcclxuICAgIFF1ZXN0aW9ubmFpcmVDb21wb25lbnQsXHJcbiAgICBCb29rbGV0Q29tcG9uZW50LFxyXG4gICAgU3VtbWFyeVBhZ2VDb21wb25lbnQsXHJcbiAgICBJMThuUGlwZSxcclxuICAgIEkxOG5Db21wb25lbnQsXHJcbiAgICBFbGVtZW50Q29tcG9uZW50LFxyXG4gICAgUHJvcGVydGllc0NvbXBvbmVudCxcclxuICAgIE1lbnVDb21wb25lbnRcclxuICAgIC8vIEN1c3RvbVJpY2hUZXh0Q29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEkxOG5TZXJ2aWNlLFxyXG4gICAgSTE4blBpcGUsXHJcbiAgICBGb3JtQnVpbGRlclNlcnZpY2UvL0FQIDIySkFOMjAyNSBBZGRlZCB0aGUgRm9ybUJ1aWxkZXJTZXJ2aWNlXHJcbiAgXVxyXG4gIC8vIHByb3ZpZGVyczogW1xyXG4gIC8vICAgeyBwcm92aWRlOiBPV0xfTU9NRU5UX0RBVEVfVElNRV9BREFQVEVSX09QVElPTlMsIHVzZVZhbHVlOiB7IHVzZVV0YzogZmFsc2UgfSB9LFxyXG4gIC8vICAgeyBwcm92aWRlOiBPV0xfREFURV9USU1FX0ZPUk1BVFMsIHVzZVZhbHVlOiBNWV9DVVNUT01fRk9STUFUUyB9LFxyXG4gIC8vIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE54dEFwcE1vZHVsZSB7IH1cclxuIl19