@rangertechnologies/ngnxt 2.1.85 → 2.1.87

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.
@@ -1 +1 @@
1
- {"version":3,"file":"rangertechnologies-ngnxt.mjs","sources":["../../../projects/nxt-app/src/lib/nxt-app.service.ts","../../../projects/nxt-app/src/lib/nxt-app.component.ts","../../../projects/nxt-app/src/lib/services/change.service.ts","../../../projects/nxt-app/src/lib/wrapper.ts","../../../projects/nxt-app/src/lib/model/errorWrapper.ts","../../../projects/nxt-app/src/lib/sample.ts","../../../projects/nxt-app/src/lib/services/salesforce.service.ts","../../../projects/nxt-app/src/lib/services/data.service.ts","../../../projects/nxt-app/src/lib/services/shared.service.ts","../../../projects/nxt-app/src/lib/i18n-config.service.ts","../../../projects/nxt-app/src/lib/i18n.service.ts","../../../projects/nxt-app/src/lib/components/custom-rich-text/custom-rich-text.component.ts","../../../projects/nxt-app/src/lib/components/custom-rich-text/custom-rich-text.component.html","../../../projects/nxt-app/src/lib/model/changeWrapper.ts","../../../projects/nxt-app/src/lib/i18n.pipe.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.html","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.ts","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.html","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.ts","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.html","../../../projects/nxt-app/src/lib/pipe/get-value.pipe.ts","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.ts","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.html","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.ts","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.html","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.ts","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.html","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.ts","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.html","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.ts","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.html","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.ts","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.html","../../../projects/nxt-app/src/lib/services/storage.service.ts","../../../projects/nxt-app/src/lib/components/custom-calendar/custom-calendar.component.ts","../../../projects/nxt-app/src/lib/components/custom-calendar/custom-calendar.component.html","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.ts","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.html","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.ts","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.html","../../../projects/nxt-app/src/lib/components/dependent-table/dependent-table.component.ts","../../../projects/nxt-app/src/lib/components/dependent-table/dependent-table.component.html","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.ts","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.html","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.ts","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.html","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.component.ts","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.component.html","../../../projects/nxt-app/src/lib/components/custom-button/custom-button.component.ts","../../../projects/nxt-app/src/lib/components/custom-button/custom-button.component.html","../../../projects/nxt-app/src/lib/components/custom-model/custom-model.component.ts","../../../projects/nxt-app/src/lib/components/custom-model/custom-model.component.html","../../../projects/nxt-app/src/lib/components/custom-image/custom-image.component.ts","../../../projects/nxt-app/src/lib/components/custom-image/custom-image.component.html","../../../projects/nxt-app/src/lib/components/custom-radio/custom-radio.component.ts","../../../projects/nxt-app/src/lib/components/custom-radio/custom-radio.component.html","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.ts","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.html","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.ts","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.html","../../../projects/nxt-app/src/lib/components/file-view/file-view.component.ts","../../../projects/nxt-app/src/lib/components/file-view/file-view.component.html","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.component.ts","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.component.html","../../../projects/nxt-app/src/lib/i18n.module.ts","../../../projects/nxt-app/src/lib/i18n.component.ts","../../../projects/nxt-app/src/lib/en.i18n.ts","../../../projects/nxt-app/src/lib/ar.i18n.ts","../../../projects/nxt-app/src/lib/tam.i18n.ts","../../../projects/nxt-app/src/lib/components/loader/loader.component.ts","../../../projects/nxt-app/src/lib/components/loader/loader.component.html","../../../projects/nxt-app/src/lib/directives/componenthost/componenthost.directive.ts","../../../projects/nxt-app/src/lib/services/form-builder.service.ts","../../../projects/nxt-app/src/lib/pages/builder/element/element.component.ts","../../../projects/nxt-app/src/lib/pages/builder/element/element.component.html","../../../projects/nxt-app/src/lib/pages/builder/properties/properties.component.ts","../../../projects/nxt-app/src/lib/pages/builder/properties/properties.component.html","../../../projects/nxt-app/src/lib/pages/builder/menu/menu.component.ts","../../../projects/nxt-app/src/lib/pages/builder/menu/menu.component.html","../../../projects/nxt-app/src/lib/nxt-app.module.ts","../../../projects/nxt-app/src/public-api.ts","../../../projects/nxt-app/src/rangertechnologies-ngnxt.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NxtAppService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-nxt-app',\r\n template: `\r\n <p>\r\n nxt-app works!\r\n </p>\r\n `,\r\n styles: []\r\n})\r\nexport class NxtAppComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ChangeWrapper } from '../model/changeWrapper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ChangeService {\r\n // Reference: https://angular.io/guide/observables\r\n constructor() { }\r\n\r\n // Observable parentQuestion sources\r\n private changeAnnouncedSource = new Subject<ChangeWrapper>();\r\n private changeConfirmedSource = new Subject<string>();\r\n private validationSource = new Subject<string>();\r\n private fieldSource = new Subject<any>();\r\n // VD 13Sep24 - databind changes\r\n private customChanges = new Subject<any>();\r\n\r\n // Observable parentQuestion streams\r\n changeAnnounced$ = this.changeAnnouncedSource.asObservable();\r\n changeConfirmed$ = this.changeConfirmedSource.asObservable();\r\n submitValidate$ = this.validationSource.asObservable();\r\n changeField$ = this.fieldSource.asObservable();\r\n // VD 13Sep24 - databind changes\r\n customChange$ = this.customChanges.asObservable();\r\n\r\n // Service message commands\r\n announceChange(changeValue: ChangeWrapper) {\r\n // console.log('inside announceChange');\r\n console.log(changeValue);\r\n this.changeAnnouncedSource.next(changeValue);\r\n }\r\n\r\n confirmChange(childQuestion: string) {\r\n // console.log('inside confirmChange');\r\n console.log(childQuestion);\r\n this.changeConfirmedSource.next(childQuestion);\r\n }\r\n // VD 13Sep24 - databind changes\r\n dataChanges(data: string) {\r\n console.log('inside data bind change service');\r\n this.customChanges.next(data);\r\n }\r\n\r\n submitChange(value:string){\r\n this.validationSource.next(value);\r\n }\r\n fieldChange(value:any){\r\n console.log('getValue',value);\r\n this.fieldSource.next(value);\r\n }\r\n}\r\n","import { ErrorWrapper } from \"./model/errorWrapper\";\r\n// HA 19DEC23 Included style in the objects to use them in ts\r\n// RS 09DEC24 Changed keys\r\nexport class QuestionBook {\r\n id: number;\r\n Name: string;\r\n category: string;\r\n next : string;\r\n cancel : string;\r\n back : string;\r\n submit : string;\r\n edit : string;\r\n firstQuestion: string;\r\n title: string;\r\n nextTrackingId: string;\r\n backTrackingId: string;\r\n cancelTrackingId: string;\r\n submitTrackingId: string;\r\n totalQuestions: number;\r\n summaryText?: string;\r\n Questions__r?: QuestionR;\r\n progressBar: boolean;\r\n subTitle: string;\r\n qTyp: string;\r\n possibilities: string;\r\n summarySubText: string;\r\n isShengel?: boolean;\r\n style: {\r\n labelClass : any,\r\n labelStyle : any,\r\n labelValueStyle : any,\r\n inputClass : any,\r\n inputStyle : any,\r\n showLabel : boolean,\r\n bookStyle : any,\r\n direction: any,\r\n questionStyle: any;\r\n };\r\n}\r\nexport class Question {\r\n id: string;\r\n Name: string;\r\n referenceField?:string;\r\n dependentRef?: string;\r\n allowedFileExtensions :string;\r\n question : string;\r\n questionText : any;\r\n type: string;\r\n nextQuestion?: string;\r\n isOptional: boolean;\r\n title: string;\r\n subTitle: string;\r\n isTitle: boolean;\r\n x24Hours: boolean;\r\n errorMessage: string;\r\n isDateBackward : boolean;\r\n isDateForward : boolean;\r\n isHidden: boolean;\r\n groupName: string;\r\n questionNumber?: string;\r\n Question_Options__r?: OptionR;\r\n static x24Hours: boolean;\r\n options: any;\r\n size: number;\r\n subText: string;\r\n trackingId: string;\r\n timeText: string;\r\n dateText: string;\r\n additionalRichContent? : string;\r\n Questions__r?: QuestionR;\r\n RecordType: {\r\n Name: string;\r\n };\r\n subQuestions : any;\r\n input?: any;\r\n error?: ErrorWrapper;\r\n valueName?:string;\r\n dropDownOnly?:boolean;\r\n isDependentPicklist?:boolean;\r\n tableDataValue?:any[];\r\n tableHeader?:string;\r\n startDate?:any;\r\n selectedValue?:string;\r\n minDate?: any ;\r\n isShengel?: boolean;\r\n style: {\r\n labelClass : any,\r\n labelStyle : any,\r\n labelValueStyle : any,\r\n inputClass : any,\r\n inputStyle : any,\r\n showLabel : boolean,\r\n bookStyle : any,\r\n direction: any,\r\n questionStyle: any;\r\n };\r\n}\r\nexport class LocalQuestion {\r\n id: string;\r\n Name: string;\r\n allowedFileExtensions :string;\r\n question : string;\r\n questionText : string;\r\n type: string;\r\n title: string;\r\n subTitle: string;\r\n nextQuestion?: string;\r\n isOptional: boolean;\r\n isTitle: boolean;\r\n isHidden: boolean;\r\n x24Hours: boolean;\r\n errorMessage: string;\r\n isDateBackward : boolean;\r\n isDateForward : boolean;\r\n timeText : string;\r\n dateText : string;\r\n groupName: string;\r\n questionNumber?: string;\r\n Question_Options__r?: OptionR;\r\n subText : string;\r\n size: number;\r\n trackingId: string;\r\n additionalRichContent? : string;\r\n selectedValue:string;\r\n Questions__r?: QuestionR;\r\n RecordType: {\r\n Name: string;\r\n };\r\n input?: string;\r\n error?: ErrorWrapper;\r\n static x24Hours: boolean;\r\n uniqueSubQId: string;\r\n style: {\r\n labelClass : any,\r\n labelStyle : any,\r\n labelValueStyle : any,\r\n inputClass : any,\r\n inputStyle : any,\r\n showLabel : boolean,\r\n bookStyle : any,\r\n direction: any,\r\n questionStyle: any;\r\n };\r\n}\r\nexport class QuestionR {\r\n records?: Question[];\r\n}\r\nexport class OptionR {\r\n records?: Option[];\r\n} \r\nexport class Option {\r\n id: string;\r\n Name: string;\r\n value: string;\r\n trackingId: string;\r\n nextQuestion?: string;\r\n} \r\nexport class OptionValue {\r\n id: string;\r\n Name: string;\r\n value: string;\r\n nextQuestion?: string;\r\n checked: boolean;\r\n}\r\nexport class AnswerBook {\r\n id: string;\r\n questionBookId: string;\r\n status: string;\r\n Answers__r?: AnswerR;\r\n answers: any;\r\n}\r\nexport class Answer {\r\n id: string;\r\n quesValue: string;\r\n ansValue : string;\r\n qTyp: string;\r\n quesId: string;\r\n groupText: string;\r\n}\r\nexport class AnswerR {\r\n records?: Answer[];\r\n}\r\nexport class AnswerWrapper {\r\n ansId?: string;\r\n ansNumber?: number;\r\n abId: string;\r\n quesId: string;\r\n quesValue: string;\r\n qTyp: string;\r\n ansValue: string;\r\n groupText: string;\r\n squesValue: string;\r\n myVal: any; // HA 02FEB24 To display the values in summary\r\n}\r\nexport class AttachmentWrapper {\r\n parentId: string;\r\n fileName: string;\r\n fileContent: string;\r\n}\r\nexport class Attachment {\r\n public attachmentId: string;\r\n public attachmentName: string;\r\n public attachmentMetaData: any;\r\n constructor(id: string,name:string,metaData:any){\r\n this.attachmentId = id;\r\n this.attachmentName = name;\r\n this.attachmentMetaData = metaData;\r\n }\r\n}","export class ErrorWrapper {\r\n errorCode: string;\r\n errorMsg: string;\r\n errorDetails: string;\r\n}\r\n","import { Question, QuestionBook, AnswerBook } from \"./wrapper\";\r\n/*\r\nexport const TESTQUESTIONS: Question[] = [\r\n{ Id: 11, Name: '001', question: 'What is your Name?' },\r\n{ Id: 12, Name: '002', question: 'What is your favourite City?' },\r\n{ Id: 13, Name: '003', question: 'How many languages you speak?' },\r\n{ Id: 14, Name: '004', question: 'Share your feedback?' },\r\n];\r\n*/\r\n// Dynamic Field Changes\r\n// HA 19DEC23 Included style in the objects to use them in ts\r\n// RS 09DEC24 Changed keys\r\nexport const TESTQB: QuestionBook = {\r\nid: 2,\r\nName: 'QB-0000',\r\ncategory: 'Simple',\r\nnext : 'weiter',\r\ncancel :'zurück',\r\nback : 'zurück',\r\nsubmit : 'absenden',\r\nedit : 'Bearbeiten',\r\nnextTrackingId: '12345',\r\nbackTrackingId: '12345',\r\ncancelTrackingId: '12345',\r\nsubmitTrackingId: '12345',\r\nfirstQuestion: '1',\r\ntitle: 'Demo Unconditional',\r\ntotalQuestions: 3,\r\nsubTitle: 'subTitle',\r\nqTyp:'type',\r\npossibilities: 'poss',\r\nsummarySubText: 'subText',\r\nprogressBar: true,\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n}\r\n// Text Question\r\nexport const TESTQUESTION: Question = {\r\nid: '11',\r\nName: 'QN-00001',\r\ntype: 'Text',\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'What is your Name?',\r\nquestion: 'What is your Name?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nisTitle: true,\r\nx24Hours: true,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nselectedValue : 'test',\r\nisHidden : false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n// DateTime Question\r\nexport const DTQUESTION: Question = {\r\nid: '12',\r\nName: 'QN-00002',\r\ntype: 'DateTime',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'When did the incident happen?',\r\nquestion: 'When did the incident happen?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\nselectedValue : 'test',\r\nisTitle: true,\r\nx24Hours: true,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : true,\r\nisDateForward : true ,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n// File Question\r\nexport const FILEQUESTION: Question = {\r\nid: '13',\r\nName: 'QN-00003',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\ntype: 'File',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Upload the Incident Report/Images?',\r\nquestion: 'Upload the Incident Report/Images?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: true,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nselectedValue : 'test',\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n\r\n\r\n//RS 06JAN25\r\n//Rich text Questions\r\nexport const RTAQUESTION: Question = {\r\n id: '14',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-00004',\r\n type: 'RichTextArea',\r\n subQuestions : [\r\n {\r\n id: '170',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'Explain the particulars of the Incident?',\r\n question: 'Explain the particulars of the Incident?',\r\n nextQuestion: 'a013t000013SS89AAG',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden: false,\r\n groupName: 'Basic',\r\n size:1,\r\n questionNumber: '1',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n };\r\n\r\n// DateTime Question\r\nexport const TAQUESTION: Question = {\r\nid: '14',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nName: 'QN-00004',\r\ntype: 'TextArea',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Explain the particulars of the Incident?',\r\nquestion: 'Explain the particulars of the Incident?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nselectedValue : 'test',\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n// Radio Question\r\nexport const RADIOQUESTION: Question = {\r\nid: '15',\r\nName: 'QN-00005',\r\ntype: 'Radio',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Choose your favorite role',\r\nselectedValue : 'test',\r\nquestion: 'Choose your favorite role',\r\ntrackingId: '1234',\r\nnextQuestion: '',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber:'5',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\noptions: {\r\nrecords: [\r\n {\r\n id: '121',\r\n Name: '121N',\r\n value: '121V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '122',\r\n Name: '122N',\r\n value: '122V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '123',\r\n Name: '123N',\r\n value: '123V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n}\r\n};\r\n// Checkbox Question\r\nexport const CHECKQUESTION: Question = {\r\nid: '16',\r\nName: 'QN-00006',\r\ntype: 'Checkbox',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Choose your favorite spots',\r\nquestion: 'Choose your favorite spots',\r\ntrackingId: '1234',\r\nnextQuestion: '',\r\nisOptional: false,\r\nisTitle: false,\r\nselectedValue : 'test',\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber:'6',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\noptions: {\r\nrecords: [\r\n {\r\n id: '121',\r\n Name: '121N',\r\n value: '121V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '122',\r\n Name: '122N',\r\n value: '122V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '123',\r\n Name: '123N',\r\n value: '123V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n}\r\n};\r\nexport const GOOGLE_MAP_API_KEY = 'AIzaSyA18odJnD-pDsu7EVJ7WiXVM5sVvpjAQxw';\r\n// Book Question\r\nexport const BOOKQUESTION: Question = {\r\nid: '17',\r\nName: 'QN-00007',\r\ntype: 'Book',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nallowedFileExtensions : '.pdf',\r\ntrackingId: '1234',\r\nquestion: 'Provide your Address',\r\nsubQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nquestionText: 'Provide your Address',\r\nselectedValue : 'test',\r\nnextQuestion: '',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber:'7',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n},\r\nQuestions__r: {\r\nrecords: [\r\n{\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n},\r\n{\r\n id: '171',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n{\r\n id: '172',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n{\r\n id: '173',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n{\r\n id: '174',\r\n Name: 'QN-000074',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n type: 'Text',\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n]\r\n},\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\n};","import { Injectable } from '@angular/core';\r\nimport {Router} from '@angular/router';\r\n\r\ndeclare class Visualforce {\r\n static remoting: { Manager: { invokeAction: any } };\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SalesforceService {\r\n public getSFResource = (path: string) => `${window['_VfResources']}${path}`;\r\n public getRNXTMethodName = () => `${window['_rnxtMethodName']}`;\r\n\r\n public remoteAction(methodName: string,\r\n params: string[],\r\n resolve,\r\n reject,\r\n config?: any) {\r\n // console.log('inside SalesforceService.remoteAction for ' + methodName);\r\n const self = this;\r\n var nsMethodName = this.getRNXTMethodName();\r\n //console.log('method name in lib = ' + nsMethodName);\r\n\r\n Visualforce.remoting.Manager.invokeAction(\r\n nsMethodName,\r\n //'NxtController.process',\r\n //`{!$RemoteAction.NxtController.process}`,\r\n ...params,\r\n function (result, event) {\r\n try {\r\n result = JSON.parse(result);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n //console.log('Function called was - ' + methodName);\r\n //console.log(result);\r\n //console.log(resolve(result));\r\n if (result.status) {\r\n resolve(result);\r\n } else {\r\n resolve(result);\r\n }\r\n },\r\n config || { buffer: false, escape: false }\r\n );\r\n }\r\n\r\n constructor(private _router: Router) {\r\n\r\n }\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataService {\r\n // VD 23JAN24 optionally declared httpClient\r\n constructor(@Optional() private http: HttpClient) { }\r\n\r\n public getAPIData(tkn: string, \r\n params: string[],\r\n resolve,\r\n reject,\r\n config?: any) {\r\n console.log('inside DataService.getAPIData for ' + tkn);\r\n const self = this;\r\n\r\n // Call the ShengelGo Server\r\n const headers = new HttpHeaders().set('Authorization', `${tkn}`);\r\n headers.append('Accept', 'application/json');\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n\r\n // MR 23JAN24 - This should be removed, for now testing with dev-hse-api\r\n this.http.get('https://dev-hse-api.rangerfusion.com/nxt/api/process/?dataType=' + params[0] + '&operation=' + params[1] + '&param=' + params[2], { headers: headers , observe: 'response' })\r\n .subscribe(response => {\r\n if(response.status == 200) {\r\n resolve(response.body);\r\n } else {\r\n reject(response.body);\r\n }\r\n }, error => {\r\n console.log(error.status);\r\n reject(error);\r\n });\r\n }\r\n\r\n //calling the node api\r\n public getAPIFromNode(dataType: string, operation: string, param1: string,param2: string,api:string){\r\n const apiUrl = api ? api : 'http://localhost:3001/nxt';\r\n console.log('indside data service..');\r\n // let params = new HttpParams()\r\n // .set('dataType', dataType)\r\n // .set('operation', operation)\r\n // .set('param1', param1)\r\n // .set('param2',param2)\r\n\r\n let body = {\r\n \"dataType\" :dataType ,\r\n \"operation\" :operation ,\r\n \"param1\" :param1, \r\n \"param2\" : param2,\r\n }\r\n return this.http.post<any>(apiUrl,body );\r\n\r\n }\r\n\r\n \r\n// VD 22May24 -funtion to handling multiple child objects\r\npublic getValue(element:any, column:string){\r\n const initialEl = element;\r\n let flds = column.split('.');\r\n for(let i=0; i<flds.length; i++){\r\n let splitFlds = flds[i].split('[');\r\n if(splitFlds.length === 1){\r\n element = element[flds[i]] || '' as any;\r\n } else {\r\n let index = Number(splitFlds[1].split(']')[0]);\r\n element = element[splitFlds[0]][index] || '' as any;\r\n }\r\n }\r\n return element;\r\n}\r\n\r\n// VD 23JAN24 get callout \r\n public apiResponse(endpoint: string): Observable<any> {\r\n return this.http?.get(endpoint);\r\n }\r\n\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedService {\r\n // VD 23JAN24 optionally declared httpClient\r\n constructor(@Optional() private __http: HttpClient) { }\r\n // loader changes\r\n private loadingSubject = new BehaviorSubject<boolean>(false);\r\n public isLoading$ = this.loadingSubject.asObservable();\r\n\r\n processViewFile(fileName: string = '',api:string) {\r\n if (fileName) {\r\n this.viewFile(fileName,api).subscribe( (apiResponse: any) => {\r\n if (apiResponse && apiResponse.sas_url) {\r\n window.open(apiResponse.sas_url, '_blank');\r\n }\r\n }, (apiError) => {\r\n console.error('ERROR WHILE VIEWING File');\r\n });\r\n }\r\n }\r\n\r\n viewFile(fileName: string = '',api:string) {\r\n const params = { file_name: fileName };\r\n return this.__http.post(api , params);\r\n }\r\n\r\n docIcon(ext) {\r\n if (ext === 'pdf') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PDF.png';\r\n } else if (ext === 'xlsx') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLSX.png';\r\n } else if (ext === 'docx') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOCX.png';\r\n } else if (ext === 'avi') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-AVI.png';\r\n } else if (ext === 'doc') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOC.png';\r\n } else if (ext === 'gif') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-GIF.png';\r\n } else if (ext === 'jpg') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-JPG.png';\r\n } else if (ext === 'mov') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MOV.png';\r\n } else if (ext === 'mp3') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP3.png';\r\n } else if (ext === 'mp4') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP4.png';\r\n } else if (ext === 'mpeg') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPEG.png';\r\n } else if (ext === 'mpg') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPG.png';\r\n } else if (ext === 'png') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PNG.png';\r\n } else if (ext === 'ppt') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PPT.png';\r\n } else if (ext === 'txt') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-TXT.png';\r\n } else if (ext === 'xls') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLS.png';\r\n } else {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_document.svg';\r\n }\r\n }\r\n // VD loader changes\r\n\r\n showLoader() {\r\n this.loadingSubject.next(true);\r\n }\r\n\r\n hideLoader() {\r\n this.loadingSubject.next(false);\r\n }\r\n}\r\n","// HA 19DEC23 File created for translation\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport const i18nConfigService = new InjectionToken<any>('i18nConfig');\r\n","// HA 19DEC23 File created for translation\r\nimport { Injectable, Inject, EventEmitter, Output } from '@angular/core';\r\n// import arI18n from '../../assets/i18n/fr.i18n';\r\n// import enI18n from '../../assets/i18n/en.i18n';\r\nimport { i18nConfigService } from './i18n-config.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DOCUMENT } from '@angular/common';\r\n@Injectable(\r\n // {providedIn: 'root'}\r\n)\r\nexport class I18nService {\r\n @Output() dropdownChanged = new EventEmitter<string>();\r\n currentLanguage = '';\r\n\r\n constructor(@Inject(i18nConfigService) public langList, @Inject(DOCUMENT) private document: Document) {\r\n this.initLang();\r\n }\r\n\r\n initLang() {\r\n if (localStorage.getItem('lang')) {\r\n this.currentLanguage = localStorage.getItem('lang');\r\n if(this.currentLanguage === 'rtl'){\r\n this.languageChange(this.currentLanguage);\r\n }\r\n } else {\r\n localStorage.setItem('lang', 'EN');\r\n this.currentLanguage = 'ltr';\r\n }\r\n }\r\n\r\n getString(key) {\r\n // HA 28DEC23 added ternary to avoid exceptions\r\n // VD 23JAN24 added ternary to avoid exceptions\r\n return this.langList[this.langList.map((e, i) => e.lang === this.currentLanguage ? i : null).filter(e => e !== null)[0]]?.file?.default[key];\r\n }\r\n\r\n languageChange(lang) {\r\n this.currentLanguage = lang;\r\n let htmlTag = this.document.getElementsByTagName('html')[0] as HTMLHtmlElement;\r\n htmlTag.dir = this.currentLanguage === 'rtl' ? 'rtl' : 'ltr';\r\n localStorage.setItem('lang', lang);\r\n this.dropdownChanged.emit(this.currentLanguage);\r\n }\r\n}\r\n","// Changes commented out due to Angular version compatibility; will apply after upgrade.\r\n// // RS 06JAN2025\r\nimport { Component, EventEmitter, Input, OnInit, Output, OnDestroy, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { I18nService } from '../../i18n.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\nimport { QuillEditorComponent, QuillModules } from 'ngx-quill';\r\nimport { FormsModule } from '@angular/forms'\r\nimport Quill from 'quill';\r\nimport { Mention } from 'quill-mention';\r\nimport ImageResizor from 'quill-image-resizor'\r\nimport { CommonModule } from '@angular/common';\r\n\r\n// RS 17JAN2025\r\n// An array fontFamilyArr is created containing a list of font family names as strings.\r\nconst fontFamilyArr = [\"Roboto\", \"Roboto Condensed\", \"Arial\", \"Verdana\", \"Tahoma\", \"Trebuchet MS\",\r\n \"Georgia\", \"Times New Roman\", \"Courier New\", \"Palatino Linotype\",\r\n \"Segoe UI\", \"Calibri\", \"Calibri Light\", \"Sans-Serif\", \"Helvetica\",\r\n \"Impact\", \"Garamond\", \"Comic Sans MS\", \"Lucida Console\", \"Franklin Gothic Medium\"];\r\n\r\n// Register Quill modules\r\nQuill.register('modules/mention', Mention);\r\nImageResizor.Quill = Quill\r\nQuill.register('modules/imageResizor', ImageResizor)\r\n\r\n// RS 17JAN2025\r\n//The Quill font style attributor is imported and it is registered with Quil\r\nlet fonts: any = Quill.import(\"attributors/style/font\");\r\nfonts.whitelist = fontFamilyArr;\r\nQuill.register(fonts, true);\r\n\r\nexport const QuillConfiguration: QuillModules = {\r\n imageResizor: {},\r\n toolbar: {\r\n container: [\r\n [{ 'font': fontFamilyArr }], //RS 17JAN2025 Added font family dropdown\r\n ['bold', 'italic', 'underline', 'strike'],\r\n ['blockquote', 'code-block'],\r\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\r\n [{ list: 'ordered' }, { list: 'bullet' }],\r\n [{ color: [] }, { background: [] }],\r\n [{ align: [] }],\r\n ['link', 'image', 'video'],\r\n ['formula'],\r\n ['clean'],\r\n ],\r\n },\r\n mention: {\r\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\r\n mentionDenotationChars: ['@', '#'],\r\n source: function (searchTerm: string, renderList: any) {\r\n const values = [\r\n { id: 1, value: 'User 1' },\r\n { id: 2, value: 'User 2' },\r\n ];\r\n\r\n if (searchTerm.length === 0) {\r\n renderList(values, searchTerm);\r\n } else {\r\n const matches = values.filter((item) =>\r\n item.value.toLowerCase().includes(searchTerm.toLowerCase())\r\n );\r\n renderList(matches, searchTerm);\r\n }\r\n },\r\n },\r\n};\r\n\r\n// resize: {\r\n// displaySize: true,\r\n// modules: ['Resize', 'DisplaySize', 'Toolbar'],\r\n// toolbarStyles: {\r\n// backgroundColor: 'black',\r\n// border: 'none',\r\n// color: 'white'\r\n// },\r\n// handleStyles: {\r\n// backgroundColor: 'black',\r\n// border: 'none',\r\n// color: 'white'\r\n// }\r\n// },\r\n@Component({\r\n imports: [QuillEditorComponent, FormsModule ,CommonModule],\r\n selector: 'app-custom-rich-text',\r\n standalone: true,\r\n templateUrl: './custom-rich-text.component.html',\r\n styleUrls: ['./custom-rich-text.component.css']\r\n})\r\n\r\nexport class CustomRichTextComponent implements OnInit, OnDestroy {\r\n @Input() value: any | any[] = '';\r\n @Input() placeholder: string;\r\n @Input() error: any;\r\n @Input() question: any;\r\n @Input() rows:Number; //The number of visible text lines for the control\r\n @Input() readOnly = false;\r\n @Output() textValueChange: EventEmitter<string> = new EventEmitter<string>();\r\n @Input() minLength?: number;\r\n @Input() maxLength?: number;\r\n // @Input() value: any = ''; // Set default value\r\n\r\n quillConfiguration: QuillModules = QuillConfiguration;\r\n subscription: Subscription;\r\n\r\n constructor(\r\n public i18nService: I18nService,\r\n private changeService: ChangeService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n console.log('Rich Text Init:', {\r\n value: this.value,\r\n question: this.question\r\n });\r\n if (this.value === undefined || this.value === null) {\r\n this.value = '';\r\n this.textValueChange.emit('');\r\n\r\n }\r\n this.initializeDependency();\r\n }\r\n\r\n // Separated dependency initialization for better organization\r\n private initializeDependency(): void {\r\n if (this.question?.subText) {\r\n console.log('subText:', this.question.subText);\r\n try {\r\n const dependencyObj: DependencyMeta = JSON.parse(this.question.subText);\r\n if (dependencyObj?.sourceQuestionId) {\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n console.log('Change Value:', changeValue);\r\n if (changeValue && changeValue.valueObj &&\r\n changeValue.fromQuestionId === dependencyObj.sourceQuestionId) {\r\n this.value = changeValue.valueObj[dependencyObj.valueField];\r\n this.textValueChange.emit(this.value);\r\n }\r\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\r\n }\r\n );\r\n }\r\n } catch (error) {\r\n console.error('Error parsing subText:', error);\r\n }\r\n }\r\n}\r\n\r\n\r\n// onEditorChange(event: any): void {\r\n// if (event && event.html !== undefined) {\r\n// this.textValueChange.emit(event.html);\r\n// } else {\r\n// this.textValueChange.emit('');\r\n// }\r\n// }\r\n// onEditorChange(event: any): void {\r\n// console.log('Typing detected...', event.html);\r\n\r\n// if (this.typingTimer) {\r\n// clearTimeout(this.typingTimer); // Clear previous timer\r\n// }\r\n// this.typingTimer = setTimeout(() => {\r\n// console.log('Debounced event fired:', event.html);\r\n\r\n// const newValue = event?.html ? event.html : ''; // Ensure empty values are handled\r\n// this.textValueChange.emit(newValue);\r\n// }, this.doneTypingInterval);\r\n// }\r\n\r\nonEditorBlur(): void {\r\n // Only emit if we have a value change\r\n const currentValue = this.value || '';\r\n this.textValueChange.emit(currentValue);\r\n}\r\n // Added ngOnDestroy to prevent memory leaks\r\n ngOnDestroy(): void {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n\r\n\r\n","<!-- 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>","export class ChangeWrapper {\r\n fromQuestionId: string;\r\n fromQuestionName: string;\r\n toQuestionId: string;\r\n toQuestionName: string;\r\n valueObj: any;\r\n selectedObj: string; // HA 19JAN24 As we need dropdown as object also, to store we are using\r\n referenceField:string;\r\n field:string; // VD 20Aug24 getting the field name\r\n}\r\n","// HA 19DEC23 File created for translation\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from './i18n.service';\r\n\r\n@Pipe({\r\n name: 'i18n'\r\n})\r\nexport class I18nPipe implements PipeTransform {\r\n constructor(private i18nService: I18nService) { }\r\n transform(value: any, ...args: any[]): any {\r\n if (value) {\r\n return this.i18nService.getString(value);\r\n }\r\n return value;\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input,ChangeDetectorRef, NgModule, NgZone, OnInit, Output, SimpleChanges, ViewChild, OnChanges } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\n // VD 21DEC23 - dependent field change\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { Question } from '../../wrapper';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-pick-location',\r\n templateUrl: './pick-location.component.html',\r\n styleUrls: ['./pick-location.component.css']\r\n})\r\nexport class PickLocationComponent implements OnInit ,OnChanges {\r\n latitude = null;\r\n longitude = null;\r\n zoom: number = 10;\r\n private geoCoder;\r\n // public formGroup: FormGroup;\r\n @ViewChild('search', { static: true })\r\n public searchElementRef: ElementRef<HTMLInputElement>;\r\n showModal: boolean = false;\r\n @Input() address:string;\r\n // VD 21DEC23 - dependent field change\r\n @Input() question: Question\r\n @Output() locationSelected: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n navigatorGeolocation: any;\r\n markerPosition: { lat: any; lng: any; };\r\n center: { lat: any; lng: any; };\r\n markerOptions:any;\r\n @Input() apiKey: any; // HA10012024 declared Api key to src\r\n\r\n constructor(\r\n // private mapsAPILoader: MapsAPILoader,\r\n public i18nService: I18nService,\r\n private ngZone: NgZone,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n // HA09012024 is to avoid google is undefined error and calling the below created function\r\n }\r\n\r\n ngOnInit(): void {\r\n // HA-11-01-2024 Changed the map Call from constructor to ngOnInit as it was giving undefined values in the outsourced\r\n if(this.apiKey){\r\n this.loadGoogleMapsScript().then(() => {\r\n this.geoCoder = new google.maps.Geocoder();\r\n this.markerOptions = new google.maps.Marker ({\r\n draggable: true,\r\n animation: google.maps.Animation.DROP\r\n });\r\n this.initAutocomplete();\r\n this.onMarkerDragEnd();\r\n });\r\n }\r\n }\r\n// RS 23JAN2025\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['address'] && changes['address'].currentValue !== changes['address'].previousValue) {\r\n // Ensure latitude & longitude update when the address changes\r\n if (this.address) {\r\n this.geoCoder.geocode({ address: this.address }, (results, status) => {\r\n if (status === 'OK' && results[0]?.geometry?.location) {\r\n this.latitude = results[0].geometry.location.lat();\r\n this.longitude = results[0].geometry.location.lng();\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 18;\r\n this.cdr.detectChanges(); // Force Angular to update the UI\r\n\r\n }\r\n });\r\n } else {\r\n // Reset if no address is provided\r\n this.latitude = null;\r\n this.longitude = null;\r\n this.markerPosition = null;\r\n this.center = null;\r\n this.cdr.detectChanges(); // FORCE UI UPDATE\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // HA09012024 is to avoid google is undefined error\r\n private loadGoogleMapsScript(): Promise<void> {\r\n const script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n // HA10012024 Assigned Api key to src\r\n script.src = `https://maps.googleapis.com/maps/api/js?key=${this.apiKey}&libraries=geometry,places`;\r\n script.async = true;\r\n script.defer = true;\r\n document.body.appendChild(script);\r\n\r\n return new Promise<void>((resolve, reject) => {\r\n script.onload = () => {\r\n resolve();\r\n };\r\n script.onerror = (error: any) => {\r\n reject(error);\r\n };\r\n });\r\n }\r\n\r\n initAutocomplete(): void {\r\n if (this.geoCoder) {\r\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef?.nativeElement, {\r\n types: []\r\n });\r\n autocomplete.addListener('place_changed', () => {\r\n this.ngZone.run(() => {\r\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.latitude = place.geometry.location.lat();\r\n this.longitude = place.geometry.location.lng();\r\n this.zoom = 18;\r\n this.address = place.formatted_address;\r\n // VD 21DEC23 - dependent field change\r\n let change = new ChangeWrapper();\r\n // RS 09DEC24 Changed keys\r\n change.fromQuestionId = this.question.id;\r\n let addObj = {};\r\n addObj['address'] = this.address;\r\n addObj['latitude'] = this.latitude;\r\n addObj['longitude'] = this.longitude;\r\n change.valueObj = addObj;\r\n this.locationSelected.emit(change);\r\n });\r\n });\r\n }\r\n }\r\n\r\n onMarkerDragEnd(): void {\r\n google.maps.event.addListener(this.markerOptions, 'dragend', (event) => {\r\n console.log('dragable working',event);\r\n this.latitude = event.latLng.lat();\r\n this.longitude = event.latLng.lng();\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n\r\n onMapClick(event: google.maps.MapMouseEvent): void {\r\n console.log('onMapClick',event);\r\n this.latitude = event.latLng.lat();\r\n this.longitude = event.latLng.lng();\r\n this.getAddress(this.latitude, this.longitude);\r\n }\r\n\r\n\r\n private setCurrentLocation() {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 8;\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n }\r\n\r\n\r\n getAddress(latitude: number, longitude: number) {\r\n if (this.geoCoder) {\r\n this.geoCoder.geocode({ location: { lat: latitude, lng: longitude } }, (results, status) => {\r\n console.log('results',results);\r\n console.log('status',status);\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n // this.zoom = 18;\r\n this.address = results[0].formatted_address;\r\n // VD 21DEC23 - dependent field change\r\n let change = new ChangeWrapper();\r\n // RS 09DEC24 Changed keys\r\n change.fromQuestionId = this.question.id;\r\n let addObj1 = {};\r\n addObj1['address'] = this.address;\r\n addObj1['latitude'] = latitude;\r\n addObj1['longitude'] = longitude;\r\n change.valueObj = addObj1;\r\n this.locationSelected.emit(change);\r\n } else {\r\n console.log('No results found');\r\n }\r\n } else {\r\n console.log('Geocoder failed due to: ' + status);\r\n }\r\n });\r\n }\r\n }\r\n\r\n openMap() {\r\n this.showModal = true;\r\n if(!this.address){\r\n this.latitude = this.longitude = null;\r\n }\r\n if (!(this.latitude && this.longitude)) {\r\n this.setCurrentLocation();\r\n }else{\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 8;\r\n }\r\n }\r\n\r\n closeModal() {\r\n this.showModal = false;\r\n }\r\n\r\n\r\n}\r\n\r\n","<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <!-- HA 19DEC23 For translation -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"{{ 'enterLocation' | i18n:i18nService.currentLanguage }}\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"{{ 'searchNearestLocation' | i18n:i18nService.currentLanguage }}\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n <!-- HA 19DEC23 For translation -->\r\n </i> {{ 'pickLocation' | i18n:i18nService.currentLanguage }}</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <!-- HA 19DEC23 For translation -->\r\n <h4>{{ 'pickYourLocation' | i18n:i18nService.currentLanguage }}</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { Question } from '../../wrapper';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { DataService } from '../../services/data.service';\r\n\r\n@Component({\r\n selector: 'app-custom-input',\r\n templateUrl: './custom-input.component.html',\r\n styleUrls: ['./custom-input.component.css']\r\n})\r\n\r\nexport class CustomInputComponent implements OnInit {\r\n @Input() value: any | any[]; // input value\r\n @Input() question: Question\r\n @Input() disabled: boolean = false; // input disabled or not\r\n @Input() placeholder:string;\r\n @Input() error:any;\r\n @Input() fromShengel: boolean = false;\r\n @Input() readOnly :boolean = false; // VD 12Jun24 - readonly change\r\n\r\n @Input() ngClassValue:any;\r\n @Input() idValue:any;\r\n @Input() focusEvent: any;\r\n @Output() inputValue = new EventEmitter<any>(); \r\n\r\n subscription: Subscription;\r\n\r\n constructor(private changeService: ChangeService, public i18nService: I18nService, private dataService: DataService) { \r\n }\r\n\r\n // RS 09DEC24 Changed keys\r\n ngOnInit(): void {\r\n // Since the idValue holds the Parent Question\r\n if(this.question.subText != undefined) {\r\n this.disabled = true;\r\n let dependencyObj: DependencyMeta = JSON.parse(this.question.subText);\r\n if(dependencyObj.disabled && dependencyObj.disabled == \"false\"){\r\n this.disabled = false;\r\n }else{\r\n this.disabled = true;\r\n }\r\n // Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n // console.log('inside subscription for the change');\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\r\n // VD 20Aug24 handling the multiple object\r\n this.value = this.dataService.getValue(changeValue.valueObj,dependencyObj.valueField);\r\n this.inputValue.emit(this.value);\r\n }\r\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n ngOnChange(): void {\r\n }\r\n\r\n ngOnDestroy() {\r\n // prevent memory leak when component destroyed\r\n this.subscription?.unsubscribe();\r\n }\r\n \r\n onInputChange(input:any){\r\n this.inputValue.emit(input.target.value);\r\n }\r\n}\r\n"," <!-- HA 19DEC23 Included Style value from Salesforce -->\r\n <!-- HA 18-JAN-24 Added these classes for style, HA 31-JAN-24 Added ternary for style -->\r\n <!-- HA 02FEB24 question input will hold the value to display -->\r\n <!-- // VD 12Jun24 - readonly change-->\r\n <!-- RS 09DEC24 Changed keys--> \r\n <input *ngIf=\"!fromShengel\" type=\"text\" \r\n [(ngModel)]=\"question.input\" \r\n [ngClass]=\"ngClassValue\"\r\n class=\"she-line-input form-control\"\r\n [id]=\"idValue\"\r\n (focus)=\"focusEvent\"\r\n [readOnly]=\"readOnly\"\r\n [style.border-color]=\"error ? 'red !important' : ''\"\r\n [style]=\"question?.style?.inputStyle\"\r\n [placeholder]=\"placeholder ? placeholder : ''\"\r\n (input)=\"onInputChange($event)\" />\r\n\r\n<input *ngIf=\"fromShengel\" \r\n [(ngModel)]=\"question.input\"\r\n type=\"text\" \r\n [readOnly]=\"readOnly\"\r\n class=\"she-line-input form-control\" \r\n [placeholder]=\"placeholder ? placeholder : '' \"\r\n [disabled]=\"disabled\"\r\n [style]=\"question?.style?.inputStyle\"\r\n (input)=\"onInputChange($event)\" />\r\n<!-- HA 19DEC23 For translation -->\r\n<span *ngIf=\"error\" class=\"error-msg\">{{question?.errorMessage}}*</span>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\n\r\n@Component({\r\n selector: 'app-custom-text-area',\r\n templateUrl: './custom-text-area.component.html',\r\n styleUrls: ['./custom-text-area.component.css']\r\n})\r\nexport class CustomTextAreaComponent implements OnInit {\r\n @Input() value: any | any[]; // input value\r\n @Input() placeholder:string;\r\n @Input() rows:Number; //The number of visible text lines for the control\r\n @Input() error:any;\r\n @Input() question:any;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Output() textareaValueChange: EventEmitter<string> = new EventEmitter<string>(); \r\n subscription: Subscription;\r\n\r\n constructor(public i18nService: I18nService,private changeService: ChangeService) { }\r\n // RS 09DEC24 Changed keys\r\n ngOnInit(): void {\r\n // 10MAY24 - VD Dependent update\r\n if(this.question.subText){\r\n let dependencyObj: DependencyMeta = JSON.parse(this.question.subText);\r\n if(dependencyObj.sourceQuestionId){\r\n // Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\r\n this.value = changeValue.valueObj[dependencyObj.valueField];\r\n this.textareaValueChange.emit(this.value);\r\n }\r\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n \r\n }\r\n\r\n onTextareaChange(event:any): void {\r\n this.textareaValueChange.emit(event.target.value);\r\n }\r\n\r\n}\r\n","<!-- // VD 12Jun24 - readonly change-->\r\n<!-- VD 01Aug24 - validation change-->\r\n<!-- RS 09DEC24 Changed keys--> \r\n<textarea \r\n [class]=\"error ? 'invalid' : ''\"\r\n [(ngModel)] =\"value\" \r\n [rows]=\"rows\" \r\n class=\"she-line-input form-control\" \r\n [placeholder]=\"placeholder\"\r\n [readOnly]=\"readOnly\"\r\n (input)=\"onTextareaChange($event)\"\r\n></textarea>\r\n<!-- HA 19DEC23 For translation -->\r\n<span *ngIf=\"error\" class=\"error-msg\">{{ question?.errorMessage }}</span>","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'getValue',\r\n standalone: true\r\n})\r\nexport class GetValuePipe implements PipeTransform {\r\n\r\n transform(arg:any, element: any, column: any): any {\r\n const initialEl = element;\r\n let flds = column.split('.');\r\n for(let i=0; i<flds.length; i++){\r\n let splitFlds = flds[i].split('[');\r\n if(splitFlds.length === 1){\r\n if(typeof element[flds[i]] === \"number\"){\r\n element = element[flds[i]] || 0 as any;\r\n // VD 23Aug24 handle boolean Type\r\n }else if(typeof element[flds[i]] === \"boolean\"){\r\n console.log('inside boolean1');\r\n element = element[flds[i]];\r\n } else {\r\n element = element[flds[i]] || \"\" as any;\r\n }\r\n \r\n } else {\r\n let index = Number(splitFlds[1].split(']')[0]);\r\n if(typeof element[flds[i]] === \"number\"){\r\n element = element[splitFlds[0]][index] || 0 as any;\r\n // VD 23Aug24 handle boolean Type\r\n }else if(typeof element[flds[i]] === \"boolean\"){\r\n console.log('inside boolean');\r\n element = element[splitFlds[0]][index];\r\n }else {\r\n element = element[splitFlds[0]][index] || '' as any;\r\n }\r\n }\r\n }\r\n // Object.assign(initialEl, { [column]: element });\r\n return element; \r\n }\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { TableWrapper } from '../../model/tableWrapper';\r\nimport { SalesforceService } from '../../services/salesforce.service';\r\nimport { Question } from '../../wrapper';\r\nimport { DataService } from '../../services/data.service';\r\nimport { APIMeta } from '../../interfaces/apimeta';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-custom-table',\r\n templateUrl: './custom-table.component.html',\r\n styleUrls: ['./custom-table.component.css']\r\n})\r\n\r\nexport class CustomTableComponent implements OnInit {\r\n @Input() question: Question\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n tableInfo: TableWrapper;\r\n tableHeader = [];\r\n tableData = [];\r\n addRowColSpan: number;\r\n tableSize: number; // HA 28DEC23 table size declaration\r\n objName: any;\r\n filterLogic: any;\r\n fieldMeta: string;\r\n firStr: string;\r\n searchBox: boolean = false;\r\n @Input() apiMeta: string;\r\n public options: string[];\r\n isDisabled: boolean = true;\r\n subscription: Subscription;\r\n\r\n public labelField: string;\r\n\r\n constructor(private changeService: ChangeService,public i18nService: I18nService, private sfService: SalesforceService, private dataService: DataService) { }\r\n // RS 09DEC24 Changed keys\r\n ngOnInit(): void {\r\n this.tableHeader = JSON.parse(this.question['fieldsMeta']);\r\n this.tableSize = 10/this.tableHeader.length;\r\n// 12JUN24 - default table value\r\n if(this.question?.input){\r\n this.tableData = this.question?.input;\r\n }\r\n if(this.apiMeta !== undefined) {\r\n this.options = [];\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.labelField = apiObj.field;\r\n if(apiObj.endpoint){\r\n this.dataService.apiResponse(apiObj.endpoint)?.subscribe((apiResponse) => {\r\n let responses;\r\n if(apiObj.variable){\r\n // VD 22May24 - handling multiple child objects\r\n responses = this.dataService.getValue(apiResponse,apiObj.variable);\r\n let results = [];\r\n // HA 19JAN24 To avoid undefined error in console\r\n for (let i = 0; i < responses?.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n this.options = results;\r\n }else{ // VD 19JAN24 - if response has value(which is array) only\r\n responses = apiResponse;\r\n this.options = responses;\r\n }\r\n this.options = this.options.map((obj: any) => ({ ...obj, edit: false }));\r\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\r\n this.tableData = this.options;\r\n console.log('tableData', this.tableData);\r\n \r\n });\r\n }\r\n \r\n // VD NOV23 - handle the dependent update for dropdown\r\n let sourceId = apiObj.sourceQuestionId;\r\n let field = apiObj.field; // VD 13MAY24 - dynamic field changes\r\n if(sourceId){\r\n // // VD 10May24 Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == apiObj.sourceQuestionId) {\r\n console.log('changes happen');\r\n this.options = this.options.map((obj: any) => ({ ...obj, edit: false }));\r\n let item = changeValue.valueObj;\r\n let validItem = true;\r\n // VD 13MAY24 - bind dynamic field\r\n if(this.tableData.length > 0){\r\n this.tableData.forEach(element => {\r\n // VD 26Jun24 - to handle multiple objects\r\n const objElementValue = this.dataService.getValue(element,field);\r\n const objItemValue = this.dataService.getValue(item,field)\r\n if(objElementValue == objItemValue){\r\n validItem = false;\r\n }\r\n });\r\n }\r\n if(validItem){\r\n if(this.tableData.length > 0){\r\n this.tableData = [...this.tableData,item];\r\n this.emitTableDataValue(this.tableData);\r\n }else {\r\n this.tableData.push(item);\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n }\r\n }\r\n this.changeService.confirmChange(apiObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n console.log('tableData', this.tableData);\r\n console.log('tableHeader', this.tableHeader);\r\n console.log('tableInfo', this.tableInfo);\r\n }\r\n\r\n\r\n addRow(): void {\r\n let newItem = {};\r\n this.tableHeader.forEach(item => {\r\n if(item.apiName){\r\n newItem[item.apiName]= \"\";\r\n }\r\n });\r\n const updatedTableData = [...this.tableData, newItem];\r\n this.tableData = updatedTableData;\r\n this.emitTableDataValue(updatedTableData);\r\n }\r\n\r\n updateRadio(item: any, value: string): void {\r\n item.value = value;\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n // VD 23Aug24 handle Type\r\n updateLabel(rowIndex: number, label: string, value: any): void {\r\n this.tableData[rowIndex][label] = value;\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n deleteRow(rowIndex: number){\r\n this.tableData.splice(rowIndex, 1);\r\n }\r\n editRow(rowIndex: number){\r\n var a = 0;\r\n this.tableData.forEach(element => {\r\n if(a === rowIndex){\r\n element.edit = true;\r\n }\r\n a++;\r\n });\r\n }\r\n\r\n updateNumber(item: any, label: string, value: string){\r\n item.value[label] = value;\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n\r\n\r\n emitTableDataValue(updatedTableData: any[]): void {\r\n this.valueChange.emit(updatedTableData);\r\n }\r\n}","<table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <!-- HA 28DEC23 changed table header values and changed table size logic to evenly visible -->\r\n <!-- <th><input type=\"checkbox\" (change)=\"selectAll($event.target.checked)\"></th> -->\r\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + tableSize\">\r\n {{ header.label }}\r\n </th>\r\n <th class=\"col-md-2\" colspan=\"2\">Actions</th>\r\n </thead>\r\n <tbody *ngIf=\"tableData\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <!-- <td><input type=\"checkbox\" [(ngModel)]=\"item.selected\" (change)=\"selectItem(item)\"></td> -->\r\n <td *ngFor=\"let header of tableHeader; let j = index\">\r\n <div *ngIf=\"header.fldType === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.fldType === 'image'\" [class]=\"'col-md-' + header.size\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\r\n </div>\r\n <!--VD 23Aug24 handle readOnly -->\r\n <div *ngIf=\"header.fldType === 'Text' || header.fldType === 'Text'\">\r\n <!-- VD 26Jun24 - pipe change to handle multiple objects-->\r\n <input type=\"text\" [readonly]=\"header.readOnly\" [disabled]=\"!item.edit\" [ngClass]=\"{'editInput': item.edit && !header.readOnly}\" [ngModel]=\"'' | getValue: item : header.apiName\" (ngModelChange)=\"updateLabel(i, header.apiName,$event)\" class=\"she-line-input table-input\">\r\n </div>\r\n <!--VD 23Aug24 handle Number Type -->\r\n <div *ngIf=\"header.fldType === 'Number' || header.fldType === 'Number'\">\r\n <!-- VD 26Jun24 - pipe change to handle multiple objects-->\r\n <input type=\"Number\" [readonly]=\"header.readOnly\" [disabled]=\"!item.edit\" [ngClass]=\"{'editInput': item.edit && !header.readOnly}\" [ngModel]=\"'' | getValue: item : header.apiName\" (ngModelChange)=\"updateLabel(i, header.apiName,$event)\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.fldType === 'radio'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\r\n </div>\r\n </td>\r\n <td class=\"action\">\r\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"editRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit1\" /><span>Edit</span></a>\r\n </td>\r\n <td class=\"action\">\r\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"deleteRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"/><span>Delete</span></a>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n<div (click)=\"addRow()\" class=\"addRowClass\"><div class=\"circle-button\">+</div></div>","import { Component, OnInit,Input,Output,EventEmitter} from '@angular/core';\r\nimport { I18nService } from '../../i18n.service';\r\n\r\n@Component({\r\n selector: 'app-custom-date-picker',\r\n templateUrl: './custom-date-picker.component.html',\r\n styleUrls: ['./custom-date-picker.component.css']\r\n})\r\nexport class CustomDatePickerComponent implements OnInit {\r\n @Input() date: string;\r\n @Input() minDate:any;\r\n @Input() maxDate:any;\r\n @Input() error:any;\r\n @Input() errorMessage:string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\r\n dateSelected:any\r\n constructor(public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n console.log('read only check',this.readOnly);\r\n this.dateSelected = new Date(this.date);\r\n }\r\n\r\n onDateChange(event: any) {\r\n this.dateChange.emit(event);\r\n }\r\n\r\n}\r\n","<!-- <div class=\"date-picker-container\">\r\n <label>{{label}}</label>\r\n <input type=\"date\" [min]=\"minDate\" [max]=\"maxDate\" [required]=\"required\" (change)=\"onDateChanged($event)\">\r\n</div> -->\r\n<!-- <mat-form-field>\r\n <input matInput [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [min]=\"minDate\" [max]=\"maxDate\" [(ngModel)]=\"selectedDate\" (dateChange)=\"onDateChange($event)\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</mat-form-field> -->\r\n<!--VD 12Jun24 - readonly change --> \r\n<!-- VD 01Aug24 - validation change-->\r\n<p>\r\n <input \r\n [class]=\"error ? 'invalid' : ''\"\r\n [(ngModel)]=\"dateSelected\" \r\n [owlDateTimeTrigger]=\"dt\" \r\n [owlDateTime]=\"dt\" \r\n [min]=\"minDate\"\r\n [disabled]=\"readOnly\"\r\n placeholder=\"DD/MM/YYYY HH:MM\"\r\n (input)=\"onDateChange($event)\"\r\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\r\n (dateTimeChange)=\"onDateChange($event)\">\r\n <owl-date-time #dt></owl-date-time>\r\n</p>\r\n<span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>\r\n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\n\r\n@Component({\r\n selector: 'app-dropdown-with-flag',\r\n templateUrl: './dropdown-with-flag.component.html',\r\n styleUrls: ['./dropdown-with-flag.component.css']\r\n})\r\nexport class DropdownWithFlagComponent implements OnInit {\r\n @Input() certified:boolean= false;\r\n // @Input() getValue:string = '';\r\n @Input() JobPerformerCertificates: any[] = [];\r\n @Output() flagDropDownChange: EventEmitter<any> = new EventEmitter<any>(); \r\n selectedValue:string = '';\r\n\r\n constructor(public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnChanges(){\r\n this.selectedValue = null;\r\n }\r\n \r\n onJobPerformerCertified(event:any){\r\n this.flagDropDownChange.emit(event);\r\n }\r\n\r\n}\r\n","<div class=\"she-title\">\r\n <label class=\"switch\">\r\n <input class=\"switch-input\" type=\"checkbox\" disabled=\"true\" [checked]=\"certified\"/>\r\n <span class=\"switch-label\" data-on=\"Certified\" data-off=\"Not Certified\"></span> \r\n <span class=\"switch-handle\"></span> \r\n </label> \r\n <!-- HA 19DEC23 For translation -->\r\n <ng-select *ngIf=\"certified\"\r\n style=\"margin-left: 36px; width: 205px; margin-bottom: 8px;\" \r\n [items]=\"JobPerformerCertificates\"\r\n [(ngModel)]=\"selectedValue\"\r\n (change)=\"onJobPerformerCertified($event)\"\r\n placeholder=\"---{{ 'select' | i18n:i18nService.currentLanguage }}---\">\r\n </ng-select>\r\n </div> ","import { Component, OnInit,Input,Output,EventEmitter, Optional } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { APIMeta } from '../../interfaces/apimeta';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { ChangeService } from '../../services/change.service';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\n// VD 23JAN24 used service file for callout\r\nimport { DataService } from '../../services/data.service';\r\n\r\n@Component({\r\n selector: 'app-custom-dropdown',\r\n templateUrl: './custom-dropdown.component.html',\r\n styleUrls: ['./custom-dropdown.component.css']\r\n})\r\nexport class CustomDropdownComponent implements OnInit {\r\n @Input() options: string[];\r\n @Input() placeholder: string;\r\n @Input() apiMeta: string;\r\n @Input() selectedValue: string;\r\n @Input() progressBar: boolean;\r\n @Input() id:string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Input() errorMessage: string;\r\n @Input() error:any;\r\n @Input() fromShengel: boolean = false;\r\n @Input() question:any;\r\n @Input() referenceField:string;\r\n @Input() token:string; // VD 19JAN24 - getting token as input\r\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n invalidFieldIds:string[] = [];\r\n constructor( \r\n private changeService: ChangeService, \r\n private dataService: DataService,\r\n public i18nService: I18nService,\r\n ) { \r\n this.changeService.submitValidate$.subscribe((data)=>{\r\n // to get the error message's field id's\r\n this.invalidFieldIds.push(data);\r\n })\r\n }\r\n\r\n public labelField: string;\r\n public valueField: string;\r\n subscription: Subscription;\r\n public apiObj:APIMeta;\r\n public uniqueKey:string;\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n getOptions(){\r\n console.log('test click');\r\n // console.log('inside oninit of custom-dropdown of ' + this.id);\r\n // console.log(this.apiMeta);\r\n //VD 07Aug24 - isDependentField change\r\n // VD 25Oct24 - changes\r\n this.placeholder = this.placeholder ? this.placeholder : '---Select option---';\r\n if(this.apiMeta) {\r\n try {\r\n this.apiObj = JSON.parse(this.apiMeta);\r\n // Check if apiObj and apiObj.field are defined\r\n if (this.apiObj && this.apiObj.field) {\r\n this.labelField = this.apiObj.field;\r\n this.uniqueKey = this.apiObj.uniqueKey;\r\n const cachedOptions = localStorage.getItem(this.uniqueKey);\r\n if (cachedOptions) {\r\n this.options = JSON.parse(cachedOptions);\r\n }else {\r\n if(!this.apiObj.isDependentField){\r\n this.options = [];\r\n }\r\n\r\n // VD 09Sep24- setup the query param for api call // MR 08JAN24 DependentField API Fix moved below logic from above if condition\r\n let fullEndPoint ;\r\n if(this.apiObj.endpoint) {\r\n if(this.apiObj.queryValueReference && this.apiObj.queryField) {\r\n // process the end point with query param\r\n let queryReferences = this.apiObj.queryValueReference.split(',');\r\n let queryFields = this.apiObj.queryField.split(','); // MR 08JAN24 similar to above valuereference get list of QUERY Fields\r\n let queryValues = this.apiObj.queryValue.split(','); // MR 08JAN24 similar to above valuereference get list of QUERY Values (Default)\r\n let queryParams = [];\r\n let qIndex = 0; // MR 08JAN24 Query Index\r\n // Iterate over queryReferences and find the corresponding element in referenceData\r\n queryReferences.forEach(reference => {\r\n // Find the element in referenceData that matches the current reference\r\n // RS 09DEC24 Changed keys\r\n let matchingElement = this.question?.referenceQueryData.find(element => element.referenceField === reference);\r\n // If a matching element is found, get its input value and create a query parameter\r\n if (reference && matchingElement) { // MR 08JAN24 if reference exist & matching element found\r\n queryParams.push(`${queryFields[qIndex]}=${matchingElement.input}`); // MR 08JAN24 removed reference\r\n } else { // MR 08JAN24 included option for multiple query params and default value in case of reference is not found\r\n queryParams.push(`${queryFields[qIndex]}=${queryValues[qIndex]}`);\r\n }\r\n\r\n qIndex++;\r\n });\r\n fullEndPoint = this.apiObj.endpoint + '?' + queryParams.join('&');\r\n console.log(fullEndPoint);\r\n } else {\r\n // if no query param get the actual endPoint\r\n fullEndPoint = this.apiObj.endpoint;\r\n }\r\n\r\n // VD 19JAN24 - added one more param for authentication\r\n this.dataService.apiResponse(fullEndPoint)?.subscribe((apiResponse) => {\r\n // HA 18-JAN-24 Assigned apiresponse directly if we have the response in array also\r\n // VD 19JAN24 - if response has key with value(which is array)\r\n let responses;\r\n if(this.apiObj.variable){\r\n // VD 21May24 - handling multiple child objects\r\n // VD 22May24 - used common service file\r\n responses = this.dataService.getValue(apiResponse,this.apiObj.variable);\r\n let results = [];\r\n // HA 19JAN24 To avoid undefined error in console\r\n for (let i = 0; i < responses?.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n this.options = results;\r\n }else{ // VD 19JAN24 - if response has value(which is array) only\r\n responses = apiResponse;\r\n this.options = responses;\r\n }\r\n // VD 25Oct24 - Store fetched options in local storage\r\n if(this.uniqueKey){\r\n localStorage.setItem(this.uniqueKey, JSON.stringify(this.options));\r\n }\r\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\r\n })\r\n }\r\n\r\n // VD NOV23 - handle the dependent update for dropdown\r\n // VD 09Sep24- push the dependent field values for dropdown\r\n let sourceId = this.apiObj.sourceQuestionId;\r\n if(sourceId && this.apiObj.variable || this.apiObj.valueField){\r\n // Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n // console.log('inside subscription for the change');\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == this.apiObj.sourceQuestionId) {\r\n // this.selectedValue = changeValue.valueObj[this.apiObj.valueField];\r\n // let value ={};\r\n // value['name'] = this.selectedValue;\r\n let responses;\r\n if(this.apiObj.variable){\r\n responses = this.dataService.getValue(changeValue.valueObj,this.apiObj.variable);\r\n let results = [];\r\n for (let i = 0; i < responses?.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n this.options = results;\r\n }else{\r\n responses = changeValue.valueObj;\r\n this.options = responses;\r\n }\r\n // VD 25Oct24 - Store fetched options in local storage\r\n if(this.uniqueKey){\r\n localStorage.setItem(this.uniqueKey, JSON.stringify(this.options));\r\n }\r\n }\r\n this.changeService.confirmChange(this.apiObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error('Error parsing apiMeta:', error);\r\n }\r\n } \r\n}\r\n// VD 22May24 - used common service file\r\n\r\n selectChange(event:any) {\r\n console.log('inside selectChange from ' + this.id);\r\n // console.log(event);\r\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\r\n change.fromQuestionId = this.id;\r\n change.valueObj = event ? event : '';\r\n change.referenceField = this.referenceField;\r\n change.selectedObj = event ? event[this.labelField] : '';\r\n this.valueChange.emit(change);\r\n // once got value in dropdown remove the error validation\r\n if(event){\r\n this.invalidFieldIds =[];\r\n }\r\n }\r\n}\r\n","<!-- HA 18-JAN-24 Commenting these lines as we don't have to use shengel here -->\r\n<!-- <select\r\n [ngClass]=\"{\r\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\r\n 'custom-select': !progressBar\r\n }\" class=\"custom-select mr-sm-2 dd-height\" \r\n [id]=\"id\" \r\n [(ngModel)]=\"selectedValue\"\r\n (change)=\"selectChange($event.target.value);\" \r\n [style.borderColor]=\"error ? 'red' : '#858585'\"\r\n [style.color]=\"error ? 'red' : ''\">\r\n <option *ngFor=\"let option of options\" [value]=\"this.apiMeta !== undefined ? option.title : option.value\" class=\"option\">{{ this.apiMeta !== undefined ? option.title : option.value }}</option>\r\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\r\n</select> -->\r\n<!-- // VD 12Jun24 - readonly change-->\r\n<!-- VD 01Aug24 - validation change-->\r\n<!-- VD 07Aug24 - isDependentField change-->\r\n<!-- VD 25Oct24 - changes-->\r\n<!-- RS 09DEC24 Changed keys--> \r\n<ng-select\r\n [class]=\"invalidFieldIds.includes(id) || error ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\r\n [(ngModel)]=\"selectedValue\" \r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"readOnly\"\r\n (click)=\"getOptions()\"\r\n (change)=\"selectChange($event)\"\r\n [id]=\"id\">\r\n <ng-option \r\n *ngFor=\"let option of options\" \r\n [value]=\"apiObj && !apiObj.isDependentField ? option : option?.value\">\r\n {{ apiObj && !apiObj.isDependentField && option ? option[labelField] : option?.value }}\r\n </ng-option> \r\n</ng-select>\r\n<span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{errorMessage}}</span>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ChangeService } from '../../services/change.service';\r\n\r\n@Component({\r\n selector: 'app-custom-label',\r\n templateUrl: './custom-label.component.html',\r\n styleUrls: ['./custom-label.component.css']\r\n})\r\nexport class CustomLabelComponent implements OnInit {\r\n\r\n @Input() labelValue:string;\r\n @Input() labelStyle: string;\r\n\r\n constructor() { \r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n<div style={{labelStyle}}>{{ labelValue }}</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { IMyDateModel, IMyDpOptions } from \"mydatepicker\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { UntypedFormBuilder } from \"@angular/forms\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n//import { NgxIndexedDBService, IndexDetails} from 'ngx-indexed-db';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport * as moment from 'moment';\r\nimport { DataService } from '../../services/data.service';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { SharedService } from \"../../services/shared.service\";\r\nimport {\r\n Question,\r\n QuestionBook,\r\n AnswerBook,\r\n AnswerWrapper,\r\n Option,\r\n OptionValue,\r\n AttachmentWrapper,\r\n Attachment,\r\n LocalQuestion\r\n} from \"../../wrapper\";\r\nimport { ErrorWrapper } from \"../../model/errorWrapper\";\r\nimport {\r\n TESTQUESTION,\r\n DTQUESTION,\r\n FILEQUESTION,\r\n TAQUESTION,\r\n RADIOQUESTION,\r\n CHECKQUESTION,\r\n BOOKQUESTION,\r\n TESTQB,\r\n RTAQUESTION //RS 06JAN25\r\n} from \"../../sample\";\r\nimport { from } from \"rxjs\";\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from \"../../i18n.service\";\r\n@Component({\r\n selector: \"lib-questionnaire\",\r\n templateUrl: \"./questionnaire.component.html\",\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ChangeService],\r\n styleUrls: [\"./questionnaire.component.css\"],\r\n})\r\nexport class QuestionnaireComponent implements OnInit {\r\n @Input() qbId: string;\r\n @Input() insuranceStartDate: string;\r\n @Input() serv: string;\r\n @Input() tkn: string;\r\n @Input() api: string; // VD getting the api as input\r\n @Output() handleEvent = new EventEmitter();\r\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\r\n @Output() handleQuestion: EventEmitter<any> = new EventEmitter();\r\n @Output() handleBook: EventEmitter<any> = new EventEmitter();\r\n @Output() handleSubmit: EventEmitter<any> = new EventEmitter();\r\n\r\n params: Params;\r\n public deviceInfo = null;\r\n public abItem: AnswerBook;\r\n public qbItem: QuestionBook;\r\n public questionItem: Question;\r\n public answerWrap: AnswerWrapper;\r\n \r\n // CONDITIONAL TYPES\r\n public radioFlag: boolean = false;\r\n public dataFlag: boolean = false;\r\n \r\n // OPTIONONLY TYPES\r\n public dropdownFlag: boolean = false;\r\n public checkboxFlag: boolean = false;\r\n \r\n // UNCONDITIONAL TYPES\r\n public textFlag: boolean = false;\r\n public taFlag: boolean = false;\r\n public rtaFlag: boolean = false;\r\n public dtFlag: boolean = false;\r\n public timeFlag: boolean = false;\r\n public dateFlag: boolean = false;\r\n public fileFlag: boolean = false;\r\n public emailFlag: boolean = false;\r\n public numberFlag: boolean = false;\r\n public alphanumericFlag: boolean = false;\r\n public bookFlag: boolean = false;\r\n public listFlag: boolean= false;\r\n //Back button\r\n public backButtonFlag: boolean = false;\r\n // VD disabled\r\n public isButtonDisabled: boolean = false;\r\n public optionValues: OptionValue[] = [];\r\n public subQuestions: Question[] = [];\r\n public inpValue: string;\r\n public answerMap = new Map();\r\n public dateMap = new Map();\r\n public selectedhourMap = new Map();\r\n public selectedminuteMap = new Map();\r\n public attachmentsMap = new Map();\r\n public sqOptions = new Map();\r\n public subAnsMap = new Map();\r\n public localSubQuestions: LocalQuestion[] = [];\r\n public questionStack = [];\r\n public questionName = [];\r\n public attachments: any[] = [];\r\n public attachmentIdList: any[] = [];\r\n public attachmentId: string = \"\";\r\n public attachment: any;\r\n public allowedFileExtension: string[];\r\n public fileExceededLimit: boolean = false;\r\n public fileTypeIncorrect: boolean = false;\r\n public back: boolean = false;\r\n public backicon: boolean = true;\r\n public check: boolean;\r\n public pop: boolean;\r\n public localDate: string;\r\n public currentName: string;\r\n public pathquestion: number;\r\n public percent: number;\r\n public count: number;\r\n public taFocusOut: boolean = false;\r\n public notValidAccNum: boolean = false;\r\n public splCCBackClick: boolean = false;\r\n public summary = [];\r\n public localSubQMap = new Map();\r\n public keyIndex: number = 0;\r\n //public sques: string;\r\n public selDate: any = {};\r\n public selectDate: string;\r\n private today: Date = new Date();\r\n private el: HTMLElement;\r\n public innerhtml: any;\r\n public possibilities: any;\r\n public innerhtml1: any;\r\n public summaryData =[];\r\n \r\n public hours: any[] = [\r\n \"01\",\r\n \"02\",\r\n \"03\",\r\n \"04\",\r\n \"05\",\r\n \"06\",\r\n \"07\",\r\n \"08\",\r\n \"09\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n ];\r\n \r\n public minutes: string[] = [\r\n \"00\",\r\n \"01\",\r\n \"02\",\r\n \"03\",\r\n \"04\",\r\n \"05\",\r\n \"06\",\r\n \"07\",\r\n \"08\",\r\n \"09\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n \"13\",\r\n \"14\",\r\n \"15\",\r\n \"16\",\r\n \"17\",\r\n \"18\",\r\n \"19\",\r\n \"20\",\r\n \"21\",\r\n \"22\",\r\n \"23\",\r\n \"24\",\r\n \"25\",\r\n \"26\",\r\n \"27\",\r\n \"28\",\r\n \"29\",\r\n \"30\",\r\n \"31\",\r\n \"32\",\r\n \"33\",\r\n \"34\",\r\n \"35\",\r\n \"36\",\r\n \"37\",\r\n \"38\",\r\n \"39\",\r\n \"40\",\r\n \"41\",\r\n \"42\",\r\n \"43\",\r\n \"44\",\r\n \"45\",\r\n \"46\",\r\n \"47\",\r\n \"48\",\r\n \"49\",\r\n \"50\",\r\n \"51\",\r\n \"52\",\r\n \"53\",\r\n \"54\",\r\n \"55\",\r\n \"56\",\r\n \"57\",\r\n \"58\",\r\n \"59\",\r\n ];\r\n \r\n public selectedHour: string = \"\";\r\n public selectedMinute: string = \"\";\r\n public selectedMeridiem: string = \"\";\r\n public valueName: string = \"\";\r\n public valueName1: string = \"\";\r\n public bookFlagAccept: string[];\r\n public recordId: string;\r\n public currentQuestionId: string;\r\n public spinnerType: string;\r\n public spinnerName: string;\r\n public nextValue:string ='';\r\n \r\n start_date?: any;\r\n \r\n //search component\r\n public tempoAddress: any[] = [];\r\n public selectedValue: string;\r\n public selectedPostalcode: string;\r\n public selectedProvince: string;\r\n public selectedCity: string;\r\n public selectedArea: string;\r\n public localaddress: any[] = [];\r\n public allAddress :any [] = [];\r\n public PostalCode:string;\r\n public places: any[] = [];\r\n public province:any[]=[];\r\n \r\n // REQ-01 PROGRESS BAR\r\n public progressStyle: string = \"0%\";\r\n public answerCount: number = 0;\r\n public indexCount: number = 0;\r\n public addFlag: boolean = true;\r\n public myDatePickerOptions: IMyDpOptions = {};\r\n individualBookButton: boolean;\r\n \r\n public allInputValues = []; // HA 02FEB24 To store all the input values\r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private changeService: ChangeService,\r\n private sharedService: SharedService,\r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n private spinner: NgxSpinnerService,\r\n private _formBuilder: UntypedFormBuilder,\r\n //private dbService: NgxIndexedDBService,\r\n private deviceService: DeviceDetectorService,\r\n el: ElementRef,\r\n public i18nService: I18nService\r\n ) {\r\n // VD 10Aug24-spinner changes\r\n this.spinnerName = \"sp1\";\r\n this.spinnerType = \"ball-spin-clockwise-fade\";\r\n }\r\n \r\n // HA 02FEB24 On date change need to store the changed value so passing the question\r\n // RS 09DEC24 Changed keys\r\n onDateChanged(event: IMyDateModel, ques: any) {\r\n //console.log('Inside the onDateChanged');\r\n //to change the border color\r\n if (this.qbItem.progressBar) {\r\n //console.log('Inside the progressBar cond');\r\n this.inpValue =\r\n event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\r\n if(this.questionItem.type ==\"Book\"){\r\n this.selectDate = event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\r\n }\r\n } else {\r\n //console.log('Inside the ELSE of progressBar cond');\r\n if(this.questionItem.type ==\"Book\"){\r\n this.selectDate = event.date.day + \"-\" + event.date.month + \"-\" + event.date.year;\r\n }\r\n this.inpValue =\r\n event.date.year + \"-\" + event.date.month + \"-\" + event.date.day;\r\n }\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"border-color:#87be1c;width:100%\");\r\n this.dateMap.set(this.questionItem.id, event);\r\n if (\r\n event.date.day === 0 &&\r\n event.date.month === 0 &&\r\n event.date.year === 0\r\n ) {\r\n this.dateMap.delete(this.questionItem.id);\r\n this.answerMap.delete(this.questionItem.id);\r\n }\r\n //console.log('this.inpValue = '+this.inpValue);\r\n //console.log('this.selectDate = '+this.selectDate);\r\n // HA 02FEB24 Assigning input value to ques input\r\n ques.input = this.inpValue;\r\n }\r\n\r\n ngOnInit() {\r\n this.deviceInfo = this.deviceService.getDeviceInfo();\r\n this.route.queryParams.subscribe((params: Params) => {\r\n if (params['id']) {\r\n this.individualBookButton = true;\r\n }else if(params['bookletId']){\r\n this.individualBookButton = false;\r\n }\r\n });\r\n this.inpValue = \"\";\r\n this.selectedMeridiem = \"AM\";\r\n this.processQB();\r\n //console.log(localStorage.getItem('address'));\r\n if(localStorage.getItem(\"address\")){\r\n this.localaddress = JSON.parse(localStorage.getItem(\"address\"));\r\n //console.log('Length='+this.localaddress.length);\r\n this.allAddress=this.localaddress.filter((item, index) => {\r\n if (this.localaddress.indexOf(item) == index){\r\n return item;\r\n }\r\n });\r\n this.allAddress.sort(function(a, b){\r\n return a.zipCode - b.zipCode\r\n });\r\n } else if(this.deviceInfo.os === 'iOS'){\r\n let openRequest = indexedDB.open(\"addressDB\");\r\n openRequest.onsuccess = (event) => {\r\n const targetNew = event.target as IDBRequest;\r\n let dbNew = targetNew.result;\r\n const requestNew = dbNew.transaction('addressTable')\r\n .objectStore('addressTable')\r\n .get(1);\r\n requestNew.onsuccess = ()=> {\r\n const tempVar = requestNew.result;\r\n this.localaddress = JSON.parse(tempVar.wholeAddressString);\r\n this.allAddress=this.localaddress.filter((item, index) => {\r\n if (this.localaddress.indexOf(item) == index){\r\n return item;\r\n }\r\n });\r\n this.allAddress.sort(function(a, b){\r\n return a.zipCode - b.zipCode\r\n });\r\n }\r\n };\r\n }\r\n }\r\n// call when bookId changes\r\n ngOnChanges(simplechanges: SimpleChanges) {\r\n if(simplechanges['qbId']){\r\n this.processQB();\r\n }\r\n }\r\n // RS 09DEC24 Changed keys\r\n date_TimeMap() {\r\n this.selectedhourMap.set(this.questionItem.id, this.selectedHour);\r\n this.selectedminuteMap.set(this.questionItem.id, this.selectedMinute);\r\n }\r\n \r\n day() {\r\n this.myDatePickerOptions = {\r\n dateFormat: \"dd.mm.yyyy\",\r\n sunHighlight: false,\r\n disableDateRanges: [],\r\n showClearDateBtn: false,\r\n disableSince: {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n },\r\n disableUntil: {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n },\r\n showTodayBtn: false,\r\n dayLabels: {\r\n su: \"Dom\",\r\n mo: \"Lun\",\r\n tu: \"Mar\",\r\n we: \"Mié\",\r\n th: \"Jue\",\r\n fr: \"Vie\",\r\n sa: \"Sáb\",\r\n },\r\n monthLabels: {\r\n 1: \"Ene\",\r\n 2: \"Feb\",\r\n 3: \"Mar\",\r\n 4: \"Abr\",\r\n 5: \"Mayo\",\r\n 6: \"Jun\",\r\n 7: \"Jul\",\r\n 8: \"Ago\",\r\n 9: \"Sep\",\r\n 10: \"Oct\",\r\n 11: \"Nov\",\r\n 12: \"Dic\",\r\n },\r\n };\r\n }\r\n \r\n change() {\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n if (this.selDate === null || this.inpValue.length === 0) {\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"width:100%;border: 1px solid red\");\r\n } else {\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"border: 1px solid #87be1c ;width:100%\");\r\n }\r\n }\r\n \r\n processQB() {\r\n \r\n console.log('ProcessQB');\r\n //this.qbItem\r\n console.log(this.qbId);\r\n //console.log('Version in process is 8bf11efa7f91a391d957bf6b5078edc7e656b67c');\r\n if (this.qbId) {\r\n if (this.qbId.length == 18) {\r\n this.readQuestionBook(this.qbId);\r\n } else {\r\n //console.log('Inside the else part');\r\n //console.log('Setting the Question Directly for testing');\r\n this.questionItem = DTQUESTION;\r\n this.qbItem = TESTQB;\r\n this.processQuestion();\r\n }\r\n }\r\n }\r\n \r\n trimLastDummy(input: string) {\r\n return (input = input.substring(0, input.length - 6));\r\n }\r\n \r\n getProperTime(def: string, input: string) {\r\n return input === \"\" ? def : input;\r\n }\r\n // RS 09DEC24 Changed keys\r\n //Summary Question Clickable Logic\r\n handleEditClick(value: string) {\r\n this.backicon = false;\r\n if (this.abItem?.status == \"Pending\") {\r\n if (value == null) {\r\n return;\r\n }\r\n this.readQuestion(value);\r\n //console.log(' in side summaryopen'+ this.summary.length);\r\n \r\n //Assign question stack length from summary part\r\n var arrayLength = this.questionStack.length;\r\n var lengthValue = this.questionStack.indexOf(value);\r\n \r\n for (let i = arrayLength; i > lengthValue; i--) {\r\n this.questionStack.pop();\r\n }\r\n if (this.qbItem.progressBar === true) {\r\n var arrayLength1 = this.questionName.length;\r\n for (let j = arrayLength1; j > lengthValue; j--) {\r\n this.questionName.pop();\r\n }\r\n }\r\n this.summary = [];\r\n this.summaryData = [];\r\n }\r\n }\r\n \r\n handleNextClick() {\r\n // this.sharedService.showLoader();\r\n this.spinner.show(this.spinnerName);\r\n this.isButtonDisabled = true;\r\n this.backButtonFlag = false;\r\n this.AnswerSave();\r\n }\r\n \r\n AnswerSave(){\r\n //this.updateProgress();\r\n if (this.currentQuestionId === null) {\r\n return;\r\n }\r\n var questionTxt='';\r\n this.clearError();\r\n this.handleEvent.emit(this.qbItem.nextTrackingId);\r\n this.recordId = null;\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n // MR 30JAN24 - Added Condition for this.questionItem.Questions__r (Book Question and Non-Book)\r\n if(this.questionItem.subQuestions) {\r\n // Create an array of objects to store the values\r\n for (var i=0; i<this.questionItem.subQuestions.length;i++) {\r\n if(this.questionItem.subQuestions[i].questionText){\r\n var questionText = this.questionItem.subQuestions[i].questionText.replace(/<[^>]+>/g, ''); // Remove HTML tags from the questionText value\r\n }else{\r\n questionText = 'undefined';\r\n }\r\n const input = this.questionItem.subQuestions[i].input;\r\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\r\n this.summaryData.push(obj); // Add the object to the data array\r\n }\r\n } else {\r\n var questionText = this.questionItem.questionText.replace(/<[^>]+>/g, '');\r\n const input = this.questionItem.input;\r\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\r\n this.summaryData.push(obj); // Add the object to the data array\r\n }\r\n \r\n var typ = cQuestion.type;\r\n // this.sques += cQuestion.question + '@@##$$';\r\n var quesValue = cQuestion.questionText;\r\n var mailformat =\r\n \"^[^.][a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+[^.]@[^-][a-zA-Z0-9.-]+[^-].[a-zA-Z]{2,}$\";\r\n \r\n // Process Inputs\r\n if (this.checkboxFlag) {\r\n this.inpValue = \"\";\r\n // Save all the selected options in the inpValue\r\n for (var ov of this.optionValues.filter((item) => item.checked)) {\r\n this.inpValue += ov.value + \"@@##$$\";\r\n this.recordId = ov.nextQuestion;\r\n }\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n } else if (this.emailFlag) {\r\n if (this.inpValue && this.inpValue.match(mailformat)) {\r\n this.recordId = this.questionItem.nextQuestion;\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.alphanumericFlag) {\r\n var isNotValidAccNum = this.isNotValidAccNumber(this.inpValue);\r\n if (isNotValidAccNum) {\r\n this.notValidAccNum = true;\r\n this.recordId = this.questionItem.nextQuestion;\r\n return;\r\n }\r\n this.notValidAccNum = false;\r\n } else if (this.numberFlag) {\r\n if (this.inpValue) {\r\n this.recordId = this.questionItem.nextQuestion;\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.bookFlag) {\r\n this.inpValue = \"\";\r\n var hasMissingInput = false;\r\n for (var item of this.questionItem.subQuestions) {\r\n var count = 0;\r\n \r\n if(item.type == \"Date\" || item.type == \"Time\") {\r\n //this one\r\n this.change();\r\n if(item.type == \"Date\"){\r\n //console.log('Inside the date type cond = '+this.selectDate);\r\n this.inpValue = this.selectDate;\r\n //console.log(this.inpValue)\r\n //console.log(this.selectDate)\r\n \r\n }\r\n if(item.type == \"Time\"){\r\n //console.log(this.selectedHour+this.selectedMeridiem+this.selectedMinute)\r\n \r\n if (this.questionItem.x24Hours === false) {\r\n this.questionItem.input =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute + \" PM\";\r\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\r\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\r\n }\r\n if (this.qbItem.progressBar) {\r\n if(this.selectDate){\r\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\r\n }else{\r\n this.inpValue = \" \"+this.questionItem.input;\r\n }\r\n } else {\r\n if(this.selectDate){\r\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\r\n }else{\r\n this.inpValue = \" \"+this.questionItem.input;\r\n }\r\n \r\n }\r\n }\r\n if (this.questionItem.x24Hours === true) {\r\n this.questionItem.input =\r\n this.selectedHour + \":\" + this.selectedMinute;\r\n if (this.qbItem.progressBar) {\r\n this.inpValue = this.questionItem.input;\r\n } else {\r\n this.inpValue = this.questionItem.input;\r\n }\r\n }\r\n }\r\n // HA 31-JAN-24 Removed the selectHour and selectMinute condition\r\n if (this.selDate === null || this.selDate === undefined || !this.inpValue || !this.selectDate) {\r\n //console.log('Inside the null condition of input');\r\n this.questionItem.error = new ErrorWrapper();\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"width:100%;border-bottom: 1px solid red !important;\");\r\n return;\r\n }\r\n this.date_TimeMap();\r\n }\r\n // HA 31-JAN-24 Added text error condition\r\n if(item.type== \"Text\"){\r\n if (!item.input) {\r\n item.input = \"\";\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n // this.inpValue = item.input; 634\r\n }\r\n \r\n if (\r\n !item.isOptional &&\r\n // ((item.type != \"File\" && !item.input && item.type != 'Date' && item.type != 'Time') ||\r\n // (item.type == \"File\" && this.attachments.length == 0))\r\n (item.type == \"File\" && this.attachments.length == 0)\r\n ) {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n if (item.type == \"Radio\") {\r\n if (!item.input) {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.type == \"Dropdown\") {\r\n if (!item.input) {\r\n item.input = \"\";\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.type == \"Email\") {\r\n if (item.input && item.input.match(mailformat)) {\r\n this.recordId = cQuestion.nextQuestion;\r\n } else {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.type == \"File\" && this.attachments.length > 0) {\r\n for (var attachmentItem of this.attachments) {\r\n this.inpValue +=\r\n attachmentItem.attachmentId +\r\n \"@#$\" +\r\n attachmentItem.attachmentName +\r\n \",\";\r\n if (item.input == this.inpValue) {\r\n this.recordId = cQuestion.nextQuestion;\r\n //console.log('inside' + recordId);\r\n }\r\n }\r\n // this.attachments = [];\r\n } //item.input == this.inpValue;\r\n \r\n this.inpValue += (item.input != undefined ? item.input : \"\") + \"@@##$$\";\r\n questionTxt += item.question + \"@@##$$\";\r\n //console.log('inside book1' + this.inpValue)\r\n }\r\n if (hasMissingInput) {\r\n return;\r\n }\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n questionTxt = questionTxt ? this.trimLastDummy(questionTxt) : questionTxt;\r\n }\r\n else if (this.listFlag) {\r\n this.inpValue = '';\r\n var hasMissingInput = false;\r\n if(this.localSubQMap.has(this.questionItem.id)){\r\n this.subAnsMap = new Map();\r\n for (var localQues of this.localSubQMap.get(this.questionItem.id)) {\r\n if(!localQues.input) {\r\n localQues.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n if(!this.subAnsMap.has(localQues.id)){\r\n // console.log('inside ans map')\r\n this.subAnsMap.set(localQues.id,localQues.input);\r\n } else {\r\n // console.log('inside ans map else')\r\n this.subAnsMap.set(localQues.id,this.subAnsMap.get(localQues.id) + '$$@@##'+localQues.input);\r\n }\r\n }\r\n \r\n if (hasMissingInput) {\r\n //console.log('file two')\r\n return;\r\n }\r\n this.subAnsMap.forEach((value, key) => {\r\n // console.log('inside Map' );\r\n // console.log(value);\r\n this.inpValue += (value != undefined ? value : '') + '@@##$$';\r\n });\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n }\r\n }\r\n else if (this.dropdownFlag) {\r\n if (this.inpValue.length <= 1) {\r\n this.inpValue = \".\";\r\n this.questionItem.error = new ErrorWrapper();\r\n }\r\n } else if (this.dtFlag && this.dateFlag && this.timeFlag) {\r\n //this one\r\n this.change();\r\n if (this.inpValue) {\r\n this.selectedHour = this.getProperTime(\"12\", this.selectedHour);\r\n this.selectedMinute = this.getProperTime(\"00\", this.selectedMinute);\r\n this.selectedMeridiem = this.getProperTime(\"AM\", this.selectedMeridiem);\r\n //console.log(this.inpValue.length);\r\n \r\n if (this.questionItem.x24Hours === false) {\r\n this.questionItem.input =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute + \" PM\";\r\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\r\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\r\n }\r\n if (this.qbItem.progressBar) {\r\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\r\n } else {\r\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\r\n }\r\n }\r\n if (this.questionItem.x24Hours === true) {\r\n this.questionItem.input =\r\n this.selectedHour + \":\" + this.selectedMinute;\r\n if (this.qbItem.progressBar) {\r\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\r\n } else {\r\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\r\n }\r\n }\r\n if (this.qbItem.progressBar) {\r\n //console.log(\"ans => \" + this.inpValue);\r\n var date1: any = this.inpValue.split(\" \");\r\n date1 = date1[0].split(\"/\");\r\n date1 = [date1[2], date1[1], date1[0]].join(\"-\");\r\n date1 = new Date(date1);\r\n //console.log(date1)\r\n var date2: any = this.insuranceStartDate.split(\" \");\r\n date2 = new Date(date2[0]);\r\n //console.log(date2);\r\n if (date1 < date2) {\r\n this.questionItem.error = new ErrorWrapper();\r\n this.questionItem.error.errorMsg =\r\n \"No es posible dar de alta la reclamación debido a que la fecha del incidente es anterior a la fecha de contratación de la póliza\";\r\n //console.log('inside')\r\n return;\r\n }\r\n }\r\n if (this.selDate === null || !this.inpValue) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n this.date_TimeMap();\r\n }\r\n } else if (this.timeFlag && this.dtFlag && !this.dateFlag) {\r\n this.date_TimeMap();\r\n if (this.questionItem.x24Hours === false) {\r\n this.inpValue =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute;\r\n } else {\r\n this.inpValue = this.selectedHour + \":\" + this.selectedMinute;\r\n }\r\n if (this.inpValue.length < 5) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.dateFlag && this.dtFlag && !this.timeFlag) {\r\n this.change();\r\n if (this.inpValue.length < 7 || this.selDate === null) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.fileFlag) {\r\n //console.log('four')\r\n this.inpValue = \"\";\r\n if (this.attachments.length > 0) {\r\n for (var attachmentItem of this.attachments) {\r\n this.inpValue +=\r\n attachmentItem.attachmentId +\r\n \"@#$\" +\r\n attachmentItem.attachmentName +\r\n \",\";\r\n }\r\n //console.log('inside filesss' + this.inpValue);\r\n this.inpValue = this.inpValue.substr(0, this.inpValue.length - 1);\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n }\r\n \r\n // Check for the answer before saving to the DB\r\n if (!this.questionItem.isOptional && !this.inpValue) {\r\n // Show error that the question must be answered\r\n this.questionItem.error = new ErrorWrapper();\r\n // VD disabled\r\n //this.sharedService.hideLoader();\r\n this.spinner.hide(this.spinnerName);\r\n this.isButtonDisabled = false\r\n return;\r\n }\r\n // Save the Answer in the DB\r\n this.answerWrap = new AnswerWrapper();\r\n this.answerWrap.abId = this.abItem.id;\r\n this.answerWrap.quesId = cQuestion.id;\r\n this.answerWrap.quesValue = quesValue;\r\n this.answerWrap.qTyp = typ;\r\n // HA 02FEB24 To display the values in summary using this\r\n this.allInputValues = [];\r\n this.subQuestions.forEach(element => {\r\n var inputValue = {};\r\n inputValue['Id'] = element?.id;\r\n inputValue['type'] = element?.type;\r\n inputValue['referenceField'] = element?.referenceField;\r\n inputValue['questionText'] = element?.questionText;\r\n inputValue['input'] = element?.input;\r\n inputValue ? this.allInputValues.push(inputValue) : this.allInputValues;\r\n });\r\n this.answerWrap.myVal = this.allInputValues;\r\n this.answerWrap.ansValue = this.inpValue;\r\n this.answerWrap.groupText = cQuestion.groupName;\r\n console.log('this.answerWrap.qTyp',this.answerWrap.qTyp);\r\n if(this.answerWrap.qTyp == \"Alphanumeric\"){\r\n this.answerWrap.ansValue = 'ES'+ this.inpValue;\r\n // console.log('Bank condition');\r\n // console.log(this.answerWrap.ansValue);\r\n }\r\n /*if (cQuestion.type == 'Book'){\r\n for (var qb of cQuestion.Questions__r.records){\r\n //console.log(qb.question+'****'+\"@@##$$\")\r\n }\r\n }*/\r\n //this.answerWrap.squesValue = cQuestion.question;\r\n this.questionItem.input = this.inpValue;\r\n // emit the current question with input to parent\r\n let questionAns = {}\r\n questionAns['questionDetail'] = this.questionItem;\r\n questionAns['answerBookDetail'] = this.abItem;\r\n console.log(questionAns);\r\n this.handleQuestion.emit(questionAns);\r\n console.log('questionItem-->');\r\n console.log(this.questionItem);\r\n this.answerWrap.squesValue = questionTxt ? questionTxt : cQuestion.question;\r\n this.saveAnswer();\r\n }\r\n // RS 09DEC24 Changed keys\r\n next() {\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n var typ = cQuestion.type;\r\n // If no error then move to next steps\r\n if (this.questionItem.error) {\r\n return;\r\n }\r\n \r\n this.questionStack.push(cQuestion.id);\r\n // this.questionName.push(cQuestion.Name);\r\n \r\n // CONDITIONAL vs OPTIONONLY & UNCONDITIONAL\r\n // HA 31-JAN-24 Added ternary even in else conditions below\r\n if (cQuestion?.RecordType?.Name == \"CONDITIONAL\") {\r\n for (var cOpt of cQuestion.options) {\r\n // Radio / Data\r\n //console.log('Option => ' + cOpt.value + ' matching with ' + ansVal);\r\n if (cOpt.value == this.inpValue) {\r\n //console.log('Match Found using ' + cOpt.nextQuestion);\r\n if(cOpt.nextQuestion){\r\n this.recordId = cOpt.nextQuestion;\r\n }else {\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n //console.log('conditional record id'+ this.recordId);\r\n }\r\n }\r\n // Could be of type Data and existing value\r\n if (this.recordId && typ == \"Data\") {\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n } else if (cQuestion?.RecordType?.Name == \"OPTIONONLY\") {\r\n // OPTIONONLY logic\r\n this.recordId = cQuestion.nextQuestion;\r\n } else if (cQuestion?.RecordType?.Name == \"UNCONDITIONAL\") {\r\n //Unconditional logic\r\n //console.log(\"inside unconditional\");\r\n //inside Book Type\r\n if (cQuestion.type == \"Book\" && cQuestion.questionNumber !='6') {\r\n //console.log(\"inside book\");\r\n for (let opt of cQuestion.subQuestions) {\r\n //console.log(opt.type);\r\n if (opt.type == \"Dropdown\" || opt.type == \"Radio\") {\r\n for (var opt1 of opt.options) {\r\n if (this.valueName == opt1.value) {\r\n this.recordId =opt1.nextQuestion || cQuestion.nextQuestion;\r\n } else {\r\n //console.log('Else'+this.recordId)\r\n this.recordId = cQuestion.nextQuestion;\r\n \r\n }\r\n }\r\n } else {\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n }\r\n }\r\n else if(cQuestion.type == \"Book\" && cQuestion.questionNumber =='6' ) {\r\n for (let opt of cQuestion.subQuestions) {\r\n if (opt.type == \"Dropdown\" || opt.type == \"Radio\"){\r\n for (var opt1 of opt.options) {\r\n if (this.valueName == opt1.value) {\r\n this.recordId = opt1.nextQuestion;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n else {\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n }\r\n // HA 31-JAN-24 Added else to keep the assignment default\r\n else{\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n \r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n \r\n // Calling the progres bar update function\r\n this.answerCount++;\r\n this.updateProgress();\r\n \r\n \r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n \r\n if (this.recordId) {\r\n this.readQuestion(this.recordId);\r\n this.pop = true;\r\n } else {\r\n this.pop = false;\r\n // VD disabled\r\n // this.sharedService.hideLoader();\r\n this.spinner.hide(this.spinnerName);\r\n this.isButtonDisabled = false;\r\n // Reset the Variables\r\n this.inpValue = \"\";\r\n this.answerWrap = new AnswerWrapper();\r\n this.optionValues = [];\r\n this.subQuestions = [];\r\n \r\n this.resetFlag(typ);\r\n this.questionItem = null;\r\n \r\n // Show Summary\r\n for (var q of this.questionStack) {\r\n //console.log('Handling Question => ' + q);\r\n var ansWrap = this.answerMap.get(q);\r\n if (ansWrap) {\r\n //console.log('Handling Answer for ' + ansWrap.quesId + ' of type ' + ansWrap.qTyp);\r\n if(ansWrap.qTyp == 'File' || ansWrap.qTyp == 'Book'||ansWrap.qTyp == 'List' || ansWrap.qTyp == 'Checkbox'){\r\n var newStr = '';\r\n for (var ansStr of ansWrap.ansValue.split('@@##$$')) {\r\n for (var ansStr1 of ansStr.split('$$@@##')) {\r\n // if(ansStr1.includes('answerString')){ //remove the answer string\r\n // const withoutAnswerString = ansStr1.replace(\"answerString: \", \"\");\r\n // ansStr1 = withoutAnswerString;\r\n // }\r\n if (ansStr1.length > 0) {\r\n if (newStr.length == 0) {\r\n newStr = ansStr1;\r\n } else {\r\n newStr += '; ' + ansStr1; //comma(,) changed as semi colon(;) because of address contains comma(,)\r\n if(this.attachmentsMap.has(ansWrap.quesId)){\r\n for(var att of this.attachmentsMap.get(ansWrap.quesId)){\r\n newStr = newStr.replace(att.attachmentId,'');\r\n }\r\n }\r\n newStr = (newStr.replace(',,',', ')).replace(', ,',', ');\r\n newStr = newStr.startsWith(',') ? newStr.substring(1, newStr.length) : (newStr.endsWith(',') ? newStr.substring(0, newStr.length - 1) : newStr);\r\n }\r\n }\r\n }\r\n }\r\n ansWrap.ansValue = newStr;\r\n ansWrap.myVal = this.allInputValues;\r\n }\r\n // VD Check if the summary already contains an entry for the same quesId\r\n const existingAnsWrap = this.summary.find(item => item.quesId === ansWrap.quesId);\r\n if (existingAnsWrap) {\r\n // If it exists, update the ansValue and myVal\r\n existingAnsWrap.ansValue = ansWrap.ansValue;\r\n existingAnsWrap.myVal = ansWrap.myVal;\r\n } else {\r\n // If it doesn't exist, push the ansWrap to the summary array\r\n this.summary.push(ansWrap);\r\n }\r\n this.backicon = true;\r\n }\r\n }\r\n }\r\n }\r\n \r\n getText(value) {\r\n var doc = new DOMParser().parseFromString(value, \"text/html\");\r\n //console.log( doc.documentElement.textContent);\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n doc.documentElement.textContent\r\n );\r\n }\r\n \r\n handleBackClick() {\r\n this.back = true;\r\n if (this.pop === true) {\r\n this.questionName.pop();\r\n }\r\n this.handleEvent.emit(this.qbItem.backTrackingId);\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n if(cQuestion.questionNumber =='1'){\r\n this.handleEvent.emit(this.qbItem.back);\r\n }\r\n \r\n \r\n this.answerCount--;\r\n this.updateProgress();\r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n \r\n if (this.summary) {\r\n //console.log('summary true');\r\n this.summary = [];\r\n }\r\n if(this.summaryData){\r\n this.summaryData =[];\r\n }\r\n \r\n // Read the previous question from DB\r\n // VD disabled\r\n // this.sharedService.showLoader();\r\n this.spinner.show(this.spinnerName);\r\n this.isButtonDisabled = true;\r\n this.readQuestion(this.questionStack.pop());\r\n //console.log(this.questionStack);\r\n }\r\n \r\n handleBackClickNew() {\r\n this.handleEvent.emit(this.qbItem.edit);\r\n }\r\n \r\n //updating status once Q&A completed.\r\n \r\n private updateAnswerBook = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"AnswerBook\", \"Update\", uuid],\r\n // this.successupdateAB,\r\n // this.failureupdateAB\r\n // );\r\n let paramMap = { createAnswerBookFlag: false };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('AnswerBook','Update',uuid,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log('updated succussfully');\r\n console.log(data);\r\n this.successupdateAB(JSON.parse(data))\r\n },(error) => {\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n // VD 31NOV24 param changes with new method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n let para = {\r\n dataType: \"AnswerBook\",\r\n operation: \"Update\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n // VD 12Jun24 - translation changes\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para)],\r\n this.successupdateAB,\r\n this.failureupdateAB\r\n );\r\n }\r\n }\r\n \r\n private successupdateAB = (response) => {\r\n console.log(response);\r\n let data = response;\r\n if(data){\r\n this.handleSubmit.emit(data);\r\n this.abItem.status = \"Completed\";\r\n this.deleteAnswers(data.AnswerBook)\r\n }\r\n };\r\n \r\n // VD for delete answers\r\n deleteAnswers(answerbook){\r\n if(this.serv == \"api\"){\r\n if(answerbook && answerbook.status == 'Completed'){\r\n const ansBookId = answerbook.id;\r\n let paramMap = { createAnswerBookFlag: false };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('AnswerBook','delete',ansBookId,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log(data);\r\n this.successDeleteAB(JSON.parse(data))\r\n },(error) => {\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n }\r\n }\r\n }\r\n // VD for delete answers\r\n private successDeleteAB = (response) => {\r\n console.log(response);\r\n if(response.status == 'success'){\r\n console.log(response.message);\r\n }else {\r\n console.error('error', response.message);\r\n }\r\n }\r\n\r\n private failureupdateAB = (response) => {\r\n //console.log('status failed')\r\n };\r\n\r\n private readQuestionBook = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"QuestionBook\", \"read\", uuid],\r\n // this.successReadBook,\r\n // this.failureReadBook\r\n // );\r\n //this.sharedService.showLoader();\r\n this.spinner.show(this.spinnerName);\r\n let paramMap = { createAnswerBookFlag: true };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('QuestionBook','read',uuid,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n // this.sharedService.hideLoader();\r\n // this.spinner.hide(this.spinnerName);\r\n // VD disabled\r\n this.isButtonDisabled = false;\r\n console.log(data);\r\n // this.sharedService.hide();\r\n this.successReadBook(JSON.parse(data))\r\n },(error) => {\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // MR 30JAN24 - Passing flag from NGNXT\r\n let paramMap = { createAnswerBookFlag: true };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n // VD 31NOV24 param changes with new method\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n let para1 = {\r\n dataType: \"QuestionBook\",\r\n operation: \"read\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n // , JSON.stringify(paramMap)\r\n// VD 12Jun24 - translation changes\r\n this.sfService.remoteAction(\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n \"NxtController.processData\",\r\n [JSON.stringify(para1)],\r\n this.successReadBook,\r\n this.failureReadBook\r\n );\r\n }\r\n }\r\n private successReadBook = (response) => {\r\n console.log('Inside the successReadBook');\r\n console.log(response);\r\n if(response != null || response != undefined){\r\n this.qbItem = response.questionbook;\r\n this.abItem = response.answerbook;\r\n this.handleBook.emit(response);\r\n\r\n }\r\n // console.log('readingQuestion using ' + this.qbItem);\r\n if (this.abItem?.status == \"Pending\") {\r\n if (\r\n this.abItem.answers == null ||\r\n this.abItem.answers.length == 0\r\n ) {\r\n this.readQuestion(this.qbItem.firstQuestion);\r\n } else {\r\n // Populate the existing answers\r\n var lastQuestionId = \"\";\r\n\r\n for (var ansObject of this.abItem.answers) {\r\n lastQuestionId = ansObject.quesId;\r\n\r\n this.questionStack.push(ansObject.quesId);\r\n\r\n this.answerMap.set(ansObject.quesId, {\r\n quesValue: ansObject.quesValue,\r\n ansValue: ansObject.ansValue,\r\n quesId: ansObject.quesId,\r\n qTyp: ansObject.qTyp,\r\n groupText:ansObject.groupText,\r\n });\r\n\r\n //console.log(this.questionStack)\r\n if (ansObject.qTyp == \"Book\") {\r\n var av1 = ansObject.ansValue.split(\"@@##$$\");\r\n // //console.log(\"book log\");\r\n\r\n // //console.log(\"bookid\" + av1[0]);\r\n this.attachmentsMap.set(ansObject.quesId, [\r\n { attachmentName: av1[1], attachmentId: av1[0] },\r\n ]);\r\n // //console.log(this.attachmentsMap);\r\n } else if (ansObject.qTyp == \"File\") {\r\n // //console.log(\"inside if\");\r\n var attList;\r\n var att;\r\n for (var attVar of ansObject.ansValue.split(\",\")) {\r\n var attIdName = attVar.split(\"@@##$$\");\r\n att.attachmentName = attIdName[1];\r\n att.attachmentId = attIdName[0];\r\n attList.push(att);\r\n }\r\n this.attachmentsMap.set(ansObject.quesId, attList);\r\n // //console.log(this.attachmentsMap);\r\n }\r\n }\r\n\r\n this.questionStack.pop();\r\n //console.log(this.answerMap);\r\n // Read the last answered question\r\n this.readQuestion(lastQuestionId);\r\n }\r\n } else if (this.abItem?.status == \"Completed\") {\r\n this.handleEvent.emit(\"Summaryupdated\");\r\n this.spinner.hide(this.spinnerName);\r\n // Temporary Fix for duplicate answers on the summary.\r\n this.summary = [];\r\n this.percent = 100;\r\n this.progressStyle = \"100%\";\r\n if(this.serv != 'api'){\r\n // VD 31NOV24 wrapper changes\r\n for (var answer of this.abItem.answers) {\r\n var answers = {};\r\n if (answer.qTyp == \"File\") {\r\n var files = \"\";\r\n var fIndex = 0;\r\n var fileList = answer.ansValue.split(\",\");\r\n for (var fileIdName of fileList) {\r\n var fileName = fileIdName.split(\"@#$\");\r\n if (fIndex == 0) {\r\n files = fileName[1];\r\n } else {\r\n files = files + \" ,\" + fileName[1];\r\n }\r\n fIndex++;\r\n }\r\n\r\n answers = {\r\n groupText:answer.groupText,\r\n quesValue: answer.quesValue,\r\n ansValue: files,\r\n };\r\n // this.summary.push(answers);\r\n } else if (answer.qTyp == \"Book\") {\r\n /* var quesNo=0;\r\n if(answer.ansValue.includes(\"@@##$$\")){\r\n //console.log('line 1223');\r\n for (var bqAnswerValue of answer.ansValue.split(\"@@##$$\")) {\r\n var quesValue=answer.questionText.split(\"@@##$$\");\r\n answers = {};\r\n answers = {\r\n // groupText:answer.questionText,\r\n quesValue: \"&lt;p&gt;\"+ quesValue[quesNo]+\"&lt;p&gt;\",\r\n ansValue: bqAnswerValue,\r\n };\r\n quesNo++;\r\n this.summary.push(answers);\r\n }\r\n }*/\r\n if(answer.ansValue.includes(\"@@##$$\")){\r\n var answervalues = answer.ansValue.split(\"@@##$$\");\r\n //console.log('value')\r\n answers = {\r\n //groupText:answer.groupText,\r\n quesValue: answer.quesValue,\r\n ansValue: answervalues,\r\n };\r\n //console.log(answers)\r\n // this.summary.push(answers);\r\n }\r\n else{\r\n answers = {\r\n //groupText:answer.groupText,\r\n quesValue: answer.quesValue,\r\n ansValue: answer.ansValue,\r\n };\r\n // this.summary.push(answers);\r\n }\r\n } else {\r\n // var ans1 = answer.ansValue.split(\"@@##$$\");\r\n answers = {\r\n //groupText:answer.groupText,\r\n quesValue: answer.quesValue,\r\n ansValue: answer.ansValue,\r\n };\r\n // this.summary.push(answers);\r\n }\r\n }\r\n }\r\n\r\n }\r\n };\r\n\r\n private failureReadBook = (response) => {\r\n console.log('Inside the failureReadBook');\r\n console.log(response);\r\n };\r\n\r\n private readAnswerbook = (uuid: string) => {\r\n if(this.serv = \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"AnswerBook\", \"read\", uuid],\r\n this.successAnswerBookRead,\r\n this.failureAnswerBookRead\r\n );\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 31NOV24 param changes with new method\r\n let para2 = {\r\n dataType: \"AnswerBook\",\r\n operation: \"read\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n// VD 12Jun24 - translation changes\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para2)],\r\n this.successAnswerBookRead,\r\n this.failureAnswerBookRead\r\n );\r\n }\r\n }\r\n\r\n\r\n private successAnswerBookRead = (response) => {\r\n if (this.abItem?.status == \"Completed\") {\r\n for (var answer of this.abItem.answers) {\r\n var av = answer.ansValue.split(\"@@##$$\");\r\n var answers = { quesValue: answer.quesValue, ansValue: av, groupText:answer.groupText };\r\n //console.log(answers)\r\n this.summary.push(answers);\r\n }\r\n this.handleEvent.emit(\"Summaryupdated\");\r\n }\r\n };\r\n\r\n private failureAnswerBookRead = (response) => {\r\n //console.log('inside failureread');\r\n //console.log(response);\r\n };\r\n\r\n private readQuestion = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"Question\", \"read\", uuid],\r\n // this.successRead,\r\n // this.failureRead\r\n // );\r\n //this.sharedService.showLoader();\r\n let paramMap = { createAnswerBookFlag: true };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('Question','read',uuid,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n // this.sharedService.hideLoader();\r\n this.spinner.hide(this.spinnerName);\r\n // VD disabled\r\n this.isButtonDisabled = false;\r\n console.log('data came sucessfully');\r\n console.log(data);\r\n this.successRead(JSON.parse(data))\r\n },(error) => {\r\n //this.sharedService.hideLoader();\r\n this.spinner.hide(this.spinnerName);\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n // // VD 15FEB24 - make createAnswerBookFlag false only\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 31NOV24 param changes with new method\r\n let para2 = {\r\n dataType: \"Question\",\r\n operation: \"read\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n this.sfService.remoteAction(\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n \"NxtController.processData\",\r\n [JSON.stringify(para2)],\r\n this.successRead,\r\n this.failureRead\r\n );\r\n }\r\n }\r\n\r\n private successRead = (response) => {\r\n this.spinner.hide(this.spinnerName);\r\n // VD disabled\r\n this.isButtonDisabled = false;\r\n console.log('Inside the successRead');\r\n console.log(response);\r\n // HA 02FEB24 For testing for used this and in future it can be used to test with static data\r\n // var ab = ['first','last','123','12-12-2000','22','Male','12 cross 1','EmContact','98765','A','Single'];\r\n // for(const [index,item] of response.question.subQuestions.entries()){\r\n // item.input = ab[index];\r\n // }\r\n // console.log(this.questionItem);\r\n // Reset the Variables\r\n\r\n if (this.questionItem) {\r\n this.inpValue = \"\";\r\n this.answerWrap = new AnswerWrapper();\r\n this.optionValues = [];\r\n this.subQuestions = [];\r\n this.resetFlag(this.questionItem.type);\r\n }\r\n this.questionItem = response.question;\r\n // console.log(this.questionItem);\r\n\r\n if(this.questionItem.type === 'Alphanumeric'){\r\n this.splCCBackClick = true;\r\n }\r\n\r\n this.currentQuestionId = this.questionItem.id;\r\n this.handlePage.emit(this.questionItem.trackingId);\r\n // Handle the subQuestion options\r\n if (response.sqOptions) {\r\n //var newRecords = [];\r\n for (var q of this.questionItem.subQuestions) {\r\n //console.log(q.Name);\r\n var sq = response.sqOptions[q.id];\r\n if (sq) {\r\n //console.log('found options for subquestion ' + q.Name);\r\n if (!q.options) {\r\n q.options = sq.options;\r\n }\r\n }\r\n }\r\n }\r\n this.processQuestion();\r\n this.innerhtml = this.sanitizer.bypassSecurityTrustHtml(\r\n this.questionItem.additionalRichContent\r\n );\r\n this.trackId();\r\n };\r\n\r\n trackId() {\r\n var qtrackId = this.questionItem.trackingId;\r\n //console.log('trackId-question'+qtrackId);\r\n }\r\n\r\n private failureRead = (response) => {\r\n //console.log('inside failureread');\r\n //console.log(response);\r\n };\r\n\r\n private saveAnswer = () => {\r\n // Set the Answer Number based on the Question Stack Length\r\n if (this.inpValue != \".\") {\r\n this.currentQuestionId = null;\r\n }\r\n this.answerWrap.ansNumber = this.questionStack.length + 1;\r\n\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\r\n // this.successSave,\r\n // this.failureSave\r\n // );\r\n let paramMap = { createAnswerBookFlag: false };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('Answer','create',JSON.stringify(this.answerWrap),JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log('data came sucessfully');\r\n console.log(data);\r\n this.successSave(JSON.parse(data))\r\n },(error) => {\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 31NOV24 param changes with new method\r\n let para3 = {\r\n dataType: \"Answer\",\r\n operation: \"create\",\r\n param1: JSON.stringify(this.answerWrap),\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n// VD 12Jun24 - translation changes\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para3)],\r\n this.successSave,\r\n this.failureSave\r\n );\r\n }\r\n };\r\n\r\n htmlDecode(input) {\r\n var doc = new DOMParser().parseFromString(input, \"text/html\");\r\n return doc.documentElement.textContent;\r\n }\r\n\r\n private successSave = (response) => {\r\n if (response.status == \"success\") {\r\n //this.abItem = response.answerbook;\r\n this.answerMap.set(response.answer.quesId, response.answer);\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n this.questionItem.error.errorMsg = response.error.errorMsg;\r\n }\r\n if(!this.backButtonFlag){\r\n this.next();\r\n }\r\n };\r\n\r\n private failureSave = (response) => {\r\n //console.log('inside failureSave');\r\n //console.log(response);\r\n };\r\n\r\n private processQuestion = () => {\r\n // console.log('Inside the processQuestion');\r\n // console.log('splCCBackClick = '+this.splCCBackClick);\r\n // console.log(this.questionStack);\r\n //console.log(this.questionItem);\r\n this.pop = true;\r\n\r\n // if(!this.back){\r\n // this.questionName.push(this.questionItem.Name)\r\n // }\r\n\r\n if (this.qbItem.progressBar === true) {\r\n if (!this.back) {\r\n this.questionName.push(this.questionItem.Name);\r\n }\r\n this.back = false;\r\n if (this.questionName[0] === this.questionName[1]) {\r\n this.questionName.pop();\r\n }\r\n\r\n this.currentName = this.questionItem.Name;\r\n this.pathquestion = this.questionName.indexOf(this.currentName);\r\n this.possibilities = this.qbItem.possibilities;\r\n }\r\n\r\n this.myDatePickerOptions;\r\n this.day();\r\n //console.log('processing question ' + this.questionItem.Name + ' existing answers are ' + this.answerMap.size); // => ' + JSON.stringify(this.questionItem));\r\n\r\n // Set the Flags to show right fields\r\n this.setFlag(this.questionItem.type);\r\n //console.log('After the setFlag method dtFlag = '+this.dtFlag);\r\n\r\n // Check the existing answer from answerMap\r\n if (this.answerMap.has(this.questionItem.id)) {\r\n // //console.log(\"existing answer found for this.questionItem.Name\");\r\n var eAnswer = this.answerMap.get(this.questionItem.id);\r\n // Get the existing answer from the Map\r\n this.inpValue = eAnswer.ansValue;\r\n //console.log('inpValue has been set to ' + this.inpValue);\r\n if (this.attachmentsMap.has(this.questionItem.id)) {\r\n this.attachments = this.attachmentsMap.get(this.questionItem.id);\r\n }\r\n } else {\r\n //console.log('inside removing attachment array');\r\n this.attachments = [];\r\n }\r\n // console.log(this.inpValue);\r\n if(this.splCCBackClick && this.inpValue && this.inpValue.includes('ES')){\r\n // console.log('Inside the if cond');\r\n this.splCCBackClick = false;\r\n this.inpValue = this.inpValue.replace('ES','');\r\n }\r\n\r\n if (this.checkboxFlag) {\r\n // Set the Options for Checkbox\r\n this.setOptions(this.questionItem.options);\r\n } else if (this.bookFlag) {\r\n //console.log('Inise the expected bookFlag cond');\r\n //console.log('dtFlag = '+this.dtFlag);\r\n// HA 20FEB24 Label Fix\r\n this.questionItem.subQuestions.forEach(element => {\r\n element.questionText = element.questionText.replace(/<[^>]+>/g, '');\r\n });\r\n this.setSubQuestions(this.questionItem.subQuestions);\r\n } else if (this.listFlag) {\r\n // Set the LocalSubQuestions\r\n // console.log('inside list flag');\r\n // console.log(this.questionItem.Questions__r.records);\r\n // console.log(this.abItem.Questions__r.records);\r\n if(!this.localSubQMap.has(this.questionItem.id)){\r\n this.setSubQuestions(this.questionItem.subQuestions);\r\n }\r\n } else if (this.dtFlag) {\r\n //console.log('Inise the unexpected dtFlag cond');\r\n this.selectedHour = \"\";\r\n this.selectedMinute = \"\";\r\n this.selDate = \"\";\r\n // 2021-5-16T00:00\r\n if (this.dateMap.has(this.questionItem.id)) {\r\n this.selDate = this.dateMap.get(this.questionItem.id);\r\n }\r\n if (this.selectedhourMap.has(this.questionItem.id)) {\r\n this.selectedHour = this.selectedhourMap.get(this.questionItem.id);\r\n }\r\n if (this.selectedminuteMap.has(this.questionItem.id)) {\r\n this.selectedMinute = this.selectedminuteMap.get(this.questionItem.id);\r\n }\r\n if (this.questionItem.x24Hours === true) {\r\n this.hours.push(\r\n \"13\",\r\n \"14\",\r\n \"15\",\r\n \"16\",\r\n \"17\",\r\n \"18\",\r\n \"19\",\r\n \"20\",\r\n \"21\",\r\n \"22\",\r\n \"23\",\r\n \"00\"\r\n );\r\n }\r\n if (this.questionItem.x24Hours === false) {\r\n this.hours = this.hours.slice(0, 12);\r\n }\r\n if (this.dtFlag && this.inpValue) {\r\n var dtVal = this.inpValue.split(\"T\");\r\n var dtval0 = this.inpValue.split(\" \");\r\n this.inpValue = dtVal[0];\r\n this.inpValue = dtval0[0];\r\n\r\n this.questionItem.input = dtVal[1];\r\n this.questionItem.input = dtval0[1];\r\n }\r\n if (\r\n this.questionItem.isDateBackward ||\r\n this.questionItem.isDateForward\r\n ) {\r\n if (this.questionItem.isDateBackward === true) {\r\n this.myDatePickerOptions.disableSince = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate() + 1,\r\n };\r\n }\r\n if (this.questionItem.isDateForward === true) {\r\n this.myDatePickerOptions.disableUntil = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate(),\r\n };\r\n }\r\n }\r\n } else if (this.fileFlag) {\r\n this.fileUI();\r\n // logic\r\n this.allowedFileExtension =\r\n this.questionItem.allowedFileExtensions?.split(\";\");\r\n //console.log(this.allowedFileExtension);\r\n }\r\n\r\n if (this.qbItem.progressBar === true) {\r\n this.updateProgress();\r\n }\r\n };\r\n\r\n setFlag(typ) {\r\n //console.log('inside setFlag for ' + typ);\r\n\r\n if (typ) {\r\n // Set the Flags\r\n if (typ == \"Text\") {\r\n this.textFlag = true;\r\n\r\n //this.numberFlag = true;\r\n } else if (typ == \"Number\") {\r\n this.numberFlag = true;\r\n } else if (typ == \"AlphaNumeric\") {\r\n this.alphanumericFlag = true;\r\n /*if(this.inpValue.length === 0){\r\n this.inpValue='ES'\r\n }*/\r\n } else if (typ == \"Email\") {\r\n this.emailFlag = true;\r\n } else if (typ == \"File\") {\r\n this.fileFlag = true;\r\n } else if (typ == \"DateTime\") {\r\n this.dtFlag = true;\r\n this.timeFlag = true;\r\n this.dateFlag = true;\r\n } else if (typ == \"TextArea\") {\r\n this.taFlag = true;\r\n } else if (typ == \"Radio\") {\r\n this.radioFlag = true;\r\n } \r\n // else if (typ == \"RichTextArea\") {\r\n // this.rtaFlag = true;\r\n // } \r\n else if (typ == \"Dropdown\") {\r\n this.dropdownFlag = true;\r\n } else if (typ == \"Checkbox\") {\r\n this.checkboxFlag = true;\r\n } else if (typ == \"Book\") {\r\n this.bookFlag = true;\r\n }else if (typ == 'List'){\r\n this.listFlag = true;\r\n } else if (typ == \"Time\") {\r\n //console.log('Inside the Time cond');\r\n this.dtFlag = true;\r\n this.timeFlag = true;\r\n //console.log(this.dtFlag);\r\n } else if (typ == \"Date\") {\r\n //console.log('Inside the Date cond');\r\n this.dtFlag = true;\r\n this.dateFlag = true;\r\n //console.log(this.dtFlag);\r\n }\r\n }\r\n }\r\n\r\n resetFlag(typ) {\r\n if (typ) {\r\n // Set the Flags\r\n if (typ == \"Text\") {\r\n this.textFlag = false;\r\n //this.numberFlag = false;\r\n } else if (typ == \"Number\") {\r\n this.numberFlag = false;\r\n } else if (typ == \"Alphanumeric\") {\r\n this.alphanumericFlag = false;\r\n } else if (typ == \"Email\") {\r\n this.emailFlag = false;\r\n } else if (typ == \"File\") {\r\n this.fileFlag = false;\r\n } \r\n // else if (typ == \"RichTextArea\") {\r\n // this.rtaFlag = false;\r\n // } \r\n else if (typ == \"DateTime\") {\r\n this.dtFlag = false;\r\n this.dateFlag = false;\r\n this.timeFlag = false;\r\n } else if (typ == \"TextArea\") {\r\n this.taFlag = false;\r\n } else if (typ == \"Radio\") {\r\n this.radioFlag = false;\r\n } else if (typ == \"Dropdown\") {\r\n this.dropdownFlag = false;\r\n } else if (typ == \"Checkbox\") {\r\n this.checkboxFlag = false;\r\n } else if (typ == \"Book\") {\r\n this.bookFlag = false;\r\n } else if (typ == 'List'){\r\n this.listFlag = false;\r\n } else if (typ == \"Time\") {\r\n this.dtFlag = false;\r\n this.timeFlag = false;\r\n } else if (typ == \"Date\") {\r\n this.dtFlag = false;\r\n this.dateFlag = false;\r\n }\r\n }\r\n }\r\n\r\n setOptions(records) {\r\n for (var opt of records) {\r\n var ov = new OptionValue();\r\n ov.id = opt.id;\r\n ov.Name = opt.Name;\r\n ov.value = opt.value;\r\n ov.nextQuestion = opt.nextQuestion;\r\n ov.checked = false;\r\n\r\n if (\r\n this.inpValue &&\r\n this.inpValue.split(\"@@##$$\").includes(opt.value)\r\n ) {\r\n ov.checked = true;\r\n }\r\n\r\n this.optionValues.push(ov);\r\n }\r\n }\r\n\r\n // Capture and Process Child Event\r\n childEventCapture(event, ques?:any) {\r\n console.log('inside childEventCapture ');\r\n console.log(event);\r\n this.changeService.announceChange(event);\r\n // HA 31-JAN-24 Assign values to dropdown question\r\n ques.input = event?.valueObj;\r\n //ques.input = event; // here when using the ng-select got event as value\r\n }\r\n\r\n// RS 06JAN25\r\n// for richtext\r\n handleRichTextChange(value: string) {\r\n // this.inpValue = value;\r\n // this.clearError(); \r\n console.log('Rich Text Change Captured:', value);\r\n}\r\n\r\n setSubQuestions(records) {\r\n // console.log('inside setSubQuestions');\r\n // console.log(records);\r\n var qaMap = new Map();\r\n // console.log(this.inpValue);\r\n if (this.inpValue) {\r\n var aIndex = 0;\r\n // search changed as semi colon because of address contains comma\r\n if ((this.inpValue.search(\"; \") == -1)) {\r\n // const withoutAnswerString = this.inpValue.replace(\"answerString: \", \"\"); //remove the answer string\r\n // this.inpValue = withoutAnswerString;\r\n this.inpValue = this.inpValue + '@@##$$' ;\r\n for (var ansStr of this.inpValue.split(\"@@##$$\")) {\r\n aIndex++;\r\n qaMap.set(aIndex, ansStr);\r\n //console.log('Setting the qaMap for ' + aIndex + ' with ' + ansStr);\r\n }\r\n } else {\r\n for (var ansStr of this.inpValue.split(\"; \")) {\r\n aIndex++;\r\n qaMap.set(aIndex, ansStr);\r\n //console.log('Setting the qaMap ' + aIndex + ' with ' + ansStr);\r\n }\r\n }\r\n }\r\n // console.log('after setting values from inpvalue qa map are');\r\n // console.log(qaMap);\r\n\r\n for (var ques of records) {\r\n if (ques.type == \"File\") {\r\n this.valueName1 = ques.allowedFileExtensions;\r\n //console.log(this.valueName1);\r\n }\r\n\r\n var ans = '';\r\n if (qaMap.has(ques.questionNumber)) {\r\n ques.input = qaMap.get(ques.questionNumber);\r\n // console.log('after fetching map values');\r\n // console.log(ques.input);\r\n if(ques.input.indexOf('$$@@##') > 0){\r\n // console.log('answer supposed to be trimmed');\r\n // console.log(ques.input);\r\n ans = ques.input.substring(ques.input.indexOf('$$@@##')+6,ques.input.length);\r\n // console.log(ans);\r\n ques.input = ques.input.substring(0,ques.input.indexOf('$$@@##'));\r\n // console.log(ques.input);\r\n }\r\n }\r\n\r\n if ((ques.type === \"Date\") && (ques.isDateBackward || ques.isDateForward)) {\r\n //console.log('Inside the date backward/forward cond');\r\n if (ques.isDateBackward === true) {\r\n //console.log('Inside the isDateBackward');\r\n this.myDatePickerOptions.disableSince = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate() + 1,\r\n };\r\n }\r\n if (ques.isDateForward === true) {\r\n //console.log('Inside the isDateForward');\r\n this.myDatePickerOptions.disableUntil = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate(),\r\n };\r\n }\r\n //console.log(this.myDatePickerOptions);\r\n }\r\n\r\n this.subQuestions.push(ques);\r\n for(var i=0; i<this.subQuestions.length;i++){\r\n // to show/hide the dependent dropdown only field using the dropDownOnly boolean\r\n if(this.subQuestions[i].size == 4){\r\n this.subQuestions[i].dropDownOnly = true;\r\n }else{\r\n this.subQuestions[i].dropDownOnly = false;\r\n }\r\n }\r\n if(ans != ''){\r\n for(var an of (ans.split('$$@@##'))){\r\n var sQ = new Question();\r\n Object.assign(sQ,ques);\r\n sQ.input = an;\r\n this.subQuestions.push(sQ);\r\n }\r\n }\r\n }\r\n if (this.valueName1 != null && this.valueName1.length > 0) {\r\n this.bookFlagAccept = this.valueName1.split(\";\");\r\n //console.log(this.subQuestions);\r\n }\r\n this.structLocalSubQuestion(null);\r\n // HA 02FEB24 On Edit to display the value usiing this\r\n if(this.allInputValues.length > 0){\r\n this.subQuestions.forEach(element => {\r\n for(let singleInput of this.allInputValues){\r\n if(element.id == singleInput.id){\r\n element.input = singleInput.input;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n optionChange(selValue) {\r\n let radioTrackingId: string = \"\";\r\n for (var opt of this.questionItem.options) {\r\n //console.log('optionChange TrackingId'+opt.trackingId);\r\n if (opt.value == selValue) {\r\n //console.log('inside if'+opt.trackingId)\r\n radioTrackingId = opt.trackingId;\r\n }\r\n }\r\n\r\n this.handleEvent.emit(radioTrackingId);\r\n this.clearError();\r\n // //console.log('inside optionChange using ' + selValue);\r\n\r\n this.inpValue = selValue;\r\n }\r\n\r\n clearError() {\r\n if (this.questionItem.error) {\r\n this.questionItem.error = null;\r\n }\r\n }\r\n\r\n clearLocalSubQuesError(quesId) {\r\n quesId.error = null;\r\n }\r\n\r\n inputValidate(e) {\r\n var keyCode = e.keyCode || e.which;\r\n // Only ASCII character in that range allowed\r\n var ASCIICode = (e.which) ? e.which : e.keyCode;\r\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)){\r\n return false;\r\n }else{\r\n return true;\r\n }\r\n }\r\n\r\n CCOnChange(inpValue: string) {\r\n\r\n if (inpValue.length == 2) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 7) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 12) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 17) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 22) {\r\n this.inpValue += \" \";\r\n }\r\n\r\n }\r\n\r\n isNotValidAccNumber(s: string) {\r\n s = s.replace(/\\s+/g, \"\");\r\n s = 'ES' + s;\r\n var isNotValidStr = false;\r\n if (s.length == 24) {\r\n for (var i = 0; i < s.length; i++) {\r\n if (i <= 1 && /[a-zA-Z]/.test(s.charAt(i))) {\r\n //console.log(\"Valid char: \" + s.charAt(i));\r\n } else if (i > 1 && /[0-9]/.test(s.charAt(i))) {\r\n //console.log(\"Valid numeric: \" + s.charAt(i));\r\n } else {\r\n isNotValidStr = true;\r\n //console.log(\"Not a valid char\");\r\n }\r\n }\r\n } else {\r\n isNotValidStr = true;\r\n //console.log(\"Not a valid acc number\");\r\n }\r\n return isNotValidStr;\r\n }\r\n\r\n clearSQError(quesId) {\r\n var sqList = this.subQuestions.filter((item) => item.id == quesId);\r\n for (var sq of sqList) {\r\n sq.error = null;\r\n }\r\n }\r\n\r\n uploadFile(event,ques?:any) {\r\n //console.log('inside upload');\r\n this.clearError();\r\n this.fileTypeIncorrect = false;\r\n var local = this;\r\n local.attachment = event.target.files[0];\r\n // Validate the file extension\r\n //console.log(local.attachment);\r\n let fileNameWithType: string =\r\n local.attachment && local.attachment.name.toLowerCase();\r\n if (\r\n !fileNameWithType.endsWith(\".jpg\") &&\r\n !fileNameWithType.endsWith(\".png\") &&\r\n !fileNameWithType.endsWith(\".pdf\") &&\r\n !fileNameWithType.endsWith(\".jpeg\") &&\r\n !fileNameWithType.endsWith(\".heic\") &&\r\n !fileNameWithType.endsWith(\".heif\") &&\r\n !fileNameWithType.endsWith(\".JPG\") &&\r\n !fileNameWithType.endsWith(\".PNG\") &&\r\n !fileNameWithType.endsWith(\".PDF\") &&\r\n !fileNameWithType.endsWith(\".JPEG\") &&\r\n !fileNameWithType.endsWith(\".HEIC\") &&\r\n !fileNameWithType.endsWith(\".HEIF\")\r\n ) {\r\n local.fileTypeIncorrect = true;\r\n }\r\n // Return when the file type is incorrect\r\n if (local.fileTypeIncorrect) {\r\n return;\r\n }\r\n let fileContent: any;\r\n var reader = new FileReader();\r\n\r\n reader.onload = function () {\r\n fileContent = reader.result;\r\n local.fileExceededLimit = local.attachment.size > 3242880; //Validating file size\r\n // Upload the file to Salesforce when the limit is within range\r\n if (!local.fileExceededLimit) {\r\n let fileWrapper = new AttachmentWrapper();\r\n fileWrapper.parentId = local.abItem.id;\r\n fileWrapper.fileName = local.attachment.name;\r\n fileWrapper.fileContent = fileContent;\r\n local.createAttachment(fileWrapper);\r\n ques.input = fileWrapper.fileName;\r\n }\r\n };\r\n this.spinner.show(this.spinnerName);\r\n reader.readAsDataURL(event.target.files[0]);\r\n }\r\n\r\n private successAttachmentCreate = (response) => {\r\n let createdAttachment: Attachment = new Attachment(\r\n response.attachmentId,\r\n response.attachmentName,\r\n this.attachment.lastModifiedDate\r\n );\r\n this.attachments.push(createdAttachment);\r\n this.attachmentsMap.set(this.questionItem.id, this.attachments);\r\n this.spinner.hide(this.spinnerName);\r\n };\r\n\r\n private successAttachmentDelete = (response) => {\r\n for (let i = 0; i < this.attachments.length; i++) {\r\n if (this.attachments[i].attachmentId === this.attachmentId) {\r\n this.attachments.splice(i, 1);\r\n }\r\n }\r\n };\r\n\r\n private failureAttachmentCreate = (response) => {\r\n //console.log('inside failureAttachmentCreate');\r\n };\r\n\r\n private failureAttachmentDelete = (response) => {\r\n //console.log('inside failureAttachmentDelete');\r\n };\r\n\r\n handleSubmitClick() {\r\n this.handleEvent.emit(this.qbItem.submitTrackingId);\r\n this.updateAnswerBook(this.abItem.id);\r\n }\r\n\r\n handleCancelClick() {\r\n this.handleEvent.emit(this.qbItem.cancelTrackingId);\r\n }\r\n\r\n private createAttachment = (fileWrapper: any) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\r\n // this.successAttachmentCreate,\r\n // this.failureAttachmentCreate\r\n // );\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('Attachment','create', JSON.stringify(fileWrapper),JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log('updated succussfully');\r\n console.log(data);\r\n this.successAttachmentCreate(JSON.parse(data))\r\n },(error) => {\r\n this.failureAttachmentCreate(error);\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 12Jun24 - translation changes\r\n // VD 31NOV24 param changes with new method\r\n let para3 = {\r\n dataType: \"Attachment\",\r\n operation: \"create\",\r\n param1: JSON.stringify(fileWrapper),\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para3)],\r\n this.successAttachmentCreate,\r\n this.failureAttachmentCreate\r\n );\r\n }\r\n }\r\n\r\n deleteAttachment(attachmentId: string) {\r\n this.attachmentId = attachmentId;\r\n this.handleEvent.emit(\"deleteAttachment\");\r\n this.deleteSFAttachment(attachmentId);\r\n }\r\n\r\n private deleteSFAttachment = (fileId: string) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"Attachment\", \"delete\", fileId],\r\n // this.successAttachmentDelete,\r\n // this.failureAttachmentDelete\r\n // );\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('Attachment','delete',fileId ,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log('updated succussfully');\r\n console.log(data);\r\n this.successAttachmentDelete(JSON.parse(data))\r\n },(error) => {\r\n this.failureAttachmentDelete(error);\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 31NOV24 param changes with new method\r\n let para4 = {\r\n dataType: \"Attachment\",\r\n operation: \"delete\",\r\n param1: fileId,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [fileId,JSON.stringify(para4)],\r\n this.successAttachmentDelete,\r\n this.failureAttachmentDelete\r\n );\r\n }\r\n }\r\n\r\n getFileName(fileNamewithIdandType) {\r\n //truncate file path\r\n var fileNameWithType = fileNamewithIdandType.substr(\r\n fileNamewithIdandType.indexOf(\"::::\") + 4\r\n );\r\n return fileNameWithType; //fileNameWithType.replace(/^(.*(\\/|\\\\))(.+)$/, '$3');\r\n }\r\n fileUI() {\r\n if (this.attachments.length === 0) {\r\n }\r\n }\r\n\r\n //Update function for categorization\r\n // stepperCateg() {\r\n // this.firstFormGroup = this._formBuilder.group({\r\n // firstCtrl: ['', Validators.required]\r\n // });\r\n // this.secondFormGroup = this._formBuilder.group({\r\n // secondCtrl: ['', Validators.required]\r\n // });\r\n\r\n // }\r\n\r\n // Update Function for the Progress Bar\r\n updateProgress() {\r\n if (this.qbItem.progressBar === true) {\r\n let j = [];\r\n for (let i = 0; i < this.possibilities.total; i++) {\r\n var pathposs = Object.values(this.possibilities.paths[i].questions);\r\n if (pathposs[this.pathquestion] === this.currentName) {\r\n j.push(i);\r\n this.check = true;\r\n } else {\r\n this.check = false;\r\n }\r\n }\r\n if (j.length === 1) {\r\n this.count = j[0];\r\n }\r\n if (j.length > 1) {\r\n var width =\r\n 90 * (this.questionStack.length / this.possibilities.maxQuestions);\r\n this.progressStyle = Math.round(width) + \"%\";\r\n } else if (j.length === 1) {\r\n var width =\r\n 90 *\r\n (this.questionStack.length /\r\n this.possibilities.paths[this.count].count);\r\n this.progressStyle = Math.round(width) + \"%\";\r\n }\r\n this.percent = +Math.round(width);\r\n }\r\n }\r\n\r\n townName(area) {\r\n this.selectedValue = area.town;\r\n //console.log('this value='+this.selectedValue)\r\n this.tempoAddress = [];\r\n }\r\n\r\n getTownLocal() {\r\n this.tempoAddress = [];\r\n if (this.selectedValue.length > 0) {\r\n for (var val of this.localaddress) {\r\n if (\r\n val.town.substring(0, this.selectedValue.length) == this.selectedValue\r\n ) {\r\n //console.log(val.country)\r\n this.tempoAddress.push(val);\r\n //console.log('tempoAddress'+this.tempoAddress)\r\n if (this.tempoAddress.length == 6) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n document.getElementById(\"selectList\").style.display = \"block\";\r\n this.setSearchListWidth();\r\n }\r\n\r\n clearList() {\r\n setTimeout(() => {\r\n this.tempoAddress = [];\r\n }, 500);\r\n }\r\n\r\n setSearchListWidth() {\r\n //to resize search list based on the screen size\r\n const searchBoxWidth = window.document.getElementById(\"autocomplete-input\").offsetWidth;\r\n document.getElementById(\"selectList\").style.width = searchBoxWidth + \"px\";\r\n }\r\n\r\n getCode(){\r\n this.tempoAddress = [];\r\n if (this.selectedPostalcode.length > 0) {\r\n for (var val of this.allAddress) {\r\n if (val.zipCode.substring(0, this.selectedPostalcode.length) == this.selectedPostalcode) {\r\n //console.log(val.country)\r\n this.tempoAddress.push(val);\r\n //console.log('tempoAddress'+this.tempoAddress)\r\n if (this.tempoAddress.length == 6) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n document.getElementById(\"selectList\").style.display = \"block\";\r\n this.setSearchListWidth();\r\n }\r\n getPostalcode(value){\r\n this.places=[];\r\n this.province=[];\r\n var province;\r\n var town;\r\n this.selectedPostalcode = value.zipCode;\r\n this.selectedValue = value.country;\r\n this.tempoAddress=[];\r\n\r\n\r\n for(var val of this.localaddress){\r\n if(this.selectedPostalcode == val.zipCode ){\r\n this.places.push(val);\r\n this.province.push(val);\r\n this.selectedValue = val.country;\r\n province = val.province\r\n town = val.town;\r\n }\r\n }\r\n if(this.places.length == 1){\r\n\r\n this.selectedProvince =province;\r\n this.selectedCity = town;\r\n }else if(this.places.length >1 || this.places.length ==0){\r\n\r\n this.selectedCity ='';\r\n this.selectedProvince='';\r\n }\r\n }\r\n closeDropdown() {\r\n if(this.selectedPostalcode.length == 5){\r\n this.getPostalcode({zipCode:this.selectedPostalcode});\r\n }\r\n\r\n setTimeout(()=> {\r\n document.getElementById('selectList').style.display = \"none\";\r\n }, 500);\r\n }\r\n\r\n\r\n //Plus button implementation.\r\n structLocalSubQuestion(ques: LocalQuestion){\r\n // console.log('inside structLocalSubQuestion');\r\n for(var i = 0; i < this.subQuestions.length; i++){\r\n var localSubQuestion = new LocalQuestion();\r\n localSubQuestion.id = this.subQuestions[i].id;\r\n localSubQuestion.Name = this.subQuestions[i].Name;\r\n localSubQuestion.question = this.subQuestions[i].question;\r\n localSubQuestion.questionText = this.subQuestions[i].questionText;\r\n localSubQuestion.type = this.subQuestions[i].type;\r\n localSubQuestion.title = this.subQuestions[i].title;\r\n localSubQuestion.subTitle = this.subQuestions[i].subTitle;\r\n localSubQuestion.isOptional = this.subQuestions[i].isOptional;\r\n localSubQuestion.errorMessage = this.subQuestions[i].errorMessage;\r\n localSubQuestion.nextQuestion = this.subQuestions[i].nextQuestion;\r\n localSubQuestion.groupName = this.subQuestions[i].groupName;\r\n localSubQuestion.questionNumber = this.subQuestions[i].questionNumber;\r\n localSubQuestion.allowedFileExtensions = this.subQuestions[i].allowedFileExtensions;\r\n localSubQuestion.uniqueSubQId = ''+this.subQuestions[i].id + i;\r\n localSubQuestion.input = this.subQuestions[i].input;\r\n this.localSubQuestions.push(localSubQuestion);\r\n }\r\n // console.log('final local sub questions');\r\n // console.log(this.localSubQuestions);\r\n // console.log(this.questionItem.id);\r\n this.localSubQMap.set(this.questionItem.id,this.localSubQuestions);\r\n this.localSubQuestions = [];\r\n // console.log('final key localSubQMap map');\r\n // console.log(this.localSubQMap);\r\n }\r\n\r\n addInputBox(question: LocalQuestion, index: number){\r\n var arra = this.localSubQMap.get(this.questionItem.id);\r\n var qIndex = arra.indexOf(question);\r\n var ques: LocalQuestion = new LocalQuestion();\r\n Object.assign(ques, question);\r\n //console.log((ques.uniqueSubQId).substring(18, (ques.uniqueSubQId).length)+1);\r\n if(this.keyIndex == index){\r\n ques.uniqueSubQId = ques.id + (String(index+1));\r\n this.keyIndex++;\r\n }else{\r\n this.keyIndex++;\r\n ques.uniqueSubQId = ques.id + (String(this.keyIndex));\r\n }\r\n ques.input = '';\r\n arra.splice(qIndex+1, 0, ques);\r\n\r\n this.localSubQMap.set(this.questionItem.id,arra);\r\n //console.log(this.localSubQMap);\r\n }\r\n\r\n removeAddress(quesUniqueId: string, qName: string) {\r\n //console.log(quesUniqueId)\r\n var val = this.localSubQMap.get(this.questionItem.id);\r\n var keyindex = 0;\r\n\r\n for(let i=0; i<val.length; i++){\r\n if(val[i].Name == qName){\r\n keyindex++;\r\n }\r\n }\r\n\r\n if(this.localSubQMap.has(this.questionItem.id) && keyindex >1){\r\n var reorder = val.filter((item) => item.uniqueSubQId !== quesUniqueId)\r\n this.localSubQMap.set(this.questionItem.id,reorder);\r\n keyindex--;\r\n }\r\n }\r\n\r\n getLocalSubQuestions(id: String){\r\n return this.localSubQMap.get(id);\r\n }\r\n\r\n //Single Add button functionality for List type\r\nAdd(question: LocalQuestion){\r\n this.addFlag = false;\r\n var arra = this.localSubQMap.get(this.questionItem.id);\r\n var index = arra.length;\r\n var a = arra.slice(-1).pop();\r\n this.indexCount = a.questionNumber;\r\n\r\n for (var i = 0; i < this.indexCount ; i++) {\r\n var ques: LocalQuestion = new LocalQuestion();\r\n Object.assign(ques, question[i]);\r\n this.keyIndex++;\r\n ques.uniqueSubQId = ques.id + (String(this.keyIndex));\r\n ques.input = '';\r\n arra.splice(index+(this.indexCount-1), 0, ques);\r\n this.localSubQMap.set(this.questionItem.id,arra);\r\n }\r\n this.addFlag = true;\r\n }\r\n\r\n handleLocationSelected(location: any,ques:any) {\r\n ques.input = location;\r\n }\r\n\r\n selectedInput(input:any ,ques:any){\r\n ques.input = input;\r\n }\r\n\r\n handleTextareaValueChange(value :string){\r\n console.log('Selected text-area text:', value);\r\n }\r\n getData(data:any){\r\n console.log('table data',data);\r\n }\r\n\r\n dependentChange(value:any){\r\n this.nextValue = value;\r\n }\r\n\r\n displayDate(dateSelected: any,ques:any){\r\n // Parse the date string using moment and assign it to this.selectedDate\r\n ques.input = moment(dateSelected.value , 'YYYY-MM-DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss').toString();\r\n }\r\n\r\n getKey(item: any): any {\r\n return Object.keys(item)[0];\r\n }\r\n\r\n getValue(item: any): any {\r\n return Object.values(item)[0];\r\n }\r\n}","<!-- Spinner -->\r\n<ngx-spinner size=\"medium\" [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- custom loader -->\r\n<!-- <app-loader></app-loader> -->\r\n<!-- Back Processing -->\r\n<!-- <div *ngIf=\"backicon == false\" >\r\n <div class=\"backicon\" >\r\n <button (click)=\"handleBackClick()\" [class]=\" abItem?.status == 'Completed' ? 'summary-volver':'app-back1'\">\r\n <img class=\"icon-arrow-back\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-arrow-back.png\" alt=\"Scroll down\"> {{ qbItem?.back }}\r\n </button>\r\n </div>\r\n</div> -->\r\n\r\n<!-- Question Hanlding -->\r\n<!-- VD removed unwanted condition -->\r\n<!-- RS 09DEC24 Changed keys-->\r\n<div *ngIf=\"questionItem\" class=\"questiondiv1 padd-bottom\">\r\n <!-- Progress Bar & Title -->\r\n <div *ngIf=\"questionItem.title\">\r\n <h1>{{ questionItem?.title }}</h1>\r\n <div>{{ questionItem?.subTitle }}</div>\r\n </div>\r\n\r\n <!-- Progress & Grouping -->\r\n <div>\r\n <!-- Pie Chart Progress -->\r\n <div [ngClass]=\"{ bgColor: qbItem?.progressBar }\">\r\n <div id=\"nxt-progress\" *ngIf=\"qbItem?.progressBar\">\r\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\r\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\r\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \r\n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\r\n [startFromZero]=\"false\" [responsive]=\"false\" >\r\n </circle-progress>\r\n </div>\r\n </div>\r\n <!-- RS 09DEC24 Changed keys-->\r\n <!-- Show the Group/Module related to the Progress -->\r\n <div *ngIf=\"questionItem.groupName && qbItem.progressBar\"\r\n [ngClass]=\"{ questionalign: !qbItem?.progressBar }\">\r\n <div class=\"nxt-largeTitle\">\r\n <h3 class=\"myt-font6 myt-text3\">\r\n {{ questionItem?.groupName }}\r\n </h3>\r\n <div *ngIf=\"questionItem.subText != '¿En qué país ocurrió?'\" class=\"myt-font5 myt-text1\">{{questionItem?.subText}}</div>\r\n <div *ngIf=\"questionItem.subText === '¿En qué país ocurrió?'\" class=\"myt-font10 myt-text2\">{{questionItem?.subText}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- RS 09DEC24 Changed keys-->\r\n <!-- Question Handling -->\r\n <!-- VD 10Aug24- question no -->\r\n <div>\r\n <div *ngIf=\"questionItem.questionText\" style=\"display: flex;\">\r\n <span>{{questionItem?.questionNumber}}.</span>\r\n <p class=\"nxt-label\" [innerHTML]=\"getText(questionItem?.questionText)\">\r\n {{questionItem?.questionText}}\r\n </p>\r\n </div>\r\n <!-- Title -->\r\n <!-- <div *ngIf=\"questionItem.isTitle\">\r\n <div *ngIf=\"questionItem.type != 'Book' && questionItem.questionNumber!='6' && questionItem.questionNumber!='9'\"> \r\n <h3 class=\"questionalign myt-font3 myt-align myt-text4\" [innerHTML]=\"getText(questionItem?.questionText)\">\r\n {{questionItem?.questionText}}\r\n </h3>\r\n </div>\r\n </div> -->\r\n <!-- HA 31-JAN-24 Removed the unwanted styling class -->\r\n <!-- <div *ngIf=\"!questionItem.isTitle\" [class]=\"qbItem.isShengel ? 'header-style' : 'question-f-size'\">\r\n <div [innerHTML]=\"getText(questionItem?.questionText)\" >\r\n {{ questionItem?.questionText }}\r\n </div>\r\n </div> -->\r\n\r\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\r\n <!-- <div *ngIf=\"questionItem.type == 'Book'\">\r\n <div *ngIf=\"questionItem.questionNumber=='6'\">\r\n <h3 class=\"myt-321\" [innerHTML]=\"getText(questionItem?.questionText)\">\r\n {{ questionItem?.questionText }}\r\n </h3>\r\n </div>\r\n </div> -->\r\n \r\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\r\n <!-- <div *ngIf=\"questionItem.type == 'File' \">\r\n <div *ngIf=\"questionItem.questionNumber=='9'\">\r\n <h3 class=\"myt-345\" [innerHTML]=\"getText(questionItem?.questionText)\">\r\n {{questionItem?.questionText}}\r\n </h3>\r\n </div>\r\n </div> -->\r\n </div>\r\n\r\n <!-- Additional Info -->\r\n <!-- The below code can be written effectively nested ngIf for Rich Text & Other onw for Progress Bar -->\r\n <div *ngIf=\"questionItem.additionalRichContent && qbItem.progressBar\" >\r\n <div\r\n class=\"nxt-additional \" [innerHTML]=\"innerhtml\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"questionItem.additionalRichContent && !qbItem.progressBar\">\r\n <div class=\"info-alert ques-alert1\">\r\n <i class=\"fa fa-info fa-3x iposition icolor\" aria-hidden=\"true\"></i>\r\n <div class=\"infodiv\" [innerHTML]=\"innerhtml\"></div>\r\n </div>\r\n </div>\r\n\r\n <!-- Dropdown-->\r\n <div *ngIf=\"dropdownFlag\" >\r\n <div class=\"nxt-dis-flex\">\r\n <select class=\"nxtdropdown\"\r\n [ngClass]=\"{\r\n 'dt-line nxt-myt-align3 nxt-myt-align2 dpDown nxt-dropbox down1 myt-dropbox myt-border-r myt-font1': qbItem?.progressBar,\r\n 'custom-select': !qbItem?.progressBar\r\n }\" class=\"mr-sm-2 dd-height nxt-dropbox \" id=\"dropdown\" [(ngModel)]=\"inpValue\" (change)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error ? 'red' : inpValue?.length > 0 ? '#fff' : ''\r\n }}\" style.color=\"{{ questionItem?.error ? 'red' : '' }}\">\r\n <option *ngFor=\"let opt of questionItem.options\" class=\"option\" value=\"{{ opt.value }}\">\r\n {{ opt.value }}\r\n </option>\r\n <!-- HA 20DEC23 For Translation -->\r\n <option value=\".\" disabled hidden>{{'pleaseMakeChoice' | i18n:i18nService.currentLanguage}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <!--VD Radio update -->\r\n <div *ngIf=\"radioFlag || dataFlag\" class=\"\">\r\n <span *ngIf=\"this.questionItem.error\" class=\"nxt-error-msg\"> {{ questionItem?.errorMessage }}</span>\r\n <div class=\"nxt-custom-radio-container\">\r\n <div *ngFor=\"let opt of questionItem.options\" \r\n [class]=\" this.questionItem.error ? 'nxt-custom-radio-option invalid' : 'nxt-custom-radio-option'\">\r\n <input\r\n type=\"radio\"\r\n [id]=\"opt.value\"\r\n [(ngModel)]=\"inpValue\"\r\n name=\"inpValue\"\r\n [value]=\"opt.value\"\r\n (change)=\"optionChange(opt.value)\"\r\n />\r\n <label class=\"nxt-radio-label\" [for]=\"opt.value\"> {{ opt.value }}</label>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"nxt-dis-flex\">\r\n <div *ngFor=\"let opt of questionItem.options.records\" class=\"radio nxt-radioOption\">\r\n <label class=\"nxt-radiocontainer container myt-font4\">\r\n <input type=\"radio\" [id]=\"opt.id\" [(ngModel)]=\"inpValue\" name=\"inpValue\" [value]=\"opt.value\"\r\n (change)=\"optionChange(opt.value)\" />\r\n {{ opt.value }}\r\n </label>\r\n </div>\r\n </div> -->\r\n </div> \r\n <!-- Checkbox -->\r\n <div *ngIf=\"checkboxFlag\" class=\"\">\r\n <div *ngIf=\"questionItem?.error\" class=\"cond-div2\">\r\n {{ questionItem?.errorMessage }}\r\n </div>\r\n <div class=\"nxt-checkbox-container\">\r\n <div *ngFor=\"let item of optionValues\" class=\"nxt-checkbox-wrapper\">\r\n <label class=\"nxt-container1\">\r\n <input type=\"nxt-checkbox\" [id]=\"item.id\" [(ngModel)]=\"item.checked\" (click)=\"clearError()\" />\r\n <span class=\"nxt-checkbox-label\">{{ item.value }}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Text -->\r\n <div *ngIf=\"textFlag\">\r\n <!-- HA 31-JAN-24 To reduce the margin -->\r\n <div [class]=\"'col-md-' + questionItem?.size + ' paddingnone'\">\r\n <input class=\"nxt-input\" type=\"text\" [(ngModel)]=\"inpValue\" \r\n id=\"text-input-id\" required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error\r\n ? 'red'\r\n : ''\r\n }}\" oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\r\n <!-- <i class=\"fa fa-check nxt-check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0\"></i> -->\r\n </div>\r\n </div>\r\n\r\n <!-- Text Area -->\r\n <div *ngIf=\"taFlag\" >\r\n <div>\r\n <textarea class=\"nxt-input nxt-text-area\" id=\"ta-input-id\" [(ngModel)]=\"inpValue\" (click)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error\r\n ? 'red'\r\n : inpValue?.length > 0 && taFocusOut\r\n ? '#87be1c'\r\n : ''\r\n }}\" (focusout)=\"taFocusOut = true\"\r\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\"></textarea>\r\n <!-- <i class=\"fa fa-check nxt-check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0 && taFocusOut\" style=\"display: flex; justify-content: flex-end;\"></i> -->\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- RS 06JAN25 -->\r\n <!-- for rich text -->\r\n <div *ngIf=\"rtaFlag\">\r\n <div [class]=\"'col-md-' + questionItem?.size + ' paddingnone'\">\r\n <app-custom-rich-text\r\n [value]=\"inpValue\"\r\n [question]=\"questionItem\"\r\n [error]=\"questionItem?.error\"\r\n (textValueChange)=\"handleRichTextChange($event)\">\r\n </app-custom-rich-text>\r\n </div>\r\n </div>\r\n \r\n \r\n <!-- <div *ngIf=\"ques.type === 'RichTextArea'\">\r\n\r\n <app-custom-rich-text\r\n [value]=\"ques.input\"\r\n [rows]=\"3\"\r\n [error]=\"ques.error\" [placeholder]=\"ques.question \" \r\n (textValueChange)=\"handleRichTextChange($event)\">\r\n </app-custom-rich-text>\r\n</div> -->\r\n <!-- CC Number Format -->\r\n <!-- RS 09DEC24 Changed keys-->\r\n <div *ngIf=\"numberFlag\" class=\"col-md-12\">\r\n <div class=\"nxt-dis-flex\">\r\n <input type=\"Text\" placeholder=\"0000 0000 0000 0000 0000 0000\" [ngClass]=\"{ boxoutline: qbItem?.progressBar }\"\r\n [(ngModel)]=\"inpValue\" id=\"number-input-id\" (ngModelChange)=\"CCOnChange($event)\" required=\"\" maxlength=\"29\"\r\n (focus)=\"clearError()\" oninput=\"this.value=this.value.replace(/[^0-9 ]/g,'');\"\r\n style=\"width:-webkit-fill-available;\" style.border-color=\"{{\r\n this.questionItem.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" />\r\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px;\"\r\n *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n <!-- END-->\r\n\r\n <!-- AlphaNumeric -->\r\n <div *ngIf=\"alphanumericFlag\" class=\"col-md-12\"> <!--UI not completed-->\r\n <div style=\"position:relative;\">\r\n <!-- HA 20DEC23 For Translation -->\r\n <input type=text placeholder=\"{{'zeroOfZero' | i18n:i18nService.currentLanguage}}\" style=\"padding:5px 5px 5px 150px;\" id=\"youridhere\"/>\r\n </div>\r\n </div>\r\n\r\n <!-- Email -->\r\n <!-- RS 09DEC24 Changed keys-->\r\n <div *ngIf=\"emailFlag\" class=\"col-md-12\">\r\n <div class=\"nxt-dis-flex\">\r\n <input type=\"email\" [ngClass]=\"{ boxoutline: qbItem?.progressBar }\" [(ngModel)]=\"inpValue\" id=\"email-input-id\"\r\n required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" />\r\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px\"\r\n *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"dtFlag\" class=\"col-md-12 paddingZero nxtmyt-time1\" >\r\n <!-- Error Handling -->\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n\r\n <!-- Date -->\r\n <div *ngIf=\"dateFlag\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <!-- HA 31-JAN-24 These labels were occuping the empty space when date question comes-->\r\n <!-- <label class=\"date-time colorf\">{{ questionItem?.dateText }}</label> -->\r\n <div class=\"nxt-dis-flex\">\r\n <!-- HA 20DEC23 For Translation -->\r\n <!-- HA 02FEB24 Additional param to update the question -->\r\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event, questionItem)\"\r\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"{{'selectDate' | i18n:i18nService.currentLanguage}}\" (focus)=\"clearError()\">\r\n </my-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Time -->\r\n <div *ngIf=\"timeFlag\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <!-- <label class=\"date-time colorf\">{{ questionItem?.timeText }}</label> -->\r\n <div class=\"nxt-dis-flex\">\r\n <div [ngClass]=\"{'dt-line date-line nxt-dt-time': qbItem?.progressBar,\r\n dateandTime: !qbItem?.progressBar}\" \r\n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\r\n (focus)=\"(clearSQError) \">\r\n <select name=\"hours\" class=\"datetime showHour nxtmyt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">HH</option>\r\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\r\n {{ hour }}\r\n </option>\r\n </select>\r\n <span class=\"colon\"> : </span>\r\n <select name=\"minutes\" class=\"datetime nxtshowminute nxtmyt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">MM</option>\r\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\r\n {{ minute }}\r\n </option>\r\n </select>\r\n <div [ngClass]=\"{ colon1: qbItem?.progressBar }\" *ngIf=\"questionItem?.x24Hours == false\">\r\n <span class=\"colon\"> : </span>\r\n <select name=\"AM/PM\" class=\"nxtmyt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\r\n <option value=\"AM\">AM</option>\r\n <option value=\"PM\">PM</option>\r\n </select>\r\n <!-- <div [ngClass]=\"{'': qbItem.progressBar, 'dateandTime': !qbItem.progressBar}\"></div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <i class=\"fa check-icon3\" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- Attachment / File -->\r\n <div *ngIf=\"fileFlag\">\r\n <div *ngIf=\"!qbItem.progressBar\">\r\n <div class=\"info-alert\" style.border-color=\"{{ this.questionItem?.error ? 'red' : '' }}\">\r\n <label class=\"picture-upload\" for=\"file-upload\">\r\n <span class=\"picture-upload-child\">\r\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\r\n </span>\r\n <span class=\"fa fa-plus fa-2x picture-upload-child pic-upload icolor\">\r\n <i class=\"\" aria-hidden=\"true\"></i>\r\n </span>\r\n </label>\r\n </div>\r\n <input id=\"file-upload\" type=\"file\" accept=\"{{ allowedFileExtension }}\" (change)=\"uploadFile($event,this.questionItem)\" />\r\n </div>\r\n <ul *ngIf=\"\r\n attachments?.length > 0 &&\r\n questionItem?.type === 'File' &&\r\n !qbItem?.progressBar\r\n \" class=\"attach-ulist col-md-12\">\r\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\r\n {{ attachment.attachmentName}}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\r\n </li>\r\n </ul>\r\n\r\n <!-- Attachment Progress -->\r\n <div *ngIf=\"qbItem.progressBar\">\r\n <div *ngFor=\"let attachment of attachments\" class=\"nxtfile-uploading-box\">\r\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\r\n <span class=\"uploading-file-name \">{{ attachment.attachmentName }}</span>\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\r\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\r\n </div>\r\n <div class=\"nxtfile-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\r\n \r\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\r\n <span class=\"f-Name\" [innerHTML]=\"getText(questionItem?.questionText)\"> {{ questionItem?.questionText}}</span>\r\n <label class=\"file-label \">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/file-upload.png\" class=\"file-icon\"/>\r\n <!-- HA 20DEC23 For Translation -->\r\n <input name=\"attachment\" type=\"file\" placeholder=\"{{'toBuyTicket' | i18n:i18nService.currentLanguage}}\" multiple\r\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event)\"\r\n class=\"file-upload-btn\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- RS 09DEC24 Changed keys-->\r\n <!-- Book -->\r\n <div *ngIf=\"bookFlag\">\r\n <div [class]=\"qbItem.isShengel ? 'form-group content-box' : 'form-group'\">\r\n <div class=\"form-row\">\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n <div [class]=\"qbItem.isShengel ? '' : 'nxt-myt-align3'\" [class]=\"qbItem.isShengel ? 'col-lg-' + ques.size + ' paddingnone' : 'col-md-' + ques.size + ' paddingnone'\"\r\n *ngFor=\"let ques of subQuestions;let i = index\" [id]=\"ques.id\">\r\n <div [ngClass]=\"{ down2: qbItem?.progressBar }\">\r\n <span>{{ ques?.questionText }}</span>\r\n </div>\r\n <div class=\"col-md-12 paddingZero nxtmyt-dateTimeNew\" *ngIf=\"ques.type === 'Time' || ques.type === 'Date'\">\r\n <div *ngIf=\"ques.type === 'Date'\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <!-- <label class=\"date-time colorf\">{{ questionItem?.dateText }}</label> -->\r\n <div class=\"dateandtime\">\r\n <!-- HA 20DEC23 For Translation -->\r\n <!-- HA 02FEB24 Additional param to update the question -->\r\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event, ques)\"\r\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"{{'selectDate' | i18n:i18nService.currentLanguage}}\" (focus)=\"clearError()\" >\r\n </my-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Time'\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <!-- <label class=\"date-time colorf\">{{ questionItem?.timeText }}</label> -->\r\n <div class=\"dateandtime\">\r\n <div [ngClass]=\"{'dt-line date-line nxt-dt-time': qbItem?.progressBar,\r\n dateandTime: !qbItem?.progressBar}\" \r\n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\r\n (focus)=\"(clearSQError) \">\r\n <select name=\"hours\" class=\"datetime showHour nxtmyt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">HH</option>\r\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\r\n {{ hour }}\r\n </option>\r\n </select>\r\n <span class=\"colon\"> : </span>\r\n <select name=\"minutes\" class=\"datetime nxtshowminute nxtmyt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">MM</option>\r\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\r\n {{ minute }}\r\n </option>\r\n </select>\r\n <div [ngClass]=\"{ colon1: qbItem?.progressBar }\" *ngIf=\"questionItem.x24Hours == false\">\r\n <span class=\"colon\"> : </span>\r\n <select name=\"AM/PM\" class=\"nxtmyt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\r\n <option value=\"AM\">AM</option>\r\n <option value=\"PM\">PM</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ques.type === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"displayDate($event,ques)\"></app-custom-date-picker>\r\n </div>\r\n <!-- VD to show lable-->\r\n <div *ngIf=\"ques.type === 'Label'\">\r\n <app-custom-label [labelStyle]=\"ques.title\" [labelValue]=\"ques.question\">\r\n </app-custom-label>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Text'\">\r\n <label>{{ ques.questionText }}</label>\r\n <app-custom-input\r\n [value]=\"ques?.input\"\r\n [question]=\"ques\" \r\n [idValue]=\"ques?.trackingId\"\r\n [focusEvent]=\"clearSQError(ques?.id)\"\r\n [error]=\"ques?.error\"\r\n [placeholder]=\"ques?.question\"\r\n (inputValue)=\"selectedInput($event,ques)\">\r\n </app-custom-input>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Location'\">\r\n <!-- for pick location -->\r\n <!-- HA10012024 Added Api key as input -->\r\n <app-pick-location [apiKey]=\"qbItem['apiKey']\" [address]=\"ques.input\" (locationSelected)=\"handleLocationSelected($event,ques)\"></app-pick-location>\r\n </div>\r\n <!-- for text area -->\r\n <div *ngIf=\"ques.type === 'TextArea'\">\r\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.question \" (textareaValueChange)=\"handleTextareaValueChange($event)\"></app-custom-text-area>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.type === 'Email'\">\r\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.id\" required=\"\" (focus)=\"clearSQError(ques.id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.question }}\" />\r\n </div>\r\n\r\n <div *ngIf=\"ques.type === 'File'\">\r\n <div *ngIf=\"!qbItem.progressBar\">\r\n <label class=\"picture-upload custom-file-upload bgcolor-w\" for=\"file-upload\">\r\n <span class=\"picture-upload-child\">\r\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\r\n </span>\r\n <span class=\"\r\n fa fa-plus fa-2x\r\n picture-upload-child\r\n pic-upload\r\n icolor\r\n \">\r\n <i class=\"\" aria-hidden=\"true\"></i>\r\n </span>\r\n </label>\r\n <input id=\"file-upload\" type=\"file\" accept=\"{{ bookFlagAccept }}\" (change)=\"uploadFile($event,ques)\" />\r\n </div>\r\n\r\n <ul *ngIf=\"\r\n attachments?.length > 0 &&\r\n ques.type === 'File' &&\r\n !qbItem.progressBar\r\n \" class=\"attach-ulist col-md-12\">\r\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\r\n {{ attachment.attachmentName\r\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\r\n </li>\r\n </ul>\r\n <div class=\"myt-box\" *ngIf=\"qbItem.progressBar\">\r\n\r\n <div *ngFor=\"let attachment of attachments\" class=\"nxtfile-uploading-box\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"nxt-icon-edit1\" />\r\n <span class=\"uploading-file-name myt-font1 font-weight: normal;\"> {{ attachment.attachmentName }}</span>\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\r\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\r\n </div>\r\n <div class=\"nxtfile-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"nxt-icon-edit1\" />\r\n <span class=\"f-Name\">{{ ques?.question }}</span>\r\n <label class=\"file-label \">\r\n <span style=\"color: #c5281c;text-decoration:underline\">\r\n {{'attach' | i18n:i18nService.currentLanguage}}\r\n </span>\r\n <!-- HA 20DEC23 For Translation -->\r\n <input name=\"attachment\" type=\"file\" placeholder=\"{{'toBuyTicket' | i18n:i18nService.currentLanguage}}\" multiple\r\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event,ques)\"\r\n class=\"file-upload-btn\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table -->\r\n <div *ngIf=\"ques.type === 'Table'\" class=\"\">\r\n <app-custom-table \r\n [question]=\"ques\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-table>\r\n </div>\r\n\r\n <!-- Dropdown -->\r\n <div *ngIf=\"ques.type === 'Dropdown'\" class=\"nxtdropdown\">\r\n <!-- for common dropdown -->\r\n <!-- HA 20DEC23 For Translation -->\r\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel\"\r\n [options]=\"ques.options\"\r\n [apiMeta]=\"ques.subText\"\r\n [id]=\"ques.Name\"\r\n [selectedValue]=\"ques.input\"\r\n placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\r\n [errorMessage]=\"ques?.errorMessage\"\r\n [error]=\"ques?.error\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-dropdown>\r\n <app-dropdown-with-flag *ngIf=\"ques.isDependentPicklist && !ques.dropDownOnly\" [certified]=\"ques.certifiedFlag\" [JobPerformerCertificates]=\"ques.certificateList\" (flagDropDownChange)=\"dependentChange($event)\"></app-dropdown-with-flag>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--List start-->\r\n <div *ngIf=\"listFlag\">\r\n <div class=\"form-group\">\r\n <div class=\"form-row\">\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n <div class=\"nxt-myt-align3\" [class]=\"'col-md-' + ques.size + ' paddingnone'\"\r\n *ngFor=\"let ques of getLocalSubQuestions(questionItem.id);let i = index\">\r\n <div>\r\n <span class=\"nxt-dis-flex myt-font3 myt-font7\">{{ ques?.question }}</span>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Text'\">\r\n <input type=\"text\" [(ngModel)]=\"ques.input\" [ngClass]=\"{\r\n 'nxt-dis-flex dt-line date-line nxtbookText boxoutline myt-font1': qbItem.progressBar,\r\n textBox: !qbItem.progressBar\r\n }\" id=\"text\" [id]=\"ques.uniqueSubQId\" required=\"\" (focus)=\"clearLocalSubQuesError(ques)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.question }}\"\r\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\r\n </div>\r\n </div>\r\n <div class=\"\" *ngIf=\"addFlag\">\r\n <!-- HA 20DEC23 For Translation -->\r\n <button (click)=\"Add(getLocalSubQuestions(questionItem.id))\" class=\"btn\"><i class=\"fa fa-plus\" ></i>{{'add' | i18n:i18nService.currentLanguage}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--List End-->\r\n\r\n <!-- Actions -->\r\n <!-- VD button condition removed-->\r\n <div class=\"flexer\">\r\n <!-- Backward / Back -->\r\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\r\n <!--VD disabled -->\r\n <div class=\"backbutton\" \r\n [style.visibility]=\"questionStack.length > 0 ? 'visible' : 'hidden'\" *ngIf=\"qbItem.back\">\r\n <button [disabled]=\"isButtonDisabled\" [ngClass]=\"{\r\n 'nxt-left-bt': qbItem.progressBar,\r\n 'nxt-btn btn-primary':\r\n !qbItem.progressBar\r\n }\" (click)=\"handleBackClick()\">\r\n {{ qbItem?.back }}\r\n </button>\r\n </div>\r\n\r\n <!-- Forward / Next -->\r\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\r\n <div *ngIf=\"qbItem.next\" >\r\n <div class=\"nxtbutton\">\r\n <!--VD disabled -->\r\n <button [disabled]=\"isButtonDisabled\" [ngClass]=\"{\r\n 'nxt-rusty': qbItem.progressBar,\r\n 'nxt-btn btn-primary':\r\n !qbItem.progressBar\r\n }\" (click)=\"handleNextClick()\">\r\n {{ qbItem.next }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Summary -->\r\n<div *ngIf=\"this.abItem?.status === 'Completed'\" class=\"col-lg-12\" style=\"text-align: center;\">\r\n <h2>{{this.qbItem.summaryText}}</h2>\r\n <p>{{this.qbItem.summarySubText}}</p>\r\n</div>\r\n\r\n<div *ngIf=\"summary && summary.length > 0\" height=\"100% !important\" class=\"col-md-12\" [ngClass]=\"{\r\n 'col-md-12':!qbItem.progressBar\r\n }\">\r\n <h1 class=\"nxt-header1 nxt-summarypadd\" >{{ qbItem.subTitle }}</h1> \r\n <div id=\"nxt-progress2\" *ngIf=\"!qbItem.progressBar && this.abItem.status != 'Completed' \">\r\n <div [ngClass]=\"{ 'full-summary': qbItem.progressBar }\">\r\n <div *ngFor=\"let qa of summary\">\r\n <div [ngClass]=\"{ non: qbItem.progressBar }\">\r\n <div [ngClass]=\"{ summary: !qbItem.progressBar }\">\r\n <div *ngIf=\"!qbItem.edit\"\r\n [ngClass]=\"{ 'question': this.abItem.status != 'Completed' }\">\r\n <p [ngClass]=\"{ asum: this.abItem.status === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\r\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</p>\r\n </div>\r\n <!-- VD Question No added -->\r\n <div *ngIf=\"qbItem.edit\"\r\n [ngClass]=\"{ 'question': this.abItem.status != 'Completed' }\">\r\n <div [ngClass]=\"{ 'question': this.abItem.status === 'Completed' }\"\r\n [innerHTML]=\"getText(qa.quesValue)\"><span>{{ qa.questionNumber }}</span>\r\n {{ qa.quesValue }}\r\n </div>\r\n </div>\r\n <div class=\"nxt-answer\" >\r\n <div *ngIf=\"qa.qTyp === 'File'\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"nxt-icon-edit-summary\" />\r\n {{ qa.ansValue }}\r\n </div>\r\n <!-- HA 02FEB24 Displaying the in summary for book type -->\r\n <div *ngIf=\"qa.qTyp == 'Book'\">\r\n <div *ngFor=\"let val of qa.myVal\">\r\n <p>{{ val.questionText }}:<span>{{ val.input }}</span></p>\r\n </div>\r\n </div>\r\n <!-- HA 02FEB24 Displaying the value for direct question -->\r\n <div *ngIf=\"qa.qTyp != 'File' && qa.qTyp != 'Book'\">{{ qa.questionText }} <span></span>{{ qa.ansValue }}</div>\r\n <div *ngIf=\"qbItem.edit && this.abItem.status != 'Completed'\" style=\"background: #dedddd;\">\r\n <button class=\"nxt-edit\" (click)=\"handleEditClick(qa.quesId)\">\r\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"nxt-icon-editios\"/>\r\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"nxt-icon-edit\" />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div id=\"nxt-progress2\" *ngIf=\"qbItem.progressBar \">\r\n <div [ngClass]=\"{'bgColor nxtsummary-top' : qbItem.progressBar }\" >\r\n <div id=\"nxt-progress-summary\" *ngIf=\"qbItem.progressBar\">\r\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\r\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\r\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \r\n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\r\n [startFromZero]=\"false\" [responsive]=\"false\" >\r\n </circle-progress>\r\n \r\n <div *ngIf=\"qbItem.summaryText && qbItem.progressBar\" \r\n [ngClass]=\"{ summaryTitle: qbItem.progressBar }\">\r\n <h3 class=\"nxt-subTitle\" >{{ qbItem.summaryText }}</h3>\r\n <div *ngIf=\"abItem.status != 'Completed'\" class=\"nxt-subTitle1\" >{{ qbItem.summarySubText}}</div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!qbItem.progressBar\">\r\n <h3 class=\"summary-h\">\r\n {{ qbItem.summaryText }}\r\n </h3>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{ 'full-summary': qbItem.progressBar }\">\r\n <div class=\"summary-groupText myt-font2\">\r\n <!-- <p>Informe de daño</p> -->\r\n </div>\r\n <div *ngFor=\"let qa of summary\" >\r\n <div [ngClass]=\"{ non: qbItem.progressBar }\">\r\n <div class=\"summary\">\r\n <!-- <div *ngIf=\"!qbItem.edit\"\r\n [ngClass]=\"{ 'question sum-ques myt-font3 myt-font8': this.abItem.status != 'Completed' }\">\r\n <a [ngClass]=\"{ asum: this.abItem.status === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\r\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\r\n </div>\r\n <div *ngIf=\"qbItem.edit\"\r\n [ngClass]=\"{ 'sum-ques question myt-font3 myt-font8': this.abItem.status != 'Completed' }\">\r\n <div [ngClass]=\"{ 'sum-ques1 question1 summary-completed myt-font3 myt-font8': this.abItem.status === 'Completed' }\"\r\n [innerHTML]=\"getText(qa.quesValue)\">\r\n {{ qa.quesValue }}\r\n </div>\r\n </div> -->\r\n <div *ngIf=\"qbItem.edit && this.abItem.status != 'Completed'\" style=\"background: #dedddd;\">\r\n <button class=\"nxt-edit\" (click)=\"handleEditClick(qa.quesId)\">\r\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"nxt-icon-editios\"/>\r\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"nxt-icon-edit\" />\r\n </button>\r\n </div>\r\n \r\n <div class=\"nxt-answer\">\r\n <div *ngIf=\"qa.qTyp === 'File'\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"nxt-icon-edit-summary\" />\r\n {{ qa.ansValue }}\r\n </div>\r\n <div *ngIf=\"qa.qTyp != 'File'\">\r\n {{ qa.ansValue }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"flexer1\" *ngIf=\"abItem\">\r\n <div class=\"\" *ngIf=\"abItem.status == 'Completed' && qbItem.cancel\">\r\n <div class=\"col-md-12\">\r\n <button [ngClass]=\"{'btn-text': qbItem.progressBar,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.progressBar}\"\r\n (click)=\"handleCancelClick()\">\r\n {{ qbItem.cancel }}\r\n </button>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Group Actions -->\r\n <div class=\"align-edit-submit\" *ngIf=\"abItem.status != 'Completed'\">\r\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\r\n <div class=\"col-md-6\" *ngIf=\"qbItem.submit\">\r\n <button [ngClass]=\"{ 'btn-text2': qbItem.progressBar,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.progressBar }\" \r\n (click)=\"handleSubmitClick()\">\r\n {{ qbItem.submit }}\r\n </button>\r\n </div>\r\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\r\n <!-- <div class=\"col-md-6\" *ngIf=\"qbItem.edit\">\r\n <button [ngClass]=\"{'grey': qbItem.progressBar,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.progressBar}\" \r\n (click)=\"handleBackClickNew()\">\r\n {{ qbItem.edit }}\r\n </button>\r\n </div> -->\r\n </div>\r\n\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { Question } from '../wrapper';\r\nimport { BookletWrapper } from '../model/bookletWrapper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n nxtBookletAnswer: BookletWrapper;\r\n selectedData:any;\r\n\r\n constructor() { }\r\n\r\n save(qbJson: BookletWrapper) {\r\n this.nxtBookletAnswer = qbJson;\r\n }\r\n\r\n update(questionWithInput: Question) {\r\n // Store the Updated Questions (with Answer/Error) in a Map\r\n\r\n // for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\r\n // if(eQuestion == questionWithInput.Id) {\r\n // this.nxtBookletAnswer.bookQuestionsMap[eQuestion] = questionWithInput;\r\n // }\r\n // }\r\n // RS 09DEC24 Changed keys\r\n for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\r\n if (this.nxtBookletAnswer.bookQuestionsMap.hasOwnProperty(eQuestion)) {\r\n const questionsR = this.nxtBookletAnswer.bookQuestionsMap[eQuestion].subQuestions;\r\n // VD 31NOV24 wrapper changes\r\n for(let i=0;i<questionsR.length;i++){\r\n if(questionsR[i].id == questionWithInput.id){\r\n questionsR[i] = questionWithInput;\r\n console.log('assigned success');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n get() {\r\n // return the stored questions\r\n return this.nxtBookletAnswer;\r\n\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { Question } from '../../wrapper';\r\n//import { QuestionbookComponent } from '../../pages/questionbook/questionbook.component';\r\n//import { ComponenthostDirective } from '../../directives/componenthost/componenthost.directive';\r\nimport { ChangeService } from '../../services/change.service';\r\ninterface CalendarDay {\r\n date: Date;\r\n events: any[];\r\n isCurrentMonth: boolean;\r\n isPast: boolean;\r\n isToday: boolean;\r\n isFuture: boolean;\r\n isSelected?: boolean;\r\n}\r\n@Component({\r\n selector: 'app-custom-calendar',\r\n templateUrl: './custom-calendar.component.html',\r\n styleUrls: ['./custom-calendar.component.css'],\r\n})\r\nexport class CustomCalendarComponent implements OnInit {\r\n @Output() eventSelected = new EventEmitter<any>();\r\n // VD 06Sep24 calendar changes\r\n @Output() dateSelected = new EventEmitter<any>();\r\n @Output() openModal = new EventEmitter<any>();\r\n @Output() closeModal = new EventEmitter<any>();\r\n @Input() allEvents: any[] = []; \r\n @Input() question: Question\r\n @Input() nxtId: string;\r\n //@ViewChild(ComponenthostDirective, { static: true }) dynamicHost: ComponenthostDirective;\r\n entries = [];\r\n referenceQuestions = [];\r\n qbRefrenceBook:any;\r\n calendarQuestion = [];\r\n calendar = {};\r\n currentDate: Date = new Date();\r\n calendarDays: CalendarDay[] = [];\r\n daysOfWeek: string[] = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\r\n newEventTitle: string = '';\r\n newEventTime: string = '';\r\n newDescription: string = '';\r\n newLink: string = '';\r\n selectedDay: CalendarDay | null = null;\r\n isModalOpen = false;\r\n modalTitle = 'Custom Modal';\r\n modalSize = 'large';\r\n saveButtonValue = 'Save';\r\n modalFooter = true;\r\n editingEventId: number;\r\n editingEntryGroup: any;\r\n showAppoinmentSection: boolean = true;\r\n subscription: any;\r\n constructor( private changeService: ChangeService) { }\r\n ngOnInit() {\r\n if(this.question?.input){\r\n this.allEvents = this.question.input;\r\n }\r\n this.processQuestion();\r\n this.generateCalendar();\r\n this.subscription = this.changeService.customChange$.subscribe(\r\n (changeValue) => {\r\n if(changeValue == 'calendar-modal-save') {\r\n this.onSave();\r\n }\r\n if(changeValue == 'dataBind') {\r\n if(this.question?.input){\r\n this.allEvents = this.question.input;\r\n }\r\n this.processQuestion();\r\n this.generateCalendar();\r\n }\r\n }\r\n );\r\n // this.dateSelected.emit(this.calendar);\r\n //this.eventSelected.emit(this.allEvents);\r\n }\r\n // RS 09DEC24 Changed keys\r\n processQuestion(){\r\n this.entries = JSON.parse(this.question['fieldsMeta']);\r\n this.qbRefrenceBook = JSON.parse(this.question['qbReferenceQuestions']);\r\n let title = this.qbRefrenceBook?.questionbook?.title;\r\n this.modalTitle = title;\r\n this.referenceQuestions = [];\r\n if(this.entries.length > 0){\r\n this.entries.forEach(element => {\r\n if(element.questionReference){\r\n let qReference = JSON.parse(element.questionReference);\r\n this.referenceQuestions.push(qReference?.question);\r\n }\r\n });\r\n }\r\n console.log('entries-->');\r\n console.log('question-->');\r\n console.log(this.entries);\r\n console.log(this.referenceQuestions);\r\n }\r\n // sunday comment\r\n // openQuestionBookModal() {\r\n // const viewContainerRef = this.dynamicHost.viewContainerRef;\r\n // viewContainerRef.clear();\r\n // const componentRef = viewContainerRef.createComponent(QuestionbookComponent);\r\n // componentRef.instance.qbItem = this.qbRefrenceBook;\r\n // componentRef.instance.questions = this.referenceQuestions;\r\n // componentRef.instance.handleQuestion.subscribe((event: any) => this.handleQuestionEvent(event));\r\n // }\r\n\r\n generateCalendar() {\r\n const year = this.currentDate.getFullYear();\r\n const month = this.currentDate.getMonth();\r\n\r\n const startOfMonth = new Date(year, month, 1);\r\n const endOfMonth = new Date(year, month + 1, 0);\r\n\r\n const startDayOfWeek = startOfMonth.getDay();\r\n const endDayOfWeek = endOfMonth.getDay();\r\n\r\n const startDate = new Date(startOfMonth);\r\n startDate.setDate(startDate.getDate() - startDayOfWeek);\r\n\r\n const endDate = new Date(endOfMonth);\r\n endDate.setDate(endDate.getDate() + (6 - endDayOfWeek));\r\n\r\n const today = new Date(new Date().setHours(0, 0, 0, 0));\r\n \r\n this.calendarDays = [];\r\n for (let d = new Date(startDate); d <= endDate; d.setDate(d.getDate() + 1)) {\r\n const date = new Date(d);\r\n this.calendarDays.push({\r\n date: date,\r\n events: [],\r\n isCurrentMonth: d.getMonth() === month,\r\n isPast: date < today,\r\n isToday: date.getTime() === today.getTime(),\r\n isFuture: date > today,\r\n });\r\n }\r\n\r\n // Populate calendar with events from allEvents array\r\n this.calendarDays.forEach(day => {\r\n day.events = this.allEvents?.filter(event => event?.date?.toDateString() === day.date.toDateString());\r\n });\r\n // VD 06Sep24 calendar changes\r\n let cal = {}\r\n cal['year'] = year;\r\n cal['month'] = month + 1;\r\n this.calendar = cal;\r\n }\r\n\r\n selectDay(day: CalendarDay) {\r\n console.log(day);\r\n // VD 06Sep24 calendar changes\r\n this.showAppoinmentSection = true;\r\n this.selectedDay = day;\r\n // this.eventSelected.emit(day?.events);\r\n const previouslySelectedDay = this.calendarDays.find(d => d.isSelected);\r\n if (previouslySelectedDay) {\r\n previouslySelectedDay.isSelected = false;\r\n }\r\n // Select the clicked day\r\n day.isSelected = true;\r\n // VD 09Sep24- setup the query param data for api call\r\n let referenceData = [];\r\n this.referenceQuestions.forEach(ques => {\r\n // VD 09-09-24 get the selected date\r\n // need to add in the document\r\n // RS 09DEC24 Changed keys\r\n if(ques.referenceField == 'selectedDate'){\r\n ques.input = day.date.toISOString();\r\n console.log(ques.input);\r\n }\r\n // VD 09-09-24 get the query refrence field data to pass the queryParam for api\r\n if(ques.subText){\r\n let subText = JSON.parse(ques.subText);\r\n if (subText.queryField && subText.queryValueReference) {\r\n let currentQues = ques;\r\n let queryReferences = subText.queryValueReference.split(','); \r\n queryReferences.forEach(refField => {\r\n let refQues = this.referenceQuestions.find(q => q.referenceField === refField);\r\n if (refQues) {\r\n referenceData.push(refQues);\r\n }\r\n });\r\n // Add the referenceData array to the current question\r\n currentQues.referenceQueryData = referenceData;\r\n }\r\n }\r\n })\r\n }\r\n\r\n previousMonth() {\r\n this.showAppoinmentSection = false;\r\n this.currentDate.setMonth(this.currentDate.getMonth() - 1);\r\n this.currentDate = new Date(this.currentDate); // Ensure the date object is updated\r\n this.generateCalendar();\r\n this.dateSelected.emit(this.calendar);\r\n this.eventSelected.emit(this.allEvents);\r\n }\r\n\r\n nextMonth() {\r\n // VD 06Sep24 calendar changes\r\n this.showAppoinmentSection = false;\r\n this.currentDate.setMonth(this.currentDate.getMonth() + 1);\r\n this.currentDate = new Date(this.currentDate); // Ensure the date object is updated\r\n this.generateCalendar();\r\n this.dateSelected.emit(this.calendar);\r\n this.eventSelected.emit(this.allEvents);\r\n }\r\n\r\n addAppointment() {\r\n this.isModalOpen = true;\r\n this.calendarQuestion = this.referenceQuestions.map(q => ({ ...q, input: '' }));\r\n this.referenceQuestions.forEach(ques => {\r\n // clear the input\r\n if(ques.referenceField != 'selectedDate'){\r\n if(ques.type == 'Dropdown'){\r\n delete ques.input;\r\n delete ques.selectedValue;\r\n // VD 06Sep24 calendar changes\r\n }else {\r\n delete ques.input;\r\n }\r\n }\r\n });\r\n console.log(this.referenceQuestions);\r\n this.editingEventId = null;\r\n this.calendarQuestion = this.referenceQuestions;\r\n this.openBookModel();\r\n // sunday comment\r\n //this.openQuestionBookModal();\r\n }\r\n\r\n openBookModel(){\r\n this.openModal.emit({\r\n qbRefrenceBook: this.qbRefrenceBook,\r\n referenceQuestions: this.referenceQuestions,\r\n modalTitle : this.modalTitle,\r\n modalSize : this.modalSize,\r\n saveButtonValue : this.saveButtonValue,\r\n modalFooter : this.modalFooter,\r\n\r\n });\r\n }\r\n\r\n closeCalendarModal() {\r\n this.isModalOpen = false;\r\n this.closeModal.emit(true);\r\n }\r\n // VD 06Sep24 calendar changes\r\n\r\neditEvent(event: any, entryGroup: any) {\r\n this.isModalOpen = true;\r\n this.referenceQuestions = Object.values(entryGroup);\r\n this.calendarQuestion = [...this.referenceQuestions]; // Make a copy of the current entries to edit\r\n this.editingEventId = event.id;\r\n this.editingEntryGroup = entryGroup; // Store the entry group being edited\r\n this.generateCalendar(); // Regenerate the calendar to reflect changes\r\n this.openBookModel();\r\n // suday comment\r\n // this.openQuestionBookModal();\r\n\r\n}\r\n\r\ndeleteEvent( eventId: number, entryGroup: any) {\r\n let event = this.allEvents?.find(e => e?.id === eventId);\r\n if (event) {\r\n // Find the index of the entryGroup to delete\r\n const entryIndex = event.entries.indexOf(entryGroup);\r\n if (entryIndex > -1) {\r\n event.entries.splice(entryIndex, 1); // Remove the specific entry\r\n }\r\n\r\n // If the event has no more entries, remove the event entirely\r\n if (event.entries.length === 0) {\r\n const eventIndex = this.allEvents?.indexOf(event);\r\n if (eventIndex > -1) {\r\n this.allEvents?.splice(eventIndex, 1); // Remove the entire event\r\n }\r\n }\r\n }\r\n let eventData = {};\r\n eventData['action'] = \"delete\";\r\n eventData['data'] = event;\r\n this.eventSelected.emit(eventData);\r\n this.generateCalendar(); // Regenerate the calendar to reflect the changes\r\n}\r\n\r\n // VD 06Sep24 calendar changes\r\n addEvent(day: CalendarDay, entryQues) {\r\n // Transform new entries into the desired format\r\n const newEntries = entryQues.reduce((acc, q) => {\r\n acc[q.id] = { ...q };\r\n return acc;\r\n }, {});\r\n\r\n // Find an existing event for the given date\r\n const existingEvent = day.events?.find(event => event.date === day.date);\r\n\r\n if (existingEvent) {\r\n // Merge new entries into the existing event's entries array\r\n // Check if the entries array already contains an object with the same id\r\n const existingEntries = existingEvent.entries.map(entry => ({ ...entry }));\r\n // Append new entries to the existing entries\r\n existingEntries.push(newEntries);\r\n existingEvent.entries = existingEntries;\r\n } else {\r\n // Create a new event if it doesn't exist for the given date\r\n const newEvent = {\r\n id: this.generateId(),\r\n date: day.date,\r\n entries: [newEntries] // Wrap the new entries in an array\r\n };\r\n day.events = day?.events || []\r\n day.events.push(newEvent);\r\n this.allEvents?.push(newEvent);\r\n //this.eventSelected.emit(this.allEvents);\r\n let eventData = {};\r\n eventData['action'] = \"add\";\r\n eventData['data'] = newEvent;\r\n this.eventSelected.emit(eventData);\r\n }\r\n this.generateCalendar();\r\n console.log('allEvents', this.allEvents);\r\n}\r\n // VD 06Sep24 calendar changes\r\n onSave() {\r\n if (this.editingEventId !== null) {\r\n const event = this.allEvents?.find(e => e?.id === this.editingEventId);\r\n if (event && this.editingEntryGroup) {\r\n // Update the specific entry group within the event\r\n const entryIndex = event.entries.findIndex(entryGroup => entryGroup === this.editingEntryGroup);\r\n if (entryIndex > -1) {\r\n event.entries[entryIndex] = this.calendarQuestion.reduce((acc, q) => {\r\n acc[q.id] = { ...q };\r\n return acc;\r\n }, {});\r\n }\r\n }\r\n // this.eventSelected.emit(this.allEvents);\r\n let eventData = {};\r\n eventData['action'] = \"edit\";\r\n eventData['data'] = event;\r\n this.eventSelected.emit(eventData);\r\n } else {\r\n if (this.selectedDay) {\r\n this.addEvent(this.selectedDay, this.calendarQuestion);\r\n }\r\n }\r\n this.closeCalendarModal();\r\n this.generateCalendar();\r\n}\r\n\r\n // onCancel() {\r\n // console.log('Cancel button clicked');\r\n // this.closeCalendarModal();\r\n // }\r\n //this funtion need to be used\r\n // handleQuestionEvent(ques){\r\n // // Update the questions array with the new question\r\n // const index = this.calendarQuestion.findIndex(q => q.id === ques.id);\r\n // if (index > -1) {\r\n // // If question already exists, update it\r\n // this.calendarQuestion[index] = ques;\r\n // } else {\r\n // // If question doesn't exist, add it to the array\r\n // this.calendarQuestion.push(ques);\r\n // }\r\n // console.log(this.calendarQuestion);\r\n // }\r\n\r\n // VD 06Sep24 calendar changes\r\n generateId() {\r\n return '_' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n getEntryKeys(entryGroup: any): string[] {\r\n return Object.keys(entryGroup);\r\n}\r\n\r\nremoveCharacters(questionText:string){\r\n let updatedText = questionText?.replace(/<[^>]*>/g, '');\r\n return updatedText;\r\n}\r\n\r\n}\r\n","<div class=\"align-calendar\">\r\n <div class=\"calendar-container\">\r\n <div class=\"calendar-header\">\r\n <button (click)=\"previousMonth()\"><< Previous >></button>\r\n <h3>{{ currentDate | date: 'MMMM yyyy' }}</h3>\r\n <button (click)=\"nextMonth()\"><< Next >></button>\r\n </div>\r\n <div class=\"calendar-grid\">\r\n <div class=\"day-of-week\" *ngFor=\"let day of daysOfWeek\">{{ day }}</div>\r\n <div\r\n class=\"calendar-day\"\r\n *ngFor=\"let day of calendarDays\"\r\n [class.not-current-month]=\"!day.isCurrentMonth\"\r\n [class.past]=\"day.isPast\"\r\n [class.today]=\"day.isToday\"\r\n [class.future]=\"day.isFuture\"\r\n [class.selected]=\"day.isSelected\"\r\n (click)=\"selectDay(day)\"\r\n >\r\n <div class=\"day-number\">{{ day.date.getDate() }}\r\n <span *ngIf=\"day?.events?.length > 0\" class=\"entry-indicator\" [class.select]=\"day?.isSelected\"></span>\r\n </div>\r\n <!-- <div *ngFor=\"let event of day.events\" >\r\n <div *ngFor=\"let entryGroup of event.entries\" class=\"event\">\r\n <div *ngFor=\"let key of getEntryKeys(entryGroup)\">\r\n <div *ngIf=\"entryGroup[key].type == 'Time'\">\r\n {{ entryGroup[key].input?.value | date: 'shortTime' }}\r\n </div>\r\n <div *ngIf=\"entryGroup[key].type != 'Time'\">\r\n {{ entryGroup[key].input }}\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"appoinappointment\">\r\n <div class=\"appointments-container\">\r\n <h4>Add Appointment</h4>\r\n <button *ngIf=\"selectedDay\" (click)=\"addAppointment()\">Add</button>\r\n </div>\r\n <!--VD 06Sep24 calendar updates--> \r\n <!-- RS 09DEC24 Changed keys--> \r\n <div *ngIf=\"showAppoinmentSection && selectedDay?.events?.length > 0\" class=\"appointments-container\">\r\n <h4>Appointments</h4>\r\n <div *ngFor=\"let event of selectedDay?.events\">\r\n <div class=\"event\" *ngFor=\"let entryGroup of event.entries\">\r\n <div class=\"event-info\">\r\n <div *ngFor=\"let key of getEntryKeys(entryGroup)\" class=\"entry-row\">\r\n <div *ngIf=\"entryGroup[key].questionText\" class=\"entry-text\">\r\n {{removeCharacters(entryGroup[key].questionText)}}:\r\n </div>\r\n <div class=\"entry-value\">\r\n <!-- VD 09Sep24- date type and link type updates -->\r\n <span *ngIf=\"entryGroup[key].type != 'Time' && entryGroup[key].type != 'Link'&& entryGroup[key].type != 'Date'\">{{ entryGroup[key].input }}</span>\r\n <span *ngIf=\"entryGroup[key].type == 'Time'\">{{ entryGroup[key].input | date: 'shortTime' }}</span>\r\n <span *ngIf=\"entryGroup[key].type == 'Date'\">{{ entryGroup[key].input | date: 'mediumDate' }}</span>\r\n <span *ngIf=\"entryGroup[key].type == 'Link'\">\r\n <a [href]=\"'//'+ entryGroup[key].input\" target=\"_blank\">{{removeCharacters(entryGroup[key].questionText)}}</a>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"event-actions\">\r\n <button (click)=\"editEvent(event,entryGroup)\">Edit</button>\r\n <button (click)=\"deleteEvent(event.id,entryGroup)\">Delete</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- <app-custom-model\r\n [modalTitle]=\"modalTitle\"\r\n [isModalOpen]=\"isModalOpen\"\r\n [modalSize]=\"modalSize\"\r\n [saveButtonValue]=\"saveButtonValue\"\r\n [modalFooter]=\"modalFooter\"\r\n (saveButtonEmit)=\"onSave()\"\r\n (cancelButtonEmit)=\"onCancel()\"\r\n>\r\n<lib-questionbook [qbItem]=\"qbRefrenceBook\" [questions]=\"referenceQuestions\" (handleQuestion)=\"handleQuestionEvent($event)\"></lib-questionbook>\r\n<ng-template dynamicComponentHost ></ng-template>\r\n</app-custom-model> -->","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\n// VD 23JAN24 removed httpClient import used service file for callout\r\nimport { Observable } from 'rxjs';\r\nimport { ItemsList } from \"@ng-select/ng-select/lib/items-list\";\r\nimport { ConsoleService } from \"@ng-select/ng-select/lib/console.service\";\r\nimport { APIMeta } from \"../../interfaces/apimeta\";\r\nimport { ChangeWrapper } from \"../../model/changeWrapper\";\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from \"../../i18n.service\";\r\n\r\n@Component({\r\n selector: 'lib-search-box',\r\n templateUrl: './search-box.component.html',\r\n styleUrls: ['./search-box.component.css']\r\n})\r\nexport class SearchBoxComponent implements OnInit {\r\n @Input() placeHolderText: string;\r\n @ViewChild('auto') auto;\r\n\r\n @Input() question;\r\n @Input() apiMeta: string;\r\n @Input() id: string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Output() searchValueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n apiObj:any;\r\n SearchItem: any;\r\n\r\n @Input() filterName: string; // VD 20Aug default filter value as input\r\n public finalResults: any[] = [];\r\n public searchKeyWord: string = '';\r\n public newResult: any;\r\n public showResult = false;\r\n public noResult = false;\r\n public showSuggestion = true;\r\n private el: HTMLElement;\r\n private serv: string = 'api';\r\n private tkn: string = '';\r\n \r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private route: ActivatedRoute,\r\n el: ElementRef,\r\n public i18nService: I18nService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n// VD 03May- search changes\r\n if(this.apiMeta){\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.SearchItem = apiObj.field;\r\n }\r\n }\r\n\r\n clearList(){\r\n setTimeout(()=> {\r\n this.finalResults = [];\r\n }, 1000);\r\n }\r\n\r\n getSourceDataLocal(event) { //to get results list from backend API whenever key is up after the entering atleast one key\r\n if(event.target.value.length > 2){\r\n this.showSuggestion=true;\r\n this.finalResults=[];\r\n this.searchKeyWord = event.target.value;\r\n this.showResult = false;\r\n this.getSourceData(event.target.value);\r\n } else {\r\n this.showSuggestion=false;\r\n this.finalResults = [];\r\n this.noResult = false;\r\n }\r\n }\r\n // VD 03May- search changes\r\n // VD 31NOV24 null check\r\n public getSourceData = (keyword: string) => {\r\n if(this.apiMeta) {\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.dataService.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {\r\n let response;\r\n if(apiObj.variable){\r\n // VD 22May24 - handling multiple child objects\r\n response = this.dataService.getValue(apiResponse,apiObj.variable);\r\n }else{\r\n response = apiResponse;\r\n }\r\n let field = apiObj.field;\r\n let results=[];\r\n for (let i = 0; i < response.length; i++) { // VD NOV23 - updated the search keys\r\n // VD 26JUN24 - handling multiple objects\r\n const objValue = this.dataService.getValue(response[i],field);\r\n if(objValue?.toLowerCase().includes(keyword?.toLowerCase())) {\r\n console.log('pushing ' + objValue);\r\n results.push(response[i]);\r\n }\r\n }\r\n this.noResult = !(results.length > 1);\r\n this.finalResults = results;\r\n })\r\n }\r\n }\r\n\r\n public clickItem(event) {\r\n // console.log('inside clickItem of ' + event.target.value);\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.filterName = event[apiObj.field];\r\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\r\n change.fromQuestionId = this.id;\r\n change.valueObj = event;\r\n change.field = apiObj.field;\r\n this.searchValueChange.emit(change);\r\n }\r\n /*\r\n public getSourceData = (keyword: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successSourceData,\r\n this.failureSourceData\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successSourceData,\r\n this.failureSourceData\r\n );\r\n }\r\n }\r\n\r\n public successSourceData = (response) => {\r\n let results=[];\r\n results=response.results;\r\n results.push({uuid: null, name: \"\"});\r\n this.noResult = !(results.length > 1);\r\n this.finalResults = results;\r\n }\r\n\r\n public failureSourceData = (response) => {\r\n console.log(\"Error reading the data from API\");\r\n }\r\n */\r\n}\r\n","<!-- // VD 12Jun24 - readonly change-->\r\n<div id=\"autocomplete-input\"> <!-- SKS5NOV25 search icon -->\r\n <input #auto id=\"searchbox-style\"\r\n (blur)=\"clearList()\" \r\n [(ngModel)]=\"filterName\" \r\n type=\"text\" \r\n name=\"name\" \r\n [readOnly]=\"readOnly\"\r\n [placeholder]=\"placeHolderText\" \r\n style=\"margin: 0 !important; padding-right: 30px;\" \r\n class=\"searchInput she-line-input form-control\" \r\n (focusin)=\"getSourceDataLocal($event)\" \r\n (input)=\"getSourceDataLocal($event)\">\r\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\r\n <div *ngIf=\"finalResults.length > 0 && showSuggestion\" \r\n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\" \r\n class=\"suggestions-container\">\r\n <!-- HA 20DEC23 Uncommented the logic -->\r\n <!-- VD 03May- search changes -->\r\n <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\r\n <!-- VD 26Jun24 - id condition removed -->\r\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\">\r\n <div *ngIf=\"item.thumbnail\" class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\r\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\r\n </div>\r\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\r\n <!--// VD 26JUN24 - pipe changes -->\r\n <h4 >{{ '' | getValue: item : SearchItem }}</h4>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- HA 20DEC23 For Commented this for future purpose -->\r\n <!-- <table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <tr>\r\n <th>{{ 'firstName' | i18n:i18nService.currentLanguage }}</th>\r\n <th>{{ 'lastName' | i18n:i18nService.currentLanguage }}</th>\r\n <th>{{ 'division' | i18n:i18nService.currentLanguage }}</th>\r\n <th>{{ 'numberPlate' | i18n:i18nService.currentLanguage }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of finalResults\" (click)='clickItem(item)'>\r\n <td>{{ item.firstName }}</td>\r\n <td>{{ item.lastName }}</td>\r\n <td>{{ item.division }}</td>\r\n <td>{{ item.numberPlate }}</td>\r\n </tr>\r\n </tbody>\r\n </table> -->\r\n </div>\r\n</div>\r\n","import { Component, OnInit,Output,EventEmitter, Input ,ElementRef, OnChanges,SimpleChanges} from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { DataService } from '../../services/data.service';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.css']\r\n})\r\nexport class FileUploadComponent implements OnInit,OnChanges {\r\n @Output() selectedFileData = new EventEmitter<any[]>();\r\n @Output() deletedFileData = new EventEmitter<any>();\r\n @Input() allFiles;\r\n @Input() limitFileUploading;\r\n @Input() isDeleteFileButtonVisible;\r\n @Input() isShowNoFileIcon;\r\n @Input() tableFile; // file Upload from table\r\n @Input() question;\r\n @Input() error:any;\r\n//RS 09JAN2025\r\n public allowedFileTypes: string[] = [];\r\n public maxFileSize: number = 0; // in bytes(Binary)\r\n public maxFiles: number = 4; // default limit\r\n public validationErrors: string[] = [];\r\n \r\n\r\n public selectedFileNameArray: string[] = [];\r\n public copyOfInputAllFiles;\r\n public copyOfFileUploadingLimit;\r\n public fileUrl;\r\n public showFile = false;\r\n public isImage = false;\r\n public fileName = '';\r\n currentFile: any;\r\n constructor(private SharedService: SharedService, private dataService: DataService,private sanitizer: DomSanitizer,\r\n public i18nService: I18nService\r\n ) { }\r\n //RS 09JAN2025\r\n ngOnInit() {\r\n this.initializeFileConfigs();\r\n }\r\n // VD 03May24 file upload fix\r\n // onFileUpload(event: any) {\r\n // const fileUploaderElement: HTMLElement = document.getElementById(\r\n // 'fileUpload'\r\n // ) as HTMLElement;\r\n // fileUploaderElement.click();\r\n // }\r\n\r\n ngOnChanges(simpleChanges: SimpleChanges) {\r\n console.log('simple changes', simpleChanges);\r\n if (simpleChanges.allFiles) { //SKS5NOV25\r\n this.copyOfInputAllFiles = simpleChanges.allFiles.currentValue || [];\r\n }\r\n\r\n if (simpleChanges.limitFileUploading) {\r\n this.copyOfFileUploadingLimit = simpleChanges.limitFileUploading?.currentValue;\r\n }\r\n\r\n }\r\n\r\n //RS 09JAN2025 Initializes file upload settings (allowed types, max size, and max files) by parsing metadata from fieldsMeta\r\n initializeFileConfigs() {\r\n if (this.question?.fieldsMeta) {\r\n try {\r\n const metaData = JSON.parse(this.question.fieldsMeta);\r\n const fileConfig = metaData[0]; // Get first config object\r\n if (fileConfig) {\r\n this.allowedFileTypes = fileConfig.allowedTypes || [];\r\n this.maxFileSize = fileConfig.maxFileSize || 0;\r\n this.maxFiles = fileConfig.maxFiles || 5;\r\n }\r\n } catch (error) {\r\n console.error('Error parsing fieldsMeta:', error);\r\n }\r\n }\r\n }\r\n\r\n uploadMultipleFiles(event: any) {\r\n console.log('File uploader initiated');\r\n this.validationErrors = []; // RS 17JAN2025 Clear previous errors\r\n let inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\r\n const selectedFileData = [];\r\n const uploadedFiles = event.target.files;\r\n\r\n // RS 09JAN2025 Check file count limit\r\n if (uploadedFiles.length + inputFiles.length > this.maxFiles) {\r\n this.validationErrors.push(`Maximum ${this.maxFiles} files allowed`);\r\n event.target.value = '';\r\n return;\r\n }\r\n\r\n const readFilesPromises = [];\r\n\r\n for (const eachUploadedFile of uploadedFiles) {\r\n const file: File = eachUploadedFile;\r\n \r\n //RS 09JAN2025 Check file type\r\n const fileExt = '.' + file.name.split('.').pop().toLowerCase();\r\n if (this.allowedFileTypes.length > 0 && !this.allowedFileTypes.includes(fileExt)) {\r\n this.validationErrors.push(`File type ${fileExt} not allowed. Allowed types: ${this.allowedFileTypes.join(', ')}`);\r\n continue;\r\n }\r\n\r\n //RS 09JAN2025 Check file size\r\n if (this.maxFileSize > 0 && file.size > this.maxFileSize) {\r\n this.validationErrors.push(`File \"${file.name}\" exceeds size limit of ${this.maxFileSize / 1048576}MB`);\r\n continue;\r\n }\r\n\r\n if (!this.validationErrors.length) {\r\n const format = fileExt.substring(1);\r\n const fileReadPromise = new Promise<void>((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n \r\n reader.onload = () => {\r\n const fileData = {\r\n doc: reader.result,\r\n name: file.name,\r\n type: file.type,\r\n format,\r\n size: file.size, // RS 17JAN2025 \r\n id: null,\r\n };\r\n \r\n selectedFileData.push(fileData);\r\n inputFiles.push(fileData);\r\n resolve();\r\n };\r\n \r\n reader.onerror = () => {\r\n reject();\r\n this.validationErrors.push(`Error reading file \"${file.name}\"`);// RS 17JAN2025 \r\n };\r\n });\r\n readFilesPromises.push(fileReadPromise); \r\n }\r\n }\r\n if (readFilesPromises.length > 0) {\r\n // Wait for all promises to resolve\r\n Promise.all(readFilesPromises).then(() => {\r\n this.copyOfInputAllFiles = inputFiles;\r\n console.log('uploadedFiles', inputFiles);\r\n this.selectedFileData.emit(inputFiles);\r\n }).catch(() => {\r\n console.error('Error reading files');\r\n });\r\n } else {\r\n console.warn('You can upload max 5 files');\r\n // this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\r\n }\r\n \r\n event.target.value = '';\r\n }\r\n \r\n\r\n // uploadMultipleFiles(event: any) {\r\n // console.log('File uploader initiated');\r\n // let inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\r\n // const selectedFileData = [];\r\n // const uploadedFiles = event.target.files;\r\n // if (uploadedFiles.length + inputFiles.length <= this.copyOfFileUploadingLimit) {\r\n // for (const eachUploadedFile of uploadedFiles) {\r\n // const reader = new FileReader();\r\n // const file: File = eachUploadedFile;\r\n // const format = file.name.split('.')[1];\r\n // reader.readAsDataURL(file);\r\n // reader.onload = () => {\r\n // selectedFileData.push({\r\n // doc: reader.result,\r\n // name: file.name,\r\n // type: file.type,\r\n // format,\r\n // id: null,\r\n // });\r\n // inputFiles.push({\r\n // doc: reader.result,\r\n // name: file.name,\r\n // type: file.type,\r\n // format,\r\n // id: null,\r\n // });\r\n // };\r\n // }\r\n // } else {\r\n // console.warn('You can upload max 5 files');\r\n // //this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\r\n // }\r\n // event.target.value = '';\r\n // this.copyOfInputAllFiles = inputFiles;\r\n // console.log('uploadedFiles',inputFiles);\r\n // this.selectedFileData.emit(inputFiles);\r\n // }\r\n\r\n\r\n deleteFile(currentFileIndex) {\r\n const deletedFileName = this.selectedFileNameArray.splice(currentFileIndex, 1);\r\n const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);\r\n console.log('emit', deletedFile[0]);\r\n this.deletedFileData.emit(deletedFile[0]);\r\n this.selectedFileData.emit(this.copyOfInputAllFiles);\r\n }\r\n\r\n\r\n// VD 20May24 - preview changes\r\n// RS 09DEC24 Changed keys\r\n viewFile(currentFile) {\r\n this.currentFile = currentFile;\r\n this.showFile = true;\r\n console.log(currentFile);\r\n if(this.question.subText != undefined) {\r\n let fileMeta = JSON.parse(this.question.subText);\r\n let endpoint = fileMeta.endpoint;\r\n let queryParameter = fileMeta.queryParameter;\r\n let file = currentFile;\r\n if(endpoint){\r\n const fullEndPoint = endpoint + '?'+ queryParameter + '=' + file[queryParameter];\r\n if(fullEndPoint){\r\n this.dataService.apiResponse(fullEndPoint).subscribe((apiResponse) => {\r\n if(apiResponse){\r\n this.handleFileContent(apiResponse);\r\n }\r\n })\r\n }\r\n }\r\n }else {\r\n this.viewLocalFile()\r\n }\r\n }\r\n\r\n// // VD 03Aug24 process local preview \r\n viewLocalFile(){\r\n if(this.currentFile){\r\n this.setFileUrl(this.currentFile?.doc);\r\n this.fileName = this.currentFile.name;\r\n this.isImage = this.currentFile.type.startsWith('image/');\r\n }\r\n\r\n }\r\n\r\n \r\n handleFileContent(fileResponse: any) {\r\n const byteArray = new Uint8Array(fileResponse.content.data);\r\n const blob = new Blob([byteArray], { type: fileResponse.type });\r\n const url = window.URL.createObjectURL(blob);\r\n this.setFileUrl(url);\r\n this.isImage = false;\r\n if(fileResponse.name){\r\n this.fileName = fileResponse.name;\r\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'];\r\n const fileExtension = fileResponse.name.split('.').pop()?.toLowerCase();\r\n this.isImage = imageExtensions.includes(fileExtension || '');\r\n }\r\n }\r\n\r\n setFileUrl(url: string) {\r\n this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n\r\n getDocIcon(docName) {\r\n const ext = docName.split('.').pop(-1);\r\n return this.SharedService.docIcon(ext);\r\n }\r\n\r\n close(){\r\n this.showFile = false;\r\n this.fileName = '';\r\n this.fileUrl = '';\r\n this.isImage = false;\r\n if (this.fileUrl) {\r\n URL.revokeObjectURL(this.fileUrl);\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"row\" style=\"margin: 0;\">\r\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\r\n <!-- HA 19DEC23 For translation -->\r\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\r\n </div>\r\n\r\n <div class=\"col-lg-5 document-cnt m-t-10 m-b-10\"\r\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\r\n <div *ngIf=\"!tableFile\"> <!-- (click)=\"viewFile(eachFile)\" -->\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(eachFile?.name)\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\">\r\n {{eachFile?.name}}\r\n </div>\r\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\r\n </div>\r\n <!-- VD 20May24 - preview changes-->\r\n <div class=\"preview-icon\" (click)=\"viewFile(eachFile)\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/icons8-eye-24.png\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{eachFile?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\r\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\r\n <!-- HA 19DEC23 For translation -->\r\n <!-- VD 03May24 file upload fix-->\r\n <!-- RS 09JAN2025 -->\r\n <button [class]=\"error ? 'she-btn-primary-bordered Invalid' : 'she-btn-primary-bordered'\" style=\"width:275px;\" (click)=\"fileInput.click()\"[ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= maxFiles }\" [disabled]=\"copyOfInputAllFiles?.length >= maxFiles\">Choose Files</button>\r\n <input #fileInput type=\"file\" name=\"fileUpload\" multiple=\"multiple\" [accept]=\"allowedFileTypes.join(',')\"\r\n style=\"display:none;\"\r\n (change) = uploadMultipleFiles($event)\r\n />\r\n </label>\r\n\r\n <!-- RS 09JAN2025 -->\r\n <!-- Error messages section -->\r\n <div class=\"file-constraints\" *ngIf=\"validationErrors.length > 0\">\r\n <small class=\"text-danger\">\r\n <div *ngFor=\"let error of validationErrors\">{{ error }}</div>\r\n </small>\r\n </div>\r\n\r\n<!-- HA 19DEC23 For translation -->\r\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\r\n {{ 'uploadFile' | i18n:i18nService.currentLanguage }}\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\r\n </label>\r\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\r\n formControl?.documents?.errors?.required\">\r\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\r\n </span> -->\r\n <!-- RS 09DEC24 Changed keys--> \r\n</div>\r\n<div *ngIf=\"error\" class=\"error-msg\" style=\"margin-top: 10px;\">{{question?.errorMessage}}</div>\r\n<div class=\"nxt-file-overlay\" *ngIf=\"showFile\">\r\n <div class=\"nxt-file-map-modal\">\r\n <div class=\"nxt-file-model-content\">\r\n <div class=\"nxt-file-model-header\">\r\n <h4>{{fileName}}</h4>\r\n <button class=\"close-button\" (click)=\"close()\">X</button>\r\n </div>\r\n <ng-container *ngIf=\"isImage; else otherFile\">\r\n <img [src]=\"fileUrl\" class=\"img-fluid\" alt=\"File Preview\" />\r\n </ng-container>\r\n <ng-template #otherFile>\r\n <iframe [src]=\"fileUrl\" width=\"100%\" height=\"500px\"></iframe>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ChangeService } from '../../services/change.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-dependent-table',\r\n templateUrl: './dependent-table.component.html',\r\n styleUrls: ['./dependent-table.component.css']\r\n})\r\nexport class DependentTableComponent implements OnInit {\r\n\r\n @Input() alertMessage:any;\r\n\r\n ValueLength:boolean;\r\n Value:any;\r\n errorObj:any;\r\n\r\n constructor(private changeService: ChangeService) { \r\n this.changeService.changeField$.subscribe((data)=>{\r\n this.dependentData(data);\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.errorObj = JSON.parse(this.alertMessage);\r\n }\r\n\r\n dependentData(data:any){\r\n let existingData = data.Permits;\r\n if(existingData.length !== 0) {\r\n this.ValueLength = true;\r\n this.Value = existingData;\r\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(252, 35, 27)\");\r\n } else {\r\n this.ValueLength = false;\r\n this.Value = [];\r\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(12, 190, 12)\");\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"dropdown\" style=\"cursor: pointer;\">\r\n <span id=\"zoneIcon\"> \r\n <img src=\"./../../../../../assets/images/permit_icons/zone.png\" style=\"height: 35px; margin-left: 0px;\" alt=\"adv-search\">\r\n </span>\r\n <div class=\"dropdown-content\" style=\"margin-left: -300px; min-width: 415px;\">\r\n <div class=\"col-lg-12\">\r\n <table class=\"table table-striped table-bordered\">\r\n <tbody *ngIf=\"!ValueLength\">\r\n <tr>\r\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(12, 190, 12); text-align: center\">\r\n <span><b>{{ errorObj.noPermits }}</b></span>\r\n <span>{{ errorObj.noActive }}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <tbody id=\"zoneDetails\" *ngIf=\"ValueLength\">\r\n <tr>\r\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(252, 35, 27); text-align: center\">\r\n <span><b>{{ errorObj.permits }} ({{Value.length}})</b></span>\r\n <span>{{ errorObj.active }}</span>\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let item of Value\" >\r\n <td>\r\n <span>{{item?.permit_type}}-{{item?.ref_no}} - {{item?.status}} - {{item?.end_date}}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { TableWrapper } from '../../model/tableWrapper';\r\nimport { Question } from '../../wrapper';\r\n\r\n@Component({\r\n selector: 'app-table-appendix',\r\n templateUrl: './table-appendix.component.html',\r\n styleUrls: ['./table-appendix.component.css']\r\n})\r\nexport class TableAppendixComponent implements OnInit {\r\n @Input() question: Question\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n tableInfo: TableWrapper;\r\n tableHeader: any;\r\n tableData: any;\r\n addRowColSpan: number;\r\n tableAppendix:any;\r\n dropDownApi :any;\r\n dropDownData:any;\r\n\r\n constructor(public i18nService: I18nService) { }\r\n // RS 09DEC24 Changed keys\r\n ngOnInit(): void {\r\n if(this.question.subText != undefined) {\r\n this.tableInfo = JSON.parse(this.question.subText);\r\n\r\n this.tableHeader = this.tableInfo.header;\r\n this.tableData = this.tableInfo.data;\r\n this.tableAppendix = this.tableInfo.tableAppendix;\r\n this.dropDownApi = JSON.stringify(this.tableInfo['dropdownApi']);\r\n this.dropDownData = this.tableInfo['dropdownData'];\r\n const combinedData = {\r\n tableData: this.tableData,\r\n tableAppendix: null\r\n };\r\n if (this.tableAppendix) {\r\n combinedData.tableAppendix = this.tableAppendix;\r\n }\r\n this.valueChange.emit(combinedData);\r\n\r\n if(this.tableData?.addRow) {\r\n this.addRowColSpan = this.tableHeader.length - 2;\r\n }\r\n }\r\n }\r\n\r\n addRow(): void {\r\n let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));\r\n const updatedTableData = [...this.tableData, newItem];\r\n this.tableData = updatedTableData;\r\n this.emitTableDataValue(updatedTableData,this.tableAppendix);\r\n }\r\n\r\n updateLabel(rowIndex: number, label: string, value: string): void {\r\n this.tableData[rowIndex][label] = value;\r\n this.tableData[rowIndex].name = value.replace(/\\s+/g, '').toLowerCase();\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n \r\n updateNumber(item: any, label: string, value: string){\r\n item.value[label] = value;\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n\r\n updateToggle(item: any, header: string, value: any){\r\n let label = header['fieldName'];\r\n let toggleValue = header['toggleValue'];\r\n if(label == 'test1'){\r\n item.value[label][1] = value ? toggleValue[0] : toggleValue[1];\r\n }else{\r\n item.value[label] = value ? toggleValue[0] : toggleValue[1];\r\n }\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n updateDropDown(item: any, label: string, value: any){\r\n item.value[label] = value.valueObj['value'];\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n\r\n updateCheckText(item: any, label: string, value: any){\r\n item.value[label][0] = value;\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n\r\n updateTableAppendix(item: any, label: string, value: any){\r\n let toggleValue = item.value[0].toggleValue;\r\n if(item.key == 'dropDownData'){\r\n item.value[0].value[label] = value.valueObj['empIdName'];\r\n }else if(item.key == 'toggleData'){\r\n item.value[0].value[label] = value ? toggleValue[0] : toggleValue[1];\r\n }else{\r\n item.value[0].value[label] = value;\r\n }\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n\r\n emitTableDataValue(updatedTableData: any[],tableAppendix:any): void {\r\n const combinedData = {\r\n tableData: updatedTableData,\r\n tableAppendix: null\r\n };\r\n if(tableAppendix){\r\n combinedData.tableAppendix = this.tableAppendix;\r\n }\r\n this.valueChange.emit(combinedData);\r\n }\r\n\r\n //This function finds the index of the current test in the list of test keys and returns the key of the previous test. \r\n // If the current test is the first one, it returns null, as there is no previous test\r\n getPreviousTestKey(item: any, currentTest: string): string {\r\n const testKeys = Object.keys(item.value);\r\n const currentIndex = testKeys.indexOf(currentTest);\r\n \r\n if (currentIndex > 0) {\r\n return testKeys[currentIndex - 1];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n}\r\n","<table class=\"table table-striped table-bordered\">\r\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\r\n <th></th>\r\n <th>{{ tableInfo.tableHeader }}</th>\r\n <th></th>\r\n </thead>\r\n <thead>\r\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\r\n {{ header.label }}\r\n </th>\r\n </thead>\r\n <tbody id=\"safetyMeasuresTableBody\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <td *ngFor=\"let header of tableHeader; let j = index\">\r\n <div *ngIf=\"header.type === 'text'\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type.includes('number')\">\r\n <!-- HA 19DEC23 For translation -->\r\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"{{ 'enterValue' | i18n:i18nService.currentLanguage }}\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'dropdown'\">\r\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \r\n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\r\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\r\n </app-custom-dropdown>\r\n </div>\r\n <div *ngIf=\"header.type === 'textcheckbox'\">\r\n <div style=\"display: flex; justify-content: center;align-items: center;\">\r\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\r\n <label class=\"switch2\">\r\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \r\n type=\"checkbox\"\r\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\r\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </div>\r\n </div>\r\n <div *ngIf=\"header.type === 'labelcheckbox'\">\r\n <div style=\"display: flex; justify-content: center;align-items: center;\">\r\n <!-- HA 19DEC23 For translation -->\r\n <span style=\"text-align:left;\">{{ 'calibrated' | i18n:i18nService.currentLanguage }}</span>\r\n <label class=\"switch2\">\r\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \r\n type=\"checkbox\"\r\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\r\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\r\n <td colspan=\"1\">\r\n <!-- HA 19DEC23 For translation -->\r\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">{{ 'addMore' | i18n:i18nService.currentLanguage }} +</b>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\r\n <td colspan=\"3\">\r\n <!-- HA 19DEC23 For translation -->\r\n <b>{{ 'addMore' | i18n:i18nService.currentLanguage }}</b>\r\n </td>\r\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\r\n +\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\r\n <td *ngFor=\"let header of tableHeader; let l = index\">\r\n <div *ngIf=\"header.type === 'text'\" >\r\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\r\n <!-- HA 19DEC23 For translation -->\r\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \r\n [selectedValue]=\"item.value[0].value[header.fieldName]\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\r\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\r\n </app-custom-dropdown>\r\n </div>\r\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\r\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\r\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\r\n placeholder=\"DD/MM/YYYY HH:MM\">\r\n </div>\r\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\r\n <label class=\"switch2\">\r\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \r\n type=\"checkbox\"\r\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\r\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </div>\r\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\r\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\r\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\r\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { I18nService } from '../../i18n.service';\r\n\r\n@Component({\r\n selector: 'app-custom-date',\r\n templateUrl: './custom-date.component.html',\r\n styleUrls: ['./custom-date.component.css']\r\n})\r\nexport class CustomDateComponent implements OnInit {\r\n @Input() date: string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Input() error:any;\r\n @Input() errorMessage: string;\r\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\r\n dateSelected: any;\r\n\r\n constructor( public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n this.dateSelected = new Date(this.date);\r\n }\r\n// VD 02Aug24 - clear input changes\r\n ngOnChanges(simplechanges: SimpleChanges){\r\n if(simplechanges['date']){\r\n this.dateSelected = new Date(this.date);\r\n }\r\n \r\n }\r\n\r\n onDateChange(event: any) {\r\n this.dateChange.emit(event)\r\n }\r\n}\r\n","<!-- date component -->\r\n<!-- VD 12Jun24 - readonly change-->\r\n<!-- VD 01Aug24 - validation change-->\r\n<p>\r\n <input\r\n [class]=\"error ? 'invalid' : ''\"\r\n [(ngModel)]=\"dateSelected\"\r\n [owlDateTimeTrigger]=\"dt1\"\r\n [owlDateTime]=\"dt1\"\r\n [disabled]=\"readOnly\"\r\n placeholder=\"DD/MM/YYYY\"\r\n (input)=\"onDateChange($event)\"\r\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\r\n (dateTimeChange)=\"onDateChange($event)\"\r\n >\r\n <owl-date-time [pickerType]=\"'calendar'\" #dt1></owl-date-time>\r\n </p>\r\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { I18nService } from '../../i18n.service';\r\n\r\n@Component({\r\n selector: 'app-custom-time',\r\n templateUrl: './custom-time.component.html',\r\n styleUrls: ['./custom-time.component.css']\r\n})\r\nexport class CustomTimeComponent implements OnInit {\r\n @Input() time: string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Input() error:any;\r\n @Input() errorMessage: string;\r\n @Output() timeChange: EventEmitter<any> = new EventEmitter<any>();\r\n timeSelected: any;\r\n\r\n constructor(public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n if(this.time){\r\n this.time = this.time['value'] ? this.time['value'] : this.time;\r\n this.timeSelected = new Date(this.time);\r\n }else {\r\n // if no time set null value\r\n this.timeSelected = null;\r\n }\r\n }\r\n\r\n ngOnChanges(changes:SimpleChanges){\r\n // update on changes\r\n if(changes['time']){\r\n if(this.time){\r\n this.time = this.time['value'] ? this.time['value'] : this.time;\r\n this.timeSelected = new Date(this.time);\r\n }else {\r\n this.timeSelected = null;\r\n }\r\n }\r\n }\r\n // VD 06Sep24 emit exact time object\r\n onTimeChange(event: any) {\r\n this.timeChange.emit(event?.value);\r\n }\r\n}\r\n","<!-- time component -->\r\n<!-- // VD 12Jun24 - readonly change-->\r\n<!-- VD 01Aug24 - validation change-->\r\n <p>\r\n <input\r\n [class]=\"error ? 'invalid' : ''\"\r\n [(ngModel)]=\"timeSelected\"\r\n [owlDateTimeTrigger]=\"dt2\"\r\n [owlDateTime]=\"dt2\"\r\n placeholder=\"HH:MM\"\r\n [readOnly]=\"readOnly\" \r\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\r\n (dateTimeChange)=\"onTimeChange($event)\"\r\n >\r\n <owl-date-time [pickerType]=\"'timer'\" #dt2></owl-date-time>\r\n </p>\r\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-button',\r\n templateUrl: './custom-button.component.html',\r\n styleUrls: ['./custom-button.component.css']\r\n})\r\nexport class CustomButtonComponent implements OnInit {\r\n // 08NOV23 - button input and outpts\r\n @Input() height: string;\r\n @Input() width: string;\r\n @Input() textColor: string ='#fff'\r\n @Input() buttonText: string;\r\n @Input() value:string;\r\n @Input() backgroundColor: string = '#007bff'; // Default background color\r\n @Output() buttonValue = new EventEmitter<any>(); \r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(event){\r\n this.buttonValue.emit(event);\r\n }\r\n}\r\n","\r\n<!-- 08NOV23 - button html added-->\r\n<button \r\n[style.height]=\"height\" \r\n[style.color]=\"textColor\"\r\n[style.background-color]=\"backgroundColor\"\r\n[style.width]=\"width\" class=\"custom-button\"\r\n[value] =\"value\"\r\n(click)=\"handleClick(value)\"\r\n >{{ buttonText }}</button>\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-model',\r\n templateUrl: './custom-model.component.html',\r\n styleUrls: ['./custom-model.component.css']\r\n})\r\nexport class CustomModelComponent implements OnInit {\r\n\r\n constructor() { }\r\n @Input() modalTitle: any;\r\n @Input() isModalOpen = false;\r\n @Input() modalSize = '';\r\n @Input() saveButtonValue = 'Save';\r\n @Input() modalFooter = true;\r\n @Output() saveButtonEmit = new EventEmitter<any>();\r\n @Output() cancelButtonEmit = new EventEmitter<any>();\r\n\r\n onSave() {\r\n this.saveButtonEmit.emit();\r\n }\r\n\r\n onCancel() {\r\n this.cancelButtonEmit.emit();\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n closeModal() {\r\n this.cancelButtonEmit.emit(false);\r\n }\r\n\r\n saveModal() {\r\n this.saveButtonEmit.emit();\r\n }\r\n\r\n}\r\n","<div *ngIf=\"isModalOpen\" class=\"modal\" [ngClass]=\"modalSize\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <span class=\"close\" (click)=\"onCancel()\">&times;</span>\r\n <h2>{{ modalTitle }}</h2>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <!-- /* VD 06Sep24 styling changes */-->\r\n <div class=\"modal-footer\" *ngIf=\"modalFooter\">\r\n <button (click)=\"onCancel()\">Cancel</button>\r\n <button (click)=\"onSave()\">{{ saveButtonValue }}</button>\r\n </div>\r\n </div>\r\n</div>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-image',\r\n templateUrl: './custom-image.component.html',\r\n styleUrls: ['./custom-image.component.css']\r\n})\r\nexport class CustomImageComponent implements OnInit {\r\n @Input() alt: string;\r\n @Input() src: string;\r\n @Input() imageStyle: any;\r\n @Input() question:any;\r\n\r\n public styles: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n // VD 03Aug24 style changes \r\n // RS 09DEC24 Changed keys\r\n if(this.question){\r\n this.imageStyle = this.question.subTitle ? this.question.subTitle : \"height: 150px;width: 200px;\";\r\n this.src = this.question.title ? this.question.title : \"\" ;\r\n this.alt = this.question.helpText ? this.question.helpText : \"my image\";\r\n }\r\n }\r\n}","<img src={{src}} alt={{alt}} style={{imageStyle}}>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { I18nService } from '../../i18n.service';\r\nimport { DataService } from '../../services/data.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { APIMeta } from '../../interfaces/apimeta';\r\n\r\n@Component({\r\n selector: 'app-custom-radio',\r\n templateUrl: './custom-radio.component.html',\r\n styleUrls: ['./custom-radio.component.css']\r\n})\r\nexport class CustomRadioComponent implements OnInit {\r\n\r\n @Input() options: any[] = [];\r\n @Input() apiMeta: string;\r\n @Input() selectedValue: string;\r\n @Input() progressBar: boolean;\r\n @Input() id: string;\r\n @Input() readOnly = false;\r\n @Input() errorMessage: string;\r\n @Input() error: any;\r\n @Input() fromShengel: boolean = false;\r\n @Input() referenceField: string;\r\n @Input() token: string;\r\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n invalidFieldIds: string[] = [];\r\n\r\n public labelField: string;\r\n public valueField: string;\r\n subscription: Subscription;\r\n\r\n constructor(\r\n private changeService: ChangeService,\r\n private dataService: DataService,\r\n public i18nService: I18nService\r\n ) {\r\n this.changeService.submitValidate$.subscribe((data) => {\r\n this.invalidFieldIds.push(data);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n // VD 31NOV24 null check\r\n if (this.apiMeta) {\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.labelField = apiObj.field;\r\n\r\n this.dataService.apiResponse(apiObj.endpoint)?.subscribe((apiResponse) => {\r\n let responses;\r\n if (apiObj.variable) {\r\n responses = this.dataService.getValue(apiResponse, apiObj.variable);\r\n let results = [];\r\n for (let i = 0; i < responses?.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n this.options = results;\r\n } else {\r\n responses = apiResponse;\r\n this.options = responses;\r\n }\r\n });\r\n\r\n let sourceId = apiObj.sourceQuestionId;\r\n if (sourceId) {\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if (changeValue != undefined) {\r\n if (changeValue.valueObj != undefined && changeValue.fromQuestionId == apiObj.sourceQuestionId) {\r\n this.selectedValue = changeValue.valueObj[apiObj.valueField];\r\n let value = {};\r\n value['name'] = this.selectedValue;\r\n this.radioChange(value);\r\n }\r\n this.changeService.confirmChange(apiObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n radioChange(event: any) {\r\n let change = new ChangeWrapper();\r\n change.fromQuestionId = this.id;\r\n change.valueObj = event.target?.id ? event.target?.id : '';\r\n change.referenceField = this.referenceField;\r\n change.selectedObj = event ? event[this.labelField] : '';\r\n this.valueChange.emit(change);\r\n if (event) {\r\n this.invalidFieldIds = [];\r\n }\r\n }\r\n\r\n}\r\n","<!-- RS 09DEC24 Changed keys-->\r\n <!-- RS 019JAN25 -->\r\n <!-- validate for NULL -->\r\n<div class=\"custom-radio-container\">\r\n <div\r\n *ngFor=\"let option of options\"\r\n [class]=\"invalidFieldIds.includes(id) || error ? 'custom-radio-option invalid' : 'custom-radio-option'\"\r\n >\r\n <input\r\n type=\"radio\"\r\n [id]=\"apiMeta !== undefined && apiMeta !== null ? option[labelField] : option.value\"\r\n [checked] = \"selectedValue == option.value\"\r\n [name]=\"id\"\r\n [value]=\"selectedValue\"\r\n (change)=\"radioChange($event)\"\r\n [disabled]=\"readOnly\"\r\n />\r\n <label class=\"nxt-radio-label\" [for]=\"apiMeta !== undefined && apiMeta !== null ? option[labelField] : option.value\">{{ apiMeta !== undefined && apiMeta !== null ? option[labelField] : option.value}}</label>\r\n </div>\r\n <span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{ errorMessage }}</span>\r\n</div>","import { Component, OnInit, Input, Output, EventEmitter, Inject, ViewChild, ChangeDetectorRef, SimpleChanges, ComponentRef } from '@angular/core';\r\nimport { Question, QuestionBook } from '../../wrapper';\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { StorageService } from '../../services/storage.service';\r\nimport * as moment from 'moment';\r\nimport { ErrorWrapper } from '../../model/errorWrapper';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\n\r\n@Component({\r\n selector: 'lib-questionbook',\r\n templateUrl: './questionbook.component.html',\r\n styleUrls: ['./questionbook.component.css']\r\n})\r\nexport class QuestionbookComponent implements OnInit {\r\n @Input() qbItem: QuestionBook;\r\n @Input() questionItem: Question;\r\n @Input() translatedQuestions : any[] = [] // VD 11Jun24 - translation changes\r\n @Input() questions: Question[];\r\n @Input() errorFieldId:any;\r\n @Input() labelValue:string; \r\n @Input() token:string; // VD 19JAN24 - getting token as input\r\n @Output() handleDropDown:EventEmitter<any> = new EventEmitter<any>();\r\n @Output() handleQuestion:EventEmitter<any> = new EventEmitter<any>(); // VD 19Jul01 - get updated question\r\n @Input() dropDownData:any;\r\n //@ViewChild(ComponenthostDirective, { static: true }) dynamicHost: ComponenthostDirective;\r\n subQuestions: Question[];\r\n selectedFileData: any[] = [];\r\n loadComponent$ = new BehaviorSubject<boolean>(false);\r\n // HA 28DEC23 Added styling and logics to load the book type questions \r\n qbRef: QuestionBook;\r\n // HA 19DEC23 Declaration for Salesforce Styling\r\n style: any;\r\n langDirection = 'ltr';\r\n bookStyle: any;\r\n subscription: Subscription;\r\n\r\n// RS 17JAN2025\r\n//Formats and returns file upload requirements from a JSON string\r\n getFileRequirements(fieldsMeta: string): string {\r\n try {\r\n const metaData = JSON.parse(fieldsMeta);\r\n const fileConfig = metaData[0];\r\n \r\n if (!fileConfig) return '';\r\n\r\n const requirements = [];\r\n \r\n if (fileConfig.allowedTypes?.length) {\r\n requirements.push(`Accepted formats: ${fileConfig.allowedTypes.join(', ')}`);\r\n }\r\n \r\n if (fileConfig.maxFileSize) {\r\n requirements.push(`Maximum size per file: ${fileConfig.maxFileSize / 1048576}MB`);\r\n }\r\n \r\n if (fileConfig.maxFiles) {\r\n requirements.push(`Maximum number of files: ${fileConfig.maxFiles}`);\r\n }\r\n\r\n return requirements.map(req => req.trim()).join('\\n');\r\n } catch (error) {\r\n console.error('Error parsing fieldsMeta:', error);\r\n return '';\r\n }\r\n }\r\n @Output() hadleDropDownDependent:EventEmitter<any> = new EventEmitter();\r\n // VD 06Sep24 calendar changes\r\n @Output() handleCalendarDate:EventEmitter<any> = new EventEmitter();\r\n @Output() handleCalendarEvent:EventEmitter<any> = new EventEmitter();\r\n public bookQuestionsMap: any = new Map();\r\n constructor(private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private changeService: ChangeService, \r\n private storageService: StorageService,\r\n public i18nService: I18nService,\r\n private cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) private document: Document\r\n ) { \r\n }\r\n\r\n ngOnInit(): void {\r\n // VD 13Sep24 changes\r\n this.processData();\r\n // VD sep1324 changes - process data when databind value change\r\n this.subscription = this.changeService.customChange$.subscribe(\r\n (changeValue) => {\r\n if(changeValue == 'dataBind') {\r\n this.processData();\r\n }\r\n }\r\n );\r\n }\r\n\r\n // VD 13Sep24 changes\r\n // RS 09DEC24 Changed keys\r\n processData(){\r\n // HA 19DEC23 Logic for Question Book Styling(Slaesforce)\r\n // HA 09FEB24 Added ternary\r\n if(this.qbItem?.style){\r\n // HA 28DEC23 Added styling and logics to load the book type questions \r\n this.qbItem.style = typeof this.qbItem.style === 'string' ? JSON.parse(''+this.qbItem?.style) : this.qbItem.style;\r\n this.qbItem.style.labelClass = this.qbItem.style?.labelClass ? this.qbItem.style?.labelClass : \"\";\r\n this.qbItem.style.labelStyle = this.qbItem.style?.labelStyle ? this.qbItem.style?.labelStyle : \"\";\r\n this.qbItem.style.labelValueStyle = this.qbItem.style?.labelValueStyle ? this.qbItem.style?.labelValueStyle : \"\";\r\n this.qbItem.style.inputClass = this.qbItem.style?.inputClass ? this.qbItem.style?.inputClass : \"\";\r\n this.qbItem.style.inputStyle = this.qbItem.style.inputStyle ? this.qbItem.style?.inputStyle : \"\";\r\n this.qbItem.style.bookStyle = this.qbItem.style?.bookStyle ? this.qbItem.style?.bookStyle : \"\";\r\n this.qbItem.style.showLabel = this.qbItem.style?.showLabel ? this.qbItem.style?.showLabel : true;\r\n }\r\n else{\r\n if(this.qbItem){\r\n this.qbItem.style = {\r\n \"labelClass\" : \"\",\r\n \"labelStyle\" : \"\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"\",\r\n \"bookStyle\" : \"\",\r\n \"showLabel\": true,\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n };\r\n }\r\n }\r\n this.qbItem.style.questionStyle = this.qbItem?.style?.questionStyle ? this.qbItem?.style.questionStyle : \"\";\r\n this.langDirection = this.qbItem.style.direction = this.qbItem?.style?.direction ? this.qbItem?.style?.direction : 'ltr';\r\n this.bookStyle = this.qbItem?.style?.bookStyle;\r\n this.questions.forEach(element => {\r\n var htmlElement = element?.questionText ;\r\n var textOnly = htmlElement?.replace(/<[^>]*>/g, '')\r\n element.questionText = textOnly;\r\n // HA 19DEC23 Logic for Question Styling(Slaesforce)\r\n // HA 28DEC23 Added styling and logics to load the book type questions \r\n if(element.type === 'Book'){\r\n if(element['qbReferenceQuestions']){\r\n var qb = JSON.parse(element['qbReferenceQuestions']);\r\n if(qb['questionbook'].style){\r\n qb['questionbook'].style = typeof qb['questionbook'].style === 'string' ? JSON.parse(''+qb['questionbook'].style) : qb['questionbook'].style;\r\n }\r\n else{\r\n qb['questionbook'].style = this.qbItem.style;\r\n }\r\n\r\n // Book type question styling\r\n qb['questionbook'].style.labelClass = qb['questionbook'].style?.labelClass ? qb['questionbook'].style?.labelClass : \"\";\r\n qb['questionbook'].style.labelStyle = qb['questionbook'].style?.labelStyle ? qb['questionbook'].style?.labelStyle : \"\";\r\n qb['questionbook'].style.labelValueStyle = qb['questionbook'].Style__?.labelValueStyle ? qb['questionbook'].style.labelValueStyle : \"\";\r\n qb['questionbook'].style.inputClass = qb['questionbook'].style?.inputClass ? qb['questionbook'].style?.inputClass : \"\";\r\n qb['questionbook'].style.inputStyle = qb['questionbook'].style?.inputStyle ? qb['questionbook'].style?.inputStyle : \"\";\r\n qb['questionbook'].style.bookStyle = qb['questionbook'].style?.bookStyle ? qb['questionbook'].style?.bookStyle : \"\";\r\n qb['questionbook'].style.showLabel = qb['questionbook'].style?.showLabel ? qb['questionbook'].style?.showLabel : true;\r\n qb['questionbook'].style.questionStyle = qb['questionbook'].style?.questionStyle ? qb['questionbook'].style?.questionStyle : \"\";\r\n qb['langDirection'] = qb['questionbook'].style.direction ? qb['questionbook'].style?.direction : this.langDirection;\r\n \r\n // Loop for each question in the book\r\n qb['questionbook'].subQuestions.forEach(questionFromBook => {\r\n questionFromBook.style = questionFromBook.style ? questionFromBook.style : qb['questionbook'].style;\r\n questionFromBook.style.labelClass = questionFromBook.style?.labelClass ? questionFromBook.style?.labelClass : \"\";\r\n questionFromBook.style.labelStyle = questionFromBook.style?.labelStyle ? questionFromBook.style?.labelStyle : \"\";\r\n questionFromBook.style.labelValueStyle = questionFromBook.style?.labelValueStyle ? questionFromBook.style?.labelValueStyle : \"\";\r\n questionFromBook.style.inputClass = questionFromBook.style?.inputClass ? questionFromBook.style?.inputClass : \"\";\r\n questionFromBook.style.inputStyle = questionFromBook.style?.inputStyle ? questionFromBook.style?.inputStyle : \"\";\r\n questionFromBook.style.bookStyle = questionFromBook.style?.bookStyle ? questionFromBook.style?.bookStyle : \"\";\r\n questionFromBook.style.showLabel = questionFromBook.style?.showLabel ? questionFromBook.style?.showLabel : true;\r\n questionFromBook.style.questionStyle = questionFromBook.style?.questionStyle ? questionFromBook.style?.questionStyle : \"\";\r\n questionFromBook['langDirection'] = questionFromBook.style?.direction ? questionFromBook.style?.direction : this.langDirection;\r\n });\r\n element['qbItem'] = qb['questionbook'];\r\n }\r\n }\r\n element.style = element.style ? typeof element.style === 'string' ? JSON.parse(''+element?.style) : element?.style : this.qbItem?.style;\r\n\r\n element.style.labelClass = element.style?.labelClass ? element.style?.labelClass : \"\";\r\n element.style.labelStyle = element.style?.labelStyle ? element.style?.labelStyle : \"\";\r\n element.style.labelValueStyle = element.style?.labelValueStyle ? element.style.labelValueStyle : \"\";\r\n element.style.inputClass = element.style?.inputClass ? element.style?.inputClass : \"\";\r\n element.style.inputStyle = element.style.inputStyle ? element.style?.inputStyle : \"\";\r\n element.style.bookStyle = element.style?.bookStyle ? element.style?.bookStyle : \"\";\r\n element.style.showLabel = element.style?.showLabel ? element.style?.showLabel : true;\r\n element.style.questionStyle = element.style?.questionStyle ? element.style?.questionStyle : \"\";\r\n\r\n element['langDirection'] = element.style?.direction ? element.style?.direction : this.langDirection;\r\n\r\n\r\n //VD 02Aug24 dependent field show/hide changes\r\n // RS 09DEC24 Changed keys\r\n if(element.referenceField){\r\n element.dependentRef = element.referenceField;\r\n }\r\n if(element.subText){\r\n let dependencyObj: DependencyMeta = JSON.parse(element.subText);\r\n if(dependencyObj.isDependentField){\r\n element.isHidden = true;\r\n }\r\n // VD 07Aug24 - isDependentField change\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n // VD 20Aug24 - isDependentField change\r\n if(changeValue != undefined && dependencyObj.isDependentField) {\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\r\n // element.isHiddenField = true;\r\n if(dependencyObj.dependentValue == changeValue.valueObj){\r\n element.isHidden = false;\r\n element.input = '';\r\n element.selectedValue = undefined;\r\n if(element.dependentRef == changeValue.referenceField){\r\n element.referenceField = changeValue.referenceField;\r\n }\r\n }else {\r\n element.isHidden = true;\r\n element.input = '';\r\n element.selectedValue = undefined;\r\n this.hideDependentElements(element.id);\r\n // if there is no dependent selection remove the reference\r\n if(element.dependentRef == changeValue.referenceField){\r\n element.referenceField = '';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n );\r\n this.storageService.update(element);\r\n }\r\n // sunday comment\r\n // if (element.type === 'Calendar') {\r\n // this.openCalendarComponent(element);\r\n // }\r\n });\r\n this.subQuestions = [];\r\n this.setSubQuestions(this.questions);\r\n this.processTranslatedQuestions(); \r\n }\r\n// VD 07Aug24 - isDependentField change\r\n hideDependentElements(elementId) {\r\n let elementsToHide = this.questions.filter(el => {\r\n if (el.subText) {\r\n let depObj = JSON.parse(el.subText);\r\n return depObj.sourceQuestionId == elementId;\r\n }\r\n return false;\r\n });\r\n\r\n elementsToHide.forEach(el => {\r\n el.isHidden = true;\r\n el.input = '';\r\n el.selectedValue = undefined;\r\n this.storageService.update(el);\r\n // Recursively hide elements dependent on this one\r\n this.hideDependentElements(el.id);\r\n });\r\n}\r\n\r\n clearSQError(quesId) {\r\n var sqList = this.subQuestions?.filter((item) => item.id == quesId);\r\n for (var sq of sqList) {\r\n sq.error = null;\r\n }\r\n }\r\n // VD 11Jun24 - translation changes\r\n processTranslatedQuestions(){\r\n if (this.translatedQuestions && this.translatedQuestions.length > 0) {\r\n this.questions.forEach((orgQuestion: any)=> {\r\n this.translatedQuestions.forEach((transQuestion:any) => {\r\n if(orgQuestion.uniqueIdentifier == transQuestion.identifier){\r\n orgQuestion.questionText = transQuestion.label;\r\n orgQuestion.question = transQuestion.placeHolder;\r\n }\r\n });\r\n });\r\n // console.log('originalQuestion' + this.questions);\r\n // console.log(this.questions);\r\n }\r\n }\r\n\r\n setSubQuestions(records) {\r\n this.subQuestions.push(records);\r\n }\r\n\r\n // Capture and Process Child Event\r\n childEventCapture(event, ques?:any) {\r\n let dropdownData = {};\r\n this.changeService.announceChange(event);\r\n if(ques){\r\n if(ques.type == 'Dropdown' ||ques.type == 'Radio' ) {\r\n // HA 19JAN24 Correction of dropdown values\r\n ques.selectedObj = event.valueObj ? event.valueObj : null;\r\n ques.input = event.selectedObj ? event.selectedObj : event.valueObj;\r\n ques.selectedValue = event.valueObj ? event.valueObj : null;\r\n // emit the dropdown data to parent\r\n dropdownData['event'] = event.valueObj;\r\n dropdownData['ques'] = ques;\r\n if(dropdownData['event']){\r\n this.handleDropDown.emit(dropdownData);\r\n } // VD 21DEC23 - dependent field change\r\n } else if(ques.type == 'Location'){\r\n ques.input = event.valueObj;\r\n ques.selectedValue = event.valueObj.address;\r\n }else if(ques.type == 'File'){ \r\n ques.input = this.selectedFileData = event;\r\n\r\n\r\n // Handle file validation errors\r\n if (Array.isArray(event) && event.length === 0) {\r\n // No files uploaded when required\r\n ques.error = ques.Error_Message__c ? new ErrorWrapper() : null;\r\n} else if (Array.isArray(event) && event.length > 0) {\r\n // Files were successfully uploaded\r\n ques.error = null;\r\n}\r\n\r\n// If there were validation errors from the file upload component\r\nif (event.validationErrors && event.validationErrors.length > 0) {\r\n ques.error = new ErrorWrapper();\r\n ques.error.message = event.validationErrors[0]; // Use the first validation error\r\n}\r\n\r\n }else if(ques.type == 'Date' || ques.type == 'DateTime'){ // HA 24JAN24 Converting Date and DateTime to UTC\r\n if(event.value){\r\n let d = new Date(event.value);\r\n let utcString = d?.toISOString();\r\n ques.input = utcString;\r\n }else {\r\n ques.input = '';\r\n }\r\n }else if(ques.type == 'List'){\r\n // VD 20Aug24 handling the list type handle multiple object values\r\n ques.input = this.dataService.getValue(event.valueObj,event.field);\r\n }//RS 06JAN25\r\n else if (ques.type === 'RichTextArea') { \r\n console.log('RichTextArea event:', event);\r\n ques.input = event || '';\r\n } else{\r\n ques.input = event;\r\n }\r\n //RS 06JAN25\r\n // Validate error message - modified to handle rich text\r\n const hasError = ques.Error_Message__c && (\r\n (ques.type === 'File' && ques.input.length === 0) ||\r\n (ques.type === 'RichTextArea' && (!ques.input || ques.input.trim() === '')) ||\r\n (ques.type !== 'File' && ques.Type__c !== 'RichTextArea' && !ques.input)\r\n );\r\n ques.error = hasError ? new ErrorWrapper() : null;\r\n ques.error = hasError ? new ErrorWrapper() : null;\r\n // Once the right value is stored in ques.input store the ques (with input) in storageService\r\n this.storageService.update(ques);\r\n // VD 19Jul01 - get updated question\r\n this.handleQuestion.emit(ques);\r\n }\r\n }\r\n deleteFile(fileData:any){\r\n console.log('fileDATA',fileData)\r\n }\r\n getDropDown(event:any){\r\n this.hadleDropDownDependent.emit(event);\r\n }\r\n// VD 06Sep24 calendar changes\r\n getCurrentCalendar(event:any){\r\n this.handleCalendarDate.emit(event);\r\n }\r\n\r\n getCalendarEvent(event:any){\r\n if(event){\r\n this.handleCalendarEvent.emit(event);\r\n }\r\n }\r\n\r\n // VD 06Sep24 remove the special charecters and tags \r\n // from the questionText\r\n removeCharacters(questionText:string){\r\n let updatedText = questionText?.replace(/<[^>]*>/g, '');\r\n return updatedText;\r\n }\r\n\r\n// sunday comment\r\n // openCalendarComponent(ques) {\r\n // const viewContainerRef = this.dynamicHost.viewContainerRef;\r\n // if(viewContainerRef){\r\n // viewContainerRef.clear();\r\n // const componentRef = viewContainerRef.createComponent(CustomCalendarComponent);\r\n // componentRef.instance.question = ques;\r\n // componentRef.instance.dateSelected.subscribe((event: any) => this.getCurrentCalendar(event));\r\n // componentRef.instance.eventSelected.subscribe((event:any) => this.getCalendarEvent(event))\r\n // }\r\n // }\r\n\r\n isCalendarModalOpen = false;\r\n calendarModalTitle:any;\r\n calendarModalSize:any;\r\n calendarSaveButtonValue: any;\r\n referenceQuestions = [];\r\n qbRefrenceBook:any;\r\n modalCalendarModalFooter:any;\r\n\r\n openCalendarModal(event) {\r\n this.isCalendarModalOpen = true;\r\n this.qbRefrenceBook = event.qbRefrenceBook;\r\n this.referenceQuestions = event.referenceQuestions;\r\n this.calendarModalTitle = event.modalTitle;\r\n this.calendarModalSize = event.modalSize;\r\n this.calendarSaveButtonValue = event.saveButtonValue;\r\n this.modalCalendarModalFooter = event.modalFooter;\r\n }\r\n\r\n\r\n onCalendarModalSave(){\r\n this.changeService.dataChanges('calendar-modal-save');\r\n }\r\n\r\n\r\n handleQuestionEvent(event){\r\n console.log('handle question here');\r\n }\r\n \r\n closeCalendarModal(event){\r\n this.isCalendarModalOpen = false;\r\n }\r\n\r\n}\r\n","<!-- HA 20DEC23 Book Style from salesforce -->\r\n<!-- HA 28DEC23 Removed IsShengel(removal of shengel values applies for this reason) and direct styling of books to avoid styling issues-->\r\n<!-- HA 18JAN24 Added class for styling -->\r\n<div [style]=\"bookStyle\" class=\"content-box form-group\">\r\n <div class=\"form-row\">\r\n <!-- HA 20DEC23 Directive and Question Style from salesforce -->\r\n <!-- RA09DEC24 Changed keys-->\r\n <div\r\n [class]=\"'col-lg-' + ques.size + ' paddingnone'\"\r\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.id\" [dir]=\"ques.langDirection\" [style]=\"ques?.style?.questionStyle\">\r\n <!-- Sub Question Label -->\r\n <!-- HA 20DEC23 Label Style from salesforce -->\r\n <!-- VD 09May24 is hide field change-->\r\n <div *ngIf=\"!ques.isHidden\">\r\n <div *ngIf=\"ques.type === 'DateTime'\">\r\n \r\n </div>\r\n <!-- VD 20JUN24 - help text changes-->\r\n <!-- VD 01Aug24 - validation change-->\r\n <!-- // VD 02Aug24 - label value style-->\r\n <div [ngClass]=\"{ down2: qbItem?.progressBar }\" *ngIf=\"ques.style?.showLabel ? ques.style?.showLabel : true\" [style]=\"ques.style?.labelStyle\">\r\n <span [class]=\"'dis-flex shengel-myt-font3 myt-font7 '\" [style]=\"ques.style?.labelValueStyle\">{{ removeCharacters(ques?.questionText) }}\r\n <div *ngIf=\"ques.isOptional\" style=\"color: red;\">*</div>\r\n <!-- RS 17JAN2025 -->\r\n <!-- Displays icons with tooltips help text -->\r\n <div *ngIf=\"ques.questionText && ques?.helpText\" \r\n class=\"icon\" \r\n [matTooltip]=\"ques?.helpText\"\r\n matTooltipClass=\"white-tooltip\">i</div>\r\n <!-- RS 17JAN2025 -->\r\n <!-- Displays icons with tooltips for file requirements -->\r\n <div \r\n class=\"icon\" \r\n *ngIf=\"ques.fieldsMeta\"\r\n [matTooltip]=\"getFileRequirements(ques.fieldsMeta)\"\r\n matTooltipClass=\"white-tooltip\"\r\n style=\"margin-left: 4px;\"\r\n >i</div>\r\n </span>\r\n</div>\r\n <!-- // VD 12Jun24 - readonly change-->\r\n <!-- DateTime -->\r\n <div *ngIf=\"ques.type === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [error]=\"ques.error\" [errorMessage]=\"ques.errorMessage\" [readOnly]=\"ques.isReadOnly\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-date-picker>\r\n </div>\r\n \r\n <!-- Date-->\r\n <div *ngIf=\"ques.type === 'Date'\">\r\n <app-custom-date [date]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.errorMessage\" [readOnly]=\"ques.isReadOnly\" (dateChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-date>\r\n </div>\r\n \r\n <!-- Time-->\r\n <div *ngIf=\"ques.type === 'Time'\">\r\n <app-custom-time [time]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.errorMessage\" [readOnly]=\"ques.isReadOnly\" (timeChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-time>\r\n </div>\r\n <!-- calendar -->\r\n <div *ngIf=\"ques.type === 'Calendar'\">\r\n <app-custom-calendar\r\n [question]=\"ques\"\r\n (eventSelected)=\"getCalendarEvent($event)\"\r\n (dateSelected)=\"getCurrentCalendar($event)\"\r\n (openModal)=\"openCalendarModal($event)\"\r\n (closeModal)=\"closeCalendarModal($event)\"\r\n ></app-custom-calendar>\r\n <!-- model used in calendar component -->\r\n <app-custom-model *ngIf=\"isCalendarModalOpen\"\r\n [modalTitle]=\"calendarModalTitle\"\r\n [isModalOpen]=\"isCalendarModalOpen\"\r\n [modalSize]=\"calendarModalSize\"\r\n [saveButtonValue]=\"calendarSaveButtonValue\"\r\n [modalFooter]=\"modalCalendarModalFooter\"\r\n (saveButtonEmit)=\"onCalendarModalSave()\"\r\n (cancelButtonEmit)=\"closeCalendarModal($event)\"\r\n >\r\n <lib-questionbook [qbItem]=\"qbRefrenceBook\" [questions]=\"referenceQuestions\" (handleQuestion)=\"handleQuestionEvent($event)\"></lib-questionbook>\r\n </app-custom-model>\r\n </div>\r\n <!-- Text -->\r\n <div *ngIf=\"ques.type === 'Text' || ques.type === 'Link'\" >\r\n <app-custom-input [value]=\"ques.input\" [ngClassValue]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.progressBar,\r\n textBox: !qbItem.progressBar\r\n }\" [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [idValue]=\"ques.trackingId\" [focusEvent]=\"clearSQError(ques.id)\"\r\n [error]=\"ques.error\" [placeholder]=\"ques.question\" (inputValue)=\"childEventCapture($event, ques)\">\r\n </app-custom-input>\r\n </div>\r\n \r\n <!-- for pick location -->\r\n <!-- VD 21DEC23 - dependent field change -->\r\n <div *ngIf=\"ques.type === 'Location'\">\r\n <!-- HA10012024 Added Api key as input -->\r\n <app-pick-location [apiKey]=\"qbItem['apiKey']\" [address]=\"ques.selectedValue\" [question]=\"ques\" (locationSelected)=\"childEventCapture($event, ques)\">\r\n </app-pick-location>\r\n </div>\r\n \r\n <!-- for text area -->\r\n <div *ngIf=\"ques.type === 'TextArea'\">\r\n <app-custom-text-area [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.question \"\r\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\r\n </div>\r\n <!-- RS 06JAN25 -->\r\n <!-- for rich text editor -->\r\n <div *ngIf=\"ques.type === 'RichTextArea'\">\r\n <app-custom-rich-text \r\n [question]=\"ques\"\r\n [readOnly]=\"ques.isReadOnly\"\r\n [value]=\"ques.input || ''\"\r\n [error]=\"ques.error\"\r\n [placeholder]=\"ques.question\"\r\n (textValueChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-rich-text>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.type === 'Email'\">\r\n <input type=\"email\" readOnly=\"ques.isReadOnly\" [(ngModel)]=\"ques.input\" [id]=\"ques.id\" required=\"\" (focus)=\"clearSQError(ques.id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.question }}\" />\r\n </div>\r\n \r\n <!-- Table -->\r\n <div *ngIf=\"ques.type === 'Table'\" class=\"\">\r\n <app-custom-table [question]=\"ques\" [apiMeta]=\"ques.subText\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-table>\r\n </div>\r\n \r\n <!-- Table Appendix -->\r\n <div *ngIf=\"ques.type === 'TableAppendix'\" class=\"\">\r\n <app-table-appendix [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-table-appendix>\r\n </div>\r\n <!-- list -->\r\n <!-- VD 20Aug24 used correct attribute -->\r\n <div *ngIf=\"ques.type === 'List'\" class=\"\">\r\n <lib-search-box [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [apiMeta]=\"ques.subText\" [id]=\"ques.id\" [placeHolderText]=\"ques.question\" [filterName]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\r\n </lib-search-box>\r\n </div>\r\n \r\n <!-- Dropdown -->\r\n <!-- HA 09FEB24 Added condition of sqOption to the dropdown -->\r\n <div *ngIf=\"ques?.type === 'Dropdown' && ques?.options\" class=\"\">\r\n <!-- HA 20DEC23 For Translation --> <!-- VD 19JAN24 - getting token as input -->\r\n <app-custom-dropdown [options]=\"ques.options\"\r\n [token]=\"token\"\r\n [apiMeta]=\"ques.subText\" [id]=\"ques.id\"\r\n [selectedValue]=\"ques.selectedValue\"\r\n placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\r\n [errorMessage]=\"ques.errorMessage\" [error]=\"ques.error\"\r\n [referenceField]=\"ques.referenceField\"\r\n [readOnly]=\"ques.isReadOnly\"\r\n [question]=\"ques\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-dropdown>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\r\n </div>\r\n <!-- // VD 02Aug24 custom-radio component -->\r\n <div *ngIf=\"ques.type === 'Radio' && ques?.options\" class=\"\">\r\n <app-custom-radio [options]=\"ques.options\" [token]=\"token\"\r\n [apiMeta]=\"ques.subText\" [id]=\"ques.id\" [selectedValue]=\"ques.selectedValue\"\r\n [errorMessage]=\"ques.errorMessage\" [error]=\"ques.error\"\r\n [referenceField]=\"ques.referenceField\"\r\n [readOnly]=\"ques.isReadOnly\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-radio>\r\n </div>\r\n \r\n <!-- Attachment / Files -->\r\n <div *ngIf=\"ques.type === 'File'\" class=\"\">\r\n <app-file-upload [limitFileUploading]=\"5\" [error]=\"ques.error\" [question]=\"ques\" [allFiles]=\"ques.input\" [tableFile]=\"false\"\r\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\r\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\r\n </div>\r\n <div *ngIf=\"ques.type === 'PopUpMessage'\" class=\"\">\r\n <app-dependent-table [alertMessage]=\"ques.errorMessage\">\r\n </app-dependent-table>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Label'\" class=\"\">\r\n <app-custom-label [labelStyle]=\"ques.title\" [labelValue]=\"ques.question\">\r\n </app-custom-label>\r\n </div>\r\n <!-- // VD 02Aug24 image component -->\r\n <div *ngIf=\"ques.type === 'Image'\" class=\"\">\r\n <app-custom-image [question]=\"ques\">\r\n </app-custom-image>\r\n </div>\r\n <!-- 08NOV23 - button type question added -->\r\n <!-- Button -->\r\n <div *ngIf=\"ques.type === 'Button'\" class=\"\">\r\n <app-custom-button [height]=\"'50px'\"\r\n [width]=\"'150px'\"\r\n [buttonText]=\"ques?.question\"\r\n [value]=\"ques?.question\"\r\n (buttonValue)=\"childEventCapture($event, ques)\"\r\n >\r\n </app-custom-button>\r\n </div>\r\n <!-- HA 20DEC23 This is to load book type questions-->\r\n <div *ngIf=\"ques.type === 'Book'\">\r\n <!-- HA 09FEB24 Added ternary operator -->\r\n <lib-questionbook [qbItem]=\"ques.qbItem\" [labelValue]=\"labelValue\" [questions]=\"ques.qbItem?.subQuestions\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- 06-09-24 for calendar type-->\r\n<!-- <ng-template dynamicComponentHost></ng-template> -->","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { ActionMeta } from '../../interfaces/actionMeta';\r\nimport { Question } from \"../../wrapper\";\r\nimport { BookletWrapper } from \"../../model/bookletWrapper\";\r\nimport { StorageService } from '../../services/storage.service';\r\nimport { ChangeService } from \"../../services/change.service\";\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from \"../../i18n.service\";\r\n\r\n@Component({\r\n selector: 'lib-booklet',\r\n templateUrl: './booklet.component.html',\r\n styleUrls: ['./booklet.component.css']\r\n})\r\nexport class BookletComponent implements OnInit {\r\n @Input() bookletId: string;\r\n @Input() serv: string;\r\n @Input() tkn: string;\r\n @Input() bookletJSON: any;\r\n @Input() dropdownDependentData:any;\r\n @Input() labelValue:string;\r\n @Input() token:string;\r\n @Input() languageCode:string; // VD 11Jun24 - translation changes\r\n @Input() fieldRestrictions: any; // VD 12Jun24 - field permission change\r\n @Output() handleBookletActionEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\r\n @Output() hadleDropDownDependent:EventEmitter<any> = new EventEmitter();\r\n // VD 06Sep24 calendar changes\r\n @Output() handleCalendarDate: EventEmitter<any> = new EventEmitter();\r\n @Output() handleCalendarEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n public nxtBooklet: BookletWrapper;\r\n\r\n public booklet: any[] = [];\r\n public abItem: any = {};\r\n public actions: ActionMeta[] = [];\r\n public bookQuestionsMap: any = new Map();\r\n public translateMap: any = new Map(); // VD 11Jun24 - translation changes\r\n private sqOptions: any = new Map();\r\n public isAnswerFlag: boolean = false;\r\n public spinnerName: string;\r\n public spinnerType: string;\r\n // HA 19DEC23 langDirection variable is created to assign the direction as class\r\n langDirection = 'ltr'; // HA 28DEC23 making ltr as default direction\r\n answerList = []; // HA 11-JAN-24 Answerlist to store the minimal value\r\n @Input() dataBind:any;// HA 18-JAN-24 To insert the endpoint value to the question\r\n allEvents:any[]=[]; // VD 06Sep24 calendar changes\r\n \r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private storageService: StorageService,\r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n private changeService: ChangeService, \r\n el: ElementRef,\r\n public i18nService: I18nService\r\n ) { \r\n this.spinnerName = \"sp1\";\r\n this.spinnerType = \"ball-spin-clockwise\";\r\n }\r\n\r\n ngOnInit(): void {\r\n// VD 12Jan24 fieldRestrictions formate \r\n // {\r\n // \"fields\" : {\r\n // \"transQb-01\" : \"readOnly\",\r\n // \"TransFir02\" : \"\",\r\n // \"TransLast03\" : \"readOnly\",\r\n // \"bk2-q2\" : \"hide\"\r\n // }\r\n // }\r\n\r\n // HA 18-JAN-24 Dummy Static data for testing\r\n // this.dataBind = {\r\n // \"_id\": \"659ed002ed51bb8061544255\",\r\n // \"companyId\": \"5ullh1BWpYqnvzKh9L\",\r\n // \"name\": \"Al Yasmine\",\r\n // \"code\": \"check\",\r\n // \"status\": \"In-Progress\",\r\n // \"createdAt\": \"2024-01-10T17:12:34.686Z\",\r\n // \"updatedAt\": \"2024-01-10T19:53:08.135Z\",\r\n // \"__v\": 0,\r\n // \"owner\": \"check\",\r\n // \"customer\": \"check\",\r\n // \"dati\": \"2024-01-23T18:30:00.000Z\",\r\n // \"timi\": \"2024-01-23T18:30:00.000Z\",\r\n // \"fName\": \"Haider\",\r\n // \"lName\": \"Ali\",\r\n // \"defaultApp\": \"NXT\",\r\n // \"email\": \"haider@gmail.com\",\r\n // \"location\": {address: \"107, Ashok Nagar, Kadugondanahalli, Bengaluru, Karnataka 560045, India\",\r\n // latitude: 13.0200575,\r\n // longitude: 77.6129816},\r\n // \"location\": \"107, Ashok Nagar, Kadugondanahalli, Bengaluru, Karnataka 560045, India\",\r\n // \"textArea\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum\",\r\n // };\r\n this.processBooklet();\r\n }\r\n // VD NOV23 - update the json data when bookletId and bookletJSON changes\r\n ngOnChanges(simplechanges:SimpleChanges) {\r\n // HA 23JAN24 To avoid undefined error\r\n if(simplechanges['bookletId'] || (simplechanges['bookletJSON'] && (simplechanges['bookletJSON'].currentValue != null || simplechanges['bookletJSON'].currentValue != undefined)) || (simplechanges['dataBind'] && (simplechanges['dataBind'].currentValue != null || simplechanges['dataBind'].currentValue != undefined)) ){\r\n this.allEvents = [];\r\n this.processBooklet();\r\n }\r\n // if(this.booklet == undefined || this.booklet.length == 0) {\r\n // this.processBooklet();\r\n // }\r\n }\r\n\r\n processBooklet() {\r\n if (this.bookletId) {\r\n if (this.bookletId.length == 18) {\r\n this.readBooklet(this.bookletId);\r\n }\r\n } else if(this.bookletJSON) {\r\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\r\n this.isAnswerFlag = true;\r\n\r\n if(this.bookletJSON != null || this.bookletJSON != undefined) {\r\n // Storing the API response for future use\r\n this.storageService.save(this.bookletJSON);\r\n }\r\n\r\n this.booklet = this.bookletJSON.records;\r\n this.abItem = this.bookletJSON.answerbook;\r\n\r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in this.bookletJSON.sqOptions) {\r\n this.sqOptions.set(sq, this.bookletJSON.sqOptions[sq]);\r\n }\r\n\r\n // Process the Questions\r\n // HA 28DEC23 this applies for booklet\r\n // HA 17JAN24 Added ternary operator to avoid undefined scenario\r\n // HA 09FEB24 Adding condition to avoid undefined error\r\n if(this.bookletJSON?.bookQuestionsMap && Object.keys(this.bookletJSON?.bookQuestionsMap).length > 0){\r\n for (var value in this.bookletJSON.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, this.bookletJSON.bookQuestionsMap[value]);\r\n }\r\n }\r\n // HA 28DEC23 this applies for book or questions\r\n else{\r\n var value = '';\r\n // HA 09FEB24 Added ternary\r\n // RS 09DEC24 Changed keys\r\n value = this.bookletJSON.records[0]?.id;\r\n this.bookQuestionsMap.set(value, this.bookletJSON.questionbook);\r\n }\r\n \r\n // VD 20Jun24 - translation changes\r\n for (var value in this.bookletJSON?.translationMap) {\r\n this.translateMap.set(value, this.bookletJSON.translationMap[value]);\r\n }\r\n // VD 31NOV24 wrapper changes\r\n if(this.bookletJSON.questionbook?.action != undefined) {\r\n this.actions = JSON.parse(this.bookletJSON.questionbook.action);\r\n }\r\n }\r\n // HA 19DEC23 langDirection variable value assigning\r\n // RS 09DEC24 Changed keys\r\n if(this.bookletJSON?.questionbook?.style){\r\n var style = JSON.parse(JSON.parse(JSON.stringify(this.bookletJSON?.questionbook?.style)));\r\n this.langDirection = style?.direction;\r\n }\r\n else if(this.bookletJSON?.records[0]?.style){\r\n // else if(this.bookletJSON?.records[0]?.style){\r\n\r\n var style = JSON.parse(JSON.stringify(this.bookletJSON?.records[0]?.style));\r\n this.langDirection = style?.direction;\r\n }\r\n\r\n // HA 18-JAN-24 The condition is used for Bind-In Logic \r\n this.handleCompleteBooklet(this.bookletJSON); \r\n }\r\n // VD 12Jun24 - translation changes\r\n private readBooklet = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Booklet\", \"read\", uuid,this.languageCode],\r\n this.successReadBooklet,\r\n this.failureReadBooklet\r\n );\r\n } else {\r\n // VD 31NOV24 param changes with new method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n let para = {\r\n dataType: \"Booklet\",\r\n operation: \"read\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : this.languageCode\r\n }\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para)],\r\n this.successReadBooklet,\r\n this.failureReadBooklet\r\n );\r\n }\r\n }\r\n\r\n private successReadBooklet = (response) => {\r\n console.log('Inside the successReadBooklet');\r\n if(response != null || response != undefined) {\r\n // Storing the API response for future use\r\n this.storageService.save(response);\r\n\r\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\r\n // this.isAnswerFlag = true;\r\n \r\n this.booklet = response.records;\r\n this.abItem = response.answerbook;\r\n \r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in response.sqOptions) {\r\n this.sqOptions.set(sq, response.sqOptions[sq]);\r\n }\r\n\r\n // Process the Questions\r\n for (var value in response.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, response.bookQuestionsMap[value]);\r\n }\r\n // VD 11Jun24 - translation changes\r\n for (var value in response.translationMap) {\r\n this.translateMap.set(value, response.translationMap[value]);\r\n }\r\n // VD 31NOV24 wrapper changes\r\n if(response.questionbook?.action != undefined) {\r\n this.actions = JSON.parse(response.questionbook.action);\r\n }\r\n }\r\n // HA 19DEC23 langDirection variable value assigning\r\n if(response?.questionbook?.style){\r\n var style = JSON.parse(JSON.parse(JSON.stringify(response?.questionbook?.style)));\r\n this.langDirection = style?.direction;\r\n }\r\n else if(response?.records[0]?.style){\r\n var style = JSON.parse(JSON.parse(JSON.stringify(response?.records[0]?.style)));\r\n this.langDirection = style?.direction;\r\n }\r\n }\r\n\r\n private failureReadBooklet = (response) => {\r\n\r\n }\r\n\r\n handleBookletActionClick(action:ActionMeta) {\r\n // HA 19JAN24 Action changes\r\n // RS 09DEC24 Changed keys\r\n this.answerList = [];\r\n this.dataBind = []; // HA 12FEB24 Clearing dataBind upon button action so that dataBind value will not override the changed value\r\n let dataToParent = {};\r\n let validForm = true; // VD 01Aug24 - validation change\r\n // HA 22JAN24 this change to make close event work\r\n dataToParent['action'] = action.eventtoemit;\r\n if(!(action.eventtoemit === 'close' || action.eventtoemit === 'print')){\r\n // HA 18-JAN-24 Sending the complete json data also \r\n dataToParent['jsonBook'] = this.storageService.get();\r\n // HA 17JAN24 nxtId to dataParent object\r\n if(this.bookletJSON){\r\n dataToParent['nxtId'] = Object.keys(this.bookletJSON?.bookQuestionsMap)[0];\r\n }\r\n // HA 11-JAN-24 Minimizing the value which has to be passed to the server\r\n this.handleCompleteBooklet(dataToParent['jsonBook']);\r\n dataToParent['data'] = this.answerList ? this.answerList : dataToParent['data'];\r\n // when clicking the submit button validating the required fields\r\n for(let key in dataToParent['jsonBook'].bookQuestionsMap){\r\n const currentBook = dataToParent['jsonBook'].bookQuestionsMap[key];\r\n currentBook.subQuestions.forEach(element => {\r\n // VD 01Aug24 - validation change\r\n if(element.isOptional && dataToParent['action'] == 'submit' && (!element.input || (Array.isArray(element.input) && element.input.length === 0)) && !element.isHidden && element.type != 'Label' && element.type != 'Image' ){ //SKS5NOV25 \r\n element.error = true;\r\n validForm = false;\r\n this.changeService.submitChange(element.id);\r\n }\r\n // VD 02Aug24 - clear action changes\r\n if(dataToParent['action'] == 'clear'){\r\n if(element.type == 'Dropdown' || element.type == 'Location' || element.type == 'Radio') {\r\n element.selectedValue = undefined;\r\n }else if(element.type == 'File'){\r\n element.input = [];\r\n }else {\r\n element.input = '';\r\n }\r\n }\r\n });\r\n }\r\n }\r\n // VD 13MAY24 - print QR button changes\r\n if(action.eventtoemit === 'print'){\r\n dataToParent['actionData'] = action['data'];\r\n }\r\n // HA 23JAN24 To call the action on any event\r\n // VD 01Aug24 - validation change\r\n if(validForm){\r\n this.handleBookletActionEvent.emit(dataToParent);\r\n }else {\r\n dataToParent['action'] = 'error';\r\n this.handleBookletActionEvent.emit(dataToParent);\r\n }\r\n }\r\n\r\n // HA 18-JAN-24 handleCompleteBooklet is to simplify the logic\r\n handleCompleteBooklet(completeBooklet){\r\n if(Object.keys(completeBooklet?.bookQuestionsMap ?? {}).length === 0){ // HA 11-JAN-24 If condition to load booklet\r\n this.handleBook(completeBooklet?.questionbook?.subQuestions);\r\n }\r\n else{ // HA 11-JAN-24 To load book questions\r\n for (const key in completeBooklet.bookQuestionsMap) {\r\n const val = completeBooklet.bookQuestionsMap[key];\r\n if(val.type === 'Book'){\r\n this.handleBook(val.subQuestions);\r\n }\r\n else{\r\n this.handleQues(val);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // HA 11-JAN-24 handleBook loads the Book\r\n // RS 09DEC24 Changed keys\r\n handleBook(quesList: any){\r\n quesList?.forEach(element => {\r\n if(element.type === 'Book'){\r\n // HA 24JAN24 Fetching from QB reference\r\n var book = JSON.parse(element.qbReferenceQuestions);\r\n book.questionbook.subQuestions.forEach(ques => {\r\n this.handleQues(ques);\r\n });\r\n }\r\n else{\r\n this.handleQues(element);\r\n }\r\n });\r\n // VD 13Sep24 - databind changes\r\n // VD 23 Oct24 - file type changes\r\n if(this.dataBind && Object.keys(this.dataBind).length > 0){\r\n this.changeService.dataChanges('dataBind');\r\n }\r\n }\r\n\r\n // HA 11-JAN-24 handleQues to load question\r\n // VD 06Sep24 calendar changes\r\n handleQues(ques: any){\r\n // HA 19-JAN-24 If condition is for bind-in, correction\r\n // HA 09FEB24 Adding condition to avoid undefined error\r\n if(this.dataBind && Object.keys(this.dataBind).length > 0){\r\n for(let [key, val] of Object.entries(this.dataBind)){\r\n let value:any = val;\r\n if(ques.referenceField === key){\r\n if(ques.type === 'Dropdown' || ques.type === 'Radio' ){\r\n this.sqOptions.forEach(element => {\r\n if(element['referenceField'] === key){\r\n element['input'] = ques.input = value;\r\n element['selectedValue'] = ques.selectedValue = value;\r\n }\r\n });\r\n }\r\n // HA 24JAN24 To bind-in Date and DateTime\r\n else if(ques.type === 'Date' || ques.type == 'DateTime'){\r\n ques.input = new Date(value?.toString());\r\n }\r\n // HA 12FEB24 To bind-in Location Type\r\n else if(ques.type === 'Location'){\r\n ques.input = value;\r\n ques.selectedValue = value['address'] ? value['address'] : value;\r\n }\r\n // VD 06Sep24 calendar changes for data bindIn\r\n else if(ques.type === 'Calendar'){\r\n let entries = JSON.parse(ques['fieldsMeta']);\r\n if(entries){\r\n let referenceQuestions = [];\r\n if(entries.length > 0){\r\n entries.forEach(element => {\r\n if(element.questionReference){\r\n let qReference = JSON.parse(element.questionReference);\r\n referenceQuestions.push(qReference?.question);\r\n }\r\n });\r\n }\r\n if(referenceQuestions.length > 0){\r\n value?.forEach(calendarArray => {\r\n let date = new Date(calendarArray.date);\r\n calendarArray.entries.forEach(inputEntry=>{\r\n for(let [k, v] of Object.entries(inputEntry)){\r\n referenceQuestions.forEach(field => {\r\n if(field.referenceField == k){\r\n if(field.type === 'Date' || field.type == 'DateTime' || field.type == 'Time'){\r\n field.input = new Date(v?.toString());\r\n }if(field.type === 'Dropdown' || field.type === 'Radio'){\r\n field.selectedValue = v;\r\n field.input = v;\r\n }else {\r\n field.input = v;\r\n }\r\n }\r\n });\r\n } \r\n this.addEvent(date,referenceQuestions);//SKS 27SEP24 each event added to allEvents array\r\n }) \r\n // this.addEvent(date,referenceQuestions); //this is only last event added to allEvents array\r\n });\r\n }\r\n }\r\n ques.input = this.allEvents.length > 0 ? this.allEvents : '';\r\n }\r\n // VD 23 Oct24 - file type changes\r\n else if(ques.type === 'File'){\r\n ques.input = [];\r\n ques.input = value;\r\n }\r\n else{\r\n ques.input = value;\r\n }\r\n this.answerList.push(ques); // HA 12FEB24 To give the value for data\r\n }\r\n else{\r\n console.log(\"reference field not found\");\r\n }\r\n }\r\n }\r\n else{\r\n const question = {};\r\n question['id'] = ques.id;\r\n question['input'] = ques.input;\r\n // HA 12FEB24 To bind-out Location Type\r\n if(ques.type === 'Location'){\r\n question['input'] = ques.input ? ques.input : ques.selectedValue;\r\n }else if(ques.type == 'File'){\r\n // VD 23 Oct24 - file type changes\r\n question['input'] = ques.input ? ques.input : [];\r\n }\r\n question['type'] = ques.type;\r\n question['questionNumber'] = ques.questionNumber;\r\n question['referenceField'] = ques?.referenceField;\r\n this.answerList.push(question);\r\n }\r\n }\r\n\r\n// VD 06Sep24 calendar changes for data bindIn\r\n addEvent(day: any, entryQues) {\r\n // Transform new entries into the desired format\r\n const newEntries = entryQues.reduce((acc, q) => {\r\n acc[q.id] = { ...q };\r\n return acc;\r\n }, {});\r\n\r\n // Find if an event already exists for the given date\r\n const existingEvent = this.allEvents.find(event => event.date.toDateString() === day.toDateString());\r\n\r\n if (existingEvent) {\r\n // If the event exists, push the new entries to the existing entries\r\n const existingEntries = existingEvent.entries.map(entry => ({ ...entry }));\r\n existingEntries.push(newEntries);\r\n existingEvent.entries = existingEntries;\r\n } else {\r\n // Create a new event if it doesn't exist for the given date\r\n const newEvent = {\r\n id: '_' + Math.random().toString(36).substr(2, 9),\r\n date: day,\r\n entries: [newEntries] // Wrap the new entries in an array\r\n };\r\n this.allEvents.push(newEvent);\r\n }\r\n}\r\n\r\n\r\n readQuestions(qbId: string) {\r\n let questions = [];\r\n // HA 31-JAN-24 Added ternary to avoid undefined\r\n for(var sq in this.bookQuestionsMap?.get(qbId)?.subQuestions) {\r\n let q: Question = this.bookQuestionsMap?.get(qbId).subQuestions[sq];\r\n // HA 09FEB24 if question is there process\r\n if(q){\r\n if((q.type == 'Dropdown' || q.type == 'Radio') && this.sqOptions.get(q.id)) {\r\n questions.push(this.sqOptions.get(q.id));\r\n } else {\r\n questions.push(q);\r\n }\r\n }\r\n }\r\n\r\n // VD 12Jun24 field permisision changes\r\n if (this.fieldRestrictions) {\r\n const fieldRestrictions = new Map(Object.entries(this.fieldRestrictions.fields));\r\n questions.forEach(ques => {\r\n const restriction = fieldRestrictions.get(ques.uniqueIdentifier);\r\n \r\n if (restriction) {\r\n ques.isReadOnly = restriction === 'readOnly';\r\n ques.isHidden = restriction === 'hide';\r\n }\r\n });\r\n }\r\n return questions;\r\n }\r\n // VD 11Jun24 - translation changes\r\n readTransQuestions(qbId: string){\r\n let record = [];\r\n let translateRecord = this.translateMap.get(qbId);\r\n if(translateRecord && translateRecord.length > 0) {\r\n translateRecord.forEach(lanRec => {\r\n if(lanRec.languageCode == this.languageCode){\r\n record = lanRec.fields\r\n }\r\n });\r\n }\r\n return record;\r\n }\r\n\r\n getText(value) {\r\n var doc = new DOMParser().parseFromString(value, \"text/html\");\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n doc.documentElement.textContent\r\n );\r\n }\r\n getDropDown(event:any){\r\n this.hadleDropDownDependent.emit(event);\r\n }\r\n // VD 06Sep24 calendar changes\r\n getCalendarDate(event:any){\r\n this.handleCalendarDate.emit(event);\r\n }\r\n getCalendarEvent(event:any){\r\n event[\"nxtId\"]= Object.keys(this.bookletJSON?.bookQuestionsMap)[0];\r\n this.handleCalendarEvent.emit(event);\r\n }\r\n}\r\n","<ngx-spinner size=\"medium\" [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<!-- HA 19DEC23 For Direction -->\r\n<div *ngFor=\"let qb of booklet\" [ngClass]=\"langDirection\">\r\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\r\n <!-- RS 09DEC24 Changed keys-->\r\n <!-- <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.id\" [tkn]=\"tkn\"></lib-questionnaire> -->\r\n <!-- HA 28DEC23 Below If logic is to load from booklet -->\r\n <div *ngIf=\"qb.subQuestions; else elseBlock\">\r\n <div *ngFor=\"let ques of qb.subQuestions\" class=\"questiondiv1\">\r\n <div>\r\n <!-- HA 17JAN24 - Is title is enabled so that based on the boolean div will be visible -->\r\n <div *ngIf=\"ques.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\r\n <!-- VD 08NOV23 - showing lable when its available-->\r\n <div [innerHTML]=\"getText(ques?.questionText)\" *ngIf=\"ques?.questionText\" >\r\n {{ ques?.questionText }}\r\n </div>\r\n </div> <!-- VD 19JAN24 - getting token as input --> <!--VD 11Jun24 - translation changes-->\r\n <!--VD 06Sep24 calendar changes-->\r\n <lib-questionbook [qbItem]=\"qb\" [token]=\"token\"\r\n [labelValue]=\"labelValue\"\r\n [questionItem]=\"ques\"\r\n [translatedQuestions]=\"readTransQuestions(qb.id)\"\r\n [questions]=\"readQuestions(qb.id)\"\r\n (handleDropDown)=\"getDropDown($event)\"\r\n (handleCalendarDate)=\"getCalendarDate($event)\"\r\n (handleCalendarEvent)=\"getCalendarEvent($event)\"\r\n ></lib-questionbook>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- HA 28DEC23 Below else logic is to load from books or questions -->\r\n <ng-template #elseBlock>\r\n <div class=\"questiondiv1\">\r\n <div>\r\n <div *ngIf=\"!qb.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\r\n <!-- VD 08NOV23 - showing lable when its available-->\r\n <div [innerHTML]=\"getText(qb?.questionText)\" *ngIf=\"qb?.questionText\" >\r\n {{ qb?.questionText }}\r\n {{ qb?.title }}\r\n </div>\r\n </div> <!-- VD 19JAN24 - getting token as input --> <!-- // VD 11Jun24 - translation changes-->\r\n <lib-questionbook [qbItem]=\"qb\" [token]=\"token\" [labelValue]=\"labelValue\" [questionItem]=\"qb\" [translatedQuestions]=\"readTransQuestions(qb.id)\" [questions]=\"readQuestions(qb.id)\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<!-- RS 09DEC24 Changed keys-->\r\n<!-- Group Actions -->\r\n<!-- HA 19DEC23 For Direction -->\r\n<div class=\"align-submit-row\" *ngIf=\"abItem?.status != 'Completed'\" [ngClass]=\"langDirection\">\r\n <div *ngFor=\"let action of actions; let i = index\">\r\n <!-- // HA 22JAN24 Commonise the button style in fusion -->\r\n <button (click)=\"handleBookletActionClick(action)\" ngClass=\"btn btn-primary fc-button nxtButton\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n","import { Component, OnInit , Input} from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { SharedService } from '../../services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-file-view',\r\n templateUrl: './file-view.component.html',\r\n styleUrls: ['./file-view.component.css']\r\n})\r\nexport class FileViewComponent implements OnInit {\r\n @Input() documentData;\r\n @Input() api;\r\n\r\n constructor(private SharedService: SharedService,\r\n public i18nService: I18nService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n viewDoc(link) {\r\n /*\r\n Author: Vinay Jadhav\r\n @description: This function will view the file from azure blob.\r\n The link passed as a parameter will extract file name and pass it to the service\r\n @param link: It will accept a doc link\r\n @return: It will not return anything but it will either show or download the file.\r\n */\r\n if (link && link !== null) {\r\n this.SharedService.processViewFile(link.split('/').pop(),this.api);\r\n }\r\n // window.open(environment.api.substring(0, environment.api.length - 1) + link, '_blank');\r\n }\r\n\r\n getDocIcon(docName) {\r\n const ext = docName.split('.').pop(-1);\r\n return this.SharedService.docIcon(ext);\r\n }\r\n\r\n \r\n\r\n}\r\n","<div class=\"col-lg-12\">\r\n <div class=\"row\" style=\"text-align: left;\">\r\n <div class=\"col-md-12\">\r\n <!-- HA 19DEC23 For translation -->\r\n <label class=\"she-label attachment\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\r\n </div>\r\n </div>\r\n <div class=\"row\" style=\"margin: 0;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\r\n </div>\r\n </div>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { ActionMeta } from '../../interfaces/actionMeta';\r\nimport { Question } from '../../wrapper';\r\n\r\n@Component({\r\n selector: 'lib-summary-page',\r\n templateUrl: './summary-page.component.html',\r\n styleUrls: ['./summary-page.component.css']\r\n})\r\nexport class SummaryPageComponent implements OnInit {\r\n @Input() answerJson:any;\r\n @Input() api:string;\r\n\r\n public booklet: any[] = [];\r\n public bookQuestionsMap: any = new Map();\r\n public actions: ActionMeta[] = [];\r\n private sqOptions: any = new Map();\r\n public questions:any[] = [];\r\n filteredQuestion: any[];\r\n\r\n constructor(public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n if(this.answerJson) {\r\n console.log('answer json',this.answerJson);\r\n this.booklet = this.answerJson.records;\r\n\r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in this.answerJson.sqOptions) {\r\n this.sqOptions.set(sq, this.answerJson.sqOptions[sq]);\r\n }\r\n // Process the Questions\r\n for (var value in this.answerJson.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, this.answerJson.bookQuestionsMap[value]);\r\n }\r\n }\r\n this.processSummary(this.booklet);\r\n }\r\n // RS 09DEC24 Changed keys\r\n processSummary(data:any){\r\n let questions = [];\r\n for( var i = 0; i < data.length ;i++){\r\n let qbId = data[i].id;\r\n for(var sq in this.bookQuestionsMap?.get(qbId).subQuestions) {\r\n let q: Question = this.bookQuestionsMap?.get(qbId).subQuestions[sq];\r\n if(q.type == 'Dropdown') {\r\n questions.push(this.sqOptions.get(q.id));\r\n } else {\r\n if(!q.input?.includes('|')){ // to avoid the unwanted fields for summary page\r\n questions.push(q);\r\n }\r\n }\r\n }\r\n }\r\n this.questions = questions;\r\n console.log('question', this.questions);\r\n // map the questions using the the bookId\r\n var qbIds = new Set(this.questions.map((item:any) => item.questionBookId))\r\n this.filteredQuestion = [];\r\n qbIds.forEach((id) => {\r\n this.filteredQuestion.push({\r\n Id: id, \r\n questions: this.questions.filter((i:any) => i.questionBookId === id)\r\n });\r\n })\r\n console.log('filteredQuestion',this.filteredQuestion);\r\n }\r\n\r\n}\r\n","<div class=\"col-lg-12\">\r\n <div class=\"panel-group panel-group-joined\" id=\"details\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-heading\">\r\n <h4 class=\"panel-title\">\r\n <!-- HA 19DEC23 For Translation -->\r\n<!-- HA 20FEB24 PTW Details to Details -->\r\n<!-- RS 09DEC24 Changed keys-->\r\n <a data-toggle=\"collapse\" data-parent=\"#details\" href=\"#collapse\" class=\"collapsed\">\r\n {{'details' | i18n:i18nService.currentLanguage}}\r\n </a>\r\n </h4>\r\n </div>\r\n <div [id]=\"'collapse'\" class=\"collapse\">\r\n <div class=\"panel-body\">\r\n <div class=\"row\" *ngFor=\"let item of filteredQuestion;let i = index\">\r\n <div class=\"col-lg-6\" *ngFor=\"let ques of item.questions\" >\r\n <label *ngIf=\"ques.type != 'File'\" >{{ques.question}}</label>\r\n <p *ngIf = \"ques.type != 'Dropdown' && ques.type != 'Table' && ques.type != 'File'\">{{ ques.input }}</p>\r\n <p *ngIf=\"ques.type == 'Dropdown'\">{{ ques.selectedValue }}</p>\r\n <p *ngIf=\"!ques.input\">N/A</p>\r\n <div *ngIf= \"ques.type == 'Table'\">\r\n <div *ngFor=\"let item of ques.input\" class=\"align-center\">\r\n <img *ngIf=\"item.value == 'yes' \" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <p *ngIf=\"item.value == 'yes' \">{{ item.ppe }}</p>\r\n </div>\r\n </div>\r\n <div *ngIf = \"ques.type == 'File'\">\r\n <app-file-view [api]=\"api\" [documentData]=\"ques.input\"></app-file-view>\r\n </div>\r\n </div>\r\n <div *ngIf=\"i != filteredQuestion.length -1\" class=\"col-lg-12\">\r\n <hr>\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n</div>\r\n\r\n","// HA 19DEC23 File created for translation\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n// import { I18nPipe } from './i18n.pipe';\r\n// import { I18nComponent } from './i18n.component';\r\nimport { I18nService } from './i18n.service';\r\nimport { i18nConfigService } from './i18n-config.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n // I18nPipe,\r\n // I18nComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class I18nModule {\r\n\r\n static forRoot(config): ModuleWithProviders<I18nModule> {\r\n return {\r\n ngModule: I18nModule,\r\n providers: [\r\n I18nService,\r\n {\r\n provide: i18nConfigService,\r\n useValue: config\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","// HA 19DEC23 File created for translation\r\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { I18nService } from './i18n.service';\r\n@Component({\r\n selector: 'app-i18n',\r\n styles: [\r\n `.selected-language {\r\n color: green !important;\r\n font-weight: bold;\r\n font-size: 24px !important;\r\n}`,\r\n `.not-selected-language {\r\n color: #555555;\r\n font-weight: bold;\r\n}`,\r\n ],\r\n template: `\r\n <a *ngFor=\"let lang of i18nService.langList\" href=\"javascript:void(0);\" class=\"not-selected-language\" [ngClass]=\"{'selected-language': i18nService.currentLanguage === lang.lang}\"\r\n\r\n (click)=\"firstClick(lang.lang)\">\r\n <span class=\"mr-3\">\r\n {{lang.lang}}\r\n </span>\r\n </a>\r\n\r\n `,\r\n})\r\nexport class I18nComponent implements OnInit {\r\n // @Output() handleEve:EventEmitter<any> = new EventEmitter();\r\n constructor(\r\n public i18nService: I18nService\r\n ) {}\r\n ngOnInit() {\r\n console.log('ngOnInit component.ts')\r\n // this.handleEve.emit();\r\n }\r\n\r\n firstClick(event){\r\n console.log('first ', event);\r\n this.i18nService.languageChange(event);\r\n // this.handleEve.emit();\r\n window.location.reload();\r\n }\r\n}\r\n","const enI18n = {\r\n required: \"Required\",\r\n addMore: \"Add More\",\r\n select: \"Select\",\r\n attachment: \"Attachment\",\r\n chooseFiles: \"Choose files\",\r\n uploadFile: \"Upload File\",\r\n thisFieldIsRequired: \"This field is required.\",\r\n pickYourLocation: \"Pick Your Location\",\r\n // firstName: \"First Name\",\r\n // lastName: \"Last Name\",\r\n // division: \"Division\",\r\n // numberPlate: \"Number Plate\",\r\n calibrated: \"Calibrated\",\r\n enterValue: \"Enter Value\",\r\n details: \"Details\", // HA 20FEB24 PTW Details to Details\r\n pleaseMakeChoice: \"Please make a choice\",\r\n attach: \"Attach\",\r\n add: \"Add\",\r\n zeroOfZero: \"0 of 0\",\r\n selectDate: \"Select date\",\r\n toBuyTicket: \"to buy a ticket\",\r\n pickLocation: \"Pick Location\",\r\n enterLocation: \"Enter Location\",\r\n searchNearestLocation: \"Search Nearest Location\",\r\n currentTheme: \"ltr\",\r\n}\r\n\r\nexport default enI18n;","const arI18n = {\r\n required: \"مطلوب\",\r\n addMore: \"أضف المزيد\",\r\n select: \"يختار\",\r\n attachment: \"مرفق\",\r\n chooseFiles: \"اختر الملفات\",\r\n uploadFile: \"رفع ملف\",\r\n thisFieldIsRequired: \"هذه الخانة مطلوبه.\",\r\n pickYourLocation: \"اختر موقعك\",\r\n // firstName: \"الاسم الأول\",\r\n // lastName: \"اسم العائلة\",\r\n // division: \"قسم\",\r\n // numberPlate: \"لوحة الأرقام\",\r\n calibrated: \"معايرة\",\r\n enterValue: \"أدخل القيمة\",\r\n details: \"تفاصيل\", // HA 20FEB24 PTW details to Details\r\n pleaseMakeChoice: \"يرجى الاختيار\",\r\n attach: \"يربط\",\r\n add: \"يضيف\",\r\n zeroOfZero: \"0 من 0\",\r\n selectDate: \"حدد تاريخ\",\r\n toBuyTicket: \"لشراء تذكرة\",\r\n pickLocation: \"اختر الموقع\",\r\n enterLocation: \"إدخال الدولة\",\r\n searchNearestLocation: \"البحث عن أقرب موقع\",\r\n currentTheme: \"rtl\",\r\n}\r\n\r\nexport default arI18n;","const tamI18n = {\r\n required: \"தேவை\",\r\n addMore: \"மேலும் சேர்க்கவும்\",\r\n select: \"தேர்ந்தெடுக்கவும்\",\r\n attachment: \"இணைப்பு\",\r\n chooseFiles: \"கோப்புகளைத் தேர்ந்தெடுக்கவும்\",\r\n uploadFile: \"கோப்பை பதிவேற்றவும்\",\r\n thisFieldIsRequired: \"இந்த புலம் தேவை.\",\r\n pickYourLocation: \"உங்கள் இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்\",\r\n // firstName: \"முதல் பெயர்\",\r\n // lastName: \"கடைசி பெயர்\",\r\n // division: \"பிரிவு\",\r\n // numberPlate: \"இலக்கத்தகடு\",\r\n calibrated: \"அளவீடு செய்யப்பட்டது\",\r\n enterValue: \"மதிப்பை உள்ளிடவும்\",\r\n details: \"விவரங்கள்\", // HA 20FEB24 PTW Details to Details\r\n pleaseMakeChoice: \"தயவுசெய்து தேர்வு செய்யுங்கள்\",\r\n attach: \"இணைக்கவும்\",\r\n add: \"சேர்\",\r\n zeroOfZero: \"0 இல் 0\",\r\n selectDate: \"தேதியைத் தேர்ந்தெடுக்கவும்\",\r\n toBuyTicket: \"டிக்கெட் வாங்க\",\r\n pickLocation: \"இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்\",\r\n enterLocation: \"இருப்பிடத்தை உள்ளிடவும்\",\r\n searchNearestLocation: \"அருகிலுள்ள இடத்தைத் தேடுங்கள்\",\r\n currentTheme: \"ltr\",\r\n}\r\n\r\nexport default tamI18n;","import { Component, OnInit } from '@angular/core';\r\nimport { SharedService } from '../../services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n isLoading: boolean = false;\r\n\r\n constructor(private loaderService: SharedService) {}\r\n\r\n ngOnInit(): void {\r\n this.loaderService.isLoading$.subscribe((loading) => {\r\n this.isLoading = loading;\r\n });\r\n }\r\n\r\n}\r\n","<div class=\"loader\" *ngIf=\"isLoading\">\r\n <div class=\"spinner\"></div>\r\n </div>\r\n ","// VD 06-09-24 directive file to call component dynamically \r\nimport { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[dynamicComponentHost]',\r\n standalone: true\r\n})\r\nexport class ComponenthostDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","// AP 22JAN25\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ElementComponent } from '../pages/builder/element/element.component';\r\n\r\ninterface FormElement {\r\n id: any;\r\n name: any;\r\n value?: any;\r\n required?: boolean;\r\n type: string;\r\n questionText?: string;\r\n question?: string;\r\n helpText?: string;\r\n errorMessage?: string;\r\n isReadOnly?: boolean;\r\n isHidden?: boolean;\r\n isDateBackward?: boolean;\r\n isDateForward?: boolean;\r\n isOptional?: boolean;\r\n isTitle?: boolean;\r\n nextQuestion?: string;\r\n allowedFileExtensions?: string;\r\n questionNumber?: number;\r\n questionBookId?: string;\r\n size?: number;\r\n parentQuestion?: string;\r\n subText?: string;\r\n fieldsMeta?: string;\r\n recordTypeName?: string;\r\n recordTypeId?: string;\r\n trackingId?: string;\r\n dateText?: string;\r\n timeText?: string;\r\n recordId?: string;\r\n qbReference?: string;\r\n qbReferenceQuestions?: string;\r\n questionBookSubTitle?: string;\r\n style?: string;\r\n title?: string;\r\n subTitle?: string;\r\n referenceField?: string;\r\n additionalRichContent?: string;\r\n groupName?: string;\r\n x24Hours?: boolean;\r\n\r\n // Options for elements like Dropdown, Radio, Checkbox\r\n options?: Array<{\r\n label: string;\r\n value: any;\r\n type: string;\r\n key: string;\r\n }>;\r\n}\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FormBuilderService {\r\n private formElements: FormElement[] = [];\r\n private formElementsSubject = new BehaviorSubject<FormElement[]>([]);\r\n private selectedElementSubject = new BehaviorSubject<number>(-1);\r\n private elementComponent: ElementComponent | null = null;\r\n book:any;\r\n\r\n formElements$ = this.formElementsSubject.asObservable();\r\n selectedElement$ = this.selectedElementSubject.asObservable();\r\n unique_id: any;\r\n tempElem: any[];\r\n // book: { bookQuestionsMap: { unique_id: { subQuestions: any[]; }; }; };\r\n\r\n constructor() {\r\n // Load saved elements from localStorage\r\n\r\n const savedFormElements = localStorage.getItem('formElements');\r\n if (savedFormElements) {\r\n this.formElements = JSON.parse(savedFormElements);\r\n this.formElementsSubject.next([...this.formElements]);\r\n this.book = JSON.parse(localStorage.getItem('book') || '{}');\r\n this.unique_id = localStorage.getItem('unique_id');\r\n }\r\n }\r\n\r\n // Get the element component reference\r\n getElementComponent(): ElementComponent | null {\r\n return this.elementComponent;\r\n }\r\n\r\n setElementComponent(component: ElementComponent) {\r\n this.elementComponent = component;\r\n }\r\n\r\n // Add a new element to the form\r\n addElement(element: FormElement, parentId: string | null = null): void {\r\n\r\n // const savedFormElements = localStorage.getItem('formElements');\r\n console.log(\"aswin\",this.formElements.length);\r\n if (this.formElements.length == 0) {\r\n console.log(\"savedFormElements\",this.formElements);\r\n // this.formElements = JSON.parse(savedFormElements);\r\n // this.formElementsSubject.next([...this.formElements]);\r\n // this.book = JSON.parse(localStorage.getItem('book') || '{}');\r\n this.book = {};\r\n if(localStorage.getItem('status') == \"edit\"){\r\n this.unique_id = localStorage.getItem('unique_id');\r\n this.book = {\r\n 'bookQuestionsMap': {\r\n [this.unique_id]: {\r\n 'subQuestions': []\r\n }\r\n }\r\n };\r\n\r\n }else{\r\n this.unique_id = uuidv4();\r\n this.book = {\r\n 'bookQuestionsMap': {\r\n [this.unique_id]: {\r\n 'subQuestions': []\r\n }\r\n }\r\n };\r\n\r\n }\r\n // this.unique_id = uuidv4();\r\n\r\n localStorage.setItem('book', JSON.stringify(this.book));\r\n localStorage.setItem('unique_id', this.unique_id);\r\n }\r\n this.formElements.push(element);\r\n localStorage.setItem('formElements', JSON.stringify(this.formElements));\r\n this.formElementsSubject.next([...this.formElements]);\r\n }\r\n\r\n updateElement(index: number, updates: Partial<FormElement>) {\r\n const elements = [...this.getElements()];\r\n if (elements[index]) {\r\n elements[index] = {\r\n ...elements[index],\r\n ...updates\r\n };\r\n this.formElementsSubject.next(elements);\r\n }\r\n\r\n if (index >= 0 && index < this.formElements.length) {\r\n const updatedElement = {\r\n ...this.formElements[index],\r\n ...updates\r\n };\r\n if (updates.required !== undefined) {\r\n if (updatedElement.questionText) {\r\n const questionText = updatedElement.questionText.replace(/\\s*\\*+$/, '');\r\n updatedElement.questionText = updates.required ? `${questionText} *` : questionText;\r\n }\r\n }\r\n\r\n // Handle special cases\r\n if (updates.required === true && updatedElement.questionText && !updatedElement.questionText.endsWith('*')) {\r\n updatedElement.questionText = `${updatedElement.questionText} *`;\r\n } else if (updates.required === false && updatedElement.questionText && updatedElement.questionText.endsWith('*')) {\r\n updatedElement.questionText = updatedElement.questionText.slice(0, -2);\r\n }\r\n\r\n this.formElements[index] = updatedElement;\r\n this.formElementsSubject.next([...this.formElements]);\r\n localStorage.setItem('formElements', JSON.stringify(this.formElements));\r\n }\r\n }\r\n\r\n setSelectedElement(index: number) {\r\n this.selectedElementSubject.next(index);\r\n }\r\n\r\n getElements(): FormElement[] {\r\n return this.formElements;\r\n }\r\n downloadElement(){\r\n console.log(\"book\",this.book);\r\n this.book.bookQuestionsMap[this.unique_id].subQuestions = this.formElements;\r\n let tempElement = {};\r\n this.formElements.forEach((element) => {\r\n if (element.type === 'Dropdown' || element.type === 'Radio' || element.type === 'CheckBox') {\r\n // Initialize the array if it doesn't exist\r\n if (!tempElement[element.id]) {\r\n tempElement[element.id] = [];\r\n }\r\n // Push the current element into the array\r\n tempElement[element.id].push(element);\r\n }\r\n});\r\n\r\n this.book.bookQuestionsMap[this.unique_id]['sqOptions'] = tempElement;\r\n return this.book;\r\n }\r\n\r\n // // Find an element by its ID\r\n // findElementById(id: string): FormElement | null {\r\n // const findRecursive = (elements: FormElement[]): FormElement | null => {\r\n // for (const el of elements) {\r\n // if (el.id === id) return el;\r\n // if (el.subQuestions) {\r\n // const found = findRecursive(el.subQuestions);\r\n // if (found) return found;\r\n // }\r\n // }\r\n // return null;\r\n // };\r\n // return findRecursive(this.formElements);\r\n // }\r\n\r\n // Remove an element by UID\r\n\r\n\r\n // Save elements to localStorage and update the subject\r\n removeElementComponent(uid: any) {\r\n this.tempElem = [];\r\n this.formElements.forEach((element: any) => {\r\n if (element.uid !== uid) {\r\n this.tempElem.push(element);\r\n }\r\n });\r\n this.formElements = this.tempElem;\r\n localStorage.setItem('formElements', JSON.stringify(this.formElements));\r\n this.formElementsSubject.next([...this.formElements]);\r\n }\r\n}\r\n","// AP 22JAN25 - form preview and All form elements\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { FormBuilderService } from '../../../services/form-builder.service';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Component({\r\n selector: 'app-element',\r\n templateUrl: './element.component.html',\r\n styleUrls: ['./element.component.css'],\r\n})\r\n\r\nexport class ElementComponent {\r\n\r\n @Output() elementButtonClicked = new EventEmitter<string>();\r\n @ViewChild('formContainer') formContainer: ElementRef;\r\n @Input() bookletJSON: any;\r\n @Input() bookletId: any;\r\n\r\n formElements: any[] = [];\r\n constructor(private formBuilderService: FormBuilderService) {\r\n }\r\n ngOnInit() {\r\n // Subscribe to the formElements$ observable\r\n this.formBuilderService.formElements$.subscribe((elements) => {\r\n this.formElements = elements; // Update the local array with the latest data\r\n console.log('Form Elements:', this.formElements);\r\n });\r\n console.log(\"bookletJSON==\"+this.bookletJSON);\r\n if (this.bookletJSON) {\r\n // AP-23JAN25 - empty string to clear the local storage\r\n localStorage.setItem('formElements', \"\");\r\n localStorage.setItem('status', (\"edit\"));\r\n localStorage.setItem('unique_id', (this.bookletId));\r\n this.formElements = [];\r\n this.bookletJSON.bookQuestionsMap[this.bookletId].subQuestions.forEach(newElement => {\r\n this.formBuilderService.addElement(newElement);\r\n this.formElements = this.formBuilderService.getElements();\r\n });\r\n }\r\n else{\r\n localStorage.setItem('status', (\"new\"));\r\n }\r\n }\r\n\r\n drop(event: CdkDragDrop<string[]>) {\r\n moveItemInArray(this.formElements, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n\r\n // Add this method to handle element selection\r\n selectElement(index: number) {\r\n this.formBuilderService.setSelectedElement(index);\r\n const element = this.formElements[index];\r\n this.elementButtonClicked.emit(element.type); // Emit the type when selecting\r\n }\r\n\r\n addElement(type: string): void {\r\n const unique_id = uuidv4();\r\n const newElement = {\r\n id: unique_id,\r\n uid: unique_id,\r\n name: '',\r\n type,\r\n questionText: '',\r\n question: '',\r\n helpText: '',\r\n errorMessage: '',\r\n isReadOnly: false,\r\n isHidden: false,\r\n required: false,\r\n subText: '',\r\n referenceField: '',\r\n additionalRichContent: '',\r\n groupName: '',\r\n isDateBackward: false,\r\n title: '',\r\n subTitle: '',\r\n isDateForward: false,\r\n isOptional: false,\r\n isTitle: false,\r\n nextQuestion: '',\r\n allowedFileExtensions: '',\r\n questionNumber: this.formBuilderService.getElements().length + 1,\r\n questionBookId: '',\r\n parentQuestion: '',\r\n fieldsMeta: '',\r\n recordTypeName: '',\r\n recordTypeId: '',\r\n trackingId: '',\r\n dateText: '',\r\n timeText: '',\r\n recordId: '',\r\n qbReference: '',\r\n qbReferenceQuestions: '',\r\n questionBookSubTitle: '',\r\n style: '',\r\n options: type === 'CheckBox' || type === 'Radio' || type === 'Dropdown' ? [\r\n { label: 'Option 1', value: '', type: 'text', key: 'option1' },\r\n { label: 'Option 2', value: '', type: 'text', key: 'option2' }\r\n ] : null,\r\n\r\n };\r\n this.formBuilderService.addElement(newElement);\r\n this.formElements = this.formBuilderService.getElements();\r\n }\r\n\r\n addOption(options: Array<{ label: string; value: string }>) {\r\n options.push({ label: `Option ${options.length + 1}`, value: '' });\r\n }\r\n\r\n removeOption(options: Array<{ label: string; value: string }>, index: number) {\r\n options.splice(index,1);\r\n }\r\n\r\n // Remove an element by index\r\n removeElement(field: any,index: number): void {\r\n console.log('remove', index);\r\n this.formBuilderService.removeElementComponent(field.uid);\r\n this.formElements=this.formBuilderService.getElements();\r\n }\r\n\r\n\r\n getFontStyles(field: any): any {\r\n const styles = {\r\n 'font-family': field.font || 'Helvetica Neue',\r\n 'font-weight': field.fontWeight || '400',\r\n 'width': `${field.width || 980}px`,\r\n 'height': `${field.height || 91}px`,\r\n 'text-align': field.textAlign || 'left'\r\n };\r\n\r\n // Handle array of style classes\r\n if (field.styles && Array.isArray(field.styles)) {\r\n if (field.styles.includes('bold')) {\r\n styles['font-weight'] = '700';\r\n }\r\n if (field.styles.includes('italic')) {\r\n styles['font-style'] = 'italic';\r\n }\r\n if (field.styles.includes('underline')) {\r\n styles['text-decoration'] = 'underline';\r\n }\r\n if (field.styles.includes('capitalize')) {\r\n styles['text-transform'] = 'capitalize';\r\n }\r\n if (field.styles.includes('lowercase')) {\r\n styles['text-transform'] = 'lowercase';\r\n }\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n }\r\n\r\n\r\n","<!-- AP 22JAN25 - form preview and All form elements -->\r\n<div class=\"center-frame\">\r\n <link href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap\" rel=\"stylesheet\">\r\n <div class=\"form-preview\" cdkDropList [cdkDropListData]=\"formElements\" (cdkDropListDropped)=\"drop($event)\">\r\n <ng-container *ngFor=\"let field of formElements; let i = index\" getProperties().elementProps>\r\n\r\n <!-- TextBox -->\r\n <div *ngIf=\"field.type === 'Text'\" class=\"\" style=\"padding: 10px;\r\n background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'lable' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"text\" [placeholder]=\"field.question || 'Enter text'\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\" [(ngModel)]=\"field.text\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- CheckBox -->\r\n <div class=\"CheckBox-options\" *ngIf=\"field.type === 'CheckBox'\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <span class=\"label-text\">{{ field.questionText }}</span>\r\n <div class=\"checkbox-container\">\r\n <label class=\"option-label\">\r\n <!-- Options Section -->\r\n <div *ngIf=\"field.options?.length > 0\" class=\"options-container\">\r\n <div *ngFor=\"let option of field.options; let i = index\" class=\"option-item\">\r\n <!-- Option Input -->\r\n <input type=\"text\" [(ngModel)]=\"option.label\" placeholder=\"Label\" class=\"option-label\"/>\r\n <input type=\"text\" [(ngModel)]=\"option.value\" placeholder=\"Value\"class=\"option-value\"/>\r\n <!-- Remove Button -->\r\n <button class=\"remove-option-btn\" (click)=\"removeOption(field.options, i)\">\r\n <img src=\"../assets/icons/Trash.svg\" alt=\"Remove Option\" />\r\n </button>\r\n </div>\r\n <!-- Add Option Button -->\r\n <button type=\"button\" class=\"add-option-btn\" (click)=\"addOption(field.options)\">\r\n <span class=\"text-lg\">+</span>\r\n </button>\r\n </div>\r\n </label>\r\n <button class=\"trash-right\" (click)=\"removeElement(field, i)\">\r\n <img src=\"../assets/icons/Trash.svg\" alt=\"Delete\" />\r\n </button>\r\n </div>\r\n </div>\r\n\r\n <!-- Dropdown -->\r\n <div *ngIf=\"field.type === 'Dropdown'\" class=\"dropdown-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <label>{{ field.questionText }}</label>\r\n <select class=\"dropdown-options\"><option *ngFor=\"let option of field.options\" >{{ option }}</option></select>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n\r\n <!-- Calendar -->\r\n<div *ngIf=\"['Calendar'].includes(field.type)\" class=\"\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'Select Date' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"date\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\" [(ngModel)]=\"field.date\" />\r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Email -->\r\n<div *ngIf=\"field.type === 'Email'\" class=\"\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'label' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"email\" [placeholder]=\"field.question || 'Enter email'\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\" [(ngModel)]=\"field.email\" />\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n <!-- Numbers -->\r\n<div *ngIf=\"field.type === 'Numbers'\" class=\"\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'label' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"number\" [placeholder]=\"field.question || 'Enter number'\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\" [(ngModel)]=\"field.value\" />\r\n </div>\r\n </div>\r\n</div>\r\n\r\n,\r\n\r\n <!-- List -->\r\n <div *ngIf=\"field.type === 'List'\" class=\"list-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <label>{{ field.questionText }}</label>\r\n <ul><li *ngFor=\"let item of field.items\">{{ item }}</li></ul>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n\r\n <!-- TextArea -->\r\n<div *ngIf=\"field.type === 'TextArea'\" class=\"\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">\r\n {{ field.questionText ? field.questionText : 'Enter your text' }}\r\n <span *ngIf=\"field.required\" class=\"text-red-500\">*</span>\r\n </label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <textarea\r\n [placeholder]=\"field.question || 'Enter detailed text here...'\"\r\n [style.height.px]=\"field.size || 100\"\r\n [style.width.%]=\"100\"\r\n [readonly]=\"field.readOnly\"\r\n [class.hidden]=\"field.isHide\"\r\n [(ngModel)]=\"field.text\">\r\n </textarea>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Radio -->\r\n <div *ngIf=\"field.type === 'Radio'\" class=\"Radio-options\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <label>{{ field.questionText }}</label>\r\n <div *ngFor=\"let option of field.options\" class=\"radio-item\">\r\n <label><input type=\"radio\" name=\"{{ field.questionText }}\" /><span>{{ option }}</span></label>\r\n </div>\r\n <button class=\"delete-btn2\" (click)=\"removeElement(field, i)\"><img src=\"../assets/icons/Trash.svg\" alt=\"Delete\" /></button>\r\n </div>\r\n\r\n <!-- Image -->\r\n <div *ngIf=\"field.type === 'Image'\" class=\"image-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <label>{{ field.questionText }}</label>\r\n <input type=\"file\" accept=\"image/*\" />\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n\r\n <!-- Button -->\r\n <div *ngIf=\"field.type === 'Button'\" class=\"button-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <button>{{ field.questionText }}</button>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n\r\n <!-- File -->\r\n <div *ngIf=\"field.type === 'File'\" class=\"file-field-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" [ngStyle]=\"getFontStyles(field)\">\r\n <label>{{ field.questionText }}</label>\r\n <input type=\"file\" />\r\n <img class=\"trash-right\" src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n\r\n<!-- Tables -->\r\n<div *ngIf=\"field.type === 'Tables'\" class=\"table-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <label>{{ field.questionText }}</label>\r\n <table [style.width.px]=\"field.colWidth\" [style.height.%]=\"field.rowHeight\">\r\n <thead><tr><th *ngFor=\"let header of field.headers\" [style.width.px]=\"field.colWidth / field.colNos\">{{ header }}</th></tr></thead>\r\n <tbody><tr *ngFor=\"let row of field.rows\"><td *ngFor=\"let cell of row\">{{ cell }}</td></tr></tbody>\r\n </table>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n</div>\r\n\r\n\r\n <!-- Book -->\r\n<div *ngIf=\"field.type === 'Book'\" class=\"\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'Book Title' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <!-- No input box here -->\r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Label -->\r\n<div *ngIf=\"field.type === 'Label'\" class=\"\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'Label' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <!-- No input box here -->\r\n </div>\r\n </div>\r\n</div>\r\n</ng-container>\r\n </div>\r\n <!-- Form Builder Section All Elements -->\r\n <div class=\"form-builder\">\r\n <div class=\"element\" (click)=\"addElement('Calendar')\">\r\n <img class=\"calendar-img\" src=\"../assets/icons/Calendar.svg\">\r\n <div class=\"hover-label\">Calendar</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('CheckBox')\">\r\n <img src=\"../assets/icons/CheckBox.svg\">\r\n <div class=\"hover-label\">Check Box</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Email')\">\r\n <img src=\"../assets/icons/Email.svg\">\r\n <div class=\"hover-label\">Email</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('File')\">\r\n <img src=\"../assets/icons/File.svg\">\r\n <div class=\"hover-label\">File</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('List')\">\r\n <img src=\"../assets/icons/List.svg\">\r\n <div class=\"hover-label\">List</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Tables')\">\r\n <img src=\"../assets/icons/Table.svg\">\r\n <div class=\"hover-label\">Tables</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Text')\">\r\n <img src=\"../assets/icons/Text.svg\">\r\n <div class=\"hover-label\">Text Box</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('TextArea')\">\r\n <img src=\"../assets/icons/TextArea.svg\">\r\n <div class=\"hover-label\">Text Area</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Numbers')\">\r\n <img src=\"../assets/icons/Number.svg\">\r\n <div class=\"hover-label\">Numbers</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Dropdown')\">\r\n <img src=\"../assets/icons/Drop.svg\">\r\n <div class=\"hover-label\">Dropdown</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Image')\">\r\n <img src=\"../assets/Image.svg\">\r\n <div class=\"hover-label\">Image</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Radio')\">\r\n <img src=\"../assets/icons/Radio.svg\">\r\n <div class=\"hover-label\">Radio</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Label')\">\r\n <img src=\"../assets/icons/Label.svg\">\r\n <div class=\"hover-label\">Label</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Book')\">\r\n <img src=\"../assets/icons/Book.svg\">\r\n <div class=\"hover-label\">Book</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Button')\">\r\n <img src=\"../assets/icons/Button.svg\">\r\n <div class=\"hover-label\">Button</div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n","// AP 22JAN25\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { FormBuilderService } from '../../../services/form-builder.service';\r\n\r\n@Component({\r\n selector: 'app-properties',\r\n templateUrl: './properties.component.html',\r\n styleUrls: ['./properties.component.css']\r\n})\r\nexport class PropertiesComponent implements OnInit {\r\n // selectedElement: any;\r\n @ViewChild('colorWheel') colorWheel: ElementRef<HTMLCanvasElement>;\r\n private ctx: CanvasRenderingContext2D;\r\n\r\n selectedOption: string = '';\r\n\r\n selectedElementIndex: number = -1;\r\n // @Input() selectedElement: any;\r\n @Input() selectedElementType: string = '';\r\n selectedAlign: string = 'align-left'; // Add this property\r\n selectedStyles: string[] = []; // Using array since multiple styles can be selected\r\n errorMessage: string = '';\r\n\r\n selectedElement: any = null; // Receive the selected element\r\n\r\n\r\n\r\n onToggleChange(property: string, event: any) {\r\n const value = event.target.checked;\r\n if (this.selectedElement) {\r\n const update = { [property]: value };\r\n this.formBuilderService.updateElement(this.selectedElementIndex, update);\r\n\r\n // Update the selected element directly for immediate UI feedback\r\n this.selectedElement[property] = value;\r\n }\r\n }\r\n\r\n\r\n updateProperties(elementType: string): void {\r\n // Reset alignment and styles if switching elements\r\n this.selectedAlign = 'align-left';\r\n this.selectedStyles = [];\r\n\r\n // Fetch the properties of the selected element type\r\n const properties = this.getProperties();\r\n if (properties) {\r\n // Make sure the properties are dynamically updated\r\n }\r\n }\r\n\r\n onAlignSelect(value: string): void {\r\n if (this.selectedElement) {\r\n this.selectedElement.textAlign = value;\r\n console.log(`Selected alignment: ${value}`);\r\n }\r\n }\r\n\r\n\r\n onStyleSelect(value: string): void {\r\n if (!this.selectedElement) return;\r\n\r\n // Initialize styles array if it doesn't exist\r\n this.selectedElement.styles = this.selectedElement.styles || [];\r\n\r\n // Ensure only one style is selected at a time\r\n this.selectedElement.styles = [value];\r\n\r\n console.log('Updated styles:', this.selectedElement.styles);\r\n}\r\n\r\n\r\n isStyleActive(value: string): boolean {\r\n return this.selectedElement?.styles?.includes(value) || false;\r\n }\r\n\r\n\r\n elementProperties = {\r\n\r\n // Add other element types here similarly\r\n 'Text': {\r\n elementProps: [\r\n\r\n // questionText - Label-follow all element properties\r\n { label: 'Label', placeholder: 'Enter Text ', type: 'text',key: 'questionText' },\r\n\r\n // question - Placeholder-follow all element properties\r\n { label: 'placeholder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text ', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n\r\n // errorMessage - Error Msg-follow all element properties\r\n { label: 'Error Msg', placeholder: 'Enter Text ', type: 'text',key: 'errorMsg' },\r\n { label: 'Font', type: 'select', key: 'font' ,\r\n options: ['Helvetica Neue', 'Arial', 'Times New Roman', 'Roboto'] },\r\n { label: 'Weight', type: 'select',key: 'fontWeight',\r\n options: [\r\n { value: '400', label: '400-Normal' },\r\n { value: '500', label: '500-Medium' },\r\n { value: '600', label: '600-Semi Bold' },\r\n { value: '700', label: '700-Bold' }\r\n ] },\r\n // { label: 'Size', unit: 'PX', type: 'number', key: 'size' },\r\n { label: 'Align', type: 'align', key: 'textAlign',\r\n options: [\r\n { value: 'left', icon: 'textalign-left' },\r\n { value: 'center', icon: 'align-center' },\r\n { value: 'right', icon: 'align-right' },\r\n { value: 'justifyleft', icon: 'align-justifyleft' },\r\n { value: 'justifyright', icon: 'align-justifyright' }\r\n\r\n ] },\r\n { label: 'Style', type: 'style',key: 'styles',\r\n\r\n options: [\r\n { value: 'italic', icon: 'italic' },\r\n { value: 'bold', icon: 'bold' },\r\n { value: 'underline', icon: 'underline' },\r\n { value: 'texticon', icon: 'texticon' },\r\n { value: 'capitalize', icon: 'capitalize' },\r\n { value: 'resize', icon: 'resize' }\r\n\r\n\r\n ] },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' }\r\n\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text ', type: 'text',key: 'defaultValue' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text ', type: 'text' }\r\n ]\r\n },\r\n 'CheckBox': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text ', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text ', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text ', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n {\r\n label: 'Chk Options',\r\n type: 'optionsGroup',\r\n key: 'chkOptions',\r\n options: [\r\n { label: 'Option 1', value: '', type: 'text', key: 'option1' },\r\n ],\r\n addOptionLabel: 'Add Variant', // Text for the plus icon\r\n icon: 'plus' // Icon for adding options\r\n },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n\r\n 'Calendar': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n 'Time': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'label' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'placeholder'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n 'Email': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n 'File': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text', key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text', key: 'question' },\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text', key: 'helpText' },\r\n\r\n { label: 'Support Type', type: 'select', key: 'supportType', options: [\r\n { label: 'Images (JPEG, PNG, GIF)', value: 'image/*', extensions: ['.jpg','.jpeg','.png','.gif'] },\r\n { label: 'Audio (MP3, WAV, AIFF)', value: 'audio/*', extensions: ['.mp3','.wav','.aiff'] },\r\n { label: 'Video (MP4, AVI, HEVC)', value: 'video/*', extensions: ['.mp4','.avi','.hevc'] },\r\n { label: 'Documents (DOC, DOCX, PPT, PDF)', value: 'application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-powerpoint', extensions: ['.doc','.docx','.ppt','.pdf'] },\r\n { label: 'Executables (EXE, BAD, SH)', value: 'application/x-msdownload,application/x-sh', extensions: ['.exe','.bad','.sh'] },\r\n { label: 'Archives (ZIP, RAR, Git-hub)', value: 'application/zip,application/x-rar-compressed,application/x-git', extensions: ['.zip','.rar','.git'] }\r\n ]},\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text', key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n 'List': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n }, 'TextArea': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio', key: 'required' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text', key: 'defaultValue' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },'Numbers': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },'Dropdown': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n {\r\n label: 'Chk Options',\r\n type: 'optionsGroup',\r\n key: 'chkOptions',\r\n options: [\r\n { label: 'Option 1', value: '', type: 'text', key: 'option1' },\r\n ],\r\n addOptionLabel: 'Add Variant', // Text for the plus icon\r\n icon: 'plus' // Icon for adding options\r\n },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' },\r\n\r\n ]\r\n },'Image': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },'Radio': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text', key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text', key: 'question' },\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text', key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text', key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n {\r\n label: 'Radio Options', // Updated label to reflect radio context\r\n type: 'optionsGroup',\r\n key: 'radioOptions', // Updated key for radio context\r\n options: [\r\n { label: 'Option 1', value: '', type: 'text', key: 'option1' },\r\n { label: 'Option 2', value: '', type: 'text', key: 'option2' },\r\n ],\r\n addOptionLabel: 'Add Option', // Updated label for add button\r\n icon: 'plus', // Icon for adding options\r\n },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' },\r\n ]\r\n}\r\n,'Book': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },'Button': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n };\r\n\r\n constructor(private http: HttpClient,private formBuilderService: FormBuilderService) {}\r\n\r\n\r\n ngOnInit() {\r\n this.formBuilderService.selectedElement$.subscribe(index => {\r\n this.selectedElementIndex = index;\r\n if (index >= 0) {\r\n const elements = this.formBuilderService.getElements();\r\n console.log('Selected element:', elements);\r\n this.selectedElement = elements[index];\r\n }\r\n });\r\n }\r\n\r\n\r\n validateInput(value: string, type: string): boolean {\r\n if (type === 'label' || type === 'placeholder') {\r\n const regex = /^[a-zA-Z0-9\\s]*$/;\r\n if (!regex.test(value)) {\r\n this.errorMessage = 'Only letters and numbers are allowed';\r\n return false;\r\n }\r\n }\r\n this.errorMessage = '';\r\n return true;\r\n }\r\n\r\n updateProperty(key: string, value: any) {\r\n if (this.selectedElementIndex >= 0) {\r\n if (key === 'questionText' || key === 'question') {\r\n if (!this.validateInput(value, key)) {\r\n return;\r\n }\r\n }\r\n\r\n if (key === 'fontWeight') {\r\n // Extract just the number value from the option\r\n value = value.split('-')[0];\r\n }\r\n if (key === 'styles') {\r\n const currentStyles = this.selectedElement.styles || [];\r\n if (value === 'capitalize' || value === 'lowercase') {\r\n // Remove the opposite case if it exists\r\n const oppositeStyle = value === 'capitalize' ? 'lowercase' : 'capitalize';\r\n const filteredStyles = currentStyles.filter(s => s !== oppositeStyle);\r\n value = currentStyles.includes(value)\r\n ? filteredStyles.filter(s => s !== value)\r\n : [...filteredStyles, value];\r\n } else {\r\n // Toggle other styles\r\n value = currentStyles.includes(value)\r\n ? currentStyles.filter(s => s !== value)\r\n : [...currentStyles, value];\r\n }\r\n }\r\n\r\n const update = { [key]: value };\r\n this.formBuilderService.updateElement(this.selectedElementIndex, update);\r\n\r\n // Special handling for font and font weight\r\n if (key === 'font') {\r\n this.selectedElement.font = value; // Directly update the selected element's font property\r\n }\r\n }\r\n }\r\n\r\n\r\n onRequiredChange(value: boolean) {\r\n if (this.selectedElement) {\r\n // Remove any existing asterisks first\r\n let label = this.selectedElement.label.replace(/\\s*\\*+$/, '');\r\n if (value) {\r\n label = `${label} *`; // Add single asterisk\r\n }\r\n this.updateProperty('label', label);\r\n this.updateProperty('required', value);\r\n }\r\n }\r\n getProperties() {\r\n if (!this.selectedElement) return null;\r\n return this.elementProperties[this.selectedElement.type];\r\n }\r\n\r\n // openColorPicker(propertyKey: string) {\r\n // // If you want to use the browser's native color picker:\r\n // const input = document.createElement('input');\r\n // input.type = 'color';\r\n // input.value = this.selectedElement[propertyKey];\r\n // input.addEventListener('change', (e: any) => {\r\n // this.updateProperty(propertyKey, e.target.value);\r\n // });\r\n // input.click();\r\n // }\r\n // Function to add a new option to prop options\r\n addOption(options: any[]) {\r\n options.push({ label: '', value: '' });\r\n }\r\n// Function to remove an option from prop options\r\nremoveOption(options: any[], index: number) {\r\n options.splice(index, 1);\r\n }\r\n download() {\r\n console.log('Question Book:', this.formBuilderService.downloadElement());\r\n\r\n }\r\n save() {\r\n const apiURL = 'https://dev-api.rangerfusion.com/nxt/';\r\n this.http.post(apiURL, this.formBuilderService.downloadElement()).subscribe(\r\n (response) => {\r\n console.log('Response:', response);\r\n },\r\n (error: HttpErrorResponse) => {\r\n console.error('Error:', error);\r\n }\r\n );\r\n }\r\n\r\n}\r\n","<!-- AP 22JAN25 - Field and Element Properties -->\r\n<!-- properties.component.html -->\r\n<div class=\"container\">\r\n <link href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap\" rel=\"stylesheet\">\r\n<!-- Design Header Section -->\r\n<div class=\"design-header\">\r\n <h1 class=\"header-title\">Element Properties</h1>\r\n <div class=\"menu-container\">\r\n <div class=\"menu-item\" (click)=\"download()\">\r\n <span >Download</span>\r\n </div>\r\n <div class=\"menu-item\">\r\n <span>Start</span>\r\n </div>\r\n <div class=\"menu-item\">\r\n <span>Path</span>\r\n </div>\r\n <div class=\"menu-item\">\r\n <span>Clone</span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- properties.component.html -->\r\n<div class=\"all-properties\">\r\n <div *ngIf=\"errorMessage\" class=\"error-message\">\r\n {{ errorMessage }}\r\n </div>\r\n <!-- Element Properties -->\r\n <details class=\"first-properties\" open>\r\n <summary class=\"text-sm \">Elements Properties</summary>\r\n <div class=\"inner-content\" *ngIf=\"getProperties()\">\r\n <ng-container *ngFor=\"let prop of getProperties().elementProps\">\r\n <div class=\"flex-items-center\">\r\n <label class=\"text-sm\">{{ prop.label }}</label>\r\n <div class=\"label-properties\">\r\n <!-- Text Input -->\r\n <input *ngIf=\"prop.type === 'text'\"\r\n type=\"text\"\r\n [placeholder]=\"prop.placeholder\"\r\n [value]=\"selectedElement[prop.key]\"\r\n (input)=\"updateProperty(prop.key, $event.target.value)\"\r\n [class.read-only]=\"selectedElement.readOnly\"\r\n [readonly]=\"selectedElement.readOnly\"\r\n class=\"text-sm1 \"\r\n />\r\n <div *ngIf=\"prop.key === 'helpText' && selectedElement.helpText\" class=\"help-text\">\r\n {{ selectedElement.helpText }}\r\n </div>\r\n\r\n\r\n <!-- Font Selection -->\r\n<div *ngIf=\"prop.key === 'font'\" class=\"font-selection\">\r\n <!-- <label>{{ prop.label }}</label> -->\r\n <select\r\n *ngIf=\"prop.type === 'select' && prop.key === 'font'\"\r\n class=\"font-selection1\"\r\n [value]=\"selectedElement?.font\"\r\n (change)=\"updateProperty('font', $event.target.value)\">\r\n <option *ngFor=\"let option of prop.options\" [value]=\"option\">\r\n {{ option }}\r\n </option>\r\n </select>\r\n</div>\r\n\r\n<!-- file -->\r\n<!-- Add this inside the elementProps loop where other inputs are rendered -->\r\n<select *ngIf=\"prop.type === 'select' && prop.key === 'supportType'\"\r\n class=\"file \"\r\n[value]=\"selectedElement[prop.key]\"\r\n(change)=\"updateProperty(prop.key, $event.target.value)\">\r\n<option value=\"\">Select file category</option>\r\n<option *ngFor=\"let option of prop.options\" [value]=\"option.value\">\r\n{{ option.label }}\r\n</option>\r\n</select>\r\n\r\n<!-- Font Weight Selection -->\r\n<div *ngIf=\"prop.key === 'fontWeight'\" class=\"font-weight\">\r\n <!-- <label>{{ prop.label }}</label> -->\r\n <select\r\n *ngIf=\"prop.type === 'select' && prop.key === 'fontWeight'\"\r\n class=\"font-weight1 \"\r\n [value]=\"selectedElement?.fontWeight\"\r\n (change)=\"updateProperty('fontWeight', $event.target.value)\">\r\n <option *ngFor=\"let option of prop.options\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </option>\r\n </select>\r\n</div>\r\n\r\n <!-- Number Input with Unit -->\r\n <div *ngIf=\"prop.type === 'number'\" class=\"size-controls\">\r\n <div class=\"size-input-group\">\r\n <input\r\n type=\"number\"\r\n [value]=\"selectedElement[prop.key]\"\r\n (input)=\"updateProperty(prop.key, $event.target.value)\"\r\n [min]=\"prop.min || 1\"\r\n [max]=\"prop.max || 999999\"\r\n class=\"size-value\"\r\n />\r\n <span class=\"size-unit\">{{ prop.unit }}</span>\r\n </div>\r\n </div>\r\n\r\n <!-- Toggle Group -->\r\n<!-- Toggle Group -->\r\n<div *ngIf=\"prop.type === 'toggleGroup'\" class=\"toggle-group\">\r\n<div class=\"toggle-item1\">\r\n <span class=\"toggle-label\">Read Only</span>\r\n <label class=\"switch\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"selectedElement?.readOnly\"\r\n (change)=\"onToggleChange('readOnly', $event)\"\r\n />\r\n <span class=\"slider\"></span>\r\n </label>\r\n</div>\r\n\r\n<div class=\"toggle-item2\">\r\n <span class=\"toggle-label\">Is Hide</span>\r\n <label class=\"switch\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"selectedElement?.isHide\"\r\n (change)=\"onToggleChange('isHide', $event)\"\r\n />\r\n <span class=\"slider\"></span>\r\n </label>\r\n</div>\r\n</div>\r\n\r\n <!-- Text Align Buttons -->\r\n <div *ngIf=\"prop.type === 'align'\"class=\"font-align\">\r\n <button\r\n *ngFor=\"let option of prop.options\"\r\n (click)=\"onAlignSelect(option.value)\"\r\n [class.active]=\"selectedElement?.textAlign === option.value\"\r\n class=\"align-btn\"\r\n [title]=\"option.value\"\r\n >\r\n <img\r\n [src]=\"'../assets/icons/' + option.icon + '.svg'\"\r\n [alt]=\"option.value\"\r\n class=\"icon-size\"\r\n />\r\n </button>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"prop.key === 'size'\" class=\"size-controls\">\r\n <label>{{ prop.label }}</label>\r\n <input\r\n type=\"number\"\r\n [value]=\"selectedElement[prop.key]\"\r\n (input)=\"updateProperty(prop.key, $event.target.value)\"\r\n class=\"size-input\"\r\n />\r\n <span class=\"size-unit\">{{ prop.unit }}</span>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"prop.type === 'style'\" class=\"font-style\">\r\n <button\r\n *ngFor=\"let option of prop.options\"\r\n (click)=\"onStyleSelect(option.value)\"\r\n [class.active]=\"isStyleActive(option.value)\"\r\n class=\"style-btn\"\r\n [title]=\"option.value\"\r\n >\r\n <img\r\n [src]=\"'../assets/icons/' + option.icon + '.svg'\"\r\n [alt]=\"option.value\"\r\n class=\"icon-size\"\r\n />\r\n </button>\r\n </div>\r\n\r\n<!-- Field Size Controls -->\r\n<div *ngIf=\"prop.key === 'fieldSize'\" class=\"field-size-controls\">\r\n <div class=\"size-group\">\r\n <label class=\"size-label\">Width</label>\r\n <div class=\"value-container\">\r\n <input\r\n type=\"number\"\r\n [value]=\"selectedElement?.width\"\r\n (input)=\"updateProperty('width', $event.target.value)\"\r\n class=\"size-input\"\r\n\r\n />\r\n <span class=\"unit\">PX</span>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"prop.key === 'fieldSize'\" class=\"field-size-controls\">\r\n <div class=\"size-group\">\r\n <label class=\"size-label\">Height</label>\r\n <div class=\"value-container\">\r\n <input\r\n type=\"number\"\r\n [value]=\"selectedElement?.height\"\r\n (input)=\"updateProperty('height', $event.target.value)\"\r\n class=\"size-input\"\r\n />\r\n <span class=\"unit\">PX</span>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </details>\r\n\r\n <!-- Field Elements Properties -->\r\n<details class=\"second-property\">\r\n <summary class=\"text-font-medium\">Field Elements Properties</summary>\r\n <div class=\"space-y-4\" *ngIf=\"getProperties()\">\r\n <ng-container *ngFor=\"let prop of getProperties().fieldProps\">\r\n <div class=\"flex-items-center \">\r\n <label class=\"text-sm\">{{ prop.label }}</label>\r\n <div class=\"input-box-field\">\r\n <!-- Input Box -->\r\n <input\r\n *ngIf=\"prop.type === 'text'\"\r\n type=\"text\"\r\n [placeholder]=\"prop.placeholder\"\r\n class=\"field-input\"\r\n />\r\n <!-- Radio Group -->\r\n<div *ngIf=\"prop.type === 'radio'\" class=\"radio-item\">\r\n\r\n\r\n <div class=\"sizes\">\r\n <div class=\"flex-gap\">\r\n <div class=\"flex-items\">\r\n <input\r\n type=\"radio\"\r\n [checked]=\"selectedElement.required\"\r\n (change)=\"onRequiredChange(true)\"\r\n name=\"required\"\r\n class=\"radio-input\"\r\n />\r\n <label\r\n class=\"text-label\"\r\n >\r\n Required\r\n </label>\r\n </div>\r\n <div class=\"flex-items\">\r\n <input\r\n type=\"radio\"\r\n [checked]=\"!selectedElement.required\"\r\n (change)=\"onRequiredChange(false)\"\r\n name=\"required\"\r\n class=\"radio-input\"\r\n />\r\n <label\r\n class=\"text-sm text-gray-400\"\r\n >\r\n Not Required\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n <!-- Chk Options Group -->\r\n <div *ngIf=\"prop.type === 'optionsGroup'\" class=\"options-container\">\r\n <div\r\n *ngFor=\"let option of prop.options; let i = index\"\r\n class=\"option-items\"\r\n >\r\n <!-- Option Input -->\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"prop.options[i].label\"\r\n placeholder=\"Option {{ i + 1 }}\"\r\n class=\"options\"\r\n />\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"prop.options[i].value\"\r\n placeholder=\"Value\"\r\n class=\"values\"\r\n />\r\n <!-- Remove Button -->\r\n <div class=\"remove\">\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeOption(prop.options, i)\"></div>\r\n </div>\r\n <!-- Add Button -->\r\n <button\r\n type=\"button\"\r\n class=\"add-btn\"\r\n (click)=\"addOption(prop.options)\"\r\n >\r\n <div class=\"add-varient\">\r\n <span class=\"text-lg\">+</span>\r\n <span>Add Variants</span></div>\r\n </button>\r\n</div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"design-footer\">\r\n <button class=\"btn\">Cancel</button>\r\n <button class=\"btn\" (click)=\"save()\">Save</button>\r\n </div>\r\n</details>\r\n</div>\r\n\r\n\r\n</div>\r\n","// AP 22JAN25\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.css']\r\n})\r\nexport class MenuComponent {\r\n activeIndex: number = 0;\r\n\r\n menuItems = [\r\n { icon: '../assets/icons/Related.svg' },\r\n { icon: '../assets/icons/TextColumns.svg' },\r\n { icon: '../assets/icons/Monotone.svg' },\r\n { icon: '../assets/icons/Preview1.svg' },\r\n { icon: '../assets/icons/Website.svg' },\r\n { icon: '../assets/icons/Preview2.svg' },\r\n { icon: '../assets/icons/pdf.svg' },\r\n { icon: '../assets/icons/Setting.svg' }\r\n // { icon: '../assets/icons/ProfileImage.svg' }\r\n ];\r\n\r\n setActiveMenu(index: number): void {\r\n this.activeIndex = index;\r\n }\r\n}\r\n","<!-- AP 22JAN25 - Top menu ,Left side menu -->\r\n<!-- menu.component.html -->\r\n<div class=\"top-bar\">\r\n <button class=\"button share-button\">Share</button>\r\n <button class=\"button publish-button\">Publish</button>\r\n</div>\r\n<div class=\"menu-sidebar\">\r\n <!-- Logo Section -->\r\n <div class=\"menu-logo\">\r\n <img src=\"../assets/Nxt.png\">\r\n </div>\r\n\r\n <!-- Menu Items -->\r\n <ul class=\"menu-list\">\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"menu-item\"\r\n [class.active]=\"activeIndex === i\"\r\n (click)=\"setActiveMenu(i)\"\r\n [attr.aria-label]=\"item.label\"\r\n >\r\n <!-- Dynamic Icon -->\r\n <img [src]=\"item.icon\" alt=\"Menu Icon\" class=\"menu-icon\" />\r\n </li>\r\n </ul>\r\n\r\n <!-- Profile Section -->\r\n <div class=\"menu-profile\">\r\n <img src=\"../assets/icons/ProfileImage.svg\" />\r\n </div>\r\n</div>\r\n\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { NxtAppComponent } from './nxt-app.component';\r\nimport { QuestionnaireComponent } from './pages/questionnaire/questionnaire.component';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\r\nimport { NgCircleProgressModule } from 'ng-circle-progress';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { GOOGLE_MAP_API_KEY } from '../lib/sample';\r\nimport { PickLocationComponent } from './components/pick-location/pick-location.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { CustomInputComponent } from './components/custom-input/custom-input.component';\r\nimport { CustomTextAreaComponent } from './components/custom-text-area/custom-text-area.component';\r\nimport { CustomTableComponent } from './components/custom-table/custom-table.component';\r\nimport { CustomRichTextComponent, QuillConfiguration } from './components/custom-rich-text/custom-rich-text.component'; //RS 06JAN2025 Imports modules and components for browser compatibility, Quill-based rich text editing, and custom configurations\r\nimport { QuillModule } from 'ngx-quill';\r\nimport { DropdownWithFlagComponent } from './components/dropdown-with-flag/dropdown-with-flag.component';\r\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';\r\n\r\n//import { OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-time-adapter.class';\r\nimport { CustomDatePickerComponent } from './components/custom-date-picker/custom-date-picker.component';\r\nimport { CustomDropdownComponent } from './components/custom-dropdown/custom-dropdown.component';\r\n// VD 23JAN24 removed HttpClientModule\r\nimport { BookletComponent } from './pages/booklet/booklet.component';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { SearchBoxComponent } from './components/search-box/search-box.component';\r\nimport { QuestionbookComponent } from './pages/questionbook/questionbook.component';\r\nimport { FileUploadComponent } from './components/file-upload/file-upload.component';\r\nimport { SummaryPageComponent } from './pages/summary-page/summary-page.component';\r\nimport { FileViewComponent } from './components/file-view/file-view.component';\r\nimport { DependentTableComponent } from './components/dependent-table/dependent-table.component';\r\nimport { CustomLabelComponent } from './components/custom-label/custom-label.component';\r\nimport { TableAppendixComponent } from './components/table-appendix/table-appendix.component';\r\nimport { CustomDateComponent } from './components/custom-date/custom-date.component';\r\nimport { CustomTimeComponent } from './components/custom-time/custom-time.component';\r\nimport { CustomButtonComponent } from './components/custom-button/custom-button.component';\r\n// HA 19DEC23 Importing for translation\r\nimport { I18nModule } from './i18n.module'\r\nimport { I18nComponent } from './i18n.component';\r\nimport { I18nPipe } from './i18n.pipe';\r\nimport * as enI18n from './en.i18n';\r\nimport * as arI18n from './ar.i18n';\r\nimport * as tamI18n from './tam.i18n'\r\nimport { I18nService } from './i18n.service';\r\nimport { MatTooltipModule } from '@angular/material/tooltip'; // VD 20JUN24 - help text changes\r\nimport { GetValuePipe } from './pipe/get-value.pipe'; // VD 26JUN24 - pipe changes\r\nimport { CustomCalendarComponent } from './components/custom-calendar/custom-calendar.component';\r\nimport { CustomModelComponent } from './components/custom-model/custom-model.component';\r\nimport { CustomImageComponent } from './components/custom-image/custom-image.component';\r\nimport { CustomRadioComponent } from './components/custom-radio/custom-radio.component';\r\nimport { LoaderComponent } from './components/loader/loader.component';\r\nimport { ComponenthostDirective } from './directives/componenthost/componenthost.directive';\r\n// AP 22JAN2025 Added the below components\r\nimport { ElementComponent } from './pages/builder/element/element.component';\r\nimport { PropertiesComponent } from './pages/builder/properties/properties.component';\r\nimport { MenuComponent } from './pages/builder/menu/menu.component';\r\n// AP 22JAN2025 Added the DragDropModule\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n//AP 22JAN2025 Added the FormBuilderService\r\nimport { FormBuilderService } from './services/form-builder.service';\r\n\r\n// export const MY_CUSTOM_FORMATS = {\r\n// fullPickerInput: 'DD/MM/YYYY HH:mm:ss',\r\n// useUtc: true,\r\n// };\r\n\r\n// HA 19DEC23 variable created for translation\r\nconst languages = [\r\n // { lang: 'EN', flag: 'assets/images/en.i18n.png', file: enI18n },\r\n { lang: 'EN', file: enI18n },\r\n { lang: 'TAM', file: tamI18n },\r\n { lang: 'AR', file: arI18n }\r\n]\r\n\r\n@NgModule({\r\n declarations: [NxtAppComponent,\r\n QuestionnaireComponent,\r\n PickLocationComponent,\r\n CustomInputComponent,\r\n CustomTextAreaComponent,\r\n CustomTableComponent,\r\n CustomCalendarComponent,\r\n CustomDatePickerComponent,\r\n DropdownWithFlagComponent,\r\n CustomDropdownComponent,\r\n BookletComponent,\r\n SearchBoxComponent,\r\n QuestionbookComponent,\r\n FileUploadComponent,\r\n SummaryPageComponent,\r\n FileViewComponent,\r\n DependentTableComponent,\r\n CustomLabelComponent,\r\n TableAppendixComponent,\r\n CustomDateComponent,\r\n CustomTimeComponent,\r\n CustomButtonComponent,\r\n CustomModelComponent,\r\n LoaderComponent,\r\n I18nComponent,\r\n I18nPipe,\r\n CustomImageComponent,\r\n CustomRadioComponent,\r\n //AP 22JAN2025 Added the below components\r\n ElementComponent,\r\n PropertiesComponent,\r\n MenuComponent\r\n ],\r\n imports: [\r\n QuillModule.forRoot(),// RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.\r\n CustomRichTextComponent,\r\n CommonModule, FormsModule,\r\n // BrowserModule,\r\n ReactiveFormsModule,\r\n OwlDateTimeModule,\r\n OwlNativeDateTimeModule,\r\n ComponenthostDirective,\r\n GetValuePipe,\r\n // VD 23JAN24 removed HttpClientModule\r\n NgSelectModule,\r\n GoogleMapsModule,\r\n MatTooltipModule,\r\n DragDropModule, //AP 22JAN25 Added the DragDropModule\r\n\r\n //AgmCoreModule.forRoot({\r\n // apiKey: GOOGLE_MAP_API_KEY,\r\n // libraries: ['geometry', 'places', 'visualization', 'drawing']\r\n // }),\r\n NgxSpinnerModule,\r\n I18nModule.forRoot(languages),\r\n /*NgCircleProgressModule.forRoot({\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"space\": -6,\r\n \"innerStrokeColor\": \"#919191\",\r\n \"outerStrokeColor\": \"#db9594\",\r\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\r\n \"innerStrokeWidth\": 2,\r\n \"backgroundGradient\": true,\r\n \"backgroundColor\": \"#dd2e13\",\r\n \"backgroundGradientStopColor\": \"#dd2e13\",\r\n \"backgroundStroke\": \"#d3cfcf\",\r\n \"title\": [\r\n\r\n \"%\"\r\n ],\r\n // titleFontSize: 12,\r\n // \"subtitleFontSize\": 20,\r\n \"animateTitle\": false,\r\n \"animationDuration\": 1000,\r\n \"showUnits\": false,\r\n \"clockwise\":true\r\n\r\n //\"backgroundStrokeWidth\": \"0\",\r\n\"backgroundGradient\": true,\r\n //\"backgroundColor\": \"#dd2e13\",\r\n \"backgroundGradientStopColor\": \"#dd2e13\",\r\n \"backgroundStroke\": \"#000000\",\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"unitsFontWeight\": \"600\",\r\n \"unitsColor\": \"#f2f2f2\",\r\n \"outerStrokeGradient\": true,\r\n \"outerStrokeColor\": \"#e0b1b0\",\r\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\r\n \"outerStrokeLinecap\": \"inherit\",\r\n \"innerStrokeColor\": \"#f6dfdf\",\r\n \"title\": [\r\n\r\n \"%\"\r\n],\r\n \"titleColor\": \"#e7d9d9\",\r\n \"titleFontSize\": \"31\",\r\n \"titleFontWeight\": \"100\",\r\n \"subtitleColor\": \"#f7f7f7\",\r\n \"subtitleFontSize\": \"36\",\r\n \"subtitleFontWeight\": \"900\",\r\n \"animateTitle\": false,\r\n \"animationDuration\": 1000,\r\n \"showTitle\": true,\r\n \"showUnits\": true,\r\n \"clockwise\": false,\r\n \"startFromZero\": true,\r\n \"showZeroOuterStroke\": false,\r\n \"lazy\": true})*/\r\n\r\n NgCircleProgressModule.forRoot({\r\n \"backgroundGradient\": true,\r\n \"backgroundColor\": \"#e29d98\",\r\n \"backgroundGradientStopColor\": \"#c5281c\",\r\n \"backgroundStroke\": \"#ece4e4\",\r\n \"backgroundStrokeWidth\": 0,\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"space\": 4,\r\n \"maxPercent\": 100,\r\n \"unitsFontSize\": \"35\",\r\n \"unitsColor\": \"#f0ebeb\",\r\n \"outerStrokeGradient\": true,\r\n \"outerStrokeWidth\": 10,\r\n \"outerStrokeColor\": \"#f7c0bf\",\r\n \"outerStrokeGradientStopColor\": \"#f9c9c8\",\r\n \"innerStrokeWidth\": 0,\r\n \"titleColor\": \"#f3eded\",\r\n \"titleFontSize\": \"40\",\r\n \"subtitleColor\": \"#444444\",\r\n \"showSubtitle\": false})\r\n ],\r\n bootstrap: [ NxtAppComponent ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [NxtAppComponent,\r\n QuestionnaireComponent,\r\n BookletComponent,\r\n SummaryPageComponent,\r\n I18nPipe,\r\n I18nComponent,\r\n ElementComponent,\r\n PropertiesComponent,\r\n MenuComponent\r\n // CustomRichTextComponent\r\n ],\r\n providers: [\r\n I18nService,\r\n I18nPipe,\r\n FormBuilderService//AP 22JAN2025 Added the FormBuilderService\r\n ]\r\n // providers: [\r\n // { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\r\n // { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS },\r\n // ]\r\n})\r\nexport class NxtAppModule { }\r\n","/*\r\n * Public API Surface of nxt-app\r\n */\r\n\r\nexport * from './lib/nxt-app.service';\r\nexport * from './lib/nxt-app.component';\r\nexport * from './lib/nxt-app.module';\r\nexport * from './lib/pages/questionnaire/questionnaire.component';\r\nexport * from './lib/pages/booklet/booklet.component';\r\nexport * from './lib/pages/questionbook/questionbook.component';\r\nexport * from './lib/pages/summary-page/summary-page.component';\r\nexport * from './lib/services/salesforce.service';\r\n// HA-11-01-2024 We need these below lines to work public\r\nexport * from './lib/i18n.component';\r\nexport * from './lib/i18n.pipe';\r\nexport * from './lib/pages/builder/element/element.component';\r\nexport * from './lib/pages/builder/menu/menu.component';\r\nexport * from './lib/pages/builder/properties/properties.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.I18nService","i2.ChangeService","i4","i5.I18nPipe","i1.ChangeService","i2.I18nService","i3.DataService","i5","i3","i3.SalesforceService","i4.DataService","i6","i7.GetValuePipe","i2.DataService","i3.I18nService","i1.SalesforceService","i3.ChangeService","i4.SharedService","i8","i10.I18nService","i11.CustomRichTextComponent","i12","i14.PickLocationComponent","i15.CustomInputComponent","i16.CustomTextAreaComponent","i17.CustomTableComponent","i18.CustomDatePickerComponent","i19.DropdownWithFlagComponent","i20.CustomDropdownComponent","i21.CustomLabelComponent","i22.I18nPipe","i4.I18nService","i1.SharedService","i6.I18nPipe","i4.CustomDropdownComponent","i5.FileUploadComponent","i6.CustomRichTextComponent","i7","i9","i11.PickLocationComponent","i12.CustomInputComponent","i13.CustomTextAreaComponent","i14.CustomTableComponent","i15.CustomCalendarComponent","i16.CustomDatePickerComponent","i17.CustomDropdownComponent","i18.SearchBoxComponent","i19.FileUploadComponent","i20.DependentTableComponent","i22.TableAppendixComponent","i23.CustomDateComponent","i24.CustomTimeComponent","i25.CustomButtonComponent","i26.CustomModelComponent","i27.CustomImageComponent","i28.CustomRadioComponent","i29.I18nPipe","i3.StorageService","i6.ChangeService","i7.I18nService","i10.QuestionbookComponent","i4.I18nPipe","i3.FileViewComponent","uuidv4","i1.FormBuilderService","i2.FormBuilderService","enI18n","tamI18n","arI18n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAKa,aAAa,CAAA;AAExB,IAAA,WAAA,GAAA,GAAiB;wGAFN,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCOY,eAAe,CAAA;AAE1B,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;wGALU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,EAPhB,QAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAGU,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EACb,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;MCAU,aAAa,CAAA;;AAExB,IAAA,WAAA,GAAA,GAAiB;;AAGT,IAAA,qBAAqB,GAAG,IAAI,OAAO,EAAiB,CAAC;AACrD,IAAA,qBAAqB,GAAG,IAAI,OAAO,EAAU,CAAC;AAC9C,IAAA,gBAAgB,GAAG,IAAI,OAAO,EAAU,CAAC;AACzC,IAAA,WAAW,GAAG,IAAI,OAAO,EAAO,CAAC;;AAEjC,IAAA,aAAa,GAAG,IAAI,OAAO,EAAO,CAAC;;AAG3C,IAAA,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;AAC7D,IAAA,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;AAC7D,IAAA,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;AACvD,IAAA,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;;AAE/C,IAAA,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;;AAGlD,IAAA,cAAc,CAAC,WAA0B,EAAA;;AAEvC,QAAA,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC9C;AAED,IAAA,aAAa,CAAC,aAAqB,EAAA;;AAEjC,QAAA,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAChD;;AAED,IAAA,WAAW,CAAC,IAAY,EAAA;AACtB,QAAA,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;AAED,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;AACD,IAAA,WAAW,CAAC,KAAS,EAAA;AACpB,QAAA,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;wGA5CU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAHZ,MAAM,EAAA,CAAA,CAAA;;4FAGP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACLD;AACA;MACa,YAAY,CAAA;AACvB,IAAA,EAAE,CAAS;AACX,IAAA,IAAI,CAAS;AACb,IAAA,QAAQ,CAAS;AACjB,IAAA,IAAI,CAAU;AACd,IAAA,MAAM,CAAU;AAChB,IAAA,IAAI,CAAU;AACd,IAAA,MAAM,CAAU;AAChB,IAAA,IAAI,CAAU;AACd,IAAA,aAAa,CAAS;AACtB,IAAA,KAAK,CAAS;AACd,IAAA,cAAc,CAAS;AACvB,IAAA,cAAc,CAAS;AACvB,IAAA,gBAAgB,CAAS;AACzB,IAAA,gBAAgB,CAAS;AACzB,IAAA,cAAc,CAAS;AACvB,IAAA,WAAW,CAAU;AACrB,IAAA,YAAY,CAAa;AACzB,IAAA,WAAW,CAAU;AACrB,IAAA,QAAQ,CAAS;AACjB,IAAA,IAAI,CAAS;AACb,IAAA,aAAa,CAAS;AACtB,IAAA,cAAc,CAAS;AACvB,IAAA,SAAS,CAAW;AACpB,IAAA,KAAK,CAUH;AACH,CAAA;MACY,QAAQ,CAAA;AACnB,IAAA,EAAE,CAAS;AACX,IAAA,IAAI,CAAS;AACb,IAAA,cAAc,CAAS;AACvB,IAAA,YAAY,CAAU;AACtB,IAAA,qBAAqB,CAAS;AAC9B,IAAA,QAAQ,CAAU;AAClB,IAAA,YAAY,CAAO;AACnB,IAAA,IAAI,CAAS;AACb,IAAA,YAAY,CAAU;AACtB,IAAA,UAAU,CAAU;AACpB,IAAA,KAAK,CAAS;AACd,IAAA,QAAQ,CAAS;AACjB,IAAA,OAAO,CAAU;AACjB,IAAA,QAAQ,CAAU;AAClB,IAAA,YAAY,CAAS;AACrB,IAAA,cAAc,CAAW;AACzB,IAAA,aAAa,CAAW;AACxB,IAAA,QAAQ,CAAU;AAClB,IAAA,SAAS,CAAS;AAClB,IAAA,cAAc,CAAU;AACxB,IAAA,mBAAmB,CAAW;IAC9B,OAAO,QAAQ,CAAU;AACzB,IAAA,OAAO,CAAM;AACb,IAAA,IAAI,CAAS;AACb,IAAA,OAAO,CAAS;AAChB,IAAA,UAAU,CAAS;AACnB,IAAA,QAAQ,CAAS;AACjB,IAAA,QAAQ,CAAS;AACjB,IAAA,qBAAqB,CAAW;AAChC,IAAA,YAAY,CAAa;AACzB,IAAA,UAAU,CAER;AACF,IAAA,YAAY,CAAO;AACnB,IAAA,KAAK,CAAO;AACZ,IAAA,KAAK,CAAgB;AACrB,IAAA,SAAS,CAAS;AAClB,IAAA,YAAY,CAAU;AACtB,IAAA,mBAAmB,CAAU;AAC7B,IAAA,cAAc,CAAQ;AACtB,IAAA,WAAW,CAAS;AACpB,IAAA,SAAS,CAAM;AACf,IAAA,aAAa,CAAS;AACtB,IAAA,OAAO,CAAQ;AACf,IAAA,SAAS,CAAW;AACpB,IAAA,KAAK,CAUH;AACH,CAAA;MACY,aAAa,CAAA;AACxB,IAAA,EAAE,CAAS;AACX,IAAA,IAAI,CAAS;AACb,IAAA,qBAAqB,CAAS;AAC9B,IAAA,QAAQ,CAAU;AAClB,IAAA,YAAY,CAAU;AACtB,IAAA,IAAI,CAAS;AACb,IAAA,KAAK,CAAS;AACd,IAAA,QAAQ,CAAS;AACjB,IAAA,YAAY,CAAU;AACtB,IAAA,UAAU,CAAU;AACpB,IAAA,OAAO,CAAU;AACjB,IAAA,QAAQ,CAAU;AAClB,IAAA,QAAQ,CAAU;AAClB,IAAA,YAAY,CAAS;AACrB,IAAA,cAAc,CAAW;AACzB,IAAA,aAAa,CAAW;AACxB,IAAA,QAAQ,CAAU;AAClB,IAAA,QAAQ,CAAU;AAClB,IAAA,SAAS,CAAS;AAClB,IAAA,cAAc,CAAU;AACxB,IAAA,mBAAmB,CAAW;AAC9B,IAAA,OAAO,CAAU;AACjB,IAAA,IAAI,CAAS;AACb,IAAA,UAAU,CAAS;AACnB,IAAA,qBAAqB,CAAW;AAChC,IAAA,aAAa,CAAQ;AACrB,IAAA,YAAY,CAAa;AACzB,IAAA,UAAU,CAER;AACF,IAAA,KAAK,CAAU;AACf,IAAA,KAAK,CAAgB;IACrB,OAAO,QAAQ,CAAU;AACzB,IAAA,YAAY,CAAS;AACrB,IAAA,KAAK,CAUH;AACH,CAAA;MACY,SAAS,CAAA;AACpB,IAAA,OAAO,CAAc;AACtB,CAAA;MACY,OAAO,CAAA;AAClB,IAAA,OAAO,CAAY;AACpB,CAAA;MACY,MAAM,CAAA;AACjB,IAAA,EAAE,CAAS;AACX,IAAA,IAAI,CAAS;AACb,IAAA,KAAK,CAAS;AACd,IAAA,UAAU,CAAS;AACnB,IAAA,YAAY,CAAU;AACvB,CAAA;MACY,WAAW,CAAA;AACtB,IAAA,EAAE,CAAS;AACX,IAAA,IAAI,CAAS;AACb,IAAA,KAAK,CAAS;AACd,IAAA,YAAY,CAAU;AACtB,IAAA,OAAO,CAAU;AAClB,CAAA;MACY,UAAU,CAAA;AACrB,IAAA,EAAE,CAAS;AACX,IAAA,cAAc,CAAS;AACvB,IAAA,MAAM,CAAS;AACf,IAAA,UAAU,CAAW;AACrB,IAAA,OAAO,CAAM;AACd,CAAA;MACY,MAAM,CAAA;AACjB,IAAA,EAAE,CAAS;AACX,IAAA,SAAS,CAAS;AAClB,IAAA,QAAQ,CAAU;AAClB,IAAA,IAAI,CAAS;AACb,IAAA,MAAM,CAAS;AACf,IAAA,SAAS,CAAS;AACnB,CAAA;MACY,OAAO,CAAA;AAClB,IAAA,OAAO,CAAY;AACpB,CAAA;MACY,aAAa,CAAA;AACxB,IAAA,KAAK,CAAU;AACf,IAAA,SAAS,CAAU;AACnB,IAAA,IAAI,CAAS;AACb,IAAA,MAAM,CAAS;AACf,IAAA,SAAS,CAAS;AAClB,IAAA,IAAI,CAAS;AACb,IAAA,QAAQ,CAAS;AACjB,IAAA,SAAS,CAAS;AAClB,IAAA,UAAU,CAAS;IACnB,KAAK,CAAM;AACZ,CAAA;MACY,iBAAiB,CAAA;AAC5B,IAAA,QAAQ,CAAS;AACjB,IAAA,QAAQ,CAAS;AACjB,IAAA,WAAW,CAAS;AACrB,CAAA;MACY,UAAU,CAAA;AACd,IAAA,YAAY,CAAS;AACrB,IAAA,cAAc,CAAS;AACvB,IAAA,kBAAkB,CAAM;AAC/B,IAAA,WAAA,CAAY,EAAU,EAAC,IAAW,EAAC,QAAY,EAAA;AAC3C,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;KACtC;AACF;;MChNY,YAAY,CAAA;AACrB,IAAA,SAAS,CAAS;AAClB,IAAA,QAAQ,CAAS;AACjB,IAAA,YAAY,CAAS;AACxB;;ACHD;;;;;;;AAOE;AACF;AACA;AACA;AACO,MAAM,MAAM,GAAiB;AACpC,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,IAAI,EAAG,QAAQ;AACf,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,IAAI,EAAG,QAAQ;AACf,IAAA,MAAM,EAAG,UAAU;AACnB,IAAA,IAAI,EAAG,YAAY;AACnB,IAAA,cAAc,EAAE,OAAO;AACvB,IAAA,cAAc,EAAE,OAAO;AACvB,IAAA,gBAAgB,EAAE,OAAO;AACzB,IAAA,gBAAgB,EAAE,OAAO;AACzB,IAAA,aAAa,EAAE,GAAG;AAClB,IAAA,KAAK,EAAE,oBAAoB;AAC3B,IAAA,cAAc,EAAE,CAAC;AACjB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,IAAI,EAAC,MAAM;AACX,IAAA,aAAa,EAAE,MAAM;AACrB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAG,WAAW;AAC1B,QAAA,YAAY,EAAG,wBAAwB;AACvC,QAAA,iBAAiB,EAAG,EAAE;AACtB,QAAA,YAAY,EAAG,EAAE;AACjB,QAAA,YAAY,EAAG,uBAAuB;AACtC,QAAA,WAAW,EAAG,IAAI;AAClB,QAAA,WAAW,EAAG,EAAE;AAChB,QAAA,WAAW,EAAG,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE;AAClB,KAAA;CACF,CAAA;AACD;AACO,MAAM,YAAY,GAAa;AACtC,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,qBAAqB,EAAG,MAAM;AAC9B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,QAAQ,EAAE,oBAAoB;AAC9B,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE;AACL,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACF,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAG,KAAK;AACtB,IAAA,aAAa,EAAG,KAAK;AACrB,IAAA,aAAa,EAAG,MAAM;AACtB,IAAA,QAAQ,EAAG,KAAK;AAChB,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,IAAI,EAAC,CAAC;AACN,IAAA,cAAc,EAAE,GAAG;AACnB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,YAAY,EAAI;AACd,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACH,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE;AACL,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACF,iBAAA;AACJ,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACA,KAAA;AACH,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,UAAU,EAAE;AACZ,QAAA,IAAI,EAAE,eAAe;AACpB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAG,WAAW;AAC1B,QAAA,YAAY,EAAG,wBAAwB;AACvC,QAAA,iBAAiB,EAAG,EAAE;AACtB,QAAA,YAAY,EAAG,EAAE;AACjB,QAAA,YAAY,EAAG,uBAAuB;AACtC,QAAA,WAAW,EAAG,IAAI;AAClB,QAAA,WAAW,EAAG,EAAE;AAChB,QAAA,WAAW,EAAG,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE;AAClB,KAAA;CACF,CAAC;AACF;AACO,MAAM,UAAU,GAAa;AACpC,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE;AACL,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACF,SAAA;AACJ,KAAA;AACD,IAAA,YAAY,EAAI;AACd,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE;AACL,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACF,iBAAA;AACJ,aAAA;AACD,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACA,KAAA;AACH,IAAA,qBAAqB,EAAG,MAAM;AAC9B,IAAA,YAAY,EAAE,+BAA+B;AAC7C,IAAA,QAAQ,EAAE,+BAA+B;AACzC,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,aAAa,EAAG,MAAM;AACtB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAG,IAAI;AACrB,IAAA,aAAa,EAAG,IAAI;AACpB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,IAAI,EAAC,CAAC;AACN,IAAA,cAAc,EAAE,GAAG;AACnB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,UAAU,EAAE;AACZ,QAAA,IAAI,EAAE,eAAe;AACpB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAG,WAAW;AAC1B,QAAA,YAAY,EAAG,wBAAwB;AACvC,QAAA,iBAAiB,EAAG,EAAE;AACtB,QAAA,YAAY,EAAG,EAAE;AACjB,QAAA,YAAY,EAAG,uBAAuB;AACtC,QAAA,WAAW,EAAG,IAAI;AAClB,QAAA,WAAW,EAAG,EAAE;AAChB,QAAA,WAAW,EAAG,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE;AAClB,KAAA;CACF,CAAC;AACF;AACO,MAAM,YAAY,GAAa;AACtC,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE;AACL,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACF,SAAA;AACJ,KAAA;AACD,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,YAAY,EAAI;AACd,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE;AACL,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACF,iBAAA;AACJ,aAAA;AACD,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACA,KAAA;AACH,IAAA,qBAAqB,EAAG,MAAM;AAC9B,IAAA,YAAY,EAAE,oCAAoC;AAClD,IAAA,QAAQ,EAAE,oCAAoC;AAC9C,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAG,KAAK;AACtB,IAAA,aAAa,EAAG,KAAK;AACrB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,IAAI,EAAC,CAAC;AACN,IAAA,aAAa,EAAG,MAAM;AACtB,IAAA,cAAc,EAAE,GAAG;AACnB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,UAAU,EAAE;AACZ,QAAA,IAAI,EAAE,eAAe;AACpB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAG,WAAW;AAC1B,QAAA,YAAY,EAAG,wBAAwB;AACvC,QAAA,iBAAiB,EAAG,EAAE;AACtB,QAAA,YAAY,EAAG,EAAE;AACjB,QAAA,YAAY,EAAG,uBAAuB;AACtC,QAAA,WAAW,EAAG,IAAI;AAClB,QAAA,WAAW,EAAG,EAAE;AAChB,QAAA,WAAW,EAAG,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE;AAClB,KAAA;CACF,CAAC;AAGF;AACA;AACO,MAAM,WAAW,GAAa;AACnC,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE;AACL,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACF,SAAA;AACJ,KAAA;AACD,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,cAAc;AACpB,IAAA,YAAY,EAAI;AACd,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE;AACL,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACF,iBAAA;AACJ,aAAA;AACD,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACA,KAAA;AACH,IAAA,qBAAqB,EAAG,MAAM;AAC9B,IAAA,YAAY,EAAE,0CAA0C;AACxD,IAAA,QAAQ,EAAE,0CAA0C;AACpD,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAG,KAAK;AACtB,IAAA,aAAa,EAAG,KAAK;AACrB,IAAA,aAAa,EAAG,MAAM;AACtB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,IAAI,EAAC,CAAC;AACN,IAAA,cAAc,EAAE,GAAG;AACnB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,UAAU,EAAE;AACZ,QAAA,IAAI,EAAE,eAAe;AACpB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAG,WAAW;AAC1B,QAAA,YAAY,EAAG,wBAAwB;AACvC,QAAA,iBAAiB,EAAG,EAAE;AACtB,QAAA,YAAY,EAAG,EAAE;AACjB,QAAA,YAAY,EAAG,uBAAuB;AACtC,QAAA,WAAW,EAAG,IAAI;AAClB,QAAA,WAAW,EAAG,EAAE;AAChB,QAAA,WAAW,EAAG,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE;AAClB,KAAA;CACF,CAAC;AAEJ;AACO,MAAM,UAAU,GAAa;AACpC,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE;AACL,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACF,SAAA;AACJ,KAAA;AACD,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,YAAY,EAAI;AACd,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE;AACL,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACF,iBAAA;AACJ,aAAA;AACD,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACA,KAAA;AACH,IAAA,qBAAqB,EAAG,MAAM;AAC9B,IAAA,YAAY,EAAE,0CAA0C;AACxD,IAAA,QAAQ,EAAE,0CAA0C;AACpD,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAG,KAAK;AACtB,IAAA,aAAa,EAAG,KAAK;AACrB,IAAA,aAAa,EAAG,MAAM;AACtB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,IAAI,EAAC,CAAC;AACN,IAAA,cAAc,EAAE,GAAG;AACnB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,UAAU,EAAE;AACZ,QAAA,IAAI,EAAE,eAAe;AACpB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAG,WAAW;AAC1B,QAAA,YAAY,EAAG,wBAAwB;AACvC,QAAA,iBAAiB,EAAG,EAAE;AACtB,QAAA,YAAY,EAAG,EAAE;AACjB,QAAA,YAAY,EAAG,uBAAuB;AACtC,QAAA,WAAW,EAAG,IAAI;AAClB,QAAA,WAAW,EAAG,EAAE;AAChB,QAAA,WAAW,EAAG,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE;AAClB,KAAA;CACF,CAAC;AACF;AACO,MAAM,aAAa,GAAa;AACvC,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,YAAY,EAAI;AACd,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACH,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE;AACL,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACF,iBAAA;AACJ,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACA,KAAA;AACH,IAAA,qBAAqB,EAAG,MAAM;AAC9B,IAAA,YAAY,EAAE,2BAA2B;AACzC,IAAA,aAAa,EAAG,MAAM;AACtB,IAAA,QAAQ,EAAE,2BAA2B;AACrC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAG,KAAK;AACtB,IAAA,aAAa,EAAG,KAAK;AACrB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,IAAI,EAAC,CAAC;AACN,IAAA,cAAc,EAAC,GAAG;AAClB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,UAAU,EAAE;AACZ,QAAA,IAAI,EAAE,eAAe;AACpB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAG,WAAW;AAC1B,QAAA,YAAY,EAAG,wBAAwB;AACvC,QAAA,iBAAiB,EAAG,EAAE;AACtB,QAAA,YAAY,EAAG,EAAE;AACjB,QAAA,YAAY,EAAG,uBAAuB;AACtC,QAAA,WAAW,EAAG,IAAI;AAClB,QAAA,WAAW,EAAG,EAAE;AAChB,QAAA,WAAW,EAAG,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE;AAClB,KAAA;AACH,IAAA,OAAO,EAAE;AACT,QAAA,OAAO,EAAE;AACG,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACF,SAAA;AACV,KAAA;CACA,CAAC;AACF;AACO,MAAM,aAAa,GAAa;AACvC,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,YAAY,EAAI;AACd,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACH,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE;AACL,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACF,iBAAA;AACJ,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACA,KAAA;AACH,IAAA,qBAAqB,EAAG,MAAM;AAC9B,IAAA,YAAY,EAAE,4BAA4B;AAC1C,IAAA,QAAQ,EAAE,4BAA4B;AACtC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,aAAa,EAAG,MAAM;AACtB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAG,KAAK;AACtB,IAAA,aAAa,EAAG,KAAK;AACrB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,IAAI,EAAC,CAAC;AACN,IAAA,cAAc,EAAC,GAAG;AAClB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,UAAU,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AAClB,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAG,WAAW;AAC1B,QAAA,YAAY,EAAG,wBAAwB;AACvC,QAAA,iBAAiB,EAAG,EAAE;AACtB,QAAA,YAAY,EAAG,EAAE;AACjB,QAAA,YAAY,EAAG,uBAAuB;AACtC,QAAA,WAAW,EAAG,IAAI;AAClB,QAAA,WAAW,EAAG,EAAE;AAChB,QAAA,WAAW,EAAG,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE;AAClB,KAAA;AACH,IAAA,OAAO,EAAE;AACT,QAAA,OAAO,EAAE;AACG,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACF,SAAA;AACV,KAAA;CACA,CAAC;AACK,MAAM,kBAAkB,GAAG,yCAAyC,CAAC;AAC5E;AACO,MAAM,YAAY,GAAa;AACtC,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE;AACP,QAAA,OAAO,EAAE;AACL,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,GAAG;AACP,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACF,SAAA;AACJ,KAAA;AACD,IAAA,qBAAqB,EAAG,MAAM;AAC9B,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,QAAQ,EAAE,sBAAsB;AAChC,IAAA,YAAY,EAAE;AACZ,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACH,YAAA,OAAO,EAAE;AACP,gBAAA,OAAO,EAAE;AACL,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,KAAK,EAAE,GAAG;AACV,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,GAAG;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,KAAK,EAAE,IAAI;AACX,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA;AACF,iBAAA;AACJ,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,YAAY,EAAE,QAAQ;AACtB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACD,QAAA;AACE,YAAA,EAAE,EAAE,KAAK;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,qBAAqB,EAAG,MAAM;AAC9B,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,YAAY,EAAE,YAAY;AAC1B,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,YAAY,EAAE,sBAAsB;AACpC,YAAA,cAAc,EAAG,KAAK;AACtB,YAAA,aAAa,EAAG,KAAK;AACrB,YAAA,QAAQ,EAAC,KAAK;AACd,YAAA,IAAI,EAAC,CAAC;AACN,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAG,MAAM;AACtB,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,UAAU,EAAE;AACV,gBAAA,IAAI,EAAE,eAAe;AACtB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,YAAY,EAAG,WAAW;AAC1B,gBAAA,YAAY,EAAG,wBAAwB;AACvC,gBAAA,iBAAiB,EAAG,EAAE;AACtB,gBAAA,YAAY,EAAG,EAAE;AACjB,gBAAA,YAAY,EAAG,uBAAuB;AACtC,gBAAA,WAAW,EAAG,IAAI;AAClB,gBAAA,WAAW,EAAG,EAAE;AAChB,gBAAA,WAAW,EAAG,KAAK;AACnB,gBAAA,eAAe,EAAE,EAAE;AAClB,aAAA;AACJ,SAAA;AACA,KAAA;AACH,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,aAAa,EAAG,MAAM;AACtB,IAAA,YAAY,EAAE,EAAE;AAChB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,YAAY,EAAE,sBAAsB;AACpC,IAAA,cAAc,EAAG,KAAK;AACtB,IAAA,aAAa,EAAG,KAAK;AACrB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,OAAO;AAClB,IAAA,IAAI,EAAC,CAAC;AACN,IAAA,cAAc,EAAC,GAAG;AAClB,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,KAAK,EAAE;AACL,QAAA,YAAY,EAAG,WAAW;AAC1B,QAAA,YAAY,EAAG,wBAAwB;AACvC,QAAA,iBAAiB,EAAG,EAAE;AACtB,QAAA,YAAY,EAAG,EAAE;AACjB,QAAA,YAAY,EAAG,uBAAuB;AACtC,QAAA,WAAW,EAAG,IAAI;AAClB,QAAA,WAAW,EAAG,EAAE;AAChB,QAAA,WAAW,EAAG,KAAK;AACnB,QAAA,eAAe,EAAE,EAAE;AACpB,KAAA;AACD,IAAA,YAAY,EAAE;AACd,QAAA,OAAO,EAAE;AACT,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,YAAY,EAAE,MAAM;AACpB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,IAAI,EAAC,CAAC;AACN,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,YAAY,EAAE,MAAM;AACpB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACH,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE;AACL,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,GAAG;AACT,oCAAA,KAAK,EAAE,GAAG;AACV,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACF,6BAAA;AACJ,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AAEZ,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAE,QAAQ;AAClB,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,YAAY;AAC1B,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACA,iBAAA;AACH,gBAAA,qBAAqB,EAAG,MAAM;AAC9B,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAC,KAAK;AACd,gBAAA,aAAa,EAAG,MAAM;AACtB,gBAAA,YAAY,EAAE,sBAAsB;AACpC,gBAAA,cAAc,EAAG,KAAK;AACtB,gBAAA,aAAa,EAAG,KAAK;AACrB,gBAAA,QAAQ,EAAC,KAAK;AACd,gBAAA,SAAS,EAAE,OAAO;AAClB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,UAAU,EAAE;AACV,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,YAAY,EAAG,WAAW;AAC1B,oBAAA,YAAY,EAAG,wBAAwB;AACvC,oBAAA,iBAAiB,EAAG,EAAE;AACtB,oBAAA,YAAY,EAAG,EAAE;AACjB,oBAAA,YAAY,EAAG,uBAAuB;AACtC,oBAAA,WAAW,EAAG,IAAI;AAClB,oBAAA,WAAW,EAAG,EAAE;AAChB,oBAAA,WAAW,EAAG,KAAK;AACnB,oBAAA,eAAe,EAAE,EAAE;AAClB,iBAAA;AACH,gBAAA,OAAO,EAAE;AACP,oBAAA,OAAO,EAAE;AACL,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,GAAG;AACT,4BAAA,KAAK,EAAE,GAAG;AACV,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACF,qBAAA;AACJ,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,OAAO,EAAE;AACP,oBAAA,OAAO,EAAE;AACL,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,GAAG;AACT,4BAAA,KAAK,EAAE,GAAG;AACV,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACF,qBAAA;AACJ,iBAAA;AACD,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,IAAI,EAAC,CAAC;AACN,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,YAAY,EAAE,MAAM;AACpB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACH,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE;AACL,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,GAAG;AACT,oCAAA,KAAK,EAAE,GAAG;AACV,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACF,6BAAA;AACJ,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAE,QAAQ;AAClB,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,YAAY;AAC1B,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACA,iBAAA;AACH,gBAAA,qBAAqB,EAAG,MAAM;AAC9B,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,YAAY,EAAE,sBAAsB;AACpC,gBAAA,cAAc,EAAG,KAAK;AACtB,gBAAA,aAAa,EAAG,KAAK;AACrB,gBAAA,QAAQ,EAAC,KAAK;AACd,gBAAA,SAAS,EAAE,OAAO;AAClB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,aAAa,EAAG,MAAM;AACtB,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,UAAU,EAAE;AACV,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,YAAY,EAAG,WAAW;AAC1B,oBAAA,YAAY,EAAG,wBAAwB;AACvC,oBAAA,iBAAiB,EAAG,EAAE;AACtB,oBAAA,YAAY,EAAG,EAAE;AACjB,oBAAA,YAAY,EAAG,uBAAuB;AACtC,oBAAA,WAAW,EAAG,IAAI;AAClB,oBAAA,WAAW,EAAG,EAAE;AAChB,oBAAA,WAAW,EAAG,KAAK;AACnB,oBAAA,eAAe,EAAE,EAAE;AAClB,iBAAA;AACJ,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,OAAO,EAAE;AACP,oBAAA,OAAO,EAAE;AACL,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,GAAG;AACT,4BAAA,KAAK,EAAE,GAAG;AACV,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACF,qBAAA;AACJ,iBAAA;AACD,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,YAAY,EAAE,MAAM;AACpB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACH,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE;AACL,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,GAAG;AACT,oCAAA,KAAK,EAAE,GAAG;AACV,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACF,6BAAA;AACJ,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAE,QAAQ;AAClB,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,YAAY;AAC1B,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACA,iBAAA;AACH,gBAAA,qBAAqB,EAAG,MAAM;AAC9B,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,KAAK;AACnB,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,YAAY,EAAE,sBAAsB;AACpC,gBAAA,cAAc,EAAG,KAAK;AACtB,gBAAA,aAAa,EAAG,KAAK;AACrB,gBAAA,aAAa,EAAG,MAAM;AACtB,gBAAA,QAAQ,EAAC,KAAK;AACd,gBAAA,IAAI,EAAC,CAAC;AACN,gBAAA,SAAS,EAAE,OAAO;AAClB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,UAAU,EAAE;AACV,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,YAAY,EAAG,WAAW;AAC1B,oBAAA,YAAY,EAAG,wBAAwB;AACvC,oBAAA,iBAAiB,EAAG,EAAE;AACtB,oBAAA,YAAY,EAAG,EAAE;AACjB,oBAAA,YAAY,EAAG,uBAAuB;AACtC,oBAAA,WAAW,EAAG,IAAI;AAClB,oBAAA,WAAW,EAAG,EAAE;AAChB,oBAAA,WAAW,EAAG,KAAK;AACnB,oBAAA,eAAe,EAAE,EAAE;AAClB,iBAAA;AACJ,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,OAAO,EAAE;AACP,oBAAA,OAAO,EAAE;AACL,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,GAAG;AACT,4BAAA,KAAK,EAAE,GAAG;AACV,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACF,qBAAA;AACJ,iBAAA;AACD,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,YAAY,EAAE,MAAM;AACpB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACH,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE;AACL,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,GAAG;AACT,oCAAA,KAAK,EAAE,GAAG;AACV,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACF,6BAAA;AACJ,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAE,QAAQ;AAClB,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,YAAY;AAC1B,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACA,iBAAA;AACH,gBAAA,YAAY,EAAE,QAAQ;AACtB,gBAAA,aAAa,EAAG,MAAM;AACtB,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAC,KAAK;AACd,gBAAA,YAAY,EAAE,sBAAsB;AACpC,gBAAA,cAAc,EAAG,KAAK;AACtB,gBAAA,QAAQ,EAAC,KAAK;AACd,gBAAA,aAAa,EAAG,KAAK;AACrB,gBAAA,qBAAqB,EAAG,MAAM;AAC9B,gBAAA,IAAI,EAAC,CAAC;AACN,gBAAA,SAAS,EAAE,OAAO;AAClB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,UAAU,EAAE;AACV,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,YAAY,EAAG,WAAW;AAC1B,oBAAA,YAAY,EAAG,wBAAwB;AACvC,oBAAA,iBAAiB,EAAG,EAAE;AACtB,oBAAA,YAAY,EAAG,EAAE;AACjB,oBAAA,YAAY,EAAG,uBAAuB;AACvC,oBAAA,WAAW,EAAG,IAAI;AACjB,oBAAA,WAAW,EAAG,EAAE;AAChB,oBAAA,WAAW,EAAG,KAAK;AACnB,oBAAA,eAAe,EAAE,EAAE;AAClB,iBAAA;AACJ,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,OAAO,EAAE;AACP,oBAAA,OAAO,EAAE;AACL,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,GAAG;AACT,4BAAA,KAAK,EAAE,GAAG;AACV,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,EAAE,EAAE,GAAG;AACP,4BAAA,IAAI,EAAE,IAAI;AACV,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,YAAY,EAAE,EAAE;AACjB,yBAAA;AACF,qBAAA;AACJ,iBAAA;AACD,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,YAAY,EAAE;AACZ,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,UAAU;AAChB,wBAAA,YAAY,EAAE,MAAM;AACpB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACH,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE;AACL,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,GAAG;AACT,oCAAA,KAAK,EAAE,GAAG;AACV,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACD,gCAAA;AACE,oCAAA,EAAE,EAAE,GAAG;AACP,oCAAA,IAAI,EAAE,IAAI;AACV,oCAAA,KAAK,EAAE,IAAI;AACX,oCAAA,UAAU,EAAE,MAAM;AAClB,oCAAA,YAAY,EAAE,EAAE;AACjB,iCAAA;AACF,6BAAA;AACJ,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,KAAK;AACnB,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAE,KAAK;AACf,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,QAAQ,EAAE,QAAQ;AAClB,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACD,oBAAA;AACE,wBAAA,EAAE,EAAE,KAAK;AACT,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,qBAAqB,EAAG,MAAM;AAC9B,wBAAA,UAAU,EAAE,MAAM;AAClB,wBAAA,YAAY,EAAE,YAAY;AAC1B,wBAAA,QAAQ,EAAE,YAAY;AACtB,wBAAA,UAAU,EAAE,KAAK;AACjB,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,YAAY,EAAE,sBAAsB;AACpC,wBAAA,cAAc,EAAG,KAAK;AACtB,wBAAA,aAAa,EAAG,KAAK;AACrB,wBAAA,QAAQ,EAAC,KAAK;AACd,wBAAA,IAAI,EAAC,CAAC;AACN,wBAAA,SAAS,EAAE,OAAO;AAClB,wBAAA,QAAQ,EAAE,MAAM;AAChB,wBAAA,aAAa,EAAG,MAAM;AACtB,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,OAAO,EAAE,SAAS;AAClB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,UAAU,EAAE;AACV,4BAAA,IAAI,EAAE,eAAe;AACtB,yBAAA;AACD,wBAAA,KAAK,EAAE;AACL,4BAAA,YAAY,EAAG,WAAW;AAC1B,4BAAA,YAAY,EAAG,wBAAwB;AACvC,4BAAA,iBAAiB,EAAG,EAAE;AACtB,4BAAA,YAAY,EAAG,EAAE;AACjB,4BAAA,YAAY,EAAG,uBAAuB;AACtC,4BAAA,WAAW,EAAG,IAAI;AAClB,4BAAA,WAAW,EAAG,EAAE;AAChB,4BAAA,WAAW,EAAG,KAAK;AACnB,4BAAA,eAAe,EAAE,EAAE;AAClB,yBAAA;AACJ,qBAAA;AACA,iBAAA;AACH,gBAAA,qBAAqB,EAAG,MAAM;AAC9B,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,YAAY,EAAE,YAAY;AAC1B,gBAAA,QAAQ,EAAE,YAAY;AACtB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAC,KAAK;AACd,gBAAA,YAAY,EAAE,sBAAsB;AACpC,gBAAA,cAAc,EAAG,KAAK;AACtB,gBAAA,aAAa,EAAG,KAAK;AACrB,gBAAA,QAAQ,EAAC,KAAK;AACd,gBAAA,IAAI,EAAC,CAAC;AACN,gBAAA,SAAS,EAAE,OAAO;AAClB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,aAAa,EAAG,MAAM;AACtB,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,UAAU,EAAE;AACV,oBAAA,IAAI,EAAE,eAAe;AACtB,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,YAAY,EAAG,WAAW;AAC1B,oBAAA,YAAY,EAAG,wBAAwB;AACvC,oBAAA,iBAAiB,EAAG,EAAE;AACtB,oBAAA,YAAY,EAAG,EAAE;AACjB,oBAAA,YAAY,EAAG,uBAAuB;AACtC,oBAAA,WAAW,EAAG,IAAI;AAClB,oBAAA,WAAW,EAAG,EAAE;AAChB,oBAAA,WAAW,EAAG,KAAK;AACnB,oBAAA,eAAe,EAAE,EAAE;AAClB,iBAAA;AACJ,aAAA;AACA,SAAA;AACA,KAAA;AACD,IAAA,UAAU,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AAClB,KAAA;CACA;;MC3nHY,iBAAiB,CAAA;AAsCN,IAAA,OAAA,CAAA;AArCb,IAAA,aAAa,GAAG,CAAC,IAAY,KAAK,CAAA,EAAG,MAAM,CAAC,cAAc,CAAC,CAAG,EAAA,IAAI,EAAE,CAAC;IACrE,iBAAiB,GAAG,MAAM,CAAA,EAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA,CAAE,CAAC;IAEzD,YAAY,CAAC,UAAkB,EAClB,MAAgB,EAChB,OAAO,EACP,MAAM,EACN,MAAY,EAAA;;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;;AAG5C,QAAA,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CACvC,YAAY;;;AAGZ,QAAA,GAAG,MAAM,EACT,UAAU,MAAM,EAAE,KAAK,EAAA;AACrB,YAAA,IAAI;AACF,gBAAA,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aAC7B;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,CAAC,KAAK,CAAC,CAAC;aACf;;;;AAID,YAAA,IAAI,MAAM,CAAC,MAAM,EAAE;gBACf,OAAO,CAAC,MAAM,CAAC,CAAC;aACnB;iBAAM;gBACH,OAAO,CAAC,MAAM,CAAC,CAAC;aACnB;AACH,SAAC,EACD,MAAM,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAC3C,CAAC;KACH;AAED,IAAA,WAAA,CAAoB,OAAe,EAAA;QAAf,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;KAElC;wGAxCQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAHd,MAAM,EAAA,CAAA,CAAA;;4FAGT,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA,CAAA;;;MCFY,WAAW,CAAA;AAEU,IAAA,IAAA,CAAA;;AAAhC,IAAA,WAAA,CAAgC,IAAgB,EAAA;QAAhB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;KAAK;IAE9C,UAAU,CAAC,GAAW,EAC3B,MAAgB,EAChB,OAAO,EACP,MAAM,EACN,MAAY,EAAA;AACV,QAAA,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC;;AAGlB,QAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,CAAA,EAAG,GAAG,CAAA,CAAE,CAAC,CAAC;AACjE,QAAA,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AAC7C,QAAA,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;;AAGnD,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iEAAiE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAG,OAAO,EAAE,UAAU,EAAE,CAAC;aACzL,SAAS,CAAC,QAAQ,IAAG;AACpB,YAAA,IAAG,QAAQ,CAAC,MAAM,IAAI,GAAG,EAAE;AACzB,gBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACxB;iBAAM;AACL,gBAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aACvB;SACF,EAAE,KAAK,IAAG;AACT,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,CAAC;AAChB,SAAC,CAAC,CAAC;KACR;;IAGM,cAAc,CAAC,QAAgB,EAAE,SAAiB,EAAE,MAAc,EAAC,MAAc,EAAC,GAAU,EAAA;QACjG,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,2BAA2B,CAAC;AACvD,QAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;;;;;;AAOtC,QAAA,IAAI,IAAI,GAAG;AACT,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,WAAW,EAAE,SAAS;AACtB,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,QAAQ,EAAG,MAAM;SAClB,CAAA;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,MAAM,EAAC,IAAI,CAAE,CAAC;KAE1C;;IAII,QAAQ,CAAC,OAAW,EAAE,MAAa,EAAA;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,QAAA,KAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YAC9B,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC,YAAA,IAAG,SAAS,CAAC,MAAM,KAAK,CAAC,EAAC;gBACxB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAS,CAAC;aACzC;iBAAM;AACL,gBAAA,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,gBAAA,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAK,EAAS,CAAC;aACtD;SACF;AACD,QAAA,OAAO,OAAO,CAAC;KAChB;;AAGQ,IAAA,WAAW,CAAC,QAAgB,EAAA;QACjC,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;KACjC;wGAvEU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;;4FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAGc,QAAQ;;;MCFV,aAAa,CAAA;AAEQ,IAAA,MAAA,CAAA;;AAAhC,IAAA,WAAA,CAAgC,MAAkB,EAAA;QAAlB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAY;KAAK;;AAE/C,IAAA,cAAc,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AACtD,IAAA,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;AAEvD,IAAA,eAAe,CAAC,QAAA,GAAmB,EAAE,EAAC,GAAU,EAAA;QAC9C,IAAI,QAAQ,EAAE;AACZ,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAC,GAAG,CAAC,CAAC,SAAS,CAAE,CAAC,WAAgB,KAAI;AAC1D,gBAAA,IAAI,WAAW,IAAI,WAAW,CAAC,OAAO,EAAE;oBACtC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;iBAC5C;AACH,aAAC,EAAE,CAAC,QAAQ,KAAI;AACb,gBAAA,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;AAC7C,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,QAAQ,CAAC,QAAA,GAAmB,EAAE,EAAC,GAAU,EAAA;AACvC,QAAA,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAG,MAAM,CAAC,CAAC;KACvC;AAEF,IAAA,OAAO,CAAC,GAAG,EAAA;AACR,QAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACjB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,MAAM,EAAE;AACzB,YAAA,OAAO,qEAAqE,CAAC;SAC9E;AAAM,aAAA,IAAI,GAAG,KAAK,MAAM,EAAE;AACzB,YAAA,OAAO,qEAAqE,CAAC;SAC9E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,MAAM,EAAE;AACzB,YAAA,OAAO,qEAAqE,CAAC;SAC9E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;AAAM,aAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AACxB,YAAA,OAAO,oEAAoE,CAAC;SAC7E;aAAM;AACL,YAAA,OAAO,mEAAmE,CAAC;SAC5E;KACF;;IAGD,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChC;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;wGArEU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;;4FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAGc,QAAQ;;;ACTvB;AAGO,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAM,YAAY,CAAC;;ACHtE;MAUa,WAAW,CAAA;AAIwB,IAAA,QAAA,CAAA;AAAoC,IAAA,QAAA,CAAA;AAHxE,IAAA,eAAe,GAAG,IAAI,YAAY,EAAU,CAAC;IACvD,eAAe,GAAG,EAAE,CAAC;IAErB,WAA8C,CAAA,QAAQ,EAA4B,QAAkB,EAAA;QAAtD,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAA;QAA4B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QAClG,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAChC,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACpD,YAAA,IAAG,IAAI,CAAC,eAAe,KAAK,KAAK,EAAC;AAChC,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC3C;SACF;aAAM;AACL,YAAA,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACnC,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;SAC9B;KACF;AAED,IAAA,SAAS,CAAC,GAAG,EAAA;;;QAGX,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;KAC9I;AAED,IAAA,cAAc,CAAC,IAAI,EAAA;AACjB,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAoB,CAAC;AAC/E,QAAA,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC7D,QAAA,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACjD;wGAhCU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAIF,iBAAiB,EAAA,EAAA,EAAA,KAAA,EAA2B,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4GAJ7D,WAAW,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;;0BAOI,MAAM;2BAAC,iBAAiB,CAAA;;0BAAoB,MAAM;2BAAC,QAAQ,CAAA;yCAH9D,eAAe,EAAA,CAAA;sBAAxB,MAAM;;;ACXT;AACA;AAaA;AACA;AACA,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc;AAC/F,IAAA,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB;AAChE,IAAA,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW;IACjE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;AAErF;AACA,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AAC3C,YAAY,CAAC,KAAK,GAAG,KAAK,CAAA;AAC1B,KAAK,CAAC,QAAQ,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAA;AAEpD;AACA;AACA,IAAI,KAAK,GAAQ,KAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACxD,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;AAChC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAErB,MAAM,kBAAkB,GAAiB;AAC5C,IAAA,YAAY,EAAE,EAAE;AAClB,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE;AACT,YAAA,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAC3B,YAAA,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;YACzC,CAAC,YAAY,EAAE,YAAY,CAAC;AAC5B,YAAA,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACvC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACzC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;AACnC,YAAA,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACf,YAAA,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;AAC1B,YAAA,CAAC,SAAS,CAAC;AACX,YAAA,CAAC,OAAO,CAAC;AACV,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,YAAY,EAAE,qBAAqB;AACnC,QAAA,sBAAsB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;AAClC,QAAA,MAAM,EAAE,UAAU,UAAkB,EAAE,UAAe,EAAA;AACnD,YAAA,MAAM,MAAM,GAAG;AACb,gBAAA,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;AAC1B,gBAAA,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;aAC3B,CAAC;AAEF,YAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,gBAAA,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;aAChC;iBAAM;gBACL,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,KACjC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAC5D,CAAC;AACF,gBAAA,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;aACjC;SACF;AACF,KAAA;CACF,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MASa,uBAAuB,CAAA;AAgBzB,IAAA,WAAA,CAAA;AACC,IAAA,aAAA,CAAA;IAhBD,KAAK,GAAgB,EAAE,CAAC;AACxB,IAAA,WAAW,CAAS;AACpB,IAAA,KAAK,CAAM;AACX,IAAA,QAAQ,CAAM;IACd,IAAI,CAAQ;IACZ,QAAQ,GAAG,KAAK,CAAC;AAChB,IAAA,eAAe,GAAyB,IAAI,YAAY,EAAU,CAAC;AACpE,IAAA,SAAS,CAAU;AACnB,IAAA,SAAS,CAAU;;IAG5B,kBAAkB,GAAiB,kBAAkB,CAAC;AACtD,IAAA,YAAY,CAAe;IAE3B,WACS,CAAA,WAAwB,EACvB,aAA4B,EAAA;QAD7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KACjC;IAEL,QAAQ,GAAA;AACN,QAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;AACnD,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAE/B;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;;IAGO,oBAAoB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC/C,YAAA,IAAI;AACA,gBAAA,MAAM,aAAa,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxE,gBAAA,IAAI,aAAa,EAAE,gBAAgB,EAAE;AACjC,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAC7D,CAAC,WAAW,KAAI;AACZ,wBAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAC1C,wBAAA,IAAI,WAAW,IAAI,WAAW,CAAC,QAAQ;AACnC,4BAAA,WAAW,CAAC,cAAc,KAAK,aAAa,CAAC,gBAAgB,EAAE;4BAC/D,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;4BAC5D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;yBACzC;wBACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACrE,qBAAC,CACJ,CAAC;iBACL;aACJ;YAAC,OAAO,KAAK,EAAE;AACZ,gBAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;aAClD;SACJ;KACJ;;;;;;;;;;;;;;;;;;;IAwBD,YAAY,GAAA;;AAEV,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACzC;;IAEC,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;SACjC;KACF;wGA1FU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,mTC3FpC,4YAaM,EAAA,MAAA,EAAA,CAAA,4aAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDuEQ,oBAAoB,EAAE,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,8VAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAOhD,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;8BACG,CAAC,oBAAoB,EAAE,WAAW,EAAE,YAAY,CAAC,EAAA,QAAA,EAChD,sBAAsB,EAAA,UAAA,EACpB,IAAI,EAAA,QAAA,EAAA,4YAAA,EAAA,MAAA,EAAA,CAAA,4aAAA,CAAA,EAAA,CAAA;sGAMT,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACE,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEpGK,aAAa,CAAA;AACtB,IAAA,cAAc,CAAS;AACvB,IAAA,gBAAgB,CAAS;AACzB,IAAA,YAAY,CAAS;AACrB,IAAA,cAAc,CAAS;AACvB,IAAA,QAAQ,CAAM;IACd,WAAW,CAAS;AACpB,IAAA,cAAc,CAAQ;IACtB,KAAK,CAAQ;AAChB;;ACTD;MAOa,QAAQ,CAAA;AACC,IAAA,WAAA,CAAA;AAApB,IAAA,WAAA,CAAoB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAAK;AACjD,IAAA,SAAS,CAAC,KAAU,EAAE,GAAG,IAAW,EAAA;QAClC,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC1C;AACD,QAAA,OAAO,KAAK,CAAC;KACd;wGAPU,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sGAAR,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAHpB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,MAAM;AACb,iBAAA,CAAA;;;MCOY,qBAAqB,CAAA;AAqBxB,IAAA,WAAA,CAAA;AACE,IAAA,MAAA,CAAA;AACA,IAAA,GAAA,CAAA;IAtBV,QAAQ,GAAG,IAAI,CAAC;IAChB,SAAS,GAAG,IAAI,CAAC;IACjB,IAAI,GAAW,EAAE,CAAC;AACV,IAAA,QAAQ,CAAC;;AAGV,IAAA,gBAAgB,CAA+B;IACtD,SAAS,GAAY,KAAK,CAAC;AAClB,IAAA,OAAO,CAAQ;;AAEf,IAAA,QAAQ,CAAU;AACjB,IAAA,gBAAgB,GAAgC,IAAI,YAAY,EAAiB,CAAC;AAC5F,IAAA,oBAAoB,CAAM;AAC1B,IAAA,cAAc,CAA0B;AACxC,IAAA,MAAM,CAA0B;AAChC,IAAA,aAAa,CAAK;IACT,MAAM,CAAM;AAErB,IAAA,WAAA;;IAEQ,WAAwB,EACtB,MAAc,EACd,GAAsB,EAAA;QAFxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;;KAG/B;IAED,QAAQ,GAAA;;AAEN,QAAA,IAAG,IAAI,CAAC,MAAM,EAAC;AACb,YAAA,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,MAAK;gBACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAE;AAC3C,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI;AACtC,iBAAA,CAAC,CAAC;gBACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;AACzB,aAAC,CAAC,CAAC;SACJ;KACF;;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE;;AAE9F,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAI;AACnE,oBAAA,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACrD,wBAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AACnD,wBAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AACpD,wBAAA,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AAClE,wBAAA,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AAC1D,wBAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACf,wBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;qBAE1B;AACH,iBAAC,CAAC,CAAC;aACJ;iBAAM;;AAEL,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;aAE1B;SACF;KACF;;IAOO,oBAAoB,GAAA;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,QAAA,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;;QAEhC,MAAM,CAAC,GAAG,GAAG,CAAA,4CAAA,EAA+C,IAAI,CAAC,MAAM,4BAA4B,CAAC;AACpG,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;AACpB,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;AACpB,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AAC3C,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;AACnB,gBAAA,OAAO,EAAE,CAAC;AACZ,aAAC,CAAC;AACF,YAAA,MAAM,CAAC,OAAO,GAAG,CAAC,KAAU,KAAI;gBAC9B,MAAM,CAAC,KAAK,CAAC,CAAC;AAChB,aAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACJ;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,aAAa,EAAE;AAC7F,gBAAA,KAAK,EAAE,EAAE;AACV,aAAA,CAAC,CAAC;AACH,YAAA,YAAY,CAAC,WAAW,CAAC,eAAe,EAAE,MAAK;AAC7C,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,oBAAA,MAAM,KAAK,GAAmC,YAAY,CAAC,QAAQ,EAAE,CAAC;AAEtE,oBAAA,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE;wBAC3D,OAAO;qBACR;oBACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBAC9C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;AAC/C,oBAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACf,oBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,iBAAiB,CAAC;;AAEvC,oBAAA,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;;oBAEjC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzC,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,oBAAA,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AACjC,oBAAA,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AACnC,oBAAA,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;AACrC,oBAAA,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC;AAC1B,oBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpC,iBAAC,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;SACJ;KACF;IAED,eAAe,GAAA;AACb,QAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,KAAK,KAAI;AACrE,YAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AACnD,SAAC,CAAC,CAAC;KACF;AAED,IAAA,UAAU,CAAC,KAAgC,EAAA;AACzC,QAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAChD;IAGO,kBAAkB,GAAA;AACxB,QAAA,IAAI,aAAa,IAAI,SAAS,EAAE;YAC9B,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,QAAQ,KAAI;gBACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACzC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;AAC3C,gBAAA,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AAClE,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AAC1D,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AACjD,aAAC,CAAC,CAAC;SACJ;KACF;IAGD,UAAU,CAAC,QAAgB,EAAE,SAAiB,EAAA;AAC5C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,KAAI;AACzF,gBAAA,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC,CAAC;AAC/B,gBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,MAAM,CAAC,CAAC;AAC7B,gBAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,oBAAA,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;;wBAEd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;;AAE5C,wBAAA,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;;wBAEjC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACzC,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,wBAAA,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;AAClC,wBAAA,OAAO,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;AAC/B,wBAAA,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;AACjC,wBAAA,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;AAC1B,wBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBACpC;yBAAM;AACL,wBAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;qBACjC;iBACF;qBAAM;AACL,oBAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,MAAM,CAAC,CAAC;iBAClD;AACH,aAAC,CAAC,CAAC;SACJ;KACF;IAED,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AACtB,QAAA,IAAG,CAAC,IAAI,CAAC,OAAO,EAAC;YACf,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvC;QACD,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;aAAI;AACH,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AAClE,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;AAC1D,YAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;SACf;KACF;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACxB;wGAzMU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,mUCblC,o4DAwCA,EAAA,MAAA,EAAA,CAAA,03BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,OAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,UAAA,EAAA,aAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,WAAA,EAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,aAAA,EAAA,SAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAG,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD3Ba,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,o4DAAA,EAAA,MAAA,EAAA,CAAA,03BAAA,CAAA,EAAA,CAAA;kIAWtB,gBAAgB,EAAA,CAAA;sBADtB,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAG5B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBAKE,MAAM,EAAA,CAAA;sBAAd,KAAK;;;MEdK,oBAAoB,CAAA;AAgBX,IAAA,aAAA,CAAA;AAAqC,IAAA,WAAA,CAAA;AAAkC,IAAA,WAAA,CAAA;IAflF,KAAK,CAAc;AACnB,IAAA,QAAQ,CAAU;AAClB,IAAA,QAAQ,GAAY,KAAK,CAAC;AAC1B,IAAA,WAAW,CAAQ;AACnB,IAAA,KAAK,CAAK;IACV,WAAW,GAAY,KAAK,CAAC;AAC7B,IAAA,QAAQ,GAAY,KAAK,CAAC;AAE1B,IAAA,YAAY,CAAK;AACjB,IAAA,OAAO,CAAK;AACZ,IAAA,UAAU,CAAM;AACf,IAAA,UAAU,GAAG,IAAI,YAAY,EAAO,CAAC;AAE/C,IAAA,YAAY,CAAe;AAE3B,IAAA,WAAA,CAAoB,aAA4B,EAAS,WAAwB,EAAU,WAAwB,EAAA;QAA/F,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAAS,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAAU,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAClH;;IAGD,QAAQ,GAAA;;QAEN,IAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,SAAS,EAAE;AACrC,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,YAAA,IAAI,aAAa,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtE,IAAG,aAAa,CAAC,QAAQ,IAAI,aAAa,CAAC,QAAQ,IAAI,OAAO,EAAC;AAC7D,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;iBAAI;AACH,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;;AAED,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAC/D,CAAC,WAAW,KAAI;AACd,gBAAA,IAAG,WAAW,IAAI,SAAS,EAAE;;AAE3B,oBAAA,IAAG,WAAW,CAAC,QAAQ,IAAI,SAAS,IAAI,WAAW,CAAC,cAAc,IAAI,aAAa,CAAC,gBAAgB,EAAE;;AAEpG,wBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAC,aAAa,CAAC,UAAU,CAAC,CAAC;wBACtF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;qBAClC;oBACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;iBAClE;AACH,aAAC,CACF,CAAC;SACH;KACF;IAED,UAAU,GAAA;KACT;IAED,WAAW,GAAA;;AAET,QAAA,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC;KAClC;AAED,IAAA,aAAa,CAAC,KAAS,EAAA;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC1C;wGAzDU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,iVChBjC,oxCA4BA,EAAA,MAAA,EAAA,CAAA,iFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDZa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,oxCAAA,EAAA,MAAA,EAAA,CAAA,iFAAA,CAAA,EAAA,CAAA;6HAMnB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MEhBI,uBAAuB,CAAA;AAUf,IAAA,WAAA,CAAA;AAAiC,IAAA,aAAA,CAAA;IAT3C,KAAK,CAAc;AACnB,IAAA,WAAW,CAAQ;IACnB,IAAI,CAAQ;AACZ,IAAA,KAAK,CAAK;AACV,IAAA,QAAQ,CAAK;AACb,IAAA,QAAQ,GAAG,KAAK,CAAC;AAChB,IAAA,mBAAmB,GAAyB,IAAI,YAAY,EAAU,CAAC;AACjF,IAAA,YAAY,CAAe;IAE3B,WAAmB,CAAA,WAAwB,EAAS,aAA4B,EAAA;QAA7D,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAAS,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAK;;IAErF,QAAQ,GAAA;;AAEJ,QAAA,IAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAC;AACvB,YAAA,IAAI,aAAa,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACtE,YAAA,IAAG,aAAa,CAAC,gBAAgB,EAAC;;AAEhC,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAC/D,CAAC,WAAW,KAAI;AACd,oBAAA,IAAG,WAAW,IAAI,SAAS,EAAE;AAC3B,wBAAA,IAAG,WAAW,CAAC,QAAQ,IAAI,SAAS,IAAI,WAAW,CAAC,cAAc,IAAI,aAAa,CAAC,gBAAgB,EAAE;4BACpG,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;4BAC5D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;yBAC3C;wBACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;qBAClE;AACH,iBAAC,CACF,CAAC;aACL;SACF;KAEF;AAED,IAAA,gBAAgB,CAAC,KAAS,EAAA;QACxB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACnD;wGApCU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAP,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,uPCZpC,4gBAayE,EAAA,MAAA,EAAA,CAAA,4CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAO,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDD5D,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,sBAAsB,EAAA,QAAA,EAAA,4gBAAA,EAAA,MAAA,EAAA,CAAA,4CAAA,CAAA,EAAA,CAAA;sGAKvB,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;;;MEbI,YAAY,CAAA;AAEvB,IAAA,SAAS,CAAC,GAAO,EAAE,OAAY,EAAE,MAAW,EAAA;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7B,QAAA,KAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YAC9B,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC,YAAA,IAAG,SAAS,CAAC,MAAM,KAAK,CAAC,EAAC;gBACxB,IAAG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAC;oBACtC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAQ,CAAC;;iBAExC;qBAAK,IAAG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAC;AAC7C,oBAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAC/B,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5B;qBAAM;oBACL,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAS,CAAC;iBACzC;aAEF;iBAAM;AACL,gBAAA,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/C,IAAG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAC;AACtC,oBAAA,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAK,CAAQ,CAAC;;iBAErD;qBAAK,IAAG,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAC;AAC7C,oBAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC9B,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACxC;qBAAK;AACJ,oBAAA,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAK,EAAS,CAAC;iBACtD;aACF;SACF;;AAED,QAAA,OAAO,OAAO,CAAC;KAChB;wGAjCU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;MCcY,oBAAoB,CAAA;AAqBX,IAAA,aAAA,CAAA;AAAoC,IAAA,WAAA,CAAA;AAAkC,IAAA,SAAA,CAAA;AAAsC,IAAA,WAAA,CAAA;AApBvH,IAAA,QAAQ,CAAU;AACjB,IAAA,WAAW,GAAsB,IAAI,YAAY,EAAO,CAAC;AAEnE,IAAA,SAAS,CAAe;IACxB,WAAW,GAAG,EAAE,CAAC;IACjB,SAAS,GAAG,EAAE,CAAC;AACf,IAAA,aAAa,CAAS;IACtB,SAAS,CAAS;AAClB,IAAA,OAAO,CAAM;AACb,IAAA,WAAW,CAAM;AACjB,IAAA,SAAS,CAAS;AAClB,IAAA,MAAM,CAAS;IACf,SAAS,GAAY,KAAK,CAAC;AAClB,IAAA,OAAO,CAAS;AAClB,IAAA,OAAO,CAAW;IACzB,UAAU,GAAY,IAAI,CAAC;AAC3B,IAAA,YAAY,CAAe;AAEpB,IAAA,UAAU,CAAS;AAE1B,IAAA,WAAA,CAAoB,aAA4B,EAAQ,WAAwB,EAAU,SAA4B,EAAU,WAAwB,EAAA;QAApI,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAAQ,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAAU,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;QAAU,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAAK;;IAE7J,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,EAAE,GAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE5C,QAAA,IAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;SACzC;AACD,QAAA,IAAG,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;AAC7B,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,IAAI,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAC/B,YAAA,IAAG,MAAM,CAAC,QAAQ,EAAC;AACjB,gBAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,WAAW,KAAI;AACvE,oBAAA,IAAI,SAAS,CAAC;AACd,oBAAA,IAAG,MAAM,CAAC,QAAQ,EAAC;;AAEjB,wBAAA,SAAS,GAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBACpE,IAAI,OAAO,GAAG,EAAE,CAAC;;AAEjB,wBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,4BAAA,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,4BAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBACpB;AACD,wBAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;qBACxB;AAAI,yBAAA;wBACH,SAAS,GAAG,WAAW,CAAC;AACxB,wBAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;qBAC1B;oBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAQ,MAAM,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;;AAE1E,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAEzC,iBAAC,CAAC,CAAC;aACJ;;AAGD,YAAA,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACvC,YAAA,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACzB,IAAG,QAAQ,EAAC;;AAEV,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAC/D,CAAC,WAAW,KAAI;AACd,oBAAA,IAAG,WAAW,IAAI,SAAS,EAAE;AAC3B,wBAAA,IAAG,WAAW,CAAC,QAAQ,IAAI,SAAS,IAAI,WAAW,CAAC,cAAc,IAAI,MAAM,CAAC,gBAAgB,EAAE;AAC7F,4BAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;4BAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAQ,MAAM,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACzE,4BAAA,IAAI,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC;4BAChC,IAAI,SAAS,GAAG,IAAI,CAAC;;4BAErB,IAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;AAC3B,gCAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,IAAG;;AAE/B,oCAAA,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;AACjE,oCAAA,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAC,KAAK,CAAC,CAAA;AAC1D,oCAAA,IAAG,eAAe,IAAI,YAAY,EAAC;wCAChC,SAAS,GAAG,KAAK,CAAC;qCACpB;AACH,iCAAC,CAAC,CAAC;6BACJ;4BACD,IAAG,SAAS,EAAC;gCACX,IAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAC;oCAC3B,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,CAAC;AAC1C,oCAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iCACzC;qCAAK;AACJ,oCAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,oCAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iCACzC;6BACF;yBACF;wBACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;qBAC3D;AACH,iBAAC,CACF,CAAC;aACH;SACF;QACD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAC1C;IAGD,MAAM,GAAA;QACJ,IAAI,OAAO,GAAG,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,IAAG;AAC9B,YAAA,IAAG,IAAI,CAAC,OAAO,EAAC;AACd,gBAAA,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAE,EAAE,CAAC;aAC3B;AACH,SAAC,CAAC,CAAC;QACL,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;AAClC,QAAA,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;KAC3C;IAED,WAAW,CAAC,IAAS,EAAE,KAAa,EAAA;AAClC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;;AAED,IAAA,WAAW,CAAC,QAAgB,EAAE,KAAa,EAAE,KAAU,EAAA;QACrD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;AACD,IAAA,SAAS,CAAC,QAAgB,EAAA;QACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KACpC;AACD,IAAA,OAAO,CAAC,QAAgB,EAAA;QACtB,IAAI,CAAC,GAAG,CAAC,CAAC;AACV,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,IAAG;AAC/B,YAAA,IAAG,CAAC,KAAK,QAAQ,EAAC;AAChB,gBAAA,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;aACrB;AACD,YAAA,CAAC,EAAE,CAAC;AACN,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,YAAY,CAAC,IAAS,EAAE,KAAa,EAAE,KAAa,EAAA;AAClD,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;AAGD,IAAA,kBAAkB,CAAC,gBAAuB,EAAA;AACxC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACzC;wGAnJU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,uJCnBjC,q0GA2CoF,EAAA,MAAA,EAAA,CAAA,+uCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDxBvE,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,q0GAAA,EAAA,MAAA,EAAA,CAAA,+uCAAA,CAAA,EAAA,CAAA;0JAMnB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAYE,OAAO,EAAA,CAAA;sBAAf,KAAK;;;MEzBK,yBAAyB,CAAA;AASjB,IAAA,WAAA,CAAA;AARV,IAAA,IAAI,CAAS;AACb,IAAA,OAAO,CAAK;AACZ,IAAA,OAAO,CAAK;AACZ,IAAA,KAAK,CAAK;AACV,IAAA,YAAY,CAAQ;AACpB,IAAA,QAAQ,GAAG,KAAK,CAAC;AAChB,IAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;AAClE,IAAA,YAAY,CAAI;AAChB,IAAA,WAAA,CAAmB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAAK;IAEhD,QAAQ,GAAA;QACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxC;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;wGAlBU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAZ,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,2OCRtC,iuCA0BE,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,KAAA,EAAA,KAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlBW,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,iuCAAA,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,CAAA;6EAKzB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MENI,yBAAyB,CAAA;AAOjB,IAAA,WAAA,CAAA;IANV,SAAS,GAAU,KAAK,CAAC;;IAEzB,wBAAwB,GAAU,EAAE,CAAC;AACpC,IAAA,kBAAkB,GAAsB,IAAI,YAAY,EAAO,CAAC;IAC1E,aAAa,GAAU,EAAE,CAAC;AAE1B,IAAA,WAAA,CAAmB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAAK;IAEhD,QAAQ,GAAA;KACP;IACD,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC3B;AAED,IAAA,uBAAuB,CAAC,KAAS,EAAA;AAC9B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACtC;wGAjBU,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,oOCTtC,4tBAcW,EAAA,MAAA,EAAA,CAAA,m8DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDLE,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;+BACE,wBAAwB,EAAA,QAAA,EAAA,4tBAAA,EAAA,MAAA,EAAA,CAAA,m8DAAA,CAAA,EAAA,CAAA;6EAKzB,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,wBAAwB,EAAA,CAAA;sBAAhC,KAAK;gBACI,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;;;MEEI,uBAAuB,CAAA;AAiBxB,IAAA,aAAA,CAAA;AACA,IAAA,WAAA,CAAA;AACD,IAAA,WAAA,CAAA;AAlBA,IAAA,OAAO,CAAW;AAClB,IAAA,WAAW,CAAS;AACpB,IAAA,OAAO,CAAS;AAChB,IAAA,aAAa,CAAS;AACtB,IAAA,WAAW,CAAU;AACrB,IAAA,EAAE,CAAQ;AACV,IAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,IAAA,YAAY,CAAS;AACrB,IAAA,KAAK,CAAK;IACV,WAAW,GAAY,KAAK,CAAC;AAC7B,IAAA,QAAQ,CAAK;AACb,IAAA,cAAc,CAAQ;IACtB,KAAK,CAAQ;AACZ,IAAA,WAAW,GAAgC,IAAI,YAAY,EAAiB,CAAC;IACvF,eAAe,GAAY,EAAE,CAAC;AAC9B,IAAA,WAAA,CACU,aAA4B,EAC5B,WAAwB,EACzB,WAAwB,EAAA;QAFvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACzB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAE/B,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,KAAG;;AAEnD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,SAAC,CAAC,CAAA;KACH;AAEM,IAAA,UAAU,CAAS;AACnB,IAAA,UAAU,CAAS;AAC1B,IAAA,YAAY,CAAe;AACpB,IAAA,MAAM,CAAS;AACf,IAAA,SAAS,CAAQ;IAExB,QAAQ,GAAA;KAEP;IACD,UAAU,GAAA;AACR,QAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;;;;;AAK1B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAC/E,QAAA,IAAG,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI;gBACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;gBAEvC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBACvC,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3D,IAAI,aAAa,EAAE;wBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;qBAC1C;yBAAK;AACJ,wBAAA,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAC;AAC/B,4BAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;yBACnB;;AAGD,wBAAA,IAAI,YAAY,CAAE;AAClB,wBAAA,IAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AACvB,4BAAA,IAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;;AAE5D,gCAAA,IAAI,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjE,gCAAA,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACpD,gCAAA,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCACpD,IAAI,WAAW,GAAG,EAAE,CAAC;AACrB,gCAAA,IAAI,MAAM,GAAG,CAAC,CAAC;;AAEf,gCAAA,eAAe,CAAC,OAAO,CAAC,SAAS,IAAG;;;oCAGlC,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC;;AAE9G,oCAAA,IAAI,SAAS,IAAI,eAAe,EAAE;AAChC,wCAAA,WAAW,CAAC,IAAI,CAAC,CAAG,EAAA,WAAW,CAAC,MAAM,CAAC,CAAI,CAAA,EAAA,eAAe,CAAC,KAAK,CAAA,CAAE,CAAC,CAAC;qCACrE;AAAM,yCAAA;AACL,wCAAA,WAAW,CAAC,IAAI,CAAC,CAAA,EAAG,WAAW,CAAC,MAAM,CAAC,CAAA,CAAA,EAAI,WAAW,CAAC,MAAM,CAAC,CAAA,CAAE,CAAC,CAAC;qCACnE;AAED,oCAAA,MAAM,EAAE,CAAC;AACX,iCAAC,CAAC,CAAC;AACH,gCAAA,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClE,gCAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;6BAC3B;iCAAM;;AAEL,gCAAA,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;6BACrC;;AAGD,4BAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,WAAW,KAAI;;;AAGpE,gCAAA,IAAI,SAAS,CAAC;AACd,gCAAA,IAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC;;;AAGtB,oCAAA,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oCACxE,IAAI,OAAO,GAAG,EAAE,CAAC;;AAEjB,oCAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,wCAAA,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,wCAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qCACpB;AACD,oCAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;iCACxB;AAAI,qCAAA;oCACH,SAAS,GAAG,WAAW,CAAC;AACxB,oCAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;iCAC1B;;AAED,gCAAA,IAAG,IAAI,CAAC,SAAS,EAAC;AAChB,oCAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;iCACpE;;AAEH,6BAAC,CAAC,CAAA;yBACH;;;AAID,wBAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;AAC5C,wBAAA,IAAG,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAC;;AAE5D,4BAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAC/D,CAAC,WAAW,KAAI;AACd,gCAAA,IAAG,WAAW,IAAI,SAAS,EAAE;;AAE3B,oCAAA,IAAG,WAAW,CAAC,QAAQ,IAAI,SAAS,IAAI,WAAW,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;;;;AAIhG,wCAAA,IAAI,SAAS,CAAC;AACd,wCAAA,IAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC;AACtB,4CAAA,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;4CACjF,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,4CAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,gDAAA,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,gDAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;6CACpB;AACD,4CAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;yCACxB;6CAAI;AACH,4CAAA,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC;AACjC,4CAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;yCAC1B;;AAEH,wCAAA,IAAG,IAAI,CAAC,SAAS,EAAC;AAChB,4CAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;yCACpE;qCACA;oCACH,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;iCAChE;AACL,6BAAC,CACF,CAAC;yBACD;qBACF;iBACF;aACF;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;aAChD;SACF;KACF;;AAGC,IAAA,YAAY,CAAC,KAAS,EAAA;QACpB,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;;AAEnD,QAAA,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;AACjC,QAAA,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;AAChC,QAAA,MAAM,CAAC,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;AACrC,QAAA,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC5C,QAAA,MAAM,CAAC,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;QAE9B,IAAG,KAAK,EAAC;AACP,YAAA,IAAI,CAAC,eAAe,GAAE,EAAE,CAAC;SAC1B;KACF;wGA/KU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAS,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,kaCfpC,gqDAkCA,EAAA,MAAA,EAAA,CAAA,kEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAZ,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,eAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,OAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDnBa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,gqDAAA,EAAA,MAAA,EAAA,CAAA,kEAAA,CAAA,EAAA,CAAA;6HAKtB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MErBI,oBAAoB,CAAA;AAEtB,IAAA,UAAU,CAAQ;AAClB,IAAA,UAAU,CAAS;AAE5B,IAAA,WAAA,GAAA;KACC;IAED,QAAQ,GAAA;KACP;wGATU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,wHCRjC,0DAEA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA,CAAA,CAAA;;4FDMa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,0DAAA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA,CAAA;wDAMnB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;ME8CK,sBAAsB,CAAA;AA4MvB,IAAA,SAAA,CAAA;AACA,IAAA,WAAA,CAAA;AACA,IAAA,aAAA,CAAA;AACA,IAAA,aAAA,CAAA;AACA,IAAA,KAAA,CAAA;AACA,IAAA,SAAA,CAAA;AACA,IAAA,OAAA,CAAA;AACA,IAAA,YAAA,CAAA;AAEA,IAAA,aAAA,CAAA;AAED,IAAA,WAAA,CAAA;AAtNA,IAAA,IAAI,CAAS;AACb,IAAA,kBAAkB,CAAS;AAC3B,IAAA,IAAI,CAAS;AACb,IAAA,GAAG,CAAS;IACZ,GAAG,CAAS;AACX,IAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;AACjC,IAAA,UAAU,GAAsB,IAAI,YAAY,EAAE,CAAC;AACnD,IAAA,cAAc,GAAsB,IAAI,YAAY,EAAE,CAAC;AACvD,IAAA,UAAU,GAAsB,IAAI,YAAY,EAAE,CAAC;AACnD,IAAA,YAAY,GAAsB,IAAI,YAAY,EAAE,CAAC;AAE/D,IAAA,MAAM,CAAS;IACR,UAAU,GAAG,IAAI,CAAC;AAClB,IAAA,MAAM,CAAa;AACnB,IAAA,MAAM,CAAe;AACrB,IAAA,YAAY,CAAW;AACvB,IAAA,UAAU,CAAgB;;IAG1B,SAAS,GAAY,KAAK,CAAC;IAC3B,QAAQ,GAAY,KAAK,CAAC;;IAG1B,YAAY,GAAY,KAAK,CAAC;IAC9B,YAAY,GAAY,KAAK,CAAC;;IAG9B,QAAQ,GAAY,KAAK,CAAC;IAC1B,MAAM,GAAY,KAAK,CAAC;IACxB,OAAO,GAAY,KAAK,CAAC;IACzB,MAAM,GAAY,KAAK,CAAC;IACxB,QAAQ,GAAY,KAAK,CAAC;IAC1B,QAAQ,GAAY,KAAK,CAAC;IAC1B,QAAQ,GAAY,KAAK,CAAC;IAC1B,SAAS,GAAY,KAAK,CAAC;IAC3B,UAAU,GAAY,KAAK,CAAC;IAC5B,gBAAgB,GAAY,KAAK,CAAC;IAClC,QAAQ,GAAY,KAAK,CAAC;IAC1B,QAAQ,GAAW,KAAK,CAAC;;IAEzB,cAAc,GAAY,KAAK,CAAC;;IAEhC,gBAAgB,GAAY,KAAK,CAAC;IAClC,YAAY,GAAkB,EAAE,CAAC;IACjC,YAAY,GAAe,EAAE,CAAC;AAC9B,IAAA,QAAQ,CAAS;AACjB,IAAA,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,IAAA,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;AACpB,IAAA,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5B,IAAA,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;AAC9B,IAAA,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;AAC3B,IAAA,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,IAAA,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IACtB,iBAAiB,GAAoB,EAAE,CAAC;IACxC,aAAa,GAAG,EAAE,CAAC;IACnB,YAAY,GAAG,EAAE,CAAC;IAClB,WAAW,GAAU,EAAE,CAAC;IACxB,gBAAgB,GAAU,EAAE,CAAC;IAC7B,YAAY,GAAW,EAAE,CAAC;AAC1B,IAAA,UAAU,CAAM;AAChB,IAAA,oBAAoB,CAAW;IAC/B,iBAAiB,GAAY,KAAK,CAAC;IACnC,iBAAiB,GAAY,KAAK,CAAC;IACnC,IAAI,GAAY,KAAK,CAAC;IACtB,QAAQ,GAAY,IAAI,CAAC;AACzB,IAAA,KAAK,CAAU;AACf,IAAA,GAAG,CAAU;AACb,IAAA,SAAS,CAAS;AAClB,IAAA,WAAW,CAAS;AACpB,IAAA,YAAY,CAAS;AACrB,IAAA,OAAO,CAAS;AAChB,IAAA,KAAK,CAAS;IACd,UAAU,GAAY,KAAK,CAAC;IAC5B,cAAc,GAAY,KAAK,CAAC;IAChC,cAAc,GAAY,KAAK,CAAC;IAChC,OAAO,GAAG,EAAE,CAAC;AACb,IAAA,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,QAAQ,GAAW,CAAC,CAAC;;IAErB,OAAO,GAAQ,EAAE,CAAC;AAClB,IAAA,UAAU,CAAS;AAClB,IAAA,KAAK,GAAS,IAAI,IAAI,EAAE,CAAC;AACzB,IAAA,EAAE,CAAc;AACjB,IAAA,SAAS,CAAM;AACf,IAAA,aAAa,CAAM;AACnB,IAAA,UAAU,CAAM;IAChB,WAAW,GAAE,EAAE,CAAC;AAEhB,IAAA,KAAK,GAAU;QACpB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC;AAEK,IAAA,OAAO,GAAa;QACzB,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CAAC;IAEK,YAAY,GAAW,EAAE,CAAC;IAC1B,cAAc,GAAW,EAAE,CAAC;IAC5B,gBAAgB,GAAW,EAAE,CAAC;IAC9B,SAAS,GAAW,EAAE,CAAC;IACvB,UAAU,GAAW,EAAE,CAAC;AACxB,IAAA,cAAc,CAAW;AACzB,IAAA,QAAQ,CAAS;AACjB,IAAA,iBAAiB,CAAS;AAC1B,IAAA,WAAW,CAAS;AACpB,IAAA,WAAW,CAAS;IACpB,SAAS,GAAS,EAAE,CAAC;AAE5B,IAAA,UAAU,CAAO;;IAGV,YAAY,GAAU,EAAE,CAAC;AACzB,IAAA,aAAa,CAAS;AACtB,IAAA,kBAAkB,CAAS;AAC3B,IAAA,gBAAgB,CAAS;AACzB,IAAA,YAAY,CAAS;AACrB,IAAA,YAAY,CAAS;IACrB,YAAY,GAAU,EAAE,CAAC;IACzB,UAAU,GAAW,EAAE,CAAC;AACxB,IAAA,UAAU,CAAQ;IAClB,MAAM,GAAU,EAAE,CAAC;IACnB,QAAQ,GAAO,EAAE,CAAC;;IAGlB,aAAa,GAAW,IAAI,CAAC;IAC7B,WAAW,GAAW,CAAC,CAAC;IACxB,UAAU,GAAW,CAAC,CAAC;IACvB,OAAO,GAAY,IAAI,CAAC;IACxB,mBAAmB,GAAiB,EAAE,CAAC;AAC9C,IAAA,oBAAoB,CAAU;AAEvB,IAAA,cAAc,GAAG,EAAE,CAAC;AAC3B,IAAA,WAAA,CACU,SAA4B,EAC5B,WAAwB,EACxB,aAA4B,EAC5B,aAA4B,EAC5B,KAAqB,EACrB,SAAuB,EACvB,OAA0B,EAC1B,YAAgC;;IAEhC,aAAoC,EAC5C,EAAc,EACP,WAAwB,EAAA;QAXvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;QAC5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QACvB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAmB;QAC1B,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAoB;QAEhC,IAAa,CAAA,aAAA,GAAb,aAAa,CAAuB;QAErC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;;AAG/B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,0BAA0B,CAAC;KAC/C;;;IAID,aAAa,CAAC,KAAmB,EAAE,IAAS,EAAA;;;AAG1C,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;;AAE3B,YAAA,IAAI,CAAC,QAAQ;gBACX,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YAClE,IAAG,IAAI,CAAC,YAAY,CAAC,IAAI,IAAG,MAAM,EAAC;gBACjC,IAAI,CAAC,UAAU,GAAI,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aACpF;SACF;aAAM;;YAEL,IAAG,IAAI,CAAC,YAAY,CAAC,IAAI,IAAG,MAAM,EAAC;gBACjC,IAAI,CAAC,UAAU,GAAI,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aACpF;AACD,YAAA,IAAI,CAAC,QAAQ;gBACX,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACnE;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACnE,WAAW;aACR,IAAI,CAAC,CAAC,CAAC;AACP,aAAA,YAAY,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC9C,QAAA,IACE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AACpB,YAAA,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;AACtB,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EACrB;YACA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;SAC7C;;;;AAID,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC5B;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAc,KAAI;AAClD,YAAA,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE;AAChB,gBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;aAClC;AAAK,iBAAA,IAAG,MAAM,CAAC,WAAW,CAAC,EAAC;AAC3B,gBAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACnC;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE,CAAC;;AAEjB,QAAA,IAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,EAAC;AACjC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;;AAEhE,YAAA,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;gBACvD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,EAAC;AAC3C,oBAAA,OAAO,IAAI,CAAC;iBACb;AACH,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAS,CAAC,EAAE,CAAC,EAAA;AAChC,gBAAA,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAA;AAC9B,aAAC,CAAC,CAAC;SACJ;aAAM,IAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,EAAC;YACnC,IAAI,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9C,YAAA,WAAW,CAAC,SAAS,GAAG,CAAC,KAAK,KAAI;AAChC,gBAAA,MAAM,SAAS,GAAG,KAAK,CAAC,MAAoB,CAAC;AAC7C,gBAAA,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;AAC7B,gBAAA,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC;qBAC7C,WAAW,CAAC,cAAc,CAAC;qBAC3B,GAAG,CAAC,CAAC,CAAC,CAAC;AACd,gBAAA,UAAU,CAAC,SAAS,GAAG,MAAI;AACvB,oBAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;oBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC3D,oBAAA,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;wBACvD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,EAAC;AAC3C,4BAAA,OAAO,IAAI,CAAC;yBACb;AACH,qBAAC,CAAC,CAAC;oBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAS,CAAC,EAAE,CAAC,EAAA;AAChC,wBAAA,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAA;AAC9B,qBAAC,CAAC,CAAC;AACT,iBAAC,CAAA;AACH,aAAC,CAAC;SACH;KACF;;AAED,IAAA,WAAW,CAAC,aAA4B,EAAA;AACtC,QAAA,IAAG,aAAa,CAAC,MAAM,CAAC,EAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;SAClB;KACF;;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAClE,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KACvE;IAED,GAAG,GAAA;QACD,IAAI,CAAC,mBAAmB,GAAG;AACzB,YAAA,UAAU,EAAE,YAAY;AACxB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,iBAAiB,EAAE,EAAE;AACrB,YAAA,gBAAgB,EAAE,KAAK;AACvB,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,GAAG,EAAE,CAAC;AACP,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,GAAG,EAAE,CAAC;AACP,aAAA;AACD,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,EAAE,EAAE,KAAK;AACV,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,CAAC,EAAE,KAAK;AACR,gBAAA,CAAC,EAAE,KAAK;AACR,gBAAA,CAAC,EAAE,KAAK;AACR,gBAAA,CAAC,EAAE,KAAK;AACR,gBAAA,CAAC,EAAE,MAAM;AACT,gBAAA,CAAC,EAAE,KAAK;AACR,gBAAA,CAAC,EAAE,KAAK;AACR,gBAAA,CAAC,EAAE,KAAK;AACR,gBAAA,CAAC,EAAE,KAAK;AACR,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,EAAE,EAAE,KAAK;AACV,aAAA;SACF,CAAC;KACH;IAED,MAAM,GAAA;QACJ,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACnE,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACvD,WAAW;iBACR,IAAI,CAAC,CAAC,CAAC;AACP,iBAAA,YAAY,CAAC,OAAO,EAAE,kCAAkC,CAAC,CAAC;SAC9D;aAAM;YACL,WAAW;iBACR,IAAI,CAAC,CAAC,CAAC;AACP,iBAAA,YAAY,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;SACnE;KACF;IAED,SAAS,GAAA;AAEP,QAAA,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;;AAEzB,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAEvB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE;AAC1B,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC;iBAAM;;;AAGL,gBAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;AAC/B,gBAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;SACF;KACF;AAED,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,QAAQ,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;KACvD;IAED,aAAa,CAAC,GAAW,EAAE,KAAa,EAAA;QACtC,OAAO,KAAK,KAAK,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC;KACnC;;;AAGD,IAAA,eAAe,CAAC,KAAa,EAAA;AAC3B,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE;AACpC,YAAA,IAAI,KAAK,IAAI,IAAI,EAAE;gBACjB,OAAO;aACR;AACD,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;;;AAIzB,YAAA,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC5C,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEpD,YAAA,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;AAC3C,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;aAC7B;YACD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE;AACpC,gBAAA,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;AAC5C,gBAAA,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE;AAC/C,oBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;iBACzB;aACF;AACD,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;KACF;IAED,eAAe,GAAA;;QAEd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;IAED,UAAU,GAAA;;AAER,QAAA,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE;YACnC,OAAO;SACR;QACD,IAAI,WAAW,GAAC,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,SAAS,GAAa,IAAI,QAAQ,EAAE,CAAC;AACzC,QAAA,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;;AAE9B,QAAA,IAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;;AAE/B,YAAA,KAAK,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,EAAC,CAAC,EAAE,EAAE;gBACzD,IAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAC;oBAChD,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;iBAC3F;qBAAI;oBACH,YAAY,GAAG,WAAW,CAAC;iBAC5B;AACD,gBAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,GAAG,KAAK,EAAE,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC5B;SACJ;aAAM;AACL,YAAA,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC1E,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YACtC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,GAAG,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B;AAEI,QAAA,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;;AAE9B,QAAA,IAAI,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC;QACvC,IAAI,UAAU,GACZ,+EAA+E,CAAC;;AAGlF,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;;AAEnB,YAAA,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC/D,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC;AACrC,gBAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC;aACjC;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnD;AAAM,aAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACzB,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;gBACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;aAChD;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC7C,OAAO;aACR;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAChC,IAAI,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/D,IAAI,gBAAgB,EAAE;AACpB,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC/C,OAAO;aACR;AACD,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;AAAM,aAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AAC1B,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;aAChD;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC7C,OAAO;aACR;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;gBAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;AAEd,gBAAA,IAAG,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;;oBAE7C,IAAI,CAAC,MAAM,EAAE,CAAC;AACZ,oBAAA,IAAG,IAAI,CAAC,IAAI,IAAI,MAAM,EAAC;;AAErB,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;;;qBAIjC;AACF,oBAAA,IAAG,IAAI,CAAC,IAAI,IAAI,MAAM,EAAC;;wBAGxB,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,KAAK,EAAE;4BACtC,IAAI,CAAC,YAAY,CAAC,KAAK;gCACrB,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;sCACxD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;AAChC,sCAAE,IAAI,CAAC,YAAY;oCACrB,GAAG;AACH,oCAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC9B,4BAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;AAChE,gCAAA,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;6BACpE;AACD,4BAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;AAC3B,gCAAA,IAAG,IAAI,CAAC,UAAU,EAAC;AACjB,oCAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAC,GAAG,GAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;iCAC7D;qCAAI;oCACH,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;iCAC7C;6BACF;iCAAM;AACL,gCAAA,IAAG,IAAI,CAAC,UAAU,EAAC;AACjB,oCAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAC,GAAG,GAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;iCAC7D;qCAAI;oCACH,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;iCAC7C;6BAEF;yBACF;wBACD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE;4BACvC,IAAI,CAAC,YAAY,CAAC,KAAK;gCACrB,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;AAChD,4BAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;gCAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;6BACzC;iCAAM;gCACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;6BACzC;yBACF;qBACF;;oBAED,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;;wBAE7F,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;wBAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;wBACnE,WAAW;6BACR,IAAI,CAAC,CAAC,CAAC;AACP,6BAAA,YAAY,CAAC,OAAO,EAAE,qDAAqD,CAAC,CAAC;wBAChF,OAAO;qBACR;oBACD,IAAI,CAAC,YAAY,EAAE,CAAC;iBACvB;;AAED,gBAAA,IAAG,IAAI,CAAC,IAAI,IAAG,MAAM,EAAC;AACpB,oBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,wBAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,wBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;wBAChC,eAAe,GAAG,IAAI,CAAC;qBACxB;;iBAEF;gBAEC,IACE,CAAC,IAAI,CAAC,UAAU;;;AAGjB,qBAAC,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,EACpD;AACA,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;oBAChC,eAAe,GAAG,IAAI,CAAC;iBACxB;AACD,gBAAA,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE;AACxB,oBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,wBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;wBAChC,eAAe,GAAG,IAAI,CAAC;qBACxB;iBACF;AACD,gBAAA,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE;AAC3B,oBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,wBAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,wBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;wBAChC,eAAe,GAAG,IAAI,CAAC;qBACxB;iBACF;AACD,gBAAA,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE;AACxB,oBAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AAC9C,wBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;qBACxC;yBAAM;AACL,wBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;wBAChC,eAAe,GAAG,IAAI,CAAC;qBACxB;iBACF;AACD,gBAAA,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACtD,oBAAA,KAAK,IAAI,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE;AAC3C,wBAAA,IAAI,CAAC,QAAQ;AACX,4BAAA,cAAc,CAAC,YAAY;gCAC3B,KAAK;AACL,gCAAA,cAAc,CAAC,cAAc;AAC7B,gCAAA,GAAG,CAAC;wBACN,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC/B,4BAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;;yBAExC;qBACF;;AAEH,iBAAC;gBAED,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,QAAQ,CAAC;AACxE,gBAAA,WAAW,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;;aAEzC;YACD,IAAI,eAAe,EAAE;gBACnB,OAAO;aACR;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClD,YAAA,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;SAC3E;AACI,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,eAAe,GAAG,KAAK,CAAC;AAC5B,YAAA,IAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC;AAC7C,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC3B,gBAAA,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;AAC/D,oBAAA,IAAG,CAAC,SAAS,CAAC,KAAK,EAAE;AACnB,wBAAA,SAAS,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;wBACrC,eAAe,GAAG,IAAI,CAAC;qBACxB;AACH,oBAAA,IAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC;;AAEnC,wBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC;qBAClD;yBAAM;;wBAEL,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAC,SAAS,CAAC,KAAK,CAAC,CAAC;qBAC9F;iBACF;gBAED,IAAI,eAAe,EAAE;;oBAEnB,OAAO;iBACR;gBACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAI;;;AAGpC,oBAAA,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,SAAS,GAAG,KAAK,GAAG,EAAE,IAAI,QAAQ,CAAC;AAChE,iBAAC,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACnD;SACF;AACI,aAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;AAC7B,gBAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;aAC9C;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;;YAExD,IAAI,CAAC,MAAM,EAAE,CAAC;AACd,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AAChE,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACpE,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;;gBAGxE,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,KAAK,EAAE;oBACxC,IAAI,CAAC,YAAY,CAAC,KAAK;wBACrB,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;8BACxD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;AAChC,8BAAE,IAAI,CAAC,YAAY;4BACrB,GAAG;AACH,4BAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC9B,oBAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;AAChE,wBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;qBACpE;AACD,oBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;AAC3B,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;qBAC/D;yBAAM;AACL,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;qBAC/D;iBACF;gBACD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE;oBACvC,IAAI,CAAC,YAAY,CAAC,KAAK;wBACrB,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;AAChD,oBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;AAC3B,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;qBAC/D;yBAAM;AACL,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;qBAC/D;iBACF;AACD,gBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;;oBAE3B,IAAI,KAAK,GAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1C,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC5B,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjD,oBAAA,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;;oBAExB,IAAI,KAAK,GAAQ,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpD,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;;AAE3B,oBAAA,IAAI,KAAK,GAAG,KAAK,EAAE;wBACjB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7C,wBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ;AAC9B,4BAAA,kIAAkI,CAAC;;wBAErI,OAAO;qBACR;iBACF;gBACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC3C,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC7C,OAAO;iBACR;gBACD,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzD,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,KAAK,EAAE;AACxC,gBAAA,IAAI,CAAC,QAAQ;oBACX,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;0BACxD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;AAChC,0BAAE,IAAI,CAAC,YAAY;wBACrB,GAAG;wBACH,IAAI,CAAC,cAAc,CAAC;aACvB;iBAAM;AACL,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;aAC/D;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC7C,OAAO;aACR;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACzD,IAAI,CAAC,MAAM,EAAE,CAAC;AACd,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;gBACrD,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC7C,OAAO;aACR;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;;AAExB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,gBAAA,KAAK,IAAI,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE;AAC3C,oBAAA,IAAI,CAAC,QAAQ;AACX,wBAAA,cAAc,CAAC,YAAY;4BAC3B,KAAK;AACL,4BAAA,cAAc,CAAC,cAAc;AAC7B,4BAAA,GAAG,CAAC;iBACP;;AAED,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aACnE;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC7C,OAAO;aACR;SACF;;AAGD,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;;YAEnD,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;;;YAG7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;YAC7B,OAAO;SACR;;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;AACtC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC;;AAE3B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;YAClC,IAAI,UAAU,GAAG,EAAE,CAAC;AACpB,YAAA,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,EAAE,CAAC;AAC/B,YAAA,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,EAAE,IAAI,CAAC;AACnC,YAAA,UAAU,CAAC,gBAAgB,CAAC,GAAG,OAAO,EAAE,cAAc,CAAC;AACvD,YAAA,UAAU,CAAC,cAAc,CAAC,GAAG,OAAO,EAAE,YAAY,CAAC;AACnD,YAAA,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC;AACrC,YAAA,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AAC1E,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAG,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,cAAc,EAAC;YACvC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,GAAE,IAAI,CAAC,QAAQ,CAAC;;;SAGhD;AACD;;;;AAIC;;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;;QAExC,IAAI,WAAW,GAAG,EAAE,CAAA;AACpB,QAAA,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;AAClD,QAAA,WAAW,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAC9C,QAAA,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtC,QAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC/B,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC,QAAQ,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;KACnB;;IAED,IAAI,GAAA;AACF,QAAA,IAAI,SAAS,GAAa,IAAI,QAAQ,EAAE,CAAC;AACzC,QAAA,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;AAC9B,QAAA,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC;;AAEzB,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC3B,OAAO;SACR;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;;;;QAKtC,IAAI,SAAS,EAAE,UAAU,EAAE,IAAI,IAAI,aAAa,EAAE;AAChD,YAAA,KAAK,IAAI,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE;;;gBAGlC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;;AAE/B,oBAAA,IAAG,IAAI,CAAC,YAAY,EAAC;AACnB,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;qBACnC;yBAAK;AACJ,wBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;qBACxC;;iBAEF;aACF;;YAED,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,MAAM,EAAE;AAClC,gBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;aACxC;SACF;aAAM,IAAI,SAAS,EAAE,UAAU,EAAE,IAAI,IAAI,YAAY,EAAE;;AAEtD,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;SACxC;aAAM,IAAI,SAAS,EAAE,UAAU,EAAE,IAAI,IAAI,eAAe,EAAE;;;;AAIzD,YAAA,IAAI,SAAS,CAAC,IAAI,IAAI,MAAM,IAAI,SAAS,CAAC,cAAc,IAAG,GAAG,EAAE;;AAE9D,gBAAA,KAAK,IAAI,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE;;AAEtC,oBAAA,IAAI,GAAG,CAAC,IAAI,IAAI,UAAU,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE;AACjD,wBAAA,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE;4BAC9B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE;gCAC9B,IAAI,CAAC,QAAQ,GAAE,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC;6BAC5D;iCAAM;;AAEL,gCAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;6BAExC;yBACF;qBACF;yBAAM;AACL,wBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;qBACxC;iBACF;aACF;AACI,iBAAA,IAAG,SAAS,CAAC,IAAI,IAAI,MAAM,IAAI,SAAS,CAAC,cAAc,IAAG,GAAG,EAAG;AACnE,gBAAA,KAAK,IAAI,GAAG,IAAI,SAAS,CAAC,YAAY,EAAE;AACtC,oBAAA,IAAI,GAAG,CAAC,IAAI,IAAI,UAAU,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,EAAC;AAClD,wBAAA,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE;4BAC5B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE;AAClC,gCAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;6BACjC;yBACF;qBACF;iBACA;aACF;iBAEI;AACH,gBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;aACxC;SACF;;aAEG;AACF,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;SACxC;;;;QAMD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;;;AAMtB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjC,YAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;SACjB;aAAM;AACL,YAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;;;YAGjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;;AAE9B,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;AACtC,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AAEvB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;;AAGzB,YAAA,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;;gBAEhC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,OAAO,EAAE;;oBAEX,IAAG,OAAO,CAAC,IAAI,IAAI,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,MAAM,IAAE,OAAO,CAAC,IAAI,IAAI,MAAM,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,EAAC;wBACxG,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,wBAAA,KAAK,IAAI,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;4BACnD,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;;;;;AAK1C,gCAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACtB,oCAAA,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;wCACtB,MAAM,GAAG,OAAO,CAAC;qCAClB;yCAAM;AACL,wCAAA,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC;wCACzB,IAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAC;AACzC,4CAAA,KAAI,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAC;gDACrD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,EAAE,CAAC,CAAC;6CAC9C;yCACF;AACD,wCAAA,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,EAAC,IAAI,CAAC,CAAC;wCACzD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;qCACjJ;iCACF;6BACF;yBACF;AACD,wBAAA,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;AAC1B,wBAAA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;qBACvC;;oBAEC,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;oBAClF,IAAI,eAAe,EAAE;;AAEnB,wBAAA,eAAe,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC5C,wBAAA,eAAe,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;qBACvC;yBAAM;;AAEL,wBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC5B;AACD,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;aACF;SACF;KACF;AAED,IAAA,OAAO,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;;AAE9D,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAC3C,GAAG,CAAC,eAAe,CAAC,WAAW,CAChC,CAAC;KACH;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAClD,QAAA,IAAI,SAAS,GAAa,IAAI,QAAQ,EAAE,CAAC;AACzC,QAAA,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC;AAC9B,QAAA,IAAG,SAAS,CAAC,cAAc,IAAG,GAAG,EAAC;YAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACzC;QAGD,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;;;AAItB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;;AAEhB,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SACnB;AACD,QAAA,IAAG,IAAI,CAAC,WAAW,EAAC;AAClB,YAAA,IAAI,CAAC,WAAW,GAAE,EAAE,CAAC;SACtB;;;;QAKD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;;KAE7C;IAED,kBAAkB,GAAA;QAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACzC;;AAIO,IAAA,gBAAgB,GAAG,CAAC,IAAY,KAAI;AAC1C,QAAA,IAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;;;;;;;AAOrB,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;;AAE/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CACvG,CAAC,IAAI,KAAG;AACN,gBAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACpC,gBAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AACxC,aAAC,EAAC,CAAC,KAAK,KAAI;AACV,gBAAA,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACzD,aAAC,CACA,CAAA;SACF;aAAM;;;AAGL,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,YAAA,IAAI,IAAI,GAAG;AACT,gBAAA,QAAQ,EAAE,YAAY;AACtB,gBAAA,SAAS,EAAE,QAAQ;AACnB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnC,gBAAA,YAAY,EAAG,EAAE;aAClB,CAAA;;YAED,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,2BAA2B,EAC3B,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACtB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,CACrB,CAAC;SACH;AACH,KAAC,CAAA;AAEO,IAAA,eAAe,GAAG,CAAC,QAAQ,KAAI;AACrC,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,IAAG,IAAI,EAAC;AACN,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;AACjC,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SACpC;AACH,KAAC,CAAC;;AAGF,IAAA,aAAa,CAAC,UAAU,EAAA;AACtB,QAAA,IAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAC;YACpB,IAAG,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,WAAW,EAAC;AAChD,gBAAA,MAAM,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC;AAChC,gBAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;;AAE/C,gBAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1B,gBAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,gBAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,EAAC,QAAQ,EAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAC5G,CAAC,IAAI,KAAG;AACN,oBAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAClB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AACxC,iBAAC,EAAC,CAAC,KAAK,KAAI;AACV,oBAAA,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACzD,iBAAC,CACA,CAAA;aACF;SACF;KACF;;AAEO,IAAA,eAAe,GAAG,CAAC,QAAQ,KAAI;AACrC,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtB,QAAA,IAAG,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAC;AAC7B,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAChC;aAAK;YACL,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;SACzC;AACJ,KAAC,CAAA;AAEO,IAAA,eAAe,GAAG,CAAC,QAAQ,KAAI;;AAEvC,KAAC,CAAC;AAEM,IAAA,gBAAgB,GAAG,CAAC,IAAY,KAAI;AAC1C,QAAA,IAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;;;;;;;;YAQrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;;AAE9C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,cAAc,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CACvG,CAAC,IAAI,KAAG;;;;AAIN,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,gBAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;gBAElB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AACxC,aAAC,EAAC,CAAC,KAAK,KAAI;AACV,gBAAA,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACzD,aAAC,CACA,CAAA;SACF;aAAM;;AAEL,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;;;AAG9C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,YAAA,IAAI,KAAK,GAAG;AACX,gBAAA,QAAQ,EAAE,cAAc;AACxB,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnC,gBAAA,YAAY,EAAG,EAAE;aAClB,CAAA;;;YAGA,IAAI,CAAC,SAAS,CAAC,YAAY;;AAEzB,YAAA,2BAA2B,EAC3B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACvB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,CACrB,CAAC;SACH;AACH,KAAC,CAAA;AACO,IAAA,eAAe,GAAG,CAAC,QAAQ,KAAI;AACrC,QAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC1C,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAG,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,SAAS,EAAC;AAC3C,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;AACpC,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;AAClC,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAEhC;;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE;AACpC,YAAA,IACE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI;gBAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAC/B;gBACA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;aAC9C;iBAAM;;gBAEL,IAAI,cAAc,GAAG,EAAE,CAAC;gBAExB,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACzC,oBAAA,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC;oBAElC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAE1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;wBACnC,SAAS,EAAE,SAAS,CAAC,SAAS;wBAC9B,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;wBACxB,IAAI,EAAE,SAAS,CAAC,IAAI;wBACpB,SAAS,EAAC,SAAS,CAAC,SAAS;AAC9B,qBAAA,CAAC,CAAC;;AAGH,oBAAA,IAAI,SAAS,CAAC,IAAI,IAAI,MAAM,EAAE;wBAC5B,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;;;wBAI7C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;AACxC,4BAAA,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;AACjD,yBAAA,CAAC,CAAC;;qBAEJ;AAAM,yBAAA,IAAI,SAAS,CAAC,IAAI,IAAI,MAAM,EAAE;;AAEnC,wBAAA,IAAI,OAAO,CAAC;AACZ,wBAAA,IAAI,GAAG,CAAC;AACR,wBAAA,KAAK,IAAI,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;4BAChD,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACvC,4BAAA,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAClC,4BAAA,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAChC,4BAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACnB;wBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;qBAEpD;iBACF;AAED,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;;;AAGzB,gBAAA,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;aACnC;SACF;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,WAAW,EAAE;AAC7C,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;AAEpC,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,YAAA,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;AAC5B,YAAA,IAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAC;;gBAEpB,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;oBACtC,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,oBAAA,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE;wBACzB,IAAI,KAAK,GAAG,EAAE,CAAC;wBACf,IAAI,MAAM,GAAG,CAAC,CAAC;wBACf,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1C,wBAAA,KAAK,IAAI,UAAU,IAAI,QAAQ,EAAE;4BAC/B,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvC,4BAAA,IAAI,MAAM,IAAI,CAAC,EAAE;AACf,gCAAA,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;6BACrB;iCAAM;gCACL,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;6BACpC;AACD,4BAAA,MAAM,EAAE,CAAC;yBACV;AAED,wBAAA,OAAO,GAAG;4BACR,SAAS,EAAC,MAAM,CAAC,SAAS;4BAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;AAC3B,4BAAA,QAAQ,EAAE,KAAK;yBAChB,CAAC;;qBAEH;AAAM,yBAAA,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,EAAE;AAChC;;;;;;;;;;;;;;AAcI;wBACJ,IAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAC;4BACpC,IAAI,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;;AAEnD,4BAAA,OAAO,GAAG;;gCAET,SAAS,EAAE,MAAM,CAAC,SAAS;AAC3B,gCAAA,QAAQ,EAAE,YAAY;6BACvB,CAAC;;;yBAGD;6BACE;AACF,4BAAA,OAAO,GAAG;;gCAER,SAAS,EAAE,MAAM,CAAC,SAAS;gCAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;6BAC1B,CAAC;;yBAEH;qBACF;yBAAM;;AAEL,wBAAA,OAAO,GAAG;;4BAER,SAAS,EAAE,MAAM,CAAC,SAAS;4BAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;yBAC1B,CAAC;;qBAEH;iBACF;aACF;SAEF;AACH,KAAC,CAAC;AAEM,IAAA,eAAe,GAAG,CAAC,QAAQ,KAAI;AACrC,QAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC1C,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxB,KAAC,CAAC;AAEM,IAAA,cAAc,GAAG,CAAC,IAAY,KAAI;AACxC,QAAA,IAAG,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,UAAU,CACzB,IAAI,CAAC,GAAG,EACR,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAC5B,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,qBAAqB,CAC3B,CAAC;SACH;aAAM;;AAEL,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;;AAE9B,YAAA,IAAI,KAAK,GAAG;AACX,gBAAA,QAAQ,EAAE,YAAY;AACtB,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnC,gBAAA,YAAY,EAAG,EAAE;aAClB,CAAA;;YAEA,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,2BAA2B,EAC3B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACvB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,qBAAqB,CAC3B,CAAC;SACH;AACH,KAAC,CAAA;AAGO,IAAA,qBAAqB,GAAG,CAAC,QAAQ,KAAI;QAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,WAAW,EAAE;YACtC,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACtC,IAAI,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACzC,gBAAA,IAAI,OAAO,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAC,MAAM,CAAC,SAAS,EAAE,CAAC;;AAExF,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC5B;AACD,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACzC;AACH,KAAC,CAAC;AAEM,IAAA,qBAAqB,GAAG,CAAC,QAAQ,KAAI;;;AAG7C,KAAC,CAAC;AAEM,IAAA,YAAY,GAAG,CAAC,IAAY,KAAI;AACtC,QAAA,IAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;;;;;;;;AAQrB,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;;AAE9C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CACjG,CAAC,IAAI,KAAG;;gBAEN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;AAEpC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,gBAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACrC,gBAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AACpC,aAAC,EAAC,CAAC,KAAK,KAAI;;gBAEV,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,gBAAA,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACzD,aAAC,CACA,CAAA;SACJ;aAAM;;;AAGL,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAC5B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;;AAE9B,YAAA,IAAI,KAAK,GAAG;AACX,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnC,gBAAA,YAAY,EAAG,EAAE;aAClB,CAAA;YACA,IAAI,CAAC,SAAS,CAAC,YAAY;;AAEzB,YAAA,2BAA2B,EAC3B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACvB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CACjB,CAAC;SACH;AACH,KAAC,CAAA;AAEO,IAAA,WAAW,GAAG,CAAC,QAAQ,KAAI;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;AAEpC,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC7B,QAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACtC,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;;;;;;;;AAStB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,aAAa,EAAE,CAAC;AACtC,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACxC;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC;;QAGtC,IAAG,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,cAAc,EAAC;AAC3C,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;;AAEnD,QAAA,IAAI,QAAQ,CAAC,SAAS,EAAE;;YAEtB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;;gBAE5C,IAAI,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,EAAE,EAAE;;AAEN,oBAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;AACd,wBAAA,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;qBACxB;iBACF;aACF;SACF;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CACrD,IAAI,CAAC,YAAY,CAAC,qBAAqB,CACxC,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;AACjB,KAAC,CAAC;IAEF,OAAO,GAAA;AACL,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;;KAE7C;AAEO,IAAA,WAAW,GAAG,CAAC,QAAQ,KAAI;;;AAGnC,KAAC,CAAC;IAEM,UAAU,GAAG,MAAK;;AAExB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,GAAG,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AAE1D,QAAA,IAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;;;;;;;AAOrB,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;;AAE/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,EAAC,QAAQ,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAC9H,CAAC,IAAI,KAAG;AACN,gBAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACrC,gBAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AACpC,aAAC,EAAC,CAAC,KAAK,KAAI;AACV,gBAAA,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACzD,aAAC,CACA,CAAA;SACF;aAAM;;AAEL,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;;AAE9B,YAAA,IAAI,KAAK,GAAG;AACX,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;AACvC,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnC,gBAAA,YAAY,EAAG,EAAE;aAClB,CAAA;;YAEA,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,2BAA2B,EAC3B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACvB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,CACjB,CAAC;SACH;AACH,KAAC,CAAC;AAEF,IAAA,UAAU,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC9D,QAAA,OAAO,GAAG,CAAC,eAAe,CAAC,WAAW,CAAC;KACxC;AAEO,IAAA,WAAW,GAAG,CAAC,QAAQ,KAAI;AACjC,QAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE;;AAEhC,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC7D;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAC7C,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;SAC5D;AACD,QAAA,IAAG,CAAC,IAAI,CAAC,cAAc,EAAC;YACtB,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;AACH,KAAC,CAAC;AAEM,IAAA,WAAW,GAAG,CAAC,QAAQ,KAAI;;;AAGnC,KAAC,CAAC;IAEM,eAAe,GAAG,MAAK;;;;;AAK7B,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;;;;QAMhB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE;AACpC,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAChD;AACD,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;aACzB;YAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AAC1C,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;SAChD;QAED,IAAI,CAAC,mBAAmB,CAAC;QACzB,IAAI,CAAC,GAAG,EAAE,CAAC;;;QAIX,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;;;AAIrC,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;;AAE5C,YAAA,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;;AAEvD,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;;AAEjC,YAAA,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;AACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aAClE;SACF;aAAM;;AAEL,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;SACvB;;AAED,QAAA,IAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC;;AAEtE,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;AAC5B,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAC,EAAE,CAAC,CAAC;SAChD;AAED,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;;YAErB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SAC5C;AAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;;;;YAIxB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;AAC/C,gBAAA,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACtE,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;SACtD;AAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;;;;;AAKxB,YAAA,IAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAC;gBAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;aACtD;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,MAAM,EAAE;;AAEtB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACzB,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;;AAElB,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aACvD;AACD,YAAA,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;AAClD,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aACpE;AACD,YAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;AACpD,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;aACxE;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,IAAI,EAAE;AACvC,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL,CAAC;aACH;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,KAAK,KAAK,EAAE;AACxC,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aACtC;YACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAChC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtC,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACzB,gBAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAE1B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aACrC;AACD,YAAA,IACE,IAAI,CAAC,YAAY,CAAC,cAAc;AAChC,gBAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAC/B;gBACA,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,KAAK,IAAI,EAAE;AAC7C,oBAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG;AACtC,wBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;wBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;wBAChC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC;qBAC9B,CAAC;iBACH;gBACD,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,KAAK,IAAI,EAAE;AAC5C,oBAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG;AACtC,wBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;wBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;AAChC,wBAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;qBAC1B,CAAC;iBACH;aACF;SACF;AAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;;AAEd,YAAA,IAAI,CAAC,oBAAoB;gBACzB,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;;SAErD;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;AACH,KAAC,CAAC;AAEF,IAAA,OAAO,CAAC,GAAG,EAAA;;QAGT,IAAI,GAAG,EAAE;;AAEP,YAAA,IAAI,GAAG,IAAI,MAAM,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;;aAGtB;AAAM,iBAAA,IAAI,GAAG,IAAI,QAAQ,EAAE;AAC1B,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;AAAM,iBAAA,IAAI,GAAG,IAAI,cAAc,EAAE;AAChC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B;;AAEG;aACJ;AAAM,iBAAA,IAAI,GAAG,IAAI,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACvB;AAAM,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAE;AACxB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;AAAM,iBAAA,IAAI,GAAG,IAAI,UAAU,EAAE;AAC5B,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;AAAM,iBAAA,IAAI,GAAG,IAAI,UAAU,EAAE;AAC5B,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;AAAM,iBAAA,IAAI,GAAG,IAAI,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;aACtB;;;;AAIG,iBAAA,IAAI,GAAG,IAAI,UAAU,EAAE;AAC1B,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;AAAM,iBAAA,IAAI,GAAG,IAAI,UAAU,EAAE;AAC5B,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;AAAM,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAE;AACxB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;AAAK,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAC;AACtB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aACtB;AAAM,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAE;;AAExB,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;;aAEtB;AAAM,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAE;;AAExB,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;;aAEtB;SACF;KACF;AAED,IAAA,SAAS,CAAC,GAAG,EAAA;QACX,IAAI,GAAG,EAAE;;AAEP,YAAA,IAAI,GAAG,IAAI,MAAM,EAAE;AACjB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;;aAEvB;AAAM,iBAAA,IAAI,GAAG,IAAI,QAAQ,EAAE;AAC1B,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;AAAM,iBAAA,IAAI,GAAG,IAAI,cAAc,EAAE;AAChC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;AAAM,iBAAA,IAAI,GAAG,IAAI,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;AAAM,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAE;AACxB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACtB;;;;AAIG,iBAAA,IAAI,GAAG,IAAI,UAAU,EAAE;AAC1B,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;AAAM,iBAAA,IAAI,GAAG,IAAI,UAAU,EAAE;AAC5B,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;aACrB;AAAM,iBAAA,IAAI,GAAG,IAAI,OAAO,EAAE;AACzB,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;AAAM,iBAAA,IAAI,GAAG,IAAI,UAAU,EAAE;AAC5B,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;AAAM,iBAAA,IAAI,GAAG,IAAI,UAAU,EAAE;AAC5B,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC3B;AAAM,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAE;AACxB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;AAAM,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAC;AACvB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;AAAM,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAE;AACxB,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;AAAM,iBAAA,IAAI,GAAG,IAAI,MAAM,EAAE;AACxB,gBAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;aACvB;SACF;KACF;AAED,IAAA,UAAU,CAAC,OAAO,EAAA;AAChB,QAAA,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;AACvB,YAAA,IAAI,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;AAC3B,YAAA,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;AACf,YAAA,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;AACnB,YAAA,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;AACrB,YAAA,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;AACnC,YAAA,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;YAEnB,IACE,IAAI,CAAC,QAAQ;AACb,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EACjD;AACA,gBAAA,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC;aACnB;AAED,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5B;KACF;;IAGD,iBAAiB,CAAC,KAAK,EAAE,IAAS,EAAA;AAChC,QAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AACzC,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;;AAEzC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,QAAQ,CAAC;;KAE9B;;;AAID,IAAA,oBAAoB,CAAC,KAAa,EAAA;;;AAG/B,QAAA,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;KACpD;AAEA,IAAA,eAAe,CAAC,OAAO,EAAA;;;AAGrB,QAAA,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;;AAEtB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,MAAM,GAAG,CAAC,CAAC;;AAEf,YAAA,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG;;;gBAGtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAE;AAC1C,gBAAA,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAChD,oBAAA,MAAM,EAAE,CAAC;AACT,oBAAA,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;iBAE3B;aACF;iBAAM;AACL,gBAAA,KAAK,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAC5C,oBAAA,MAAM,EAAE,CAAC;AACT,oBAAA,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;iBAE3B;aACF;SACF;;;AAID,QAAA,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;AACvB,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC;;aAE9C;YAED,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;gBAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;;;gBAG5C,IAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC;;;oBAGlC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAC,CAAC,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;;oBAE7E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;;iBAEnE;aACF;AAEH,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,MAAM,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE;;AAEzE,gBAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;;AAEhC,oBAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG;AACtC,wBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;wBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;wBAChC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC;qBAC9B,CAAC;iBACH;AACD,gBAAA,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;;AAE/B,oBAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG;AACtC,wBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;wBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;AAChC,wBAAA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;qBAC1B,CAAC;iBACH;;aAEF;AAED,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,YAAA,KAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;;gBAE1C,IAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAC;oBAChC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC;iBAC1C;qBAAI;oBACH,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,KAAK,CAAC;iBAC3C;aACF;AACD,YAAA,IAAG,GAAG,IAAI,EAAE,EAAC;AACX,gBAAA,KAAI,IAAI,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAE;AAClC,oBAAA,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;AACxB,oBAAA,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;AACvB,oBAAA,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;AACd,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC5B;aACF;SACF;AACD,QAAA,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACzD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;SAElD;AACD,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;;QAElC,IAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAC;AAChC,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;AAClC,gBAAA,KAAI,IAAI,WAAW,IAAI,IAAI,CAAC,cAAc,EAAC;oBACzC,IAAG,OAAO,CAAC,EAAE,IAAI,WAAW,CAAC,EAAE,EAAC;AAC9B,wBAAA,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;qBACnC;iBACF;AACH,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,YAAY,CAAC,QAAQ,EAAA;QACnB,IAAI,eAAe,GAAW,EAAE,CAAC;QACjC,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;;AAEzC,YAAA,IAAI,GAAG,CAAC,KAAK,IAAI,QAAQ,EAAE;;AAEzB,gBAAA,eAAe,GAAG,GAAG,CAAC,UAAU,CAAC;aAClC;SACF;AAED,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;;AAGlB,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC1B;IAED,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC;SAChC;KACF;AAED,IAAA,sBAAsB,CAAC,MAAM,EAAA;AAC3B,QAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;KACrB;AAED,IAAA,aAAa,CAAC,CAAC,EAAA;QACb,IAAI,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC;;AAEnC,QAAA,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC;AAChD,QAAA,IAAI,SAAS,GAAG,EAAE,KAAK,SAAS,GAAG,EAAE,IAAI,SAAS,GAAG,EAAE,CAAC,EAAC;AACvD,YAAA,OAAO,KAAK,CAAC;SACd;aAAI;AACH,YAAA,OAAO,IAAI,CAAC;SACb;KACF;AAED,IAAA,UAAU,CAAC,QAAgB,EAAA;AAEvB,QAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;AACxB,YAAA,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;SACtB;AACI,aAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;AAC7B,YAAA,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;SACtB;AACI,aAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE;AAC9B,YAAA,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;SACtB;AACI,aAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE;AAC9B,YAAA,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;SACtB;AACI,aAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE;AAC9B,YAAA,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;SACtB;KAEJ;AAED,IAAA,mBAAmB,CAAC,CAAS,EAAA;QAC3B,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC1B,QAAA,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,aAAa,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE;AAClB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjC,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;;iBAE3C;AAAM,qBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;;iBAE9C;qBAAM;oBACL,aAAa,GAAG,IAAI,CAAC;;iBAEtB;aACF;SACF;aAAM;YACL,aAAa,GAAG,IAAI,CAAC;;SAEtB;AACD,QAAA,OAAO,aAAa,CAAC;KACtB;AAED,IAAA,YAAY,CAAC,MAAM,EAAA;AACjB,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC;AACnE,QAAA,KAAK,IAAI,EAAE,IAAI,MAAM,EAAE;AACrB,YAAA,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;SACjB;KACF;IAED,UAAU,CAAC,KAAK,EAAC,IAAS,EAAA;;QAExB,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;AAGzC,QAAA,IAAI,gBAAgB,GAClB,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAC1D,QAAA,IACE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;AAClC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;AAClC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;AAClC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;AACnC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;AACnC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;AACnC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;AAClC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;AAClC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;AAClC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;AACnC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;AACnC,YAAA,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EACnC;AACA,YAAA,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAChC;;AAED,QAAA,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAC3B,OAAO;SACR;AACD,QAAA,IAAI,WAAgB,CAAC;AACrB,QAAA,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAE9B,MAAM,CAAC,MAAM,GAAG,YAAA;AACd,YAAA,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;AAC5B,YAAA,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;;AAE1D,YAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;AAC5B,gBAAA,IAAI,WAAW,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBAC1C,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7C,gBAAA,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;AACtC,gBAAA,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACpC,gBAAA,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC;aACnC;AACH,SAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,QAAA,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7C;AAEO,IAAA,uBAAuB,GAAG,CAAC,QAAQ,KAAI;AAC7C,QAAA,IAAI,iBAAiB,GAAe,IAAI,UAAU,CAChD,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,cAAc,EACvB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CACjC,CAAC;AACF,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtC,KAAC,CAAC;AAEM,IAAA,uBAAuB,GAAG,CAAC,QAAQ,KAAI;AAC7C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAChD,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE;gBAC1D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC/B;SACF;AACH,KAAC,CAAC;AAEM,IAAA,uBAAuB,GAAG,CAAC,QAAQ,KAAI;;AAE/C,KAAC,CAAC;AAEM,IAAA,uBAAuB,GAAG,CAAC,QAAQ,KAAI;;AAE/C,KAAC,CAAC;IAEF,iBAAiB,GAAA;QACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACvC;IAED,iBAAiB,GAAA;QACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;KACrD;AAEO,IAAA,gBAAgB,GAAG,CAAC,WAAgB,KAAI;AAC9C,QAAA,IAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;;;;;;;AAOrB,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAC/H,CAAC,IAAI,KAAG;AACN,gBAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACpC,gBAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAChD,aAAC,EAAC,CAAC,KAAK,KAAI;AACV,gBAAA,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACpC,gBAAA,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACzD,aAAC,CACA,CAAA;SACF;aAAM;;AAEL,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;;;AAG/B,YAAA,IAAI,KAAK,GAAG;AACV,gBAAA,QAAQ,EAAE,YAAY;AACtB,gBAAA,SAAS,EAAE,QAAQ;AACnB,gBAAA,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;AACnC,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnC,gBAAA,YAAY,EAAG,EAAE;aAClB,CAAA;YACA,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,2BAA2B,EAC3B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EACvB,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,uBAAuB,CAC7B,CAAC;SACH;AACH,KAAC,CAAA;AAED,IAAA,gBAAgB,CAAC,YAAoB,EAAA;AACnC,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACvC;AAEO,IAAA,kBAAkB,GAAG,CAAC,MAAc,KAAI;AAC9C,QAAA,IAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;;;;;;;AAOrB,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,EAAC,QAAQ,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,CAC1G,CAAC,IAAI,KAAG;AACN,gBAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACpC,gBAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAChD,aAAC,EAAC,CAAC,KAAK,KAAI;AACV,gBAAA,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACpC,gBAAA,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;AACzD,aAAC,CACA,CAAA;SACF;aAAM;;AAEL,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;;AAE9B,YAAA,IAAI,KAAK,GAAG;AACX,gBAAA,QAAQ,EAAE,YAAY;AACtB,gBAAA,SAAS,EAAE,QAAQ;AACnB,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACnC,gBAAA,YAAY,EAAG,EAAE;aAClB,CAAA;YACA,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,2BAA2B,EAC3B,CAAC,MAAM,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAC9B,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,uBAAuB,CAC7B,CAAC;SACH;AACH,KAAC,CAAA;AAED,IAAA,WAAW,CAAC,qBAAqB,EAAA;;AAE/B,QAAA,IAAI,gBAAgB,GAAG,qBAAqB,CAAC,MAAM,CACjD,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAC1C,CAAC;QACF,OAAO,gBAAgB,CAAC;KACzB;IACD,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;SAClC;KACF;;;;;;;;;;;IAcD,cAAc,GAAA;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,IAAI,EAAE;YACpC,IAAI,CAAC,GAAG,EAAE,CAAC;AACX,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;AACjD,gBAAA,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACpE,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;AACpD,oBAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACV,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBACnB;qBAAM;AACL,oBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;iBACpB;aACF;AACD,YAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAClB,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACnB;AACD,YAAA,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAChB,gBAAA,IAAI,KAAK,GACP,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACrE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;aAC9C;AAAM,iBAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzB,IAAI,KAAK,GACP,EAAE;AACF,qBAAC,IAAI,CAAC,aAAa,CAAC,MAAM;AACxB,wBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;aAC9C;YACD,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACnC;KACF;AAED,IAAA,QAAQ,CAAC,IAAI,EAAA;AACX,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;;AAE/B,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;KACxB;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE;AACjC,gBAAA,IACE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EACtE;;AAEA,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;oBAE5B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;wBACjC,MAAM;qBACP;iBACF;aACF;SACF;QACD,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9D,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAED,SAAS,GAAA;QACP,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB,EAAE,GAAG,CAAC,CAAC;KACT;IAED,kBAAkB,GAAA;;AAEhB,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC;AACxF,QAAA,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,GAAG,IAAI,CAAC;KAC3E;IAEC,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;AACtC,YAAA,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;AAC/B,gBAAA,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE;;AAEvF,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;oBAE5B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;wBACjC,MAAM;qBACP;iBACF;aACF;SACF;QACD,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QAC9D,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;AACD,IAAA,aAAa,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,CAAC,MAAM,GAAC,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,QAAQ,GAAC,EAAE,CAAC;AAChB,QAAA,IAAI,QAAQ,CAAC;AACb,QAAA,IAAI,IAAI,CAAC;AACT,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;AACxC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC;AACnC,QAAA,IAAI,CAAC,YAAY,GAAC,EAAE,CAAC;AAGrB,QAAA,KAAI,IAAI,GAAG,IAAI,IAAI,CAAC,YAAY,EAAC;YAC/B,IAAG,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC,OAAO,EAAE;AACzC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,gBAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC;AACjC,gBAAA,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;AACvB,gBAAA,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;aACjB;SACF;QACD,IAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAC;AAEzB,YAAA,IAAI,CAAC,gBAAgB,GAAE,QAAQ,CAAC;AAChC,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;AAAK,aAAA,IAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAG,CAAC,EAAC;AAErD,YAAA,IAAI,CAAC,YAAY,GAAE,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,gBAAgB,GAAC,EAAE,CAAC;SAC5B;KACF;IACD,aAAa,GAAA;QACX,IAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAC;YACrC,IAAI,CAAC,aAAa,CAAC,EAAC,OAAO,EAAC,IAAI,CAAC,kBAAkB,EAAC,CAAC,CAAC;SACvD;QAEJ,UAAU,CAAC,MAAI;YACZ,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;SAC9D,EAAE,GAAG,CAAC,CAAC;KACR;;AAID,IAAA,sBAAsB,CAAC,IAAmB,EAAA;;AAEvC,QAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;AAC/C,YAAA,IAAI,gBAAgB,GAAG,IAAI,aAAa,EAAE,CAAC;YACzC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1D,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAClE,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACpD,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1D,gBAAgB,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC9D,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAClE,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAClE,gBAAgB,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACtE,gBAAgB,CAAC,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC;AACpF,YAAA,gBAAgB,CAAC,YAAY,GAAG,EAAE,GAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/D,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;SACjD;;;;AAIL,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;;;KAG3B;IAED,WAAW,CAAC,QAAuB,EAAE,KAAa,EAAA;AAChD,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACpC,QAAA,IAAI,IAAI,GAAkB,IAAI,aAAa,EAAE,CAAC;AAC9C,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;;AAE9B,QAAA,IAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAC;AACxB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,KAAK,GAAC,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;aAAI;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SACvD;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAE/B,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;;KAElD;IAED,aAAa,CAAC,YAAoB,EAAE,KAAa,EAAA;;AAE/C,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QACtD,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB,QAAA,KAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YAC7B,IAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,EAAC;AACtB,gBAAA,QAAQ,EAAE,CAAC;aACZ;SACF;AAED,QAAA,IAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,QAAQ,GAAE,CAAC,EAAC;AAC5D,YAAA,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC,CAAA;AACtE,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC;AACpD,YAAA,QAAQ,EAAE,CAAC;SACZ;KACF;AAED,IAAA,oBAAoB,CAAC,EAAU,EAAA;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KAClC;;AAGF,IAAA,GAAG,CAAC,QAAuB,EAAA;AACxB,QAAA,IAAI,CAAC,OAAO,GAAI,KAAK,CAAC;AACtB,QAAA,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACvD,QAAA,IAAI,KAAK,GAAI,IAAI,CAAC,MAAM,CAAC;AACzB,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,UAAU,GAAI,CAAC,CAAC,cAAc,CAAC;AAEpC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAG,CAAC,EAAE,EAAE;AACzC,YAAA,IAAI,IAAI,GAAkB,IAAI,aAAa,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,IAAE,IAAI,CAAC,UAAU,GAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAClD,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC;SAChD;AACD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACrB;IAED,sBAAsB,CAAC,QAAa,EAAC,IAAQ,EAAA;AAC3C,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;KACvB;IAED,aAAa,CAAC,KAAS,EAAE,IAAQ,EAAA;AAC/B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;AAED,IAAA,yBAAyB,CAAC,KAAa,EAAA;AACrC,QAAA,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;KAChD;AACD,IAAA,OAAO,CAAC,IAAQ,EAAA;AACf,QAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,IAAI,CAAC,CAAC;KAC/B;AAED,IAAA,eAAe,CAAC,KAAS,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;KACtB;IAED,WAAW,CAAC,YAAiB,EAAC,IAAQ,EAAA;;AAEpC,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,EAAG,qBAAqB,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC1G;AAED,IAAA,MAAM,CAAC,IAAS,EAAA;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7B;AAED,IAAA,QAAQ,CAAC,IAAS,EAAA;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/B;wGAr7EW,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAQ,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAV,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAI,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAHtB,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAAA,CAAC,aAAa,CAAC,+CCtD5B,ihtCA8vBM,EAAA,MAAA,EAAA,CAAA,o5hBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,4EAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,6BAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,eAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,8BAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,aAAA,EAAA,YAAA,EAAA,WAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,YAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,qBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,cAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,0BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,SAAA,EAAA,eAAA,EAAA,aAAA,EAAA,IAAA,EAAA,UAAA,EAAA,cAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDrsBO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,iBAEd,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA,CAAC,aAAa,CAAC,EAAA,QAAA,EAAA,ihtCAAA,EAAA,MAAA,EAAA,CAAA,o5hBAAA,CAAA,EAAA,CAAA;2WAIjB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;;;ME5DI,cAAc,CAAA;AACzB,IAAA,gBAAgB,CAAiB;AACjC,IAAA,YAAY,CAAK;AAEjB,IAAA,WAAA,GAAA,GAAiB;AAEjB,IAAA,IAAI,CAAC,MAAsB,EAAA;AACzB,QAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;KAChC;AAED,IAAA,MAAM,CAAC,iBAA2B,EAAA;;;;;;;;QAShC,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YAC5D,IAAI,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;AACpE,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;;AAElF,gBAAA,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,UAAU,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;oBAClC,IAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,iBAAiB,CAAC,EAAE,EAAC;AAC1C,wBAAA,UAAU,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAClC,wBAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;qBACjC;iBACF;aACF;SACF;KACF;IAED,GAAG,GAAA;;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAE9B;wGArCU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;;4FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCaY,uBAAuB,CAAA;AAgCb,IAAA,aAAA,CAAA;AA/BX,IAAA,aAAa,GAAG,IAAI,YAAY,EAAO,CAAC;;AAExC,IAAA,YAAY,GAAG,IAAI,YAAY,EAAO,CAAC;AACvC,IAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;AACpC,IAAA,UAAU,GAAG,IAAI,YAAY,EAAO,CAAC;IACtC,SAAS,GAAU,EAAE,CAAC;AACtB,IAAA,QAAQ,CAAU;AAClB,IAAA,KAAK,CAAS;;IAEvB,OAAO,GAAG,EAAE,CAAC;IACb,kBAAkB,GAAG,EAAE,CAAC;AACxB,IAAA,cAAc,CAAK;IACnB,gBAAgB,GAAG,EAAE,CAAC;IACtB,QAAQ,GAAG,EAAE,CAAC;AACd,IAAA,WAAW,GAAS,IAAI,IAAI,EAAE,CAAC;IAC/B,YAAY,GAAkB,EAAE,CAAC;AACjC,IAAA,UAAU,GAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtG,aAAa,GAAW,EAAE,CAAC;IAC3B,YAAY,GAAW,EAAE,CAAC;IAC1B,cAAc,GAAW,EAAE,CAAC;IAC5B,OAAO,GAAW,EAAE,CAAC;IACrB,WAAW,GAAuB,IAAI,CAAC;IACvC,WAAW,GAAG,KAAK,CAAC;IACpB,UAAU,GAAG,cAAc,CAAC;IAC5B,SAAS,GAAG,OAAO,CAAC;IACpB,eAAe,GAAG,MAAM,CAAC;IACzB,WAAW,GAAG,IAAI,CAAC;AACnB,IAAA,cAAc,CAAS;AACvB,IAAA,iBAAiB,CAAM;IACvB,qBAAqB,GAAY,IAAI,CAAC;AACtC,IAAA,YAAY,CAAM;AAClB,IAAA,WAAA,CAAqB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAK;IACtD,QAAQ,GAAA;AACL,QAAA,IAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC;YACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;SACrC;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAC5D,CAAC,WAAW,KAAI;AACZ,YAAA,IAAG,WAAW,IAAI,qBAAqB,EAAE;gBACvC,IAAI,CAAC,MAAM,EAAE,CAAC;aACf;AACD,YAAA,IAAG,WAAW,IAAI,UAAU,EAAE;AAC5B,gBAAA,IAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC;oBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACrC;gBACF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;AACL,SAAC,CACF,CAAC;;;KAGH;;IAED,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACxE,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,KAAK,CAAC;AACrD,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;AACxB,YAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAG;AAC3B,gBAAA,IAAG,OAAO,CAAC,iBAAiB,EAAC;oBAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBACvD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;iBACpD;AACL,aAAC,CAAC,CAAC;SACL;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC1B,QAAA,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC3B,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1B,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACtC;;;;;;;;;;IAWD,gBAAgB,GAAA;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QAE1C,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9C,QAAA,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhD,QAAA,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;AAC7C,QAAA,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;AAEzC,QAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;AAExD,QAAA,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;AACrC,QAAA,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE;AAC1E,YAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,cAAc,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK;gBACtC,MAAM,EAAE,IAAI,GAAG,KAAK;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;gBAC3C,QAAQ,EAAE,IAAI,GAAG,KAAK;AACvB,aAAA,CAAC,CAAC;SACJ;;AAGH,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAG;YAC9B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AACxG,SAAC,CAAC,CAAC;;QAEH,IAAI,GAAG,GAAG,EAAE,CAAA;AACZ,QAAA,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AACnB,QAAA,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;KACrB;AAED,IAAA,SAAS,CAAC,GAAgB,EAAA;AACxB,QAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;AAEjB,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;;AAEvB,QAAA,MAAM,qBAAqB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,qBAAqB,EAAE;AACzB,YAAA,qBAAqB,CAAC,UAAU,GAAG,KAAK,CAAC;SAC1C;;AAED,QAAA,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;;QAEtB,IAAI,aAAa,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,IAAG;;;;AAIpC,YAAA,IAAG,IAAI,CAAC,cAAc,IAAI,cAAc,EAAC;gBACtC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AACpC,gBAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B;;AAED,YAAA,IAAG,IAAI,CAAC,OAAO,EAAC;gBACf,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,mBAAmB,EAAE;oBACnD,IAAI,WAAW,GAAG,IAAI,CAAC;oBACvB,IAAI,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7D,oBAAA,eAAe,CAAC,OAAO,CAAC,QAAQ,IAAG;AAC/B,wBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC;wBAC/E,IAAI,OAAO,EAAE;AACT,4BAAA,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBAC/B;AACL,qBAAC,CAAC,CAAC;;AAEH,oBAAA,WAAW,CAAC,kBAAkB,GAAG,aAAa,CAAC;iBAClD;aACD;AACJ,SAAC,CAAC,CAAA;KACH;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;IAED,SAAS,GAAA;;AAEP,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACjF,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,IAAG;;AAErC,YAAA,IAAG,IAAI,CAAC,cAAc,IAAI,cAAc,EAAC;AACvC,gBAAA,IAAG,IAAI,CAAC,IAAI,IAAI,UAAU,EAAC;oBACzB,OAAO,IAAI,CAAC,KAAK,CAAC;oBAClB,OAAO,IAAI,CAAC,aAAa,CAAC;;iBAE3B;qBAAK;oBACJ,OAAO,IAAI,CAAC,KAAK,CAAC;iBACnB;aACF;AACH,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAC3B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAChD,IAAI,CAAC,aAAa,EAAE,CAAC;;;KAGtB;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,UAAU,EAAG,IAAI,CAAC,UAAU;YAC5B,SAAS,EAAG,IAAI,CAAC,SAAS;YAC1B,eAAe,EAAG,IAAI,CAAC,eAAe;YACtC,WAAW,EAAG,IAAI,CAAC,WAAW;AAE/B,SAAA,CAAC,CAAC;KACJ;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5B;;IAGH,SAAS,CAAC,KAAU,EAAE,UAAe,EAAA;AACnC,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrD,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;AACpC,QAAA,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;;;KAItB;IAED,WAAW,CAAE,OAAe,EAAE,UAAe,EAAA;AAC3C,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC;QACzD,IAAI,KAAK,EAAE;;YAEP,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACrD,YAAA,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE;gBACjB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aACvC;;YAGD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAClD,gBAAA,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE;oBACjB,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;iBACzC;aACJ;SACJ;QACD,IAAI,SAAS,GAAG,EAAE,CAAC;AAClB,QAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAC/B,QAAA,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;;IAGC,QAAQ,CAAC,GAAgB,EAAE,SAAS,EAAA;;QAElC,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;YAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACrB,YAAA,OAAO,GAAG,CAAC;SACd,EAAE,EAAE,CAAC,CAAC;;QAGP,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,aAAa,EAAE;;;AAGf,YAAA,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;;AAE3E,YAAA,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjC,YAAA,aAAa,CAAC,OAAO,GAAG,eAAe,CAAC;SAC3C;aAAM;;AAEH,YAAA,MAAM,QAAQ,GAAG;AACb,gBAAA,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;gBACrB,IAAI,EAAE,GAAG,CAAC,IAAI;AACd,gBAAA,OAAO,EAAE,CAAC,UAAU,CAAC;aACxB,CAAC;YACF,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,MAAM,IAAI,EAAE,CAAA;AAC9B,YAAA,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,YAAA,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;;YAE/B,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,YAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AAC5B,YAAA,SAAS,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACtC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KAC5C;;IAEA,MAAM,GAAA;AACH,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC;AACvE,YAAA,IAAI,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAE;;AAEjC,gBAAA,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAChG,gBAAA,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE;AACjB,oBAAA,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;wBAChE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACrB,wBAAA,OAAO,GAAG,CAAC;qBACd,EAAE,EAAE,CAAC,CAAC;iBACV;aACJ;;YAEH,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,YAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAC7B,YAAA,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACpC;aAAM;AACH,YAAA,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAC1D;SACJ;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;;;;;;;;;;;;;;;;;;;IAqBC,UAAU,GAAA;AACR,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACtD;AAED,IAAA,YAAY,CAAC,UAAe,EAAA;AAC1B,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,gBAAgB,CAAC,YAAmB,EAAA;QAClC,IAAI,WAAW,GAAG,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACxD,QAAA,OAAO,WAAW,CAAC;KACpB;wGAzWY,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA1B,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,kQCnBpC,whJAqFuB,EAAA,MAAA,EAAA,CAAA,soDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlEV,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,whJAAA,EAAA,MAAA,EAAA,CAAA,soDAAA,CAAA,EAAA,CAAA;+EAKrB,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBAEG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACE,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MEEK,kBAAkB,CAAA;AAwBnB,IAAA,SAAA,CAAA;AACA,IAAA,WAAA,CAAA;AACA,IAAA,KAAA,CAAA;AAEG,IAAA,WAAA,CAAA;AA3BJ,IAAA,eAAe,CAAS;AACd,IAAA,IAAI,CAAC;AAEf,IAAA,QAAQ,CAAC;AACT,IAAA,OAAO,CAAS;AAChB,IAAA,EAAE,CAAS;AACX,IAAA,QAAQ,GAAG,KAAK,CAAC;AAChB,IAAA,iBAAiB,GAAgC,IAAI,YAAY,EAAiB,CAAC;AAC5F,IAAA,MAAM,CAAK;AACX,IAAA,UAAU,CAAM;IAER,UAAU,CAAS;IACrB,YAAY,GAAU,EAAE,CAAC;IACzB,aAAa,GAAW,EAAE,CAAC;AAC3B,IAAA,SAAS,CAAM;IACf,UAAU,GAAG,KAAK,CAAC;IACnB,QAAQ,GAAG,KAAK,CAAC;IACjB,cAAc,GAAG,IAAI,CAAC;AACrB,IAAA,EAAE,CAAc;IAChB,IAAI,GAAW,KAAK,CAAC;IACrB,GAAG,GAAW,EAAE,CAAC;IAEzB,WACU,CAAA,SAA4B,EAC5B,WAAwB,EACxB,KAAqB,EAC7B,EAAc,EACH,WAAwB,EAAA;QAJ3B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;QAC5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QAElB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAChC;IAEL,QAAQ,GAAA;;AAEN,QAAA,IAAG,IAAI,CAAC,OAAO,EAAC;YACd,IAAI,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;SAChC;KACF;IAED,SAAS,GAAA;QACP,UAAU,CAAC,MAAI;AACb,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB,EAAE,IAAI,CAAC,CAAC;KACV;AAED,IAAA,kBAAkB,CAAC,KAAK,EAAA;QACtB,IAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAC;AAC/B,YAAA,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC;AACzB,YAAA,IAAI,CAAC,YAAY,GAAC,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACxC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACxC;aAAM;AACL,YAAA,IAAI,CAAC,cAAc,GAAC,KAAK,CAAC;AAC1B,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;KACF;;;AAGM,IAAA,aAAa,GAAG,CAAC,OAAe,KAAI;AACzC,QAAA,IAAG,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACtE,gBAAA,IAAI,QAAQ,CAAC;AACb,gBAAA,IAAG,MAAM,CAAC,QAAQ,EAAC;;AAEhB,oBAAA,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACpE;qBAAI;oBACH,QAAQ,GAAG,WAAW,CAAC;iBACxB;AACH,gBAAA,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBACzB,IAAI,OAAO,GAAC,EAAE,CAAC;AACf,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;AAExC,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAC,KAAK,CAAC,CAAC;AAC9D,oBAAA,IAAG,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE;AAC3D,wBAAA,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;wBACnC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC3B;iBACF;gBACD,IAAI,CAAC,QAAQ,GAAG,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtC,gBAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;AAC9B,aAAC,CAAC,CAAA;SACH;AACD,KAAC,CAAA;AAEM,IAAA,SAAS,CAAC,KAAK,EAAA;;QAEpB,IAAI,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtC,QAAA,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;AACjC,QAAA,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;AAChC,QAAA,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;AACxB,QAAA,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrC;wGAhGU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAW,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAuB,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,6VC7B/B,6qFAoDA,EAAA,MAAA,EAAA,CAAA,sfAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAxB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvBa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,6qFAAA,EAAA,MAAA,EAAA,CAAA,sfAAA,CAAA,EAAA,CAAA;uLAKjB,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACa,IAAI,EAAA,CAAA;sBAAtB,SAAS;uBAAC,MAAM,CAAA;gBAER,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBAIE,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;ME9BK,mBAAmB,CAAA;AAyBV,IAAA,aAAA,CAAA;AAAuC,IAAA,WAAA,CAAA;AAAiC,IAAA,SAAA,CAAA;AACnF,IAAA,WAAA,CAAA;AAzBC,IAAA,gBAAgB,GAAG,IAAI,YAAY,EAAS,CAAC;AAC7C,IAAA,eAAe,GAAG,IAAI,YAAY,EAAO,CAAC;AAC3C,IAAA,QAAQ,CAAC;AACT,IAAA,kBAAkB,CAAC;AACnB,IAAA,yBAAyB,CAAC;AAC1B,IAAA,gBAAgB,CAAC;IACjB,SAAS,CAAC;AACV,IAAA,QAAQ,CAAC;AACT,IAAA,KAAK,CAAK;;IAEZ,gBAAgB,GAAa,EAAE,CAAC;AAChC,IAAA,WAAW,GAAW,CAAC,CAAC;AACxB,IAAA,QAAQ,GAAW,CAAC,CAAC;IACrB,gBAAgB,GAAa,EAAE,CAAC;IAGhC,qBAAqB,GAAa,EAAE,CAAC;AACrC,IAAA,mBAAmB,CAAC;AACpB,IAAA,wBAAwB,CAAC;AACzB,IAAA,OAAO,CAAC;IACR,QAAQ,GAAG,KAAK,CAAC;IACjB,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,EAAE,CAAC;AACrB,IAAA,WAAW,CAAM;AACjB,IAAA,WAAA,CAAoB,aAA4B,EAAW,WAAwB,EAAS,SAAuB,EAC1G,WAAwB,EAAA;QADb,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAAW,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAAS,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QAC1G,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAC5B;;IAEL,QAAQ,GAAA;QACN,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC7B;;;;;;;;AASF,IAAA,WAAW,CAAC,aAA4B,EAAA;AACtC,QAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC7C,QAAA,IAAI,aAAa,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;SACtE;AAED,QAAA,IAAI,aAAa,CAAC,kBAAkB,EAAE;YACpC,IAAI,CAAC,wBAAwB,GAAG,aAAa,CAAC,kBAAkB,EAAE,YAAY,CAAC;SAChF;KAEF;;IAGA,qBAAqB,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE;AAC7B,YAAA,IAAI;AACF,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,UAAU,EAAE;oBACd,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;oBACtD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;oBAC/C,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC;iBAC1C;aACF;YAAC,OAAO,KAAK,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;aACnD;SACF;KACF;AAED,IAAA,mBAAmB,CAAC,KAAU,EAAA;AAC5B,QAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC3B,QAAA,IAAI,UAAU,GAAU,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QACjF,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;;AAGzC,QAAA,IAAI,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC5D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAW,QAAA,EAAA,IAAI,CAAC,QAAQ,CAAgB,cAAA,CAAA,CAAC,CAAC;AACrE,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACxB,OAAO;SACR;QAED,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,QAAA,KAAK,MAAM,gBAAgB,IAAI,aAAa,EAAE;YAC5C,MAAM,IAAI,GAAS,gBAAgB,CAAC;;AAGpC,YAAA,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;AAC/D,YAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AAChF,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA,UAAA,EAAa,OAAO,CAAgC,6BAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC,CAAC;gBACnH,SAAS;aACV;;AAGD,YAAA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;AACxD,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAA,wBAAA,EAA2B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA,EAAA,CAAI,CAAC,CAAC;gBACxG,SAAS;aACV;AAED,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;gBACjC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,eAAe,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AAC5D,oBAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAChC,oBAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAE3B,oBAAA,MAAM,CAAC,MAAM,GAAG,MAAK;AACnB,wBAAA,MAAM,QAAQ,GAAG;4BACf,GAAG,EAAE,MAAM,CAAC,MAAM;4BAClB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,MAAM;AACN,4BAAA,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,4BAAA,EAAE,EAAE,IAAI;yBACT,CAAC;AAEF,wBAAA,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,wBAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,wBAAA,OAAO,EAAE,CAAC;AACZ,qBAAC,CAAC;AAEF,oBAAA,MAAM,CAAC,OAAO,GAAG,MAAK;AACpB,wBAAA,MAAM,EAAE,CAAC;AACT,wBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA,oBAAA,EAAuB,IAAI,CAAC,IAAI,CAAA,CAAA,CAAG,CAAC,CAAC;AAClE,qBAAC,CAAC;AACJ,iBAAC,CAAC,CAAC;AACH,gBAAA,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC3C;SACF;AACC,QAAA,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;;YAEhC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,MAAK;AACvC,gBAAA,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC;AACtC,gBAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AACzC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACzC,aAAC,CAAC,CAAC,KAAK,CAAC,MAAK;AACZ,gBAAA,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACvC,aAAC,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;;SAE5C;AAED,QAAA,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;KACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CD,IAAA,UAAU,CAAC,gBAAgB,EAAA;AACrB,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAC/E,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;KAC1D;;;AAKD,IAAA,QAAQ,CAAC,WAAW,EAAA;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzB,IAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,SAAS,EAAE;AACrC,YAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjD,YAAA,IAAI,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;AACjC,YAAA,IAAI,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;YAC3C,IAAI,IAAI,GAAG,WAAW,CAAC;YACrB,IAAG,QAAQ,EAAC;AACV,gBAAA,MAAM,YAAY,GAAG,QAAQ,GAAG,GAAG,GAAE,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjF,IAAG,YAAY,EAAC;AACd,oBAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;wBACnE,IAAG,WAAW,EAAC;AACb,4BAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;yBACrC;AACH,qBAAC,CAAC,CAAA;iBACN;aACF;SACH;aAAK;YACF,IAAI,CAAC,aAAa,EAAE,CAAA;SACvB;KACF;;IAGD,aAAa,GAAA;AACX,QAAA,IAAG,IAAI,CAAC,WAAW,EAAC;YAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;AACtC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SAC3D;KAEF;AAGD,IAAA,iBAAiB,CAAC,YAAiB,EAAA;QACjC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5D,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAG,YAAY,CAAC,IAAI,EAAC;AACnB,YAAA,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;AAClC,YAAA,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACrE,YAAA,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;YACxE,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;SAC9D;KACF;AAED,IAAA,UAAU,CAAC,GAAW,EAAA;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;KACnE;AAED,IAAA,UAAU,CAAC,OAAO,EAAA;AAChB,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACxC;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnC;KACF;wGAxQU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAoB,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAnB,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAL,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAuB,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,2YCXhC,2tIAuFA,EAAA,MAAA,EAAA,CAAA,4pEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAxB,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA0B,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD5Ea,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,2tIAAA,EAAA,MAAA,EAAA,CAAA,4pEAAA,CAAA,EAAA,CAAA;0JAKjB,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBACG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACE,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,yBAAyB,EAAA,CAAA;sBAAjC,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MEXK,uBAAuB,CAAA;AAQd,IAAA,aAAA,CAAA;AANX,IAAA,YAAY,CAAK;AAE1B,IAAA,WAAW,CAAS;AACpB,IAAA,KAAK,CAAK;AACV,IAAA,QAAQ,CAAK;AAEb,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC9C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,KAAG;AAChD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC3B,SAAC,CAAC,CAAA;KACH;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC/C;AAED,IAAA,aAAa,CAAC,IAAQ,EAAA;AACpB,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;AAChC,QAAA,IAAG,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,YAAA,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;YAC1B,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;SAC3D;aAAM;AACN,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAC;SAC3D;KACH;wGA7BU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA7B,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,qGCTpC,o8CA+BQ,EAAA,MAAA,EAAA,CAAA,idAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDtBK,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,o8CAAA,EAAA,MAAA,EAAA,CAAA,idAAA,CAAA,EAAA,CAAA;+EAMtB,YAAY,EAAA,CAAA;sBAApB,KAAK;;;MEAK,sBAAsB,CAAA;AAYd,IAAA,WAAA,CAAA;AAXV,IAAA,QAAQ,CAAU;AACjB,IAAA,WAAW,GAAsB,IAAI,YAAY,EAAO,CAAC;AAEnE,IAAA,SAAS,CAAe;AACxB,IAAA,WAAW,CAAM;AACjB,IAAA,SAAS,CAAM;AACf,IAAA,aAAa,CAAS;AACtB,IAAA,aAAa,CAAK;AAClB,IAAA,WAAW,CAAM;AACjB,IAAA,YAAY,CAAK;AAEjB,IAAA,WAAA,CAAmB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAAK;;IAEhD,QAAQ,GAAA;QACN,IAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,SAAS,EAAE;AACrC,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEnD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;AAClD,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AACnD,YAAA,MAAM,YAAY,GAAG;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,gBAAA,aAAa,EAAE,IAAI;aACpB,CAAC;AACF,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,gBAAA,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;aACjD;AACD,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAEpC,YAAA,IAAG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;gBACzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;aAClD;SACF;KACF;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QACvE,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACtD,QAAA,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC;QAClC,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC9D;AAED,IAAA,WAAW,CAAC,QAAgB,EAAE,KAAa,EAAE,KAAa,EAAA;QACxD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACxC,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5D;AAED,IAAA,YAAY,CAAC,IAAS,EAAE,KAAa,EAAE,KAAa,EAAA;AAClD,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5D;AAED,IAAA,YAAY,CAAC,IAAS,EAAE,MAAc,EAAE,KAAU,EAAA;AAChD,QAAA,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAChC,QAAA,IAAI,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACxC,QAAA,IAAG,KAAK,IAAI,OAAO,EAAC;YAClB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;SAChE;aAAI;YACH,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5D;AACD,IAAA,cAAc,CAAC,IAAS,EAAE,KAAa,EAAE,KAAU,EAAA;AACjD,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5D;AAED,IAAA,eAAe,CAAC,IAAS,EAAE,KAAa,EAAE,KAAU,EAAA;QAClD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5D;AAED,IAAA,mBAAmB,CAAC,IAAS,EAAE,KAAa,EAAE,KAAU,EAAA;QACtD,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC5C,QAAA,IAAG,IAAI,CAAC,GAAG,IAAI,cAAc,EAAC;AAC5B,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;SAC1D;AAAK,aAAA,IAAG,IAAI,CAAC,GAAG,IAAI,YAAY,EAAC;YAChC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;SACtE;aAAI;AACH,YAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;SACpC;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC5D;IAED,kBAAkB,CAAC,gBAAuB,EAAC,aAAiB,EAAA;AAC1D,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,SAAS,EAAE,gBAAgB;AAC3B,YAAA,aAAa,EAAE,IAAI;SACpB,CAAC;QACF,IAAG,aAAa,EAAC;AACf,YAAA,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;SACjD;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACrC;;;IAID,kBAAkB,CAAC,IAAS,EAAE,WAAmB,EAAA;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAEnD,QAAA,IAAI,YAAY,GAAG,CAAC,EAAE;AACpB,YAAA,OAAO,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;SACnC;AAED,QAAA,OAAO,IAAI,CAAC;KACb;wGA9GU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,qICXnC,0wNAuGU,EAAA,MAAA,EAAA,CAAA,ulHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAkC,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,SAAA,EAAA,eAAA,EAAA,aAAA,EAAA,IAAA,EAAA,UAAA,EAAA,cAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,oBAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD5FG,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,0wNAAA,EAAA,MAAA,EAAA,CAAA,ulHAAA,CAAA,EAAA,CAAA;6EAKrB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MELI,mBAAmB,CAAA;AAQV,IAAA,WAAA,CAAA;AAPX,IAAA,IAAI,CAAS;AACb,IAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,IAAA,KAAK,CAAK;AACV,IAAA,YAAY,CAAS;AACpB,IAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;AAClE,IAAA,YAAY,CAAM;AAElB,IAAA,WAAA,CAAoB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAAK;IAEjD,QAAQ,GAAA;QACN,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzC;;AAED,IAAA,WAAW,CAAC,aAA4B,EAAA;AACtC,QAAA,IAAG,aAAa,CAAC,MAAM,CAAC,EAAC;YACvB,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzC;KAEF;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;AACrB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;KAC5B;wGAvBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,iNCRhC,wsBAiB+D,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,KAAA,EAAA,KAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDTlD,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,wsBAAA,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,CAAA;6EAKlB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MELI,mBAAmB,CAAA;AAQX,IAAA,WAAA,CAAA;AAPV,IAAA,IAAI,CAAS;AACb,IAAA,QAAQ,GAAG,KAAK,CAAC;AACjB,IAAA,KAAK,CAAK;AACV,IAAA,YAAY,CAAS;AACpB,IAAA,UAAU,GAAsB,IAAI,YAAY,EAAO,CAAC;AAClE,IAAA,YAAY,CAAM;AAElB,IAAA,WAAA,CAAmB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAAK;IAEhD,QAAQ,GAAA;AACN,QAAA,IAAG,IAAI,CAAC,IAAI,EAAC;YACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YAChE,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACzC;aAAK;;AAEJ,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;KACF;AAED,IAAA,WAAW,CAAC,OAAqB,EAAA;;AAE/B,QAAA,IAAG,OAAO,CAAC,MAAM,CAAC,EAAC;AACjB,YAAA,IAAG,IAAI,CAAC,IAAI,EAAC;gBACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;gBAChE,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzC;iBAAK;AACJ,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;SACF;KACF;;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;QACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACpC;wGAlCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,iNCRhC,4pBAgB+D,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,KAAA,EAAA,KAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDRlD,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,4pBAAA,EAAA,MAAA,EAAA,CAAA,wCAAA,CAAA,EAAA,CAAA;6EAKlB,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MENI,qBAAqB,CAAA;;AAEvB,IAAA,MAAM,CAAS;AACf,IAAA,KAAK,CAAS;IACd,SAAS,GAAU,MAAM,CAAA;AACzB,IAAA,UAAU,CAAS;AACnB,IAAA,KAAK,CAAQ;AACb,IAAA,eAAe,GAAW,SAAS,CAAC;AACnC,IAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AAChD,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;AAED,IAAA,WAAW,CAAC,KAAK,EAAA;AACf,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC9B;wGAhBU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,sPCPlC,gTAUA,EAAA,MAAA,EAAA,CAAA,4IAAA,CAAA,EAAA,CAAA,CAAA;;4FDHa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,gTAAA,EAAA,MAAA,EAAA,CAAA,4IAAA,CAAA,EAAA,CAAA;wDAMpB,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MERI,oBAAoB,CAAA;AAE/B,IAAA,WAAA,GAAA,GAAiB;AACR,IAAA,UAAU,CAAM;IAChB,WAAW,GAAG,KAAK,CAAC;IACpB,SAAS,GAAG,EAAE,CAAC;IACf,eAAe,GAAG,MAAM,CAAC;IACzB,WAAW,GAAG,IAAI,CAAC;AAClB,IAAA,cAAc,GAAG,IAAI,YAAY,EAAO,CAAC;AACzC,IAAA,gBAAgB,GAAG,IAAI,YAAY,EAAO,CAAC;IAErD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;KAC5B;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;KAC9B;IAGD,QAAQ,GAAA;KACP;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;IAED,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;KAC5B;wGA7BU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,uSCPjC,koBAgBE,EAAA,MAAA,EAAA,CAAA,8yBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDTW,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,koBAAA,EAAA,MAAA,EAAA,CAAA,8yBAAA,CAAA,EAAA,CAAA;wDAOnB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACI,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACG,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;;;METI,oBAAoB,CAAA;AACtB,IAAA,GAAG,CAAS;AACZ,IAAA,GAAG,CAAS;AACZ,IAAA,UAAU,CAAM;AAChB,IAAA,QAAQ,CAAK;AAEf,IAAA,MAAM,CAAS;AAEtB,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;;;AAGL,QAAA,IAAG,IAAI,CAAC,QAAQ,EAAC;YACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,6BAA6B,CAAC;YAClG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAE;YAC3D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC;SAC1E;KACH;wGAlBU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,4ICPjC,oDAAkD,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDOrC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,oDAAA,EAAA,CAAA;wDAKnB,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MEEK,oBAAoB,CAAA;AAqBrB,IAAA,aAAA,CAAA;AACA,IAAA,WAAA,CAAA;AACD,IAAA,WAAA,CAAA;IArBA,OAAO,GAAU,EAAE,CAAC;AACpB,IAAA,OAAO,CAAS;AAChB,IAAA,aAAa,CAAS;AACtB,IAAA,WAAW,CAAU;AACrB,IAAA,EAAE,CAAS;IACX,QAAQ,GAAG,KAAK,CAAC;AACjB,IAAA,YAAY,CAAS;AACrB,IAAA,KAAK,CAAM;IACX,WAAW,GAAY,KAAK,CAAC;AAC7B,IAAA,cAAc,CAAS;AACvB,IAAA,KAAK,CAAS;AACb,IAAA,WAAW,GAAgC,IAAI,YAAY,EAAiB,CAAC;IACvF,eAAe,GAAa,EAAE,CAAC;AAExB,IAAA,UAAU,CAAS;AACnB,IAAA,UAAU,CAAS;AAC1B,IAAA,YAAY,CAAe;AAE3B,IAAA,WAAA,CACU,aAA4B,EAC5B,WAAwB,EACzB,WAAwB,EAAA;QAFvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACzB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QAE/B,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AACpD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC;KACJ;IAED,QAAQ,GAAA;;AAEN,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/C,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AAE/B,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,WAAW,KAAI;AACvE,gBAAA,IAAI,SAAS,CAAC;AACd,gBAAA,IAAI,MAAM,CAAC,QAAQ,EAAE;AACnB,oBAAA,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACpE,IAAI,OAAO,GAAG,EAAE,CAAC;AACjB,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,wBAAA,IAAI,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACxB,wBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACpB;AACD,oBAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;iBACxB;qBAAM;oBACL,SAAS,GAAG,WAAW,CAAC;AACxB,oBAAA,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;iBAC1B;AACH,aAAC,CAAC,CAAC;AAEH,YAAA,IAAI,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACvC,IAAI,QAAQ,EAAE;AACZ,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAC/D,CAAC,WAAW,KAAI;AACd,oBAAA,IAAI,WAAW,IAAI,SAAS,EAAE;AAC5B,wBAAA,IAAI,WAAW,CAAC,QAAQ,IAAI,SAAS,IAAI,WAAW,CAAC,cAAc,IAAI,MAAM,CAAC,gBAAgB,EAAE;4BAC9F,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC7D,IAAI,KAAK,GAAG,EAAE,CAAC;AACf,4BAAA,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;AACnC,4BAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;yBACzB;wBACD,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;qBAC3D;AACH,iBAAC,CACF,CAAC;aACH;SACF;KACF;AAED,IAAA,WAAW,CAAC,KAAU,EAAA;AACpB,QAAA,IAAI,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;AACjC,QAAA,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC;AAC3D,QAAA,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;AAC5C,QAAA,MAAM,CAAC,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC3B;KACF;wGAjFU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAK,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAS,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,6WCbjC,o9BAoBM,EAAA,MAAA,EAAA,CAAA,0PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAZ,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDPO,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,o9BAAA,EAAA,MAAA,EAAA,CAAA,0PAAA,CAAA,EAAA,CAAA;6HAMnB,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MEPI,qBAAqB,CAAA;AAyDZ,IAAA,SAAA,CAAA;AACV,IAAA,WAAA,CAAA;AACA,IAAA,aAAA,CAAA;AACA,IAAA,cAAA,CAAA;AACD,IAAA,WAAA,CAAA;AACC,IAAA,GAAA,CAAA;AACkB,IAAA,QAAA,CAAA;AA9DnB,IAAA,MAAM,CAAe;AACrB,IAAA,YAAY,CAAW;AACvB,IAAA,mBAAmB,GAAW,EAAE,CAAA;AAChC,IAAA,SAAS,CAAa;AACtB,IAAA,YAAY,CAAK;AACjB,IAAA,UAAU,CAAQ;IAClB,KAAK,CAAQ;AACZ,IAAA,cAAc,GAAqB,IAAI,YAAY,EAAO,CAAC;AAC3D,IAAA,cAAc,GAAqB,IAAI,YAAY,EAAO,CAAC;AAC5D,IAAA,YAAY,CAAK;;AAE1B,IAAA,YAAY,CAAa;IACzB,gBAAgB,GAAU,EAAE,CAAC;AAC7B,IAAA,cAAc,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;;AAErD,IAAA,KAAK,CAAe;;AAEpB,IAAA,KAAK,CAAM;IACX,aAAa,GAAG,KAAK,CAAC;AACtB,IAAA,SAAS,CAAM;AACf,IAAA,YAAY,CAAe;;;AAI3B,IAAA,mBAAmB,CAAC,UAAkB,EAAA;AACpC,QAAA,IAAI;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACxC,YAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE/B,YAAA,IAAI,CAAC,UAAU;AAAE,gBAAA,OAAO,EAAE,CAAC;YAE3B,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,YAAA,IAAI,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE;AACnC,gBAAA,YAAY,CAAC,IAAI,CAAC,CAAA,kBAAA,EAAqB,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAE,CAAC,CAAC;aAC9E;AAED,YAAA,IAAI,UAAU,CAAC,WAAW,EAAE;gBAC1B,YAAY,CAAC,IAAI,CAAC,CAA0B,uBAAA,EAAA,UAAU,CAAC,WAAW,GAAG,OAAO,CAAI,EAAA,CAAA,CAAC,CAAC;aACnF;AAED,YAAA,IAAI,UAAU,CAAC,QAAQ,EAAE;gBACvB,YAAY,CAAC,IAAI,CAAC,CAAA,yBAAA,EAA4B,UAAU,CAAC,QAAQ,CAAE,CAAA,CAAC,CAAC;aACtE;AAED,YAAA,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvD;QAAC,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;AAClD,YAAA,OAAO,EAAE,CAAC;SACX;KACF;AACS,IAAA,sBAAsB,GAAqB,IAAI,YAAY,EAAE,CAAC;;AAE9D,IAAA,kBAAkB,GAAqB,IAAI,YAAY,EAAE,CAAC;AAC1D,IAAA,mBAAmB,GAAqB,IAAI,YAAY,EAAE,CAAC;AAC9D,IAAA,gBAAgB,GAAQ,IAAI,GAAG,EAAE,CAAC;AACzC,IAAA,WAAA,CAAoB,SAA4B,EACtC,WAAwB,EACxB,aAA4B,EAC5B,cAA8B,EAC/B,WAAwB,EACvB,GAAsB,EACJ,QAAkB,EAAA;QAN1B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;QACtC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAC/B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACvB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACJ,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAE7C;IAED,QAAQ,GAAA;;QAEN,IAAI,CAAC,WAAW,EAAE,CAAC;;AAEnB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAC5D,CAAC,WAAW,KAAI;AACZ,YAAA,IAAG,WAAW,IAAI,UAAU,EAAE;gBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;aACpB;AACL,SAAC,CACF,CAAC;KACH;;;IAID,WAAW,GAAA;;;AAGT,QAAA,IAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAC;;AAEpB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClH,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;AAClG,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;AAClG,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,EAAE,CAAC;AACjH,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;AAClG,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;AACjG,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC;AAC/F,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;SAClG;aACG;AACF,YAAA,IAAG,IAAI,CAAC,MAAM,EAAC;AACb,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;AAClB,oBAAA,YAAY,EAAG,EAAE;AACjB,oBAAA,YAAY,EAAG,EAAE;AACjB,oBAAA,iBAAiB,EAAG,EAAE;AACtB,oBAAA,YAAY,EAAG,EAAE;AACjB,oBAAA,YAAY,EAAG,EAAE;AACjB,oBAAA,WAAW,EAAG,EAAE;AAChB,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,WAAW,EAAG,KAAK;AACnB,oBAAA,eAAe,EAAE,EAAE;iBACpB,CAAC;aACH;SACF;AACD,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;AAC5G,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC;QACzH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;AAC/C,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,IAAG;AAC/B,YAAA,IAAI,WAAW,GAAG,OAAO,EAAE,YAAY,CAAE;YACzC,IAAI,QAAQ,GAAG,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AACnD,YAAA,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC;;;AAGhC,YAAA,IAAG,OAAO,CAAC,IAAI,KAAK,MAAM,EAAC;AACzB,gBAAA,IAAG,OAAO,CAAC,sBAAsB,CAAC,EAAC;oBACjC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACrD,oBAAA,IAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAC;AAC1B,wBAAA,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAC,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;qBAC9I;yBACG;wBACF,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9C;;AAGD,oBAAA,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;AACvH,oBAAA,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;AACvH,oBAAA,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;AACvI,oBAAA,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;AACvH,oBAAA,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;AACvH,oBAAA,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC;AACpH,oBAAA,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;AACtH,oBAAA,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,EAAE,CAAC;AAChI,oBAAA,EAAE,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;;oBAGpH,EAAE,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,IAAG;wBACzD,gBAAgB,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;wBACpG,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;wBACjH,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;wBACjH,gBAAgB,CAAC,KAAK,CAAC,eAAe,GAAG,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,EAAE,CAAC;wBAChI,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;wBACjH,gBAAgB,CAAC,KAAK,CAAC,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;wBACjH,gBAAgB,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC;wBAC9G,gBAAgB,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;wBAChH,gBAAgB,CAAC,KAAK,CAAC,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,EAAE,CAAC;wBAC1H,gBAAgB,CAAC,eAAe,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;AACjI,qBAAC,CAAC,CAAC;oBACH,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;iBACxC;aACF;AACD,YAAA,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAC,OAAO,EAAE,KAAK,CAAC,GAAG,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;YAExI,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;YACpG,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;YACtF,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC;YACrF,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,EAAE,CAAC;YACnF,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;YACrF,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,EAAE,CAAC;YAE/F,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;;;AAKpG,YAAA,IAAG,OAAO,CAAC,cAAc,EAAC;AACxB,gBAAA,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;aAC/C;AACD,YAAA,IAAG,OAAO,CAAC,OAAO,EAAC;gBAChB,IAAI,aAAa,GAAmB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAChE,gBAAA,IAAG,aAAa,CAAC,gBAAgB,EAAC;AAC/B,oBAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;iBAC1B;;AAEA,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,CAC/D,CAAC,WAAW,KAAI;;oBAEd,IAAG,WAAW,IAAI,SAAS,IAAI,aAAa,CAAC,gBAAgB,EAAE;AAC7D,wBAAA,IAAG,WAAW,CAAC,QAAQ,IAAI,SAAS,IAAI,WAAW,CAAC,cAAc,IAAI,aAAa,CAAC,gBAAgB,EAAE;;4BAEpG,IAAG,aAAa,CAAC,cAAc,IAAI,WAAW,CAAC,QAAQ,EAAC;AACrD,gCAAA,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;AACzB,gCAAA,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;AACnB,gCAAA,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;gCACnC,IAAG,OAAO,CAAC,YAAY,IAAI,WAAW,CAAC,cAAc,EAAC;AACpD,oCAAA,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC;iCACrD;6BACF;iCAAK;AACJ,gCAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,gCAAA,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;AACnB,gCAAA,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;AAClC,gCAAA,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;;gCAEvC,IAAG,OAAO,CAAC,YAAY,IAAI,WAAW,CAAC,cAAc,EAAC;AAClD,oCAAA,OAAO,CAAC,cAAc,GAAG,EAAE,CAAC;iCAC/B;6BACF;yBACF;qBACF;AACH,iBAAC,CACF,CAAC;AACJ,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACrC;;;;;AAKH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,0BAA0B,EAAE,CAAC;KACnC;;AAED,IAAA,qBAAqB,CAAC,SAAS,EAAA;QAC7B,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,IAAG;AAC5C,YAAA,IAAI,EAAE,CAAC,OAAO,EAAE;gBACZ,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AACpC,gBAAA,OAAO,MAAM,CAAC,gBAAgB,IAAI,SAAS,CAAC;aAC/C;AACD,YAAA,OAAO,KAAK,CAAC;AACjB,SAAC,CAAC,CAAC;AAEH,QAAA,cAAc,CAAC,OAAO,CAAC,EAAE,IAAG;AACxB,YAAA,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;AACnB,YAAA,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;AACd,YAAA,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC;AAC7B,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;AAE/B,YAAA,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtC,SAAC,CAAC,CAAC;KACN;AAEC,IAAA,YAAY,CAAC,MAAM,EAAA;AACjB,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC;AACpE,QAAA,KAAK,IAAI,EAAE,IAAI,MAAM,EAAE;AACrB,YAAA,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;SACjB;KACF;;IAED,0BAA0B,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YACnE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,WAAgB,KAAG;gBACvC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,aAAiB,KAAI;oBACpD,IAAG,WAAW,CAAC,gBAAgB,IAAI,aAAa,CAAC,UAAU,EAAC;AAC1D,wBAAA,WAAW,CAAC,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC;AAC/C,wBAAA,WAAW,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC;qBAClD;AACJ,iBAAC,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;;;SAGJ;KACF;AAED,IAAA,eAAe,CAAC,OAAO,EAAA;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACjC;;IAGD,iBAAiB,CAAC,KAAK,EAAE,IAAS,EAAA;QAChC,IAAI,YAAY,GAAI,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACzC,IAAG,IAAI,EAAC;AACN,YAAA,IAAG,IAAI,CAAC,IAAI,IAAI,UAAU,IAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAG;;AAElD,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;AAC1D,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;AACpE,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;;AAE5D,gBAAA,YAAY,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;AACvC,gBAAA,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;AAC5B,gBAAA,IAAG,YAAY,CAAC,OAAO,CAAC,EAAC;AACvB,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACzC,iBAAC;aACF;AAAM,iBAAA,IAAG,IAAI,CAAC,IAAI,IAAI,UAAU,EAAC;AAChC,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;aAC7C;AAAK,iBAAA,IAAG,IAAI,CAAC,IAAI,IAAI,MAAM,EAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;;AAIlD,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;;AAE/C,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,GAAG,IAAI,YAAY,EAAE,GAAG,IAAI,CAAC;iBAChE;AAAM,qBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;;AAEnD,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;iBACnB;;AAGD,gBAAA,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/D,oBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;AAChC,oBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;iBAChD;aAEM;AAAK,iBAAA,IAAG,IAAI,CAAC,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAC;AACrD,gBAAA,IAAG,KAAK,CAAC,KAAK,EAAC;oBACd,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9B,oBAAA,IAAI,SAAS,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC;AACjC,oBAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;iBACvB;qBAAK;AACL,oBAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;iBAChB;aACH;AAAK,iBAAA,IAAG,IAAI,CAAC,IAAI,IAAI,MAAM,EAAC;;AAE3B,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrE,aAAC;AACI,iBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;AACrC,gBAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;aAC1B;iBAAK;AACJ,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;;;YAGG,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,KACpC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;iBAC/C,IAAI,CAAC,IAAI,KAAK,cAAc,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3E,iBAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CACzE,CAAC;AACF,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,YAAY,EAAE,GAAG,IAAI,CAAC;AACtD,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,GAAG,IAAI,YAAY,EAAE,GAAG,IAAI,CAAC;;AAElD,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;AAEjC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChC;KACF;AACD,IAAA,UAAU,CAAC,QAAY,EAAA;AACrB,QAAA,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,QAAQ,CAAC,CAAA;KACjC;AACD,IAAA,WAAW,CAAC,KAAS,EAAA;AACnB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzC;;AAED,IAAA,kBAAkB,CAAC,KAAS,EAAA;AAC1B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;AAED,IAAA,gBAAgB,CAAC,KAAS,EAAA;QACxB,IAAG,KAAK,EAAC;AACP,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACtC;KACF;;;AAID,IAAA,gBAAgB,CAAC,YAAmB,EAAA;QACjC,IAAI,WAAW,GAAG,YAAY,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACxD,QAAA,OAAO,WAAW,CAAC;KACrB;;;;;;;;;;;;IAcD,mBAAmB,GAAG,KAAK,CAAC;AAC5B,IAAA,kBAAkB,CAAK;AACvB,IAAA,iBAAiB,CAAK;AACtB,IAAA,uBAAuB,CAAM;IAC7B,kBAAkB,GAAG,EAAE,CAAC;AACxB,IAAA,cAAc,CAAK;AACnB,IAAA,wBAAwB,CAAK;AAE7B,IAAA,iBAAiB,CAAC,KAAK,EAAA;AACrB,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;AAC3C,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;AACnD,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC;AAC3C,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC;AACzC,QAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC,eAAe,CAAC;AACrD,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,WAAW,CAAC;KACnD;IAGD,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;KACvD;AAGD,IAAA,mBAAmB,CAAC,KAAK,EAAA;AACvB,QAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;KACrC;AAED,IAAA,kBAAkB,CAAC,KAAK,EAAA;AACtB,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;KAClC;AAnZU,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,sLA+DtB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FA/DP,qBAAqB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnBlC,8mYA+MyD,EAAA,MAAA,EAAA,CAAA,o9BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAkC,uBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,WAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAnB,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAoB,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,GAAA,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,EAAA,QAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,cAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,cAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,SAAA,EAAA,eAAA,EAAA,aAAA,EAAA,IAAA,EAAA,UAAA,EAAA,cAAA,EAAA,OAAA,EAAA,aAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED5L5C,qBAAqB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,oBAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAnB,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAoB,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,aAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,eAAA,EAAA,aAAA,EAAA,IAAA,EAAA,UAAA,EAAA,cAAA,EAAA,OAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,8mYAAA,EAAA,MAAA,EAAA,CAAA,o9BAAA,CAAA,EAAA,CAAA;;0BAmEzB,MAAM;2BAAC,QAAQ,CAAA;yCA9DT,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACE,YAAY,EAAA,CAAA;sBAApB,KAAK;gBA0CI,sBAAsB,EAAA,CAAA;sBAA/B,MAAM;gBAEG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;gBACG,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;;;ME7CI,gBAAgB,CAAA;AAmCjB,IAAA,SAAA,CAAA;AACA,IAAA,WAAA,CAAA;AACA,IAAA,cAAA,CAAA;AACA,IAAA,KAAA,CAAA;AACA,IAAA,SAAA,CAAA;AACA,IAAA,aAAA,CAAA;AAED,IAAA,WAAA,CAAA;AAzCA,IAAA,SAAS,CAAS;AAClB,IAAA,IAAI,CAAS;AACb,IAAA,GAAG,CAAS;AACZ,IAAA,WAAW,CAAM;AACjB,IAAA,qBAAqB,CAAK;AAC1B,IAAA,UAAU,CAAQ;AAClB,IAAA,KAAK,CAAQ;IACb,YAAY,CAAQ;IACpB,iBAAiB,CAAM;AACtB,IAAA,wBAAwB,GAAsB,IAAI,YAAY,EAAE,CAAC;AACjE,IAAA,UAAU,GAAsB,IAAI,YAAY,EAAE,CAAC;AACnD,IAAA,sBAAsB,GAAqB,IAAI,YAAY,EAAE,CAAC;;AAE9D,IAAA,kBAAkB,GAAsB,IAAI,YAAY,EAAE,CAAC;AAC3D,IAAA,mBAAmB,GAAsB,IAAI,YAAY,EAAE,CAAC;AAE/D,IAAA,UAAU,CAAiB;IAE3B,OAAO,GAAU,EAAE,CAAC;IACpB,MAAM,GAAQ,EAAE,CAAC;IACjB,OAAO,GAAiB,EAAE,CAAC;AAC3B,IAAA,gBAAgB,GAAQ,IAAI,GAAG,EAAE,CAAC;AAClC,IAAA,YAAY,GAAQ,IAAI,GAAG,EAAE,CAAC;AAC7B,IAAA,SAAS,GAAQ,IAAI,GAAG,EAAE,CAAC;IAC5B,YAAY,GAAY,KAAK,CAAC;AAC9B,IAAA,WAAW,CAAS;AACpB,IAAA,WAAW,CAAS;;AAE3B,IAAA,aAAa,GAAG,KAAK,CAAC;AACtB,IAAA,UAAU,GAAG,EAAE,CAAC;IACP,QAAQ,CAAK;AACtB,IAAA,SAAS,GAAO,EAAE,CAAC;AAEnB,IAAA,WAAA,CACU,SAA4B,EAC5B,WAAwB,EACxB,cAA8B,EAC9B,KAAqB,EACrB,SAAuB,EACvB,aAA4B,EACpC,EAAc,EACP,WAAwB,EAAA;QAPvB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAmB;QAC5B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAC9B,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACrB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAE7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAE/B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;KAC1C;IAED,QAAQ,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAmCF,IAAI,CAAC,cAAc,EAAE,CAAC;KAC3B;;AAED,IAAA,WAAW,CAAC,aAA2B,EAAA;;QAEtC,IAAG,aAAa,CAAC,WAAW,CAAC,KAAK,aAAa,CAAC,aAAa,CAAC,KAAK,aAAa,CAAC,aAAa,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,aAAa,CAAC,aAAa,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,EAAE;AACzT,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;;;;KAIF;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE;AAC/B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAClC;SACF;AAAM,aAAA,IAAG,IAAI,CAAC,WAAW,EAAE;;AAE1B,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAEzB,YAAA,IAAG,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE;;gBAE1D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC9C;YAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;;YAG1C,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;AACzC,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;aACxD;;;;;YAMD,IAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;gBAClG,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;AACnD,oBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC5E;aACF;;iBAEG;gBACF,IAAI,KAAK,GAAG,EAAE,CAAC;;;gBAGf,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACxC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;aACjE;;YAGA,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE;AACnD,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;aACtE;;YAED,IAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,IAAI,SAAS,EAAE;AACrD,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aACjE;SACF;;;QAGD,IAAG,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,EAAC;YACvC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1F,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,SAAS,CAAC;SACvC;aACI,IAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAC;;YAG1C,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC5E,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,SAAS,CAAC;SACvC;;AAGD,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC9C;;AAEO,IAAA,WAAW,GAAG,CAAC,IAAY,KAAI;AACrC,QAAA,IAAG,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;AACrB,YAAA,IAAI,CAAC,WAAW,CAAC,UAAU,CACzB,IAAI,CAAC,GAAG,EACR,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC,IAAI,CAAC,YAAY,CAAC,EAC3C,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,kBAAkB,CACxB,CAAC;SACH;aAAM;;AAEL,YAAA,IAAI,QAAQ,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;AAC/C,YAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1B,YAAA,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;AAC9B,YAAA,IAAI,IAAI,GAAG;AACT,gBAAA,QAAQ,EAAE,SAAS;AACnB,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;gBACnC,YAAY,EAAG,IAAI,CAAC,YAAY;aACjC,CAAA;YACD,IAAI,CAAC,SAAS,CAAC,YAAY,CACzB,2BAA2B,EAC3B,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACtB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,kBAAkB,CACxB,CAAC;SACH;AACH,KAAC,CAAA;AAEO,IAAA,kBAAkB,GAAG,CAAC,QAAQ,KAAI;AACxC,QAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,IAAG,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,SAAS,EAAE;;AAE5C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;;AAKnC,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AAChC,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC;;AAGlC,YAAA,KAAK,IAAI,EAAE,IAAI,QAAQ,CAAC,SAAS,EAAE;AACjC,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;aAChD;;AAGD,YAAA,KAAK,IAAI,KAAK,IAAI,QAAQ,CAAC,gBAAgB,EAAE;AAC3C,gBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;aACpE;;AAED,YAAA,KAAK,IAAI,KAAK,IAAI,QAAQ,CAAC,cAAc,EAAE;AACzC,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9D;;YAED,IAAG,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,SAAS,EAAE;AAC7C,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aACzD;SACF;;AAED,QAAA,IAAG,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAC;YAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAClF,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,SAAS,CAAC;SACvC;aACI,IAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAC;YAClC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAChF,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,SAAS,CAAC;SACvC;AACH,KAAC,CAAA;AAEO,IAAA,kBAAkB,GAAG,CAAC,QAAQ,KAAI;AAE1C,KAAC,CAAA;AAED,IAAA,wBAAwB,CAAC,MAAiB,EAAA;;;AAGxC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC;;AAErB,QAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC;AAC5C,QAAA,IAAG,EAAE,MAAM,CAAC,WAAW,KAAK,OAAO,IAAI,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC,EAAC;;YAErE,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;;AAErD,YAAA,IAAG,IAAI,CAAC,WAAW,EAAC;AAClB,gBAAA,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5E;;YAED,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YACrD,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;;YAEhF,KAAI,IAAI,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAC;gBACvD,MAAM,WAAW,GAAI,YAAY,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACpE,gBAAA,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,IAAG;;oBAEzC,IAAG,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,QAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE;AAC1N,wBAAA,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;wBACrB,SAAS,GAAG,KAAK,CAAC;wBAClB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;qBAC7C;;AAED,oBAAA,IAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAC;AACnC,wBAAA,IAAG,OAAO,CAAC,IAAI,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE;AACtF,4BAAA,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;yBACnC;AAAK,6BAAA,IAAG,OAAO,CAAC,IAAI,IAAI,MAAM,EAAC;AAC9B,4BAAA,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;yBACpB;6BAAK;AACJ,4BAAA,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;yBACpB;qBACF;AACF,iBAAC,CAAC,CAAC;aACL;SACF;;AAED,QAAA,IAAG,MAAM,CAAC,WAAW,KAAK,OAAO,EAAC;YAChC,YAAY,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7C;;;QAGD,IAAG,SAAS,EAAC;AACX,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAClD;aAAK;AACJ,YAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;AACjC,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAClD;KACF;;AAGD,IAAA,qBAAqB,CAAC,eAAe,EAAA;AACnC,QAAA,IAAG,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,EAAC;YACnE,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;SAC9D;AACG,aAAA;AACF,YAAA,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,gBAAgB,EAAE;gBAClD,MAAM,GAAG,GAAG,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AAClD,gBAAA,IAAG,GAAG,CAAC,IAAI,KAAK,MAAM,EAAC;AACrB,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;iBACnC;qBACG;AACF,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACtB;aACF;SACF;KACF;;;AAID,IAAA,UAAU,CAAC,QAAa,EAAA;AACtB,QAAA,QAAQ,EAAE,OAAO,CAAC,OAAO,IAAG;AAC1B,YAAA,IAAG,OAAO,CAAC,IAAI,KAAK,MAAM,EAAC;;gBAEzB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBACpD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAG;AAC5C,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACxB,iBAAC,CAAC,CAAC;aACJ;iBACG;AACF,gBAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;aAC1B;AACH,SAAC,CAAC,CAAC;;;AAGH,QAAA,IAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;AACxD,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;SAC5C;KACF;;;AAID,IAAA,UAAU,CAAC,IAAS,EAAA;;;AAGlB,QAAA,IAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAC;AACxD,YAAA,KAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC;gBAClD,IAAI,KAAK,GAAO,GAAG,CAAC;AACpB,gBAAA,IAAG,IAAI,CAAC,cAAc,KAAK,GAAG,EAAC;AAC7B,oBAAA,IAAG,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACpD,wBAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,IAAG;AAC/B,4BAAA,IAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG,EAAC;gCACnC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gCACtC,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;6BACvD;AACH,yBAAC,CAAC,CAAC;qBACJ;;AAEI,yBAAA,IAAG,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,EAAC;wBACtD,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;qBAC1C;;AAEI,yBAAA,IAAG,IAAI,CAAC,IAAI,KAAK,UAAU,EAAC;AAC/B,wBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,wBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;qBAClE;;AAEI,yBAAA,IAAG,IAAI,CAAC,IAAI,KAAK,UAAU,EAAC;wBAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;wBAC7C,IAAG,OAAO,EAAC;4BACT,IAAI,kBAAkB,GAAG,EAAE,CAAC;AAC5B,4BAAA,IAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC;AACnB,gCAAA,OAAO,CAAC,OAAO,CAAC,OAAO,IAAG;AACtB,oCAAA,IAAG,OAAO,CAAC,iBAAiB,EAAC;wCAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACvD,wCAAA,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;qCAC/C;AACL,iCAAC,CAAC,CAAC;6BACL;AACD,4BAAA,IAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAC;AAC/B,gCAAA,KAAK,EAAE,OAAO,CAAC,aAAa,IAAG;oCAC7B,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,oCAAA,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,IAAE;AACxC,wCAAA,KAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAC;AAC3C,4CAAA,kBAAkB,CAAC,OAAO,CAAC,KAAK,IAAG;AACjC,gDAAA,IAAG,KAAK,CAAC,cAAc,IAAI,CAAC,EAAC;AAC5B,oDAAA,IAAG,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,EAAC;wDAC5E,KAAK,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;qDACrC;AAAA,oDAAA,IAAG,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAC;AACtD,wDAAA,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;AACxB,wDAAA,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;qDACjB;yDAAK;AACJ,wDAAA,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;qDACjB;iDACF;AACH,6CAAC,CAAC,CAAC;yCACJ;wCACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAC,kBAAkB,CAAC,CAAC;AACzC,qCAAC,CAAC,CAAA;;AAEL,iCAAC,CAAC,CAAC;6BACL;yBACF;wBACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;qBAC9D;;AAEI,yBAAA,IAAG,IAAI,CAAC,IAAI,KAAK,MAAM,EAAC;AAC3B,wBAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,wBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;qBACpB;yBACG;AACF,wBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;qBACpB;oBACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBACG;AACF,oBAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;iBAC1C;aACF;SACF;aACG;YACF,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,YAAA,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACzB,YAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;;AAE/B,YAAA,IAAG,IAAI,CAAC,IAAI,KAAK,UAAU,EAAC;AAC1B,gBAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;aAClE;AAAK,iBAAA,IAAG,IAAI,CAAC,IAAI,IAAI,MAAM,EAAC;;AAE3B,gBAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;aAClD;AACD,YAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;AAC7B,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;AACjD,YAAA,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;AAClD,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChC;KACF;;IAGD,QAAQ,CAAC,GAAQ,EAAE,SAAS,EAAA;;QAE1B,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;YAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AACrB,YAAA,OAAO,GAAG,CAAC;SACd,EAAE,EAAE,CAAC,CAAC;;QAGP,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QAErG,IAAI,aAAa,EAAE;;AAEf,YAAA,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3E,YAAA,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjC,YAAA,aAAa,CAAC,OAAO,GAAG,eAAe,CAAC;SAC3C;aAAM;;AAEH,YAAA,MAAM,QAAQ,GAAG;AACb,gBAAA,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AACjD,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,OAAO,EAAE,CAAC,UAAU,CAAC;aACxB,CAAC;AACF,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;KACJ;AAGC,IAAA,aAAa,CAAC,IAAY,EAAA;QACxB,IAAI,SAAS,GAAG,EAAE,CAAC;;AAEnB,QAAA,KAAI,IAAI,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE;AAC5D,YAAA,IAAI,CAAC,GAAa,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;;YAEpE,IAAG,CAAC,EAAC;gBACH,IAAG,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1E,oBAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC1C;qBAAM;AACL,oBAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACF;SACF;;AAGD,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC1B,YAAA,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AACjF,YAAA,SAAS,CAAC,OAAO,CAAC,IAAI,IAAG;gBACrB,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAEjE,IAAI,WAAW,EAAE;AACb,oBAAA,IAAI,CAAC,UAAU,GAAG,WAAW,KAAK,UAAU,CAAC;AAC7C,oBAAA,IAAI,CAAC,QAAQ,GAAG,WAAW,KAAK,MAAM,CAAC;iBAC1C;AACL,aAAC,CAAC,CAAC;SACN;AACC,QAAA,OAAO,SAAS,CAAC;KAClB;;AAED,IAAA,kBAAkB,CAAC,IAAY,EAAA;QAC7B,IAAI,MAAM,GAAG,EAAE,CAAC;QACd,IAAI,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,IAAG,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AACjD,YAAA,eAAe,CAAC,OAAO,CAAC,MAAM,IAAG;gBAC/B,IAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAC;AACzC,oBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;iBACxB;AACH,aAAC,CAAC,CAAC;SACH;AACA,QAAA,OAAO,MAAM,CAAC;KACjB;AAED,IAAA,OAAO,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,GAAG,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC9D,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAC3C,GAAG,CAAC,eAAe,CAAC,WAAW,CAChC,CAAC;KACH;AACD,IAAA,WAAW,CAAC,KAAS,EAAA;AACnB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzC;;AAED,IAAA,eAAe,CAAC,KAAS,EAAA;AACvB,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;AACD,IAAA,gBAAgB,CAAC,KAAS,EAAA;AACxB,QAAA,KAAK,CAAC,OAAO,CAAC,GAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACtC;wGAtgBU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAzC,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAF,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA4C,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAvD,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAmD,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,6jBC7B7B,i6GA0DA,EAAA,MAAA,EAAA,CAAA,iQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAzC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAoB,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAsB,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,EAAA,qBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,YAAA,EAAA,OAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,gBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD7Ba,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,i6GAAA,EAAA,MAAA,EAAA,CAAA,iQAAA,CAAA,EAAA,CAAA;uQAKd,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACI,wBAAwB,EAAA,CAAA;sBAAjC,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,sBAAsB,EAAA,CAAA;sBAA/B,MAAM;gBAEG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;gBACG,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;gBAgBE,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MElDK,iBAAiB,CAAA;AAIR,IAAA,aAAA,CAAA;AACT,IAAA,WAAA,CAAA;AAJF,IAAA,YAAY,CAAC;AACb,IAAA,GAAG,CAAC;IAEb,WAAoB,CAAA,aAA4B,EACrC,WAAwB,EAAA;QADf,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QACrC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAC5B;IAEP,QAAQ,GAAA;KACP;AAED,IAAA,OAAO,CAAC,IAAI,EAAA;AACT;;;;;;AAMD;AACD,QAAA,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpE;;KAEA;AAED,IAAA,UAAU,CAAC,OAAO,EAAA;AAChB,QAAA,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACxC;wGA5BU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA5B,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA3B,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,2GCV9B,ssCAuBE,EAAA,MAAA,EAAA,CAAA,8WAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAqD,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDbW,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,ssCAAA,EAAA,MAAA,EAAA,CAAA,8WAAA,CAAA,EAAA,CAAA;sGAKhB,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;;;MEDK,oBAAoB,CAAA;AAWZ,IAAA,WAAA,CAAA;AAVV,IAAA,UAAU,CAAK;AACf,IAAA,GAAG,CAAQ;IAEb,OAAO,GAAU,EAAE,CAAC;AACpB,IAAA,gBAAgB,GAAQ,IAAI,GAAG,EAAE,CAAC;IAClC,OAAO,GAAiB,EAAE,CAAC;AAC1B,IAAA,SAAS,GAAQ,IAAI,GAAG,EAAE,CAAC;IAC5B,SAAS,GAAS,EAAE,CAAC;AAC5B,IAAA,gBAAgB,CAAQ;AAExB,IAAA,WAAA,CAAmB,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAAK;IAEhD,QAAQ,GAAA;AACN,QAAA,IAAG,IAAI,CAAC,UAAU,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;;YAGvC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;AACxC,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;aACvD;;YAED,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE;AAClD,gBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;aAC3E;SACF;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACnC;;AAED,IAAA,cAAc,CAAC,IAAQ,EAAA;QACrB,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC;YACnC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtB,YAAA,KAAI,IAAI,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE;AAC3D,gBAAA,IAAI,CAAC,GAAa,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACpE,gBAAA,IAAG,CAAC,CAAC,IAAI,IAAI,UAAU,EAAE;AACvB,oBAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC1C;qBAAM;AACL,oBAAA,IAAG,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAC;AACzB,wBAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACnB;iBACF;aACF;SACF;AACD,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;;QAExC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAQ,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAA;AAC1E,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AAC3B,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AACjB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACzB,gBAAA,EAAE,EAAE,EAAE;AACN,gBAAA,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAK,KAAK,CAAC,CAAC,cAAc,KAAK,EAAE,CAAC;AACrE,aAAA,CAAC,CAAC;AACP,SAAC,CAAC,CAAA;QACF,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACvD;wGAzDU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA7D,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,0GCXjC,69DAwCA,EAAA,MAAA,EAAA,CAAA,iiDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA8D,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD7Ba,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,kBAAkB,EAAA,QAAA,EAAA,69DAAA,EAAA,MAAA,EAAA,CAAA,iiDAAA,CAAA,EAAA,CAAA;6EAKnB,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;;;AEbR;MAmBa,UAAU,CAAA;IAErB,OAAO,OAAO,CAAC,MAAM,EAAA;QACnB,OAAO;AACL,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,SAAS,EAAE;gBACT,WAAW;AACX,gBAAA;AACE,oBAAA,OAAO,EAAE,iBAAiB;AAC1B,oBAAA,QAAQ,EAAE,MAAM;AACjB,iBAAA;AACF,aAAA;SACF,CAAA;KACF;wGAbU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YAHnB,YAAY,CAAA,EAAA,CAAA,CAAA;AAGH,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YAHnB,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAGH,UAAU,EAAA,UAAA,EAAA,CAAA;kBATtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;;;AAGb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACF,iBAAA,CAAA;;;AClBD;MA2Ba,aAAa,CAAA;AAGf,IAAA,WAAA,CAAA;;AADT,IAAA,WAAA,CACS,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;KAC7B;IACJ,QAAQ,GAAA;AACN,QAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;;KAErC;AAED,IAAA,UAAU,CAAC,KAAK,EAAA;AACd,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;;AAEvC,QAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KAC1B;wGAfU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA7D,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,EAXd,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sFAAA,EAAA,sDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEU,aAAa,EAAA,UAAA,EAAA,CAAA;kBAxBzB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAYV,QAAA,EAAA,CAAA;;;;;;;;;AAST,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,sFAAA,EAAA,sDAAA,CAAA,EAAA,CAAA;;;ACzBH,MAAM,MAAM,GAAG;AACX,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,mBAAmB,EAAE,yBAAyB;AAC9C,IAAA,gBAAgB,EAAE,oBAAoB;;;;;AAKtC,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,SAAS;AAClB,IAAA,gBAAgB,EAAE,sBAAsB;AACxC,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,WAAW,EAAE,iBAAiB;AAC9B,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,qBAAqB,EAAE,yBAAyB;AAChD,IAAA,YAAY,EAAE,KAAK;CACtB;;;;;;;AC1BD,MAAM,MAAM,GAAG;AACX,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,MAAM,EAAE,OAAO;AACf,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,mBAAmB,EAAE,oBAAoB;AACzC,IAAA,gBAAgB,EAAE,YAAY;;;;;AAK9B,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,QAAQ;AACjB,IAAA,gBAAgB,EAAE,eAAe;AACjC,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,GAAG,EAAE,MAAM;AACX,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,UAAU,EAAE,WAAW;AACvB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,YAAY,EAAE,aAAa;AAC3B,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,qBAAqB,EAAE,oBAAoB;AAC3C,IAAA,YAAY,EAAE,KAAK;CACtB;;;;;;;AC1BD,MAAM,OAAO,GAAG;AACZ,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,MAAM,EAAE,mBAAmB;AAC3B,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,WAAW,EAAE,+BAA+B;AAC5C,IAAA,UAAU,EAAE,qBAAqB;AACjC,IAAA,mBAAmB,EAAE,kBAAkB;AACvC,IAAA,gBAAgB,EAAE,yCAAyC;;;;;AAK3D,IAAA,UAAU,EAAE,sBAAsB;AAClC,IAAA,UAAU,EAAE,oBAAoB;IAChC,OAAO,EAAE,WAAW;AACpB,IAAA,gBAAgB,EAAE,+BAA+B;AACjD,IAAA,MAAM,EAAE,YAAY;AACpB,IAAA,GAAG,EAAE,MAAM;AACX,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,UAAU,EAAE,4BAA4B;AACxC,IAAA,WAAW,EAAE,gBAAgB;AAC7B,IAAA,YAAY,EAAE,kCAAkC;AAChD,IAAA,aAAa,EAAE,yBAAyB;AACxC,IAAA,qBAAqB,EAAE,+BAA+B;AACtD,IAAA,YAAY,EAAE,KAAK;CACtB;;;;;;;MClBY,eAAe,CAAA;AAIN,IAAA,aAAA,CAAA;IAFpB,SAAS,GAAY,KAAK,CAAC;AAE3B,IAAA,WAAA,CAAoB,aAA4B,EAAA;QAA5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAI;IAEpD,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,KAAI;AAClD,YAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;AAC3B,SAAC,CAAC,CAAC;KACJ;wGAVU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAgC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,kDCR5B,mGAGE,EAAA,MAAA,EAAA,CAAA,gTAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDKW,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;+BACE,YAAY,EAAA,QAAA,EAAA,mGAAA,EAAA,MAAA,EAAA,CAAA,gTAAA,CAAA,EAAA,CAAA;;;AEJxB;MAOa,sBAAsB,CAAA;AACd,IAAA,gBAAA,CAAA;AAAnB,IAAA,WAAA,CAAmB,gBAAkC,EAAA;QAAlC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAAI;wGAD9C,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;ACND;MA2Da,kBAAkB,CAAA;IACrB,YAAY,GAAkB,EAAE,CAAC;AACjC,IAAA,mBAAmB,GAAG,IAAI,eAAe,CAAgB,EAAE,CAAC,CAAC;AAC7D,IAAA,sBAAsB,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC,CAAC,CAAC;IACzD,gBAAgB,GAA4B,IAAI,CAAC;AACzD,IAAA,IAAI,CAAK;AAET,IAAA,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;AACxD,IAAA,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;AAC9D,IAAA,SAAS,CAAM;AACf,IAAA,QAAQ,CAAQ;;AAGhB,IAAA,WAAA,GAAA;;QAGE,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC/D,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAClD,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACpD;KACF;;IAGD,mBAAmB,GAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;KAC9B;AAED,IAAA,mBAAmB,CAAC,SAA2B,EAAA;AAC7C,QAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;KACnC;;AAGD,IAAA,UAAU,CAAC,OAAoB,EAAE,QAAA,GAA0B,IAAI,EAAA;;QAG7D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;;;AAInD,YAAA,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAC;gBAC1C,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACnD,IAAI,CAAC,IAAI,GAAG;AACV,oBAAA,kBAAkB,EAAE;AACjB,wBAAA,CAAC,IAAI,CAAC,SAAS,GAAG;AAClB,4BAAA,cAAc,EAAE,EAAE;AACjB,yBAAA;AACF,qBAAA;iBACF,CAAC;aAEH;iBAAI;AACJ,gBAAA,IAAI,CAAC,SAAS,GAAG+B,EAAM,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,GAAG;AACV,oBAAA,kBAAkB,EAAE;AACjB,wBAAA,CAAC,IAAI,CAAC,SAAS,GAAG;AAClB,4BAAA,cAAc,EAAE,EAAE;AACjB,yBAAA;AACF,qBAAA;iBACF,CAAC;aAEH;;AAGA,YAAA,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACrD;AACD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChC,QAAA,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACvD;IAED,aAAa,CAAC,KAAa,EAAE,OAA6B,EAAA;QACxD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACzC,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;YACjB,QAAQ,CAAC,KAAK,CAAC,GAAG;gBAChB,GAAG,QAAQ,CAAC,KAAK,CAAC;AAClB,gBAAA,GAAG,OAAO;aACX,CAAC;AACF,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzC;AAEH,QAAA,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;AAClD,YAAA,MAAM,cAAc,GAAG;AACrB,gBAAA,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AAC3B,gBAAA,GAAG,OAAO;aACX,CAAC;AACF,YAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE;AAClC,gBAAA,IAAI,cAAc,CAAC,YAAY,EAAE;AAC/B,oBAAA,MAAM,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACxE,oBAAA,cAAc,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAA,EAAG,YAAY,CAAI,EAAA,CAAA,GAAG,YAAY,CAAC;iBACrF;aACF;;YAGD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,cAAc,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC1G,cAAc,CAAC,YAAY,GAAG,CAAA,EAAG,cAAc,CAAC,YAAY,IAAI,CAAC;aAClE;AAAM,iBAAA,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,cAAc,CAAC,YAAY,IAAI,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACjH,gBAAA,cAAc,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC1E;AAEC,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC;AAC1C,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACtD,YAAA,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;SACzE;KACF;AAED,IAAA,kBAAkB,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACzC;IAED,WAAW,GAAA;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,eAAe,GAAA;QACb,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5E,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AACxC,YAAA,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;;gBAE1F,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;AAC5B,oBAAA,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;iBAC9B;;gBAED,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACvC;AACH,SAAC,CAAC,CAAC;AAEC,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;;;;;;;;;;;;;;;;;AAqBD,IAAA,sBAAsB,CAAC,GAAQ,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAY,KAAI;AACzC,YAAA,IAAI,OAAO,CAAC,GAAG,KAAK,GAAG,EAAE;AACvB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7B;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AAClC,QAAA,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;KACvD;wGAtKU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;;4FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;AC1DD;MAmBa,gBAAgB,CAAA;AAQP,IAAA,kBAAA,CAAA;AANV,IAAA,oBAAoB,GAAG,IAAI,YAAY,EAAU,CAAC;AAChC,IAAA,aAAa,CAAa;AAC7C,IAAA,WAAW,CAAM;AACjB,IAAA,SAAS,CAAM;IAExB,YAAY,GAAU,EAAE,CAAC;AACzB,IAAA,WAAA,CAAoB,kBAAsC,EAAA;QAAtC,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KACzD;IACD,QAAQ,GAAA;;QAEN,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AAC3D,YAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;AACnD,SAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAe,GAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9C,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;;AAEpB,YAAA,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACzC,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;YACzC,YAAY,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AACpD,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,IAAG;AAClF,gBAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;AAC5D,aAAC,CAAC,CAAC;SACJ;aACG;YACF,YAAY,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;SACzC;KACF;AAED,IAAA,IAAI,CAAC,KAA4B,EAAA;AAC/B,QAAA,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;KAC7E;;AAID,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9C;AAED,IAAA,UAAU,CAAC,IAAY,EAAA;AACtB,QAAA,MAAM,SAAS,GAAGA,EAAM,EAAE,CAAC;AAC1B,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,EAAE,EAAE,SAAS;AACb,YAAA,GAAG,EAAE,SAAS;AACd,YAAA,IAAI,EAAE,EAAE;YACR,IAAI;AACJ,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,qBAAqB,EAAE,EAAE;AACzB,YAAA,SAAS,EAAE,EAAE;AACb,YAAA,cAAc,EAAE,KAAK;AACrB,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,qBAAqB,EAAE,EAAE;YACzB,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC;AAChE,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,oBAAoB,EAAE,EAAE;AACxB,YAAA,oBAAoB,EAAE,EAAE;AACxB,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,OAAO,EAAE,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,UAAU,GAAG;AACxE,gBAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE;AAC9D,gBAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE;aAC/D,GAAG,IAAI;SAET,CAAC;AACF,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;KAC3D;AAED,IAAA,SAAS,CAAC,OAAgD,EAAA;AACxD,QAAA,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;KACpE;IAED,YAAY,CAAC,OAAgD,EAAE,KAAa,EAAA;AAC1E,QAAA,OAAO,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;KACzB;;IAGD,aAAa,CAAC,KAAU,EAAC,KAAa,EAAA;AACpC,QAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;KACzD;AAGD,IAAA,aAAa,CAAC,KAAU,EAAA;AACtB,QAAA,MAAM,MAAM,GAAG;AACb,YAAA,aAAa,EAAE,KAAK,CAAC,IAAI,IAAI,gBAAgB;AAC7C,YAAA,aAAa,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK;AACxC,YAAA,OAAO,EAAE,CAAG,EAAA,KAAK,CAAC,KAAK,IAAI,GAAG,CAAI,EAAA,CAAA;AAClC,YAAA,QAAQ,EAAE,CAAG,EAAA,KAAK,CAAC,MAAM,IAAI,EAAE,CAAI,EAAA,CAAA;AACnC,YAAA,YAAY,EAAE,KAAK,CAAC,SAAS,IAAI,MAAM;SACxC,CAAC;;AAGF,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC/C,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AACjC,gBAAA,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;aAC/B;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACnC,gBAAA,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;aACjC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACtC,gBAAA,MAAM,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC;aACzC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACvC,gBAAA,MAAM,CAAC,gBAAgB,CAAC,GAAG,YAAY,CAAC;aACzC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACtC,gBAAA,MAAM,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC;aACxC;SACF;AAED,QAAA,OAAO,MAAM,CAAC;KACf;wGA5IU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,8RCnB7B,8ocA4RA,EAAA,MAAA,EAAA,CAAA,wnOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,iGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA9D,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,4BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,+BAAA,EAAA,2BAAA,EAAA,6BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDzQa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,8ocAAA,EAAA,MAAA,EAAA,CAAA,wnOAAA,CAAA,EAAA,CAAA;oFAOb,oBAAoB,EAAA,CAAA;sBAA7B,MAAM;gBACqB,aAAa,EAAA,CAAA;sBAAxC,SAAS;uBAAC,eAAe,CAAA;gBACjB,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MEdK,mBAAmB,CAAA;AAiYV,IAAA,IAAA,CAAA;AAAyB,IAAA,kBAAA,CAAA;;AA/XpB,IAAA,UAAU,CAAgC;AAC3D,IAAA,GAAG,CAA2B;IAEtC,cAAc,GAAW,EAAE,CAAC;IAE5B,oBAAoB,GAAW,CAAC,CAAC,CAAC;;IAEzB,mBAAmB,GAAW,EAAE,CAAC;AAC1C,IAAA,aAAa,GAAW,YAAY,CAAC;AACrC,IAAA,cAAc,GAAa,EAAE,CAAC;IAC9B,YAAY,GAAW,EAAE,CAAC;AAE1B,IAAA,eAAe,GAAQ,IAAI,CAAC;IAI5B,cAAc,CAAC,QAAgB,EAAE,KAAU,EAAA;AACzC,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;AACnC,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;;AAGzE,YAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;SACxC;KACF;AAGD,IAAA,gBAAgB,CAAC,WAAmB,EAAA;;AAElC,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;AAClC,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;;AAGzB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,UAAU,EAAE;;SAEf;KACF;AAED,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,KAAK,CAAC;AACvC,YAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAA,CAAE,CAAC,CAAC;SAC7C;KACF;AAGD,IAAA,aAAa,CAAC,KAAa,EAAA;QACzB,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;;AAGlC,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC;;QAGhE,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;QAEtC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;KAC/D;AAGC,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,OAAO,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;KAC/D;AAGD,IAAA,iBAAiB,GAAG;;AAGnB,QAAA,MAAM,EAAE;AACL,YAAA,YAAY,EAAE;;AAGZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;;AAGhF,gBAAA,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AAClF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;;AAGlC,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;gBAChF,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAG,GAAG,EAAE,MAAM;oBAC3C,OAAO,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE;gBACrE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAC,GAAG,EAAE,YAAY;AACjD,oBAAA,OAAO,EAAE;AACP,wBAAA,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE;AACrC,wBAAA,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE;AACrC,wBAAA,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE;AACxC,wBAAA,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE;qBACpC,EAAE;;gBAEL,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW;AAC/C,oBAAA,OAAO,EAAE;AACP,wBAAA,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE;AACzC,wBAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE;AACzC,wBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;AACvC,wBAAA,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE;AACnD,wBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,oBAAoB,EAAE;qBAEtD,EAAE;gBACL,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,EAAE,QAAQ;AAE3C,oBAAA,OAAO,EAAE;AACP,wBAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;AACnC,wBAAA,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/B,wBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;AACzC,wBAAA,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;AACvC,wBAAA,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE;AAC3C,wBAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAGpC,EAAE;gBACH,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAE/D,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;AAC1C,gBAAA,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAG;gBACzF,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE;AACjE,aAAA;AACF,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAChF,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACpF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AACnE,gBAAA;AACE,oBAAA,KAAK,EAAE,aAAa;AACpB,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,GAAG,EAAE,YAAY;AACjB,oBAAA,OAAO,EAAE;AACP,wBAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE;AAC/D,qBAAA;oBACD,cAAc,EAAE,aAAa;oBAC7B,IAAI,EAAE,MAAM;AACb,iBAAA;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA;AAED,QAAA,UAAU,EAAE;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,OAAO,EAAE;AACxE,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,aAAa,EAAC;AACtF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA;AACC,QAAA,MAAM,EAAE;AACN,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE;AAChF,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;AAEhF,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE;AACpE,wBAAA,EAAE,KAAK,EAAE,yBAAyB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,EAAE;AAClG,wBAAA,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAC,MAAM,EAAC,OAAO,CAAC,EAAE;AAC1F,wBAAA,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAC,MAAM,EAAC,OAAO,CAAC,EAAE;AAC1F,wBAAA,EAAE,KAAK,EAAE,iCAAiC,EAAE,KAAK,EAAE,0IAA0I,EAAE,UAAU,EAAE,CAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAC,MAAM,CAAC,EAAE;AAC3O,wBAAA,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,2CAA2C,EAAE,UAAU,EAAE,CAAC,MAAM,EAAC,MAAM,EAAC,KAAK,CAAC,EAAE;AAC9H,wBAAA,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,gEAAgE,EAAE,UAAU,EAAE,CAAC,MAAM,EAAC,MAAM,EAAC,MAAM,CAAC,EAAE;qBACvJ,EAAC;AACF,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;AACjF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA;AACD,QAAA,MAAM,EAAE;AACR,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA,EAAE,UAAU,EAAE;AACb,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;gBACV,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE;AAC3D,gBAAA,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE;gBACxF,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA,EAAC,SAAS,EAAE;AACX,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA,EAAC,UAAU,EAAE;AACZ,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AACnE,gBAAA;AACE,oBAAA,KAAK,EAAE,aAAa;AACpB,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,GAAG,EAAE,YAAY;AACjB,oBAAA,OAAO,EAAE;AACP,wBAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE;AAC/D,qBAAA;oBACD,cAAc,EAAE,aAAa;oBAC7B,IAAI,EAAE,MAAM;AACb,iBAAA;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAE/D,aAAA;AACF,SAAA,EAAC,OAAO,EAAE;AACT,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA,EAAC,OAAO,EAAE;AACb,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE;AAChF,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;AAChF,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE;AACjF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AACnE,gBAAA;oBACE,KAAK,EAAE,eAAe;AACtB,oBAAA,IAAI,EAAE,cAAc;oBACpB,GAAG,EAAE,cAAc;AACnB,oBAAA,OAAO,EAAE;AACP,wBAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE;AAC9D,wBAAA,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE;AAC/D,qBAAA;oBACD,cAAc,EAAE,YAAY;oBAC5B,IAAI,EAAE,MAAM;AACb,iBAAA;gBACD,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA;AACA,QAAA,MAAM,EAAE;AACH,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA,EAAC,QAAQ,EAAE;AACV,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,cAAc,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAG,GAAG,EAAE,UAAU,EAAC;AACnF,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAC/E,gBAAA,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE;AAC5D,gBAAA,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,EAAE,UAAU,EAAE;AAChF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;gBAC1C,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBACnE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE;gBACpE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;gBAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;AAC/D,aAAA;AACF,SAAA;KACF,CAAC;IAEF,WAAoB,CAAA,IAAgB,EAAS,kBAAsC,EAAA;QAA/D,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAAS,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;KAAI;IAGvF,QAAQ,GAAA;QACN,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAG;AACzD,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAClC,YAAA,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;AACvD,gBAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;AAC3C,gBAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;aACxC;AACH,SAAC,CAAC,CAAC;KACJ;IAGD,aAAa,CAAC,KAAa,EAAE,IAAY,EAAA;QACvC,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,aAAa,EAAE;YAC9C,MAAM,KAAK,GAAG,kBAAkB,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACtB,gBAAA,IAAI,CAAC,YAAY,GAAG,sCAAsC,CAAC;AAC3D,gBAAA,OAAO,KAAK,CAAC;aACd;SACF;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC;KACb;IAED,cAAc,CAAC,GAAW,EAAE,KAAU,EAAA;AACpC,QAAA,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE;YAClC,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,UAAU,EAAE;gBAChD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;oBACnC,OAAO;iBACR;aACF;AAED,YAAA,IAAI,GAAG,KAAK,YAAY,EAAE;;gBAExB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7B;AACD,YAAA,IAAI,GAAG,KAAK,QAAQ,EAAE;gBACpB,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,EAAE,CAAC;gBACxD,IAAI,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,WAAW,EAAE;;AAEnD,oBAAA,MAAM,aAAa,GAAG,KAAK,KAAK,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;AAC1E,oBAAA,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,CAAC;AACtE,oBAAA,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;AACnC,0BAAE,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;AACzC,0BAAE,CAAC,GAAG,cAAc,EAAE,KAAK,CAAC,CAAC;iBAChC;qBAAM;;AAEL,oBAAA,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;AACnC,0BAAE,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;AACxC,0BAAE,CAAC,GAAG,aAAa,EAAE,KAAK,CAAC,CAAC;iBAC/B;aACF;YAED,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;;AAGzE,YAAA,IAAI,GAAG,KAAK,MAAM,EAAE;gBAClB,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,KAAK,CAAC;aACnC;SACF;KACF;AAGD,IAAA,gBAAgB,CAAC,KAAc,EAAA;AAC7B,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;;AAExB,YAAA,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE;AACT,gBAAA,KAAK,GAAG,CAAG,EAAA,KAAK,CAAI,EAAA,CAAA,CAAC;aACtB;AACD,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACpC,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SACxC;KACF;IACD,aAAa,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,eAAe;AAAE,YAAA,OAAO,IAAI,CAAC;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KAC1D;;;;;;;;;;;;AAaA,IAAA,SAAS,CAAC,OAAc,EAAA;AACvB,QAAA,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;KACxC;;IAEH,YAAY,CAAC,OAAc,EAAE,KAAa,EAAA;AACtC,QAAA,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAC1B;IACD,QAAQ,GAAA;AACN,QAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAC;KAE1E;IACD,IAAI,GAAA;QACF,MAAM,MAAM,GAAG,uCAAuC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,CACzE,CAAC,QAAQ,KAAI;AACX,YAAA,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACrC,SAAC,EACD,CAAC,KAAwB,KAAI;AAC3B,YAAA,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACjC,SAAC,CACF,CAAC;KACH;wGApfU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAH,IAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAkE,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,wNCVhC,k9UA4TA,EAAA,MAAA,EAAA,CAAA,22KAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAzD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAN,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlTa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,k9UAAA,EAAA,MAAA,EAAA,CAAA,22KAAA,CAAA,EAAA,CAAA;+GAMD,UAAU,EAAA,CAAA;sBAAlC,SAAS;uBAAC,YAAY,CAAA;gBAOd,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;;;AEnBR;MAQa,aAAa,CAAA;IACxB,WAAW,GAAW,CAAC,CAAC;AAExB,IAAA,SAAS,GAAG;QACV,EAAE,IAAI,EAAE,6BAA6B,EAAE;QACvC,EAAE,IAAI,EAAE,iCAAiC,EAAE;QAC3C,EAAE,IAAI,EAAE,8BAA8B,EAAE;QACxC,EAAE,IAAI,EAAE,8BAA8B,EAAE;QACxC,EAAE,IAAI,EAAE,6BAA6B,EAAE;QACvC,EAAE,IAAI,EAAE,8BAA8B,EAAE;QACxC,EAAE,IAAI,EAAE,yBAAyB,EAAE;QACnC,EAAE,IAAI,EAAE,6BAA6B,EAAE;;KAExC,CAAC;AAEF,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC1B;wGAjBU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,gDCR1B,87BAgCA,EAAA,MAAA,EAAA,CAAA,ykCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDxBa,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,SAAS;+BACE,UAAU,EAAA,QAAA,EAAA,87BAAA,EAAA,MAAA,EAAA,CAAA,ykCAAA,CAAA,EAAA,CAAA;;;AEwDtB;AACA;AACA;AACA;AAEA;AACA,MAAM,SAAS,GAAG;;AAEhB,IAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAEmE,QAAM,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAEC,SAAO,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAEC,QAAM,EAAE;CAC7B,CAAA;MA+JY,YAAY,CAAA;wGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yGAAZ,YAAY,EAAA,SAAA,EAAA,CAvBV,eAAe,CAAA,EAAA,YAAA,EAAA,CArIb,eAAe;YAC5B,sBAAsB;YACtB,qBAAqB;YACrB,oBAAoB;YACpB,uBAAuB;YACvB,oBAAoB;YACpB,uBAAuB;YACvB,yBAAyB;YACzB,yBAAyB;YACzB,uBAAuB;YACvB,gBAAgB;YAChB,kBAAkB;YAClB,qBAAqB;YACrB,mBAAmB;YACnB,oBAAoB;YACpB,iBAAiB;YACjB,uBAAuB;YACvB,oBAAoB;YACpB,sBAAsB;YACtB,mBAAmB;YACnB,mBAAmB;YACnB,qBAAqB;YACrB,oBAAoB;YACpB,eAAe;YACf,aAAa;YACb,QAAQ;YACR,oBAAoB;YACpB,oBAAoB;;YAEpB,gBAAgB;YAChB,mBAAmB;AACnB,YAAA,aAAa;YAIb,uBAAuB;AACvB,YAAA,YAAY,EAAE,WAAW;;YAEzB,mBAAmB;YACnB,iBAAiB;YACjB,uBAAuB;YACvB,sBAAsB;YACtB,YAAY;;YAEZ,cAAc;YACd,gBAAgB;YAChB,gBAAgB;AAChB,YAAA,cAAc;;;;;AAMd,YAAA,gBAAgB,qDAkFR,eAAe;YACvB,sBAAsB;YACtB,gBAAgB;YAChB,oBAAoB;YACpB,QAAQ;YACR,aAAa;YACb,gBAAgB;YAChB,mBAAmB;YACnB,aAAa;;;AAaJ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAVZ,SAAA,EAAA;YACT,WAAW;YACX,QAAQ;AACR,YAAA,kBAAkB;AACnB,SAAA,EAAA,OAAA,EAAA,CApHC,WAAW,CAAC,OAAO,EAAE;YACrB,uBAAuB;AACvB,YAAA,YAAY,EAAE,WAAW;;YAEzB,mBAAmB;YACnB,iBAAiB;YACjB,uBAAuB;;YAIvB,cAAc;YACd,gBAAgB;YAChB,gBAAgB;AAChB,YAAA,cAAc;;;;;YAMd,gBAAgB;AAChB,YAAA,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;AAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDkB;YAEhB,sBAAsB,CAAC,OAAO,CAAC;AAC7B,gBAAA,oBAAoB,EAAE,IAAI;AAC1B,gBAAA,iBAAiB,EAAE,SAAS;AAC5B,gBAAA,6BAA6B,EAAE,SAAS;AACxC,gBAAA,kBAAkB,EAAE,SAAS;AAC7B,gBAAA,uBAAuB,EAAE,CAAC;gBAC1B,mBAAmB,EAAE,CAAC,EAAE;AACxB,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,YAAY,EAAE,GAAG;AACjB,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,qBAAqB,EAAE,IAAI;AAC3B,gBAAA,kBAAkB,EAAE,EAAE;AACtB,gBAAA,kBAAkB,EAAE,SAAS;AAC7B,gBAAA,8BAA8B,EAAE,SAAS;AACzC,gBAAA,kBAAkB,EAAE,CAAC;AACrB,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,eAAe,EAAE,SAAS;AAC1B,gBAAA,cAAc,EAAE,KAAK;aAAC,CAAC,CAAA,EAAA,CAAA,CAAA;;4FAyBlB,YAAY,EAAA,UAAA,EAAA,CAAA;kBA7JxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,eAAe;wBAC5B,sBAAsB;wBACtB,qBAAqB;wBACrB,oBAAoB;wBACpB,uBAAuB;wBACvB,oBAAoB;wBACpB,uBAAuB;wBACvB,yBAAyB;wBACzB,yBAAyB;wBACzB,uBAAuB;wBACvB,gBAAgB;wBAChB,kBAAkB;wBAClB,qBAAqB;wBACrB,mBAAmB;wBACnB,oBAAoB;wBACpB,iBAAiB;wBACjB,uBAAuB;wBACvB,oBAAoB;wBACpB,sBAAsB;wBACtB,mBAAmB;wBACnB,mBAAmB;wBACnB,qBAAqB;wBACrB,oBAAoB;wBACpB,eAAe;wBACf,aAAa;wBACb,QAAQ;wBACR,oBAAoB;wBACpB,oBAAoB;;wBAEpB,gBAAgB;wBAChB,mBAAmB;wBACnB,aAAa;AACd,qBAAA;AACD,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,CAAC,OAAO,EAAE;wBACrB,uBAAuB;AACvB,wBAAA,YAAY,EAAE,WAAW;;wBAEzB,mBAAmB;wBACnB,iBAAiB;wBACjB,uBAAuB;wBACvB,sBAAsB;wBACtB,YAAY;;wBAEZ,cAAc;wBACd,gBAAgB;wBAChB,gBAAgB;AAChB,wBAAA,cAAc;;;;;wBAMd,gBAAgB;AAChB,wBAAA,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;AAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDkB;wBAEhB,sBAAsB,CAAC,OAAO,CAAC;AAC7B,4BAAA,oBAAoB,EAAE,IAAI;AAC1B,4BAAA,iBAAiB,EAAE,SAAS;AAC5B,4BAAA,6BAA6B,EAAE,SAAS;AACxC,4BAAA,kBAAkB,EAAE,SAAS;AAC7B,4BAAA,uBAAuB,EAAE,CAAC;4BAC1B,mBAAmB,EAAE,CAAC,EAAE;AACxB,4BAAA,QAAQ,EAAE,EAAE;AACZ,4BAAA,OAAO,EAAE,CAAC;AACV,4BAAA,YAAY,EAAE,GAAG;AACjB,4BAAA,eAAe,EAAE,IAAI;AACrB,4BAAA,YAAY,EAAE,SAAS;AACvB,4BAAA,qBAAqB,EAAE,IAAI;AAC3B,4BAAA,kBAAkB,EAAE,EAAE;AACtB,4BAAA,kBAAkB,EAAE,SAAS;AAC7B,4BAAA,8BAA8B,EAAE,SAAS;AACzC,4BAAA,kBAAkB,EAAE,CAAC;AACrB,4BAAA,YAAY,EAAE,SAAS;AACvB,4BAAA,eAAe,EAAE,IAAI;AACrB,4BAAA,eAAe,EAAE,SAAS;AAC1B,4BAAA,cAAc,EAAE,KAAK;yBAAC,CAAC;AAC5B,qBAAA;oBACD,SAAS,EAAE,CAAE,eAAe,CAAE;oBAC9B,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,eAAe;wBACvB,sBAAsB;wBACtB,gBAAgB;wBAChB,oBAAoB;wBACpB,QAAQ;wBACR,aAAa;wBACb,gBAAgB;wBAChB,mBAAmB;wBACnB,aAAa;;AAEd,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,WAAW;wBACX,QAAQ;AACR,wBAAA,kBAAkB;AACnB,qBAAA;;;;;AAKF,iBAAA,CAAA;;;ACrOD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"rangertechnologies-ngnxt.mjs","sources":["../../../projects/nxt-app/src/lib/nxt-app.service.ts","../../../projects/nxt-app/src/lib/nxt-app.component.ts","../../../projects/nxt-app/src/lib/services/change.service.ts","../../../projects/nxt-app/src/lib/wrapper.ts","../../../projects/nxt-app/src/lib/model/errorWrapper.ts","../../../projects/nxt-app/src/lib/sample.ts","../../../projects/nxt-app/src/lib/services/salesforce.service.ts","../../../projects/nxt-app/src/lib/services/data.service.ts","../../../projects/nxt-app/src/lib/services/shared.service.ts","../../../projects/nxt-app/src/lib/i18n-config.service.ts","../../../projects/nxt-app/src/lib/i18n.service.ts","../../../projects/nxt-app/src/lib/components/custom-rich-text/custom-rich-text.component.ts","../../../projects/nxt-app/src/lib/components/custom-rich-text/custom-rich-text.component.html","../../../projects/nxt-app/src/lib/model/changeWrapper.ts","../../../projects/nxt-app/src/lib/i18n.pipe.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.ts","../../../projects/nxt-app/src/lib/components/pick-location/pick-location.component.html","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.ts","../../../projects/nxt-app/src/lib/components/custom-input/custom-input.component.html","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.ts","../../../projects/nxt-app/src/lib/components/custom-text-area/custom-text-area.component.html","../../../projects/nxt-app/src/lib/pipe/get-value.pipe.ts","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.ts","../../../projects/nxt-app/src/lib/components/custom-table/custom-table.component.html","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.ts","../../../projects/nxt-app/src/lib/components/custom-date-picker/custom-date-picker.component.html","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.ts","../../../projects/nxt-app/src/lib/components/dropdown-with-flag/dropdown-with-flag.component.html","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.ts","../../../projects/nxt-app/src/lib/components/custom-dropdown/custom-dropdown.component.html","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.ts","../../../projects/nxt-app/src/lib/components/custom-label/custom-label.component.html","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.ts","../../../projects/nxt-app/src/lib/pages/questionnaire/questionnaire.component.html","../../../projects/nxt-app/src/lib/services/storage.service.ts","../../../projects/nxt-app/src/lib/components/custom-calendar/custom-calendar.component.ts","../../../projects/nxt-app/src/lib/components/custom-calendar/custom-calendar.component.html","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.ts","../../../projects/nxt-app/src/lib/components/search-box/search-box.component.html","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.ts","../../../projects/nxt-app/src/lib/components/file-upload/file-upload.component.html","../../../projects/nxt-app/src/lib/components/dependent-table/dependent-table.component.ts","../../../projects/nxt-app/src/lib/components/dependent-table/dependent-table.component.html","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.ts","../../../projects/nxt-app/src/lib/components/table-appendix/table-appendix.component.html","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.ts","../../../projects/nxt-app/src/lib/components/custom-date/custom-date.component.html","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.component.ts","../../../projects/nxt-app/src/lib/components/custom-time/custom-time.component.html","../../../projects/nxt-app/src/lib/components/custom-button/custom-button.component.ts","../../../projects/nxt-app/src/lib/components/custom-button/custom-button.component.html","../../../projects/nxt-app/src/lib/components/custom-model/custom-model.component.ts","../../../projects/nxt-app/src/lib/components/custom-model/custom-model.component.html","../../../projects/nxt-app/src/lib/components/custom-image/custom-image.component.ts","../../../projects/nxt-app/src/lib/components/custom-image/custom-image.component.html","../../../projects/nxt-app/src/lib/components/custom-radio/custom-radio.component.ts","../../../projects/nxt-app/src/lib/components/custom-radio/custom-radio.component.html","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.ts","../../../projects/nxt-app/src/lib/pages/questionbook/questionbook.component.html","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.ts","../../../projects/nxt-app/src/lib/pages/booklet/booklet.component.html","../../../projects/nxt-app/src/lib/components/file-view/file-view.component.ts","../../../projects/nxt-app/src/lib/components/file-view/file-view.component.html","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.component.ts","../../../projects/nxt-app/src/lib/pages/summary-page/summary-page.component.html","../../../projects/nxt-app/src/lib/i18n.module.ts","../../../projects/nxt-app/src/lib/i18n.component.ts","../../../projects/nxt-app/src/lib/en.i18n.ts","../../../projects/nxt-app/src/lib/ar.i18n.ts","../../../projects/nxt-app/src/lib/tam.i18n.ts","../../../projects/nxt-app/src/lib/components/loader/loader.component.ts","../../../projects/nxt-app/src/lib/components/loader/loader.component.html","../../../projects/nxt-app/src/lib/directives/componenthost/componenthost.directive.ts","../../../projects/nxt-app/src/lib/services/form-builder.service.ts","../../../projects/nxt-app/src/lib/pages/builder/element/element.component.ts","../../../projects/nxt-app/src/lib/pages/builder/element/element.component.html","../../../projects/nxt-app/src/lib/pages/builder/properties/properties.component.ts","../../../projects/nxt-app/src/lib/pages/builder/properties/properties.component.html","../../../projects/nxt-app/src/lib/pages/builder/menu/menu.component.ts","../../../projects/nxt-app/src/lib/pages/builder/menu/menu.component.html","../../../projects/nxt-app/src/lib/nxt-app.module.ts","../../../projects/nxt-app/src/public-api.ts","../../../projects/nxt-app/src/rangertechnologies-ngnxt.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NxtAppService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-nxt-app',\r\n template: `\r\n <p>\r\n nxt-app works!\r\n </p>\r\n `,\r\n styles: []\r\n})\r\nexport class NxtAppComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { ChangeWrapper } from '../model/changeWrapper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ChangeService {\r\n // Reference: https://angular.io/guide/observables\r\n constructor() { }\r\n\r\n // Observable parentQuestion sources\r\n private changeAnnouncedSource = new Subject<ChangeWrapper>();\r\n private changeConfirmedSource = new Subject<string>();\r\n private validationSource = new Subject<string>();\r\n private fieldSource = new Subject<any>();\r\n // VD 13Sep24 - databind changes\r\n private customChanges = new Subject<any>();\r\n\r\n // Observable parentQuestion streams\r\n changeAnnounced$ = this.changeAnnouncedSource.asObservable();\r\n changeConfirmed$ = this.changeConfirmedSource.asObservable();\r\n submitValidate$ = this.validationSource.asObservable();\r\n changeField$ = this.fieldSource.asObservable();\r\n // VD 13Sep24 - databind changes\r\n customChange$ = this.customChanges.asObservable();\r\n\r\n // Service message commands\r\n announceChange(changeValue: ChangeWrapper) {\r\n // console.log('inside announceChange');\r\n console.log(changeValue);\r\n this.changeAnnouncedSource.next(changeValue);\r\n }\r\n\r\n confirmChange(childQuestion: string) {\r\n // console.log('inside confirmChange');\r\n console.log(childQuestion);\r\n this.changeConfirmedSource.next(childQuestion);\r\n }\r\n // VD 13Sep24 - databind changes\r\n dataChanges(data: string) {\r\n console.log('inside data bind change service');\r\n this.customChanges.next(data);\r\n }\r\n\r\n submitChange(value:string){\r\n this.validationSource.next(value);\r\n }\r\n fieldChange(value:any){\r\n console.log('getValue',value);\r\n this.fieldSource.next(value);\r\n }\r\n}\r\n","import { ErrorWrapper } from \"./model/errorWrapper\";\r\n// HA 19DEC23 Included style in the objects to use them in ts\r\n// RS 09DEC24 Changed keys\r\nexport class QuestionBook {\r\n id: number;\r\n Name: string;\r\n category: string;\r\n next : string;\r\n cancel : string;\r\n back : string;\r\n submit : string;\r\n edit : string;\r\n firstQuestion: string;\r\n title: string;\r\n nextTrackingId: string;\r\n backTrackingId: string;\r\n cancelTrackingId: string;\r\n submitTrackingId: string;\r\n totalQuestions: number;\r\n summaryText?: string;\r\n Questions__r?: QuestionR;\r\n progressBar: boolean;\r\n subTitle: string;\r\n qTyp: string;\r\n possibilities: string;\r\n summarySubText: string;\r\n isShengel?: boolean;\r\n style: {\r\n labelClass : any,\r\n labelStyle : any,\r\n labelValueStyle : any,\r\n inputClass : any,\r\n inputStyle : any,\r\n showLabel : boolean,\r\n bookStyle : any,\r\n direction: any,\r\n questionStyle: any;\r\n };\r\n}\r\nexport class Question {\r\n id: string;\r\n Name: string;\r\n referenceField?:string;\r\n dependentRef?: string;\r\n allowedFileExtensions :string;\r\n question : string;\r\n questionText : any;\r\n type: string;\r\n nextQuestion?: string;\r\n isOptional: boolean;\r\n title: string;\r\n subTitle: string;\r\n isTitle: boolean;\r\n x24Hours: boolean;\r\n errorMessage: string;\r\n isDateBackward : boolean;\r\n isDateForward : boolean;\r\n isHidden: boolean;\r\n groupName: string;\r\n questionNumber?: string;\r\n Question_Options__r?: OptionR;\r\n static x24Hours: boolean;\r\n options: any;\r\n size: number;\r\n subText: string;\r\n trackingId: string;\r\n timeText: string;\r\n dateText: string;\r\n additionalRichContent? : string;\r\n Questions__r?: QuestionR;\r\n RecordType: {\r\n Name: string;\r\n };\r\n subQuestions : any;\r\n input?: any;\r\n error?: ErrorWrapper;\r\n valueName?:string;\r\n dropDownOnly?:boolean;\r\n isDependentPicklist?:boolean;\r\n tableDataValue?:any[];\r\n tableHeader?:string;\r\n startDate?:any;\r\n selectedValue?:string;\r\n minDate?: any ;\r\n isShengel?: boolean;\r\n style: {\r\n labelClass : any,\r\n labelStyle : any,\r\n labelValueStyle : any,\r\n inputClass : any,\r\n inputStyle : any,\r\n showLabel : boolean,\r\n bookStyle : any,\r\n direction: any,\r\n questionStyle: any;\r\n };\r\n}\r\nexport class LocalQuestion {\r\n id: string;\r\n Name: string;\r\n allowedFileExtensions :string;\r\n question : string;\r\n questionText : string;\r\n type: string;\r\n title: string;\r\n subTitle: string;\r\n nextQuestion?: string;\r\n isOptional: boolean;\r\n isTitle: boolean;\r\n isHidden: boolean;\r\n x24Hours: boolean;\r\n errorMessage: string;\r\n isDateBackward : boolean;\r\n isDateForward : boolean;\r\n timeText : string;\r\n dateText : string;\r\n groupName: string;\r\n questionNumber?: string;\r\n Question_Options__r?: OptionR;\r\n subText : string;\r\n size: number;\r\n trackingId: string;\r\n additionalRichContent? : string;\r\n selectedValue:string;\r\n Questions__r?: QuestionR;\r\n RecordType: {\r\n Name: string;\r\n };\r\n input?: string;\r\n error?: ErrorWrapper;\r\n static x24Hours: boolean;\r\n uniqueSubQId: string;\r\n style: {\r\n labelClass : any,\r\n labelStyle : any,\r\n labelValueStyle : any,\r\n inputClass : any,\r\n inputStyle : any,\r\n showLabel : boolean,\r\n bookStyle : any,\r\n direction: any,\r\n questionStyle: any;\r\n };\r\n}\r\nexport class QuestionR {\r\n records?: Question[];\r\n}\r\nexport class OptionR {\r\n records?: Option[];\r\n} \r\nexport class Option {\r\n id: string;\r\n Name: string;\r\n value: string;\r\n trackingId: string;\r\n nextQuestion?: string;\r\n} \r\nexport class OptionValue {\r\n id: string;\r\n Name: string;\r\n value: string;\r\n nextQuestion?: string;\r\n checked: boolean;\r\n}\r\nexport class AnswerBook {\r\n id: string;\r\n questionBookId: string;\r\n status: string;\r\n Answers__r?: AnswerR;\r\n answers: any;\r\n}\r\nexport class Answer {\r\n id: string;\r\n quesValue: string;\r\n ansValue : string;\r\n qTyp: string;\r\n quesId: string;\r\n groupText: string;\r\n}\r\nexport class AnswerR {\r\n records?: Answer[];\r\n}\r\nexport class AnswerWrapper {\r\n ansId?: string;\r\n ansNumber?: number;\r\n abId: string;\r\n quesId: string;\r\n quesValue: string;\r\n qTyp: string;\r\n ansValue: string;\r\n groupText: string;\r\n squesValue: string;\r\n myVal: any; // HA 02FEB24 To display the values in summary\r\n}\r\nexport class AttachmentWrapper {\r\n parentId: string;\r\n fileName: string;\r\n fileContent: string;\r\n}\r\nexport class Attachment {\r\n public attachmentId: string;\r\n public attachmentName: string;\r\n public attachmentMetaData: any;\r\n constructor(id: string,name:string,metaData:any){\r\n this.attachmentId = id;\r\n this.attachmentName = name;\r\n this.attachmentMetaData = metaData;\r\n }\r\n}","export class ErrorWrapper {\r\n errorCode: string;\r\n errorMsg: string;\r\n errorDetails: string;\r\n}\r\n","import { Question, QuestionBook, AnswerBook } from \"./wrapper\";\r\n/*\r\nexport const TESTQUESTIONS: Question[] = [\r\n{ Id: 11, Name: '001', question: 'What is your Name?' },\r\n{ Id: 12, Name: '002', question: 'What is your favourite City?' },\r\n{ Id: 13, Name: '003', question: 'How many languages you speak?' },\r\n{ Id: 14, Name: '004', question: 'Share your feedback?' },\r\n];\r\n*/\r\n// Dynamic Field Changes\r\n// HA 19DEC23 Included style in the objects to use them in ts\r\n// RS 09DEC24 Changed keys\r\nexport const TESTQB: QuestionBook = {\r\nid: 2,\r\nName: 'QB-0000',\r\ncategory: 'Simple',\r\nnext : 'weiter',\r\ncancel :'zurück',\r\nback : 'zurück',\r\nsubmit : 'absenden',\r\nedit : 'Bearbeiten',\r\nnextTrackingId: '12345',\r\nbackTrackingId: '12345',\r\ncancelTrackingId: '12345',\r\nsubmitTrackingId: '12345',\r\nfirstQuestion: '1',\r\ntitle: 'Demo Unconditional',\r\ntotalQuestions: 3,\r\nsubTitle: 'subTitle',\r\nqTyp:'type',\r\npossibilities: 'poss',\r\nsummarySubText: 'subText',\r\nprogressBar: true,\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n}\r\n// Text Question\r\nexport const TESTQUESTION: Question = {\r\nid: '11',\r\nName: 'QN-00001',\r\ntype: 'Text',\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'What is your Name?',\r\nquestion: 'What is your Name?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nisTitle: true,\r\nx24Hours: true,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nselectedValue : 'test',\r\nisHidden : false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n// DateTime Question\r\nexport const DTQUESTION: Question = {\r\nid: '12',\r\nName: 'QN-00002',\r\ntype: 'DateTime',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'When did the incident happen?',\r\nquestion: 'When did the incident happen?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\nselectedValue : 'test',\r\nisTitle: true,\r\nx24Hours: true,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : true,\r\nisDateForward : true ,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n// File Question\r\nexport const FILEQUESTION: Question = {\r\nid: '13',\r\nName: 'QN-00003',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\ntype: 'File',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Upload the Incident Report/Images?',\r\nquestion: 'Upload the Incident Report/Images?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: true,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nselectedValue : 'test',\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n\r\n\r\n//RS 06JAN25\r\n//Rich text Questions\r\nexport const RTAQUESTION: Question = {\r\n id: '14',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-00004',\r\n type: 'RichTextArea',\r\n subQuestions : [\r\n {\r\n id: '170',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'Explain the particulars of the Incident?',\r\n question: 'Explain the particulars of the Incident?',\r\n nextQuestion: 'a013t000013SS89AAG',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden: false,\r\n groupName: 'Basic',\r\n size:1,\r\n questionNumber: '1',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n };\r\n\r\n// DateTime Question\r\nexport const TAQUESTION: Question = {\r\nid: '14',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nName: 'QN-00004',\r\ntype: 'TextArea',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Explain the particulars of the Incident?',\r\nquestion: 'Explain the particulars of the Incident?',\r\nnextQuestion: 'a013t000013SS89AAG',\r\ntrackingId: '1234',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nselectedValue : 'test',\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber: '1',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n};\r\n// Radio Question\r\nexport const RADIOQUESTION: Question = {\r\nid: '15',\r\nName: 'QN-00005',\r\ntype: 'Radio',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Choose your favorite role',\r\nselectedValue : 'test',\r\nquestion: 'Choose your favorite role',\r\ntrackingId: '1234',\r\nnextQuestion: '',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber:'5',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'UNCONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\noptions: {\r\nrecords: [\r\n {\r\n id: '121',\r\n Name: '121N',\r\n value: '121V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '122',\r\n Name: '122N',\r\n value: '122V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '123',\r\n Name: '123N',\r\n value: '123V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n}\r\n};\r\n// Checkbox Question\r\nexport const CHECKQUESTION: Question = {\r\nid: '16',\r\nName: 'QN-00006',\r\ntype: 'Checkbox',\r\nsubQuestions : [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nallowedFileExtensions : '.pdf',\r\nquestionText: 'Choose your favorite spots',\r\nquestion: 'Choose your favorite spots',\r\ntrackingId: '1234',\r\nnextQuestion: '',\r\nisOptional: false,\r\nisTitle: false,\r\nselectedValue : 'test',\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber:'6',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\noptions: {\r\nrecords: [\r\n {\r\n id: '121',\r\n Name: '121N',\r\n value: '121V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '122',\r\n Name: '122N',\r\n value: '122V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '123',\r\n Name: '123N',\r\n value: '123V',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n}\r\n};\r\nexport const GOOGLE_MAP_API_KEY = 'AIzaSyA18odJnD-pDsu7EVJ7WiXVM5sVvpjAQxw';\r\n// Book Question\r\nexport const BOOKQUESTION: Question = {\r\nid: '17',\r\nName: 'QN-00007',\r\ntype: 'Book',\r\noptions: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n},\r\nallowedFileExtensions : '.pdf',\r\ntrackingId: '1234',\r\nquestion: 'Provide your Address',\r\nsubQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\nquestionText: 'Provide your Address',\r\nselectedValue : 'test',\r\nnextQuestion: '',\r\nisOptional: false,\r\nisTitle: true,\r\nx24Hours: false,\r\nerrorMessage: 'Please Enter a Value',\r\nisDateBackward : false,\r\nisDateForward : false,\r\nisHidden: false,\r\ngroupName: 'Basic',\r\nsize:1,\r\nquestionNumber:'7',\r\ntimeText: 'hour',\r\ntitle: 'title',\r\nsubTitle: 'subtitle',\r\nsubText: 'subtext',\r\ndateText: 'datetext',\r\nstyle: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n},\r\nQuestions__r: {\r\nrecords: [\r\n{\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n},\r\n{\r\n id: '171',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n{\r\n id: '172',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n{\r\n id: '173',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n{\r\n id: '174',\r\n Name: 'QN-000074',\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n },\r\n type: 'Text',\r\n subQuestions: [\r\n {\r\n id: '170',\r\n Name: 'QN-000070',\r\n type: 'Dropdown',\r\n questionText: 'Land',\r\n question: 'Land',\r\n size:1,\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n selectedValue : 'test',\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n options: {\r\n records: [\r\n {\r\n id: '1',\r\n Name: 'D',\r\n value: 'D',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '2',\r\n Name: 'CH',\r\n value: 'CH',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n },\r\n {\r\n id: '3',\r\n Name: 'UK',\r\n value: 'UK',\r\n trackingId: '1234',\r\n nextQuestion: '',\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n id: '171',\r\n Name: 'QN-000071',\r\n type: 'Text',\r\n size:3,\r\n allowedFileExtensions : '.pdf',\r\n questionText: 'PLZ',\r\n question: 'PLZ',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '172',\r\n Name: 'QN-000072',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'ORT',\r\n question: 'ORT',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours: false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n selectedValue : 'test',\r\n isHidden:false,\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '173',\r\n Name: 'QN-000073',\r\n type: 'Text',\r\n questionText: 'StraBe',\r\n selectedValue : 'test',\r\n question: 'StraBe',\r\n trackingId: '1234',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isHidden:false,\r\n isDateForward : false,\r\n allowedFileExtensions : '.pdf',\r\n size:8,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n {\r\n id: '174',\r\n Name: 'QN-000074',\r\n type: 'Text',\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n },\r\n ],\r\n allowedFileExtensions : '.pdf',\r\n trackingId: '1234',\r\n questionText: 'Hausnummer',\r\n question: 'Hausnummer',\r\n isOptional: false,\r\n isTitle: true,\r\n x24Hours:false,\r\n errorMessage: 'Please Enter a Value',\r\n isDateBackward : false,\r\n isDateForward : false,\r\n isHidden:false,\r\n size:4,\r\n groupName: 'Basic',\r\n timeText: 'hour',\r\n selectedValue : 'test',\r\n title: 'title',\r\n subTitle: 'subtitle',\r\n subText: 'subtext',\r\n dateText: 'datetext',\r\n RecordType: {\r\n Name: 'UNCONDITIONAL'\r\n },\r\n style: {\r\n \"labelClass\" : \"slds-grid\",\r\n \"labelStyle\" : \"align-items: baseline;\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"border-style: dashed;\",\r\n \"showLabel\" : true,\r\n \"bookStyle\" : \"\",\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n },\r\n},\r\n]\r\n},\r\nRecordType: {\r\nName: 'CONDITIONAL'\r\n},\r\n};","import { Injectable } from '@angular/core';\r\nimport {Router} from '@angular/router';\r\n\r\ndeclare class Visualforce {\r\n static remoting: { Manager: { invokeAction: any } };\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SalesforceService {\r\n public getSFResource = (path: string) => `${window['_VfResources']}${path}`;\r\n public getRNXTMethodName = () => `${window['_rnxtMethodName']}`;\r\n\r\n public remoteAction(methodName: string,\r\n params: string[],\r\n resolve,\r\n reject,\r\n config?: any) {\r\n // console.log('inside SalesforceService.remoteAction for ' + methodName);\r\n const self = this;\r\n var nsMethodName = this.getRNXTMethodName();\r\n //console.log('method name in lib = ' + nsMethodName);\r\n\r\n Visualforce.remoting.Manager.invokeAction(\r\n nsMethodName,\r\n //'NxtController.process',\r\n //`{!$RemoteAction.NxtController.process}`,\r\n ...params,\r\n function (result, event) {\r\n try {\r\n result = JSON.parse(result);\r\n } catch (error) {\r\n reject(error);\r\n }\r\n //console.log('Function called was - ' + methodName);\r\n //console.log(result);\r\n //console.log(resolve(result));\r\n if (result.status) {\r\n resolve(result);\r\n } else {\r\n resolve(result);\r\n }\r\n },\r\n config || { buffer: false, escape: false }\r\n );\r\n }\r\n\r\n constructor(private _router: Router) {\r\n\r\n }\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataService {\r\n // VD 23JAN24 optionally declared httpClient\r\n constructor(@Optional() private http: HttpClient) { }\r\n\r\n public getAPIData(tkn: string, \r\n params: string[],\r\n resolve,\r\n reject,\r\n config?: any) {\r\n console.log('inside DataService.getAPIData for ' + tkn);\r\n const self = this;\r\n\r\n // Call the ShengelGo Server\r\n const headers = new HttpHeaders().set('Authorization', `${tkn}`);\r\n headers.append('Accept', 'application/json');\r\n headers.append('Access-Control-Allow-Origin', '*');\r\n\r\n // MR 23JAN24 - This should be removed, for now testing with dev-hse-api\r\n this.http.get('https://dev-hse-api.rangerfusion.com/nxt/api/process/?dataType=' + params[0] + '&operation=' + params[1] + '&param=' + params[2], { headers: headers , observe: 'response' })\r\n .subscribe(response => {\r\n if(response.status == 200) {\r\n resolve(response.body);\r\n } else {\r\n reject(response.body);\r\n }\r\n }, error => {\r\n console.log(error.status);\r\n reject(error);\r\n });\r\n }\r\n\r\n //calling the node api\r\n public getAPIFromNode(dataType: string, operation: string, param1: string,param2: string,api:string){\r\n const apiUrl = api ? api : 'http://localhost:3001/nxt';\r\n console.log('indside data service..');\r\n // let params = new HttpParams()\r\n // .set('dataType', dataType)\r\n // .set('operation', operation)\r\n // .set('param1', param1)\r\n // .set('param2',param2)\r\n\r\n let body = {\r\n \"dataType\" :dataType ,\r\n \"operation\" :operation ,\r\n \"param1\" :param1, \r\n \"param2\" : param2,\r\n }\r\n return this.http.post<any>(apiUrl,body );\r\n\r\n }\r\n\r\n \r\n// VD 22May24 -funtion to handling multiple child objects\r\npublic getValue(element:any, column:string){\r\n const initialEl = element;\r\n let flds = column.split('.');\r\n for(let i=0; i<flds.length; i++){\r\n let splitFlds = flds[i].split('[');\r\n if(splitFlds.length === 1){\r\n element = element[flds[i]] || '' as any;\r\n } else {\r\n let index = Number(splitFlds[1].split(']')[0]);\r\n element = element[splitFlds[0]][index] || '' as any;\r\n }\r\n }\r\n return element;\r\n}\r\n\r\n// VD 23JAN24 get callout \r\n public apiResponse(endpoint: string): Observable<any> {\r\n return this.http?.get(endpoint);\r\n }\r\n\r\n}\r\n","import { Injectable, Optional } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedService {\r\n // VD 23JAN24 optionally declared httpClient\r\n constructor(@Optional() private __http: HttpClient) { }\r\n // loader changes\r\n private loadingSubject = new BehaviorSubject<boolean>(false);\r\n public isLoading$ = this.loadingSubject.asObservable();\r\n\r\n processViewFile(fileName: string = '',api:string) {\r\n if (fileName) {\r\n this.viewFile(fileName,api).subscribe( (apiResponse: any) => {\r\n if (apiResponse && apiResponse.sas_url) {\r\n window.open(apiResponse.sas_url, '_blank');\r\n }\r\n }, (apiError) => {\r\n console.error('ERROR WHILE VIEWING File');\r\n });\r\n }\r\n }\r\n\r\n viewFile(fileName: string = '',api:string) {\r\n const params = { file_name: fileName };\r\n return this.__http.post(api , params);\r\n }\r\n\r\n docIcon(ext) {\r\n if (ext === 'pdf') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PDF.png';\r\n } else if (ext === 'xlsx') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLSX.png';\r\n } else if (ext === 'docx') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOCX.png';\r\n } else if (ext === 'avi') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-AVI.png';\r\n } else if (ext === 'doc') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-DOC.png';\r\n } else if (ext === 'gif') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-GIF.png';\r\n } else if (ext === 'jpg') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-JPG.png';\r\n } else if (ext === 'mov') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MOV.png';\r\n } else if (ext === 'mp3') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP3.png';\r\n } else if (ext === 'mp4') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MP4.png';\r\n } else if (ext === 'mpeg') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPEG.png';\r\n } else if (ext === 'mpg') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-MPG.png';\r\n } else if (ext === 'png') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PNG.png';\r\n } else if (ext === 'ppt') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-PPT.png';\r\n } else if (ext === 'txt') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-TXT.png';\r\n } else if (ext === 'xls') {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/img-file-XLS.png';\r\n } else {\r\n return 'https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_document.svg';\r\n }\r\n }\r\n // VD loader changes\r\n\r\n showLoader() {\r\n this.loadingSubject.next(true);\r\n }\r\n\r\n hideLoader() {\r\n this.loadingSubject.next(false);\r\n }\r\n}\r\n","// HA 19DEC23 File created for translation\r\nimport { InjectionToken } from '@angular/core';\r\n\r\nexport const i18nConfigService = new InjectionToken<any>('i18nConfig');\r\n","// HA 19DEC23 File created for translation\r\nimport { Injectable, Inject, EventEmitter, Output } from '@angular/core';\r\n// import arI18n from '../../assets/i18n/fr.i18n';\r\n// import enI18n from '../../assets/i18n/en.i18n';\r\nimport { i18nConfigService } from './i18n-config.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { DOCUMENT } from '@angular/common';\r\n@Injectable(\r\n // {providedIn: 'root'}\r\n)\r\nexport class I18nService {\r\n @Output() dropdownChanged = new EventEmitter<string>();\r\n currentLanguage = '';\r\n\r\n constructor(@Inject(i18nConfigService) public langList, @Inject(DOCUMENT) private document: Document) {\r\n this.initLang();\r\n }\r\n\r\n initLang() {\r\n if (localStorage.getItem('lang')) {\r\n this.currentLanguage = localStorage.getItem('lang');\r\n if(this.currentLanguage === 'rtl'){\r\n this.languageChange(this.currentLanguage);\r\n }\r\n } else {\r\n localStorage.setItem('lang', 'EN');\r\n this.currentLanguage = 'ltr';\r\n }\r\n }\r\n\r\n getString(key) {\r\n // HA 28DEC23 added ternary to avoid exceptions\r\n // VD 23JAN24 added ternary to avoid exceptions\r\n return this.langList[this.langList.map((e, i) => e.lang === this.currentLanguage ? i : null).filter(e => e !== null)[0]]?.file?.default[key];\r\n }\r\n\r\n languageChange(lang) {\r\n this.currentLanguage = lang;\r\n let htmlTag = this.document.getElementsByTagName('html')[0] as HTMLHtmlElement;\r\n htmlTag.dir = this.currentLanguage === 'rtl' ? 'rtl' : 'ltr';\r\n localStorage.setItem('lang', lang);\r\n this.dropdownChanged.emit(this.currentLanguage);\r\n }\r\n}\r\n","// Changes commented out due to Angular version compatibility; will apply after upgrade.\r\n// // RS 06JAN2025\r\nimport { Component, EventEmitter, Input, OnInit, Output, OnDestroy, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { I18nService } from '../../i18n.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\nimport { QuillEditorComponent, QuillModules } from 'ngx-quill';\r\nimport { FormsModule } from '@angular/forms'\r\nimport Quill from 'quill';\r\nimport { Mention } from 'quill-mention';\r\nimport ImageResizor from 'quill-image-resizor'\r\nimport { CommonModule } from '@angular/common';\r\n\r\n// RS 17JAN2025\r\n// An array fontFamilyArr is created containing a list of font family names as strings.\r\nconst fontFamilyArr = [\"Roboto\", \"Roboto Condensed\", \"Arial\", \"Verdana\", \"Tahoma\", \"Trebuchet MS\",\r\n \"Georgia\", \"Times New Roman\", \"Courier New\", \"Palatino Linotype\",\r\n \"Segoe UI\", \"Calibri\", \"Calibri Light\", \"Sans-Serif\", \"Helvetica\",\r\n \"Impact\", \"Garamond\", \"Comic Sans MS\", \"Lucida Console\", \"Franklin Gothic Medium\"];\r\n\r\n// Register Quill modules\r\nQuill.register('modules/mention', Mention);\r\nImageResizor.Quill = Quill\r\nQuill.register('modules/imageResizor', ImageResizor)\r\n\r\n// RS 17JAN2025\r\n//The Quill font style attributor is imported and it is registered with Quil\r\nlet fonts: any = Quill.import(\"attributors/style/font\");\r\nfonts.whitelist = fontFamilyArr;\r\nQuill.register(fonts, true);\r\n\r\nexport const QuillConfiguration: QuillModules = {\r\n imageResizor: {},\r\n toolbar: {\r\n container: [\r\n [{ 'font': fontFamilyArr }], //RS 17JAN2025 Added font family dropdown\r\n ['bold', 'italic', 'underline', 'strike'],\r\n ['blockquote', 'code-block'],\r\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\r\n [{ list: 'ordered' }, { list: 'bullet' }],\r\n [{ color: [] }, { background: [] }],\r\n [{ align: [] }],\r\n ['link', 'image', 'video'],\r\n ['formula'],\r\n ['clean'],\r\n ],\r\n },\r\n mention: {\r\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\r\n mentionDenotationChars: ['@', '#'],\r\n source: function (searchTerm: string, renderList: any) {\r\n const values = [\r\n { id: 1, value: 'User 1' },\r\n { id: 2, value: 'User 2' },\r\n ];\r\n\r\n if (searchTerm.length === 0) {\r\n renderList(values, searchTerm);\r\n } else {\r\n const matches = values.filter((item) =>\r\n item.value.toLowerCase().includes(searchTerm.toLowerCase())\r\n );\r\n renderList(matches, searchTerm);\r\n }\r\n },\r\n },\r\n};\r\n\r\n// resize: {\r\n// displaySize: true,\r\n// modules: ['Resize', 'DisplaySize', 'Toolbar'],\r\n// toolbarStyles: {\r\n// backgroundColor: 'black',\r\n// border: 'none',\r\n// color: 'white'\r\n// },\r\n// handleStyles: {\r\n// backgroundColor: 'black',\r\n// border: 'none',\r\n// color: 'white'\r\n// }\r\n// },\r\n@Component({\r\n imports: [QuillEditorComponent, FormsModule ,CommonModule],\r\n selector: 'app-custom-rich-text',\r\n standalone: true,\r\n templateUrl: './custom-rich-text.component.html',\r\n styleUrls: ['./custom-rich-text.component.css']\r\n})\r\n\r\nexport class CustomRichTextComponent implements OnInit, OnDestroy {\r\n @Input() value: any | any[] = '';\r\n @Input() placeholder: string;\r\n @Input() error: any;\r\n @Input() question: any;\r\n @Input() rows:Number; //The number of visible text lines for the control\r\n @Input() readOnly = false;\r\n @Output() textValueChange: EventEmitter<string> = new EventEmitter<string>();\r\n @Input() minLength?: number;\r\n @Input() maxLength?: number;\r\n // @Input() value: any = ''; // Set default value\r\n\r\n quillConfiguration: QuillModules = QuillConfiguration;\r\n subscription: Subscription;\r\n\r\n constructor(\r\n public i18nService: I18nService,\r\n private changeService: ChangeService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n console.log('Rich Text Init:', {\r\n value: this.value,\r\n question: this.question\r\n });\r\n if (this.value === undefined || this.value === null) {\r\n this.value = '';\r\n this.textValueChange.emit('');\r\n\r\n }\r\n this.initializeDependency();\r\n }\r\n\r\n // Separated dependency initialization for better organization\r\n private initializeDependency(): void {\r\n if (this.question?.subText) {\r\n console.log('subText:', this.question.subText);\r\n try {\r\n const dependencyObj: DependencyMeta = JSON.parse(this.question.subText);\r\n if (dependencyObj?.sourceQuestionId) {\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n console.log('Change Value:', changeValue);\r\n if (changeValue && changeValue.valueObj &&\r\n changeValue.fromQuestionId === dependencyObj.sourceQuestionId) {\r\n this.value = changeValue.valueObj[dependencyObj.valueField];\r\n this.textValueChange.emit(this.value);\r\n }\r\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\r\n }\r\n );\r\n }\r\n } catch (error) {\r\n console.error('Error parsing subText:', error);\r\n }\r\n }\r\n}\r\n\r\n\r\n// onEditorChange(event: any): void {\r\n// if (event && event.html !== undefined) {\r\n// this.textValueChange.emit(event.html);\r\n// } else {\r\n// this.textValueChange.emit('');\r\n// }\r\n// }\r\n// onEditorChange(event: any): void {\r\n// console.log('Typing detected...', event.html);\r\n\r\n// if (this.typingTimer) {\r\n// clearTimeout(this.typingTimer); // Clear previous timer\r\n// }\r\n// this.typingTimer = setTimeout(() => {\r\n// console.log('Debounced event fired:', event.html);\r\n\r\n// const newValue = event?.html ? event.html : ''; // Ensure empty values are handled\r\n// this.textValueChange.emit(newValue);\r\n// }, this.doneTypingInterval);\r\n// }\r\n\r\n// RS 28JAN2015\r\nonEditorFocusOut(): void {\r\n const currentValue = this.value || '';\r\n this.textValueChange.emit(currentValue);\r\n console.log('Rich Text Editor Focus Out - Emitting Value:', currentValue);\r\n}\r\n\r\n // Added ngOnDestroy to prevent memory leaks\r\n ngOnDestroy(): void {\r\n if (this.subscription) {\r\n this.subscription.unsubscribe();\r\n }\r\n }\r\n}\r\n\r\n\r\n","<!-- 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 (focusout)=\"onEditorFocusOut()\"\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>","export class ChangeWrapper {\r\n fromQuestionId: string;\r\n fromQuestionName: string;\r\n toQuestionId: string;\r\n toQuestionName: string;\r\n valueObj: any;\r\n selectedObj: string; // HA 19JAN24 As we need dropdown as object also, to store we are using\r\n referenceField:string;\r\n field:string; // VD 20Aug24 getting the field name\r\n}\r\n","// HA 19DEC23 File created for translation\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\nimport { I18nService } from './i18n.service';\r\n\r\n@Pipe({\r\n name: 'i18n'\r\n})\r\nexport class I18nPipe implements PipeTransform {\r\n constructor(private i18nService: I18nService) { }\r\n transform(value: any, ...args: any[]): any {\r\n if (value) {\r\n return this.i18nService.getString(value);\r\n }\r\n return value;\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input,ChangeDetectorRef, NgModule, NgZone, OnInit, Output, SimpleChanges, ViewChild, OnChanges } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\n // VD 21DEC23 - dependent field change\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { Question } from '../../wrapper';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-pick-location',\r\n templateUrl: './pick-location.component.html',\r\n styleUrls: ['./pick-location.component.css']\r\n})\r\nexport class PickLocationComponent implements OnInit ,OnChanges {\r\n latitude = null;\r\n longitude = null;\r\n zoom: number = 10;\r\n private geoCoder;\r\n // public formGroup: FormGroup;\r\n @ViewChild('search', { static: true })\r\n public searchElementRef: ElementRef<HTMLInputElement>;\r\n showModal: boolean = false;\r\n @Input() address:string;\r\n // VD 21DEC23 - dependent field change\r\n @Input() question: Question\r\n @Output() locationSelected: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n navigatorGeolocation: any;\r\n markerPosition: { lat: any; lng: any; };\r\n center: { lat: any; lng: any; };\r\n markerOptions:any;\r\n @Input() apiKey: any; // HA10012024 declared Api key to src\r\n\r\n constructor(\r\n // private mapsAPILoader: MapsAPILoader,\r\n public i18nService: I18nService,\r\n private ngZone: NgZone,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n // HA09012024 is to avoid google is undefined error and calling the below created function\r\n }\r\n\r\n ngOnInit(): void {\r\n // HA-11-01-2024 Changed the map Call from constructor to ngOnInit as it was giving undefined values in the outsourced\r\n if(this.apiKey){\r\n this.loadGoogleMapsScript().then(() => {\r\n this.geoCoder = new google.maps.Geocoder();\r\n this.markerOptions = new google.maps.Marker ({\r\n draggable: true,\r\n animation: google.maps.Animation.DROP\r\n });\r\n this.initAutocomplete();\r\n this.onMarkerDragEnd();\r\n });\r\n }\r\n }\r\n// RS 23JAN2025\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['address'] && changes['address'].currentValue !== changes['address'].previousValue) {\r\n // Ensure latitude & longitude update when the address changes\r\n if (this.address) {\r\n this.geoCoder.geocode({ address: this.address }, (results, status) => {\r\n if (status === 'OK' && results[0]?.geometry?.location) {\r\n this.latitude = results[0].geometry.location.lat();\r\n this.longitude = results[0].geometry.location.lng();\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 18;\r\n this.cdr.detectChanges(); // Force Angular to update the UI\r\n\r\n }\r\n });\r\n } else {\r\n // Reset if no address is provided\r\n this.latitude = null;\r\n this.longitude = null;\r\n this.markerPosition = null;\r\n this.center = null;\r\n this.cdr.detectChanges(); // FORCE UI UPDATE\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n // HA09012024 is to avoid google is undefined error\r\n private loadGoogleMapsScript(): Promise<void> {\r\n const script = document.createElement('script');\r\n script.type = 'text/javascript';\r\n // HA10012024 Assigned Api key to src\r\n script.src = `https://maps.googleapis.com/maps/api/js?key=${this.apiKey}&libraries=geometry,places`;\r\n script.async = true;\r\n script.defer = true;\r\n document.body.appendChild(script);\r\n\r\n return new Promise<void>((resolve, reject) => {\r\n script.onload = () => {\r\n resolve();\r\n };\r\n script.onerror = (error: any) => {\r\n reject(error);\r\n };\r\n });\r\n }\r\n\r\n initAutocomplete(): void {\r\n if (this.geoCoder) {\r\n const autocomplete = new google.maps.places.Autocomplete(this.searchElementRef?.nativeElement, {\r\n types: []\r\n });\r\n autocomplete.addListener('place_changed', () => {\r\n this.ngZone.run(() => {\r\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n if (place.geometry === undefined || place.geometry === null) {\r\n return;\r\n }\r\n this.latitude = place.geometry.location.lat();\r\n this.longitude = place.geometry.location.lng();\r\n this.zoom = 18;\r\n this.address = place.formatted_address;\r\n // VD 21DEC23 - dependent field change\r\n let change = new ChangeWrapper();\r\n // RS 09DEC24 Changed keys\r\n change.fromQuestionId = this.question.id;\r\n let addObj = {};\r\n addObj['address'] = this.address;\r\n addObj['latitude'] = this.latitude;\r\n addObj['longitude'] = this.longitude;\r\n change.valueObj = addObj;\r\n this.locationSelected.emit(change);\r\n });\r\n });\r\n }\r\n }\r\n\r\n onMarkerDragEnd(): void {\r\n google.maps.event.addListener(this.markerOptions, 'dragend', (event) => {\r\n console.log('dragable working',event);\r\n this.latitude = event.latLng.lat();\r\n this.longitude = event.latLng.lng();\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n\r\n onMapClick(event: google.maps.MapMouseEvent): void {\r\n console.log('onMapClick',event);\r\n this.latitude = event.latLng.lat();\r\n this.longitude = event.latLng.lng();\r\n this.getAddress(this.latitude, this.longitude);\r\n }\r\n\r\n\r\n private setCurrentLocation() {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n this.latitude = position.coords.latitude;\r\n this.longitude = position.coords.longitude;\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 8;\r\n this.getAddress(this.latitude, this.longitude);\r\n });\r\n }\r\n }\r\n\r\n\r\n getAddress(latitude: number, longitude: number) {\r\n if (this.geoCoder) {\r\n this.geoCoder.geocode({ location: { lat: latitude, lng: longitude } }, (results, status) => {\r\n console.log('results',results);\r\n console.log('status',status);\r\n if (status === 'OK') {\r\n if (results[0]) {\r\n // this.zoom = 18;\r\n this.address = results[0].formatted_address;\r\n // VD 21DEC23 - dependent field change\r\n let change = new ChangeWrapper();\r\n // RS 09DEC24 Changed keys\r\n change.fromQuestionId = this.question.id;\r\n let addObj1 = {};\r\n addObj1['address'] = this.address;\r\n addObj1['latitude'] = latitude;\r\n addObj1['longitude'] = longitude;\r\n change.valueObj = addObj1;\r\n this.locationSelected.emit(change);\r\n } else {\r\n console.log('No results found');\r\n }\r\n } else {\r\n console.log('Geocoder failed due to: ' + status);\r\n }\r\n });\r\n }\r\n }\r\n\r\n openMap() {\r\n this.showModal = true;\r\n if(!this.address){\r\n this.latitude = this.longitude = null;\r\n }\r\n if (!(this.latitude && this.longitude)) {\r\n this.setCurrentLocation();\r\n }else{\r\n this.markerPosition = { lat: this.latitude, lng: this.longitude };\r\n this.center = { lat: this.latitude, lng: this.longitude };\r\n this.zoom = 8;\r\n }\r\n }\r\n\r\n closeModal() {\r\n this.showModal = false;\r\n }\r\n\r\n\r\n}\r\n\r\n","<div>\r\n <!-- <label class=\"she-label\">Location</label> -->\r\n <!-- HA 19DEC23 For translation -->\r\n <input #search class=\"she-line-input form-control\" type=\"text\" placeholder=\"{{ 'enterLocation' | i18n:i18nService.currentLanguage }}\"\r\n (keydown.enter)=\"$event.preventDefault()\" placeholder=\"{{ 'searchNearestLocation' | i18n:i18nService.currentLanguage }}\" autocorrect=\"off\"\r\n autocapitalize=\"off\" spellcheck=\"off\" type=\"text\" [(ngModel)]=\"address\"\r\n >\r\n <a (click)=\"openMap()\"\r\n style=\"color:#48B7FF;position:relative;top:5px;cursor: pointer;\">\r\n <i class=\"fa fa-location-arrow\" aria-hidden=\"true\">\r\n <!-- HA 19DEC23 For translation -->\r\n </i> {{ 'pickLocation' | i18n:i18nService.currentLanguage }}</a>\r\n</div>\r\n\r\n<div class=\"map-overlay\" *ngIf=\"showModal\">\r\n <div class=\"map-modal\">\r\n <div class=\"map-modal-content\">\r\n <div class=\"map-modal-header\">\r\n <!-- HA 19DEC23 For translation -->\r\n <h4>{{ 'pickYourLocation' | i18n:i18nService.currentLanguage }}</h4>\r\n <button class=\"close-button\" (click)=\"closeModal()\">X</button>\r\n </div>\r\n <!-- Modal content goes here -->\r\n <!-- <agm-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" (mapClick)=\"markerDragEnd($event)\"\r\n [fullscreenControl]=\"true\">\r\n <agm-marker [latitude]=\"latitude\" [longitude]=\"longitude\" [markerDraggable]=\"true\"\r\n (dragEnd)=\"markerDragEnd($event)\"></agm-marker>\r\n </agm-map> -->\r\n <google-map [latitude]=\"latitude\" [longitude]=\"longitude\" [zoom]=\"zoom\" [center]=\"center\" (mapClick)=\"onMapClick($event)\">\r\n <map-marker [position]=\"markerPosition\" [options]=\"markerOptions\"></map-marker>\r\n </google-map>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { Question } from '../../wrapper';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { DataService } from '../../services/data.service';\r\n\r\n@Component({\r\n selector: 'app-custom-input',\r\n templateUrl: './custom-input.component.html',\r\n styleUrls: ['./custom-input.component.css']\r\n})\r\n\r\nexport class CustomInputComponent implements OnInit {\r\n @Input() value: any | any[]; // input value\r\n @Input() question: Question\r\n @Input() disabled: boolean = false; // input disabled or not\r\n @Input() placeholder:string;\r\n @Input() error:any;\r\n @Input() fromShengel: boolean = false;\r\n @Input() readOnly :boolean = false; // VD 12Jun24 - readonly change\r\n\r\n @Input() ngClassValue:any;\r\n @Input() idValue:any;\r\n @Input() focusEvent: any;\r\n @Output() inputValue = new EventEmitter<any>(); \r\n\r\n subscription: Subscription;\r\n\r\n constructor(private changeService: ChangeService, public i18nService: I18nService, private dataService: DataService) { \r\n }\r\n\r\n // RS 09DEC24 Changed keys\r\n ngOnInit(): void {\r\n // Since the idValue holds the Parent Question\r\n if(this.question.subText != undefined) {\r\n this.disabled = true;\r\n let dependencyObj: DependencyMeta = JSON.parse(this.question.subText);\r\n if(dependencyObj.disabled && dependencyObj.disabled == \"false\"){\r\n this.disabled = false;\r\n }else{\r\n this.disabled = true;\r\n }\r\n // Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n // console.log('inside subscription for the change');\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\r\n // VD 20Aug24 handling the multiple object\r\n this.value = this.dataService.getValue(changeValue.valueObj,dependencyObj.valueField);\r\n this.inputValue.emit(this.value);\r\n }\r\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n ngOnChange(): void {\r\n }\r\n\r\n ngOnDestroy() {\r\n // prevent memory leak when component destroyed\r\n this.subscription?.unsubscribe();\r\n }\r\n \r\n onInputChange(input:any){\r\n this.inputValue.emit(input.target.value);\r\n }\r\n}\r\n"," <!-- HA 19DEC23 Included Style value from Salesforce -->\r\n <!-- HA 18-JAN-24 Added these classes for style, HA 31-JAN-24 Added ternary for style -->\r\n <!-- HA 02FEB24 question input will hold the value to display -->\r\n <!-- // VD 12Jun24 - readonly change-->\r\n <!-- RS 09DEC24 Changed keys--> \r\n <input *ngIf=\"!fromShengel\" type=\"text\" \r\n [(ngModel)]=\"question.input\" \r\n [ngClass]=\"ngClassValue\"\r\n class=\"she-line-input form-control\"\r\n [id]=\"idValue\"\r\n (focus)=\"focusEvent\"\r\n [readOnly]=\"readOnly\"\r\n [style.border-color]=\"error ? 'red !important' : ''\"\r\n [style]=\"question?.style?.inputStyle\"\r\n [placeholder]=\"placeholder ? placeholder : ''\"\r\n (input)=\"onInputChange($event)\" />\r\n\r\n<input *ngIf=\"fromShengel\" \r\n [(ngModel)]=\"question.input\"\r\n type=\"text\" \r\n [readOnly]=\"readOnly\"\r\n class=\"she-line-input form-control\" \r\n [placeholder]=\"placeholder ? placeholder : '' \"\r\n [disabled]=\"disabled\"\r\n [style]=\"question?.style?.inputStyle\"\r\n (input)=\"onInputChange($event)\" />\r\n<!-- HA 19DEC23 For translation -->\r\n<span *ngIf=\"error\" class=\"error-msg\">{{question?.errorMessage}}*</span>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\n\r\n@Component({\r\n selector: 'app-custom-text-area',\r\n templateUrl: './custom-text-area.component.html',\r\n styleUrls: ['./custom-text-area.component.css']\r\n})\r\nexport class CustomTextAreaComponent implements OnInit {\r\n @Input() value: any | any[]; // input value\r\n @Input() placeholder:string;\r\n @Input() rows:Number; //The number of visible text lines for the control\r\n @Input() error:any;\r\n @Input() question:any;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Output() textareaValueChange: EventEmitter<string> = new EventEmitter<string>(); \r\n subscription: Subscription;\r\n\r\n constructor(public i18nService: I18nService,private changeService: ChangeService) { }\r\n // RS 09DEC24 Changed keys\r\n ngOnInit(): void {\r\n // 10MAY24 - VD Dependent update\r\n if(this.question.subText){\r\n let dependencyObj: DependencyMeta = JSON.parse(this.question.subText);\r\n if(dependencyObj.sourceQuestionId){\r\n // Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\r\n this.value = changeValue.valueObj[dependencyObj.valueField];\r\n this.textareaValueChange.emit(this.value);\r\n }\r\n this.changeService.confirmChange(dependencyObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n \r\n }\r\n\r\n onTextareaChange(event:any): void {\r\n this.textareaValueChange.emit(event.target.value);\r\n }\r\n\r\n}\r\n","<!-- // VD 12Jun24 - readonly change-->\r\n<!-- VD 01Aug24 - validation change-->\r\n<!-- RS 09DEC24 Changed keys--> \r\n<textarea \r\n [class]=\"error ? 'invalid' : ''\"\r\n [(ngModel)] =\"value\" \r\n [rows]=\"rows\" \r\n class=\"she-line-input form-control\" \r\n [placeholder]=\"placeholder\"\r\n [readOnly]=\"readOnly\"\r\n (input)=\"onTextareaChange($event)\"\r\n></textarea>\r\n<!-- HA 19DEC23 For translation -->\r\n<span *ngIf=\"error\" class=\"error-msg\">{{ question?.errorMessage }}</span>","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'getValue',\r\n standalone: true\r\n})\r\nexport class GetValuePipe implements PipeTransform {\r\n\r\n transform(arg:any, element: any, column: any): any {\r\n const initialEl = element;\r\n let flds = column.split('.');\r\n for(let i=0; i<flds.length; i++){\r\n let splitFlds = flds[i].split('[');\r\n if(splitFlds.length === 1){\r\n if(typeof element[flds[i]] === \"number\"){\r\n element = element[flds[i]] || 0 as any;\r\n // VD 23Aug24 handle boolean Type\r\n }else if(typeof element[flds[i]] === \"boolean\"){\r\n console.log('inside boolean1');\r\n element = element[flds[i]];\r\n } else {\r\n element = element[flds[i]] || \"\" as any;\r\n }\r\n \r\n } else {\r\n let index = Number(splitFlds[1].split(']')[0]);\r\n if(typeof element[flds[i]] === \"number\"){\r\n element = element[splitFlds[0]][index] || 0 as any;\r\n // VD 23Aug24 handle boolean Type\r\n }else if(typeof element[flds[i]] === \"boolean\"){\r\n console.log('inside boolean');\r\n element = element[splitFlds[0]][index];\r\n }else {\r\n element = element[splitFlds[0]][index] || '' as any;\r\n }\r\n }\r\n }\r\n // Object.assign(initialEl, { [column]: element });\r\n return element; \r\n }\r\n\r\n\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { TableWrapper } from '../../model/tableWrapper';\r\nimport { SalesforceService } from '../../services/salesforce.service';\r\nimport { Question } from '../../wrapper';\r\nimport { DataService } from '../../services/data.service';\r\nimport { APIMeta } from '../../interfaces/apimeta';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ChangeService } from '../../services/change.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-custom-table',\r\n templateUrl: './custom-table.component.html',\r\n styleUrls: ['./custom-table.component.css']\r\n})\r\n\r\nexport class CustomTableComponent implements OnInit {\r\n @Input() question: Question\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n tableInfo: TableWrapper;\r\n tableHeader = [];\r\n tableData = [];\r\n addRowColSpan: number;\r\n tableSize: number; // HA 28DEC23 table size declaration\r\n objName: any;\r\n filterLogic: any;\r\n fieldMeta: string;\r\n firStr: string;\r\n searchBox: boolean = false;\r\n @Input() apiMeta: string;\r\n public options: string[];\r\n isDisabled: boolean = true;\r\n subscription: Subscription;\r\n\r\n public labelField: string;\r\n\r\n constructor(private changeService: ChangeService,public i18nService: I18nService, private sfService: SalesforceService, private dataService: DataService) { }\r\n // RS 09DEC24 Changed keys\r\n ngOnInit(): void {\r\n this.tableHeader = JSON.parse(this.question['fieldsMeta']);\r\n this.tableSize = 10/this.tableHeader.length;\r\n// 12JUN24 - default table value\r\n if(this.question?.input){\r\n this.tableData = this.question?.input;\r\n }\r\n if(this.apiMeta !== undefined) {\r\n this.options = [];\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.labelField = apiObj.field;\r\n if(apiObj.endpoint){\r\n this.dataService.apiResponse(apiObj.endpoint)?.subscribe((apiResponse) => {\r\n let responses;\r\n if(apiObj.variable){\r\n // VD 22May24 - handling multiple child objects\r\n responses = this.dataService.getValue(apiResponse,apiObj.variable);\r\n let results = [];\r\n // HA 19JAN24 To avoid undefined error in console\r\n for (let i = 0; i < responses?.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n this.options = results;\r\n }else{ // VD 19JAN24 - if response has value(which is array) only\r\n responses = apiResponse;\r\n this.options = responses;\r\n }\r\n this.options = this.options.map((obj: any) => ({ ...obj, edit: false }));\r\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\r\n this.tableData = this.options;\r\n console.log('tableData', this.tableData);\r\n \r\n });\r\n }\r\n \r\n // VD NOV23 - handle the dependent update for dropdown\r\n let sourceId = apiObj.sourceQuestionId;\r\n let field = apiObj.field; // VD 13MAY24 - dynamic field changes\r\n if(sourceId){\r\n // // VD 10May24 Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == apiObj.sourceQuestionId) {\r\n console.log('changes happen');\r\n this.options = this.options.map((obj: any) => ({ ...obj, edit: false }));\r\n let item = changeValue.valueObj;\r\n let validItem = true;\r\n // VD 13MAY24 - bind dynamic field\r\n if(this.tableData.length > 0){\r\n this.tableData.forEach(element => {\r\n // VD 26Jun24 - to handle multiple objects\r\n const objElementValue = this.dataService.getValue(element,field);\r\n const objItemValue = this.dataService.getValue(item,field)\r\n if(objElementValue == objItemValue){\r\n validItem = false;\r\n }\r\n });\r\n }\r\n if(validItem){\r\n if(this.tableData.length > 0){\r\n this.tableData = [...this.tableData,item];\r\n this.emitTableDataValue(this.tableData);\r\n }else {\r\n this.tableData.push(item);\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n }\r\n }\r\n this.changeService.confirmChange(apiObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n console.log('tableData', this.tableData);\r\n console.log('tableHeader', this.tableHeader);\r\n console.log('tableInfo', this.tableInfo);\r\n }\r\n\r\n\r\n addRow(): void {\r\n let newItem = {};\r\n this.tableHeader.forEach(item => {\r\n if(item.apiName){\r\n newItem[item.apiName]= \"\";\r\n }\r\n });\r\n const updatedTableData = [...this.tableData, newItem];\r\n this.tableData = updatedTableData;\r\n this.emitTableDataValue(updatedTableData);\r\n }\r\n\r\n updateRadio(item: any, value: string): void {\r\n item.value = value;\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n // VD 23Aug24 handle Type\r\n updateLabel(rowIndex: number, label: string, value: any): void {\r\n this.tableData[rowIndex][label] = value;\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n deleteRow(rowIndex: number){\r\n this.tableData.splice(rowIndex, 1);\r\n }\r\n editRow(rowIndex: number){\r\n var a = 0;\r\n this.tableData.forEach(element => {\r\n if(a === rowIndex){\r\n element.edit = true;\r\n }\r\n a++;\r\n });\r\n }\r\n\r\n updateNumber(item: any, label: string, value: string){\r\n item.value[label] = value;\r\n this.emitTableDataValue(this.tableData);\r\n }\r\n\r\n\r\n emitTableDataValue(updatedTableData: any[]): void {\r\n this.valueChange.emit(updatedTableData);\r\n }\r\n}","<table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <!-- HA 28DEC23 changed table header values and changed table size logic to evenly visible -->\r\n <!-- <th><input type=\"checkbox\" (change)=\"selectAll($event.target.checked)\"></th> -->\r\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + tableSize\">\r\n {{ header.label }}\r\n </th>\r\n <th class=\"col-md-2\" colspan=\"2\">Actions</th>\r\n </thead>\r\n <tbody *ngIf=\"tableData\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <!-- <td><input type=\"checkbox\" [(ngModel)]=\"item.selected\" (change)=\"selectItem(item)\"></td> -->\r\n <td *ngFor=\"let header of tableHeader; let j = index\">\r\n <div *ngIf=\"header.fldType === 'imagetext'\" [class]=\"'col-md-' + header.size\" style=\"display: flex;\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" (ngModelChange)=\"updateLabel(i, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.fldType === 'image'\" [class]=\"'col-md-' + header.size\">\r\n <img style=\"width: 35px; height: 32px; margin-right: 5px;\" [src]=\"item[header.fieldName]\" [alt]=\"item.altText\">\r\n </div>\r\n <!--VD 23Aug24 handle readOnly -->\r\n <div *ngIf=\"header.fldType === 'Text' || header.fldType === 'Text'\">\r\n <!-- VD 26Jun24 - pipe change to handle multiple objects-->\r\n <input type=\"text\" [readonly]=\"header.readOnly\" [disabled]=\"!item.edit\" [ngClass]=\"{'editInput': item.edit && !header.readOnly}\" [ngModel]=\"'' | getValue: item : header.apiName\" (ngModelChange)=\"updateLabel(i, header.apiName,$event)\" class=\"she-line-input table-input\">\r\n </div>\r\n <!--VD 23Aug24 handle Number Type -->\r\n <div *ngIf=\"header.fldType === 'Number' || header.fldType === 'Number'\">\r\n <!-- VD 26Jun24 - pipe change to handle multiple objects-->\r\n <input type=\"Number\" [readonly]=\"header.readOnly\" [disabled]=\"!item.edit\" [ngClass]=\"{'editInput': item.edit && !header.readOnly}\" [ngModel]=\"'' | getValue: item : header.apiName\" (ngModelChange)=\"updateLabel(i, header.apiName,$event)\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.fldType === 'radio'\" [class]=\"'col-md-' + header.size\">\r\n <input type=\"radio\" [name]=\"item.name\" [checked]=\"item.value == header.fieldName\" (click)=\"updateRadio(item, header.fieldName)\">\r\n </div>\r\n </td>\r\n <td class=\"action\">\r\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"editRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"icon-edit1\" /><span>Edit</span></a>\r\n </td>\r\n <td class=\"action\">\r\n <a style=\"display: flex; justify-content: space-evenly;\" (click)=\"deleteRow(i)\"><img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"/><span>Delete</span></a>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n<div (click)=\"addRow()\" class=\"addRowClass\"><div class=\"circle-button\">+</div></div>","import { Component, OnInit,Input,Output,EventEmitter} from '@angular/core';\r\nimport { I18nService } from '../../i18n.service';\r\n\r\n@Component({\r\n selector: 'app-custom-date-picker',\r\n templateUrl: './custom-date-picker.component.html',\r\n styleUrls: ['./custom-date-picker.component.css']\r\n})\r\nexport class CustomDatePickerComponent implements OnInit {\r\n @Input() date: string;\r\n @Input() minDate:any;\r\n @Input() maxDate:any;\r\n @Input() error:any;\r\n @Input() errorMessage:string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\r\n dateSelected:any\r\n constructor(public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n console.log('read only check',this.readOnly);\r\n this.dateSelected = new Date(this.date);\r\n }\r\n\r\n onDateChange(event: any) {\r\n this.dateChange.emit(event);\r\n }\r\n\r\n}\r\n","<!-- <div class=\"date-picker-container\">\r\n <label>{{label}}</label>\r\n <input type=\"date\" [min]=\"minDate\" [max]=\"maxDate\" [required]=\"required\" (change)=\"onDateChanged($event)\">\r\n</div> -->\r\n<!-- <mat-form-field>\r\n <input matInput [matDatepicker]=\"picker\" [placeholder]=\"placeholder\" [min]=\"minDate\" [max]=\"maxDate\" [(ngModel)]=\"selectedDate\" (dateChange)=\"onDateChange($event)\">\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\r\n <mat-datepicker #picker></mat-datepicker>\r\n</mat-form-field> -->\r\n<!--VD 12Jun24 - readonly change --> \r\n<!-- VD 01Aug24 - validation change-->\r\n<p>\r\n <input \r\n [class]=\"error ? 'invalid' : ''\"\r\n [(ngModel)]=\"dateSelected\" \r\n [owlDateTimeTrigger]=\"dt\" \r\n [owlDateTime]=\"dt\" \r\n [min]=\"minDate\"\r\n [disabled]=\"readOnly\"\r\n placeholder=\"DD/MM/YYYY HH:MM\"\r\n (input)=\"onDateChange($event)\"\r\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\r\n (dateTimeChange)=\"onDateChange($event)\">\r\n <owl-date-time #dt></owl-date-time>\r\n</p>\r\n<span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>\r\n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\n\r\n@Component({\r\n selector: 'app-dropdown-with-flag',\r\n templateUrl: './dropdown-with-flag.component.html',\r\n styleUrls: ['./dropdown-with-flag.component.css']\r\n})\r\nexport class DropdownWithFlagComponent implements OnInit {\r\n @Input() certified:boolean= false;\r\n // @Input() getValue:string = '';\r\n @Input() JobPerformerCertificates: any[] = [];\r\n @Output() flagDropDownChange: EventEmitter<any> = new EventEmitter<any>(); \r\n selectedValue:string = '';\r\n\r\n constructor(public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n ngOnChanges(){\r\n this.selectedValue = null;\r\n }\r\n \r\n onJobPerformerCertified(event:any){\r\n this.flagDropDownChange.emit(event);\r\n }\r\n\r\n}\r\n","<div class=\"she-title\">\r\n <label class=\"switch\">\r\n <input class=\"switch-input\" type=\"checkbox\" disabled=\"true\" [checked]=\"certified\"/>\r\n <span class=\"switch-label\" data-on=\"Certified\" data-off=\"Not Certified\"></span> \r\n <span class=\"switch-handle\"></span> \r\n </label> \r\n <!-- HA 19DEC23 For translation -->\r\n <ng-select *ngIf=\"certified\"\r\n style=\"margin-left: 36px; width: 205px; margin-bottom: 8px;\" \r\n [items]=\"JobPerformerCertificates\"\r\n [(ngModel)]=\"selectedValue\"\r\n (change)=\"onJobPerformerCertified($event)\"\r\n placeholder=\"---{{ 'select' | i18n:i18nService.currentLanguage }}---\">\r\n </ng-select>\r\n </div> ","import { Component, OnInit,Input,Output,EventEmitter, Optional } from '@angular/core';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { APIMeta } from '../../interfaces/apimeta';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { ChangeService } from '../../services/change.service';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\n// VD 23JAN24 used service file for callout\r\nimport { DataService } from '../../services/data.service';\r\n\r\n@Component({\r\n selector: 'app-custom-dropdown',\r\n templateUrl: './custom-dropdown.component.html',\r\n styleUrls: ['./custom-dropdown.component.css']\r\n})\r\nexport class CustomDropdownComponent implements OnInit {\r\n @Input() options: string[];\r\n @Input() placeholder: string;\r\n @Input() apiMeta: string;\r\n @Input() selectedValue: string;\r\n @Input() progressBar: boolean;\r\n @Input() id:string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Input() errorMessage: string;\r\n @Input() error:any;\r\n @Input() fromShengel: boolean = false;\r\n @Input() question:any;\r\n @Input() referenceField:string;\r\n @Input() token:string; // VD 19JAN24 - getting token as input\r\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n invalidFieldIds:string[] = [];\r\n constructor( \r\n private changeService: ChangeService, \r\n private dataService: DataService,\r\n public i18nService: I18nService,\r\n ) { \r\n this.changeService.submitValidate$.subscribe((data)=>{\r\n // to get the error message's field id's\r\n this.invalidFieldIds.push(data);\r\n })\r\n }\r\n\r\n public labelField: string;\r\n public valueField: string;\r\n subscription: Subscription;\r\n public apiObj:APIMeta;\r\n public uniqueKey:string;\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n getOptions(){\r\n console.log('test click');\r\n // console.log('inside oninit of custom-dropdown of ' + this.id);\r\n // console.log(this.apiMeta);\r\n //VD 07Aug24 - isDependentField change\r\n // VD 25Oct24 - changes\r\n this.placeholder = this.placeholder ? this.placeholder : '---Select option---';\r\n if(this.apiMeta) {\r\n try {\r\n this.apiObj = JSON.parse(this.apiMeta);\r\n // Check if apiObj and apiObj.field are defined\r\n if (this.apiObj && this.apiObj.field) {\r\n this.labelField = this.apiObj.field;\r\n this.uniqueKey = this.apiObj.uniqueKey;\r\n const cachedOptions = localStorage.getItem(this.uniqueKey);\r\n if (cachedOptions) {\r\n this.options = JSON.parse(cachedOptions);\r\n }else {\r\n if(!this.apiObj.isDependentField){\r\n this.options = [];\r\n }\r\n\r\n // VD 09Sep24- setup the query param for api call // MR 08JAN24 DependentField API Fix moved below logic from above if condition\r\n let fullEndPoint ;\r\n if(this.apiObj.endpoint) {\r\n if(this.apiObj.queryValueReference && this.apiObj.queryField) {\r\n // process the end point with query param\r\n let queryReferences = this.apiObj.queryValueReference.split(',');\r\n let queryFields = this.apiObj.queryField.split(','); // MR 08JAN24 similar to above valuereference get list of QUERY Fields\r\n let queryValues = this.apiObj.queryValue.split(','); // MR 08JAN24 similar to above valuereference get list of QUERY Values (Default)\r\n let queryParams = [];\r\n let qIndex = 0; // MR 08JAN24 Query Index\r\n // Iterate over queryReferences and find the corresponding element in referenceData\r\n queryReferences.forEach(reference => {\r\n // Find the element in referenceData that matches the current reference\r\n // RS 09DEC24 Changed keys\r\n let matchingElement = this.question?.referenceQueryData.find(element => element.referenceField === reference);\r\n // If a matching element is found, get its input value and create a query parameter\r\n if (reference && matchingElement) { // MR 08JAN24 if reference exist & matching element found\r\n queryParams.push(`${queryFields[qIndex]}=${matchingElement.input}`); // MR 08JAN24 removed reference\r\n } else { // MR 08JAN24 included option for multiple query params and default value in case of reference is not found\r\n queryParams.push(`${queryFields[qIndex]}=${queryValues[qIndex]}`);\r\n }\r\n\r\n qIndex++;\r\n });\r\n fullEndPoint = this.apiObj.endpoint + '?' + queryParams.join('&');\r\n console.log(fullEndPoint);\r\n } else {\r\n // if no query param get the actual endPoint\r\n fullEndPoint = this.apiObj.endpoint;\r\n }\r\n\r\n // VD 19JAN24 - added one more param for authentication\r\n this.dataService.apiResponse(fullEndPoint)?.subscribe((apiResponse) => {\r\n // HA 18-JAN-24 Assigned apiresponse directly if we have the response in array also\r\n // VD 19JAN24 - if response has key with value(which is array)\r\n let responses;\r\n if(this.apiObj.variable){\r\n // VD 21May24 - handling multiple child objects\r\n // VD 22May24 - used common service file\r\n responses = this.dataService.getValue(apiResponse,this.apiObj.variable);\r\n let results = [];\r\n // HA 19JAN24 To avoid undefined error in console\r\n for (let i = 0; i < responses?.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n this.options = results;\r\n }else{ // VD 19JAN24 - if response has value(which is array) only\r\n responses = apiResponse;\r\n this.options = responses;\r\n }\r\n // VD 25Oct24 - Store fetched options in local storage\r\n if(this.uniqueKey){\r\n localStorage.setItem(this.uniqueKey, JSON.stringify(this.options));\r\n }\r\n // Reference https://www.npmjs.com/package/@ng-select/ng-select\r\n })\r\n }\r\n\r\n // VD NOV23 - handle the dependent update for dropdown\r\n // VD 09Sep24- push the dependent field values for dropdown\r\n let sourceId = this.apiObj.sourceQuestionId;\r\n if(sourceId && this.apiObj.variable || this.apiObj.valueField){\r\n // Subscribe for the changes\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if(changeValue != undefined) {\r\n // console.log('inside subscription for the change');\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == this.apiObj.sourceQuestionId) {\r\n // this.selectedValue = changeValue.valueObj[this.apiObj.valueField];\r\n // let value ={};\r\n // value['name'] = this.selectedValue;\r\n let responses;\r\n if(this.apiObj.variable){\r\n responses = this.dataService.getValue(changeValue.valueObj,this.apiObj.variable);\r\n let results = [];\r\n for (let i = 0; i < responses?.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n this.options = results;\r\n }else{\r\n responses = changeValue.valueObj;\r\n this.options = responses;\r\n }\r\n // VD 25Oct24 - Store fetched options in local storage\r\n if(this.uniqueKey){\r\n localStorage.setItem(this.uniqueKey, JSON.stringify(this.options));\r\n }\r\n }\r\n this.changeService.confirmChange(this.apiObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error('Error parsing apiMeta:', error);\r\n }\r\n } \r\n}\r\n// VD 22May24 - used common service file\r\n\r\n selectChange(event:any) {\r\n console.log('inside selectChange from ' + this.id);\r\n // console.log(event);\r\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\r\n change.fromQuestionId = this.id;\r\n change.valueObj = event ? event : '';\r\n change.referenceField = this.referenceField;\r\n change.selectedObj = event ? event[this.labelField] : '';\r\n this.valueChange.emit(change);\r\n // once got value in dropdown remove the error validation\r\n if(event){\r\n this.invalidFieldIds =[];\r\n }\r\n }\r\n}\r\n","<!-- HA 18-JAN-24 Commenting these lines as we don't have to use shengel here -->\r\n<!-- <select\r\n [ngClass]=\"{\r\n 'dt-line dpDown down myt-dropbox myt-border-r myt-font1': progressBar,\r\n 'custom-select': !progressBar\r\n }\" class=\"custom-select mr-sm-2 dd-height\" \r\n [id]=\"id\" \r\n [(ngModel)]=\"selectedValue\"\r\n (change)=\"selectChange($event.target.value);\" \r\n [style.borderColor]=\"error ? 'red' : '#858585'\"\r\n [style.color]=\"error ? 'red' : ''\">\r\n <option *ngFor=\"let option of options\" [value]=\"this.apiMeta !== undefined ? option.title : option.value\" class=\"option\">{{ this.apiMeta !== undefined ? option.title : option.value }}</option>\r\n <option *ngIf=\"errorMessage\" value=\"\" disabled hidden>{{ errorMessage }}</option>\r\n</select> -->\r\n<!-- // VD 12Jun24 - readonly change-->\r\n<!-- VD 01Aug24 - validation change-->\r\n<!-- VD 07Aug24 - isDependentField change-->\r\n<!-- VD 25Oct24 - changes-->\r\n<!-- RS 09DEC24 Changed keys--> \r\n<ng-select\r\n [class]=\"invalidFieldIds.includes(id) || error ? 'shengel-custom-select invalid' : 'shengel-custom-select'\"\r\n [(ngModel)]=\"selectedValue\" \r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"readOnly\"\r\n (click)=\"getOptions()\"\r\n (change)=\"selectChange($event)\"\r\n [id]=\"id\">\r\n <ng-option \r\n *ngFor=\"let option of options\" \r\n [value]=\"apiObj && !apiObj.isDependentField ? option : option?.value\">\r\n {{ apiObj && !apiObj.isDependentField && option ? option[labelField] : option?.value }}\r\n </ng-option> \r\n</ng-select>\r\n<span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{errorMessage}}</span>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ChangeService } from '../../services/change.service';\r\n\r\n@Component({\r\n selector: 'app-custom-label',\r\n templateUrl: './custom-label.component.html',\r\n styleUrls: ['./custom-label.component.css']\r\n})\r\nexport class CustomLabelComponent implements OnInit {\r\n\r\n @Input() labelValue:string;\r\n @Input() labelStyle: string;\r\n\r\n constructor() { \r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","\r\n<div style={{labelStyle}}>{{ labelValue }}</div>\r\n","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { IMyDateModel, IMyDpOptions } from \"mydatepicker\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { UntypedFormBuilder } from \"@angular/forms\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\n//import { NgxIndexedDBService, IndexDetails} from 'ngx-indexed-db';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport * as moment from 'moment';\r\nimport { DataService } from '../../services/data.service';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { SharedService } from \"../../services/shared.service\";\r\nimport {\r\n Question,\r\n QuestionBook,\r\n AnswerBook,\r\n AnswerWrapper,\r\n Option,\r\n OptionValue,\r\n AttachmentWrapper,\r\n Attachment,\r\n LocalQuestion\r\n} from \"../../wrapper\";\r\nimport { ErrorWrapper } from \"../../model/errorWrapper\";\r\nimport {\r\n TESTQUESTION,\r\n DTQUESTION,\r\n FILEQUESTION,\r\n TAQUESTION,\r\n RADIOQUESTION,\r\n CHECKQUESTION,\r\n BOOKQUESTION,\r\n TESTQB,\r\n RTAQUESTION //RS 06JAN25\r\n} from \"../../sample\";\r\nimport { from } from \"rxjs\";\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from \"../../i18n.service\";\r\n@Component({\r\n selector: \"lib-questionnaire\",\r\n templateUrl: \"./questionnaire.component.html\",\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [ChangeService],\r\n styleUrls: [\"./questionnaire.component.css\"],\r\n})\r\nexport class QuestionnaireComponent implements OnInit {\r\n @Input() qbId: string;\r\n @Input() insuranceStartDate: string;\r\n @Input() serv: string;\r\n @Input() tkn: string;\r\n @Input() api: string; // VD getting the api as input\r\n @Output() handleEvent = new EventEmitter();\r\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\r\n @Output() handleQuestion: EventEmitter<any> = new EventEmitter();\r\n @Output() handleBook: EventEmitter<any> = new EventEmitter();\r\n @Output() handleSubmit: EventEmitter<any> = new EventEmitter();\r\n\r\n params: Params;\r\n public deviceInfo = null;\r\n public abItem: AnswerBook;\r\n public qbItem: QuestionBook;\r\n public questionItem: Question;\r\n public answerWrap: AnswerWrapper;\r\n \r\n // CONDITIONAL TYPES\r\n public radioFlag: boolean = false;\r\n public dataFlag: boolean = false;\r\n \r\n // OPTIONONLY TYPES\r\n public dropdownFlag: boolean = false;\r\n public checkboxFlag: boolean = false;\r\n \r\n // UNCONDITIONAL TYPES\r\n public textFlag: boolean = false;\r\n public taFlag: boolean = false;\r\n public rtaFlag: boolean = false;\r\n public dtFlag: boolean = false;\r\n public timeFlag: boolean = false;\r\n public dateFlag: boolean = false;\r\n public fileFlag: boolean = false;\r\n public emailFlag: boolean = false;\r\n public numberFlag: boolean = false;\r\n public alphanumericFlag: boolean = false;\r\n public bookFlag: boolean = false;\r\n public listFlag: boolean= false;\r\n //Back button\r\n public backButtonFlag: boolean = false;\r\n // VD disabled\r\n public isButtonDisabled: boolean = false;\r\n public optionValues: OptionValue[] = [];\r\n public subQuestions: Question[] = [];\r\n public inpValue: string;\r\n public answerMap = new Map();\r\n public dateMap = new Map();\r\n public selectedhourMap = new Map();\r\n public selectedminuteMap = new Map();\r\n public attachmentsMap = new Map();\r\n public sqOptions = new Map();\r\n public subAnsMap = new Map();\r\n public localSubQuestions: LocalQuestion[] = [];\r\n public questionStack = [];\r\n public questionName = [];\r\n public attachments: any[] = [];\r\n public attachmentIdList: any[] = [];\r\n public attachmentId: string = \"\";\r\n public attachment: any;\r\n public allowedFileExtension: string[];\r\n public fileExceededLimit: boolean = false;\r\n public fileTypeIncorrect: boolean = false;\r\n public back: boolean = false;\r\n public backicon: boolean = true;\r\n public check: boolean;\r\n public pop: boolean;\r\n public localDate: string;\r\n public currentName: string;\r\n public pathquestion: number;\r\n public percent: number;\r\n public count: number;\r\n public taFocusOut: boolean = false;\r\n public notValidAccNum: boolean = false;\r\n public splCCBackClick: boolean = false;\r\n public summary = [];\r\n public localSubQMap = new Map();\r\n public keyIndex: number = 0;\r\n //public sques: string;\r\n public selDate: any = {};\r\n public selectDate: string;\r\n private today: Date = new Date();\r\n private el: HTMLElement;\r\n public innerhtml: any;\r\n public possibilities: any;\r\n public innerhtml1: any;\r\n public summaryData =[];\r\n \r\n public hours: any[] = [\r\n \"01\",\r\n \"02\",\r\n \"03\",\r\n \"04\",\r\n \"05\",\r\n \"06\",\r\n \"07\",\r\n \"08\",\r\n \"09\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n ];\r\n \r\n public minutes: string[] = [\r\n \"00\",\r\n \"01\",\r\n \"02\",\r\n \"03\",\r\n \"04\",\r\n \"05\",\r\n \"06\",\r\n \"07\",\r\n \"08\",\r\n \"09\",\r\n \"10\",\r\n \"11\",\r\n \"12\",\r\n \"13\",\r\n \"14\",\r\n \"15\",\r\n \"16\",\r\n \"17\",\r\n \"18\",\r\n \"19\",\r\n \"20\",\r\n \"21\",\r\n \"22\",\r\n \"23\",\r\n \"24\",\r\n \"25\",\r\n \"26\",\r\n \"27\",\r\n \"28\",\r\n \"29\",\r\n \"30\",\r\n \"31\",\r\n \"32\",\r\n \"33\",\r\n \"34\",\r\n \"35\",\r\n \"36\",\r\n \"37\",\r\n \"38\",\r\n \"39\",\r\n \"40\",\r\n \"41\",\r\n \"42\",\r\n \"43\",\r\n \"44\",\r\n \"45\",\r\n \"46\",\r\n \"47\",\r\n \"48\",\r\n \"49\",\r\n \"50\",\r\n \"51\",\r\n \"52\",\r\n \"53\",\r\n \"54\",\r\n \"55\",\r\n \"56\",\r\n \"57\",\r\n \"58\",\r\n \"59\",\r\n ];\r\n \r\n public selectedHour: string = \"\";\r\n public selectedMinute: string = \"\";\r\n public selectedMeridiem: string = \"\";\r\n public valueName: string = \"\";\r\n public valueName1: string = \"\";\r\n public bookFlagAccept: string[];\r\n public recordId: string;\r\n public currentQuestionId: string;\r\n public spinnerType: string;\r\n public spinnerName: string;\r\n public nextValue:string ='';\r\n \r\n start_date?: any;\r\n \r\n //search component\r\n public tempoAddress: any[] = [];\r\n public selectedValue: string;\r\n public selectedPostalcode: string;\r\n public selectedProvince: string;\r\n public selectedCity: string;\r\n public selectedArea: string;\r\n public localaddress: any[] = [];\r\n public allAddress :any [] = [];\r\n public PostalCode:string;\r\n public places: any[] = [];\r\n public province:any[]=[];\r\n \r\n // REQ-01 PROGRESS BAR\r\n public progressStyle: string = \"0%\";\r\n public answerCount: number = 0;\r\n public indexCount: number = 0;\r\n public addFlag: boolean = true;\r\n public myDatePickerOptions: IMyDpOptions = {};\r\n individualBookButton: boolean;\r\n \r\n public allInputValues = []; // HA 02FEB24 To store all the input values\r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private changeService: ChangeService,\r\n private sharedService: SharedService,\r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n private spinner: NgxSpinnerService,\r\n private _formBuilder: UntypedFormBuilder,\r\n //private dbService: NgxIndexedDBService,\r\n private deviceService: DeviceDetectorService,\r\n el: ElementRef,\r\n public i18nService: I18nService\r\n ) {\r\n // VD 10Aug24-spinner changes\r\n this.spinnerName = \"sp1\";\r\n this.spinnerType = \"ball-spin-clockwise-fade\";\r\n }\r\n \r\n // HA 02FEB24 On date change need to store the changed value so passing the question\r\n // RS 09DEC24 Changed keys\r\n onDateChanged(event: IMyDateModel, ques: any) {\r\n //console.log('Inside the onDateChanged');\r\n //to change the border color\r\n if (this.qbItem.progressBar) {\r\n //console.log('Inside the progressBar cond');\r\n this.inpValue =\r\n event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\r\n if(this.questionItem.type ==\"Book\"){\r\n this.selectDate = event.date.day + \"/\" + event.date.month + \"/\" + event.date.year;\r\n }\r\n } else {\r\n //console.log('Inside the ELSE of progressBar cond');\r\n if(this.questionItem.type ==\"Book\"){\r\n this.selectDate = event.date.day + \"-\" + event.date.month + \"-\" + event.date.year;\r\n }\r\n this.inpValue =\r\n event.date.year + \"-\" + event.date.month + \"-\" + event.date.day;\r\n }\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"border-color:#87be1c;width:100%\");\r\n this.dateMap.set(this.questionItem.id, event);\r\n if (\r\n event.date.day === 0 &&\r\n event.date.month === 0 &&\r\n event.date.year === 0\r\n ) {\r\n this.dateMap.delete(this.questionItem.id);\r\n this.answerMap.delete(this.questionItem.id);\r\n }\r\n //console.log('this.inpValue = '+this.inpValue);\r\n //console.log('this.selectDate = '+this.selectDate);\r\n // HA 02FEB24 Assigning input value to ques input\r\n ques.input = this.inpValue;\r\n }\r\n\r\n ngOnInit() {\r\n this.deviceInfo = this.deviceService.getDeviceInfo();\r\n this.route.queryParams.subscribe((params: Params) => {\r\n if (params['id']) {\r\n this.individualBookButton = true;\r\n }else if(params['bookletId']){\r\n this.individualBookButton = false;\r\n }\r\n });\r\n this.inpValue = \"\";\r\n this.selectedMeridiem = \"AM\";\r\n this.processQB();\r\n //console.log(localStorage.getItem('address'));\r\n if(localStorage.getItem(\"address\")){\r\n this.localaddress = JSON.parse(localStorage.getItem(\"address\"));\r\n //console.log('Length='+this.localaddress.length);\r\n this.allAddress=this.localaddress.filter((item, index) => {\r\n if (this.localaddress.indexOf(item) == index){\r\n return item;\r\n }\r\n });\r\n this.allAddress.sort(function(a, b){\r\n return a.zipCode - b.zipCode\r\n });\r\n } else if(this.deviceInfo.os === 'iOS'){\r\n let openRequest = indexedDB.open(\"addressDB\");\r\n openRequest.onsuccess = (event) => {\r\n const targetNew = event.target as IDBRequest;\r\n let dbNew = targetNew.result;\r\n const requestNew = dbNew.transaction('addressTable')\r\n .objectStore('addressTable')\r\n .get(1);\r\n requestNew.onsuccess = ()=> {\r\n const tempVar = requestNew.result;\r\n this.localaddress = JSON.parse(tempVar.wholeAddressString);\r\n this.allAddress=this.localaddress.filter((item, index) => {\r\n if (this.localaddress.indexOf(item) == index){\r\n return item;\r\n }\r\n });\r\n this.allAddress.sort(function(a, b){\r\n return a.zipCode - b.zipCode\r\n });\r\n }\r\n };\r\n }\r\n }\r\n// call when bookId changes\r\n ngOnChanges(simplechanges: SimpleChanges) {\r\n if(simplechanges['qbId']){\r\n this.processQB();\r\n }\r\n }\r\n // RS 09DEC24 Changed keys\r\n date_TimeMap() {\r\n this.selectedhourMap.set(this.questionItem.id, this.selectedHour);\r\n this.selectedminuteMap.set(this.questionItem.id, this.selectedMinute);\r\n }\r\n \r\n day() {\r\n this.myDatePickerOptions = {\r\n dateFormat: \"dd.mm.yyyy\",\r\n sunHighlight: false,\r\n disableDateRanges: [],\r\n showClearDateBtn: false,\r\n disableSince: {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n },\r\n disableUntil: {\r\n year: 0,\r\n month: 0,\r\n day: 0,\r\n },\r\n showTodayBtn: false,\r\n dayLabels: {\r\n su: \"Dom\",\r\n mo: \"Lun\",\r\n tu: \"Mar\",\r\n we: \"Mié\",\r\n th: \"Jue\",\r\n fr: \"Vie\",\r\n sa: \"Sáb\",\r\n },\r\n monthLabels: {\r\n 1: \"Ene\",\r\n 2: \"Feb\",\r\n 3: \"Mar\",\r\n 4: \"Abr\",\r\n 5: \"Mayo\",\r\n 6: \"Jun\",\r\n 7: \"Jul\",\r\n 8: \"Ago\",\r\n 9: \"Sep\",\r\n 10: \"Oct\",\r\n 11: \"Nov\",\r\n 12: \"Dic\",\r\n },\r\n };\r\n }\r\n \r\n change() {\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n if (this.selDate === null || this.inpValue.length === 0) {\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"width:100%;border: 1px solid red\");\r\n } else {\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"border: 1px solid #87be1c ;width:100%\");\r\n }\r\n }\r\n \r\n processQB() {\r\n \r\n console.log('ProcessQB');\r\n //this.qbItem\r\n console.log(this.qbId);\r\n //console.log('Version in process is 8bf11efa7f91a391d957bf6b5078edc7e656b67c');\r\n if (this.qbId) {\r\n if (this.qbId.length == 18) {\r\n this.readQuestionBook(this.qbId);\r\n } else {\r\n //console.log('Inside the else part');\r\n //console.log('Setting the Question Directly for testing');\r\n this.questionItem = DTQUESTION;\r\n this.qbItem = TESTQB;\r\n this.processQuestion();\r\n }\r\n }\r\n }\r\n \r\n trimLastDummy(input: string) {\r\n return (input = input.substring(0, input.length - 6));\r\n }\r\n \r\n getProperTime(def: string, input: string) {\r\n return input === \"\" ? def : input;\r\n }\r\n // RS 09DEC24 Changed keys\r\n //Summary Question Clickable Logic\r\n handleEditClick(value: string) {\r\n this.backicon = false;\r\n if (this.abItem?.status == \"Pending\") {\r\n if (value == null) {\r\n return;\r\n }\r\n this.readQuestion(value);\r\n //console.log(' in side summaryopen'+ this.summary.length);\r\n \r\n //Assign question stack length from summary part\r\n var arrayLength = this.questionStack.length;\r\n var lengthValue = this.questionStack.indexOf(value);\r\n \r\n for (let i = arrayLength; i > lengthValue; i--) {\r\n this.questionStack.pop();\r\n }\r\n if (this.qbItem.progressBar === true) {\r\n var arrayLength1 = this.questionName.length;\r\n for (let j = arrayLength1; j > lengthValue; j--) {\r\n this.questionName.pop();\r\n }\r\n }\r\n this.summary = [];\r\n this.summaryData = [];\r\n }\r\n }\r\n \r\n handleNextClick() {\r\n // this.sharedService.showLoader();\r\n this.spinner.show(this.spinnerName);\r\n this.isButtonDisabled = true;\r\n this.backButtonFlag = false;\r\n this.AnswerSave();\r\n }\r\n \r\n AnswerSave(){\r\n //this.updateProgress();\r\n if (this.currentQuestionId === null) {\r\n return;\r\n }\r\n var questionTxt='';\r\n this.clearError();\r\n this.handleEvent.emit(this.qbItem.nextTrackingId);\r\n this.recordId = null;\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n // MR 30JAN24 - Added Condition for this.questionItem.Questions__r (Book Question and Non-Book)\r\n if(this.questionItem.subQuestions) {\r\n // Create an array of objects to store the values\r\n for (var i=0; i<this.questionItem.subQuestions.length;i++) {\r\n if(this.questionItem.subQuestions[i].questionText){\r\n var questionText = this.questionItem.subQuestions[i].questionText.replace(/<[^>]+>/g, ''); // Remove HTML tags from the questionText value\r\n }else{\r\n questionText = 'undefined';\r\n }\r\n const input = this.questionItem.subQuestions[i].input;\r\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\r\n this.summaryData.push(obj); // Add the object to the data array\r\n }\r\n } else {\r\n var questionText = this.questionItem.questionText.replace(/<[^>]+>/g, '');\r\n const input = this.questionItem.input;\r\n const obj = { [questionText]: input }; // Create an object with the questionText as the key and the input as the value\r\n this.summaryData.push(obj); // Add the object to the data array\r\n }\r\n \r\n var typ = cQuestion.type;\r\n // this.sques += cQuestion.question + '@@##$$';\r\n var quesValue = cQuestion.questionText;\r\n var mailformat =\r\n \"^[^.][a-zA-Z0-9!#$%&'*+-/=?^_`{|}~]+[^.]@[^-][a-zA-Z0-9.-]+[^-].[a-zA-Z]{2,}$\";\r\n \r\n // Process Inputs\r\n if (this.checkboxFlag) {\r\n this.inpValue = \"\";\r\n // Save all the selected options in the inpValue\r\n for (var ov of this.optionValues.filter((item) => item.checked)) {\r\n this.inpValue += ov.value + \"@@##$$\";\r\n this.recordId = ov.nextQuestion;\r\n }\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n } else if (this.emailFlag) {\r\n if (this.inpValue && this.inpValue.match(mailformat)) {\r\n this.recordId = this.questionItem.nextQuestion;\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.alphanumericFlag) {\r\n var isNotValidAccNum = this.isNotValidAccNumber(this.inpValue);\r\n if (isNotValidAccNum) {\r\n this.notValidAccNum = true;\r\n this.recordId = this.questionItem.nextQuestion;\r\n return;\r\n }\r\n this.notValidAccNum = false;\r\n } else if (this.numberFlag) {\r\n if (this.inpValue) {\r\n this.recordId = this.questionItem.nextQuestion;\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.bookFlag) {\r\n this.inpValue = \"\";\r\n var hasMissingInput = false;\r\n for (var item of this.questionItem.subQuestions) {\r\n var count = 0;\r\n \r\n if(item.type == \"Date\" || item.type == \"Time\") {\r\n //this one\r\n this.change();\r\n if(item.type == \"Date\"){\r\n //console.log('Inside the date type cond = '+this.selectDate);\r\n this.inpValue = this.selectDate;\r\n //console.log(this.inpValue)\r\n //console.log(this.selectDate)\r\n \r\n }\r\n if(item.type == \"Time\"){\r\n //console.log(this.selectedHour+this.selectedMeridiem+this.selectedMinute)\r\n \r\n if (this.questionItem.x24Hours === false) {\r\n this.questionItem.input =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute + \" PM\";\r\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\r\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\r\n }\r\n if (this.qbItem.progressBar) {\r\n if(this.selectDate){\r\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\r\n }else{\r\n this.inpValue = \" \"+this.questionItem.input;\r\n }\r\n } else {\r\n if(this.selectDate){\r\n this.inpValue = this.selectDate+\" \"+this.questionItem.input;\r\n }else{\r\n this.inpValue = \" \"+this.questionItem.input;\r\n }\r\n \r\n }\r\n }\r\n if (this.questionItem.x24Hours === true) {\r\n this.questionItem.input =\r\n this.selectedHour + \":\" + this.selectedMinute;\r\n if (this.qbItem.progressBar) {\r\n this.inpValue = this.questionItem.input;\r\n } else {\r\n this.inpValue = this.questionItem.input;\r\n }\r\n }\r\n }\r\n // HA 31-JAN-24 Removed the selectHour and selectMinute condition\r\n if (this.selDate === null || this.selDate === undefined || !this.inpValue || !this.selectDate) {\r\n //console.log('Inside the null condition of input');\r\n this.questionItem.error = new ErrorWrapper();\r\n const htmlElement = window.document.getElementsByClassName(\"mydp\");\r\n htmlElement\r\n .item(0)\r\n .setAttribute(\"style\", \"width:100%;border-bottom: 1px solid red !important;\");\r\n return;\r\n }\r\n this.date_TimeMap();\r\n }\r\n // HA 31-JAN-24 Added text error condition\r\n if(item.type== \"Text\"){\r\n if (!item.input) {\r\n item.input = \"\";\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n // this.inpValue = item.input; 634\r\n }\r\n \r\n if (\r\n !item.isOptional &&\r\n // ((item.type != \"File\" && !item.input && item.type != 'Date' && item.type != 'Time') ||\r\n // (item.type == \"File\" && this.attachments.length == 0))\r\n (item.type == \"File\" && this.attachments.length == 0)\r\n ) {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n if (item.type == \"Radio\") {\r\n if (!item.input) {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.type == \"Dropdown\") {\r\n if (!item.input) {\r\n item.input = \"\";\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.type == \"Email\") {\r\n if (item.input && item.input.match(mailformat)) {\r\n this.recordId = cQuestion.nextQuestion;\r\n } else {\r\n item.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n }\r\n if (item.type == \"File\" && this.attachments.length > 0) {\r\n for (var attachmentItem of this.attachments) {\r\n this.inpValue +=\r\n attachmentItem.attachmentId +\r\n \"@#$\" +\r\n attachmentItem.attachmentName +\r\n \",\";\r\n if (item.input == this.inpValue) {\r\n this.recordId = cQuestion.nextQuestion;\r\n //console.log('inside' + recordId);\r\n }\r\n }\r\n // this.attachments = [];\r\n } //item.input == this.inpValue;\r\n \r\n this.inpValue += (item.input != undefined ? item.input : \"\") + \"@@##$$\";\r\n questionTxt += item.question + \"@@##$$\";\r\n //console.log('inside book1' + this.inpValue)\r\n }\r\n if (hasMissingInput) {\r\n return;\r\n }\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n questionTxt = questionTxt ? this.trimLastDummy(questionTxt) : questionTxt;\r\n }\r\n else if (this.listFlag) {\r\n this.inpValue = '';\r\n var hasMissingInput = false;\r\n if(this.localSubQMap.has(this.questionItem.id)){\r\n this.subAnsMap = new Map();\r\n for (var localQues of this.localSubQMap.get(this.questionItem.id)) {\r\n if(!localQues.input) {\r\n localQues.error = new ErrorWrapper();\r\n hasMissingInput = true;\r\n }\r\n if(!this.subAnsMap.has(localQues.id)){\r\n // console.log('inside ans map')\r\n this.subAnsMap.set(localQues.id,localQues.input);\r\n } else {\r\n // console.log('inside ans map else')\r\n this.subAnsMap.set(localQues.id,this.subAnsMap.get(localQues.id) + '$$@@##'+localQues.input);\r\n }\r\n }\r\n \r\n if (hasMissingInput) {\r\n //console.log('file two')\r\n return;\r\n }\r\n this.subAnsMap.forEach((value, key) => {\r\n // console.log('inside Map' );\r\n // console.log(value);\r\n this.inpValue += (value != undefined ? value : '') + '@@##$$';\r\n });\r\n this.inpValue = this.trimLastDummy(this.inpValue);\r\n }\r\n }\r\n else if (this.dropdownFlag) {\r\n if (this.inpValue.length <= 1) {\r\n this.inpValue = \".\";\r\n this.questionItem.error = new ErrorWrapper();\r\n }\r\n } else if (this.dtFlag && this.dateFlag && this.timeFlag) {\r\n //this one\r\n this.change();\r\n if (this.inpValue) {\r\n this.selectedHour = this.getProperTime(\"12\", this.selectedHour);\r\n this.selectedMinute = this.getProperTime(\"00\", this.selectedMinute);\r\n this.selectedMeridiem = this.getProperTime(\"AM\", this.selectedMeridiem);\r\n //console.log(this.inpValue.length);\r\n \r\n if (this.questionItem.x24Hours === false) {\r\n this.questionItem.input =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute + \" PM\";\r\n if (this.selectedMeridiem === \"AM\" && this.selectedHour === \"12\") {\r\n this.questionItem.input = \"00\" + \":\" + this.selectedMinute + \" AM\";\r\n }\r\n if (this.qbItem.progressBar) {\r\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\r\n } else {\r\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\r\n }\r\n }\r\n if (this.questionItem.x24Hours === true) {\r\n this.questionItem.input =\r\n this.selectedHour + \":\" + this.selectedMinute;\r\n if (this.qbItem.progressBar) {\r\n this.inpValue = this.inpValue + \" \" + this.questionItem.input;\r\n } else {\r\n this.inpValue = this.inpValue + \"T\" + this.questionItem.input;\r\n }\r\n }\r\n if (this.qbItem.progressBar) {\r\n //console.log(\"ans => \" + this.inpValue);\r\n var date1: any = this.inpValue.split(\" \");\r\n date1 = date1[0].split(\"/\");\r\n date1 = [date1[2], date1[1], date1[0]].join(\"-\");\r\n date1 = new Date(date1);\r\n //console.log(date1)\r\n var date2: any = this.insuranceStartDate.split(\" \");\r\n date2 = new Date(date2[0]);\r\n //console.log(date2);\r\n if (date1 < date2) {\r\n this.questionItem.error = new ErrorWrapper();\r\n this.questionItem.error.errorMsg =\r\n \"No es posible dar de alta la reclamación debido a que la fecha del incidente es anterior a la fecha de contratación de la póliza\";\r\n //console.log('inside')\r\n return;\r\n }\r\n }\r\n if (this.selDate === null || !this.inpValue) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n this.date_TimeMap();\r\n }\r\n } else if (this.timeFlag && this.dtFlag && !this.dateFlag) {\r\n this.date_TimeMap();\r\n if (this.questionItem.x24Hours === false) {\r\n this.inpValue =\r\n (this.selectedMeridiem === \"PM\" && this.selectedHour != \"12\"\r\n ? Number(this.selectedHour) + 12\r\n : this.selectedHour) +\r\n \":\" +\r\n this.selectedMinute;\r\n } else {\r\n this.inpValue = this.selectedHour + \":\" + this.selectedMinute;\r\n }\r\n if (this.inpValue.length < 5) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.dateFlag && this.dtFlag && !this.timeFlag) {\r\n this.change();\r\n if (this.inpValue.length < 7 || this.selDate === null) {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n } else if (this.fileFlag) {\r\n //console.log('four')\r\n this.inpValue = \"\";\r\n if (this.attachments.length > 0) {\r\n for (var attachmentItem of this.attachments) {\r\n this.inpValue +=\r\n attachmentItem.attachmentId +\r\n \"@#$\" +\r\n attachmentItem.attachmentName +\r\n \",\";\r\n }\r\n //console.log('inside filesss' + this.inpValue);\r\n this.inpValue = this.inpValue.substr(0, this.inpValue.length - 1);\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n return;\r\n }\r\n }\r\n \r\n // Check for the answer before saving to the DB\r\n if (!this.questionItem.isOptional && !this.inpValue) {\r\n // Show error that the question must be answered\r\n this.questionItem.error = new ErrorWrapper();\r\n // VD disabled\r\n //this.sharedService.hideLoader();\r\n this.spinner.hide(this.spinnerName);\r\n this.isButtonDisabled = false\r\n return;\r\n }\r\n // Save the Answer in the DB\r\n this.answerWrap = new AnswerWrapper();\r\n this.answerWrap.abId = this.abItem.id;\r\n this.answerWrap.quesId = cQuestion.id;\r\n this.answerWrap.quesValue = quesValue;\r\n this.answerWrap.qTyp = typ;\r\n // HA 02FEB24 To display the values in summary using this\r\n this.allInputValues = [];\r\n this.subQuestions.forEach(element => {\r\n var inputValue = {};\r\n inputValue['Id'] = element?.id;\r\n inputValue['type'] = element?.type;\r\n inputValue['referenceField'] = element?.referenceField;\r\n inputValue['questionText'] = element?.questionText;\r\n inputValue['input'] = element?.input;\r\n inputValue ? this.allInputValues.push(inputValue) : this.allInputValues;\r\n });\r\n this.answerWrap.myVal = this.allInputValues;\r\n this.answerWrap.ansValue = this.inpValue;\r\n this.answerWrap.groupText = cQuestion.groupName;\r\n console.log('this.answerWrap.qTyp',this.answerWrap.qTyp);\r\n if(this.answerWrap.qTyp == \"Alphanumeric\"){\r\n this.answerWrap.ansValue = 'ES'+ this.inpValue;\r\n // console.log('Bank condition');\r\n // console.log(this.answerWrap.ansValue);\r\n }\r\n /*if (cQuestion.type == 'Book'){\r\n for (var qb of cQuestion.Questions__r.records){\r\n //console.log(qb.question+'****'+\"@@##$$\")\r\n }\r\n }*/\r\n //this.answerWrap.squesValue = cQuestion.question;\r\n this.questionItem.input = this.inpValue;\r\n // emit the current question with input to parent\r\n let questionAns = {}\r\n questionAns['questionDetail'] = this.questionItem;\r\n questionAns['answerBookDetail'] = this.abItem;\r\n console.log(questionAns);\r\n this.handleQuestion.emit(questionAns);\r\n console.log('questionItem-->');\r\n console.log(this.questionItem);\r\n this.answerWrap.squesValue = questionTxt ? questionTxt : cQuestion.question;\r\n this.saveAnswer();\r\n }\r\n // RS 09DEC24 Changed keys\r\n next() {\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n var typ = cQuestion.type;\r\n // If no error then move to next steps\r\n if (this.questionItem.error) {\r\n return;\r\n }\r\n \r\n this.questionStack.push(cQuestion.id);\r\n // this.questionName.push(cQuestion.Name);\r\n \r\n // CONDITIONAL vs OPTIONONLY & UNCONDITIONAL\r\n // HA 31-JAN-24 Added ternary even in else conditions below\r\n if (cQuestion?.RecordType?.Name == \"CONDITIONAL\") {\r\n for (var cOpt of cQuestion.options) {\r\n // Radio / Data\r\n //console.log('Option => ' + cOpt.value + ' matching with ' + ansVal);\r\n if (cOpt.value == this.inpValue) {\r\n //console.log('Match Found using ' + cOpt.nextQuestion);\r\n if(cOpt.nextQuestion){\r\n this.recordId = cOpt.nextQuestion;\r\n }else {\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n //console.log('conditional record id'+ this.recordId);\r\n }\r\n }\r\n // Could be of type Data and existing value\r\n if (this.recordId && typ == \"Data\") {\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n } else if (cQuestion?.RecordType?.Name == \"OPTIONONLY\") {\r\n // OPTIONONLY logic\r\n this.recordId = cQuestion.nextQuestion;\r\n } else if (cQuestion?.RecordType?.Name == \"UNCONDITIONAL\") {\r\n //Unconditional logic\r\n //console.log(\"inside unconditional\");\r\n //inside Book Type\r\n if (cQuestion.type == \"Book\" && cQuestion.questionNumber !='6') {\r\n //console.log(\"inside book\");\r\n for (let opt of cQuestion.subQuestions) {\r\n //console.log(opt.type);\r\n if (opt.type == \"Dropdown\" || opt.type == \"Radio\") {\r\n for (var opt1 of opt.options) {\r\n if (this.valueName == opt1.value) {\r\n this.recordId =opt1.nextQuestion || cQuestion.nextQuestion;\r\n } else {\r\n //console.log('Else'+this.recordId)\r\n this.recordId = cQuestion.nextQuestion;\r\n \r\n }\r\n }\r\n } else {\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n }\r\n }\r\n else if(cQuestion.type == \"Book\" && cQuestion.questionNumber =='6' ) {\r\n for (let opt of cQuestion.subQuestions) {\r\n if (opt.type == \"Dropdown\" || opt.type == \"Radio\"){\r\n for (var opt1 of opt.options) {\r\n if (this.valueName == opt1.value) {\r\n this.recordId = opt1.nextQuestion;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n else {\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n }\r\n // HA 31-JAN-24 Added else to keep the assignment default\r\n else{\r\n this.recordId = cQuestion.nextQuestion;\r\n }\r\n \r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n \r\n // Calling the progres bar update function\r\n this.answerCount++;\r\n this.updateProgress();\r\n \r\n \r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n \r\n if (this.recordId) {\r\n this.readQuestion(this.recordId);\r\n this.pop = true;\r\n } else {\r\n this.pop = false;\r\n // VD disabled\r\n // this.sharedService.hideLoader();\r\n this.spinner.hide(this.spinnerName);\r\n this.isButtonDisabled = false;\r\n // Reset the Variables\r\n this.inpValue = \"\";\r\n this.answerWrap = new AnswerWrapper();\r\n this.optionValues = [];\r\n this.subQuestions = [];\r\n \r\n this.resetFlag(typ);\r\n this.questionItem = null;\r\n \r\n // Show Summary\r\n for (var q of this.questionStack) {\r\n //console.log('Handling Question => ' + q);\r\n var ansWrap = this.answerMap.get(q);\r\n if (ansWrap) {\r\n //console.log('Handling Answer for ' + ansWrap.quesId + ' of type ' + ansWrap.qTyp);\r\n if(ansWrap.qTyp == 'File' || ansWrap.qTyp == 'Book'||ansWrap.qTyp == 'List' || ansWrap.qTyp == 'Checkbox'){\r\n var newStr = '';\r\n for (var ansStr of ansWrap.ansValue.split('@@##$$')) {\r\n for (var ansStr1 of ansStr.split('$$@@##')) {\r\n // if(ansStr1.includes('answerString')){ //remove the answer string\r\n // const withoutAnswerString = ansStr1.replace(\"answerString: \", \"\");\r\n // ansStr1 = withoutAnswerString;\r\n // }\r\n if (ansStr1.length > 0) {\r\n if (newStr.length == 0) {\r\n newStr = ansStr1;\r\n } else {\r\n newStr += '; ' + ansStr1; //comma(,) changed as semi colon(;) because of address contains comma(,)\r\n if(this.attachmentsMap.has(ansWrap.quesId)){\r\n for(var att of this.attachmentsMap.get(ansWrap.quesId)){\r\n newStr = newStr.replace(att.attachmentId,'');\r\n }\r\n }\r\n newStr = (newStr.replace(',,',', ')).replace(', ,',', ');\r\n newStr = newStr.startsWith(',') ? newStr.substring(1, newStr.length) : (newStr.endsWith(',') ? newStr.substring(0, newStr.length - 1) : newStr);\r\n }\r\n }\r\n }\r\n }\r\n ansWrap.ansValue = newStr;\r\n ansWrap.myVal = this.allInputValues;\r\n }\r\n // VD Check if the summary already contains an entry for the same quesId\r\n const existingAnsWrap = this.summary.find(item => item.quesId === ansWrap.quesId);\r\n if (existingAnsWrap) {\r\n // If it exists, update the ansValue and myVal\r\n existingAnsWrap.ansValue = ansWrap.ansValue;\r\n existingAnsWrap.myVal = ansWrap.myVal;\r\n } else {\r\n // If it doesn't exist, push the ansWrap to the summary array\r\n this.summary.push(ansWrap);\r\n }\r\n this.backicon = true;\r\n }\r\n }\r\n }\r\n }\r\n \r\n getText(value) {\r\n var doc = new DOMParser().parseFromString(value, \"text/html\");\r\n //console.log( doc.documentElement.textContent);\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n doc.documentElement.textContent\r\n );\r\n }\r\n \r\n handleBackClick() {\r\n this.back = true;\r\n if (this.pop === true) {\r\n this.questionName.pop();\r\n }\r\n this.handleEvent.emit(this.qbItem.backTrackingId);\r\n var cQuestion: Question = new Question();\r\n cQuestion = this.questionItem;\r\n if(cQuestion.questionNumber =='1'){\r\n this.handleEvent.emit(this.qbItem.back);\r\n }\r\n \r\n \r\n this.answerCount--;\r\n this.updateProgress();\r\n // CATEGORIZATION\r\n //this.stepperCateg();\r\n \r\n if (this.summary) {\r\n //console.log('summary true');\r\n this.summary = [];\r\n }\r\n if(this.summaryData){\r\n this.summaryData =[];\r\n }\r\n \r\n // Read the previous question from DB\r\n // VD disabled\r\n // this.sharedService.showLoader();\r\n this.spinner.show(this.spinnerName);\r\n this.isButtonDisabled = true;\r\n this.readQuestion(this.questionStack.pop());\r\n //console.log(this.questionStack);\r\n }\r\n \r\n handleBackClickNew() {\r\n this.handleEvent.emit(this.qbItem.edit);\r\n }\r\n \r\n //updating status once Q&A completed.\r\n \r\n private updateAnswerBook = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"AnswerBook\", \"Update\", uuid],\r\n // this.successupdateAB,\r\n // this.failureupdateAB\r\n // );\r\n let paramMap = { createAnswerBookFlag: false };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('AnswerBook','Update',uuid,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log('updated succussfully');\r\n console.log(data);\r\n this.successupdateAB(JSON.parse(data))\r\n },(error) => {\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n // VD 31NOV24 param changes with new method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n let para = {\r\n dataType: \"AnswerBook\",\r\n operation: \"Update\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n // VD 12Jun24 - translation changes\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para)],\r\n this.successupdateAB,\r\n this.failureupdateAB\r\n );\r\n }\r\n }\r\n \r\n private successupdateAB = (response) => {\r\n console.log(response);\r\n let data = response;\r\n if(data){\r\n this.handleSubmit.emit(data);\r\n this.abItem.status = \"Completed\";\r\n this.deleteAnswers(data.AnswerBook)\r\n }\r\n };\r\n \r\n // VD for delete answers\r\n deleteAnswers(answerbook){\r\n if(this.serv == \"api\"){\r\n if(answerbook && answerbook.status == 'Completed'){\r\n const ansBookId = answerbook.id;\r\n let paramMap = { createAnswerBookFlag: false };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('AnswerBook','delete',ansBookId,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log(data);\r\n this.successDeleteAB(JSON.parse(data))\r\n },(error) => {\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n }\r\n }\r\n }\r\n // VD for delete answers\r\n private successDeleteAB = (response) => {\r\n console.log(response);\r\n if(response.status == 'success'){\r\n console.log(response.message);\r\n }else {\r\n console.error('error', response.message);\r\n }\r\n }\r\n\r\n private failureupdateAB = (response) => {\r\n //console.log('status failed')\r\n };\r\n\r\n private readQuestionBook = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"QuestionBook\", \"read\", uuid],\r\n // this.successReadBook,\r\n // this.failureReadBook\r\n // );\r\n //this.sharedService.showLoader();\r\n this.spinner.show(this.spinnerName);\r\n let paramMap = { createAnswerBookFlag: true };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('QuestionBook','read',uuid,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n // this.sharedService.hideLoader();\r\n // this.spinner.hide(this.spinnerName);\r\n // VD disabled\r\n this.isButtonDisabled = false;\r\n console.log(data);\r\n // this.sharedService.hide();\r\n this.successReadBook(JSON.parse(data))\r\n },(error) => {\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // MR 30JAN24 - Passing flag from NGNXT\r\n let paramMap = { createAnswerBookFlag: true };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n // VD 31NOV24 param changes with new method\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n let para1 = {\r\n dataType: \"QuestionBook\",\r\n operation: \"read\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n // , JSON.stringify(paramMap)\r\n// VD 12Jun24 - translation changes\r\n this.sfService.remoteAction(\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n \"NxtController.processData\",\r\n [JSON.stringify(para1)],\r\n this.successReadBook,\r\n this.failureReadBook\r\n );\r\n }\r\n }\r\n private successReadBook = (response) => {\r\n console.log('Inside the successReadBook');\r\n console.log(response);\r\n if(response != null || response != undefined){\r\n this.qbItem = response.questionbook;\r\n this.abItem = response.answerbook;\r\n this.handleBook.emit(response);\r\n\r\n }\r\n // console.log('readingQuestion using ' + this.qbItem);\r\n if (this.abItem?.status == \"Pending\") {\r\n if (\r\n this.abItem.answers == null ||\r\n this.abItem.answers.length == 0\r\n ) {\r\n this.readQuestion(this.qbItem.firstQuestion);\r\n } else {\r\n // Populate the existing answers\r\n var lastQuestionId = \"\";\r\n\r\n for (var ansObject of this.abItem.answers) {\r\n lastQuestionId = ansObject.quesId;\r\n\r\n this.questionStack.push(ansObject.quesId);\r\n\r\n this.answerMap.set(ansObject.quesId, {\r\n quesValue: ansObject.quesValue,\r\n ansValue: ansObject.ansValue,\r\n quesId: ansObject.quesId,\r\n qTyp: ansObject.qTyp,\r\n groupText:ansObject.groupText,\r\n });\r\n\r\n //console.log(this.questionStack)\r\n if (ansObject.qTyp == \"Book\") {\r\n var av1 = ansObject.ansValue.split(\"@@##$$\");\r\n // //console.log(\"book log\");\r\n\r\n // //console.log(\"bookid\" + av1[0]);\r\n this.attachmentsMap.set(ansObject.quesId, [\r\n { attachmentName: av1[1], attachmentId: av1[0] },\r\n ]);\r\n // //console.log(this.attachmentsMap);\r\n } else if (ansObject.qTyp == \"File\") {\r\n // //console.log(\"inside if\");\r\n var attList;\r\n var att;\r\n for (var attVar of ansObject.ansValue.split(\",\")) {\r\n var attIdName = attVar.split(\"@@##$$\");\r\n att.attachmentName = attIdName[1];\r\n att.attachmentId = attIdName[0];\r\n attList.push(att);\r\n }\r\n this.attachmentsMap.set(ansObject.quesId, attList);\r\n // //console.log(this.attachmentsMap);\r\n }\r\n }\r\n\r\n this.questionStack.pop();\r\n //console.log(this.answerMap);\r\n // Read the last answered question\r\n this.readQuestion(lastQuestionId);\r\n }\r\n } else if (this.abItem?.status == \"Completed\") {\r\n this.handleEvent.emit(\"Summaryupdated\");\r\n this.spinner.hide(this.spinnerName);\r\n // Temporary Fix for duplicate answers on the summary.\r\n this.summary = [];\r\n this.percent = 100;\r\n this.progressStyle = \"100%\";\r\n if(this.serv != 'api'){\r\n // VD 31NOV24 wrapper changes\r\n for (var answer of this.abItem.answers) {\r\n var answers = {};\r\n if (answer.qTyp == \"File\") {\r\n var files = \"\";\r\n var fIndex = 0;\r\n var fileList = answer.ansValue.split(\",\");\r\n for (var fileIdName of fileList) {\r\n var fileName = fileIdName.split(\"@#$\");\r\n if (fIndex == 0) {\r\n files = fileName[1];\r\n } else {\r\n files = files + \" ,\" + fileName[1];\r\n }\r\n fIndex++;\r\n }\r\n\r\n answers = {\r\n groupText:answer.groupText,\r\n quesValue: answer.quesValue,\r\n ansValue: files,\r\n };\r\n // this.summary.push(answers);\r\n } else if (answer.qTyp == \"Book\") {\r\n /* var quesNo=0;\r\n if(answer.ansValue.includes(\"@@##$$\")){\r\n //console.log('line 1223');\r\n for (var bqAnswerValue of answer.ansValue.split(\"@@##$$\")) {\r\n var quesValue=answer.questionText.split(\"@@##$$\");\r\n answers = {};\r\n answers = {\r\n // groupText:answer.questionText,\r\n quesValue: \"&lt;p&gt;\"+ quesValue[quesNo]+\"&lt;p&gt;\",\r\n ansValue: bqAnswerValue,\r\n };\r\n quesNo++;\r\n this.summary.push(answers);\r\n }\r\n }*/\r\n if(answer.ansValue.includes(\"@@##$$\")){\r\n var answervalues = answer.ansValue.split(\"@@##$$\");\r\n //console.log('value')\r\n answers = {\r\n //groupText:answer.groupText,\r\n quesValue: answer.quesValue,\r\n ansValue: answervalues,\r\n };\r\n //console.log(answers)\r\n // this.summary.push(answers);\r\n }\r\n else{\r\n answers = {\r\n //groupText:answer.groupText,\r\n quesValue: answer.quesValue,\r\n ansValue: answer.ansValue,\r\n };\r\n // this.summary.push(answers);\r\n }\r\n } else {\r\n // var ans1 = answer.ansValue.split(\"@@##$$\");\r\n answers = {\r\n //groupText:answer.groupText,\r\n quesValue: answer.quesValue,\r\n ansValue: answer.ansValue,\r\n };\r\n // this.summary.push(answers);\r\n }\r\n }\r\n }\r\n\r\n }\r\n };\r\n\r\n private failureReadBook = (response) => {\r\n console.log('Inside the failureReadBook');\r\n console.log(response);\r\n };\r\n\r\n private readAnswerbook = (uuid: string) => {\r\n if(this.serv = \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"AnswerBook\", \"read\", uuid],\r\n this.successAnswerBookRead,\r\n this.failureAnswerBookRead\r\n );\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 31NOV24 param changes with new method\r\n let para2 = {\r\n dataType: \"AnswerBook\",\r\n operation: \"read\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n// VD 12Jun24 - translation changes\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para2)],\r\n this.successAnswerBookRead,\r\n this.failureAnswerBookRead\r\n );\r\n }\r\n }\r\n\r\n\r\n private successAnswerBookRead = (response) => {\r\n if (this.abItem?.status == \"Completed\") {\r\n for (var answer of this.abItem.answers) {\r\n var av = answer.ansValue.split(\"@@##$$\");\r\n var answers = { quesValue: answer.quesValue, ansValue: av, groupText:answer.groupText };\r\n //console.log(answers)\r\n this.summary.push(answers);\r\n }\r\n this.handleEvent.emit(\"Summaryupdated\");\r\n }\r\n };\r\n\r\n private failureAnswerBookRead = (response) => {\r\n //console.log('inside failureread');\r\n //console.log(response);\r\n };\r\n\r\n private readQuestion = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"Question\", \"read\", uuid],\r\n // this.successRead,\r\n // this.failureRead\r\n // );\r\n //this.sharedService.showLoader();\r\n let paramMap = { createAnswerBookFlag: true };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('Question','read',uuid,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n // this.sharedService.hideLoader();\r\n this.spinner.hide(this.spinnerName);\r\n // VD disabled\r\n this.isButtonDisabled = false;\r\n console.log('data came sucessfully');\r\n console.log(data);\r\n this.successRead(JSON.parse(data))\r\n },(error) => {\r\n //this.sharedService.hideLoader();\r\n this.spinner.hide(this.spinnerName);\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n // // VD 15FEB24 - make createAnswerBookFlag false only\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = uuid;\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 31NOV24 param changes with new method\r\n let para2 = {\r\n dataType: \"Question\",\r\n operation: \"read\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n this.sfService.remoteAction(\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n \"NxtController.processData\",\r\n [JSON.stringify(para2)],\r\n this.successRead,\r\n this.failureRead\r\n );\r\n }\r\n }\r\n\r\n private successRead = (response) => {\r\n this.spinner.hide(this.spinnerName);\r\n // VD disabled\r\n this.isButtonDisabled = false;\r\n console.log('Inside the successRead');\r\n console.log(response);\r\n // HA 02FEB24 For testing for used this and in future it can be used to test with static data\r\n // var ab = ['first','last','123','12-12-2000','22','Male','12 cross 1','EmContact','98765','A','Single'];\r\n // for(const [index,item] of response.question.subQuestions.entries()){\r\n // item.input = ab[index];\r\n // }\r\n // console.log(this.questionItem);\r\n // Reset the Variables\r\n\r\n if (this.questionItem) {\r\n this.inpValue = \"\";\r\n this.answerWrap = new AnswerWrapper();\r\n this.optionValues = [];\r\n this.subQuestions = [];\r\n this.resetFlag(this.questionItem.type);\r\n }\r\n this.questionItem = response.question;\r\n // console.log(this.questionItem);\r\n\r\n if(this.questionItem.type === 'Alphanumeric'){\r\n this.splCCBackClick = true;\r\n }\r\n\r\n this.currentQuestionId = this.questionItem.id;\r\n this.handlePage.emit(this.questionItem.trackingId);\r\n // Handle the subQuestion options\r\n if (response.sqOptions) {\r\n //var newRecords = [];\r\n for (var q of this.questionItem.subQuestions) {\r\n //console.log(q.Name);\r\n var sq = response.sqOptions[q.id];\r\n if (sq) {\r\n //console.log('found options for subquestion ' + q.Name);\r\n if (!q.options) {\r\n q.options = sq.options;\r\n }\r\n }\r\n }\r\n }\r\n this.processQuestion();\r\n this.innerhtml = this.sanitizer.bypassSecurityTrustHtml(\r\n this.questionItem.additionalRichContent\r\n );\r\n this.trackId();\r\n };\r\n\r\n trackId() {\r\n var qtrackId = this.questionItem.trackingId;\r\n //console.log('trackId-question'+qtrackId);\r\n }\r\n\r\n private failureRead = (response) => {\r\n //console.log('inside failureread');\r\n //console.log(response);\r\n };\r\n\r\n private saveAnswer = () => {\r\n // Set the Answer Number based on the Question Stack Length\r\n if (this.inpValue != \".\") {\r\n this.currentQuestionId = null;\r\n }\r\n this.answerWrap.ansNumber = this.questionStack.length + 1;\r\n\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"Answer\", \"create\", JSON.stringify(this.answerWrap)],\r\n // this.successSave,\r\n // this.failureSave\r\n // );\r\n let paramMap = { createAnswerBookFlag: false };\r\n // HA 09FEB24 to clear the error: createAnswerBook is false\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('Answer','create',JSON.stringify(this.answerWrap),JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log('data came sucessfully');\r\n console.log(data);\r\n this.successSave(JSON.parse(data))\r\n },(error) => {\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 31NOV24 param changes with new method\r\n let para3 = {\r\n dataType: \"Answer\",\r\n operation: \"create\",\r\n param1: JSON.stringify(this.answerWrap),\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n// VD 12Jun24 - translation changes\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para3)],\r\n this.successSave,\r\n this.failureSave\r\n );\r\n }\r\n };\r\n\r\n htmlDecode(input) {\r\n var doc = new DOMParser().parseFromString(input, \"text/html\");\r\n return doc.documentElement.textContent;\r\n }\r\n\r\n private successSave = (response) => {\r\n if (response.status == \"success\") {\r\n //this.abItem = response.answerbook;\r\n this.answerMap.set(response.answer.quesId, response.answer);\r\n } else {\r\n this.questionItem.error = new ErrorWrapper();\r\n this.questionItem.error.errorMsg = response.error.errorMsg;\r\n }\r\n if(!this.backButtonFlag){\r\n this.next();\r\n }\r\n };\r\n\r\n private failureSave = (response) => {\r\n //console.log('inside failureSave');\r\n //console.log(response);\r\n };\r\n\r\n private processQuestion = () => {\r\n // console.log('Inside the processQuestion');\r\n // console.log('splCCBackClick = '+this.splCCBackClick);\r\n // console.log(this.questionStack);\r\n //console.log(this.questionItem);\r\n this.pop = true;\r\n\r\n // if(!this.back){\r\n // this.questionName.push(this.questionItem.Name)\r\n // }\r\n\r\n if (this.qbItem.progressBar === true) {\r\n if (!this.back) {\r\n this.questionName.push(this.questionItem.Name);\r\n }\r\n this.back = false;\r\n if (this.questionName[0] === this.questionName[1]) {\r\n this.questionName.pop();\r\n }\r\n\r\n this.currentName = this.questionItem.Name;\r\n this.pathquestion = this.questionName.indexOf(this.currentName);\r\n this.possibilities = this.qbItem.possibilities;\r\n }\r\n\r\n this.myDatePickerOptions;\r\n this.day();\r\n //console.log('processing question ' + this.questionItem.Name + ' existing answers are ' + this.answerMap.size); // => ' + JSON.stringify(this.questionItem));\r\n\r\n // Set the Flags to show right fields\r\n this.setFlag(this.questionItem.type);\r\n //console.log('After the setFlag method dtFlag = '+this.dtFlag);\r\n\r\n // Check the existing answer from answerMap\r\n if (this.answerMap.has(this.questionItem.id)) {\r\n // //console.log(\"existing answer found for this.questionItem.Name\");\r\n var eAnswer = this.answerMap.get(this.questionItem.id);\r\n // Get the existing answer from the Map\r\n this.inpValue = eAnswer.ansValue;\r\n //console.log('inpValue has been set to ' + this.inpValue);\r\n if (this.attachmentsMap.has(this.questionItem.id)) {\r\n this.attachments = this.attachmentsMap.get(this.questionItem.id);\r\n }\r\n } else {\r\n //console.log('inside removing attachment array');\r\n this.attachments = [];\r\n }\r\n // console.log(this.inpValue);\r\n if(this.splCCBackClick && this.inpValue && this.inpValue.includes('ES')){\r\n // console.log('Inside the if cond');\r\n this.splCCBackClick = false;\r\n this.inpValue = this.inpValue.replace('ES','');\r\n }\r\n\r\n if (this.checkboxFlag) {\r\n // Set the Options for Checkbox\r\n this.setOptions(this.questionItem.options);\r\n } else if (this.bookFlag) {\r\n //console.log('Inise the expected bookFlag cond');\r\n //console.log('dtFlag = '+this.dtFlag);\r\n// HA 20FEB24 Label Fix\r\n this.questionItem.subQuestions.forEach(element => {\r\n element.questionText = element.questionText.replace(/<[^>]+>/g, '');\r\n });\r\n this.setSubQuestions(this.questionItem.subQuestions);\r\n } else if (this.listFlag) {\r\n // Set the LocalSubQuestions\r\n // console.log('inside list flag');\r\n // console.log(this.questionItem.Questions__r.records);\r\n // console.log(this.abItem.Questions__r.records);\r\n if(!this.localSubQMap.has(this.questionItem.id)){\r\n this.setSubQuestions(this.questionItem.subQuestions);\r\n }\r\n } else if (this.dtFlag) {\r\n //console.log('Inise the unexpected dtFlag cond');\r\n this.selectedHour = \"\";\r\n this.selectedMinute = \"\";\r\n this.selDate = \"\";\r\n // 2021-5-16T00:00\r\n if (this.dateMap.has(this.questionItem.id)) {\r\n this.selDate = this.dateMap.get(this.questionItem.id);\r\n }\r\n if (this.selectedhourMap.has(this.questionItem.id)) {\r\n this.selectedHour = this.selectedhourMap.get(this.questionItem.id);\r\n }\r\n if (this.selectedminuteMap.has(this.questionItem.id)) {\r\n this.selectedMinute = this.selectedminuteMap.get(this.questionItem.id);\r\n }\r\n if (this.questionItem.x24Hours === true) {\r\n this.hours.push(\r\n \"13\",\r\n \"14\",\r\n \"15\",\r\n \"16\",\r\n \"17\",\r\n \"18\",\r\n \"19\",\r\n \"20\",\r\n \"21\",\r\n \"22\",\r\n \"23\",\r\n \"00\"\r\n );\r\n }\r\n if (this.questionItem.x24Hours === false) {\r\n this.hours = this.hours.slice(0, 12);\r\n }\r\n if (this.dtFlag && this.inpValue) {\r\n var dtVal = this.inpValue.split(\"T\");\r\n var dtval0 = this.inpValue.split(\" \");\r\n this.inpValue = dtVal[0];\r\n this.inpValue = dtval0[0];\r\n\r\n this.questionItem.input = dtVal[1];\r\n this.questionItem.input = dtval0[1];\r\n }\r\n if (\r\n this.questionItem.isDateBackward ||\r\n this.questionItem.isDateForward\r\n ) {\r\n if (this.questionItem.isDateBackward === true) {\r\n this.myDatePickerOptions.disableSince = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate() + 1,\r\n };\r\n }\r\n if (this.questionItem.isDateForward === true) {\r\n this.myDatePickerOptions.disableUntil = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate(),\r\n };\r\n }\r\n }\r\n } else if (this.fileFlag) {\r\n this.fileUI();\r\n // logic\r\n this.allowedFileExtension =\r\n this.questionItem.allowedFileExtensions?.split(\";\");\r\n //console.log(this.allowedFileExtension);\r\n }\r\n\r\n if (this.qbItem.progressBar === true) {\r\n this.updateProgress();\r\n }\r\n };\r\n\r\n setFlag(typ) {\r\n //console.log('inside setFlag for ' + typ);\r\n\r\n if (typ) {\r\n // Set the Flags\r\n if (typ == \"Text\") {\r\n this.textFlag = true;\r\n\r\n //this.numberFlag = true;\r\n } else if (typ == \"Number\") {\r\n this.numberFlag = true;\r\n } else if (typ == \"AlphaNumeric\") {\r\n this.alphanumericFlag = true;\r\n /*if(this.inpValue.length === 0){\r\n this.inpValue='ES'\r\n }*/\r\n } else if (typ == \"Email\") {\r\n this.emailFlag = true;\r\n } else if (typ == \"File\") {\r\n this.fileFlag = true;\r\n } else if (typ == \"DateTime\") {\r\n this.dtFlag = true;\r\n this.timeFlag = true;\r\n this.dateFlag = true;\r\n } else if (typ == \"TextArea\") {\r\n this.taFlag = true;\r\n } else if (typ == \"Radio\") {\r\n this.radioFlag = true;\r\n } \r\n // else if (typ == \"RichTextArea\") {\r\n // this.rtaFlag = true;\r\n // } \r\n else if (typ == \"Dropdown\") {\r\n this.dropdownFlag = true;\r\n } else if (typ == \"Checkbox\") {\r\n this.checkboxFlag = true;\r\n } else if (typ == \"Book\") {\r\n this.bookFlag = true;\r\n }else if (typ == 'List'){\r\n this.listFlag = true;\r\n } else if (typ == \"Time\") {\r\n //console.log('Inside the Time cond');\r\n this.dtFlag = true;\r\n this.timeFlag = true;\r\n //console.log(this.dtFlag);\r\n } else if (typ == \"Date\") {\r\n //console.log('Inside the Date cond');\r\n this.dtFlag = true;\r\n this.dateFlag = true;\r\n //console.log(this.dtFlag);\r\n }\r\n }\r\n }\r\n\r\n resetFlag(typ) {\r\n if (typ) {\r\n // Set the Flags\r\n if (typ == \"Text\") {\r\n this.textFlag = false;\r\n //this.numberFlag = false;\r\n } else if (typ == \"Number\") {\r\n this.numberFlag = false;\r\n } else if (typ == \"Alphanumeric\") {\r\n this.alphanumericFlag = false;\r\n } else if (typ == \"Email\") {\r\n this.emailFlag = false;\r\n } else if (typ == \"File\") {\r\n this.fileFlag = false;\r\n } \r\n // else if (typ == \"RichTextArea\") {\r\n // this.rtaFlag = false;\r\n // } \r\n else if (typ == \"DateTime\") {\r\n this.dtFlag = false;\r\n this.dateFlag = false;\r\n this.timeFlag = false;\r\n } else if (typ == \"TextArea\") {\r\n this.taFlag = false;\r\n } else if (typ == \"Radio\") {\r\n this.radioFlag = false;\r\n } else if (typ == \"Dropdown\") {\r\n this.dropdownFlag = false;\r\n } else if (typ == \"Checkbox\") {\r\n this.checkboxFlag = false;\r\n } else if (typ == \"Book\") {\r\n this.bookFlag = false;\r\n } else if (typ == 'List'){\r\n this.listFlag = false;\r\n } else if (typ == \"Time\") {\r\n this.dtFlag = false;\r\n this.timeFlag = false;\r\n } else if (typ == \"Date\") {\r\n this.dtFlag = false;\r\n this.dateFlag = false;\r\n }\r\n }\r\n }\r\n\r\n setOptions(records) {\r\n for (var opt of records) {\r\n var ov = new OptionValue();\r\n ov.id = opt.id;\r\n ov.Name = opt.Name;\r\n ov.value = opt.value;\r\n ov.nextQuestion = opt.nextQuestion;\r\n ov.checked = false;\r\n\r\n if (\r\n this.inpValue &&\r\n this.inpValue.split(\"@@##$$\").includes(opt.value)\r\n ) {\r\n ov.checked = true;\r\n }\r\n\r\n this.optionValues.push(ov);\r\n }\r\n }\r\n\r\n // Capture and Process Child Event\r\n childEventCapture(event, ques?:any) {\r\n console.log('inside childEventCapture ');\r\n console.log(event);\r\n this.changeService.announceChange(event);\r\n // HA 31-JAN-24 Assign values to dropdown question\r\n ques.input = event?.valueObj;\r\n //ques.input = event; // here when using the ng-select got event as value\r\n }\r\n\r\n// RS 06JAN25\r\n// for richtext\r\n handleRichTextChange(value: string) {\r\n // this.inpValue = value;\r\n // this.clearError(); \r\n console.log('Rich Text Change Captured:', value);\r\n}\r\n\r\n setSubQuestions(records) {\r\n // console.log('inside setSubQuestions');\r\n // console.log(records);\r\n var qaMap = new Map();\r\n // console.log(this.inpValue);\r\n if (this.inpValue) {\r\n var aIndex = 0;\r\n // search changed as semi colon because of address contains comma\r\n if ((this.inpValue.search(\"; \") == -1)) {\r\n // const withoutAnswerString = this.inpValue.replace(\"answerString: \", \"\"); //remove the answer string\r\n // this.inpValue = withoutAnswerString;\r\n this.inpValue = this.inpValue + '@@##$$' ;\r\n for (var ansStr of this.inpValue.split(\"@@##$$\")) {\r\n aIndex++;\r\n qaMap.set(aIndex, ansStr);\r\n //console.log('Setting the qaMap for ' + aIndex + ' with ' + ansStr);\r\n }\r\n } else {\r\n for (var ansStr of this.inpValue.split(\"; \")) {\r\n aIndex++;\r\n qaMap.set(aIndex, ansStr);\r\n //console.log('Setting the qaMap ' + aIndex + ' with ' + ansStr);\r\n }\r\n }\r\n }\r\n // console.log('after setting values from inpvalue qa map are');\r\n // console.log(qaMap);\r\n\r\n for (var ques of records) {\r\n if (ques.type == \"File\") {\r\n this.valueName1 = ques.allowedFileExtensions;\r\n //console.log(this.valueName1);\r\n }\r\n\r\n var ans = '';\r\n if (qaMap.has(ques.questionNumber)) {\r\n ques.input = qaMap.get(ques.questionNumber);\r\n // console.log('after fetching map values');\r\n // console.log(ques.input);\r\n if(ques.input.indexOf('$$@@##') > 0){\r\n // console.log('answer supposed to be trimmed');\r\n // console.log(ques.input);\r\n ans = ques.input.substring(ques.input.indexOf('$$@@##')+6,ques.input.length);\r\n // console.log(ans);\r\n ques.input = ques.input.substring(0,ques.input.indexOf('$$@@##'));\r\n // console.log(ques.input);\r\n }\r\n }\r\n\r\n if ((ques.type === \"Date\") && (ques.isDateBackward || ques.isDateForward)) {\r\n //console.log('Inside the date backward/forward cond');\r\n if (ques.isDateBackward === true) {\r\n //console.log('Inside the isDateBackward');\r\n this.myDatePickerOptions.disableSince = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate() + 1,\r\n };\r\n }\r\n if (ques.isDateForward === true) {\r\n //console.log('Inside the isDateForward');\r\n this.myDatePickerOptions.disableUntil = {\r\n year: this.today.getFullYear(),\r\n month: this.today.getMonth() + 1,\r\n day: this.today.getDate(),\r\n };\r\n }\r\n //console.log(this.myDatePickerOptions);\r\n }\r\n\r\n this.subQuestions.push(ques);\r\n for(var i=0; i<this.subQuestions.length;i++){\r\n // to show/hide the dependent dropdown only field using the dropDownOnly boolean\r\n if(this.subQuestions[i].size == 4){\r\n this.subQuestions[i].dropDownOnly = true;\r\n }else{\r\n this.subQuestions[i].dropDownOnly = false;\r\n }\r\n }\r\n if(ans != ''){\r\n for(var an of (ans.split('$$@@##'))){\r\n var sQ = new Question();\r\n Object.assign(sQ,ques);\r\n sQ.input = an;\r\n this.subQuestions.push(sQ);\r\n }\r\n }\r\n }\r\n if (this.valueName1 != null && this.valueName1.length > 0) {\r\n this.bookFlagAccept = this.valueName1.split(\";\");\r\n //console.log(this.subQuestions);\r\n }\r\n this.structLocalSubQuestion(null);\r\n // HA 02FEB24 On Edit to display the value usiing this\r\n if(this.allInputValues.length > 0){\r\n this.subQuestions.forEach(element => {\r\n for(let singleInput of this.allInputValues){\r\n if(element.id == singleInput.id){\r\n element.input = singleInput.input;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n optionChange(selValue) {\r\n let radioTrackingId: string = \"\";\r\n for (var opt of this.questionItem.options) {\r\n //console.log('optionChange TrackingId'+opt.trackingId);\r\n if (opt.value == selValue) {\r\n //console.log('inside if'+opt.trackingId)\r\n radioTrackingId = opt.trackingId;\r\n }\r\n }\r\n\r\n this.handleEvent.emit(radioTrackingId);\r\n this.clearError();\r\n // //console.log('inside optionChange using ' + selValue);\r\n\r\n this.inpValue = selValue;\r\n }\r\n\r\n clearError() {\r\n if (this.questionItem.error) {\r\n this.questionItem.error = null;\r\n }\r\n }\r\n\r\n clearLocalSubQuesError(quesId) {\r\n quesId.error = null;\r\n }\r\n\r\n inputValidate(e) {\r\n var keyCode = e.keyCode || e.which;\r\n // Only ASCII character in that range allowed\r\n var ASCIICode = (e.which) ? e.which : e.keyCode;\r\n if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)){\r\n return false;\r\n }else{\r\n return true;\r\n }\r\n }\r\n\r\n CCOnChange(inpValue: string) {\r\n\r\n if (inpValue.length == 2) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 7) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 12) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 17) {\r\n this.inpValue += \" \";\r\n }\r\n else if (inpValue.length == 22) {\r\n this.inpValue += \" \";\r\n }\r\n\r\n }\r\n\r\n isNotValidAccNumber(s: string) {\r\n s = s.replace(/\\s+/g, \"\");\r\n s = 'ES' + s;\r\n var isNotValidStr = false;\r\n if (s.length == 24) {\r\n for (var i = 0; i < s.length; i++) {\r\n if (i <= 1 && /[a-zA-Z]/.test(s.charAt(i))) {\r\n //console.log(\"Valid char: \" + s.charAt(i));\r\n } else if (i > 1 && /[0-9]/.test(s.charAt(i))) {\r\n //console.log(\"Valid numeric: \" + s.charAt(i));\r\n } else {\r\n isNotValidStr = true;\r\n //console.log(\"Not a valid char\");\r\n }\r\n }\r\n } else {\r\n isNotValidStr = true;\r\n //console.log(\"Not a valid acc number\");\r\n }\r\n return isNotValidStr;\r\n }\r\n\r\n clearSQError(quesId) {\r\n var sqList = this.subQuestions.filter((item) => item.id == quesId);\r\n for (var sq of sqList) {\r\n sq.error = null;\r\n }\r\n }\r\n\r\n uploadFile(event,ques?:any) {\r\n //console.log('inside upload');\r\n this.clearError();\r\n this.fileTypeIncorrect = false;\r\n var local = this;\r\n local.attachment = event.target.files[0];\r\n // Validate the file extension\r\n //console.log(local.attachment);\r\n let fileNameWithType: string =\r\n local.attachment && local.attachment.name.toLowerCase();\r\n if (\r\n !fileNameWithType.endsWith(\".jpg\") &&\r\n !fileNameWithType.endsWith(\".png\") &&\r\n !fileNameWithType.endsWith(\".pdf\") &&\r\n !fileNameWithType.endsWith(\".jpeg\") &&\r\n !fileNameWithType.endsWith(\".heic\") &&\r\n !fileNameWithType.endsWith(\".heif\") &&\r\n !fileNameWithType.endsWith(\".JPG\") &&\r\n !fileNameWithType.endsWith(\".PNG\") &&\r\n !fileNameWithType.endsWith(\".PDF\") &&\r\n !fileNameWithType.endsWith(\".JPEG\") &&\r\n !fileNameWithType.endsWith(\".HEIC\") &&\r\n !fileNameWithType.endsWith(\".HEIF\")\r\n ) {\r\n local.fileTypeIncorrect = true;\r\n }\r\n // Return when the file type is incorrect\r\n if (local.fileTypeIncorrect) {\r\n return;\r\n }\r\n let fileContent: any;\r\n var reader = new FileReader();\r\n\r\n reader.onload = function () {\r\n fileContent = reader.result;\r\n local.fileExceededLimit = local.attachment.size > 3242880; //Validating file size\r\n // Upload the file to Salesforce when the limit is within range\r\n if (!local.fileExceededLimit) {\r\n let fileWrapper = new AttachmentWrapper();\r\n fileWrapper.parentId = local.abItem.id;\r\n fileWrapper.fileName = local.attachment.name;\r\n fileWrapper.fileContent = fileContent;\r\n local.createAttachment(fileWrapper);\r\n ques.input = fileWrapper.fileName;\r\n }\r\n };\r\n this.spinner.show(this.spinnerName);\r\n reader.readAsDataURL(event.target.files[0]);\r\n }\r\n\r\n private successAttachmentCreate = (response) => {\r\n let createdAttachment: Attachment = new Attachment(\r\n response.attachmentId,\r\n response.attachmentName,\r\n this.attachment.lastModifiedDate\r\n );\r\n this.attachments.push(createdAttachment);\r\n this.attachmentsMap.set(this.questionItem.id, this.attachments);\r\n this.spinner.hide(this.spinnerName);\r\n };\r\n\r\n private successAttachmentDelete = (response) => {\r\n for (let i = 0; i < this.attachments.length; i++) {\r\n if (this.attachments[i].attachmentId === this.attachmentId) {\r\n this.attachments.splice(i, 1);\r\n }\r\n }\r\n };\r\n\r\n private failureAttachmentCreate = (response) => {\r\n //console.log('inside failureAttachmentCreate');\r\n };\r\n\r\n private failureAttachmentDelete = (response) => {\r\n //console.log('inside failureAttachmentDelete');\r\n };\r\n\r\n handleSubmitClick() {\r\n this.handleEvent.emit(this.qbItem.submitTrackingId);\r\n this.updateAnswerBook(this.abItem.id);\r\n }\r\n\r\n handleCancelClick() {\r\n this.handleEvent.emit(this.qbItem.cancelTrackingId);\r\n }\r\n\r\n private createAttachment = (fileWrapper: any) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"Attachment\", \"create\", JSON.stringify(fileWrapper)],\r\n // this.successAttachmentCreate,\r\n // this.failureAttachmentCreate\r\n // );\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('Attachment','create', JSON.stringify(fileWrapper),JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log('updated succussfully');\r\n console.log(data);\r\n this.successAttachmentCreate(JSON.parse(data))\r\n },(error) => {\r\n this.failureAttachmentCreate(error);\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 12Jun24 - translation changes\r\n // VD 31NOV24 param changes with new method\r\n let para3 = {\r\n dataType: \"Attachment\",\r\n operation: \"create\",\r\n param1: JSON.stringify(fileWrapper),\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para3)],\r\n this.successAttachmentCreate,\r\n this.failureAttachmentCreate\r\n );\r\n }\r\n }\r\n\r\n deleteAttachment(attachmentId: string) {\r\n this.attachmentId = attachmentId;\r\n this.handleEvent.emit(\"deleteAttachment\");\r\n this.deleteSFAttachment(attachmentId);\r\n }\r\n\r\n private deleteSFAttachment = (fileId: string) => {\r\n if(this.serv == \"api\") {\r\n // this.dataService.getAPIData(\r\n // this.tkn,\r\n // [\"Attachment\", \"delete\", fileId],\r\n // this.successAttachmentDelete,\r\n // this.failureAttachmentDelete\r\n // );\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n this.dataService.getAPIFromNode('Attachment','delete',fileId ,JSON.stringify(paramMap),this.api).subscribe(\r\n (data)=>{\r\n console.log('updated succussfully');\r\n console.log(data);\r\n this.successAttachmentDelete(JSON.parse(data))\r\n },(error) => {\r\n this.failureAttachmentDelete(error);\r\n console.error('Failed to fetch question books', error);\r\n }\r\n )\r\n } else {\r\n // VD 15FEB24 - used processNew method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n // VD 31NOV24 param changes with new method\r\n let para4 = {\r\n dataType: \"Attachment\",\r\n operation: \"delete\",\r\n param1: fileId,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : ''\r\n }\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [fileId,JSON.stringify(para4)],\r\n this.successAttachmentDelete,\r\n this.failureAttachmentDelete\r\n );\r\n }\r\n }\r\n\r\n getFileName(fileNamewithIdandType) {\r\n //truncate file path\r\n var fileNameWithType = fileNamewithIdandType.substr(\r\n fileNamewithIdandType.indexOf(\"::::\") + 4\r\n );\r\n return fileNameWithType; //fileNameWithType.replace(/^(.*(\\/|\\\\))(.+)$/, '$3');\r\n }\r\n fileUI() {\r\n if (this.attachments.length === 0) {\r\n }\r\n }\r\n\r\n //Update function for categorization\r\n // stepperCateg() {\r\n // this.firstFormGroup = this._formBuilder.group({\r\n // firstCtrl: ['', Validators.required]\r\n // });\r\n // this.secondFormGroup = this._formBuilder.group({\r\n // secondCtrl: ['', Validators.required]\r\n // });\r\n\r\n // }\r\n\r\n // Update Function for the Progress Bar\r\n updateProgress() {\r\n if (this.qbItem.progressBar === true) {\r\n let j = [];\r\n for (let i = 0; i < this.possibilities.total; i++) {\r\n var pathposs = Object.values(this.possibilities.paths[i].questions);\r\n if (pathposs[this.pathquestion] === this.currentName) {\r\n j.push(i);\r\n this.check = true;\r\n } else {\r\n this.check = false;\r\n }\r\n }\r\n if (j.length === 1) {\r\n this.count = j[0];\r\n }\r\n if (j.length > 1) {\r\n var width =\r\n 90 * (this.questionStack.length / this.possibilities.maxQuestions);\r\n this.progressStyle = Math.round(width) + \"%\";\r\n } else if (j.length === 1) {\r\n var width =\r\n 90 *\r\n (this.questionStack.length /\r\n this.possibilities.paths[this.count].count);\r\n this.progressStyle = Math.round(width) + \"%\";\r\n }\r\n this.percent = +Math.round(width);\r\n }\r\n }\r\n\r\n townName(area) {\r\n this.selectedValue = area.town;\r\n //console.log('this value='+this.selectedValue)\r\n this.tempoAddress = [];\r\n }\r\n\r\n getTownLocal() {\r\n this.tempoAddress = [];\r\n if (this.selectedValue.length > 0) {\r\n for (var val of this.localaddress) {\r\n if (\r\n val.town.substring(0, this.selectedValue.length) == this.selectedValue\r\n ) {\r\n //console.log(val.country)\r\n this.tempoAddress.push(val);\r\n //console.log('tempoAddress'+this.tempoAddress)\r\n if (this.tempoAddress.length == 6) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n document.getElementById(\"selectList\").style.display = \"block\";\r\n this.setSearchListWidth();\r\n }\r\n\r\n clearList() {\r\n setTimeout(() => {\r\n this.tempoAddress = [];\r\n }, 500);\r\n }\r\n\r\n setSearchListWidth() {\r\n //to resize search list based on the screen size\r\n const searchBoxWidth = window.document.getElementById(\"autocomplete-input\").offsetWidth;\r\n document.getElementById(\"selectList\").style.width = searchBoxWidth + \"px\";\r\n }\r\n\r\n getCode(){\r\n this.tempoAddress = [];\r\n if (this.selectedPostalcode.length > 0) {\r\n for (var val of this.allAddress) {\r\n if (val.zipCode.substring(0, this.selectedPostalcode.length) == this.selectedPostalcode) {\r\n //console.log(val.country)\r\n this.tempoAddress.push(val);\r\n //console.log('tempoAddress'+this.tempoAddress)\r\n if (this.tempoAddress.length == 6) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n document.getElementById(\"selectList\").style.display = \"block\";\r\n this.setSearchListWidth();\r\n }\r\n getPostalcode(value){\r\n this.places=[];\r\n this.province=[];\r\n var province;\r\n var town;\r\n this.selectedPostalcode = value.zipCode;\r\n this.selectedValue = value.country;\r\n this.tempoAddress=[];\r\n\r\n\r\n for(var val of this.localaddress){\r\n if(this.selectedPostalcode == val.zipCode ){\r\n this.places.push(val);\r\n this.province.push(val);\r\n this.selectedValue = val.country;\r\n province = val.province\r\n town = val.town;\r\n }\r\n }\r\n if(this.places.length == 1){\r\n\r\n this.selectedProvince =province;\r\n this.selectedCity = town;\r\n }else if(this.places.length >1 || this.places.length ==0){\r\n\r\n this.selectedCity ='';\r\n this.selectedProvince='';\r\n }\r\n }\r\n closeDropdown() {\r\n if(this.selectedPostalcode.length == 5){\r\n this.getPostalcode({zipCode:this.selectedPostalcode});\r\n }\r\n\r\n setTimeout(()=> {\r\n document.getElementById('selectList').style.display = \"none\";\r\n }, 500);\r\n }\r\n\r\n\r\n //Plus button implementation.\r\n structLocalSubQuestion(ques: LocalQuestion){\r\n // console.log('inside structLocalSubQuestion');\r\n for(var i = 0; i < this.subQuestions.length; i++){\r\n var localSubQuestion = new LocalQuestion();\r\n localSubQuestion.id = this.subQuestions[i].id;\r\n localSubQuestion.Name = this.subQuestions[i].Name;\r\n localSubQuestion.question = this.subQuestions[i].question;\r\n localSubQuestion.questionText = this.subQuestions[i].questionText;\r\n localSubQuestion.type = this.subQuestions[i].type;\r\n localSubQuestion.title = this.subQuestions[i].title;\r\n localSubQuestion.subTitle = this.subQuestions[i].subTitle;\r\n localSubQuestion.isOptional = this.subQuestions[i].isOptional;\r\n localSubQuestion.errorMessage = this.subQuestions[i].errorMessage;\r\n localSubQuestion.nextQuestion = this.subQuestions[i].nextQuestion;\r\n localSubQuestion.groupName = this.subQuestions[i].groupName;\r\n localSubQuestion.questionNumber = this.subQuestions[i].questionNumber;\r\n localSubQuestion.allowedFileExtensions = this.subQuestions[i].allowedFileExtensions;\r\n localSubQuestion.uniqueSubQId = ''+this.subQuestions[i].id + i;\r\n localSubQuestion.input = this.subQuestions[i].input;\r\n this.localSubQuestions.push(localSubQuestion);\r\n }\r\n // console.log('final local sub questions');\r\n // console.log(this.localSubQuestions);\r\n // console.log(this.questionItem.id);\r\n this.localSubQMap.set(this.questionItem.id,this.localSubQuestions);\r\n this.localSubQuestions = [];\r\n // console.log('final key localSubQMap map');\r\n // console.log(this.localSubQMap);\r\n }\r\n\r\n addInputBox(question: LocalQuestion, index: number){\r\n var arra = this.localSubQMap.get(this.questionItem.id);\r\n var qIndex = arra.indexOf(question);\r\n var ques: LocalQuestion = new LocalQuestion();\r\n Object.assign(ques, question);\r\n //console.log((ques.uniqueSubQId).substring(18, (ques.uniqueSubQId).length)+1);\r\n if(this.keyIndex == index){\r\n ques.uniqueSubQId = ques.id + (String(index+1));\r\n this.keyIndex++;\r\n }else{\r\n this.keyIndex++;\r\n ques.uniqueSubQId = ques.id + (String(this.keyIndex));\r\n }\r\n ques.input = '';\r\n arra.splice(qIndex+1, 0, ques);\r\n\r\n this.localSubQMap.set(this.questionItem.id,arra);\r\n //console.log(this.localSubQMap);\r\n }\r\n\r\n removeAddress(quesUniqueId: string, qName: string) {\r\n //console.log(quesUniqueId)\r\n var val = this.localSubQMap.get(this.questionItem.id);\r\n var keyindex = 0;\r\n\r\n for(let i=0; i<val.length; i++){\r\n if(val[i].Name == qName){\r\n keyindex++;\r\n }\r\n }\r\n\r\n if(this.localSubQMap.has(this.questionItem.id) && keyindex >1){\r\n var reorder = val.filter((item) => item.uniqueSubQId !== quesUniqueId)\r\n this.localSubQMap.set(this.questionItem.id,reorder);\r\n keyindex--;\r\n }\r\n }\r\n\r\n getLocalSubQuestions(id: String){\r\n return this.localSubQMap.get(id);\r\n }\r\n\r\n //Single Add button functionality for List type\r\nAdd(question: LocalQuestion){\r\n this.addFlag = false;\r\n var arra = this.localSubQMap.get(this.questionItem.id);\r\n var index = arra.length;\r\n var a = arra.slice(-1).pop();\r\n this.indexCount = a.questionNumber;\r\n\r\n for (var i = 0; i < this.indexCount ; i++) {\r\n var ques: LocalQuestion = new LocalQuestion();\r\n Object.assign(ques, question[i]);\r\n this.keyIndex++;\r\n ques.uniqueSubQId = ques.id + (String(this.keyIndex));\r\n ques.input = '';\r\n arra.splice(index+(this.indexCount-1), 0, ques);\r\n this.localSubQMap.set(this.questionItem.id,arra);\r\n }\r\n this.addFlag = true;\r\n }\r\n\r\n handleLocationSelected(location: any,ques:any) {\r\n ques.input = location;\r\n }\r\n\r\n selectedInput(input:any ,ques:any){\r\n ques.input = input;\r\n }\r\n\r\n handleTextareaValueChange(value :string){\r\n console.log('Selected text-area text:', value);\r\n }\r\n getData(data:any){\r\n console.log('table data',data);\r\n }\r\n\r\n dependentChange(value:any){\r\n this.nextValue = value;\r\n }\r\n\r\n displayDate(dateSelected: any,ques:any){\r\n // Parse the date string using moment and assign it to this.selectedDate\r\n ques.input = moment(dateSelected.value , 'YYYY-MM-DD HH:mm:ss').format('YYYY-MM-DD HH:mm:ss').toString();\r\n }\r\n\r\n getKey(item: any): any {\r\n return Object.keys(item)[0];\r\n }\r\n\r\n getValue(item: any): any {\r\n return Object.values(item)[0];\r\n }\r\n}","<!-- Spinner -->\r\n<ngx-spinner size=\"medium\" [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- custom loader -->\r\n<!-- <app-loader></app-loader> -->\r\n<!-- Back Processing -->\r\n<!-- <div *ngIf=\"backicon == false\" >\r\n <div class=\"backicon\" >\r\n <button (click)=\"handleBackClick()\" [class]=\" abItem?.status == 'Completed' ? 'summary-volver':'app-back1'\">\r\n <img class=\"icon-arrow-back\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-arrow-back.png\" alt=\"Scroll down\"> {{ qbItem?.back }}\r\n </button>\r\n </div>\r\n</div> -->\r\n\r\n<!-- Question Hanlding -->\r\n<!-- VD removed unwanted condition -->\r\n<!-- RS 09DEC24 Changed keys-->\r\n<div *ngIf=\"questionItem\" class=\"questiondiv1 padd-bottom\">\r\n <!-- Progress Bar & Title -->\r\n <div *ngIf=\"questionItem.title\">\r\n <h1>{{ questionItem?.title }}</h1>\r\n <div>{{ questionItem?.subTitle }}</div>\r\n </div>\r\n\r\n <!-- Progress & Grouping -->\r\n <div>\r\n <!-- Pie Chart Progress -->\r\n <div [ngClass]=\"{ bgColor: qbItem?.progressBar }\">\r\n <div id=\"nxt-progress\" *ngIf=\"qbItem?.progressBar\">\r\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\r\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\r\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \r\n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\r\n [startFromZero]=\"false\" [responsive]=\"false\" >\r\n </circle-progress>\r\n </div>\r\n </div>\r\n <!-- RS 09DEC24 Changed keys-->\r\n <!-- Show the Group/Module related to the Progress -->\r\n <div *ngIf=\"questionItem.groupName && qbItem.progressBar\"\r\n [ngClass]=\"{ questionalign: !qbItem?.progressBar }\">\r\n <div class=\"nxt-largeTitle\">\r\n <h3 class=\"myt-font6 myt-text3\">\r\n {{ questionItem?.groupName }}\r\n </h3>\r\n <div *ngIf=\"questionItem.subText != '¿En qué país ocurrió?'\" class=\"myt-font5 myt-text1\">{{questionItem?.subText}}</div>\r\n <div *ngIf=\"questionItem.subText === '¿En qué país ocurrió?'\" class=\"myt-font10 myt-text2\">{{questionItem?.subText}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- RS 09DEC24 Changed keys-->\r\n <!-- Question Handling -->\r\n <!-- VD 10Aug24- question no -->\r\n <div>\r\n <div *ngIf=\"questionItem.questionText\" style=\"display: flex;\">\r\n <span>{{questionItem?.questionNumber}}.</span>\r\n <p class=\"nxt-label\" [innerHTML]=\"getText(questionItem?.questionText)\">\r\n {{questionItem?.questionText}}\r\n </p>\r\n </div>\r\n <!-- Title -->\r\n <!-- <div *ngIf=\"questionItem.isTitle\">\r\n <div *ngIf=\"questionItem.type != 'Book' && questionItem.questionNumber!='6' && questionItem.questionNumber!='9'\"> \r\n <h3 class=\"questionalign myt-font3 myt-align myt-text4\" [innerHTML]=\"getText(questionItem?.questionText)\">\r\n {{questionItem?.questionText}}\r\n </h3>\r\n </div>\r\n </div> -->\r\n <!-- HA 31-JAN-24 Removed the unwanted styling class -->\r\n <!-- <div *ngIf=\"!questionItem.isTitle\" [class]=\"qbItem.isShengel ? 'header-style' : 'question-f-size'\">\r\n <div [innerHTML]=\"getText(questionItem?.questionText)\" >\r\n {{ questionItem?.questionText }}\r\n </div>\r\n </div> -->\r\n\r\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\r\n <!-- <div *ngIf=\"questionItem.type == 'Book'\">\r\n <div *ngIf=\"questionItem.questionNumber=='6'\">\r\n <h3 class=\"myt-321\" [innerHTML]=\"getText(questionItem?.questionText)\">\r\n {{ questionItem?.questionText }}\r\n </h3>\r\n </div>\r\n </div> -->\r\n \r\n <!-- This should be removed with Custom Styling - MR - 11AUG23 -->\r\n <!-- <div *ngIf=\"questionItem.type == 'File' \">\r\n <div *ngIf=\"questionItem.questionNumber=='9'\">\r\n <h3 class=\"myt-345\" [innerHTML]=\"getText(questionItem?.questionText)\">\r\n {{questionItem?.questionText}}\r\n </h3>\r\n </div>\r\n </div> -->\r\n </div>\r\n\r\n <!-- Additional Info -->\r\n <!-- The below code can be written effectively nested ngIf for Rich Text & Other onw for Progress Bar -->\r\n <div *ngIf=\"questionItem.additionalRichContent && qbItem.progressBar\" >\r\n <div\r\n class=\"nxt-additional \" [innerHTML]=\"innerhtml\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"questionItem.additionalRichContent && !qbItem.progressBar\">\r\n <div class=\"info-alert ques-alert1\">\r\n <i class=\"fa fa-info fa-3x iposition icolor\" aria-hidden=\"true\"></i>\r\n <div class=\"infodiv\" [innerHTML]=\"innerhtml\"></div>\r\n </div>\r\n </div>\r\n\r\n <!-- Dropdown-->\r\n <div *ngIf=\"dropdownFlag\" >\r\n <div class=\"nxt-dis-flex\">\r\n <select class=\"nxtdropdown\"\r\n [ngClass]=\"{\r\n 'dt-line nxt-myt-align3 nxt-myt-align2 dpDown nxt-dropbox down1 myt-dropbox myt-border-r myt-font1': qbItem?.progressBar,\r\n 'custom-select': !qbItem?.progressBar\r\n }\" class=\"mr-sm-2 dd-height nxt-dropbox \" id=\"dropdown\" [(ngModel)]=\"inpValue\" (change)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error ? 'red' : inpValue?.length > 0 ? '#fff' : ''\r\n }}\" style.color=\"{{ questionItem?.error ? 'red' : '' }}\">\r\n <option *ngFor=\"let opt of questionItem.options\" class=\"option\" value=\"{{ opt.value }}\">\r\n {{ opt.value }}\r\n </option>\r\n <!-- HA 20DEC23 For Translation -->\r\n <option value=\".\" disabled hidden>{{'pleaseMakeChoice' | i18n:i18nService.currentLanguage}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n\r\n <!--VD Radio update -->\r\n <div *ngIf=\"radioFlag || dataFlag\" class=\"\">\r\n <span *ngIf=\"this.questionItem.error\" class=\"nxt-error-msg\"> {{ questionItem?.errorMessage }}</span>\r\n <div class=\"nxt-custom-radio-container\">\r\n <div *ngFor=\"let opt of questionItem.options\" \r\n [class]=\" this.questionItem.error ? 'nxt-custom-radio-option invalid' : 'nxt-custom-radio-option'\">\r\n <input\r\n type=\"radio\"\r\n [id]=\"opt.value\"\r\n [(ngModel)]=\"inpValue\"\r\n name=\"inpValue\"\r\n [value]=\"opt.value\"\r\n (change)=\"optionChange(opt.value)\"\r\n />\r\n <label class=\"nxt-radio-label\" [for]=\"opt.value\"> {{ opt.value }}</label>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"nxt-dis-flex\">\r\n <div *ngFor=\"let opt of questionItem.options.records\" class=\"radio nxt-radioOption\">\r\n <label class=\"nxt-radiocontainer container myt-font4\">\r\n <input type=\"radio\" [id]=\"opt.id\" [(ngModel)]=\"inpValue\" name=\"inpValue\" [value]=\"opt.value\"\r\n (change)=\"optionChange(opt.value)\" />\r\n {{ opt.value }}\r\n </label>\r\n </div>\r\n </div> -->\r\n </div> \r\n <!-- Checkbox -->\r\n <div *ngIf=\"checkboxFlag\" class=\"\">\r\n <div *ngIf=\"questionItem?.error\" class=\"cond-div2\">\r\n {{ questionItem?.errorMessage }}\r\n </div>\r\n <div class=\"nxt-checkbox-container\">\r\n <div *ngFor=\"let item of optionValues\" class=\"nxt-checkbox-wrapper\">\r\n <label class=\"nxt-container1\">\r\n <input type=\"nxt-checkbox\" [id]=\"item.id\" [(ngModel)]=\"item.checked\" (click)=\"clearError()\" />\r\n <span class=\"nxt-checkbox-label\">{{ item.value }}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Text -->\r\n <div *ngIf=\"textFlag\">\r\n <!-- HA 31-JAN-24 To reduce the margin -->\r\n <div [class]=\"'col-md-' + questionItem?.size + ' paddingnone'\">\r\n <input class=\"nxt-input\" type=\"text\" [(ngModel)]=\"inpValue\" \r\n id=\"text-input-id\" required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error\r\n ? 'red'\r\n : ''\r\n }}\" oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\r\n <!-- <i class=\"fa fa-check nxt-check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0\"></i> -->\r\n </div>\r\n </div>\r\n\r\n <!-- Text Area -->\r\n <div *ngIf=\"taFlag\" >\r\n <div>\r\n <textarea class=\"nxt-input nxt-text-area\" id=\"ta-input-id\" [(ngModel)]=\"inpValue\" (click)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem?.error\r\n ? 'red'\r\n : inpValue?.length > 0 && taFocusOut\r\n ? '#87be1c'\r\n : ''\r\n }}\" (focusout)=\"taFocusOut = true\"\r\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\"></textarea>\r\n <!-- <i class=\"fa fa-check nxt-check-icon\" aria-hidden=\"true\" *ngIf=\"inpValue?.length > 0 && taFocusOut\" style=\"display: flex; justify-content: flex-end;\"></i> -->\r\n </div>\r\n </div>\r\n\r\n\r\n <!-- RS 06JAN25 -->\r\n <!-- for rich text -->\r\n <div *ngIf=\"rtaFlag\">\r\n <div [class]=\"'col-md-' + questionItem?.size + ' paddingnone'\">\r\n <app-custom-rich-text\r\n [value]=\"inpValue\"\r\n [question]=\"questionItem\"\r\n [error]=\"questionItem?.error\"\r\n (textValueChange)=\"handleRichTextChange($event)\">\r\n </app-custom-rich-text>\r\n </div>\r\n </div>\r\n \r\n \r\n <!-- <div *ngIf=\"ques.type === 'RichTextArea'\">\r\n\r\n <app-custom-rich-text\r\n [value]=\"ques.input\"\r\n [rows]=\"3\"\r\n [error]=\"ques.error\" [placeholder]=\"ques.question \" \r\n (textValueChange)=\"handleRichTextChange($event)\">\r\n </app-custom-rich-text>\r\n</div> -->\r\n <!-- CC Number Format -->\r\n <!-- RS 09DEC24 Changed keys-->\r\n <div *ngIf=\"numberFlag\" class=\"col-md-12\">\r\n <div class=\"nxt-dis-flex\">\r\n <input type=\"Text\" placeholder=\"0000 0000 0000 0000 0000 0000\" [ngClass]=\"{ boxoutline: qbItem?.progressBar }\"\r\n [(ngModel)]=\"inpValue\" id=\"number-input-id\" (ngModelChange)=\"CCOnChange($event)\" required=\"\" maxlength=\"29\"\r\n (focus)=\"clearError()\" oninput=\"this.value=this.value.replace(/[^0-9 ]/g,'');\"\r\n style=\"width:-webkit-fill-available;\" style.border-color=\"{{\r\n this.questionItem.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" />\r\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px;\"\r\n *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n <!-- END-->\r\n\r\n <!-- AlphaNumeric -->\r\n <div *ngIf=\"alphanumericFlag\" class=\"col-md-12\"> <!--UI not completed-->\r\n <div style=\"position:relative;\">\r\n <!-- HA 20DEC23 For Translation -->\r\n <input type=text placeholder=\"{{'zeroOfZero' | i18n:i18nService.currentLanguage}}\" style=\"padding:5px 5px 5px 150px;\" id=\"youridhere\"/>\r\n </div>\r\n </div>\r\n\r\n <!-- Email -->\r\n <!-- RS 09DEC24 Changed keys-->\r\n <div *ngIf=\"emailFlag\" class=\"col-md-12\">\r\n <div class=\"nxt-dis-flex\">\r\n <input type=\"email\" [ngClass]=\"{ boxoutline: qbItem?.progressBar }\" [(ngModel)]=\"inpValue\" id=\"email-input-id\"\r\n required=\"\" (focus)=\"clearError()\" style.border-color=\"{{\r\n this.questionItem.error\r\n ? 'red'\r\n : inpValue?.length > 0\r\n ? '#87be1c'\r\n : ''\r\n }}\" />\r\n <i class=\"fa fa-check\" aria-hidden=\"true\" style=\"color: #87be1c; margin-left: -2rem; z-index: 1; padding: 5px\"\r\n *ngIf=\"inpValue?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- DateTime -->\r\n <div *ngIf=\"dtFlag\" class=\"col-md-12 paddingZero nxtmyt-time1\" >\r\n <!-- Error Handling -->\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n\r\n <!-- Date -->\r\n <div *ngIf=\"dateFlag\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <!-- HA 31-JAN-24 These labels were occuping the empty space when date question comes-->\r\n <!-- <label class=\"date-time colorf\">{{ questionItem?.dateText }}</label> -->\r\n <div class=\"nxt-dis-flex\">\r\n <!-- HA 20DEC23 For Translation -->\r\n <!-- HA 02FEB24 Additional param to update the question -->\r\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event, questionItem)\"\r\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"{{'selectDate' | i18n:i18nService.currentLanguage}}\" (focus)=\"clearError()\">\r\n </my-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Time -->\r\n <div *ngIf=\"timeFlag\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <!-- <label class=\"date-time colorf\">{{ questionItem?.timeText }}</label> -->\r\n <div class=\"nxt-dis-flex\">\r\n <div [ngClass]=\"{'dt-line date-line nxt-dt-time': qbItem?.progressBar,\r\n dateandTime: !qbItem?.progressBar}\" \r\n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\r\n (focus)=\"(clearSQError) \">\r\n <select name=\"hours\" class=\"datetime showHour nxtmyt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">HH</option>\r\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\r\n {{ hour }}\r\n </option>\r\n </select>\r\n <span class=\"colon\"> : </span>\r\n <select name=\"minutes\" class=\"datetime nxtshowminute nxtmyt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">MM</option>\r\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\r\n {{ minute }}\r\n </option>\r\n </select>\r\n <div [ngClass]=\"{ colon1: qbItem?.progressBar }\" *ngIf=\"questionItem?.x24Hours == false\">\r\n <span class=\"colon\"> : </span>\r\n <select name=\"AM/PM\" class=\"nxtmyt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\r\n <option value=\"AM\">AM</option>\r\n <option value=\"PM\">PM</option>\r\n </select>\r\n <!-- <div [ngClass]=\"{'': qbItem.progressBar, 'dateandTime': !qbItem.progressBar}\"></div> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <i class=\"fa check-icon3\" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\r\n </div>\r\n </div>\r\n\r\n <!-- Attachment / File -->\r\n <div *ngIf=\"fileFlag\">\r\n <div *ngIf=\"!qbItem.progressBar\">\r\n <div class=\"info-alert\" style.border-color=\"{{ this.questionItem?.error ? 'red' : '' }}\">\r\n <label class=\"picture-upload\" for=\"file-upload\">\r\n <span class=\"picture-upload-child\">\r\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\r\n </span>\r\n <span class=\"fa fa-plus fa-2x picture-upload-child pic-upload icolor\">\r\n <i class=\"\" aria-hidden=\"true\"></i>\r\n </span>\r\n </label>\r\n </div>\r\n <input id=\"file-upload\" type=\"file\" accept=\"{{ allowedFileExtension }}\" (change)=\"uploadFile($event,this.questionItem)\" />\r\n </div>\r\n <ul *ngIf=\"\r\n attachments?.length > 0 &&\r\n questionItem?.type === 'File' &&\r\n !qbItem?.progressBar\r\n \" class=\"attach-ulist col-md-12\">\r\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\r\n {{ attachment.attachmentName}}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\r\n </li>\r\n </ul>\r\n\r\n <!-- Attachment Progress -->\r\n <div *ngIf=\"qbItem.progressBar\">\r\n <div *ngFor=\"let attachment of attachments\" class=\"nxtfile-uploading-box\">\r\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\r\n <span class=\"uploading-file-name \">{{ attachment.attachmentName }}</span>\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\r\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\r\n </div>\r\n <div class=\"nxtfile-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\r\n \r\n <!--<img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"icon-edit1\" />-->\r\n <span class=\"f-Name\" [innerHTML]=\"getText(questionItem?.questionText)\"> {{ questionItem?.questionText}}</span>\r\n <label class=\"file-label \">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/file-upload.png\" class=\"file-icon\"/>\r\n <!-- HA 20DEC23 For Translation -->\r\n <input name=\"attachment\" type=\"file\" placeholder=\"{{'toBuyTicket' | i18n:i18nService.currentLanguage}}\" multiple\r\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event)\"\r\n class=\"file-upload-btn\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- RS 09DEC24 Changed keys-->\r\n <!-- Book -->\r\n <div *ngIf=\"bookFlag\">\r\n <div [class]=\"qbItem.isShengel ? 'form-group content-box' : 'form-group'\">\r\n <div class=\"form-row\">\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n <div [class]=\"qbItem.isShengel ? '' : 'nxt-myt-align3'\" [class]=\"qbItem.isShengel ? 'col-lg-' + ques.size + ' paddingnone' : 'col-md-' + ques.size + ' paddingnone'\"\r\n *ngFor=\"let ques of subQuestions;let i = index\" [id]=\"ques.id\">\r\n <div [ngClass]=\"{ down2: qbItem?.progressBar }\">\r\n <span>{{ ques?.questionText }}</span>\r\n </div>\r\n <div class=\"col-md-12 paddingZero nxtmyt-dateTimeNew\" *ngIf=\"ques.type === 'Time' || ques.type === 'Date'\">\r\n <div *ngIf=\"ques.type === 'Date'\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <!-- <label class=\"date-time colorf\">{{ questionItem?.dateText }}</label> -->\r\n <div class=\"dateandtime\">\r\n <!-- HA 20DEC23 For Translation -->\r\n <!-- HA 02FEB24 Additional param to update the question -->\r\n <my-date-picker name=\"mydate\" [options]=\"myDatePickerOptions\" id=\"date\" style=\"font-size: 18px !important;\" (dateChanged)=\"onDateChanged($event, ques)\"\r\n [(ngModel)]=\"selDate\" class=\"date-picker\" placeholder=\"{{'selectDate' | i18n:i18nService.currentLanguage}}\" (focus)=\"clearError()\" >\r\n </my-date-picker>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Time'\">\r\n <div class=\"col-md-12 paddingBottom\">\r\n <!-- <label class=\"date-time colorf\">{{ questionItem?.timeText }}</label> -->\r\n <div class=\"dateandtime\">\r\n <div [ngClass]=\"{'dt-line date-line nxt-dt-time': qbItem?.progressBar,\r\n dateandTime: !qbItem?.progressBar}\" \r\n id=\"dateandTime\" [style.border-color]=\"questionItem?.error ? 'red': questionItem?.input?.length > 0 ? '' : ''\"\r\n (focus)=\"(clearSQError) \">\r\n <select name=\"hours\" class=\"datetime showHour nxtmyt-time myt-hour\" [(ngModel)]=\"selectedHour\" id=\"hour\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">HH</option>\r\n <option [value]=\"hour\" *ngFor=\"let hour of hours\">\r\n {{ hour }}\r\n </option>\r\n </select>\r\n <span class=\"colon\"> : </span>\r\n <select name=\"minutes\" class=\"datetime nxtshowminute nxtmyt-time\" [(ngModel)]=\"selectedMinute\" id=\"minute\"\r\n (focus)=\"clearError()\">\r\n <option value=\"\">MM</option>\r\n <option [value]=\"minute\" *ngFor=\"let minute of minutes\">\r\n {{ minute }}\r\n </option>\r\n </select>\r\n <div [ngClass]=\"{ colon1: qbItem?.progressBar }\" *ngIf=\"questionItem.x24Hours == false\">\r\n <span class=\"colon\"> : </span>\r\n <select name=\"AM/PM\" class=\"nxtmyt-time\" [(ngModel)]=\"selectedMeridiem\" id=\"meridiem\">\r\n <option value=\"AM\">AM</option>\r\n <option value=\"PM\">PM</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"ques.type === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [date]=\"ques.input\" (dateChange)=\"displayDate($event,ques)\"></app-custom-date-picker>\r\n </div>\r\n <!-- VD to show lable-->\r\n <div *ngIf=\"ques.type === 'Label'\">\r\n <app-custom-label [labelStyle]=\"ques.title\" [labelValue]=\"ques.question\">\r\n </app-custom-label>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Text'\">\r\n <label>{{ ques.questionText }}</label>\r\n <app-custom-input\r\n [value]=\"ques?.input\"\r\n [question]=\"ques\" \r\n [idValue]=\"ques?.trackingId\"\r\n [focusEvent]=\"clearSQError(ques?.id)\"\r\n [error]=\"ques?.error\"\r\n [placeholder]=\"ques?.question\"\r\n (inputValue)=\"selectedInput($event,ques)\">\r\n </app-custom-input>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Location'\">\r\n <!-- for pick location -->\r\n <!-- HA10012024 Added Api key as input -->\r\n <app-pick-location [apiKey]=\"qbItem['apiKey']\" [address]=\"ques.input\" (locationSelected)=\"handleLocationSelected($event,ques)\"></app-pick-location>\r\n </div>\r\n <!-- for text area -->\r\n <div *ngIf=\"ques.type === 'TextArea'\">\r\n <app-custom-text-area [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.question \" (textareaValueChange)=\"handleTextareaValueChange($event)\"></app-custom-text-area>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.type === 'Email'\">\r\n <input type=\"email\" [(ngModel)]=\"ques.input\" [id]=\"ques.id\" required=\"\" (focus)=\"clearSQError(ques.id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.question }}\" />\r\n </div>\r\n\r\n <div *ngIf=\"ques.type === 'File'\">\r\n <div *ngIf=\"!qbItem.progressBar\">\r\n <label class=\"picture-upload custom-file-upload bgcolor-w\" for=\"file-upload\">\r\n <span class=\"picture-upload-child\">\r\n <i class=\"fa fa-file-image-o fa-5x icolor\" aria-hidden=\"true\"></i>\r\n </span>\r\n <span class=\"\r\n fa fa-plus fa-2x\r\n picture-upload-child\r\n pic-upload\r\n icolor\r\n \">\r\n <i class=\"\" aria-hidden=\"true\"></i>\r\n </span>\r\n </label>\r\n <input id=\"file-upload\" type=\"file\" accept=\"{{ bookFlagAccept }}\" (change)=\"uploadFile($event,ques)\" />\r\n </div>\r\n\r\n <ul *ngIf=\"\r\n attachments?.length > 0 &&\r\n ques.type === 'File' &&\r\n !qbItem.progressBar\r\n \" class=\"attach-ulist col-md-12\">\r\n <li *ngFor=\"let attachment of attachments\" class=\"align-l\">\r\n {{ attachment.attachmentName\r\n }}<span class=\"attach-list\" (click)=\"deleteAttachment(attachment.attachmentId)\">X</span>\r\n </li>\r\n </ul>\r\n <div class=\"myt-box\" *ngIf=\"qbItem.progressBar\">\r\n\r\n <div *ngFor=\"let attachment of attachments\" class=\"nxtfile-uploading-box\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"nxt-icon-edit1\" />\r\n <span class=\"uploading-file-name myt-font1 font-weight: normal;\"> {{ attachment.attachmentName }}</span>\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-delete%402x.png\" class=\"deleteIcon\"\r\n (click)=\"deleteAttachment(attachment.attachmentId)\" />\r\n </div>\r\n <div class=\"nxtfile-upload-box\" style.border-color=\"{{ this.questionItem.error ? 'red' : '' }}\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%402x.png\" class=\"nxt-icon-edit1\" />\r\n <span class=\"f-Name\">{{ ques?.question }}</span>\r\n <label class=\"file-label \">\r\n <span style=\"color: #c5281c;text-decoration:underline\">\r\n {{'attach' | i18n:i18nService.currentLanguage}}\r\n </span>\r\n <!-- HA 20DEC23 For Translation -->\r\n <input name=\"attachment\" type=\"file\" placeholder=\"{{'toBuyTicket' | i18n:i18nService.currentLanguage}}\" multiple\r\n accept=\".pdf, .png, .jpg, .jpeg, .heic, .application/pdf\" (change)=\"uploadFile($event,ques)\"\r\n class=\"file-upload-btn\">\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- Table -->\r\n <div *ngIf=\"ques.type === 'Table'\" class=\"\">\r\n <app-custom-table \r\n [question]=\"ques\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-table>\r\n </div>\r\n\r\n <!-- Dropdown -->\r\n <div *ngIf=\"ques.type === 'Dropdown'\" class=\"nxtdropdown\">\r\n <!-- for common dropdown -->\r\n <!-- HA 20DEC23 For Translation -->\r\n <app-custom-dropdown [fromShengel]=\"qbItem.isShengel\"\r\n [options]=\"ques.options\"\r\n [apiMeta]=\"ques.subText\"\r\n [id]=\"ques.Name\"\r\n [selectedValue]=\"ques.input\"\r\n placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\r\n [errorMessage]=\"ques?.errorMessage\"\r\n [error]=\"ques?.error\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-dropdown>\r\n <app-dropdown-with-flag *ngIf=\"ques.isDependentPicklist && !ques.dropDownOnly\" [certified]=\"ques.certifiedFlag\" [JobPerformerCertificates]=\"ques.certificateList\" (flagDropDownChange)=\"dependentChange($event)\"></app-dropdown-with-flag>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"questionItem?.input?.length > 0\"></i>\r\n </div> \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--List start-->\r\n <div *ngIf=\"listFlag\">\r\n <div class=\"form-group\">\r\n <div class=\"form-row\">\r\n <div class=\"col-md-12\" *ngIf=\"questionItem.error\" style=\"font-size: 18px;\r\n color: red;\">{{questionItem?.error?.errorMsg}}</div>\r\n <div class=\"nxt-myt-align3\" [class]=\"'col-md-' + ques.size + ' paddingnone'\"\r\n *ngFor=\"let ques of getLocalSubQuestions(questionItem.id);let i = index\">\r\n <div>\r\n <span class=\"nxt-dis-flex myt-font3 myt-font7\">{{ ques?.question }}</span>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Text'\">\r\n <input type=\"text\" [(ngModel)]=\"ques.input\" [ngClass]=\"{\r\n 'nxt-dis-flex dt-line date-line nxtbookText boxoutline myt-font1': qbItem.progressBar,\r\n textBox: !qbItem.progressBar\r\n }\" id=\"text\" [id]=\"ques.uniqueSubQId\" required=\"\" (focus)=\"clearLocalSubQuesError(ques)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.question }}\"\r\n oninput=\"this.value=this.value.replace(/[^a-zA-Z0-9\\s.:;,?]/g,'');\" />\r\n </div>\r\n </div>\r\n <div class=\"\" *ngIf=\"addFlag\">\r\n <!-- HA 20DEC23 For Translation -->\r\n <button (click)=\"Add(getLocalSubQuestions(questionItem.id))\" class=\"btn\"><i class=\"fa fa-plus\" ></i>{{'add' | i18n:i18nService.currentLanguage}}</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!--List End-->\r\n\r\n <!-- Actions -->\r\n <!-- VD button condition removed-->\r\n <div class=\"flexer\">\r\n <!-- Backward / Back -->\r\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\r\n <!--VD disabled -->\r\n <div class=\"backbutton\" \r\n [style.visibility]=\"questionStack.length > 0 ? 'visible' : 'hidden'\" *ngIf=\"qbItem.back\">\r\n <button [disabled]=\"isButtonDisabled\" [ngClass]=\"{\r\n 'nxt-left-bt': qbItem.progressBar,\r\n 'nxt-btn btn-primary':\r\n !qbItem.progressBar\r\n }\" (click)=\"handleBackClick()\">\r\n {{ qbItem?.back }}\r\n </button>\r\n </div>\r\n\r\n <!-- Forward / Next -->\r\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\r\n <div *ngIf=\"qbItem.next\" >\r\n <div class=\"nxtbutton\">\r\n <!--VD disabled -->\r\n <button [disabled]=\"isButtonDisabled\" [ngClass]=\"{\r\n 'nxt-rusty': qbItem.progressBar,\r\n 'nxt-btn btn-primary':\r\n !qbItem.progressBar\r\n }\" (click)=\"handleNextClick()\">\r\n {{ qbItem.next }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Summary -->\r\n<div *ngIf=\"this.abItem?.status === 'Completed'\" class=\"col-lg-12\" style=\"text-align: center;\">\r\n <h2>{{this.qbItem.summaryText}}</h2>\r\n <p>{{this.qbItem.summarySubText}}</p>\r\n</div>\r\n\r\n<div *ngIf=\"summary && summary.length > 0\" height=\"100% !important\" class=\"col-md-12\" [ngClass]=\"{\r\n 'col-md-12':!qbItem.progressBar\r\n }\">\r\n <h1 class=\"nxt-header1 nxt-summarypadd\" >{{ qbItem.subTitle }}</h1> \r\n <div id=\"nxt-progress2\" *ngIf=\"!qbItem.progressBar && this.abItem.status != 'Completed' \">\r\n <div [ngClass]=\"{ 'full-summary': qbItem.progressBar }\">\r\n <div *ngFor=\"let qa of summary\">\r\n <div [ngClass]=\"{ non: qbItem.progressBar }\">\r\n <div [ngClass]=\"{ summary: !qbItem.progressBar }\">\r\n <div *ngIf=\"!qbItem.edit\"\r\n [ngClass]=\"{ 'question': this.abItem.status != 'Completed' }\">\r\n <p [ngClass]=\"{ asum: this.abItem.status === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\r\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</p>\r\n </div>\r\n <!-- VD Question No added -->\r\n <div *ngIf=\"qbItem.edit\"\r\n [ngClass]=\"{ 'question': this.abItem.status != 'Completed' }\">\r\n <div [ngClass]=\"{ 'question': this.abItem.status === 'Completed' }\"\r\n [innerHTML]=\"getText(qa.quesValue)\"><span>{{ qa.questionNumber }}</span>\r\n {{ qa.quesValue }}\r\n </div>\r\n </div>\r\n <div class=\"nxt-answer\" >\r\n <div *ngIf=\"qa.qTyp === 'File'\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"nxt-icon-edit-summary\" />\r\n {{ qa.ansValue }}\r\n </div>\r\n <!-- HA 02FEB24 Displaying the in summary for book type -->\r\n <div *ngIf=\"qa.qTyp == 'Book'\">\r\n <div *ngFor=\"let val of qa.myVal\">\r\n <p>{{ val.questionText }}:<span>{{ val.input }}</span></p>\r\n </div>\r\n </div>\r\n <!-- HA 02FEB24 Displaying the value for direct question -->\r\n <div *ngIf=\"qa.qTyp != 'File' && qa.qTyp != 'Book'\">{{ qa.questionText }} <span></span>{{ qa.ansValue }}</div>\r\n <div *ngIf=\"qbItem.edit && this.abItem.status != 'Completed'\" style=\"background: #dedddd;\">\r\n <button class=\"nxt-edit\" (click)=\"handleEditClick(qa.quesId)\">\r\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"nxt-icon-editios\"/>\r\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"nxt-icon-edit\" />\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <div id=\"nxt-progress2\" *ngIf=\"qbItem.progressBar \">\r\n <div [ngClass]=\"{'bgColor nxtsummary-top' : qbItem.progressBar }\" >\r\n <div id=\"nxt-progress-summary\" *ngIf=\"qbItem.progressBar\">\r\n <circle-progress class=\"titlebar\" [percent]=\"this.percent\" [radius]=\"40\" [space]=\"-4\" [outerStrokeWidth]=\"4\"\r\n [innerStrokeWidth]=\"4\" [outerStrokeColor]=\"'#e0b1b0'\" [innerStrokeColor]=\"'#e7e8ea'\" [animation]=\"true\" [backgroundPadding]= \"0\"\r\n [backgroundColor]= \"'#dd2e13'\" [backgroundGradientStopColor]=\"'#f9bfbd'\" [titleColor]=\"'#f3eded'\" \r\n class=\"ng-star-inserted\" [title]=\"this.percent+'%'\" [showSubtitle]=\"false\" [showBackground]=\"true\" [animationDuration]=\"300\"\r\n [startFromZero]=\"false\" [responsive]=\"false\" >\r\n </circle-progress>\r\n \r\n <div *ngIf=\"qbItem.summaryText && qbItem.progressBar\" \r\n [ngClass]=\"{ summaryTitle: qbItem.progressBar }\">\r\n <h3 class=\"nxt-subTitle\" >{{ qbItem.summaryText }}</h3>\r\n <div *ngIf=\"abItem.status != 'Completed'\" class=\"nxt-subTitle1\" >{{ qbItem.summarySubText}}</div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!qbItem.progressBar\">\r\n <h3 class=\"summary-h\">\r\n {{ qbItem.summaryText }}\r\n </h3>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{ 'full-summary': qbItem.progressBar }\">\r\n <div class=\"summary-groupText myt-font2\">\r\n <!-- <p>Informe de daño</p> -->\r\n </div>\r\n <div *ngFor=\"let qa of summary\" >\r\n <div [ngClass]=\"{ non: qbItem.progressBar }\">\r\n <div class=\"summary\">\r\n <!-- <div *ngIf=\"!qbItem.edit\"\r\n [ngClass]=\"{ 'question sum-ques myt-font3 myt-font8': this.abItem.status != 'Completed' }\">\r\n <a [ngClass]=\"{ asum: this.abItem.status === 'Completed' }\" (click)=\"handleEditClick(qa.quesId)\"\r\n [innerHTML]=\"getText(qa.quesValue)\">{{ qa.quesValue }}</a>\r\n </div>\r\n <div *ngIf=\"qbItem.edit\"\r\n [ngClass]=\"{ 'sum-ques question myt-font3 myt-font8': this.abItem.status != 'Completed' }\">\r\n <div [ngClass]=\"{ 'sum-ques1 question1 summary-completed myt-font3 myt-font8': this.abItem.status === 'Completed' }\"\r\n [innerHTML]=\"getText(qa.quesValue)\">\r\n {{ qa.quesValue }}\r\n </div>\r\n </div> -->\r\n <div *ngIf=\"qbItem.edit && this.abItem.status != 'Completed'\" style=\"background: #dedddd;\">\r\n <button class=\"nxt-edit\" (click)=\"handleEditClick(qa.quesId)\">\r\n <img *ngIf=\"deviceInfo.os === 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" style=\"width:50%!important;\" class=\"nxt-icon-editios\"/>\r\n <img *ngIf=\"deviceInfo.os !== 'iOS'\" src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-edit%402x.png\" class=\"nxt-icon-edit\" />\r\n </button>\r\n </div>\r\n \r\n <div class=\"nxt-answer\">\r\n <div *ngIf=\"qa.qTyp === 'File'\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/MytIcon/icon-doc-img%401.png\" class=\"nxt-icon-edit-summary\" />\r\n {{ qa.ansValue }}\r\n </div>\r\n <div *ngIf=\"qa.qTyp != 'File'\">\r\n {{ qa.ansValue }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"flexer1\" *ngIf=\"abItem\">\r\n <div class=\"\" *ngIf=\"abItem.status == 'Completed' && qbItem.cancel\">\r\n <div class=\"col-md-12\">\r\n <button [ngClass]=\"{'btn-text': qbItem.progressBar,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.progressBar}\"\r\n (click)=\"handleCancelClick()\">\r\n {{ qbItem.cancel }}\r\n </button>\r\n </div>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Group Actions -->\r\n <div class=\"align-edit-submit\" *ngIf=\"abItem.status != 'Completed'\">\r\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\r\n <div class=\"col-md-6\" *ngIf=\"qbItem.submit\">\r\n <button [ngClass]=\"{ 'btn-text2': qbItem.progressBar,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.progressBar }\" \r\n (click)=\"handleSubmitClick()\">\r\n {{ qbItem.submit }}\r\n </button>\r\n </div>\r\n <!-- HA 02FEB24 Hiding the button when there is no value from the backend -->\r\n <!-- <div class=\"col-md-6\" *ngIf=\"qbItem.edit\">\r\n <button [ngClass]=\"{'grey': qbItem.progressBar,\r\n 'nxt-btn btn-primary btn-lg btn-block btn-back-color': !qbItem.progressBar}\" \r\n (click)=\"handleBackClickNew()\">\r\n {{ qbItem.edit }}\r\n </button>\r\n </div> -->\r\n </div>\r\n\r\n</div>","import { Injectable } from '@angular/core';\r\nimport { Question } from '../wrapper';\r\nimport { BookletWrapper } from '../model/bookletWrapper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class StorageService {\r\n nxtBookletAnswer: BookletWrapper;\r\n selectedData:any;\r\n\r\n constructor() { }\r\n\r\n save(qbJson: BookletWrapper) {\r\n this.nxtBookletAnswer = qbJson;\r\n }\r\n\r\n update(questionWithInput: Question) {\r\n // Store the Updated Questions (with Answer/Error) in a Map\r\n\r\n // for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\r\n // if(eQuestion == questionWithInput.Id) {\r\n // this.nxtBookletAnswer.bookQuestionsMap[eQuestion] = questionWithInput;\r\n // }\r\n // }\r\n // RS 09DEC24 Changed keys\r\n for (var eQuestion in this.nxtBookletAnswer.bookQuestionsMap) {\r\n if (this.nxtBookletAnswer.bookQuestionsMap.hasOwnProperty(eQuestion)) {\r\n const questionsR = this.nxtBookletAnswer.bookQuestionsMap[eQuestion].subQuestions;\r\n // VD 31NOV24 wrapper changes\r\n for(let i=0;i<questionsR.length;i++){\r\n if(questionsR[i].id == questionWithInput.id){\r\n questionsR[i] = questionWithInput;\r\n console.log('assigned success');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n get() {\r\n // return the stored questions\r\n return this.nxtBookletAnswer;\r\n\r\n }\r\n}\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { Question } from '../../wrapper';\r\n//import { QuestionbookComponent } from '../../pages/questionbook/questionbook.component';\r\n//import { ComponenthostDirective } from '../../directives/componenthost/componenthost.directive';\r\nimport { ChangeService } from '../../services/change.service';\r\ninterface CalendarDay {\r\n date: Date;\r\n events: any[];\r\n isCurrentMonth: boolean;\r\n isPast: boolean;\r\n isToday: boolean;\r\n isFuture: boolean;\r\n isSelected?: boolean;\r\n}\r\n@Component({\r\n selector: 'app-custom-calendar',\r\n templateUrl: './custom-calendar.component.html',\r\n styleUrls: ['./custom-calendar.component.css'],\r\n})\r\nexport class CustomCalendarComponent implements OnInit {\r\n @Output() eventSelected = new EventEmitter<any>();\r\n // VD 06Sep24 calendar changes\r\n @Output() dateSelected = new EventEmitter<any>();\r\n @Output() openModal = new EventEmitter<any>();\r\n @Output() closeModal = new EventEmitter<any>();\r\n @Input() allEvents: any[] = []; \r\n @Input() question: Question\r\n @Input() nxtId: string;\r\n //@ViewChild(ComponenthostDirective, { static: true }) dynamicHost: ComponenthostDirective;\r\n entries = [];\r\n referenceQuestions = [];\r\n qbRefrenceBook:any;\r\n calendarQuestion = [];\r\n calendar = {};\r\n currentDate: Date = new Date();\r\n calendarDays: CalendarDay[] = [];\r\n daysOfWeek: string[] = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\r\n newEventTitle: string = '';\r\n newEventTime: string = '';\r\n newDescription: string = '';\r\n newLink: string = '';\r\n selectedDay: CalendarDay | null = null;\r\n isModalOpen = false;\r\n modalTitle = 'Custom Modal';\r\n modalSize = 'large';\r\n saveButtonValue = 'Save';\r\n modalFooter = true;\r\n editingEventId: number;\r\n editingEntryGroup: any;\r\n showAppoinmentSection: boolean = true;\r\n subscription: any;\r\n constructor( private changeService: ChangeService) { }\r\n ngOnInit() {\r\n if(this.question?.input){\r\n this.allEvents = this.question.input;\r\n }\r\n this.processQuestion();\r\n this.generateCalendar();\r\n this.subscription = this.changeService.customChange$.subscribe(\r\n (changeValue) => {\r\n if(changeValue == 'calendar-modal-save') {\r\n this.onSave();\r\n }\r\n if(changeValue == 'dataBind') {\r\n if(this.question?.input){\r\n this.allEvents = this.question.input;\r\n }\r\n this.processQuestion();\r\n this.generateCalendar();\r\n }\r\n }\r\n );\r\n // this.dateSelected.emit(this.calendar);\r\n //this.eventSelected.emit(this.allEvents);\r\n }\r\n // RS 09DEC24 Changed keys\r\n processQuestion(){\r\n this.entries = JSON.parse(this.question['fieldsMeta']);\r\n this.qbRefrenceBook = JSON.parse(this.question['qbReferenceQuestions']);\r\n let title = this.qbRefrenceBook?.questionbook?.title;\r\n this.modalTitle = title;\r\n this.referenceQuestions = [];\r\n if(this.entries.length > 0){\r\n this.entries.forEach(element => {\r\n if(element.questionReference){\r\n let qReference = JSON.parse(element.questionReference);\r\n this.referenceQuestions.push(qReference?.question);\r\n }\r\n });\r\n }\r\n console.log('entries-->');\r\n console.log('question-->');\r\n console.log(this.entries);\r\n console.log(this.referenceQuestions);\r\n }\r\n // sunday comment\r\n // openQuestionBookModal() {\r\n // const viewContainerRef = this.dynamicHost.viewContainerRef;\r\n // viewContainerRef.clear();\r\n // const componentRef = viewContainerRef.createComponent(QuestionbookComponent);\r\n // componentRef.instance.qbItem = this.qbRefrenceBook;\r\n // componentRef.instance.questions = this.referenceQuestions;\r\n // componentRef.instance.handleQuestion.subscribe((event: any) => this.handleQuestionEvent(event));\r\n // }\r\n\r\n generateCalendar() {\r\n const year = this.currentDate.getFullYear();\r\n const month = this.currentDate.getMonth();\r\n\r\n const startOfMonth = new Date(year, month, 1);\r\n const endOfMonth = new Date(year, month + 1, 0);\r\n\r\n const startDayOfWeek = startOfMonth.getDay();\r\n const endDayOfWeek = endOfMonth.getDay();\r\n\r\n const startDate = new Date(startOfMonth);\r\n startDate.setDate(startDate.getDate() - startDayOfWeek);\r\n\r\n const endDate = new Date(endOfMonth);\r\n endDate.setDate(endDate.getDate() + (6 - endDayOfWeek));\r\n\r\n const today = new Date(new Date().setHours(0, 0, 0, 0));\r\n \r\n this.calendarDays = [];\r\n for (let d = new Date(startDate); d <= endDate; d.setDate(d.getDate() + 1)) {\r\n const date = new Date(d);\r\n this.calendarDays.push({\r\n date: date,\r\n events: [],\r\n isCurrentMonth: d.getMonth() === month,\r\n isPast: date < today,\r\n isToday: date.getTime() === today.getTime(),\r\n isFuture: date > today,\r\n });\r\n }\r\n\r\n // Populate calendar with events from allEvents array\r\n this.calendarDays.forEach(day => {\r\n day.events = this.allEvents?.filter(event => event?.date?.toDateString() === day.date.toDateString());\r\n });\r\n // VD 06Sep24 calendar changes\r\n let cal = {}\r\n cal['year'] = year;\r\n cal['month'] = month + 1;\r\n this.calendar = cal;\r\n }\r\n\r\n selectDay(day: CalendarDay) {\r\n console.log(day);\r\n // VD 06Sep24 calendar changes\r\n this.showAppoinmentSection = true;\r\n this.selectedDay = day;\r\n // this.eventSelected.emit(day?.events);\r\n const previouslySelectedDay = this.calendarDays.find(d => d.isSelected);\r\n if (previouslySelectedDay) {\r\n previouslySelectedDay.isSelected = false;\r\n }\r\n // Select the clicked day\r\n day.isSelected = true;\r\n // VD 09Sep24- setup the query param data for api call\r\n let referenceData = [];\r\n this.referenceQuestions.forEach(ques => {\r\n // VD 09-09-24 get the selected date\r\n // need to add in the document\r\n // RS 09DEC24 Changed keys\r\n if(ques.referenceField == 'selectedDate'){\r\n ques.input = day.date.toISOString();\r\n console.log(ques.input);\r\n }\r\n // VD 09-09-24 get the query refrence field data to pass the queryParam for api\r\n if(ques.subText){\r\n let subText = JSON.parse(ques.subText);\r\n if (subText.queryField && subText.queryValueReference) {\r\n let currentQues = ques;\r\n let queryReferences = subText.queryValueReference.split(','); \r\n queryReferences.forEach(refField => {\r\n let refQues = this.referenceQuestions.find(q => q.referenceField === refField);\r\n if (refQues) {\r\n referenceData.push(refQues);\r\n }\r\n });\r\n // Add the referenceData array to the current question\r\n currentQues.referenceQueryData = referenceData;\r\n }\r\n }\r\n })\r\n }\r\n\r\n previousMonth() {\r\n this.showAppoinmentSection = false;\r\n this.currentDate.setMonth(this.currentDate.getMonth() - 1);\r\n this.currentDate = new Date(this.currentDate); // Ensure the date object is updated\r\n this.generateCalendar();\r\n this.dateSelected.emit(this.calendar);\r\n this.eventSelected.emit(this.allEvents);\r\n }\r\n\r\n nextMonth() {\r\n // VD 06Sep24 calendar changes\r\n this.showAppoinmentSection = false;\r\n this.currentDate.setMonth(this.currentDate.getMonth() + 1);\r\n this.currentDate = new Date(this.currentDate); // Ensure the date object is updated\r\n this.generateCalendar();\r\n this.dateSelected.emit(this.calendar);\r\n this.eventSelected.emit(this.allEvents);\r\n }\r\n\r\n addAppointment() {\r\n this.isModalOpen = true;\r\n this.calendarQuestion = this.referenceQuestions.map(q => ({ ...q, input: '' }));\r\n this.referenceQuestions.forEach(ques => {\r\n // clear the input\r\n if(ques.referenceField != 'selectedDate'){\r\n if(ques.type == 'Dropdown'){\r\n delete ques.input;\r\n delete ques.selectedValue;\r\n // VD 06Sep24 calendar changes\r\n }else {\r\n delete ques.input;\r\n }\r\n }\r\n });\r\n console.log(this.referenceQuestions);\r\n this.editingEventId = null;\r\n this.calendarQuestion = this.referenceQuestions;\r\n this.openBookModel();\r\n // sunday comment\r\n //this.openQuestionBookModal();\r\n }\r\n\r\n openBookModel(){\r\n this.openModal.emit({\r\n qbRefrenceBook: this.qbRefrenceBook,\r\n referenceQuestions: this.referenceQuestions,\r\n modalTitle : this.modalTitle,\r\n modalSize : this.modalSize,\r\n saveButtonValue : this.saveButtonValue,\r\n modalFooter : this.modalFooter,\r\n\r\n });\r\n }\r\n\r\n closeCalendarModal() {\r\n this.isModalOpen = false;\r\n this.closeModal.emit(true);\r\n }\r\n // VD 06Sep24 calendar changes\r\n\r\neditEvent(event: any, entryGroup: any) {\r\n this.isModalOpen = true;\r\n this.referenceQuestions = Object.values(entryGroup);\r\n this.calendarQuestion = [...this.referenceQuestions]; // Make a copy of the current entries to edit\r\n this.editingEventId = event.id;\r\n this.editingEntryGroup = entryGroup; // Store the entry group being edited\r\n this.generateCalendar(); // Regenerate the calendar to reflect changes\r\n this.openBookModel();\r\n // suday comment\r\n // this.openQuestionBookModal();\r\n\r\n}\r\n\r\ndeleteEvent( eventId: number, entryGroup: any) {\r\n let event = this.allEvents?.find(e => e?.id === eventId);\r\n if (event) {\r\n // Find the index of the entryGroup to delete\r\n const entryIndex = event.entries.indexOf(entryGroup);\r\n if (entryIndex > -1) {\r\n event.entries.splice(entryIndex, 1); // Remove the specific entry\r\n }\r\n\r\n // If the event has no more entries, remove the event entirely\r\n if (event.entries.length === 0) {\r\n const eventIndex = this.allEvents?.indexOf(event);\r\n if (eventIndex > -1) {\r\n this.allEvents?.splice(eventIndex, 1); // Remove the entire event\r\n }\r\n }\r\n }\r\n let eventData = {};\r\n eventData['action'] = \"delete\";\r\n eventData['data'] = event;\r\n this.eventSelected.emit(eventData);\r\n this.generateCalendar(); // Regenerate the calendar to reflect the changes\r\n}\r\n\r\n // VD 06Sep24 calendar changes\r\n addEvent(day: CalendarDay, entryQues) {\r\n // Transform new entries into the desired format\r\n const newEntries = entryQues.reduce((acc, q) => {\r\n acc[q.id] = { ...q };\r\n return acc;\r\n }, {});\r\n\r\n // Find an existing event for the given date\r\n const existingEvent = day.events?.find(event => event.date === day.date);\r\n\r\n if (existingEvent) {\r\n // Merge new entries into the existing event's entries array\r\n // Check if the entries array already contains an object with the same id\r\n const existingEntries = existingEvent.entries.map(entry => ({ ...entry }));\r\n // Append new entries to the existing entries\r\n existingEntries.push(newEntries);\r\n existingEvent.entries = existingEntries;\r\n } else {\r\n // Create a new event if it doesn't exist for the given date\r\n const newEvent = {\r\n id: this.generateId(),\r\n date: day.date,\r\n entries: [newEntries] // Wrap the new entries in an array\r\n };\r\n day.events = day?.events || []\r\n day.events.push(newEvent);\r\n this.allEvents?.push(newEvent);\r\n //this.eventSelected.emit(this.allEvents);\r\n let eventData = {};\r\n eventData['action'] = \"add\";\r\n eventData['data'] = newEvent;\r\n this.eventSelected.emit(eventData);\r\n }\r\n this.generateCalendar();\r\n console.log('allEvents', this.allEvents);\r\n}\r\n // VD 06Sep24 calendar changes\r\n onSave() {\r\n if (this.editingEventId !== null) {\r\n const event = this.allEvents?.find(e => e?.id === this.editingEventId);\r\n if (event && this.editingEntryGroup) {\r\n // Update the specific entry group within the event\r\n const entryIndex = event.entries.findIndex(entryGroup => entryGroup === this.editingEntryGroup);\r\n if (entryIndex > -1) {\r\n event.entries[entryIndex] = this.calendarQuestion.reduce((acc, q) => {\r\n acc[q.id] = { ...q };\r\n return acc;\r\n }, {});\r\n }\r\n }\r\n // this.eventSelected.emit(this.allEvents);\r\n let eventData = {};\r\n eventData['action'] = \"edit\";\r\n eventData['data'] = event;\r\n this.eventSelected.emit(eventData);\r\n } else {\r\n if (this.selectedDay) {\r\n this.addEvent(this.selectedDay, this.calendarQuestion);\r\n }\r\n }\r\n this.closeCalendarModal();\r\n this.generateCalendar();\r\n}\r\n\r\n // onCancel() {\r\n // console.log('Cancel button clicked');\r\n // this.closeCalendarModal();\r\n // }\r\n //this funtion need to be used\r\n // handleQuestionEvent(ques){\r\n // // Update the questions array with the new question\r\n // const index = this.calendarQuestion.findIndex(q => q.id === ques.id);\r\n // if (index > -1) {\r\n // // If question already exists, update it\r\n // this.calendarQuestion[index] = ques;\r\n // } else {\r\n // // If question doesn't exist, add it to the array\r\n // this.calendarQuestion.push(ques);\r\n // }\r\n // console.log(this.calendarQuestion);\r\n // }\r\n\r\n // VD 06Sep24 calendar changes\r\n generateId() {\r\n return '_' + Math.random().toString(36).substr(2, 9);\r\n }\r\n\r\n getEntryKeys(entryGroup: any): string[] {\r\n return Object.keys(entryGroup);\r\n}\r\n\r\nremoveCharacters(questionText:string){\r\n let updatedText = questionText?.replace(/<[^>]*>/g, '');\r\n return updatedText;\r\n}\r\n\r\n}\r\n","<div class=\"align-calendar\">\r\n <div class=\"calendar-container\">\r\n <div class=\"calendar-header\">\r\n <button (click)=\"previousMonth()\"><< Previous >></button>\r\n <h3>{{ currentDate | date: 'MMMM yyyy' }}</h3>\r\n <button (click)=\"nextMonth()\"><< Next >></button>\r\n </div>\r\n <div class=\"calendar-grid\">\r\n <div class=\"day-of-week\" *ngFor=\"let day of daysOfWeek\">{{ day }}</div>\r\n <div\r\n class=\"calendar-day\"\r\n *ngFor=\"let day of calendarDays\"\r\n [class.not-current-month]=\"!day.isCurrentMonth\"\r\n [class.past]=\"day.isPast\"\r\n [class.today]=\"day.isToday\"\r\n [class.future]=\"day.isFuture\"\r\n [class.selected]=\"day.isSelected\"\r\n (click)=\"selectDay(day)\"\r\n >\r\n <div class=\"day-number\">{{ day.date.getDate() }}\r\n <span *ngIf=\"day?.events?.length > 0\" class=\"entry-indicator\" [class.select]=\"day?.isSelected\"></span>\r\n </div>\r\n <!-- <div *ngFor=\"let event of day.events\" >\r\n <div *ngFor=\"let entryGroup of event.entries\" class=\"event\">\r\n <div *ngFor=\"let key of getEntryKeys(entryGroup)\">\r\n <div *ngIf=\"entryGroup[key].type == 'Time'\">\r\n {{ entryGroup[key].input?.value | date: 'shortTime' }}\r\n </div>\r\n <div *ngIf=\"entryGroup[key].type != 'Time'\">\r\n {{ entryGroup[key].input }}\r\n </div>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"appoinappointment\">\r\n <div class=\"appointments-container\">\r\n <h4>Add Appointment</h4>\r\n <button *ngIf=\"selectedDay\" (click)=\"addAppointment()\">Add</button>\r\n </div>\r\n <!--VD 06Sep24 calendar updates--> \r\n <!-- RS 09DEC24 Changed keys--> \r\n <div *ngIf=\"showAppoinmentSection && selectedDay?.events?.length > 0\" class=\"appointments-container\">\r\n <h4>Appointments</h4>\r\n <div *ngFor=\"let event of selectedDay?.events\">\r\n <div class=\"event\" *ngFor=\"let entryGroup of event.entries\">\r\n <div class=\"event-info\">\r\n <div *ngFor=\"let key of getEntryKeys(entryGroup)\" class=\"entry-row\">\r\n <div *ngIf=\"entryGroup[key].questionText\" class=\"entry-text\">\r\n {{removeCharacters(entryGroup[key].questionText)}}:\r\n </div>\r\n <div class=\"entry-value\">\r\n <!-- VD 09Sep24- date type and link type updates -->\r\n <span *ngIf=\"entryGroup[key].type != 'Time' && entryGroup[key].type != 'Link'&& entryGroup[key].type != 'Date'\">{{ entryGroup[key].input }}</span>\r\n <span *ngIf=\"entryGroup[key].type == 'Time'\">{{ entryGroup[key].input | date: 'shortTime' }}</span>\r\n <span *ngIf=\"entryGroup[key].type == 'Date'\">{{ entryGroup[key].input | date: 'mediumDate' }}</span>\r\n <span *ngIf=\"entryGroup[key].type == 'Link'\">\r\n <a [href]=\"'//'+ entryGroup[key].input\" target=\"_blank\">{{removeCharacters(entryGroup[key].questionText)}}</a>\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"event-actions\">\r\n <button (click)=\"editEvent(event,entryGroup)\">Edit</button>\r\n <button (click)=\"deleteEvent(event.id,entryGroup)\">Delete</button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- <app-custom-model\r\n [modalTitle]=\"modalTitle\"\r\n [isModalOpen]=\"isModalOpen\"\r\n [modalSize]=\"modalSize\"\r\n [saveButtonValue]=\"saveButtonValue\"\r\n [modalFooter]=\"modalFooter\"\r\n (saveButtonEmit)=\"onSave()\"\r\n (cancelButtonEmit)=\"onCancel()\"\r\n>\r\n<lib-questionbook [qbItem]=\"qbRefrenceBook\" [questions]=\"referenceQuestions\" (handleQuestion)=\"handleQuestionEvent($event)\"></lib-questionbook>\r\n<ng-template dynamicComponentHost ></ng-template>\r\n</app-custom-model> -->","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n ViewChild,\r\n} from \"@angular/core\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\n// VD 23JAN24 removed httpClient import used service file for callout\r\nimport { Observable } from 'rxjs';\r\nimport { ItemsList } from \"@ng-select/ng-select/lib/items-list\";\r\nimport { ConsoleService } from \"@ng-select/ng-select/lib/console.service\";\r\nimport { APIMeta } from \"../../interfaces/apimeta\";\r\nimport { ChangeWrapper } from \"../../model/changeWrapper\";\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from \"../../i18n.service\";\r\n \r\n@Component({\r\n selector: 'lib-search-box',\r\n templateUrl: './search-box.component.html',\r\n styleUrls: ['./search-box.component.css']\r\n})\r\nexport class SearchBoxComponent implements OnInit {\r\n @Input() placeHolderText: string;\r\n @ViewChild('auto') auto;\r\n \r\n @Input() question;\r\n @Input() apiMeta: string;\r\n @Input() id: string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Output() searchValueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n apiObj:any;\r\n SearchItem: any;\r\n \r\n @Input() filterName: string; // VD 20Aug default filter value as input\r\n public finalResults: any[] = [];\r\n public searchKeyWord: string = '';\r\n public newResult: any;\r\n public showResult = false;\r\n public noResult = false;\r\n public showSuggestion = true;\r\n private el: HTMLElement;\r\n private serv: string = 'api';\r\n private tkn: string = '';\r\n \r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private route: ActivatedRoute,\r\n el: ElementRef,\r\n public i18nService: I18nService\r\n ) { }\r\n \r\n ngOnInit(): void {\r\n// VD 03May- search changes\r\n if(this.apiMeta){\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.SearchItem = apiObj.field;\r\n }\r\n }\r\n \r\n clearList(){\r\n setTimeout(()=> {\r\n this.finalResults = [];\r\n }, 1000);\r\n }\r\n \r\n getSourceDataLocal(event) { //to get results list from backend API whenever key is up after the entering atleast one key\r\n if(event.target.value.length > 2){\r\n this.showSuggestion=true;\r\n this.finalResults=[];\r\n this.searchKeyWord = event.target.value;\r\n this.showResult = false;\r\n this.getSourceData(event.target.value);\r\n } else {\r\n this.showSuggestion=false;\r\n this.finalResults = [];\r\n this.noResult = false;\r\n }\r\n }\r\n // VD 03May- search changes\r\n // VD 31NOV24 null check\r\n // RS 29JAN25\r\n //Multi-word search across all object values\r\n public getSourceData = (keyword: string) => {\r\n if (this.apiMeta) {\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n \r\n this.dataService.apiResponse(apiObj.endpoint).subscribe((apiResponse) => {\r\n let response;\r\n if (apiObj.variable) {\r\n response = this.dataService.getValue(apiResponse, apiObj.variable);\r\n } else {\r\n response = apiResponse;\r\n }\r\n \r\n let results = [];\r\n let searchTerms = keyword.toLowerCase().split(\" \"); // Split input into words\r\n \r\n for (let i = 0; i < response.length; i++) {\r\n let obj = response[i];\r\n \r\n // Convert all object values to a single string for flexible search\r\n let combinedValues = Object.values(obj).join(\" \").toLowerCase();\r\n \r\n // Check if all search terms exist in any order\r\n let match = searchTerms.every(term => combinedValues.includes(term));\r\n \r\n if (match) {\r\n console.log('Matching entry:', obj);\r\n results.push(obj);\r\n }\r\n }\r\n \r\n this.noResult = results.length === 0;\r\n this.finalResults = results;\r\n });\r\n }\r\n };\r\n \r\n public clickItem(event) {\r\n // console.log('inside clickItem of ' + event.target.value);\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.filterName = event[apiObj.field];\r\n let change = new ChangeWrapper(); // ChangeWrapper = JSON.parse('{}');\r\n change.fromQuestionId = this.id;\r\n change.valueObj = event;\r\n change.field = apiObj.field;\r\n this.searchValueChange.emit(change);\r\n }\r\n /*\r\n public getSourceData = (keyword: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successSourceData,\r\n this.failureSourceData\r\n );\r\n } else {\r\n this.sfService.remoteAction(\r\n \"NxtController.process\",\r\n [\"QuestionBook\", \"read\", uuid],\r\n this.successSourceData,\r\n this.failureSourceData\r\n );\r\n }\r\n }\r\n \r\n public successSourceData = (response) => {\r\n let results=[];\r\n results=response.results;\r\n results.push({uuid: null, name: \"\"});\r\n this.noResult = !(results.length > 1);\r\n this.finalResults = results;\r\n }\r\n \r\n public failureSourceData = (response) => {\r\n console.log(\"Error reading the data from API\");\r\n }\r\n */\r\n}\r\n \r\n ","<!-- // VD 12Jun24 - readonly change-->\r\n<div id=\"autocomplete-input\"> <!-- SKS5NOV25 search icon -->\r\n <input #auto id=\"searchbox-style\"\r\n (blur)=\"clearList()\"\r\n [(ngModel)]=\"filterName\"\r\n type=\"text\"\r\n name=\"name\"\r\n [readOnly]=\"readOnly\"\r\n [placeholder]=\"placeHolderText\"\r\n style=\"margin: 0 !important; padding-right: 30px;\"\r\n class=\"searchInput she-line-input form-control\"\r\n (focusin)=\"getSourceDataLocal($event)\"\r\n (input)=\"getSourceDataLocal($event)\">\r\n <div id=\"selectList\" style=\"position: absolute;position: absolute;background: white;z-index: 2;\">\r\n <div *ngIf=\"finalResults.length > 0 && showSuggestion\"\r\n style=\"max-height: 100vh;border: 1px solid #d2d4d6;overflow: scroll;\"\r\n class=\"suggestions-container\">\r\n <!-- HA 20DEC23 Uncommented the logic -->\r\n <!-- VD 03May- search changes -->\r\n <div *ngFor=\"let item of finalResults\" (click)='clickItem(item)' class=\"hoover\">\r\n <!-- VD 26Jun24 - id condition removed -->\r\n <div class=\"grid-x align-middle\" style=\"padding: 1rem\">\r\n <div *ngIf=\"item.thumbnail\" class=\"cell shrink\" style=\"width: 60px; margin-right: 1.6rem;\">\r\n <img [src]=\"item.thumbnail\" style=\"width: 60px;\" alt=\"\">\r\n </div>\r\n <div class=\"cell auto\" style=\"text-align: left; padding-left: 20px;\">\r\n <!--// VD 26JUN24 - pipe changes -->\r\n <!-- RS 29JAN25 -->\r\n <h4 >{{ item | getValue: item : SearchItem }}</h4>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- HA 20DEC23 For Commented this for future purpose -->\r\n <!-- <table class=\"table table-striped table-bordered\">\r\n <thead>\r\n <tr>\r\n <th>{{ 'firstName' | i18n:i18nService.currentLanguage }}</th>\r\n <th>{{ 'lastName' | i18n:i18nService.currentLanguage }}</th>\r\n <th>{{ 'division' | i18n:i18nService.currentLanguage }}</th>\r\n <th>{{ 'numberPlate' | i18n:i18nService.currentLanguage }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let item of finalResults\" (click)='clickItem(item)'>\r\n <td>{{ item.firstName }}</td>\r\n <td>{{ item.lastName }}</td>\r\n <td>{{ item.division }}</td>\r\n <td>{{ item.numberPlate }}</td>\r\n </tr>\r\n </tbody>\r\n </table> -->\r\n </div>\r\n</div>\r\n\r\n","import { Component, OnInit,Output,EventEmitter, Input ,ElementRef, OnChanges,SimpleChanges} from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { SharedService } from '../../services/shared.service';\r\nimport { DataService } from '../../services/data.service';\r\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\r\n@Component({\r\n selector: 'app-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.css']\r\n})\r\nexport class FileUploadComponent implements OnInit,OnChanges {\r\n @Output() selectedFileData = new EventEmitter<any[]>();\r\n @Output() deletedFileData = new EventEmitter<any>();\r\n @Input() allFiles;\r\n @Input() limitFileUploading;\r\n @Input() isDeleteFileButtonVisible;\r\n @Input() isShowNoFileIcon;\r\n @Input() tableFile; // file Upload from table\r\n @Input() question;\r\n @Input() error:any;\r\n//RS 09JAN2025\r\n public allowedFileTypes: string[] = [];\r\n public maxFileSize: number = 0; // in bytes(Binary)\r\n public maxFiles: number = 4; // default limit\r\n public validationErrors: string[] = [];\r\n \r\n\r\n public selectedFileNameArray: string[] = [];\r\n public copyOfInputAllFiles;\r\n public copyOfFileUploadingLimit;\r\n public fileUrl;\r\n public showFile = false;\r\n public isImage = false;\r\n public fileName = '';\r\n currentFile: any;\r\n constructor(private SharedService: SharedService, private dataService: DataService,private sanitizer: DomSanitizer,\r\n public i18nService: I18nService\r\n ) { }\r\n //RS 09JAN2025\r\n ngOnInit() {\r\n this.initializeFileConfigs();\r\n }\r\n // VD 03May24 file upload fix\r\n // onFileUpload(event: any) {\r\n // const fileUploaderElement: HTMLElement = document.getElementById(\r\n // 'fileUpload'\r\n // ) as HTMLElement;\r\n // fileUploaderElement.click();\r\n // }\r\n\r\n ngOnChanges(simpleChanges: SimpleChanges) {\r\n console.log('simple changes', simpleChanges);\r\n if (simpleChanges.allFiles) { //SKS5NOV25\r\n this.copyOfInputAllFiles = simpleChanges.allFiles.currentValue || [];\r\n }\r\n\r\n if (simpleChanges.limitFileUploading) {\r\n this.copyOfFileUploadingLimit = simpleChanges.limitFileUploading?.currentValue;\r\n }\r\n\r\n }\r\n\r\n //RS 09JAN2025 Initializes file upload settings (allowed types, max size, and max files) by parsing metadata from fieldsMeta\r\n initializeFileConfigs() {\r\n if (this.question?.fieldsMeta) {\r\n try {\r\n const metaData = JSON.parse(this.question.fieldsMeta);\r\n const fileConfig = metaData[0]; // Get first config object\r\n if (fileConfig) {\r\n this.allowedFileTypes = fileConfig.allowedTypes || [];\r\n this.maxFileSize = fileConfig.maxFileSize || 0;\r\n this.maxFiles = fileConfig.maxFiles || 5;\r\n }\r\n } catch (error) {\r\n console.error('Error parsing fieldsMeta:', error);\r\n }\r\n }\r\n }\r\n\r\n uploadMultipleFiles(event: any) {\r\n console.log('File uploader initiated');\r\n this.validationErrors = []; // RS 17JAN2025 Clear previous errors\r\n let inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\r\n const selectedFileData = [];\r\n const uploadedFiles = event.target.files;\r\n\r\n // RS 09JAN2025 Check file count limit\r\n if (uploadedFiles.length + inputFiles.length > this.maxFiles) {\r\n this.validationErrors.push(`Maximum ${this.maxFiles} files allowed`);\r\n event.target.value = '';\r\n return;\r\n }\r\n\r\n const readFilesPromises = [];\r\n\r\n for (const eachUploadedFile of uploadedFiles) {\r\n const file: File = eachUploadedFile;\r\n \r\n //RS 09JAN2025 Check file type\r\n const fileExt = '.' + file.name.split('.').pop().toLowerCase();\r\n if (this.allowedFileTypes.length > 0 && !this.allowedFileTypes.includes(fileExt)) {\r\n this.validationErrors.push(`File type ${fileExt} not allowed. Allowed types: ${this.allowedFileTypes.join(', ')}`);\r\n continue;\r\n }\r\n\r\n //RS 09JAN2025 Check file size\r\n if (this.maxFileSize > 0 && file.size > this.maxFileSize) {\r\n this.validationErrors.push(`File \"${file.name}\" exceeds size limit of ${this.maxFileSize / 1048576}MB`);\r\n continue;\r\n }\r\n\r\n if (!this.validationErrors.length) {\r\n const format = fileExt.substring(1);\r\n const fileReadPromise = new Promise<void>((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n \r\n reader.onload = () => {\r\n const fileData = {\r\n doc: reader.result,\r\n name: file.name,\r\n type: file.type,\r\n format,\r\n size: file.size, // RS 17JAN2025 \r\n id: null,\r\n };\r\n \r\n selectedFileData.push(fileData);\r\n inputFiles.push(fileData);\r\n resolve();\r\n };\r\n \r\n reader.onerror = () => {\r\n reject();\r\n this.validationErrors.push(`Error reading file \"${file.name}\"`);// RS 17JAN2025 \r\n };\r\n });\r\n readFilesPromises.push(fileReadPromise); \r\n }\r\n }\r\n if (readFilesPromises.length > 0) {\r\n // Wait for all promises to resolve\r\n Promise.all(readFilesPromises).then(() => {\r\n this.copyOfInputAllFiles = inputFiles;\r\n console.log('uploadedFiles', inputFiles);\r\n this.selectedFileData.emit(inputFiles);\r\n }).catch(() => {\r\n console.error('Error reading files');\r\n });\r\n } else {\r\n console.warn('You can upload max 5 files');\r\n // this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\r\n }\r\n \r\n event.target.value = '';\r\n }\r\n \r\n\r\n // uploadMultipleFiles(event: any) {\r\n // console.log('File uploader initiated');\r\n // let inputFiles: any[] = this.copyOfInputAllFiles ? this.copyOfInputAllFiles : [];\r\n // const selectedFileData = [];\r\n // const uploadedFiles = event.target.files;\r\n // if (uploadedFiles.length + inputFiles.length <= this.copyOfFileUploadingLimit) {\r\n // for (const eachUploadedFile of uploadedFiles) {\r\n // const reader = new FileReader();\r\n // const file: File = eachUploadedFile;\r\n // const format = file.name.split('.')[1];\r\n // reader.readAsDataURL(file);\r\n // reader.onload = () => {\r\n // selectedFileData.push({\r\n // doc: reader.result,\r\n // name: file.name,\r\n // type: file.type,\r\n // format,\r\n // id: null,\r\n // });\r\n // inputFiles.push({\r\n // doc: reader.result,\r\n // name: file.name,\r\n // type: file.type,\r\n // format,\r\n // id: null,\r\n // });\r\n // };\r\n // }\r\n // } else {\r\n // console.warn('You can upload max 5 files');\r\n // //this.toastr.warning(TOASTER_MESSAGES.MAX_FIVE_FILES, TOASTER_MESSAGES.WARNING_TITLE);\r\n // }\r\n // event.target.value = '';\r\n // this.copyOfInputAllFiles = inputFiles;\r\n // console.log('uploadedFiles',inputFiles);\r\n // this.selectedFileData.emit(inputFiles);\r\n // }\r\n\r\n\r\n deleteFile(currentFileIndex) {\r\n const deletedFileName = this.selectedFileNameArray.splice(currentFileIndex, 1);\r\n const deletedFile = this.copyOfInputAllFiles.splice(currentFileIndex, 1);\r\n console.log('emit', deletedFile[0]);\r\n this.deletedFileData.emit(deletedFile[0]);\r\n this.selectedFileData.emit(this.copyOfInputAllFiles);\r\n }\r\n\r\n\r\n// VD 20May24 - preview changes\r\n// RS 09DEC24 Changed keys\r\n viewFile(currentFile) {\r\n this.currentFile = currentFile;\r\n this.showFile = true;\r\n console.log(currentFile);\r\n if(this.question.subText != undefined) {\r\n let fileMeta = JSON.parse(this.question.subText);\r\n let endpoint = fileMeta.endpoint;\r\n let queryParameter = fileMeta.queryParameter;\r\n let file = currentFile;\r\n if(endpoint){\r\n const fullEndPoint = endpoint + '?'+ queryParameter + '=' + file[queryParameter];\r\n if(fullEndPoint){\r\n this.dataService.apiResponse(fullEndPoint).subscribe((apiResponse) => {\r\n if(apiResponse){\r\n this.handleFileContent(apiResponse);\r\n }\r\n })\r\n }\r\n }\r\n }else {\r\n this.viewLocalFile()\r\n }\r\n }\r\n\r\n// // VD 03Aug24 process local preview \r\n viewLocalFile(){\r\n if(this.currentFile){\r\n this.setFileUrl(this.currentFile?.doc);\r\n this.fileName = this.currentFile.name;\r\n this.isImage = this.currentFile.type.startsWith('image/');\r\n }\r\n\r\n }\r\n\r\n \r\n handleFileContent(fileResponse: any) {\r\n const byteArray = new Uint8Array(fileResponse.content.data);\r\n const blob = new Blob([byteArray], { type: fileResponse.type });\r\n const url = window.URL.createObjectURL(blob);\r\n this.setFileUrl(url);\r\n this.isImage = false;\r\n if(fileResponse.name){\r\n this.fileName = fileResponse.name;\r\n const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'];\r\n const fileExtension = fileResponse.name.split('.').pop()?.toLowerCase();\r\n this.isImage = imageExtensions.includes(fileExtension || '');\r\n }\r\n }\r\n\r\n setFileUrl(url: string) {\r\n this.fileUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);\r\n }\r\n\r\n getDocIcon(docName) {\r\n const ext = docName.split('.').pop(-1);\r\n return this.SharedService.docIcon(ext);\r\n }\r\n\r\n close(){\r\n this.showFile = false;\r\n this.fileName = '';\r\n this.fileUrl = '';\r\n this.isImage = false;\r\n if (this.fileUrl) {\r\n URL.revokeObjectURL(this.fileUrl);\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"row\" style=\"margin: 0;\">\r\n <div class=\"col-md-12\" *ngIf=\"!isDeleteFileButtonVisible\" style=\"text-align: left;\">\r\n <!-- HA 19DEC23 For translation -->\r\n <label class=\"she-label\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\r\n </div>\r\n\r\n <div class=\"col-lg-5 document-cnt m-t-10 m-b-10\"\r\n *ngFor=\"let eachFile of copyOfInputAllFiles; let currentFileIndex = index\">\r\n <div *ngIf=\"!tableFile\"> <!-- (click)=\"viewFile(eachFile)\" -->\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(eachFile?.name)\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\">\r\n {{eachFile?.name}}\r\n </div>\r\n <div class=\"document_delete\" (click)=\"deleteFile(currentFileIndex);$event.stopPropagation()\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/bin.svg\">\r\n </div>\r\n <!-- VD 20May24 - preview changes-->\r\n <div class=\"preview-icon\" (click)=\"viewFile(eachFile)\" *ngIf=\"isDeleteFileButtonVisible\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/icons8-eye-24.png\">\r\n </div>\r\n </div>\r\n <div *ngIf=\"tableFile\" class=\"row\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(eachFile?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{eachFile?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"copyOfInputAllFiles?.length === 0 && isShowNoFileIcon\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-lg-6\" style=\"padding:0;margin-top: 10px;\">\r\n <label class=\"custom-file\" *ngIf=\"isDeleteFileButtonVisible && !tableFile\">\r\n <!-- HA 19DEC23 For translation -->\r\n <!-- VD 03May24 file upload fix-->\r\n <!-- RS 09JAN2025 -->\r\n <button [class]=\"error ? 'she-btn-primary-bordered Invalid' : 'she-btn-primary-bordered'\" style=\"width:275px;\" (click)=\"fileInput.click()\"[ngClass]=\"{ 'btn-disabled': copyOfInputAllFiles?.length >= maxFiles }\" [disabled]=\"copyOfInputAllFiles?.length >= maxFiles\">Choose Files</button>\r\n <input #fileInput type=\"file\" name=\"fileUpload\" multiple=\"multiple\" [accept]=\"allowedFileTypes.join(',')\"\r\n style=\"display:none;\"\r\n (change) = uploadMultipleFiles($event)\r\n />\r\n </label>\r\n\r\n <!-- RS 09JAN2025 -->\r\n <!-- Error messages section -->\r\n <div class=\"file-constraints\" *ngIf=\"validationErrors.length > 0\">\r\n <small class=\"text-danger\">\r\n <div *ngFor=\"let error of validationErrors\">{{ error }}</div>\r\n </small>\r\n </div>\r\n\r\n<!-- HA 19DEC23 For translation -->\r\n <label *ngIf=\"tableFile\" class=\"btn btn-primary\">\r\n {{ 'uploadFile' | i18n:i18nService.currentLanguage }}\r\n <input id=\"file\" style=\"display: none;\" type=\"file\" class=\"form-control\" (change)= uploadMultipleFiles($event) />\r\n </label>\r\n <!-- <span class=\"error-msg\" *ngIf=\"(formControl?.documents?.touched || formControl?.documents?.dirty) &&\r\n formControl?.documents?.errors?.required\">\r\n {{LM_POLICY_VALIDATION_MESSAGE.REQUIRED}}\r\n </span> -->\r\n <!-- RS 09DEC24 Changed keys--> \r\n</div>\r\n<div *ngIf=\"error\" class=\"error-msg\" style=\"margin-top: 10px;\">{{question?.errorMessage}}</div>\r\n<div class=\"nxt-file-overlay\" *ngIf=\"showFile\">\r\n <div class=\"nxt-file-map-modal\">\r\n <div class=\"nxt-file-model-content\">\r\n <div class=\"nxt-file-model-header\">\r\n <h4>{{fileName}}</h4>\r\n <button class=\"close-button\" (click)=\"close()\">X</button>\r\n </div>\r\n <ng-container *ngIf=\"isImage; else otherFile\">\r\n <img [src]=\"fileUrl\" class=\"img-fluid\" alt=\"File Preview\" />\r\n </ng-container>\r\n <ng-template #otherFile>\r\n <iframe [src]=\"fileUrl\" width=\"100%\" height=\"500px\"></iframe>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { ChangeService } from '../../services/change.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-dependent-table',\r\n templateUrl: './dependent-table.component.html',\r\n styleUrls: ['./dependent-table.component.css']\r\n})\r\nexport class DependentTableComponent implements OnInit {\r\n\r\n @Input() alertMessage:any;\r\n\r\n ValueLength:boolean;\r\n Value:any;\r\n errorObj:any;\r\n\r\n constructor(private changeService: ChangeService) { \r\n this.changeService.changeField$.subscribe((data)=>{\r\n this.dependentData(data);\r\n })\r\n }\r\n\r\n ngOnInit(): void {\r\n this.errorObj = JSON.parse(this.alertMessage);\r\n }\r\n\r\n dependentData(data:any){\r\n let existingData = data.Permits;\r\n if(existingData.length !== 0) {\r\n this.ValueLength = true;\r\n this.Value = existingData;\r\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(252, 35, 27)\");\r\n } else {\r\n this.ValueLength = false;\r\n this.Value = [];\r\n $(\"#zoneIcon\").css(\"border\", \"3px solid rgb(12, 190, 12)\");\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"dropdown\" style=\"cursor: pointer;\">\r\n <span id=\"zoneIcon\"> \r\n <img src=\"./../../../../../assets/images/permit_icons/zone.png\" style=\"height: 35px; margin-left: 0px;\" alt=\"adv-search\">\r\n </span>\r\n <div class=\"dropdown-content\" style=\"margin-left: -300px; min-width: 415px;\">\r\n <div class=\"col-lg-12\">\r\n <table class=\"table table-striped table-bordered\">\r\n <tbody *ngIf=\"!ValueLength\">\r\n <tr>\r\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(12, 190, 12); text-align: center\">\r\n <span><b>{{ errorObj.noPermits }}</b></span>\r\n <span>{{ errorObj.noActive }}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n <tbody id=\"zoneDetails\" *ngIf=\"ValueLength\">\r\n <tr>\r\n <td colspan=\"3\" class=\"permission_yes\" style=\"color: rgb(252, 35, 27); text-align: center\">\r\n <span><b>{{ errorObj.permits }} ({{Value.length}})</b></span>\r\n <span>{{ errorObj.active }}</span>\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let item of Value\" >\r\n <td>\r\n <span>{{item?.permit_type}}-{{item?.ref_no}} - {{item?.status}} - {{item?.end_date}}</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { TableWrapper } from '../../model/tableWrapper';\r\nimport { Question } from '../../wrapper';\r\n\r\n@Component({\r\n selector: 'app-table-appendix',\r\n templateUrl: './table-appendix.component.html',\r\n styleUrls: ['./table-appendix.component.css']\r\n})\r\nexport class TableAppendixComponent implements OnInit {\r\n @Input() question: Question\r\n @Output() valueChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n tableInfo: TableWrapper;\r\n tableHeader: any;\r\n tableData: any;\r\n addRowColSpan: number;\r\n tableAppendix:any;\r\n dropDownApi :any;\r\n dropDownData:any;\r\n\r\n constructor(public i18nService: I18nService) { }\r\n // RS 09DEC24 Changed keys\r\n ngOnInit(): void {\r\n if(this.question.subText != undefined) {\r\n this.tableInfo = JSON.parse(this.question.subText);\r\n\r\n this.tableHeader = this.tableInfo.header;\r\n this.tableData = this.tableInfo.data;\r\n this.tableAppendix = this.tableInfo.tableAppendix;\r\n this.dropDownApi = JSON.stringify(this.tableInfo['dropdownApi']);\r\n this.dropDownData = this.tableInfo['dropdownData'];\r\n const combinedData = {\r\n tableData: this.tableData,\r\n tableAppendix: null\r\n };\r\n if (this.tableAppendix) {\r\n combinedData.tableAppendix = this.tableAppendix;\r\n }\r\n this.valueChange.emit(combinedData);\r\n\r\n if(this.tableData?.addRow) {\r\n this.addRowColSpan = this.tableHeader.length - 2;\r\n }\r\n }\r\n }\r\n\r\n addRow(): void {\r\n let newItem = JSON.parse(JSON.stringify(this.tableInfo.newRowDefault));\r\n const updatedTableData = [...this.tableData, newItem];\r\n this.tableData = updatedTableData;\r\n this.emitTableDataValue(updatedTableData,this.tableAppendix);\r\n }\r\n\r\n updateLabel(rowIndex: number, label: string, value: string): void {\r\n this.tableData[rowIndex][label] = value;\r\n this.tableData[rowIndex].name = value.replace(/\\s+/g, '').toLowerCase();\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n \r\n updateNumber(item: any, label: string, value: string){\r\n item.value[label] = value;\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n\r\n updateToggle(item: any, header: string, value: any){\r\n let label = header['fieldName'];\r\n let toggleValue = header['toggleValue'];\r\n if(label == 'test1'){\r\n item.value[label][1] = value ? toggleValue[0] : toggleValue[1];\r\n }else{\r\n item.value[label] = value ? toggleValue[0] : toggleValue[1];\r\n }\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n updateDropDown(item: any, label: string, value: any){\r\n item.value[label] = value.valueObj['value'];\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n\r\n updateCheckText(item: any, label: string, value: any){\r\n item.value[label][0] = value;\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n\r\n updateTableAppendix(item: any, label: string, value: any){\r\n let toggleValue = item.value[0].toggleValue;\r\n if(item.key == 'dropDownData'){\r\n item.value[0].value[label] = value.valueObj['empIdName'];\r\n }else if(item.key == 'toggleData'){\r\n item.value[0].value[label] = value ? toggleValue[0] : toggleValue[1];\r\n }else{\r\n item.value[0].value[label] = value;\r\n }\r\n this.emitTableDataValue(this.tableData,this.tableAppendix);\r\n }\r\n\r\n emitTableDataValue(updatedTableData: any[],tableAppendix:any): void {\r\n const combinedData = {\r\n tableData: updatedTableData,\r\n tableAppendix: null\r\n };\r\n if(tableAppendix){\r\n combinedData.tableAppendix = this.tableAppendix;\r\n }\r\n this.valueChange.emit(combinedData);\r\n }\r\n\r\n //This function finds the index of the current test in the list of test keys and returns the key of the previous test. \r\n // If the current test is the first one, it returns null, as there is no previous test\r\n getPreviousTestKey(item: any, currentTest: string): string {\r\n const testKeys = Object.keys(item.value);\r\n const currentIndex = testKeys.indexOf(currentTest);\r\n \r\n if (currentIndex > 0) {\r\n return testKeys[currentIndex - 1];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n}\r\n","<table class=\"table table-striped table-bordered\">\r\n <thead class=\"none-border\" *ngIf=\"tableInfo.tableType === 'lockout' && tableInfo.tableHeader\">\r\n <th></th>\r\n <th>{{ tableInfo.tableHeader }}</th>\r\n <th></th>\r\n </thead>\r\n <thead>\r\n <th *ngFor=\"let header of tableHeader; let hi = index\" [class]=\"'col-md-' + header.size\">\r\n {{ header.label }}\r\n </th>\r\n </thead>\r\n <tbody id=\"safetyMeasuresTableBody\">\r\n <tr *ngFor=\"let item of tableData; let i = index\">\r\n <td *ngFor=\"let header of tableHeader; let j = index\">\r\n <div *ngIf=\"header.type === 'text'\">\r\n <input type=\"text\" [(ngModel)]=\"item[header.fieldName]\" [placeholder]=\"header.placeholder\" (ngModelChange)=\"tableInfo.tableType != 'lockout' ? updateLabel(i, header.fieldName, item[header.fieldName]) : updateNumber(item, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type.includes('number')\">\r\n <!-- HA 19DEC23 For translation -->\r\n <input type=\"number\" [(ngModel)]=\"item.value[header.fieldName]\" [disabled]=\"item.value[getPreviousTestKey(item, header.fieldName)] === null && tableInfo.tableType != 'lockout'\" (ngModelChange)=\"updateNumber(item, header.fieldName, item.value[header.fieldName])\" placeholder=\"{{ 'enterValue' | i18n:i18nService.currentLanguage }}\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type === 'dropdown'\">\r\n <app-custom-dropdown [fromShengel]=\"true\" [options]=\"dropDownData\" \r\n [selectedValue]=\"item.value[header.fieldName]\" [placeholder]=\"header.placeholder\"\r\n (valueChange)=\"updateDropDown(item,header.fieldName,$event)\">\r\n </app-custom-dropdown>\r\n </div>\r\n <div *ngIf=\"header.type === 'textcheckbox'\">\r\n <div style=\"display: flex; justify-content: center;align-items: center;\">\r\n <input type=\"text\" [(ngModel)]=\"item.value[header.fieldName][0]\" (ngModelChange)=\"updateCheckText(item, header.fieldName, item.value[header.fieldName][0])\" style=\"width: 85px; height: 27px; text-align: center; padding: 5px; border-bottom: none; border-top: 1px solid transparent; border-right: 1px solid transparent; border-left: 1px solid transparent; background: transparent;outline: none;\">\r\n <label class=\"switch2\">\r\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \r\n type=\"checkbox\"\r\n [checked]=\"item.value[header.fieldName][1] == header.toggleValue[0]\"/>\r\n <span class=\"switch-label2\" data-on=\"Psi\" data-off=\"Bar\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </div>\r\n </div>\r\n <div *ngIf=\"header.type === 'labelcheckbox'\">\r\n <div style=\"display: flex; justify-content: center;align-items: center;\">\r\n <!-- HA 19DEC23 For translation -->\r\n <span style=\"text-align:left;\">{{ 'calibrated' | i18n:i18nService.currentLanguage }}</span>\r\n <label class=\"switch2\">\r\n <input class=\"switch-input2\" (change)=\"updateToggle(item,header,$event.target.checked)\" \r\n type=\"checkbox\"\r\n [checked]=\"item.value[header.fieldName] == header.toggleValue[0]\"/>\r\n <span class=\"switch-label3\" data-on=\"Yes\" data-off=\"No\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType === 'lockout'\">\r\n <td colspan=\"1\">\r\n <!-- HA 19DEC23 For translation -->\r\n <b style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">{{ 'addMore' | i18n:i18nService.currentLanguage }} +</b>\r\n </td>\r\n </tr>\r\n <tr *ngIf=\"tableInfo.addRow && tableInfo.tableType != 'lockout'\">\r\n <td colspan=\"3\">\r\n <!-- HA 19DEC23 For translation -->\r\n <b>{{ 'addMore' | i18n:i18nService.currentLanguage }}</b>\r\n </td>\r\n <td colspan=\"2\" style=\"text-align: center; cursor: pointer;\" id=\"addSafety\" (click)=\"addRow()\">\r\n +\r\n </td>\r\n </tr>\r\n <tr *ngFor=\"let item of tableAppendix | keyvalue; let k = index\">\r\n <td *ngFor=\"let header of tableHeader; let l = index\">\r\n <div *ngIf=\"header.type === 'text'\" >\r\n <input type=\"text\" [(ngModel)]=\"item.value[0][header.fieldName]\" (ngModelChange)=\"updateLabel(k, header.fieldName, item[header.fieldName])\" class=\"she-line-input table-input\">\r\n </div>\r\n <div *ngIf=\"header.type.includes('dropdown') && item.key == 'dropDownData'\" >\r\n <!-- HA 19DEC23 For translation -->\r\n <app-custom-dropdown [fromShengel]=\"true\" [apiMeta]=\"dropDownApi\" \r\n [selectedValue]=\"item.value[0].value[header.fieldName]\" placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\r\n (valueChange)=\"updateTableAppendix(item,header.fieldName,$event)\">\r\n </app-custom-dropdown>\r\n </div>\r\n <div *ngIf=\"header.type.includes('datetime') && item.key == 'dateData'\">\r\n <input [(ngModel)]=\"item.value[0].value[header.fieldName]\" type=\"datetime-local\"\r\n (ngModelChange)=\"updateTableAppendix(item,header.fieldName,$event)\"\r\n placeholder=\"DD/MM/YYYY HH:MM\">\r\n </div>\r\n <div *ngIf=\"header.type.includes('checkbox') && item.key == 'toggleData'\">\r\n <label class=\"switch2\">\r\n <input class=\"switch-input2\" (change)=\"updateTableAppendix(item,header.fieldName,$event.target.checked)\" \r\n type=\"checkbox\"\r\n [checked]=\"item.value[0].value[header.fieldName] == item.value[0].toggleValue[0]\"/>\r\n <span class=\"switch-label3\" data-on=\"Safe\" data-off=\"Unsafe\"></span> \r\n <span class=\"switch-handle2\"></span> \r\n </label> \r\n </div>\r\n <div *ngIf=\"header.type.includes('file') && item.key == 'fileData'\">\r\n <app-file-upload [limitFileUploading]=\"2\" [allFiles]=\"item.value[0].value[header.fieldName]\" [tableFile]=\"true\"\r\n (selectedFileData)=\"updateTableAppendix(item ,header.fieldName, $event)\"\r\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { I18nService } from '../../i18n.service';\r\n\r\n@Component({\r\n selector: 'app-custom-date',\r\n templateUrl: './custom-date.component.html',\r\n styleUrls: ['./custom-date.component.css']\r\n})\r\nexport class CustomDateComponent implements OnInit {\r\n @Input() date: string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Input() error:any;\r\n @Input() errorMessage: string;\r\n @Output() dateChange: EventEmitter<any> = new EventEmitter<any>();\r\n dateSelected: any;\r\n\r\n constructor( public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n this.dateSelected = new Date(this.date);\r\n }\r\n// VD 02Aug24 - clear input changes\r\n ngOnChanges(simplechanges: SimpleChanges){\r\n if(simplechanges['date']){\r\n this.dateSelected = new Date(this.date);\r\n }\r\n \r\n }\r\n\r\n onDateChange(event: any) {\r\n this.dateChange.emit(event)\r\n }\r\n}\r\n","<!-- date component -->\r\n<!-- VD 12Jun24 - readonly change-->\r\n<!-- VD 01Aug24 - validation change-->\r\n<p>\r\n <input\r\n [class]=\"error ? 'invalid' : ''\"\r\n [(ngModel)]=\"dateSelected\"\r\n [owlDateTimeTrigger]=\"dt1\"\r\n [owlDateTime]=\"dt1\"\r\n [disabled]=\"readOnly\"\r\n placeholder=\"DD/MM/YYYY\"\r\n (input)=\"onDateChange($event)\"\r\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\r\n (dateTimeChange)=\"onDateChange($event)\"\r\n >\r\n <owl-date-time [pickerType]=\"'calendar'\" #dt1></owl-date-time>\r\n </p>\r\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { I18nService } from '../../i18n.service';\r\n\r\n@Component({\r\n selector: 'app-custom-time',\r\n templateUrl: './custom-time.component.html',\r\n styleUrls: ['./custom-time.component.css']\r\n})\r\nexport class CustomTimeComponent implements OnInit {\r\n @Input() time: string;\r\n @Input() readOnly = false; // VD 12Jun24 - readonly change\r\n @Input() error:any;\r\n @Input() errorMessage: string;\r\n @Output() timeChange: EventEmitter<any> = new EventEmitter<any>();\r\n timeSelected: any;\r\n\r\n constructor(public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n if(this.time){\r\n this.time = this.time['value'] ? this.time['value'] : this.time;\r\n this.timeSelected = new Date(this.time);\r\n }else {\r\n // if no time set null value\r\n this.timeSelected = null;\r\n }\r\n }\r\n\r\n ngOnChanges(changes:SimpleChanges){\r\n // update on changes\r\n if(changes['time']){\r\n if(this.time){\r\n this.time = this.time['value'] ? this.time['value'] : this.time;\r\n this.timeSelected = new Date(this.time);\r\n }else {\r\n this.timeSelected = null;\r\n }\r\n }\r\n }\r\n // VD 06Sep24 emit exact time object\r\n onTimeChange(event: any) {\r\n this.timeChange.emit(event?.value);\r\n }\r\n}\r\n","<!-- time component -->\r\n<!-- // VD 12Jun24 - readonly change-->\r\n<!-- VD 01Aug24 - validation change-->\r\n <p>\r\n <input\r\n [class]=\"error ? 'invalid' : ''\"\r\n [(ngModel)]=\"timeSelected\"\r\n [owlDateTimeTrigger]=\"dt2\"\r\n [owlDateTime]=\"dt2\"\r\n placeholder=\"HH:MM\"\r\n [readOnly]=\"readOnly\" \r\n style=\"width: 100%; height: 35px; border: none; box-shadow: none; border-bottom: 1px solid #ccc;\"\r\n (dateTimeChange)=\"onTimeChange($event)\"\r\n >\r\n <owl-date-time [pickerType]=\"'timer'\" #dt2></owl-date-time>\r\n </p>\r\n <span *ngIf=\"error\" class=\"error-msg\">{{errorMessage}}</span>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-button',\r\n templateUrl: './custom-button.component.html',\r\n styleUrls: ['./custom-button.component.css']\r\n})\r\nexport class CustomButtonComponent implements OnInit {\r\n // 08NOV23 - button input and outpts\r\n @Input() height: string;\r\n @Input() width: string;\r\n @Input() textColor: string ='#fff'\r\n @Input() buttonText: string;\r\n @Input() value:string;\r\n @Input() backgroundColor: string = '#007bff'; // Default background color\r\n @Output() buttonValue = new EventEmitter<any>(); \r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n handleClick(event){\r\n this.buttonValue.emit(event);\r\n }\r\n}\r\n","\r\n<!-- 08NOV23 - button html added-->\r\n<button \r\n[style.height]=\"height\" \r\n[style.color]=\"textColor\"\r\n[style.background-color]=\"backgroundColor\"\r\n[style.width]=\"width\" class=\"custom-button\"\r\n[value] =\"value\"\r\n(click)=\"handleClick(value)\"\r\n >{{ buttonText }}</button>\r\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-model',\r\n templateUrl: './custom-model.component.html',\r\n styleUrls: ['./custom-model.component.css']\r\n})\r\nexport class CustomModelComponent implements OnInit {\r\n\r\n constructor() { }\r\n @Input() modalTitle: any;\r\n @Input() isModalOpen = false;\r\n @Input() modalSize = '';\r\n @Input() saveButtonValue = 'Save';\r\n @Input() modalFooter = true;\r\n @Output() saveButtonEmit = new EventEmitter<any>();\r\n @Output() cancelButtonEmit = new EventEmitter<any>();\r\n\r\n onSave() {\r\n this.saveButtonEmit.emit();\r\n }\r\n\r\n onCancel() {\r\n this.cancelButtonEmit.emit();\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n closeModal() {\r\n this.cancelButtonEmit.emit(false);\r\n }\r\n\r\n saveModal() {\r\n this.saveButtonEmit.emit();\r\n }\r\n\r\n}\r\n","<div *ngIf=\"isModalOpen\" class=\"modal\" [ngClass]=\"modalSize\">\r\n <div class=\"modal-content\">\r\n <div class=\"modal-header\">\r\n <span class=\"close\" (click)=\"onCancel()\">&times;</span>\r\n <h2>{{ modalTitle }}</h2>\r\n </div>\r\n <div class=\"modal-body\">\r\n <ng-content></ng-content>\r\n </div>\r\n <!-- /* VD 06Sep24 styling changes */-->\r\n <div class=\"modal-footer\" *ngIf=\"modalFooter\">\r\n <button (click)=\"onCancel()\">Cancel</button>\r\n <button (click)=\"onSave()\">{{ saveButtonValue }}</button>\r\n </div>\r\n </div>\r\n</div>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-custom-image',\r\n templateUrl: './custom-image.component.html',\r\n styleUrls: ['./custom-image.component.css']\r\n})\r\nexport class CustomImageComponent implements OnInit {\r\n @Input() alt: string;\r\n @Input() src: string;\r\n @Input() imageStyle: any;\r\n @Input() question:any;\r\n\r\n public styles: string;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n // VD 03Aug24 style changes \r\n // RS 09DEC24 Changed keys\r\n if(this.question){\r\n this.imageStyle = this.question.subTitle ? this.question.subTitle : \"height: 150px;width: 200px;\";\r\n this.src = this.question.title ? this.question.title : \"\" ;\r\n this.alt = this.question.helpText ? this.question.helpText : \"my image\";\r\n }\r\n }\r\n}","<img src={{src}} alt={{alt}} style={{imageStyle}}>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ChangeWrapper } from '../../model/changeWrapper';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { I18nService } from '../../i18n.service';\r\nimport { DataService } from '../../services/data.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { APIMeta } from '../../interfaces/apimeta';\r\n\r\n@Component({\r\n selector: 'app-custom-radio',\r\n templateUrl: './custom-radio.component.html',\r\n styleUrls: ['./custom-radio.component.css']\r\n})\r\nexport class CustomRadioComponent implements OnInit {\r\n\r\n @Input() options: any[] = [];\r\n @Input() apiMeta: string;\r\n @Input() selectedValue: string;\r\n @Input() progressBar: boolean;\r\n @Input() id: string;\r\n @Input() readOnly = false;\r\n @Input() errorMessage: string;\r\n @Input() error: any;\r\n @Input() fromShengel: boolean = false;\r\n @Input() referenceField: string;\r\n @Input() token: string;\r\n @Output() valueChange: EventEmitter<ChangeWrapper> = new EventEmitter<ChangeWrapper>();\r\n invalidFieldIds: string[] = [];\r\n\r\n public labelField: string;\r\n public valueField: string;\r\n subscription: Subscription;\r\n\r\n constructor(\r\n private changeService: ChangeService,\r\n private dataService: DataService,\r\n public i18nService: I18nService\r\n ) {\r\n this.changeService.submitValidate$.subscribe((data) => {\r\n this.invalidFieldIds.push(data);\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n // VD 31NOV24 null check\r\n if (this.apiMeta) {\r\n let apiObj: APIMeta = JSON.parse(this.apiMeta);\r\n this.labelField = apiObj.field;\r\n\r\n this.dataService.apiResponse(apiObj.endpoint)?.subscribe((apiResponse) => {\r\n let responses;\r\n if (apiObj.variable) {\r\n responses = this.dataService.getValue(apiResponse, apiObj.variable);\r\n let results = [];\r\n for (let i = 0; i < responses?.length; i++) {\r\n var resp = responses[i];\r\n results.push(resp);\r\n }\r\n this.options = results;\r\n } else {\r\n responses = apiResponse;\r\n this.options = responses;\r\n }\r\n });\r\n\r\n let sourceId = apiObj.sourceQuestionId;\r\n if (sourceId) {\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n if (changeValue != undefined) {\r\n if (changeValue.valueObj != undefined && changeValue.fromQuestionId == apiObj.sourceQuestionId) {\r\n this.selectedValue = changeValue.valueObj[apiObj.valueField];\r\n let value = {};\r\n value['name'] = this.selectedValue;\r\n this.radioChange(value);\r\n }\r\n this.changeService.confirmChange(apiObj.sourceQuestionId);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n radioChange(event: any) {\r\n let change = new ChangeWrapper();\r\n change.fromQuestionId = this.id;\r\n change.valueObj = event.target?.id ? event.target?.id : '';\r\n change.referenceField = this.referenceField;\r\n change.selectedObj = event ? event[this.labelField] : '';\r\n this.valueChange.emit(change);\r\n if (event) {\r\n this.invalidFieldIds = [];\r\n }\r\n }\r\n\r\n}\r\n","<!-- RS 09DEC24 Changed keys-->\r\n <!-- RS 019JAN25 -->\r\n <!-- validate for NULL -->\r\n<div class=\"custom-radio-container\">\r\n <div\r\n *ngFor=\"let option of options\"\r\n [class]=\"invalidFieldIds.includes(id) || error ? 'custom-radio-option invalid' : 'custom-radio-option'\"\r\n >\r\n <input\r\n type=\"radio\"\r\n [id]=\"apiMeta !== undefined && apiMeta !== null ? option[labelField] : option.value\"\r\n [checked] = \"selectedValue == option.value\"\r\n [name]=\"id\"\r\n [value]=\"selectedValue\"\r\n (change)=\"radioChange($event)\"\r\n [disabled]=\"readOnly\"\r\n />\r\n <label class=\"nxt-radio-label\" [for]=\"apiMeta !== undefined && apiMeta !== null ? option[labelField] : option.value\">{{ apiMeta !== undefined && apiMeta !== null ? option[labelField] : option.value}}</label>\r\n </div>\r\n <span *ngIf=\"error || invalidFieldIds.includes(id)\" class=\"error-msg\">{{ errorMessage }}</span>\r\n</div>","import { Component, OnInit, Input, Output, EventEmitter, Inject, ViewChild, ChangeDetectorRef, SimpleChanges, ComponentRef } from '@angular/core';\r\nimport { Question, QuestionBook } from '../../wrapper';\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { ChangeService } from '../../services/change.service';\r\nimport { StorageService } from '../../services/storage.service';\r\nimport * as moment from 'moment';\r\nimport { ErrorWrapper } from '../../model/errorWrapper';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { DependencyMeta } from '../../interfaces/dependencyMeta';\r\n\r\n@Component({\r\n selector: 'lib-questionbook',\r\n templateUrl: './questionbook.component.html',\r\n styleUrls: ['./questionbook.component.css']\r\n})\r\nexport class QuestionbookComponent implements OnInit {\r\n @Input() qbItem: QuestionBook;\r\n @Input() questionItem: Question;\r\n @Input() translatedQuestions : any[] = [] // VD 11Jun24 - translation changes\r\n @Input() questions: Question[];\r\n @Input() errorFieldId:any;\r\n @Input() labelValue:string; \r\n @Input() token:string; // VD 19JAN24 - getting token as input\r\n @Output() handleDropDown:EventEmitter<any> = new EventEmitter<any>();\r\n @Output() handleQuestion:EventEmitter<any> = new EventEmitter<any>(); // VD 19Jul01 - get updated question\r\n @Input() dropDownData:any;\r\n //@ViewChild(ComponenthostDirective, { static: true }) dynamicHost: ComponenthostDirective;\r\n subQuestions: Question[];\r\n selectedFileData: any[] = [];\r\n loadComponent$ = new BehaviorSubject<boolean>(false);\r\n // HA 28DEC23 Added styling and logics to load the book type questions \r\n qbRef: QuestionBook;\r\n // HA 19DEC23 Declaration for Salesforce Styling\r\n style: any;\r\n langDirection = 'ltr';\r\n bookStyle: any;\r\n subscription: Subscription;\r\n\r\n// RS 17JAN2025\r\n//Formats and returns file upload requirements from a JSON string\r\n getFileRequirements(fieldsMeta: string): string {\r\n try {\r\n const metaData = JSON.parse(fieldsMeta);\r\n const fileConfig = metaData[0];\r\n \r\n if (!fileConfig) return '';\r\n\r\n const requirements = [];\r\n \r\n if (fileConfig.allowedTypes?.length) {\r\n requirements.push(`Accepted formats: ${fileConfig.allowedTypes.join(', ')}`);\r\n }\r\n \r\n if (fileConfig.maxFileSize) {\r\n requirements.push(`Maximum size per file: ${fileConfig.maxFileSize / 1048576}MB`);\r\n }\r\n \r\n if (fileConfig.maxFiles) {\r\n requirements.push(`Maximum number of files: ${fileConfig.maxFiles}`);\r\n }\r\n\r\n return requirements.map(req => req.trim()).join('\\n');\r\n } catch (error) {\r\n console.error('Error parsing fieldsMeta:', error);\r\n return '';\r\n }\r\n }\r\n @Output() hadleDropDownDependent:EventEmitter<any> = new EventEmitter();\r\n // VD 06Sep24 calendar changes\r\n @Output() handleCalendarDate:EventEmitter<any> = new EventEmitter();\r\n @Output() handleCalendarEvent:EventEmitter<any> = new EventEmitter();\r\n public bookQuestionsMap: any = new Map();\r\n constructor(private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private changeService: ChangeService, \r\n private storageService: StorageService,\r\n public i18nService: I18nService,\r\n private cdr: ChangeDetectorRef,\r\n @Inject(DOCUMENT) private document: Document\r\n ) { \r\n }\r\n\r\n ngOnInit(): void {\r\n // VD 13Sep24 changes\r\n this.processData();\r\n // VD sep1324 changes - process data when databind value change\r\n this.subscription = this.changeService.customChange$.subscribe(\r\n (changeValue) => {\r\n if(changeValue == 'dataBind') {\r\n this.processData();\r\n }\r\n }\r\n );\r\n }\r\n\r\n // VD 13Sep24 changes\r\n // RS 09DEC24 Changed keys\r\n processData(){\r\n // HA 19DEC23 Logic for Question Book Styling(Slaesforce)\r\n // HA 09FEB24 Added ternary\r\n if(this.qbItem?.style){\r\n // HA 28DEC23 Added styling and logics to load the book type questions \r\n this.qbItem.style = typeof this.qbItem.style === 'string' ? JSON.parse(''+this.qbItem?.style) : this.qbItem.style;\r\n this.qbItem.style.labelClass = this.qbItem.style?.labelClass ? this.qbItem.style?.labelClass : \"\";\r\n this.qbItem.style.labelStyle = this.qbItem.style?.labelStyle ? this.qbItem.style?.labelStyle : \"\";\r\n this.qbItem.style.labelValueStyle = this.qbItem.style?.labelValueStyle ? this.qbItem.style?.labelValueStyle : \"\";\r\n this.qbItem.style.inputClass = this.qbItem.style?.inputClass ? this.qbItem.style?.inputClass : \"\";\r\n this.qbItem.style.inputStyle = this.qbItem.style.inputStyle ? this.qbItem.style?.inputStyle : \"\";\r\n this.qbItem.style.bookStyle = this.qbItem.style?.bookStyle ? this.qbItem.style?.bookStyle : \"\";\r\n this.qbItem.style.showLabel = this.qbItem.style?.showLabel ? this.qbItem.style?.showLabel : true;\r\n }\r\n else{\r\n if(this.qbItem){\r\n this.qbItem.style = {\r\n \"labelClass\" : \"\",\r\n \"labelStyle\" : \"\",\r\n \"labelValueStyle\" : \"\",\r\n \"inputClass\" : \"\",\r\n \"inputStyle\" : \"\",\r\n \"bookStyle\" : \"\",\r\n \"showLabel\": true,\r\n \"direction\" : \"ltr\",\r\n \"questionStyle\": \"\"\r\n };\r\n }\r\n }\r\n this.qbItem.style.questionStyle = this.qbItem?.style?.questionStyle ? this.qbItem?.style.questionStyle : \"\";\r\n this.langDirection = this.qbItem.style.direction = this.qbItem?.style?.direction ? this.qbItem?.style?.direction : 'ltr';\r\n this.bookStyle = this.qbItem?.style?.bookStyle;\r\n this.questions.forEach(element => {\r\n var htmlElement = element?.questionText ;\r\n var textOnly = htmlElement?.replace(/<[^>]*>/g, '')\r\n element.questionText = textOnly;\r\n // HA 19DEC23 Logic for Question Styling(Slaesforce)\r\n // HA 28DEC23 Added styling and logics to load the book type questions \r\n if(element.type === 'Book'){\r\n if(element['qbReferenceQuestions']){\r\n var qb = JSON.parse(element['qbReferenceQuestions']);\r\n if(qb['questionbook'].style){\r\n qb['questionbook'].style = typeof qb['questionbook'].style === 'string' ? JSON.parse(''+qb['questionbook'].style) : qb['questionbook'].style;\r\n }\r\n else{\r\n qb['questionbook'].style = this.qbItem.style;\r\n }\r\n\r\n // Book type question styling\r\n qb['questionbook'].style.labelClass = qb['questionbook'].style?.labelClass ? qb['questionbook'].style?.labelClass : \"\";\r\n qb['questionbook'].style.labelStyle = qb['questionbook'].style?.labelStyle ? qb['questionbook'].style?.labelStyle : \"\";\r\n qb['questionbook'].style.labelValueStyle = qb['questionbook'].Style__?.labelValueStyle ? qb['questionbook'].style.labelValueStyle : \"\";\r\n qb['questionbook'].style.inputClass = qb['questionbook'].style?.inputClass ? qb['questionbook'].style?.inputClass : \"\";\r\n qb['questionbook'].style.inputStyle = qb['questionbook'].style?.inputStyle ? qb['questionbook'].style?.inputStyle : \"\";\r\n qb['questionbook'].style.bookStyle = qb['questionbook'].style?.bookStyle ? qb['questionbook'].style?.bookStyle : \"\";\r\n qb['questionbook'].style.showLabel = qb['questionbook'].style?.showLabel ? qb['questionbook'].style?.showLabel : true;\r\n qb['questionbook'].style.questionStyle = qb['questionbook'].style?.questionStyle ? qb['questionbook'].style?.questionStyle : \"\";\r\n qb['langDirection'] = qb['questionbook'].style.direction ? qb['questionbook'].style?.direction : this.langDirection;\r\n \r\n // Loop for each question in the book\r\n qb['questionbook'].subQuestions.forEach(questionFromBook => {\r\n questionFromBook.style = questionFromBook.style ? questionFromBook.style : qb['questionbook'].style;\r\n questionFromBook.style.labelClass = questionFromBook.style?.labelClass ? questionFromBook.style?.labelClass : \"\";\r\n questionFromBook.style.labelStyle = questionFromBook.style?.labelStyle ? questionFromBook.style?.labelStyle : \"\";\r\n questionFromBook.style.labelValueStyle = questionFromBook.style?.labelValueStyle ? questionFromBook.style?.labelValueStyle : \"\";\r\n questionFromBook.style.inputClass = questionFromBook.style?.inputClass ? questionFromBook.style?.inputClass : \"\";\r\n questionFromBook.style.inputStyle = questionFromBook.style?.inputStyle ? questionFromBook.style?.inputStyle : \"\";\r\n questionFromBook.style.bookStyle = questionFromBook.style?.bookStyle ? questionFromBook.style?.bookStyle : \"\";\r\n questionFromBook.style.showLabel = questionFromBook.style?.showLabel ? questionFromBook.style?.showLabel : true;\r\n questionFromBook.style.questionStyle = questionFromBook.style?.questionStyle ? questionFromBook.style?.questionStyle : \"\";\r\n questionFromBook['langDirection'] = questionFromBook.style?.direction ? questionFromBook.style?.direction : this.langDirection;\r\n });\r\n element['qbItem'] = qb['questionbook'];\r\n }\r\n }\r\n element.style = element.style ? typeof element.style === 'string' ? JSON.parse(''+element?.style) : element?.style : this.qbItem?.style;\r\n\r\n element.style.labelClass = element.style?.labelClass ? element.style?.labelClass : \"\";\r\n element.style.labelStyle = element.style?.labelStyle ? element.style?.labelStyle : \"\";\r\n element.style.labelValueStyle = element.style?.labelValueStyle ? element.style.labelValueStyle : \"\";\r\n element.style.inputClass = element.style?.inputClass ? element.style?.inputClass : \"\";\r\n element.style.inputStyle = element.style.inputStyle ? element.style?.inputStyle : \"\";\r\n element.style.bookStyle = element.style?.bookStyle ? element.style?.bookStyle : \"\";\r\n element.style.showLabel = element.style?.showLabel ? element.style?.showLabel : true;\r\n element.style.questionStyle = element.style?.questionStyle ? element.style?.questionStyle : \"\";\r\n\r\n element['langDirection'] = element.style?.direction ? element.style?.direction : this.langDirection;\r\n\r\n\r\n //VD 02Aug24 dependent field show/hide changes\r\n // RS 09DEC24 Changed keys\r\n if(element.referenceField){\r\n element.dependentRef = element.referenceField;\r\n }\r\n if(element.subText){\r\n let dependencyObj: DependencyMeta = JSON.parse(element.subText);\r\n if(dependencyObj.isDependentField){\r\n element.isHidden = true;\r\n }\r\n // VD 07Aug24 - isDependentField change\r\n this.subscription = this.changeService.changeAnnounced$.subscribe(\r\n (changeValue) => {\r\n // VD 20Aug24 - isDependentField change\r\n if(changeValue != undefined && dependencyObj.isDependentField) {\r\n if(changeValue.valueObj != undefined && changeValue.fromQuestionId == dependencyObj.sourceQuestionId) {\r\n // element.isHiddenField = true;\r\n if(dependencyObj.dependentValue == changeValue.valueObj){\r\n element.isHidden = false;\r\n element.input = '';\r\n element.selectedValue = undefined;\r\n if(element.dependentRef == changeValue.referenceField){\r\n element.referenceField = changeValue.referenceField;\r\n }\r\n }else {\r\n element.isHidden = true;\r\n element.input = '';\r\n element.selectedValue = undefined;\r\n this.hideDependentElements(element.id);\r\n // if there is no dependent selection remove the reference\r\n if(element.dependentRef == changeValue.referenceField){\r\n element.referenceField = '';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n );\r\n this.storageService.update(element);\r\n }\r\n // sunday comment\r\n // if (element.type === 'Calendar') {\r\n // this.openCalendarComponent(element);\r\n // }\r\n });\r\n this.subQuestions = [];\r\n this.setSubQuestions(this.questions);\r\n this.processTranslatedQuestions(); \r\n }\r\n// VD 07Aug24 - isDependentField change\r\n hideDependentElements(elementId) {\r\n let elementsToHide = this.questions.filter(el => {\r\n if (el.subText) {\r\n let depObj = JSON.parse(el.subText);\r\n return depObj.sourceQuestionId == elementId;\r\n }\r\n return false;\r\n });\r\n\r\n elementsToHide.forEach(el => {\r\n el.isHidden = true;\r\n el.input = '';\r\n el.selectedValue = undefined;\r\n this.storageService.update(el);\r\n // Recursively hide elements dependent on this one\r\n this.hideDependentElements(el.id);\r\n });\r\n}\r\n\r\n clearSQError(quesId) {\r\n var sqList = this.subQuestions?.filter((item) => item.id == quesId);\r\n for (var sq of sqList) {\r\n sq.error = null;\r\n }\r\n }\r\n // VD 11Jun24 - translation changes\r\n processTranslatedQuestions(){\r\n if (this.translatedQuestions && this.translatedQuestions.length > 0) {\r\n this.questions.forEach((orgQuestion: any)=> {\r\n this.translatedQuestions.forEach((transQuestion:any) => {\r\n if(orgQuestion.uniqueIdentifier == transQuestion.identifier){\r\n orgQuestion.questionText = transQuestion.label;\r\n orgQuestion.question = transQuestion.placeHolder;\r\n }\r\n });\r\n });\r\n // console.log('originalQuestion' + this.questions);\r\n // console.log(this.questions);\r\n }\r\n }\r\n\r\n setSubQuestions(records) {\r\n this.subQuestions.push(records);\r\n }\r\n\r\n // Capture and Process Child Event\r\n childEventCapture(event, ques?:any) {\r\n let dropdownData = {};\r\n this.changeService.announceChange(event);\r\n if(ques){\r\n if(ques.type == 'Dropdown' ||ques.type == 'Radio' ) {\r\n // HA 19JAN24 Correction of dropdown values\r\n ques.selectedObj = event.valueObj ? event.valueObj : null;\r\n ques.input = event.selectedObj ? event.selectedObj : event.valueObj;\r\n ques.selectedValue = event.valueObj ? event.valueObj : null;\r\n // emit the dropdown data to parent\r\n dropdownData['event'] = event.valueObj;\r\n dropdownData['ques'] = ques;\r\n if(dropdownData['event']){\r\n this.handleDropDown.emit(dropdownData);\r\n } // VD 21DEC23 - dependent field change\r\n } else if(ques.type == 'Location'){\r\n ques.input = event.valueObj;\r\n ques.selectedValue = event.valueObj.address;\r\n }else if(ques.type == 'File'){ \r\n ques.input = this.selectedFileData = event;\r\n\r\n\r\n // Handle file validation errors\r\n if (Array.isArray(event) && event.length === 0) {\r\n // No files uploaded when required\r\n ques.error = ques.Error_Message__c ? new ErrorWrapper() : null;\r\n} else if (Array.isArray(event) && event.length > 0) {\r\n // Files were successfully uploaded\r\n ques.error = null;\r\n}\r\n\r\n// If there were validation errors from the file upload component\r\nif (event.validationErrors && event.validationErrors.length > 0) {\r\n ques.error = new ErrorWrapper();\r\n ques.error.message = event.validationErrors[0]; // Use the first validation error\r\n}\r\n\r\n }else if(ques.type == 'Date' || ques.type == 'DateTime'){ // HA 24JAN24 Converting Date and DateTime to UTC\r\n if(event.value){\r\n let d = new Date(event.value);\r\n let utcString = d?.toISOString();\r\n ques.input = utcString;\r\n }else {\r\n ques.input = '';\r\n }\r\n }else if(ques.type == 'List'){\r\n // VD 20Aug24 handling the list type handle multiple object values\r\n ques.input = this.dataService.getValue(event.valueObj,event.field);\r\n }//RS 06JAN25\r\n else if (ques.type === 'RichTextArea') { \r\n console.log('RichTextArea event:', event);\r\n ques.input = event || '';\r\n } else{\r\n ques.input = event;\r\n }\r\n //RS 06JAN25\r\n // Validate error message - modified to handle rich text\r\n const hasError = ques.Error_Message__c && (\r\n (ques.type === 'File' && ques.input.length === 0) ||\r\n (ques.type === 'RichTextArea' && (!ques.input || ques.input.trim() === '')) ||\r\n (ques.type !== 'File' && ques.Type__c !== 'RichTextArea' && !ques.input)\r\n );\r\n ques.error = hasError ? new ErrorWrapper() : null;\r\n ques.error = hasError ? new ErrorWrapper() : null;\r\n // Once the right value is stored in ques.input store the ques (with input) in storageService\r\n this.storageService.update(ques);\r\n // VD 19Jul01 - get updated question\r\n this.handleQuestion.emit(ques);\r\n }\r\n }\r\n deleteFile(fileData:any){\r\n console.log('fileDATA',fileData)\r\n }\r\n getDropDown(event:any){\r\n this.hadleDropDownDependent.emit(event);\r\n }\r\n// VD 06Sep24 calendar changes\r\n getCurrentCalendar(event:any){\r\n this.handleCalendarDate.emit(event);\r\n }\r\n\r\n getCalendarEvent(event:any){\r\n if(event){\r\n this.handleCalendarEvent.emit(event);\r\n }\r\n }\r\n\r\n // VD 06Sep24 remove the special charecters and tags \r\n // from the questionText\r\n removeCharacters(questionText:string){\r\n let updatedText = questionText?.replace(/<[^>]*>/g, '');\r\n return updatedText;\r\n }\r\n\r\n// sunday comment\r\n // openCalendarComponent(ques) {\r\n // const viewContainerRef = this.dynamicHost.viewContainerRef;\r\n // if(viewContainerRef){\r\n // viewContainerRef.clear();\r\n // const componentRef = viewContainerRef.createComponent(CustomCalendarComponent);\r\n // componentRef.instance.question = ques;\r\n // componentRef.instance.dateSelected.subscribe((event: any) => this.getCurrentCalendar(event));\r\n // componentRef.instance.eventSelected.subscribe((event:any) => this.getCalendarEvent(event))\r\n // }\r\n // }\r\n\r\n isCalendarModalOpen = false;\r\n calendarModalTitle:any;\r\n calendarModalSize:any;\r\n calendarSaveButtonValue: any;\r\n referenceQuestions = [];\r\n qbRefrenceBook:any;\r\n modalCalendarModalFooter:any;\r\n\r\n openCalendarModal(event) {\r\n this.isCalendarModalOpen = true;\r\n this.qbRefrenceBook = event.qbRefrenceBook;\r\n this.referenceQuestions = event.referenceQuestions;\r\n this.calendarModalTitle = event.modalTitle;\r\n this.calendarModalSize = event.modalSize;\r\n this.calendarSaveButtonValue = event.saveButtonValue;\r\n this.modalCalendarModalFooter = event.modalFooter;\r\n }\r\n\r\n\r\n onCalendarModalSave(){\r\n this.changeService.dataChanges('calendar-modal-save');\r\n }\r\n\r\n\r\n handleQuestionEvent(event){\r\n console.log('handle question here');\r\n }\r\n \r\n closeCalendarModal(event){\r\n this.isCalendarModalOpen = false;\r\n }\r\n\r\n}\r\n","<!-- HA 20DEC23 Book Style from salesforce -->\r\n<!-- HA 28DEC23 Removed IsShengel(removal of shengel values applies for this reason) and direct styling of books to avoid styling issues-->\r\n<!-- HA 18JAN24 Added class for styling -->\r\n<div [style]=\"bookStyle\" class=\"content-box form-group\">\r\n <div class=\"form-row\">\r\n <!-- HA 20DEC23 Directive and Question Style from salesforce -->\r\n <!-- RA09DEC24 Changed keys-->\r\n <div\r\n [class]=\"'col-lg-' + ques.size + ' paddingnone'\"\r\n *ngFor=\"let ques of questions;let i = index\" [id]=\"ques.id\" [dir]=\"ques.langDirection\" [style]=\"ques?.style?.questionStyle\">\r\n <!-- Sub Question Label -->\r\n <!-- HA 20DEC23 Label Style from salesforce -->\r\n <!-- VD 09May24 is hide field change-->\r\n <div *ngIf=\"!ques.isHidden\">\r\n <div *ngIf=\"ques.type === 'DateTime'\">\r\n \r\n </div>\r\n <!-- VD 20JUN24 - help text changes-->\r\n <!-- VD 01Aug24 - validation change-->\r\n <!-- // VD 02Aug24 - label value style-->\r\n <div [ngClass]=\"{ down2: qbItem?.progressBar }\" *ngIf=\"ques.style?.showLabel ? ques.style?.showLabel : true\" [style]=\"ques.style?.labelStyle\">\r\n <span [class]=\"'dis-flex shengel-myt-font3 myt-font7 '\" [style]=\"ques.style?.labelValueStyle\">{{ removeCharacters(ques?.questionText) }}\r\n <div *ngIf=\"ques.isOptional\" style=\"color: red;\">*</div>\r\n <!-- RS 17JAN2025 -->\r\n <!-- Displays icons with tooltips help text -->\r\n <div *ngIf=\"ques.questionText && ques?.helpText\" \r\n class=\"icon\" \r\n [matTooltip]=\"ques?.helpText\"\r\n matTooltipClass=\"white-tooltip\">i</div>\r\n <!-- RS 17JAN2025 -->\r\n <!-- Displays icons with tooltips for file requirements -->\r\n <div \r\n class=\"icon\" \r\n *ngIf=\"ques.fieldsMeta\"\r\n [matTooltip]=\"getFileRequirements(ques.fieldsMeta)\"\r\n matTooltipClass=\"white-tooltip\"\r\n style=\"margin-left: 4px;\"\r\n >i</div>\r\n </span>\r\n</div>\r\n <!-- // VD 12Jun24 - readonly change-->\r\n <!-- DateTime -->\r\n <div *ngIf=\"ques.type === 'DateTime'\">\r\n <app-custom-date-picker [minDate]=\"ques.minDate\" [error]=\"ques.error\" [errorMessage]=\"ques.errorMessage\" [readOnly]=\"ques.isReadOnly\" [date]=\"ques.input\" (dateChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-date-picker>\r\n </div>\r\n \r\n <!-- Date-->\r\n <div *ngIf=\"ques.type === 'Date'\">\r\n <app-custom-date [date]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.errorMessage\" [readOnly]=\"ques.isReadOnly\" (dateChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-date>\r\n </div>\r\n \r\n <!-- Time-->\r\n <div *ngIf=\"ques.type === 'Time'\">\r\n <app-custom-time [time]=\"ques.input\" [error]=\"ques.error\" [errorMessage]=\"ques.errorMessage\" [readOnly]=\"ques.isReadOnly\" (timeChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-time>\r\n </div>\r\n <!-- calendar -->\r\n <div *ngIf=\"ques.type === 'Calendar'\">\r\n <app-custom-calendar\r\n [question]=\"ques\"\r\n (eventSelected)=\"getCalendarEvent($event)\"\r\n (dateSelected)=\"getCurrentCalendar($event)\"\r\n (openModal)=\"openCalendarModal($event)\"\r\n (closeModal)=\"closeCalendarModal($event)\"\r\n ></app-custom-calendar>\r\n <!-- model used in calendar component -->\r\n <app-custom-model *ngIf=\"isCalendarModalOpen\"\r\n [modalTitle]=\"calendarModalTitle\"\r\n [isModalOpen]=\"isCalendarModalOpen\"\r\n [modalSize]=\"calendarModalSize\"\r\n [saveButtonValue]=\"calendarSaveButtonValue\"\r\n [modalFooter]=\"modalCalendarModalFooter\"\r\n (saveButtonEmit)=\"onCalendarModalSave()\"\r\n (cancelButtonEmit)=\"closeCalendarModal($event)\"\r\n >\r\n <lib-questionbook [qbItem]=\"qbRefrenceBook\" [questions]=\"referenceQuestions\" (handleQuestion)=\"handleQuestionEvent($event)\"></lib-questionbook>\r\n </app-custom-model>\r\n </div>\r\n <!-- Text -->\r\n <div *ngIf=\"ques.type === 'Text' || ques.type === 'Link'\" >\r\n <app-custom-input [value]=\"ques.input\" [ngClassValue]=\"{\r\n 'dis-flex dt-line date-line bookText boxoutline myt-font1': qbItem.progressBar,\r\n textBox: !qbItem.progressBar\r\n }\" [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [idValue]=\"ques.trackingId\" [focusEvent]=\"clearSQError(ques.id)\"\r\n [error]=\"ques.error\" [placeholder]=\"ques.question\" (inputValue)=\"childEventCapture($event, ques)\">\r\n </app-custom-input>\r\n </div>\r\n \r\n <!-- for pick location -->\r\n <!-- VD 21DEC23 - dependent field change -->\r\n <div *ngIf=\"ques.type === 'Location'\">\r\n <!-- HA10012024 Added Api key as input -->\r\n <app-pick-location [apiKey]=\"qbItem['apiKey']\" [address]=\"ques.selectedValue\" [question]=\"ques\" (locationSelected)=\"childEventCapture($event, ques)\">\r\n </app-pick-location>\r\n </div>\r\n \r\n <!-- for text area -->\r\n <div *ngIf=\"ques.type === 'TextArea'\">\r\n <app-custom-text-area [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [value]=\"ques.input\" [rows]=\"3\" [error]=\"ques.error\" [placeholder]=\"ques.question \"\r\n (textareaValueChange)=\"childEventCapture($event, ques)\"></app-custom-text-area>\r\n </div>\r\n <!-- RS 06JAN25 -->\r\n <!-- for rich text editor -->\r\n <div *ngIf=\"ques.type === 'RichTextArea'\">\r\n <app-custom-rich-text \r\n [question]=\"ques\"\r\n [readOnly]=\"ques.isReadOnly\"\r\n [value]=\"ques.input || ''\"\r\n [error]=\"ques.error\"\r\n [placeholder]=\"ques.question\"\r\n (textValueChange)=\"childEventCapture($event, ques)\">\r\n </app-custom-rich-text>\r\n </div>\r\n\r\n <!-- Email -->\r\n <div *ngIf=\"ques.type === 'Email'\">\r\n <input type=\"email\" readOnly=\"ques.isReadOnly\" [(ngModel)]=\"ques.input\" [id]=\"ques.id\" required=\"\" (focus)=\"clearSQError(ques.id)\"\r\n style.border-color=\"{{ ques.error ? 'red' : '' }}\" placeholder=\"{{ ques.question }}\" />\r\n </div>\r\n \r\n <!-- Table -->\r\n <div *ngIf=\"ques.type === 'Table'\" class=\"\">\r\n <app-custom-table [question]=\"ques\" [apiMeta]=\"ques.subText\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-table>\r\n </div>\r\n \r\n <!-- Table Appendix -->\r\n <div *ngIf=\"ques.type === 'TableAppendix'\" class=\"\">\r\n <app-table-appendix [question]=\"ques\" (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-table-appendix>\r\n </div>\r\n <!-- list -->\r\n <!-- VD 20Aug24 used correct attribute -->\r\n <div *ngIf=\"ques.type === 'List'\" class=\"\">\r\n <lib-search-box [question]=\"ques\" [readOnly]=\"ques.isReadOnly\" [apiMeta]=\"ques.subText\" [id]=\"ques.id\" [placeHolderText]=\"ques.question\" [filterName]=\"ques.input\" (searchValueChange)=\"childEventCapture($event, ques)\">\r\n </lib-search-box>\r\n </div>\r\n \r\n <!-- Dropdown -->\r\n <!-- HA 09FEB24 Added condition of sqOption to the dropdown -->\r\n <div *ngIf=\"ques?.type === 'Dropdown' && ques?.options\" class=\"\">\r\n <!-- HA 20DEC23 For Translation --> <!-- VD 19JAN24 - getting token as input -->\r\n <app-custom-dropdown [options]=\"ques.options\"\r\n [token]=\"token\"\r\n [apiMeta]=\"ques.subText\" [id]=\"ques.id\"\r\n [selectedValue]=\"ques.selectedValue\"\r\n placeholder=\"---{{'select' | i18n:i18nService.currentLanguage}}---\"\r\n [errorMessage]=\"ques.errorMessage\" [error]=\"ques.error\"\r\n [referenceField]=\"ques.referenceField\"\r\n [readOnly]=\"ques.isReadOnly\"\r\n [question]=\"ques\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-dropdown>\r\n <i class=\"fa fa-check \" aria-hidden=\"true\" *ngIf=\"ques?.input?.length > 0\"></i>\r\n </div>\r\n <!-- // VD 02Aug24 custom-radio component -->\r\n <div *ngIf=\"ques.type === 'Radio' && ques?.options\" class=\"\">\r\n <app-custom-radio [options]=\"ques.options\" [token]=\"token\"\r\n [apiMeta]=\"ques.subText\" [id]=\"ques.id\" [selectedValue]=\"ques.selectedValue\"\r\n [errorMessage]=\"ques.errorMessage\" [error]=\"ques.error\"\r\n [referenceField]=\"ques.referenceField\"\r\n [readOnly]=\"ques.isReadOnly\"\r\n (valueChange)=\"childEventCapture($event, ques); clearSQError(ques.id)\">\r\n </app-custom-radio>\r\n </div>\r\n \r\n <!-- Attachment / Files -->\r\n <div *ngIf=\"ques.type === 'File'\" class=\"\">\r\n <app-file-upload [limitFileUploading]=\"5\" [error]=\"ques.error\" [question]=\"ques\" [allFiles]=\"ques.input\" [tableFile]=\"false\"\r\n (selectedFileData)=\"childEventCapture($event, ques)\" (deletedFileData)=\"deleteFile($event)\"\r\n [isDeleteFileButtonVisible]=\"true\"></app-file-upload>\r\n </div>\r\n <div *ngIf=\"ques.type === 'PopUpMessage'\" class=\"\">\r\n <app-dependent-table [alertMessage]=\"ques.errorMessage\">\r\n </app-dependent-table>\r\n </div>\r\n <div *ngIf=\"ques.type === 'Label'\" class=\"\">\r\n <app-custom-label [labelStyle]=\"ques.title\" [labelValue]=\"ques.question\">\r\n </app-custom-label>\r\n </div>\r\n <!-- // VD 02Aug24 image component -->\r\n <div *ngIf=\"ques.type === 'Image'\" class=\"\">\r\n <app-custom-image [question]=\"ques\">\r\n </app-custom-image>\r\n </div>\r\n <!-- 08NOV23 - button type question added -->\r\n <!-- Button -->\r\n <div *ngIf=\"ques.type === 'Button'\" class=\"\">\r\n <app-custom-button [height]=\"'50px'\"\r\n [width]=\"'150px'\"\r\n [buttonText]=\"ques?.question\"\r\n [value]=\"ques?.question\"\r\n (buttonValue)=\"childEventCapture($event, ques)\"\r\n >\r\n </app-custom-button>\r\n </div>\r\n <!-- HA 20DEC23 This is to load book type questions-->\r\n <div *ngIf=\"ques.type === 'Book'\">\r\n <!-- HA 09FEB24 Added ternary operator -->\r\n <lib-questionbook [qbItem]=\"ques.qbItem\" [labelValue]=\"labelValue\" [questions]=\"ques.qbItem?.subQuestions\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- 06-09-24 for calendar type-->\r\n<!-- <ng-template dynamicComponentHost></ng-template> -->","import {\r\n Component,\r\n OnInit,\r\n OnChanges,\r\n Inject,\r\n Input,\r\n Output,\r\n EventEmitter,\r\n ViewEncapsulation,\r\n ElementRef,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\nimport { SalesforceService } from \"../../services/salesforce.service\";\r\nimport { DataService } from '../../services/data.service';\r\nimport { ActivatedRoute, Params } from \"@angular/router\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { ActionMeta } from '../../interfaces/actionMeta';\r\nimport { Question } from \"../../wrapper\";\r\nimport { BookletWrapper } from \"../../model/bookletWrapper\";\r\nimport { StorageService } from '../../services/storage.service';\r\nimport { ChangeService } from \"../../services/change.service\";\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from \"../../i18n.service\";\r\n\r\n@Component({\r\n selector: 'lib-booklet',\r\n templateUrl: './booklet.component.html',\r\n styleUrls: ['./booklet.component.css']\r\n})\r\nexport class BookletComponent implements OnInit {\r\n @Input() bookletId: string;\r\n @Input() serv: string;\r\n @Input() tkn: string;\r\n @Input() bookletJSON: any;\r\n @Input() dropdownDependentData:any;\r\n @Input() labelValue:string;\r\n @Input() token:string;\r\n @Input() languageCode:string; // VD 11Jun24 - translation changes\r\n @Input() fieldRestrictions: any; // VD 12Jun24 - field permission change\r\n @Output() handleBookletActionEvent: EventEmitter<any> = new EventEmitter();\r\n @Output() handlePage: EventEmitter<any> = new EventEmitter();\r\n @Output() hadleDropDownDependent:EventEmitter<any> = new EventEmitter();\r\n // VD 06Sep24 calendar changes\r\n @Output() handleCalendarDate: EventEmitter<any> = new EventEmitter();\r\n @Output() handleCalendarEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n public nxtBooklet: BookletWrapper;\r\n\r\n public booklet: any[] = [];\r\n public abItem: any = {};\r\n public actions: ActionMeta[] = [];\r\n public bookQuestionsMap: any = new Map();\r\n public translateMap: any = new Map(); // VD 11Jun24 - translation changes\r\n private sqOptions: any = new Map();\r\n public isAnswerFlag: boolean = false;\r\n public spinnerName: string;\r\n public spinnerType: string;\r\n // HA 19DEC23 langDirection variable is created to assign the direction as class\r\n langDirection = 'ltr'; // HA 28DEC23 making ltr as default direction\r\n answerList = []; // HA 11-JAN-24 Answerlist to store the minimal value\r\n @Input() dataBind:any;// HA 18-JAN-24 To insert the endpoint value to the question\r\n allEvents:any[]=[]; // VD 06Sep24 calendar changes\r\n \r\n constructor(\r\n private sfService: SalesforceService,\r\n private dataService: DataService,\r\n private storageService: StorageService,\r\n private route: ActivatedRoute,\r\n private sanitizer: DomSanitizer,\r\n private changeService: ChangeService, \r\n el: ElementRef,\r\n public i18nService: I18nService\r\n ) { \r\n this.spinnerName = \"sp1\";\r\n this.spinnerType = \"ball-spin-clockwise\";\r\n }\r\n\r\n ngOnInit(): void {\r\n// VD 12Jan24 fieldRestrictions formate \r\n // {\r\n // \"fields\" : {\r\n // \"transQb-01\" : \"readOnly\",\r\n // \"TransFir02\" : \"\",\r\n // \"TransLast03\" : \"readOnly\",\r\n // \"bk2-q2\" : \"hide\"\r\n // }\r\n // }\r\n\r\n // HA 18-JAN-24 Dummy Static data for testing\r\n // this.dataBind = {\r\n // \"_id\": \"659ed002ed51bb8061544255\",\r\n // \"companyId\": \"5ullh1BWpYqnvzKh9L\",\r\n // \"name\": \"Al Yasmine\",\r\n // \"code\": \"check\",\r\n // \"status\": \"In-Progress\",\r\n // \"createdAt\": \"2024-01-10T17:12:34.686Z\",\r\n // \"updatedAt\": \"2024-01-10T19:53:08.135Z\",\r\n // \"__v\": 0,\r\n // \"owner\": \"check\",\r\n // \"customer\": \"check\",\r\n // \"dati\": \"2024-01-23T18:30:00.000Z\",\r\n // \"timi\": \"2024-01-23T18:30:00.000Z\",\r\n // \"fName\": \"Haider\",\r\n // \"lName\": \"Ali\",\r\n // \"defaultApp\": \"NXT\",\r\n // \"email\": \"haider@gmail.com\",\r\n // \"location\": {address: \"107, Ashok Nagar, Kadugondanahalli, Bengaluru, Karnataka 560045, India\",\r\n // latitude: 13.0200575,\r\n // longitude: 77.6129816},\r\n // \"location\": \"107, Ashok Nagar, Kadugondanahalli, Bengaluru, Karnataka 560045, India\",\r\n // \"textArea\": \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum\",\r\n // };\r\n this.processBooklet();\r\n }\r\n // VD NOV23 - update the json data when bookletId and bookletJSON changes\r\n ngOnChanges(simplechanges:SimpleChanges) {\r\n // HA 23JAN24 To avoid undefined error\r\n if(simplechanges['bookletId'] || (simplechanges['bookletJSON'] && (simplechanges['bookletJSON'].currentValue != null || simplechanges['bookletJSON'].currentValue != undefined)) || (simplechanges['dataBind'] && (simplechanges['dataBind'].currentValue != null || simplechanges['dataBind'].currentValue != undefined)) ){\r\n this.allEvents = [];\r\n this.processBooklet();\r\n }\r\n // if(this.booklet == undefined || this.booklet.length == 0) {\r\n // this.processBooklet();\r\n // }\r\n }\r\n\r\n processBooklet() {\r\n if (this.bookletId) {\r\n if (this.bookletId.length == 18) {\r\n this.readBooklet(this.bookletId);\r\n }\r\n } else if(this.bookletJSON) {\r\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\r\n this.isAnswerFlag = true;\r\n\r\n if(this.bookletJSON != null || this.bookletJSON != undefined) {\r\n // Storing the API response for future use\r\n this.storageService.save(this.bookletJSON);\r\n }\r\n\r\n this.booklet = this.bookletJSON.records;\r\n this.abItem = this.bookletJSON.answerbook;\r\n\r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in this.bookletJSON.sqOptions) {\r\n this.sqOptions.set(sq, this.bookletJSON.sqOptions[sq]);\r\n }\r\n\r\n // Process the Questions\r\n // HA 28DEC23 this applies for booklet\r\n // HA 17JAN24 Added ternary operator to avoid undefined scenario\r\n // HA 09FEB24 Adding condition to avoid undefined error\r\n if(this.bookletJSON?.bookQuestionsMap && Object.keys(this.bookletJSON?.bookQuestionsMap).length > 0){\r\n for (var value in this.bookletJSON.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, this.bookletJSON.bookQuestionsMap[value]);\r\n }\r\n }\r\n // HA 28DEC23 this applies for book or questions\r\n else{\r\n var value = '';\r\n // HA 09FEB24 Added ternary\r\n // RS 09DEC24 Changed keys\r\n value = this.bookletJSON.records[0]?.id;\r\n this.bookQuestionsMap.set(value, this.bookletJSON.questionbook);\r\n }\r\n \r\n // VD 20Jun24 - translation changes\r\n for (var value in this.bookletJSON?.translationMap) {\r\n this.translateMap.set(value, this.bookletJSON.translationMap[value]);\r\n }\r\n // VD 31NOV24 wrapper changes\r\n if(this.bookletJSON.questionbook?.action != undefined) {\r\n this.actions = JSON.parse(this.bookletJSON.questionbook.action);\r\n }\r\n }\r\n // HA 19DEC23 langDirection variable value assigning\r\n // RS 09DEC24 Changed keys\r\n if(this.bookletJSON?.questionbook?.style){\r\n var style = JSON.parse(JSON.parse(JSON.stringify(this.bookletJSON?.questionbook?.style)));\r\n this.langDirection = style?.direction;\r\n }\r\n else if(this.bookletJSON?.records[0]?.style){\r\n // else if(this.bookletJSON?.records[0]?.style){\r\n\r\n var style = JSON.parse(JSON.stringify(this.bookletJSON?.records[0]?.style));\r\n this.langDirection = style?.direction;\r\n }\r\n\r\n // HA 18-JAN-24 The condition is used for Bind-In Logic \r\n this.handleCompleteBooklet(this.bookletJSON); \r\n }\r\n // VD 12Jun24 - translation changes\r\n private readBooklet = (uuid: string) => {\r\n if(this.serv == \"api\") {\r\n this.dataService.getAPIData(\r\n this.tkn,\r\n [\"Booklet\", \"read\", uuid,this.languageCode],\r\n this.successReadBooklet,\r\n this.failureReadBooklet\r\n );\r\n } else {\r\n // VD 31NOV24 param changes with new method\r\n let paramMap = { createAnswerBookFlag: false };\r\n paramMap['c__qb_id'] = '';\r\n paramMap[\"c__record_id\"] = '';\r\n let para = {\r\n dataType: \"Booklet\",\r\n operation: \"read\",\r\n param1: uuid,\r\n paramJSON: JSON.stringify(paramMap),\r\n languageCode : this.languageCode\r\n }\r\n this.sfService.remoteAction(\r\n \"NxtController.processData\",\r\n [JSON.stringify(para)],\r\n this.successReadBooklet,\r\n this.failureReadBooklet\r\n );\r\n }\r\n }\r\n\r\n private successReadBooklet = (response) => {\r\n console.log('Inside the successReadBooklet');\r\n if(response != null || response != undefined) {\r\n // Storing the API response for future use\r\n this.storageService.save(response);\r\n\r\n // Try to pass a value from Backend to differentiate the QuestionBook Read and AnswerBook Read\r\n // this.isAnswerFlag = true;\r\n \r\n this.booklet = response.records;\r\n this.abItem = response.answerbook;\r\n \r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in response.sqOptions) {\r\n this.sqOptions.set(sq, response.sqOptions[sq]);\r\n }\r\n\r\n // Process the Questions\r\n for (var value in response.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, response.bookQuestionsMap[value]);\r\n }\r\n // VD 11Jun24 - translation changes\r\n for (var value in response.translationMap) {\r\n this.translateMap.set(value, response.translationMap[value]);\r\n }\r\n // VD 31NOV24 wrapper changes\r\n if(response.questionbook?.action != undefined) {\r\n this.actions = JSON.parse(response.questionbook.action);\r\n }\r\n }\r\n // HA 19DEC23 langDirection variable value assigning\r\n if(response?.questionbook?.style){\r\n var style = JSON.parse(JSON.parse(JSON.stringify(response?.questionbook?.style)));\r\n this.langDirection = style?.direction;\r\n }\r\n else if(response?.records[0]?.style){\r\n var style = JSON.parse(JSON.parse(JSON.stringify(response?.records[0]?.style)));\r\n this.langDirection = style?.direction;\r\n }\r\n }\r\n\r\n private failureReadBooklet = (response) => {\r\n\r\n }\r\n\r\n handleBookletActionClick(action:ActionMeta) {\r\n // HA 19JAN24 Action changes\r\n // RS 09DEC24 Changed keys\r\n this.answerList = [];\r\n this.dataBind = []; // HA 12FEB24 Clearing dataBind upon button action so that dataBind value will not override the changed value\r\n let dataToParent = {};\r\n let validForm = true; // VD 01Aug24 - validation change\r\n // HA 22JAN24 this change to make close event work\r\n dataToParent['action'] = action.eventtoemit;\r\n if(!(action.eventtoemit === 'close' || action.eventtoemit === 'print')){\r\n // HA 18-JAN-24 Sending the complete json data also \r\n dataToParent['jsonBook'] = this.storageService.get();\r\n // HA 17JAN24 nxtId to dataParent object\r\n if(this.bookletJSON){\r\n dataToParent['nxtId'] = Object.keys(this.bookletJSON?.bookQuestionsMap)[0];\r\n }\r\n // HA 11-JAN-24 Minimizing the value which has to be passed to the server\r\n this.handleCompleteBooklet(dataToParent['jsonBook']);\r\n dataToParent['data'] = this.answerList ? this.answerList : dataToParent['data'];\r\n // when clicking the submit button validating the required fields\r\n for(let key in dataToParent['jsonBook'].bookQuestionsMap){\r\n const currentBook = dataToParent['jsonBook'].bookQuestionsMap[key];\r\n currentBook.subQuestions.forEach(element => {\r\n // VD 01Aug24 - validation change\r\n if(element.isOptional && dataToParent['action'] == 'submit' && (!element.input || (Array.isArray(element.input) && element.input.length === 0)) && !element.isHidden && element.type != 'Label' && element.type != 'Image' ){ //SKS5NOV25 \r\n element.error = true;\r\n validForm = false;\r\n this.changeService.submitChange(element.id);\r\n }\r\n // VD 02Aug24 - clear action changes\r\n if(dataToParent['action'] == 'clear'){\r\n if(element.type == 'Dropdown' || element.type == 'Location' || element.type == 'Radio') {\r\n element.selectedValue = undefined;\r\n }else if(element.type == 'File'){\r\n element.input = [];\r\n }else {\r\n element.input = '';\r\n }\r\n }\r\n });\r\n }\r\n }\r\n // VD 13MAY24 - print QR button changes\r\n if(action.eventtoemit === 'print'){\r\n dataToParent['actionData'] = action['data'];\r\n }\r\n // HA 23JAN24 To call the action on any event\r\n // VD 01Aug24 - validation change\r\n if(validForm){\r\n this.handleBookletActionEvent.emit(dataToParent);\r\n }else {\r\n dataToParent['action'] = 'error';\r\n this.handleBookletActionEvent.emit(dataToParent);\r\n }\r\n }\r\n\r\n // HA 18-JAN-24 handleCompleteBooklet is to simplify the logic\r\n handleCompleteBooklet(completeBooklet){\r\n if(Object.keys(completeBooklet?.bookQuestionsMap ?? {}).length === 0){ // HA 11-JAN-24 If condition to load booklet\r\n this.handleBook(completeBooklet?.questionbook?.subQuestions);\r\n }\r\n else{ // HA 11-JAN-24 To load book questions\r\n for (const key in completeBooklet.bookQuestionsMap) {\r\n const val = completeBooklet.bookQuestionsMap[key];\r\n if(val.type === 'Book'){\r\n this.handleBook(val.subQuestions);\r\n }\r\n else{\r\n this.handleQues(val);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // HA 11-JAN-24 handleBook loads the Book\r\n // RS 09DEC24 Changed keys\r\n handleBook(quesList: any){\r\n quesList?.forEach(element => {\r\n if(element.type === 'Book'){\r\n // HA 24JAN24 Fetching from QB reference\r\n var book = JSON.parse(element.qbReferenceQuestions);\r\n book.questionbook.subQuestions.forEach(ques => {\r\n this.handleQues(ques);\r\n });\r\n }\r\n else{\r\n this.handleQues(element);\r\n }\r\n });\r\n // VD 13Sep24 - databind changes\r\n // VD 23 Oct24 - file type changes\r\n if(this.dataBind && Object.keys(this.dataBind).length > 0){\r\n this.changeService.dataChanges('dataBind');\r\n }\r\n }\r\n\r\n // HA 11-JAN-24 handleQues to load question\r\n // VD 06Sep24 calendar changes\r\n handleQues(ques: any){\r\n // HA 19-JAN-24 If condition is for bind-in, correction\r\n // HA 09FEB24 Adding condition to avoid undefined error\r\n if(this.dataBind && Object.keys(this.dataBind).length > 0){\r\n for(let [key, val] of Object.entries(this.dataBind)){\r\n let value:any = val;\r\n if(ques.referenceField === key){\r\n if(ques.type === 'Dropdown' || ques.type === 'Radio' ){\r\n this.sqOptions.forEach(element => {\r\n if(element['referenceField'] === key){\r\n element['input'] = ques.input = value;\r\n element['selectedValue'] = ques.selectedValue = value;\r\n }\r\n });\r\n }\r\n // HA 24JAN24 To bind-in Date and DateTime\r\n else if(ques.type === 'Date' || ques.type == 'DateTime'){\r\n ques.input = new Date(value?.toString());\r\n }\r\n // HA 12FEB24 To bind-in Location Type\r\n else if(ques.type === 'Location'){\r\n ques.input = value;\r\n ques.selectedValue = value['address'] ? value['address'] : value;\r\n }\r\n // VD 06Sep24 calendar changes for data bindIn\r\n else if(ques.type === 'Calendar'){\r\n let entries = JSON.parse(ques['fieldsMeta']);\r\n if(entries){\r\n let referenceQuestions = [];\r\n if(entries.length > 0){\r\n entries.forEach(element => {\r\n if(element.questionReference){\r\n let qReference = JSON.parse(element.questionReference);\r\n referenceQuestions.push(qReference?.question);\r\n }\r\n });\r\n }\r\n if(referenceQuestions.length > 0){\r\n value?.forEach(calendarArray => {\r\n let date = new Date(calendarArray.date);\r\n calendarArray.entries.forEach(inputEntry=>{\r\n for(let [k, v] of Object.entries(inputEntry)){\r\n referenceQuestions.forEach(field => {\r\n if(field.referenceField == k){\r\n if(field.type === 'Date' || field.type == 'DateTime' || field.type == 'Time'){\r\n field.input = new Date(v?.toString());\r\n }if(field.type === 'Dropdown' || field.type === 'Radio'){\r\n field.selectedValue = v;\r\n field.input = v;\r\n }else {\r\n field.input = v;\r\n }\r\n }\r\n });\r\n } \r\n this.addEvent(date,referenceQuestions);//SKS 27SEP24 each event added to allEvents array\r\n }) \r\n // this.addEvent(date,referenceQuestions); //this is only last event added to allEvents array\r\n });\r\n }\r\n }\r\n ques.input = this.allEvents.length > 0 ? this.allEvents : '';\r\n }\r\n // VD 23 Oct24 - file type changes\r\n else if(ques.type === 'File'){\r\n ques.input = [];\r\n ques.input = value;\r\n }\r\n else{\r\n ques.input = value;\r\n }\r\n this.answerList.push(ques); // HA 12FEB24 To give the value for data\r\n }\r\n else{\r\n console.log(\"reference field not found\");\r\n }\r\n }\r\n }\r\n else{\r\n const question = {};\r\n question['id'] = ques.id;\r\n question['input'] = ques.input;\r\n // HA 12FEB24 To bind-out Location Type\r\n if(ques.type === 'Location'){\r\n question['input'] = ques.input ? ques.input : ques.selectedValue;\r\n }else if(ques.type == 'File'){\r\n // VD 23 Oct24 - file type changes\r\n question['input'] = ques.input ? ques.input : [];\r\n }\r\n question['type'] = ques.type;\r\n question['questionNumber'] = ques.questionNumber;\r\n question['referenceField'] = ques?.referenceField;\r\n this.answerList.push(question);\r\n }\r\n }\r\n\r\n// VD 06Sep24 calendar changes for data bindIn\r\n addEvent(day: any, entryQues) {\r\n // Transform new entries into the desired format\r\n const newEntries = entryQues.reduce((acc, q) => {\r\n acc[q.id] = { ...q };\r\n return acc;\r\n }, {});\r\n\r\n // Find if an event already exists for the given date\r\n const existingEvent = this.allEvents.find(event => event.date.toDateString() === day.toDateString());\r\n\r\n if (existingEvent) {\r\n // If the event exists, push the new entries to the existing entries\r\n const existingEntries = existingEvent.entries.map(entry => ({ ...entry }));\r\n existingEntries.push(newEntries);\r\n existingEvent.entries = existingEntries;\r\n } else {\r\n // Create a new event if it doesn't exist for the given date\r\n const newEvent = {\r\n id: '_' + Math.random().toString(36).substr(2, 9),\r\n date: day,\r\n entries: [newEntries] // Wrap the new entries in an array\r\n };\r\n this.allEvents.push(newEvent);\r\n }\r\n}\r\n\r\n\r\n readQuestions(qbId: string) {\r\n let questions = [];\r\n // HA 31-JAN-24 Added ternary to avoid undefined\r\n for(var sq in this.bookQuestionsMap?.get(qbId)?.subQuestions) {\r\n let q: Question = this.bookQuestionsMap?.get(qbId).subQuestions[sq];\r\n // HA 09FEB24 if question is there process\r\n if(q){\r\n if((q.type == 'Dropdown' || q.type == 'Radio') && this.sqOptions.get(q.id)) {\r\n questions.push(this.sqOptions.get(q.id));\r\n } else {\r\n questions.push(q);\r\n }\r\n }\r\n }\r\n\r\n // VD 12Jun24 field permisision changes\r\n if (this.fieldRestrictions) {\r\n const fieldRestrictions = new Map(Object.entries(this.fieldRestrictions.fields));\r\n questions.forEach(ques => {\r\n const restriction = fieldRestrictions.get(ques.uniqueIdentifier);\r\n \r\n if (restriction) {\r\n ques.isReadOnly = restriction === 'readOnly';\r\n ques.isHidden = restriction === 'hide';\r\n }\r\n });\r\n }\r\n return questions;\r\n }\r\n // VD 11Jun24 - translation changes\r\n readTransQuestions(qbId: string){\r\n let record = [];\r\n let translateRecord = this.translateMap.get(qbId);\r\n if(translateRecord && translateRecord.length > 0) {\r\n translateRecord.forEach(lanRec => {\r\n if(lanRec.languageCode == this.languageCode){\r\n record = lanRec.fields\r\n }\r\n });\r\n }\r\n return record;\r\n }\r\n\r\n getText(value) {\r\n var doc = new DOMParser().parseFromString(value, \"text/html\");\r\n return this.sanitizer.bypassSecurityTrustHtml(\r\n doc.documentElement.textContent\r\n );\r\n }\r\n getDropDown(event:any){\r\n this.hadleDropDownDependent.emit(event);\r\n }\r\n // VD 06Sep24 calendar changes\r\n getCalendarDate(event:any){\r\n this.handleCalendarDate.emit(event);\r\n }\r\n getCalendarEvent(event:any){\r\n event[\"nxtId\"]= Object.keys(this.bookletJSON?.bookQuestionsMap)[0];\r\n this.handleCalendarEvent.emit(event);\r\n }\r\n}\r\n","<ngx-spinner size=\"medium\" [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<!-- HA 19DEC23 For Direction -->\r\n<div *ngFor=\"let qb of booklet\" [ngClass]=\"langDirection\">\r\n <!-- MR Commented below code to ensure single JSON for UNCONDITIONAL Booklets -->\r\n <!-- RS 09DEC24 Changed keys-->\r\n <!-- <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.id\" [tkn]=\"tkn\"></lib-questionnaire> -->\r\n <!-- HA 28DEC23 Below If logic is to load from booklet -->\r\n <div *ngIf=\"qb.subQuestions; else elseBlock\">\r\n <div *ngFor=\"let ques of qb.subQuestions\" class=\"questiondiv1\">\r\n <div>\r\n <!-- HA 17JAN24 - Is title is enabled so that based on the boolean div will be visible -->\r\n <div *ngIf=\"ques.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\r\n <!-- VD 08NOV23 - showing lable when its available-->\r\n <div [innerHTML]=\"getText(ques?.questionText)\" *ngIf=\"ques?.questionText\" >\r\n {{ ques?.questionText }}\r\n </div>\r\n </div> <!-- VD 19JAN24 - getting token as input --> <!--VD 11Jun24 - translation changes-->\r\n <!--VD 06Sep24 calendar changes-->\r\n <lib-questionbook [qbItem]=\"qb\" [token]=\"token\"\r\n [labelValue]=\"labelValue\"\r\n [questionItem]=\"ques\"\r\n [translatedQuestions]=\"readTransQuestions(qb.id)\"\r\n [questions]=\"readQuestions(qb.id)\"\r\n (handleDropDown)=\"getDropDown($event)\"\r\n (handleCalendarDate)=\"getCalendarDate($event)\"\r\n (handleCalendarEvent)=\"getCalendarEvent($event)\"\r\n ></lib-questionbook>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- HA 28DEC23 Below else logic is to load from books or questions -->\r\n <ng-template #elseBlock>\r\n <div class=\"questiondiv1\">\r\n <div>\r\n <div *ngIf=\"!qb.isTitle\" [class]=\"qb.isShengel ? 'header-style' : 'question-f-size additional'\">\r\n <!-- VD 08NOV23 - showing lable when its available-->\r\n <div [innerHTML]=\"getText(qb?.questionText)\" *ngIf=\"qb?.questionText\" >\r\n {{ qb?.questionText }}\r\n {{ qb?.title }}\r\n </div>\r\n </div> <!-- VD 19JAN24 - getting token as input --> <!-- // VD 11Jun24 - translation changes-->\r\n <lib-questionbook [qbItem]=\"qb\" [token]=\"token\" [labelValue]=\"labelValue\" [questionItem]=\"qb\" [translatedQuestions]=\"readTransQuestions(qb.id)\" [questions]=\"readQuestions(qb.id)\" (handleDropDown)=\"getDropDown($event)\"></lib-questionbook>\r\n </div>\r\n </div>\r\n </ng-template>\r\n</div>\r\n<!-- RS 09DEC24 Changed keys-->\r\n<!-- Group Actions -->\r\n<!-- HA 19DEC23 For Direction -->\r\n<div class=\"align-submit-row\" *ngIf=\"abItem?.status != 'Completed'\" [ngClass]=\"langDirection\">\r\n <div *ngFor=\"let action of actions; let i = index\">\r\n <!-- // HA 22JAN24 Commonise the button style in fusion -->\r\n <button (click)=\"handleBookletActionClick(action)\" ngClass=\"btn btn-primary fc-button nxtButton\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n","import { Component, OnInit , Input} from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { SharedService } from '../../services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-file-view',\r\n templateUrl: './file-view.component.html',\r\n styleUrls: ['./file-view.component.css']\r\n})\r\nexport class FileViewComponent implements OnInit {\r\n @Input() documentData;\r\n @Input() api;\r\n\r\n constructor(private SharedService: SharedService,\r\n public i18nService: I18nService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n viewDoc(link) {\r\n /*\r\n Author: Vinay Jadhav\r\n @description: This function will view the file from azure blob.\r\n The link passed as a parameter will extract file name and pass it to the service\r\n @param link: It will accept a doc link\r\n @return: It will not return anything but it will either show or download the file.\r\n */\r\n if (link && link !== null) {\r\n this.SharedService.processViewFile(link.split('/').pop(),this.api);\r\n }\r\n // window.open(environment.api.substring(0, environment.api.length - 1) + link, '_blank');\r\n }\r\n\r\n getDocIcon(docName) {\r\n const ext = docName.split('.').pop(-1);\r\n return this.SharedService.docIcon(ext);\r\n }\r\n\r\n \r\n\r\n}\r\n","<div class=\"col-lg-12\">\r\n <div class=\"row\" style=\"text-align: left;\">\r\n <div class=\"col-md-12\">\r\n <!-- HA 19DEC23 For translation -->\r\n <label class=\"she-label attachment\">{{ 'attachment' | i18n:i18nService.currentLanguage }}</label>\r\n </div>\r\n </div>\r\n <div class=\"row\" style=\"margin: 0;\">\r\n <div class=\"col-lg-3 document-cnt\" *ngFor=\"let file of documentData;let i = index;\" style=\"margin-bottom: 10px;\">\r\n <div class=\"row\" (click)=\"viewDoc(file?.doc)\" style=\"cursor: pointer;\">\r\n <div class=\"col-lg-3 document_image\">\r\n <img [src]=\"getDocIcon(file?.doc)\" style=\"margin-right: 10px;height: 40px;\">\r\n </div>\r\n <div class=\"col-lg-9 document_name\" style=\"overflow:hidden;height:35px;\">\r\n {{file?.name}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-md-12 m-b-30 text-center\" *ngIf=\"documentData?.length === 0\">\r\n <img src=\"https://rnxt.s3.amazonaws.com/Icons/fileTypeIcons/ic_no_attachments.svg\" style=\"height: 140px;\">\r\n </div>\r\n </div>\r\n ","import { Component, Input, OnInit } from '@angular/core';\r\n// HA 19DEC23 imported translation service\r\nimport { I18nService } from '../../i18n.service';\r\nimport { ActionMeta } from '../../interfaces/actionMeta';\r\nimport { Question } from '../../wrapper';\r\n\r\n@Component({\r\n selector: 'lib-summary-page',\r\n templateUrl: './summary-page.component.html',\r\n styleUrls: ['./summary-page.component.css']\r\n})\r\nexport class SummaryPageComponent implements OnInit {\r\n @Input() answerJson:any;\r\n @Input() api:string;\r\n\r\n public booklet: any[] = [];\r\n public bookQuestionsMap: any = new Map();\r\n public actions: ActionMeta[] = [];\r\n private sqOptions: any = new Map();\r\n public questions:any[] = [];\r\n filteredQuestion: any[];\r\n\r\n constructor(public i18nService: I18nService) { }\r\n\r\n ngOnInit(): void {\r\n if(this.answerJson) {\r\n console.log('answer json',this.answerJson);\r\n this.booklet = this.answerJson.records;\r\n\r\n // Process the Sub Question Options - This should be merged with bookQuestionsMap in future\r\n for (var sq in this.answerJson.sqOptions) {\r\n this.sqOptions.set(sq, this.answerJson.sqOptions[sq]);\r\n }\r\n // Process the Questions\r\n for (var value in this.answerJson.bookQuestionsMap) {\r\n this.bookQuestionsMap.set(value, this.answerJson.bookQuestionsMap[value]);\r\n }\r\n }\r\n this.processSummary(this.booklet);\r\n }\r\n // RS 09DEC24 Changed keys\r\n processSummary(data:any){\r\n let questions = [];\r\n for( var i = 0; i < data.length ;i++){\r\n let qbId = data[i].id;\r\n for(var sq in this.bookQuestionsMap?.get(qbId).subQuestions) {\r\n let q: Question = this.bookQuestionsMap?.get(qbId).subQuestions[sq];\r\n if(q.type == 'Dropdown') {\r\n questions.push(this.sqOptions.get(q.id));\r\n } else {\r\n if(!q.input?.includes('|')){ // to avoid the unwanted fields for summary page\r\n questions.push(q);\r\n }\r\n }\r\n }\r\n }\r\n this.questions = questions;\r\n console.log('question', this.questions);\r\n // map the questions using the the bookId\r\n var qbIds = new Set(this.questions.map((item:any) => item.questionBookId))\r\n this.filteredQuestion = [];\r\n qbIds.forEach((id) => {\r\n this.filteredQuestion.push({\r\n Id: id, \r\n questions: this.questions.filter((i:any) => i.questionBookId === id)\r\n });\r\n })\r\n console.log('filteredQuestion',this.filteredQuestion);\r\n }\r\n\r\n}\r\n","<div class=\"col-lg-12\">\r\n <div class=\"panel-group panel-group-joined\" id=\"details\">\r\n <div class=\"panel panel-default\">\r\n <div class=\"panel-heading\">\r\n <h4 class=\"panel-title\">\r\n <!-- HA 19DEC23 For Translation -->\r\n<!-- HA 20FEB24 PTW Details to Details -->\r\n<!-- RS 09DEC24 Changed keys-->\r\n <a data-toggle=\"collapse\" data-parent=\"#details\" href=\"#collapse\" class=\"collapsed\">\r\n {{'details' | i18n:i18nService.currentLanguage}}\r\n </a>\r\n </h4>\r\n </div>\r\n <div [id]=\"'collapse'\" class=\"collapse\">\r\n <div class=\"panel-body\">\r\n <div class=\"row\" *ngFor=\"let item of filteredQuestion;let i = index\">\r\n <div class=\"col-lg-6\" *ngFor=\"let ques of item.questions\" >\r\n <label *ngIf=\"ques.type != 'File'\" >{{ques.question}}</label>\r\n <p *ngIf = \"ques.type != 'Dropdown' && ques.type != 'Table' && ques.type != 'File'\">{{ ques.input }}</p>\r\n <p *ngIf=\"ques.type == 'Dropdown'\">{{ ques.selectedValue }}</p>\r\n <p *ngIf=\"!ques.input\">N/A</p>\r\n <div *ngIf= \"ques.type == 'Table'\">\r\n <div *ngFor=\"let item of ques.input\" class=\"align-center\">\r\n <img *ngIf=\"item.value == 'yes' \" [src]=\"item.imageSrc\" [alt]=\"item.altText\">\r\n <p *ngIf=\"item.value == 'yes' \">{{ item.ppe }}</p>\r\n </div>\r\n </div>\r\n <div *ngIf = \"ques.type == 'File'\">\r\n <app-file-view [api]=\"api\" [documentData]=\"ques.input\"></app-file-view>\r\n </div>\r\n </div>\r\n <div *ngIf=\"i != filteredQuestion.length -1\" class=\"col-lg-12\">\r\n <hr>\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n</div>\r\n\r\n","// HA 19DEC23 File created for translation\r\nimport { NgModule, ModuleWithProviders } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n// import { I18nPipe } from './i18n.pipe';\r\n// import { I18nComponent } from './i18n.component';\r\nimport { I18nService } from './i18n.service';\r\nimport { i18nConfigService } from './i18n-config.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n // I18nPipe,\r\n // I18nComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class I18nModule {\r\n\r\n static forRoot(config): ModuleWithProviders<I18nModule> {\r\n return {\r\n ngModule: I18nModule,\r\n providers: [\r\n I18nService,\r\n {\r\n provide: i18nConfigService,\r\n useValue: config\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","// HA 19DEC23 File created for translation\r\nimport { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { I18nService } from './i18n.service';\r\n@Component({\r\n selector: 'app-i18n',\r\n styles: [\r\n `.selected-language {\r\n color: green !important;\r\n font-weight: bold;\r\n font-size: 24px !important;\r\n}`,\r\n `.not-selected-language {\r\n color: #555555;\r\n font-weight: bold;\r\n}`,\r\n ],\r\n template: `\r\n <a *ngFor=\"let lang of i18nService.langList\" href=\"javascript:void(0);\" class=\"not-selected-language\" [ngClass]=\"{'selected-language': i18nService.currentLanguage === lang.lang}\"\r\n\r\n (click)=\"firstClick(lang.lang)\">\r\n <span class=\"mr-3\">\r\n {{lang.lang}}\r\n </span>\r\n </a>\r\n\r\n `,\r\n})\r\nexport class I18nComponent implements OnInit {\r\n // @Output() handleEve:EventEmitter<any> = new EventEmitter();\r\n constructor(\r\n public i18nService: I18nService\r\n ) {}\r\n ngOnInit() {\r\n console.log('ngOnInit component.ts')\r\n // this.handleEve.emit();\r\n }\r\n\r\n firstClick(event){\r\n console.log('first ', event);\r\n this.i18nService.languageChange(event);\r\n // this.handleEve.emit();\r\n window.location.reload();\r\n }\r\n}\r\n","const enI18n = {\r\n required: \"Required\",\r\n addMore: \"Add More\",\r\n select: \"Select\",\r\n attachment: \"Attachment\",\r\n chooseFiles: \"Choose files\",\r\n uploadFile: \"Upload File\",\r\n thisFieldIsRequired: \"This field is required.\",\r\n pickYourLocation: \"Pick Your Location\",\r\n // firstName: \"First Name\",\r\n // lastName: \"Last Name\",\r\n // division: \"Division\",\r\n // numberPlate: \"Number Plate\",\r\n calibrated: \"Calibrated\",\r\n enterValue: \"Enter Value\",\r\n details: \"Details\", // HA 20FEB24 PTW Details to Details\r\n pleaseMakeChoice: \"Please make a choice\",\r\n attach: \"Attach\",\r\n add: \"Add\",\r\n zeroOfZero: \"0 of 0\",\r\n selectDate: \"Select date\",\r\n toBuyTicket: \"to buy a ticket\",\r\n pickLocation: \"Pick Location\",\r\n enterLocation: \"Enter Location\",\r\n searchNearestLocation: \"Search Nearest Location\",\r\n currentTheme: \"ltr\",\r\n}\r\n\r\nexport default enI18n;","const arI18n = {\r\n required: \"مطلوب\",\r\n addMore: \"أضف المزيد\",\r\n select: \"يختار\",\r\n attachment: \"مرفق\",\r\n chooseFiles: \"اختر الملفات\",\r\n uploadFile: \"رفع ملف\",\r\n thisFieldIsRequired: \"هذه الخانة مطلوبه.\",\r\n pickYourLocation: \"اختر موقعك\",\r\n // firstName: \"الاسم الأول\",\r\n // lastName: \"اسم العائلة\",\r\n // division: \"قسم\",\r\n // numberPlate: \"لوحة الأرقام\",\r\n calibrated: \"معايرة\",\r\n enterValue: \"أدخل القيمة\",\r\n details: \"تفاصيل\", // HA 20FEB24 PTW details to Details\r\n pleaseMakeChoice: \"يرجى الاختيار\",\r\n attach: \"يربط\",\r\n add: \"يضيف\",\r\n zeroOfZero: \"0 من 0\",\r\n selectDate: \"حدد تاريخ\",\r\n toBuyTicket: \"لشراء تذكرة\",\r\n pickLocation: \"اختر الموقع\",\r\n enterLocation: \"إدخال الدولة\",\r\n searchNearestLocation: \"البحث عن أقرب موقع\",\r\n currentTheme: \"rtl\",\r\n}\r\n\r\nexport default arI18n;","const tamI18n = {\r\n required: \"தேவை\",\r\n addMore: \"மேலும் சேர்க்கவும்\",\r\n select: \"தேர்ந்தெடுக்கவும்\",\r\n attachment: \"இணைப்பு\",\r\n chooseFiles: \"கோப்புகளைத் தேர்ந்தெடுக்கவும்\",\r\n uploadFile: \"கோப்பை பதிவேற்றவும்\",\r\n thisFieldIsRequired: \"இந்த புலம் தேவை.\",\r\n pickYourLocation: \"உங்கள் இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்\",\r\n // firstName: \"முதல் பெயர்\",\r\n // lastName: \"கடைசி பெயர்\",\r\n // division: \"பிரிவு\",\r\n // numberPlate: \"இலக்கத்தகடு\",\r\n calibrated: \"அளவீடு செய்யப்பட்டது\",\r\n enterValue: \"மதிப்பை உள்ளிடவும்\",\r\n details: \"விவரங்கள்\", // HA 20FEB24 PTW Details to Details\r\n pleaseMakeChoice: \"தயவுசெய்து தேர்வு செய்யுங்கள்\",\r\n attach: \"இணைக்கவும்\",\r\n add: \"சேர்\",\r\n zeroOfZero: \"0 இல் 0\",\r\n selectDate: \"தேதியைத் தேர்ந்தெடுக்கவும்\",\r\n toBuyTicket: \"டிக்கெட் வாங்க\",\r\n pickLocation: \"இருப்பிடத்தைத் தேர்ந்தெடுக்கவும்\",\r\n enterLocation: \"இருப்பிடத்தை உள்ளிடவும்\",\r\n searchNearestLocation: \"அருகிலுள்ள இடத்தைத் தேடுங்கள்\",\r\n currentTheme: \"ltr\",\r\n}\r\n\r\nexport default tamI18n;","import { Component, OnInit } from '@angular/core';\r\nimport { SharedService } from '../../services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.css']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n isLoading: boolean = false;\r\n\r\n constructor(private loaderService: SharedService) {}\r\n\r\n ngOnInit(): void {\r\n this.loaderService.isLoading$.subscribe((loading) => {\r\n this.isLoading = loading;\r\n });\r\n }\r\n\r\n}\r\n","<div class=\"loader\" *ngIf=\"isLoading\">\r\n <div class=\"spinner\"></div>\r\n </div>\r\n ","// VD 06-09-24 directive file to call component dynamically \r\nimport { Directive, ViewContainerRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[dynamicComponentHost]',\r\n standalone: true\r\n})\r\nexport class ComponenthostDirective {\r\n constructor(public viewContainerRef: ViewContainerRef) {}\r\n}\r\n","// AP 22JAN25\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ElementComponent } from '../pages/builder/element/element.component';\r\n\r\ninterface FormElement {\r\n id: any;\r\n name: any;\r\n value?: any;\r\n required?: boolean;\r\n type: string;\r\n questionText?: string;\r\n question?: string;\r\n helpText?: string;\r\n errorMessage?: string;\r\n isReadOnly?: boolean;\r\n isHidden?: boolean;\r\n isDateBackward?: boolean;\r\n isDateForward?: boolean;\r\n isOptional?: boolean;\r\n isTitle?: boolean;\r\n nextQuestion?: string;\r\n allowedFileExtensions?: string;\r\n questionNumber?: number;\r\n questionBookId?: string;\r\n size?: number;\r\n parentQuestion?: string;\r\n subText?: string;\r\n fieldsMeta?: string;\r\n recordTypeName?: string;\r\n recordTypeId?: string;\r\n trackingId?: string;\r\n dateText?: string;\r\n timeText?: string;\r\n recordId?: string;\r\n qbReference?: string;\r\n qbReferenceQuestions?: string;\r\n questionBookSubTitle?: string;\r\n style?: string;\r\n title?: string;\r\n subTitle?: string;\r\n referenceField?: string;\r\n additionalRichContent?: string;\r\n groupName?: string;\r\n x24Hours?: boolean;\r\n\r\n // Options for elements like Dropdown, Radio, Checkbox\r\n options?: Array<{\r\n label: string;\r\n value: any;\r\n type: string;\r\n key: string;\r\n }>;\r\n}\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FormBuilderService {\r\n private formElements: FormElement[] = [];\r\n private formElementsSubject = new BehaviorSubject<FormElement[]>([]);\r\n private selectedElementSubject = new BehaviorSubject<number>(-1);\r\n private elementComponent: ElementComponent | null = null;\r\n book:any;\r\n\r\n formElements$ = this.formElementsSubject.asObservable();\r\n selectedElement$ = this.selectedElementSubject.asObservable();\r\n unique_id: any;\r\n tempElem: any[];\r\n // book: { bookQuestionsMap: { unique_id: { subQuestions: any[]; }; }; };\r\n\r\n constructor() {\r\n // Load saved elements from localStorage\r\n this.formElements = [];\r\n const savedFormElements = localStorage.getItem('formElements');\r\n if (savedFormElements ) {\r\n this.formElements = JSON.parse(savedFormElements);\r\n this.formElementsSubject.next([...this.formElements]);\r\n this.book = JSON.parse(localStorage.getItem('book') || '{}');\r\n this.unique_id = localStorage.getItem('unique_id');\r\n }\r\n }\r\n\r\n // Get the element component reference\r\n getElementComponent(): ElementComponent | null {\r\n return this.elementComponent;\r\n }\r\n\r\n setElementComponent(component: ElementComponent) {\r\n this.elementComponent = component;\r\n }\r\n\r\n // Add a new element to the form\r\n addElement(element: FormElement): void {\r\n debugger\r\n\r\n // const savedFormElements = localStorage.getItem('formElements');\r\n console.log(\"length\",this.formElements.length);\r\n if (this.formElements.length == 0) {\r\n console.log(\"savedFormElements\",this.formElements);\r\n // this.formElements = JSON.parse(savedFormElements);\r\n // this.formElementsSubject.next([...this.formElements]);\r\n // this.book = JSON.parse(localStorage.getItem('book') || '{}');\r\n this.book = {};\r\n if(localStorage.getItem('status') == \"edit\"){\r\n this.unique_id = localStorage.getItem('unique_id');\r\n this.book = {\r\n 'bookQuestionsMap': {\r\n [this.unique_id]: {\r\n 'subQuestions': []\r\n }\r\n }\r\n };\r\n\r\n }else{\r\n this.unique_id = uuidv4();\r\n this.book = {\r\n 'bookQuestionsMap': {\r\n [this.unique_id]: {\r\n 'subQuestions': []\r\n }\r\n }\r\n };\r\n\r\n }\r\n // this.unique_id = uuidv4();\r\n\r\n localStorage.setItem('book', JSON.stringify(this.book));\r\n localStorage.setItem('unique_id', this.unique_id);\r\n }\r\n this.formElements.push(element);\r\n localStorage.setItem('formElements', JSON.stringify(this.formElements));\r\n // this.formElementsSubject.next([...this.formElements]);\r\n }\r\n\r\n updateElement(index: number, updates: Partial<FormElement>) {\r\n const elements = [...this.getElements()];\r\n if (elements[index]) {\r\n elements[index] = {\r\n ...elements[index],\r\n ...updates\r\n };\r\n this.formElementsSubject.next(elements);\r\n }\r\n\r\n if (index >= 0 && index < this.formElements.length) {\r\n const updatedElement = {\r\n ...this.formElements[index],\r\n ...updates\r\n };\r\n if (updates.required !== undefined) {\r\n if (updatedElement.questionText) {\r\n const questionText = updatedElement.questionText.replace(/\\s*\\*+$/, '');\r\n updatedElement.questionText = updates.required ? `${questionText} *` : questionText;\r\n }\r\n }\r\n\r\n // Handle special cases\r\n if (updates.required === true && updatedElement.questionText && !updatedElement.questionText.endsWith('*')) {\r\n updatedElement.questionText = `${updatedElement.questionText} *`;\r\n } else if (updates.required === false && updatedElement.questionText && updatedElement.questionText.endsWith('*')) {\r\n updatedElement.questionText = updatedElement.questionText.slice(0, -2);\r\n }\r\n\r\n this.formElements[index] = updatedElement;\r\n this.formElementsSubject.next([...this.formElements]);\r\n localStorage.setItem('formElements', JSON.stringify(this.formElements));\r\n }\r\n }\r\n\r\n setSelectedElement(index: number) {\r\n this.selectedElementSubject.next(index);\r\n }\r\n\r\n getElements(): FormElement[] {\r\n return this.formElements;\r\n }\r\n downloadElement(){\r\n console.log(\"book\",this.book);\r\n this.book.bookQuestionsMap[this.unique_id].subQuestions = this.formElements;\r\n let tempElement = {};\r\n this.formElements.forEach((element) => {\r\n if (element.type === 'Dropdown' || element.type === 'Radio' || element.type === 'CheckBox') {\r\n // Initialize the array if it doesn't exist\r\n if (!tempElement[element.id]) {\r\n tempElement[element.id] = [];\r\n }\r\n // Push the current element into the array\r\n tempElement[element.id].push(element);\r\n }\r\n});\r\n\r\n this.book.bookQuestionsMap[this.unique_id]['sqOptions'] = tempElement;\r\n return this.book;\r\n }\r\n\r\n // Remove an element by ID\r\n // Save elements to localStorage and update the subject\r\n removeElementComponent(id: any) {\r\n this.tempElem = [];\r\n this.formElements.forEach((element: any) => {\r\n if (element.id !== id) {\r\n this.tempElem.push(element);\r\n }\r\n });\r\n this.formElements = this.tempElem;\r\n localStorage.setItem('formElements', JSON.stringify(this.formElements));\r\n this.formElementsSubject.next([...this.formElements]);\r\n }\r\n}\r\n","// AP 22JAN25 - form preview and All form elements\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { FormBuilderService } from '../../../services/form-builder.service';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\n@Component({\r\n selector: 'app-element',\r\n templateUrl: './element.component.html',\r\n styleUrls: ['./element.component.css'],\r\n})\r\n\r\nexport class ElementComponent {\r\n\r\n @Output() elementButtonClicked = new EventEmitter<string>();\r\n @ViewChild('formContainer') formContainer: ElementRef;\r\n @Input() bookletJSON: any;\r\n @Input() bookletId: any;\r\n dropdownOpen: boolean = false; // Tracks whether the dropdown is open or closed\r\n field: any;\r\n\r\n // Toggle dropdown visibilitys\r\n toggleDropdown() {\r\n this.dropdownOpen = !this.dropdownOpen;\r\n }\r\n\r\n // Select an option from the dropdown\r\n selectOption(option: string) {\r\n this.field.selectedOption = option;\r\n this.dropdownOpen = false; // Close the dropdown after selecting an option\r\n }\r\n formElements: any[] = [];\r\n constructor(private formBuilderService: FormBuilderService) {\r\n }\r\n ngOnInit() {\r\n // Subscribe to the formElements$ observable\r\n this.formBuilderService.formElements$.subscribe((elements) => {\r\n this.formElements = elements; // Update the local array with the latest data\r\n console.log('Form Elements:', this.formElements);\r\n });\r\n console.log(\"bookletJSON==\"+this.bookletJSON);\r\n if (this.bookletJSON) {\r\n // AP-23JAN25 - empty string to clear the local storage\r\n localStorage.setItem('status', (\"edit\"));\r\n localStorage.setItem('unique_id', (this.bookletId));\r\n this.formElements = [];\r\n this.bookletJSON.bookQuestionsMap[this.bookletId].subQuestions.forEach(newElement => {\r\n this.formBuilderService.addElement(newElement);\r\n this.formElements = this.formBuilderService.getElements();\r\n });\r\n }\r\n else{\r\n localStorage.setItem('status', (\"new\"));\r\n }\r\n }\r\n\r\n drop(event: CdkDragDrop<string[]>) {\r\n moveItemInArray(this.formElements, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n\r\n // Add this method to handle element selection\r\n selectElement(index: number) {\r\n this.formBuilderService.setSelectedElement(index);\r\n const element = this.formElements[index];\r\n this.elementButtonClicked.emit(element.type); // Emit the type when selecting\r\n }\r\n\r\n addElement(type: string): void {\r\n const unique_id = uuidv4();\r\n const newElement = {\r\n id: unique_id,\r\n uid: unique_id,\r\n name: '',\r\n type,\r\n questionText: '',\r\n question: '',\r\n helpText: '',\r\n errorMessage: '',\r\n isReadOnly: false,\r\n isHidden: false,\r\n required: false,\r\n subText: '',\r\n referenceField: '',\r\n additionalRichContent: '',\r\n groupName: '',\r\n isDateBackward: false,\r\n title: '',\r\n subTitle: '',\r\n isDateForward: false,\r\n isOptional: false,\r\n isTitle: false,\r\n nextQuestion: '',\r\n allowedFileExtensions: '',\r\n questionNumber: this.formBuilderService.getElements().length + 1,\r\n questionBookId: '',\r\n parentQuestion: '',\r\n fieldsMeta: '',\r\n recordTypeName: '',\r\n recordTypeId: '',\r\n trackingId: '',\r\n dateText: '',\r\n timeText: '',\r\n recordId: '',\r\n qbReference: '',\r\n qbReferenceQuestions: '',\r\n questionBookSubTitle: '',\r\n style: '',\r\n options: type === 'CheckBox' || type === 'Radio' || type === 'Dropdown' ? [\r\n { label: 'Option 1', value: '', type: 'text', key: 'option1' }\r\n ] : null,\r\n\r\n };\r\n this.formBuilderService.addElement(newElement);\r\n this.formElements = this.formBuilderService.getElements();\r\n }\r\n\r\n addOption(options: Array<{ label: string; value: string }>) {\r\n options.push({ label: `Option ${options.length + 1}`, value: '' });\r\n }\r\n\r\n removeOption(options: Array<{ label: string; value: string }>, index: number) {\r\n options.splice(index,1);\r\n }\r\n\r\n // Remove an element by index\r\n removeElement(field: any,index: number): void {\r\n console.log('remove', index);\r\n this.formBuilderService.removeElementComponent(field.id);\r\n this.formElements=this.formBuilderService.getElements();\r\n }\r\n\r\n\r\n getFontStyles(field: any): any {\r\n const styles = {\r\n 'font-family': field.font || 'Helvetica Neue',\r\n 'font-weight': field.fontWeight || '400',\r\n 'width': `${(field.width || 12) / 12 * 100}%`,\r\n 'height': `${field.height || 91}px`,\r\n 'text-align': field.textAlign || 'left',\r\n 'border-radius': '5px' \r\n };\r\n \r\n\r\n // Handle array of style classes\r\n if (field.styles && Array.isArray(field.styles)) {\r\n if (field.styles.includes('bold')) {\r\n styles['font-weight'] = '700';\r\n }\r\n if (field.styles.includes('italic')) {\r\n styles['font-style'] = 'italic';\r\n }\r\n if (field.styles.includes('underline')) {\r\n styles['text-decoration'] = 'underline';\r\n }\r\n if (field.styles.includes('capitalize')) {\r\n styles['text-transform'] = 'capitalize';\r\n }\r\n if (field.styles.includes('lowercase')) {\r\n styles['text-transform'] = 'lowercase';\r\n }\r\n }\r\n\r\n return styles;\r\n }\r\n\r\n }\r\n\r\n\r\n","<!-- AP 22JAN25 - form preview and All form elements -->\r\n<div class=\"center-frame\">\r\n <link href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap\" rel=\"stylesheet\">\r\n <div class=\"form-preview\" cdkDropList [cdkDropListData]=\"formElements\" (cdkDropListDropped)=\"drop($event)\">\r\n <ng-container *ngFor=\"let field of formElements; let i = index\" getProperties().elementProps>\r\n <!-- AP-29JAN25 remove empty classes -->\r\n <!-- TextBox -->\r\n <div *ngIf=\"field.type === 'Text'\" style=\"padding: 10px;\r\n background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'lable' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"text\" [placeholder]=\"field.question || 'Enter text'\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\" [(ngModel)]=\"field.text\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- CheckBox -->\r\n<div *ngIf=\"field.type === 'CheckBox'\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\">\r\n <div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div>\r\n </div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'Label' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <div class=\"checkbox-container\" style=\"width:100%; background-color:#ffff\">\r\n <div>\r\n <input type=\"checkbox\" name=\"option1\" value=\"1\"> Option 1 \r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n <!-- AP-29JAN25 drop-down design check -->\r\n <!-- Dropdown Field -->\r\n <div *ngIf=\"field.type === 'Dropdown'\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'lable' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <select id=\"options\" class=\"dropdown\">\r\n <option value=\"option1\">Option 1</option>\r\n <option value=\"option2\">Option 2</option>\r\n <option value=\"option3\">Option 3</option>\r\n </select>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Calendar -->\r\n<div *ngIf=\"['Calendar'].includes(field.type)\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'Select Date' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"date\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\" [(ngModel)]=\"field.date\" />\r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Email -->\r\n<div *ngIf=\"field.type === 'Email'\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'label' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"email\" [placeholder]=\"field.question || 'Enter email'\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\" [(ngModel)]=\"field.email\" />\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n <!-- Numbers -->\r\n<div *ngIf=\"field.type === 'Numbers'\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'label' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"number\" [placeholder]=\"field.question || 'Enter number'\" [readonly]=\"field.isReadOnly\" [class.hidden]=\"field.isHidden\" [(ngModel)]=\"field.value\" />\r\n </div>\r\n </div>\r\n</div>\r\n <!-- List -->\r\n <div *ngIf=\"field.type === 'List'\" class=\"list-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <label>{{ field.questionText }}</label>\r\n <ul><li *ngFor=\"let item of field.items\">{{ item }}</li></ul>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n\r\n <!-- TextArea -->\r\n<div *ngIf=\"field.type === 'TextArea'\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">\r\n {{ field.questionText ? field.questionText : 'Enter your text' }}\r\n <span *ngIf=\"field.required\" class=\"text-red-500\">*</span>\r\n </label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <textarea\r\n [placeholder]=\"field.question || 'Enter detailed text here...'\"\r\n [style.height.px]=\"field.size || 100\"\r\n [style.width.%]=\"100\"\r\n [readonly]=\"field.readOnly\"\r\n [class.hidden]=\"field.isHide\"\r\n [(ngModel)]=\"field.text\">\r\n </textarea>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- AP-29JAN25 radio-button design check -->\r\n<!-- Radio -->\r\n <div *ngIf=\"field.type === 'Radio'\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\">\r\n <div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div>\r\n </div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'label' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <div class=\"radio-options\" style=\"display: flex;\">\r\n <div *ngFor=\"let option of field.options\" class=\"radio-item\" style=\"margin-right: 15px;\">\r\n <label>\r\n <input type=\"radio\" name=\"{{ field.questionText }}\" [(ngModel)]=\"field.value\" [value]=\"option\" />\r\n <span>{{ option }}</span>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n \r\n\r\n <!-- AP-29JAN25 Image design change -->\r\n <!-- Image -->\r\n<div *ngIf=\"field.type === 'Image'\" style=\"padding: 10px; background-color: whitesmoke;\" \r\n (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div>\r\n </div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-container\">\r\n <label [class.required]=\"field.required\">\r\n {{ field.questionText ? field.questionText : 'Upload Image' }}\r\n </label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"file\" accept=\"image/*\" style=\"background-color: #ffff;\"/>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Button -->\r\n <div *ngIf=\"field.type === 'Button'\" class=\"button-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <button>{{ field.questionText }}</button>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n\r\n <!-- File -->\r\n <!-- AP-29JAN25 file design change -->\r\n<div *ngIf=\"field.type === 'File'\" style=\"padding: 10px; background-color: whitesmoke;\" \r\n(click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n<div class=\"flex\" style=\"display: flex;\">\r\n<div class=\"all-dots\">\r\n <div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div>\r\n</div>\r\n<div style=\"width: 97%;\">\r\n <div class=\"flex lab-container\">\r\n <label [class.required]=\"field.required\">\r\n {{ field.questionText ? field.questionText : 'Upload File' }}\r\n </label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <input type=\"file\" style=\"background-color: #ffff;\"/>\r\n</div>\r\n</div>\r\n</div>\r\n\r\n<!-- Tables -->\r\n<div *ngIf=\"field.type === 'Tables'\" class=\"table-container\" cdkDrag (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\">\r\n <label>{{ field.questionText }}</label>\r\n <table [style.width.px]=\"field.colWidth\" [style.height.%]=\"field.rowHeight\">\r\n <thead><tr><th *ngFor=\"let header of field.headers\" [style.width.px]=\"field.colWidth / field.colNos\">{{ header }}</th></tr></thead>\r\n <tbody><tr *ngFor=\"let row of field.rows\"><td *ngFor=\"let cell of row\">{{ cell }}</td></tr></tbody>\r\n </table>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n</div>\r\n\r\n\r\n <!-- Book -->\r\n<div *ngIf=\"field.type === 'Book'\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'Book Title' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <!-- No input box here -->\r\n </div>\r\n </div>\r\n</div>\r\n\r\n <!-- Label -->\r\n<div *ngIf=\"field.type === 'Label'\" style=\"padding: 10px; background-color: whitesmoke;\" (click)=\"selectElement(i)\" [ngStyle]=\"getFontStyles(field)\" cdkDrag>\r\n <div class=\"flex\" style=\"display: flex;\">\r\n <div class=\"all-dots\"><div *ngFor=\"let _ of [1,2,3,4,5,6,7,8]\"></div></div>\r\n <div style=\"width: 97%;\">\r\n <div class=\"flex lab-conatiner\">\r\n <label [class.required]=\"field.required\">{{ field.questionText ? field.questionText : 'Label' }}</label>\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeElement(field, i)\" />\r\n </div>\r\n <!-- No input box here -->\r\n </div>\r\n </div>\r\n</div>\r\n</ng-container>\r\n </div>\r\n <!-- Form Builder Section All Elements -->\r\n <div class=\"form-builder\">\r\n <div class=\"element\" (click)=\"addElement('Calendar')\">\r\n <img class=\"calendar-img\" src=\"../assets/icons/Calendar.svg\">\r\n <div class=\"hover-label\">Calendar</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('CheckBox')\">\r\n <img src=\"../assets/icons/CheckBox.svg\">\r\n <div class=\"hover-label\">Check Box</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Email')\">\r\n <img src=\"../assets/icons/Email.svg\">\r\n <div class=\"hover-label\">Email</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('File')\">\r\n <img src=\"../assets/icons/File.svg\">\r\n <div class=\"hover-label\">File</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('List')\">\r\n <img src=\"../assets/icons/List.svg\">\r\n <div class=\"hover-label\">List</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Tables')\">\r\n <img src=\"../assets/icons/Table.svg\">\r\n <div class=\"hover-label\">Tables</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Text')\">\r\n <img src=\"../assets/icons/Text.svg\">\r\n <div class=\"hover-label\">Text Box</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('TextArea')\">\r\n <img src=\"../assets/icons/TextArea.svg\">\r\n <div class=\"hover-label\">Text Area</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Numbers')\">\r\n <img src=\"../assets/icons/Number.svg\">\r\n <div class=\"hover-label\">Numbers</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Dropdown')\">\r\n <img src=\"../assets/icons/Drop.svg\">\r\n <div class=\"hover-label\">Dropdown</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Image')\">\r\n <img src=\"../assets/Image.svg\">\r\n <div class=\"hover-label\">Image</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Radio')\">\r\n <img src=\"../assets/icons/Radio.svg\">\r\n <div class=\"hover-label\">Radio</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Label')\">\r\n <img src=\"../assets/icons/Label.svg\">\r\n <div class=\"hover-label\">Label</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Book')\">\r\n <img src=\"../assets/icons/Book.svg\">\r\n <div class=\"hover-label\">Book</div>\r\n </div>\r\n\r\n <div class=\"element\" (click)=\"addElement('Button')\">\r\n <img src=\"../assets/icons/Button.svg\">\r\n <div class=\"hover-label\">Button</div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n\r\n\r\n\r\n\r\n","// AP 22JAN25\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { FormBuilderService } from '../../../services/form-builder.service';\r\n\r\n@Component({\r\n selector: 'app-properties',\r\n templateUrl: './properties.component.html',\r\n styleUrls: ['./properties.component.css']\r\n})\r\nexport class PropertiesComponent implements OnInit {\r\n // selectedElement: any;\r\n @ViewChild('colorWheel') colorWheel: ElementRef<HTMLCanvasElement>;\r\n private ctx: CanvasRenderingContext2D;\r\n @Output() formButtonHandler = new EventEmitter<any>(); \r\n\r\n selectedOption: string = '';\r\n\r\n selectedElementIndex: number = -1;\r\n // @Input() selectedElement: any;\r\n @Input() selectedElementType: string = '';\r\n selectedAlign: string = 'align-left'; // Add this property\r\n selectedStyles: string[] = []; // Using array since multiple styles can be selected\r\n errorMessage: string = '';\r\n\r\n selectedElement: any = null; // Receive the selected element\r\n\r\n\r\n\r\n onToggleChange(property: string, event: any) {\r\n const value = event.target.checked;\r\n if (this.selectedElement) {\r\n const update = { [property]: value };\r\n this.formBuilderService.updateElement(this.selectedElementIndex, update);\r\n\r\n // Update the selected element directly for immediate UI feedback\r\n this.selectedElement[property] = value;\r\n }\r\n }\r\n\r\n\r\n updateProperties(elementType: string): void {\r\n // Reset alignment and styles if switching elements\r\n this.selectedAlign = 'align-left';\r\n this.selectedStyles = [];\r\n\r\n // Fetch the properties of the selected element type\r\n const properties = this.getProperties();\r\n if (properties) {\r\n // Make sure the properties are dynamically updated\r\n }\r\n }\r\n\r\n onAlignSelect(value: string): void {\r\n if (this.selectedElement) {\r\n this.selectedElement.textAlign = value;\r\n console.log(`Selected alignment: ${value}`);\r\n }\r\n }\r\n\r\n\r\n onStyleSelect(value: string): void {\r\n if (!this.selectedElement) return;\r\n\r\n // Initialize styles array if it doesn't exist\r\n this.selectedElement.styles = this.selectedElement.styles || [];\r\n\r\n // Ensure only one style is selected at a time\r\n this.selectedElement.styles = [value];\r\n\r\n console.log('Updated styles:', this.selectedElement.styles);\r\n}\r\n\r\n\r\n isStyleActive(value: string): boolean {\r\n return this.selectedElement?.styles?.includes(value) || false;\r\n }\r\n\r\n\r\n elementProperties = {\r\n\r\n // Add other element types here similarly\r\n 'Text': {\r\n elementProps: [\r\n\r\n // questionText - Label-follow all element properties\r\n { label: 'Label', placeholder: 'Enter Text ', type: 'text',key: 'questionText' },\r\n\r\n // question - Placeholder-follow all element properties\r\n { label: 'placeholder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text ', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n\r\n // errorMessage - Error Msg-follow all element properties\r\n { label: 'Error Msg', placeholder: 'Enter Text ', type: 'text',key: 'errorMsg' },\r\n { label: 'Font', type: 'select', key: 'font' ,\r\n options: ['Helvetica Neue', 'Arial', 'Times New Roman', 'Roboto'] },\r\n { label: 'Weight', type: 'select',key: 'fontWeight',\r\n options: [\r\n { value: '400', label: '400-Normal' },\r\n { value: '500', label: '500-Medium' },\r\n { value: '600', label: '600-Semi Bold' },\r\n { value: '700', label: '700-Bold' }\r\n ] },\r\n // { label: 'Size', unit: 'PX', type: 'number', key: 'size' },\r\n { label: 'Align', type: 'align', key: 'textAlign',\r\n options: [\r\n { value: 'left', icon: 'textalign-left' },\r\n { value: 'center', icon: 'align-center' },\r\n { value: 'right', icon: 'align-right' },\r\n { value: 'justifyleft', icon: 'align-justifyleft' },\r\n { value: 'justifyright', icon: 'align-justifyright' }\r\n\r\n ] },\r\n { label: 'Style', type: 'style',key: 'styles',\r\n\r\n options: [\r\n { value: 'italic', icon: 'italic' },\r\n { value: 'bold', icon: 'bold' },\r\n { value: 'underline', icon: 'underline' },\r\n { value: 'texticon', icon: 'texticon' },\r\n { value: 'capitalize', icon: 'capitalize' },\r\n { value: 'resize', icon: 'resize' }\r\n\r\n\r\n ] },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' }\r\n\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text ', type: 'text',key: 'defaultValue' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text ', type: 'text' }\r\n ]\r\n },\r\n 'CheckBox': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text ', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text ', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text ', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n {\r\n label: 'Chk Options',\r\n type: 'optionsGroup',\r\n key: 'chkOptions',\r\n options: [\r\n { label: 'Option 1', value: '', type: 'text', key: 'option1' },\r\n ],\r\n addOptionLabel: 'Add Variant', // Text for the plus icon\r\n icon: 'plus' // Icon for adding options\r\n },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n\r\n 'Calendar': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n 'Time': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'label' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'placeholder'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n 'Email': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n 'File': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text', key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text', key: 'question' },\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text', key: 'helpText' },\r\n\r\n { label: 'Support Type', type: 'select', key: 'supportType', options: [\r\n { label: 'Images (JPEG, PNG, GIF)', value: 'image/*', extensions: ['.jpg','.jpeg','.png','.gif'] },\r\n { label: 'Audio (MP3, WAV, AIFF)', value: 'audio/*', extensions: ['.mp3','.wav','.aiff'] },\r\n { label: 'Video (MP4, AVI, HEVC)', value: 'video/*', extensions: ['.mp4','.avi','.hevc'] },\r\n { label: 'Documents (DOC, DOCX, PPT, PDF)', value: 'application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-powerpoint', extensions: ['.doc','.docx','.ppt','.pdf'] },\r\n { label: 'Executables (EXE, BAD, SH)', value: 'application/x-msdownload,application/x-sh', extensions: ['.exe','.bad','.sh'] },\r\n { label: 'Archives (ZIP, RAR, Git-hub)', value: 'application/zip,application/x-rar-compressed,application/x-git', extensions: ['.zip','.rar','.git'] }\r\n ]},\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text', key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n 'List': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n }, 'TextArea': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio', key: 'required' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text', key: 'defaultValue' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },'Numbers': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },'Dropdown': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n {\r\n label: 'Chk Options',\r\n type: 'optionsGroup',\r\n key: 'chkOptions',\r\n options: [\r\n { label: 'Option 1', value: '', type: 'text', key: 'option1' },\r\n ],\r\n addOptionLabel: 'Add Variant', // Text for the plus icon\r\n icon: 'plus' // Icon for adding options\r\n },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' },\r\n\r\n ]\r\n },'Image': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },'Radio': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text', key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text', key: 'question' },\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text', key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text', key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n {\r\n label: 'Radio Options', // Updated label to reflect radio context\r\n type: 'optionsGroup',\r\n key: 'radioOptions', // Updated key for radio context\r\n options: [\r\n { label: 'Option 1', value: '', type: 'text', key: 'option1' },\r\n { label: 'Option 2', value: '', type: 'text', key: 'option2' },\r\n ],\r\n addOptionLabel: 'Add Option', // Updated label for add button\r\n icon: 'plus', // Icon for adding options\r\n },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' },\r\n ]\r\n}\r\n,'Book': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },'Button': {\r\n elementProps: [\r\n { label: 'Label', placeholder: 'Enter Text', type: 'text',key: 'questionText' },\r\n { label: 'Place Holder', placeholder: 'Enter Text', type: 'text' , key: 'question'},\r\n { label: 'Help Text', placeholder: 'Enter Text', type: 'text',key: 'helpText' },\r\n { label: '', type: 'toggleGroup' },\r\n { label: 'Field Size', type: 'fieldSize', key: 'fieldSize' },\r\n { label: 'Error Msg', placeholder: 'Enter Text', type: 'text',key: 'errorMsg' },\r\n ],\r\n fieldProps: [\r\n { label: 'Field Required', type: 'radio' },\r\n { label: 'Default Value', placeholder: 'Enter Text', type: 'text' },\r\n { label: 'Reference', placeholder: 'Reference Field', type: 'text' },\r\n { label: 'Style', placeholder: 'Style JSON', type: 'text' },\r\n { label: 'Sub Text', placeholder: 'Enter Text', type: 'text' }\r\n ]\r\n },\r\n };\r\n\r\n constructor(private http: HttpClient,private formBuilderService: FormBuilderService) {}\r\n\r\n\r\n ngOnInit() {\r\n this.formBuilderService.selectedElement$.subscribe(index => {\r\n this.selectedElementIndex = index;\r\n if (index >= 0) {\r\n const elements = this.formBuilderService.getElements();\r\n console.log('Selected element:', elements);\r\n this.selectedElement = elements[index];\r\n }\r\n });\r\n }\r\n\r\n\r\n validateInput(value: string, type: string): boolean {\r\n if (type === 'label' || type === 'placeholder') {\r\n const regex = /^[a-zA-Z0-9\\s]*$/;\r\n if (!regex.test(value)) {\r\n this.errorMessage = 'Only letters and numbers are allowed';\r\n return false;\r\n }\r\n }\r\n this.errorMessage = '';\r\n return true;\r\n }\r\n\r\n updateProperty(key: string, value: any) {\r\n if (this.selectedElementIndex >= 0) {\r\n if (key === 'questionText' || key === 'question') {\r\n if (!this.validateInput(value, key)) {\r\n return;\r\n }\r\n }\r\n\r\n if (key === 'fontWeight') {\r\n // Extract just the number value from the option\r\n value = value.split('-')[0];\r\n }\r\n if (key === 'styles') {\r\n const currentStyles = this.selectedElement.styles || [];\r\n if (value === 'capitalize' || value === 'lowercase') {\r\n // Remove the opposite case if it exists\r\n const oppositeStyle = value === 'capitalize' ? 'lowercase' : 'capitalize';\r\n const filteredStyles = currentStyles.filter(s => s !== oppositeStyle);\r\n value = currentStyles.includes(value)\r\n ? filteredStyles.filter(s => s !== value)\r\n : [...filteredStyles, value];\r\n } else {\r\n // Toggle other styles\r\n value = currentStyles.includes(value)\r\n ? currentStyles.filter(s => s !== value)\r\n : [...currentStyles, value];\r\n }\r\n }\r\n\r\n const update = { [key]: value };\r\n this.formBuilderService.updateElement(this.selectedElementIndex, update);\r\n\r\n // Special handling for font and font weight\r\n if (key === 'font') {\r\n this.selectedElement.font = value; // Directly update the selected element's font property\r\n }\r\n }\r\n }\r\n\r\n\r\n onRequiredChange(value: boolean) {\r\n if (this.selectedElement) {\r\n // Remove any existing asterisks first\r\n let label = this.selectedElement.label.replace(/\\s*\\*+$/, '');\r\n if (value) {\r\n label = `${label} *`; // Add single asterisk\r\n }\r\n this.updateProperty('label', label);\r\n this.updateProperty('required', value);\r\n }\r\n }\r\n getProperties() {\r\n if (!this.selectedElement) return null;\r\n return this.elementProperties[this.selectedElement.type];\r\n }\r\n \r\n addOption(options: any[]) {\r\n options.push({ label: '', value: '' });\r\n }\r\n // Function to remove an option from prop options\r\n removeOption(options: any[], index: number) {\r\n options.splice(index, 1);\r\n }\r\n download() {\r\n console.log('Question Book:', this.formBuilderService.downloadElement());\r\n\r\n }\r\n handleButtonClick(){\r\n this.formButtonHandler.emit(this.formBuilderService.downloadElement());\r\n }\r\n\r\n}\r\n","<!-- AP 22JAN25 - Field and Element Properties -->\r\n<!-- properties.component.html -->\r\n <link href=\"https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap\" rel=\"stylesheet\">\r\n <div class=\"properties\">\r\n<!-- Design Header Section -->\r\n<div class=\"design-header\">\r\n <h1 class=\"header-title\">Element Properties</h1>\r\n <div class=\"menu-container\">\r\n <div class=\"menu-item\" (click)=\"download()\">\r\n <span >Download</span>\r\n </div>\r\n <div class=\"menu-item\">\r\n <span>Start</span>\r\n </div>\r\n <div class=\"menu-item\">\r\n <span>Path</span>\r\n </div>\r\n <div class=\"menu-item\">\r\n <span>Clone</span>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- properties.component.html -->\r\n<div class=\"all-properties\">\r\n <div *ngIf=\"errorMessage\" class=\"error-message\">\r\n {{ errorMessage }}\r\n </div>\r\n <!-- Element Properties -->\r\n <details class=\"first-properties\" open>\r\n <summary class=\"text-sm \">Elements Properties</summary>\r\n <div class=\"inner-content\" *ngIf=\"getProperties()\">\r\n <ng-container *ngFor=\"let prop of getProperties().elementProps\">\r\n <div class=\"flex-items-center\">\r\n <label class=\"text-sm\">{{ prop.label }}</label>\r\n <div class=\"label-properties\">\r\n <!-- Text Input -->\r\n <input *ngIf=\"prop.type === 'text'\"\r\n type=\"text\"\r\n [placeholder]=\"prop.placeholder\"\r\n [value]=\"selectedElement[prop.key]\"\r\n (input)=\"updateProperty(prop.key, $event.target.value)\"\r\n [class.read-only]=\"selectedElement.readOnly\"\r\n [readonly]=\"selectedElement.readOnly\"\r\n class=\"text-sm1 \"\r\n />\r\n <div *ngIf=\"prop.key === 'helpText' && selectedElement.helpText\" class=\"help-text\">\r\n {{ selectedElement.helpText }}\r\n </div>\r\n\r\n\r\n <!-- Font Selection -->\r\n<div *ngIf=\"prop.key === 'font'\" class=\"font-selection\">\r\n <!-- <label>{{ prop.label }}</label> -->\r\n <select\r\n *ngIf=\"prop.type === 'select' && prop.key === 'font'\"\r\n class=\"font-selection1\"\r\n [value]=\"selectedElement?.font\"\r\n (change)=\"updateProperty('font', $event.target.value)\">\r\n <option *ngFor=\"let option of prop.options\" [value]=\"option\">\r\n {{ option }}\r\n </option>\r\n </select>\r\n</div>\r\n\r\n<!-- file -->\r\n<!-- Add this inside the elementProps loop where other inputs are rendered -->\r\n<select *ngIf=\"prop.type === 'select' && prop.key === 'supportType'\"\r\n class=\"file \"\r\n[value]=\"selectedElement[prop.key]\"\r\n(change)=\"updateProperty(prop.key, $event.target.value)\">\r\n<option value=\"\">Select file category</option>\r\n<option *ngFor=\"let option of prop.options\" [value]=\"option.value\">\r\n{{ option.label }}\r\n</option>\r\n</select>\r\n\r\n<!-- Font Weight Selection -->\r\n<div *ngIf=\"prop.key === 'fontWeight'\" class=\"font-weight\">\r\n <!-- <label>{{ prop.label }}</label> -->\r\n <select\r\n *ngIf=\"prop.type === 'select' && prop.key === 'fontWeight'\"\r\n class=\"font-weight\"\r\n [value]=\"selectedElement?.fontWeight\"\r\n (change)=\"updateProperty('fontWeight', $event.target.value)\">\r\n <option *ngFor=\"let option of prop.options\" [value]=\"option.value\">\r\n {{ option.label }}\r\n </option>\r\n </select>\r\n</div>\r\n\r\n \r\n<!-- Toggle Group -->\r\n<div *ngIf=\"prop.type === 'toggleGroup'\" class=\"toggle-group\">\r\n<div class=\"toggle-item1\">\r\n <span class=\"toggle-label\">Read Only</span>\r\n <label class=\"switch\">\r\n <input type=\"checkbox\"/>\r\n <span class=\"slider\"></span>\r\n </label>\r\n</div>\r\n\r\n<div class=\"toggle-item2\">\r\n <span class=\"toggle-label\">Is Hide</span>\r\n <label class=\"switch\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"selectedElement?.isHide\"\r\n (change)=\"onToggleChange('isHide', $event)\"\r\n />\r\n <span class=\"slider\"></span>\r\n </label>\r\n</div>\r\n</div>\r\n\r\n <!-- Text Align Buttons -->\r\n <div *ngIf=\"prop.type === 'align'\"class=\"font-align\">\r\n <button\r\n *ngFor=\"let option of prop.options\"\r\n (click)=\"onAlignSelect(option.value)\"\r\n [class.active]=\"selectedElement?.textAlign === option.value\"\r\n class=\"align-btn\"\r\n [title]=\"option.value\"\r\n >\r\n <img\r\n [src]=\"'../assets/icons/' + option.icon + '.svg'\"\r\n [alt]=\"option.value\"\r\n class=\"icon-size\"\r\n />\r\n </button>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"prop.key === 'size'\" class=\"size-controls\">\r\n <label>{{ prop.label }}</label>\r\n <input\r\n type=\"number\"\r\n [value]=\"selectedElement[prop.key]\"\r\n (input)=\"updateProperty(prop.key, $event.target.value)\"\r\n class=\"size-input\"\r\n />\r\n <span class=\"size-unit\">{{ prop.unit }}</span>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"prop.type === 'style'\" class=\"font-style\">\r\n <button\r\n *ngFor=\"let option of prop.options\"\r\n (click)=\"onStyleSelect(option.value)\"\r\n [class.active]=\"isStyleActive(option.value)\"\r\n class=\"style-btn\"\r\n [title]=\"option.value\"\r\n >\r\n <img\r\n [src]=\"'../assets/icons/' + option.icon + '.svg'\"\r\n [alt]=\"option.value\"\r\n class=\"icon-size\"\r\n />\r\n </button>\r\n </div>\r\n\r\n<!-- Field Size Controls -->\r\n<div *ngIf=\"prop.key === 'fieldSize'\" class=\"field-size-controls\">\r\n <div class=\"size-group\">\r\n <label class=\"size-label\">Width</label>\r\n <div class=\"value-container\">\r\n <input\r\n type=\"number\"\r\n [value]=\"selectedElement?.width\"\r\n (input)=\"updateProperty('width', $event.target.value)\"\r\n class=\"size-input\"\r\n\r\n />\r\n\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </details>\r\n\r\n <!-- Field Elements Properties -->\r\n<details class=\"second-property\">\r\n <summary class=\"text-font-medium\">Field Elements Properties</summary>\r\n <div class=\"space-y-4\" *ngIf=\"getProperties()\">\r\n <ng-container *ngFor=\"let prop of getProperties().fieldProps\">\r\n <div class=\"flex-items-center \">\r\n <label class=\"text-sm\">{{ prop.label }}</label>\r\n <div class=\"input-box-field\">\r\n <!-- Input Box -->\r\n <input\r\n *ngIf=\"prop.type === 'text'\"\r\n type=\"text\"\r\n [placeholder]=\"prop.placeholder\"\r\n class=\"field-input\"\r\n />\r\n <!-- Radio Group -->\r\n<div *ngIf=\"prop.type === 'radio'\" class=\"radio-item\">\r\n\r\n\r\n <div class=\"sizes\">\r\n <div class=\"flex-gap\">\r\n <div class=\"flex-items\">\r\n <input\r\n type=\"radio\"\r\n [checked]=\"selectedElement.required\"\r\n (change)=\"onRequiredChange(true)\"\r\n name=\"required\"\r\n class=\"radio-input\"\r\n />\r\n <label\r\n class=\"text-label\"\r\n >\r\n Required\r\n </label>\r\n </div>\r\n <div class=\"flex-items\">\r\n <input\r\n type=\"radio\"\r\n [checked]=\"!selectedElement.required\"\r\n (change)=\"onRequiredChange(false)\"\r\n name=\"required\"\r\n class=\"radio-input\"\r\n />\r\n <label\r\n class=\"text-sm text-gray-400\"\r\n >\r\n Not Required\r\n </label>\r\n </div>\r\n </div>\r\n</div>\r\n</div>\r\n <!-- Chk Options Group -->\r\n <div *ngIf=\"prop.type === 'optionsGroup'\" class=\"options-container\">\r\n <div\r\n *ngFor=\"let option of prop.options; let i = index\"\r\n class=\"option-items\"\r\n >\r\n <!-- Option Input -->\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"prop.options[i].label\"\r\n placeholder=\"Option {{ i + 1 }}\"\r\n class=\"options\"\r\n />\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"prop.options[i].value\"\r\n placeholder=\"Value\"\r\n class=\"values\"\r\n />\r\n <!-- Remove Button -->\r\n <div class=\"remove\">\r\n <img src=\"../assets/icons/Trash.svg\" (click)=\"removeOption(prop.options, i)\"></div>\r\n </div>\r\n <!-- Add Button -->\r\n <button\r\n type=\"button\"\r\n class=\"add-btn\"\r\n (click)=\"addOption(prop.options)\"\r\n >\r\n <div class=\"add-varient\">\r\n <span class=\"text-lg\">+</span>\r\n <span>Add Variants</span></div>\r\n </button>\r\n</div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"design-footer\">\r\n <button class=\"btn\">Cancel</button>\r\n <button class=\"btn\" (click)=\"handleButtonClick()\">Save</button>\r\n </div>\r\n</details>\r\n</div>\r\n</div>\r\n","// AP 22JAN25\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.css']\r\n})\r\nexport class MenuComponent {\r\n activeIndex: number = 0;\r\n\r\n menuItems = [\r\n { icon: '../assets/icons/Related.svg' },\r\n { icon: '../assets/icons/TextColumns.svg' },\r\n { icon: '../assets/icons/Monotone.svg' },\r\n { icon: '../assets/icons/Preview1.svg' },\r\n { icon: '../assets/icons/Website.svg' },\r\n { icon: '../assets/icons/Preview2.svg' },\r\n { icon: '../assets/icons/pdf.svg' },\r\n { icon: '../assets/icons/Setting.svg' }\r\n // { icon: '../assets/icons/ProfileImage.svg' }\r\n ];\r\n\r\n setActiveMenu(index: number): void {\r\n this.activeIndex = index;\r\n }\r\n}\r\n","<!-- AP 22JAN25 - Top menu ,Left side menu -->\r\n<!-- menu.component.html -->\r\n<div class=\"top-bar\">\r\n <button class=\"button share-button\">Share</button>\r\n <button class=\"button publish-button\">Publish</button>\r\n</div>\r\n<div class=\"menu-sidebar\">\r\n <!-- Logo Section -->\r\n <div class=\"menu-logo\">\r\n <img src=\"../assets/Nxt.png\">\r\n </div>\r\n\r\n <!-- Menu Items -->\r\n <ul class=\"menu-list\">\r\n <li\r\n *ngFor=\"let item of menuItems; let i = index\"\r\n class=\"menu-item\"\r\n [class.active]=\"activeIndex === i\"\r\n (click)=\"setActiveMenu(i)\"\r\n [attr.aria-label]=\"item.label\"\r\n >\r\n <!-- Dynamic Icon -->\r\n <img [src]=\"item.icon\" alt=\"Menu Icon\" class=\"menu-icon\" />\r\n </li>\r\n </ul>\r\n\r\n <!-- Profile Section -->\r\n <div class=\"menu-profile\">\r\n <img src=\"../assets/icons/ProfileImage.svg\" />\r\n </div>\r\n</div>\r\n\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { NxtAppComponent } from './nxt-app.component';\r\nimport { QuestionnaireComponent } from './pages/questionnaire/questionnaire.component';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\r\nimport { NgCircleProgressModule } from 'ng-circle-progress';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { GOOGLE_MAP_API_KEY } from '../lib/sample';\r\nimport { PickLocationComponent } from './components/pick-location/pick-location.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { CustomInputComponent } from './components/custom-input/custom-input.component';\r\nimport { CustomTextAreaComponent } from './components/custom-text-area/custom-text-area.component';\r\nimport { CustomTableComponent } from './components/custom-table/custom-table.component';\r\nimport { CustomRichTextComponent, QuillConfiguration } from './components/custom-rich-text/custom-rich-text.component'; //RS 06JAN2025 Imports modules and components for browser compatibility, Quill-based rich text editing, and custom configurations\r\nimport { QuillModule } from 'ngx-quill';\r\nimport { DropdownWithFlagComponent } from './components/dropdown-with-flag/dropdown-with-flag.component';\r\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from '@danielmoncada/angular-datetime-picker';\r\n\r\n//import { OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-time-adapter.class';\r\nimport { CustomDatePickerComponent } from './components/custom-date-picker/custom-date-picker.component';\r\nimport { CustomDropdownComponent } from './components/custom-dropdown/custom-dropdown.component';\r\n// VD 23JAN24 removed HttpClientModule\r\nimport { BookletComponent } from './pages/booklet/booklet.component';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { SearchBoxComponent } from './components/search-box/search-box.component';\r\nimport { QuestionbookComponent } from './pages/questionbook/questionbook.component';\r\nimport { FileUploadComponent } from './components/file-upload/file-upload.component';\r\nimport { SummaryPageComponent } from './pages/summary-page/summary-page.component';\r\nimport { FileViewComponent } from './components/file-view/file-view.component';\r\nimport { DependentTableComponent } from './components/dependent-table/dependent-table.component';\r\nimport { CustomLabelComponent } from './components/custom-label/custom-label.component';\r\nimport { TableAppendixComponent } from './components/table-appendix/table-appendix.component';\r\nimport { CustomDateComponent } from './components/custom-date/custom-date.component';\r\nimport { CustomTimeComponent } from './components/custom-time/custom-time.component';\r\nimport { CustomButtonComponent } from './components/custom-button/custom-button.component';\r\n// HA 19DEC23 Importing for translation\r\nimport { I18nModule } from './i18n.module'\r\nimport { I18nComponent } from './i18n.component';\r\nimport { I18nPipe } from './i18n.pipe';\r\nimport * as enI18n from './en.i18n';\r\nimport * as arI18n from './ar.i18n';\r\nimport * as tamI18n from './tam.i18n'\r\nimport { I18nService } from './i18n.service';\r\nimport { MatTooltipModule } from '@angular/material/tooltip'; // VD 20JUN24 - help text changes\r\nimport { GetValuePipe } from './pipe/get-value.pipe'; // VD 26JUN24 - pipe changes\r\nimport { CustomCalendarComponent } from './components/custom-calendar/custom-calendar.component';\r\nimport { CustomModelComponent } from './components/custom-model/custom-model.component';\r\nimport { CustomImageComponent } from './components/custom-image/custom-image.component';\r\nimport { CustomRadioComponent } from './components/custom-radio/custom-radio.component';\r\nimport { LoaderComponent } from './components/loader/loader.component';\r\nimport { ComponenthostDirective } from './directives/componenthost/componenthost.directive';\r\n// AP 22JAN2025 Added the below components\r\nimport { ElementComponent } from './pages/builder/element/element.component';\r\nimport { PropertiesComponent } from './pages/builder/properties/properties.component';\r\nimport { MenuComponent } from './pages/builder/menu/menu.component';\r\n// AP 22JAN2025 Added the DragDropModule\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n//AP 22JAN2025 Added the FormBuilderService\r\nimport { FormBuilderService } from './services/form-builder.service';\r\n\r\n// export const MY_CUSTOM_FORMATS = {\r\n// fullPickerInput: 'DD/MM/YYYY HH:mm:ss',\r\n// useUtc: true,\r\n// };\r\n\r\n// HA 19DEC23 variable created for translation\r\nconst languages = [\r\n // { lang: 'EN', flag: 'assets/images/en.i18n.png', file: enI18n },\r\n { lang: 'EN', file: enI18n },\r\n { lang: 'TAM', file: tamI18n },\r\n { lang: 'AR', file: arI18n }\r\n]\r\n\r\n@NgModule({\r\n declarations: [NxtAppComponent,\r\n QuestionnaireComponent,\r\n PickLocationComponent,\r\n CustomInputComponent,\r\n CustomTextAreaComponent,\r\n CustomTableComponent,\r\n CustomCalendarComponent,\r\n CustomDatePickerComponent,\r\n DropdownWithFlagComponent,\r\n CustomDropdownComponent,\r\n BookletComponent,\r\n SearchBoxComponent,\r\n QuestionbookComponent,\r\n FileUploadComponent,\r\n SummaryPageComponent,\r\n FileViewComponent,\r\n DependentTableComponent,\r\n CustomLabelComponent,\r\n TableAppendixComponent,\r\n CustomDateComponent,\r\n CustomTimeComponent,\r\n CustomButtonComponent,\r\n CustomModelComponent,\r\n LoaderComponent,\r\n I18nComponent,\r\n I18nPipe,\r\n CustomImageComponent,\r\n CustomRadioComponent,\r\n //AP 22JAN2025 Added the below components\r\n ElementComponent,\r\n PropertiesComponent,\r\n MenuComponent\r\n ],\r\n imports: [\r\n QuillModule.forRoot(),// RS 06JAN2025 Initializes the QuillModule with default settings for integrating the Quill editor.\r\n CustomRichTextComponent,\r\n CommonModule, FormsModule,\r\n // BrowserModule,\r\n ReactiveFormsModule,\r\n OwlDateTimeModule,\r\n OwlNativeDateTimeModule,\r\n ComponenthostDirective,\r\n GetValuePipe,\r\n // VD 23JAN24 removed HttpClientModule\r\n NgSelectModule,\r\n GoogleMapsModule,\r\n MatTooltipModule,\r\n DragDropModule, //AP 22JAN25 Added the DragDropModule\r\n\r\n //AgmCoreModule.forRoot({\r\n // apiKey: GOOGLE_MAP_API_KEY,\r\n // libraries: ['geometry', 'places', 'visualization', 'drawing']\r\n // }),\r\n NgxSpinnerModule,\r\n I18nModule.forRoot(languages),\r\n /*NgCircleProgressModule.forRoot({\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"space\": -6,\r\n \"innerStrokeColor\": \"#919191\",\r\n \"outerStrokeColor\": \"#db9594\",\r\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\r\n \"innerStrokeWidth\": 2,\r\n \"backgroundGradient\": true,\r\n \"backgroundColor\": \"#dd2e13\",\r\n \"backgroundGradientStopColor\": \"#dd2e13\",\r\n \"backgroundStroke\": \"#d3cfcf\",\r\n \"title\": [\r\n\r\n \"%\"\r\n ],\r\n // titleFontSize: 12,\r\n // \"subtitleFontSize\": 20,\r\n \"animateTitle\": false,\r\n \"animationDuration\": 1000,\r\n \"showUnits\": false,\r\n \"clockwise\":true\r\n\r\n //\"backgroundStrokeWidth\": \"0\",\r\n\"backgroundGradient\": true,\r\n //\"backgroundColor\": \"#dd2e13\",\r\n \"backgroundGradientStopColor\": \"#dd2e13\",\r\n \"backgroundStroke\": \"#000000\",\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"unitsFontWeight\": \"600\",\r\n \"unitsColor\": \"#f2f2f2\",\r\n \"outerStrokeGradient\": true,\r\n \"outerStrokeColor\": \"#e0b1b0\",\r\n \"outerStrokeGradientStopColor\": \"#e0b1b0\",\r\n \"outerStrokeLinecap\": \"inherit\",\r\n \"innerStrokeColor\": \"#f6dfdf\",\r\n \"title\": [\r\n\r\n \"%\"\r\n],\r\n \"titleColor\": \"#e7d9d9\",\r\n \"titleFontSize\": \"31\",\r\n \"titleFontWeight\": \"100\",\r\n \"subtitleColor\": \"#f7f7f7\",\r\n \"subtitleFontSize\": \"36\",\r\n \"subtitleFontWeight\": \"900\",\r\n \"animateTitle\": false,\r\n \"animationDuration\": 1000,\r\n \"showTitle\": true,\r\n \"showUnits\": true,\r\n \"clockwise\": false,\r\n \"startFromZero\": true,\r\n \"showZeroOuterStroke\": false,\r\n \"lazy\": true})*/\r\n\r\n NgCircleProgressModule.forRoot({\r\n \"backgroundGradient\": true,\r\n \"backgroundColor\": \"#e29d98\",\r\n \"backgroundGradientStopColor\": \"#c5281c\",\r\n \"backgroundStroke\": \"#ece4e4\",\r\n \"backgroundStrokeWidth\": 0,\r\n \"backgroundPadding\": -10,\r\n \"radius\": 60,\r\n \"space\": 4,\r\n \"maxPercent\": 100,\r\n \"unitsFontSize\": \"35\",\r\n \"unitsColor\": \"#f0ebeb\",\r\n \"outerStrokeGradient\": true,\r\n \"outerStrokeWidth\": 10,\r\n \"outerStrokeColor\": \"#f7c0bf\",\r\n \"outerStrokeGradientStopColor\": \"#f9c9c8\",\r\n \"innerStrokeWidth\": 0,\r\n \"titleColor\": \"#f3eded\",\r\n \"titleFontSize\": \"40\",\r\n \"subtitleColor\": \"#444444\",\r\n \"showSubtitle\": false})\r\n ],\r\n bootstrap: [ NxtAppComponent ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n exports: [NxtAppComponent,\r\n QuestionnaireComponent,\r\n BookletComponent,\r\n SummaryPageComponent,\r\n I18nPipe,\r\n I18nComponent,\r\n ElementComponent,\r\n PropertiesComponent,\r\n MenuComponent\r\n // CustomRichTextComponent\r\n ],\r\n providers: [\r\n I18nService,\r\n I18nPipe,\r\n FormBuilderService//AP 22JAN2025 Added the FormBuilderService\r\n ]\r\n // providers: [\r\n // { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\r\n // { provide: OWL_DATE_TIME_FORMATS, useValue: MY_CUSTOM_FORMATS },\r\n // ]\r\n})\r\nexport class NxtAppModule { }\r\n","/*\r\n * Public API Surface of nxt-app\r\n */\r\n\r\nexport * from './lib/nxt-app.service';\r\nexport * from './lib/nxt-app.component';\r\nexport * from './lib/nxt-app.module';\r\nexport * from './lib/pages/questionnaire/questionnaire.component';\r\nexport * from './lib/pages/booklet/booklet.component';\r\nexport * from './lib/pages/questionbook/questionbook.component';\r\nexport * from './lib/pages/summary-page/summary-page.component';\r\nexport * from './lib/services/salesforce.service';\r\n// HA-11-01-2024 We need these below lines to work public\r\nexport * from './lib/i18n.component';\r\nexport * from './lib/i18n.pipe';\r\nexport * from './lib/pages/builder/element/element.component';\r\nexport * from './lib/pages/builder/menu/menu.component';\r\nexport * from './lib/pages/builder/properties/properties.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.I18nService","i2.ChangeService","i4","i5.I18nPipe","i1.ChangeService","i2.I18nService","i3.DataService","i5","i3","i3.SalesforceService","i4.DataService","i6","i7.GetValuePipe","i2.DataService","i3.I18nService","i1.SalesforceService","i3.ChangeService","i4.SharedService","i8","i10.I18nService","i11.CustomRichTextComponent","i12","i14.PickLocationComponent","i15.CustomInputComponent","i16.CustomTextAreaComponent","i17.CustomTableComponent","i18.CustomDatePickerComponent","i19.DropdownWithFlagComponent","i20.CustomDropdownComponent","i21.CustomLabelComponent","i22.I18nPipe","i4.I18nService","i1.SharedService","i6.I18nPipe","i4.CustomDropdownComponent","i5.FileUploadComponent","i6.CustomRichTextComponent","i7","i9","i11.PickLocationComponent","i12.CustomInputComponent","i13.CustomTextAreaComponent","i14.CustomTableComponent","i15.CustomCalendarComponent","i16.CustomDatePickerComponent","i17.CustomDropdownComponent","i18.SearchBoxComponent","i19.FileUploadComponent","i20.DependentTableComponent","i22.TableAppendixComponent","i23.CustomDateComponent","i24.CustomTimeComponent","i25.CustomButtonComponent","i26.CustomModelComponent","i27.CustomImageComponent","i28.CustomRadioComponent","i29.I18nPipe","i3.StorageService","i6.ChangeService","i7.I18nService","i10.QuestionbookComponent","i4.I18nPipe","i3.FileViewComponent","uuidv4","i1.FormBuilderService","i2.FormBuilderService","enI18n","tamI18n","arI18n"],"mappings":"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"}