{"version":3,"sources":["submit.gif","logo.gif","loader.gif","404.png","error.png","loading.gif","delete.png","Components/Error.js","Components/InputRowHoverOrClickInfo.js","Components/InputRow.js","Components/CheckDevice.js","constants.js","Components/LoginPage.js","Components/Signup.js","Components/UploadDocuments.js","Components/Loading.js","Components/AcademicInterest.js","Components/GovernmentInformation.js","Components/InputRowArabic.js","Components/PersonalInformation.js","Components/Address.js","Components/Contact.js","Components/Parent.js","Components/ParentsInformation.js","Components/GuardianInformation.js","Components/HealthInformation.js","Components/Sources.js","Components/Policies.js","Components/EducationHistoryUndergraduate.js","Components/EducationHistoryGraduate.js","Components/TestScores.js","Components/Main.js","App.js","serviceWorker.js","index.js"],"names":["module","exports","Error","id","style","display","flexDirection","justifyContent","textAlign","src","error","width","maxWidth","margin","padding","alt","className","onClick","this","props","React","Component","InfoBox","ref","useRef","handleClickOutside","event","current","contains","target","onClickOutside","useEffect","document","addEventListener","removeEventListener","show","message","InputRow","state","mouseOver","userDevice","navigator","userAgent","match","maxTouchPoints","test","platform","classNameofMainDiv","name","errMsg","borderWidth","borderColor","rowName","color","required","onChange","e","sessionStorage","getItem","setItem","value","disabled","data","length","key","map","element","Id","indexOf","type","direction","onKeyDown","preventDefault","alert","onKeyPress","min","max","step","height","hover","onMouseOver","setState","onMouseOut","marginLeft","paddingBottom","fontSize","emailCheck","RegExp","pwdCheck","handleAlphabetCheck","val","trim","arabicValue","txt","yas","replace","handleNumberCheck","text","count","i","LoginPage","email","pwd","errorColor","processing","resetProcessing","handleLogin","bind","resetPassword","token","history","a","fetch","process","method","body","JSON","stringify","Email","Password","headers","then","res","json","StatusCode","Data","Token","IncompleteApplicationId","currentDate","Date","setSeconds","getSeconds","onLogin","Msg","catch","err","console","log","isActive","logo","submit","to","Signup","fname","lname","phonenb","cnfPwd","saveProcessing","handleRegister","FirstName","LastName","PhoneNumber","handleNumberOnlyCheck","UploadDocuments","files","uploadFiles","nationalIDUploadFiles","nationalIDFiles","passportUploadFiles","passportFiles","englsihAssessmentUploadFiles","englishAssessmentFiles","transferUploadFiles","transferFiles","personalPicUploadFiles","personalPicFiles","courseDescriptionsUploadFiles","courseDescriptionsFiles","gradingSchemeUploadFiles","gradingSchemeFiles","loading","showModal","submitLoading","accepts","numberOfUpload","maxAttachmentSize","maxApplicationAttachmentSize","disable","handleSubmit","toBase64","parseInt","incompleteApplicationId","Validated","index","splice","file","Promise","resolve","reject","reader","FileReader","readAsDataURL","onload","result","split","onerror","promiseArray","all","rej","returnArray","forEach","extension","push","fileName","typelabel","fileExtension","fileContent","label","window","location","redirect_url","loader","marginRight","acceptFiles","acceptArray","showFiles","total","parseFloat","size","Math","round","require","handleDelete","cursor","textDecoration","aria-hidden","alignItems","multiple","filesss","processFiles","Array","from","toLowerCase","accept","nationalIDfilesss","nationalIDProcessFiles","passportfilesss","passportProcessFiles","englishAssessmentFilesss","englishAssessmentProcessFiles","transferfilesss","transferProcessFiles","courseDescritionfilesss","courseDescriptionProcessFiles","gradingSchemefilesss","gradingSchemeProcessFiles","personalPicFilesss","personalPicProcessFiles","cellPadding","cellSpacing","paddingRight","htmlFor","fontStyle","Loading","AcademicInterest","entryTermData","selectedEntryTerm","programsData","selectedProgram","majorsData","selectedMajor","selectedUniversity","universityData","universityData2","selectedSecondUniversity","universitySecondData","selectedSecondProgram","programsSecondData","selectedSecondMajor","majorSecondData","description","secondDescription","selectedLevel","levelData","levelFoundationData","selectedSecondLevel","levelSecondData","isFoundation","foundationId","preferredCampus","isPopup","isWestEnabled","isclear","handleProgramSelect","handleSecondProgramSelect","fetchLevel","fetchSecondLevel","changeForFoundation","changeForFoundationSecondLevel","foundationRow","find","obj","foundationRows","undefined","includes","entryTerm","collectState","changePopup","camp","uni","slice","element2","findIndex","setVal","handleCampusSelect","toString","validationError","fontWeight","float","descriptions","filter","descriptionss","checked","minWidth","descriptions2","descriptions1","desc","onSave","GovernmentInformation","passportNumber","passportCountry","passportExpiryDate","passportExpiry","nationalNumber","pedError","isNumeric","passportDate","date","month","getMonth","day","getDate","year","getFullYear","nationalIdNumber","number","countryData","dob","isNaN","nationality","renderLocal","renderForeign","InputRowArabic","dir","writingDirection","secureTextEntry","PersonalInformation","fName","mName","lName","dateOfBirth","selectedCountry","selectedNationality","selectedGender","gender","errorBackend","relationShipData","arabicText1","arabicText2","arabicText3","siblingFName","siblingMName","siblingLName","siblingTKHNumber","dobError","countryOfBirth","arabicData","ColumnValue","prefixData","prefix","diffMs","now","getTime","ageDt","age","abs","getUTCFullYear","placeholder","Address","addressType","addressTypeData","addressLine1","line1","addressLine2","line2","cityData","regionData","selectedCity","dormPlanInterest","fetchCity","country","homeAddress","ele","homeAddressId","getDefaultValue","city","Contact","phoneNumberArray","phoneType","phoneCountry","phoneNumber","isPrimary","phoneCode","phoneTypeData","phoneFormats","addMoreRows","phoneTypeUpdate","phoneCountryUpdate","phoneNumberUpdate","phoneTypeId","propValue","contactInformation","countryCodess","elements","CountryId","PhoneType","IsPrimary","phoneNumbers","index1","position","verticalAlign","primaryUpdate","deleteRow","CheckRows","Parent","relationshipData","deceased","errRelation","relationship","relationshipUpdate","selectedPrefix","onChangePrefix","errPrefix","disableAll","errFName","onChangeFName","errMName","onChangeMName","errLName","onChangeLName","errProfession","profession","onChangeProfession","guardian","errMobile","mobileNumber","onChangeNumber","onChangeEmail","errEmail","isTKHEmployee","onChangeIsTKHEmployee","idnumber","onChangeIdNumber","errIdNumber","ParentsInformation","fatherPrefixData","motherPrefixData","fatherPrefix","motherPrefix","fatherFName","fatherInfo","RelationFirstName","motherFName","motherInfo","fatherMName","RelationMiddleName","motherMName","fatherLName","RelationLastName","motherLName","fatherProfession","Profession","motherProfession","fatherCompany","Company","motherCompany","fatherCompanyAddress","CompanyAddress","motherCompanyAddress","fatherPhone","MobileNumber","motherPhone","fatherEmail","RelationEmail","motherEmail","fatherAddress","motherAddress","motherAttendedInstitution","AttendedInstitution","fatherAttendedInstitution","fatherDeceased","Deceased","motherDeceased","isFatherEmployee","IsTKHEmployee","isMotherEmployee","fatherIdNumber","IdNumber","motherIdNumber","avoidFPrefix","avoidMPrefix","mr","mrId","mrs","mrsId","motherDefault","RelationPrefix","fatherDefault","fatherId","deceasedOption","deceasedChange","fatherRelation","motherRelation","motherId","prevState","company","onChangeCompany","companyAddress","onChangeCompanyAddress","emailRequired","address","onChangeAddress","GuardianInformation","guardianRelationship","guardianPrefix","guardianFName","guardianInfo","guardianMName","guardianLName","guardianProfession","guardianPhone","guardianEmail","guardianAddress","GuardianAddress","RelationType","firstName","middleName","familyName","HealthInformation","illness","illnessDescription","hasIllness","hasBeenIll","ill","ills","Sources","sourceData","selectedSources","otherSource","sources","newSource","displaySources","newSources","general","marginTop","marginBottom","Policies","acceptedPolicies","policyLink","EducationHistoryUndergraduate","undergradDegree","highSchoolCertificateData","highSchoolCertificate","educationGradeData","educationGrade","grade","endDate","highSchoolNameData","highSchoolName","perviousUniversity","cityDataTransfer","institutionName","perviousUniversityName","previousUniversityData","previousUniversityCountry","previousUniversityCity","marks","isTransfer","addUnderGradDegree","changeHighSchoolCerti","getSchoolGrades","fetchCityForTransfer","applyFoundationRule","changeHighSchoolCertiOnComponenDidMount","educationHistory","TransferCountryId","underGradDegree","InstitutionId","InstitutionName","TranferedInstitutionId","TranferedInstitutionName","yearOfGraduation","EndDate","CurriculumId","CityId","GradeId","TransferCityId","mark","TotalMark","EducationGrade","degrees","degree","changeFoundation","trans","visibleDetailDegree","highSchoolCertiName","removeUnderGradDegree","hName","prevName","renderUnderGraduate","EducationHistoryGraduate","graduateDegree","universityCertificate","universityCertificateData","universityName","gpa","universityNameData","addGraduateDegree","GPA","removeGraduateDegree","institutionNames","renderGraduate","TestScores","tests","testData","testTypeData","selectedTest","checkboxTest","testCheckbox","updateDateTaken","deleteDateTaken","updateScore","updateTest","updateTestType","deleteTest","addTest","getTestTypeData","testScore","dateTaken","testType","score","newTest","testId","errorCheck","testView","parse","Mains","nextProcessing","isBlocking","program","saved","sections","open","activeSections","programOfStudyId","policyError","testTypeError","personalInformation","errorPI","ai","errorAI","governmentInformation","errorGI","errorAdd","contactInformations","errorContact","parentsInformation","errorParent","guardianInformation","errorGuard","educationHistorys","errorEdu","testScores","testScoresProp","errorTest","errorAcad","healthInformation","errorHI","errorSources","sourceInformation","undergraduate","graduate","ahsd","ib","anata","igcse","gcse","toggleAccordion","toggleAll","prepareState","conditionCheck","personalInformationCheck","educationHistoryCheck","academicInterestCheck","governmentInformationCheck","addressCheck","contactCheck","parentsInformationCheck","guardianInformationCheck","testScoresCheck","healthInformationCheck","sourcesCheck","handleSave","MiddleName","DateOfBirth","CountryOfBirth","Nationality","Gender","ArabicData","SiblingFName","SiblingMName","SiblingLName","SiblingTKHNumber","ContactInformation","ProgramId","Description","SecDescription","EntryTerm","ProgramOfStudyId","UniversityId","SecondUniversityId","SecondProgramId","SecondMajorId","Level","SecondLevel","PreferredCampus","AddressTypeId","Line1","Line2","Country","City","DormPlanInterest","FatherInfo","MotherInfo","GuardianInfo","NationalIdNumber","PassportNumber","PassportCountryIssued","PassportExpirationDate","EducationHistory","Tests","HasBeenIll","IllnessDescription","ApplicationTestSourceId","OtherSource","acceptedPolicy","AcceptedPolicies","UndergraduateId","FatherId","MotherId","GraduateId","unloadEvent","IsFatherTKHEmployee","FatherIdNumber","IsMotherTKHEmployee","MotherIdNumber","newContactInfo","Test","TestType","Score","DateTaken","previousUniversityCertificate","TransferredCerti","previousUniversityGPA","TransferredGPA","NaN","IsNotError","countC","ret","Object","keys","testArray","returnValue","userSelectedProgram","userNationality","fatherInfos","motherInfos","fetchBody","curriculumId","institutionid","countryId","cityId","TransferedInstitutionId","TransferedInstitutionName","transferCountyId","transferCityId","componentName","accordionValue","counts","prototype","hasOwnProperty","call","sectionsBody","section","ci","eh","SourceId","ColumnName","passportCountryIssued","passportExpirationDate","FatherPrefix","FatherRelationType","FatherFirstName","FatherMiddleName","FatherFamilyName","FatherProfession","FatherCompany","FatherCompanyAddress","FatherMobileNumber","FatherEmail","FatherAddress","FatherAttendedInstitution","FatherDeceased","MotherPrefix","MotherRelationType","MotherFirstName","MotherMiddleName","MotherFamilyName","MotherProfession","MotherCompany","MotherCompanyAddress","MotherMobileNumber","MotherEmail","MotherAddress","MotherAttendedInstitution","MotherDeceased","GuardianPrefix","GuardianRelationType","GuardianFirstName","GuardianMiddleName","GuardianFamilyName","GuardianProfession","GuardianMobileNumber","GuardianEmail","SourceInformation","onSubmit","GovernmentId","ExistsTestType","join","accordionSections","backgroundColor","borderStyle","boxSizing","getActiveTabBody","authentication","isAuthenticated","authenticate","signOut","cb","clear","setTimeout","Main","useHistory","useLocation","pathname","Upload","ErrorPage","PrivateRoute","children","rest","userId","render","exact","App","basename","path","component","Boolean","hostname","ReactDOM","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"sHAAAA,EAAOC,QAAU,IAA0B,oC,mBCA3CD,EAAOC,QAAU,IAA0B,kC,mBCA3CD,EAAOC,QAAU,IAA0B,oC,mBCA3CD,EAAOC,QAAU,IAA0B,iC,mBCA3CD,EAAOC,QAAU,IAA0B,mC,iBCA3CD,EAAOC,QAAU,8gX,0ECAjBD,EAAOC,QAAU,8jQ,8KCIIC,E,4JACnB,WACE,OACE,yBAAKC,GAAG,iBACN,yBAAKA,GAAG,gBAEN,yBAAKA,GAAG,YAAYC,MAAO,CAAEC,QAAS,OAAQC,cAAe,SAAUC,eAAgB,SAAUC,UAAW,WAC1G,yBAAKC,IAAKC,IAAON,MAAO,CAAEO,MAAO,OAAQC,SAAU,IAAKC,OAAQ,SAAUC,QAAS,GAAKC,IAAI,UAC5F,yBAAKX,MAAO,CAAEO,MAAO,SACnB,uBAAGR,GAAG,WAAN,OACA,uBAAGA,GAAG,WAAN,mCACA,uBAAGA,GAAG,WAAN,0BACA,uBAAGA,GAAG,WAAN,sCACA,4BAAQA,GAAG,UAAUa,UAAU,OAAOC,QAASC,KAAKC,MAAMF,SAA1D,mC,GAbqBG,IAAMC,W,+CCD1B,SAASC,EAASH,GAC/B,IAAMI,EAAMC,iBAAO,MAEbC,EAAqB,SAACC,GACtBH,EAAII,UAAYJ,EAAII,QAAQC,SAASF,EAAMG,SAC7CV,EAAMW,gBAAkBX,EAAMW,kBAWlC,OAPAC,qBAAU,WAER,OADAC,SAASC,iBAAiB,QAASR,GAAoB,GAChD,WACLO,SAASE,oBAAoB,QAAST,GAAoB,OAIzDN,EAAMgB,KAGT,yBAAKZ,IAAKA,EAAKP,UAAU,YACvB,8BAAOG,EAAMiB,UAJS,K,ICdPC,E,kDACnB,WAAalB,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACXC,WAAW,GAHK,E,0CAOpB,WAAW,IAAD,OACFC,ECZJC,UAAUC,UAAUC,MAAM,mEAI1BF,UAAUG,gBACZH,UAAUG,eAAiB,GAC3B,WAAWC,KAAKJ,UAAUK,UALnB,SAQF,UDIDC,EAAqB,gBAIzB,MAHwB,WAApB7B,KAAKC,MAAM6B,OACbD,EAAqB,4BAGrB,yBAAK/B,UAAU,WACb,yBAAKA,UAAU,sBACb,yBAAKA,UAAW+B,EAAoB3C,MAAOc,KAAKC,MAAM8B,OAAS,CAAEC,YAAa,EAAGC,YAAa,OAAU,MACtG,0BAAMnC,UAAU,SAASE,KAAKC,MAAMiC,QAAQ,2BAAOhD,MAAO,CAAEiD,MAAO,QAAUnC,KAAKC,MAAMmC,WACnE,WAApBpC,KAAKC,MAAM6B,KACR,4BACAO,SAAU,SAACC,GACoC,UAAzCC,eAAeC,QAAQ,eAA6BD,eAAeE,QAAQ,cAAc,GAC7F,EAAKxC,MAAMoC,SAASC,EAAE3B,OAAO+B,QAG/BA,MAAO1C,KAAKC,MAAMyC,MAClBC,SAAU3C,KAAKC,MAAM0C,UACpB3C,KAAKC,MAAM2C,KAAKC,OAAS,4BAAQH,MAAO,GAAII,IAAK,IAAS9C,KAAKC,MAAMiC,SAA5C,UAAuE,KAChGlC,KAAKC,MAAM2C,KAAKC,OAAS7C,KAAKC,MAAM2C,KAAKG,KAAI,SAAAC,GAC5C,OAAO,4BAAQN,MAAOM,EAAQC,GAAIH,IAAKE,EAAQC,GAAK,IAAMD,EAAQN,OAAQM,EAAQN,UAC/E,4BAAQA,MAAO,EAAGI,IAAK,UAAvB,YAG6C,IAAlD,CAAC,OAAQ,WAAWI,QAAQlD,KAAKC,MAAM6B,MACrC,2BACAqB,KAAMnD,KAAKC,MAAM6B,KACjB7C,GAAIe,KAAKC,MAAM6B,KAAO,IAAM9B,KAAKC,MAAMiC,QACvCQ,MAAO1C,KAAKC,MAAMyC,MAClBU,UAAYpD,KAAKC,MAAMmD,UACvBT,SAAU3C,KAAKC,MAAM0C,SACrBN,SAAU,SAACC,GACoC,UAAzCC,eAAeC,QAAQ,eAA6BD,eAAeE,QAAQ,cAAc,GAC7F,EAAKxC,MAAMoC,SAASC,EAAE3B,OAAO+B,QAG/BW,UAAW,SAAAf,GAAC,OAAIA,EAAEgB,eAAeC,MAAM,8DACvCC,WAAY,SAAClB,GAAD,OAAO,EAAKrC,MAAMuD,WAAa,EAAKvD,MAAMuD,WAAWlB,GAAK,MACtEmB,IAAyB,SAApBzD,KAAKC,MAAM6B,KAAkB,aAAe,KACjD4B,IAAyB,SAApB1D,KAAKC,MAAM6B,KAAkB,aAAe,QAGG,IAApD,CAAC,SAAU,WAAWoB,QAAQlD,KAAKC,MAAM6B,MACvC,2BACAqB,KAAK,SACLQ,KAA0B,YAApB3D,KAAKC,MAAM6B,KAAqB,IAAO,EAC7C2B,IAAK,EACLC,IAAyB,YAApB1D,KAAKC,MAAM6B,KAAqB,IAAM,KAC3C7C,GAAIe,KAAKC,MAAM6B,KAAO,IAAM9B,KAAKC,MAAMiC,QACvCQ,MAAO1C,KAAKC,MAAMyC,MAClBC,SAAU3C,KAAKC,MAAM0C,SACrBN,SAAU,SAACC,GACoC,UAAzCC,eAAeC,QAAQ,eAA6BD,eAAeE,QAAQ,cAAc,GAC7F,EAAKxC,MAAMoC,SAASC,EAAE3B,OAAO+B,QAG/Bc,WAAY,SAAClB,GAAD,OAAO,EAAKrC,MAAMuD,WAAa,EAAKvD,MAAMuD,WAAWlB,GAAK,QAEtE,2BACAa,KAAMnD,KAAKC,MAAM6B,KACjB7C,GAAIe,KAAKC,MAAM6B,KAAO,IAAM9B,KAAKC,MAAMiC,QACvCQ,MAAO1C,KAAKC,MAAMyC,MAClBU,UAAYpD,KAAKC,MAAMmD,UACvBT,SAAU3C,KAAKC,MAAM0C,SACrBN,SAAU,SAACC,GACoC,UAAzCC,eAAeC,QAAQ,eAA6BD,eAAeE,QAAQ,cAAc,GAC7F,EAAKxC,MAAMoC,SAASC,EAAE3B,OAAO+B,QAG/Bc,WAAY,SAAClB,GAAD,OAAO,EAAKrC,MAAMuD,WAAa,EAAKvD,MAAMuD,WAAWlB,GAAK,MACtEmB,IAAyB,SAApBzD,KAAKC,MAAM6B,KAAkB,aAAe,KACjD4B,IAAyB,SAApB1D,KAAKC,MAAM6B,KAAkB,aAAe,OAIxD9B,KAAKC,MAAMT,MACR,6BACA,yBAAKN,MAAO,CAAEE,cAAe,MAAOD,QAAS,SAC3C,yBAAKI,IAAKC,IAAOK,IAAKG,KAAKC,MAAMiC,QAAU,gBAAiBhD,MAAO,CAAEO,MAAO,GAAImE,OAAQ,MACxF,2BAAI5D,KAAKC,MAAMiC,QAAf,oBAGF,MAGJlC,KAAKC,MAAM4D,MACM,YAAfvC,EAA2B,2BACzBwC,YAAa,kBAAM,EAAKC,SAAS,CAAE1C,WAAW,KAC9C2C,WAAY,kBAAM,EAAKD,SAAS,CAAE1C,WAAW,KAC7CvB,UAAU,QAHe,KAMhB,2BACTC,QAAS,kBAAM,EAAKgE,SAAS,CAAE1C,WAAW,KAC1CvB,UAAU,QAFD,KAMT,KAEN,yBAAKA,UAAWE,KAAKoB,MAAMC,UAAY,OAAS,gBAC9C,kBAACjB,EAAD,CAASa,KAAMjB,KAAKoB,MAAMC,UAAWT,eAAgB,kBAAM,EAAKmD,SAAS,CAAE1C,WAAW,KAAUH,QAASlB,KAAKC,MAAM4D,UAGxH,yBAAK3E,MAAO,CAAEC,QAASa,KAAKC,MAAM8B,OAAS,QAAU,OAAQtC,MAAO,OAAQwE,WAAY,EAAGC,cAAe,IAAK,0BAAMhF,MAAO,CAAEiD,MAAO,MAAOgC,SAAU,KAAOnE,KAAKC,MAAM8B,c,GAlH1I7B,IAAMC,WEA9BiE,EAAa,IAAIC,OAAO,mSACzBC,EAAW,0FACXC,EAAsB,SAACC,GAGlC,MAFkB,mBAEJ7C,KAAK6C,IAMU,IANUA,EAM5BC,OAAO5B,OALT,EAEF,GAKF,IAAM6B,EAAc,SAACC,GAC1B,IAAIC,EAAMD,EA+FV,OADAC,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GAFAA,GADAA,GADAA,GADAA,GADAA,GADAA,GAHAA,GANAA,GADAA,GAPAA,GAPAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,EAAMA,EAAIC,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,MAAO,WACfA,QAAQ,MAAO,WACfA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,iBACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,MAAO,WACfA,QAAQ,MAAO,WAOfA,QAAQ,KAAM,WAOdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WAMdA,QAAQ,KAAM,iBAGdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WAEdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,MAAO,WACfA,QAAQ,KAAM,WACdA,QAAQ,KAAK,WACbA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WACdA,QAAQ,KAAM,WAGbC,EAAoB,SAACxC,GAMhC,IALA,IAAMyC,EAAOzC,EAGT0C,EAAQ,EAEHC,EAAI,EAAGA,EAAIF,EAAKlC,OAAQoC,IAHjB,cAIF/B,QAAQ6B,EAAKE,KAAO,EACVF,EAAKE,GAClBD,EAAQ,EAEnB,OAAOA,G,kCCrHYE,E,kDACnB,WAAajF,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACX+D,MAAO,GACPC,IAAK,GACL5F,MAAO,GACP6F,WAAY,MACZC,YAAY,EACZC,iBAAiB,GAGnB,EAAKC,YAAc,EAAKA,YAAYC,KAAjB,gBACnB,EAAKC,cAAgB,EAAKA,cAAcD,KAAnB,gBAZH,E,qDAepB,WACE,IAAMxG,EAAKsD,eAAeC,QAAQ,MAC5BmD,EAAQpD,eAAeC,QAAQ,SACjCvD,GAAM0G,GACY3F,KAAKC,MAAjB2F,QACAf,QAAQ,O,gEAIpB,uCAAAgB,EAAA,sDACE7F,KAAK+D,SAAS,CAAEuB,YAAY,IAD9B,EAEyBtF,KAAKoB,MAApB+D,EAFV,EAEUA,MAAOC,EAFjB,EAEiBA,IACXD,GAASC,EACPhB,EAAWzC,KAAKwD,GACdb,EAAS3C,KAAKyD,GAChBU,MAAM,GAAD,OAAIC,8BAAJ,wBAAyD,CAC5DC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACnBC,MAAOjB,EACPkB,SAAUjB,IAEZkB,QAAS,CACP,eAAgB,sBAGjBC,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,GAAuB,MAAnBA,EAAIE,WAAoB,CAC1B,EAAK3C,SAAS,CAAEuB,YAAY,IAC5B/C,eAAeE,QAAQ,QAAS+D,EAAIG,KAAKC,OACzCrE,eAAeE,QAAQ,KAAM+D,EAAIG,KAAKE,yBACtC,IAAMC,EAAc,IAAIC,KACxBD,EAAYE,WAAWF,EAAYG,aAAe,MAClD1E,eAAeE,QAAQ,SAAUqE,GACjCvE,eAAeE,QAAQ,QAAS0C,GAChC5C,eAAeE,QAAQ,cAAc,GACrC,EAAKxC,MAAMiH,QAAQ/B,EAAOqB,EAAIG,KAAKE,wBAAyBL,EAAIG,KAAKC,OACjD,EAAK3G,MAAjB2F,QACAf,QAAQ,UAEhB,EAAKd,SAAS,CAAEvE,MAAOgH,EAAIW,IAAK7B,YAAY,EAAOD,WAAY,MAAOD,IAAK,QAG9EgC,OAAM,SAACC,GACN,EAAKtD,SAAS,CAAEvE,MAAO,gBAAiB8F,YAAY,EAAOF,IAAK,KAChEkC,QAAQC,IAAIF,MAGhBrH,KAAK+D,SACH,CACEvE,MAAO,oHACP6F,WAAY,MACZC,YAAY,EACZF,IAAK,KAKXpF,KAAK+D,SACH,CACEvE,MAAO,qCACP6F,WAAY,MACZC,YAAY,EACZF,IAAK,KAKXpF,KAAK+D,SACH,CACEvE,MAAO,qCACP6F,WAAY,MACZC,YAAY,EACZF,IAAK,KAhEb,gD,iFAsEA,WAAkB,IAAD,OACfpF,KAAK+D,SAAS,CAAEwB,iBAAiB,IACjC,IAAQJ,EAAUnF,KAAKoB,MAAf+D,MACJA,EACEf,EAAWzC,KAAKwD,GAClBW,MAAM,GAAD,OAAIC,8BAAJ,4BAA6D,CAChEC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACnBhB,MAAOA,IAETmB,QAAS,CACP,eAAgB,sBAGjBC,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAAAC,GACmB,MAAnBA,EAAIE,YACN,EAAK3C,SAAS,CAAEwB,iBAAiB,IACjC,EAAKxB,SACH,CACEvE,MAAO,2DACP6F,WAAY,QACZD,IAAK,OAIT,EAAKrB,SAAS,CAAEwB,iBAAiB,EAAOH,IAAK,KAC7C,EAAKrB,SAAS,CAAEvE,MAAOgH,EAAIW,IAAK9B,WAAY,YAG/C+B,OAAM,SAAAC,GACLC,QAAQC,IAAIF,GACZ,EAAKtD,SAAS,CAAEwB,iBAAiB,EAAOH,IAAK,KAC7C,EAAKrB,SAAS,CAAEvE,MAAO,sBAG3BQ,KAAK+D,SACH,CACEvE,MAAO,qCACP6F,WAAY,MACZD,IAAK,KAITpF,KAAK+D,SAAS,CAAEwB,iBAAiB,MAGnCvF,KAAK+D,SACH,CACEvE,MAAO,iCACP6F,WAAY,MACZD,IAAK,KAITpF,KAAK+D,SAAS,CAAEwB,iBAAiB,O,oBAIrC,WAAW,IAAD,OACR,EAAiFvF,KAAKoB,MAA9EiE,EAAR,EAAQA,WAAYF,EAApB,EAAoBA,MAAOC,EAA3B,EAA2BA,IAAK5F,EAAhC,EAAgCA,MAAO8F,EAAvC,EAAuCA,WAAYC,EAAnD,EAAmDA,gBAAiBiC,EAApE,EAAoEA,SAQpE,OAPA1B,MAAM,GAAD,OAAIC,8BAAJ,sCACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIzB,UAChBwB,MAAK,SAAAC,GACAA,GACF,EAAKzC,SAAS,CAAEyD,SAAUhB,OAGf,SAAbgB,EAEA,yBAAKvI,GAAG,iBACN,yBAAKA,GAAG,iBACR,yBAAKM,IAAKkI,IAAM3H,UAAU,qBAC1B,yBAAKb,GAAG,aACN,uBACEC,MAAO,CACLiD,MAAOkD,IAEP7F,GAEJ,6BACE,6BACE,kBAAC,EAAD,CACE0C,QAAQ,gBACRJ,KAAK,QACLY,MAAQyC,EACR9C,SAAU,SAACmC,GAAD,OAAS,EAAKT,SAAS,CAAEoB,MAAOX,KAC1CpC,SAAS,MAGX,kBAAC,EAAD,CACEF,QAAQ,WACRJ,KAAK,WACLY,MAAQ0C,EACR/C,SAAU,SAACmC,GAAD,OAAS,EAAKT,SAAS,CAAEqB,IAAKZ,KACxCpC,SAAS,IACToB,WAAY,SAAClB,GACG,UAAVA,EAAEQ,KACJ,EAAK0C,mBAMf,4BAAQ1F,UAAU,OAAOC,QAASC,KAAKwF,YAAa7C,SAAU2C,GAC3DA,EAAa,yBAAK/F,IAAKmI,IAAQ7H,IAAI,aAAaX,MAAO,CAAEO,MAAO,GAAImE,OAAQ,MAAU,SAEzF,4BAAQ9D,UAAU,OAAOC,QAASC,KAAK0F,cAAe/C,SAAU4C,GAC7DA,EAAkB,yBAAKhG,IAAKmI,IAAQ7H,IAAI,aAAaX,MAAO,CAAEO,MAAO,GAAImE,OAAQ,MAAU,kBAE9F,4DAAsC,8BAAM,kBAAC,IAAD,CAAM9D,UAAU,QAAQ6H,GAAG,WAA3B,YAC5C,2BAAG,yCAAH,6EAQJ,yBAAK1I,GAAG,iBACN,yBAAKA,GAAG,iBACR,yBAAKM,IAAKkI,IAAM3H,UAAU,qBAC1B,yBAAKb,GAAG,aACN,uBACEC,MAAO,CACLiD,MAAOkD,IAEP7F,GAEJ,8BAIA,2BAAG,kH,GApOwBU,IAAMC,WCHxByH,E,kDACnB,WAAY3H,GAAQ,IAAD,8BACjB,cAAMA,IACDmB,MAAQ,CACXyG,MAAO,GACPC,MAAO,GACP3C,MAAO,GACP4C,QAAS,GACT3C,IAAK,GACL4C,OAAQ,GACRxI,MAAO,GACPyI,gBAAgB,GAElB,EAAKC,eAAiB,EAAKA,eAAezC,KAApB,gBAZL,E,qDAenB,WACE,IAAMxG,EAAKsD,eAAeC,QAAQ,MAC5BmD,EAAQpD,eAAeC,QAAQ,SACjCvD,GAAM0G,GACY3F,KAAKC,MAAjB2F,QACAf,QAAQ,O,4BAIpB,WAAkB,IAAD,OACf7E,KAAK+D,SAAS,CAAEkE,gBAAgB,IAChC,MAAqDjI,KAAKoB,MAAlDyG,EAAR,EAAQA,MAAOC,EAAf,EAAeA,MAAO3C,EAAtB,EAAsBA,MAAM4C,EAA5B,EAA4BA,QAAS3C,EAArC,EAAqCA,IAAK4C,EAA1C,EAA0CA,OACtCH,GAASC,GAAS3C,GAAS4C,GAAW3C,GAAO4C,EAC3C5C,IAAQ4C,EACN5D,EAAWzC,KAAKwD,GACdb,EAAS3C,KAAKyD,GAChBU,MAAM,GAAD,OAAIC,8BAAJ,0BAA2D,CAC9DC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACnBgC,UAAWN,EACXO,SAAUN,EACV1B,MAAOjB,EACPkB,SAAUjB,EACViD,YAAYN,IAEdzB,QAAS,CACP,eAAgB,sBAGjBC,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACmB,MAAnBA,EAAIE,YAWN,EAAK3C,SAAS,CAAEkE,gBAAgB,IAChC,EAAKlE,SAAS,CAAEvE,MAAO,4GAA4G4F,IAAI,GAAG4C,OAAO,GAAGH,MAAM,GAAGC,MAAM,GAAGC,QAAQ,GAAG5C,MAAM,OAEvL,EAAKpB,SAAS,CAAEvE,MAAOgH,EAAIW,IAAK/B,IAAK,GAAI4C,OAAQ,KACjD,EAAKjE,SAAS,CAAEkE,gBAAgB,QAGnCb,OAAM,SAAAC,GACLC,QAAQC,IAAIF,GACZ,EAAKtD,SAAS,CAAEkE,gBAAgB,IAChC,EAAKlE,SAAS,CAAEvE,MAAO,8CAA+C4F,IAAK,GAAI4C,OAAQ,SAG3FhI,KAAK+D,SAAS,CAAEkE,gBAAgB,IAChCjI,KAAK+D,SACH,CACEvE,MAAO,uPAAwP4F,IAAK,GAAI4C,OAAQ,OAKtRhI,KAAK+D,SAAS,CAAEkE,gBAAgB,IAChCjI,KAAK+D,SACH,CACEvE,MAAO,qCAAsC4F,IAAK,GAAI4C,OAAQ,OAKpEhI,KAAK+D,SAAS,CAAEkE,gBAAgB,IAChCjI,KAAK+D,SAAS,CAAEvE,MAAO,0BAA2B4F,IAAK,GAAI4C,OAAQ,OAGrEhI,KAAK+D,SAAS,CAAEkE,gBAAgB,IAChCjI,KAAK+D,SAAS,CAAEvE,MAAO,qCAAsC4F,IAAK,GAAI4C,OAAQ,Q,oBAIlF,WAAU,IAAD,OACP,EAA4EhI,KAAKoB,MAAzEyG,EAAR,EAAQA,MAAOC,EAAf,EAAeA,MAAO3C,EAAtB,EAAsBA,MAAM4C,EAA5B,EAA4BA,QAASvI,EAArC,EAAqCA,MAAO4F,EAA5C,EAA4CA,IAAK4C,EAAjD,EAAiDA,OAAQC,EAAzD,EAAyDA,eACzD,OACE,yBAAKhJ,GAAG,iBACN,yBAAKA,GAAG,gBACR,yBAAKM,IAAKkI,IAAM3H,UAAU,qBACxB,yBAAKb,GAAG,aAEN,uBAAGC,MAAO,CAAEiD,MAAO,QAAU3C,GAC7B,6BACE,6BACE,kBAAC,EAAD,CACE0C,QAAQ,aACRJ,KAAK,OACLY,MAAOmF,EACPxF,SAAU,SAACmC,GACwB,IAA7BD,EAAoBC,IAAsB,KAARA,EAAc,EAAKT,SAAS,CAAE8D,MAAOrD,IAAgBjB,MAAM,iCAEnGnB,SAAS,MAGX,kBAAC,EAAD,CACEM,MAAOoF,EACP5F,QAAQ,YACRJ,KAAK,OACLO,SAAU,SAACmC,GAAD,OAAS,EAAKT,SAAS,CAAE+D,MAAOtD,KAC1CpC,SAAS,MAGX,kBAAC,EAAD,CACEF,QAAQ,gBACRJ,KAAK,QACLY,MAAOyC,EACP9C,SAAU,SAACmC,GAAD,OAAS,EAAKT,SAAS,CAAEoB,MAAOX,KAC1CpC,SAAS,IACTyB,MAAQ,uFAEV,kBAAC,EAAD,CACE3B,QAAQ,eACRJ,KAAK,UACLY,MAAOqF,EACP1F,SAAU,SAACmC,GAC0B,IFhBlB,SAACA,GAEpC,MADgB,YACJ7C,KAAK6C,GACR,EAEF,EEWe8D,CAAsB9D,IAAsB,KAARA,EAAc,EAAKT,SAAS,CAAEgE,QAASvD,IAAgBjB,MAAM,+BAEvGnB,SAAS,MAEX,kBAAC,EAAD,CACEF,QAAQ,WACRJ,KAAK,WACLY,MAAO0C,EACP/C,SAAU,SAACmC,GAAD,OAAS,EAAKT,SAAS,CAAEqB,IAAKZ,KACxCpC,SAAS,IACTyB,MAAM,yIAER,kBAAC,EAAD,CACE3B,QAAQ,mBACRJ,KAAK,WACLY,MAAOsF,EACP3F,SAAU,SAACmC,GAAD,OAAS,EAAKT,SAAS,CAAEiE,OAAQxD,KAC3CpC,SAAS,IACToB,WAAY,SAAClB,GACG,UAAVA,EAAEQ,KACJ,EAAKoF,sBAOf,4BAAQpI,UAAU,OAAOC,QAASC,KAAKkI,eAAgBvF,SAAUsF,GAC9DA,EAAiB,yBAAK1I,IAAKmI,IAAQ7H,IAAI,aAAaX,MAAO,CAAEO,MAAO,GAAImE,OAAQ,MAAW,iB,GAtKtEzD,a,wBCDfoI,E,kDACnB,WAAYtI,GAAQ,IAAD,8BACjB,cAAMA,IACDmB,MAAQ,CACXoH,MAAO,GACPC,YAAa,GAEbC,sBAAwB,GACxBC,gBAAkB,GAElBC,oBAAsB,GACtBC,cAAgB,GAEhBC,6BAA+B,GAC/BC,uBAAyB,GAEzBC,oBAAsB,GACtBC,cAAgB,GAEhBC,uBAAyB,GACzBC,iBAAmB,GAEnBC,8BAAgC,GAChCC,wBAA0B,GAG1BC,yBAA2B,GAC3BC,mBAAqB,GAGrBC,SAAS,EACTC,WAAW,EACXjK,MAAO,GACPkK,eAAe,EACfC,QAAS,GACTC,eAAgB,EAChBC,kBAAoB,EACpBC,6BAA+B,EAC/B3H,MAAO,MACP4H,SAAS,GAGX,EAAKC,aAAe,EAAKA,aAAavE,KAAlB,gBACpB,EAAKwE,SAAW,EAAKA,SAASxE,KAAd,gBA1CC,E,qDA6CnB,WAAqB,IAAD,OAElBK,MAAM,GAAD,OAAIC,8BAAJ,iCACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAE4F,QAASnD,OAE1BD,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,+CAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIzB,UAChBwB,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAE6F,eAAgBM,SAAS1D,QAE1CD,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,6CAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIzB,UAChBwB,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAE8F,kBAAmBK,SAAS1D,QAE7CD,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,wDAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIzB,UAChBwB,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAE+F,6BAA8BI,SAAS1D,QAExDD,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,+BAAgE,CAC/EC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACnBU,wBAAyB,EAAK5G,MAAMkK,yBAA2BD,SAAS3H,eAAeC,QAAQ,OAC/FoE,MAAO,EAAK3G,MAAM0F,OAASpD,eAAeC,QAAQ,UAAYD,eAAeC,QAAQ,WAEvF8D,QAAS,CACP,eAAgB,yBAGnBC,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACmB,MAAnBA,EAAIE,aACDF,EAAI5D,KAAKwH,UAKd,EAAKrG,SAAS,CAAEyF,SAAS,QAI5BpC,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,Q,0BAI9B,SAAagD,GACX,IAAM7B,EAAK,YAAOxI,KAAKoB,MAAMoH,OAC7BA,EAAM8B,OAAOD,EAAO,GACpBrK,KAAK+D,SAAS,CAAEyE,MAAOA,M,6DAGzB,uCAAA3C,EAAA,6DACU2C,EAAUxI,KAAKoB,MAAfoH,MACFyB,EAFR,+BAAApE,EAAA,MAEmB,WAAM0E,GAAN,SAAA1E,EAAA,+EAAc,IAAI2E,SAAQ,SAACC,EAASC,GACnD,IAAMC,EAAS,IAAIC,WACnBD,EAAOE,cAAcN,GACrBI,EAAOG,OAAS,WACd,IAAIC,EAASJ,EAAOI,OAAOC,MAAM,KAAK,GACtC,OAAOP,EAAQM,IAEjBJ,EAAOM,QAAU,SAAAzL,GAAK,OAAIkL,EAAOlL,OAEhC+G,MAAK,SAACC,GACL,OAAOA,KAERY,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,OAZX,2CAFnB,sDAgBQ6D,EAAe1C,EAAMzF,KAAI,SAAAC,GAAO,OAAIiH,EAASjH,MAhBrD,kBAiBSwH,QAAQW,IAAID,GAChB3E,MAAK,SAACC,EAAK4E,GACV,GAAIA,EAAK,MAAMA,EACf,IAAMC,EAAc,GAYpB,OAXA7C,EAAM8C,SAAQ,SAACtI,EAASiC,GACtB,IAAMsG,EAAY,IAAMvI,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,GACnFwI,EAAYG,KAAK,CACf3E,wBAAyB,EAAK5G,MAAMkK,yBAA2B5H,eAAeC,QAAQ,MACtFiJ,SAAUzI,EAAQ0I,UAAY,IAAK1I,EAAQlB,KAC3C6J,cAAeJ,EACfK,YAAapF,EAAIvB,GACjB4G,MAAO7I,EAAQ6I,MACfH,UAAU1I,EAAQ0I,eAGfL,KAERjE,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,OAlC9B,gD,gFAqCA,WAAgB,IAAD,OACbrH,KAAK+D,SAAS,CAAE2F,eAAe,IAEhC1J,KAAKiK,WACD1D,MAAK,SAACC,GAAD,OAASV,MAAM,GAAD,OAAIC,8BAAJ,2CAA2E,CAC7FC,OAAQ,OACRC,KAAMO,EAAI3D,OAASqD,KAAKC,UAAUK,GAAON,KAAKC,UAAU,CAAC,CAAEU,wBAAyB,EAAK5G,MAAMkK,yBAA2B5H,eAAeC,QAAQ,SACjJ8D,QAAS,CACP,eAAgB,yBAInBC,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACmB,MAAnBA,EAAIE,YAEP,EAAK3C,SAAS,CAAEvE,MAAO,GAAI2C,MAAO,QAASuH,eAAe,EAAOK,SAAS,IAE1E+B,OAAOC,SAASlH,QAAQ2B,EAAIG,KAAKqF,eACJ,MAAnBxF,EAAIE,YACb,EAAK3C,SAAS,CAAEvE,MAAO,gCAAiC2C,MAAO,QAASuH,eAAe,EAAOK,SAAS,IACvGxG,MAAM,kCAIN,EAAKQ,SAAS,CAAEvE,MAAOgH,EAAIW,IAAKuC,eAAe,EAAOvH,MAAO,WAGhEiF,OAAM,SAAAC,GACLC,QAAQC,IAAIF,GACZ,EAAKtD,SAAS,CAAEvE,MAAO,mCAAoCkK,eAAe,S,oBAIhF,WAAU,IAAD,OACP,EAGE1J,KAAKoB,MAHEoI,EAAT,EAASA,QAAShB,EAAlB,EAAkBA,MAAQoB,EAA1B,EAA0BA,eAAeC,EAAzC,EAAyCA,kBAAkBC,EAA3D,EAA2DA,6BAA8BH,EAAzF,EAAyFA,QAASxH,EAAlG,EAAkGA,MAAOsG,EAAzG,EAAyGA,YAAaC,EAAtH,EAAsHA,sBACpHE,EADF,EACEA,oBAAqBE,EADvB,EACuBA,6BAA+BE,EADtD,EACsDA,oBAAsBE,EAD5E,EAC4EA,uBAAuBE,EADnG,EACmGA,8BAA8BE,EADjI,EACiIA,yBAA0B9J,EAD3J,EAC2JA,MAAOkK,EADlK,EACkKA,cAAeD,EADjL,EACiLA,UAAWM,EAD5L,EAC4LA,QAG5L,GAAIP,EACF,OACE,yBAAKvK,GAAG,iBACN,yBAAKA,GAAG,gBAEN,yBAAKA,GAAG,YAAYC,MAAO,CAAEC,QAAS,OAAQE,eAAgB,WAC5D,yBAAKE,IAAK0M,IAAQ/M,MAAO,CACvBG,eAAgB,SAChB4E,WAAY,OACZiI,YAAa,QACZrM,IAAI,kBASjB,IAAIsM,EAAc,GACZC,EAAc,GACpBzC,EAAQ2B,SAAQ,SAACtI,EAASiC,GACpBA,IAAM0E,EAAQ9G,OAAS,EACzBsJ,GAAenJ,EAAQG,KAChBgJ,GAAenJ,EAAQG,KAAO,IACvCiJ,EAAYZ,KAAKxI,EAAQG,SAE3B,IAAMkJ,EAAY,GACdC,EAAQ,EAkCZ,OAhCC9D,EAAM8C,SAAQ,SAACtI,EAASqH,GAEvBiC,GAASC,WAAWvJ,EAAQwJ,MAExBC,KAAKC,MAAOJ,EAAQ,IAAW,KAAO,KAAOxC,EAEjDuC,EAAUb,KACR,4BACE,4BAAKxI,EAAQlB,MACb,4BAAKkB,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,IAChE,4BAAK4J,KAAKC,MAAO1J,EAAQwJ,KAAO,IAAW,KAAO,KAClD,4BAAKxJ,EAAQ0I,WACb,4BACE,yBACEnM,IAAKoN,EAAQ,IACbzN,MAAO,CAAEO,MAAO,GAAImE,OAAQ,IAC5B7D,QAASgK,EAAU,KAAO,EAAK6C,aAAanH,KAAK,EAAM4E,GACvDxK,IAAI,eASV0D,MAAM,wFACN,EAAKqJ,aAAavC,GAClBiC,GAASC,WAAWvJ,EAAQwJ,UAM9B,yBAAKvN,GAAG,iBACN,yBAAKA,GAAG,gBACR,yBAAKM,IAAKkI,IAAM3H,UAAU,qBACxB,yBAAKb,GAAG,aACN,yBAAKA,GAAG,mBACN,wBAAIa,UAAU,eAAd,sBACA,4BACEA,UAAU,OACVC,QAASC,KAAKC,MAAMF,QACpBd,GAAG,iBAHL,WAMF,8DAAoC2K,EAApC,gCACA,+EAAqDC,EAArD,OACA,uFAA6DC,EAA7D,QACA,2JAIA,yBACI/J,QAAS,kBAAM,EAAKgE,SAAS,CAAE0F,WAAW,KAASvK,MAAO,CAAE2N,OAAQ,YAEpE,uBAAG/M,UAAU,oBAAoBZ,MAAO,CAAEiD,MAAO,UAAW2K,eAAgB,cAAe,uBAAGhN,UAAU,oBAAoBiN,cAAY,SAAxI,8BAGL,yBAAK7N,MAAO,CAAEE,cAAe,MAAOD,QAAS,OAAQ6N,WAAY,WAC9D,6BACE,2BACE7J,KAAK,OACLjE,MAAO,CAAEC,QAAS,QAClBiD,UAAU,EACVyB,MAAM,cACNoJ,UAAU,EACVhO,GAAG,aACHc,QAAS,SAACuC,GACJyH,GACFzH,EAAEgB,iBAEJhB,EAAE3B,OAAO+B,MAAQ,MAGnBL,SAAU,SAACC,GACT,IAAKyH,EAAS,CACZ,IAAMmD,EAAU5K,EAAE3B,OAAO6H,MACnB2E,EAAeC,MAAMC,KAAK/K,EAAE3B,OAAO6H,OACzC,GAAK0E,EAAQrK,OAAS2F,EAAM3F,OAAU+G,EACpCrG,MAAM,oBAAD,OAAqBqG,EAArB,qBACA,CACL,IAAI5E,EAAQ,EACZmI,EAAa7B,SAAQ,SAAAtI,GACnB,IAAMuI,EAAY,IAAMvI,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,GACnFG,EAAQ6I,MAAQ,uBAChB7I,EAAQ0I,UAAU,yBAElB,IAAI,IAAIzG,EAAI,EAAIA,EAAImH,EAAYvJ,OAASoC,IAEvC,IAAuD,IAApDmH,EAAYnH,GAAG/B,QAAQqI,EAAU+B,eACpC,CACE,GAAGb,KAAKC,MAAO1J,EAAQwJ,KAAO,IAAW,KAAO,KAAO3C,EACvD,CACE7E,EAAQ,EACR,MAIAzB,MAAM,2EACNyB,GAAS,EACT,UAQM,IAAVA,EACF,EAAKjB,SAAS,CAAEyE,MAAM,GAAD,mBAAM,EAAKpH,MAAMoH,OAAjB,YAA2B4E,MAAMC,KAAKH,KAAWzE,YAAY,GAAD,mBAAMA,GAAN,CAAmByE,MAClF,IAATlI,GAAczB,MAAM,8CAKrCgK,OAAQpB,IACZ,2BACIhJ,KAAK,OACLjE,MAAO,CAAEC,QAAS,QAClBiD,UAAU,EACVL,OAAO,0BACPkL,UAAU,EACVhO,GAAG,wBACHc,QAAS,SAACuC,GACRA,EAAE3B,OAAO+B,MAAQ,KACbqH,GACFzH,EAAEgB,kBAGNjB,SAAU,SAACC,GACT,IAAKyH,EAAS,CACZ,IAAMyD,EAAoBlL,EAAE3B,OAAO6H,MAC7BiF,EAAyBL,MAAMC,KAAK/K,EAAE3B,OAAO6H,OACnD,GAAKgF,EAAkB3K,OAAS2F,EAAM3F,OAAU+G,EAC9CrG,MAAM,oBAAD,OAAqBqG,EAArB,qBACA,CACL,IAAI5E,EAAQ,EACZyI,EAAuBnC,SAAQ,SAAAtI,GAC7B,IAAMuI,EAAY,IAAMvI,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,GACnFG,EAAQ6I,MAAQ,aAChB7I,EAAQ0I,UAAY,mCAEpB,IAAI,IAAIzG,EAAI,EAAIA,EAAImH,EAAYvJ,OAASoC,IAEvC,IAAuD,IAApDmH,EAAYnH,GAAG/B,QAAQqI,EAAU+B,eACpC,CACE,GAAGb,KAAKC,MAAO1J,EAAQwJ,KAAO,IAAW,KAAO,KAAO3C,EACvD,CACE7E,EAAQ,EACR,MAIAzB,MAAM,2EACNyB,GAAS,EACT,UAQM,IAAVA,EACF,EAAKjB,SAAS,CAAEyE,MAAM,GAAD,mBAAM,EAAKpH,MAAMoH,OAAjB,YAA0B,EAAKpH,MAAMuH,iBAArC,YACfyE,MAAMC,KAAKG,KACd9E,sBAAsB,GAAD,mBAAMA,GAAN,CAA6B8E,MAClC,IAAVxI,GAAezB,MAAM,8CAItCgK,OAAQpB,IAEV,2BACEhJ,KAAK,OACLjE,MAAO,CAAEC,QAAS,QAClB8N,UAAU,EACVhO,GAAG,sBACHc,QAAS,SAACuC,GACRA,EAAE3B,OAAO+B,MAAQ,KACbqH,GACFzH,EAAEgB,kBAGNjB,SAAU,SAACC,GACT,IAAKyH,EAAS,CACZ,IAAM2D,EAAkBpL,EAAE3B,OAAO6H,MAC3BmF,EAAuBP,MAAMC,KAAK/K,EAAE3B,OAAO6H,OACjD,GAAKkF,EAAgB7K,OAAS2F,EAAM3F,OAAU+G,EAC5CrG,MAAM,oBAAD,OAAqBqG,EAArB,qBACA,CACL,IAAI5E,EAAQ,EACZ2I,EAAqBrC,SAAQ,SAAAtI,GAC3B,IAAMuI,EAAY,IAAMvI,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,GACnFG,EAAQ6I,MAAQ,WAChB7I,EAAQ0I,UAAY,WACpB,IAAI,IAAIzG,EAAI,EAAIA,EAAImH,EAAYvJ,OAASoC,IAEvC,IAAuD,IAApDmH,EAAYnH,GAAG/B,QAAQqI,EAAU+B,eACpC,CACE,GAAGb,KAAKC,MAAO1J,EAAQwJ,KAAO,IAAW,KAAO,KAAO3C,EACvD,CACE7E,EAAQ,EACR,MAIAzB,MAAM,2EACNyB,GAAS,EACT,UASM,IAAVA,EACF,EAAKjB,SAAS,CAAEyE,MAAM,GAAD,mBAAM,EAAKpH,MAAMoH,OAAjB,YAA0B,EAAKpH,MAAMyH,eAArC,YAAuDuE,MAAMC,KAAKK,KAAmB9E,oBAAoB,GAAD,mBAAMA,GAAN,CAA2B8E,MACrI,IAAV1I,GAAezB,MAAM,8CAItCgK,OAAQpB,IAEV,2BACEhJ,KAAK,OACLjE,MAAO,CAAEC,QAAS,QAClB8N,UAAU,EACVhO,GAAG,+BACHc,QAAS,SAACuC,GACRA,EAAE3B,OAAO+B,MAAQ,KACbqH,GACFzH,EAAEgB,kBAGNjB,SAAU,SAACC,GACT,IAAKyH,EAAS,CACZ,IAAM6D,EAA2BtL,EAAE3B,OAAO6H,MACpCqF,EAAgCT,MAAMC,KAAK/K,EAAE3B,OAAO6H,OAC1D,GAAKoF,EAAyB/K,OAAS2F,EAAM3F,OAAU+G,EACrDrG,MAAM,oBAAD,OAAqBqG,EAArB,qBACA,CACL,IAAI5E,EAAQ,EACZ6I,EAA8BvC,SAAQ,SAAAtI,GACpC,IAAMuI,EAAY,IAAMvI,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,GACnFG,EAAQ6I,MAAQ,oBAChB7I,EAAQ0I,UAAY,qBAKpB,IAAI,IAAIzG,EAAI,EAAIA,EAAImH,EAAYvJ,OAASoC,IAEvC,IAAuD,IAApDmH,EAAYnH,GAAG/B,QAAQqI,EAAU+B,eACpC,CACE,GAAGb,KAAKC,MAAO1J,EAAQwJ,KAAO,IAAW,KAAO,KAAO3C,EACvD,CACE7E,EAAQ,EACR,MAIAzB,MAAM,2EACNyB,GAAS,EACT,UAKM,IAAVA,EACF,EAAKjB,SAAS,CAAEyE,MAAM,GAAD,mBAAM,EAAKpH,MAAMoH,OAAjB,YAA0B,EAAKpH,MAAM2H,wBAArC,YAAgEqE,MAAMC,KAAKO,KAA4B9E,6BAA6B,GAAD,mBAAMA,GAAN,CAAoC8E,MACzK,IAAV5I,GAAezB,MAAM,8CAItCgK,OAAQpB,IAEV,2BACEhJ,KAAK,OACLjE,MAAO,CAAEC,QAAS,QAClB8N,UAAU,EACVhO,GAAG,sBACHc,QAAS,SAACuC,GACRA,EAAE3B,OAAO+B,MAAQ,KACbqH,GACFzH,EAAEgB,kBAGNjB,SAAU,SAACC,GACT,IAAKyH,EAAS,CACZ,IAAM+D,EAAkBxL,EAAE3B,OAAO6H,MAC3BuF,EAAuBX,MAAMC,KAAK/K,EAAE3B,OAAO6H,OACjD,GAAKsF,EAAgBjL,OAAS2F,EAAM3F,OAAU+G,EAC5CrG,MAAM,oBAAD,OAAqBqG,EAArB,qBACA,CACL,IAAI5E,EAAQ,EACZ+I,EAAqBzC,SAAQ,SAAAtI,GAC3B,IAAMuI,EAAY,IAAMvI,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,GACnFG,EAAQ6I,MAAQ,uBAChB7I,EAAQ0I,UAAY,wBAKpB,IAAI,IAAIzG,EAAI,EAAIA,EAAImH,EAAYvJ,OAASoC,IAEvC,IAAuD,IAApDmH,EAAYnH,GAAG/B,QAAQqI,EAAU+B,eACpC,CACE,GAAGb,KAAKC,MAAO1J,EAAQwJ,KAAO,IAAW,KAAO,KAAO3C,EACvD,CACE7E,EAAQ,EACR,MAIAzB,MAAM,2EACNyB,GAAS,EACT,UAMM,IAAVA,EACF,EAAKjB,SAAS,CAAEyE,MAAM,GAAD,mBAAM,EAAKpH,MAAMoH,OAAjB,YAA0B,EAAKpH,MAAM6H,eAArC,YAAuDmE,MAAMC,KAAKS,KAAmB9E,oBAAoB,GAAD,mBAAMA,GAAN,CAA2B8E,MAErI,IAAV9I,GACRzB,MAAM,8CAIfgK,OAAQpB,IAG1B,2BACkBhJ,KAAK,OACLjE,MAAO,CAAEC,QAAS,QAClB8N,UAAU,EACVhO,GAAG,gCACHc,QAAS,SAACuC,GACRA,EAAE3B,OAAO+B,MAAQ,KACbqH,GACFzH,EAAEgB,kBAGNjB,SAAU,SAACC,GACT,IAAKyH,EAAS,CACZ,IAAMiE,EAA0B1L,EAAE3B,OAAO6H,MACnCyF,EAAgCb,MAAMC,KAAK/K,EAAE3B,OAAO6H,OAC1D,GAAKwF,EAAwBnL,OAAS2F,EAAM3F,OAAU+G,EACpDrG,MAAM,oBAAD,OAAqBqG,EAArB,qBACA,CACL,IAAI5E,EAAQ,EACZiJ,EAA8B3C,SAAQ,SAAAtI,GACpC,IAAMuI,EAAY,IAAMvI,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,GACnFG,EAAQ6I,MAAQ,qBAChB7I,EAAQ0I,UAAY,sBAKpB,IAAI,IAAIzG,EAAI,EAAIA,EAAImH,EAAYvJ,OAASoC,IAEvC,IAAuD,IAApDmH,EAAYnH,GAAG/B,QAAQqI,EAAU+B,eACpC,CACE,GAAGb,KAAKC,MAAO1J,EAAQwJ,KAAO,IAAW,KAAO,KAAO3C,EACvD,CACE7E,EAAQ,EACR,MAIAzB,MAAM,2EACNyB,GAAS,EACT,UAMM,IAAVA,EACF,EAAKjB,SAAS,CAAEyE,MAAM,GAAD,mBAAM,EAAKpH,MAAMoH,OAAjB,YAA0B,EAAKpH,MAAMiI,yBAArC,YAAiE+D,MAAMC,KAAKW,KAA2B5E,8BAA8B,GAAD,mBAAMA,GAAN,CAAqC4E,MAE3K,IAAVhJ,GACRzB,MAAM,8CAIfgK,OAAQpB,IAG1B,2BACkBhJ,KAAK,OACLjE,MAAO,CAAEC,QAAS,QAClB8N,UAAU,EACVhO,GAAG,2BACHc,QAAS,SAACuC,GACRA,EAAE3B,OAAO+B,MAAQ,KACbqH,GACFzH,EAAEgB,kBAGNjB,SAAU,SAACC,GACT,IAAKyH,EAAS,CACZ,IAAMmE,EAAuB5L,EAAE3B,OAAO6H,MAChC2F,EAA4Bf,MAAMC,KAAK/K,EAAE3B,OAAO6H,OACtD,GAAK0F,EAAqBrL,OAAS2F,EAAM3F,OAAU+G,EACjDrG,MAAM,oBAAD,OAAqBqG,EAArB,qBACA,CACL,IAAI5E,EAAQ,EACZmJ,EAA0B7C,SAAQ,SAAAtI,GAChC,IAAMuI,EAAY,IAAMvI,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,GACnFG,EAAQ6I,MAAQ,gBAChB7I,EAAQ0I,UAAY,iBAKpB,IAAI,IAAIzG,EAAI,EAAIA,EAAImH,EAAYvJ,OAASoC,IAEvC,IAAuD,IAApDmH,EAAYnH,GAAG/B,QAAQqI,EAAU+B,eACpC,CACE,GAAGb,KAAKC,MAAO1J,EAAQwJ,KAAO,IAAW,KAAO,KAAO3C,EACvD,CACE7E,EAAQ,EACR,MAIAzB,MAAM,2EACNyB,GAAS,EACT,UAMM,IAAVA,EACF,EAAKjB,SAAS,CAAEyE,MAAM,GAAD,mBAAM,EAAKpH,MAAMoH,OAAjB,YAA0B,EAAKpH,MAAMmI,oBAArC,YAA4D6D,MAAMC,KAAKa,KAAwB5E,yBAAyB,GAAD,mBAAMA,GAAN,CAAgC4E,MAEzJ,IAAVlJ,GACRzB,MAAM,8CAIfgK,OAAQpB,IAER,2BACAhJ,KAAK,OACLjE,MAAO,CAAEC,QAAS,QAClB8N,UAAU,EACVhO,GAAG,yBACHc,QAAS,SAACuC,GACRA,EAAE3B,OAAO+B,MAAQ,KACbqH,GACFzH,EAAEgB,kBAGNjB,SAAU,SAACC,GACT,IAAKyH,EAAS,CACZ,IAAMqE,EAAqB9L,EAAE3B,OAAO6H,MAC9B6F,EAA0BjB,MAAMC,KAAK/K,EAAE3B,OAAO6H,OACpD,GAAK4F,EAAmBvL,OAAS2F,EAAM3F,OAAU+G,EAC/CrG,MAAM,oBAAD,OAAqBqG,EAArB,qBACA,CACL,IAAI5E,EAAQ,EACZqJ,EAAwB/C,SAAQ,SAAAtI,GAC9B,IAAMuI,EAAY,IAAMvI,EAAQlB,KAAKkJ,MAAM,KAAMhI,EAAQlB,KAAKkJ,MAAM,KAAMnI,OAAS,GACnFG,EAAQ6I,MAAQ,kBAChB7I,EAAQ0I,UAAY,sBAKpB,IAAI,IAAIzG,EAAI,EAAIA,EAAImH,EAAYvJ,OAASoC,IAEvC,IAAuD,IAApDmH,EAAYnH,GAAG/B,QAAQqI,EAAU+B,eACpC,CACE,GAAGb,KAAKC,MAAO1J,EAAQwJ,KAAO,IAAW,KAAO,KAAO3C,EACvD,CACE7E,EAAQ,EACR,MAIAzB,MAAM,2EACNyB,GAAS,EACT,UAMM,IAAVA,EACF,EAAKjB,SAAS,CAAEyE,MAAM,GAAD,mBAAM,EAAKpH,MAAMoH,OAAjB,YAA0B,EAAKpH,MAAM+H,kBAArC,YAA0DiE,MAAMC,KAAKe,KAAsBlF,uBAAuB,GAAD,mBAAMA,GAAN,CAA8BkF,MAEjJ,IAAVpJ,GACRzB,MAAM,8CAIfgK,OAAQpB,IAGV,2BAAOmC,YAAY,IAAIC,YAAY,IAAIzO,UAAU,cAC/C,4BACE,wBAAIZ,MAAO,CAAEsP,aAAc,SAAU,qCACrC,4BACE,2BAAOC,QAAQ,aAAa3O,UAAWiK,EAAU,sBAAwB,cACvE,8BACE,uBAAGjK,UAAU,sBAAsBiN,cAAY,SAC/C,8BAAO,IAAP,2CACA,0BAAM7N,MAAO,CAACiD,MAAM,QAApB,SAMR,6BACA,4BACE,4BAAI,qCACJ,4BACE,2BAAOsM,QAAQ,wBAAwB3O,UAAWiK,EAAU,sBAAwB,cAClF,8BACE,uBAAGjK,UAAU,sBAAsBiN,cAAY,SAC/C,8BAAO,IAAP,uCAGJ,2BAAOjN,UAAU,iBAAiBZ,MAAO,CAACiD,MAAM,MAAMgC,SAAS,OAAOuK,UAAU,WAAhF,+BAIJ,6BACA,4BACE,4BAAI,qCACJ,4BACE,2BAASD,QAAQ,sBAAsB3O,UAAWiK,EAAU,sBAAwB,cAClF,8BACE,uBAAGjK,UAAU,sBAAsBiN,cAAY,SAC/C,8BAAO,IAAP,cAIJ,2BAAOjN,UAAU,iBAAiBZ,MAAO,CAACiD,MAAM,MAAMgC,SAAS,OAAOuK,UAAU,WAAhF,mCAKJ,6BACA,4BACE,4BAAI,qCACJ,4BACE,2BAAOD,QAAQ,+BAA+B3O,UAAWiK,EAAU,sBAAwB,cACzF,8BACE,uBAAGjK,UAAU,sBAAsBiN,cAAY,SAC/C,8BAAO,IAAP,oCAGJ,2BAAOjN,UAAU,iBAAiBZ,MAAO,CAACiD,MAAM,MAAMgC,SAAS,OAAOuK,UAAU,WAAhF,2CAGJ,6BACA,4BACE,4BAAI,qCACJ,4BACE,2BAAOD,QAAQ,sBAAsB3O,UAAWiK,EAAU,sBAAwB,cAChF,8BACE,uBAAGjK,UAAU,sBAAsBiN,cAAY,SAC/C,8BAAO,IAAP,2BAGJ,2BAAOjN,UAAU,iBAAiBZ,MAAO,CAACiD,MAAM,MAAMgC,SAAS,OAAOuK,UAAU,WAAhF,gDAKJ,6BACA,4BACE,4BAAI,qCACJ,4BACE,2BAAOD,QAAQ,gCAAgC3O,UAAWiK,EAAU,sBAAwB,cAC1F,8BACE,uBAAGjK,UAAU,sBAAsBiN,cAAY,SAC/C,8BAAO,IAAP,sGAGJ,2BAAOjN,UAAU,iBAAiBZ,MAAO,CAACiD,MAAM,MAAMgC,SAAS,OAAOuK,UAAU,WAAhF,gDAKJ,6BACA,4BACE,4BAAI,qCACJ,4BACE,2BAAOD,QAAQ,2BAA2B3O,UAAWiK,EAAU,sBAAwB,cACrF,8BACE,uBAAGjK,UAAU,sBAAsBiN,cAAY,SAC/C,8BAAO,IAAP,kEAGJ,2BAAOjN,UAAU,iBAAiBZ,MAAO,CAACiD,MAAM,MAAMgC,SAAS,OAAOuK,UAAU,WAAhF,gDAMJ,6BACA,4BACE,4BAAI,qCACJ,4BACE,2BAAOD,QAAQ,yBAAyB3O,UAAWiK,EAAU,sBAAwB,cACnF,8BACE,uBAAGjK,UAAU,sBAAsBiN,cAAY,SAC/C,8BAAO,IAAP,yBAGJ,2BAAOjN,UAAU,iBAAiBZ,MAAO,CAACiD,MAAM,MAAMgC,SAAS,OAAOuK,UAAU,WAAhF,sFAMR,yBAAK3O,QAAS,kBAAM,EAAKgE,SAAS,CAAE0F,WAAW,KAASvK,MAAO,CAAE2N,OAAQ,cAG1ErN,GAAS,uBAAGN,MAAO,CAAEiD,MAAOA,EAAOgC,SAAU,KAAQ3E,GACrD6M,EAAUxJ,OAAS,yBAAK9C,QAAS,WAC5BgK,GAGJzC,QAAQC,IAAI,MAEZ,uBAAGzH,UAAU,iBAAb,oBACA,yBAAKA,UAAU,0BACb,2BAAOwO,YAAY,IAAIC,YAAY,IAAIzO,UAAU,cAC/C,+BACE,4BACE,oCACA,oCACA,yCACA,oCACA,wCAGJ,+BACGuM,KAIP,uBAAGvM,UAAU,aAAb,gBAAuC2M,KAAKC,MAAOJ,EAAQ,IAAW,KAAO,MACtE,yBAAKxM,UAAU,qBAAf,4CAET,4BACEA,UAAU,uBAEVC,QAASC,KAAKgK,aACdrH,SAAUoH,GAAWL,GAEpBA,EAAgB,yBAAKnK,IAAKmI,IAAQ7H,IAAI,aAAaX,MAAO,CAAEO,MAAO,GAAImE,OAAQ,MAAW,UAE5F6F,EACG,yBAAK3J,UAAU,YACf,yBAAKA,UAAU,SACb,yBAAKA,UAAU,SAASZ,MAAO,CAAEE,cAAe,MAAOD,QAAS,OAAQE,eAAgB,gBAAiBM,OAAQ,IAC/G,mDACA,uBAAGI,QAAS,kBAAM,EAAKgE,SAAS,CAAE0F,WAAW,KAAUvK,MAAO,CAAE2N,OAAQ,YAAxE,MAEF,6BACE,4BACGlD,EAAQ5G,KAAI,SAAAC,GACX,OAAO,wBAAIF,IAAKE,EAAQlB,KAAO,IAAMkB,EAAQG,KAAMjE,MAAO,CAAES,OAAQ,IAAMqD,EAAQlB,aAKnF,Y,GAr3BsB3B,a,iCCJxBwO,E,4JACnB,WACE,OACE,yBAAKpP,IAAKiK,IAAS3J,IAAI,aAAaX,MAAO,CAAEO,MAAO,OAAQmE,OAAQ,c,GAHrCzD,aCEhByO,E,kDACnB,WAAY3O,GAAQ,IAAD,8BACjB,cAAMA,IACDmB,MAAQ,CACXyN,cAAe,GACfC,kBAAmB,EACnBC,aAAc,GACdC,gBAAiB,EACjBC,WAAY,GAEZC,cAAe,EACfC,mBAAoB,EACpBC,eAAgB,GAChBC,gBAAiB,GACjBC,yBAA0B,EAC1BC,qBAAsB,GACtBC,sBAAuB,EACvBC,mBAAoB,GACpBC,oBAAqB,EACrBC,gBAAiB,GACjBnG,SAAS,EACToG,YAAa,GACbC,kBAAmB,GACnBC,cAAe,EACfC,UAAW,GACXC,oBAAqB,GACrBC,oBAAqB,EACrBC,gBAAiB,GACjBC,cAAc,EACdC,aAAc,EACdC,gBAAiB,GACjBC,SAAS,EACTC,eAAe,EACfC,SAAS,GAGX,EAAKC,oBAAsB,EAAKA,oBAAoBhL,KAAzB,gBAC3B,EAAKiL,0BAA4B,EAAKA,0BAA0BjL,KAA/B,gBACjC,EAAKkL,WAAa,EAAKA,WAAWlL,KAAhB,gBAClB,EAAKmL,iBAAmB,EAAKA,iBAAiBnL,KAAtB,gBACxB,EAAKoL,oBAAsB,EAAKA,oBAAoBpL,KAAzB,gBAC3B,EAAKqL,+BACH,EAAKA,+BAA+BrL,KAApC,gBAzCe,E,uDA2InB,WACE,IAAIsL,EAAgB,GACpB,GAA+B,GAA3B/Q,KAAKC,MAAMkQ,aAAsB,CACnCY,EAAgB/Q,KAAKoB,MAAM2O,UAAUiB,MAAK,SAACC,GACzC,MAAqB,eAAdA,EAAIvO,SAEb,IAAI0N,EAAe,EACfc,EAAiB,GAGnB,CAAC,GAAI,UAAMC,EAAW,EAAG,IAAIjO,QAAQgH,SAAS6G,UAC5BI,IAAlBJ,GAEAX,EAAeW,EAAc9N,GAC7BiO,EAAiB,CAACH,KAElBX,EAAe,EACfc,EAAiB,IAGnBlR,KAAK+D,SAAS,CACZoM,aAAcnQ,KAAKC,MAAMkQ,aACzBH,oBAAqBkB,EACrBd,aAAcA,SAIoB,GAA3BpQ,KAAKC,MAAMkQ,cACpBnQ,KAAK+D,SAAS,CACZoM,aAAcnQ,KAAKC,MAAMkQ,iB,4CAK/B,WACE,IAAIY,EAAgB,GACpB,GAA+B,GAA3B/Q,KAAKC,MAAMkQ,aAAsB,CACnCY,EAAgB/Q,KAAKoB,MAAM8O,gBAAgBc,MAAK,SAACC,GAC/C,MAAqB,eAAdA,EAAIvO,SAEb,IAAI0N,EAAe,EACfc,EAAiB,GAGnB,CAAC,GAAI,UAAMC,EAAW,EAAG,IAAIjO,QAAQgH,SAAS6G,UAC5BI,IAAlBJ,GAEAX,EAAeW,EAAc9N,GAC7BiO,EAAiB,CAACH,KAElBX,EAAe,EACfc,EAAiB,IAEnBlR,KAAK+D,SAAS,CACZoM,aAAcnQ,KAAKC,MAAMkQ,aACzBH,oBAAqBkB,EACrBd,aAAcA,SAIoB,GAA3BpQ,KAAKC,MAAMkQ,cACpBnQ,KAAK+D,SAAS,CACZoM,aAAcnQ,KAAKC,MAAMkQ,iB,+BAI/B,WAAqB,IAAD,OAClBrK,MAAM,GAAD,OAAIC,8BAAJ,uCACFQ,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GACL,EAAKzC,SAAS,CACZ8K,cAAerI,EACfsI,kBAAmBtI,EAAI4K,SAAS,EAAKnR,MAAMoR,WACvC,EAAKpR,MAAMoR,UACX,IAEN,EAAKZ,oBAAoB,GACzB,EAAKC,0BAA0B,GAC/B,EAAKC,WAAW,EAAK1Q,MAAM2P,YAAa,EAAK3P,MAAMoQ,iBACnD,EAAKO,iBACH,EAAK3Q,MAAM4P,kBACX,EAAK5P,MAAMoQ,oBAGdjJ,OAAM,SAACC,GAAD,OAASC,QAAQC,IAAIF,MAE3BD,OAAM,SAACC,GAAD,OAASC,QAAQC,IAAIF,MAC3Bd,MAAK,kBACJT,MAAM,GAAD,OACAC,8BADA,2CAINQ,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GACL,EAAKzC,SAAS,CACZqL,eAAgB5I,EAChB6I,gBAAiB7I,EACjB2I,mBAAoB,EAAKlP,MAAMkP,oBAAsB,KAEvD,EAAKpL,SAAS,CACZwL,qBAAsB/I,EACtB8I,yBAA0B,EAAKrP,MAAMqP,0BAA4B,KAInE,EAAKvL,SAAS,CAAEsM,gBAAiB,EAAKpQ,MAAMoQ,mBAInC,IAFP,CAAC,GAAI,UAAMc,EAAW,GAAGjO,QACvBgH,SAAS,EAAKjK,MAAM+O,oBAIf,IAFP,CAAC,GAAI,UAAMmC,EAAW,GAAGjO,QACvBgH,SAAS,EAAKjK,MAAMkP,sBAGtBrJ,MACE,UAAGC,8BAAH,8CACE,EAAK9F,MAAM+O,gBADb,iBAGE,EAAK/O,MAAMkP,mBAHb,WAKE,EAAKlP,MAAMoQ,iBAEZ9J,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GAEL,GADA,EAAKzC,SAAS,CAAEkL,WAAYzI,IACxBA,EAAI3D,QAEJqH,SAAS,EAAKjK,MAAM+O,mBACpB9E,SAAS,EAAKjK,MAAM+O,iBACpB,CAEAxI,EAAI8E,SAAQ,SAACtI,GACX,GAAIA,EAAQN,QAAU,EAAKzC,MAAM2P,YAAa,CAC5C,IAAQd,EAAsB,EAAK1N,MAA3B0N,kBACR,EAAK/K,SAAS,CACZmL,cAAelM,EAAQC,GACvB2M,YAAa,EAAK3P,MAAM2P,YACxBE,cAAe,EAAK7P,MAAM6P,gBAE5B,EAAK7P,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiB,EAAK/O,MAAM+O,gBAC5BE,cAAelM,EAAQC,GACvB2M,YAAa,EAAK3P,MAAM2P,YACxBT,mBAAoB,EAAKlP,MAAMkP,mBAC/BG,yBACE,EAAKrP,MAAMqP,yBACbE,sBAAuB,EAAKvP,MAAMuP,sBAClCE,oBAAqB,EAAKzP,MAAMyP,oBAChCG,kBAAmB,EAAK5P,MAAM4P,kBAC9BC,cAAe,EAAK7P,MAAM6P,cAC1BG,oBAAqB,EAAKhQ,MAAMgQ,oBAChCE,aAAc,EAAKlQ,MAAMkQ,aACzBE,gBAAiB,EAAKpQ,MAAMoQ,2BAWnC,IAFP,CAAC,GAAI,UAAMc,EAAW,GAAGjO,QACvBgH,SAAS,EAAKjK,MAAMuP,0BAIf,IAFP,CAAC,GAAI,UAAM2B,EAAW,GAAGjO,QACvBgH,SAAS,EAAKjK,MAAMqP,4BAGtBxJ,MACE,UAAGC,8BAAH,8CACE,EAAK9F,MAAMuP,sBADb,iBAGE,EAAKvP,MAAMqP,yBAHb,WAKE,EAAKrP,MAAMoQ,iBAEZ9J,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GAEL,GADA,EAAKzC,SAAS,CAAE4L,gBAAiBnJ,IAC7BA,EAAI3D,QAEJqH,SAAS,EAAKjK,MAAMuP,yBACpBtF,SAAS,EAAKjK,MAAMuP,uBACpB,CAEAhJ,EAAI8E,SAAQ,SAACtI,GACPA,EAAQN,QAAU,EAAKzC,MAAM4P,mBAC/B,EAAK9L,SAAS,CACZ2L,oBAAqB1M,EAAQC,GAC7B4M,kBAAmB,EAAK5P,MAAM4P,kBAC9BI,oBAAqB,EAAKhQ,MAAMgQ,gCASjD1J,MAAK,kBACJT,MAAM,GAAD,OACAC,8BADA,0CAGFQ,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GAC8B,SAA/B,EAAKvG,MAAMoQ,kBAAsC,IAAR7J,IAC3C,EAAKvG,MAAMsR,YAAY,eACvB,EAAKxN,SAAS,CAAEwM,cAAe/J,EAAK6J,gBAAiB,MAEvD,EAAKtM,SAAS,CAAEwM,cAAe/J,UAGpCY,OAAM,SAACC,GAAD,OAASC,QAAQC,IAAIF,Q,wBAGhC,SAAW7C,EAAKgN,GAAO,IAAD,OAgBpB,OAfY1L,MAAM,GAAD,OACZC,8BADY,0DACmEvB,EADnE,mBACiFgN,IAE/FjL,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GAEL,GADA,EAAKzC,SAAS,CAAEgM,UAAWvJ,IACvBA,EAAI3D,OAEN,MAAO,MAGV0D,MAAK,SAACC,GACL,EAAKqK,yBAENzJ,OAAM,SAACC,GAAD,OAASC,QAAQC,IAAIF,Q,8BAIhC,SAAiB7C,EAAKgN,GAAO,IAAD,OAgB1B,OAfkB1L,MAAM,GAAD,OAClBC,8BADkB,0DAC6DvB,EAD7D,mBAC2EgN,IAE/FjL,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GAEL,GADA,EAAKzC,SAAS,CAAEmM,gBAAiB1J,IAC7BA,EAAI3D,OAEN,MAAO,MAGV0D,MAAK,SAACC,GACL,EAAKsK,oCAEN1J,OAAM,SAACC,GAAD,OAASC,QAAQC,IAAIF,Q,gCAIhC,SAAmBmK,GAAO,IAAD,OACvB,EAAgDxR,KAAKoB,MAA7CiO,EAAR,EAAQA,gBAAR,EAAyBF,mBAGzBrJ,MAAM,GAAD,OACAC,8BADA,8DACmFyL,IAErFjL,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GACL,IAAIiL,EAAMpC,EAAgBqC,QACtBlL,EAAI3D,QACN2D,EAAI8E,SAAQ,SAACtI,GACXyO,EAAInG,SAAQ,SAACqG,GACP3O,GAAW2O,EAAS1O,KACtBwO,EAAInH,OACFmH,EAAIG,WAAU,SAAU3M,GACtB,OAAOA,EAAEhC,KAAOD,KAElB,GAGF,EAAKyN,oBAAoB,EAAG,EAAGe,UAKvC,EAAKzN,SAAS,CAAEqL,eAAgBqC,EAAKtC,mBAAoB,IACzD,EAAKlP,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmB,EAAK1N,MAAM0N,kBAC9BE,gBAAiB,EAAK5N,MAAM4N,gBAC5BE,cAAe,EAAK9N,MAAM8N,cAE1BU,YAAa,EAAKxO,MAAMwO,YACxBC,kBAAmB,EAAKzO,MAAMyO,kBAC9BV,mBAAoB,EACpBG,yBAA0B,EAAKlO,MAAMkO,yBACrCQ,cAAe,EAAK1O,MAAM0O,cAC1BN,sBAAuB,EAAKpO,MAAMoO,sBAClCE,oBAAqB,EAAKtO,MAAMsO,oBAChCO,oBAAqB,EAAK7O,MAAM6O,oBAChCI,gBAAiB,EAAKjP,MAAMiP,qBAG/BjJ,OAAM,SAACC,GACNC,QAAQC,IAAIF,Q,iCAIlB,SAAoB/E,EAAGkC,EAAKgN,GAAO,IAAD,OACxB1C,EAAsB9O,KAAKoB,MAA3B0N,kBACR9O,KAAK+D,SAAS,CAAEiL,gBAAiB1M,IAEjCwD,MAAM,GAAD,OACAC,8BADA,qDAC0EzD,EAD1E,yBAC4FkC,EAD5F,mBAC0GgN,IAE5GjL,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GAEL,GADA,EAAKzC,SAAS,CAAEkL,WAAYzI,IACxBA,EAAI3D,OACN,GAAIqH,SAAS5H,KAAO4H,SAAS,EAAKjK,MAAM+O,iBAAkB,CACxD,IAAI6C,EAAS,GACbrL,EAAI8E,SAAQ,SAACtI,GACPA,EAAQN,QAAU,EAAKzC,MAAM2P,cAC/BiC,EAAS7O,EAAQC,OAGrB,EAAKc,SAAS,CACZmL,cAAe2C,EACfjC,YAAa,EAAK3P,MAAM2P,YACxBpG,SAAS,EACTsG,cAAe,EAAK7P,MAAM6P,gBAE5B,EAAK7P,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiB1M,EACjB4M,cAAe2C,EACfjC,YAAa,EAAK3P,MAAM2P,YACxBT,mBAAoB,EAAKlP,MAAMkP,mBAC/BG,yBAA0B,EAAKrP,MAAMqP,yBACrCE,sBAAuB,EAAKvP,MAAMuP,sBAClCE,oBAAqB,EAAKzP,MAAMyP,oBAChCG,kBAAmB,EAAK5P,MAAM4P,kBAC9BC,cAAe,EAAK7P,MAAM6P,cAC1BG,oBAAqB,EAAKhQ,MAAMgQ,oBAChCI,gBAAiB,EAAKpQ,MAAMoQ,uBAG9B,EAAKtM,SAAS,CACZmL,cAAe,GACfU,YAAa,GACbpG,SAAS,EACTsG,cAAe,EAAK7P,MAAM6P,gBAE5B,EAAK7P,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiB1M,EACjB4M,cAAe,GACfU,YAAa,GACbT,mBAAoB,EAAKlP,MAAMkP,mBAC/BG,yBAA0B,EAAKrP,MAAMqP,yBACrCE,sBAAuB,EAAKvP,MAAMuP,sBAClCE,oBAAqB,EAAKzP,MAAMyP,oBAChCG,kBAAmB,EAAK5P,MAAM4P,kBAC9BC,cAAe,EAAK7P,MAAM6P,cAC1BG,oBAAqB,EAAKhQ,MAAMgQ,oBAChCI,gBAAiB,EAAKpQ,MAAMoQ,uBAIhC,EAAKtM,SAAS,CACZmL,cAAe,GACfU,YAAa,GACbpG,SAAS,EACTsG,cAAe,EAAK7P,MAAM6P,gBAE5B,EAAK7P,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiB1M,EACjB4M,cAAe,GACfU,YAAa,GACbT,mBAAoB,EAAKlP,MAAMkP,mBAC/BG,yBAA0B,EAAKrP,MAAMqP,yBACrCE,sBAAuB,EAAKvP,MAAMuP,sBAClCE,oBAAqB,EAAKzP,MAAMyP,oBAChCG,kBAAmB,EAAK5P,MAAM4P,kBAC9BC,cAAe,EAAK7P,MAAM6P,cAC1BG,oBAAqB,EAAKhQ,MAAMgQ,oBAChCI,gBAAiB,EAAKpQ,MAAMoQ,qBAIjCjJ,OAAM,SAACC,GACNC,QAAQC,IAAIF,Q,uCAIlB,SAA0B/E,EAAGkC,EAAKgN,GAAO,IAAD,OAC9B1C,EAAsB9O,KAAKoB,MAA3B0N,kBACR9O,KAAK+D,SAAS,CAAEyL,sBAAuBlN,IAGvCwD,MAAM,GAAD,OACAC,8BADA,qDAC0EzD,EAD1E,yBAC4FkC,EAD5F,mBAC0GgN,IAE5GjL,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GAEL,GADA,EAAKzC,SAAS,CAAE4L,gBAAiBnJ,IAC7BA,EAAI3D,OACN,GAAIqH,SAAS5H,KAAO4H,SAAS,EAAKjK,MAAMuP,uBAAwB,CAC9D,IAAIqC,EAAS,GACbrL,EAAI8E,SAAQ,SAACtI,GACPA,EAAQN,QAAU,EAAKzC,MAAM4P,oBAC/BgC,EAAS7O,EAAQC,OAGrB,EAAKc,SAAS,CACZ2L,oBAAqBmC,EACrBhC,kBAAmB,EAAK5P,MAAM4P,kBAC9BrG,SAAS,EACTyG,oBAAqB,EAAKhQ,MAAMgQ,sBAElC,EAAKhQ,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiB,EAAK/O,MAAM+O,gBAC5BE,cAAe,EAAK9N,MAAM8N,cAC1BU,YAAa,EAAK3P,MAAM2P,YACxBT,mBAAoB,EAAKlP,MAAMkP,mBAC/BG,yBAA0B,EAAKrP,MAAMqP,yBACrCE,sBAAuBlN,EACvBoN,oBAAqBmC,EACrBhC,kBAAmB,EAAK5P,MAAM4P,kBAC9BC,cAAe,EAAK7P,MAAM6P,cAC1BG,oBAAqB,EAAKhQ,MAAMgQ,oBAChCI,gBAAiB,EAAKpQ,MAAMoQ,uBAG9B,EAAKtM,SAAS,CACZ2L,oBAAqB,GACrBG,kBAAmB,GACnBrG,SAAS,EACTyG,oBAAqB,EAAKhQ,MAAMgQ,sBAElC,EAAKhQ,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiB1M,EACjB4M,cAAe,EAAKjP,MAAMiP,cAC1BU,YAAa,EAAK3P,MAAM2P,YACxBT,mBAAoB,EAAKlP,MAAMkP,mBAC/BG,yBAA0B,EAAKrP,MAAMqP,yBACrCE,sBAAuB,EAAKvP,MAAMuP,sBAClCE,oBAAqB,GACrBG,kBAAmB,GACnBC,cAAe,EAAK7P,MAAM6P,cAC1BG,oBAAqB,EAAKhQ,MAAMgQ,oBAChCI,gBAAiB,EAAKpQ,MAAMoQ,uBAIhC,EAAKtM,SAAS,CACZ2L,oBAAqB,GACrBG,kBAAmB,GACnBrG,SAAS,EACTyG,oBAAqB,EAAKhQ,MAAMgQ,sBAElC,EAAKhQ,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiB1M,EACjB4M,cAAe,EAAKjP,MAAMiP,cAC1BU,YAAa,EAAK3P,MAAM2P,YACxBT,mBAAoB,EAAKlP,MAAMkP,mBAC/BG,yBAA0B,EAAKrP,MAAMqP,yBACrCE,sBAAuB,EAAKvP,MAAMuP,sBAClCE,oBAAqB,GACrBG,kBAAmB,GACnBC,cAAe,EAAK7P,MAAM6P,cAC1BG,oBAAqB,EAAKhQ,MAAMgQ,oBAChCI,gBAAiB,EAAKpQ,MAAMoQ,qBAIjCjJ,OAAM,SAACC,GACNC,QAAQC,IAAIF,Q,oBAIlB,WAAU,IAAD,OACP,GAA0B,GAAtBrH,KAAKoB,MAAMoP,QAAkB,CAC/B,IAAQH,EAAoBrQ,KAAKoB,MAAzBiP,gBAER/I,QAAQC,IAAI8I,GACW,MAAnBA,GAA8C,IAAnBA,IAC7BrQ,KAAK8R,mBAAmBzB,EAAgB0B,YACxC/R,KAAK+D,SAAS,CAAEyM,SAAS,KAI7B,IAAMwB,EAAkBhS,KAAKC,MAAMT,MAEnC,EA2BIQ,KAAKoB,MA1BP6N,EADF,EACEA,WACAD,EAFF,EAEEA,gBACAE,EAHF,EAGEA,cACAJ,EAJF,EAIEA,kBACAtF,EALF,EAKEA,QACAhK,EANF,EAMEA,MACAqP,EAPF,EAOEA,cACAe,EARF,EAQEA,YACAT,EATF,EASEA,mBACAC,EAVF,EAUEA,eACAE,EAXF,EAWEA,yBAEAE,GAbF,EAYED,qBAZF,EAaEC,uBACAE,EAdF,EAcEA,oBACAC,EAfF,EAeEA,gBACAE,EAhBF,EAgBEA,kBACAC,EAjBF,EAiBEA,cACAC,EAlBF,EAkBEA,UACAE,EAnBF,EAmBEA,oBACAC,EApBF,EAoBEA,gBACAC,EArBF,EAqBEA,aAEAH,GAvBF,EAsBEI,aAtBF,EAuBEJ,qBACAK,EAxBF,EAwBEA,gBAEAE,GA1BF,EAyBED,QAzBF,EA0BEC,eAGF,OAAI/G,EACK,kBAAC,EAAD,MAGP,yBAAKvK,GAAG,UACN,6BACGO,GAAS,uBAAGN,MAAO,CAAEiD,MAAO,QAAU3C,GACvC,yBAAKM,UAAU,gBACb,2BACG,IACD,0BAAMZ,MAAO,CAAE+S,WAAY,SAA3B,6BAGA,0BAAM/S,MAAO,CAAEiD,MAAO,QAAtB,MAEF,uBAAGjD,MAAO,CAAEiD,MAAO,MAAOgC,SAAU,KACjC6N,EAAgB3B,gBACb2B,EAAgB3B,gBAChB,IAEN,yBAAKnR,MAAO,CAAEgT,MAAO,OAAQhG,YAAa,KACxC,2BACE/I,KAAK,QACLT,MAAO2N,EACPhO,SAAU,WACR,EAAK0B,SAAS,CAAEsM,gBAAiB,OAAQC,SAAS,IAElD,IAAM6B,EAAe/C,EAAegD,QAClC,SAACpP,GAAD,OAAaA,EAAQC,KAAOiH,SAASiF,MAEjCkD,EAAgBjD,EAAegD,QACnC,SAACpP,GAAD,OACEA,EAAQC,KAAOiH,SAASoF,MAGxB6C,EAAatP,OAAS,GACxB,EAAK4N,oBAAoB,EAAG0B,EAAa,GAAGlP,GAAI,QAE9CoP,EAAcxP,OAAS,GACzB,EAAK6N,0BACH,EACA2B,EAAc,GAAGpP,GACjB,QAGJ,EAAK6O,mBAAmB,QACxB,EAAK7R,MAAMsR,aAAY,GACvB,EAAKtR,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiBA,EACjBE,cAAeA,EACfU,YAAaA,EACbC,kBAAmBA,EACnBV,mBAAoBA,EACpBG,yBAA0BA,EAC1BE,sBAAuBA,EACvBE,oBAAqBA,EACrBI,cAAeA,EACfG,oBAAqBA,EACrBI,gBAAiB,UAGrBvO,KAAK,WACLwQ,QAA6B,SAApBjC,EACTnR,MAAO,CAAEqT,SAAU,UA5CvB,WA+CE,6BACA,0BAAMrT,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,GAAIE,SAAU,KAA3D,8BAGA,8BAGgB,GAAjBoM,EACC,6BACE,2BACEpN,KAAK,QACLT,MAAO2N,EACPhO,SAAU,WACR,EAAK0B,SAAS,CAAEsM,gBAAiB,OAAQC,SAAS,IAElD,IAAM6B,EAAe/C,EAAegD,QAClC,SAACpP,GAAD,OAAaA,EAAQC,KAAOiH,SAASiF,MAEjCkD,EAAgBjD,EAAegD,QACnC,SAACpP,GAAD,OACEA,EAAQC,KAAOiH,SAASoF,MAGxB6C,EAAatP,OAAS,GACxB,EAAK4N,oBAAoB,EAAG0B,EAAa,GAAGlP,GAAI,QAE9CoP,EAAcxP,OAAS,GACzB,EAAK6N,0BACH,EACA2B,EAAc,GAAGpP,GACjB,QAGJ,EAAK6O,mBAAmB,QACxB,EAAK7R,MAAMsR,aAAY,GACvB,EAAKtR,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiBA,EACjBE,cAAeA,EACfU,YAAaA,EACbC,kBAAmBA,EACnBV,mBAAoBA,EACpBG,yBAA0BA,EAC1BE,sBAAuBA,EACvBE,oBAAqBA,EACrBI,cAAeA,EACfG,oBAAqBA,EACrBI,gBAAiB,UAGrBvO,KAAK,WACLwQ,QAA6B,SAApBjC,EACTnR,MAAO,CAAEqT,SAAU,UA5CvB,WA+CE,6BACA,0BACErT,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,GAAIE,SAAU,KADvD,mBAOF,6BACE,6BACA,+BAIN,6BACA,8BACE,4CACM,IACR,6BACA,6BACE,kBAAC,EAAD,CACErC,KAAK,SACLI,QAAQ,aACRE,SAAS,IACTM,MAAOyM,EACPtL,MAAM,oRACN9B,OACEiQ,EAAgB7C,mBACZ6C,EAAgB7C,mBAChB,GAENvM,KAAMwM,EACN/M,SAAU,SAACC,GACT,IAAMkQ,EAAgBpD,EAAegD,QACnC,SAACpP,GAAD,OAAaA,EAAQC,KAAOiH,SAAS5H,MAEvC,EAAKyB,SAAS,CAAEoL,mBAAoB7M,IACpC,EAAKrC,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiBA,EACjBE,cAAeA,EAEfU,YAAaA,EACbC,kBAAmBA,EACnBV,mBACEqD,GAAiBA,EAAc3P,OAAS,EACpC2P,EAAc,GAAG9P,MACjB,GACN4M,yBAA0BA,EAC1BQ,cAAeA,EACfN,sBAAuBA,EACvBE,oBAAqBA,EACrBO,oBAAqBA,EACrBI,gBAAiBA,IAGnB,EAAKtM,SAAS,CAAEoL,mBAAoB7M,EAAG4M,cAAe,KAClDsD,EAAc3P,OAAS,GACzB,EAAK4N,oBACH,EACA+B,EAAc,GAAGvP,GACjBoN,MAMR,kBAAC,EAAD,CACEvO,KAAK,SACLI,QAAQ,aACRQ,MAAOoM,EACP1M,SAAS,IACTyB,MAAM,wPACN9B,OACEiQ,EAAgBlD,kBACZkD,EAAgBlD,kBAChB,GAENlM,KAAMiM,EACNxM,SAAU,SAACC,GAET,EAAKyB,SAAS,CAAE+K,kBAAmBxM,IACnC,EAAKrC,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBxM,EACnB0M,gBAAiBA,EACjBE,cAAeA,EACfU,YAAaA,EAEbT,mBAAoBA,EACpBG,yBAA0BA,EAC1BE,sBAAuBA,EACvBE,oBAAqBA,EACrBG,kBAAmBA,EACnBC,cAAeA,EACfG,oBAAqBA,EACrBI,gBAAiBA,OAKC,SAAtBvB,GAAsD,OAAtBA,GACV,IAAvBK,GAAmD,MAAvBA,EAQzB,KAPF,uBAAGjQ,MAAO,CAAEiD,MAAO,QAAnB,iSASF,kBAAC,EAAD,CACEL,KAAK,SACLI,QAAQ,iBACRQ,MAAOwM,EACP9M,SAAS,IACTyB,MAAM,4LACN9B,OACEiQ,EAAgB9C,cACZ8C,EAAgB9C,cAChB,GAENtM,KAAMqM,EACN5M,SAAU,SAACC,GACT,IAAM6P,EAAelD,EAAWmD,QAC9B,SAACpP,GAAD,OAAaA,EAAQC,KAAOiH,SAAS5H,MAGvC,EAAKrC,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiBA,EACjBE,cAAe5M,EACfsN,YACEuC,GAAgBA,EAAatP,OAAS,EAClCsP,EAAa,GAAGzP,MAChB,GACNyM,mBAAoBA,EACpBG,yBAA0BA,EAC1BE,sBAAuBA,EACvBE,oBAAqBA,EACrBG,kBAAmBA,EACnBC,cAAe,GACfG,oBAAqBA,EACrBI,gBAAiBA,IAEnB,EAAKtM,SAAS,CACZmL,cAAe5M,EACfsN,YACEuC,GAAgBA,EAAatP,OAAS,EAClCsP,EAAa,GAAGzP,MAChB,GACNoN,cAAe,KAGbqC,EAAatP,OAAS,GACxB,EAAK8N,WAAWwB,EAAa,GAAGzP,MAAO2N,MAK7C,kBAAC,EAAD,CACEvO,KAAK,SACLI,QAAQ,QACRE,SAAS,IACTL,OACEiQ,EAAgBlC,cACZkC,EAAgBlC,cAChB,GAENpN,MAAOoN,EACPlN,KAAsB,GAAhBuN,EAAuBH,EAAsBD,EAEnD1N,SAAU,SAACC,GACT,EAAKyB,SAAS,CAAE+L,cAAexN,IAC/B,EAAKrC,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiBA,EACjBE,cAAeA,EACfU,YAAaA,EACbC,kBAAmBA,EACnBV,mBAAoBA,EACpBG,yBAA0BA,EAC1BE,sBAAuBA,EACvBE,oBAAqBA,EACrBI,cAAexN,EACf2N,oBAAqBA,EACrBI,gBAAiBA,QAMN,OAAlBP,EACC,uBAAG5Q,MAAO,CAAEiD,MAAO,QAAnB,kUAOE,KACe,OAAlB2N,IACAF,EAAYwB,SAAS,aACpBxB,EAAYwB,SAAS,gBACrB,uBAAGlS,MAAO,CAAEiD,MAAO,QAAnB,6UAQE,KACJ,8BACE,6CACM,IACR,6BACA,6BACE,kBAAC,EAAD,CACEL,KAAK,SACLI,QAAQ,aACR2B,MAAM,oRACNnB,MAAO4M,EACP1M,KAAMwM,EACN/M,SAAU,SAACC,GACT,IAAMmQ,EAAgBrD,EAAegD,QACnC,SAACpP,GAAD,OAAaA,EAAQC,KAAOiH,SAAS5H,MAEvC,EAAKyB,SAAS,CAAEuL,yBAA0BhN,IAC1C,EAAKrC,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiBA,EACjBE,cAAeA,EACfU,YAAaA,EACbC,kBAAmBA,EACnBV,mBAAoBA,EACpBG,yBAA0BhN,EAC1BwN,cAAeA,EACfG,oBAAqBA,EACrBI,gBAAiBA,IAGnB,EAAKtM,SAAS,CACZuL,yBAA0BhN,EAC1BoN,oBAAqB,KAEnB+C,EAAc5P,OAAS,GACzB,EAAK6N,0BACH,EACA+B,EAAc,GAAGxP,GACjBoN,MAMR,kBAAC,EAAD,CACEvO,KAAK,SACLI,QAAQ,iBACRQ,MAAOgN,EACP7L,MAAM,+EACNjB,KAAM+M,EACNtN,SAAU,SAACC,GACT,IAAMoQ,EAAO/C,EAAgByC,QAC3B,SAACpP,GAAD,OAAaA,EAAQC,KAAOiH,SAAS5H,MAyBvC,GAvBA,EAAKrC,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiBA,EACjBE,cAAeA,EACfU,YAAaA,EACbT,mBAAoBA,EACpBG,yBAA0BA,EAC1BE,sBAAuBA,EACvBE,oBAAqBpN,EACrBuN,kBACE6C,GAAQA,EAAK7P,OAAS,EAAI6P,EAAK,GAAGhQ,MAAQ,GAC5CoN,cAAeA,EACfG,oBAAqB,GACrBI,gBAAiBA,IAGnB,EAAKtM,SAAS,CACZ2L,oBAAqBpN,EACrBuN,kBACE6C,GAAQA,EAAK7P,OAAS,EAAI6P,EAAK,GAAGhQ,MAAQ,GAC5CuN,oBAAqB,KAGnByC,EAAK,GAAGzP,IAAMiM,EAIhB,OAHA,EAAKnL,SAAS,CAAE2L,oBAAqB,KACrCnM,MAAM,sCAEC,GAILmP,EAAK7P,OAAS,GAChB,EAAK+N,iBAAiB8B,EAAK,GAAGhQ,MAAO2N,MAK3C,kBAAC,EAAD,CACEvO,KAAK,SACLI,QAAQ,QACRQ,MAAOuN,EACPrN,KACkB,GAAhBuN,GAAgD,KAAxBT,EACpBM,EACAE,EAEN9N,SACEkN,GAA4BI,EAAsB,IAAM,GAE1D3N,OACEiQ,EAAgB/B,oBACZ+B,EAAgB/B,oBAChB,GAEN5N,SAAU,SAACC,GACT,EAAKyB,SAAS,CAAEkM,oBAAqB3N,IACrC,EAAKrC,MAAMqR,aAAa,KAAM,CAC5BxC,kBAAmBA,EACnBE,gBAAiBA,EACjBE,cAAeA,EACfU,YAAaA,EACbC,kBAAmBA,EACnBV,mBAAoBA,EACpBG,yBAA0BA,EAC1BE,sBAAuBA,EACvBE,oBAAqBA,EACrBI,cAAeA,EACfG,oBAAqB3N,EACrB+N,gBAAiBA,QAMA,OAAxBJ,EACC,uBAAG/Q,MAAO,CAAEiD,MAAO,QAAnB,kUAOE,KACqB,OAAxB8N,IACAJ,EAAkBuB,SAAS,aAC1BvB,EAAkBuB,SAAS,gBAC3B,uBAAGlS,MAAO,CAAEiD,MAAO,QAAnB,8UAQE,MAGN,4BACErC,UAAU,OACVC,QAAS,WACP,EAAKE,MAAM0S,WAHf,Y,uCA9kCN,SAAgC1S,EAAOmB,GA2BjCA,EAzBF6N,WADF,IAEED,EAwBE5N,EAxBF4N,gBACAE,EAuBE9N,EAvBF8N,cACAJ,EAsBE1N,EAtBF0N,kBAIAc,GAkBExO,EArBFoI,QAqBEpI,EApBF5B,MAoBE4B,EAnBFyN,cAmBEzN,EAlBFwO,aACAT,EAiBE/N,EAjBF+N,mBAEAG,GAeElO,EAhBFgO,eAgBEhO,EAfFkO,0BAEAE,GAaEpO,EAdFmO,qBAcEnO,EAbFoO,uBACAE,EAYEtO,EAZFsO,oBAEAG,GAUEzO,EAXFuO,gBAWEvO,EAVFyO,mBAGAI,GAOE7O,EATF0O,cASE1O,EARF2O,UAQE3O,EAPF6O,qBAKAI,GAEEjP,EANF8O,gBAME9O,EALF+O,aAKE/O,EAJFgP,aAIEhP,EAHF4O,oBAGE5O,EAFFiP,iBAEEjP,EADFkP,QAGF,GACErQ,EAAMkQ,eAAiB/O,EAAM+O,cACP,GAAtBlQ,EAAMkQ,aACN,CACA,IAAMY,EAAgB3P,EAAM2O,UAAUiB,MAAK,SAACC,GAC1C,MAAqB,eAAdA,EAAIvO,SAET0N,EAAe,EACfc,EAAiB,GAWrB,MATE,CAAC,GAAI,UAAMC,EAAW,EAAG,IAAIjO,QAAQgH,SAAS6G,UAC5BI,IAAlBJ,GAEAX,EAAeW,EAAc9N,GAC7BiO,EAAiB,CAACH,KAElBX,EAAe,EACfc,EAAiB,IAGjBjR,EAAMkQ,cACwB,KAA9BlQ,EAAMyP,qBACwB,OAA9BzP,EAAMyP,0BACwByB,IAA9BlR,EAAMyP,qBAENzP,EAAMqR,aAAa,KAAM,CACvBxC,kBAAmBA,EACnBE,gBAAiBA,EACjBE,cAAeA,EACfU,YAAaA,EACbT,mBAAoBA,EACpBG,yBAA0BA,EAC1BE,sBAAuBA,EACvBE,oBAAqBA,EACrBG,kBAAmBA,EACnBC,cAAe,GACfG,oBAAqBA,EACrBI,gBAAiBA,IAEZ,CACLF,aAAclQ,EAAMkQ,aACpBH,oBAAqBkB,EACrBd,aAAcA,EACdN,cAAe,GACfG,oBAAqB,KAGhB,CACLE,aAAclQ,EAAMkQ,aACpBH,oBAAqBkB,EACrBd,aAAcA,EACdN,cAAe,IAId,OACL7P,EAAMkQ,eAAiB/O,EAAM+O,cACP,GAAtBlQ,EAAMkQ,aAEC,CACLA,aAAclQ,EAAMkQ,cAIjB,S,GAzImChQ,aCAzByS,E,kDACnB,WAAa3S,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACXyR,eAAgB,GAChBC,gBAAiB,GACjBC,mBAAqB,EAAK9S,MAAM+S,eAAehI,MAAM,KAAM,IAAM,GACjEiI,eAAgB,GAChBzT,MAAO,GACP0T,SAAU,GACV1J,SAAS,GAIX,EAAK2J,UAAY,EAAKA,UAAU1N,KAAf,gBAbC,E,qDAkBpB,WACE,IAAI2N,EAAe,GACnB,GAAIpT,KAAKC,MAAM+S,eAAgB,CAC7B,IAAMK,EAAO,IAAItM,KAAK/G,KAAKC,MAAM+S,gBAC7BM,EAAQD,EAAKE,WAAa,EAC1BC,EAAMH,EAAKI,UACXC,EAAOL,EAAKM,cACZL,EAAQ,KACVA,EAAQ,IAAMA,GAEZE,EAAM,KACRA,EAAM,IAAMA,GAEVE,EAAO,GACTA,EAAO,MAAQA,EACNA,EAAO,IAChBA,EAAO,KAAOA,EACLA,EAAO,MAChBA,EAAO,IAAMA,GAEfN,EAAeM,EAAO,IAAMJ,EAAQ,IAAME,EAE5CxT,KAAK+D,SAAS,CACZkP,eAAgBjT,KAAKC,MAAM2T,iBAC3Bf,eAAgB7S,KAAKC,MAAM4S,eAC3BC,gBAAiB9S,KAAKC,MAAM6S,gBAC5BC,mBAAoBK,GAAgB,GACpC5J,SAAS,M,uBAIb,SAAUqK,GACR,OAAKA,KAAYA,I,2BAOnB,WAAkB,IAAD,OACT7B,EAAkBhS,KAAKC,MAAMT,MACnC,EAA0EQ,KAAKoB,MAAvEyR,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,gBAAiBC,EAAzC,EAAyCA,mBAAoBG,EAA7D,EAA6DA,SAC7D,OACE,6BACE,6BACE,6BACE,kBAAC,EAAD,CACEpR,KAAK,OACLI,QAAQ,kBACRE,SAAS,IACTL,OAAQiQ,EAAgBa,eAAiBb,EAAgBa,eAAiB,GAC1EhP,MAAM,mLACNnB,MAAOmQ,EACPxQ,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE8O,eAAgBrO,IAChC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBrO,EAChBsO,gBAAiBA,EACjBC,mBAAoBA,EACpBE,eAAgB,QAItB,kBAAC,EAAD,CACE/Q,QAAQ,0BACRQ,MAAOoQ,EACPhR,KAAK,SACLc,KAAM5C,KAAKC,MAAM6T,YACjBzR,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE+O,gBAAiBtO,IACjC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBA,EAChBC,gBAAiBtO,EACjBuO,mBAAoBA,EACpBE,eAAgB,MAGpB7Q,SAAS,IACTL,OAAQiQ,EAAgBc,gBAAkBd,EAAgBc,gBAAkB,KAE9E,kBAAC,EAAD,CACE5Q,QAAQ,2BACRQ,MAAOqQ,EACPhR,OAAQmR,IAAalB,EAAgBe,mBAAqBf,EAAgBe,mBAAqB,IAC/FjR,KAAK,OACLO,SAAU,SAACmC,GAEZ,IAAMuP,EAAM,IAAIhN,KAAKvC,GACfsC,EAAc,IAAIC,KAEnBiN,MAAMD,EAAIJ,gBAWb,EAAK5P,SAAS,CAAEgP,mBAAoB,KACpC,EAAK9S,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBA,EAChBC,gBAAiBA,EACjBC,mBAAoB,GACpBE,eAAgB,MAfd/I,SAAS6J,EAAIJ,gBAAkB,OACjC,EAAK5P,SAAS,CAAEgP,mBAAoBvO,IACpC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBA,EAChBC,gBAAiBA,EACjBC,mBAAoBvO,EACpByO,eAAgB,MAanBc,GAAOjN,GAET,EAAK/C,SAAS,CAAEmP,SAAU,wDAA0DH,mBAAoB,KAGvG,EAAK9S,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBA,EAChBC,gBAAiBA,EACjBC,mBAAoB,GACpBE,eAAgB,MAKnB,EAAKlP,SAAS,CAAEmP,SAAU,MAI1B9Q,SAAS,W,yBAQrB,WAAgB,IAAD,OACP4P,EAAkBhS,KAAKC,MAAMT,MACnC,EAAgFQ,KAAKoB,MAA7EyR,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,gBAAiBC,EAAzC,EAAyCA,mBAAoBE,EAA7D,EAA6DA,eAC7D,OACE,6BACE,6BACE,6BACE,kBAAC,EAAD,CACE/Q,QAAQ,qBACRJ,KAAK,OACLM,SAAS,IACTL,OAAQiQ,EAAgBiB,eAAiBjB,EAAgBiB,eAAiB,GAC1EpP,MAAM,gUACNnB,MAAOuQ,EACP5Q,SAAU,SAACmC,GACN,EAAK2O,UAAU3O,GAEbA,EAAI3B,OAAU,IAAc,KAAR2B,GACzB,EAAKT,SAAS,CAAEkP,eAAgBzO,IAChC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBA,EAChBC,gBAAiBA,EACjBC,mBAAoBA,EACpBE,eAAgBzO,KAEXjB,MAAM,6BACTA,MAAM,iCAKd,kBAAC,EAAD,CACEzB,KAAK,OACLI,QAAQ,kBACR2B,MAAM,mLACNnB,MAAOmQ,EACPxQ,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE8O,eAAgBrO,IAChC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBrO,EAChBsO,gBAAiBA,EACjBC,mBAAoBA,EACpBE,eAAgBA,OAItB,kBAAC,EAAD,CACE/Q,QAAQ,0BACRQ,MAAOoQ,EACPhR,KAAK,SACLc,KAAM5C,KAAKC,MAAM6T,YACjBzR,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE+O,gBAAiBtO,IACjC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBA,EAChBC,gBAAiBtO,EACjBuO,mBAAoBA,EACpBE,eAAgBA,OAItB,kBAAC,EAAD,CACE/Q,QAAQ,2BACRQ,MAAOqQ,EACPjR,KAAK,OACLO,SAAU,SAACmC,GACT,IAAMuP,EAAM,IAAIhN,KAAKvC,GAChBwP,MAAMD,EAAIJ,gBAWb,EAAK5P,SAAS,CAAEgP,mBAAoB,KACpC,EAAK9S,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBA,EAChBC,gBAAiBA,EACjBC,mBAAoB,GACpBE,eAAgBA,KAfd/I,SAAS6J,EAAIJ,gBAAkB,OACjC,EAAK5P,SAAS,CAAEgP,mBAAoBvO,IACpC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BuB,eAAgBA,EAChBC,gBAAiBA,EACjBC,mBAAoBvO,EACpByO,eAAgBA,a,oBAoBpC,WAAW,IAAD,OACR,EAAqCjT,KAAKoB,MAAlCoI,EAAR,EAAQA,QAAShK,EAAjB,EAAiBA,MAAjB,EAAwB0T,SACxB,GAAI1J,EACF,OAAQ,kBAAC,EAAD,MAEV,IAAIvD,EAAO,GAQX,OANEA,EAD6B,KAA3BjG,KAAKC,MAAMgU,YACNjU,KAAKkU,cACwB,IAA3BlU,KAAKC,MAAMgU,aAAgD,KAA3BjU,KAAKC,MAAMgU,aAAiD,MAA3BjU,KAAKC,MAAMgU,YAC9EjU,KAAKmU,gBAEL,mFAGP,6BACE,uBAAGjV,MAAO,CAAEiD,MAAO,QAAU3C,GAC5ByG,EAED,4BAAQnG,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,a,GA3Q2CxS,aCF9BiU,E,kDACnB,WAAanU,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACXC,WAAW,GAHK,E,0CAOpB,WAAW,IAAD,OACR,OACE,yBAAKvB,UAAU,WACb,yBAAKA,UAAU,gBAAgBuU,IAAI,OACjC,0BAAMvU,UAAU,QAAQuU,IAAI,OAAOrU,KAAKC,MAAMiC,SAC9C,0BAAMpC,UAAU,SAASE,KAAKC,MAAMiC,QAAQ,2BAAOhD,MAAO,CAAEiD,MAAO,QAAUnC,KAAKC,MAAMmC,WACxF,yBAAKtC,UAAU,aACb,2BACEqD,KAAMnD,KAAKC,MAAM6B,KACjB7C,GAAIe,KAAKC,MAAMiC,QACfQ,MAAO1C,KAAKC,MAAMyC,MAClB2R,IAAI,MACJC,iBAAmB,MACnBC,gBAAgB,QAChBjV,UAAW,MACX+C,SACE,SAACC,GAAD,OAAO,EAAKrC,MAAMoC,SAASC,EAAE3B,OAAO+B,QAEtCc,WAAY,SAAClB,GAAD,OAAO,EAAKrC,MAAMuD,WAAa,EAAKvD,MAAMuD,WAAWlB,GAAK,UAI5E,yBAAKpD,MAAO,CAAEC,QAASa,KAAKC,MAAM8B,OAAS,QAAU,OAAQtC,MAAO,OAAQwE,WAAY,EAAGC,cAAe,IAAK,0BAAMhF,MAAO,CAAEiD,MAAO,MAAOgC,SAAU,KAAOnE,KAAKC,MAAM8B,c,GA9BpI7B,IAAMC,WCK7BqU,E,kDACnB,WAAYvU,GAAQ,IAAD,8BACjB,cAAMA,IACDmB,MAAQ,CACXqT,MAAO,EAAKxU,MAAMwU,MAClBC,MAAO,EAAKzU,MAAMyU,MAClBC,MAAO,EAAK1U,MAAM0U,MAClBC,YAAa,GACbd,YAAa,GACbe,gBAAiB,GACjBC,oBAAqB,GACrBC,eAAgB,EAAK9U,MAAM+U,QAAU,GACrCxV,MAAO,GACPyV,aAAc,GACdzL,SAAS,EACT0L,iBAAkB,GAClBC,YAAa,GACbC,YAAa,GACbC,YAAa,GACbC,aAAc,EAAKrV,MAAMqV,cAAgB,GACzCC,aAAc,EAAKtV,MAAMsV,cAAgB,GACzCC,aAAc,EAAKvV,MAAMuV,cAAgB,GACzCC,iBAAkB,EAAKxV,MAAMwV,kBAAoB,GACjDC,SAAU,IAtBK,E,qDA2BnB,WAAqB,IAAD,OAClB5P,MAAM,GAAD,OAAIC,8BAAJ,uCACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAE8Q,gBAAiB,EAAK5U,MAAM0V,gBAAkB,GAAIb,oBAAqB,EAAK7U,MAAMgU,aAAe,KAC7G,EAAKhU,MAAM2V,WAAW/S,QACxB,EAAKkB,SAAS,CACZoR,YAAa,EAAKlV,MAAM2V,WAAW/S,OAAS,EAAI,EAAK5C,MAAM2V,WAAW,GAAGC,YAAc,GACvFT,YAAa,EAAKnV,MAAM2V,WAAW/S,OAAS,EAAI,EAAK5C,MAAM2V,WAAW,GAAGC,YAAc,GACvFR,YAAa,EAAKpV,MAAM2V,WAAW/S,OAAS,EAAI,EAAK5C,MAAM2V,WAAW,GAAGC,YAAc,QAI5FtP,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,0CAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAE+R,WAAYtP,EAAKgD,SAAS,IACtChD,EAAI3D,QACN,EAAKkB,SAAS,CAAEgS,OAAQ,EAAK9V,MAAM8V,QAAU,KAE/C,IAAInB,EAAc,GAClB,GAAI,EAAK3U,MAAM2U,YAAa,CAC1B,IAAMvB,EAAO,IAAItM,KAAK,EAAK9G,MAAM2U,aAC7BtB,EAAQD,EAAKE,WAAa,EAC1BC,EAAMH,EAAKI,UACXC,EAAOL,EAAKM,cACZL,EAAQ,KACVA,EAAQ,IAAMA,GAEZE,EAAM,KACRA,EAAM,IAAMA,GAEVE,EAAO,GACTA,EAAO,MAAQA,EACNA,EAAO,IAChBA,EAAO,KAAOA,EACLA,EAAO,MAChBA,EAAO,IAAMA,GAEfkB,EAAclB,EAAO,IAAMJ,EAAQ,IAAME,EAE3C,EAAKzP,SAAS,CAAE6Q,YAAaA,OAE9BxN,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,Q,oBAI9B,WAAU,IAAD,OACD2K,EAAkBhS,KAAKC,MAAMT,MACnC,EAA8OQ,KAAKoB,MAA3OoI,EAAR,EAAQA,QAAShK,EAAjB,EAAiBA,MAAOkW,EAAxB,EAAwBA,SAAUT,EAAlC,EAAkCA,aAAcR,EAAhD,EAAgDA,MAAOC,EAAvD,EAAuDA,MAAOC,EAA9D,EAA8DA,MAAOC,EAArE,EAAqEA,YAAaC,EAAlF,EAAkFA,gBAAiBC,EAAnG,EAAmGA,oBAAqBC,EAAxH,EAAwHA,eAAgBI,EAAxI,EAAwIA,YAAaC,EAArJ,EAAqJA,YAAaC,EAAlK,EAAkKA,YAAaC,EAA/K,EAA+KA,aAAcC,EAA7L,EAA6LA,aAAcC,EAA3M,EAA2MA,aAAcC,EAAzN,EAAyNA,iBACzN,OAAIjM,EAEA,kBAAC,EAAD,MAIF,6BACE,6BACGhK,GAAS,uBAAGN,MAAO,CAAEiD,MAAO,QAAU3C,GACtCyV,GAAgB,2BAAIA,GACrB,6BACE,kBAAC,EAAD,CACE/S,QAAQ,yCACRJ,KAAK,OACLM,SAAS,IACTL,OAAQiQ,EAAgByC,MAAQzC,EAAgByC,MAAQ,GACxD/R,MAAO+R,EACP5Q,MAAM,0SACNxB,SAAU,SAACmC,GACwB,IAA7BD,EAAoBC,IAAsB,KAARA,GACpC,EAAKT,SAAS,CAAE0Q,MAAOjQ,IACvB,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOjQ,EACPkQ,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,KAEblS,MAAM,0BAGnB,kBAAC,EAAD,CACErB,QAAQ,6CACRQ,MAAOgS,EACP5S,KAAK,OACLM,SAAS,IACTL,OAAQiQ,EAAgB0C,MAAQ1C,EAAgB0C,MAAQ,GACxD7Q,MAAM,0SACNxB,SAAU,SAACmC,GACwB,IAA7BD,EAAoBC,IAAsB,KAARA,GACpC,EAAKT,SAAS,CAAE2Q,MAAOlQ,IACvB,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOlQ,EACPmQ,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,KAEblS,MAAM,0BAGnB,kBAAC,EAAD,CACErB,QAAQ,wCACRJ,KAAK,OACLY,MAAOiS,EACPvS,SAAS,IACTL,OAAQiQ,EAAgB2C,MAAQ3C,EAAgB2C,MAAQ,GACxDtS,SAAU,SAACmC,GACwB,IAA7BD,EAAoBC,IAAsB,KAARA,GACpC,EAAKT,SAAS,CAAE4Q,MAAOnQ,IACvB,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOnQ,EACPoQ,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,KAEblS,MAAM,0BAGnB,kBAAC,EAAD,CACErB,QAAQ,SACRJ,KAAK,SACLY,MAAOqS,EACPnS,KAAM,CAAC,CAAEK,GAAI,SAAUP,MAAO,UAAY,CAAEO,GAAI,OAAQP,MAAO,SAC/DN,SAAS,IACTL,OAAQiQ,EAAgB+C,eAAiB/C,EAAgB+C,eAAiB,GAC1E1S,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAEgR,eAAgBvQ,IAChC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBvQ,EAChB2Q,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,OAKxB,kBAAC,EAAD,CACEvT,QAAQ,gBACRJ,KAAK,OACLY,MAAOkS,EACPxS,SAAS,IACTL,OAAQ2T,IAAa1D,EAAgB4C,YAAc5C,EAAgB4C,YAAc,IACjFvS,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAEvE,MAAO,KACvB,IAAMuU,EAAM,IAAIhN,KAAKvC,GAErB,GAAKwP,MAAMD,EAAIJ,eAiCb,EAAK5P,SAAS,CAAE6Q,YAAa,KAC7B,EAAK7Q,SAAS,CAAE2R,SAAU,KAC1B,EAAKzV,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAa,GACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,SAhDpB,GAAIvL,SAAS6J,EAAIJ,gBAAkB,KAAQ,CACzC,IAAMqC,EAASjP,KAAKkP,MAAQlC,EAAImC,UAC1BC,EAAQ,IAAIpP,KAAKiP,GACjBI,EAAM3J,KAAK4J,IAAIF,EAAMG,iBAAmB,MAC1CF,EAAM,IAAMA,EAAM,GACpB,EAAKrS,SAAS,CAAE2R,SAAU,sCAAuCd,YAAa,KACrEZ,MAAMD,EAAIJ,iBAEnB,EAAK5P,SAAS,CAAE6Q,YAAapQ,IAC7B,EAAKT,SAAS,CAAE2R,SAAU,KAC1B,EAAKzV,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAapQ,EACbqQ,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,SA8B9B,kBAAC,EAAD,CACEvT,QAAQ,mBACRQ,MAAOmS,EACP/S,KAAK,SACLc,KAAM5C,KAAKC,MAAM6T,YACjBzR,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE8Q,gBAAiBrQ,IACjC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBrQ,EACjBsQ,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,KAGtBrT,SAAS,IACTL,OAAQiQ,EAAgB6C,gBAAkB7C,EAAgB6C,gBAAkB,KAG9E,kBAAC,EAAD,CACE3S,QAAQ,cACRQ,MAAOoS,EACPhT,KAAK,SACLc,KAAM5C,KAAKC,MAAM6T,YACjB1R,SAAS,IACTL,OAAQiQ,EAAgB8C,oBAAsB9C,EAAgB8C,oBAAsB,GACpFzS,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE+Q,oBAAqBtQ,IACrC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBtQ,EACrBuQ,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,QAO1B,6BACE,6BAEE,kBAAC,EAAD,CACE3T,KAAK,OACLY,MAAOyS,EACPjT,QAAQ,2DACRE,SAAmC,IAAvB0S,EAA4B,IAAM,GAC9C/S,OAAQiQ,EAAgBmD,YAAcnD,EAAgBmD,YAAc,GAEpEd,IAAM,MACNC,iBAAmB,MACnBhV,UAAW,MACXiV,gBAAgB,QAChBgC,YAAa,2BACblU,SAAU,SAACmC,GACT,IAAMO,EAAOL,EAAYF,GACzB,EAAKT,SAAS,CAAEoR,YAAapQ,IAC7B,EAAK9E,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAapQ,EACbqQ,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,OAIxB,kBAAC,EAAD,CACE3T,KAAK,OACLY,MAAO0S,EACPlT,QAAQ,8CAERE,SAAmC,IAAvB0S,EAA4B,IAAM,GAC9CT,IAAM,MACNC,iBAAmB,MACnBhV,UAAW,MACXiV,gBAAgB,QAChBgC,YAAa,2BACbxU,OAAQiQ,EAAgBoD,YAAcpD,EAAgBoD,YAAc,GACpE/S,SAAU,SAACmC,GACT,IAAMO,EAAOL,EAAYF,GACzB,EAAKT,SAAS,CAAEqR,YAAarQ,IAC7B,EAAK9E,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAarQ,EACbsQ,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,OAIxB,kBAAC,EAAD,CACE3T,KAAK,OACLY,MAAO2S,EACPnT,QAAQ,iEAETE,SAAmC,IAAvB0S,EAA4B,IAAM,GAC7CT,IAAM,MACNC,iBAAmB,MACnBhV,UAAW,MACXiV,gBAAgB,QAChBgC,YAAa,2BACdxU,OAAQiQ,EAAgBqD,YAAcrD,EAAgBqD,YAAc,GACnEhT,SAAU,SAACmC,GACT,IAAMO,EAAOL,EAAYF,GACzB,EAAKT,SAAS,CAAEsR,YAAatQ,IAC7B,EAAK9E,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAatQ,EACbuQ,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,OAIxB,6BACA,uBAAGvW,MAAO,CAAEiD,MAAO,UAAnB,2FACA,kDAEA,kBAAC,EAAD,CACED,QAAQ,aACRJ,KAAK,OACLY,MAAO4S,EACPlT,SAAYqT,GAAoBD,EAAe,IAAM,GACrDzT,OAAQiQ,EAAgBsD,aAAetD,EAAgBsD,aAAe,GACtEjT,SAAU,SAACmC,GACwB,IAA7BD,EAAoBC,IAAsB,KAARA,GACpC,EAAKT,SAAS,CAAEuR,aAAc9Q,IAC9B,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAc9Q,EACd+Q,aAAcA,EACdC,aAAcA,EACdC,iBAAkBA,KAEblS,MAAM,0BAInB,kBAAC,EAAD,CACErB,QAAQ,cACRJ,KAAK,OACLY,MAAO6S,EACPlT,SAAU,SAACmC,GACwB,IAA7BD,EAAoBC,IAAsB,KAARA,GACpC,EAAKT,SAAS,CAAEwR,aAAc/Q,IAC9B,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAc/Q,EACdgR,aAAcA,EACdC,iBAAkBA,KAEblS,MAAM,0BAGnB,kBAAC,EAAD,CACErB,QAAQ,YACRJ,KAAK,OACLM,SAAYkT,GAAgBG,EAAmB,IAAM,GACrD/S,MAAO8S,EACPzT,OAAQiQ,EAAgBwD,aAAexD,EAAgBwD,aAAe,GACtEnT,SAAU,SAACmC,GACwB,IAA7BD,EAAoBC,IAAsB,KAARA,GACpC,EAAKT,SAAS,CAAEyR,aAAchR,IAC9B,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcD,EACdE,aAAchR,EACdiR,iBAAkBA,KAEblS,MAAM,0BAInB,kBAAC,EAAD,CACErB,QAAQ,SACRJ,KAAK,OACLY,MAAO+S,EACP5R,MAAM,8OACNzB,SAAYkT,GAAgBE,EAAe,IAAM,GACjDzT,OAAQiQ,EAAgByD,iBAAmBzD,EAAgByD,iBAAmB,GAC9EpT,SAAU,SAACmC,GACJA,EAAI3B,OAAU,IAAc,KAAR2B,GACvB,EAAKT,SAAS,CAAE0R,iBAAkBjR,IAClC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BmD,MAAOA,EACPC,MAAOA,EACPC,MAAOA,EACPC,YAAaA,EACbC,gBAAiBA,EACjBC,oBAAqBA,EACrBC,eAAgBA,EAChBI,YAAaA,EACbC,YAAaA,EACbC,YAAaA,EACbC,aAAcA,EACdC,aAAcA,EACdC,aAAcA,EACdC,iBAAkBjR,KAEbjB,MAAM,oCAQvB,4BAAQzD,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,c,GAtiBuCxS,aCH5BqW,E,kDACnB,WAAavW,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACXqV,YAAa,GACbC,gBAAiB,GACjBC,aAAc,EAAK1W,MAAM2W,OAAS,GAClCC,aAAc,EAAK5W,MAAM6W,OAAS,GAClCjC,gBAAiB,GACjBkC,SAAU,GACVC,WAAY,GACZC,aAAc,GACdzN,SAAS,EACThK,MAAO,GACP0X,iBAAiB,EAAKjX,MAAMiX,mBAAoB,GAElD,EAAKC,UAAY,EAAKA,UAAU1R,KAAf,gBAfC,E,qDAmBpB,WAAsB,IAAD,OAEnBK,MAAM,GAAD,OAAIC,8BAAJ,4CACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GAKJ,GAHA,EAAKzC,SAAS,CAAE2S,gBAAiBlQ,EAAKqO,gBAAiB,EAAK5U,MAAMmX,SAD1C,KAExB,EAAKD,UAAUjN,SAAS,EAAKjK,MAAMmX,UAFX,IAIpB5Q,EAAK,CACP,IAAM6Q,EAAc7Q,EAAI4L,QAAO,SAAAkF,GAAG,MAAkB,iBAAdA,EAAI5U,SACpC6U,EAAgBF,GAAeA,EAAYxU,OAAS,EAAIwU,EAAY,GAAGpU,GAAK,GAClF,EAAKc,SAAS,CAAE0S,YAAa,EAAKxW,MAAMwW,aAAec,EAAe/N,SAAS,IAC/E,EAAKvJ,MAAMuX,gBAAgB,MAAO,EAAKvX,MAAMwW,aAAec,OAG/DnQ,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,Q,8DAG9B,WAAiB7C,GAAjB,sBAAAqB,EAAA,sEACmBC,MAAM,GAAD,OAAIC,8BAAJ,gEAAyFvB,IAC5G+B,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GAEJ,GADA,EAAKzC,SAAS,CAAEgT,SAAUvQ,IACtBA,EAAI3D,OAEN,OADA,EAAKkB,SAAS,CAAEkT,aAAc,EAAKhX,MAAMwX,MAAQ,KAC1C,MAGVrQ,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,MAV9B,cACMoQ,EADN,yBAWSA,GAXT,2C,2EAeA,WAAW,IAAD,OACFzF,EAAkBhS,KAAKC,MAAMT,MACnC,EAA+IQ,KAAKoB,MAA5IoI,EAAR,EAAQA,QAASyN,EAAjB,EAAiBA,aAAcR,EAA/B,EAA+BA,YAAaE,EAA5C,EAA4CA,aAAcE,EAA1D,EAA0DA,aAAchC,EAAxE,EAAwEA,gBAAiBrV,EAAzF,EAAyFA,MAAOkX,EAAhG,EAAgGA,gBAAiBK,EAAjH,EAAiHA,SAASG,EAA1H,EAA0HA,iBAC1H,OAAI1N,EAEA,kBAAC,EAAD,MAKF,6BACE,uBAAGtK,MAAO,CAAEiD,MAAO,QAAU3C,GAC7B,0BAAMM,UAAU,UAChB,kBAAC,EAAD,CACEgC,KAAK,SACLI,QAAQ,eACRE,SAAS,IACTL,OAAQiQ,EAAgByE,YAAczE,EAAgByE,YAAc,GACpE/T,MAAO+T,EACPpU,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE0S,YAAajS,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BmF,YAAajS,EACbmS,aAAcA,EACdE,aAAcA,EACdhC,gBAAiBA,EACjBoC,aAAcA,EACdC,iBAAiBA,KAGrBtU,KAAM8T,KAGR,kBAAC,EAAD,CACExU,QAAQ,iBACRJ,KAAK,OACLM,SAAS,IACTL,OAAQiQ,EAAgB2E,aAAe3E,EAAgB2E,aAAe,GACtEjU,MAAOiU,EACPtU,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE4S,aAAcnS,IAC9B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BmF,YAAaA,EAEbE,aAAcnS,EACdqS,aAAcA,EAEdhC,gBAAiBA,EACjBoC,aAAcA,EACdC,iBAAiBA,OAKvB,kBAAC,EAAD,CACEhV,QAAQ,iBACRJ,KAAK,OACLY,MAAOmU,EACPxU,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE8S,aAAcrS,IAC9B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BmF,YAAaA,EACbE,aAAcA,EACdE,aAAcrS,EACdqQ,gBAAiBA,EACjBoC,aAAcA,EACdC,iBAAiBA,OAKvB,kBAAC,EAAD,CACEhV,QAAQ,UACRQ,MAAOmS,EACP/S,KAAK,SACLc,KAAM5C,KAAKC,MAAM6T,YACjBzR,SAAQ,uCAAE,WAAOmC,GAAP,SAAAqB,EAAA,6DACR,EAAK9B,SAAS,CAAE8Q,gBAAiBrQ,IACjC,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BmF,YAAaA,EACbE,aAAcA,EACdE,aAAcA,EACdhC,gBAAiBrQ,EACjByS,aAAc,GACdC,iBAAiBA,IARX,SAUF,EAAKC,UAAU3S,GAVb,2CAAF,sDAaRpC,SAAS,IACTL,OAAQiQ,EAAgB6C,gBAAkB7C,EAAgB6C,gBAAkB,KAE9E,kBAAC,EAAD,CACE3S,QAAQ,OACRQ,MAAOuU,EACPnV,KAAK,SACLc,KAAMmU,EACN3U,SAAS,IACTL,OAAQiQ,EAAgBiF,aAAejF,EAAgBiF,aAAe,GACtE5U,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAEkT,aAAczS,IAC9B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BmF,YAAaA,EACbE,aAAcA,EACdE,aAAcA,EACdhC,gBAAiBA,EACjBoC,aAAczS,EACd0S,iBAAiBA,OAQtB,yBAAKpX,UAAU,gBACd,gHADD,MAEI,2BAAOqD,KAAK,QAAQT,MAAOwU,EAAkB7U,SAAU,WACxD,EAAK0B,SAAS,CAAEmT,kBAAkB,IAClC,EAAKjX,MAAMqR,aAAa,MAAO,CAC7BmF,YAAaA,EACbE,aAAcA,EACdE,aAAcA,EACdhC,gBAAiBA,EACjBoC,aAAcA,EACdC,kBAAiB,KAGlBpV,KAAK,OAAOwQ,UAAW4E,EAAkBhY,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,KAbpF,KAcG,2BAAOd,KAAK,QAAQT,MAAOwU,EAAkB7U,SAAU,WACvD,EAAK0B,SAAS,CAAEmT,kBAAkB,IAClC,EAAKjX,MAAMqR,aAAa,MAAO,CAC7BmF,YAAaA,EACbE,aAAcA,EACdE,aAAcA,EACdhC,gBAAiBA,EACjBoC,aAAcA,EACdC,kBAAiB,KAGlBpV,KAAK,OAAOwQ,SAAU4E,EAAkBhY,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,MAEpF,4BAAQnE,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,a,GApM6BxS,aCChBuX,E,kDACnB,WAAYzX,GAAQ,IAAD,8BACjB,cAAMA,IACDmB,MAAQ,CACXuW,iBAAkB,CAChB,CACEC,UAAW,GACXC,aAAc,GACdC,YAAa,GACbC,WAAW,EACX9Y,GAAI,EACJ+Y,UAAU,KAGdC,cAAe,GACfzO,SAAS,EACTrE,MAAO,EAAKlF,MAAMkF,MAClB3F,MAAO,GACP6B,WAAW,EACX6W,aAAa,IAGf,EAAKC,YAAc,EAAKA,YAAY1S,KAAjB,gBACnB,EAAK2S,gBAAkB,EAAKA,gBAAgB3S,KAArB,gBACvB,EAAK4S,mBAAqB,EAAKA,mBAAmB5S,KAAxB,gBAC1B,EAAK6S,kBAAoB,EAAKA,kBAAkB7S,KAAvB,gBAxBR,E,qDA2BnB,WAAqB,IAAD,OAEhBK,MAAM,GAAD,OAAIC,8BAAJ,kDACJQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAACmU,aAAa1R,OAE7BD,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,6CAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GAEJ,GADA,EAAKzC,SAAS,CAAEkU,cAAezR,EAAKgD,SAAS,IACzChD,EAAI3D,OAAQ,CACd,IAAM+U,EAAYpR,EAAI4L,QAAO,SAAA5L,GAAG,MAAkB,WAAdA,EAAI9D,SAClC6V,EAAcX,GAAaA,EAAU/U,OAAS,EAAI+U,EAAU,GAAG3U,GAAK,GACtEuV,EAAY,GAChB,EAAKvY,MAAMwY,mBAAmBnN,SAAQ,SAACtI,EAASiC,GAElD,IAAMyT,EAAgB,EAAKtX,MAAM8W,aAAa9F,QAAO,SAAAuG,GAAQ,OAAIA,EAAS1V,KAAOiH,SAASlH,EAAQ4V,cAE9FJ,EAAUhN,KAAK,CACboM,UAAW5U,EAAQ6V,UACnBhB,aAAc3N,SAASlH,EAAQ4V,WAC/Bd,YAAa9U,EAAQqF,YACrB0P,UAAW/U,EAAQ8V,UACnB7Z,GAAIgG,EAAI,EACR+S,UAAUU,EAAc,GAAGhW,MAAM,IAAIgW,EAAc,GAAGhW,MAAM,QAG3D8V,EAAU3V,SAAQ2V,EAAY,MACnC,EAAKzU,SAAS,CACZ4T,iBAAkBa,GAAa,CAAC,CAC9BZ,UAAWW,EACXV,aAAc,GACdC,YAAa,GACbC,UAAW,GACX9Y,GAAI,EACJ+Y,UAAU,UAGRQ,GAAaA,EAAU3V,QAC3B,EAAK5C,MAAMuX,gBAAgB,UAAWe,S,yBAOhD,WACE,MAA4CvY,KAAKoB,MAAzCuW,EAAR,EAAQA,iBAAkBM,EAA1B,EAA0BA,cACpBpV,EAAS8U,EAAiB9U,OAC1B+U,EAAYK,EAAc7F,QAAO,SAAA5L,GAAG,MAAkB,WAAdA,EAAI9D,SAC5C6V,EAAcX,GAAaA,EAAU/U,OAAS,EAAI+U,EAAU,GAAG3U,GAAK,GACzB,KAA7C0U,EAAiB9U,EAAS,GAAGiV,aAAyH,KAA3CH,EAAiB9U,EAAS,GAAG+U,UAC1I5X,KAAK+D,SAAS,CACZ4T,iBAAiB,GAAD,mBAAM3X,KAAKoB,MAAMuW,kBAAjB,CAAmC,CACjDC,UAAWW,EACXV,aAAc,GACdC,YAAa,GACbC,UAAW,GACX9Y,GAAI4D,EACJmV,UAAU,WAKdzU,MAAM,0C,uBAIV,WACE,MAA4CvD,KAAKoB,MAAzCuW,EAAR,EAAQA,iBAAkBM,EAA1B,EAA0BA,cACpBpV,EAAS8U,EAAiB9U,OAC1B+U,EAAYK,EAAc7F,QAAO,SAAA5L,GAAG,MAAkB,WAAdA,EAAI9D,SAC9BkV,GAAaA,EAAU/U,OAAS,GAAI+U,EAAU,GAAG3U,GACrE,MAAiD,KAA7C0U,EAAiB9U,EAAS,GAAGiV,aAAiE,KAA3CH,EAAiB9U,EAAS,GAAG+U,UAC3E,GAEPrU,MAAM,wCACC,K,6BAIX,SAAgBb,EAAO2H,GACrB,IAAQsN,EAAqB3X,KAAKoB,MAA1BuW,iBACFoB,EAAe,GAErBpB,EAAiBrM,SAAQ,SAACtI,EAASgW,GAC7BA,IAAW3O,IACbrH,EAAQ4U,UAAYlV,GAEtBqW,EAAavN,KAAKxI,MAEpBhD,KAAK+D,SAAS,CAAE4T,iBAAkBoB,IAClC/Y,KAAKC,MAAMqR,aAAa,UAAW,CACjCqG,iBAAkBoB,EAClB5T,MAAOnF,KAAKC,MAAMkF,U,gCAItB,SAAmBzC,EAAO2H,GAExB,MAA0CrK,KAAKoB,MAAvCuW,EAAR,EAAQA,iBAAiBO,EAAzB,EAAyBA,aACnBa,EAAe,GACrBpB,EAAiBrM,SAAQ,SAACtI,EAASgW,GACjC,GAAIA,IAAW3O,EAAO,CACpBrH,EAAQ6U,aAAenV,EACvB,IAAMgW,EAAgBR,EAAa9F,QAAO,SAAAuG,GAAQ,OAAIA,EAAS1V,KAAOiH,SAASxH,MAC/EM,EAAQgV,UAAUU,EAAc,GAAGhW,MAAM,IAAIgW,EAAc,GAAGhW,MAAM,GAItEqW,EAAavN,KAAKxI,MAEpBhD,KAAK+D,SAAS,CAAE4T,iBAAkBoB,IAClC/Y,KAAKC,MAAMqR,aAAa,UAAW,CACjCqG,iBAAkBoB,EAClB5T,MAAOnF,KAAKC,MAAMkF,U,+BAItB,SAAkBzC,EAAO2H,GACvB,IAAQsN,EAAqB3X,KAAKoB,MAA1BuW,iBACR,GAAiC,IAA7B7S,EAAkBpC,GAAc,CAClC,IAAMqW,EAAe,GACrBpB,EAAiBrM,SAAQ,SAACtI,EAASgW,GAC7BA,IAAW3O,IACbrH,EAAQ8U,YAAcpV,GAExBqW,EAAavN,KAAKxI,MAEpBhD,KAAK+D,SAAS,CAAE4T,iBAAkBoB,IAClC/Y,KAAKC,MAAMqR,aAAa,UAAW,CACjCqG,iBAAkBoB,EAClB5T,MAAOnF,KAAKC,MAAMkF,aAGpB5B,MAAM,gC,2BAIV,SAAc8G,GACZ,IAAQsN,EAAqB3X,KAAKoB,MAA1BuW,iBACFG,EAAc,GACpBH,EAAiBrM,SAAQ,SAACtI,EAASgW,GAE/BhW,EAAQ+U,UADNiB,IAAW3O,EAKfyN,EAAYtM,KAAKxI,MAEnBhD,KAAK+D,SAAS,CAAE4T,iBAAkBG,IAClC9X,KAAKC,MAAMqR,aAAa,UAAW,CACjCqG,iBAAkBG,EAClB3S,MAAOnF,KAAKC,MAAMkF,U,uBAItB,SAAUkF,GACR,IAAQsN,EAAqB3X,KAAKoB,MAA1BuW,iBAEJoB,EAAe,GACf/T,EAAQ,EACZ2S,EAAiBrM,SAAQ,SAACtI,EAASgW,GAC7BA,IAAW3O,EACTrH,EAAQ+U,YACV/S,EAAQ,GAGV+T,EAAavN,KAAKxI,MAGR,IAAVgC,IACF+T,EAAa,GAAGhB,WAAY,GAE9B/X,KAAK+D,SAAS,CAAE4T,iBAAkBoB,IAClC/Y,KAAKC,MAAMqR,aAAa,UAAW,CACjCqG,iBAAkBoB,EAClB5T,MAAOnF,KAAKC,MAAMkF,U,oBAItB,WAAU,IAAD,OACD6M,EAAkBhS,KAAKC,MAAMT,MACnC,EAA4DQ,KAAKoB,MAAzDuW,EAAR,EAAQA,iBAAkBnO,EAA1B,EAA0BA,QAASyO,EAAnC,EAAmCA,cAAezY,EAAlD,EAAkDA,MAClD,GAAIgK,EACF,OAAQ,kBAAC,EAAD,MAGT,IAAMuP,EAAe,GAmJtB,OAlJApB,EAAiBrM,SAAQ,SAACtI,EAASqH,GACD,IAA5BsN,EAAiB9U,OAEnBkW,EAAavN,KACX,wBAAI1I,IAAKE,EAAQ/D,GAAK,IAAM+D,EAAQN,OAClC,wBAAI5C,UAAU,SAASZ,MAAO,CAAE+Z,SAAU,WAAYC,cAAe,QACnE,4BAAQpZ,UAAU,gBAChB4C,MAAOM,EAAQ4U,UACf1Y,MAAO,CAAE+C,YAAa+P,EAAgB3H,IAAS2H,EAAgB3H,GAAOuN,UAAY,MAAa,IAC/FvV,SAAU,SAACC,GACT,EAAK8V,gBAAgB9V,EAAE3B,OAAO+B,MAAO2H,KAGrC,4BAAQ3H,MAAO,GAAII,IAAK,cAAxB,UACDmV,EAAclV,KAAI,SAAAC,GACjB,OAAO,4BAAQN,MAAOM,EAAQC,GAAIH,IAAKE,EAAQC,GAAK,IAAMD,EAAQN,OAC/DM,EAAQN,WAIf,0BAAMxD,MAAO,CAAEiD,MAAO,MAAO8B,WAAY,EAAGE,SAAU,GAAIhF,QAAS,UAAY6S,EAAgB3H,GAAS2H,EAAgB3H,GAAOuN,UAAY,KAE7I,wBAAI1Y,MAAO,CAAE+Z,SAAU,WAAYC,cAAe,QAChD,kBAAC,EAAD,CACEpX,KAAK,SACLI,QAAQ,UACRQ,MAAOM,EAAQ6U,aACfxV,SAAU,SAACmC,GAAD,OACR,EAAK6T,mBAAmB7T,EAAK6F,IAE/BzH,KAAM,EAAK3C,MAAM6T,YACjB1R,SAAS,IACTL,OAAQiQ,EAAgB6F,aAAe7F,EAAgB6F,aAAe,MAG1E,wBAAI3Y,MAAO,CAAE+Z,SAAU,WAAYC,cAAe,MAAMzZ,MAAM,KAC5D,kBAAC,EAAD,CACAP,MAAO,CAACO,MAAM,IACZqC,KAAK,OACLI,QAAQ,eACRQ,MAAOM,EAAQgV,UACfrV,UAAU,EACVC,KAAM,EAAK3C,MAAM6T,YACjB1R,SAAS,OAOb,wBAAIlD,MAAO,CAAE+Z,SAAU,WAAYC,cAAe,QAChD,kBAAC,EAAD,CACEpX,KAAK,OACLI,QAAQ,gBACRE,SAAS,IACTM,MAAOM,EAAQ8U,YACfzV,SAAU,SAACmC,GAAD,OACR,EAAK8T,kBAAkB9T,EAAK6F,IAG9BtI,OAAQiQ,EAAgB8F,YAAc9F,EAAgB8F,YAAc,GACpEjU,MAAM,kFAOL8T,EAAiB9U,OAAS,GAGnCkW,EAAavN,KACX,wBAAI1I,IAAKE,EAAQ/D,IACf,wBAAIa,UAAU,SAASZ,MAAO,CAAE+Z,SAAU,WAAYC,cAAe,QACnE,4BAAQpZ,UAAU,gBAChB4C,MAAOM,EAAQ4U,UACf1Y,MAAO,CAAE+C,YAAa+P,EAAgB3H,IAAS2H,EAAgB3H,GAAOuN,UAAY,MAAa,IAC/FvV,SAAU,SAACmC,GACT,EAAK4T,gBAAgB5T,EAAI7D,OAAO+B,MAAO2H,KAGzC,4BAAQ3H,MAAO,GAAII,IAAK,cAAxB,UACCmV,EAAclV,KAAI,SAAAC,GACjB,OAAO,4BAAQN,MAAOM,EAAQC,GAAIH,IAAKE,EAAQC,IAC5CD,EAAQN,WAIf,0BAAMxD,MAAO,CAAEiD,MAAO,MAAO8B,WAAY,EAAGE,SAAU,GAAIhF,QAAS,UAAY6S,EAAgB3H,GAAS2H,EAAgB3H,GAAOuN,UAAY,KAE7I,wBAAI1Y,MAAO,CAAE+Z,SAAU,WAAYC,cAAe,QAChD,kBAAC,EAAD,CACEpX,KAAK,SACLI,QAAQ,UACRQ,MAAOM,EAAQ6U,aACfxV,SAAU,SAACmC,GAAD,OACR,EAAK6T,mBAAmB7T,EAAK6F,IAE/BzH,KAAM,EAAK3C,MAAM6T,YACjB1R,SAAS,IACTL,OAAQiQ,EAAgB6F,aAAe7F,EAAgB6F,aAAe,MAG1E,wBAAI3Y,MAAO,CAAE+Z,SAAU,WAAYC,cAAe,QAChD,kBAAC,EAAD,CACEpX,KAAK,OACLI,QAAQ,eACRQ,MAAOM,EAAQgV,UACfrV,UAAU,EAEVP,SAAS,OAIb,wBAAIlD,MAAO,CAAE+Z,SAAU,WAAYC,cAAe,QAChD,kBAAC,EAAD,CACEpX,KAAK,OACLI,QAAQ,gBACRE,SAAS,IACTM,MAAOM,EAAQ8U,YACfzV,SAAU,SAACmC,GAAD,OACR,EAAK8T,kBAAkB9T,EAAK6F,IAE9BtI,OAAQiQ,EAAgB8F,YAAc9F,EAAgB8F,YAAc,GACpEjU,MAAM,gFAGV,wBAAI/D,UAAU,cACZ,yBAAKA,UAAU,2BACb,yBAAKA,UAAU,mBACf,2BACEuC,SAAU,kBAAM,EAAK8W,cAAc9O,IACnClH,KAAK,QACLrB,KAAK,UACLY,MAAOM,EAAQ+U,UACfzF,QAAStP,EAAQ+U,YACjB,0BAAMjY,UAAU,eAAhB,YAES,IAAVuK,EAAc,KAAO,4BAAQvK,UAAU,OAAOC,QAAS,EAAKqZ,UAAU3T,KAAK,EAAM4E,IAAQ,2CASpG,6BACE,6BACE,uBAAGnL,MAAO,CAAEiD,MAAO,QAAU3C,GAC7B,6BACE,6BACE,kBAAC,EAAD,CACEsC,KAAK,QACLI,QAAQ,iBACRQ,MAAO1C,KAAKC,MAAMkF,OAAS,GAC3BxC,UAAU,EACVN,SAAU,SAACmC,GAAD,OAAS,EAAKT,SAAS,CAAEoB,MAAOX,EAAI7D,OAAO+B,SACrDN,SAAS,IACTyB,MAAM,8UAIZ,mEACA,2BAAO/D,UAAU,sBACf,+BACGiZ,IAGL,4BACEjZ,UAAU,OACVC,QAAS,WACP,EAAKoY,gBAHT,aAQF,4BAAQrY,UAAU,OAAOC,QAAS,WAAmD,GAA9B,EAAKsZ,aAA6B,EAAKpZ,MAAM0S,WAApG,a,GA3Y6BxS,aCDhBmZ,E,4JACnB,WAAW,IAAD,OAER,OAEE,6BACE,6BACE,kBAAC,EAAD,CACExX,KAAK,SACLc,KAAM5C,KAAKC,MAAMsZ,iBACjBnX,SAAUpC,KAAKC,MAAMuZ,SAAW,GAAK,IACrCzX,OAAQ/B,KAAKC,MAAMwZ,YACnB/W,MAAO1C,KAAKC,MAAMyZ,aAClBrX,SAAU,SAACC,GAAD,OAAO,EAAKrC,MAAM0Z,mBAAmBrX,IAC/CJ,QAAS,wBACTS,SAAU3C,KAAKC,MAAM0C,SACrBkB,MAAM,kLAER,kBAAC,EAAD,CACE/B,KAAK,SACLc,KAAM5C,KAAKC,MAAM6V,WACjBpT,MAAO1C,KAAKC,MAAM2Z,eAClBvX,SAAUrC,KAAKC,MAAM4Z,eACrB3X,QAAQ,SACRE,SAAUpC,KAAKC,MAAMuZ,SAAW,GAAK,IACrCzX,OAAQ/B,KAAKC,MAAM6Z,UACnBnX,SAAU3C,KAAKC,MAAM8Z,aAEvB,kBAAC,EAAD,CACEjY,KAAK,OACLI,QAAQ,aACRE,SAAUpC,KAAKC,MAAMuZ,SAAW,GAAK,IACrCzX,OAAQ/B,KAAKC,MAAM+Z,SACnBtX,MAAO1C,KAAKC,MAAMwU,MAClBpS,SAAU,SAACC,GACsB,IAA3BiC,EAAoBjC,IAAkB,KAANA,EAAY,EAAKrC,MAAMga,cAAc3X,GAAYiB,MAAM,iCAE7FZ,SAAU3C,KAAKC,MAAM8Z,aAGvB,kBAAC,EAAD,CACEjY,KAAK,OACLI,QAAQ,cACRE,SAAUpC,KAAKC,MAAMuZ,SAAW,GAAK,IACrCzX,OAAQ/B,KAAKC,MAAMia,SACnBxX,MAAO1C,KAAKC,MAAMyU,MAClBrS,SAAU,SAACC,GACsB,IAA3BiC,EAAoBjC,IAAkB,KAANA,EAAY,EAAKrC,MAAMka,cAAc7X,GAAYiB,MAAM,iCAE7FZ,SAAU3C,KAAKC,MAAM8Z,aAEvB,kBAAC,EAAD,CACEjY,KAAK,OACLI,QAAQ,cACRE,SAAUpC,KAAKC,MAAMuZ,SAAW,GAAK,IACrCzX,OAAQ/B,KAAKC,MAAMma,SACnB1X,MAAO1C,KAAKC,MAAM0U,MAClBtS,SAAU,SAACC,GACsB,IAA3BiC,EAAoBjC,IAAkB,KAANA,EAAY,EAAKrC,MAAMoa,cAAc/X,GAAYiB,MAAM,iCAE7FZ,SAAU3C,KAAKC,MAAM8Z,aAEvB,kBAAC,EAAD,CACEjY,KAAK,OACLI,QAAQ,aACRE,SAAUpC,KAAKC,MAAMuZ,SAAW,GAAK,IACrCzX,OAAQ/B,KAAKC,MAAMqa,cACnB5X,MAAO1C,KAAKC,MAAMsa,WAClBlY,SAAU,SAACC,GACT,EAAKrC,MAAMua,mBAAmBlY,IAEhCK,SAAU3C,KAAKC,MAAM8Z,WAErBlW,MAAO7D,KAAKC,MAAMwa,SAAY,yIAA2I,yIAG3K,kBAAC,EAAD,CACE3Y,KAAK,OACLI,QAAQ,gBACRE,SAAUpC,KAAKC,MAAMuZ,SAAW,GAAK,IACrCzX,OAAQ/B,KAAKC,MAAMya,UACnBhY,MAAO1C,KAAKC,MAAM0a,aAClBtY,SAAU,SAACC,GACoB,IAAzBwC,EAAkBxC,GAAY,EAAKrC,MAAM2a,eAAetY,GAAYiB,MAAM,wBAEhFZ,SAAU3C,KAAKC,MAAM8Z,WACrBlW,MAAO7D,KAAKC,MAAMwa,SAAY,kJAAoE,kJAGtG,kBAAC,EAAD,CACI3Y,KAAK,QACLI,QAAQ,iBACRE,SAAUpC,KAAKC,MAAMwa,UAAuC,GAA3Bza,KAAKC,MAAMyZ,aAAoB,IAAM,GACtEhX,MAAO1C,KAAKC,MAAMkF,MAClB9C,SAAU,SAACmC,GAAD,OAAS,EAAKvE,MAAM4a,cAAcrW,IAC5CzC,OAAQ/B,KAAKC,MAAM6a,SAEnBjX,MAAO7D,KAAKC,MAAMwa,SAAY,2NAAiF,2NAI3E,WAAvCza,KAAKC,MAAMsZ,iBAAiB,GAAG7W,OAA2D,WAAvC1C,KAAKC,MAAMsZ,iBAAiB,GAAG7W,MACnF,oCACA,yBAAK5C,UAAU,gBACb,sCAAYE,KAAKC,MAAMsZ,iBAAiB,GAAG7W,MAA3C,wBADF,MAEK,2BAAOS,KAAK,QAAQT,MAAO1C,KAAKC,MAAM8a,cAAe1Y,SAAU,kBAAM,EAAKpC,MAAM+a,uBAAsB,IAAOlZ,KAAM9B,KAAKC,MAAMsZ,iBAAiB,GAAG7W,MAAO4P,UAAWtS,KAAKC,MAAM8a,cAAe7b,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,KAF1O,KAGI,2BAAOd,KAAK,QAAQT,MAAO1C,KAAKC,MAAM8a,cAAe1Y,SAAU,kBAAM,EAAKpC,MAAM+a,uBAAsB,IAAQlZ,KAAM9B,KAAKC,MAAMsZ,iBAAiB,GAAG7W,MAAO4P,SAAUtS,KAAKC,MAAM8a,cAAe7b,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,MAE9M,GAA1BjE,KAAKC,MAAM8a,cACZ,kBAAC,EAAD,CACEjZ,KAAK,OACLI,QAAQ,KAERQ,MAAU1C,KAAKC,MAAM8a,eAA6C,SAA5B/a,KAAKC,MAAM8a,cAAgC/a,KAAKC,MAAMgb,SAAhB,GAC5EtY,UAAY3C,KAAKC,MAAM8a,eAA6C,SAA5B/a,KAAKC,MAAM8a,cACnD1Y,SAAU,SAACmC,GAAD,OAAS,EAAKvE,MAAMib,iBAAiB1W,IAC/CpC,SAAUpC,KAAKC,MAAM8a,cAAgB,IAAM,KAC3ChZ,OAAQ/B,KAAKC,MAAMkb,cAClB,MAAS,W,GAtHgBhb,aCAfib,E,kDACnB,WAAanb,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACX0U,WAAY,GACZuF,iBAAkB,GAClBC,iBAAkB,GAClBC,aAAc,GACdC,aAAc,GACdC,YAAa,EAAKxb,MAAMyb,WAAWC,mBAAqB,GACxDC,YAAa,EAAK3b,MAAM4b,WAAWF,mBAAqB,GACxDG,YAAa,EAAK7b,MAAMyb,WAAWK,oBAAsB,GACzDC,YAAa,EAAK/b,MAAM4b,WAAWE,oBAAsB,GACzDE,YAAa,EAAKhc,MAAMyb,WAAWQ,kBAAoB,GACvDC,YAAa,EAAKlc,MAAM4b,WAAWK,kBAAoB,GACvDE,iBAAkB,EAAKnc,MAAMyb,WAAWW,YAAc,GACtDC,iBAAkB,EAAKrc,MAAM4b,WAAWQ,YAAc,GACtDE,cAAe,EAAKtc,MAAMyb,WAAWc,SAAW,GAChDC,cAAe,EAAKxc,MAAM4b,WAAWW,SAAW,GAChDE,qBAAsB,EAAKzc,MAAMyb,WAAWiB,gBAAkB,GAC9DC,qBAAsB,EAAK3c,MAAM4b,WAAWc,gBAAkB,GAC9DE,YAAa,EAAK5c,MAAMyb,WAAWoB,cAAgB,GACnDC,YAAa,EAAK9c,MAAM4b,WAAWiB,cAAgB,GACnDE,YAAa,EAAK/c,MAAMyb,WAAWuB,eAAiB,GACpDC,YAAa,EAAKjd,MAAM4b,WAAWoB,eAAiB,GACpDE,cAAe,EAAKld,MAAMyb,WAAWlF,SAAW,GAChD4G,cAAe,EAAKnd,MAAM4b,WAAWrF,SAAW,GAChDhN,SAAS,EACT6T,0BAA2B,EAAKpd,MAAM4b,WAAWyB,sBAAuB,EACxEC,0BAA2B,EAAKtd,MAAMyb,WAAW4B,sBAAuB,EACxE9d,MAAO,GACPge,eAAgB,EAAKvd,MAAMyb,WAAW+B,WAAY,EAClDC,eAAgB,EAAKzd,MAAM4b,WAAW4B,WAAY,EAClDE,iBAAiB,EAAK1d,MAAMyb,WAAWkC,gBAAiB,EACxDC,iBAAiB,EAAK5d,MAAM4b,WAAW+B,gBAAiB,EACxDE,eAAgB,EAAK7d,MAAMyb,WAAWqC,UAAU,GAChDC,eAAgB,EAAK/d,MAAM4b,WAAWkC,UAAU,IAnChC,E,qDAuCpB,WAAsB,IAAD,OAEnBjY,MAAM,GAAD,OAAIC,8BAAJ,uCACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,GAAIA,EAAI3D,OAAQ,CACd,IAAMob,EAAe,CAAC,OAAQ,MAAO,OAAQ,aACvCC,EAAe,CAAC,MAAO,aACvB3C,EAAe/U,EAAI4L,QAAO,SAAAkF,GAAG,OAAyC,IAArC2G,EAAa/a,QAAQoU,EAAI5U,UAC1Dyb,EAAK3X,EAAI4L,QAAO,SAAAkF,GAAG,MAAkB,QAAdA,EAAI5U,SAC3B0b,EAAOD,GAAMA,EAAGtb,OAAS,EAAIsb,EAAG,GAAGlb,GAAK,GACxCob,EAAM7X,EAAI4L,QAAO,SAAAkF,GAAG,MAAkB,SAAdA,EAAI5U,SAC5B4b,EAAQD,GAAOA,EAAIxb,OAAS,EAAIwb,EAAI,GAAGpb,GAAK,GAC5CuY,EAAehV,EAAI4L,QAAO,SAAAkF,GAAG,OAAyC,IAArC4G,EAAahb,QAAQoU,EAAI5U,UAChE,EAAKqB,SAAS,CAAEsX,iBAAkBE,EAAcD,iBAAkBE,IAClE,EAAKvb,MAAMuX,gBAAgB,SAAU,CACnC+G,cAAerU,SAAS,EAAKjK,MAAM4b,WAAW2C,iBAAmBF,EACjEG,cAAevU,SAAS,EAAKjK,MAAMyb,WAAW8C,iBAAmBJ,IAEnE,EAAKra,SAAS,CAAEyX,aAActR,SAAS,EAAKjK,MAAM4b,WAAW2C,iBAAmBF,EAAO/C,aAAcrR,SAAS,EAAKjK,MAAMyb,WAAW8C,iBAAmBJ,EAAM5U,SAAS,U,oBAK9K,WAAW,IAAD,OAEFwI,EAAkBhS,KAAKC,MAAMT,MACnC,EAiCIQ,KAAKoB,MAhCPia,EADF,EACEA,iBACAC,EAFF,EAEEA,iBACAC,EAHF,EAGEA,aACAC,EAJF,EAIEA,aACAC,EALF,EAKEA,YACAG,EANF,EAMEA,YACAE,EAPF,EAOEA,YACAE,EARF,EAQEA,YACAC,EATF,EASEA,YACAE,EAVF,EAUEA,YACAC,EAXF,EAWEA,iBACAE,EAZF,EAYEA,iBACAC,EAbF,EAaEA,cACAE,EAdF,EAcEA,cACAC,EAfF,EAeEA,qBACAE,EAhBF,EAgBEA,qBACAC,EAjBF,EAiBEA,YACAE,EAlBF,EAkBEA,YACAC,EAnBF,EAmBEA,YACAE,EApBF,EAoBEA,YACAC,EArBF,EAqBEA,cACAC,EAtBF,EAsBEA,cACAG,EAvBF,EAuBEA,0BACAF,EAxBF,EAwBEA,0BACA7T,EAzBF,EAyBEA,QACAgU,EA1BF,EA0BEA,eACAE,EA3BF,EA2BEA,eACAC,EA5BF,EA4BEA,iBACAE,EA7BF,EA6BEA,iBACAC,EA9BF,EA8BEA,eACAE,EA/BF,EA+BEA,eACAxe,EAhCF,EAgCEA,MAEF,OAAIgK,EACM,kBAAC,EAAD,MAGR,6BACE,uBAAGtK,MAAO,CAAEiD,MAAO,QAAU3C,GAC7B,yBAAKM,UAAU,UAAf,wBAEE,kBAAC,EAAD,CACE2a,UAAU,EACVlB,iBAAkB,CAAC,CAAEtW,GAAIjD,KAAKC,MAAMye,SAAUhc,MAAO,WACrDgX,aAAc1Z,KAAKC,MAAMye,SACzBC,gBAAgB,EAChBnF,SAAUgE,EACVoB,eAAgB,WACd,EAAK3e,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,gBAAiBA,EACjBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,IAEjB,EAAKja,UAAS,SAAAib,GAAS,MAAK,CAAExB,gBAAiBwB,EAAUxB,oBAG3D7a,UAAU,EACVmT,WAAYuF,EACZxB,eAAgB,SAACrV,GACf,EAAKT,SAAS,CAAEwX,aAAc/W,IAC9B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAc/W,EACdgX,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBpE,eAAgB2B,EAChB9G,MAAOgH,EACPxB,cAAe,SAACzV,GACd,EAAKT,SAAS,CAAE0X,YAAajX,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAajX,EACboX,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBtJ,MAAOoH,EACP3B,cAAe,SAAC3V,GACd,EAAKT,SAAS,CAAE+X,YAAatX,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAatX,EACbwX,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBrJ,MAAOsH,EACP5B,cAAe,SAAC7V,GACd,EAAKT,SAAS,CAAEkY,YAAazX,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAazX,EACb2X,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBzD,WAAY6B,EACZ5B,mBAAoB,SAAChW,GACnB,EAAKT,SAAS,CAAEqY,iBAAkB5X,IAClC,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkB5X,EAClB8X,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBiB,QAAS1C,EACT2C,gBAAiB,SAAC1a,GAChB,EAAKT,SAAS,CAAEwY,cAAe/X,IAC/B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAe/X,EACfiY,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBmB,eAAgBzC,EAChB0C,uBAAwB,SAAC5a,GACvB,EAAKT,SAAS,CAAE2Y,qBAAsBlY,IACtC,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBlY,EACtBoY,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBrD,aAAckC,EACdjC,eAAgB,SAACpW,GACf,EAAKT,SAAS,CAAE8Y,YAAarY,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAarY,EACbuY,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnB7Y,MAAO6X,EACPqC,eAAe,EACfxE,cAAe,SAACrW,GACd,EAAKT,SAAS,CAAEiZ,YAAaxY,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaxY,EACb0Y,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBsB,QAASnC,EACToC,gBAAiB,SAAC/a,GAChB,EAAKT,SAAS,CAAEoZ,cAAe3Y,IAC/B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAe3Y,EACf4Y,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAOnBjD,cAAe4C,EACf3C,sBAAuB,SAACxW,GACtB,EAAKT,SAAS,CAAE4Z,iBAAkBnZ,IAClC,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBnZ,EACjBqZ,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAInB/C,SAAU6C,EACV5C,iBAAkB,SAAC1W,GACjB,EAAKT,SAAS,CAAE+Z,eAAgBtZ,IAChC,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAetZ,EACfwZ,eAAeA,KAOnBjE,YAAY,EACZN,YAAY,GACZK,UAAW9H,EAAgBuJ,aAAevJ,EAAgBuJ,aAAe,GACzEvB,SAAUhI,EAAgByJ,YAAczJ,EAAgByJ,YAAc,GACtEvB,SAAUlI,EAAgB8J,YAAc9J,EAAgB8J,YAAc,GACtE1B,SAAUpI,EAAgBiK,YAAcjK,EAAgBiK,YAAc,GACtE3B,cAAetI,EAAgBoK,iBAAmBpK,EAAgBoK,iBAAmB,GACrF1B,UAAW1I,EAAgB6K,YAAc7K,EAAgB6K,YAAc,GACvE/B,SAAU9I,EAAgBgL,YAAchL,EAAgBgL,YAAc,GACtE7B,YAAanJ,EAAgB8L,eAAiB9L,EAAgB8L,eAAiB,MAInF,yBAAKhe,UAAU,UAAf,wBAEE,kBAAC,EAAD,CACE2a,UAAU,EACVlB,iBAAkB,CAAC,CAAEtW,GAAIjD,KAAKC,MAAM8e,SAAUrc,MAAO,WACrDgX,aAAc1Z,KAAKC,MAAM8e,SACzBpc,UAAU,EACVgc,gBAAgB,EAChBnF,SAAUkE,EACVkB,eAAgB,WACd,EAAK3e,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,gBAAiBA,EACjBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,IAEjB,EAAKja,UAAS,SAAAib,GAAS,MAAK,CAAEtB,gBAAiBsB,EAAUtB,oBAE3D5H,WAAYwF,EACZzB,eAAgB,SAACrV,GACf,EAAKT,SAAS,CAAEyX,aAAchX,IAC9B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAchX,EACdqa,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBpE,eAAgB4B,EAChB/G,MAAOmH,EACP3B,cAAe,SAACzV,GACd,EAAKT,SAAS,CAAE6X,YAAapX,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAapX,EACbsX,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBtJ,MAAOsH,EACP7B,cAAe,SAAC3V,GACd,EAAKT,SAAS,CAAEiY,YAAaxX,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaxX,EACbyX,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBrJ,MAAOwH,EACP9B,cAAe,SAAC7V,GACd,EAAKT,SAAS,CAAEoY,YAAa3X,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAa3X,EACb4X,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBzD,WAAY+B,EACZ9B,mBAAoB,SAAChW,GACnB,EAAKT,SAAS,CAAEuY,iBAAkB9X,IAClC,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkB9X,EAClB+X,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBiB,QAASxC,EACTyC,gBAAiB,SAAC1a,GAChB,EAAKT,SAAS,CAAE0Y,cAAejY,IAC/B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAejY,EACfkY,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBmB,eAAgBvC,EAChBwC,uBAAwB,SAAC5a,GACvB,EAAKT,SAAS,CAAE6Y,qBAAsBpY,IACtC,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBpY,EACtBqY,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBrD,aAAcoC,EACdnC,eAAgB,SAACpW,GACf,EAAKT,SAAS,CAAEgZ,YAAavY,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAavY,EACbwY,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnB7Y,MAAO+X,EACPmC,eAAe,EACfxE,cAAe,SAACrW,GACd,EAAKT,SAAS,CAAEmZ,YAAa1Y,IAC7B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAa1Y,EACb2Y,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAGnBsB,QAASlC,EACTmC,gBAAiB,SAAC/a,GAChB,EAAKT,SAAS,CAAEqZ,cAAe5Y,IAC/B,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAe5Y,EACf6Y,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAeA,KAInBjD,cAAe8C,EACf7C,sBAAuB,SAACxW,GACtB,EAAKT,SAAS,CAAE8Z,iBAAkBrZ,IAClC,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBrZ,EACjBsZ,eAAeA,EACfE,eAAeA,KAInB/C,SAAU+C,EACV9C,iBAAkB,SAAC1W,GACjB,EAAKT,SAAS,CAAEia,eAAgBxZ,IAChC,EAAKvE,MAAMqR,aAAa,MAAO,CAC7BiK,aAAcA,EACdC,aAAcA,EACdqD,eAAgB,EAAK5e,MAAMye,SAC3BI,eAAgB,EAAK7e,MAAM8e,SAC3BtD,YAAaA,EACbG,YAAaA,EACbE,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,iBAAkBA,EAClBE,iBAAkBA,EAClBC,cAAeA,EACfE,cAAeA,EACfC,qBAAsBA,EACtBE,qBAAsBA,EACtBC,YAAaA,EACbE,YAAaA,EACbC,YAAaA,EACbE,YAAaA,EACbC,cAAeA,EACfC,cAAeA,EACfC,0BAA2BA,EAC3BE,0BAA2BA,EAC3BC,eAAgBA,EAChBE,eAAgBA,EAChBC,iBAAiBA,EACjBE,iBAAiBA,EACjBC,eAAeA,EACfE,eAAexZ,KAOnBuV,YAAY,EACZN,YAAY,GACZK,UAAW9H,EAAgBwJ,aAAexJ,EAAgBwJ,aAAe,GACzExB,SAAUhI,EAAgB4J,YAAc5J,EAAgB4J,YAAc,GACtE1B,SAAUlI,EAAgBgK,YAAchK,EAAgBgK,YAAc,GACtE5B,SAAUpI,EAAgBmK,YAAcnK,EAAgBmK,YAAc,GACtE7B,cAAetI,EAAgBsK,iBAAmBtK,EAAgBsK,iBAAmB,GACrF5B,UAAW1I,EAAgB+K,YAAc/K,EAAgB+K,YAAc,GACvEjC,SAAU9I,EAAgBkL,YAAclL,EAAgBkL,YAAc,GACtE/B,YAAanJ,EAAgBgM,eAAiBhM,EAAgBgM,eAAiB,MAInF,4BAAQle,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,a,GAjlCwCxS,aCC3Bqf,E,kDACnB,WAAavf,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACX0U,WAAY,GACZ2J,qBAAsB,GACtBC,eAAgB,GAChBC,cAAe,EAAK1f,MAAM2f,aAAajE,mBAAqB,GAC5DkE,cAAe,EAAK5f,MAAM2f,aAAa7D,oBAAsB,GAC7D+D,cAAe,EAAK7f,MAAM2f,aAAa1D,kBAAoB,GAC3D6D,mBAAoB,EAAK9f,MAAM2f,aAAavD,YAAc,GAC1D2D,cAAe,EAAK/f,MAAM2f,aAAa9C,cAAgB,GACvDmD,cAAe,EAAKhgB,MAAM2f,aAAa3C,eAAiB,GACxDiD,gBAAgB,EAAKjgB,MAAM2f,aAAaO,gBACxC3W,SAAS,EACTuQ,YAAY,EACZva,MAAO,GACP+Z,iBAAkB,IAEpB,EAAKI,mBAAqB,EAAKA,mBAAmBlU,KAAxB,gBAlBR,E,qDAqBpB,WAAsB,IAAD,OACnBK,MAAM,GAAD,OAAIC,8BAAJ,uCACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAE+R,WAAYtP,IACxBA,EAAI3D,QACN,EAAKkB,SAAS,CAAE2b,eAAgBxV,SAAS,EAAKjK,MAAM2f,aAAapB,iBAAmB,QAGvFjY,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,6CAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAEwV,iBAAkB/S,EAAKgD,SAAS,IAC5ChD,EAAI3D,SACN,EAAKkB,SAAS,CAAE0b,qBAAsBvV,SAAS,EAAKjK,MAAM2f,aAAaQ,eAAiB,KACpFlW,SAAS,EAAKjK,MAAM2f,aAAaQ,gBAAkB,EAAKngB,MAAMye,UAAYxU,SAAS,EAAKjK,MAAM2f,aAAaQ,gBAAkB,EAAKngB,MAAM8e,UAC1I,EAAKhb,SAAS,CAAEgW,YAAY,U,gCAMtC,SAAoBzX,GAClB,GAAI4H,SAAS5H,KAAOtC,KAAKC,MAAMye,SAAU,CACvC,IAAMhD,EAAa1b,KAAKC,MAAMyb,WAC9B1b,KAAK+D,SAAS,CACZ0b,qBAAsBzf,KAAKC,MAAMye,SACjCgB,eAAgBhE,EAAW3F,QAAU2F,EAAW8C,gBAAkB,EAClEmB,cAAejE,EAAW2E,WAAa3E,EAAWC,mBAAqB,GACvEkE,cAAenE,EAAW4E,YAAc5E,EAAWK,oBAAsB,GACzE+D,cAAepE,EAAW6E,YAAc7E,EAAWQ,kBAAoB,GACvE6D,mBAAoBrE,EAAWnB,YAAcmB,EAAWW,YAAc,GACtE2D,cAAetE,EAAWf,cAAgBe,EAAWoB,cAAgB,GACrEmD,cAAevE,EAAWvW,OAASuW,EAAWuB,eAAiB,GAC/DlD,YAAY,IAEd/Z,KAAKC,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBzf,KAAKC,MAAMye,SACjCgB,eAAgBhE,EAAW3F,QAAU2F,EAAW8C,gBAAkB,EAClEmB,cAAejE,EAAW2E,WAAa3E,EAAWC,mBAAqB,GACvEkE,cAAenE,EAAW4E,YAAc5E,EAAWK,oBAAsB,GACzE+D,cAAepE,EAAW6E,YAAc7E,EAAWQ,kBAAoB,GACvE6D,mBAAoBrE,EAAWnB,YAAcmB,EAAWW,YAAc,GACtE2D,cAAetE,EAAWf,cAAgBe,EAAWoB,cAAgB,GACrEmD,cAAevE,EAAWvW,OAASuW,EAAWuB,eAAiB,UAE5D,GAAI/S,SAAS5H,KAAOtC,KAAKC,MAAM8e,SAAU,CAC9C,IAAMlD,EAAa7b,KAAKC,MAAM4b,WAC9B7b,KAAK+D,SAAS,CACZ0b,qBAAsBzf,KAAKC,MAAM8e,SACjCW,eAAgB7D,EAAW9F,QAAU8F,EAAW2C,gBAAkB,EAClEmB,cAAe9D,EAAWwE,WAAaxE,EAAWF,mBAAqB,GACvEkE,cAAehE,EAAWyE,YAAczE,EAAWE,oBAAsB,GACzE+D,cAAejE,EAAW0E,YAAc1E,EAAWK,kBAAoB,GACvE6D,mBAAoBlE,EAAWtB,YAAcsB,EAAWQ,YAAc,GACtE2D,cAAenE,EAAWlB,cAAgBkB,EAAWiB,cAAgB,GACrEmD,cAAepE,EAAW1W,OAAS0W,EAAWoB,eAAiB,GAC/DlD,YAAY,IAEd/Z,KAAKC,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBzf,KAAKC,MAAM8e,SACjCW,eAAgB7D,EAAW9F,QAAU8F,EAAW2C,gBAAkB,EAClEmB,cAAe9D,EAAWwE,WAAaxE,EAAWF,mBAAqB,GACvEkE,cAAehE,EAAWyE,YAAczE,EAAWE,oBAAsB,GACzE+D,cAAejE,EAAW0E,YAAc1E,EAAWK,kBAAoB,GACvE6D,mBAAoBlE,EAAWtB,YAAcsB,EAAWQ,YAAc,GACtE2D,cAAenE,EAAWlB,cAAgBkB,EAAWiB,cAAgB,GACrEmD,cAAepE,EAAW1W,OAAS0W,EAAWoB,eAAiB,UAGsC,IAAnG,CAACjd,KAAKC,MAAMye,SAAU1e,KAAKC,MAAM8e,UAAU7b,QAAQgH,SAASlK,KAAKoB,MAAMqe,wBACzEzf,KAAK+D,SAAS,CACZ0b,qBAAsBnd,EACtBod,eAAgB,GAChBC,cAAe,GACfE,cAAe,GACfC,cAAe,GACfC,mBAAoB,GACpBC,cAAe,GACfC,cAAe,KAEjBjgB,KAAKC,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBnd,EACtBod,eAAgB,GAChBC,cAAe,GACfE,cAAe,GACfC,cAAe,GACfC,mBAAoB,GACpBC,cAAe,GACfC,cAAe,OAGjBjgB,KAAK+D,SAAS,CACZ0b,qBAAsBnd,EACtBod,eAAgB1f,KAAKoB,MAAMse,eAC3BC,cAAe3f,KAAKoB,MAAMue,cAC1BE,cAAe7f,KAAKoB,MAAMye,cAC1BC,cAAe9f,KAAKoB,MAAM0e,cAC1BC,mBAAoB/f,KAAKoB,MAAM2e,mBAC/BC,cAAehgB,KAAKoB,MAAM4e,cAC1BC,cAAejgB,KAAKoB,MAAM6e,gBAE5BjgB,KAAKC,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBnd,EACtBod,eAAgB1f,KAAKoB,MAAMse,eAC3BC,cAAe3f,KAAKoB,MAAMue,cAC1BE,cAAe7f,KAAKoB,MAAMye,cAC1BC,cAAe9f,KAAKoB,MAAM0e,cAC1BC,mBAAoB/f,KAAKoB,MAAM2e,mBAC/BC,cAAehgB,KAAKoB,MAAM4e,cAC1BC,cAAejgB,KAAKoB,MAAM6e,iBAG9BjgB,KAAK+D,SAAS,CAAE0b,qBAAsBnd,EAAGyX,YAAY,M,oBAIzD,WAAW,IAAD,OACF/H,EAAkBhS,KAAKC,MAAMT,MACnC,EAeIQ,KAAKoB,MAdP0U,EADF,EACEA,WACA2J,EAFF,EAEEA,qBACAC,EAHF,EAGEA,eACAC,EAJF,EAIEA,cACAE,EALF,EAKEA,cACAC,EANF,EAMEA,cACAC,EAPF,EAOEA,mBACAC,EARF,EAQEA,cACAC,EATF,EASEA,cACAC,EAVF,EAUEA,gBACA1W,EAXF,EAWEA,QACAuQ,EAZF,EAYEA,WACAva,EAbF,EAaEA,MACA+Z,EAdF,EAcEA,iBAEF,OAAI/P,EACM,kBAAC,EAAD,MAIR,6BACE,uBAAGtK,MAAO,CAAEiD,MAAO,QAAU3C,IAC4D,IAAxF,CAACQ,KAAKC,MAAMye,SAAU1e,KAAKC,MAAM8e,UAAU7b,QAAQgH,SAASuV,KACU,IAAnE,CAACzf,KAAKC,MAAMye,UAAUxb,QAAQgH,SAASuV,IAAgC,yBAAK3f,UAAU,YACtF,kBAAC,EAAD,CACE2a,UAAU,EACVlB,iBAAkBA,EAClBG,aAAc+F,EACd9F,mBAAoB3Z,KAAK2Z,mBACzB7D,WAAYA,EACZ+D,eAAgB,aAChBD,eAAgB5Z,KAAKC,MAAMyb,WAAW8C,eACtC/J,MAAOzU,KAAKC,MAAMyb,WAAWC,kBAC7B1B,cAAe,aACfvF,MAAO1U,KAAKC,MAAMyb,WAAWK,mBAC7B5B,cAAe,aACfxF,MAAO3U,KAAKC,MAAMyb,WAAWQ,iBAC7B7B,cAAe,aACfE,WAAYva,KAAKC,MAAMyb,WAAWW,WAClC7B,mBAAoB,aACpBG,aAAc3a,KAAKC,MAAMyb,WAAWoB,aACpClC,eAAgB,aAChBzV,MAAOnF,KAAKC,MAAMyb,WAAWuB,cAC7BoC,eAAe,EACfxE,cAAe,aACfd,WAAYA,EACZN,YAAazH,EAAgByN,qBAAuBzN,EAAgByN,qBAAuB,GAC3F3F,UAAW9H,EAAgB0N,eAAiB1N,EAAgB0N,eAAiB,GAC7E1F,SAAUhI,EAAgB2N,cAAgB3N,EAAgB2N,cAAgB,GAC1EzF,SAAUlI,EAAgB6N,cAAgB7N,EAAgB6N,cAAgB,GAC1EzF,SAAUpI,EAAgB8N,cAAgB9N,EAAgB8N,cAAgB,GAC1ExF,cAAetI,EAAgB+N,mBAAqB/N,EAAgB+N,mBAAqB,GACzFrF,UAAW1I,EAAgBgO,cAAgBhO,EAAgBgO,cAAgB,GAC3ElF,SAAU9I,EAAgBiO,cAAgBjO,EAAgBiO,cAAgB,OAIP,IAAnE,CAACjgB,KAAKC,MAAM8e,UAAU7b,QAAQgH,SAASuV,IACrC,yBAAK3f,UAAU,YACf,kBAAC,EAAD,CACE2a,UAAU,EACVlB,iBAAkBA,EAClBG,aAAc+F,EACd9F,mBAAoB3Z,KAAK2Z,mBACzB7D,WAAYA,EACZ+D,eAAgB,aAChBD,eAAgB5Z,KAAKC,MAAM4b,WAAW2C,eACtC/J,MAAOzU,KAAKC,MAAM4b,WAAWF,kBAC7B1B,cAAe,aACfvF,MAAO1U,KAAKC,MAAM4b,WAAWE,mBAC7B5B,cAAe,aACfxF,MAAO3U,KAAKC,MAAM4b,WAAWK,iBAC7B7B,cAAe,aACfE,WAAYva,KAAKC,MAAM4b,WAAWQ,WAClC7B,mBAAoB,aACpBG,aAAc3a,KAAKC,MAAM4b,WAAWiB,aACpClC,eAAgB,aAChBzV,MAA+C,OAAxCnF,KAAKC,MAAM4b,WAAWoB,eAAgE,KAAtCjd,KAAKC,MAAM4b,WAAWoB,cAAqB,KAAMjd,KAAKC,MAAM4b,WAAWoB,cAC9HoC,eAAe,EACfxE,cAAe,SAACrW,GACd,EAAKT,SAAS,CAAEkc,cAAezb,IAC/B,EAAKvE,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBA,EACtBC,eAAgBA,EAChBC,cAAeA,EACfE,cAAeA,EACfC,cAAeA,EACfC,mBAAoBA,EACpBC,cAAeA,EACfC,cAAezb,KAInBuV,WAAYA,EACZN,YAAazH,EAAgByN,qBAAuBzN,EAAgByN,qBAAuB,GAC3F3F,UAAW9H,EAAgB0N,eAAiB1N,EAAgB0N,eAAiB,GAC7E1F,SAAUhI,EAAgB2N,cAAgB3N,EAAgB2N,cAAgB,GAC1EzF,SAAUlI,EAAgB6N,cAAgB7N,EAAgB6N,cAAgB,GAC1EzF,SAAUpI,EAAgB8N,cAAgB9N,EAAgB8N,cAAgB,GAC1ExF,cAAetI,EAAgB+N,mBAAqB/N,EAAgB+N,mBAAqB,GACzFrF,UAAW1I,EAAgBgO,cAAgBhO,EAAgBgO,cAAgB,GAC3ElF,SAAU9I,EAAgBiO,cAAgBjO,EAAgBiO,cAAgB,MAG5E,KACJ,yBAAKngB,UAAU,YACf,kBAAC,EAAD,CACE2a,UAAU,EACVlB,iBAAkBA,EAClBG,aAAc+F,EACd9F,mBAAoB3Z,KAAK2Z,mBACzB7D,WAAYA,EACZ+D,eAAgB,SAACrV,GACf,EAAKT,SAAS,CAAE2b,eAAgBlb,IAChC,EAAKvE,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBA,EACtBC,eAAgBlb,EAChBmb,cAAeA,EACfE,cAAeA,EACfC,cAAeA,EACfC,mBAAoBA,EACpBC,cAAeA,EACfC,cAAeA,KAGnBrG,eAAgB8F,EAChBjL,MAAOkL,EACP1F,cAAe,SAACzV,GACd,EAAKT,SAAS,CAAE4b,cAAenb,IAC/B,EAAKvE,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBA,EACtBC,eAAgBA,EAChBC,cAAenb,EACfqb,cAAeA,EACfC,cAAeA,EACfC,mBAAoBA,EACpBC,cAAeA,EACfC,cAAeA,KAGnBvL,MAAOmL,EACP1F,cAAe,SAAC3V,GACd,EAAKT,SAAS,CAAE8b,cAAerb,IAC/B,EAAKvE,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBA,EACtBC,eAAgBA,EAChBC,cAAeA,EACfE,cAAerb,EACfsb,cAAeA,EACfC,mBAAoBA,EACpBC,cAAeA,EACfC,cAAeA,KAGnBtL,MAAOmL,EACPzF,cAAe,SAAC7V,GACd,EAAKT,SAAS,CAAE+b,cAAetb,IAC/B,EAAKvE,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBA,EACtBC,eAAgBA,EAChBC,cAAeA,EACfE,cAAeA,EACfC,cAAetb,EACfub,mBAAoBA,EACpBC,cAAeA,EACfC,cAAeA,KAGnB1F,WAAYwF,EACZvF,mBAAoB,SAAChW,GACnB,EAAKT,SAAS,CAAEgc,mBAAoBvb,IACpC,EAAKvE,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBA,EACtBC,eAAgBA,EAChBC,cAAeA,EACfE,cAAeA,EACfC,cAAeA,EACfC,mBAAoBvb,EACpBwb,cAAeA,EACfC,cAAeA,KAGnBtF,aAAcqF,EACdpF,eAAgB,SAACpW,GACf,EAAKT,SAAS,CAAEic,cAAexb,IAC/B,EAAKvE,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBA,EACtBC,eAAgBA,EAChBC,cAAeA,EACfE,cAAeA,EACfC,cAAeA,EACfC,mBAAoBA,EACpBC,cAAexb,EACfyb,cAAeA,KAGnB9a,MAAO8a,EACPZ,eAAe,EACfxE,cAAe,SAACrW,GACd,EAAKT,SAAS,CAAEkc,cAAezb,IAC/B,EAAKvE,MAAMqR,aAAa,WAAY,CAClCmO,qBAAsBA,EACtBC,eAAgBA,EAChBC,cAAeA,EACfE,cAAeA,EACfC,cAAeA,EACfC,mBAAoBA,EACpBC,cAAeA,EACfC,cAAezb,KAGnBuV,WAAYA,EACZN,YAAazH,EAAgByN,qBAAuBzN,EAAgByN,qBAAuB,GAC3F3F,UAAW9H,EAAgB0N,eAAiB1N,EAAgB0N,eAAiB,GAC7E1F,SAAUhI,EAAgB2N,cAAgB3N,EAAgB2N,cAAgB,GAC1EzF,SAAUlI,EAAgB6N,cAAgB7N,EAAgB6N,cAAgB,GAC1EzF,SAAUpI,EAAgB8N,cAAgB9N,EAAgB8N,cAAgB,GAC1ExF,cAAetI,EAAgB+N,mBAAqB/N,EAAgB+N,mBAAqB,GACzFrF,UAAW1I,EAAgBgO,cAAgBhO,EAAgBgO,cAAgB,GAC3ElF,SAAU9I,EAAgBiO,cAAgBjO,EAAgBiO,cAAgB,MAO/E,kBAAC,EAAD,CACOne,KAAK,OACLY,MAAOwd,EACPhe,QAAQ,UACRE,SAAW,IACXL,OAAQiQ,EAAgBkO,gBAAkBlO,EAAgBkO,gBAAkB,GAC5E7d,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAEmc,gBAAiB1b,IACjC,EAAKvE,MAAMqR,aAAa,WAAY,CACpCmO,qBAAsBA,EACtBC,eAAgBA,EAChBC,cAAeA,EACfE,cAAeA,EACfC,cAAeA,EACfC,mBAAoBA,EACpBC,cAAeA,EACfC,cAAeA,EACfC,gBAAkB1b,OAK5B,4BAAQ1E,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,a,GAtYyCxS,aCF5BqgB,E,kDACnB,WAAavgB,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACXqf,QAAS,EAAKxgB,MAAMygB,oBAAsB,GAC1ClhB,MAAO,GACPmhB,WAAY,EAAK1gB,MAAM2gB,aAAc,GALrB,E,0CAUpB,WAAW,IAAD,OACF5O,EAAkBhS,KAAKC,MAAMT,MACnC,EAGIQ,KAAKoB,MAFPqf,EADF,EACEA,QACAE,EAFF,EAEEA,WAEEE,EAAMF,EACV,GAAY,SAARE,GAA0B,UAARA,EAAiB,CACrC,IAAMC,EAAOD,EAAIvT,cACIuT,EAAR,SAATC,EAIN,OACE,6BACE,yBAAKhhB,UAAU,gBACb,6IADF,MAEK,2BAAOqD,KAAK,QAAQT,MAAOie,EAAYte,SAAU,WAClD,EAAK0B,SAAS,CAAE4c,YAAY,IAC5B,EAAK1gB,MAAMqR,aAAa,KAAM,CAC5BmP,QAASA,EACTE,YAAY,KAEb7e,KAAK,UAAUwQ,UAAWuO,EAAK3hB,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,KAR3E,KASI,2BAAOd,KAAK,QAAQT,MAAOie,EAAYte,SAAU,WACjD,EAAK0B,SAAS,CAAE4c,YAAY,IAC5B,EAAK1gB,MAAMqR,aAAa,KAAM,CAC5BmP,QAASA,EACTE,YAAY,KAEb7e,KAAK,UAAUwQ,SAAUuO,EAAK3hB,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,MAE1E,kBAAC,EAAD,CACEnC,KAAK,OACLI,QAAQ,kBAETQ,MAAUie,GAA4B,SAAdA,EAA6BF,EAAL,GAC/C9d,UAAYge,GAA4B,SAAdA,EAC1Bte,SAAU,SAACC,GACT,EAAKyB,SAAS,CAAE0c,QAASne,IACzB,EAAKrC,MAAMqR,aAAa,KAAM,CAC5BmP,QAASne,EACTqe,WAAYA,KAGhBve,SAAWue,GAA4B,SAAdA,EAA+B,IAAP,KACjD5e,OAAQiQ,EAAgByO,QAAUzO,EAAgByO,QAAU,KAG9D,4BAAQ3gB,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,a,GA5DuCxS,aCC1B4gB,G,kDACnB,WAAa9gB,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACXoI,SAAS,EACThK,MAAO,GACPwhB,WAAY,GACZC,gBAAiB,GACjBC,YAAa,EAAKjhB,MAAMihB,YAAc,EAAKjhB,MAAMihB,YAAc,IAP/C,E,qDAWpB,WAAsB,IAAD,OACnBpb,MAAM,GAAD,OAAIC,8BAAJ,2BACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GAIJ,GAHIA,EAAI3D,QACN,EAAKkB,SAAS,CAAEid,WAAYxa,EAAKgD,SAAS,IAExC,EAAKvJ,MAAMkhB,QAAQte,OAAQ,CAC7B,IAAMue,EAAY,GAClB,EAAKnhB,MAAMkhB,QAAQ7V,SAAQ,SAAAtI,GACzBoe,EAAU5V,KAAKxI,EAAQC,OAEzB,EAAKc,SAAS,CAAEkd,gBAAiBG,QAGpCha,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,Q,oBAG9B,WAAW,IAAD,OACR,EAKIrH,KAAKoB,MAJPoI,EADF,EACEA,QACAwX,EAFF,EAEEA,WACAC,EAHF,EAGEA,gBACAC,EAJF,EAIEA,YAEF,GAAI1X,EACF,OAAQ,kBAAC,EAAD,MAGV,IAAI6X,EAAiB,GAmCrB,OAlCAL,EAAW1V,SAAQ,SAACtI,EAASqH,GAC3BgX,EAAe7V,KACb,2BAAO1I,IAAKuH,GACV,2BACElH,KAAK,WACLT,MAAOM,EAAQC,GACfnB,KAAK,UACLwQ,SAAkD,IAAzC2O,EAAgB/d,QAAQF,EAAQC,IACzCZ,SAAU,SAACC,GACT,IAA2D,IAAvD2e,EAAgB/d,QAAQgH,SAAS5H,EAAE3B,OAAO+B,QAC5C,EAAKzC,MAAMqR,aAAa,UAAW,CACjC2P,gBAAgB,GAAD,mBAAM,EAAK7f,MAAM6f,iBAAjB,CAAkC/W,SAAS5H,EAAE3B,OAAO+B,SACnEwe,YAAaA,IAEf,EAAKnd,SAAS,CAAEkd,gBAAgB,GAAD,mBAAM,EAAK7f,MAAM6f,iBAAjB,CAAkC/W,SAAS5H,EAAE3B,OAAO+B,eAC9E,CACL,IAAM4e,EAAa,GACnBL,EAAgB3V,SAAQ,SAAAtI,GAClBA,IAAYkH,SAAS5H,EAAE3B,OAAO+B,QAChC4e,EAAW9V,KAAKtB,SAASlH,OAG7B,EAAKe,SAAS,CAAEkd,gBAAiBK,IACjC,EAAKrhB,MAAMqR,aAAa,UAAW,CACjC2P,gBAAiBK,QAKxBte,EAAQN,WAMb,yBAAK5C,UAAU,mBACb,4DACA,6BACGuhB,GAEH,kBAAC,EAAD,CACEvf,KAAK,OACLI,QAAQ,4BACRQ,MAAOwe,EACP9e,SAAY6e,EAAgB7P,SAAS,IAAM,IAAM,GAEjDzO,UAAWse,EAAgB7P,SAAS,IACpC/O,SAAU,SAACC,GACT,EAAKrC,MAAMqR,aAAa,UAAW,CACjC2P,gBAAiBA,EACjBC,YAAa5e,IAEf,EAAKyB,SAAS,CAAEmd,YAAa5e,OAGhCtC,KAAKC,MAAMT,MAAM+hB,SAAW,uBAAGriB,MAAO,CAAEiD,MAAO,MAAOgC,SAAU,GAAIqd,UAAW,EAAGC,aAAc,IAAOzhB,KAAKC,MAAMT,MAAM+hB,SACzH,4BAAQzhB,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,a,GAlG6BxS,aCAhBuhB,G,kDACnB,WAAazhB,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACXugB,iBAAiB,EAAK1hB,MAAM0hB,mBAAoB,EAChDC,WAAY,GACZvR,gBAAgB,IALA,E,qDAiBpB,WAAsB,IAAD,OAEnBrQ,KAAK+D,SAAS,CAACsM,gBAAgBrQ,KAAKC,MAAMoQ,kBAC1CvK,MAAM,GAAD,OAAIC,8BAAJ,6BACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAE6d,WAAYpb,OAE7BY,OAAM,SAAAC,GAAG,OAAI,EAAKtD,SAAS,CAAE6d,WAAY,W,oBAM9C,WAAW,IAAD,OACFvR,EAAgBrQ,KAAKoB,MAAMiP,gBACjC,OACE,6BAED,4LACL,uLACA,mKACA,6LACA,wJACA,iIACA,gFACA,sRACkB,QAAjBA,EAAyB,sEAA2C,wCAA3C,gEAAwH,6BAAxH,sMAA+T,KACzV,uBAAGnR,MAAO,CAACwP,UAAU,WAArB,oPAEE,uBAAGxP,MAAO,CAACwP,UAAU,WAAY,2PAE3B,2BAAG,2BAAOvL,KAAK,WAAWT,MAAO1C,KAAKoB,MAAMugB,iBAAkBtf,SAAU,WACtE,EAAKpC,MAAMqR,aAAa,YAAa,EAAKlQ,MAAMugB,kBAChD,EAAK5d,UAAS,SAAAib,GAAS,MAAK,CAC1B2C,kBAAmB3C,EAAU2C,sBAG/BrP,QAAStS,KAAKoB,MAAMugB,mBANtB,wB,uCAzCN,SAAgC1hB,EAAMmB,GACpC,OAAGnB,EAAMoQ,kBAAkBjP,EAAMiP,gBAExB,CAACA,gBAAgBpQ,EAAMoQ,iBAEvB,S,GAdyBlQ,aCAjB0hB,G,kDACnB,WAAY5hB,GAAQ,IAAD,8BACjB,cAAMA,IACDmB,MAAQ,CACXoI,SAAS,EACThK,MAAO,GACPsiB,gBAAiB,GACjBC,0BAA2B,GAC3BC,sBAAuB,GACvBC,mBAAoB,GACpBC,eAAgB,GAChBC,MAAO,GACPC,QAAS,GACTC,mBAAoB,GACpBC,eAAgB,GAChBC,mBAAoB,GACpB1N,gBAAiB,GACjBoC,aAAa,GACbF,SAAS,GACTyL,iBAAiB,GACjB1O,YAAa,EAAK7T,MAAM6T,YACxB2O,gBAAiB,GACjBC,uBAAwB,GACxBC,uBAAwB,GACxBC,0BAA2B,GAC3BC,uBAAwB,GACxBC,MAAO,GACPC,YAAY,EACZ5S,cAAa,GAEf,EAAK6S,mBAAqB,EAAKA,mBAAmBvd,KAAxB,gBAC1B,EAAKwd,sBAAwB,EAAKA,sBAAsBxd,KAA3B,gBAC7B,EAAKyd,gBAAkB,EAAKA,gBAAgBzd,KAArB,gBACvB,EAAK0R,UAAY,EAAKA,UAAU1R,KAAf,gBACjB,EAAK0d,qBAAuB,EAAKA,qBAAqB1d,KAA1B,gBAC5B,EAAK2d,oBAAoB,EAAKA,oBAAoB3d,KAAzB,gBACzB,EAAK4d,wCAAwC,EAAKA,wCAAwC5d,KAA7C,gBAnC5B,E,qDAsCnB,WAAqB,IAAD,OACfzF,KAAKC,MAAMqjB,iBAAiBzgB,OAAO,IACtC7C,KAAKmX,UAAUjN,SAASlK,KAAKC,MAAMqjB,iBAAiB,GAAG1K,YAAc,IACrE5Y,KAAKmjB,qBAAqBjZ,SAASlK,KAAKC,MAAMqjB,iBAAiB,GAAGC,oBAAsB,KAExFzd,MAAM,GAAD,OAAIC,8BAAJ,8CACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAEge,0BAA2Bvb,EAAKwb,sBAAuB,QAExEzb,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,2CAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACAA,EAAI3D,QACN,EAAKkB,SAAS,CAAEse,mBAAoB7b,EAAK8b,eAAgB,QAG5D/b,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,iDAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAE4e,uBAAwBnc,EAAKkc,uBAAwB,QAEtEnc,MAAK,kBAAM,EAAK0c,sBAAsB,EAAK7hB,MAAM4gB,0BACjDzb,MAAK,WAEJ,GADAe,QAAQC,IAAI,EAAKtH,OACb,EAAKA,MAAMqjB,iBAAiBzgB,OAAS,EAAG,CAC1C,IAAM2gB,EAAkB,GACxB,EAAKvjB,MAAMqjB,iBAAiBhY,SAAQ,SAACtI,EAASqH,GAC5C,IAAIiY,EACAC,EAEFD,EAD4B,MAA1Btf,EAAQygB,cACO,CAAC,CAAExgB,GAAI,IAAKP,MAAOM,EAAQ0gB,kBAE3B,EAAKtiB,MAAMihB,mBAAmBjQ,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAASlH,EAAQygB,kBAGzFlB,EADqC,UAAnCvf,EAAQ2gB,uBACW,CAAC,CAAE1gB,GAAI,QAASP,MAAOM,EAAQ4gB,2BAE/B,EAAKxiB,MAAMuhB,uBAAuBvQ,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAASlH,EAAQ2gB,2BAEnG,IAAIE,EAAmB,GACvB,GAAI7gB,EAAQ8gB,QAAS,CACnB,IAAMzQ,EAAO,IAAItM,KAAK/D,EAAQ8gB,SAC1BxQ,EAAQD,EAAKE,WAAa,EAC1BC,EAAMH,EAAKI,UACXC,EAAOL,EAAKM,cACZL,EAAQ,KACVA,EAAQ,IAAMA,GAEZE,EAAM,KACRA,EAAM,IAAMA,GAEVE,EAAO,GACTA,EAAO,MAAQA,EACNA,EAAO,IAChBA,EAAO,KAAOA,EACLA,EAAO,MAChBA,EAAO,IAAMA,GAEfmQ,EAAmBnQ,EAAO,IAAMJ,EAAQ,IAAME,EAG5CnJ,GAAS,EAAKpK,MAAMqjB,iBAAiBzgB,OAAS,EAChD2gB,EAAgBhY,KAAK,CACnBwW,sBAAuBhf,EAAQ+gB,aAC/B3B,QAASyB,GAAoB,GAC7BvB,eAAgBA,GAAkBA,EAAezf,OAAS,EAAIyf,EAAe,GAAGrf,GAAK,GACrF4R,gBAAiB7R,EAAQ4V,UACzB3B,aAAajU,EAAQghB,OACrB7B,MAAOnf,EAAQihB,QACf1B,mBAAoBA,EAAmB1f,OAAS0f,EAAmB,GAAGtf,GAAK,GAC3Ewf,gBAAiBH,GAAkBA,EAAezf,OAAS,EAAIyf,EAAe,GAAG5f,MAAQ,GACzFggB,uBAAwBH,GAAsBA,EAAmB1f,OAAS,EAAI0f,EAAmB,GAAG7f,MAAQ,GAC5GkgB,0BAA2B5f,EAAQugB,kBACnCV,uBAAwB7f,EAAQkhB,eAChCC,KAAMnhB,EAAQohB,UACdlC,eAAiBlf,EAAQqhB,kBAI3B,EAAKtgB,SAAS,CACZie,sBAAuBhf,EAAQ+gB,aAC/B3B,QAASyB,GAAoB,GAC7BvB,eAAgBA,GAAkBA,EAAezf,OAAS,EAAIyf,EAAe,GAAGrf,GAAK,GACrF4R,gBAAiB7R,EAAQ4V,UACzB3B,aAAajU,EAAQghB,OACrB7B,MAAOnf,EAAQihB,QACf1B,mBAAoBA,EAAmB1f,OAAS0f,EAAmB,GAAGtf,GAAK,GAC3Ewf,gBAAiBH,GAAkBA,EAAezf,OAAS,EAAIyf,EAAe,GAAG5f,MAAQ,GACzFggB,uBAAwBH,GAAsBA,EAAmB1f,OAAS,EAAI0f,EAAmB,GAAG7f,MAAQ,GAC5GkgB,0BAA2B5f,EAAQugB,kBACnCV,uBAAwB7f,EAAQkhB,eAChCC,KAAMnhB,EAAQohB,UACdlC,eAAiBlf,EAAQqhB,iBAE3B,EAAKpB,sBAAsBjgB,EAAQ+gB,kBAIvC,EAAKhgB,SAAS,CAAE+d,gBAAiB0B,EAAiBha,SAAS,SACtD,GAA2C,IAAvC,EAAKvJ,MAAMqjB,iBAAiBzgB,OAAc,CACnD,IAsBIyf,EACAC,EAvBEvf,EAAU,EAAK/C,MAAMqjB,iBAAiB,GACxCO,EAAmB,GACvB,GAAI7gB,EAAQ8gB,QAAS,CACnB,IAAMzQ,EAAO,IAAItM,KAAK/D,EAAQ8gB,SAC1BxQ,EAAQD,EAAKE,WAAa,EAC1BC,EAAMH,EAAKI,UACXC,EAAOL,EAAKM,cACZL,EAAQ,KACVA,EAAQ,IAAMA,GAEZE,EAAM,KACRA,EAAM,IAAMA,GAEVE,EAAO,GACTA,EAAO,MAAQA,EACNA,EAAO,IAChBA,EAAO,KAAOA,EACLA,EAAO,MAChBA,EAAO,IAAMA,GAEfmQ,EAAmBnQ,EAAO,IAAMJ,EAAQ,IAAME,EAK9C8O,EAD4B,MAA1Btf,EAAQygB,cACO,CAAC,CAAExgB,GAAI,IAAKP,MAAOM,EAAQ0gB,kBAE3B,EAAKtiB,MAAMihB,mBAAmBjQ,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAASlH,EAAQygB,kBAGzFlB,EADqC,UAAnCvf,EAAQ2gB,uBACW,CAAC,CAAE1gB,GAAI,QAASP,MAAOM,EAAQ4gB,2BAE/B,EAAKxiB,MAAMuhB,uBAAuBvQ,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAASlH,EAAQ2gB,2BAGnG,EAAK5f,SAAS,CACZie,sBAAuBhf,EAAQ+gB,aAC/B3B,QAASyB,GAAoB,GAC7BvB,eAAgBA,GAAkBA,EAAezf,OAAS,EAAIyf,EAAe,GAAGrf,GAAK,GACrF4R,gBAAiB7R,EAAQ4V,UACzB3B,aAAajU,EAAQghB,OACrB7B,MAAOnf,EAAQihB,QACf1B,mBAAoBA,EAAmB1f,OAAS0f,EAAmB,GAAGtf,GAAK,GAC3EuG,SAAS,EACTiZ,gBAAiBH,GAAkBA,EAAezf,OAAS,EAAIyf,EAAe,GAAG5f,MAAQ,GACzFggB,uBAAwBH,GAAsBA,EAAmB1f,OAAS,EAAI0f,EAAmB,GAAG7f,MAAQ,GAC5GkgB,0BAA2B5f,EAAQugB,kBACnCV,uBAAwB7f,EAAQkhB,eAChCC,KAAMnhB,EAAQohB,UACdlC,eAAiBlf,EAAQqhB,eACzBtB,WAAWR,EAAmB1f,OAAO,IAEvC,EAAKogB,sBAAsBjgB,EAAQ+gB,cACnC,EAAKV,wCAAwCrgB,EAAQ+gB,aAAaxB,EAAmB1f,OAAO,QAE5F,EAAKkB,SAAS,CAAEyF,SAAS,OAG5BpC,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,MAC1BC,QAAQC,Q,6BAGX,SAAiB/C,GAAM,IAAD,OAYrB,OAXmBsB,MAAM,GAAD,OAAIC,8BAAJ,6DAAsFvB,IAC3G+B,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GAEJ,GADA,EAAKzC,SAAS,CAAEke,mBAAoBzb,IAChCA,EAAI3D,OAEN,OADA,EAAKkB,SAAS,CAAEme,eAAgB,EAAKjiB,MAAMiiB,iBACpC,MAGV9a,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,Q,8DAK9B,WAAiB7C,GAAjB,sBAAAqB,EAAA,sEACmBC,MAAM,GAAD,OAAIC,8BAAJ,gEAAyFvB,IAC5G+B,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GAEJ,GADA,EAAKzC,SAAS,CAAEgT,SAAUvQ,IACtBA,EAAI3D,OAEN,OADA,EAAKkB,SAAS,CAAEkT,aAAc,EAAKhX,MAAMwX,MAAQ,KAC1C,MAGVrQ,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,MAV9B,cACMoQ,EADN,yBAYSA,GAZT,2C,gIAeA,WAA4BjT,GAA5B,sBAAAqB,EAAA,sEACmBC,MAAM,GAAD,OAAIC,8BAAJ,gEAAyFvB,IAC5G+B,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GAEJ,GADA,EAAKzC,SAAS,CAAEye,iBAAkBhc,IAC9BA,EAAI3D,OAEN,OADA,EAAKkB,SAAS,CAAE8e,uBAAwB,EAAK5iB,MAAMwX,MAAQ,KACpD,MAGVrQ,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,MAV9B,cACMoQ,EADN,yBAYSA,GAZT,2C,0FAcA,SAAsBpN,GAGpB,MAeIrK,KAAKoB,MAdPkhB,EADF,EACEA,eACAN,EAFF,EAEEA,sBACAG,EAHF,EAGEA,MACAC,EAJF,EAIEA,QACAvN,EALF,EAKEA,gBACAoC,EANF,EAMEA,aACAsL,EAPF,EAOEA,mBACAE,EARF,EAQEA,gBACAC,EATF,EASEA,uBACAZ,EAVF,EAUEA,gBACAc,EAXF,EAWEA,0BACAC,EAZF,EAYEA,uBACAsB,EAbF,EAaEA,KACAhU,EAdF,EAcEA,aAEImU,EAAU,GAChBxC,EAAgBxW,SAAQ,SAACtI,EAASgW,GAC5BA,IAAW3O,GACbia,EAAQ9Y,KAAKxI,MAGjBhD,KAAKC,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiBc,EACjBtC,sBAAuBA,EACvBI,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbkL,MAAOA,EACPgC,KAAMA,EACN5B,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBG,uBAAwBA,EACxBD,0BAA2BA,EAC3BzS,aAAaA,IAEfnQ,KAAK+D,SAAS,CAAE+d,gBAAiBwC,M,gCAGnC,WAME,MAcItkB,KAAKoB,MAbPkhB,EADF,EACEA,eACAN,EAFF,EAEEA,sBACAG,EAHF,EAGEA,MACAC,EAJF,EAIEA,QACAvN,EALF,EAKEA,gBACAoC,EANF,EAMEA,aACAsL,EAPF,EAOEA,mBACAE,EARF,EAQEA,gBACAC,EATF,EASEA,uBACAE,EAVF,EAUEA,0BACAC,EAXF,EAWEA,uBACAsB,EAZF,EAYEA,KACAjC,EAbF,EAaEA,eAEF,GAA8B,KAA1BF,GAAgCI,GAA8B,KAAnBE,GAA6C,KAApBzN,GAA0BsN,GAASgC,EACzG,GAAuB,UAAnB7B,GAA+BG,EAE5B,GAA2B,UAAvBF,GAAmCG,EAEvC,IAAIH,GAAuBK,GAA8BC,EAEzD,CACL,IAAM0B,EAAS,CACbvC,sBAAuBA,EACvBI,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbkL,MAAOA,EACPgC,KAAMA,EACN5B,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxBX,eAAeA,GAGjBliB,KAAKC,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAgB,GAAD,mBAAMxjB,KAAKoB,MAAM0gB,iBAAjB,CAAkCyC,IACjDvC,sBAAuB,GACvBI,QAAS,GACTE,eAAgB,GAChBzN,gBAAiB,GACjBoC,aAAa,GACbkL,MAAO,GACPgC,KAAM,GACN5B,mBAAoB,GACpBE,gBAAiB,GACjBC,uBAAwB,GACxBE,0BAA2B,GAC3BC,uBAAwB,GACxBX,eAAe,GACf/R,cAAa,IAEfnQ,KAAK+D,SAAS,CAAE+d,gBAAgB,GAAD,mBAAM9hB,KAAKoB,MAAM0gB,iBAAjB,CAAkCyC,MACjEvkB,KAAK+D,SAAS,CACZie,sBAAuB,GACvBI,QAAS,GACTE,eAAgB,GAChBzN,gBAAiB,GACjBoC,aAAa,GACbkL,MAAO,GACPgC,KAAM,GACN5B,mBAAoB,GACpBE,gBAAiB,GACjBC,uBAAwB,GACxBE,0BAA2B,GAC3BC,uBAAwB,GACxBX,eAAe,UAjDjB3e,MAAM,2DAFNA,MAAM,2DAFNA,MAAM,2DAyDRA,MAAM,wD,mCAIV,SAAsBiB,GAEpB,IAAMue,EAAY/iB,KAAKoB,MAAM2hB,WAC7B/iB,KAAK+D,SAAS,CAAEie,sBAAuBxd,IACvCxE,KAAKkjB,gBAAgB1e,GACR,OAARA,GAAwB,OAARA,GAAwB,OAARA,GAAwB,OAARA,GAA6B,GAAZue,EAGpE/iB,KAAKC,MAAMukB,kBAAiB,GAF5BxkB,KAAKC,MAAMukB,kBAAiB,K,qDAShC,SAAwChgB,EAAIigB,GAG7B,KAARjgB,GAAsB,KAARA,GAAsB,KAARA,GAAsB,KAARA,GAAsB,GAAPigB,EAI5DzkB,KAAKC,MAAMukB,kBAAiB,GAF5BxkB,KAAKC,MAAMukB,kBAAiB,K,iCAKhC,SAAoBhgB,GAClB,IAAMwd,EAAuBhiB,KAAKoB,MAAM4gB,sBACxC1a,QAAQC,IAAIya,GACZ1a,QAAQC,IAAI/C,GACoB,KAA1Bwd,GAA0D,KAA1BA,GAA0D,KAA1BA,GAA2D,KAA1BA,GACvE,OAA1BA,GAA4D,OAA1BA,GAA4D,OAA1BA,GAA4D,OAA1BA,GAAwC,GAALxd,GAI7I8C,QAAQC,IAAI,OACZvH,KAAKC,MAAMukB,kBAAiB,KAJ5Bld,QAAQC,IAAI,QACZvH,KAAKC,MAAMukB,kBAAiB,M,iCAMhC,WAAuB,IAAD,OACdxS,EAAkBhS,KAAKC,MAAMT,MACnC,EAwBIQ,KAAKoB,MAvBPoI,EADF,EACEA,QACAsY,EAFF,EAEEA,gBACAO,EAHF,EAGEA,mBACAN,EAJF,EAIEA,0BACAE,EALF,EAKEA,mBACAK,EANF,EAMEA,eACAK,EAPF,EAOEA,uBACAX,EARF,EAQEA,sBACAE,EATF,EASEA,eACAC,EAVF,EAUEA,MACAC,EAXF,EAWEA,QACAvN,EAZF,EAYEA,gBACAoC,EAbF,EAaEA,aACAF,EAdF,EAcEA,SACAyL,EAfF,EAeEA,iBACAD,EAhBF,EAgBEA,mBACAE,EAjBF,EAiBEA,gBACAC,EAlBF,EAkBEA,uBACAE,EAnBF,EAmBEA,0BACAC,EApBF,EAoBEA,uBACAsB,EArBF,EAqBEA,KACApB,EAtBF,EAsBEA,WACA5S,EAvBF,EAuBEA,aAGF,GAAI3G,EACF,OAAO,kBAAC,EAAD,MAET,IAAMkb,EAAsB,GAsB5B,OArBI5C,EAAgBjf,OAAS,GAC3Bif,EAAgBxW,SAAQ,SAACtI,EAASqH,GAChC,IAAIiY,EAEFA,EAD6B,MAA3Btf,EAAQsf,eACO,CAAC,CAAErf,GAAI,IAAKP,MAAOM,EAAQyf,kBAE3BJ,EAAmBjQ,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAASlH,EAAQsf,mBAEhF,IAAMqC,EAAsB5C,EAA0B3P,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAASlH,EAAQgf,0BAChG0C,EAAoBlZ,KAClB,yBAAK1L,UAAU,iBAAiBgD,IAAKuH,GACnC,6BACE,2BAAIiY,EAAezf,OAAUyf,EAAe,GAAI5f,MAAQ,IACxD,2BAAIiiB,EAAoB9hB,OAAS8hB,EAAoB,GAAGjiB,MAAQ,KAElE,4BAAQ3C,QAAS,EAAK6kB,sBAAsBnf,KAAK,EAAM4E,IAAvD,UAMJb,EACK,kBAAC,EAAD,MAGP,yBAAK1J,UAAU,yBACb,yBAAKA,UAAU,qBACb,6BACE,kBAAC,EAAD,CACEgC,KAAK,SACLI,QAAQ,cACR2B,MAAM,kLACNzB,SAAS,IACTL,OAAQiQ,EAAgBsQ,eAAiBtQ,EAAgBsQ,eAAiB,GAE1E1f,KAAMyf,EACN3f,MAAO4f,EACPjgB,SAAU,SAACmC,GAGT,GAFA,EAAKT,SAAS,CAAEme,eAAe,KAEnB,MAAR1d,EACF,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAiB,GACjBC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgB9d,EAChBqQ,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiB,GACjBC,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxB1S,aAAaA,IAEf,EAAKpM,SAAS,CAAEue,eAAgB9d,EAAKie,gBAAiB,GAAG5N,gBAAgB,EAAEoC,aAAa,QACnF,CACL,IAAM4N,EAAQxC,EAAmBjQ,QAAO,SAAAkF,GAAG,OAAIpN,SAASoN,EAAIrU,MAAQiH,SAAS1F,MAC7E,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAe,GACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgB9d,EAChBqQ,gBAAiB,GACjBoC,aAAa,GACbsL,mBAAoBA,EACpBE,gBAAiBoC,GAASA,EAAMhiB,OAAS,EAAIgiB,EAAM,GAAGniB,MAAQ,GAC9DggB,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxB1S,aAAaA,IAEf,EAAKpM,SAAS,CAAEue,eAAgB9d,EAAKie,gBAAiBoC,GAASA,EAAMhiB,OAAS,EAAIgiB,EAAM,GAAGniB,MAAQ,SAIrF,MAAnB4f,EACG,kBAAC,EAAD,CACAxgB,KAAK,OACLI,QAAQ,cACRE,SAAS,IACTL,OAAQiQ,EAAgByQ,gBAAkBzQ,EAAgByQ,gBAAkB,GAC5E/f,MAAO+f,EACPpgB,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE0e,gBAAiBje,EAAK0d,eAAe,KACrD,EAAKjiB,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAeA,EACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiBje,EACjBke,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxB1S,aAAaA,OAGd,KACa,MAAnBmS,EACE,kBAAC,EAAD,CACDxgB,KAAK,SACLc,KAAM5C,KAAKC,MAAM6T,YACjBpR,MAAOmS,EACPzS,SAAS,IACTL,OAAQiQ,EAAgB6C,gBAAkB7C,EAAgB6C,gBAAkB,GAC5E3S,QAAQ,iBACRG,SAAQ,uCAAE,WAAOmC,GAAP,SAAAqB,EAAA,6DACR,EAAK9B,SAAS,CAAE8Q,gBAAiBrQ,EAAM0d,eAAe,GAAGjL,aAAa,KACtE,EAAKhX,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAeA,EACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBrQ,EACjByS,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxB1S,aAAaA,IAjBP,SAmBF,EAAKgH,UAAU3S,GAnBb,2CAAF,wDAqBP,KACgB,MAAnB8d,EACI,kBAAC,EAAD,CACNpgB,QAAQ,OACRQ,MAAOuU,EACPnV,KAAK,SACLc,KAAMmU,EACN3U,SAAS,IACTL,OAAQiQ,EAAgBiF,aAAejF,EAAgBiF,aAAe,GACtE5U,SAAU,SAACmC,GAET,EAAKT,SAAS,CAAEkT,aAAczS,IAC9B,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAeA,EACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAazS,EACb+d,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxB1S,aAAaA,OAKf,KACA,kBAAC,EAAD,CACErO,KAAK,SACLI,QAAQ,0BACR2B,MAAM,qWACNzB,SAAS,IACTL,OAAQiQ,EAAgBgQ,sBAAwBhQ,EAAgBgQ,sBAAwB,GACxFpf,KAAMmf,EACNrf,MAAOsf,EACP3f,SAAU,SAACmC,GACT,EAAKye,sBAAsBze,GAE3B,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBxd,EACvB0d,eAAe,GACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxB1S,aAAaA,OAM/B,kBAAC,EAAD,CACcrO,KAAK,SACLI,QAAQ,QACRE,SAAS,IACTL,OAAQiQ,EAAgBkQ,eAAiBlQ,EAAgBkQ,eAAiB,GAC1Etf,KAAMqf,EACNvf,MAAQwf,EACR7f,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAEme,eAAgB1d,IAEhC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBG,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxBX,eAAe1d,EACf2L,aAAaA,OAOnB,kBAAC,EAAD,CACErO,KAAK,OACLM,SAAS,IACTL,OAAQiQ,EAAgBoQ,QAAUpQ,EAAgBoQ,QAAU,GAC5Dve,MAAM,unBACNnB,MAAO0f,EACPlgB,QAAQ,kBACRG,SAAU,SAACmC,GACT,IAAMuP,EAAM,IAAIhN,KAAKvC,GAChBwP,MAAMD,EAAIJ,gBAsBb,EAAK5P,SAAS,CAAEqe,QAAS,KACzB,EAAKniB,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBG,MAAOA,EACPgC,KAAMA,EACN/B,QAAS,GACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxBX,eAAeA,EACf/R,aAAaA,KArCXjG,SAAS6J,EAAIJ,gBAAkB,OACjC,EAAK5P,SAAS,CAAEqe,QAAS5d,IACzB,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBG,MAAOA,EACPgC,KAAMA,EACN/B,QAAS5d,EACT8d,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxBX,eAAgBA,EAChB/R,aAAaA,QAyBhB,yBAAKrQ,UAAU,gBACxB,0DADS,MAEN,2BAAOqD,KAAK,QAAQT,MAAOqgB,EAAY1gB,SAAU,WAClD,EAAK0B,SAAS,CAAEgf,YAAY,IAC5B,EAAKK,qBAAoB,IAExBthB,KAAK,WAAWwQ,UAAWyQ,EAAY7jB,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,KANxE,KAOP,2BAAOd,KAAK,QAAQT,MAAOqgB,EAAY1gB,SAAU,WACjD,EAAK0B,SAAS,CAAEgf,YAAY,EAAMR,mBAAmB,GAAGG,uBAAuB,GAAGG,uBAAuB,GAAGD,0BAA0B,KACtI,EAAKQ,qBAAoB,GACzB,EAAKnjB,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBG,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoB,GACpBE,gBAAiBA,EACjBC,uBAAwB,GACxBE,0BAA2B,GAC3BC,uBAAwB,GACxBX,eAAgBA,EAChB/R,aAAaA,KAEdrO,KAAK,WAAWwQ,SAAUyQ,EAAY7jB,MAAO,CAAEqT,SAAU,OAAQtO,WAAY,OAEhE,IAAb8e,EACD,6BACE,iGACF,kBAAC,EAAD,CACEjhB,KAAK,SACLI,QAAQ,yCACRU,KAAM+f,EAAuB9f,OAAS,EAAhC,sBAAwC8f,GAAxC,CAAgE,CAAE1f,GAAI,QAASP,MAAO,WAAaigB,EACzGjgB,MAAO6f,EACPlgB,SAAU,SAACmC,GACG,UAARA,IACF,EAAKT,SAAS,CAAEwe,mBAAoB/d,EAAKke,uBAAwB,KACjE,EAAKziB,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAeA,EACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoB/d,EACpBie,gBAAiBA,EACjBC,uBAAwB,GACxBE,0BAA2BA,EAC3BC,uBAAwBA,EACxB1S,aAAaA,KAGjB,IAAM2U,EAAWtgB,EAAMme,EAAuBvQ,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAAS1F,MAAQ,KACxF,EAAKT,SAAS,CACZwe,mBAAoB/d,EACpBke,uBAAwBle,GAAOsgB,GAAYA,EAASjiB,OAAS,EAAIiiB,EAAS,GAAGpiB,MAAQ,GACrFkgB,0BAA2B,GAC3BC,uBAAwB,KAE1B,EAAK5iB,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAeA,EACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoB/d,EACpBie,gBAAiBA,EACjBC,uBAAwBle,GAAOsgB,GAAYA,EAASjiB,OAAS,EAAIiiB,EAAS,GAAGpiB,MAAQ,GACrFkgB,0BAA2B,GAC3BC,uBAAwB,GACxB1S,aAAaA,QAGV,KACe,UAAvBoS,EACG,kBAAC,EAAD,CACAzgB,KAAK,OACLI,QAAQ,2BACRE,SAAS,IACTM,MAAOggB,EACP3gB,OAAQiQ,EAAgB0Q,uBAAyB1Q,EAAgB0Q,uBAAyB,GAC1FrgB,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE2e,uBAAwBle,IACxC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAeA,EACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBle,EACxBoe,0BAA2BA,EAC3BC,uBAAwBA,EACxB1S,aAAaA,OAId,KACiB,UAAvBoS,EACG,oCACA,kBAAC,EAAD,CACEzgB,KAAK,SACLc,KAAM5C,KAAKC,MAAM6T,YACjB5R,QAAQ,8BACRE,SAAS,IACTL,OAAQiQ,EAAgB4Q,0BAA4B5Q,EAAgB4Q,0BAA4B,GAChGvgB,SAAQ,uCAAE,WAAOmC,GAAP,SAAAqB,EAAA,6DACR,EAAK9B,SAAS,CAAE6e,0BAA2Bpe,EAAKqe,uBAAuB,KACvE,EAAK5iB,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAeA,EACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBE,0BAA2Bpe,EAC3Bqe,uBAAwBA,EACxB1S,aAAaA,IAjBP,SAmBF,EAAKgT,qBAAqB3e,GAnBxB,2CAAF,sDAqBR9B,MAAOkgB,IAET,kBAAC,EAAD,CACE9gB,KAAK,SACLc,KAAM4f,EACNtgB,QAAQ,2BACRE,SAAS,IACTL,OAAQiQ,EAAgB6Q,uBAAyB7Q,EAAgB6Q,uBAAyB,GAC1FxgB,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE8e,uBAAwBre,IACxC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5BkS,gBAAiB1B,EACjBE,sBAAuBA,EACvBE,eAAeA,EACfC,MAAOA,EACPgC,KAAMA,EACN/B,QAASA,EACTE,eAAgBA,EAChBzN,gBAAiBA,EACjBoC,aAAaA,EACbsL,mBAAoBA,EACpBE,gBAAiBA,EACjBC,uBAAwBA,EACxBE,0BAA2BA,EAC3BC,uBAAwBre,EACxB2L,aAAaA,KAGjBzN,MAAOmgB,KAEL,U,oBAQlB,WAAU,IAAD,OACP,EAA2B7iB,KAAKoB,MAAxBoI,EAAR,EAAQA,QAAShK,EAAjB,EAAiBA,MACjB,OAAIgK,EACM,kBAAC,EAAD,MAIR,6BACE,uBAAGtK,MAAO,CAAEiD,MAAO,QAAU3C,GAC5BQ,KAAK+kB,sBACN,4BAAQjlB,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,a,GA15BmDxS,aCAtC6kB,G,kDACnB,WAAa/kB,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACXoI,SAAS,EACThK,MAAO,GACPylB,eAAgB,GAChBC,sBAAuB,GACvBC,0BAA2B,GAC3BtB,iBAAkB,GAClBuB,eAAgB,EAChBvQ,gBAAiB,GACjBwQ,IAAK,GACLC,mBAAoB,GACpBxR,YAAa,EAAK7T,MAAM6T,YACxB2O,gBAAiB,IAEnB,EAAK8C,kBAAoB,EAAKA,kBAAkB9f,KAAvB,gBAhBP,E,qDAmBpB,WAAsB,IAAD,OACnBK,MAAM,GAAD,OAAIC,8BAAJ,kDACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,EAAKzC,SAAS,CAAEohB,0BAA2B3e,EAAK0e,sBAAuB,QAExE3e,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,iDAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GAGJ,GAFAc,QAAQC,IAAI,EAAKtH,OACjB,EAAK8D,SAAS,CAAEuhB,mBAAoB9e,EAAK4e,eAAgB,KACrD,EAAKnlB,MAAMqjB,iBAAiBzgB,OAAS,EAAG,CAC1C,IAAMoiB,EAAiB,GACvB,EAAKhlB,MAAMqjB,iBAAiBhY,SAAQ,SAACtI,EAASqH,GAC5C,IAAI+a,EAEFA,EAD4B,UAA1BpiB,EAAQygB,cACO,CAAC,CAAExgB,GAAI,QAASP,MAAOM,EAAQ0gB,kBAE/Bld,EAAI4L,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAASlH,EAAQygB,kBAEjE,IAAIrB,EAAU,GACd,GAAIpf,EAAQ8gB,QAAS,CACnB,IAAMzQ,EAAO,IAAItM,KAAK/D,EAAQ8gB,SAC1BxQ,EAAQD,EAAKE,WAAa,EAC1BC,EAAMH,EAAKI,UACXC,EAAOL,EAAKM,cACZL,EAAQ,KACVA,EAAQ,IAAMA,GAEZE,EAAM,KACRA,EAAM,IAAMA,GAEVE,EAAO,GACTA,EAAO,MAAQA,EACNA,EAAO,IAChBA,EAAO,KAAOA,EACLA,EAAO,MAChBA,EAAO,IAAMA,GAEf0O,EAAU1O,EAAO,IAAMJ,EAAQ,IAAME,EAEvC,EAAKzP,SAAS,CAAE6Q,YAAawN,IACzB/X,GAAS,EAAKpK,MAAMqjB,iBAAiBzgB,OAAS,EAChDoiB,EAAezZ,KAAK,CAClB0Z,sBAAuBliB,EAAQ+gB,aAC/BF,iBAAkBzB,EAClBgD,eAAgBA,GAAkBA,EAAeviB,OAAS,EAAIuiB,EAAe,GAAGniB,GAAK,GACrF4R,gBAAiB7R,EAAQ4V,UACzByM,IAAKriB,EAAQwiB,IACb/C,gBAAiBzf,EAAQ0gB,kBAG3B,EAAK3f,SAAS,CACZmhB,sBAAuBliB,EAAQ+gB,aAC/BF,iBAAkBzB,EAClBgD,eAAgBA,GAAkBA,EAAeviB,OAAS,EAAIuiB,EAAe,GAAGniB,GAAK,GACrF4R,gBAAiB7R,EAAQ4V,UACzByM,IAAKriB,EAAQwiB,IACb/C,gBAAiBzf,EAAQ0gB,qBAI/B,EAAK3f,SAAS,CAAEkhB,eAAgBA,EAAgBzb,SAAS,SACpD,GAA2C,IAAvC,EAAKvJ,MAAMqjB,iBAAiBzgB,OAAc,CACnD,IAsBIuiB,EAtBEpiB,EAAU,EAAK/C,MAAMqjB,iBAAiB,GACxClB,EAAU,GACd,GAAIpf,EAAQ8gB,QAAS,CACnB,IAAMzQ,EAAO,IAAItM,KAAK/D,EAAQ8gB,SAC1BxQ,EAAQD,EAAKE,WAAa,EAC1BC,EAAMH,EAAKI,UACXC,EAAOL,EAAKM,cACZL,EAAQ,KACVA,EAAQ,IAAMA,GAEZE,EAAM,KACRA,EAAM,IAAMA,GAEVE,EAAO,GACTA,EAAO,MAAQA,EACNA,EAAO,IAChBA,EAAO,KAAOA,EACLA,EAAO,MAChBA,EAAO,IAAMA,GAEf0O,EAAU1O,EAAO,IAAMJ,EAAQ,IAAME,EAIrC4R,EAD4B,UAA1BpiB,EAAQygB,cACO,CAAC,CAAExgB,GAAI,QAASP,MAAOM,EAAQ0gB,kBAE/Bld,EAAI4L,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAASlH,EAAQygB,kBAEjE,EAAK1f,SAAS,CACZmhB,sBAAuBliB,EAAQ+gB,aAC/BF,iBAAkBzB,EAClBgD,eAAgBA,GAAkBA,EAAeviB,OAAS,EAAIuiB,EAAe,GAAGniB,GAAK,GACrF4R,gBAAiB7R,EAAQ4V,UACzByM,IAAKriB,EAAQwiB,IACb/C,gBAAiBzf,EAAQ0gB,gBACzBla,SAAS,SAGX,EAAKzF,SAAS,CAAEyF,SAAS,OAG5BpC,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,Q,kCAG9B,SAAsBgD,GACpB,MAA2HrK,KAAKoB,MAAxH6jB,EAAR,EAAQA,eAAgBC,EAAxB,EAAwBA,sBAAuBrB,EAA/C,EAA+CA,iBAAkBuB,EAAjE,EAAiEA,eAAgBC,EAAjF,EAAiFA,IAAKxQ,EAAtF,EAAsFA,gBAAiB4N,EAAvG,EAAuGA,gBACjG6B,EAAU,GAChBW,EAAe3Z,SAAQ,SAACtI,EAASgW,GAC3BA,IAAW3O,GACbia,EAAQ9Y,KAAKxI,MAGjBhD,KAAKC,MAAMqR,aAAa,KAAM,CAC5B2T,eAAgBX,EAChBY,sBAAuBA,EACvBrB,iBAAkBA,EAClBuB,eAAgBA,EAChBvQ,gBAAiBA,EACjBwQ,IAAKA,EACL5C,gBAAiBA,IAGnBziB,KAAK+D,SAAS,CAAEkhB,eAAgBX,M,+BAGlC,WACE,MAA2GtkB,KAAKoB,MAAxG8jB,EAAR,EAAQA,sBAAuBrB,EAA/B,EAA+BA,iBAAkBuB,EAAjD,EAAiDA,eAAgBC,EAAjE,EAAiEA,IAAKxQ,EAAtE,EAAsEA,gBAAiB4N,EAAvF,EAAuFA,gBACvF,GAA8B,KAA1ByC,GAAgCrB,GAAuC,KAAnBuB,GAA6C,KAApBvQ,GAA0BwQ,EACzG,GAAuB,UAAnBD,GAA+B3C,EAE5B,CACL,IAAM8B,EAAS,CACbW,sBAAuBA,EACvBrB,iBAAkBA,EAClBuB,eAAgBA,EAChBvQ,gBAAiB7U,KAAKC,MAAM6T,YAAY,GAAG7Q,GAC3CoiB,IAAKA,EACL5C,gBAAiBA,GAEnBziB,KAAKC,MAAMqR,aAAa,KAAM,CAC5B2T,eAAe,GAAD,mBAAMjlB,KAAKoB,MAAM6jB,gBAAjB,CAAiCV,IAC/CW,sBAAuB,GACvBrB,iBAAkB,GAClBuB,eAAgB,GAChBvQ,gBAAiB,GACjBwQ,IAAK,GACL5C,gBAAiB,KAGnBziB,KAAK+D,SAAS,CAAEkhB,eAAe,GAAD,mBAAMjlB,KAAKoB,MAAM6jB,gBAAjB,CAAiCV,MAC/DvkB,KAAK+D,SAAS,CACZmhB,sBAAuB,GACvBrB,iBAAkB,GAClBuB,eAAgB,GAChBvQ,gBAAiB,GACjBwQ,IAAK,GACL5C,gBAAiB,UA3BnBlf,MAAM,2DA+BRA,MAAM,wD,4BAIV,WAAmB,IAAD,OACVyO,EAAkBhS,KAAKC,MAAMT,MACnC,EAAmLQ,KAAKoB,MAAhLoI,EAAR,EAAQA,QAASyb,EAAjB,EAAiBA,eAAgBK,EAAjC,EAAiCA,mBAAoBH,EAArD,EAAqDA,0BAA2BC,EAAhF,EAAgFA,eAAgBF,EAAhG,EAAgGA,sBAAuBrB,EAAvH,EAAuHA,iBAAkBwB,EAAzI,EAAyIA,IAAKxQ,EAA9I,EAA8IA,gBAAiB4N,EAA/J,EAA+JA,gBAC/J,GAAIjZ,EACF,OAAO,kBAAC,EAAD,MAET,IAAMkb,EAAsB,GAsB5B,OArBIO,EAAepiB,OAAS,GAC1BoiB,EAAe3Z,SAAQ,SAACtI,EAASqH,GAC/B,IAAI+a,EAEFA,EAD6B,UAA3BpiB,EAAQoiB,eACO,CAAC,CAAEniB,GAAI,QAASP,MAAOM,EAAQyf,kBAE/B6C,EAAmBlT,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOD,EAAQoiB,kBAEvE,IAAMF,EAAwBC,EAA0B/S,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOD,EAAQkiB,yBACzFR,EAAoBlZ,KAClB,yBAAK1L,UAAU,iBAAiBgD,IAAKuH,GACnC,6BACE,2BAAI+a,EAAeviB,OAAS,EAAIuiB,EAAe,GAAG1iB,MAAQ,IAC1D,2BAAIwiB,EAAsBriB,OAAS,EAAIqiB,EAAsB,GAAGxiB,MAAQ,KAE1E,4BAAQ3C,QAAS,EAAK0lB,qBAAqBhgB,KAAK,EAAM4E,IAAtD,UAON,yBAAKnL,MAAO,CAAEC,QAAS,OAAQC,cAAe,QAE5C,6BACE,6BACE,kBAAC,EAAD,CACE0C,KAAK,SACLM,SAAS,IACTL,OAAQiQ,EAAgBkT,sBAAwBlT,EAAgBkT,sBAAwB,GACxFrhB,MAAM,gRACNjB,KAAMuiB,EACNjjB,QAAQ,yBACRQ,MAAOwiB,EACP7iB,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAEmhB,sBAAuBhb,SAAS1F,KAChD,EAAKvE,MAAMqR,aAAa,KAAM,CAC5B2T,eAAgBA,EAChBC,sBAAuB1gB,EACvBqf,iBAAkBA,EAClBuB,eAAgBA,EAChBvQ,gBAAiBA,EACjBwQ,IAAKA,EACL5C,gBAAiBA,OAIvB,kBAAC,EAAD,CACE3gB,KAAK,OACLM,SAAS,IACTL,OAAQiQ,EAAgB6R,iBAAmB7R,EAAgB6R,iBAAmB,GAC9EhgB,MAAM,8cACNnB,MAAOmhB,EACP3hB,QAAQ,qBACRG,SAAU,SAACmC,GACT,IAAMuP,EAAM,IAAIhN,KAAKvC,GAChBwP,MAAMD,EAAIJ,gBAcb,EAAK5P,SAAS,CAAE8f,iBAAkB,KAClC,EAAK5jB,MAAMqR,aAAa,KAAM,CAC5B2T,eAAgBA,EAChBC,sBAAuBA,EACvBrB,iBAAkB,GAClBuB,eAAgBA,EAChBvQ,gBAAiBA,EACjBwQ,IAAKA,EACL5C,gBAAiBA,KArBfvY,SAAS6J,EAAIJ,gBAAkB,OACjC,EAAK5P,SAAS,CAAE8f,iBAAkBrf,IAClC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5B2T,eAAgBA,EAChBC,sBAAuBA,EACvBrB,iBAAkBrf,EAClB4gB,eAAgBA,EAChBvQ,gBAAiBA,EACjBwQ,IAAKA,EACL5C,gBAAiBA,QAiB3B,kBAAC,EAAD,CACE3gB,KAAK,SACLM,SAAS,IACTL,OAAQiQ,EAAgBoT,eAAiBpT,EAAgBoT,eAAiB,GAC1ExiB,KAAM0iB,EAAmBziB,OAAS,EAA5B,sBAAoCyiB,GAApC,CAAwD,CAAEriB,GAAI,QAASP,MAAO,WAAa4iB,EACjG5iB,MAAO0iB,EACP/iB,SAAU,SAACmC,GACT,GAAY,UAARA,EACF,EAAKvE,MAAMqR,aAAa,KAAM,CAC5B2T,eAAgBA,EAChBC,sBAAuBA,EACvBrB,iBAAkBA,EAClBuB,eAAgB5gB,EAChBqQ,gBAAiBA,EACjBwQ,IAAKA,EACL5C,gBAAiB,KAEnB,EAAK1e,SAAS,CAAEqhB,eAAgB5gB,EAAKie,gBAAiB,SACjD,CACL,IAAMiD,EAAmBJ,EAAmBlT,QAAO,SAAAkF,GAAG,OAAIA,EAAIrU,KAAOiH,SAAS1F,MAC9E,EAAKvE,MAAMqR,aAAa,KAAM,CAC5B2T,eAAgBA,EAChBC,sBAAuBA,EACvBrB,iBAAkBA,EAClBuB,eAAgB5gB,EAChBqQ,gBAAiBA,EACjBwQ,IAAKA,EACL5C,gBAAiBiD,GAAoBA,EAAiB7iB,OAAS,EAAI6iB,EAAiB,GAAGhjB,MAAQ,KAEjG,EAAKqB,SAAS,CAAEqhB,eAAgBlb,SAAS1F,GAAMie,gBAAiBiD,GAAoBA,EAAiB7iB,OAAS,EAAI6iB,EAAiB,GAAGhjB,MAAQ,OAGlJR,QAAQ,kBACR2B,MAAM,iIAEY,UAAnBuhB,EACG,kBAAC,EAAD,CACAtjB,KAAK,OACLY,MAAO+f,EACPrgB,SAAS,IACTL,OAAQiQ,EAAgByQ,gBAAkBzQ,EAAgByQ,gBAAkB,GAC5EvgB,QAAQ,qBACRG,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE0e,gBAAiBje,IACjC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5B2T,eAAgBA,EAChBC,sBAAuBA,EACvBrB,iBAAkBA,EAClBuB,eAAgBA,EAChBvQ,gBAAiBA,EACjBwQ,IAAKA,EACL5C,gBAAiBje,OAGlB,KACP,kBAAC,EAAD,CACE1C,KAAK,SACLc,KAAM5C,KAAKC,MAAM6T,YACjBpR,MAAOmS,EACPzS,SAAS,IACTL,OAAQiQ,EAAgB6C,gBAAkB7C,EAAgB6C,gBAAkB,GAC5E3S,QAAQ,UACRG,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAE8Q,gBAAiBrQ,IACjC,EAAKvE,MAAMqR,aAAa,KAAM,CAC5B2T,eAAgBA,EAChBC,sBAAuBA,EACvBrB,iBAAkBA,EAClBuB,eAAgBA,EAChBvQ,gBAAiBrQ,EACjB6gB,IAAKA,EACL5C,gBAAiBA,OAIvB,kBAAC,EAAD,CACE3gB,KAAK,OACLM,SAAS,IACTL,OAAQiQ,EAAgBqT,IAAMrT,EAAgBqT,IAAM,GACpDnjB,QAAQ,MACRQ,MAAO2iB,EACPhjB,SAAU,SAACmC,GACT,EAAKT,SAAS,CAAEshB,IAAK7gB,IACrB,EAAKvE,MAAMqR,aAAa,KAAM,CAC5B2T,eAAgBA,EAChBC,sBAAuBA,EACvBrB,iBAAkBA,EAClBuB,eAAgBA,EAChBvQ,gBAAiBA,EACjBwQ,IAAK7gB,EACLie,gBAAiBA,Y,oBAWjC,WAAW,IAAD,OACR,EAA2BziB,KAAKoB,MAAxBoI,EAAR,EAAQA,QAAShK,EAAjB,EAAiBA,MACjB,OAAIgK,EACM,kBAAC,EAAD,MAIR,6BACE,uBAAGtK,MAAO,CAAEiD,MAAO,QAAU3C,GAC5BQ,KAAK2lB,iBACN,4BAAQ7lB,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,a,GArY8CxS,aCCjCylB,G,kDACnB,WAAY3lB,GAAQ,IAAD,8BACjB,cAAMA,IACDmB,MAAQ,CACXykB,MAAO,GACPC,SAAU,GACVC,aAAc,GACdvc,SAAS,EACTwc,aAAc,GACdC,aAAa,EACbC,aAAa,IAEf,EAAKC,gBAAkB,EAAKA,gBAAgB1gB,KAArB,gBACvB,EAAK2gB,gBAAkB,EAAKA,gBAAgB3gB,KAArB,gBACvB,EAAK4gB,YAAc,EAAKA,YAAY5gB,KAAjB,gBACnB,EAAK6gB,WAAa,EAAKA,WAAW7gB,KAAhB,gBAClB,EAAK8gB,eAAiB,EAAKA,eAAe9gB,KAApB,gBACtB,EAAK+gB,WAAa,EAAKA,WAAW/gB,KAAhB,gBAClB,EAAKghB,QAAU,EAAKA,QAAQhhB,KAAb,gBACf,EAAKihB,gBAAkB,EAAKA,gBAAgBjhB,KAArB,gBAlBN,E,qDAqBnB,WAAqB,IAAD,OAElBK,MAAM,GAAD,OAAIC,8BAAJ,2CACFQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,KAFH,uCAEQ,WAAMC,GAAN,SAAAX,EAAA,sDACAW,EAAI3D,QACN,EAAKkB,SAAS,CAAE+hB,SAAUtf,IAFxB,2CAFR,uDAOGD,MAAK,WACA,EAAKtG,MAAM0mB,UAAUd,OAAS,EAAK5lB,MAAM0mB,UAAUd,MAAMhjB,OAAS,GACpE,EAAK5C,MAAM0mB,UAAUd,MAAMva,SAAQ,SAACtI,EAASiC,GAC3C,IAAI2hB,EAAY,GAChB,GAAI5jB,EAAQ4jB,UAAW,CACrB,IAAMvT,EAAO,IAAItM,KAAK/D,EAAQ4jB,WAC1BtT,EAAQD,EAAKE,WAAa,EAC1BC,EAAMH,EAAKI,UACXC,EAAOL,EAAKM,cACZL,EAAQ,KACVA,EAAQ,IAAMA,GAEZE,EAAM,KACRA,EAAM,IAAMA,GAEVE,EAAO,GACTA,EAAO,MAAQA,EACNA,EAAO,IAChBA,EAAO,KAAOA,EACLA,EAAO,MAChBA,EAAO,IAAMA,GAEfkT,EAAYlT,EAAO,IAAMJ,EAAQ,IAAME,EACvCxQ,EAAQ4jB,UAAYA,MAI1B,EAAK7iB,SAAS,CACZ8hB,MAAO,EAAK5lB,MAAM0mB,UAAUd,OAAS,EAAK5lB,MAAM0mB,UAAUd,MAAMhjB,OAAS,EAAI,EAAK5C,MAAM0mB,UAAUd,MAAQ,CAAC,CACzGlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,UAIhBxf,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,MAExBrH,KAAKC,MAAM0mB,UAAUd,OAAS7lB,KAAKC,MAAM0mB,UAAUd,MAAMhjB,OAAS,GACpE7C,KAAKC,MAAM0mB,UAAUd,MAAMva,QAA3B,uCAAmC,WAAOtI,EAASiC,GAAhB,SAAAY,EAAA,sEACd,EAAK6gB,gBAAgB1jB,EAAQrB,KAAMsD,GADrB,OAEpB,IAFoB,QAEfA,EAAI,IAAM,EAAKhF,MAAM0mB,UAAUd,MAAMhjB,QACrD,EAAKkB,SAAS,CAAEyF,SAAS,IAHM,2CAAnC,oCAAAxJ,KAAA,gBAMuC,GAApCA,KAAKC,MAAM0mB,UAAUd,MAAMhjB,SAEY,IAArC7C,KAAKC,MAAM0mB,UAAUd,MAAM,GAAGlkB,KACjC3B,KAAK+D,SAAS,CAAEkiB,aAAc,IACe,IAArCjmB,KAAKC,MAAM0mB,UAAUd,MAAM,GAAGlkB,KACtC3B,KAAK+D,SAAS,CAAEkiB,aAAc,IAE9BjmB,KAAK+D,SAAS,CAAEkiB,aAAc,MAIhCjmB,KAAK+D,SAAS,CAAEyF,SAAS,M,oEAK7B,WAAsB9G,EAAO2H,GAA7B,oBAAAxE,EAAA,+EACSC,MAAM,GAAD,OAAIC,8BAAJ,sDAA+ErD,IACxF6D,MAAK,SAACC,GAAD,OAASA,EAAIC,UAClBF,MAAK,SAACC,GACL,IAAMuf,EAAe3Y,MAAMC,KAAK,EAAKjM,MAAM2kB,cAG3C,OAFAA,EAAa1b,GAASnE,KAAKC,UAAUK,GACrC,EAAKzC,SAAS,CAAEgiB,aAAcA,IACvB,MAPb,2C,wHAWA,WAAiBrjB,EAAO2H,GAAxB,iBAAAxE,EAAA,sDACE7F,KAAK0mB,gBAAgBhkB,EAAO2H,GACzBjD,OAAM,SAAAC,GAAG,OAAIC,QAAQC,IAAIF,MACpBwe,EAAU7lB,KAAKoB,MAAfykB,MACFkB,EAAU3Z,MAAMC,KAAKwY,GAC3BA,EAAMva,SAAQ,SAACtI,EAASiC,GAClBA,IAAMoF,IACRrH,EAAQrB,KAAOe,EACfM,EAAQ6jB,SAAW,OAGvB7mB,KAAKC,MAAMqR,aAAa,KAAM,CAC5BuU,MAAOkB,IAET/mB,KAAK+D,SAAS,CAAE8hB,MAAOkB,IAdzB,gD,qFAiBA,SAAerkB,EAAO2H,GACpB,IAAQwb,EAAU7lB,KAAKoB,MAAfykB,MACFkB,EAAU3Z,MAAMC,KAAKwY,GAC3BA,EAAMva,SAAQ,SAACtI,EAASiC,GAClBA,IAAMoF,IACRrH,EAAQ6jB,SAAWnkB,MAIvB1C,KAAKC,MAAMqR,aAAa,KAAM,CAC5BuU,MAAOkB,IAET/mB,KAAK+D,SAAS,CAAE8hB,MAAOkB,M,yBAGzB,SAAYrkB,EAAO2H,GACjB,IAAQwb,EAAU7lB,KAAKoB,MAAfykB,MACFkB,EAAU3Z,MAAMC,KAAKwY,GAC3BA,EAAMva,SAAQ,SAACtI,EAASiC,GAClBA,IAAMoF,IACRrH,EAAQ8jB,MAAQpkB,MAGpB1C,KAAKC,MAAMqR,aAAa,KAAM,CAC5BuU,MAAOkB,IAET/mB,KAAK+D,SAAS,CAAE8hB,MAAOkB,M,6BAGzB,SAAgBrkB,EAAO2H,GACrB,IAAQwb,EAAU7lB,KAAKoB,MAAfykB,MACFkB,EAAU3Z,MAAMC,KAAKwY,GAC3BA,EAAMva,SAAQ,SAACtI,EAASiC,GAClBA,IAAMoF,IACRrH,EAAQ4jB,UAAYlkB,MAGxB1C,KAAKC,MAAMqR,aAAa,KAAM,CAC5BuU,MAAOkB,IAET/mB,KAAK+D,SAAS,CAAE8hB,MAAOkB,M,6BAGzB,SAAgBrkB,EAAO2H,GACrB,IAAQwb,EAAU7lB,KAAKoB,MAAfykB,MACFkB,EAAU3Z,MAAMC,KAAKwY,GAC3BA,EAAMva,SAAQ,SAACtI,EAASiC,GAClBA,IAAMoF,IACRrH,EAAQ4jB,UAAY,OAGxB5mB,KAAKC,MAAMqR,aAAa,KAAM,CAC5BuU,MAAOkB,IAET/mB,KAAK+D,SAAS,CAAE8hB,MAAOkB,M,wBAGzB,SAAW1c,GACT,IAAQwb,EAAU7lB,KAAKoB,MAAfykB,MACFkB,EAAU,GAChBlB,EAAMva,SAAQ,SAACtI,EAASiC,GAClBA,IAAMoF,GACR0c,EAAQvb,KAAKxI,MAGjBhD,KAAKC,MAAMqR,aAAa,KAAM,CAC5BuU,MAAOkB,IAET/mB,KAAK+D,SAAS,CAAE8hB,MAAOkB,M,4DAG3B,WAAcC,GAAd,0BAAAnhB,EAAA,2DAE+B7F,KAAKoB,MAAxBykB,EAFZ,EAEYA,MAFZ,EAEkBC,SACJ,IAEND,EAAMhjB,QAAU,GALxB,uBAMMU,MAAM,mCANZ,0BASgB,EACN0jB,EAAa,CAAC,GAAI,EAAG,UAAM9V,GACjC0U,EAAMva,SAAQ,SAAAtI,IAC8B,IAAtCikB,EAAW/jB,QAAQF,EAAQrB,QAA0D,IAA1CslB,EAAW/jB,QAAQF,EAAQ6jB,YAA+D,IAA3CI,EAAW/jB,QAAQF,EAAQ4jB,aAA4D,IAAvCK,EAAW/jB,QAAQF,EAAQ8jB,QAC/J,KAMV9mB,KAAK+D,SAAS,CACZ8hB,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,OAIf5mB,KAAKC,MAAMqR,aAAa,KAAM,CAC5BuU,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,OAQjB5mB,KAAKsmB,WAAWU,EAAQ,GACvBzgB,MAAK,WAAK,EAAKggB,eAAe,KAAM,MACpChgB,MAAK,WACJ,EAAKxC,SAAS,CACZ8hB,MAAM,GAAD,mBAAM,EAAKzkB,MAAMykB,OAAjB,CAAwB,CAC3BlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,QAGf,EAAK3mB,MAAMqR,aAAa,KAAM,CAC5BuU,MAAM,GAAD,mBAAM,EAAKzkB,MAAMykB,OAAjB,CAAwB,CAC3BlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,WAKhBrgB,MAAK,WACJ,EAAK+f,WAAWU,EAAQ,MAEzBzgB,MAAK,WAAK,EAAKggB,eAAe,KAAM,MACpChgB,MAAK,WACJ,EAAKxC,SAAS,CACZ8hB,MAAM,GAAD,mBAAM,EAAKzkB,MAAMykB,OAAjB,CAAwB,CAC3BlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,QAGf,EAAK3mB,MAAMqR,aAAa,KAAM,CAC5BuU,MAAM,GAAD,mBAAM,EAAKzkB,MAAMykB,OAAjB,CAAwB,CAC3BlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,WAKhBrgB,MAAK,WACJ,EAAK+f,WAAWU,EAAQ,MAEzBzgB,MAAK,WAAK,EAAKggB,eAAe,KAAM,MACpChgB,MAAK,WACJ,EAAKxC,SAAS,CACZ8hB,MAAM,GAAD,mBAAM,EAAKzkB,MAAMykB,OAAjB,CAAwB,CAC3BlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,QAGf,EAAK3mB,MAAMqR,aAAa,KAAM,CAC5BuU,MAAM,GAAD,mBAAM,EAAKzkB,MAAMykB,OAAjB,CAAwB,CAC3BlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,WAKhBrgB,MAAK,WACJ,EAAK+f,WAAWU,EAAQ,MAEzBzgB,MAAK,WAAK,EAAKggB,eAAe,KAAM,MACpChgB,MAAK,WACJ,EAAKxC,SAAS,CACZ8hB,MAAM,GAAD,mBAAM,EAAKzkB,MAAMykB,OAAjB,CAAwB,CAC3BlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,QAGf,EAAK3mB,MAAMqR,aAAa,KAAM,CAC5BuU,MAAM,GAAD,mBAAM,EAAKzkB,MAAMykB,OAAjB,CAAwB,CAC3BlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,WAKhBrgB,MAAK,WACJ,EAAK+f,WAAWU,EAAQ,MAEzBzgB,MAAK,WAAK,EAAKggB,eAAe,KAAM,MAtIzC,iD,2EAkJE,WAAU,IAAD,OACDvU,EAAkBhS,KAAKC,MAAMT,MACnC,EAAiEQ,KAAKoB,MAA9DykB,EAAR,EAAQA,MAAOC,EAAf,EAAeA,SAAUC,EAAzB,EAAyBA,aAAcvc,EAAvC,EAAuCA,QAASyc,EAAhD,EAAgDA,aAEhD,GAAIzc,EACF,OAAO,kBAAC,EAAD,MAET,IAAM0d,EAAW,GA4DjB,OA3DArB,EAAMva,SAAQ,SAACtI,EAASqH,GACtB6c,EAAS1b,KACP,yBAAK1L,UAAU,gBAAgBZ,MAAO,CAAEC,QAAS,OAAQC,cAAe,QAEtE,kBAAC,EAAD,CACEsD,MAAOM,EAAQrB,KACfiB,KAAMkjB,EACN/jB,OAAQiQ,EAAgBnP,OAAS,GAAKmP,EAAgB3H,GAAO1I,KAAOqQ,EAAgB3H,GAAO1I,KAAO,GAClGG,KAAK,SACLI,QAAQ,OACRS,SAAS,OACTN,SAAQ,uCAAE,WAAOmC,GAAP,SAAAqB,EAAA,sEAEF,EAAKygB,WAAW9hB,EAAK6F,GAFnB,2CAAF,wDAKV,kBAAC,EAAD,CACE3H,MAAOM,EAAQ6jB,SACfjkB,KAAMI,EAAQrB,KAAOuE,KAAKihB,MAAMpB,EAAa1b,IAAU,MAAQ,GAC/DvI,KAAK,SACLC,OAAQiQ,EAAgBnP,OAAS,GAAKmP,EAAgB3H,GAAOwc,SAAW7U,EAAgB3H,GAAOwc,SAAW,GAC1G3kB,QAAQ,OACRS,SAAS,OACTN,SAAU,SAACmC,GACT,EAAK+hB,eAAe/hB,EAAK6F,MAG7B,kBAAC,EAAD,CACE3H,MAAOM,EAAQ8jB,MACfhlB,KAAK,OACLC,OAAQiQ,EAAgBnP,OAAS,GAAKmP,EAAgB3H,GAAOyc,MAAQ9U,EAAgB3H,GAAOyc,MAAQ,GACpG5kB,QAAQ,QACRG,SAAU,SAACmC,GACJA,EAAI3B,OAAU,GAAa,KAAR2B,EACtB,EAAK6hB,YAAY7hB,EAAK6F,GACf9G,MAAM,6CAGnB,kBAAC,EAAD,CACEb,MAAOM,EAAQ4jB,UACf7kB,OAAQiQ,EAAgBnP,OAAS,GAAKmP,EAAgB3H,GAAOuc,UAAY5U,EAAgB3H,GAAOuc,UAAY,GAC5G9kB,KAAK,OACLI,QAAQ,aACRG,SAAU,SAACmC,GACT,IAAMoiB,EAAY,IAAI7f,KAAKvC,GAEtBwP,MAAM4S,EAAUjT,eAKnB,EAAKyS,gBAAgB5hB,EAAK6F,GAJtBH,SAAS0c,EAAUjT,gBAAkB,MACvC,EAAKwS,gBAAgB3hB,EAAK6F,WAYtC,6BACG2H,EAAgBnP,OAAS,EAAI,uBAAG3D,MAAO,CAAEiD,MAAO,UAAnB,yDAA0F,gCAExH,uBAAGjD,MAAO,CAAEiD,MAAO,UAAnB,uFACA,uBAAGjD,MAAO,CAAEiD,MAAO,UAAnB,iJACA,uBAAGjD,MAAO,CAAEiD,MAAO,UAAnB,+CACA,yBAAKrC,UAAU,qBACb,6BACE,2BAAOgD,IAAK,GACV,2BACEK,KAAK,WACLT,MAAO,QACPZ,KAAK,UACJwQ,QAAuB,GAAd2T,EACV5jB,SAAQ,uCAAE,WAAOC,GAAP,SAAAuD,EAAA,sDACS,GAAdogB,EACD,EAAKQ,QAAQ,GACS,GAAdR,GACR,EAAKliB,SAAS,CACZ8hB,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,OAEZ,WAED,EAAKH,QAAQ,MAGf,EAAKxmB,MAAMqR,aAAa,KAAM,CAC5BuU,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,SAKf,EAAK7iB,SAAS,CACZ8hB,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,OAIf,EAAK3mB,MAAMqR,aAAa,KAAM,CAC5BuU,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,QAMA,GAAdX,GAAiC,GAAdA,EAEpB,EAAKliB,SAAS,CAACkiB,aAAa,IACP,GAAdA,EACP,EAAKliB,SAAS,CAACkiB,aAAa,IACP,GAAdA,GAEP,EAAKliB,SAAS,CAACkiB,aAAa,IArDtB,2CAAF,wDAsET,SAIH,2BAAOnjB,IAAK,GACV,2BACEK,KAAK,WACLT,MAAO,QACPZ,KAAK,UACJwQ,QAAuB,GAAd2T,EACV5jB,SAAU,SAACC,GACQ,GAAd2jB,EACD,EAAKQ,QAAQ,GAES,GAAdR,GAER,EAAKliB,SAAS,CACZ8hB,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,OAEZ,WACD,EAAKH,QAAQ,MAGf,EAAKxmB,MAAMqR,aAAa,KAAM,CAC5BuU,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,SAKf,EAAK7iB,SAAS,CACZ8hB,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,OAIf,EAAK3mB,MAAMqR,aAAa,KAAM,CAC5BuU,MAAQ,CAAC,CACPlkB,KAAM,GACNklB,SAAU,GACVC,MAAO,GACPF,UAAW,QAKA,GAAdX,EAED,EAAKliB,SAAS,CAACkiB,aAAa,IACP,GAAdA,EACP,EAAKliB,SAAS,CAACkiB,aAAa,IACP,GAAdA,GAEP,EAAKliB,SAAS,CAACkiB,aAAa,OAajC,UAKU,GAAdA,GAAiC,GAAdA,EAAiBiB,EAAS,MAKhD,6BAAK,4BAAQpnB,UAAU,OAAOC,QAAS,WAAQ,EAAKE,MAAM0S,WAArD,c,GA/jB2BxS,aCgBnBinB,G,kDACnB,WAAYnnB,GAAQ,IAAD,8BACjB,cAAMA,IACDmB,MAAQ,CACX6G,gBAAgB,EAChBof,gBAAgB,EAChB1F,kBAAkB,EAClB2F,YAAY,EACZ9d,SAAS,EACT+d,QAAS,GACTtT,YAAa,EACbH,YAAa,GACb3O,MAAO,GACP0C,MAAO,GACP8M,MAAO,GACPD,MAAO,GACPmH,WAAY,GACZH,WAAY,GACZkE,aAAc,GACd4H,OAAO,EACPxiB,MAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACtCyiB,SAAU,CACR,CACE3lB,KAAM,iCACN4lB,MAAM,GAER,CACE5lB,KAAM,YACN4lB,MAAM,GAER,CACE5lB,KAAM,mBACN4lB,MAAM,GAER,CACE5lB,KAAM,0BACN4lB,MAAM,GAER,CACE5lB,KAAM,UACN4lB,MAAM,GAER,CACE5lB,KAAM,uCACN4lB,MAAM,GAER,CACE5lB,KAAM,sBACN4lB,MAAM,GAER,CACE5lB,KAAM,6BACN4lB,MAAM,GAGR,CACE5lB,KAAM,iCACN4lB,MAAM,GAER,CACE5lB,KAAM,qBACN4lB,MAAM,GAER,CACE5lB,KAAM,UACN4lB,MAAM,GAER,CACE5lB,KAAM,WACN4lB,MAAM,IAGVC,eAAgB,CACd,CACE7lB,KAAM,iCACN4lB,MAAM,GAER,CACE5lB,KAAM,YACN4lB,MAAM,GAER,CACE5lB,KAAM,mBACN4lB,MAAM,GAER,CACE5lB,KAAM,0BACN4lB,MAAM,GAER,CACE5lB,KAAM,UACN4lB,MAAM,GAER,CACE5lB,KAAM,uCACN4lB,MAAM,GAER,CACE5lB,KAAM,sBACN4lB,MAAM,GAER,CACE5lB,KAAM,6BACN4lB,MAAM,GAGR,CACE5lB,KAAM,iCACN4lB,MAAM,GAER,CACE5lB,KAAM,qBACN4lB,MAAM,GAER,CACE5lB,KAAM,UACN4lB,MAAM,GAER,CACE5lB,KAAM,WACN4lB,MAAM,IAGVvd,wBAAyB,EACzB6E,gBAAiB,EACjByH,YAAa,EACbG,MAAO,GACPE,MAAO,GACPM,QAAS,EACTK,KAAM,EACN7C,YAAa,EACbe,eAAgB,EAChBX,OAAQ,EACRM,aAAc,GACdC,aAAc,GACdC,aAAc,GACdC,iBAAkB,GAClBG,WAAY,GACZ6C,mBAAoB,GACpB6K,iBAAkB,GAClBjS,UAAW,EACXlC,mBAAoB,EACpBG,yBAA0B,EAC1BE,sBAAuB,EACvBE,oBAAqB,EACrBI,cAAe,EACfG,oBAAqB,EACrB2X,iBAAkB,GAClBhY,YAAa,GACbC,kBAAmB,GACnB+D,iBAAkB,GAClBf,eAAgB,GAChBC,gBAAiB,EACjBE,eAAgB,GAChB6U,YAAa,GACbC,cAAe,GACf3lB,MAAO,MACP4lB,oBAAqB,GACrBC,QAAS,GACTC,GAAI,GACJC,QAAS,GACTC,sBAAuB,GACvBC,QAAS,GACT9I,QAAS,GACT+I,SAAU,GACVC,oBAAqB,GACrBC,aAAc,GACdC,mBAAoB,GACpBC,YAAa,GACbC,oBAAqB,GACrBC,WAAY,GACZC,kBAAmB,GACnBC,SAAU,GACVC,WAAY,GACZC,eAAgB,GAChBC,UAAW,GACXC,UAAW,GACXC,kBAAmB,GACnBC,QAAS,GACThI,QAAS,GACTiI,aAAc,GACdC,kBAAmB,GACnBC,cAAe,KACfC,SAAU,KACV7K,SAAU,KACVK,SAAU,KACVyK,KAAM,KACNC,GAAI,KACJC,MAAO,KACPC,MAAO,KACPC,KAAM,KACN1I,YAAa,KACb/Q,cAAa,EACbG,SAAQ,EACRD,gBAAgB,GAChB6G,kBAAiB,GAEnB,EAAK2S,gBAAkB,EAAKA,gBAAgBpkB,KAArB,gBACvB,EAAKqkB,UAAY,EAAKA,UAAUrkB,KAAf,gBACjB,EAAK6L,aAAe,EAAKA,aAAa7L,KAAlB,gBACpB,EAAKskB,aAAe,EAAKA,aAAatkB,KAAlB,gBACpB,EAAKukB,eAAiB,EAAKA,eAAevkB,KAApB,gBACtB,EAAKwkB,yBAA2B,EAAKA,yBAAyBxkB,KAA9B,gBAChC,EAAKykB,sBAAwB,EAAKA,sBAAsBzkB,KAA3B,gBAC7B,EAAK0kB,sBAAwB,EAAKA,sBAAsB1kB,KAA3B,gBAC7B,EAAK2kB,2BAA6B,EAAKA,2BAA2B3kB,KAAhC,gBAClC,EAAK4kB,aAAe,EAAKA,aAAa5kB,KAAlB,gBACpB,EAAK6kB,aAAe,EAAKA,aAAa7kB,KAAlB,gBACpB,EAAK8kB,wBAA0B,EAAKA,wBAAwB9kB,KAA7B,gBAC/B,EAAK+kB,yBAA2B,EAAKA,yBAAyB/kB,KAA9B,gBAChC,EAAKglB,gBAAkB,EAAKA,gBAAgBhlB,KAArB,gBACvB,EAAKilB,uBAAyB,EAAKA,uBAAuBjlB,KAA5B,gBAC9B,EAAKklB,aAAe,EAAKA,aAAallB,KAAlB,gBACpB,EAAKmlB,WAAa,EAAKA,WAAWnlB,KAAhB,gBAClB,EAAKiC,OAAS,EAAKA,OAAOjC,KAAZ,gBACd,EAAK+R,gBAAkB,EAAKA,gBAAgB/R,KAArB,gBACvB,EAAK+e,iBAAiB,EAAKA,iBAAiB/e,KAAtB,gBACtB,EAAK8L,YAAY,EAAKA,YAAY9L,KAAjB,gBAxNA,E,4FA2NnB,iCAAAI,EAAA,sDACE7F,KAAK+D,SAAS,CACZoG,wBAAyBD,SAASlK,KAAKC,MAAMkK,0BAA4BD,SAAS3H,eAAeC,QAAQ,OACzGmD,MAAO3F,KAAKC,MAAM0F,OAASpD,eAAeC,QAAQ,UAAYD,eAAeC,QAAQ,WAEvFsD,MAAM,GAAD,OAAIC,8BAAJ,+BAAgE,CACnEC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CACnBU,wBAAyB7G,KAAKC,MAAMkK,yBAA2BD,SAAS3H,eAAeC,QAAQ,OAC/FoE,MAAO5G,KAAKC,MAAM0F,OAASpD,eAAeC,QAAQ,UAAYD,eAAeC,QAAQ,WAEvF8D,QAAS,CACP,eAAgB,sBAIjBC,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACmB,MAAnBA,EAAIE,WAEN,EAAK3C,SAAS,CAGZ0Q,MAAOjO,EAAI5D,KAAKuF,UAChBwM,MAAOnO,EAAI5D,KAAKwF,SAChBsM,MAAOlO,EAAI5D,KAAKioB,WAChB1lB,MAAOqB,EAAI5D,KAAKwD,MAChBwO,YAAapO,EAAI5D,KAAKkoB,YACtBnV,eAAgBnP,EAAI5D,KAAKmoB,eACzB9W,YAAazN,EAAI5D,KAAKooB,YACtBhW,OAAQxO,EAAI5D,KAAKqoB,OACjBrV,WAAYpP,EAAI5D,KAAKsoB,WACrB5V,aAAc9O,EAAI5D,KAAKuoB,aACvB5V,aAAc/O,EAAI5D,KAAKwoB,aACvB5V,aAAchP,EAAI5D,KAAKyoB,aACvB5V,iBAAkBjP,EAAI5D,KAAK0oB,iBAC3BvD,oBAAqB,CACnBtT,MAAOjO,EAAI5D,KAAKuF,UAChBwM,MAAOnO,EAAI5D,KAAKwF,SAChBsM,MAAOlO,EAAI5D,KAAKioB,WAChBjW,YAAapO,EAAI5D,KAAKkoB,YACtBjW,gBAAiBrO,EAAI5D,KAAKmoB,eAC1BjW,oBAAqBtO,EAAI5D,KAAKooB,YAC9BjW,eAAgBvO,EAAI5D,KAAKqoB,OACzB3V,aAAc9O,EAAI5D,KAAKuoB,aACvB5V,aAAc/O,EAAI5D,KAAKwoB,aACvB5V,aAAchP,EAAI5D,KAAKyoB,aACvB5V,iBAAkBjP,EAAI5D,KAAK0oB,iBAC3BnW,YAAa3O,EAAI5D,KAAKsoB,YAAc1kB,EAAI5D,KAAKsoB,WAAWroB,QAAU,EAAI2D,EAAI5D,KAAKsoB,WAAW,GAAGrV,YAAc,GAC3GT,YAAa5O,EAAI5D,KAAKsoB,YAAc1kB,EAAI5D,KAAKsoB,WAAWroB,QAAU,EAAI2D,EAAI5D,KAAKsoB,WAAW,GAAGrV,YAAc,GAC3GR,YAAa7O,EAAI5D,KAAKsoB,YAAc1kB,EAAI5D,KAAKsoB,WAAWroB,QAAU,EAAI2D,EAAI5D,KAAKsoB,WAAW,GAAGrV,YAAc,IAG7G4C,mBAAoBjS,EAAI5D,KAAK2oB,mBAG7Bvc,gBAAiBxI,EAAI5D,KAAK4oB,UAC1B5b,YAAapJ,EAAI5D,KAAK6oB,YACtB5b,kBAAmBrJ,EAAI5D,KAAK8oB,eAC5Bra,UAAW7K,EAAI5D,KAAK+oB,UACpB/D,iBAAkBphB,EAAI5D,KAAKgpB,iBAC3Bzc,mBAAoB3I,EAAI5D,KAAKipB,aAC7Bvc,yBAA0B9I,EAAI5D,KAAKkpB,mBACnCtc,sBAAuBhJ,EAAI5D,KAAKmpB,gBAChCrc,oBAAqBlJ,EAAI5D,KAAKopB,cAC9Blc,cAAetJ,EAAI5D,KAAKqpB,MACxBhc,oBAAqBzJ,EAAI5D,KAAKspB,YAC9B7b,gBAAiB7J,EAAI5D,KAAKupB,gBAE1B1V,YAAajQ,EAAI5D,KAAKwpB,cACtBxV,MAAOpQ,EAAI5D,KAAKypB,MAChBvV,MAAOtQ,EAAI5D,KAAK0pB,MAChBlV,QAAS5Q,EAAI5D,KAAK2pB,QAClB9U,KAAMjR,EAAI5D,KAAK4pB,KACftV,iBAAiB1Q,EAAI5D,KAAK6pB,mBAAkB,EAC5CnN,QAAS,CACP7I,YAAajQ,EAAI5D,KAAKwpB,cACtBzV,aAAcnQ,EAAI5D,KAAKypB,MACvBxV,aAAcrQ,EAAI5D,KAAK0pB,MACvBzX,gBAAiBrO,EAAI5D,KAAK2pB,QAC1BtV,aAAczQ,EAAI5D,KAAK4pB,KACvBtV,iBAAiB1Q,EAAI5D,KAAK6pB,mBAAmB,GAG/C/Q,WAAYlV,EAAI5D,KAAK8pB,WACrB7Q,WAAYrV,EAAI5D,KAAK+pB,WAErB/M,aAAcpZ,EAAI5D,KAAKgqB,aAEvBhZ,iBAAkBpN,EAAI5D,KAAKiqB,iBAC3Bha,eAAgBrM,EAAI5D,KAAKkqB,eACzBha,gBAAiBtM,EAAI5D,KAAKmqB,sBAC1B/Z,eAAgBxM,EAAI5D,KAAKoqB,uBACzB7E,sBAAuB,CACrBtV,eAAgBrM,EAAI5D,KAAKkqB,eACzBha,gBAAiBtM,EAAI5D,KAAKmqB,sBAC1Bha,mBAAoBvM,EAAI5D,KAAKoqB,uBAC7B/Z,eAAgBzM,EAAI5D,KAAKiqB,kBAG3BvJ,iBAAkB9c,EAAI5D,KAAKqqB,iBAE3BlE,eAAgBviB,EAAI5D,KAAKsqB,MAEzBtM,WAAYpa,EAAI5D,KAAKuqB,WACrBzM,mBAAoBla,EAAI5D,KAAKwqB,mBAC7BlE,kBAAmB,CACjBzI,QAASja,EAAI5D,KAAKwqB,oBAAsB,GACxCzM,WAAYna,EAAI5D,KAAKuqB,aAAc,GAGrChM,QAAS3a,EAAI5D,KAAKyqB,wBAClBnM,YAAa1a,EAAI5D,KAAK0qB,YACtBjE,kBAAkB,2BAAM,EAAKjoB,MAAMioB,mBAAlB,IAAqCnI,YAAa1a,EAAI5D,KAAK0qB,cAE5EC,eAAgB/mB,EAAI5D,KAAK4qB,iBAEzBlE,cAAe9iB,EAAI5D,KAAK6qB,gBACxB/O,SAAUlY,EAAI5D,KAAK8qB,SACnB3O,SAAUvY,EAAI5D,KAAK+qB,SACnBpE,SAAU/iB,EAAI5D,KAAKgrB,aAoBrB,EAAK7pB,SAAS,CAAEvE,MAAO,qDAG1B+G,MAAK,kBAAMT,MAAM,GAAD,OAAIC,8BAAJ,sCAChBQ,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACAA,EAAI3D,QACN,EAAKknB,eACL,EAAKhmB,SAAS,CAAE+P,YAAatN,EAAKgD,SAAS,KAE3C,EAAKzF,SAAS,CAAEvE,MAAO,2DAG1B4H,OAAM,SAAAC,GACL,EAAKtD,SAAS,CAAEyF,SAAS,EAAOhK,MAAO,gDACvC8H,QAAQC,IAAIF,MAEhByE,OAAO/K,iBAAiB,eAAgBf,KAAK6tB,aA7J/C,gD,+EAgKA,SAAYvrB,GACVA,EAAEgB,mB,kCAGJ,WACEwI,OAAO9K,oBAAoB,eAAgBhB,KAAK6tB,e,0BAGlD,WAAgB,IAAD,OACb,EAyBI7tB,KAAKoB,MAxBP+N,EADF,EACEA,mBACAG,EAFF,EAEEA,yBACAE,EAHF,EAGEA,sBACAE,EAJF,EAIEA,oBACAI,EALF,EAKEA,cACAG,EANF,EAMEA,oBACAoB,EAPF,EAOEA,UACArC,EARF,EAQEA,gBACA4Y,EATF,EASEA,iBACAhY,EAVF,EAUEA,YACAC,EAXF,EAWEA,kBACA+P,EAZF,EAYEA,aACAlE,EAbF,EAaEA,WACAG,EAdF,EAcEA,WACApD,EAfF,EAeEA,mBACAtT,EAhBF,EAgBEA,MACAme,EAjBF,EAiBEA,iBACAnC,EAlBF,EAkBEA,QACAmI,EAnBF,EAmBEA,cACA5K,EApBF,EAoBEA,SACAK,EArBF,EAqBEA,SACAmC,EAtBF,EAsBEA,YACA6H,EAvBF,EAuBEA,eAIInmB,EAAO,CACXuM,mBAAoBA,EACpBG,yBAA0BA,EAC1BE,sBAAuBA,EACvBE,oBAAqBA,EACrBZ,kBAAmBuC,EACnBrC,gBAAiBA,EACjBE,cAAe0Y,EACfhY,YAAaA,EACbC,kBAAmBA,EACnBC,cAAeA,EACfG,oBAAqBA,EACrBI,gBAvCF,EAwBEA,iBA0MF,GAxLIuP,GACF5f,KAAK+D,SAAS,CACZ2kB,oBAAqB,CACnBjJ,qBAAsBG,EAAaQ,aACnCV,eAAgBE,EAAapB,eAC7BmB,cAAeC,EAAajE,kBAC5BkE,cAAeD,EAAa7D,mBAC5B+D,cAAeF,EAAa1D,iBAC5B6D,mBAAoBH,EAAavD,WACjC2D,cAAeJ,EAAa9C,aAC5BmD,cAAeL,EAAa3C,cAC5BiD,gBAAiBN,EAAaO,mBAIpCngB,KAAK+D,SAAS,CAAEkkB,GAAIrlB,IACfsH,SAAStH,EAAKoM,mBAAqBsa,EACtCtpB,KAAK+D,SAAS,CACZ4jB,eAAgB,CACd,CACE7lB,KAAM,iCACN4lB,MAAM,GAER,CACE5lB,KAAM,YACN4lB,MAAM,GAGR,CACE5lB,KAAM,mBACN4lB,MAAM,GAER,CACE5lB,KAAM,0BACN4lB,MAAM,GAER,CACE5lB,KAAM,UACN4lB,MAAM,GAER,CACE5lB,KAAM,uCACN4lB,MAAM,GAER,CACE5lB,KAAM,sBACN4lB,MAAM,GAER,CACE5lB,KAAM,6BACN4lB,MAAM,GAGR,CACE5lB,KAAM,iCACN4lB,MAAM,GAER,CACE5lB,KAAM,qBACN4lB,MAAM,GAER,CACE5lB,KAAM,UACN4lB,MAAM,GAER,CACE5lB,KAAM,WACN4lB,MAAM,MAKZ1nB,KAAK+D,SAAS,CACZ4jB,eAAgBva,MAAMC,KAAKrN,KAAKoB,MAAMqmB,YAItC/L,GAAcG,EAChB7b,KAAK+D,SAAS,CACZykB,mBAAoB,CAClBjN,aAAcG,EAAW8C,eACzBhD,aAAcK,EAAW2C,eACzBK,eAAgBH,EAChBI,eAAgBC,EAChBtD,YAAaC,EAAWC,kBACxBC,YAAaC,EAAWF,kBACxBG,YAAaJ,EAAWK,mBACxBC,YAAaH,EAAWE,mBACxBE,YAAaP,EAAWQ,iBACxBC,YAAaN,EAAWK,iBACxBE,iBAAkBV,EAAWW,WAC7BC,iBAAkBT,EAAWQ,WAC7BE,cAAeb,EAAWc,QAC1BC,cAAeZ,EAAWW,QAC1BE,qBAAsBhB,EAAWiB,eACjCC,qBAAsBf,EAAWc,eACjCE,YAAanB,EAAWoB,aACxBC,YAAalB,EAAWiB,aACxBE,YAAatB,EAAWuB,cACxBC,YAAarB,EAAWoB,cACxBE,cAAezB,EAAWlF,QAC1B4G,cAAevB,EAAWrF,QAC1B6G,0BAA2BxB,EAAWyB,oBACtCC,0BAA2B7B,EAAW4B,oBACtCE,eAAgB9B,EAAW+B,SAC3BC,eAAgB7B,EAAW4B,SAC3BE,iBAAkBjC,EAAWoS,oBAC7BhQ,eAAepC,EAAWqS,eAC1BlQ,iBAAkBhC,EAAWmS,oBAC7BhQ,eAAenC,EAAWoS,kBAGrBvS,EACT1b,KAAK+D,SAAS,CACZykB,mBAAoB,CAClBjN,aAAcG,EAAW8C,gBAAkB,GAC3ChD,aAAc,GACdqD,eAAgBH,EAChBI,eAAgBC,EAChBtD,YAAaC,EAAWC,mBAAqB,GAC7CC,YAAa,GACbE,YAAaJ,EAAWK,oBAAsB,GAC9CC,YAAa,GACbC,YAAaP,EAAWQ,kBAAoB,GAC5CC,YAAa,GACbC,iBAAkBV,EAAWW,YAAc,GAC3CC,iBAAkB,GAClBC,cAAeb,EAAWc,SAAW,GACrCC,cAAe,GACfC,qBAAsBhB,EAAWiB,gBAAkB,GACnDC,qBAAsB,GACtBC,YAAanB,EAAWoB,cAAgB,GACxCC,YAAa,GACbC,YAAatB,EAAWuB,eAAiB,GACzCC,YAAa,GACbC,cAAezB,EAAWlF,SAAW,GACrC4G,cAAe,GACfC,2BAA2B,EAC3BE,0BAA2B7B,EAAW4B,sBAAuB,EAC7DE,eAAgB9B,EAAW+B,SAC3BC,eAAgB,GAChBC,iBAAkBjC,EAAWoS,sBAAqB,EAClDhQ,eAAepC,EAAWqS,eAC1BlQ,kBAAkB,EAClBG,eAAe,MAGVnC,GACT7b,KAAK+D,SAAS,CACZykB,mBAAoB,CAClBjN,aAAc,GACdC,aAAcK,EAAW2C,eACzBK,eAAgBH,EAChBI,eAAgBC,EAChBtD,YAAa,GACbG,YAAaC,EAAWF,mBAAqB,GAC7CG,YAAa,GACbE,YAAaH,EAAWE,oBAAsB,GAC9CE,YAAa,GACbE,YAAaN,EAAWK,kBAAoB,GAC5CE,iBAAkB,GAClBE,iBAAkBT,EAAWQ,YAAc,GAC3CE,cAAe,GACfE,cAAeZ,EAAWW,SAAW,GACrCE,qBAAsB,GACtBE,qBAAsBf,EAAWc,gBAAkB,GACnDE,YAAa,GACbE,YAAalB,EAAWiB,cAAgB,GACxCE,YAAa,GACbE,YAAarB,EAAWoB,eAAiB,GACzCE,cAAe,GACfC,cAAevB,EAAWrF,SAAW,GACrC6G,0BAA2BxB,EAAWyB,sBAAuB,EAC7DC,2BAA2B,EAC3BC,eAAgB,GAChBE,eAAgB7B,EAAW4B,SAC3BE,kBAAiB,EACjBG,eAAe,GACfD,iBAAkBhC,EAAWmS,sBAAqB,EAClDhQ,eAAenC,EAAWoS,kBAK5BxV,EAAoB,CACtB,IAAMyV,EAAiB,GACvBzV,EAAmBnN,SAAQ,SAACtI,EAASiC,GACnCipB,EAAe1iB,KAAK,CAClBoM,UAAW5U,EAAQ6V,UACnBhB,aAAc7U,EAAQ4V,UACtBd,YAAa9U,EAAQqF,YACrB0P,UAAW/U,EAAQ8V,UACnB7Z,GAAIgG,OAGRjF,KAAK+D,SAAS,CACZukB,oBAAqB,CACnBnjB,MAAOA,EACPwS,iBAAkBuW,KAKxB,GAAInF,GAAkBA,EAAelmB,OAAS,EAAG,CAC/C,IAAMimB,EAAa,GACnBC,EAAezd,SAAQ,SAAAtI,GACrB8lB,EAAWtd,KAAK,CACd7J,KAAMqB,EAAQmrB,KACdtH,SAAU7jB,EAAQorB,SAClBtH,MAAO9jB,EAAQqrB,MACfzH,UAAW5jB,EAAQsrB,eAGvBtuB,KAAK+D,SAAS,CAAE+kB,WAAW,2BAAM9oB,KAAKoB,MAAM0nB,YAAlB,IAA8BjD,MAAOiD,MAKjE,IAAoF,IAAhF,CAACQ,EAAe,GAAI,UAAMnY,EAAW,GAAGjO,QAAQgH,SAAS8E,IAA0B,CACrF,IAAMpM,EAAO,GACb,GAAI0gB,GAAoBA,EAAiBzgB,OAAS,EAChDygB,EAAiBhY,SAAQ,SAACtI,EAASiC,GAE7BA,GAAKqe,EAAiBzgB,OAAS,EAEjCD,EAAK4I,KACH,CACE0Z,sBAAuBliB,EAAQ+gB,aAC/BF,iBAAkB7gB,EAAQ8gB,QAC1BjP,gBAAiB7R,EAAQ4V,UACzB3B,aAAcjU,EAAQghB,OACtBqB,IAAKriB,EAAQwiB,IACbJ,eAAgBpiB,EAAQygB,cACxBhB,gBAAiBzf,EAAQ0gB,gBACzBxB,eAAgBlf,EAAQqhB,iBAI5B,EAAKtgB,SAAS,CACZ6kB,kBAAmB,CACjB3D,eAAgBriB,EAChBsiB,sBAAuBliB,EAAQ+gB,aAC/BF,iBAAkB7gB,EAAQ8gB,QAC1BjP,gBAAiB7R,EAAQ4V,UACzB3B,aAAcjU,EAAQghB,OACtBqB,IAAKriB,EAAQwiB,IACbJ,eAAgBpiB,EAAQygB,cACxBhB,gBAAiBzf,EAAQ0gB,gBACzBxB,eAAgBlf,EAAQqhB,0BAK3B,GAAIf,GAAgD,IAA5BA,EAAiBzgB,OAAc,CAE5D,IAAMG,EAAUsgB,EAAiB,GACjCtjB,KAAK+D,SAAS,CACZ6kB,kBAAmB,CACjB3D,eAAgB,GAChBC,sBAAuBliB,EAAQ+gB,aAC/BF,iBAAkB7gB,EAAQ8gB,QAC1BjP,gBAAiB7R,EAAQ4V,UACzB3B,aAAcjU,EAAQghB,OACtBqB,IAAKriB,EAAQwiB,IACbJ,eAAgBpiB,EAAQygB,cACxBhB,gBAAiBzf,EAAQ0gB,gBACzBxB,eAAgBlf,EAAQqhB,wBAIzB,GAAIna,SAAS8E,KAAqBsa,GAEvC,GAAIhG,GAAoBA,EAAiBzgB,OAAS,EAAG,CACnD,IAAMD,EAAO,GACb0gB,EAAiBhY,SAAQ,SAACtI,EAASiC,GAC7BA,GAAKqe,EAAiBzgB,OAAS,EACjCD,EAAK4I,KACH,CACEwW,sBAAuBhf,EAAQ+gB,aAC/B3B,QAASpf,EAAQ8gB,QACjBjP,gBAAiB7R,EAAQ4V,UACzB3B,aAAcjU,EAAQghB,OACtB1B,eAAgBtf,EAAQygB,cACxBhB,gBAAiBzf,EAAQ0gB,gBACzBhB,uBAAwB1f,EAAQ4gB,yBAChCrB,mBAAoBvf,EAAQ2gB,uBAC5B4K,8BAA+BvrB,EAAQwrB,iBAEvCC,sBAAuBzrB,EAAQ0rB,eAC/BxM,eAAgBlf,EAAQqhB,eACxBzB,0BAA0B5f,EAAQugB,kBAClCV,uBAAuB7f,EAAQkhB,iBAInC,EAAKngB,SAAS,CACZ6kB,kBAAmB,CACjBpF,gBAAiB5gB,EACjBof,sBAAuBhf,EAAQ+gB,aAC/B3B,QAASpf,EAAQ8gB,QACjBjP,gBAAiB7R,EAAQ4V,UACzB3B,aAAcjU,EAAQghB,OACtB1B,eAAgBtf,EAAQygB,cACxBhB,gBAAiBzf,EAAQ0gB,gBACzBhB,uBAAwB1f,EAAQ4gB,yBAChCrB,mBAAoBvf,EAAQ2gB,uBAC5B4K,8BAA+BvrB,EAAQwrB,iBAEvCC,sBAAuBzrB,EAAQ0rB,eAC/BxM,eAAgBlf,EAAQqhB,eACxBzB,0BAA0B5f,EAAQugB,kBAClCV,uBAAuB7f,EAAQkhB,0BAKlC,GAAIZ,GAAgD,IAA5BA,EAAiBzgB,OAAc,CAE5D,IACMG,EAAUsgB,EAAiB,GAEjCtjB,KAAK+D,SAAS,CACZ6kB,kBAAmB,CACjBpF,gBALS,GAMTxB,sBAAuBhf,EAAQ+gB,aAC/B3B,QAASpf,EAAQ8gB,QACjBjP,gBAAiB7R,EAAQ4V,UACzB3B,aAAcjU,EAAQghB,OACtB1B,eAAgBtf,EAAQygB,cACxBhB,gBAAiBzf,EAAQ0gB,gBACzBhB,uBAAwB1f,EAAQ4gB,yBAChCrB,mBAAoBvf,EAAQ2gB,uBAC5B4K,8BAA+BvrB,EAAQwrB,iBAEvCC,sBAAuBzrB,EAAQ0rB,eAC/BxM,eAAgBlf,EAAQqhB,eACxBzB,0BAA0B5f,EAAQugB,kBAClCV,uBAAuB7f,EAAQkhB,wBAKrClkB,KAAK+D,SAAS,CAAE6kB,kBAAmB,KAIrC,IAAMtH,EAAa,GACfH,IACFA,EAAQ7V,SAAQ,SAAAtI,GACdse,EAAW9V,KAAKxI,EAAQC,OAE1BjD,KAAK+D,SAAS,CAAEslB,kBAAmB,CAAEpI,gBAAiBK,EAAYJ,YAAaA,Q,sCAInF,WAAgF,IAAvD6G,EAAsD,uDAAhC/nB,KAAKoB,MAAM2mB,oBAElDd,EAAa,CAAC,EAAG,GAAI,UAAM9V,EAAWwd,IAAK,KAC3C3G,EAAU,GAChB,GAAID,EAAoBtT,OACnBsT,EAAoBpT,OACpBoT,EAAoBrT,OACpBqT,EAAoBlT,iBACpBkT,EAAoBhT,gBACpBgT,EAAoBnT,cAC6B,IAAhDmT,EAAoBtS,iBAAiB5S,QAAgE,IAAhDklB,EAAoBtS,iBAAiB5S,UAC1B,IAAjEokB,EAAW/jB,QAAQ6kB,EAAoBjT,sBAA2E,KAA5CiT,EAAoBjT,oBAA4B,CAEzH,GAAIiT,EAAoBzS,aAAc,CAqBpC,GAnBKyS,EAAoBvS,eACvBwS,EAAQxS,aAAe,0BAEpBuS,EAAoBtS,mBACvBuS,EAAQvS,iBAAmB,2BAGxBsS,EAAoBzS,eACvB0S,EAAQ1S,aAAe,2BAGpByS,EAAoBlT,kBACvBmT,EAAQnT,gBAAkB,iCAGvBkT,EAAoBnT,cACvBoT,EAAQpT,YAAc,8BAGuB,IAA3CmT,EAAoBjT,oBAA2B,CAWjD,GAVKiT,EAAoB5S,cACvB6S,EAAQ7S,YAAc,kCAEnB4S,EAAoB3S,cACvB4S,EAAQ5S,YAAc,mCAEnB2S,EAAoB1S,cACvB2S,EAAQ3S,YAAc,kCAGnB0S,EAAoB5S,cAAgB4S,EAAoB3S,cAAgB2S,EAAoB1S,YAE/F,OADArV,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,EAGT,GAAID,EAAoB5S,aAAe4S,EAAoB3S,aAAe2S,EAAoB1S,YAE5F,OADArV,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,EAIX,OAAID,EAAoBtS,kBAAoBsS,EAAoBvS,cAC9DxV,KAAK+D,SAAS,CAAEikB,QAAS,KAClB,IAKFD,EAAoBlT,kBACvBmT,EAAQnT,gBAAkB,4BAGvBkT,EAAoBnT,cACvBoT,EAAQpT,YAAc,8BAGnBmT,EAAoBpS,iBACvBqS,EAAQrS,eAAiB,iCAGtBoS,EAAoBhT,iBACvBiT,EAAQjT,eAAiB,uBAI7B/U,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,GAIT,GAAID,EAAoBtS,iBAAkB,CAkBxC,GAhBKsS,EAAoBvS,eACvBwS,EAAQxS,aAAe,0BAGpBuS,EAAoBzS,eACvB0S,EAAQ1S,aAAe,2BAGpByS,EAAoBlT,kBACvBmT,EAAQnT,gBAAkB,iCAGvBkT,EAAoBnT,cACvBoT,EAAQpT,YAAc,8BAGuB,IAA3CmT,EAAoBjT,oBAA2B,CAWjD,GAVKiT,EAAoB5S,cACvB6S,EAAQ7S,YAAc,kCAEnB4S,EAAoB3S,cACvB4S,EAAQ5S,YAAc,mCAEnB2S,EAAoB1S,cACvB2S,EAAQ3S,YAAc,kCAGnB0S,EAAoB5S,cAAgB4S,EAAoB3S,cAAgB2S,EAAoB1S,YAE/F,OADArV,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,EAGT,GAAID,EAAoB5S,aAAe4S,EAAoB3S,aAAe2S,EAAoB1S,YAE5F,OADArV,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,EAIX,OAAID,EAAoBvS,cAAgBuS,EAAoBoD,cAC1DnrB,KAAK+D,SAAS,CAAEikB,QAAS,KAClB,IAKFD,EAAoBlT,kBACvBmT,EAAQnT,gBAAkB,4BAGvBkT,EAAoBnT,cACvBoT,EAAQpT,YAAc,8BAGnBmT,EAAoBpS,iBACvBqS,EAAQrS,eAAiB,iCAGtBoS,EAAoBhT,iBACvBiT,EAAQjT,eAAiB,uBAI7B/U,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,GAGT,GAAID,EAAoBvS,aAAc,CAkBpC,GAhBKuS,EAAoBzS,eACvB0S,EAAQ1S,aAAe,2BAGpByS,EAAoBtS,mBACvBuS,EAAQvS,iBAAmB,2BAGxBsS,EAAoBlT,kBACvBmT,EAAQnT,gBAAkB,iCAGvBkT,EAAoBnT,cACvBoT,EAAQpT,YAAc,8BAGuB,IAA3CmT,EAAoBjT,oBAA2B,CAWjD,GAVKiT,EAAoB5S,cACvB6S,EAAQ7S,YAAc,kCAEnB4S,EAAoB3S,cACvB4S,EAAQ5S,YAAc,mCAEnB2S,EAAoB1S,cACvB2S,EAAQ3S,YAAc,kCAGnB0S,EAAoB5S,cAAgB4S,EAAoB3S,cAAgB2S,EAAoB1S,YAE/F,OADArV,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,EAGT,GAAID,EAAoB5S,aAAe4S,EAAoB3S,aAAe2S,EAAoB1S,YAE5F,OADArV,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,EAIX,OAAID,EAAoBtS,kBAAoBsS,EAAoBoD,cAC9DnrB,KAAK+D,SAAS,CAAEikB,QAAS,KAClB,IAKFD,EAAoBlT,kBACvBmT,EAAQnT,gBAAkB,4BAGvBkT,EAAoBnT,cACvBoT,EAAQpT,YAAc,8BAGnBmT,EAAoBpS,iBACvBqS,EAAQrS,eAAiB,iCAGtBoS,EAAoBhT,iBACvBiT,EAAQjT,eAAiB,uBAI7B/U,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,GAIT,GAA+C,IAA3CD,EAAoBjT,oBAA2B,CAWjD,GAVKiT,EAAoB5S,cACvB6S,EAAQ7S,YAAc,kCAEnB4S,EAAoB3S,cACvB4S,EAAQ5S,YAAc,mCAEnB2S,EAAoB1S,cACvB2S,EAAQ3S,YAAc,kCAGnB0S,EAAoB5S,cAAgB4S,EAAoB3S,cAAgB2S,EAAoB1S,YAE/F,OADArV,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,EAGT,GAAID,EAAoB5S,aAAe4S,EAAoB3S,aAAe2S,EAAoB1S,YAE5F,OADArV,KAAK+D,SAAS,CAAEikB,QAASA,IAClB,EAMX,OADAhoB,KAAK+D,SAAS,CAAEikB,QAAS,KAClB,EAEP,IAAMA,EAAU,GACZ4G,EAAW,EA2Ff,OA1FK7G,EAAoBtT,QACvBuT,EAAQvT,MAAQ,0BAChBma,EAAW,GAER7G,EAAoBrT,QACvBsT,EAAQtT,MAAQ,2BAChBka,EAAW,GAER7G,EAAoBpT,QACvBqT,EAAQrT,MAAQ,yBAChBia,EAAW,IAE0D,IAAjE3H,EAAW/jB,QAAQ6kB,EAAoBjT,uBAC3CkT,EAAQlT,oBAAsB,4BAC9B8Z,EAAW,GAER7G,EAAoBlT,kBACvBmT,EAAQnT,gBAAkB,gCAC1B+Z,EAAW,GAER7G,EAAoBhT,iBACvBiT,EAAQjT,eAAiB,sBACzB6Z,EAAW,GAGR7G,EAAoBnT,cACvBoT,EAAQpT,YAAc,6BACtBga,EAAW,GAGV7G,EAAoBzS,eAEjByS,EAAoBvS,eAEtBwS,EAAQxS,aAAe,yBACvBoZ,EAAW,GAET7G,EAAoBtS,mBAEpBuS,EAAQvS,iBAAmB,0BAC3BmZ,EAAW,IAKd7G,EAAoBuD,mBAEjBvD,EAAoBvS,eAEtBwS,EAAQxS,aAAe,0BACvBoZ,EAAW,GAET7G,EAAoBzS,eAEpB0S,EAAQ1S,aAAe,yBACvBsZ,EAAW,IAId7G,EAAoBtS,kBAElBsS,EAAoBtS,iBAAiB5S,OAAS,GAAqD,IAAhDklB,EAAoBtS,iBAAiB5S,SACzFmlB,EAAQvS,iBAAmB,4BAC3BmZ,EAAW,GAI8B,IAA3C7G,EAAoBjT,sBAEhBiT,EAAoB5S,cACvB6S,EAAQ7S,YAAc,iCACtByZ,EAAW,GAER7G,EAAoB3S,cACvB4S,EAAQ5S,YAAc,kCACtBwZ,EAAW,GAER7G,EAAoB1S,cACvB2S,EAAQ3S,YAAc,gCACtBuZ,EAAW,IAUd5uB,KAAK+D,SAAS,CAAEikB,QAASA,IAClB4G,I,mCAKX,WAA2C,IAArB3G,EAAoB,uDAAfjoB,KAAKoB,MAAM6mB,GAK9BhB,EAAa,CAAC,EAAG,GAAI,UAAM9V,EAAWwd,IAAK,KAC3CzG,EAAU,GAChB,OAA8C,IAA1CjB,EAAW/jB,QAAQ+kB,EAAG/Y,iBAAmE,IAA1C+X,EAAW/jB,QAAQ+kB,EAAGnY,iBAAwE,IAA/CmX,EAAW/jB,QAAQ+kB,EAAG9Y,sBAA4E,IAA9C8X,EAAW/jB,QAAQ+kB,EAAGnZ,qBAAuE,IAA1CmY,EAAW/jB,QAAQ+kB,EAAG5X,kBACnK,IAArD4W,EAAW/jB,QAAQ+kB,EAAG3Y,4BAAsF,IAAhD2X,EAAW/jB,QAAQ+kB,EAAGvY,uBAC/B,IAAhDuX,EAAW/jB,QAAQ+kB,EAAGhY,uBAA4E,IAA1CgX,EAAW/jB,QAAQ+kB,EAAGnY,gBAatF9P,KAAK+D,SAAS,CAAEmkB,QAAS,KAClB,IAZHA,EAAQjY,oBAAsB,sBAE9B3I,QAAQC,IAAI,IACoC,IAA1C0f,EAAW/jB,QAAQ+kB,EAAGnY,iBAC1BoY,EAAQpY,cAAgB,uBAE1B9P,KAAK+D,SAAS,CAAEmkB,QAASA,IAClB,KAQ0C,IAA/CjB,EAAW/jB,QAAQ+kB,EAAG9Y,sBAC1B+Y,EAAQ/Y,mBAAqB,6BAGiB,IAA1C8X,EAAW/jB,QAAQ+kB,EAAG/Y,iBAC1BgZ,EAAQhZ,cAAgB,wBAG0B,IAA9C+X,EAAW/jB,QAAQ+kB,EAAGnZ,qBAC1BoZ,EAAQpZ,kBAAoB,4BAE9BxH,QAAQC,IAAI0gB,EAAGnY,gBACiC,IAA1CmX,EAAW/jB,QAAQ+kB,EAAGnY,iBAC1BoY,EAAQpY,cAAgB,sBACxBxI,QAAQC,IAAI,KAEmC,IAA5C0f,EAAW/jB,QAAQ+kB,EAAG5X,mBACzB6X,EAAQ7X,gBAAiB,wCAG+B,IAArD4W,EAAW/jB,QAAQ+kB,EAAG3Y,4BAAsF,IAAhD2X,EAAW/jB,QAAQ+kB,EAAGvY,uBAC/B,IAAhDuX,EAAW/jB,QAAQ+kB,EAAGhY,uBAC1BiY,EAAQjY,oBAAsB,uBAIlCjQ,KAAK+D,SAAS,CAAEmkB,QAASA,IAElB,K,wCAIX,WAAsF,IAA3DC,EAA0D,uDAAlCnoB,KAAKoB,MAAM+mB,sBAG1DJ,EACE/nB,KAAKoB,MADP2mB,oBAEId,EAAa,CAAC,EAAG,GAAI,UAAM9V,EAAWwd,IAAK,KAC3CvG,EAAU,GAChB,GAA0D,KAAtDle,SAAS6d,EAAoBjT,qBAC/B,OAAIqT,EAAsBlV,eAC4B,KAAhDkV,EAAsBlV,eAAepQ,QACvC7C,KAAK+D,SAAS,CAAEqkB,QAAS,KAClB,IAGPA,EAAQnV,eAAiB,0BACzBjT,KAAK+D,SAAS,CAAEqkB,QAASA,IAClB,IAIJD,EAAsBlV,eAI2B,KAAhDkV,EAAsBlV,eAAepQ,SACvCulB,EAAQnV,eAAiB,2BAJ3BmV,EAAQnV,eAAiB,kCAQ3BjT,KAAK+D,SAAS,CAAEqkB,QAASA,IAClB,GAKT,GAAID,EAAsBtV,gBAAkBsV,EAAsBpV,qBAAqF,IAA/DkU,EAAW/jB,QAAQilB,EAAsBrV,iBAE/H,OADA9S,KAAK+D,SAAS,CAAEqkB,QAAS,KAClB,EAEP,IAAMA,EAAU,GAahB,OAZKD,EAAsBtV,iBACzBuV,EAAQvV,eAAiB,gCAGtBsV,EAAsBpV,qBACzBqV,EAAQrV,mBAAqB,6BAGsC,IAA/DkU,EAAW/jB,QAAQilB,EAAsBrV,mBAC7CsV,EAAQtV,gBAAkB,yBAE5B9S,KAAK+D,SAAS,CAAEqkB,QAASA,IAClB,I,0BAKb,WAA4C,IAA/B9I,EAA8B,uDAApBtf,KAAKoB,MAAMke,QAK1B2H,EAAa,CAAC,EAAG,GAAI,UAAM9V,EAAWwd,IAAK,KACjD,IAAiD,IAA7C1H,EAAW/jB,QAAQoc,EAAQ7I,cAAuB6I,EAAQ3I,cAAgB2I,EAAQrI,eAAiE,IAAjDgQ,EAAW/jB,QAAQoc,EAAQzK,iBAE/H,OADA7U,KAAK+D,SAAS,CAAEskB,SAAU,KACnB,EAEP,IAAMA,EAAW,GAiBjB,OAhBmD,IAA7CpB,EAAW/jB,QAAQoc,EAAQ7I,eAC/B4R,EAAS5R,YAAc,8BAEpB6I,EAAQ3I,eACX0R,EAAS1R,aAAe,gCAG6B,IAAjDsQ,EAAW/jB,QAAQoc,EAAQzK,mBAC/BwT,EAASxT,gBAAkB,yBAGxByK,EAAQrI,eACXoR,EAASpR,aAAe,qBAG1BjX,KAAK+D,SAAS,CAAEskB,SAAUA,IACnB,I,0BAIX,WAAoE,IAAvDC,EAAsD,uDAAhCtoB,KAAKoB,MAAMknB,oBAKtCrB,EAAa,CAAC,EAAG,GAAI,UAAM9V,EAAWwd,IAAK,KAC7CE,EAAS,EACPtG,EAAe,GACrB,OAAID,EAAoB3Q,kBAAoB2Q,EAAoB3Q,iBAAiB9U,QAAU,GACzFylB,EAAoB3Q,iBAAiBrM,SAAQ,SAACtI,EAASqH,GACrDke,EAAale,GAAS,IAC2B,IAA7C4c,EAAW/jB,QAAQF,EAAQ8U,eAAkE,IAA3CmP,EAAW/jB,QAAQF,EAAQ4U,aAAmE,IAA9CqP,EAAW/jB,QAAQF,EAAQ6U,iBAC9E,IAA7CoP,EAAW/jB,QAAQF,EAAQ8U,eAC7ByQ,EAAale,GAAOyN,YAAc,wBAEW,IAA3CmP,EAAW/jB,QAAQF,EAAQ4U,aAC7B2Q,EAAale,GAAOuN,UAAY,6BAEgB,IAA9CqP,EAAW/jB,QAAQF,EAAQ6U,gBAC7B0Q,EAAale,GAAOwN,aAAe,yBAErCgX,EAAS,MAGE,IAAXA,GAAgBzqB,EAAWzC,KAAK2mB,EAAoBnjB,QACtDnF,KAAK+D,SAAS,CAAEwkB,aAAc,KACvB,IAEPvoB,KAAK+D,SAAS,CAAEwkB,aAAcA,IACvB,KAGTA,EAAa,GAAK,GAClBA,EAAa,GAAGzQ,YAAc,sBAC9ByQ,EAAa,GAAG3Q,UAAY,2BAC5B2Q,EAAa,GAAG1Q,aAAe,wBAC/B7X,KAAK+D,SAAS,CAAEwkB,aAAcA,IACvB,K,qCAIX,WAA6E,IAArDC,EAAoD,uDAA/BxoB,KAAKoB,MAAMonB,mBAKhDvB,EAAa,CAAC,EAAG,GAAI,UAAM9V,EAAWwd,IAAK,KACjD,IAAKnG,EAAmBhL,iBAAmBgL,EAAmB9K,eAAgB,CAE5E,IAA6D,IAAzDuJ,EAAW/jB,QAAQslB,EAAmBjN,gBAAiF,IAAzD0L,EAAW/jB,QAAQslB,EAAmBhN,eAAwBgN,EAAmB/M,aAAe+M,EAAmB5M,aAAe4M,EAAmB1M,aAAe0M,EAAmBxM,aAAewM,EAAmBvM,aAAeuM,EAAmBrM,aAAeqM,EAAmBpM,kBAAoBoM,EAAmBlM,kBAAoBkM,EAAmB3L,aAAe2L,EAAmBzL,aAAeyL,EAAmBxL,YAAa,CAC5f,IAAK5Y,EAAWzC,KAAK6mB,EAAmBxL,eAAmF,IAAnE,CAAC,GAAI,UAAM7L,GAAWjO,QAAQslB,EAAmBxL,eACtG5Y,EAAWzC,KAAK6mB,EAAmBtL,eAAmF,IAAnE,CAAC,GAAI,UAAM/L,GAAWjO,QAAQslB,EAAmBtL,aAgBhG,CACL,IAAMuL,EAAc,GAYpB,OAXuE,IAAnE,CAAC,GAAI,UAAMtX,GAAWjO,QAAQslB,EAAmBxL,eAC9C5Y,EAAWzC,KAAK6mB,EAAmBxL,eACtCyL,EAAYzL,YAAc,wCAGyC,IAAnE,CAAC,GAAI,UAAM7L,GAAWjO,QAAQslB,EAAmBtL,eAC9C9Y,EAAWzC,KAAK6mB,EAAmBtL,eACtCuL,EAAYvL,YAAc,uCAG9Bld,KAAK+D,SAAS,CAAE0kB,YAAaA,IACtB,EA5BL,IAAIqG,EAAI,EACJrG,EAAc,GAapB,OAZGD,EAAmB7K,mBAA0F,IAAtE,CAAC,GAAI,UAAMxM,GAAWjO,QAAQslB,EAAmB1K,kBAEzF2K,EAAY3K,eAAiB,qCAC7BgR,EAAI,GAEHtG,EAAmB3K,mBAA0F,IAAtE,CAAC,GAAI,UAAM1M,GAAWjO,QAAQslB,EAAmBxK,kBAEzFyK,EAAYzK,eAAiB,qCAC7B8Q,EAAI,GAGN9uB,KAAK+D,SAAS,CAAE0kB,YAAaA,IACtBqG,EAiBT,IAAMrG,EAAc,GAqDpB,OApD+D,IAAzDxB,EAAW/jB,QAAQslB,EAAmBjN,gBAC1CkN,EAAYlN,aAAe,wBAExBiN,EAAmB/M,cACtBgN,EAAYhN,YAAc,2BAEvB+M,EAAmB1M,cACtB2M,EAAY3M,YAAc,4BAEvB0M,EAAmBvM,cACtBwM,EAAYxM,YAAc,0BAEvBuM,EAAmBpM,mBACtBqM,EAAYrM,iBAAmB,2BAE5BoM,EAAmB3L,cACtB4L,EAAY5L,YAAc,uBAGvB2L,EAAmBxL,cACtByL,EAAYzL,YAAc,+BAG2C,IAAnE,CAAC,GAAI,UAAM7L,GAAWjO,QAAQslB,EAAmBxL,eAC9C5Y,EAAWzC,KAAK6mB,EAAmBxL,eACtCyL,EAAYzL,YAAc,wCAGiC,IAAzDiK,EAAW/jB,QAAQslB,EAAmBhN,gBAC1CiN,EAAYjN,aAAe,wBAExBgN,EAAmB5M,cACtB6M,EAAY7M,YAAc,2BAEvB4M,EAAmBxM,cACtByM,EAAYzM,YAAc,4BAEvBwM,EAAmBrM,cACtBsM,EAAYtM,YAAc,0BAEvBqM,EAAmBlM,mBACtBmM,EAAYnM,iBAAmB,2BAE5BkM,EAAmBzL,cACtB0L,EAAY1L,YAAc,wBAE2C,IAAnE,CAAC,GAAI,UAAM5L,GAAWjO,QAAQslB,EAAmBtL,eAC9C9Y,EAAWzC,KAAK6mB,EAAmBtL,eACtCuL,EAAYvL,YAAc,uCAG9Bld,KAAK+D,SAAS,CAAE0kB,YAAaA,IACtB,EAEJ,GAAID,EAAmBhL,gBAAkBgL,EAAmB9K,eAAgB,CACjF,IAAKtZ,EAAWzC,KAAK6mB,EAAmBtL,eAAmF,IAAnE,CAAC,GAAI,UAAM/L,GAAWjO,QAAQslB,EAAmBtL,eACtG9Y,EAAWzC,KAAK6mB,EAAmBxL,eAAmF,IAAnE,CAAC,GAAI,UAAM7L,GAAWjO,QAAQslB,EAAmBxL,aAGhG,CACL,IAAMyL,EAAc,GAYpB,OAXuE,IAAnE,CAAC,GAAI,UAAMtX,GAAWjO,QAAQslB,EAAmBtL,eAC9C9Y,EAAWzC,KAAK6mB,EAAmBtL,eACtCuL,EAAYvL,YAAc,wCAGyC,IAAnE,CAAC,GAAI,UAAM/L,GAAWjO,QAAQslB,EAAmBxL,eAC9C5Y,EAAWzC,KAAK6mB,EAAmBxL,eACtCyL,EAAYzL,YAAc,uCAG9Bhd,KAAK+D,SAAS,CAAE0kB,YAAaA,IACtB,EAdP,OADAzoB,KAAK+D,SAAS,CAAE0kB,YAAa,KACtB,EAgBJ,IAAKD,EAAmB9K,gBAAkB8K,EAAmBhL,eAAgB,CAElF,IAA6D,IAAzDyJ,EAAW/jB,QAAQslB,EAAmBhN,eAAwBgN,EAAmB5M,aAAe4M,EAAmBxM,aAAewM,EAAmBrM,aAAeqM,EAAmBlM,kBAAoBkM,EAAmBzL,YAAa,CAC7O,IAAK3Y,EAAWzC,KAAK6mB,EAAmBxL,eAAmF,IAAnE,CAAC,GAAI,UAAM7L,GAAWjO,QAAQslB,EAAmBxL,eACtG5Y,EAAWzC,KAAK6mB,EAAmBtL,eAAmF,IAAnE,CAAC,GAAI,UAAM/L,GAAWjO,QAAQslB,EAAmBtL,aAGhG,CACL,IAAMuL,EAAc,GAYpB,OAXuE,IAAnE,CAAC,GAAI,UAAMtX,GAAWjO,QAAQslB,EAAmBxL,eAC9C5Y,EAAWzC,KAAK6mB,EAAmBxL,eACtCyL,EAAYzL,YAAc,wCAGyC,IAAnE,CAAC,GAAI,UAAM7L,GAAWjO,QAAQslB,EAAmBtL,eAC9C9Y,EAAWzC,KAAK6mB,EAAmBtL,eACtCuL,EAAYvL,YAAc,uCAG9Bld,KAAK+D,SAAS,CAAE0kB,YAAaA,IACtB,EAdP,OADAzoB,KAAK+D,SAAS,CAAE0kB,YAAa,KACtB,EAiBT,IAAMA,EAAc,GAyCpB,OAxC+D,IAAzDxB,EAAW/jB,QAAQslB,EAAmBhN,gBAC1CiN,EAAYjN,aAAe,wBAGxBgN,EAAmBxL,cACtByL,EAAYzL,YAAc,8BAGvBwL,EAAmB5M,cACtB6M,EAAY7M,YAAc,2BAEvB4M,EAAmBxM,cACtByM,EAAYzM,YAAc,4BAEvBwM,EAAmBrM,cACtBsM,EAAYtM,YAAc,0BAEvBqM,EAAmBlM,mBACtBmM,EAAYnM,iBAAmB,2BAE5BkM,EAAmBzL,cACtB0L,EAAY1L,YAAc,uBAIvByL,EAAmBxL,cACtByL,EAAYzL,YAAc,+BAG2C,IAAnE,CAAC,GAAI,UAAM7L,GAAWjO,QAAQslB,EAAmBtL,eAC9C9Y,EAAWzC,KAAK6mB,EAAmBtL,eACtCuL,EAAYvL,YAAc,wCAGyC,IAAnE,CAAC,GAAI,UAAM/L,GAAWjO,QAAQslB,EAAmBxL,eAC9C5Y,EAAWzC,KAAK6mB,EAAmBxL,eACtCyL,EAAYzL,YAAc,uCAG9Bhd,KAAK+D,SAAS,CAAE0kB,YAAaA,IACtB,EAEJ,IAAKD,EAAmBhL,eAAgB,CAE7C,IAA6D,IAAzDyJ,EAAW/jB,QAAQslB,EAAmBjN,eAAwBiN,EAAmB/M,aAAe+M,EAAmB1M,aAAe0M,EAAmBvM,aAAeuM,EAAmBpM,kBAAoBoM,EAAmB3L,YAAa,CAC7O,IAAKzY,EAAWzC,KAAK6mB,EAAmBtL,eAAmF,IAAnE,CAAC,GAAI,UAAM/L,GAAWjO,QAAQslB,EAAmBtL,eACtG9Y,EAAWzC,KAAK6mB,EAAmBxL,eAAmF,IAAnE,CAAC,GAAI,UAAM7L,GAAWjO,QAAQslB,EAAmBxL,aAGhG,CACL,IAAMyL,EAAc,GAYpB,OAXuE,IAAnE,CAAC,GAAI,UAAMtX,GAAWjO,QAAQslB,EAAmBtL,eAC9C9Y,EAAWzC,KAAK6mB,EAAmBtL,eACtCuL,EAAYvL,YAAc,wCAGyC,IAAnE,CAAC,GAAI,UAAM/L,GAAWjO,QAAQslB,EAAmBxL,eAC9C5Y,EAAWzC,KAAK6mB,EAAmBxL,eACtCyL,EAAYzL,YAAc,uCAG9Bhd,KAAK+D,SAAS,CAAE0kB,YAAaA,IACtB,EAdP,OADAzoB,KAAK+D,SAAS,CAAE0kB,YAAa,KACtB,EAiBT,IAAMA,EAAc,GAmCpB,OAlC+D,IAAzDxB,EAAW/jB,QAAQslB,EAAmBjN,gBAC1CkN,EAAYlN,aAAe,wBAExBiN,EAAmB/M,cACtBgN,EAAYhN,YAAc,2BAEvB+M,EAAmB1M,cACtB2M,EAAY3M,YAAc,4BAEvB0M,EAAmBvM,cACtBwM,EAAYxM,YAAc,0BAEvBuM,EAAmBpM,mBACtBqM,EAAYrM,iBAAmB,2BAE5BoM,EAAmB3L,cACtB4L,EAAY5L,YAAc,uBAGvB2L,EAAmBxL,cACtByL,EAAYzL,YAAc,8BAGxBwL,EAAmBxL,cAChB5Y,EAAWzC,KAAK6mB,EAAmBxL,eACtCyL,EAAYzL,YAAc,uCAG1BwL,EAAmBtL,cAChB9Y,EAAWzC,KAAK6mB,EAAmBtL,eACtCuL,EAAYvL,YAAc,uCAG9Bld,KAAK+D,SAAS,CAAE0kB,YAAaA,IACtB,K,sCAKb,WAAgF,IAAvDC,EAAsD,uDAAhC1oB,KAAKoB,MAAMsnB,oBAExD,EAII1oB,KAAKoB,MAHPonB,EADF,EACEA,mBACA9J,EAFF,EAEEA,SACAK,EAHF,EAGEA,SAEIkI,EAAa,CAAC,EAAG,GAAI,UAAM9V,EAAWwd,IAAK,KAQjD,IANuE,IAAnE,CAAC,GAAI,UAAMxd,GAAWjO,QAAQslB,EAAmBtL,eACmB,IAAtE,CAAC,GAAI,UAAM/L,GAAWjO,QAAQwlB,EAAoBzI,iBAElDyI,EAAoBzI,cAAgBuI,EAAmBtL,gBAGO,IAA5D+J,EAAW/jB,QAAQwlB,EAAoBhJ,iBAA0BgJ,EAAoB/I,eAAiB+I,EAAoBzI,eAAiByI,EAAoB7I,eAAiB6I,EAAoB5I,eAAiB4I,EAAoB3I,oBAAsB2I,EAAoB1I,eAAiB0I,EAAoBxI,iBAAgE,KAA7CwI,EAAoBjJ,sBAyC5V,CACL,IAAMkJ,EAAa,GAqCnB,OApCkE,IAA5D1B,EAAW/jB,QAAQwlB,EAAoBhJ,kBAC3CiJ,EAAWjJ,eAAiB,wBAEzBgJ,EAAoBzI,gBACvB0I,EAAW1I,cAAgB,8BAExByI,EAAoB/I,gBACvBgJ,EAAWhJ,cAAgB,2BAGxB+I,EAAoB7I,gBACvB8I,EAAW9I,cAAgB,4BAExB6I,EAAoB5I,gBACvB6I,EAAW7I,cAAgB,0BAExB4I,EAAoB3I,qBACvB4I,EAAW5I,mBAAqB,2BAE7B2I,EAAoB1I,gBACvB2I,EAAW3I,cAAgB,uBAEzB0I,EAAoBzI,gBACjB7b,EAAWzC,KAAK+mB,EAAoBzI,iBACvC0I,EAAW1I,cAAgB,wCAGyC,IAAlEgH,EAAW/jB,QAAQwlB,EAAoBjJ,wBAC3CkJ,EAAWlJ,qBAAuB,+BAG+B,IAA7DwH,EAAW/jB,QAAQwlB,EAAoBxI,mBAC3CyI,EAAWzI,gBAAkB,wBAG/BlgB,KAAK+D,SAAS,CAAE4kB,WAAYA,IACrB,EA9EP,OAAgF,IAA5E,CAACjK,GAAUxb,QAAQgH,SAASwe,EAAoBjJ,wBACR,IAAtC+I,EAAmBhL,gBACrBxd,KAAK+D,SAAS,CAAE4kB,WAAY,CAAElJ,qBAAsB,4CAC7C,IAEPzf,KAAK+D,SAAS,CAAE4kB,WAAY,KACrB,IAG4E,IAA5E,CAAC5J,GAAU7b,QAAQgH,SAASwe,EAAoBjJ,wBAkBiB,IAAtE,CAAC,GAAI,UAAMtO,GAAWjO,QAAQwlB,EAAoBzI,eAChD7b,EAAWzC,KAAK+mB,EAAoBzI,gBACtCjgB,KAAK+D,SAAS,CAAE4kB,WAAY,KACrB,IAEP3oB,KAAK+D,SAAS,CAAE4kB,WAAY,CAAE1I,cAAe,wCACtC,IAGTjgB,KAAK+D,SAAS,CAAE4kB,WAAY,KACrB,IA3BiC,IAAtCH,EAAmB9K,gBACrB1d,KAAK+D,SAAS,CAAE4kB,WAAY,CAAElJ,qBAAsB,4CAC7C,IAEmE,IAAtE,CAAC,GAAI,UAAMtO,GAAWjO,QAAQwlB,EAAoBzI,gBAQpDjgB,KAAK+D,SAAS,CAAE4kB,WAAY,KACrB,GARHvkB,EAAWzC,KAAK+mB,EAAoBzI,oBACtCjgB,KAAK+D,SAAS,CAAE4kB,WAAY,MAE5B3oB,KAAK+D,SAAS,CAAE4kB,WAAY,CAAE1I,cAAe,wCACtC,K,mCA+DnB,WAAyE,IAAnD2I,EAAkD,uDAA9B5oB,KAAKoB,MAAMwnB,kBAEnD,EAGI5oB,KAAKoB,MAFP6mB,EADF,EACEA,GACAqB,EAFF,EAEEA,cAEIrC,EAAa,CAAC,EAAG,GAAI,UAAM9V,EAAWwd,IAAK,KACjD,GAAIzkB,SAAS+d,EAAGjZ,mBAAqBsa,EAkG9B,KAAuF,IAAnF,CAACA,EAAe,GAAI,UAAMnY,EAAW,GAAGjO,QAAQgH,SAAS+d,EAAGjZ,kBAA0B,CAC/F,IAAqE,IAAjEiY,EAAW/jB,QAAQ0lB,EAAkB1D,yBAA4F,IAA3D+B,EAAW/jB,QAAQ0lB,EAAkBnG,kBAA2BmG,EAAkB/E,mBAA8E,IAA1DoD,EAAW/jB,QAAQ0lB,EAAkBxD,kBAAqF,IAA3D6B,EAAW/jB,QAAQ0lB,EAAkB/T,kBAA2B+T,EAAkBvD,IAE/T,OADArlB,KAAK+D,SAAS,CAAE8kB,SAAU,KACnB,EACF,IAAqE,IAAjE5B,EAAW/jB,QAAQ0lB,EAAkB1D,wBAAwE,KAAvC0D,EAAkB/E,kBAAqD,KAA1B+E,EAAkBvD,MAAwE,IAA1D4B,EAAW/jB,QAAQ0lB,EAAkBxD,kBAAqF,IAA3D6B,EAAW/jB,QAAQ0lB,EAAkBnG,mBAAsF,IAA3DwE,EAAW/jB,QAAQ0lB,EAAkB/T,kBAA2B+T,EAAkB3D,eAAepiB,QAAU,EAEtY,OADA7C,KAAK+D,SAAS,CAAE8kB,SAAU,KACnB,EAEP,IAAMA,EAAW,GAuBjB,OAtBuE,IAAjE5B,EAAW/jB,QAAQ0lB,EAAkB1D,yBACzC2D,EAAS3D,sBAAwB,8BAE+B,IAA5D+B,EAAW/jB,QAAQ0lB,EAAkB/E,oBACzCgF,EAAShF,iBAAmB,qCAEuB,IAA/CoD,EAAW/jB,QAAQ0lB,EAAkBvD,OACzCwD,EAASxD,IAAM,sBAE+C,IAA1D4B,EAAW/jB,QAAQ0lB,EAAkBxD,kBACzCyD,EAASzD,eAAiB,iCAEa,UAArCwD,EAAkBxD,iBAAyF,IAA3D6B,EAAW/jB,QAAQ0lB,EAAkBnG,mBACvFoG,EAASpG,gBAAkB,iCAEoC,IAA3DwE,EAAW/jB,QAAQ0lB,EAAkB/T,mBACzCgU,EAAShU,gBAAkB,0BAEmC,IAA1DoS,EAAW/jB,QAAQ0lB,EAAkB1G,kBACzC2G,EAAS3G,eAAiB,sBAE5BliB,KAAK+D,SAAS,CAAE8kB,SAAUA,IACnB,EAIT,OADA7oB,KAAK+D,SAAS,CAAE8kB,SAAU,KACnB,EApIP,IAAuD,IAAnD5B,EAAW/jB,QAAQ0lB,EAAkBxG,WAAoF,IAAjE6E,EAAW/jB,QAAQ0lB,EAAkB5G,yBAA2F,IAA1DiF,EAAW/jB,QAAQ0lB,EAAkBtG,kBAAqF,IAA3D2E,EAAW/jB,QAAQ0lB,EAAkBnG,mBAAqF,IAA1DwE,EAAW/jB,QAAQ0lB,EAAkB1G,kBAAqF,IAA3D+E,EAAW/jB,QAAQ0lB,EAAkB/T,mBAAmF,IAAxDoS,EAAW/jB,QAAQ0lB,EAAkB3R,cA8C9Z,IAAkC,KAA9B2R,EAAkBxG,SAA8D,KAA5CwG,EAAkB5G,uBAAqE,KAArC4G,EAAkB1G,gBAA8D,KAArC0G,EAAkBtG,gBAA+D,KAAtCsG,EAAkB/T,iBAAmE,KAAzC+T,EAAkBrG,oBAA6BqG,EAAkBpF,gBAAgB3gB,QAAU,EAE5T,OADA7C,KAAK+D,SAAS,CAAE8kB,SAAU,KACnB,EAEP,IAAMA,EAAW,GAyCjB,OAxCyD,IAAnD5B,EAAW/jB,QAAQ0lB,EAAkBxG,WACzCyG,EAASzG,QAAU,2BAEkD,IAAjE6E,EAAW/jB,QAAQ0lB,EAAkB5G,yBACzC6G,EAAS7G,sBAAwB,0CAE6B,IAA1DiF,EAAW/jB,QAAQ0lB,EAAkBtG,kBACzCuG,EAASvG,eAAiB,uBAEmC,IAA3D2E,EAAW/jB,QAAQ0lB,EAAkBnG,kBAAgE,MAArCmG,EAAkBtG,iBACpFuG,EAASpG,gBAAkB,sBAEkC,IAA3DwE,EAAW/jB,QAAQ0lB,EAAkB/T,kBAAgE,MAArC+T,EAAkBtG,iBACpFuG,EAAShU,gBAAkB,0BAE+B,IAAxDoS,EAAW/jB,QAAQ0lB,EAAkB3R,eAA6D,MAArC2R,EAAkBtG,iBACjFuG,EAAS5R,aAAe,uBAEsC,IAA1DgQ,EAAW/jB,QAAQ0lB,EAAkB1G,kBACzC2G,EAAS3G,eAAiB,uBAEsC,IAA9D+E,EAAW/jB,QAAQ0lB,EAAkBrG,sBACM,UAAzCqG,EAAkBrG,oBAAmCqG,EAAkBlG,yBACzEmG,EAASnG,uBAAyB,gCAES,UAAzCkG,EAAkBrG,qBAAuG,IAArE0E,EAAW/jB,QAAQ0lB,EAAkBhG,6BAC3FiG,EAASjG,0BAA4B,yBAEM,UAAzCgG,EAAkBrG,qBAAoG,IAAlE0E,EAAW/jB,QAAQ0lB,EAAkB/F,0BAC3FgG,EAAShG,uBAAyB,uBAUtC7iB,KAAK+D,SAAS,CAAE8kB,SAAUA,IACW,IAAjCkG,OAAOC,KAAKnG,GAAUhmB,OACjB,EAEA,EA7FT,IAAkE,IAA9DokB,EAAW/jB,QAAQ0lB,EAAkBrG,oBA2CvC,OADAviB,KAAK+D,SAAS,CAAE8kB,SAAU,KACnB,EA1CP,GAA6C,UAAzCD,EAAkBrG,qBACfqG,EAAkBlG,uBAAwB,CAC7C,IAAMmG,EAAW,CACjBA,uBAAkC,gCAgBlC,OAdKD,EAAkB1G,iBACrB2G,EAAS3G,eAAiB,sBAY5BliB,KAAK+D,SAAS,CAAE8kB,SAAUA,IACnB,K,6BAmHnB,WAAqD,IAArCC,EAAoC,uDAAvB9oB,KAAKoB,MAAM0nB,WAChC7B,EAAa,CAAC,EAAG,GAAI,UAAM9V,EAAWwd,IAAK,KACjD,GAAI7F,EAAWjD,OAASiD,EAAWjD,MAAMhjB,OAAS,EAAG,CACnD,IAAMosB,EAAYnG,EAAWjD,MACzB7gB,EAAQ,EACNgkB,EAAY,GAuBlB,OAtBAiG,EAAU3jB,SAAQ,SAACtI,EAASqH,GAC1B2e,EAAU3e,GAAS,IACuB,IAAtC4c,EAAW/jB,QAAQF,EAAQrB,QAA0D,IAA1CslB,EAAW/jB,QAAQF,EAAQ6jB,YAA+D,IAA3CI,EAAW/jB,QAAQF,EAAQ4jB,aAA4D,IAAvCK,EAAW/jB,QAAQF,EAAQ8jB,OACvKkC,EAAU3e,GAAS,IAC4B,IAAtC4c,EAAW/jB,QAAQF,EAAQrB,QAA0D,IAA1CslB,EAAW/jB,QAAQF,EAAQ6jB,YAA+D,IAA3CI,EAAW/jB,QAAQF,EAAQ4jB,aAA4D,IAAvCK,EAAW/jB,QAAQF,EAAQ8jB,SAC9K9hB,EAAQ,GACkC,IAAtCiiB,EAAW/jB,QAAQF,EAAQrB,QAC7BqnB,EAAU3e,GAAO1I,KAAO,uBAEoB,IAA1CslB,EAAW/jB,QAAQF,EAAQ6jB,YAC7BmC,EAAU3e,GAAOwc,SAAW,4BAEa,IAAvCI,EAAW/jB,QAAQF,EAAQ8jB,SAC7BkC,EAAU3e,GAAOyc,MAAQ,uBAEoB,IAA3CG,EAAW/jB,QAAQF,EAAQ4jB,aAC7BoC,EAAU3e,GAAOuc,UAAY,+BAM/B5mB,KAAKoB,MAAMymB,YAAYzW,SAAS,mCAClCpR,KAAKoB,MAAMymB,YAAYzW,SAAS,uDAChCpR,KAAK+D,SAAS,CAAEilB,UAAWA,IAC3BhpB,KAAK+D,SAAS,CAAE8jB,YAAa,KAEtB,GAEK,IAAV7iB,GACFhF,KAAK+D,SAAS,CAAEilB,UAAW,KACpB,IAEP1hB,QAAQC,IAAI,GACZvH,KAAK+D,SAAS,CAAEilB,UAAWA,IACpB,M,oCAeb,WAA0E,IAAnDE,EAAkD,uDAA9BlpB,KAAKoB,MAAM8nB,kBAKpD,OAAKA,EAAkBvI,YAA+C,SAAjCuI,EAAkBvI,aAA0BuI,EAAkBzI,SACjGzgB,KAAK+D,SAAS,CAAEolB,QAAS,KAClB,GACGD,EAAkBvI,YAA+C,UAAjCuI,EAAkBvI,YAI5D3gB,KAAK+D,SAAS,CAAEolB,QAAS,CAAE1I,QAAS,sCAC7B,IAJPzgB,KAAK+D,SAAS,CAAEolB,QAAS,KAClB,K,0BAOX,WAAgE,IAAnDE,EAAkD,uDAA9BrpB,KAAKoB,MAAMioB,kBAM1C,OAAIA,EAAkBpI,iBAAmBoI,EAAkBpI,gBAAgBpe,QAAU,EAE/EwmB,EAAkBpI,gBAAgB7P,SAAS,MAASiY,EAAkBnI,aACxElhB,KAAK+D,SAAS,CAAEqlB,aAAc,CAAE7H,QAAS,qCAClC,IAGPvhB,KAAK+D,SAAS,CAAEqlB,aAAc,KACvB,IAITppB,KAAK+D,SAAS,CAAEqlB,aAAc,CAAE7H,QAAS,iCAClC,K,4BAMX,WACE,IAAMvc,EAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAyB7C,OAtBAA,EAAM,GAAKhF,KAAKiqB,2BAEhBjlB,EAAM,GAAKhF,KAAKkqB,wBAEhBllB,EAAM,GAAKhF,KAAKmqB,wBAEhBnlB,EAAM,GAAKhF,KAAKoqB,6BAEhBplB,EAAM,GAAKhF,KAAKqqB,eAEhBrlB,EAAM,GAAKhF,KAAKsqB,eAEhBtlB,EAAM,GAAKhF,KAAKuqB,0BAEhBvlB,EAAM,GAAKhF,KAAKwqB,2BAEhBxlB,EAAM,GAAKhF,KAAKyqB,kBAEhBzlB,EAAM,GAAKhF,KAAK0qB,yBAEhB1lB,EAAM,IAAMhF,KAAK2qB,eACjB3qB,KAAK+D,SAAS,CAAEiB,MAAOA,IAChBA,I,8BAGT,SAAiBC,GAAI,IAAD,OAClB,EAmEIjF,KAAKoB,MAlEP8nB,EADF,EACEA,kBACAG,EAFF,EAEEA,kBACA1H,EAHF,EAGEA,iBACA7N,EAJF,EAIEA,YACAc,EALF,EAKEA,YACAe,EANF,EAMEA,eACA1B,EAPF,EAOEA,YACAe,EARF,EAQEA,OACAY,EATF,EASEA,WACAzL,EAVF,EAUEA,wBACAsK,EAXF,EAWEA,MACAE,EAZF,EAYEA,MACAD,EAbF,EAaEA,MACAY,EAdF,EAcEA,aACAC,EAfF,EAeEA,aACAC,EAhBF,EAgBEA,aACAC,EAjBF,EAiBEA,iBACAtG,EAlBF,EAkBEA,mBACAG,EAnBF,EAmBEA,yBACAI,EApBF,EAoBEA,oBACAI,EArBF,EAqBEA,cACAG,EAtBF,EAsBEA,oBACAT,EAvBF,EAuBEA,sBACAR,EAxBF,EAwBEA,gBACAqC,EAzBF,EAyBEA,UACAzB,EA1BF,EA0BEA,YACAC,EA3BF,EA2BEA,kBACA+D,EA5BF,EA4BEA,iBACAf,EA7BF,EA6BEA,eACAC,EA9BF,EA8BEA,gBACAE,EA/BF,EA+BEA,eACAyD,EAhCF,EAgCEA,YACAG,EAjCF,EAiCEA,MACAE,EAlCF,EAkCEA,MACAM,EAnCF,EAmCEA,QACAK,EApCF,EAoCEA,KACAgB,EArCF,EAqCEA,mBACAtT,EAtCF,EAsCEA,MACAuW,EAvCF,EAuCEA,WACAG,EAxCF,EAwCEA,WACA+D,GAzCF,EAyCEA,aACA0D,GA1CF,EA0CEA,iBACA1C,GA3CF,EA2CEA,WACAF,GA5CF,EA4CEA,mBACAsH,GA7CF,EA6CEA,QACAE,GA9CF,EA8CEA,QACAE,GA/CF,EA+CEA,QACAC,GAhDF,EAgDEA,SACAE,GAjDF,EAiDEA,aACAE,GAlDF,EAkDEA,YACAE,GAnDF,EAmDEA,WACAE,GApDF,EAoDEA,SACAM,GArDF,EAqDEA,QACAC,GAtDF,EAsDEA,aACAnB,GAvDF,EAuDEA,GACAF,GAxDF,EAwDEA,oBACAS,GAzDF,EAyDEA,mBACAc,GA1DF,EA0DEA,cACA5K,GA3DF,EA2DEA,SACAK,GA5DF,EA4DEA,SACAmC,GA7DF,EA6DEA,YACA4H,GA9DF,EA8DEA,WACAE,GA/DF,EA+DEA,UACA7Y,GAhEF,EAgEEA,aACAE,GAjEF,EAiEEA,gBACA6G,GAlEF,EAkEEA,iBAEEgY,GAAc,GACZjO,GAAkB,GASxB,GARIoI,EAAkBpI,iBAAmBoI,EAAkBpI,gBAAgBpe,OAAS,GAClFwmB,EAAkBpI,gBAAgB3V,SAAQ,SAAAtI,GACxCie,GAAgBzV,KAAK,CACnBvI,GAAID,QAKNilB,GAAGjZ,iBAAoB9E,SAAS+d,GAAGjZ,mBAAqBsa,IAAwC,KAAvBrB,GAAGjZ,gBA+P9E,OAAQ/J,GACN,KAAK,EACHiqB,GAAc,kBAAC,EAAD,CACZpb,YAAaA,GAAe,EAC5Bc,YAAaA,GAAe,GAC5Be,eAAgBA,GAAkB,EAClC1B,YAAaA,GAAe,EAC5Be,OAAQA,GAAU,GAClBY,WAAYA,GAAc,GAC1BN,aAAcA,GAAgB,GAC9BC,aAAcA,GAAgB,GAC9BC,aAAcA,GAAgB,GAC9BC,iBAAkBA,GAAoB,GACtCtL,wBAAyBA,EACzBsK,MAAOA,EACPE,MAAOA,EACPD,MAAOA,EACP/B,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnCvY,aAActR,KAAKsR,aACnB9R,MAAOwoB,KAET,MACF,KAAK,EACH,IAAMmH,GAAsBjlB,SAAS+d,GAAGjZ,kBAAoB9E,SAAS8E,GAYnEkgB,IAXsF,IAApF,CAAC5F,GAAe,GAAI,UAAMnY,EAAW,GAAGjO,QAAQgH,SAASilB,MAAiCnb,MAAMmb,IAWpF,kBAAC,GAAD,CACZhlB,wBAAyBA,EACzBwI,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnC/V,YAAaA,EACbwP,iBAAkBA,IAAoB,GACtCiE,QAASrd,SAAS8E,GAClBsC,aAActR,KAAKsR,aACnB9R,MAAOqpB,KAjBK,kBAAC,GAAD,CACZ1e,wBAAyBA,EACzBwI,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnC/V,YAAaA,EACbwP,iBAAkBA,IAAoB,GACtCiE,QAASrd,SAAS8E,GAClBsC,aAActR,KAAKsR,aACnB9R,MAAOqpB,KAaX,MACF,KAAK,EACHqG,GAAc,kBAAC,EAAD,CACZlgB,gBAAiBA,GAAmB,GACpCQ,sBAAuBA,GAAyB,GAChDrF,wBAAyBA,EACzBkH,UAAWA,GAAa,GACxBzB,YAAaA,GAAe,GAC5BC,kBAAmBA,GAAqB,GACxCP,yBAA0BA,GAA4B,GACtDI,oBAAqBA,GAAuB,GAC5CI,cAAeA,GAAiB,GAChCG,oBAAqBA,GAAuB,GAC5C0C,OAAM,uCAAE,WAAO4U,GAAP,SAAA1hB,EAAA,sDACFqE,SAASqd,KAAard,SAAS8E,IACjC,EAAKjL,SAAS,CACZiL,gBAAiBuY,EAASjE,iBAAkB,KA4BhD,EAAKuG,gBAAgB,GA/Bf,2CAAF,sDAiCNvY,aAActR,KAAKsR,aACnB9R,MAAO0oB,KAET,MAGF,KAAK,EACH,IAAMkH,GAAkBllB,SAAS6d,GAAoBjT,sBAAwBb,EAE3Eib,GADsB,IAApBE,IAA6C,KAApBA,IAA8C,MAApBA,GACvC,kBAAC,EAAD,CACZjlB,wBAAyBA,EACzB2J,YAAaA,EACbG,YAAamb,GACbxb,iBAAkBA,GAAoB,GACtCf,eAAgBA,GAAkB,GAClCC,gBAAiBA,GAAmB,GACpCE,eAAgBA,GAAkB,GAClCL,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnCvY,aAActR,KAAKsR,aACnB9R,MAAO4oB,KAGK,6FAGhB,MACF,KAAK,EACH8G,GAAc,kBAAC,EAAD,CACZzY,YAAaA,EACbG,MAAOA,EACPE,MAAOA,EACPM,QAASA,EACTK,KAAMA,EACNtN,wBAAyBA,EACzB2J,YAAaA,EACbnB,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnCvY,aAActR,KAAKsR,aACnBkG,gBAAiBxX,KAAKwX,gBACtBhY,MAAO6oB,KAET,MACF,KAAK,EACH6G,GAAc,kBAAC,EAAD,CACZzW,mBAAoBA,GAAsB,GAC1CtO,wBAAyBA,EACzB2J,YAAaA,EACbnB,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnCvY,aAActR,KAAKsR,aACnB9R,MAAO+oB,GACPpjB,MAAOA,EACPqS,gBAAiBxX,KAAKwX,kBAExB,MACF,KAAK,EACH0X,GAAc,kBAAC,EAAD,CACZxT,WAAYA,GAAc,GAC1BG,WAAYA,GAAc,GAC1B6C,SAAUA,GACVK,SAAUA,GACV5U,wBAAyBA,EACzBwI,OAAQ,SAACkJ,EAAYH,GACnB,EAAK3X,SAAS,CACZ8X,WAAYA,EACZH,WAAYA,IAEd,EAAKmO,gBAAgB,IAEvBrqB,MAAOipB,GACPnX,aAActR,KAAKsR,aACnBkG,gBAAiBxX,KAAKwX,kBAGxB,MACF,KAAK,EACH,IAAM6X,GAAc,CAClB1T,kBAAmB6M,GAAmB/M,YACtCM,mBAAoByM,GAAmB1M,YACvCI,iBAAkBsM,GAAmBvM,YACrCuC,eAAgBgK,GAAmBjN,aACnC6E,aAAc1B,GACdrC,WAAYmM,GAAmBpM,iBAC/BI,QAASgM,GAAmBjM,cAC5BI,eAAgB6L,GAAmB9L,qBACnCI,aAAc0L,GAAmB3L,YACjCI,cAAeuL,GAAmBxL,YAClCxG,QAASgS,GAAmBrL,eAExBmS,GAAc,CAClB3T,kBAAmB6M,GAAmB5M,YACtCG,mBAAoByM,GAAmBxM,YACvCE,iBAAkBsM,GAAmBrM,YACrCqC,eAAgBgK,GAAmBhN,aACnC4E,aAAcrB,GACd1C,WAAYmM,GAAmBlM,iBAC/BE,QAASgM,GAAmB/L,cAC5BE,eAAgB6L,GAAmB5L,qBACnCE,aAAc0L,GAAmBzL,YACjCE,cAAeuL,GAAmBtL,YAClC1G,QAASgS,GAAmBpL,eAE9B8R,GAAc,kBAAC,EAAD,CACZ/kB,wBAAyBA,EACzB0R,WAAYyT,IAAezT,GAAc,GACzCH,WAAY2T,IAAe3T,GAAc,GACzCkE,aAAcA,IAAgB,GAC9Bb,SAAUA,GACVL,SAAUA,GACV/L,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnCrqB,MAAOmpB,GACPrX,aAActR,KAAKsR,eAErB,MAEF,KAAK,EACH4d,GAAc,kBAAC,GAAD,CAAY5d,aAActR,KAAKsR,aAAcqV,UAAWmC,GAAYtpB,MAAOwpB,GAAWrW,OAAQ,kBAAM,EAAKkX,gBAAgB,MACvI,MACF,KAAK,EACHqF,GAAc,kBAAC,EAAD,CACZ/kB,wBAAyBA,EACzByW,WAAYsI,EAAkBvI,YAAcC,KAAc,EAC1DF,mBAAoBwI,EAAkBzI,SAAWC,IAAsB,GACvEpP,aAActR,KAAKsR,aACnB9R,MAAO2pB,GACPxW,OAAQ,kBAAM,EAAKkX,gBAAgB,OACrC,MACF,KAAK,GACHqF,GAAc,kBAAC,GAAD,CACZ/kB,wBAAyBA,EACzBgX,QAASF,IAAmB,GAC5B3P,aAActR,KAAKsR,aACnB9R,MAAO4pB,GACPlI,YAAaA,IAAe,KAC5BvO,OAAQ,kBAAM,EAAKkX,gBAAgB,OACrC,MACF,KAAK,GACHqF,GAAc,kBAAC,GAAD,CACZ/kB,wBAAyBA,EACzBwX,iBAAkBA,EAClBrQ,aAActR,KAAKsR,aACnBjB,gBAAiBA,IAAkB,KAErC,MACF,QACE6e,GAAc,oDAxelB,OAAQjqB,GACN,KAAK,EACHiqB,GAAc,kBAAC,EAAD,CACZpb,YAAaA,GAAe,EAC5Bc,YAAaA,GAAe,GAC5Be,eAAgBA,GAAkB,EAClC1B,YAAaA,GAAe,EAC5Be,OAAQA,GAAU,GAClBY,WAAYA,GAAc,GAC1BN,aAAcA,GAAgB,GAC9BC,aAAcA,GAAgB,GAC9BC,aAAcA,GAAgB,GAC9BC,iBAAkBA,GAAoB,GACtCtL,wBAAyBA,EACzB3K,MAAOwoB,GACPrV,OAAQ,kBACN,EAAKkX,gBAAgB,IAEvBpV,MAAOA,EACPE,MAAOA,EACPD,MAAOA,EACPpD,aAActR,KAAKsR,eAErB,MACF,KAAK,EACH,IAAM6d,GAAsBjlB,SAAS+d,GAAGjZ,kBAAoB9E,SAAS8E,GAYnEkgB,IAXsF,IAApF,CAAC5F,GAAe,GAAI,UAAMnY,EAAW,GAAGjO,QAAQgH,SAASilB,MAAiCnb,MAAMmb,IAWpF,kBAAC,GAAD,CACZhlB,wBAAyBA,EACzB2J,YAAaA,EACbwP,iBAAkBA,IAAoB,GACtCiE,QAASrd,SAAS8E,GAClBsC,aAActR,KAAKsR,aACnB9R,MAAOqpB,GACPrE,iBAAkBxkB,KAAKwkB,iBAEvB7R,OAAQ,WACN,IAAM4c,EAAY,GAClBA,EAAU/jB,KAAK,CACbgkB,aAAiD,OAAlClM,GAAiBkM,aAAwB,EAAIlM,GAAiBkM,aAC7EpN,QAASkB,GAAiBlB,QAC1BqN,cAAenM,GAAiBmM,cAChChN,gBAAiBa,GAAiBI,gBAClCgM,UAAWpM,GAAiBoM,UAC5BC,OAAQrM,GAAiBqM,OACzBC,wBAAyBtM,GAAiBK,uBAC1CkM,0BAA2BvM,GAAiBM,yBAC5C1B,eAAgBoB,GAAiBe,eACjCxd,wBAAyBsD,EACzB2lB,iBAAiBxM,GAAiBwM,iBAClCC,eAAezM,GAAiByM,iBAGlCjqB,MAAM,GAAD,OAAIC,8BAAJ,uDAAwF,CAC3FC,OAAQ,OACRC,KAAMC,KAAKC,UAAUopB,GACrBjpB,QAAS,CACP,eAAgB,sBAIjBC,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACmB,MAAnBA,EAAIE,YACN,EAAK3C,SAAS,CAAEvE,MAAOgH,EAAIW,SAG9BC,OAAM,kBAAM,EAAKrD,SAAS,CAAEvE,MAAO,kDACtC,EAAKqqB,gBAAgB,MAnDX,kBAAC,GAAD,CACZ1f,wBAAyBA,EACzBwI,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnC/V,YAAaA,EACbwP,iBAAkBA,IAAoB,GACtCiE,QAASrd,SAAS8E,GAClBsC,aAActR,KAAKsR,aACnB9R,MAAOqpB,KAoDX,MACF,KAAK,EACHqG,GAAc,kBAAC,EAAD,CACZ/f,mBAAoBA,GAAsB,GAC1CG,yBAA0BA,GAA4B,GACtDI,oBAAqBA,GAAuB,GAC5CI,cAAeA,GAAiB,GAChCG,oBAAqBA,GAAuB,GAC5CT,sBAAuBA,GAAyB,GAChDR,gBAAiBA,GAAmB,GACpC7E,wBAAyBA,EACzBkH,UAAWA,GAAa,GACxBzB,YAAaA,GAAe,GAC5BC,kBAAmBA,GAAqB,GACxC8C,OAAM,uCAAE,WAAO4U,GAAP,SAAA1hB,EAAA,sDAEN,EAAKgkB,gBAAgB,GAFf,2CAAF,sDAINvY,aAActR,KAAKsR,aACnB9R,MAAO0oB,GACP/X,aAAcA,GACdE,gBAAiBA,IAAkB,GACnCkB,YAAavR,KAAKuR,cAEpB,MACF,KAAK,EACH,IAAM6d,GAAkBllB,SAAS6d,GAAoBjT,sBAAwBb,EAE3Eib,GADsB,IAApBE,IAA6C,KAApBA,IAA8C,MAApBA,GACvC,kBAAC,EAAD,CACZjlB,wBAAyBA,EACzB2J,YAAaA,EACbG,YAAamb,GACbxb,iBAAkBA,GAAoB,GACtCf,eAAgBA,GAAkB,GAClCC,gBAAiBA,GAAmB,GACpCE,eAAgBA,GAAkB,GAClCL,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnCvY,aAActR,KAAKsR,aACnB9R,MAAO4oB,KAGK,6FAGhB,MACF,KAAK,EACH8G,GAAc,kBAAC,EAAD,CACZzY,YAAaA,EACbG,MAAOA,EACPE,MAAOA,EACPM,QAASA,EACTK,KAAMA,EACNP,iBAAkBA,KAAoB,EACtC/M,wBAAyBA,EACzB2J,YAAaA,EACbnB,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnCvY,aAActR,KAAKsR,aACnBkG,gBAAiBxX,KAAKwX,gBACtBhY,MAAO6oB,KAET,MACF,KAAK,EACH6G,GAAc,kBAAC,EAAD,CACZzW,mBAAoBA,GAAsB,GAC1CtO,wBAAyBA,EACzB2J,YAAaA,EACbnB,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnCvY,aAActR,KAAKsR,aACnB9R,MAAO+oB,GACPpjB,MAAOA,EACPqS,gBAAiBxX,KAAKwX,kBAExB,MACF,KAAK,EACH0X,GAAc,kBAAC,EAAD,CACZxT,WAAYA,GAAc,GAC1BG,WAAYA,GAAc,GAC1B6C,SAAUA,GACVK,SAAUA,GACV5U,wBAAyBA,EACzBwI,OAAQ,SAACkJ,EAAYH,GACnB,EAAK3X,SAAS,CACZ8X,WAAYA,EACZH,WAAYA,IAEd,EAAKmO,gBAAgB,IAEvBrqB,MAAOipB,GACPnX,aAActR,KAAKsR,aACnBkG,gBAAiBxX,KAAKwX,kBAGxB,MACF,KAAK,EACH,IAAM6X,GAAc,CAClB1T,kBAAmB6M,GAAmB/M,YACtCM,mBAAoByM,GAAmB1M,YACvCI,iBAAkBsM,GAAmBvM,YACrCuC,eAAgBgK,GAAmBjN,aACnC6E,aAAc1B,GACdrC,WAAYmM,GAAmBpM,iBAC/BI,QAASgM,GAAmBjM,cAC5BI,eAAgB6L,GAAmB9L,qBACnCI,aAAc0L,GAAmB3L,YACjCI,cAAeuL,GAAmBxL,YAClCxG,QAASgS,GAAmBrL,eAExBmS,GAAc,CAClB3T,kBAAmB6M,GAAmB5M,YACtCG,mBAAoByM,GAAmBxM,YACvCE,iBAAkBsM,GAAmBrM,YACrCqC,eAAgBgK,GAAmBhN,aACnC4E,aAAcrB,GACd1C,WAAYmM,GAAmBlM,iBAC/BE,QAASgM,GAAmB/L,cAC5BE,eAAgB6L,GAAmB5L,qBACnCE,aAAc0L,GAAmBzL,YACjCE,cAAeuL,GAAmBtL,YAClC1G,QAASgS,GAAmBpL,eAE9B8R,GAAc,kBAAC,EAAD,CACZ/kB,wBAAyBA,EACzB0R,WAAYyT,IAAezT,GAAc,GACzCH,WAAY2T,IAAe3T,GAAc,GACzCkE,aAAcA,IAAgB,GAC9Bb,SAAUA,GACVL,SAAUA,GACV/L,OAAQ,kBAAM,EAAKkX,gBAAgB,IACnCrqB,MAAOmpB,GACPrX,aAActR,KAAKsR,eAErB,MAEF,KAAK,EACH4d,GAAc,kBAAC,GAAD,CAAY5d,aAActR,KAAKsR,aAAcqV,UAAWmC,GAAYtpB,MAAOwpB,GAAWrW,OAAQ,kBAAM,EAAKkX,gBAAgB,MACvI,MAEF,KAAK,EACHqF,GAAc,kBAAC,EAAD,CACZ/kB,wBAAyBA,EACzByW,WAAYsI,EAAkBvI,YAAcC,KAAc,EAC1DF,mBAAoBwI,EAAkBzI,SAAWC,IAAsB,GACvEpP,aAActR,KAAKsR,aACnB9R,MAAO2pB,GACPxW,OAAQ,kBAAM,EAAKkX,gBAAgB,OACrC,MACF,KAAK,GACHqF,GAAc,kBAAC,GAAD,CACZ/kB,wBAAyBA,EACzBgX,QAASF,IAAmB,GAC5BC,YAAaA,IAAe,KAC5B5P,aAActR,KAAKsR,aACnB9R,MAAO4pB,GACPzW,OAAQ,kBAAM,EAAKkX,gBAAgB,OACrC,MACF,KAAK,GACHqF,GAAc,kBAAC,GAAD,CACZ/kB,wBAAyBA,EACzBwX,iBAAkBA,EAClBrQ,aAActR,KAAKsR,aACnBjB,gBAAiBA,IAAkB,KAErC,MACF,QACE6e,GAAc,+CAkPpB,OAAO,yBAAKpvB,UAAU,wBAAwBovB,M,8BAElD,SAAiBxsB,GAEf1C,KAAK+D,SAAS,CAACoM,aAAazN,M,yBAG9B,SAAYA,GAEA,GAAPA,EACH1C,KAAK+D,SAAS,CAACuM,QAAQ5N,EAAM2N,gBAAgB,SAC9B,GAAP3N,EACR1C,KAAK+D,SAAS,CAACuM,QAAQ5N,EAAM2N,gBAAgB,SAC9B,eAAP3N,GACR1C,KAAK+D,SAAS,CAACsM,gBAAgB,GAAGnB,cAAc,EAAEY,cAAc,M,0BAGhE,SAAakgB,EAAeptB,GAC1B,OAAQotB,GACN,IAAK,KACHhwB,KAAK+D,SAAS,CAAEgkB,oBAAqBnlB,IACrC,IAAQolB,EAAYhoB,KAAKoB,MAAjB4mB,QAER,GADoB+G,OAAOC,KAAKhH,GAChBnlB,OAEd,GAAoB,IADA7C,KAAKiqB,yBAAyBrnB,GAC3B,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAG3B,MAEF,IAAK,KAEHhF,KAAK+D,SAAS,CAAE6kB,kBAAmBhmB,IACnC,IAAQimB,EAAa7oB,KAAKoB,MAAlBynB,SAER,GADqBkG,OAAOC,KAAKnG,GAChBhmB,OAGf,GAAoB,IAFA7C,KAAKkqB,sBAAsBtnB,GAExB,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAG3B,MACF,IAAK,KACH,IAAMirB,EAAiBjwB,KAAKoB,MAAMumB,eAAe,GAAGD,KAChD9kB,EAAKoM,gBAAkB,KAAOhP,KAAKoB,MAAM6mB,GAAGjZ,gBAAkB,IAChEhP,KAAK+D,SAAS,CAAEuf,iBAAkB,GAAIsF,kBAAmB,GAAIC,SAAU,GAAI7Z,gBAAiBpM,EAAKoM,kBAEnGhP,KAAK+D,SAAS,CAAEkkB,GAAIrlB,IACpB,IAAQslB,EAAYloB,KAAKoB,MAAjB8mB,QAER,GADoB6G,OAAOC,KAAK9G,GAChBrlB,OAEd,GAAoB,IADA7C,KAAKmqB,sBAAsBvnB,GACxB,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAGtBkF,SAAStH,EAAKoM,iBAAqBhP,KAAKoB,MAAMkoB,cACjDtpB,KAAK+D,SAAS,CACZ4jB,eAAgB,CACd,CACE7lB,KAAM,iCACN4lB,MAAM,GAER,CACE5lB,KAAM,YACN4lB,MAAM,GAER,CACE5lB,KAAM,mBACN4lB,KAAMuI,GAGR,CACEnuB,KAAM,0BACN4lB,MAAM,GAER,CACE5lB,KAAM,UACN4lB,MAAM,GAER,CACE5lB,KAAM,uCACN4lB,MAAM,GAER,CACE5lB,KAAM,sBACN4lB,MAAM,GAER,CACE5lB,KAAM,6BACN4lB,MAAM,GAGR,CACE5lB,KAAM,iCACN4lB,MAAM,GAER,CACE5lB,KAAM,qBACN4lB,MAAM,GAER,CACE5lB,KAAM,UACN4lB,MAAM,GAER,CACE5lB,KAAM,WACN4lB,MAAM,MA2Dd,MACF,IAAK,KACH1nB,KAAK+D,SAAS,CAAEokB,sBAAuBvlB,IACvC,IAAQwlB,EAAYpoB,KAAKoB,MAAjBgnB,QAER,GADoB2G,OAAOC,KAAK5G,GAChBvlB,OAEd,GAAoB,IADA7C,KAAKoqB,2BAA2BxnB,GAC7B,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAG3B,MACF,IAAK,MACHhF,KAAK+D,SAAS,CAAEub,QAAS1c,IACzB,IAAQylB,EAAaroB,KAAKoB,MAAlBinB,SAER,GADqB0G,OAAOC,KAAK3G,GAChBxlB,OAEf,GAAoB,IADA7C,KAAKqqB,aAAaznB,GACf,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAG3B,MACF,IAAK,UACHhF,KAAK+D,SAAS,CAAEukB,oBAAqB1lB,IACrC,IAAQ2lB,EAAiBvoB,KAAKoB,MAAtBmnB,aACJ2H,EAAS,EAEb,GADsBnB,OAAOC,KAAKzG,GAChB1lB,OAAQ,CACxB,IAAMqsB,EAAclvB,KAAKsqB,aAAa1nB,GACtC,IAAK,IAAMI,KAAWulB,EAAc,CAClC,GAAIwG,OAAOoB,UAAUC,eAAeC,KAAK9H,EAAcvlB,GAC5B+rB,OAAOC,KAAKhsB,GAChBH,QACC,IAAhBqsB,IACFgB,EAAS,GAKjB,GAAe,IAAXA,EAAc,CAChB,IAAMlrB,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,KAG3B,MACF,IAAK,MACHhF,KAAK+D,SAAS,CAAEykB,mBAAoB5lB,IACpC,IAAQ6lB,EAAgBzoB,KAAKoB,MAArBqnB,YAER,GADwBsG,OAAOC,KAAKvG,GAChB5lB,OAElB,GAAoB,IADA7C,KAAKuqB,wBAAwB3nB,GAC1B,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAG3B,MACF,IAAK,WACHhF,KAAK+D,SAAS,CAAE2kB,oBAAqB9lB,IACrC,IAAQ+lB,EAAe3oB,KAAKoB,MAApBunB,WAER,GADuBoG,OAAOC,KAAKrG,GAChB9lB,OAEjB,GAAoB,IADA7C,KAAKwqB,yBAAyB5nB,GAC3B,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAG3B,MAEF,IAAK,KAIH,GAHAhF,KAAK+D,SAAS,CAAE+kB,WAAYlmB,IACN5C,KAAKoB,MAAnB4nB,UAEMnmB,OAEZ,GAAoB,IADA7C,KAAKyqB,gBAAgB7nB,GAClB,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAG3B,MACF,IAAK,KACHhF,KAAK+D,SAAS,CAAEmlB,kBAAmBtmB,IACnC,IAAQumB,EAAYnpB,KAAKoB,MAAjB+nB,QAER,GADoB4F,OAAOC,KAAK7F,GAChBtmB,OAEd,GAAoB,IADA7C,KAAK0qB,uBAAuB9nB,GACzB,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,GAAK,EACXhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAG3B,MACF,IAAK,UACHhF,KAAK+D,SAAS,CAAEslB,kBAAmBzmB,IACnC,IAAQwmB,EAAiBppB,KAAKoB,MAAtBgoB,aAER,GADyB2F,OAAOC,KAAK5F,GAChBvmB,OAEnB,GAAoB,IADA7C,KAAK2qB,aAAa/nB,GACf,CACrB,IAAMoC,EAAQoI,MAAMC,KAAKrN,KAAKoB,MAAM4D,OACpCA,EAAM,IAAM,EACZhF,KAAK+D,SAAS,CAAEiB,MAAOA,IAG3B,MACF,IAAK,WACHhF,KAAK+D,SAAS,CAAE4d,iBAAkB/e,O,6BAOxC,SAAgByH,GACd,IAAQsd,EAAmB3nB,KAAKoB,MAAxBumB,eACF2I,EAAe,GACrB3I,EAAerc,SAAQ,SAACilB,EAAStrB,GAE7BsrB,EAAQ7I,KADNziB,IAAMoF,IACQkmB,EAAQ7I,KAI1B4I,EAAa9kB,KAAK+kB,MAEpBvwB,KAAK+D,SAAS,CAAE4jB,eAAgB2I,M,uBAGlC,WACE,IAAQ3I,EAAmB3nB,KAAKoB,MAAxBumB,eACF2I,EAAe,GACrB3I,EAAerc,SAAQ,SAACilB,EAAStrB,GAC/BsrB,EAAQ7I,MAAO,EACf4I,EAAa9kB,KAAK+kB,MAEpBvwB,KAAK+D,SAAS,CAAE4jB,eAAgB2I,M,6BAIlC,SAAgBN,EAAeptB,GAC7B,OAAQotB,GACN,IAAK,MACHhwB,KAAK+D,SAAS,CAAEub,QAAQ,2BAAMtf,KAAKoB,MAAMke,SAAlB,IAA2B7I,YAAa7T,MAC/D,MACF,IAAK,UACH,GAAI5C,KAAKoB,MAAMknB,qBAAuBtoB,KAAKoB,MAAMknB,oBAAoB3Q,kBAAoB3X,KAAKoB,MAAMknB,oBAAoB3Q,iBAAiB9U,OAAS,EAAG,CACnJ,IAAM8U,EAAmB3X,KAAKoB,MAAMknB,oBAAoB3Q,iBAClD9U,EAAS8U,EAAiB9U,OAChC8U,EAAiBrM,SAAQ,SAACtI,EAASiC,GAC7BA,IAAMpC,EAAS,IACjBG,EAAQ4U,UAAYhV,MAGxB5C,KAAK+D,SAAS,CAAEukB,oBAAoB,2BAAMtoB,KAAKoB,MAAMqX,oBAAlB,IAAsCd,iBAAkBA,MAE7F,MACF,IAAK,SACC3X,KAAKoB,MAAMonB,oBAAsBxoB,KAAKoB,MAAMonB,mBAAmBjN,cAAgBvb,KAAKoB,MAAMonB,mBAAmBhN,cAC/Gxb,KAAK+D,SAAS,CACZykB,mBAAmB,2BACdxoB,KAAKoB,MAAMonB,oBADE,IAEhBjN,aAAc3Y,EAAK6b,cACnBjD,aAAc5Y,EAAK2b,qB,+DAU/B,2EAAA1Y,EAAA,+DAiBM7F,KAAKoB,MAdP2mB,EAHJ,EAGIA,oBACAE,EAJJ,EAIIA,GACAE,EALJ,EAKIA,sBACA7I,EANJ,EAMIA,QACAgJ,EAPJ,EAOIA,oBACAE,EARJ,EAQIA,mBACAE,EATJ,EASIA,oBACAE,EAVJ,EAUIA,kBACAM,EAXJ,EAWIA,kBACAG,EAZJ,EAYIA,kBACAC,EAbJ,EAaIA,cACA5K,EAdJ,EAcIA,SACAK,EAfJ,EAeIA,SACA+J,EAhBJ,EAgBIA,WAEI0H,EAAK,GACPlI,EAAoB3Q,kBAAoB2Q,EAAoB3Q,iBAAiB9U,OAAS,GACxFylB,EAAoB3Q,iBAAiBrM,SAAQ,SAAAtI,GAC3CwtB,EAAGhlB,KACD,CACEqN,UAAW7V,EAAQ4U,UACnBgB,UAAW5V,EAAQ6U,aACnBzR,MAAOkiB,EAAoBnjB,MAC3BkD,YAAarF,EAAQ8U,YACrBgB,UAAW9V,EAAQ+U,eAKrB0Y,EAAK,GACLxJ,EAAa,CAAC,GAAI,EAAG,UAAM9V,GAC7ByX,KACqF,IAAnF,CAACU,EAAe,GAAI,UAAMnY,EAAW,GAAGjO,QAAQgH,SAAS+d,EAAGjZ,mBAC1D4Z,EAAkB3D,gBAAkB2D,EAAkB3D,eAAepiB,QAAU,GACjF+lB,EAAkB3D,eAAe3Z,SAAQ,SAAAtI,GACvCytB,EAAGjlB,KAAK,CACNuY,aAAc/gB,EAAQkiB,sBACtBpB,QAAS9gB,EAAQ6gB,iBACjBJ,cAAezgB,EAAQoiB,eACvB1B,gBAAiB1gB,EAAQyf,gBACzB7J,UAAW5V,EAAQ6R,gBACnBmP,OAAQhhB,EAAQiU,aAChBuO,IAAKxiB,EAAQqiB,IACbhB,eAAgBrhB,EAAQkf,sBAKuC,IAAjE+E,EAAW/jB,QAAQ0lB,EAAkB1D,yBAA2F,IAA1D+B,EAAW/jB,QAAQ0lB,EAAkBxD,kBAAqF,IAA3D6B,EAAW/jB,QAAQ0lB,EAAkB/T,mBAAuF,IAA5DoS,EAAW/jB,QAAQ0lB,EAAkB/E,mBAA4B+E,EAAkBvD,MAC1RoL,EAAGjlB,KAAK,CACNuY,aAAc6E,EAAkB1D,uBAAyB,GACzDpB,QAAS8E,EAAkB/E,kBAAoB,GAC/CJ,cAAemF,EAAkBxD,gBAAkB,GACnD1B,gBAAiBkF,EAAkBnG,gBACnC7J,UAAWgQ,EAAkB/T,iBAAmB,GAChDmP,OAAQ4E,EAAkB3R,cAAgB,GAC1CuO,IAAKoD,EAAkBvD,KAAO,GAC9BhB,eAAgBuE,EAAkB1G,gBAAkB,MAG/ChY,SAAS+d,EAAGjZ,mBAAqBsa,IACtCV,EAAkBpF,iBAAmBoF,EAAkBpF,gBAAgB3gB,QAAU,GACnF+lB,EAAkBpF,gBAAgBlY,SAAQ,SAAAtI,GACxCytB,EAAGjlB,KAAK,CACNuY,aAAc/gB,EAAQgf,sBACtB8B,QAAS9gB,EAAQof,QACjBqB,cAAezgB,EAAQsf,eACvBoB,gBAAiB1gB,EAAQyf,gBACzB7J,UAAW5V,EAAQ6R,gBACnBmP,OAAQhhB,EAAQiU,aAChB2Y,wBAAyB5sB,EAAQuf,mBACjCsN,0BAA2B7sB,EAAQ0f,uBACnC8L,iBAAkBxrB,EAAQurB,8BAC1BG,eAAgB1rB,EAAQyrB,sBACxBpK,eAAgBrhB,EAAQkf,eACxBqB,kBAAkBvgB,EAAQ4f,0BAC1BsB,eAAelhB,EAAQ6f,6BAIwC,IAAjEoE,EAAW/jB,QAAQ0lB,EAAkB5G,yBAA2F,IAA1DiF,EAAW/jB,QAAQ0lB,EAAkBtG,kBAAqF,IAA3D2E,EAAW/jB,QAAQ0lB,EAAkB/T,mBAAyF,IAA9DoS,EAAW/jB,QAAQ0lB,EAAkBrG,sBAAiF,IAAnD0E,EAAW/jB,QAAQ0lB,EAAkBxG,UAC/SqO,EAAGjlB,KAAK,CACNuY,aAAc6E,EAAkB5G,sBAChC8B,QAAS8E,EAAkBxG,QAC3BqB,cAAemF,EAAkBtG,eACjCoB,gBAAiBkF,EAAkBnG,gBACnC7J,UAAWgQ,EAAkB/T,gBAC7BmP,OAAQ4E,EAAkB3R,aAC1B2Y,wBAAyBhH,EAAkBrG,mBAC3CsN,0BAA2BjH,EAAkBlG,uBAC7C8L,iBAAkB5F,EAAkB2F,8BACpCG,eAAgB9F,EAAkB6F,sBAClCpK,eAAgBuE,EAAkB1G,eAClCqB,kBAAkBqF,EAAkBhG,0BACpCsB,eAAe0E,EAAkB/F,2BAKnC1B,EAAU,GACZkI,GACEA,EAAkBpI,iBAAmBoI,EAAkBpI,gBAAgBpe,OAAS,GAClFwmB,EAAkBpI,gBAAgB3V,SAAQ,SAAAtI,GACxCme,EAAQ3V,KAAK,CACXklB,SAAU1tB,OAKZ6iB,EAAQ,GACViD,EAAWjD,OAASiD,EAAWjD,MAAMhjB,OAAS,GAChDimB,EAAWjD,MAAMva,SAAQ,SAAAtI,KACqB,IAAtCikB,EAAW/jB,QAAQF,EAAQrB,QAA0D,IAA1CslB,EAAW/jB,QAAQF,EAAQ6jB,YAA+D,IAA3CI,EAAW/jB,QAAQF,EAAQ4jB,YAAsB5jB,EAAQ8jB,QACvJjB,EAAMra,KAAK,CACT2iB,KAAMnrB,EAAQrB,KACdysB,SAAUprB,EAAQ6jB,SAClBwH,MAAOrrB,EAAQ8jB,MACfwH,UAAWtrB,EAAQ4jB,eAMrB2I,EAAY,CAChB1oB,wBAAyB7G,KAAKC,MAAMkK,yBAA2B5H,eAAeC,QAAQ,MAEtF2F,UAAW4f,EAAoBtT,OAAS,GACxCoW,WAAY9C,EAAoBrT,OAAS,GACzCtM,SAAU2f,EAAoBpT,OAAS,GACvCmW,YAAa/C,EAAoBnT,aAAe,GAChDmW,eAAgBhD,EAAoBlT,iBAAmB,GACvDmW,YAAajD,EAAoBjT,qBAAuB,GACxDmW,OAAQlD,EAAoBhT,gBAAkB,GAC9CoW,aAAcpD,EAAoBzS,cAAgB,GAClD8V,aAAcrD,EAAoBxS,cAAgB,GAClD8V,aAActD,EAAoBvS,cAAgB,GAClD8V,iBAAkBvD,EAAoBtS,kBAAoB,GAC1DyV,WAAY,CACV,CACEyF,WAAY,mBACZ9a,YAAakS,EAAoB5S,aAAe,IAElD,CACEwb,WAAY,oBACZ9a,YAAakS,EAAoB3S,aAAe,IAElD,CACEub,WAAY,kBACZ9a,YAAakS,EAAoB1S,aAAe,KAKpDwW,aAAc5D,EAAG9Y,oBAAsB,GACvC2c,mBAAoB7D,EAAG3Y,0BAA4B,GACnDyc,gBAAiB9D,EAAGzY,uBAAyB,GAC7Cwc,cAAe/D,EAAGvY,qBAAuB,GACzCuc,MAAOhE,EAAGnY,eAAiB,GAC3Boc,YAAajE,EAAGhY,qBAAuB,GACvC2b,iBAAkB3D,EAAG/Y,eAAiB,GACtCuc,YAAaxD,EAAGrY,aAAe,GAC/B8b,eAAgBzD,EAAGpY,mBAAqB,GACxC8b,UAAW1D,EAAGnZ,mBAAqB,GACnC0c,UAAWvD,EAAGjZ,iBAAmB,GACjCmd,gBAAgBlE,EAAG5X,iBAAmB,GAEtCuD,iBAAkBuU,EAAsBlV,gBAAkB,GAC1DJ,eAAgBsV,EAAsBtV,gBAAkB,GACxD+d,sBAAuBzI,EAAsBrV,iBAAmB,GAChE+d,uBAAwB1I,EAAsBpV,oBAAsB,GAEpEqZ,cAAe9M,EAAQ7I,aAAe,GACtC4V,MAAO/M,EAAQ3I,cAAgB,GAC/B2V,MAAOhN,EAAQzI,cAAgB,GAC/B0V,QAASjN,EAAQzK,iBAAmB,GACpC2X,KAAMlN,EAAQrI,cAAgB,GAC9BwV,iBAAkBnN,EAAQpI,iBAE1BqU,mBAAoBiF,EAAG3tB,OAAS,EAAI2tB,EAAK,KAEzCM,aAActI,EAAmBjN,cAAgB,GACjDwV,mBAAoBrS,GAAY,GAChCsS,gBAAiBxI,EAAmB/M,aAAe,GACnDwV,iBAAkBzI,EAAmB1M,aAAe,GACpDoV,iBAAkB1I,EAAmBvM,aAAe,GACpDkV,iBAAkB3I,EAAmBpM,kBAAoB,GACzDgV,cAAe5I,EAAmBjM,eAAiB,GACnD8U,qBAAsB7I,EAAmB9L,sBAAwB,GACjE4U,mBAAoB9I,EAAmB3L,aAAe,GACtD0U,YAAa/I,EAAmBxL,aAAe,GAC/CwU,cAAehJ,EAAmBrL,eAAiB,GACnDsU,0BAA2BjJ,EAAmBjL,4BAA6B,EAC3EmU,eAAgBlJ,EAAmBhL,iBAAkB,EACrDsQ,oBAAsBtF,EAAmB7K,mBAAkB,EAC3DoQ,eAAgBvF,EAAmB1K,gBAAgB,GACnD6T,aAAcnJ,EAAmBhN,cAAgB,GACjDoW,mBAAoB7S,GAAY,GAChC8S,gBAAiBrJ,EAAmB5M,aAAe,GACnDkW,iBAAkBtJ,EAAmBxM,aAAe,GACpD+V,iBAAkBvJ,EAAmBrM,aAAe,GACpD6V,iBAAkBxJ,EAAmBlM,kBAAoB,GACzD2V,cAAezJ,EAAmB/L,eAAiB,GACnDyV,qBAAsB1J,EAAmB5L,sBAAwB,GACjEuV,mBAAoB3J,EAAmBzL,aAAe,GACtDqV,YAAa5J,EAAmBtL,aAAe,GAC/CmV,cAAe7J,EAAmBpL,eAAiB,GACnDkV,0BAA2B9J,EAAmBnL,4BAA6B,EAC3EkV,eAAgB/J,EAAmB9K,iBAAkB,EACrDsQ,oBAAsBxF,EAAmB3K,mBAAkB,EAC3DoQ,eAAgBzF,EAAmBxK,gBAAgB,GAEnDwU,eAAgB9J,EAAoBhJ,gBAAkB,GACtD+S,qBAAsB/J,EAAoBjJ,sBAAwB,GAClEiT,kBAAmBhK,EAAoB/I,eAAiB,GACxDgT,mBAAoBjK,EAAoB7I,eAAiB,GACzD+S,mBAAoBlK,EAAoB5I,eAAiB,GACzD+S,mBAAoBnK,EAAoB3I,oBAAsB,GAC9D+S,qBAAsBpK,EAAoB1I,eAAiB,GAC3D+S,cAAerK,EAAoBzI,eAAiB,GACpDE,gBAAiBuI,EAAoBxI,iBAAmB,GAExD+M,iBAAkBwD,EAAG5tB,OAAS,EAAI4tB,EAAK,KAEvCvD,MAAOrH,EAAMhjB,OAAS,EAAIgjB,EAAQ,KAElCjF,WAAYsI,EAAkBvI,aAAc,EAC5CD,mBAAoBwI,EAAkBzI,SAAW,GAEjDuS,kBAAmB7R,EAAQte,OAAS,EAAIse,EAAU,KAClDmM,YAAajE,EAAoBA,EAAkBnI,YAAc,MAxOrE,kBA2OSpb,MAAM,GAAD,OAAIC,8BAAJ,6BAA8D,CACxEC,OAAQ,OACRC,KAAMC,KAAKC,UAAUopB,GACrBjpB,QAAS,CACP,eAAgB,sBAGjBC,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,OAAuB,MAAnBA,EAAIE,YACN,EAAK3C,SAAS,CAAEkE,gBAAgB,IAChC1F,eAAeE,QAAQ,cAAc,GAC9B,IAEP,EAAKsB,SAAS,CAAEkE,gBAAgB,IAChC,EAAKlE,SAAS,CAAE8jB,YAAa,sBAAuB1lB,MAAO,QACpD,MAGViF,OAAM,SAAAC,GACL,EAAKtD,SAAS,CAAEkE,gBAAgB,IAChCX,QAAQC,IAAIF,GACZ,EAAKtD,SAAS,CAAE8jB,YAAa,qBAAsB1lB,MAAO,YAjQhE,iD,iHAqQA,iCAAA0D,EAAA,6DACE7F,KAAK+D,SAAS,CAAEsjB,gBAAgB,IADlC,kBAESvhB,MAAM,GAAD,OAAIC,8BAAJ,qCAAsE,CAChFC,OAAQ,OACRC,KAAMC,KAAKC,UAAU,CAAEU,wBAAyB7G,KAAKC,MAAMkK,yBAA2B5H,eAAeC,QAAQ,QAC7G8D,QAAS,CACP,eAAgB,sBAGjBC,MAAK,SAAAC,GAAG,OAAIA,EAAIC,UAChBF,MAAK,SAAAC,GACJ,GAAuB,MAAnBA,EAAIE,WACN,EAAKzG,MAAMgzB,WACX,EAAKlvB,SAAS,CAAEsjB,gBAAgB,SAC3B,GAAuB,MAAnB7gB,EAAIE,WAAoB,CACjC,EAAK3C,SAAS,CAAEsjB,gBAAgB,IAChC,IAAM7nB,EAAQ,IACVgH,EAAIW,IAAIykB,kBAAoBplB,EAAIW,IAAIqkB,aACtC,EAAKznB,SAAS,CACZmkB,QAAS,CACPhZ,cAAe1I,EAAIW,IAAIykB,iBAAmB,0BAA4B,KACtE5c,gBAAiBxI,EAAIW,IAAIqkB,UAAY,0BAA4B,QAGrEhsB,EAAMgM,KAAK,qBAEThF,EAAIW,IAAI+rB,eACV,EAAKnvB,SAAS,CAAEqkB,QAAS,CAAEnV,eAAgB,4BAC3CzT,EAAMgM,KAAK,4BAIThF,EAAIW,IAAIilB,gBACV,EAAKroB,SAAS,CAAEskB,SAAU,CAAE5R,YAAa,2BACzCjX,EAAMgM,KAAK,YAGThF,EAAIW,IAAIinB,WACV,EAAKrqB,SAAS,CAAEilB,UAAW,CAAEoF,SAAU,uDACvC5uB,EAAMgM,KAAK,sCAGThF,EAAIW,IAAIgsB,gBACV,EAAKpvB,SAAS,CAAE+jB,cAAe,mCAAqCthB,EAAIW,IAAIgsB,eAAgBhxB,MAAO,QAErG,EAAK4B,SAAS,CAAE8jB,YAAY,GAAD,OAAKroB,EAAM4zB,KAAK,MAAhB,wDAA6EjxB,MAAO,QAE/G,EAAK6nB,qBAGR5iB,OAAM,SAAAC,GACL,EAAKtD,SAAS,CAAEsjB,gBAAgB,IAChC/f,QAAQC,IAAIF,OApDlB,gD,0EAwDA,WAAU,IAAD,OACP,EAAsJrH,KAAKoB,MAAnJ5B,EAAR,EAAQA,MAAOqoB,EAAf,EAAeA,YAAaC,EAA5B,EAA4BA,cAAete,EAA3C,EAA2CA,QAASrH,EAApD,EAAoDA,MAAOwf,EAA3D,EAA2DA,iBAAkB6F,EAA7E,EAA6EA,MAAOG,EAApF,EAAoFA,eAAgB3iB,EAApG,EAAoGA,MAAOiD,EAA3G,EAA2GA,eAAgBof,EAA3H,EAA2HA,eAAgB/W,EAA3I,EAA2IA,QAC3I,GAAI9G,EACF,OACE,yBAAKvK,GAAG,iBACN,yBAAKA,GAAG,gBAEN,yBAAKA,GAAG,YAAYC,MAAO,CAAEC,QAAS,OAAQE,eAAgB,SAAU2N,WAAY,WAClF,yBAAKzN,IAAK0M,IAAQ/M,MAAO,CACvBG,eAAgB,SAChB4E,WAAY,OACZiI,YAAa,QACZrM,IAAI,kBAOjB,GAAIL,EACF,OACE,yBAAKP,GAAG,iBACN,yBAAKA,GAAG,gBAEN,yBAAKA,GAAG,aACN,uBAAGC,MAAO,CAAEiD,MAAO,MAAOzC,SAAU,uBAAyBF,GAC7D,4BACEM,UAAU,OACVC,QAAS,kBACP,EAAKE,MAAMF,WAGbd,GAAG,iBANL,aAaV,IAAMo0B,EAAoB,GAsC1B,OArCA1L,EAAerc,SAAQ,SAACtI,EAASiC,GAC3B0iB,EAAe9kB,OACjBwwB,EAAkB7nB,KAChB,yBAAK1I,IAAKmC,GACR,yBACEnF,UAAW,cAAgBkD,EAAQ0kB,KAAO,OAAS,IACnD5kB,IAAKmC,GAEL,yBAAKnF,UAAU,yBAAyBC,QAAS,kBAAM,EAAK8pB,gBAAgB5kB,KAC1E,0BAAMnF,UAAU,gCAAgCZ,MAAoB,IAAb8F,EAAMC,GAAW,CAAEquB,gBAAiB,QAASnxB,MAAO,MAAOH,YAAa,EAAGC,YAAa,MAAOsxB,YAAa,QAASC,UAAW,cAAiB,MAAoB,IAAbxuB,EAAMC,GAAW,IAAjB,UAA0BA,EAAI,IAC7O,0BAAMnF,UAAU,cAAcZ,MAAoB,IAAb8F,EAAMC,GAAW,CAAE9C,MAAO,OAAU,MAAOa,EAAQlB,OAE1F,yBAAKhC,UAAU,kBACZ,EAAK2zB,iBAAiBxuB,UAyBjC,oCACGuiB,EACG,yBAAK1nB,UAAU,aACf,yBAAKA,UAAU,oBACb,gDACA,uBAAGC,QAAS,kBAAM,EAAKgE,SAAS,CAAEyjB,OAAO,KAAUtoB,MAAO,CAAE2N,OAAQ,YAApE,MAEF,yBAAK/M,UAAU,kBACb,+DAEF,yBAAKA,UAAU,oBACb,4BAAQA,UAAU,OAAOC,QAAS,WAChC,EAAKgE,SAAS,CAAEyjB,OAAO,IACvB,EAAKvnB,MAAMF,YAFb,QAMF,KACFuQ,EACE,yBAAKxQ,UAAU,wBACf,yBAAKA,UAAU,oBACb,gEACA,uBAAGC,QAAS,WAAO,EAAKgE,SAAS,CAAEuM,SAAS,KAE5CpR,MAAO,CAAE2N,OAAQ,YAFjB,MAKF,yBAAK/M,UAAU,kBACX,sEAA2C,wCAA3C,gEAAwH,6BAAxH,uMAEJ,yBAAKA,UAAU,oBACb,4BAAQA,UAAU,OAAOC,QAAS,WAChC,EAAKgE,SAAS,CAAEuM,SAAS,MAD3B,QAKF,KACJ,yBAAKrR,GAAIuoB,GAASlX,EAAU,qBAAuB,iBAEjD,yBAAKrR,GAAG,gBACN,yBAAKM,IAAKkI,IAAM3H,UAAU,qBAC1B,yBAAKb,GAAG,aACN,yBAAKA,GAAG,mBAEN,wBAAIa,UAAU,eAAd,oBACA,uBAAGZ,MAAO,CAAE+S,WAAY,SAAxB,iCACA,4BACEnS,UAAU,OACVC,QAAS,WACsC,UAAzCwC,eAAeC,QAAQ,cACzB,EAAKvC,MAAMF,WAGX,EAAK6qB,aACL,EAAK3qB,MAAMF,UACXwC,eAAeE,QAAQ,cAAc,KAGzCxD,GAAG,iBAZL,UAcA,yBAAKA,GAAG,UAEN,uBAAGa,UAAU,qBAAb,8IAEA,uBAAGA,UAAU,qBAAb,uMAEA,uBAAGA,UAAU,qBAAb,iGAEA,uBAAGA,UAAU,qBAAb,oYAEA,uBAAGA,UAAU,qBAAb,mHAEA,uBAAGA,UAAU,qBAAb,+FAEE,wBAAIZ,MAAO,CAAEiD,MAAO,UAAW2K,eAAgB,aAAe/M,QAAS,kBAAM+L,OAAO4b,KAAK,mCAAoC,YAA7H,WAFF,KAKA,uBAAGxoB,MAAO,CAAEiD,MAAO,QAAnB,0BACA,uBAAGjD,MAAO,CAAEiD,MAAO,QAAnB,2EAIJ,6BACC0lB,GAAe,uBAAG3oB,MAAO,CAAEiD,MAAOA,IAAU0lB,GAC5CC,GAAiB,uBAAG5oB,MAAO,CAAEiD,MAAOA,IAAU2lB,GAC9CuL,EACD,yBAAKvzB,UAAU,eACb,4BAAQA,UAAU,OAAOC,QAAS,WAChC,EAAKgE,SAAS,CAAEkE,gBAAgB,IAChC,EAAK6hB,YACL,EAAK/lB,SAAS,CAAE8jB,YAAa,KAC7B,EAAK9jB,SAAS,CAAE+jB,cAAe,KAC/B,EAAK8C,aACFrkB,MAAK,SAAAC,GACQ,IAARA,GACF,EAAKzC,SAAS,CAAEyjB,OAAO,QAI7B7kB,SAAUsF,GAETA,EAAiB,yBAAK1I,IAAKmI,IAAQ7H,IAAI,aAAaX,MAAO,CAAEO,MAAO,GAAImE,OAAQ,MAAW,iBAE9F,4BAAQ9D,UAAU,OAAOC,QAAS,WAChC,EAAKgE,SAAS,CAAEsjB,gBAAgB,IAChC,EAAKtjB,SAAS,CAAE8jB,YAAa,KAC7B,EAAK9jB,SAAS,CAAE+jB,cAAe,MAEL,IADZ,EAAKkC,iBACT9mB,QAAQ,GAChB,EAAK0nB,aACFrkB,MAAK,SAAAC,GACQ,IAARA,EACF,EAAKkB,SAEL,EAAK3D,SAAS,CAAEsjB,gBAAgB,OAItC,EAAKtjB,SAAS,CAAEsjB,gBAAgB,KAEjC1kB,UAAWgf,GAAoB0F,GAC/BA,EAAiB,yBAAK9nB,IAAKmI,IAAQ7H,IAAI,aAAaX,MAAO,CAAEO,MAAO,GAAImE,OAAQ,MAAW,iB,GAlzG3EzD,a,gBCH7BuzB,GAAiB,CACrBC,iBAAiB,EACjBC,aAFqB,WAGnBF,GAAeC,iBAAkB,GAEnCE,QALqB,SAKZC,GACPvxB,eAAewxB,QACfL,GAAeC,iBAAkB,EACjCK,WAAWF,EAAI,OAInB,SAASG,GAAMh0B,GACb,IAAM2F,EAAUsuB,cAEV7mB,GADS8mB,cACS/yB,OAAS,CAAEiM,KAAM,CAAE+mB,SAAU,OAA/C/mB,KAUN,OAEE,kBAAC,GAAD,CAAOtN,QAVI,WACX2zB,GAAeG,SAAQ,WACrBjuB,EAAQf,QAAQwI,OAQM4lB,SALb,WACXrtB,EAAQf,QAAQ,YAI0BsF,wBAAyBD,SAASjK,EAAMkK,yBAA0BxE,MAAO1F,EAAM0F,MAAOC,QAASA,IAG7I,SAASyuB,GAAQp0B,GACf,IAAM2F,EAAUsuB,cAEV7mB,GADS8mB,cACS/yB,OAAS,CAAEiM,KAAM,CAAE+mB,SAAU,OAA/C/mB,KAMN,OAEE,kBAAC,EAAD,CAAiBtN,QAPN,WACX2zB,GAAeG,SAAQ,WACrBjuB,EAAQf,QAAQwI,OAKgBlD,wBAAyBD,SAASjK,EAAMkK,yBAA0BvE,QAASA,IAGjH,SAAS0uB,KACP,IAAI1uB,EAAUsuB,cACd,OACE,kBAAC,EAAD,CAAOn0B,QAAS,kBAAM6F,EAAQ4F,KAAK,QAKvC,SAAS+oB,GAAT,GAA+C,IAAtBC,EAAqB,EAArBA,SAAaC,EAAQ,kBACxC9uB,EAAQpD,eAAeC,QAAQ,SAC/BkyB,EAASnyB,eAAeC,QAAQ,MAGpC,OAFaD,eAAeC,QAAQ,YACtB,IAAIuE,MACIgL,YAAcpM,GAAS+uB,EAEzC,kBAAC,IAAD,iBACMD,EADN,CAEEE,OAAQ,kBACLH,MAML,kBAAC,IAAD,iBACMC,EADN,CAEEE,OAAQ,gBAAG5oB,EAAH,EAAGA,SAAH,OACLpG,GAAS+uB,EAAWF,EACnB,kBAAC,IAAD,CACE7sB,GAAI,CACFysB,SAAU,UACVhzB,MAAO,CAAEiM,KAAMtB,IAEjB6oB,OAAK,Q,IAUEC,G,kDACnB,WAAa50B,GAAQ,IAAD,8BAClB,cAAMA,IACDmB,MAAQ,CACX+I,wBAAyB,EACzBxE,MAAO,EACPR,MAAO,IALS,E,0CASpB,WAAW,IAAD,OACR,EAAkDnF,KAAKoB,MAA/C+I,EAAR,EAAQA,wBAAyBxE,EAAjC,EAAiCA,MAAOR,EAAxC,EAAwCA,MACxC,OACE,kBAAC,IAAD,CAAQ2vB,SAAU,oBAChB,kBAAC,IAAD,KACE,kBAAC,IAAD,CAAOC,KAAK,SACVJ,OAAQ,SAAC10B,GAAD,OACN,kBAAC,EAAD,iBAAeA,EAAf,CAAsBiH,QAAS,SAAC/B,EAAOlG,EAAI0G,GACzC,EAAK5B,SAAS,CAAEoG,wBAAyBlL,EAAI0G,MAAOA,EAAOR,MAAOA,IAClEuuB,GAAeE,sBAKrB,kBAAC,IAAD,CAAOmB,KAAK,UACVJ,OAAQ,SAAC10B,GAAD,OACN,kBAAC,EAAD,iBAAYA,EAAZ,CAAmBiH,QAAS,SAAC/B,EAAOlG,EAAI0G,GACtC,EAAK5B,SAAS,CAAEoG,wBAAyBlL,EAAI0G,MAAOA,EAAOR,MAAOA,IAClEuuB,GAAeE,sBAMrB,kBAACW,GAAD,CAAcQ,KAAK,IAAIH,OAAK,GAC1B,kBAAC,GAAD,CAAMzqB,wBAA0BA,EAAyBxE,MAAQA,EAAOR,MAAQA,KAGlF,kBAACovB,GAAD,CAAcQ,KAAK,WACjB,kBAACV,GAAD,CACElqB,wBAA0BA,EAC1BxE,MAAQA,KAGZ,kBAAC,IAAD,CAAOqvB,UAAWV,W,GA5CKp0B,IAAMC,WC7FnB80B,QACW,cAA7BnpB,OAAOC,SAASmpB,UAEe,UAA7BppB,OAAOC,SAASmpB,UAEhBppB,OAAOC,SAASmpB,SAASzzB,MACvB,2DCZN0zB,IAASR,OAAO,kBAAC,GAAD,MAAS7zB,SAASs0B,eAAe,SD2H3C,kBAAmB7zB,WACrBA,UAAU8zB,cAAcC,MAAM/uB,MAAK,SAAAgvB,GACjCA,EAAaC,kB","file":"static/js/main.2585e30d.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/submit.ae24d4c4.gif\";","module.exports = __webpack_public_path__ + \"static/media/logo.72070269.gif\";","module.exports = __webpack_public_path__ + \"static/media/loader.bd0201f1.gif\";","module.exports = __webpack_public_path__ + \"static/media/404.42945b02.png\";","module.exports = __webpack_public_path__ + \"static/media/error.6db55f0d.png\";","module.exports = \"data:image/gif;base64,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\"","module.exports = \"data:image/png;base64,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N2gc5ZXrVoPOkIZ6zgzyzpXLHC4LKOdETsBDdDtAImo50C3gKRKKuTKkkNZi772l+5ufkYsqPvumF7cwpSxpJxoVtC9JCXiT4dWk4zzVwwOepdNiTgk4/eN/cSdPb2W96WcNhOQcDT+7yfO7mW8oPEdQznCu8AZfbGhPe/ZvhGU/f3vWP69mziQu+8kM+IcuxGU/XRAAARAAAXwvwL5JoMu+KBDg3QDo8i4CIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAAxIwAgACAAIAAgQAjEZ6bYNdMbb7SrUkpmPAIoEKDrU1vq2jWtvuz5u8KcZIdxa440aVrTkTXjOoRZ6q7ny+o1rb1uy1NdEcBRAbJea/uq0u57w6iUMPP0V5VOz0wIo9TQv3xVqe21LARwToDZTVfXei051ErfqLq6UtU3Qv4gefPqSk2zEMAhAZLWXFds362hlXqg8dpKjQ+EVunWsusmtToBARwR4M0g1T5LC6XS6LbrK7WNDqVS2mdBJrUGAZwQ4Jmg5UpjrVfqXR+sUn1v65ViS4NO6mkEsF+APq3B6023Xmp38Eq7rVeaHrxSax8EsF2AjTr1ajtarTRBb2oTrFbqWKtTaSMC2C1Arm7BOVZLletVKrf8q0R3UgMQwGYB/l234C6LlXrqz62nxVK7dCsVIYDNAnyiW7Atw1qlufpzm2utUkabbqUDCGCvAElCxVHWSq3Vr7TWWqVR+pVaYhHAVgG6CxUfs1Zqu36l7dYqPSZM6mYEsFWAwULFedZKVepXqrRWaZ4wqQEIYKsAw4WKhdZKHdWvdNRapUJhUoMRAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQAAEQ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\"","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport error from '../404.png'\r\n\r\nexport default class Error extends React.Component {\r\n render () {\r\n return (\r\n
\r\n
\r\n\r\n
\r\n \"Error\"/\r\n
\r\n

404

\r\n

Aha! You see! You can be wrong!

\r\n

(or it could be us)...

\r\n

...either way, you should probably

\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\nError.propTypes = {\r\n onClick: PropTypes.func.isRequired\r\n}\r\n","import React, { useEffect, useRef } from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nexport default function InfoBox (props) {\r\n const ref = useRef(null)\r\n\r\n const handleClickOutside = (event) => {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n props.onClickOutside && props.onClickOutside()\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener('click', handleClickOutside, true)\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside, true)\r\n }\r\n })\r\n\r\n if (!props.show) { return null }\r\n\r\n return (\r\n
\r\n {props.message}\r\n
\r\n )\r\n}\r\n\r\nInfoBox.propTypes = {\r\n onClickOutside: PropTypes.func,\r\n show: PropTypes.bool,\r\n message: PropTypes.string\r\n}\r\n","import React from 'react'\r\nimport error from '../error.png'\r\nimport PropTypes from 'prop-types'\r\nimport InfoBox from './InputRowHoverOrClickInfo'\r\nimport { getDevice } from './CheckDevice'\r\nexport default class InputRow extends React.Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n mouseOver: false\r\n }\r\n }\r\n\r\n render () {\r\n const userDevice = getDevice()\r\n let classNameofMainDiv = 'input-control'\r\n if (this.props.name === 'select') {\r\n classNameofMainDiv = 'input-control select-box'\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n {this.props.rowName}\r\n {this.props.name === 'select'\r\n ? {\r\n if (sessionStorage.getItem('isBlocking') === 'false') { sessionStorage.setItem('isBlocking', true) }\r\n this.props.onChange(e.target.value)\r\n }\r\n }\r\n value={this.props.value}\r\n disabled={this.props.disabled}>\r\n {this.props.data.length ? : null}\r\n {this.props.data.length ? this.props.data.map(element => {\r\n return \r\n }) : }\r\n\r\n \r\n : ['date', 'percent'].indexOf(this.props.name) !== -1\r\n ? {\r\n if (sessionStorage.getItem('isBlocking') === 'false') { sessionStorage.setItem('isBlocking', true) }\r\n this.props.onChange(e.target.value)\r\n }\r\n }\r\n onKeyDown={e => e.preventDefault(alert('Please use the calendar control icon to modify the dates'))}\r\n onKeyPress={(e) => this.props.onKeyPress ? this.props.onKeyPress(e) : null}\r\n min={this.props.name === 'date' ? '1900-01-01' : null}\r\n max={this.props.name === 'date' ? '2050-12-31' : null}\r\n />\r\n\r\n : ['number', 'percent'].indexOf(this.props.name) !== -1\r\n ? {\r\n if (sessionStorage.getItem('isBlocking') === 'false') { sessionStorage.setItem('isBlocking', true) }\r\n this.props.onChange(e.target.value)\r\n }\r\n }\r\n onKeyPress={(e) => this.props.onKeyPress ? this.props.onKeyPress(e) : null}\r\n />\r\n : {\r\n if (sessionStorage.getItem('isBlocking') === 'false') { sessionStorage.setItem('isBlocking', true) }\r\n this.props.onChange(e.target.value)\r\n }\r\n }\r\n onKeyPress={(e) => this.props.onKeyPress ? this.props.onKeyPress(e) : null}\r\n min={this.props.name === 'date' ? '1900-01-01' : null}\r\n max={this.props.name === 'date' ? '2050-12-31' : null}\r\n />\r\n }\r\n\r\n {this.props.error\r\n ?
\r\n
\r\n {this.props.rowName\r\n

{this.props.rowName} is not valid.

\r\n
\r\n
\r\n : null}\r\n
\r\n {\r\n this.props.hover ? (\r\n userDevice === 'Desktop' ? this.setState({ mouseOver: true })}\r\n onMouseOut={() => this.setState({ mouseOver: false })}\r\n className=\"help\"\r\n >\r\n ?\r\n : this.setState({ mouseOver: true })}\r\n className=\"help\"\r\n >\r\n ?\r\n \r\n ) : null\r\n }\r\n
\r\n this.setState({ mouseOver: false })} message={this.props.hover}/>\r\n
\r\n
\r\n
{this.props.errMsg}
\r\n
\r\n )\r\n }\r\n}\r\nInputRow.propTypes = {\r\n name: PropTypes.any.isRequired,\r\n rowName: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n value: PropTypes.any,\r\n required: PropTypes.string,\r\n hover: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n error: PropTypes.string,\r\n data: PropTypes.array,\r\n onKeyPress: PropTypes.func,\r\n errMsg: PropTypes.string\r\n}\r\n","/* eslint-disable import/prefer-default-export */\r\nexport function getDevice () {\r\n if (navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i)) {\r\n return 'Mobile'\r\n }\r\n\r\n if (navigator.maxTouchPoints &&\r\n navigator.maxTouchPoints > 2 &&\r\n /MacIntel/.test(navigator.platform)) {\r\n return 'Mobile'\r\n }\r\n return 'Desktop'\r\n}\r\n","export const color1 = '#6AA8FF'\r\nexport const color2 = '#3168CE'\r\nexport const color3 = '#5353D1'\r\nexport const color4 = '#FFFFFF'\r\n//export const emailCheck = /^(?=.*[a-zA-Z])[a-zA-Z\\d@$!#%*_\\-.?&^():;,.\\\\'\"{}]*@(?=.*[a-z])[a-zA-Z\\d@$!#%*_\\-.?&^():;,.\\\\'\"{}]*\\.(?=.*[a-z])[a-z]{2,}/\r\nexport const emailCheck = new RegExp(/^((\"[\\w-\\s]+\")|([\\w-]+(?:\\.[\\w-]+)*)|(\"[\\w-\\s]+\")([\\w-]+(?:\\.[\\w-]+)*))(@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$)|(@\\[?((25[0-5]\\.|2[0-4][0-9]\\.|1[0-9]{2}\\.|[0-9]{1,2}\\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\]?$)/i);\r\nexport const pwdCheck = /^(?=.*[a-zA-Z])(?=.*\\d)(?=.*[@.\\-$!%#*_.?&^():;,.\\\\'\"{}])[A-Za-z\\d@.\\-_$^!#%*?&]{8,15}$/\r\nexport const handleAlphabetCheck = (val) => {\r\n const alphabets = /^[a-zA-Z\\s\\b]+$/i\r\n // ^[a-zA-Z]+(([',. -][a-zA-Z ])?[a-zA-Z]*)*$\r\n if (alphabets.test(val) && !onlySpaces(val)) {\r\n return 1\r\n }\r\n return 0\r\n}\r\nfunction onlySpaces(str) {\r\n return str.trim().length === 0;\r\n}\r\nexport const arabicValue = (txt) => {\r\n let yas = txt\r\n yas = yas.replace(/`/g, 'ذ')\r\n yas = yas.replace(/0/g, '۰')\r\n yas = yas.replace(/1/g, '۱')\r\n yas = yas.replace(/2/g, '۲')\r\n yas = yas.replace(/3/g, '۳')\r\n yas = yas.replace(/4/g, '٤')\r\n yas = yas.replace(/5/g, '۵')\r\n yas = yas.replace(/6/g, '٦')\r\n yas = yas.replace(/7/g, '۷')\r\n yas = yas.replace(/8/g, '۸')\r\n yas = yas.replace(/9/g, '۹')\r\n yas = yas.replace(/0/g, '۰')\r\n yas = yas.replace(/q/g, 'ض')\r\n yas = yas.replace(/w/g, 'ص')\r\n yas = yas.replace(/e/g, 'ث')\r\n yas = yas.replace(/r/g, 'ق')\r\n yas = yas.replace(/t/g, 'ف')\r\n yas = yas.replace(/y/g, 'غ')\r\n yas = yas.replace(/u/g, 'ع')\r\n yas = yas.replace(/i/g, 'ه')\r\n yas = yas.replace(/o/g, 'خ')\r\n yas = yas.replace(/p/g, 'ح')\r\n yas = yas.replace(/\\[/g, 'ج')\r\n yas = yas.replace(/\\]/g, 'د')\r\n yas = yas.replace(/a/g, 'ش')\r\n yas = yas.replace(/s/g, 'س')\r\n yas = yas.replace(/d/g, 'ي')\r\n yas = yas.replace(/f/g, 'ب')\r\n yas = yas.replace(/g/g, 'ل')\r\n yas = yas.replace(/h/g, 'ا')\r\n yas = yas.replace(/j/g, 'ت')\r\n yas = yas.replace(/k/g, 'ن')\r\n yas = yas.replace(/l/g, 'م')\r\n yas = yas.replace(/;/g, 'ك')\r\n yas = yas.replace(/'/g, 'ط')\r\n yas = yas.replace(/z/g, 'ئ')\r\n yas = yas.replace(/x/g, 'ء')\r\n yas = yas.replace(/c/g, 'ؤ')\r\n yas = yas.replace(/v/g, 'ر')\r\n yas = yas.replace(/b/g, 'لا')\r\n yas = yas.replace(/n/g, 'ى')\r\n yas = yas.replace(/m/g, 'ة')\r\n yas = yas.replace(/,/g, 'و')\r\n yas = yas.replace(/\\./g, 'ز')\r\n yas = yas.replace(/\\//g, 'ظ')\r\n //yas = yas.replace(/~/g, ' ّ')\r\n //yas = yas.replace(/Q/g, 'َ')\r\n //yas = yas.replace(/W/g, 'ً')\r\n //yas = yas.replace(/E/g, 'ُ')\r\n //yas = yas.replace(/R/g, 'ٌ')\r\n //yas = yas.replace(/T/g, 'لإ')\r\n yas = yas.replace(/Y/g, 'غ')\r\n //yas = yas.replace(/U/g, '‘')\r\n //yas = yas.replace(/I/g, '÷')\r\n //yas = yas.replace(/O/g, '×')\r\n //yas = yas.replace(/P/g, '؛')\r\n //yas = yas.replace(/A/g, 'ِ')\r\n //yas = yas.replace(/S/g, 'ٍ')\r\n yas = yas.replace(/G/g, 'ل')\r\n yas = yas.replace(/H/g, 'ا')\r\n //yas = yas.replace(/J/g, 'ـ')\r\n //yas = yas.replace(/K/g, '،')\r\n //yas = yas.replace(/L/g, '/')\r\n //yas = yas.replace(/Z/g, '~')\r\n //yas = yas.replace(/X/g, 'ْ')\r\n yas = yas.replace(/B/g, 'لآ')\r\n //yas = yas.replace(/N/g, 'آ')\r\n //yas = yas.replace(/M/g, '’')\r\n yas = yas.replace(/A/g, 'ش')\r\n yas = yas.replace(/F/g, 'ب')\r\n yas = yas.replace(/O/g, 'خ')\r\n yas = yas.replace(/P/g, 'ح')\r\n yas = yas.replace(/D/g, 'ي')\r\n yas = yas.replace(/J/g, 'ت')\r\n //yas = yas.replace(/K/g, '،')\r\n yas = yas.replace(/L/g, 'م')\r\n yas = yas.replace(/Z/g, 'ئ')\r\n yas = yas.replace(/X/g, 'ء')\r\n yas = yas.replace(/\\?/g, 'ظ')\r\n yas = yas.replace(/Q/g, 'ض')\r\n yas = yas.replace(/W/g,'ص')\r\n yas = yas.replace(/E/g, 'ث')\r\n yas = yas.replace(/R/g, 'ق')\r\n yas = yas.replace(/T/g, 'ف')\r\n yas = yas.replace(/Y/g, 'غ')\r\n yas = yas.replace(/U/g, 'ع')\r\n yas = yas.replace(/I/g, 'ه')\r\n yas = yas.replace(/N/g, 'ى')\r\n yas = yas.replace(/M/g, 'ة')\r\n yas = yas.replace(/V/g, 'ر')\r\n yas = yas.replace(/C/g, 'ؤ')\r\n yas = yas.replace(/S/g, 'س')\r\n yas = yas.replace(/'/g, 'ط')\r\n yas = yas.replace(/K/g, 'ن')\r\n return yas\r\n}\r\nexport const handleNumberCheck = (e) => {\r\n const text = e\r\n let newText = ''\r\n const numbers = '0123456789.'\r\n let count = 0\r\n\r\n for (var i = 0; i < text.length; i++) {\r\n if (numbers.indexOf(text[i]) > -1) {\r\n newText = newText + text[i]\r\n } else { count = 1 }\r\n }\r\n return count\r\n}\r\nexport const handleNumberOnlyCheck = (val) => {\r\n const numbers = /^[0-9]*$/i\r\n if (numbers.test(val)) {\r\n return 1\r\n }\r\n return 0\r\n}\r\n","\r\nimport React from 'react'\r\nimport {\r\n Link\r\n} from 'react-router-dom'\r\nimport InputRow from './InputRow'\r\nimport PropTypes from 'prop-types'\r\nimport { emailCheck, pwdCheck } from '../constants'\r\nimport submit from '../submit.gif'\r\nimport logo from '../logo.gif'\r\nexport default class LoginPage extends React.Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n email: '',\r\n pwd: '',\r\n error: '',\r\n errorColor: 'red',\r\n processing: false,\r\n resetProcessing: false,\r\n // isActive:true \r\n }\r\n this.handleLogin = this.handleLogin.bind(this)\r\n this.resetPassword = this.resetPassword.bind(this)\r\n }\r\n\r\n componentDidMount () {\r\n const id = sessionStorage.getItem('id')\r\n const token = sessionStorage.getItem('token')\r\n if (id && token) {\r\n const { history } = this.props\r\n history.replace('/')\r\n }\r\n }\r\n\r\n async handleLogin () {\r\n this.setState({ processing: true })\r\n const { email, pwd } = this.state\r\n if (email && pwd) {\r\n if (emailCheck.test(email)) {\r\n if (pwdCheck.test(pwd)) {\r\n fetch(`${process.env.REACT_APP_API_URL}/api/login/UserLogin`, {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n Email: email,\r\n Password: pwd\r\n }),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.StatusCode === 200) {\r\n this.setState({ processing: false })\r\n sessionStorage.setItem('token', res.Data.Token)\r\n sessionStorage.setItem('id', res.Data.IncompleteApplicationId)\r\n const currentDate = new Date()\r\n currentDate.setSeconds(currentDate.getSeconds() + 3600000)\r\n sessionStorage.setItem('expiry', currentDate)\r\n sessionStorage.setItem('email', email)\r\n sessionStorage.setItem('isBlocking', false)\r\n this.props.onLogin(email, res.Data.IncompleteApplicationId, res.Data.Token)\r\n const { history } = this.props\r\n history.replace('/')\r\n } else {\r\n this.setState({ error: res.Msg, processing: false, errorColor: 'red', pwd: '' })\r\n }\r\n })\r\n .catch((err) => {\r\n this.setState({ error: 'Network Error', processing: false, pwd: '' })\r\n console.log(err)\r\n })\r\n } else {\r\n this.setState(\r\n {\r\n error: 'Please Enter a password which at least has 1 character and 1 number with a minimum length of 8 and maximum of 15.',\r\n errorColor: 'red',\r\n processing: false,\r\n pwd: ''\r\n }\r\n )\r\n }\r\n } else {\r\n this.setState(\r\n {\r\n error: 'Please Enter a Valid Email Address',\r\n errorColor: 'red',\r\n processing: false,\r\n pwd: ''\r\n }\r\n )\r\n }\r\n } else {\r\n this.setState(\r\n {\r\n error: 'Please fill up all required fields',\r\n errorColor: 'red',\r\n processing: false,\r\n pwd: ''\r\n }\r\n )\r\n }\r\n }\r\n\r\n resetPassword () {\r\n this.setState({ resetProcessing: true })\r\n const { email } = this.state\r\n if (email) {\r\n if (emailCheck.test(email)) {\r\n fetch(`${process.env.REACT_APP_API_URL}/api/Login/ResetPassword`, {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n email: email\r\n }),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n .then((res) => res.json())\r\n .then(res => {\r\n if (res.StatusCode === 200) {\r\n this.setState({ resetProcessing: false })\r\n this.setState(\r\n {\r\n error: 'You would have received an E-mail with your new password',\r\n errorColor: 'green',\r\n pwd: ''\r\n }\r\n )\r\n } else {\r\n this.setState({ resetProcessing: false, pwd: '' })\r\n this.setState({ error: res.Msg, errorColor: 'red' })\r\n }\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n this.setState({ resetProcessing: false, pwd: '' })\r\n this.setState({ error: 'Network Error' })\r\n })\r\n } else {\r\n this.setState(\r\n {\r\n error: 'Please Enter a Valid Email Address',\r\n errorColor: 'red',\r\n pwd: ''\r\n }\r\n\r\n )\r\n this.setState({ resetProcessing: false })\r\n }\r\n } else {\r\n this.setState(\r\n {\r\n error: 'Please enter the email address',\r\n errorColor: 'red',\r\n pwd: ''\r\n }\r\n\r\n )\r\n this.setState({ resetProcessing: false })\r\n }\r\n }\r\n\r\n render () {\r\n const { errorColor, email, pwd, error, processing, resetProcessing, isActive } = this.state\r\n fetch(`${process.env.REACT_APP_API_URL}/api/login/GetIsApplicationActive`)\r\n .then(res => res.text())\r\n .then(res => {\r\n if (res) {\r\n this.setState({ isActive: res })\r\n }\r\n })\r\n if (isActive === 'true') {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n { error}\r\n

\r\n
\r\n
\r\n this.setState({ email: val })}\r\n required=\"*\"\r\n\r\n />\r\n this.setState({ pwd: val })}\r\n required=\"*\"\r\n onKeyPress={(e) => {\r\n if (e.key === 'Enter') {\r\n this.handleLogin()\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n

If you don't have an account, Create

\r\n

Important: Please note that this password will be used to access your application

\r\n
\r\n\r\n
\r\n\r\n )\r\n } else {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n { error}\r\n

\r\n
\r\n\r\n
\r\n\r\n

The application form is not available at this time , please check back later

\r\n
\r\n\r\n
\r\n\r\n )\r\n }\r\n }\r\n}\r\nLoginPage.propTypes = {\r\n onLogin: PropTypes.func.isRequired,\r\n history: PropTypes.object\r\n}\r\n","import React, { Component } from 'react'\r\nimport InputRow from './InputRow'\r\nimport { emailCheck, pwdCheck, handleAlphabetCheck,handleNumberOnlyCheck } from '../constants'\r\nimport PropTypes from 'prop-types'\r\nimport submit from '../submit.gif'\r\nimport logo from '../logo.gif'\r\n\r\nexport default class Signup extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n fname: '',\r\n lname: '',\r\n email: '',\r\n phonenb: '',\r\n pwd: '',\r\n cnfPwd: '',\r\n error: '',\r\n saveProcessing: false\r\n }\r\n this.handleRegister = this.handleRegister.bind(this)\r\n }\r\n\r\n componentDidMount() {\r\n const id = sessionStorage.getItem('id')\r\n const token = sessionStorage.getItem('token')\r\n if (id && token) {\r\n const { history } = this.props\r\n history.replace('/')\r\n }\r\n }\r\n\r\n handleRegister() {\r\n this.setState({ saveProcessing: true })\r\n const { fname, lname, email,phonenb, pwd, cnfPwd } = this.state\r\n if (fname && lname && email && phonenb && pwd && cnfPwd) {\r\n if (pwd === cnfPwd) {\r\n if (emailCheck.test(email)) {\r\n if (pwdCheck.test(pwd)) {\r\n fetch(`${process.env.REACT_APP_API_URL}/api/SignUp/CreateUser`, {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n FirstName: fname,\r\n LastName: lname,\r\n Email: email,\r\n Password: pwd,\r\n PhoneNumber:phonenb\r\n }),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.StatusCode === 200) {\r\n /* sessionStorage.setItem('token', res.Data.Token)\r\n sessionStorage.setItem('id', parseInt(res.Data.IncompleteApplicationId))\r\n const currentDate = new Date()\r\n currentDate.setSeconds(currentDate.getSeconds() + 3600000)\r\n sessionStorage.setItem('expiry', currentDate)\r\n sessionStorage.setItem('isBlocking', false)\r\n sessionStorage.setItem('email', email)\r\n // this.props.onLogin(email, res.Data.IncompleteApplicationId, res.Data.Token)\r\n const { history } = this.props\r\n history.replace('/')*/\r\n this.setState({ saveProcessing: false })\r\n this.setState({ error: 'An email verification is sent to your email address, verify your account to proceed with the application.',pwd:'',cnfPwd:'',fname:'',lname:'',phonenb:'',email:'' })\r\n } else {\r\n this.setState({ error: res.Msg, pwd: '', cnfPwd: '' })\r\n this.setState({ saveProcessing: false })\r\n }\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n this.setState({ saveProcessing: false })\r\n this.setState({ error: 'Network Error. Please try again in sometime', pwd: '', cnfPwd: '' })\r\n })\r\n } else {\r\n this.setState({ saveProcessing: false })\r\n this.setState(\r\n {\r\n error: 'Please Enter a password which at least has 1 character and 1 number with a minimum length of 8 and maximum of 15.The password should be greater than 7 characters, containing at least 1 number and at least 1 special (non-alphanumeric) character.', pwd: '', cnfPwd: ''\r\n }\r\n )\r\n }\r\n } else {\r\n this.setState({ saveProcessing: false })\r\n this.setState(\r\n {\r\n error: 'Please Enter a Valid Email Address', pwd: '', cnfPwd: ''\r\n }\r\n )\r\n }\r\n } else {\r\n this.setState({ saveProcessing: false })\r\n this.setState({ error: 'Passwords do not match!', pwd: '', cnfPwd: '' })\r\n }\r\n } else {\r\n this.setState({ saveProcessing: false })\r\n this.setState({ error: 'Please fill up all required fields', pwd: '', cnfPwd: '' })\r\n }\r\n }\r\n\r\n render() {\r\n const { fname, lname, email,phonenb, error, pwd, cnfPwd, saveProcessing } = this.state\r\n return (\r\n
\r\n
\r\n \r\n
\r\n\r\n

{error}

\r\n
\r\n
\r\n {\r\n if (handleAlphabetCheck(val) === 1 || val === '') { this.setState({ fname: val }) } else { alert('Please enter alphabets only!') }\r\n }}\r\n required=\"*\"\r\n\r\n />\r\n this.setState({ lname: val })}\r\n required=\"*\"\r\n\r\n />\r\n this.setState({ email: val })}\r\n required=\"*\"\r\n hover = \"If you have inserted a wrong E-mail, you will not be able to receive a validation.\"\r\n /> \r\n {\r\n if (handleNumberOnlyCheck(val) === 1 || val === '') { this.setState({ phonenb: val }) } else { alert('Please Enter Numbers Only!') }\r\n }}\r\n required=\"*\"\r\n />\r\n this.setState({ pwd: val })}\r\n required=\"*\"\r\n hover=\"The password should be greater than 7 characters, containing at least 1 number and at least 1 special (non-alphanumeric) character. \"\r\n />\r\n this.setState({ cnfPwd: val })}\r\n required=\"*\"\r\n onKeyPress={(e) => {\r\n if (e.key === 'Enter') {\r\n this.handleRegister()\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\nSignup.propTypes = {\r\n onLogin: PropTypes.func.isRequired,\r\n history: PropTypes.object.isRequired\r\n}\r\n","import React, { Component } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport loader from '../loader.gif'\r\nimport submit from '../submit.gif'\r\nimport logo from '../logo.gif'\r\n\r\nexport default class UploadDocuments extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n files: [],\r\n uploadFiles: [],\r\n\r\n nationalIDUploadFiles : [],\r\n nationalIDFiles : [],\r\n\r\n passportUploadFiles : [],\r\n passportFiles : [],\r\n\r\n englsihAssessmentUploadFiles : [],\r\n englishAssessmentFiles : [],\r\n\r\n transferUploadFiles : [],\r\n transferFiles : [],\r\n\r\n personalPicUploadFiles : [],\r\n personalPicFiles : [],\r\n\r\n courseDescriptionsUploadFiles : [],\r\n courseDescriptionsFiles : [],\r\n\r\n\r\n gradingSchemeUploadFiles : [],\r\n gradingSchemeFiles : [],\r\n\r\n\r\n loading: true,\r\n showModal: false,\r\n error: '',\r\n submitLoading: false,\r\n accepts: '',\r\n numberOfUpload: 0,\r\n maxAttachmentSize : 0,\r\n maxApplicationAttachmentSize : 0,\r\n color: 'red',\r\n disable: false,\r\n \r\n }\r\n this.handleSubmit = this.handleSubmit.bind(this)\r\n this.toBase64 = this.toBase64.bind(this)\r\n }\r\n\r\n componentDidMount() {\r\n\r\n fetch(`${process.env.REACT_APP_API_URL}/api/attachment/GetFileTypes`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ accepts: res })\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}//api/attachment/GetMaxAttachmentNumber`))\r\n .then(res => res.text())\r\n .then(res => {\r\n this.setState({ numberOfUpload: parseInt(res) })\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}//api/attachment/GetMaxAttachmentSize`))\r\n .then(res => res.text())\r\n .then(res => {\r\n this.setState({ maxAttachmentSize: parseInt(res) })\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}//api/attachment/GetMaxApplicationAttachmentSize`))\r\n .then(res => res.text())\r\n .then(res => {\r\n this.setState({ maxApplicationAttachmentSize: parseInt(res) })\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}/api/login/getprefilleddata`, {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n IncompleteApplicationId: this.props.incompleteApplicationId || parseInt(sessionStorage.getItem('id')),\r\n Token: this.props.token || sessionStorage.getItem('token') || sessionStorage.getItem('token')\r\n }),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n }))\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.StatusCode === 200) {\r\n if (res.data.Validated === false) {\r\n /* const { history } = this.props\r\n // history.push('/')\r\n return */\r\n } \r\n this.setState({ loading: false })\r\n }\r\n })\r\n\r\n .catch(err => console.log(err))\r\n }\r\n\r\n\r\n handleDelete(index) {\r\n const files = [...this.state.files]\r\n files.splice(index, 1)\r\n this.setState({ files: files })\r\n }\r\n\r\n async toBase64() {\r\n const { files } = this.state\r\n const toBase64 = async file => new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(file)\r\n reader.onload = () => {\r\n let result = reader.result.split(\",\")[1]\r\n return resolve(result)\r\n }\r\n reader.onerror = error => reject(error)\r\n })\r\n .then((res) => {\r\n return res\r\n })\r\n .catch(err => console.log(err))\r\n\r\n const promiseArray = files.map(element => toBase64(element))\r\n return Promise.all(promiseArray)\r\n .then((res, rej) => {\r\n if (rej) throw rej\r\n const returnArray = []\r\n files.forEach((element, i) => {\r\n const extension = '.' + element.name.split('.')[(element.name.split('.')).length - 1]\r\n returnArray.push({\r\n IncompleteApplicationId: this.props.incompleteApplicationId || sessionStorage.getItem('id'),\r\n fileName: element.typelabel + '-' +element.name,\r\n fileExtension: extension,\r\n fileContent: res[i],\r\n label: element.label,\r\n typelabel:element.typelabel\r\n })\r\n })\r\n return returnArray\r\n })\r\n .catch(err => console.log(err))\r\n }\r\n\r\n handleSubmit() {\r\n this.setState({ submitLoading: true })\r\n\r\n this.toBase64()\r\n .then((res) => fetch(`${process.env.REACT_APP_API_URL}/api/Submit/SubmitIncompleteApplication`,{\r\n method: 'POST',\r\n body: res.length ? JSON.stringify(res) : JSON.stringify([{ IncompleteApplicationId: this.props.incompleteApplicationId || sessionStorage.getItem('id') }]),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n )\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.StatusCode === 200) { \r\n // this.setState({ error: 'Your application has been submitted successfully', color: 'green', submitLoading: false, disable: true })\r\n this.setState({ error: '', color: 'green', submitLoading: false, disable: true }) \r\n //window.open(res.PaymentGatewayURL + '?TransactionID=' + res.PaymentTransactionId + \"&TransactionAmount=\" + res.Amount, '_parent'); \r\n window.location.replace(res.Data.redirect_url);\r\n } else if (res.StatusCode === 409) {\r\n this.setState({ error: 'Application already submitted', color: 'green', submitLoading: false, disable: true }) \r\n alert('Application already submitted') \r\n }\r\n else\r\n {\r\n this.setState({ error: res.Msg, submitLoading: false, color: 'red' })\r\n }\r\n })\r\n .catch(err => {\r\n console.log(err)\r\n this.setState({ error: 'Some error Occured. Please retry', submitLoading: false })\r\n })\r\n }\r\n\r\n render() {\r\n const { loading, files , numberOfUpload,maxAttachmentSize,maxApplicationAttachmentSize, accepts, color, uploadFiles, nationalIDUploadFiles,\r\n passportUploadFiles ,englsihAssessmentUploadFiles , transferUploadFiles , personalPicUploadFiles,courseDescriptionsUploadFiles,gradingSchemeUploadFiles, error, submitLoading, showModal, disable }\r\n\r\n = this.state\r\n if (loading) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \"Loading...\"\r\n
\r\n
\r\n
\r\n )\r\n \r\n }\r\n\r\n\r\n let acceptFiles = ''\r\n const acceptArray = []\r\n accepts.forEach((element, i) => {\r\n if (i === accepts.length - 1) {\r\n acceptFiles += element.type\r\n } else { acceptFiles += element.type + ',' }\r\n acceptArray.push(element.type)\r\n })\r\n const showFiles = []\r\n let total = 0\r\n\r\n files.forEach((element, index) => {\r\n\r\n total += parseFloat(element.size)\r\n\r\n if( Math.round((total / 1000000) * 100) / 100 <= maxApplicationAttachmentSize )\r\n {\r\n showFiles.push(\r\n \r\n {element.name}\r\n {element.name.split('.')[(element.name.split('.')).length - 1]}\r\n {Math.round((element.size / 1000000) * 100) / 100}\r\n {element.typelabel}\r\n \r\n \r\n \r\n \r\n )\r\n }\r\n else\r\n {\r\n \r\n alert('Upload Failed,maximum allowed upload Attachments size per Application was exceeded !')\r\n this.handleDelete(index)\r\n total -= parseFloat(element.size)\r\n }\r\n })\r\n\r\n return (\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Upload Attachments

\r\n Logout\r\n
\r\n

If needed, you can attach up to {numberOfUpload} file(s) to your application

\r\n

The Maximum allowed size per Attachment size is: {maxAttachmentSize} MB

\r\n

The Maximum allowed Attachments size per Application is: {maxApplicationAttachmentSize} MB

\r\n

If your transcripts/documents consist of several pages, kindly note that you are required to combine them into one PDF file.

\r\n\r\n {/*

View Supported File Types

*/}\r\n\r\n this.setState({ showModal: true })} style={{ cursor: 'pointer' }}\r\n >\r\n

View Supported File Types

\r\n
\r\n \r\n
\r\n
\r\n {\r\n if (disable) {\r\n e.preventDefault()\r\n }\r\n e.target.value = null //when upload file still didn't trigger onChange for the same file \r\n \r\n }}\r\n onChange={(e) => {\r\n if (!disable) {\r\n const filesss = e.target.files\r\n const processFiles = Array.from(e.target.files)\r\n if ((filesss.length + files.length) > numberOfUpload) {\r\n alert(`You can add upto ${numberOfUpload} files only!`)\r\n } else {\r\n let count = 0\r\n processFiles.forEach(element => {\r\n const extension = '.' + element.name.split('.')[(element.name.split('.')).length - 1]\r\n element.label = \"HighSchoolTranscript\";\r\n element.typelabel=\"High School Transcript\"\r\n\r\n for(var i = 0 ; i < acceptArray.length ; i++)\r\n {\r\n if(acceptArray[i].indexOf(extension.toLowerCase()) !==-1)\r\n {\r\n if(Math.round((element.size / 1000000) * 100) / 100 <= maxAttachmentSize)\r\n { \r\n count = 1\r\n break;\r\n }\r\n else\r\n {\r\n alert('Upload Failed,maximum allowed upload size per Attachment was exceeded !')\r\n count = -1\r\n break;\r\n }\r\n }\r\n }\r\n /* if (acceptArray.indexOf(extension) === -1) {\r\n count = 1\r\n }*/\r\n })\r\n if (count === 1) {\r\n this.setState({ files: [...this.state.files, ...Array.from(filesss)], uploadFiles: [...uploadFiles, filesss] })\r\n } else if (count ===0) { alert('Please Upload Supported File Type only!') }\r\n }\r\n }\r\n }}\r\n \r\n accept={acceptFiles} />\r\n {\r\n e.target.value = null\r\n if (disable) {\r\n e.preventDefault()\r\n }\r\n }}\r\n onChange={(e) => {\r\n if (!disable) {\r\n const nationalIDfilesss = e.target.files\r\n const nationalIDProcessFiles = Array.from(e.target.files)\r\n if ((nationalIDfilesss.length + files.length) > numberOfUpload) {\r\n alert(`You can add upto ${numberOfUpload} files only!`)\r\n } else {\r\n let count = 0\r\n nationalIDProcessFiles.forEach(element => {\r\n const extension = '.' + element.name.split('.')[(element.name.split('.')).length - 1]\r\n element.label = \"NationalID\";\r\n element.typelabel = \"National ID or Birth Certificate\"\r\n\r\n for(var i = 0 ; i < acceptArray.length ; i++)\r\n {\r\n if(acceptArray[i].indexOf(extension.toLowerCase()) !==-1)\r\n {\r\n if(Math.round((element.size / 1000000) * 100) / 100 <= maxAttachmentSize)\r\n {\r\n count = 1\r\n break;\r\n }\r\n else\r\n {\r\n alert('Upload Failed,maximum allowed upload size per Attachment was exceeded !')\r\n count = -1\r\n break;\r\n }\r\n }\r\n }\r\n /*if (acceptArray.indexOf(extension) === -1) {\r\n count = 1\r\n }*/\r\n })\r\n if (count === 1) {\r\n this.setState({ files: [...this.state.files,...this.state.nationalIDFiles,\r\n ...Array.from(nationalIDfilesss)], \r\n nationalIDUploadFiles: [...nationalIDUploadFiles, nationalIDfilesss] })\r\n } else if (count === 0) { alert('Please Upload Supported File Type only!') }\r\n }\r\n }\r\n }}\r\n accept={acceptFiles} />\r\n\r\n {\r\n e.target.value = null\r\n if (disable) {\r\n e.preventDefault()\r\n }\r\n }}\r\n onChange={(e) => {\r\n if (!disable) {\r\n const passportfilesss = e.target.files\r\n const passportProcessFiles = Array.from(e.target.files)\r\n if ((passportfilesss.length + files.length) > numberOfUpload) {\r\n alert(`You can add upto ${numberOfUpload} files only!`)\r\n } else {\r\n let count = 0\r\n passportProcessFiles.forEach(element => {\r\n const extension = '.' + element.name.split('.')[(element.name.split('.')).length - 1]\r\n element.label = \"Passport\";\r\n element.typelabel = \"Passport\";\r\n for(var i = 0 ; i < acceptArray.length ; i++)\r\n {\r\n if(acceptArray[i].indexOf(extension.toLowerCase()) !==-1)\r\n {\r\n if(Math.round((element.size / 1000000) * 100) / 100 <= maxAttachmentSize)\r\n {\r\n count = 1\r\n break;\r\n }\r\n else\r\n {\r\n alert('Upload Failed,maximum allowed upload size per Attachment was exceeded !')\r\n count = -1\r\n break;\r\n }\r\n }\r\n }\r\n /*if (acceptArray.indexOf(extension) === -1) {\r\n count = 1\r\n }*/\r\n })\r\n\r\n if (count === 1) {\r\n this.setState({ files: [...this.state.files,...this.state.passportFiles, ...Array.from(passportfilesss)], passportUploadFiles: [...passportUploadFiles, passportfilesss] })\r\n } else if (count === 0) { alert('Please Upload Supported File Type only!') }\r\n }\r\n }\r\n }}\r\n accept={acceptFiles} />\r\n\r\n {\r\n e.target.value = null\r\n if (disable) {\r\n e.preventDefault()\r\n }\r\n }}\r\n onChange={(e) => {\r\n if (!disable) {\r\n const englishAssessmentFilesss = e.target.files\r\n const englishAssessmentProcessFiles = Array.from(e.target.files)\r\n if ((englishAssessmentFilesss.length + files.length) > numberOfUpload) {\r\n alert(`You can add upto ${numberOfUpload} files only!`)\r\n } else {\r\n let count = 0\r\n englishAssessmentProcessFiles.forEach(element => {\r\n const extension = '.' + element.name.split('.')[(element.name.split('.')).length - 1]\r\n element.label = \"EnglishAssessment\";\r\n element.typelabel = \"English Assessment\"\r\n /* if (acceptArray.indexOf(extension) === -1) {\r\n count = 1\r\n }*/\r\n\r\n for(var i = 0 ; i < acceptArray.length ; i++)\r\n {\r\n if(acceptArray[i].indexOf(extension.toLowerCase()) !==-1)\r\n {\r\n if(Math.round((element.size / 1000000) * 100) / 100 <= maxAttachmentSize)\r\n {\r\n count = 1\r\n break;\r\n }\r\n else\r\n {\r\n alert('Upload Failed,maximum allowed upload size per Attachment was exceeded !')\r\n count = -1\r\n break;\r\n }\r\n }\r\n }\r\n })\r\n if (count === 1) {\r\n this.setState({ files: [...this.state.files,...this.state.englishAssessmentFiles, ...Array.from(englishAssessmentFilesss)], englsihAssessmentUploadFiles: [...englsihAssessmentUploadFiles, englishAssessmentFilesss] })\r\n } else if (count === 0) { alert('Please Upload Supported File Type only!') }\r\n }\r\n }\r\n }}\r\n accept={acceptFiles} />\r\n\r\n {\r\n e.target.value = null\r\n if (disable) {\r\n e.preventDefault()\r\n }\r\n }}\r\n onChange={(e) => {\r\n if (!disable) {\r\n const transferfilesss = e.target.files\r\n const transferProcessFiles = Array.from(e.target.files)\r\n if ((transferfilesss.length + files.length) > numberOfUpload) { \r\n alert(`You can add upto ${numberOfUpload} files only!`)\r\n } else {\r\n let count = 0\r\n transferProcessFiles.forEach(element => {\r\n const extension = '.' + element.name.split('.')[(element.name.split('.')).length - 1]\r\n element.label = \"UniversityTranscript\";\r\n element.typelabel = \"University Transcript\"\r\n\r\n /* if (acceptArray.indexOf(extension) === -1) {\r\n count = 1\r\n }*/\r\n for(var i = 0 ; i < acceptArray.length ; i++)\r\n {\r\n if(acceptArray[i].indexOf(extension.toLowerCase()) !==-1)\r\n {\r\n if(Math.round((element.size / 1000000) * 100) / 100 <= maxAttachmentSize)\r\n {\r\n count = 1\r\n break;\r\n }\r\n else\r\n {\r\n alert('Upload Failed,maximum allowed upload size per Attachment was exceeded !')\r\n count = -1\r\n break;\r\n }\r\n }\r\n } \r\n })\r\n\r\n if (count === 1) {\r\n this.setState({ files: [...this.state.files,...this.state.transferFiles, ...Array.from(transferfilesss)], transferUploadFiles: [...transferUploadFiles, transferfilesss] })\r\n\r\n } else if (count === 0) {\r\n alert('Please Upload Supported File Type only!') }\r\n }\r\n }\r\n }}\r\n accept={acceptFiles} />\r\n\r\n\r\n {\r\n e.target.value = null\r\n if (disable) {\r\n e.preventDefault()\r\n }\r\n }}\r\n onChange={(e) => {\r\n if (!disable) {\r\n const courseDescritionfilesss = e.target.files\r\n const courseDescriptionProcessFiles = Array.from(e.target.files)\r\n if ((courseDescritionfilesss.length + files.length) > numberOfUpload) { \r\n alert(`You can add upto ${numberOfUpload} files only!`)\r\n } else {\r\n let count = 0\r\n courseDescriptionProcessFiles.forEach(element => {\r\n const extension = '.' + element.name.split('.')[(element.name.split('.')).length - 1]\r\n element.label = \"CourseDescriptions\";\r\n element.typelabel = \"Course Descriptions\"\r\n\r\n /* if (acceptArray.indexOf(extension) === -1) {\r\n count = 1\r\n }*/\r\n for(var i = 0 ; i < acceptArray.length ; i++)\r\n {\r\n if(acceptArray[i].indexOf(extension.toLowerCase()) !==-1)\r\n {\r\n if(Math.round((element.size / 1000000) * 100) / 100 <= maxAttachmentSize)\r\n {\r\n count = 1\r\n break;\r\n }\r\n else\r\n {\r\n alert('Upload Failed,maximum allowed upload size per Attachment was exceeded !')\r\n count = -1\r\n break;\r\n }\r\n }\r\n } \r\n })\r\n\r\n if (count === 1) {\r\n this.setState({ files: [...this.state.files,...this.state.courseDescriptionsFiles, ...Array.from(courseDescritionfilesss)], courseDescriptionsUploadFiles: [...courseDescriptionsUploadFiles, courseDescritionfilesss] })\r\n\r\n } else if (count === 0) {\r\n alert('Please Upload Supported File Type only!') }\r\n }\r\n }\r\n }}\r\n accept={acceptFiles} />\r\n\r\n\r\n {\r\n e.target.value = null\r\n if (disable) {\r\n e.preventDefault()\r\n }\r\n }}\r\n onChange={(e) => {\r\n if (!disable) {\r\n const gradingSchemefilesss = e.target.files\r\n const gradingSchemeProcessFiles = Array.from(e.target.files)\r\n if ((gradingSchemefilesss.length + files.length) > numberOfUpload) { \r\n alert(`You can add upto ${numberOfUpload} files only!`)\r\n } else {\r\n let count = 0\r\n gradingSchemeProcessFiles.forEach(element => {\r\n const extension = '.' + element.name.split('.')[(element.name.split('.')).length - 1]\r\n element.label = \"GradingScheme\";\r\n element.typelabel = \"Grading Scheme\"\r\n\r\n /* if (acceptArray.indexOf(extension) === -1) {\r\n count = 1\r\n }*/\r\n for(var i = 0 ; i < acceptArray.length ; i++)\r\n {\r\n if(acceptArray[i].indexOf(extension.toLowerCase()) !==-1)\r\n {\r\n if(Math.round((element.size / 1000000) * 100) / 100 <= maxAttachmentSize)\r\n {\r\n count = 1\r\n break;\r\n }\r\n else\r\n {\r\n alert('Upload Failed,maximum allowed upload size per Attachment was exceeded !')\r\n count = -1\r\n break;\r\n }\r\n }\r\n } \r\n })\r\n\r\n if (count === 1) {\r\n this.setState({ files: [...this.state.files,...this.state.gradingSchemeFiles, ...Array.from(gradingSchemefilesss)], gradingSchemeUploadFiles: [...gradingSchemeUploadFiles, gradingSchemefilesss] })\r\n\r\n } else if (count === 0) {\r\n alert('Please Upload Supported File Type only!') }\r\n }\r\n }\r\n }}\r\n accept={acceptFiles} />\r\n\r\n {\r\n e.target.value = null\r\n if (disable) {\r\n e.preventDefault()\r\n }\r\n }}\r\n onChange={(e) => {\r\n if (!disable) {\r\n const personalPicFilesss = e.target.files\r\n const personalPicProcessFiles = Array.from(e.target.files)\r\n if ((personalPicFilesss.length + files.length) > numberOfUpload) { \r\n alert(`You can add upto ${numberOfUpload} files only!`)\r\n } else {\r\n let count = 0\r\n personalPicProcessFiles.forEach(element => {\r\n const extension = '.' + element.name.split('.')[(element.name.split('.')).length - 1]\r\n element.label = \"PersonalPicture\";\r\n element.typelabel = \"Passport Size Photo\"\r\n\r\n /* if (acceptArray.indexOf(extension) === -1) {\r\n count = 1\r\n }*/\r\n for(var i = 0 ; i < acceptArray.length ; i++)\r\n {\r\n if(acceptArray[i].indexOf(extension.toLowerCase()) !==-1)\r\n {\r\n if(Math.round((element.size / 1000000) * 100) / 100 <= maxAttachmentSize)\r\n {\r\n count = 1\r\n break;\r\n }\r\n else\r\n {\r\n alert('Upload Failed,maximum allowed upload size per Attachment was exceeded !')\r\n count = -1\r\n break;\r\n }\r\n }\r\n } \r\n })\r\n\r\n if (count === 1) {\r\n this.setState({ files: [...this.state.files,...this.state.personalPicFiles, ...Array.from(personalPicFilesss)], personalPicUploadFiles: [...personalPicUploadFiles, personalPicFilesss] })\r\n\r\n } else if (count === 0) {\r\n alert('Please Upload Supported File Type only!') }\r\n }\r\n }\r\n }}\r\n accept={acceptFiles} />\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
File:\r\n \r\n
File:\r\n \r\n \r\n \r\n
File:\r\n \r\n \r\n \r\n
File:\r\n \r\n \r\n
File:\r\n \r\n \r\n
File:\r\n \r\n \r\n
File:\r\n \r\n \r\n
File:\r\n \r\n \r\n
\r\n
\r\n
this.setState({ showModal: true })} style={{ cursor: 'pointer' }} />\r\n\r\n
\r\n {error &&

{error}

}\r\n {showFiles.length ?
{\r\n if (disable) {\r\n return\r\n }\r\n console.log('')\r\n }}>\r\n

Your Attachments

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showFiles}\r\n \r\n
NameTypeSize (MB)TypeDelete
\r\n
\r\n

Total Size : {Math.round((total / 1000000) * 100) / 100}

\r\n
:
You haven't uploaded any documents yet.
\r\n }\r\n this.setState({ disable: true })} */\r\n onClick={this.handleSubmit}\r\n disabled={disable || submitLoading}\r\n >\r\n {submitLoading ? \"Loading...\" : 'Submit'}\r\n \r\n {showModal\r\n ?
\r\n
\r\n
\r\n

Supported File Types

\r\n

this.setState({ showModal: false })} style={{ cursor: 'pointer' }}>x

\r\n
\r\n
\r\n
    \r\n {accepts.map(element => {\r\n return
  • {element.name}
  • \r\n })}\r\n
\r\n
\r\n
\r\n
: null}\r\n
\r\n
\r\n
\r\n )\r\n \r\n \r\n \r\n \r\n \r\n }\r\n}\r\nUploadDocuments.propTypes = {\r\n onClick: PropTypes.func.isRequired,\r\n incompleteApplicationId: PropTypes.number,\r\n token: PropTypes.string,\r\n history: PropTypes.object.isRequired\r\n}\r\n","import React, { Component } from 'react'\r\nimport loading from '../loading.gif'\r\nexport default class Loading extends Component {\r\n render () {\r\n return (\r\n \"Loading...\"\r\n )\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport InputRow from \"./InputRow\";\r\nimport Loading from \"./Loading\";\r\nexport default class AcademicInterest extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n entryTermData: [],\r\n selectedEntryTerm: 0,\r\n programsData: [],\r\n selectedProgram: 0,\r\n majorsData: [],\r\n\r\n selectedMajor: 1,\r\n selectedUniversity: 0,\r\n universityData: [],\r\n universityData2: [],\r\n selectedSecondUniversity: 0,\r\n universitySecondData: [],\r\n selectedSecondProgram: 0,\r\n programsSecondData: [],\r\n selectedSecondMajor: 0,\r\n majorSecondData: [],\r\n loading: true,\r\n description: \"\",\r\n secondDescription: \"\",\r\n selectedLevel: 0,\r\n levelData: [],\r\n levelFoundationData: [],\r\n selectedSecondLevel: 0,\r\n levelSecondData: [],\r\n isFoundation: false,\r\n foundationId: 0,\r\n preferredCampus: \"\",\r\n isPopup: false,\r\n isWestEnabled: false,\r\n isclear: false,\r\n };\r\n\r\n this.handleProgramSelect = this.handleProgramSelect.bind(this);\r\n this.handleSecondProgramSelect = this.handleSecondProgramSelect.bind(this);\r\n this.fetchLevel = this.fetchLevel.bind(this);\r\n this.fetchSecondLevel = this.fetchSecondLevel.bind(this);\r\n this.changeForFoundation = this.changeForFoundation.bind(this);\r\n this.changeForFoundationSecondLevel =\r\n this.changeForFoundationSecondLevel.bind(this);\r\n }\r\n static getDerivedStateFromProps(props, state) {\r\n const {\r\n majorsData,\r\n selectedProgram,\r\n selectedMajor,\r\n selectedEntryTerm,\r\n loading,\r\n error,\r\n entryTermData,\r\n description,\r\n selectedUniversity,\r\n universityData,\r\n selectedSecondUniversity,\r\n universitySecondData,\r\n selectedSecondProgram,\r\n selectedSecondMajor,\r\n majorSecondData,\r\n secondDescription,\r\n selectedLevel,\r\n levelData,\r\n selectedSecondLevel,\r\n levelSecondData,\r\n isFoundation,\r\n foundationId,\r\n levelFoundationData,\r\n preferredCampus,\r\n isPopup,\r\n } = state;\r\n let foundationRow = [];\r\n if (\r\n props.isFoundation !== state.isFoundation &&\r\n props.isFoundation == true\r\n ) {\r\n const foundationRow = state.levelData.find((obj) => {\r\n return obj.value === \"FOUNDATION\";\r\n });\r\n let foundationId = 0;\r\n let foundationRows = [];\r\n if (\r\n [\"\", null, undefined, 0, []].indexOf(parseInt(foundationRow)) &&\r\n foundationRow !== undefined\r\n ) {\r\n foundationId = foundationRow.Id;\r\n foundationRows = [foundationRow];\r\n } else {\r\n foundationId = 0;\r\n foundationRows = [];\r\n }\r\n if (\r\n props.isFoundation &&\r\n props.selectedSecondMajor !== \"\" &&\r\n props.selectedSecondMajor !== null &&\r\n props.selectedSecondMajor !== undefined\r\n ) {\r\n props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: selectedMajor,\r\n description: description,\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: selectedSecondMajor,\r\n secondDescription: secondDescription,\r\n selectedLevel: \"\",\r\n selectedSecondLevel: selectedSecondLevel,\r\n preferredCampus: preferredCampus,\r\n });\r\n return {\r\n isFoundation: props.isFoundation,\r\n levelFoundationData: foundationRows,\r\n foundationId: foundationId,\r\n selectedLevel: \"\",\r\n selectedSecondLevel: \"\",\r\n };\r\n } else {\r\n return {\r\n isFoundation: props.isFoundation,\r\n levelFoundationData: foundationRows,\r\n foundationId: foundationId,\r\n selectedLevel: \"\",\r\n /* levelData: foundationRows*/\r\n };\r\n }\r\n } else if (\r\n props.isFoundation !== state.isFoundation &&\r\n props.isFoundation == false\r\n ) {\r\n return {\r\n isFoundation: props.isFoundation,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n changeForFoundation() {\r\n let foundationRow = [];\r\n if (this.props.isFoundation == true) {\r\n foundationRow = this.state.levelData.find((obj) => {\r\n return obj.value === \"FOUNDATION\";\r\n });\r\n let foundationId = 0;\r\n let foundationRows = [];\r\n\r\n if (\r\n [\"\", null, undefined, 0, []].indexOf(parseInt(foundationRow)) &&\r\n foundationRow !== undefined\r\n ) {\r\n foundationId = foundationRow.Id;\r\n foundationRows = [foundationRow];\r\n } else {\r\n foundationId = 0;\r\n foundationRows = [];\r\n }\r\n\r\n this.setState({\r\n isFoundation: this.props.isFoundation,\r\n levelFoundationData: foundationRows,\r\n foundationId: foundationId,\r\n //selectedLevel: foundationId,\r\n /* levelData: foundationRows*/\r\n });\r\n } else if (this.props.isFoundation == false) {\r\n this.setState({\r\n isFoundation: this.props.isFoundation,\r\n });\r\n }\r\n }\r\n\r\n changeForFoundationSecondLevel() {\r\n let foundationRow = [];\r\n if (this.props.isFoundation == true) {\r\n foundationRow = this.state.levelSecondData.find((obj) => {\r\n return obj.value === \"FOUNDATION\";\r\n });\r\n let foundationId = 0;\r\n let foundationRows = [];\r\n\r\n if (\r\n [\"\", null, undefined, 0, []].indexOf(parseInt(foundationRow)) &&\r\n foundationRow !== undefined\r\n ) {\r\n foundationId = foundationRow.Id;\r\n foundationRows = [foundationRow];\r\n } else {\r\n foundationId = 0;\r\n foundationRows = [];\r\n }\r\n this.setState({\r\n isFoundation: this.props.isFoundation,\r\n levelFoundationData: foundationRows,\r\n foundationId: foundationId,\r\n //selectedSecondLevel: foundationId,\r\n /* levelData: foundationRows*/\r\n });\r\n } else if (this.props.isFoundation == false) {\r\n this.setState({\r\n isFoundation: this.props.isFoundation,\r\n });\r\n }\r\n }\r\n componentDidMount() {\r\n fetch(`${process.env.REACT_APP_API_URL}/api/AcademicInterest/GetEntryTerm`)\r\n .then((res) => res.json())\r\n .then((res) => {\r\n this.setState({\r\n entryTermData: res,\r\n selectedEntryTerm: res.includes(this.props.entryTerm)\r\n ? this.props.entryTerm\r\n : 0,\r\n });\r\n this.handleProgramSelect(1);\r\n this.handleSecondProgramSelect(1);\r\n this.fetchLevel(this.props.description, this.props.preferredCampus);\r\n this.fetchSecondLevel(\r\n this.props.secondDescription,\r\n this.props.preferredCampus\r\n );\r\n })\r\n .catch((err) => console.log(err))\r\n\r\n .catch((err) => console.log(err))\r\n .then(() =>\r\n fetch(\r\n `${process.env.REACT_APP_API_URL}/api/AcademicInterest/GetPopulation`\r\n )\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n this.setState({\r\n universityData: res,\r\n universityData2: res,\r\n selectedUniversity: this.props.selectedUniversity || \"\",\r\n });\r\n this.setState({\r\n universitySecondData: res,\r\n selectedSecondUniversity: this.props.selectedSecondUniversity || \"\",\r\n });\r\n //this.handleProgramSelect(this.props.selectedProgram,this.props.selectedUniversity)\r\n //this.handleSecondProgramSelect(this.props.selectedSecondProgram,this.props.selectedSecondUniversity)\r\n this.setState({ preferredCampus: this.props.preferredCampus });\r\n if (\r\n [\"\", null, undefined, 0].indexOf(\r\n parseInt(this.props.selectedProgram)\r\n ) === -1 &&\r\n [\"\", null, undefined, 0].indexOf(\r\n parseInt(this.props.selectedUniversity)\r\n ) === -1\r\n ) {\r\n fetch(\r\n `${process.env.REACT_APP_API_URL}/api/AcademicInterest/GetMajors?programId=` +\r\n this.props.selectedProgram +\r\n `&populationId=` +\r\n this.props.selectedUniversity +\r\n `&campus=` +\r\n this.props.preferredCampus\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n this.setState({ majorsData: res });\r\n if (res.length) {\r\n if (\r\n parseInt(this.props.selectedProgram) ===\r\n parseInt(this.props.selectedProgram)\r\n ) {\r\n let setVal = \"\";\r\n res.forEach((element) => {\r\n if (element.value === this.props.description) {\r\n const { selectedEntryTerm } = this.state;\r\n this.setState({\r\n selectedMajor: element.Id,\r\n description: this.props.description,\r\n selectedLevel: this.props.selectedLevel,\r\n });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: this.props.selectedProgram,\r\n selectedMajor: element.Id,\r\n description: this.props.description,\r\n selectedUniversity: this.props.selectedUniversity,\r\n selectedSecondUniversity:\r\n this.props.selectedSecondUniversity,\r\n selectedSecondProgram: this.props.selectedSecondProgram,\r\n selectedSecondMajor: this.props.selectedSecondMajor,\r\n secondDescription: this.props.secondDescription,\r\n selectedLevel: this.props.selectedLevel,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n isFoundation: this.props.isFoundation,\r\n preferredCampus: this.props.preferredCampus,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n if (\r\n [\"\", null, undefined, 0].indexOf(\r\n parseInt(this.props.selectedSecondProgram)\r\n ) === -1 &&\r\n [\"\", null, undefined, 0].indexOf(\r\n parseInt(this.props.selectedSecondUniversity)\r\n ) === -1\r\n ) {\r\n fetch(\r\n `${process.env.REACT_APP_API_URL}/api/AcademicInterest/GetMajors?programId=` +\r\n this.props.selectedSecondProgram +\r\n `&populationId=` +\r\n this.props.selectedSecondUniversity +\r\n `&campus=` +\r\n this.props.preferredCampus\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n this.setState({ majorSecondData: res });\r\n if (res.length) {\r\n if (\r\n parseInt(this.props.selectedSecondProgram) ===\r\n parseInt(this.props.selectedSecondProgram)\r\n ) {\r\n let setVal = \"\";\r\n res.forEach((element) => {\r\n if (element.value === this.props.secondDescription) {\r\n this.setState({\r\n selectedSecondMajor: element.Id,\r\n secondDescription: this.props.secondDescription,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n });\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n })\r\n .then(() =>\r\n fetch(\r\n `${process.env.REACT_APP_API_URL}/api/AcademicInterest/CheckWestCampus`\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n if (this.props.preferredCampus === \"West\" && res === false) {\r\n this.props.changePopup(\"WestRemoved\");\r\n this.setState({ isWestEnabled: res, preferredCampus: \"\" });\r\n }\r\n this.setState({ isWestEnabled: res });\r\n })\r\n )\r\n .catch((err) => console.log(err));\r\n }\r\n\r\n fetchLevel(val, camp) {\r\n var level = fetch(\r\n `${process.env.REACT_APP_API_URL}/api/AcademicInterest/GetLevels?programOfStudy=${val}&campus=${camp}`\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n this.setState({ levelData: res });\r\n if (res.length) {\r\n //this.setState({ selectedLevel: this.props.selectedLevel})\r\n return \"\";\r\n }\r\n })\r\n .then((res) => {\r\n this.changeForFoundation();\r\n })\r\n .catch((err) => console.log(err));\r\n return level;\r\n }\r\n\r\n fetchSecondLevel(val, camp) {\r\n var secondLevel = fetch(\r\n `${process.env.REACT_APP_API_URL}/api/AcademicInterest/GetLevels?programOfStudy=${val}&campus=${camp}`\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n this.setState({ levelSecondData: res });\r\n if (res.length) {\r\n //this.setState({ selectedSecondLevel: this.props.selectedSecondLevel})\r\n return \"\";\r\n }\r\n })\r\n .then((res) => {\r\n this.changeForFoundationSecondLevel();\r\n })\r\n .catch((err) => console.log(err));\r\n return secondLevel;\r\n }\r\n\r\n handleCampusSelect(camp) {\r\n const { universityData2, selectedUniversity } = this.state;\r\n\r\n //console.log(universityData2)\r\n fetch(\r\n `${process.env.REACT_APP_API_URL}/api/AcademicInterest/getActiveUniversities?campus=${camp}`\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n let uni = universityData2.slice();\r\n if (res.length) {\r\n res.forEach((element) => {\r\n uni.forEach((element2) => {\r\n if (element == element2.Id) {\r\n uni.splice(\r\n uni.findIndex(function (i) {\r\n return i.Id === element;\r\n }),\r\n 1\r\n );\r\n\r\n this.handleProgramSelect(1, 0, camp);\r\n }\r\n });\r\n });\r\n }\r\n this.setState({ universityData: uni, selectedUniversity: 0 });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: this.state.selectedEntryTerm,\r\n selectedProgram: this.state.selectedProgram,\r\n selectedMajor: this.state.selectedMajor,\r\n //description: description,\r\n description: this.state.description, //descriptions && descriptions.length > 0 ? descriptions[0].value : '',\r\n secondDescription: this.state.secondDescription,\r\n selectedUniversity: 0,\r\n selectedSecondUniversity: this.state.selectedSecondUniversity,\r\n selectedLevel: this.state.selectedLevel,\r\n selectedSecondProgram: this.state.selectedSecondProgram,\r\n selectedSecondMajor: this.state.selectedSecondMajor,\r\n selectedSecondLevel: this.state.selectedSecondLevel,\r\n preferredCampus: this.state.preferredCampus,\r\n });\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n handleProgramSelect(e, val, camp) {\r\n const { selectedEntryTerm } = this.state;\r\n this.setState({ selectedProgram: e });\r\n // fetch data of majors and set its state here\r\n fetch(\r\n `${process.env.REACT_APP_API_URL}/api/AcademicInterest/GetMajors?programId=${e}&populationId=${val}&campus=${camp}`\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n this.setState({ majorsData: res });\r\n if (res.length) {\r\n if (parseInt(e) === parseInt(this.props.selectedProgram)) {\r\n let setVal = \"\";\r\n res.forEach((element) => {\r\n if (element.value === this.props.description) {\r\n setVal = element.Id;\r\n }\r\n });\r\n this.setState({\r\n selectedMajor: setVal,\r\n description: this.props.description,\r\n loading: false,\r\n selectedLevel: this.props.selectedLevel,\r\n });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: e,\r\n selectedMajor: setVal,\r\n description: this.props.description,\r\n selectedUniversity: this.props.selectedUniversity,\r\n selectedSecondUniversity: this.props.selectedSecondUniversity,\r\n selectedSecondProgram: this.props.selectedSecondProgram,\r\n selectedSecondMajor: this.props.selectedSecondMajor,\r\n secondDescription: this.props.secondDescription,\r\n selectedLevel: this.props.selectedLevel,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n preferredCampus: this.props.preferredCampus,\r\n });\r\n } else {\r\n this.setState({\r\n selectedMajor: \"\",\r\n description: \"\",\r\n loading: false,\r\n selectedLevel: this.props.selectedLevel,\r\n });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: e,\r\n selectedMajor: \"\",\r\n description: \"\",\r\n selectedUniversity: this.props.selectedUniversity,\r\n selectedSecondUniversity: this.props.selectedSecondUniversity,\r\n selectedSecondProgram: this.props.selectedSecondProgram,\r\n selectedSecondMajor: this.props.selectedSecondMajor,\r\n secondDescription: this.props.secondDescription,\r\n selectedLevel: this.props.selectedLevel,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n preferredCampus: this.props.preferredCampus,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n selectedMajor: \"\",\r\n description: \"\",\r\n loading: false,\r\n selectedLevel: this.props.selectedLevel,\r\n });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: e,\r\n selectedMajor: \"\",\r\n description: \"\",\r\n selectedUniversity: this.props.selectedUniversity,\r\n selectedSecondUniversity: this.props.selectedSecondUniversity,\r\n selectedSecondProgram: this.props.selectedSecondProgram,\r\n selectedSecondMajor: this.props.selectedSecondMajor,\r\n secondDescription: this.props.secondDescription,\r\n selectedLevel: this.props.selectedLevel,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n preferredCampus: this.props.preferredCampus,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n handleSecondProgramSelect(e, val, camp) {\r\n const { selectedEntryTerm } = this.state;\r\n this.setState({ selectedSecondProgram: e });\r\n\r\n // fetch data of majors and set its state here\r\n fetch(\r\n `${process.env.REACT_APP_API_URL}/api/AcademicInterest/GetMajors?programId=${e}&populationId=${val}&campus=${camp}`\r\n )\r\n .then((res) => res.json())\r\n .then((res) => {\r\n this.setState({ majorSecondData: res });\r\n if (res.length) {\r\n if (parseInt(e) === parseInt(this.props.selectedSecondProgram)) {\r\n let setVal = \"\";\r\n res.forEach((element) => {\r\n if (element.value === this.props.secondDescription) {\r\n setVal = element.Id;\r\n }\r\n });\r\n this.setState({\r\n selectedSecondMajor: setVal,\r\n secondDescription: this.props.secondDescription,\r\n loading: false,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: this.props.selectedProgram,\r\n selectedMajor: this.state.selectedMajor,\r\n description: this.props.description,\r\n selectedUniversity: this.props.selectedUniversity,\r\n selectedSecondUniversity: this.props.selectedSecondUniversity,\r\n selectedSecondProgram: e,\r\n selectedSecondMajor: setVal,\r\n secondDescription: this.props.secondDescription,\r\n selectedLevel: this.props.selectedLevel,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n preferredCampus: this.props.preferredCampus,\r\n });\r\n } else {\r\n this.setState({\r\n selectedSecondMajor: \"\",\r\n secondDescription: \"\",\r\n loading: false,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: e,\r\n selectedMajor: this.props.selectedMajor,\r\n description: this.props.description,\r\n selectedUniversity: this.props.selectedUniversity,\r\n selectedSecondUniversity: this.props.selectedSecondUniversity,\r\n selectedSecondProgram: this.props.selectedSecondProgram,\r\n selectedSecondMajor: \"\",\r\n secondDescription: \"\",\r\n selectedLevel: this.props.selectedLevel,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n preferredCampus: this.props.preferredCampus,\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n selectedSecondMajor: \"\",\r\n secondDescription: \"\",\r\n loading: false,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: e,\r\n selectedMajor: this.props.selectedMajor,\r\n description: this.props.description,\r\n selectedUniversity: this.props.selectedUniversity,\r\n selectedSecondUniversity: this.props.selectedSecondUniversity,\r\n selectedSecondProgram: this.props.selectedSecondProgram,\r\n selectedSecondMajor: \"\",\r\n secondDescription: \"\",\r\n selectedLevel: this.props.selectedLevel,\r\n selectedSecondLevel: this.props.selectedSecondLevel,\r\n preferredCampus: this.props.preferredCampus,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n\r\n render() {\r\n if (this.state.isclear == false) {\r\n const { preferredCampus } = this.state;\r\n\r\n console.log(preferredCampus);\r\n if (preferredCampus != null && preferredCampus != \"\") {\r\n this.handleCampusSelect(preferredCampus.toString());\r\n this.setState({ isclear: true });\r\n }\r\n }\r\n\r\n const validationError = this.props.error;\r\n\r\n const {\r\n majorsData,\r\n selectedProgram,\r\n selectedMajor,\r\n selectedEntryTerm,\r\n loading,\r\n error,\r\n entryTermData,\r\n description,\r\n selectedUniversity,\r\n universityData,\r\n selectedSecondUniversity,\r\n universitySecondData,\r\n selectedSecondProgram,\r\n selectedSecondMajor,\r\n majorSecondData,\r\n secondDescription,\r\n selectedLevel,\r\n levelData,\r\n selectedSecondLevel,\r\n levelSecondData,\r\n isFoundation,\r\n foundationId,\r\n levelFoundationData,\r\n preferredCampus,\r\n isPopup,\r\n isWestEnabled,\r\n } = this.state;\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n return (\r\n
\r\n
\r\n {error &&

{error}

}\r\n
\r\n

\r\n {\" \"}\r\n \r\n Preferred Campus Location\r\n \r\n *\r\n

\r\n

\r\n {validationError.preferredCampus\r\n ? validationError.preferredCampus\r\n : \"\"}\r\n

\r\n
\r\n {\r\n this.setState({ preferredCampus: \"East\", isPopup: false });\r\n\r\n const descriptions = universityData.filter(\r\n (element) => element.Id === parseInt(selectedUniversity)\r\n );\r\n const descriptionss = universityData.filter(\r\n (element) =>\r\n element.Id === parseInt(selectedSecondUniversity)\r\n );\r\n\r\n if (descriptions.length > 0) {\r\n this.handleProgramSelect(1, descriptions[0].Id, \"East\");\r\n }\r\n if (descriptionss.length > 0) {\r\n this.handleSecondProgramSelect(\r\n 1,\r\n descriptionss[0].Id,\r\n \"East\"\r\n );\r\n }\r\n this.handleCampusSelect(\"East\");\r\n this.props.changePopup(false);\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: selectedMajor,\r\n description: description,\r\n secondDescription: secondDescription,\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: selectedSecondMajor,\r\n selectedLevel: selectedLevel,\r\n selectedSecondLevel: selectedSecondLevel,\r\n preferredCampus: \"East\", //''\r\n });\r\n }}\r\n name=\"eastWest\"\r\n checked={preferredCampus === \"East\" ? true : false}\r\n style={{ minWidth: \"auto\" }}\r\n />\r\n TKH East\r\n
\r\n \r\n New Administrative Capital\r\n \r\n
\r\n
\r\n\r\n {isWestEnabled == true ? (\r\n
\r\n {\r\n this.setState({ preferredCampus: \"West\", isPopup: true });\r\n\r\n const descriptions = universityData.filter(\r\n (element) => element.Id === parseInt(selectedUniversity)\r\n );\r\n const descriptionss = universityData.filter(\r\n (element) =>\r\n element.Id === parseInt(selectedSecondUniversity)\r\n );\r\n\r\n if (descriptions.length > 0) {\r\n this.handleProgramSelect(1, descriptions[0].Id, \"West\");\r\n }\r\n if (descriptionss.length > 0) {\r\n this.handleSecondProgramSelect(\r\n 1,\r\n descriptionss[0].Id,\r\n \"West\"\r\n );\r\n }\r\n this.handleCampusSelect(\"West\");\r\n this.props.changePopup(true);\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: selectedMajor,\r\n description: description,\r\n secondDescription: secondDescription,\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: selectedSecondMajor,\r\n selectedLevel: selectedLevel,\r\n selectedSecondLevel: selectedSecondLevel,\r\n preferredCampus: \"West\",\r\n });\r\n }}\r\n name=\"eastWest\"\r\n checked={preferredCampus === \"West\" ? true : false}\r\n style={{ minWidth: \"auto\" }}\r\n />\r\n TKH West\r\n
\r\n \r\n New Zayed City\r\n \r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n First Choice\r\n {\" \"}\r\n
\r\n
\r\n {\r\n const descriptions2 = universityData.filter(\r\n (element) => element.Id === parseInt(e)\r\n );\r\n this.setState({ selectedUniversity: e });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: selectedMajor,\r\n //description: description,\r\n description: description, //descriptions && descriptions.length > 0 ? descriptions[0].value : '',\r\n secondDescription: secondDescription,\r\n selectedUniversity:\r\n descriptions2 && descriptions2.length > 0\r\n ? descriptions2[0].value\r\n : \"\",\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedLevel: selectedLevel,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: selectedSecondMajor,\r\n selectedSecondLevel: selectedSecondLevel,\r\n preferredCampus: preferredCampus,\r\n });\r\n\r\n this.setState({ selectedUniversity: e, selectedMajor: \"\" });\r\n if (descriptions2.length > 0) {\r\n this.handleProgramSelect(\r\n 1,\r\n descriptions2[0].Id,\r\n preferredCampus\r\n );\r\n }\r\n }}\r\n />\r\n\r\n {\r\n // this.handleProgramSelect(1)\r\n this.setState({ selectedEntryTerm: e });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: e,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: selectedMajor,\r\n description: description,\r\n //seconddescription : secondDescription,\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: selectedSecondMajor,\r\n secondDescription: secondDescription,\r\n selectedLevel: selectedLevel,\r\n selectedSecondLevel: selectedSecondLevel,\r\n preferredCampus: preferredCampus,\r\n });\r\n }}\r\n // hover=\"Please select the term you're interested in. Fall semester is the semester that starts in September. يرجى تحديد المدة التي تهتم بها. الفصل الدراسي الخريف هو الفصل الدراسي الذي يبدأ في سبتمبر. \"\r\n />\r\n {(selectedEntryTerm === \"1018\" || selectedEntryTerm === 1018) &&\r\n (selectedUniversity === 3 || selectedUniversity === \"3\") ? (\r\n

\r\n Kindly note that NOVA University Lisbon admission is ONLY\r\n available for the First Semester of the academic year 2025/2026,\r\n which commences in September 2025. If you apply to the Second\r\n Semester, you will be automatically considered for the First\r\n Semester of the academic year 2025/2026\r\n

\r\n ) : null}\r\n\r\n {\r\n const descriptions = majorsData.filter(\r\n (element) => element.Id === parseInt(e)\r\n );\r\n\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: e,\r\n description:\r\n descriptions && descriptions.length > 0\r\n ? descriptions[0].value\r\n : \"\",\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: selectedSecondMajor,\r\n secondDescription: secondDescription,\r\n selectedLevel: \"\",\r\n selectedSecondLevel: selectedSecondLevel,\r\n preferredCampus: preferredCampus,\r\n });\r\n this.setState({\r\n selectedMajor: e,\r\n description:\r\n descriptions && descriptions.length > 0\r\n ? descriptions[0].value\r\n : \"\",\r\n selectedLevel: \"\",\r\n });\r\n // this.setState({ selectedMajor: e, description: descriptions && descriptions.length > 0 ? descriptions[0].value : '' })\r\n if (descriptions.length > 0) {\r\n this.fetchLevel(descriptions[0].value, preferredCampus);\r\n }\r\n }}\r\n />\r\n\r\n {\r\n this.setState({ selectedLevel: e });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: selectedMajor,\r\n description: description,\r\n secondDescription: secondDescription,\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: selectedSecondMajor,\r\n selectedLevel: e,\r\n selectedSecondLevel: selectedSecondLevel,\r\n preferredCampus: preferredCampus,\r\n });\r\n // this.setState({ selectedMajor: selectedMajor, description: description })\r\n }}\r\n />\r\n
\r\n {selectedLevel === \"14\" ? (\r\n

\r\n Please note that your selection of entry into Year 3/Level 6 will\r\n be approved on a case-by-case basis, depending on the programme\r\n you are applying for. If your enrolment into Year 3/Level 6 is not\r\n approved by Coventry University, your application will be\r\n considered for enrolment into Year 2/Level 5, or Year 1/Level 4\r\n

\r\n ) : null}\r\n {selectedLevel === \"11\" &&\r\n (description.includes(\"/ BENG /\") ||\r\n description.includes(\"Engineering\")) ? (\r\n

\r\n The Year 1 entry selection process for the School of Engineering\r\n is solely applicable to transfer students from accredited\r\n institutions of higher education. If You are applying to the\r\n School of Engineering based on your high-school grades, you will\r\n be automatically considered for Foundation Year due to equivalency\r\n requirements.\r\n

\r\n ) : null}\r\n \r\n Second Choice\r\n {\" \"}\r\n
\r\n
\r\n {\r\n const descriptions1 = universityData.filter(\r\n (element) => element.Id === parseInt(e)\r\n );\r\n this.setState({ selectedSecondUniversity: e });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: selectedMajor,\r\n description: description,\r\n secondDescription: secondDescription,\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: e,\r\n selectedLevel: selectedLevel,\r\n selectedSecondLevel: selectedSecondLevel,\r\n preferredCampus: preferredCampus,\r\n });\r\n\r\n this.setState({\r\n selectedSecondUniversity: e,\r\n selectedSecondMajor: \"\",\r\n });\r\n if (descriptions1.length > 0) {\r\n this.handleSecondProgramSelect(\r\n 1,\r\n descriptions1[0].Id,\r\n preferredCampus\r\n );\r\n }\r\n }}\r\n />\r\n\r\n {\r\n const desc = majorSecondData.filter(\r\n (element) => element.Id === parseInt(e)\r\n );\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: selectedMajor,\r\n description: description,\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: e,\r\n secondDescription:\r\n desc && desc.length > 0 ? desc[0].value : \"\",\r\n selectedLevel: selectedLevel,\r\n selectedSecondLevel: \"\",\r\n preferredCampus: preferredCampus,\r\n });\r\n\r\n this.setState({\r\n selectedSecondMajor: e,\r\n secondDescription:\r\n desc && desc.length > 0 ? desc[0].value : \"\",\r\n selectedSecondLevel: \"\",\r\n });\r\n\r\n if (desc[0].Id == selectedMajor) {\r\n this.setState({ selectedSecondMajor: \"\" });\r\n alert(\"You cannot choose the same Program\");\r\n // this.setState({ pedError: 'Please enter a valid Passport expiry Date conditions.' , passportExpiryDate: ''})\r\n return \"\";\r\n }\r\n\r\n // this.setState({selectedSecondMajor: e, secondDescription: desc && desc.length > 0 ? desc[0].value : ''})\r\n if (desc.length > 0) {\r\n this.fetchSecondLevel(desc[0].value, preferredCampus);\r\n }\r\n }}\r\n />\r\n\r\n {\r\n this.setState({ selectedSecondLevel: e });\r\n this.props.collectState(\"AI\", {\r\n selectedEntryTerm: selectedEntryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: selectedMajor,\r\n description: description,\r\n secondDescription: secondDescription,\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: selectedSecondMajor,\r\n selectedLevel: selectedLevel,\r\n selectedSecondLevel: e,\r\n preferredCampus: preferredCampus,\r\n });\r\n //this.setState({ selectedSecondMajor: selectedSecondMajor, secondDescription: secondDescription })\r\n }}\r\n />\r\n
\r\n {selectedSecondLevel === \"14\" ? (\r\n

\r\n Please note that your selection of entry into Year 3/Level 6 will\r\n be approved on a case-by-case basis, depending on the programme\r\n you are applying for. If your enrolment into Year 3/Level 6 is not\r\n approved by Coventry University, your application will be\r\n considered for enrolment into Year 2/Level 5, or Year 1/Level 4\r\n

\r\n ) : null}\r\n {selectedSecondLevel === \"11\" &&\r\n (secondDescription.includes(\"/ BENG /\") ||\r\n secondDescription.includes(\"Engineering\")) ? (\r\n

\r\n The Year 1 entry selection process for the School of Engineering\r\n is solely applicable to transfer students from accredited\r\n institutions of higher education. If You are applying to the\r\n School of Engineering based on your high-school grades, you will\r\n be automatically considered for Foundation Year due to equivalency\r\n requirements.2\r\n

\r\n ) : null}\r\n
\r\n\r\n {\r\n this.props.onSave();\r\n }}\r\n >\r\n Next\r\n \r\n
\r\n );\r\n }\r\n}\r\nAcademicInterest.propTypes = {\r\n onSave: PropTypes.func.isRequired,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n selectedProgram: PropTypes.number,\r\n selectedUniversity: PropTypes.number,\r\n selectedSecondProgram: PropTypes.number,\r\n selectedSecondUniversity: PropTypes.number,\r\n entryTerm: PropTypes.number,\r\n description: PropTypes.string,\r\n secondDescription: PropTypes.string,\r\n collectState: PropTypes.func,\r\n error: PropTypes.object,\r\n isFoundation: PropTypes.bool,\r\n changePopup: PropTypes.func,\r\n preferredCampus: PropTypes.string,\r\n};\r\n","import React, { Component } from 'react'\r\nimport InputRow from './InputRow'\r\nimport Loading from './Loading'\r\nimport PropTypes from 'prop-types'\r\nexport default class GovernmentInformation extends Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n passportNumber: '',\r\n passportCountry: '',\r\n passportExpiryDate: (this.props.passportExpiry.split('T'))[0] || '',\r\n nationalNumber: '',\r\n error: '',\r\n pedError: '',\r\n loading: true\r\n\r\n }\r\n\r\n this.isNumeric = this.isNumeric.bind(this)\r\n }\r\n\r\n \r\n\r\n componentDidMount () {\r\n let passportDate = ''\r\n if (this.props.passportExpiry) {\r\n const date = new Date(this.props.passportExpiry)\r\n let month = date.getMonth() + 1\r\n let day = date.getDate()\r\n let year = date.getFullYear()\r\n if (month < 10) {\r\n month = '0' + month\r\n }\r\n if (day < 10) {\r\n day = '0' + day\r\n }\r\n if (year < 10) {\r\n year = '000' + year\r\n } else if (year < 100) {\r\n year = '00' + year\r\n } else if (year < 1000) {\r\n year = '0' + year\r\n }\r\n passportDate = year + '-' + month + '-' + day\r\n }\r\n this.setState({\r\n nationalNumber: this.props.nationalIdNumber,\r\n passportNumber: this.props.passportNumber,\r\n passportCountry: this.props.passportCountry,\r\n passportExpiryDate: passportDate || '',\r\n loading: false\r\n })\r\n }\r\n\r\n isNumeric(number) {\r\n if (+number === +number) { // if is a number\r\n return true;\r\n }\r\n \r\n return false;\r\n }\r\n\r\n renderForeign () {\r\n const validationError = this.props.error\r\n const { passportNumber, passportCountry, passportExpiryDate ,pedError } = this.state\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ passportNumber: val })\r\n this.props.collectState('GI', {\r\n passportNumber: val,\r\n passportCountry: passportCountry,\r\n passportExpiryDate: passportExpiryDate,\r\n nationalNumber: ''\r\n })\r\n }}\r\n />\r\n {\r\n this.setState({ passportCountry: val })\r\n this.props.collectState('GI', {\r\n passportNumber: passportNumber,\r\n passportCountry: val,\r\n passportExpiryDate: passportExpiryDate,\r\n nationalNumber: ''\r\n })\r\n }}\r\n required='*'\r\n errMsg={validationError.passportCountry ? validationError.passportCountry : ''}\r\n />\r\n {\r\n \r\n const dob = new Date(val)\r\n const currentDate = new Date()\r\n\r\n if (!isNaN(dob.getFullYear())) {\r\n if (parseInt(dob.getFullYear()) <= 9999 ) {\r\n this.setState({ passportExpiryDate: val })\r\n this.props.collectState('GI', {\r\n passportNumber: passportNumber,\r\n passportCountry: passportCountry,\r\n passportExpiryDate: val,\r\n nationalNumber: ''\r\n })\r\n }\r\n } else {\r\n this.setState({ passportExpiryDate: '' })\r\n this.props.collectState('GI', {\r\n passportNumber: passportNumber,\r\n passportCountry: passportCountry,\r\n passportExpiryDate: '',\r\n nationalNumber: ''\r\n })\r\n }\r\n\r\n if(dob <= currentDate )\r\n {\r\n this.setState({ pedError: 'Please enter a valid Passport expiry Date conditions.' , passportExpiryDate: ''})\r\n // alert('Please enter a valid Passport expiry Date conditions.');\r\n // this.setState({ passportExpiryDate: '' })\r\n this.props.collectState('GI', {\r\n passportNumber: passportNumber,\r\n passportCountry: passportCountry,\r\n passportExpiryDate: '',\r\n nationalNumber: ''\r\n })\r\n }\r\n else\r\n {\r\n this.setState({ pedError: '' })\r\n }\r\n \r\n }}\r\n required=\"*\"\r\n />\r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n renderLocal () {\r\n const validationError = this.props.error\r\n const { passportNumber, passportCountry, passportExpiryDate, nationalNumber } = this.state\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n if(this.isNumeric(val))\r\n {\r\n if ((val.length) < 15 || val === '') {\r\n this.setState({ nationalNumber: val })\r\n this.props.collectState('GI', {\r\n passportNumber: passportNumber,\r\n passportCountry: passportCountry,\r\n passportExpiryDate: passportExpiryDate,\r\n nationalNumber: val\r\n })\r\n } else { alert('Please enter 14 numbers !') }\r\n }else{alert('Only numbers are allowed !')}\r\n }\r\n }\r\n \r\n />\r\n {\r\n this.setState({ passportNumber: val })\r\n this.props.collectState('GI', {\r\n passportNumber: val,\r\n passportCountry: passportCountry,\r\n passportExpiryDate: passportExpiryDate,\r\n nationalNumber: nationalNumber\r\n })\r\n }}\r\n />\r\n {\r\n this.setState({ passportCountry: val })\r\n this.props.collectState('GI', {\r\n passportNumber: passportNumber,\r\n passportCountry: val,\r\n passportExpiryDate: passportExpiryDate,\r\n nationalNumber: nationalNumber\r\n })\r\n }}\r\n />\r\n {\r\n const dob = new Date(val)\r\n if (!isNaN(dob.getFullYear())) {\r\n if (parseInt(dob.getFullYear()) <= 9999) {\r\n this.setState({ passportExpiryDate: val })\r\n this.props.collectState('GI', {\r\n passportNumber: passportNumber,\r\n passportCountry: passportCountry,\r\n passportExpiryDate: val,\r\n nationalNumber: nationalNumber\r\n })\r\n }\r\n } else {\r\n this.setState({ passportExpiryDate: '' })\r\n this.props.collectState('GI', {\r\n passportNumber: passportNumber,\r\n passportCountry: passportCountry,\r\n passportExpiryDate: '',\r\n nationalNumber: nationalNumber\r\n })\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n render () {\r\n const { loading, error, pedError } = this.state\r\n if (loading) {\r\n return ()\r\n }\r\n let body = ''\r\n if (this.props.nationality === 50) {\r\n body = this.renderLocal()\r\n } else if (this.props.nationality !== 0 && this.props.nationality !== '' && this.props.nationality !== '0') {\r\n body = this.renderForeign()\r\n } else {\r\n body =
Please Fill the Personal Information Section First
\r\n }\r\n return (\r\n
\r\n

{error}

\r\n {body}\r\n\r\n \r\n\r\n
\r\n )\r\n }\r\n}\r\nGovernmentInformation.propTypes = {\r\n countryData: PropTypes.array.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n nationality: PropTypes.number.isRequired,\r\n nationalIdNumber: PropTypes.string,\r\n passportNumber: PropTypes.string,\r\n passportCountry: PropTypes.number,\r\n incompleteApplicationId: PropTypes.number,\r\n passportExpiry: PropTypes.string,\r\n error: PropTypes.object,\r\n collectState: PropTypes.func\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nexport default class InputRowArabic extends React.Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n mouseOver: false\r\n }\r\n }\r\n\r\n render () {\r\n return (\r\n
\r\n
\r\n {this.props.rowName}\r\n {this.props.rowName}\r\n
\r\n this.props.onChange(e.target.value)\r\n }\r\n onKeyPress={(e) => this.props.onKeyPress ? this.props.onKeyPress(e) : null}\r\n />\r\n
\r\n
\r\n
{this.props.errMsg}
\r\n
\r\n\r\n )\r\n }\r\n}\r\nInputRowArabic.propTypes = {\r\n rowName: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n value: PropTypes.string.isRequired,\r\n onKeyPress: PropTypes.func,\r\n errMsg: PropTypes.string\r\n\r\n}\r\n","\r\nimport React, { Component } from 'react'\r\nimport InputRow from './InputRow'\r\nimport Loading from './Loading'\r\nimport PropTypes from 'prop-types'\r\nimport { handleAlphabetCheck, arabicValue } from '../constants'\r\nimport InputRowArabic from './InputRowArabic'\r\nexport default class PersonalInformation extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n fName: this.props.fName,\r\n mName: this.props.mName,\r\n lName: this.props.lName,\r\n dateOfBirth: '',\r\n countryData: [],\r\n selectedCountry: '',\r\n selectedNationality: '',\r\n selectedGender: this.props.gender || '',\r\n error: '',\r\n errorBackend: '',\r\n loading: true,\r\n relationShipData: [],\r\n arabicText1: '',\r\n arabicText2: '',\r\n arabicText3: '',\r\n siblingFName: this.props.siblingFName || '',\r\n siblingMName: this.props.siblingMName || '',\r\n siblingLName: this.props.siblingLName || '',\r\n siblingTKHNumber: this.props.siblingTKHNumber || '',\r\n dobError: '',\r\n\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n fetch(`${process.env.REACT_APP_API_URL}/api/PersonalInfo/GetLanguageLists`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ selectedCountry: this.props.countryOfBirth || '', selectedNationality: this.props.nationality || '' })\r\n if (this.props.arabicData.length) {\r\n this.setState({\r\n arabicText1: this.props.arabicData.length > 0 ? this.props.arabicData[0].ColumnValue : '',\r\n arabicText2: this.props.arabicData.length > 1 ? this.props.arabicData[1].ColumnValue : '',\r\n arabicText3: this.props.arabicData.length > 2 ? this.props.arabicData[2].ColumnValue : ''\r\n })\r\n }\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}/api/parentinformation/getprefixes`))\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ prefixData: res, loading: false })\r\n if (res.length) {\r\n this.setState({ prefix: this.props.prefix || '' })\r\n }\r\n let dateOfBirth = ''\r\n if (this.props.dateOfBirth) {\r\n const date = new Date(this.props.dateOfBirth)\r\n let month = date.getMonth() + 1\r\n let day = date.getDate()\r\n let year = date.getFullYear()\r\n if (month < 10) {\r\n month = '0' + month\r\n }\r\n if (day < 10) {\r\n day = '0' + day\r\n }\r\n if (year < 10) {\r\n year = '000' + year\r\n } else if (year < 100) {\r\n year = '00' + year\r\n } else if (year < 1000) {\r\n year = '0' + year\r\n }\r\n dateOfBirth = year + '-' + month + '-' + day\r\n }\r\n this.setState({ dateOfBirth: dateOfBirth })\r\n })\r\n .catch(err => console.log(err))\r\n }\r\n\r\n \r\n render() {\r\n const validationError = this.props.error\r\n const { loading, error, dobError, errorBackend, fName, mName, lName, dateOfBirth, selectedCountry, selectedNationality, selectedGender, arabicText1, arabicText2, arabicText3, siblingFName, siblingMName, siblingLName, siblingTKHNumber } = this.state\r\n if (loading) {\r\n return (\r\n \r\n )\r\n }\r\n return (\r\n
\r\n
\r\n {error &&

{error}

}\r\n {errorBackend &&

{errorBackend}

}\r\n
\r\n {\r\n if (handleAlphabetCheck(val) === 1 || val === '') {\r\n this.setState({ fName: val })\r\n this.props.collectState('PI', {\r\n fName: val,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n } else { alert('Enter letters only!') }\r\n }}\r\n />\r\n {\r\n if (handleAlphabetCheck(val) === 1 || val === '') {\r\n this.setState({ mName: val })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: val,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n } else { alert('Enter letters only!') }\r\n }}\r\n />\r\n {\r\n if (handleAlphabetCheck(val) === 1 || val === '') {\r\n this.setState({ lName: val })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: val,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n } else { alert('Enter letters only!') }\r\n }}\r\n />\r\n {\r\n this.setState({ selectedGender: val })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: val,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n }}\r\n />\r\n\r\n {\r\n this.setState({ error: '' })\r\n const dob = new Date(val)\r\n\r\n if (!isNaN(dob.getFullYear())) {\r\n if (parseInt(dob.getFullYear()) <= 9999) {\r\n const diffMs = Date.now() - dob.getTime()\r\n const ageDt = new Date(diffMs)\r\n const age = Math.abs(ageDt.getUTCFullYear() - 1970)\r\n if (age < 15 || age > 80) {\r\n this.setState({ dobError: 'Age must be between 15 and 80 years', dateOfBirth: '' })\r\n } else if (isNaN(dob.getFullYear())) {\r\n } else {\r\n this.setState({ dateOfBirth: val })\r\n this.setState({ dobError: '' })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: val,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n }\r\n \r\n }\r\n }\r\n else\r\n {\r\n this.setState({ dateOfBirth: '' })\r\n this.setState({ dobError: '' })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: '',\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n }\r\n }\r\n }\r\n />\r\n {\r\n this.setState({ selectedCountry: val })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: val,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n }}\r\n required='*'\r\n errMsg={validationError.selectedCountry ? validationError.selectedCountry : ''}\r\n />\r\n\r\n {\r\n this.setState({ selectedNationality: val }) \r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: val,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber,\r\n })\r\n }}\r\n />\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n {\r\n const text = arabicValue(val)\r\n this.setState({ arabicText1: text })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: text,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n }}\r\n />\r\n {\r\n const text = arabicValue(val)\r\n this.setState({ arabicText2: text })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: text,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n }}\r\n />\r\n {\r\n const text = arabicValue(val)\r\n this.setState({ arabicText3: text })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: text,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n }}\r\n />\r\n
\r\n

If you have any currently enrolled siblings at TKH. Please provide their details below:

\r\n Sibling Information\r\n\r\n {\r\n if (handleAlphabetCheck(val) === 1 || val === '') {\r\n this.setState({ siblingFName: val })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: val,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n } else { alert('Enter letters only!') }\r\n }}\r\n />\r\n\r\n {\r\n if (handleAlphabetCheck(val) === 1 || val === '') {\r\n this.setState({ siblingMName: val })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: val,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n } else { alert('Enter letters only!') }\r\n }}\r\n />\r\n {\r\n if (handleAlphabetCheck(val) === 1 || val === '') {\r\n this.setState({ siblingLName: val })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingFName,\r\n siblingLName: val,\r\n siblingTKHNumber: siblingTKHNumber\r\n })\r\n } else { alert('Enter letters only!') }\r\n }}\r\n />\r\n\r\n { \r\n if ((val.length) < 10 || val === '') {\r\n this.setState({ siblingTKHNumber: val })\r\n this.props.collectState('PI', {\r\n fName: fName,\r\n mName: mName,\r\n lName: lName,\r\n dateOfBirth: dateOfBirth,\r\n selectedCountry: selectedCountry,\r\n selectedNationality: selectedNationality,\r\n selectedGender: selectedGender,\r\n arabicText1: arabicText1,\r\n arabicText2: arabicText2,\r\n arabicText3: arabicText3,\r\n siblingFName: siblingFName,\r\n siblingMName: siblingMName,\r\n siblingLName: siblingLName,\r\n siblingTKHNumber: val\r\n })\r\n } else { alert('Please enter 9 characters !') }\r\n }}\r\n />\r\n\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n )\r\n }\r\n}\r\n\r\n\r\n \r\n\r\nPersonalInformation.propTypes = {\r\n fName: PropTypes.string.isRequired,\r\n lName: PropTypes.string.isRequired,\r\n mName: PropTypes.string,\r\n onSave: PropTypes.func.isRequired,\r\n countryData: PropTypes.array.isRequired,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n gender: PropTypes.string,\r\n countryOfBirth: PropTypes.number,\r\n nationality: PropTypes.number,\r\n pLanguage: PropTypes.number,\r\n sLanguage: PropTypes.number,\r\n arabicData: PropTypes.array,\r\n dateOfBirth: PropTypes.string,\r\n error: PropTypes.object,\r\n collectState: PropTypes.func,\r\n siblingFName: PropTypes.string,\r\n siblingMName: PropTypes.string,\r\n siblingLName: PropTypes.string,\r\n siblingTKHNumber: PropTypes.string\r\n}\r\n","import React, { Component } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport InputRow from './InputRow'\r\nimport Loading from './Loading'\r\nexport default class Address extends Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n addressType: '',\r\n addressTypeData: [],\r\n addressLine1: this.props.line1 || '',\r\n addressLine2: this.props.line2 || '',\r\n selectedCountry: '',\r\n cityData: [],\r\n regionData: [],\r\n selectedCity: '',\r\n loading: true,\r\n error: '',\r\n dormPlanInterest:this.props.dormPlanInterest || false\r\n }\r\n this.fetchCity = this.fetchCity.bind(this)\r\n //this.fetchRegion = this.fetchRegion.bind(this)\r\n }\r\n\r\n componentDidMount () {\r\n // const { selectedCity } = this.state\r\n fetch(`${process.env.REACT_APP_API_URL}/api/AddressInformation/GetAddressTypes`)\r\n .then(res => res.json())\r\n .then(res => {\r\n const selectedCountry = ''\r\n this.setState({ addressTypeData: res, selectedCountry: this.props.country || selectedCountry })\r\n this.fetchCity(parseInt(this.props.country) || selectedCountry)\r\n // this.fetchRegion(parseInt(this.props.city) || selectedCity)\r\n if (res) {\r\n const homeAddress = res.filter(ele => ele.value === 'Home Address')\r\n const homeAddressId = homeAddress && homeAddress.length > 0 ? homeAddress[0].Id : ''\r\n this.setState({ addressType: this.props.addressType || homeAddressId, loading: false })\r\n this.props.getDefaultValue('Add', this.props.addressType || homeAddressId)\r\n }\r\n })\r\n .catch(err => console.log(err))\r\n }\r\n\r\n async fetchCity (val) {\r\n var city = await fetch(`${process.env.REACT_APP_API_URL}/api/AddressInformation/GetCitiesByCountry?countryid=${val}`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ cityData: res })\r\n if (res.length) {\r\n this.setState({ selectedCity: this.props.city || '' })\r\n return ''\r\n }\r\n })\r\n .catch(err => console.log(err))\r\n return city\r\n }\r\n\r\n\r\n render () {\r\n const validationError = this.props.error\r\n const { loading, selectedCity, addressType, addressLine1, addressLine2, selectedCountry, error, addressTypeData, cityData,dormPlanInterest } = this.state\r\n if (loading) {\r\n return (\r\n \r\n )\r\n }\r\n return (\r\n \r\n
\r\n

{error}

\r\n \r\n {\r\n this.setState({ addressType: val })\r\n this.props.collectState('Add', {\r\n addressType: val,\r\n addressLine1: addressLine1,\r\n addressLine2: addressLine2,\r\n selectedCountry: selectedCountry,\r\n selectedCity: selectedCity,\r\n dormPlanInterest:dormPlanInterest\r\n })\r\n }}\r\n data={addressTypeData}\r\n />\r\n \r\n {\r\n this.setState({ addressLine1: val })\r\n this.props.collectState('Add', {\r\n addressType: addressType,\r\n\r\n addressLine1: val,\r\n addressLine2: addressLine2,\r\n \r\n selectedCountry: selectedCountry,\r\n selectedCity: selectedCity,\r\n dormPlanInterest:dormPlanInterest\r\n \r\n })\r\n }}\r\n />\r\n {\r\n this.setState({ addressLine2: val })\r\n this.props.collectState('Add', {\r\n addressType: addressType,\r\n addressLine1: addressLine1,\r\n addressLine2: val,\r\n selectedCountry: selectedCountry,\r\n selectedCity: selectedCity,\r\n dormPlanInterest:dormPlanInterest\r\n \r\n })\r\n }}\r\n /> \r\n {\r\n this.setState({ selectedCountry: val })\r\n this.props.collectState('Add', {\r\n addressType: addressType,\r\n addressLine1: addressLine1,\r\n addressLine2: addressLine2,\r\n selectedCountry: val,\r\n selectedCity: '',\r\n dormPlanInterest:dormPlanInterest\r\n })\r\n await this.fetchCity(val)\r\n //this.fetchRegion(citys)\r\n }}\r\n required='*'\r\n errMsg={validationError.selectedCountry ? validationError.selectedCountry : ''}\r\n />\r\n {\r\n this.setState({ selectedCity: val })\r\n this.props.collectState('Add', {\r\n addressType: addressType,\r\n addressLine1: addressLine1,\r\n addressLine2: addressLine2,\r\n selectedCountry: selectedCountry,\r\n selectedCity: val,\r\n dormPlanInterest:dormPlanInterest\r\n\r\n })\r\n //this.fetchRegion(val)\r\n }}\r\n /> \r\n\r\n\r\n
\r\n

For surveying purposes, please indicate if you are interested in University Dorms

\r\n Yes {\r\n this.setState({ dormPlanInterest: true })\r\n this.props.collectState('Add', {\r\n addressType: addressType,\r\n addressLine1: addressLine1,\r\n addressLine2: addressLine2,\r\n selectedCountry: selectedCountry,\r\n selectedCity: selectedCity,\r\n dormPlanInterest:true\r\n\r\n })\r\n }} name=\"dorm\" checked={!!dormPlanInterest} style={{ minWidth: 'auto', marginLeft: 5 }}/>\r\n No {\r\n this.setState({ dormPlanInterest: false })\r\n this.props.collectState('Add', {\r\n addressType: addressType,\r\n addressLine1: addressLine1,\r\n addressLine2: addressLine2,\r\n selectedCountry: selectedCountry,\r\n selectedCity: selectedCity,\r\n dormPlanInterest:false\r\n\r\n })\r\n }} name=\"dorm\" checked={!dormPlanInterest} style={{ minWidth: 'auto', marginLeft: 5 }}/>\r\n
\r\n \r\n\r\n
\r\n )\r\n }\r\n}\r\n\r\nAddress.propTypes = {\r\n onSave: PropTypes.func.isRequired,\r\n countryData: PropTypes.array.isRequired,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n addressType: PropTypes.number,\r\n line1: PropTypes.string,\r\n line2: PropTypes.string,\r\n line4: PropTypes.string,\r\n pincode: PropTypes.string,\r\n country: PropTypes.number,\r\n city: PropTypes.number,\r\n stateProvinceId: PropTypes.number,\r\n collectState: PropTypes.func,\r\n error: PropTypes.object,\r\n getDefaultValue: PropTypes.func\r\n}\r\n","import React, { Component } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { handleNumberCheck } from '../constants'\r\nimport InputRow from './InputRow'\r\nimport Loading from './Loading'\r\nexport default class Contact extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n phoneNumberArray: [\r\n {\r\n phoneType: '',\r\n phoneCountry: '',\r\n phoneNumber: '',\r\n isPrimary: true,\r\n id: 0,\r\n phoneCode:''\r\n }\r\n ],\r\n phoneTypeData: [],\r\n loading: true,\r\n email: this.props.email,\r\n error: '',\r\n mouseOver: false,\r\n phoneFormats:[]\r\n\r\n }\r\n this.addMoreRows = this.addMoreRows.bind(this)\r\n this.phoneTypeUpdate = this.phoneTypeUpdate.bind(this)\r\n this.phoneCountryUpdate = this.phoneCountryUpdate.bind(this)\r\n this.phoneNumberUpdate = this.phoneNumberUpdate.bind(this)\r\n }\r\n\r\n componentDidMount() {\r\n \r\n fetch(`${process.env.REACT_APP_API_URL}/api/PersonalInfo/GetCountriesWithPhoneFormat`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({phoneFormats:res})\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}/api/ContactInformation/GetPhoneTypes`))\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ phoneTypeData: res, loading: false })\r\n if (res.length) {\r\n const phoneType = res.filter(res => res.value === 'Mobile')\r\n const phoneTypeId = phoneType && phoneType.length > 0 ? phoneType[0].Id : ''\r\n let propValue = []\r\n this.props.contactInformation.forEach((element, i) => {\r\n \r\n const countryCodess = this.state.phoneFormats.filter(elements => elements.Id === parseInt(element.CountryId))\r\n \r\n propValue.push({\r\n phoneType: element.PhoneType,\r\n phoneCountry: parseInt(element.CountryId),\r\n phoneNumber: element.PhoneNumber,\r\n isPrimary: element.IsPrimary,\r\n id: i - 1,\r\n phoneCode:countryCodess[0].value?'+'+countryCodess[0].value:''\r\n })\r\n })\r\n if (!propValue.length) propValue = null\r\n this.setState({\r\n phoneNumberArray: propValue || [{\r\n phoneType: phoneTypeId,\r\n phoneCountry: 50,//'',\r\n phoneNumber: '',\r\n isPrimary: '',\r\n id: 0,\r\n phoneCode:'+20'\r\n }]\r\n })\r\n if (!(propValue && propValue.length)) {\r\n this.props.getDefaultValue('Contact', phoneTypeId)\r\n }\r\n }\r\n })\r\n\r\n }\r\n\r\n addMoreRows() {\r\n const { phoneNumberArray, phoneTypeData } = this.state\r\n const length = phoneNumberArray.length\r\n const phoneType = phoneTypeData.filter(res => res.value === 'Mobile')\r\n const phoneTypeId = phoneType && phoneType.length > 0 ? phoneType[0].Id : ''\r\n if (phoneNumberArray[length - 1].phoneNumber !== '' /*&& phoneNumberArray[length - 1].phoneCountry !== ''*/ && phoneNumberArray[length - 1].phoneType !== '') {\r\n this.setState({\r\n phoneNumberArray: [...this.state.phoneNumberArray, {\r\n phoneType: phoneTypeId,\r\n phoneCountry: 50,\r\n phoneNumber: '',\r\n isPrimary: '',\r\n id: length,\r\n phoneCode:'+20'\r\n }\r\n ]\r\n })\r\n } else {\r\n alert('Please fill all required information')\r\n }\r\n }\r\n\r\n CheckRows() {\r\n const { phoneNumberArray, phoneTypeData } = this.state\r\n const length = phoneNumberArray.length\r\n const phoneType = phoneTypeData.filter(res => res.value === 'Mobile')\r\n const phoneTypeId = phoneType && phoneType.length > 0 ? phoneType[0].Id : ''\r\n if (phoneNumberArray[length - 1].phoneNumber !== '' && phoneNumberArray[length - 1].phoneType !== '') {\r\n return 1\r\n } else {\r\n alert('Please fill all required information')\r\n return 0\r\n }\r\n }\r\n\r\n phoneTypeUpdate(value, index) {\r\n const { phoneNumberArray } = this.state\r\n const phoneNumbers = []\r\n\r\n phoneNumberArray.forEach((element, index1) => {\r\n if (index1 === index) {\r\n element.phoneType = value\r\n }\r\n phoneNumbers.push(element)\r\n })\r\n this.setState({ phoneNumberArray: phoneNumbers })\r\n this.props.collectState('Contact', {\r\n phoneNumberArray: phoneNumbers,\r\n email: this.props.email\r\n })\r\n }\r\n\r\n phoneCountryUpdate(value, index) {\r\n\r\n const { phoneNumberArray,phoneFormats } = this.state\r\n const phoneNumbers = []\r\n phoneNumberArray.forEach((element, index1) => {\r\n if (index1 === index) {\r\n element.phoneCountry = value\r\n const countryCodess = phoneFormats.filter(elements => elements.Id === parseInt(value))\r\n element.phoneCode=countryCodess[0].value?'+'+countryCodess[0].value:''\r\n }\r\n \r\n\r\n phoneNumbers.push(element)\r\n })\r\n this.setState({ phoneNumberArray: phoneNumbers })\r\n this.props.collectState('Contact', {\r\n phoneNumberArray: phoneNumbers,\r\n email: this.props.email\r\n })\r\n }\r\n\r\n phoneNumberUpdate(value, index) {\r\n const { phoneNumberArray } = this.state\r\n if (handleNumberCheck(value) === 0) {\r\n const phoneNumbers = []\r\n phoneNumberArray.forEach((element, index1) => {\r\n if (index1 === index) {\r\n element.phoneNumber = value\r\n }\r\n phoneNumbers.push(element)\r\n })\r\n this.setState({ phoneNumberArray: phoneNumbers })\r\n this.props.collectState('Contact', {\r\n phoneNumberArray: phoneNumbers,\r\n email: this.props.email\r\n })\r\n } else {\r\n alert('Please Enter Numbers Only!')\r\n }\r\n }\r\n\r\n primaryUpdate(index) {\r\n const { phoneNumberArray } = this.state\r\n const phoneNumber = []\r\n phoneNumberArray.forEach((element, index1) => {\r\n if (index1 === index) {\r\n element.isPrimary = true\r\n } else {\r\n element.isPrimary = false\r\n }\r\n phoneNumber.push(element)\r\n })\r\n this.setState({ phoneNumberArray: phoneNumber })\r\n this.props.collectState('Contact', {\r\n phoneNumberArray: phoneNumber,\r\n email: this.props.email\r\n })\r\n }\r\n\r\n deleteRow(index) {\r\n const { phoneNumberArray } = this.state\r\n // eslint-disable-next-line prefer-const\r\n let phoneNumbers = []\r\n let count = 0\r\n phoneNumberArray.forEach((element, index1) => {\r\n if (index1 === index) {\r\n if (element.isPrimary) {\r\n count = 1\r\n }\r\n } else {\r\n phoneNumbers.push(element)\r\n }\r\n })\r\n if (count === 1) {\r\n phoneNumbers[0].isPrimary = true\r\n }\r\n this.setState({ phoneNumberArray: phoneNumbers })\r\n this.props.collectState('Contact', {\r\n phoneNumberArray: phoneNumbers,\r\n email: this.props.email\r\n })\r\n }\r\n\r\n render() {\r\n const validationError = this.props.error\r\n const { phoneNumberArray, loading, phoneTypeData, error } = this.state\r\n if (loading) {\r\n return ()\r\n }\r\n\r\n const phoneNumbers = []\r\n phoneNumberArray.forEach((element, index) => { \r\n if (phoneNumberArray.length === 1) {\r\n \r\n phoneNumbers.push(\r\n \r\n \r\n \r\n {validationError[index] ? validationError[index].phoneType : ''}\r\n \r\n \r\n \r\n this.phoneCountryUpdate(val, index)\r\n }\r\n data={this.props.countryData}\r\n required=\"*\"\r\n errMsg={validationError.phoneCountry ? validationError.phoneCountry : ''}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n this.phoneNumberUpdate(val, index)\r\n }\r\n \r\n errMsg={validationError.phoneNumber ? validationError.phoneNumber : ''}\r\n hover=\"Your Phone Number. رقم الهاتف\"\r\n />\r\n \r\n\r\n \r\n\r\n )\r\n } else if (phoneNumberArray.length > 1) {\r\n \r\n \r\n phoneNumbers.push(\r\n \r\n \r\n \r\n {validationError[index] ? validationError[index].phoneType : ''}\r\n \r\n \r\n \r\n this.phoneCountryUpdate(val, index)\r\n }\r\n data={this.props.countryData}\r\n required=\"*\"\r\n errMsg={validationError.phoneCountry ? validationError.phoneCountry : ''}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.phoneNumberUpdate(val, index)\r\n }\r\n errMsg={validationError.phoneNumber ? validationError.phoneNumber : ''}\r\n hover=\"Your Phone Number. رقم الهاتف\"\r\n />\r\n \r\n \r\n
\r\n
\r\n this.primaryUpdate(index)}\r\n type=\"radio\"\r\n name=\"primary\"\r\n value={element.isPrimary}\r\n checked={element.isPrimary} />\r\n Primary\r\n
\r\n {index === 0 ? null : }\r\n
\r\n \r\n \r\n\r\n )\r\n }\r\n })\r\n return (\r\n
\r\n
\r\n

{error}

\r\n
\r\n
\r\n this.setState({ email: val.target.value })}\r\n required=\"*\"\r\n hover=\"Your email address must contain both an @ symbol and a period (.). يجب أن يحتوي عنوان بريدك الإلكتروني على رمز @ وفترة (.)\"\r\n />\r\n
\r\n
\r\n

Phone Numbers (Exclude Country Code)

\r\n \r\n \r\n {phoneNumbers}\r\n \r\n
\r\n {\r\n this.addMoreRows()\r\n }}\r\n >Add More\r\n
\r\n\r\n \r\n
\r\n )\r\n }\r\n}\r\nContact.propTypes = {\r\n email: PropTypes.string.isRequired,\r\n countryData: PropTypes.array.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n contactInformation: PropTypes.array,\r\n collectState: PropTypes.func,\r\n error: PropTypes.object,\r\n getDefaultValue: PropTypes.func\r\n\r\n}\r\n","import React, { Component } from 'react'\r\nimport InputRow from './InputRow'\r\nimport { handleAlphabetCheck, handleNumberCheck } from '../constants'\r\nimport PropTypes from 'prop-types'\r\nexport default class Parent extends Component {\r\n render () {\r\n\r\n return (\r\n\r\n
\r\n
\r\n this.props.relationshipUpdate(e)}\r\n rowName= \"Relationship with You\"\r\n disabled={this.props.disabled}\r\n hover=\"Tell us how the person is related to you. أخبرنا كيف يرتبط الشخص بك.\"\r\n />\r\n \r\n {\r\n if (handleAlphabetCheck(e) === 1 || e === '') { this.props.onChangeFName(e) } else { alert('Please Enter Alphabets only!') }\r\n }}\r\n disabled={this.props.disableAll}\r\n //hover=\"Enter the name of one of the following: your mother, your father or your legal guardian. أدخل اسم أحد الإجراءات التالية: أمك أو والدك أو الوصي القانوني. \"\r\n />\r\n {\r\n if (handleAlphabetCheck(e) === 1 || e === '') { this.props.onChangeMName(e) } else { alert('Please Enter Alphabets only!') }\r\n }}\r\n disabled={this.props.disableAll}\r\n />\r\n {\r\n if (handleAlphabetCheck(e) === 1 || e === '') { this.props.onChangeLName(e) } else { alert('Please Enter Alphabets only!') }\r\n }}\r\n disabled={this.props.disableAll}\r\n />\r\n {\r\n this.props.onChangeProfession(e)\r\n }}\r\n disabled={this.props.disableAll}\r\n // hover=\"Insert the current job held by your parent. (For data collection and analysis purposes only. This will not effect your application.)\"\r\n hover={this.props.guardian ? 'Insert the current job held by your guardian. (For data collection and analysis purposes only. This will not effect your application.)' : 'Insert the current job held by your parent. (For data collection and analysis purposes only. This will not effect your application.)'}\r\n />\r\n \r\n {\r\n if (handleNumberCheck(e) === 0) { this.props.onChangeNumber(e) } else { alert('Enter Numbers only!') }\r\n }}\r\n disabled={this.props.disableAll}\r\n hover={this.props.guardian ? 'Insert the contact number of your guardian. رقم الاتصال لوالدك.' : 'Insert the contact number of your parent. رقم الاتصال لوالدك.'}\r\n // hover=\"Insert the contact number of your parent. رقم الاتصال لوالدك.\"\r\n />\r\n this.props.onChangeEmail(val)}\r\n errMsg={this.props.errEmail}\r\n //disabled={this.props.disableAll}\r\n hover={this.props.guardian ? 'Insert the email address of your guardian . عنوان البريد الإلكتروني لوالديك.' : 'Insert the email address of your parent . عنوان البريد الإلكتروني لوالديك.'}\r\n //hover=\"Insert the email address of your parent . عنوان البريد الإلكتروني لوالديك.\"\r\n />\r\n \r\n {this.props.relationshipData[0].value==='Father' || this.props.relationshipData[0].value==='Mother'?\r\n <>\r\n
\r\n

Is your {this.props.relationshipData[0].value} an employee at TKH?

\r\n Yes this.props.onChangeIsTKHEmployee(true)} name={this.props.relationshipData[0].value} checked={!!this.props.isTKHEmployee} style={{ minWidth: 'auto', marginLeft: 5 }}/>\r\n No this.props.onChangeIsTKHEmployee(false)} name={this.props.relationshipData[0].value} checked={!this.props.isTKHEmployee} style={{ minWidth: 'auto', marginLeft: 5 }}/>\r\n
\r\n {this.props.isTKHEmployee==true?\r\n this.props.onChangeIdNumber(val)}\r\n required={this.props.isTKHEmployee ? '*' : null}\r\n errMsg={this.props.errIdNumber}\r\n />:null}:null}\r\n \r\n
\r\n
\r\n\r\n )\r\n }\r\n}\r\nParent.propTypes = {\r\n relationshipData: PropTypes.array.isRequired,\r\n relationship: PropTypes.number.isRequired,\r\n relationshipUpdate: PropTypes.func,\r\n disabled: PropTypes.bool,\r\n disableAll: PropTypes.bool,\r\n prefixData: PropTypes.array.isRequired,\r\n selectedPrefix: PropTypes.number.isRequired,\r\n onChangeAddress: PropTypes.func.isRequired,\r\n onChangeCompany: PropTypes.func.isRequired,\r\n onChangeCompanyAddress: PropTypes.func.isRequired,\r\n onChangeEmail: PropTypes.func.isRequired,\r\n onChangeFName: PropTypes.func.isRequired,\r\n onChangeLName: PropTypes.func.isRequired,\r\n onChangeMName: PropTypes.func.isRequired,\r\n onChangeNumber: PropTypes.func.isRequired,\r\n onChangePrefix: PropTypes.func.isRequired,\r\n onChangeProfession: PropTypes.func.isRequired,\r\n onChangeIdNumber: PropTypes.func.isRequired,\r\n onChangeIsTKHEmployee: PropTypes.func.isRequired,\r\n fName: PropTypes.string.isRequired,\r\n mName: PropTypes.string.isRequired,\r\n lName: PropTypes.string.isRequired,\r\n profession: PropTypes.string.isRequired,\r\n company: PropTypes.string.isRequired,\r\n companyAddress: PropTypes.string.isRequired,\r\n mobileNumber: PropTypes.string.isRequired,\r\n email: PropTypes.string.isRequired,\r\n address: PropTypes.string.isRequired,\r\n errEmail: PropTypes.string,\r\n errRelation: PropTypes.string,\r\n errPrefix: PropTypes.string,\r\n errFName: PropTypes.string,\r\n errMName: PropTypes.string,\r\n errLName: PropTypes.string,\r\n errProfession: PropTypes.string,\r\n errMobile: PropTypes.string,\r\n errIdNumber:PropTypes.string,\r\n deceased: PropTypes.bool,\r\n deceasedOption: PropTypes.bool,\r\n deceasedChange: PropTypes.func,\r\n emailRequired: PropTypes.bool,\r\n guardian: PropTypes.bool,\r\n isTKHEmployee:PropTypes.bool,\r\n idnumber:PropTypes.string\r\n}\r\n","import React, { Component } from 'react'\r\nimport Parent from './Parent'\r\nimport Loading from './Loading'\r\nimport PropTypes from 'prop-types'\r\nexport default class ParentsInformation extends Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n prefixData: [],\r\n fatherPrefixData: [],\r\n motherPrefixData: [],\r\n fatherPrefix: '',\r\n motherPrefix: '',\r\n fatherFName: this.props.fatherInfo.RelationFirstName || '',\r\n motherFName: this.props.motherInfo.RelationFirstName || '',\r\n fatherMName: this.props.fatherInfo.RelationMiddleName || '',\r\n motherMName: this.props.motherInfo.RelationMiddleName || '',\r\n fatherLName: this.props.fatherInfo.RelationLastName || '',\r\n motherLName: this.props.motherInfo.RelationLastName || '',\r\n fatherProfession: this.props.fatherInfo.Profession || '',\r\n motherProfession: this.props.motherInfo.Profession || '',\r\n fatherCompany: this.props.fatherInfo.Company || '',\r\n motherCompany: this.props.motherInfo.Company || '',\r\n fatherCompanyAddress: this.props.fatherInfo.CompanyAddress || '',\r\n motherCompanyAddress: this.props.motherInfo.CompanyAddress || '',\r\n fatherPhone: this.props.fatherInfo.MobileNumber || '',\r\n motherPhone: this.props.motherInfo.MobileNumber || '',\r\n fatherEmail: this.props.fatherInfo.RelationEmail || '',\r\n motherEmail: this.props.motherInfo.RelationEmail || '',\r\n fatherAddress: this.props.fatherInfo.Address || '',\r\n motherAddress: this.props.motherInfo.Address || '',\r\n loading: true,\r\n motherAttendedInstitution: this.props.motherInfo.AttendedInstitution || false,\r\n fatherAttendedInstitution: this.props.fatherInfo.AttendedInstitution || false,\r\n error: '',\r\n fatherDeceased: this.props.fatherInfo.Deceased || false,\r\n motherDeceased: this.props.motherInfo.Deceased || false,\r\n isFatherEmployee:this.props.fatherInfo.IsTKHEmployee || false,\r\n isMotherEmployee:this.props.motherInfo.IsTKHEmployee || false,\r\n fatherIdNumber: this.props.fatherInfo.IdNumber||'',\r\n motherIdNumber: this.props.motherInfo.IdNumber||'',\r\n }\r\n }\r\n\r\n componentDidMount () {\r\n\r\n fetch(`${process.env.REACT_APP_API_URL}/api/parentinformation/getprefixes`)\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.length) {\r\n const avoidFPrefix = ['Miss', 'Ms.', 'Mrs.', 'Assistent']\r\n const avoidMPrefix = ['Mr.', 'Assistent']\r\n const fatherPrefix = res.filter(ele => avoidFPrefix.indexOf(ele.value) === -1)\r\n const mr = res.filter(ele => ele.value === 'Mr.')\r\n const mrId = mr && mr.length > 0 ? mr[0].Id : ''\r\n const mrs = res.filter(ele => ele.value === 'Mrs.')\r\n const mrsId = mrs && mrs.length > 0 ? mrs[0].Id : ''\r\n const motherPrefix = res.filter(ele => avoidMPrefix.indexOf(ele.value) === -1)\r\n this.setState({ fatherPrefixData: fatherPrefix, motherPrefixData: motherPrefix })\r\n this.props.getDefaultValue('Parent', {\r\n motherDefault: parseInt(this.props.motherInfo.RelationPrefix) || mrsId,\r\n fatherDefault: parseInt(this.props.fatherInfo.RelationPrefix) || mrId\r\n })\r\n this.setState({ motherPrefix: parseInt(this.props.motherInfo.RelationPrefix) || mrsId, fatherPrefix: parseInt(this.props.fatherInfo.RelationPrefix) || mrId, loading: false })\r\n }\r\n })\r\n }\r\n\r\n render () {\r\n \r\n const validationError = this.props.error\r\n const {\r\n fatherPrefixData,\r\n motherPrefixData,\r\n fatherPrefix,\r\n motherPrefix,\r\n fatherFName,\r\n motherFName,\r\n fatherMName,\r\n motherMName,\r\n fatherLName,\r\n motherLName,\r\n fatherProfession,\r\n motherProfession,\r\n fatherCompany,\r\n motherCompany,\r\n fatherCompanyAddress,\r\n motherCompanyAddress,\r\n fatherPhone,\r\n motherPhone,\r\n fatherEmail,\r\n motherEmail,\r\n fatherAddress,\r\n motherAddress,\r\n fatherAttendedInstitution,\r\n motherAttendedInstitution,\r\n loading,\r\n fatherDeceased,\r\n motherDeceased,\r\n isFatherEmployee,\r\n isMotherEmployee,\r\n fatherIdNumber,\r\n motherIdNumber,\r\n error\r\n } = this.state\r\n if (loading) {\r\n return ()\r\n }\r\n return (\r\n
\r\n

{error}

\r\n
\r\n Father's Information:\r\n {\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: !fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n this.setState(prevState => ({ fatherDeceased: !prevState.fatherDeceased }))\r\n }\r\n }\r\n disabled={true}\r\n prefixData={fatherPrefixData}\r\n onChangePrefix={(val) => {\r\n this.setState({ fatherPrefix: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: val,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n selectedPrefix={fatherPrefix}\r\n fName={fatherFName}\r\n onChangeFName={(val) => {\r\n this.setState({ fatherFName: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: val,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n mName={fatherMName}\r\n onChangeMName={(val) => {\r\n this.setState({ fatherMName: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: val,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n lName={fatherLName}\r\n onChangeLName={(val) => {\r\n this.setState({ fatherLName: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: val,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n profession={fatherProfession}\r\n onChangeProfession={(val) => {\r\n this.setState({ fatherProfession: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: val,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n company={fatherCompany}\r\n onChangeCompany={(val) => {\r\n this.setState({ fatherCompany: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: val,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n companyAddress={fatherCompanyAddress}\r\n onChangeCompanyAddress={(val) => {\r\n this.setState({ fatherCompanyAddress: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: val,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n mobileNumber={fatherPhone}\r\n onChangeNumber={(val) => {\r\n this.setState({ fatherPhone: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: val,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n email={fatherEmail}\r\n emailRequired={false}\r\n onChangeEmail={(val) => {\r\n this.setState({ fatherEmail: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: val,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n address={fatherAddress}\r\n onChangeAddress={(val) => {\r\n this.setState({ fatherAddress: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: val,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n\r\n\r\n\r\n \r\n isTKHEmployee={isFatherEmployee}\r\n onChangeIsTKHEmployee={(val) => {\r\n this.setState({ isFatherEmployee: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:val,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n\r\n idnumber={fatherIdNumber}\r\n onChangeIdNumber={(val) => {\r\n this.setState({ fatherIdNumber: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:val,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n\r\n\r\n\r\n\r\n disableAll={false}\r\n errRelation=\"\"\r\n errPrefix={validationError.fatherPrefix ? validationError.fatherPrefix : ''}\r\n errFName={validationError.fatherFName ? validationError.fatherFName : ''}\r\n errMName={validationError.fatherMName ? validationError.fatherMName : ''}\r\n errLName={validationError.fatherLName ? validationError.fatherLName : ''}\r\n errProfession={validationError.fatherProfession ? validationError.fatherProfession : ''}\r\n errMobile={validationError.fatherPhone ? validationError.fatherPhone : ''}\r\n errEmail={validationError.fatherEmail ? validationError.fatherEmail : ''}\r\n errIdNumber={validationError.fatherIdNumber ? validationError.fatherIdNumber : ''}\r\n />\r\n \r\n
\r\n
\r\n Mother's Information:\r\n {\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: !motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n this.setState(prevState => ({ motherDeceased: !prevState.motherDeceased }))\r\n }}\r\n prefixData={motherPrefixData}\r\n onChangePrefix={(val) => {\r\n this.setState({ motherPrefix: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: val,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n selectedPrefix={motherPrefix}\r\n fName={motherFName}\r\n onChangeFName={(val) => {\r\n this.setState({ motherFName: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: val,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n mName={motherMName}\r\n onChangeMName={(val) => {\r\n this.setState({ motherMName: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: val,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n lName={motherLName}\r\n onChangeLName={(val) => {\r\n this.setState({ motherLName: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: val,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n profession={motherProfession}\r\n onChangeProfession={(val) => {\r\n this.setState({ motherProfession: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: val,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n company={motherCompany}\r\n onChangeCompany={(val) => {\r\n this.setState({ motherCompany: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: val,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n companyAddress={motherCompanyAddress}\r\n onChangeCompanyAddress={(val) => {\r\n this.setState({ motherCompanyAddress: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: val,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n mobileNumber={motherPhone}\r\n onChangeNumber={(val) => {\r\n this.setState({ motherPhone: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: val,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n email={motherEmail}\r\n emailRequired={false}\r\n onChangeEmail={(val) => {\r\n this.setState({ motherEmail: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: val,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n address={motherAddress}\r\n onChangeAddress={(val) => {\r\n this.setState({ motherAddress: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: val,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n\r\n isTKHEmployee={isMotherEmployee}\r\n onChangeIsTKHEmployee={(val) => {\r\n this.setState({ isMotherEmployee: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:val,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:motherIdNumber\r\n })\r\n }}\r\n\r\n idnumber={motherIdNumber}\r\n onChangeIdNumber={(val) => {\r\n this.setState({ motherIdNumber: val })\r\n this.props.collectState('PSI', {\r\n fatherPrefix: fatherPrefix,\r\n motherPrefix: motherPrefix,\r\n fatherRelation: this.props.fatherId,\r\n motherRelation: this.props.motherId,\r\n fatherFName: fatherFName,\r\n motherFName: motherFName,\r\n fatherMName: fatherMName,\r\n motherMName: motherMName,\r\n fatherLName: fatherLName,\r\n motherLName: motherLName,\r\n fatherProfession: fatherProfession,\r\n motherProfession: motherProfession,\r\n fatherCompany: fatherCompany,\r\n motherCompany: motherCompany,\r\n fatherCompanyAddress: fatherCompanyAddress,\r\n motherCompanyAddress: motherCompanyAddress,\r\n fatherPhone: fatherPhone,\r\n motherPhone: motherPhone,\r\n fatherEmail: fatherEmail,\r\n motherEmail: motherEmail,\r\n fatherAddress: fatherAddress,\r\n motherAddress: motherAddress,\r\n motherAttendedInstitution: motherAttendedInstitution,\r\n fatherAttendedInstitution: fatherAttendedInstitution,\r\n fatherDeceased: fatherDeceased,\r\n motherDeceased: motherDeceased,\r\n isFatherEmployee:isFatherEmployee,\r\n isMotherEmployee:isMotherEmployee,\r\n fatherIdNumber:fatherIdNumber,\r\n motherIdNumber:val\r\n })\r\n }}\r\n\r\n\r\n\r\n\r\n disableAll={false}\r\n errRelation=\"\"\r\n errPrefix={validationError.motherPrefix ? validationError.motherPrefix : ''}\r\n errFName={validationError.motherFName ? validationError.motherFName : ''}\r\n errMName={validationError.motherMName ? validationError.motherMName : ''}\r\n errLName={validationError.motherLName ? validationError.motherLName : ''}\r\n errProfession={validationError.motherProfession ? validationError.motherProfession : ''}\r\n errMobile={validationError.motherPhone ? validationError.motherPhone : ''}\r\n errEmail={validationError.motherEmail ? validationError.motherEmail : ''}\r\n errIdNumber={validationError.motherIdNumber ? validationError.motherIdNumber : ''}\r\n />\r\n \r\n
\r\n \r\n\r\n
\r\n )\r\n }\r\n}\r\nParentsInformation.propTypes = {\r\n onSave: PropTypes.func.isRequired,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n fatherInfo: PropTypes.object,\r\n motherInfo: PropTypes.object,\r\n collectState: PropTypes.func,\r\n error: PropTypes.object,\r\n getDefaultValue: PropTypes.func,\r\n fatherId: PropTypes.number.isRequired,\r\n motherId: PropTypes.number.isRequired\r\n}\r\n","import React, { Component } from 'react'\r\nimport Parent from './Parent'\r\nimport Loading from './Loading'\r\nimport PropTypes from 'prop-types'\r\nimport InputRow from './InputRow'\r\nexport default class GuardianInformation extends Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n prefixData: [],\r\n guardianRelationship: '',\r\n guardianPrefix: '',\r\n guardianFName: this.props.guardianInfo.RelationFirstName || '',\r\n guardianMName: this.props.guardianInfo.RelationMiddleName || '',\r\n guardianLName: this.props.guardianInfo.RelationLastName || '',\r\n guardianProfession: this.props.guardianInfo.Profession || '',\r\n guardianPhone: this.props.guardianInfo.MobileNumber || '',\r\n guardianEmail: this.props.guardianInfo.RelationEmail || '',\r\n guardianAddress:this.props.guardianInfo.GuardianAddress,\r\n loading: true,\r\n disableAll: false,\r\n error: '',\r\n relationshipData: []\r\n }\r\n this.relationshipUpdate = this.relationshipUpdate.bind(this)\r\n }\r\n\r\n componentDidMount () {\r\n fetch(`${process.env.REACT_APP_API_URL}/api/parentinformation/getprefixes`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ prefixData: res })\r\n if (res.length) {\r\n this.setState({ guardianPrefix: parseInt(this.props.guardianInfo.RelationPrefix) || '' })\r\n }\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}/api/guardianinformation/getrelations`))\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ relationshipData: res, loading: false })\r\n if (res.length) {\r\n this.setState({ guardianRelationship: parseInt(this.props.guardianInfo.RelationType) || '' })\r\n if (parseInt(this.props.guardianInfo.RelationType) === this.props.fatherId || parseInt(this.props.guardianInfo.RelationType) === this.props.motherId) {\r\n this.setState({ disableAll: true })\r\n }\r\n }\r\n })\r\n }\r\n\r\n relationshipUpdate (e) {\r\n if (parseInt(e) === this.props.fatherId) {\r\n const fatherInfo = this.props.fatherInfo\r\n this.setState({\r\n guardianRelationship: this.props.fatherId,\r\n guardianPrefix: fatherInfo.prefix || fatherInfo.RelationPrefix || 0,\r\n guardianFName: fatherInfo.firstName || fatherInfo.RelationFirstName || '',\r\n guardianMName: fatherInfo.middleName || fatherInfo.RelationMiddleName || '',\r\n guardianLName: fatherInfo.familyName || fatherInfo.RelationLastName || '',\r\n guardianProfession: fatherInfo.profession || fatherInfo.Profession || '',\r\n guardianPhone: fatherInfo.mobileNumber || fatherInfo.MobileNumber || '',\r\n guardianEmail: fatherInfo.email || fatherInfo.RelationEmail || '',\r\n disableAll: true\r\n })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: this.props.fatherId,\r\n guardianPrefix: fatherInfo.prefix || fatherInfo.RelationPrefix || 0,\r\n guardianFName: fatherInfo.firstName || fatherInfo.RelationFirstName || '',\r\n guardianMName: fatherInfo.middleName || fatherInfo.RelationMiddleName || '',\r\n guardianLName: fatherInfo.familyName || fatherInfo.RelationLastName || '',\r\n guardianProfession: fatherInfo.profession || fatherInfo.Profession || '',\r\n guardianPhone: fatherInfo.mobileNumber || fatherInfo.MobileNumber || '',\r\n guardianEmail: fatherInfo.email || fatherInfo.RelationEmail || ''\r\n })\r\n } else if (parseInt(e) === this.props.motherId) {\r\n const motherInfo = this.props.motherInfo\r\n this.setState({\r\n guardianRelationship: this.props.motherId,\r\n guardianPrefix: motherInfo.prefix || motherInfo.RelationPrefix || 0,\r\n guardianFName: motherInfo.firstName || motherInfo.RelationFirstName || '',\r\n guardianMName: motherInfo.middleName || motherInfo.RelationMiddleName || '',\r\n guardianLName: motherInfo.familyName || motherInfo.RelationLastName || '',\r\n guardianProfession: motherInfo.profession || motherInfo.Profession || '',\r\n guardianPhone: motherInfo.mobileNumber || motherInfo.MobileNumber || '',\r\n guardianEmail: motherInfo.email || motherInfo.RelationEmail || '',\r\n disableAll: true\r\n })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: this.props.motherId,\r\n guardianPrefix: motherInfo.prefix || motherInfo.RelationPrefix || 0,\r\n guardianFName: motherInfo.firstName || motherInfo.RelationFirstName || '',\r\n guardianMName: motherInfo.middleName || motherInfo.RelationMiddleName || '',\r\n guardianLName: motherInfo.familyName || motherInfo.RelationLastName || '',\r\n guardianProfession: motherInfo.profession || motherInfo.Profession || '',\r\n guardianPhone: motherInfo.mobileNumber || motherInfo.MobileNumber || '',\r\n guardianEmail: motherInfo.email || motherInfo.RelationEmail || ''\r\n })\r\n } else {\r\n if ([this.props.fatherId, this.props.motherId].indexOf(parseInt(this.state.guardianRelationship)) !== -1) {\r\n this.setState({\r\n guardianRelationship: e,\r\n guardianPrefix: '',\r\n guardianFName: '',\r\n guardianMName: '',\r\n guardianLName: '',\r\n guardianProfession: '',\r\n guardianPhone: '',\r\n guardianEmail: ''\r\n })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: e,\r\n guardianPrefix: '',\r\n guardianFName: '',\r\n guardianMName: '',\r\n guardianLName: '',\r\n guardianProfession: '',\r\n guardianPhone: '',\r\n guardianEmail: ''\r\n })\r\n } else {\r\n this.setState({\r\n guardianRelationship: e,\r\n guardianPrefix: this.state.guardianPrefix,\r\n guardianFName: this.state.guardianFName,\r\n guardianMName: this.state.guardianMName,\r\n guardianLName: this.state.guardianLName,\r\n guardianProfession: this.state.guardianProfession,\r\n guardianPhone: this.state.guardianPhone,\r\n guardianEmail: this.state.guardianEmail\r\n })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: e,\r\n guardianPrefix: this.state.guardianPrefix,\r\n guardianFName: this.state.guardianFName,\r\n guardianMName: this.state.guardianMName,\r\n guardianLName: this.state.guardianLName,\r\n guardianProfession: this.state.guardianProfession,\r\n guardianPhone: this.state.guardianPhone,\r\n guardianEmail: this.state.guardianEmail\r\n })\r\n }\r\n this.setState({ guardianRelationship: e, disableAll: false })\r\n }\r\n }\r\n\r\n render () {\r\n const validationError = this.props.error\r\n const {\r\n prefixData,\r\n guardianRelationship,\r\n guardianPrefix,\r\n guardianFName,\r\n guardianMName,\r\n guardianLName,\r\n guardianProfession,\r\n guardianPhone,\r\n guardianEmail,\r\n guardianAddress,\r\n loading,\r\n disableAll,\r\n error,\r\n relationshipData\r\n } = this.state\r\n if (loading) {\r\n return ()\r\n }\r\n return (\r\n \r\n
\r\n

{error}

\r\n {[this.props.fatherId, this.props.motherId].indexOf(parseInt(guardianRelationship)) !== -1\r\n ? [this.props.fatherId].indexOf(parseInt(guardianRelationship)) !== -1 ?
\r\n {}}\r\n selectedPrefix={this.props.fatherInfo.RelationPrefix}\r\n fName={this.props.fatherInfo.RelationFirstName}\r\n onChangeFName={() => {}}\r\n mName={this.props.fatherInfo.RelationMiddleName}\r\n onChangeMName={() => {}}\r\n lName={this.props.fatherInfo.RelationLastName}\r\n onChangeLName={() => {}}\r\n profession={this.props.fatherInfo.Profession}\r\n onChangeProfession={() => {}}\r\n mobileNumber={this.props.fatherInfo.MobileNumber}\r\n onChangeNumber={() => {}}\r\n email={this.props.fatherInfo.RelationEmail}\r\n emailRequired={false}\r\n onChangeEmail={() => {}}\r\n disableAll={disableAll}\r\n errRelation={validationError.guardianRelationship ? validationError.guardianRelationship : ''}\r\n errPrefix={validationError.guardianPrefix ? validationError.guardianPrefix : ''}\r\n errFName={validationError.guardianFName ? validationError.guardianFName : ''}\r\n errMName={validationError.guardianMName ? validationError.guardianMName : ''}\r\n errLName={validationError.guardianLName ? validationError.guardianLName : ''}\r\n errProfession={validationError.guardianProfession ? validationError.guardianProfession : ''}\r\n errMobile={validationError.guardianPhone ? validationError.guardianPhone : ''}\r\n errEmail={validationError.guardianEmail ? validationError.guardianEmail : ''}\r\n />\r\n \r\n
\r\n : [this.props.motherId].indexOf(parseInt(guardianRelationship)) !== -1\r\n ?
\r\n {}}\r\n selectedPrefix={this.props.motherInfo.RelationPrefix}\r\n fName={this.props.motherInfo.RelationFirstName}\r\n onChangeFName={() => {}}\r\n mName={this.props.motherInfo.RelationMiddleName}\r\n onChangeMName={() => {}}\r\n lName={this.props.motherInfo.RelationLastName}\r\n onChangeLName={() => {}}\r\n profession={this.props.motherInfo.Profession}\r\n onChangeProfession={() => {}}\r\n mobileNumber={this.props.motherInfo.MobileNumber}\r\n onChangeNumber={() => {}}\r\n email={this.props.motherInfo.RelationEmail === null || this.props.motherInfo.RelationEmail==='' ? null: this.props.motherInfo.RelationEmail}\r\n emailRequired={false}\r\n onChangeEmail={(val) => {\r\n this.setState({ guardianEmail: val })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: guardianRelationship,\r\n guardianPrefix: guardianPrefix,\r\n guardianFName: guardianFName,\r\n guardianMName: guardianMName,\r\n guardianLName: guardianLName,\r\n guardianProfession: guardianProfession,\r\n guardianPhone: guardianPhone,\r\n guardianEmail: val\r\n })\r\n }}\r\n //onChangeEmail={() => {}}\r\n disableAll={disableAll}\r\n errRelation={validationError.guardianRelationship ? validationError.guardianRelationship : ''}\r\n errPrefix={validationError.guardianPrefix ? validationError.guardianPrefix : ''}\r\n errFName={validationError.guardianFName ? validationError.guardianFName : ''}\r\n errMName={validationError.guardianMName ? validationError.guardianMName : ''}\r\n errLName={validationError.guardianLName ? validationError.guardianLName : ''}\r\n errProfession={validationError.guardianProfession ? validationError.guardianProfession : ''}\r\n errMobile={validationError.guardianPhone ? validationError.guardianPhone : ''}\r\n errEmail={validationError.guardianEmail ? validationError.guardianEmail : ''}\r\n />\r\n
\r\n : null\r\n :
\r\n {\r\n this.setState({ guardianPrefix: val })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: guardianRelationship,\r\n guardianPrefix: val,\r\n guardianFName: guardianFName,\r\n guardianMName: guardianMName,\r\n guardianLName: guardianLName,\r\n guardianProfession: guardianProfession,\r\n guardianPhone: guardianPhone,\r\n guardianEmail: guardianEmail\r\n })\r\n }}\r\n selectedPrefix={guardianPrefix}\r\n fName={guardianFName}\r\n onChangeFName={(val) => {\r\n this.setState({ guardianFName: val })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: guardianRelationship,\r\n guardianPrefix: guardianPrefix,\r\n guardianFName: val,\r\n guardianMName: guardianMName,\r\n guardianLName: guardianLName,\r\n guardianProfession: guardianProfession,\r\n guardianPhone: guardianPhone,\r\n guardianEmail: guardianEmail\r\n })\r\n }}\r\n mName={guardianMName}\r\n onChangeMName={(val) => {\r\n this.setState({ guardianMName: val })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: guardianRelationship,\r\n guardianPrefix: guardianPrefix,\r\n guardianFName: guardianFName,\r\n guardianMName: val,\r\n guardianLName: guardianLName,\r\n guardianProfession: guardianProfession,\r\n guardianPhone: guardianPhone,\r\n guardianEmail: guardianEmail\r\n })\r\n }}\r\n lName={guardianLName}\r\n onChangeLName={(val) => {\r\n this.setState({ guardianLName: val })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: guardianRelationship,\r\n guardianPrefix: guardianPrefix,\r\n guardianFName: guardianFName,\r\n guardianMName: guardianMName,\r\n guardianLName: val,\r\n guardianProfession: guardianProfession,\r\n guardianPhone: guardianPhone,\r\n guardianEmail: guardianEmail\r\n })\r\n }}\r\n profession={guardianProfession}\r\n onChangeProfession={(val) => {\r\n this.setState({ guardianProfession: val })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: guardianRelationship,\r\n guardianPrefix: guardianPrefix,\r\n guardianFName: guardianFName,\r\n guardianMName: guardianMName,\r\n guardianLName: guardianLName,\r\n guardianProfession: val,\r\n guardianPhone: guardianPhone,\r\n guardianEmail: guardianEmail\r\n })\r\n }}\r\n mobileNumber={guardianPhone}\r\n onChangeNumber={(val) => {\r\n this.setState({ guardianPhone: val })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: guardianRelationship,\r\n guardianPrefix: guardianPrefix,\r\n guardianFName: guardianFName,\r\n guardianMName: guardianMName,\r\n guardianLName: guardianLName,\r\n guardianProfession: guardianProfession,\r\n guardianPhone: val,\r\n guardianEmail: guardianEmail\r\n })\r\n }}\r\n email={guardianEmail}\r\n emailRequired={false}\r\n onChangeEmail={(val) => {\r\n this.setState({ guardianEmail: val })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: guardianRelationship,\r\n guardianPrefix: guardianPrefix,\r\n guardianFName: guardianFName,\r\n guardianMName: guardianMName,\r\n guardianLName: guardianLName,\r\n guardianProfession: guardianProfession,\r\n guardianPhone: guardianPhone,\r\n guardianEmail: val\r\n })\r\n }}\r\n disableAll={disableAll}\r\n errRelation={validationError.guardianRelationship ? validationError.guardianRelationship : ''}\r\n errPrefix={validationError.guardianPrefix ? validationError.guardianPrefix : ''}\r\n errFName={validationError.guardianFName ? validationError.guardianFName : ''}\r\n errMName={validationError.guardianMName ? validationError.guardianMName : ''}\r\n errLName={validationError.guardianLName ? validationError.guardianLName : ''}\r\n errProfession={validationError.guardianProfession ? validationError.guardianProfession : ''}\r\n errMobile={validationError.guardianPhone ? validationError.guardianPhone : ''}\r\n errEmail={validationError.guardianEmail ? validationError.guardianEmail : ''}\r\n\r\n />\r\n
\r\n\r\n \r\n }\r\n {\r\n this.setState({ guardianAddress: val })\r\n this.props.collectState('Guardian', {\r\n guardianRelationship: guardianRelationship,\r\n guardianPrefix: guardianPrefix,\r\n guardianFName: guardianFName,\r\n guardianMName: guardianMName,\r\n guardianLName: guardianLName,\r\n guardianProfession: guardianProfession,\r\n guardianPhone: guardianPhone,\r\n guardianEmail: guardianEmail,\r\n guardianAddress : val\r\n })\r\n }}\r\n />\r\n\r\n \r\n
\r\n )\r\n }\r\n}\r\nGuardianInformation.propTypes = {\r\n onSave: PropTypes.func.isRequired,\r\n motherInfo: PropTypes.object.isRequired,\r\n fatherInfo: PropTypes.object.isRequired,\r\n guardianInfo: PropTypes.object,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n collectState: PropTypes.func,\r\n error: PropTypes.object,\r\n motherId: PropTypes.number.isRequired,\r\n fatherId: PropTypes.number.isRequired\r\n}\r\n","import React, { Component } from 'react'\r\nimport InputRow from './InputRow'\r\nimport PropTypes from 'prop-types'\r\nexport default class HealthInformation extends Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n illness: this.props.illnessDescription || '',\r\n error: '',\r\n hasIllness: this.props.hasBeenIll || false,\r\n\r\n }\r\n }\r\n\r\n render () {\r\n const validationError = this.props.error\r\n const {\r\n illness,\r\n hasIllness\r\n } = this.state\r\n let ill = hasIllness\r\n if (ill === 'True' || ill === 'False') {\r\n const ills = ill.toLowerCase()\r\n if (ills === 'true') ill = true\r\n else ill = false\r\n }\r\n\r\n return (\r\n
\r\n
\r\n

Please advise if your case will be needing any additional support due to special learning needs or challenges?

\r\n Yes {\r\n this.setState({ hasIllness: true })\r\n this.props.collectState('HI', {\r\n illness: illness,\r\n hasIllness: true\r\n })\r\n }} name=\"illness\" checked={!!ill} style={{ minWidth: 'auto', marginLeft: 5 }}/>\r\n No {\r\n this.setState({ hasIllness: false })\r\n this.props.collectState('HI', {\r\n illness: illness,\r\n hasIllness: false\r\n })\r\n }} name=\"illness\" checked={!ill} style={{ minWidth: 'auto', marginLeft: 5 }}/>\r\n
\r\n {\r\n this.setState({ illness: e })\r\n this.props.collectState('HI', {\r\n illness: e,\r\n hasIllness: hasIllness,\r\n })\r\n }}\r\n required={!hasIllness || hasIllness == \"False\" ? null : '*'}\r\n errMsg={validationError.illness ? validationError.illness : ''}\r\n />\r\n\r\n \r\n
\r\n )\r\n }\r\n}\r\nHealthInformation.propTypes = {\r\n onSave: PropTypes.func.isRequired,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n illnessDescription: PropTypes.string,\r\n hasBeenIll: PropTypes.bool,\r\n collectState: PropTypes.func,\r\n error: PropTypes.object\r\n}\r\n","import React, { Component } from 'react'\r\nimport InputRow from './InputRow'\r\nimport Loading from './Loading'\r\nimport PropTypes from 'prop-types'\r\nexport default class Sources extends Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n loading: true,\r\n error: '',\r\n sourceData: [],\r\n selectedSources: [],\r\n otherSource: this.props.otherSource ? this.props.otherSource : ''\r\n }\r\n }\r\n\r\n componentDidMount () {\r\n fetch(`${process.env.REACT_APP_API_URL}/api/source/getsources`)\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.length) {\r\n this.setState({ sourceData: res, loading: false })\r\n }\r\n if (this.props.sources.length) {\r\n const newSource = []\r\n this.props.sources.forEach(element => {\r\n newSource.push(element.Id)\r\n })\r\n this.setState({ selectedSources: newSource })\r\n }\r\n })\r\n .catch(err => console.log(err))\r\n }\r\n\r\n render () {\r\n const {\r\n loading,\r\n sourceData,\r\n selectedSources,\r\n otherSource\r\n } = this.state\r\n if (loading) {\r\n return ()\r\n }\r\n // eslint-disable-next-line prefer-const\r\n let displaySources = []\r\n sourceData.forEach((element, index) => {\r\n displaySources.push(\r\n \r\n )\r\n })\r\n return (\r\n
\r\n

Where did you hear about us ?

\r\n
\r\n {displaySources}\r\n
\r\n {\r\n this.props.collectState('Sources', {\r\n selectedSources: selectedSources,\r\n otherSource: e\r\n })\r\n this.setState({ otherSource: e })\r\n }}\r\n />\r\n {this.props.error.general &&

{this.props.error.general}

}\r\n \r\n\r\n
\r\n )\r\n }\r\n}\r\nSources.propTypes = {\r\n onSave: PropTypes.func.isRequired,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n sources: PropTypes.array,\r\n collectState: PropTypes.func,\r\n error: PropTypes.object,\r\n otherSource: PropTypes.string\r\n}\r\n","/* eslint-disable handle-callback-err */\r\n/* eslint-disable react/jsx-no-target-blank */\r\nimport React, { Component } from 'react'\r\nimport PropTypes from 'prop-types'\r\nexport default class Policies extends Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n acceptedPolicies:this.props.acceptedPolicies || false,\r\n policyLink: '',\r\n preferredCampus:''\r\n }\r\n }\r\n static getDerivedStateFromProps(props,state) {\r\n if(props.preferredCampus!==state.preferredCampus)\r\n {\r\n return {preferredCampus:props.preferredCampus}\r\n }else{\r\n return null\r\n }\r\n }\r\n\r\n componentDidMount () {\r\n \r\n this.setState({preferredCampus:this.props.preferredCampus})\r\n fetch(`${process.env.REACT_APP_API_URL}/api/login/getPolicyLink`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ policyLink: res })\r\n })\r\n .catch(err => this.setState({ policyLink: '#' }))\r\n }\r\n\r\n\r\n \r\n\r\n render () {\r\n const preferredCampus=this.state.preferredCampus\r\n return (\r\n
\r\n \r\n

o\tMeeting the minimum entry requirements does not guarantee admission to the university, but rather ensures entry to the selection and assessment process.

\r\n

o\tAdmission to the university is based on your academic records and achievements, with no regards to age, gender, race, color or disability of any kind.

\r\n

o\tAny health-related issues will only be regarded as health-based information and will not affect your acceptance to the university.

\r\n

o\tRefunding the full deposited amount – Down Payment (25,000 EGP for Egyptians – 1,500 GBP for Non-Egyptians) according to the following conditions:

\r\n

      o\tWithin fourteen (14) days from the date of payment (presenting the proof of payment is a must).

\r\n

      o\tIf the applicant is not eligible to receive the final acceptance letter.

\r\n

o\tApplication Fees (1,200 EGP) is not refundable.

\r\n

o\tFor Egyptian Students Tuition Fees will be calculated according to GBP average “selling” rate announced by Central Bank of Egypt over a specific period of time with minimum exchange rate of 1 GBP = 20 EGP to be applied on tuition fees.

\r\n{preferredCampus=='West'?

o\tPlease note that TKH New Zayed Campus is due to operate starting the second semester of 23/24 Academic Year.
o\tStudents joining the New Zayed Campus will attend the first semester of the 23/24 Academic Year in The New Administrative Capital’s Campus and the second semester at The New Zayed Campus.

:null}\r\n

Privacy rules prevent us from disclosing information to anyone but you about your application unless you authorize a specific person on your behalf in this section. \r\n Once you are admitted, this person will no longer have access to your file.

\r\n

If there are any omissions of key information or any documents submitted in support of your application are found to be fraudulent, the University reserves the right to reject or withdraw the application and offer made.

\r\n \r\n

{\r\n this.props.collectState('Policies', !this.state.acceptedPolicies)\r\n this.setState(prevState => ({\r\n acceptedPolicies: !prevState.acceptedPolicies\r\n }))\r\n }\r\n } checked={this.state.acceptedPolicies}/> Accept Policies

\r\n
\r\n )\r\n }\r\n}\r\nPolicies.propTypes = {\r\n collectState: PropTypes.func.isRequired,\r\n acceptedPolicies: PropTypes.bool,\r\n preferredCampus:PropTypes.string\r\n}\r\n","import React, { Component } from 'react'\r\nimport Loading from './Loading'\r\nimport PropTypes from 'prop-types'\r\nimport InputRow from './InputRow'\r\nexport default class EducationHistoryUndergraduate extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n loading: true,\r\n error: '',\r\n undergradDegree: [],\r\n highSchoolCertificateData: [],\r\n highSchoolCertificate: '',\r\n educationGradeData: [],\r\n educationGrade: '',\r\n grade: '',\r\n endDate: '',\r\n highSchoolNameData: [],\r\n highSchoolName: '',\r\n perviousUniversity: '',\r\n selectedCountry: '',\r\n selectedCity:'',\r\n cityData:[],\r\n cityDataTransfer:[],\r\n countryData: this.props.countryData,\r\n institutionName: '',\r\n perviousUniversityName: '',\r\n previousUniversityData: [],\r\n previousUniversityCountry: '',\r\n previousUniversityCity: '',\r\n marks: '',\r\n isTransfer: false,\r\n isFoundation:false\r\n }\r\n this.addUnderGradDegree = this.addUnderGradDegree.bind(this)\r\n this.changeHighSchoolCerti = this.changeHighSchoolCerti.bind(this)\r\n this.getSchoolGrades = this.getSchoolGrades.bind(this)\r\n this.fetchCity = this.fetchCity.bind(this)\r\n this.fetchCityForTransfer = this.fetchCityForTransfer.bind(this)\r\n this.applyFoundationRule=this.applyFoundationRule.bind(this)\r\n this.changeHighSchoolCertiOnComponenDidMount=this.changeHighSchoolCertiOnComponenDidMount.bind(this)\r\n }\r\n\r\n componentDidMount() {\r\n if(this.props.educationHistory.length>0){\r\n this.fetchCity(parseInt(this.props.educationHistory[0].CountryId) || '')\r\n this.fetchCityForTransfer(parseInt(this.props.educationHistory[0].TransferCountryId) || '')\r\n }\r\n fetch(`${process.env.REACT_APP_API_URL}/api/EducationHistory/GetSchoolCurriculum`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ highSchoolCertificateData: res, highSchoolCertificate: '' })\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}/api/EducationHistory/GetSchoolName`))\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.length) {\r\n this.setState({ highSchoolNameData: res, highSchoolName: '' })\r\n }\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}/api/EducationHistory/GetUniversitiesName`))\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ previousUniversityData: res, perviousUniversityName: '' })\r\n })\r\n .then(() => this.changeHighSchoolCerti(this.state.highSchoolCertificate))\r\n .then(() => {\r\n console.log(this.props)\r\n if (this.props.educationHistory.length > 1) {\r\n const underGradDegree = []\r\n this.props.educationHistory.forEach((element, index) => {\r\n let highSchoolName\r\n let perviousUniversity\r\n if (element.InstitutionId === '8') {\r\n highSchoolName = [{ Id: '8', value: element.InstitutionName }]\r\n } else {\r\n highSchoolName = this.state.highSchoolNameData.filter(ele => ele.Id === parseInt(element.InstitutionId))\r\n }\r\n if (element.TranferedInstitutionId === 'other') {\r\n perviousUniversity = [{ Id: 'other', value: element.TranferedInstitutionName }]\r\n } else {\r\n perviousUniversity = this.state.previousUniversityData.filter(ele => ele.Id === parseInt(element.TranferedInstitutionId))\r\n }\r\n let yearOfGraduation = ''\r\n if (element.EndDate) {\r\n const date = new Date(element.EndDate)\r\n let month = date.getMonth() + 1\r\n let day = date.getDate()\r\n let year = date.getFullYear()\r\n if (month < 10) {\r\n month = '0' + month\r\n }\r\n if (day < 10) {\r\n day = '0' + day\r\n }\r\n if (year < 10) {\r\n year = '000' + year\r\n } else if (year < 100) {\r\n year = '00' + year\r\n } else if (year < 1000) {\r\n year = '0' + year\r\n }\r\n yearOfGraduation = year + '-' + month + '-' + day\r\n }\r\n \r\n if (index <= this.props.educationHistory.length - 2) {\r\n underGradDegree.push({\r\n highSchoolCertificate: element.CurriculumId,\r\n endDate: yearOfGraduation || '',\r\n highSchoolName: highSchoolName && highSchoolName.length > 0 ? highSchoolName[0].Id : '',\r\n selectedCountry: element.CountryId,\r\n selectedCity:element.CityId,\r\n grade: element.GradeId,\r\n perviousUniversity: perviousUniversity.length ? perviousUniversity[0].Id : '',\r\n institutionName: highSchoolName && highSchoolName.length > 0 ? highSchoolName[0].value : '',\r\n perviousUniversityName: perviousUniversity && perviousUniversity.length > 0 ? perviousUniversity[0].value : '',\r\n previousUniversityCountry: element.TransferCountryId,\r\n previousUniversityCity: element.TransferCityId,\r\n mark: element.TotalMark,\r\n educationGrade : element.EducationGrade\r\n \r\n })\r\n } else {\r\n this.setState({\r\n highSchoolCertificate: element.CurriculumId,\r\n endDate: yearOfGraduation || '',\r\n highSchoolName: highSchoolName && highSchoolName.length > 0 ? highSchoolName[0].Id : '',\r\n selectedCountry: element.CountryId,\r\n selectedCity:element.CityId,\r\n grade: element.GradeId,\r\n perviousUniversity: perviousUniversity.length ? perviousUniversity[0].Id : '',\r\n institutionName: highSchoolName && highSchoolName.length > 0 ? highSchoolName[0].value : '',\r\n perviousUniversityName: perviousUniversity && perviousUniversity.length > 0 ? perviousUniversity[0].value : '',\r\n previousUniversityCountry: element.TransferCountryId,\r\n previousUniversityCity: element.TransferCityId,\r\n mark: element.TotalMark,\r\n educationGrade : element.EducationGrade\r\n })\r\n this.changeHighSchoolCerti(element.CurriculumId)\r\n \r\n }\r\n })\r\n this.setState({ undergradDegree: underGradDegree, loading: false })\r\n } else if (this.props.educationHistory.length === 1) {\r\n const element = this.props.educationHistory[0]\r\n let yearOfGraduation = ''\r\n if (element.EndDate) {\r\n const date = new Date(element.EndDate)\r\n let month = date.getMonth() + 1\r\n let day = date.getDate()\r\n let year = date.getFullYear()\r\n if (month < 10) {\r\n month = '0' + month\r\n }\r\n if (day < 10) {\r\n day = '0' + day\r\n }\r\n if (year < 10) {\r\n year = '000' + year\r\n } else if (year < 100) {\r\n year = '00' + year\r\n } else if (year < 1000) {\r\n year = '0' + year\r\n }\r\n yearOfGraduation = year + '-' + month + '-' + day\r\n }\r\n let highSchoolName\r\n let perviousUniversity\r\n if (element.InstitutionId === '8') {\r\n highSchoolName = [{ Id: '8', value: element.InstitutionName }]\r\n } else {\r\n highSchoolName = this.state.highSchoolNameData.filter(ele => ele.Id === parseInt(element.InstitutionId))\r\n }\r\n if (element.TranferedInstitutionId === 'other') {\r\n perviousUniversity = [{ Id: 'other', value: element.TranferedInstitutionName }]\r\n } else {\r\n perviousUniversity = this.state.previousUniversityData.filter(ele => ele.Id === parseInt(element.TranferedInstitutionId))\r\n }\r\n\r\n this.setState({\r\n highSchoolCertificate: element.CurriculumId,\r\n endDate: yearOfGraduation || '',\r\n highSchoolName: highSchoolName && highSchoolName.length > 0 ? highSchoolName[0].Id : '',\r\n selectedCountry: element.CountryId,\r\n selectedCity:element.CityId,\r\n grade: element.GradeId,\r\n perviousUniversity: perviousUniversity.length ? perviousUniversity[0].Id : '',\r\n loading: false,\r\n institutionName: highSchoolName && highSchoolName.length > 0 ? highSchoolName[0].value : '',\r\n perviousUniversityName: perviousUniversity && perviousUniversity.length > 0 ? perviousUniversity[0].value : '',\r\n previousUniversityCountry: element.TransferCountryId,\r\n previousUniversityCity: element.TransferCityId,\r\n mark: element.TotalMark,\r\n educationGrade : element.EducationGrade,\r\n isTransfer:perviousUniversity.length>0? true:false,\r\n })\r\n this.changeHighSchoolCerti(element.CurriculumId)\r\n this.changeHighSchoolCertiOnComponenDidMount(element.CurriculumId,perviousUniversity.length>0)\r\n } else {\r\n this.setState({ loading: false })\r\n }\r\n })\r\n .catch(err => console.log(err))\r\n console.log()\r\n }\r\n\r\n getSchoolGrades (val) {\r\n var schoolGrade = fetch(`${process.env.REACT_APP_API_URL}/api/EducationHistory/GetSchoolGrade?curriculumId=${val}`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ educationGradeData: res })\r\n if (res.length) {\r\n this.setState({ educationGrade: this.props.educationGrade})\r\n return ''\r\n }\r\n })\r\n .catch(err => console.log(err))\r\n //this.setState({ educationGrade: this.props.educationGrade})\r\n return schoolGrade\r\n }\r\n\r\n async fetchCity (val) {\r\n var city = await fetch(`${process.env.REACT_APP_API_URL}/api/AddressInformation/GetCitiesByCountry?countryid=${val}`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ cityData: res })\r\n if (res.length) {\r\n this.setState({ selectedCity: this.props.city || '' })\r\n return ''\r\n }\r\n })\r\n .catch(err => console.log(err))\r\n \r\n return city\r\n }\r\n\r\n async fetchCityForTransfer (val) {\r\n var city = await fetch(`${process.env.REACT_APP_API_URL}/api/AddressInformation/GetCitiesByCountry?countryid=${val}`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ cityDataTransfer: res })\r\n if (res.length) {\r\n this.setState({ previousUniversityCity: this.props.city || '' })\r\n return ''\r\n }\r\n })\r\n .catch(err => console.log(err))\r\n \r\n return city\r\n }\r\n removeUnderGradDegree(index) {\r\n /* This function removes the degree from the visible list, while keeping the values that are in the input boxes intact\r\n and also updates the state to Mains.js */\r\n const {\r\n highSchoolName,\r\n highSchoolCertificate,\r\n grade,\r\n endDate,\r\n selectedCountry,\r\n selectedCity,\r\n perviousUniversity,\r\n institutionName,\r\n perviousUniversityName,\r\n undergradDegree,\r\n previousUniversityCountry,\r\n previousUniversityCity,\r\n mark,\r\n isFoundation\r\n } = this.state\r\n const degrees = []\r\n undergradDegree.forEach((element, index1) => {\r\n if (index1 !== index) {\r\n degrees.push(element)\r\n }\r\n })\r\n this.props.collectState('EH', {\r\n underGradDegree: degrees,\r\n highSchoolCertificate: highSchoolCertificate,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n grade: grade,\r\n mark: mark,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCity: previousUniversityCity,\r\n previousUniversityCountry: previousUniversityCountry,\r\n isFoundation:isFoundation\r\n })\r\n this.setState({ undergradDegree: degrees })\r\n }\r\n\r\n addUnderGradDegree() {\r\n /* This function does the following :\r\n 1. Checks if the data is validated or not ( Required fields filled and format is correct )\r\n 2. Adds degree and updates state in Main.js if validated.\r\n 3. Shows an alert of error if not.\r\n */\r\n const {\r\n highSchoolName,\r\n highSchoolCertificate,\r\n grade,\r\n endDate,\r\n selectedCountry,\r\n selectedCity,\r\n perviousUniversity,\r\n institutionName,\r\n perviousUniversityName,\r\n previousUniversityCountry,\r\n previousUniversityCity,\r\n mark,\r\n educationGrade\r\n } = this.state\r\n if (highSchoolCertificate !== '' && endDate && highSchoolName !== '' && selectedCountry !== '' && grade && mark) {\r\n if (highSchoolName === 'other' && !institutionName) {\r\n alert('Please fill all required fields before adding new!')\r\n } else if (perviousUniversity === 'other' && !perviousUniversityName) {\r\n alert('Please fill all required fields before adding new!')\r\n } else if (perviousUniversity && !previousUniversityCountry && !previousUniversityCity) {\r\n alert('Please fill all required fields before adding new!')\r\n } else {\r\n const degree = {\r\n highSchoolCertificate: highSchoolCertificate,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n grade: grade,\r\n mark: mark,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n educationGrade:educationGrade\r\n\r\n }\r\n this.props.collectState('EH', {\r\n underGradDegree: [...this.state.undergradDegree, degree],\r\n highSchoolCertificate: '',\r\n endDate: '',\r\n highSchoolName: '',\r\n selectedCountry: '',\r\n selectedCity:'',\r\n grade: '',\r\n mark: '',\r\n perviousUniversity: '',\r\n institutionName: '',\r\n perviousUniversityName: '',\r\n previousUniversityCountry: '',\r\n previousUniversityCity: '',\r\n educationGrade:'',\r\n isFoundation:false\r\n })\r\n this.setState({ undergradDegree: [...this.state.undergradDegree, degree] })\r\n this.setState({\r\n highSchoolCertificate: '',\r\n endDate: '',\r\n highSchoolName: '',\r\n selectedCountry: '',\r\n selectedCity:'',\r\n grade: '',\r\n mark: '',\r\n perviousUniversity: '',\r\n institutionName: '',\r\n perviousUniversityName: '',\r\n previousUniversityCountry: '',\r\n previousUniversityCity: '',\r\n educationGrade:''\r\n })\r\n }\r\n } else {\r\n alert('Please fill all required fields before adding new!')\r\n }\r\n }\r\n\r\n changeHighSchoolCerti(val) {\r\n\r\n const isTransfer =this.state.isTransfer\r\n this.setState({ highSchoolCertificate: val })\r\n this.getSchoolGrades(val)\r\n if ((val === '27' || val === '52' || val === '44' || val === '53') && isTransfer==false) {\r\n this.props.changeFoundation(true)\r\n }else{\r\n this.props.changeFoundation(false)\r\n }\r\n }\r\n\r\n\r\n\r\n \r\n changeHighSchoolCertiOnComponenDidMount(val,trans) {\r\n\r\n\r\n if ((val === 27 || val === 52 || val === 44 || val === 53) && trans==false) {\r\n\r\n this.props.changeFoundation(true)\r\n }else{\r\n this.props.changeFoundation(false)\r\n }\r\n }\r\n applyFoundationRule(val) {\r\n const highSchoolCertificate =this.state.highSchoolCertificate\r\n console.log(highSchoolCertificate)\r\n console.log(val)\r\n if (( highSchoolCertificate === 27 || highSchoolCertificate === 52 || highSchoolCertificate === 44 || highSchoolCertificate === 53\r\n || highSchoolCertificate === '27' || highSchoolCertificate === '52' || highSchoolCertificate === '44' || highSchoolCertificate === '53') && val==false) {\r\n console.log(111111)\r\n this.props.changeFoundation(true)\r\n }else{\r\n console.log(22222)\r\n this.props.changeFoundation(false)\r\n }\r\n }\r\n renderUnderGraduate() {\r\n const validationError = this.props.error\r\n const {\r\n loading,\r\n undergradDegree,\r\n highSchoolNameData,\r\n highSchoolCertificateData,\r\n educationGradeData,\r\n highSchoolName,\r\n previousUniversityData,\r\n highSchoolCertificate,\r\n educationGrade,\r\n grade,\r\n endDate,\r\n selectedCountry,\r\n selectedCity,\r\n cityData,\r\n cityDataTransfer,\r\n perviousUniversity,\r\n institutionName,\r\n perviousUniversityName,\r\n previousUniversityCountry,\r\n previousUniversityCity,\r\n mark,\r\n isTransfer,\r\n isFoundation\r\n } = this.state\r\n \r\n if (loading) {\r\n return \r\n }\r\n const visibleDetailDegree = []\r\n if (undergradDegree.length > 0) {\r\n undergradDegree.forEach((element, index) => {\r\n let highSchoolName\r\n if (element.highSchoolName === '8') {\r\n highSchoolName = [{ Id: '8', value: element.institutionName }]\r\n } else {\r\n highSchoolName = highSchoolNameData.filter(ele => ele.Id === parseInt(element.highSchoolName))\r\n }\r\n const highSchoolCertiName = highSchoolCertificateData.filter(ele => ele.Id === parseInt(element.highSchoolCertificate))\r\n visibleDetailDegree.push(\r\n
\r\n
\r\n

{highSchoolName.length ? (highSchoolName[0]).value : ''}

\r\n

{highSchoolCertiName.length ? highSchoolCertiName[0].value : ''}

\r\n
\r\n \r\n\r\n
\r\n )\r\n })\r\n }\r\n if (loading) {\r\n return \r\n }\r\n return (\r\n
\r\n
\r\n
\r\n 0 ? [...highSchoolNameData, { Id: 'other', value: 'Other' }] : highSchoolNameData}\r\n data={highSchoolNameData}\r\n value={highSchoolName}\r\n onChange={(val) => {\r\n this.setState({ educationGrade:''})\r\n \r\n if (val === '8') {\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade :'',\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: val,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: '',\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n isFoundation:isFoundation\r\n })\r\n this.setState({ highSchoolName: val, institutionName: '',selectedCountry:0,selectedCity:0 })\r\n } else {\r\n const hName = highSchoolNameData.filter(ele => parseInt(ele.Id) === parseInt(val))\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade:'',\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: val,\r\n selectedCountry: '',\r\n selectedCity:'',\r\n perviousUniversity: perviousUniversity,\r\n institutionName: hName && hName.length > 0 ? hName[0].value : '',\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n isFoundation:isFoundation\r\n })\r\n this.setState({ highSchoolName: val, institutionName: hName && hName.length > 0 ? hName[0].value : '' })\r\n }\r\n }}\r\n />\r\n {highSchoolName === '8'\r\n ? {\r\n this.setState({ institutionName: val, educationGrade:'' })\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade:educationGrade,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: val,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n isFoundation:isFoundation\r\n })\r\n }}\r\n /> : null}\r\n {highSchoolName === '8'\r\n ? {\r\n this.setState({ selectedCountry: val , educationGrade:'',selectedCity:''})\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade:educationGrade,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: val,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n isFoundation:isFoundation\r\n })\r\n await this.fetchCity(val)\r\n }}\r\n />:null}\r\n {highSchoolName === '8'\r\n ? {\r\n \r\n this.setState({ selectedCity: val })\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade:educationGrade,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:val,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n isFoundation:isFoundation\r\n\r\n })\r\n //this.fetchRegion(val)\r\n }}\r\n /> :null} \r\n {\r\n this.changeHighSchoolCerti(val)\r\n \r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: val,\r\n educationGrade:'',\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n isFoundation:isFoundation\r\n })\r\n \r\n }}\r\n />\r\n\r\n {\r\n this.setState({ educationGrade: val })\r\n\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n educationGrade:val,\r\n isFoundation:isFoundation\r\n })\r\n \r\n }}\r\n \r\n />\r\n\r\n {\r\n const dob = new Date(val)\r\n if (!isNaN(dob.getFullYear())) {\r\n if (parseInt(dob.getFullYear()) <= 9999 ) {\r\n this.setState({ endDate: val })\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n grade: grade,\r\n mark: mark,\r\n endDate: val,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n educationGrade: educationGrade,\r\n isFoundation:isFoundation\r\n })\r\n }\r\n } else {\r\n this.setState({ endDate: '' })\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n grade: grade,\r\n mark: mark,\r\n endDate: '',\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n educationGrade:educationGrade,\r\n isFoundation:isFoundation\r\n })\r\n }\r\n }}\r\n />\r\n
\r\n

Are you a transfer student?

\r\n Yes {\r\n this.setState({ isTransfer: true })\r\n this.applyFoundationRule(true)\r\n\r\n }} name=\"transfer\" checked={!!isTransfer} style={{ minWidth: 'auto', marginLeft: 5 }}/>\r\n No {\r\n this.setState({ isTransfer: false,perviousUniversity:'',perviousUniversityName:'',previousUniversityCity:'',previousUniversityCountry:'' })\r\n this.applyFoundationRule(false)\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: '',\r\n institutionName: institutionName,\r\n perviousUniversityName: '',\r\n previousUniversityCountry: '',\r\n previousUniversityCity: '',\r\n educationGrade: educationGrade,\r\n isFoundation:isFoundation\r\n })\r\n }} name=\"transfer\" checked={!isTransfer} style={{ minWidth: 'auto', marginLeft: 5 }}/>\r\n
\r\n {isTransfer===true?\r\n
\r\n

If yes, kindly add the country, and city under Previous University

\r\n 0 ? [...previousUniversityData, { Id: 'other', value: 'Other' }] : previousUniversityData}\r\n value={perviousUniversity}\r\n onChange={(val) => {\r\n if (val === 'other') {\r\n this.setState({ perviousUniversity: val, perviousUniversityName: '' })\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade:educationGrade,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: val,\r\n institutionName: institutionName,\r\n perviousUniversityName: '',\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n isFoundation:isFoundation\r\n })\r\n }\r\n const prevName = val ? previousUniversityData.filter(ele => ele.Id === parseInt(val)) : null\r\n this.setState({\r\n perviousUniversity: val,\r\n perviousUniversityName: val && prevName && prevName.length > 0 ? prevName[0].value : '',\r\n previousUniversityCountry: '',\r\n previousUniversityCity: ''\r\n })\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade:educationGrade,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: val,\r\n institutionName: institutionName,\r\n perviousUniversityName: val && prevName && prevName.length > 0 ? prevName[0].value : '',\r\n previousUniversityCountry: '',\r\n previousUniversityCity: '',\r\n isFoundation:isFoundation\r\n })\r\n }}\r\n />
:null}\r\n {perviousUniversity === 'other'\r\n ? {\r\n this.setState({ perviousUniversityName: val })\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade:educationGrade,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: val,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: previousUniversityCity,\r\n isFoundation:isFoundation\r\n })\r\n \r\n }}\r\n /> : null}\r\n {perviousUniversity === 'other'\r\n ? <>\r\n {\r\n this.setState({ previousUniversityCountry: val ,previousUniversityCity:''})\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade:educationGrade,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: val,\r\n previousUniversityCity: previousUniversityCity,\r\n isFoundation:isFoundation\r\n })\r\n await this.fetchCityForTransfer(val)\r\n }}\r\n value={previousUniversityCountry}\r\n />\r\n {\r\n this.setState({ previousUniversityCity: val })\r\n this.props.collectState('EH', {\r\n underGradDegree: undergradDegree,\r\n highSchoolCertificate: highSchoolCertificate,\r\n educationGrade:educationGrade,\r\n grade: grade,\r\n mark: mark,\r\n endDate: endDate,\r\n highSchoolName: highSchoolName,\r\n selectedCountry: selectedCountry,\r\n selectedCity:selectedCity,\r\n perviousUniversity: perviousUniversity,\r\n institutionName: institutionName,\r\n perviousUniversityName: perviousUniversityName,\r\n previousUniversityCountry: previousUniversityCountry,\r\n previousUniversityCity: val,\r\n isFoundation:isFoundation\r\n })\r\n }}\r\n value={previousUniversityCity}\r\n />\r\n : null}\r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n\r\n render() {\r\n const { loading, error } = this.state\r\n if (loading) {\r\n return ()\r\n }\r\n\r\n return (\r\n
\r\n

{error}

\r\n {this.renderUnderGraduate()}\r\n \r\n
\r\n )\r\n }\r\n}\r\nEducationHistoryUndergraduate.propTypes = {\r\n countryData: PropTypes.array.isRequired,\r\n program: PropTypes.number.isRequired,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n educationHistory: PropTypes.array,\r\n collectState: PropTypes.func,\r\n error: PropTypes.object,\r\n changeFoundation: PropTypes.func\r\n}\r\n","import React, { Component } from 'react'\r\nimport Loading from './Loading'\r\nimport PropTypes from 'prop-types'\r\nimport InputRow from './InputRow'\r\nexport default class EducationHistoryGraduate extends Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n loading: true,\r\n error: '',\r\n graduateDegree: [],\r\n universityCertificate: '',\r\n universityCertificateData: [],\r\n yearOfGraduation: '',\r\n universityName: 0,\r\n selectedCountry: '',\r\n gpa: '',\r\n universityNameData: [],\r\n countryData: this.props.countryData,\r\n institutionName: ''\r\n }\r\n this.addGraduateDegree = this.addGraduateDegree.bind(this)\r\n }\r\n\r\n componentDidMount () {\r\n fetch(`${process.env.REACT_APP_API_URL}/api/EducationHistory/GetUniversityCurriculum`)\r\n .then(res => res.json())\r\n .then(res => {\r\n this.setState({ universityCertificateData: res, universityCertificate: '' })\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}/api/EducationHistory/GetUniversitiesName`))\r\n .then(res => res.json())\r\n .then(res => {\r\n console.log(this.props)\r\n this.setState({ universityNameData: res, universityName: '' })\r\n if (this.props.educationHistory.length > 1) {\r\n const graduateDegree = []\r\n this.props.educationHistory.forEach((element, index) => {\r\n let universityName/* = res.filter(ele => ele.value === element.InstitutionName) */\r\n if (element.InstitutionId === 'other') {\r\n universityName = [{ Id: 'other', value: element.InstitutionName }]\r\n } else {\r\n universityName = res.filter(ele => ele.Id === parseInt(element.InstitutionId))\r\n }\r\n let endDate = ''\r\n if (element.EndDate) {\r\n const date = new Date(element.EndDate)\r\n let month = date.getMonth() + 1\r\n let day = date.getDate()\r\n let year = date.getFullYear()\r\n if (month < 10) {\r\n month = '0' + month\r\n }\r\n if (day < 10) {\r\n day = '0' + day\r\n }\r\n if (year < 10) {\r\n year = '000' + year\r\n } else if (year < 100) {\r\n year = '00' + year\r\n } else if (year < 1000) {\r\n year = '0' + year\r\n }\r\n endDate = year + '-' + month + '-' + day\r\n }\r\n this.setState({ dateOfBirth: endDate })\r\n if (index <= this.props.educationHistory.length - 2) {\r\n graduateDegree.push({\r\n universityCertificate: element.CurriculumId,\r\n yearOfGraduation: endDate,\r\n universityName: universityName && universityName.length > 0 ? universityName[0].Id : '',\r\n selectedCountry: element.CountryId,\r\n gpa: element.GPA,\r\n institutionName: element.InstitutionName\r\n })\r\n } else {\r\n this.setState({\r\n universityCertificate: element.CurriculumId,\r\n yearOfGraduation: endDate,\r\n universityName: universityName && universityName.length > 0 ? universityName[0].Id : '',\r\n selectedCountry: element.CountryId,\r\n gpa: element.GPA,\r\n institutionName: element.InstitutionName\r\n })\r\n }\r\n })\r\n this.setState({ graduateDegree: graduateDegree, loading: false })\r\n } else if (this.props.educationHistory.length === 1) {\r\n const element = this.props.educationHistory[0]\r\n let endDate = ''\r\n if (element.EndDate) {\r\n const date = new Date(element.EndDate)\r\n let month = date.getMonth() + 1\r\n let day = date.getDate()\r\n let year = date.getFullYear()\r\n if (month < 10) {\r\n month = '0' + month\r\n }\r\n if (day < 10) {\r\n day = '0' + day\r\n }\r\n if (year < 10) {\r\n year = '000' + year\r\n } else if (year < 100) {\r\n year = '00' + year\r\n } else if (year < 1000) {\r\n year = '0' + year\r\n }\r\n endDate = year + '-' + month + '-' + day\r\n }\r\n let universityName/* = res.filter(ele => ele.value === element.InstitutionName) */\r\n if (element.InstitutionId === 'other') {\r\n universityName = [{ Id: 'other', value: element.InstitutionName }]\r\n } else {\r\n universityName = res.filter(ele => ele.Id === parseInt(element.InstitutionId))\r\n }\r\n this.setState({\r\n universityCertificate: element.CurriculumId,\r\n yearOfGraduation: endDate,\r\n universityName: universityName && universityName.length > 0 ? universityName[0].Id : '',\r\n selectedCountry: element.CountryId,\r\n gpa: element.GPA,\r\n institutionName: element.InstitutionName,\r\n loading: false\r\n })\r\n } else {\r\n this.setState({ loading: false })\r\n }\r\n })\r\n .catch(err => console.log(err))\r\n }\r\n\r\n removeGraduateDegree (index) {\r\n const { graduateDegree, universityCertificate, yearOfGraduation, universityName, gpa, selectedCountry, institutionName } = this.state\r\n const degrees = []\r\n graduateDegree.forEach((element, index1) => {\r\n if (index1 !== index) {\r\n degrees.push(element)\r\n }\r\n })\r\n this.props.collectState('EH', {\r\n graduateDegree: degrees,\r\n universityCertificate: universityCertificate,\r\n yearOfGraduation: yearOfGraduation,\r\n universityName: universityName,\r\n selectedCountry: selectedCountry,\r\n gpa: gpa,\r\n institutionName: institutionName\r\n\r\n })\r\n this.setState({ graduateDegree: degrees })\r\n }\r\n\r\n addGraduateDegree () {\r\n const { universityCertificate, yearOfGraduation, universityName, gpa, selectedCountry, institutionName } = this.state\r\n if (universityCertificate !== '' && yearOfGraduation && universityName !== '' && selectedCountry !== '' && gpa) {\r\n if (universityName === 'other' && !institutionName) {\r\n alert('Please fill all required fields before adding new!')\r\n } else {\r\n const degree = {\r\n universityCertificate: universityCertificate,\r\n yearOfGraduation: yearOfGraduation,\r\n universityName: universityName,\r\n selectedCountry: this.props.countryData[0].Id,\r\n gpa: gpa,\r\n institutionName: institutionName\r\n }\r\n this.props.collectState('EH', {\r\n graduateDegree: [...this.state.graduateDegree, degree],\r\n universityCertificate: '',\r\n yearOfGraduation: '',\r\n universityName: '',\r\n selectedCountry: '',\r\n gpa: '',\r\n institutionName: ''\r\n\r\n })\r\n this.setState({ graduateDegree: [...this.state.graduateDegree, degree] })\r\n this.setState({\r\n universityCertificate: '',\r\n yearOfGraduation: '',\r\n universityName: '',\r\n selectedCountry: '',\r\n gpa: '',\r\n institutionName: ''\r\n })\r\n }\r\n } else {\r\n alert('Please fill all required fields before adding new!')\r\n }\r\n }\r\n\r\n renderGraduate () {\r\n const validationError = this.props.error\r\n const { loading, graduateDegree, universityNameData, universityCertificateData, universityName, universityCertificate, yearOfGraduation, gpa, selectedCountry, institutionName } = this.state\r\n if (loading) {\r\n return \r\n }\r\n const visibleDetailDegree = []\r\n if (graduateDegree.length > 0) {\r\n graduateDegree.forEach((element, index) => {\r\n let universityName\r\n if (element.universityName === 'other') {\r\n universityName = [{ Id: 'other', value: element.institutionName }]\r\n } else {\r\n universityName = universityNameData.filter(ele => ele.Id === element.universityName)\r\n }\r\n const universityCertificate = universityCertificateData.filter(ele => ele.Id === element.universityCertificate)\r\n visibleDetailDegree.push(\r\n
\r\n
\r\n

{universityName.length > 0 ? universityName[0].value : ''}

\r\n

{universityCertificate.length > 0 ? universityCertificate[0].value : ''}

\r\n
\r\n \r\n\r\n
\r\n )\r\n })\r\n }\r\n return (\r\n
\r\n\r\n
\r\n
\r\n {\r\n this.setState({ universityCertificate: parseInt(val) })\r\n this.props.collectState('EH', {\r\n graduateDegree: graduateDegree,\r\n universityCertificate: val,\r\n yearOfGraduation: yearOfGraduation,\r\n universityName: universityName,\r\n selectedCountry: selectedCountry,\r\n gpa: gpa,\r\n institutionName: institutionName\r\n })\r\n }}\r\n />\r\n {\r\n const dob = new Date(val)\r\n if (!isNaN(dob.getFullYear())) {\r\n if (parseInt(dob.getFullYear()) <= 9999 ) {\r\n this.setState({ yearOfGraduation: val })\r\n this.props.collectState('EH', {\r\n graduateDegree: graduateDegree,\r\n universityCertificate: universityCertificate,\r\n yearOfGraduation: val,\r\n universityName: universityName,\r\n selectedCountry: selectedCountry,\r\n gpa: gpa,\r\n institutionName: institutionName\r\n })\r\n }\r\n } else {\r\n this.setState({ yearOfGraduation: '' })\r\n this.props.collectState('EH', {\r\n graduateDegree: graduateDegree,\r\n universityCertificate: universityCertificate,\r\n yearOfGraduation: '',\r\n universityName: universityName,\r\n selectedCountry: selectedCountry,\r\n gpa: gpa,\r\n institutionName: institutionName\r\n })\r\n }\r\n }}\r\n />\r\n 0 ? [...universityNameData, { Id: 'other', value: 'Other' }] : universityNameData}\r\n value={universityName}\r\n onChange={(val) => {\r\n if (val === 'other') {\r\n this.props.collectState('EH', {\r\n graduateDegree: graduateDegree,\r\n universityCertificate: universityCertificate,\r\n yearOfGraduation: yearOfGraduation,\r\n universityName: val,\r\n selectedCountry: selectedCountry,\r\n gpa: gpa,\r\n institutionName: ''\r\n })\r\n this.setState({ universityName: val, institutionName: '' })\r\n } else {\r\n const institutionNames = universityNameData.filter(ele => ele.Id === parseInt(val))\r\n this.props.collectState('EH', {\r\n graduateDegree: graduateDegree,\r\n universityCertificate: universityCertificate,\r\n yearOfGraduation: yearOfGraduation,\r\n universityName: val,\r\n selectedCountry: selectedCountry,\r\n gpa: gpa,\r\n institutionName: institutionNames && institutionNames.length > 0 ? institutionNames[0].value : ''\r\n })\r\n this.setState({ universityName: parseInt(val), institutionName: institutionNames && institutionNames.length > 0 ? institutionNames[0].value : '' })\r\n }\r\n }}\r\n rowName=\"University Name\"\r\n hover=\"Insert your Undergraduate name. أدخل اسمك الجامعي\"\r\n />\r\n {universityName === 'other'\r\n ? {\r\n this.setState({ institutionName: val })\r\n this.props.collectState('EH', {\r\n graduateDegree: graduateDegree,\r\n universityCertificate: universityCertificate,\r\n yearOfGraduation: yearOfGraduation,\r\n universityName: universityName,\r\n selectedCountry: selectedCountry,\r\n gpa: gpa,\r\n institutionName: val\r\n })\r\n }}\r\n /> : null}\r\n {\r\n this.setState({ selectedCountry: val })\r\n this.props.collectState('EH', {\r\n graduateDegree: graduateDegree,\r\n universityCertificate: universityCertificate,\r\n yearOfGraduation: yearOfGraduation,\r\n universityName: universityName,\r\n selectedCountry: val,\r\n gpa: gpa,\r\n institutionName: institutionName\r\n })\r\n }}\r\n />\r\n {\r\n this.setState({ gpa: val })\r\n this.props.collectState('EH', {\r\n graduateDegree: graduateDegree,\r\n universityCertificate: universityCertificate,\r\n yearOfGraduation: yearOfGraduation,\r\n universityName: universityName,\r\n selectedCountry: selectedCountry,\r\n gpa: val,\r\n institutionName: institutionName\r\n })\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n\r\n render () {\r\n const { loading, error } = this.state\r\n if (loading) {\r\n return ()\r\n }\r\n\r\n return (\r\n
\r\n

{error}

\r\n {this.renderGraduate()}\r\n \r\n
\r\n )\r\n }\r\n}\r\nEducationHistoryGraduate.propTypes = {\r\n countryData: PropTypes.array.isRequired,\r\n program: PropTypes.number.isRequired,\r\n incompleteApplicationId: PropTypes.number.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n educationHistory: PropTypes.array,\r\n collectState: PropTypes.func,\r\n error: PropTypes.object\r\n}\r\n","/* eslint-disable react/jsx-no-target-blank */\r\nimport React, { Component } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport InputRow from './InputRow'\r\nimport Loading from './Loading'\r\nexport default class TestScores extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n tests: [],\r\n testData: [],\r\n testTypeData: [],\r\n loading: true,\r\n selectedTest: [],\r\n checkboxTest:0,\r\n testCheckbox:''\r\n }\r\n this.updateDateTaken = this.updateDateTaken.bind(this)\r\n this.deleteDateTaken = this.deleteDateTaken.bind(this)\r\n this.updateScore = this.updateScore.bind(this)\r\n this.updateTest = this.updateTest.bind(this)\r\n this.updateTestType = this.updateTestType.bind(this)\r\n this.deleteTest = this.deleteTest.bind(this)\r\n this.addTest = this.addTest.bind(this)\r\n this.getTestTypeData = this.getTestTypeData.bind(this)\r\n }\r\n\r\n componentDidMount() {\r\n\r\n fetch(`${process.env.REACT_APP_API_URL}/api/AcademicTest/GetAcademicTestCodes`)\r\n .then(res => res.json())\r\n .then(async res => {\r\n if (res.length) {\r\n this.setState({ testData: res })\r\n }\r\n })\r\n .then(() => {\r\n if (this.props.testScore.tests && this.props.testScore.tests.length > 0) {\r\n this.props.testScore.tests.forEach((element, i) => {\r\n let dateTaken = ''\r\n if (element.dateTaken) {\r\n const date = new Date(element.dateTaken)\r\n let month = date.getMonth() + 1\r\n let day = date.getDate()\r\n let year = date.getFullYear()\r\n if (month < 10) {\r\n month = '0' + month\r\n }\r\n if (day < 10) {\r\n day = '0' + day\r\n }\r\n if (year < 10) {\r\n year = '000' + year\r\n } else if (year < 100) {\r\n year = '00' + year\r\n } else if (year < 1000) {\r\n year = '0' + year\r\n }\r\n dateTaken = year + '-' + month + '-' + day\r\n element.dateTaken = dateTaken\r\n }\r\n })\r\n }\r\n this.setState({\r\n tests: this.props.testScore.tests && this.props.testScore.tests.length > 0 ? this.props.testScore.tests : [{\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n })\r\n .catch(err => console.log(err))\r\n\r\n if (this.props.testScore.tests && this.props.testScore.tests.length > 0) {\r\n this.props.testScore.tests.forEach(async (element, i) => {\r\n const data = await this.getTestTypeData(element.test, i)\r\n if (data === 1 && i + 1 === this.props.testScore.tests.length) {\r\n this.setState({ loading: false })\r\n }\r\n })\r\n if(this.props.testScore.tests.length ==5)\r\n {\r\n if(this.props.testScore.tests[0].test===8)\r\n this.setState({ checkboxTest: 8 })\r\n else if(this.props.testScore.tests[0].test===9)\r\n this.setState({ checkboxTest: 9 })\r\n else\r\n this.setState({ checkboxTest: 0 })\r\n\r\n }\r\n } else {\r\n this.setState({ loading: false })\r\n }\r\n \r\n }\r\n\r\n async getTestTypeData(value, index) {\r\n return fetch(`${process.env.REACT_APP_API_URL}/api/AcademicTest/GetTestTypeByTest?TestId=${value}`)\r\n .then((res) => res.json())\r\n .then((res) => {\r\n const testTypeData = Array.from(this.state.testTypeData)\r\n testTypeData[index] = JSON.stringify(res)\r\n this.setState({ testTypeData: testTypeData })\r\n return 1\r\n })\r\n }\r\n\r\n async updateTest(value, index) {\r\n this.getTestTypeData(value, index)\r\n .catch(err => console.log(err))\r\n const { tests } = this.state\r\n const newTest = Array.from(tests)\r\n tests.forEach((element, i) => {\r\n if (i === index) {\r\n element.test = value\r\n element.testType = ''\r\n }\r\n })\r\n this.props.collectState('TS', {\r\n tests: newTest\r\n })\r\n this.setState({ tests: newTest })\r\n }\r\n\r\n updateTestType(value, index) {\r\n const { tests } = this.state\r\n const newTest = Array.from(tests)\r\n tests.forEach((element, i) => {\r\n if (i === index) {\r\n element.testType = value\r\n }\r\n })\r\n\r\n this.props.collectState('TS', {\r\n tests: newTest\r\n })\r\n this.setState({ tests: newTest })\r\n }\r\n\r\n updateScore(value, index) {\r\n const { tests } = this.state\r\n const newTest = Array.from(tests)\r\n tests.forEach((element, i) => {\r\n if (i === index) {\r\n element.score = value\r\n }\r\n })\r\n this.props.collectState('TS', {\r\n tests: newTest\r\n })\r\n this.setState({ tests: newTest })\r\n }\r\n\r\n updateDateTaken(value, index) {\r\n const { tests } = this.state\r\n const newTest = Array.from(tests)\r\n tests.forEach((element, i) => {\r\n if (i === index) {\r\n element.dateTaken = value\r\n }\r\n })\r\n this.props.collectState('TS', {\r\n tests: newTest\r\n })\r\n this.setState({ tests: newTest })\r\n }\r\n\r\n deleteDateTaken(value, index) {\r\n const { tests } = this.state\r\n const newTest = Array.from(tests)\r\n tests.forEach((element, i) => {\r\n if (i === index) {\r\n element.dateTaken = ''\r\n }\r\n })\r\n this.props.collectState('TS', {\r\n tests: newTest\r\n })\r\n this.setState({ tests: newTest })\r\n }\r\n\r\n deleteTest(index) {\r\n const { tests } = this.state\r\n const newTest = []\r\n tests.forEach((element, i) => {\r\n if (i !== index) {\r\n newTest.push(element)\r\n }\r\n })\r\n this.props.collectState('TS', {\r\n tests: newTest\r\n })\r\n this.setState({ tests: newTest })\r\n }\r\n\r\nasync addTest(testId) {\r\n \r\n const { tests,testData } = this.state\r\n let IELTS=0\r\n \r\n if (tests.length >= 5) {\r\n alert('Only 5 test types can be added!')\r\n return\r\n }\r\n let count = 1\r\n const errorCheck = ['', 0, null, undefined]\r\n tests.forEach(element => {\r\n if (errorCheck.indexOf(element.test) !== -1 || errorCheck.indexOf(element.testType) !== -1 || errorCheck.indexOf(element.dateTaken) !== -1 || errorCheck.indexOf(element.score) !== -1) {\r\n count = 0\r\n }\r\n })\r\n // if (count === 1) {\r\n\r\n\r\n this.setState({\r\n tests: [{\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n\r\n this.props.collectState('TS', {\r\n tests: [{\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n\r\n\r\n\r\n\r\n\r\n this.updateTest(testId, 0)\r\n .then(()=>{this.updateTestType(1010, 0)})\r\n .then(()=> {\r\n this.setState({\r\n tests: [...this.state.tests, {\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n this.props.collectState('TS', {\r\n tests: [...this.state.tests, {\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n\r\n })\r\n .then(()=>{\r\n this.updateTest(testId, 1)\r\n })\r\n .then(()=>{this.updateTestType(1007, 1)})\r\n .then(()=> {\r\n this.setState({\r\n tests: [...this.state.tests, {\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n this.props.collectState('TS', {\r\n tests: [...this.state.tests, {\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n\r\n })\r\n .then(()=>{\r\n this.updateTest(testId, 2)\r\n })\r\n .then(()=>{this.updateTestType(1012, 2)})\r\n .then(()=> {\r\n this.setState({\r\n tests: [...this.state.tests, {\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n this.props.collectState('TS', {\r\n tests: [...this.state.tests, {\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n\r\n })\r\n .then(()=>{\r\n this.updateTest(testId, 3)\r\n })\r\n .then(()=>{this.updateTestType(1011, 3)})\r\n .then(()=> {\r\n this.setState({\r\n tests: [...this.state.tests, {\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n this.props.collectState('TS', {\r\n tests: [...this.state.tests, {\r\n test: '',\r\n testType: '',\r\n score: '',\r\n dateTaken: ''\r\n }]\r\n })\r\n\r\n })\r\n .then(()=>{\r\n this.updateTest(testId, 4)\r\n })\r\n .then(()=>{this.updateTestType(1013, 4)})\r\n\r\n\r\n \r\n\r\n\r\n\r\n // } else {\r\n // alert('Please fill all the fields of all the rows before adding new rows')\r\n // }\r\n }\r\n\r\n render() {\r\n const validationError = this.props.error\r\n const { tests, testData, testTypeData, loading, checkboxTest } = this.state\r\n \r\n if (loading) {\r\n return \r\n }\r\n const testView = []\r\n tests.forEach((element, index) => {\r\n testView.push(\r\n
\r\n\r\n 0 && validationError[index].test ? validationError[index].test : ''}\r\n name=\"select\"\r\n rowName=\"Test\"\r\n disabled=\"true\"\r\n onChange={async (val) => {\r\n \r\n await this.updateTest(val, index)\r\n }}\r\n />\r\n 0 && validationError[index].testType ? validationError[index].testType : ''}\r\n rowName=\"Type\"\r\n disabled=\"true\"\r\n onChange={(val) => {\r\n this.updateTestType(val, index)\r\n }}\r\n />\r\n 0 && validationError[index].score ? validationError[index].score : ''}\r\n rowName=\"Score\"\r\n onChange={(val) => {\r\n if ((val.length) < 5 || val === '') {\r\n this.updateScore(val, index)\r\n } else { alert('Please enter 4 numbers or characters !') }\r\n }}\r\n />\r\n 0 && validationError[index].dateTaken ? validationError[index].dateTaken : ''}\r\n name=\"date\"\r\n rowName=\"Date Taken\"\r\n onChange={(val) => {\r\n const dateTaken = new Date(val)\r\n // const newTestDate = Array.from(tests)\r\n if (!isNaN(dateTaken.getFullYear())) {\r\n if (parseInt(dateTaken.getFullYear()) <= 9999) {\r\n this.updateDateTaken(val, index)\r\n }\r\n } else {\r\n this.deleteDateTaken(val, index)\r\n }\r\n }}\r\n />\r\n {/* {index >= 1 ? : null} */}\r\n
\r\n )\r\n })\r\n return (\r\n
\r\n {validationError.length > 0 ?

You must fill all available English Proficiency Types

:

}\r\n {/*

Please enter your score and upload your certificate. If you did not reserve an English exam, please visit this website http://google.com

*/}\r\n

If you have taken any of the tests below, please fill in all of the required boxes.

\r\n

If you have taken your IELTS (Academic, or UKVI) /TOEFL (iBT) exam and your results are not out yet, please do not enter data in this section

\r\n

Note: We do not accept TOEFL My Best Scores

\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n {checkboxTest==9 || checkboxTest==8 ?testView:null}\r\n\r\n
\r\n\r\n {/*
*/}\r\n
\r\n\r\n
\r\n )\r\n }\r\n}\r\nTestScores.propTypes = {\r\n collectState: PropTypes.func,\r\n testScore: PropTypes.array,\r\n error: PropTypes.array,\r\n onSave: PropTypes.func\r\n}\r\n","/* eslint-disable no-case-declarations */\r\nimport React, { Component } from 'react'\r\nimport loader from '../loader.gif'\r\nimport logo from '../logo.gif'\r\nimport AcademicInterest from './AcademicInterest'\r\nimport GovernmentInformation from './GovernmentInformation'\r\nimport PersonalInformation from './PersonalInformation'\r\n\r\nimport Address from './Address'\r\nimport Contact from './Contact'\r\nimport ParentsInformation from './ParentsInformation'\r\nimport GuardianInformation from './GuardianInformation'\r\nimport HealthInformation from './HealthInformation'\r\nimport Sources from './Sources'\r\nimport Policies from './Policies'\r\nimport PropTypes from 'prop-types'\r\nimport EducationHistoryUndergraduate from './EducationHistoryUndergraduate'\r\nimport EducationHistoryGraduate from './EducationHistoryGraduate'\r\nimport { emailCheck } from '../constants'\r\nimport submit from '../submit.gif'\r\nimport TestScores from './TestScores'\r\nexport default class Mains extends Component {\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n saveProcessing: false,\r\n nextProcessing: false,\r\n acceptedPolicies: false,\r\n isBlocking: true,\r\n loading: true,\r\n program: '',\r\n nationality: 1,\r\n countryData: [],\r\n email: '',\r\n fname: '',\r\n lName: '',\r\n mName: '',\r\n motherInfo: [],\r\n fatherInfo: [],\r\n guardianInfo: [],\r\n saved: false,\r\n count: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],\r\n sections: [\r\n {\r\n name: 'Applicant Personal Information',\r\n open: false\r\n },\r\n {\r\n name: 'Education',\r\n open: false\r\n },\r\n {\r\n name: 'Program of Study',\r\n open: false\r\n },\r\n {\r\n name: 'Official Identification',\r\n open: false\r\n },\r\n {\r\n name: 'Address',\r\n open: false\r\n },\r\n {\r\n name: 'Applicant’s Contact Information',\r\n open: false\r\n },\r\n {\r\n name: 'Parents Information',\r\n open: false\r\n },\r\n {\r\n name: 'Legal Guardian Information',\r\n open: false\r\n },\r\n\r\n {\r\n name: 'English Proficiency Assessment',\r\n open: false\r\n },\r\n {\r\n name: 'Health Information',\r\n open: false\r\n },\r\n {\r\n name: 'Sources',\r\n open: false\r\n },\r\n {\r\n name: 'Policies',\r\n open: false\r\n }\r\n ],\r\n activeSections: [\r\n {\r\n name: 'Applicant Personal Information',\r\n open: false\r\n },\r\n {\r\n name: 'Education',\r\n open: false\r\n },\r\n {\r\n name: 'Program of Study',\r\n open: false\r\n },\r\n {\r\n name: 'Official Identification',\r\n open: false\r\n },\r\n {\r\n name: 'Address',\r\n open: false\r\n },\r\n {\r\n name: 'Applicant’s Contact Information',\r\n open: false\r\n },\r\n {\r\n name: 'Parents Information',\r\n open: false\r\n },\r\n {\r\n name: 'Legal Guardian Information',\r\n open: false\r\n },\r\n\r\n {\r\n name: 'English Proficiency Assessment',\r\n open: false\r\n },\r\n {\r\n name: 'Health Information',\r\n open: false\r\n },\r\n {\r\n name: 'Sources',\r\n open: false\r\n },\r\n {\r\n name: 'Policies',\r\n open: false\r\n }\r\n ],\r\n incompleteApplicationId: 0,\r\n selectedProgram: 0,\r\n addressType: 0,\r\n line1: '',\r\n line2: '',\r\n country: 0,\r\n city: 0,\r\n dateOfBirth: 0,\r\n countryOfBirth: 0,\r\n gender: 0,\r\n siblingFName: '',\r\n siblingMName: '',\r\n siblingLName: '',\r\n siblingTKHNumber: '',\r\n arabicData: [],\r\n contactInformation: [],\r\n educationHistory: [],\r\n entryTerm: 0,\r\n selectedUniversity: 0,\r\n selectedSecondUniversity: 0,\r\n selectedSecondProgram: 0,\r\n selectedSecondMajor: 0,\r\n selectedLevel: 0,\r\n selectedSecondLevel: 0,\r\n programOfStudyId: '',\r\n description: '',\r\n secondDescription: '',\r\n nationalIdNumber: '',\r\n passportNumber: '',\r\n passportCountry: 0,\r\n passportExpiry: '',\r\n policyError: '',\r\n testTypeError: '',\r\n color: 'red',\r\n personalInformation: {},\r\n errorPI: {},\r\n ai: {},\r\n errorAI: {},\r\n governmentInformation: {},\r\n errorGI: {},\r\n address: {},\r\n errorAdd: {},\r\n contactInformations: {},\r\n errorContact: {},\r\n parentsInformation: {},\r\n errorParent: {},\r\n guardianInformation: {},\r\n errorGuard: {},\r\n educationHistorys: {},\r\n errorEdu: {},\r\n testScores: {},\r\n testScoresProp: {},\r\n errorTest: [],\r\n errorAcad: {},\r\n healthInformation: {},\r\n errorHI: {},\r\n sources: {},\r\n errorSources: {},\r\n sourceInformation: {},\r\n undergraduate: null,\r\n graduate: null,\r\n fatherId: null,\r\n motherId: null,\r\n ahsd: null,\r\n ib: null,\r\n anata: null,\r\n igcse: null,\r\n gcse: null,\r\n otherSource: null,\r\n isFoundation:false,\r\n isPopup:false,\r\n preferredCampus:'',\r\n dormPlanInterest:false\r\n }\r\n this.toggleAccordion = this.toggleAccordion.bind(this)\r\n this.toggleAll = this.toggleAll.bind(this)\r\n this.collectState = this.collectState.bind(this)\r\n this.prepareState = this.prepareState.bind(this)\r\n this.conditionCheck = this.conditionCheck.bind(this)\r\n this.personalInformationCheck = this.personalInformationCheck.bind(this)\r\n this.educationHistoryCheck = this.educationHistoryCheck.bind(this)\r\n this.academicInterestCheck = this.academicInterestCheck.bind(this)\r\n this.governmentInformationCheck = this.governmentInformationCheck.bind(this)\r\n this.addressCheck = this.addressCheck.bind(this)\r\n this.contactCheck = this.contactCheck.bind(this)\r\n this.parentsInformationCheck = this.parentsInformationCheck.bind(this)\r\n this.guardianInformationCheck = this.guardianInformationCheck.bind(this)\r\n this.testScoresCheck = this.testScoresCheck.bind(this)\r\n this.healthInformationCheck = this.healthInformationCheck.bind(this)\r\n this.sourcesCheck = this.sourcesCheck.bind(this)\r\n this.handleSave = this.handleSave.bind(this)\r\n this.submit = this.submit.bind(this)\r\n this.getDefaultValue = this.getDefaultValue.bind(this)\r\n this.changeFoundation=this.changeFoundation.bind(this)\r\n this.changePopup=this.changePopup.bind(this)\r\n }\r\n\r\n async componentDidMount() {\r\n this.setState({\r\n incompleteApplicationId: parseInt(this.props.incompleteApplicationId) || parseInt(sessionStorage.getItem('id')),\r\n token: this.props.token || sessionStorage.getItem('token') || sessionStorage.getItem('token')\r\n })\r\n fetch(`${process.env.REACT_APP_API_URL}/api/login/getprefilleddata`, {\r\n method: 'POST',\r\n body: JSON.stringify({\r\n IncompleteApplicationId: this.props.incompleteApplicationId || parseInt(sessionStorage.getItem('id')),\r\n Token: this.props.token || sessionStorage.getItem('token') || sessionStorage.getItem('token')\r\n }),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.StatusCode === 200) {\r\n\r\n this.setState({\r\n\r\n /* Personal Information */\r\n fName: res.data.FirstName,\r\n lName: res.data.LastName,\r\n mName: res.data.MiddleName,\r\n email: res.data.Email,\r\n dateOfBirth: res.data.DateOfBirth,\r\n countryOfBirth: res.data.CountryOfBirth,\r\n nationality: res.data.Nationality,\r\n gender: res.data.Gender,\r\n arabicData: res.data.ArabicData,\r\n siblingFName: res.data.SiblingFName,\r\n siblingMName: res.data.SiblingMName,\r\n siblingLName: res.data.SiblingLName,\r\n siblingTKHNumber: res.data.SiblingTKHNumber,\r\n personalInformation: {\r\n fName: res.data.FirstName,\r\n lName: res.data.LastName,\r\n mName: res.data.MiddleName,\r\n dateOfBirth: res.data.DateOfBirth,\r\n selectedCountry: res.data.CountryOfBirth,\r\n selectedNationality: res.data.Nationality,\r\n selectedGender: res.data.Gender,\r\n siblingFName: res.data.SiblingFName,\r\n siblingMName: res.data.SiblingMName,\r\n siblingLName: res.data.SiblingLName,\r\n siblingTKHNumber: res.data.SiblingTKHNumber,\r\n arabicText1: res.data.ArabicData && res.data.ArabicData.length >= 1 ? res.data.ArabicData[0].ColumnValue : '',\r\n arabicText2: res.data.ArabicData && res.data.ArabicData.length >= 2 ? res.data.ArabicData[1].ColumnValue : '',\r\n arabicText3: res.data.ArabicData && res.data.ArabicData.length >= 3 ? res.data.ArabicData[2].ColumnValue : '',\r\n },\r\n /* Contact Information */\r\n contactInformation: res.data.ContactInformation,\r\n /* Program of Study */\r\n\r\n selectedProgram: res.data.ProgramId,\r\n description: res.data.Description,\r\n secondDescription: res.data.SecDescription,\r\n entryTerm: res.data.EntryTerm,\r\n programOfStudyId: res.data.ProgramOfStudyId,\r\n selectedUniversity: res.data.UniversityId,\r\n selectedSecondUniversity: res.data.SecondUniversityId,\r\n selectedSecondProgram: res.data.SecondProgramId,\r\n selectedSecondMajor: res.data.SecondMajorId,\r\n selectedLevel: res.data.Level,\r\n selectedSecondLevel: res.data.SecondLevel,\r\n preferredCampus: res.data.PreferredCampus,\r\n /* Address */\r\n addressType: res.data.AddressTypeId,\r\n line1: res.data.Line1,\r\n line2: res.data.Line2,\r\n country: res.data.Country,\r\n city: res.data.City,\r\n dormPlanInterest:res.data.DormPlanInterest||false,\r\n address: {\r\n addressType: res.data.AddressTypeId,\r\n addressLine1: res.data.Line1,\r\n addressLine2: res.data.Line2,\r\n selectedCountry: res.data.Country,\r\n selectedCity: res.data.City,\r\n dormPlanInterest:res.data.DormPlanInterest|| false\r\n },\r\n /* Parents Information */\r\n fatherInfo: res.data.FatherInfo,\r\n motherInfo: res.data.MotherInfo,\r\n /* Guardian Information */\r\n guardianInfo: res.data.GuardianInfo,\r\n /* Government Information */\r\n nationalIdNumber: res.data.NationalIdNumber,\r\n passportNumber: res.data.PassportNumber,\r\n passportCountry: res.data.PassportCountryIssued,\r\n passportExpiry: res.data.PassportExpirationDate,\r\n governmentInformation: {\r\n passportNumber: res.data.PassportNumber,\r\n passportCountry: res.data.PassportCountryIssued,\r\n passportExpiryDate: res.data.PassportExpirationDate,\r\n nationalNumber: res.data.NationalIdNumber\r\n },\r\n /* Education*/\r\n educationHistory: res.data.EducationHistory,\r\n /* Test Section */\r\n testScoresProp: res.data.Tests,\r\n /* Health Information */\r\n hasBeenIll: res.data.HasBeenIll,\r\n illnessDescription: res.data.IllnessDescription,\r\n healthInformation: {\r\n illness: res.data.IllnessDescription || '',\r\n hasIllness: res.data.HasBeenIll || false\r\n },\r\n /* Sources */\r\n sources: res.data.ApplicationTestSourceId,\r\n otherSource: res.data.OtherSource,\r\n sourceInformation: { ...this.state.sourceInformation, otherSource: res.data.OtherSource },\r\n /* Policies */\r\n acceptedPolicy: res.data.AcceptedPolicies,\r\n /* Id */\r\n undergraduate: res.data.UndergraduateId/* 1 */,\r\n fatherId: res.data.FatherId,\r\n motherId: res.data.MotherId,\r\n graduate: res.data.GraduateId /* ? res.data.GraduateId : 3 */\r\n })\r\n /*if (res.data.EducationHistory) {\r\n if (res.data.EducationHistory.length === 1) {\r\n const defaultVal = {\r\n CurriculumId: 0,\r\n EndDate: '0001-01-01T00:00:00',\r\n //EndDate:'',\r\n InstitutionName: null,\r\n CountryId: 0,\r\n GPA: 0.0,\r\n InstitutionId: 0,\r\n TranferedInstitutionName: null,\r\n TranferedInstitutionId: 0\r\n }\r\n if (JSON.stringify(defaultVal) === JSON.stringify(res.data.EducationHistory[0])) this.setState({ educationHistory: null })\r\n }\r\n }*/\r\n\r\n } else {\r\n this.setState({ error: 'Some Network Error Occured. Try again later. ' })\r\n }\r\n })\r\n .then(() => fetch(`${process.env.REACT_APP_API_URL}/api/PersonalInfo/GetCountries`))\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.length) {\r\n this.prepareState()\r\n this.setState({ countryData: res, loading: false })\r\n } else {\r\n this.setState({ error: 'Something wrong on our end. Please try again later.' })\r\n }\r\n })\r\n .catch(err => {\r\n this.setState({ loading: false, error: 'Some Network Error Occured. Try again later' })\r\n console.log(err)\r\n })\r\n window.addEventListener('beforeunload', this.unloadEvent)\r\n }\r\n\r\n unloadEvent(e) {\r\n e.preventDefault()\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('beforeunload', this.unloadEvent)\r\n }\r\n\r\n prepareState() {\r\n const {\r\n selectedUniversity,\r\n selectedSecondUniversity,\r\n selectedSecondProgram,\r\n selectedSecondMajor,\r\n selectedLevel,\r\n selectedSecondLevel,\r\n entryTerm,\r\n selectedProgram,\r\n programOfStudyId,\r\n description,\r\n secondDescription,\r\n guardianInfo,\r\n fatherInfo,\r\n motherInfo,\r\n contactInformation,\r\n email,\r\n educationHistory,\r\n sources,\r\n undergraduate,\r\n fatherId,\r\n motherId,\r\n otherSource,\r\n testScoresProp,\r\n preferredCampus\r\n } = this.state\r\n // Program of Study\r\n const data = {\r\n selectedUniversity: selectedUniversity,\r\n selectedSecondUniversity: selectedSecondUniversity,\r\n selectedSecondProgram: selectedSecondProgram,\r\n selectedSecondMajor: selectedSecondMajor,\r\n selectedEntryTerm: entryTerm,\r\n selectedProgram: selectedProgram,\r\n selectedMajor: programOfStudyId,\r\n description: description,\r\n secondDescription: secondDescription,\r\n selectedLevel: selectedLevel,\r\n selectedSecondLevel: selectedSecondLevel,\r\n preferredCampus:preferredCampus\r\n }\r\n // Guardian Information\r\n if (guardianInfo) {\r\n this.setState({\r\n guardianInformation: {\r\n guardianRelationship: guardianInfo.RelationType,\r\n guardianPrefix: guardianInfo.RelationPrefix,\r\n guardianFName: guardianInfo.RelationFirstName,\r\n guardianMName: guardianInfo.RelationMiddleName,\r\n guardianLName: guardianInfo.RelationLastName,\r\n guardianProfession: guardianInfo.Profession,\r\n guardianPhone: guardianInfo.MobileNumber,\r\n guardianEmail: guardianInfo.RelationEmail,\r\n guardianAddress: guardianInfo.GuardianAddress\r\n }\r\n })\r\n }\r\n this.setState({ ai: data })\r\n if ((parseInt(data.selectedProgram) !== undergraduate)) {\r\n this.setState({\r\n activeSections: [\r\n {\r\n name: 'Applicant Personal Information',\r\n open: false\r\n },\r\n {\r\n name: 'Education',\r\n open: false\r\n },\r\n\r\n {\r\n name: 'Program of Study',\r\n open: false\r\n },\r\n {\r\n name: 'Official Identification',\r\n open: false\r\n },\r\n {\r\n name: 'Address',\r\n open: false\r\n },\r\n {\r\n name: 'Applicant’s Contact Information',\r\n open: false\r\n },\r\n {\r\n name: 'Parents Information',\r\n open: false\r\n },\r\n {\r\n name: 'Legal Guardian Information',\r\n open: false\r\n },\r\n\r\n {\r\n name: 'English Proficiency Assessment',\r\n open: false\r\n },\r\n {\r\n name: 'Health Information',\r\n open: false\r\n },\r\n {\r\n name: 'Sources',\r\n open: false\r\n },\r\n {\r\n name: 'Policies',\r\n open: false\r\n }\r\n ]\r\n })\r\n } else {\r\n this.setState({\r\n activeSections: Array.from(this.state.sections)\r\n })\r\n }\r\n // Parents Information\r\n if (fatherInfo && motherInfo) {\r\n this.setState({\r\n parentsInformation: {\r\n fatherPrefix: fatherInfo.RelationPrefix,\r\n motherPrefix: motherInfo.RelationPrefix,\r\n fatherRelation: fatherId,\r\n motherRelation: motherId,\r\n fatherFName: fatherInfo.RelationFirstName,\r\n motherFName: motherInfo.RelationFirstName,\r\n fatherMName: fatherInfo.RelationMiddleName,\r\n motherMName: motherInfo.RelationMiddleName,\r\n fatherLName: fatherInfo.RelationLastName,\r\n motherLName: motherInfo.RelationLastName,\r\n fatherProfession: fatherInfo.Profession,\r\n motherProfession: motherInfo.Profession,\r\n fatherCompany: fatherInfo.Company,\r\n motherCompany: motherInfo.Company,\r\n fatherCompanyAddress: fatherInfo.CompanyAddress,\r\n motherCompanyAddress: motherInfo.CompanyAddress,\r\n fatherPhone: fatherInfo.MobileNumber,\r\n motherPhone: motherInfo.MobileNumber,\r\n fatherEmail: fatherInfo.RelationEmail,\r\n motherEmail: motherInfo.RelationEmail,\r\n fatherAddress: fatherInfo.Address,\r\n motherAddress: motherInfo.Address,\r\n motherAttendedInstitution: motherInfo.AttendedInstitution,\r\n fatherAttendedInstitution: fatherInfo.AttendedInstitution,\r\n fatherDeceased: fatherInfo.Deceased,\r\n motherDeceased: motherInfo.Deceased,\r\n isFatherEmployee: fatherInfo.IsFatherTKHEmployee,\r\n fatherIdNumber:fatherInfo.FatherIdNumber,\r\n isMotherEmployee: motherInfo.IsMotherTKHEmployee,\r\n motherIdNumber:motherInfo.MotherIdNumber,\r\n }\r\n })\r\n } else if (fatherInfo) {\r\n this.setState({\r\n parentsInformation: {\r\n fatherPrefix: fatherInfo.RelationPrefix || '',\r\n motherPrefix: '',\r\n fatherRelation: fatherId,\r\n motherRelation: motherId,\r\n fatherFName: fatherInfo.RelationFirstName || '',\r\n motherFName: '',\r\n fatherMName: fatherInfo.RelationMiddleName || '',\r\n motherMName: '',\r\n fatherLName: fatherInfo.RelationLastName || '',\r\n motherLName: '',\r\n fatherProfession: fatherInfo.Profession || '',\r\n motherProfession: '',\r\n fatherCompany: fatherInfo.Company || '',\r\n motherCompany: '',\r\n fatherCompanyAddress: fatherInfo.CompanyAddress || '',\r\n motherCompanyAddress: '',\r\n fatherPhone: fatherInfo.MobileNumber || '',\r\n motherPhone: '',\r\n fatherEmail: fatherInfo.RelationEmail || '',\r\n motherEmail: '',\r\n fatherAddress: fatherInfo.Address || '',\r\n motherAddress: '',\r\n motherAttendedInstitution: false,\r\n fatherAttendedInstitution: fatherInfo.AttendedInstitution || false,\r\n fatherDeceased: fatherInfo.Deceased,\r\n motherDeceased: '',\r\n isFatherEmployee: fatherInfo.IsFatherTKHEmployee||false,\r\n fatherIdNumber:fatherInfo.FatherIdNumber,\r\n isMotherEmployee: false,\r\n motherIdNumber:'',\r\n }\r\n })\r\n } else if (motherInfo) {\r\n this.setState({\r\n parentsInformation: {\r\n fatherPrefix: '',\r\n motherPrefix: motherInfo.RelationPrefix,\r\n fatherRelation: fatherId,\r\n motherRelation: motherId,\r\n fatherFName: '',\r\n motherFName: motherInfo.RelationFirstName || '',\r\n fatherMName: '',\r\n motherMName: motherInfo.RelationMiddleName || '',\r\n fatherLName: '',\r\n motherLName: motherInfo.RelationLastName || '',\r\n fatherProfession: '',\r\n motherProfession: motherInfo.Profession || '',\r\n fatherCompany: '',\r\n motherCompany: motherInfo.Company || '',\r\n fatherCompanyAddress: '',\r\n motherCompanyAddress: motherInfo.CompanyAddress || '',\r\n fatherPhone: '',\r\n motherPhone: motherInfo.MobileNumber || '',\r\n fatherEmail: '',\r\n motherEmail: motherInfo.RelationEmail || '',\r\n fatherAddress: '',\r\n motherAddress: motherInfo.Address || '',\r\n motherAttendedInstitution: motherInfo.AttendedInstitution || false,\r\n fatherAttendedInstitution: false,\r\n fatherDeceased: '',\r\n motherDeceased: motherInfo.Deceased,\r\n isFatherEmployee:false,\r\n fatherIdNumber:'',\r\n isMotherEmployee: motherInfo.IsMotherTKHEmployee||false,\r\n motherIdNumber:motherInfo.MotherIdNumber,\r\n }\r\n })\r\n }\r\n // Contact Information\r\n if (contactInformation) {\r\n const newContactInfo = []\r\n contactInformation.forEach((element, i) => {\r\n newContactInfo.push({\r\n phoneType: element.PhoneType,\r\n phoneCountry: element.CountryId,\r\n phoneNumber: element.PhoneNumber,\r\n isPrimary: element.IsPrimary,\r\n id: i\r\n })\r\n })\r\n this.setState({\r\n contactInformations: {\r\n email: email,\r\n phoneNumberArray: newContactInfo\r\n }\r\n })\r\n }\r\n // Test Scores\r\n if (testScoresProp && testScoresProp.length > 0) {\r\n const testScores = []\r\n testScoresProp.forEach(element => {\r\n testScores.push({\r\n test: element.Test,\r\n testType: element.TestType,\r\n score: element.Score,\r\n dateTaken: element.DateTaken\r\n })\r\n })\r\n this.setState({ testScores: { ...this.state.testScores, tests: testScores } })\r\n }\r\n\r\n\r\n // Education\r\n if ([undergraduate, '', null, undefined, 0].indexOf(parseInt(selectedProgram)) === -1) {\r\n const data = []\r\n if (educationHistory && educationHistory.length > 1) {\r\n educationHistory.forEach((element, i) => {\r\n\r\n if (i <= educationHistory.length - 2) {\r\n\r\n data.push(\r\n {\r\n universityCertificate: element.CurriculumId,\r\n yearOfGraduation: element.EndDate,\r\n selectedCountry: element.CountryId,\r\n selectedCity: element.CityId,\r\n gpa: element.GPA,\r\n universityName: element.InstitutionId,\r\n institutionName: element.InstitutionName,\r\n educationGrade: element.EducationGrade\r\n }\r\n )\r\n } else {\r\n this.setState({\r\n educationHistorys: {\r\n graduateDegree: data,\r\n universityCertificate: element.CurriculumId,\r\n yearOfGraduation: element.EndDate,\r\n selectedCountry: element.CountryId,\r\n selectedCity: element.CityId,\r\n gpa: element.GPA,\r\n universityName: element.InstitutionId,\r\n institutionName: element.InstitutionName,\r\n educationGrade: element.EducationGrade\r\n }\r\n })\r\n }\r\n })\r\n } else if (educationHistory && educationHistory.length === 1) {\r\n\r\n const element = educationHistory[0]\r\n this.setState({\r\n educationHistorys: {\r\n graduateDegree: [],\r\n universityCertificate: element.CurriculumId,\r\n yearOfGraduation: element.EndDate,\r\n selectedCountry: element.CountryId,\r\n selectedCity: element.CityId,\r\n gpa: element.GPA,\r\n universityName: element.InstitutionId,\r\n institutionName: element.InstitutionName,\r\n educationGrade: element.EducationGrade\r\n }\r\n })\r\n }\r\n } else if (parseInt(selectedProgram) === undergraduate) {\r\n\r\n if (educationHistory && educationHistory.length > 1) {\r\n const data = []\r\n educationHistory.forEach((element, i) => {\r\n if (i <= educationHistory.length - 2) {\r\n data.push(\r\n {\r\n highSchoolCertificate: element.CurriculumId,\r\n endDate: element.EndDate,\r\n selectedCountry: element.CountryId,\r\n selectedCity: element.CityId,\r\n highSchoolName: element.InstitutionId,\r\n institutionName: element.InstitutionName,\r\n perviousUniversityName: element.TranferedInstitutionName,\r\n perviousUniversity: element.TranferedInstitutionId,\r\n previousUniversityCertificate: element.TransferredCerti,\r\n //previousUniversityMajor: element.TransferredMajor,\r\n previousUniversityGPA: element.TransferredGPA,\r\n educationGrade: element.EducationGrade,\r\n previousUniversityCountry:element.TransferCountryId,\r\n previousUniversityCity:element.TransferCityId,\r\n }\r\n )\r\n } else {\r\n this.setState({\r\n educationHistorys: {\r\n underGradDegree: data,\r\n highSchoolCertificate: element.CurriculumId,\r\n endDate: element.EndDate,\r\n selectedCountry: element.CountryId,\r\n selectedCity: element.CityId,\r\n highSchoolName: element.InstitutionId,\r\n institutionName: element.InstitutionName,\r\n perviousUniversityName: element.TranferedInstitutionName,\r\n perviousUniversity: element.TranferedInstitutionId,\r\n previousUniversityCertificate: element.TransferredCerti,\r\n //previousUniversityMajor: element.TransferredMajor,\r\n previousUniversityGPA: element.TransferredGPA,\r\n educationGrade: element.EducationGrade,\r\n previousUniversityCountry:element.TransferCountryId,\r\n previousUniversityCity:element.TransferCityId,\r\n }\r\n })\r\n }\r\n })\r\n } else if (educationHistory && educationHistory.length === 1) {\r\n\r\n const data = []\r\n const element = educationHistory[0]\r\n\r\n this.setState({\r\n educationHistorys: {\r\n underGradDegree: data,\r\n highSchoolCertificate: element.CurriculumId,\r\n endDate: element.EndDate,\r\n selectedCountry: element.CountryId,\r\n selectedCity: element.CityId,\r\n highSchoolName: element.InstitutionId,\r\n institutionName: element.InstitutionName,\r\n perviousUniversityName: element.TranferedInstitutionName,\r\n perviousUniversity: element.TranferedInstitutionId,\r\n previousUniversityCertificate: element.TransferredCerti,\r\n //previousUniversityMajor: element.TransferredMajor,\r\n previousUniversityGPA: element.TransferredGPA,\r\n educationGrade: element.EducationGrade,\r\n previousUniversityCountry:element.TransferCountryId,\r\n previousUniversityCity:element.TransferCityId,\r\n }\r\n })\r\n }\r\n } else {\r\n this.setState({ educationHistorys: {} })\r\n }\r\n\r\n // Sources\r\n const newSources = []\r\n if (sources) {\r\n sources.forEach(element => {\r\n newSources.push(element.Id)\r\n })\r\n this.setState({ sourceInformation: { selectedSources: newSources, otherSource: otherSource } })\r\n }\r\n }\r\n\r\n personalInformationCheck(personalInformation = this.state.personalInformation) {\r\n // const { personalInformation } = this.state;\r\n const errorCheck = [0, '', null, undefined, NaN, '0']\r\n const errorPI = {}\r\n if (personalInformation.fName\r\n && personalInformation.lName\r\n && personalInformation.mName\r\n && personalInformation.selectedCountry\r\n && personalInformation.selectedGender\r\n && personalInformation.dateOfBirth\r\n && (personalInformation.siblingTKHNumber.length === 0 || personalInformation.siblingTKHNumber.length === 9)\r\n && errorCheck.indexOf(personalInformation.selectedNationality) === -1 && personalInformation.selectedNationality !== 50) {\r\n //Sibling FN\r\n if (personalInformation.siblingFName) {\r\n\r\n if (!personalInformation.siblingLName) {\r\n errorPI.siblingLName = 'Please Enter Last Name'\r\n }\r\n if (!personalInformation.siblingTKHNumber) {\r\n errorPI.siblingTKHNumber = 'Please Enter TKH Number'\r\n }\r\n\r\n if (!personalInformation.siblingFName) {\r\n errorPI.siblingFName = 'Please Enter First Name'\r\n }\r\n\r\n if (!personalInformation.selectedCountry) {\r\n errorPI.selectedCountry = 'Please Enter Country of Birth'\r\n }\r\n\r\n if (!personalInformation.dateOfBirth) {\r\n errorPI.dateOfBirth = 'Please Enter Date Of Birth'\r\n }\r\n\r\n if (personalInformation.selectedNationality == 50) {\r\n if (!personalInformation.arabicText1) {\r\n errorPI.arabicText1 = 'Please Enter Arabic First Name'\r\n }\r\n if (!personalInformation.arabicText2) {\r\n errorPI.arabicText2 = 'Please Enter Arabic Middle Name'\r\n }\r\n if (!personalInformation.arabicText3) {\r\n errorPI.arabicText3 = 'Please Enter Arabic Last Name'\r\n }\r\n\r\n if (!personalInformation.arabicText1 || !personalInformation.arabicText2 || !personalInformation.arabicText3) {\r\n this.setState({ errorPI: errorPI })\r\n return 0\r\n }\r\n\r\n if (personalInformation.arabicText1 && personalInformation.arabicText2 && personalInformation.arabicText3) {\r\n this.setState({ errorPI: errorPI })\r\n return 1\r\n }\r\n }\r\n\r\n if (personalInformation.siblingTKHNumber && personalInformation.siblingLName) {\r\n this.setState({ errorPI: {} })\r\n return 1\r\n }\r\n\r\n\r\n else {\r\n if (!personalInformation.selectedCountry) {\r\n errorPI.selectedCountry = 'Please Enter Nationality'\r\n }\r\n\r\n if (!personalInformation.dateOfBirth) {\r\n errorPI.dateOfBirth = 'Please Enter Date Of Birth'\r\n }\r\n\r\n if (!personalInformation.countryOfBirth) {\r\n errorPI.countryOfBirth = 'Please Enter Country Of Birth'\r\n }\r\n\r\n if (!personalInformation.selectedGender) {\r\n errorPI.selectedGender = 'Please Enter Gender'\r\n }\r\n }\r\n\r\n this.setState({ errorPI: errorPI })\r\n return 0\r\n }\r\n\r\n //Sibling TKH\r\n if (personalInformation.siblingTKHNumber) {\r\n\r\n if (!personalInformation.siblingLName) {\r\n errorPI.siblingLName = 'Please Enter Last Name'\r\n }\r\n\r\n if (!personalInformation.siblingFName) {\r\n errorPI.siblingFName = 'Please Enter First Name'\r\n }\r\n\r\n if (!personalInformation.selectedCountry) {\r\n errorPI.selectedCountry = 'Please Enter Country of Birth'\r\n }\r\n\r\n if (!personalInformation.dateOfBirth) {\r\n errorPI.dateOfBirth = 'Please Enter Date Of Birth'\r\n }\r\n\r\n if (personalInformation.selectedNationality == 50) {\r\n if (!personalInformation.arabicText1) {\r\n errorPI.arabicText1 = 'Please Enter Arabic First Name'\r\n }\r\n if (!personalInformation.arabicText2) {\r\n errorPI.arabicText2 = 'Please Enter Arabic Middle Name'\r\n }\r\n if (!personalInformation.arabicText3) {\r\n errorPI.arabicText3 = 'Please Enter Arabic Last Name'\r\n }\r\n\r\n if (!personalInformation.arabicText1 || !personalInformation.arabicText2 || !personalInformation.arabicText3) {\r\n this.setState({ errorPI: errorPI })\r\n return 0\r\n }\r\n\r\n if (personalInformation.arabicText1 && personalInformation.arabicText2 && personalInformation.arabicText3) {\r\n this.setState({ errorPI: errorPI })\r\n return 1\r\n }\r\n }\r\n\r\n if (personalInformation.siblingLName && personalInformation.SiblingFName) {\r\n this.setState({ errorPI: {} })\r\n return 1\r\n }\r\n\r\n else {\r\n\r\n if (!personalInformation.selectedCountry) {\r\n errorPI.selectedCountry = 'Please Enter Nationality'\r\n }\r\n\r\n if (!personalInformation.dateOfBirth) {\r\n errorPI.dateOfBirth = 'Please Enter Date Of Birth'\r\n }\r\n\r\n if (!personalInformation.countryOfBirth) {\r\n errorPI.countryOfBirth = 'Please Enter Country Of Birth'\r\n }\r\n\r\n if (!personalInformation.selectedGender) {\r\n errorPI.selectedGender = 'Please Enter Gender'\r\n }\r\n }\r\n\r\n this.setState({ errorPI: errorPI })\r\n return 0\r\n }\r\n //Sibling LN\r\n if (personalInformation.siblingLName) {\r\n\r\n if (!personalInformation.siblingFName) {\r\n errorPI.siblingFName = 'Please Enter First Name'\r\n }\r\n\r\n if (!personalInformation.siblingTKHNumber) {\r\n errorPI.siblingTKHNumber = 'Please Enter TKH Number'\r\n }\r\n\r\n if (!personalInformation.selectedCountry) {\r\n errorPI.selectedCountry = 'Please Enter Country of Birth'\r\n }\r\n\r\n if (!personalInformation.dateOfBirth) {\r\n errorPI.dateOfBirth = 'Please Enter Date Of Birth'\r\n }\r\n\r\n if (personalInformation.selectedNationality == 50) {\r\n if (!personalInformation.arabicText1) {\r\n errorPI.arabicText1 = 'Please Enter Arabic First Name'\r\n }\r\n if (!personalInformation.arabicText2) {\r\n errorPI.arabicText2 = 'Please Enter Arabic Middle Name'\r\n }\r\n if (!personalInformation.arabicText3) {\r\n errorPI.arabicText3 = 'Please Enter Arabic Last Name'\r\n }\r\n\r\n if (!personalInformation.arabicText1 || !personalInformation.arabicText2 || !personalInformation.arabicText3) {\r\n this.setState({ errorPI: errorPI })\r\n return 0\r\n }\r\n\r\n if (personalInformation.arabicText1 && personalInformation.arabicText2 && personalInformation.arabicText3) {\r\n this.setState({ errorPI: errorPI })\r\n return 1\r\n }\r\n }\r\n\r\n if (personalInformation.siblingTKHNumber && personalInformation.SiblingFName) {\r\n this.setState({ errorPI: {} })\r\n return 1\r\n }\r\n\r\n else {\r\n\r\n if (!personalInformation.selectedCountry) {\r\n errorPI.selectedCountry = 'Please Enter Nationality'\r\n }\r\n\r\n if (!personalInformation.dateOfBirth) {\r\n errorPI.dateOfBirth = 'Please Enter Date Of Birth'\r\n }\r\n\r\n if (!personalInformation.countryOfBirth) {\r\n errorPI.countryOfBirth = 'Please Enter Country Of Birth'\r\n }\r\n\r\n if (!personalInformation.selectedGender) {\r\n errorPI.selectedGender = 'Please Enter Gender'\r\n }\r\n }\r\n\r\n this.setState({ errorPI: errorPI })\r\n return 0\r\n }\r\n\r\n\r\n if (personalInformation.selectedNationality == 50) {\r\n if (!personalInformation.arabicText1) {\r\n errorPI.arabicText1 = 'Please Enter Arabic First Name'\r\n }\r\n if (!personalInformation.arabicText2) {\r\n errorPI.arabicText2 = 'Please Enter Arabic Middle Name'\r\n }\r\n if (!personalInformation.arabicText3) {\r\n errorPI.arabicText3 = 'Please Enter Arabic Last Name'\r\n }\r\n\r\n if (!personalInformation.arabicText1 || !personalInformation.arabicText2 || !personalInformation.arabicText3) {\r\n this.setState({ errorPI: errorPI })\r\n return 0\r\n }\r\n\r\n if (personalInformation.arabicText1 && personalInformation.arabicText2 && personalInformation.arabicText3) {\r\n this.setState({ errorPI: errorPI })\r\n return 1\r\n }\r\n }\r\n\r\n\r\n this.setState({ errorPI: {} })\r\n return 1\r\n } else {\r\n const errorPI = {}\r\n let IsNotError=1\r\n if (!personalInformation.fName) {\r\n errorPI.fName = 'Please Enter First Name'\r\n IsNotError=0\r\n }\r\n if (!personalInformation.mName) {\r\n errorPI.mName = 'Please Enter Middle Name'\r\n IsNotError=0\r\n }\r\n if (!personalInformation.lName) {\r\n errorPI.lName = 'Please Enter Last Name'\r\n IsNotError=0\r\n }\r\n if (!(errorCheck.indexOf(personalInformation.selectedNationality) === -1)) {\r\n errorPI.selectedNationality = 'Please Select Nationality'\r\n IsNotError=0\r\n }\r\n if (!personalInformation.selectedCountry) {\r\n errorPI.selectedCountry = 'Please Enter Country of Birth'\r\n IsNotError=0\r\n }\r\n if (!personalInformation.selectedGender) {\r\n errorPI.selectedGender = 'Please Enter Gender'\r\n IsNotError=0\r\n }\r\n\r\n if (!personalInformation.dateOfBirth) {\r\n errorPI.dateOfBirth = 'Please Enter Date Of Birth'\r\n IsNotError=0\r\n }\r\n\r\n if(personalInformation.siblingFName)\r\n {\r\n if(!personalInformation.siblingLName)\r\n {\r\n errorPI.siblingLName = 'Please Enter Last Name'\r\n IsNotError=0\r\n }\r\n if(!personalInformation.siblingTKHNumber)\r\n {\r\n errorPI.siblingTKHNumber = 'Please Enter TKH Number'\r\n IsNotError=0\r\n }\r\n }\r\n\r\n\r\n if(personalInformation.SiblingTKHNumber)\r\n {\r\n if(!personalInformation.siblingLName)\r\n {\r\n errorPI.siblingLName = 'Please Enter Fisrt Name'\r\n IsNotError=0\r\n }\r\n if(!personalInformation.siblingFName)\r\n {\r\n errorPI.siblingFName = 'Please Enter Last Name'\r\n IsNotError=0\r\n }\r\n }\r\n\r\n if (personalInformation.siblingTKHNumber)\r\n { \r\n if(personalInformation.siblingTKHNumber.length > 0 && personalInformation.siblingTKHNumber.length !== 9) {\r\n errorPI.siblingTKHNumber = 'Please Enter 9 characters'\r\n IsNotError=0\r\n }\r\n }\r\n\r\n if(personalInformation.selectedNationality == 50)\r\n {\r\n if (!personalInformation.arabicText1) {\r\n errorPI.arabicText1 = 'Please Enter Arabic First Name'\r\n IsNotError=0\r\n }\r\n if (!personalInformation.arabicText2) {\r\n errorPI.arabicText2 = 'Please Enter Arabic Middle Name'\r\n IsNotError=0\r\n }\r\n if (!personalInformation.arabicText3) {\r\n errorPI.arabicText3 = 'Please Enter Arabic Last Name'\r\n IsNotError=0\r\n }\r\n \r\n /*if(personalInformation.arabicText1 && personalInformation.arabicText2 && personalInformation.arabicText3 && personalInformation.mName)\r\n {\r\n this.setState({ errorPI: errorPI })\r\n return 1\r\n }*/\r\n }\r\n\r\n this.setState({ errorPI: errorPI })\r\n return IsNotError\r\n }\r\n }\r\n\r\n\r\n academicInterestCheck(ai = this.state.ai) {\r\n // Program of Study\r\n // const {\r\n // ai\r\n // } = this.state\r\n const errorCheck = [0, '', null, undefined, NaN, '0']\r\n const errorAI = {}\r\n if (errorCheck.indexOf(ai.selectedMajor) === -1 && errorCheck.indexOf(ai.selectedLevel) === -1 && errorCheck.indexOf(ai.selectedUniversity) === -1 && errorCheck.indexOf(ai.selectedEntryTerm) === -1 && errorCheck.indexOf(ai.preferredCampus)===-1) {\r\n if ((errorCheck.indexOf(ai.selectedSecondUniversity) === -1) && (errorCheck.indexOf(ai.selectedSecondMajor) === -1)) {\r\n if (!(errorCheck.indexOf(ai.selectedSecondLevel) === -1) || !(errorCheck.indexOf(ai.selectedLevel) === -1)) {\r\n\r\n errorAI.selectedSecondLevel = 'Please Select Level'\r\n // this.setState({ errorAI: errorAI })\r\n console.log(1)\r\n if (!(errorCheck.indexOf(ai.selectedLevel) === -1))\r\n errorAI.selectedLevel = 'Please Select Level'\r\n\r\n this.setState({ errorAI: errorAI })\r\n return 0\r\n\r\n }\r\n }\r\n this.setState({ errorAI: {} })\r\n return 1\r\n } else {\r\n // const errorAI = {}\r\n if (!(errorCheck.indexOf(ai.selectedUniversity) === -1)) {\r\n errorAI.selectedUniversity = 'Please Select University'\r\n }\r\n\r\n if (!(errorCheck.indexOf(ai.selectedMajor) === -1)) {\r\n errorAI.selectedMajor = 'Please Select Major'\r\n }\r\n\r\n if (!(errorCheck.indexOf(ai.selectedEntryTerm) === -1)) {\r\n errorAI.selectedEntryTerm = 'Please Select Entry Term'\r\n }\r\n console.log(ai.selectedLevel)\r\n if (!(errorCheck.indexOf(ai.selectedLevel) === -1)) {\r\n errorAI.selectedLevel = 'Please Select Level'\r\n console.log(2)\r\n }\r\n if(!(errorCheck.indexOf(ai.preferredCampus) === -1)){\r\n errorAI.preferredCampus= 'Please Select Your Preferred Campus'\r\n }\r\n\r\n if ((errorCheck.indexOf(ai.selectedSecondUniversity) === -1) && (errorCheck.indexOf(ai.selectedSecondMajor) === -1)) {\r\n if (!(errorCheck.indexOf(ai.selectedSecondLevel) === -1)) {\r\n errorAI.selectedSecondLevel = 'Please Select Level'\r\n }\r\n }\r\n\r\n this.setState({ errorAI: errorAI })\r\n\r\n return 0\r\n }\r\n }\r\n\r\n governmentInformationCheck(governmentInformation = this.state.governmentInformation) {\r\n // Governmnpment Information\r\n const {\r\n personalInformation\r\n } = this.state\r\n const errorCheck = [0, '', null, undefined, NaN, '0']\r\n const errorGI = {}\r\n if (parseInt(personalInformation.selectedNationality) === 50) {\r\n if (governmentInformation.nationalNumber) {\r\n if (governmentInformation.nationalNumber.length === 14) {\r\n this.setState({ errorGI: {} })\r\n return 1\r\n }\r\n else {\r\n errorGI.nationalNumber = 'Please enter 14 numbers'\r\n this.setState({ errorGI: errorGI })\r\n return 0\r\n }\r\n }\r\n else {\r\n if (!governmentInformation.nationalNumber) {\r\n errorGI.nationalNumber = 'Please enter National ID Number'\r\n }\r\n else {\r\n if (governmentInformation.nationalNumber.length !== 14) {\r\n errorGI.nationalNumber = 'Please enter 14 numbers'\r\n }\r\n }\r\n\r\n this.setState({ errorGI: errorGI })\r\n return 0\r\n\r\n }\r\n }\r\n else {\r\n if (governmentInformation.passportNumber && governmentInformation.passportExpiryDate && errorCheck.indexOf(governmentInformation.passportCountry) === -1) {\r\n this.setState({ errorGI: {} })\r\n return 1\r\n } else {\r\n const errorGI = {}\r\n if (!governmentInformation.passportNumber) {\r\n errorGI.passportNumber = 'Please Enter Passport Number'\r\n }\r\n\r\n if (!governmentInformation.passportExpiryDate) {\r\n errorGI.passportExpiryDate = 'Please Enter Expiry Date'\r\n }\r\n\r\n if (!(errorCheck.indexOf(governmentInformation.passportCountry) === -1)) {\r\n errorGI.passportCountry = 'Please Select Country'\r\n }\r\n this.setState({ errorGI: errorGI })\r\n return 0\r\n }\r\n }\r\n }\r\n\r\n addressCheck(address = this.state.address) {\r\n // Address\r\n // const {\r\n // address\r\n // } = this.state\r\n const errorCheck = [0, '', null, undefined, NaN, '0']\r\n if (errorCheck.indexOf(address.addressType) === -1 && address.addressLine1 && address.selectedCity && errorCheck.indexOf(address.selectedCountry) === -1 ) {\r\n this.setState({ errorAdd: {} })\r\n return 1\r\n } else {\r\n const errorAdd = {}\r\n if (!(errorCheck.indexOf(address.addressType) === -1)) {\r\n errorAdd.addressType = 'Please Select Address Type'\r\n }\r\n if (!address.addressLine1) {\r\n errorAdd.addressLine1 = 'Please Enter Address Line 1'\r\n }\r\n\r\n if (!(errorCheck.indexOf(address.selectedCountry) === -1)) {\r\n errorAdd.selectedCountry = 'Please Select Country'\r\n }\r\n\r\n if (!address.selectedCity) {\r\n errorAdd.selectedCity = 'Please Enter City'\r\n }\r\n\r\n this.setState({ errorAdd: errorAdd })\r\n return 0\r\n }\r\n }\r\n\r\n contactCheck(contactInformations = this.state.contactInformations) {\r\n // Contact Information\r\n // const {\r\n // contactInformations\r\n // } = this.state\r\n const errorCheck = [0, '', null, undefined, NaN, '0']\r\n let countC = 0\r\n const errorContact = {}\r\n if (contactInformations.phoneNumberArray && contactInformations.phoneNumberArray.length >= 1) {\r\n contactInformations.phoneNumberArray.forEach((element, index) => {\r\n errorContact[index] = {}\r\n if (errorCheck.indexOf(element.phoneNumber) !== -1 || errorCheck.indexOf(element.phoneType) !== -1 || errorCheck.indexOf(element.phoneCountry) !== -1) {\r\n if (errorCheck.indexOf(element.phoneNumber) !== -1) {\r\n errorContact[index].phoneNumber = 'Please Enter Number'\r\n }\r\n if (errorCheck.indexOf(element.phoneType) !== -1) {\r\n errorContact[index].phoneType = 'Please Select Phone Type'\r\n }\r\n if (errorCheck.indexOf(element.phoneCountry) !== -1) {\r\n errorContact[index].phoneCountry = 'Please Select Country'\r\n }\r\n countC = 1\r\n }\r\n })\r\n if (countC === 0 && emailCheck.test(contactInformations.email)) {\r\n this.setState({ errorContact: {} })\r\n return 1\r\n } else {\r\n this.setState({ errorContact: errorContact })\r\n return 0\r\n }\r\n } else {\r\n errorContact[0] = {}\r\n errorContact[0].phoneNumber = 'Please Enter Number'\r\n errorContact[0].phoneType = 'Please Select Phone Type'\r\n errorContact[0].phoneCountry = 'Please Select Country'\r\n this.setState({ errorContact: errorContact })\r\n return 0\r\n }\r\n }\r\n\r\n parentsInformationCheck(parentsInformation = this.state.parentsInformation) {\r\n // Parents Information\r\n // const {\r\n // parentsInformation\r\n // } = this.state\r\n const errorCheck = [0, '', null, undefined, NaN, '0']\r\n if (!parentsInformation.fatherDeceased && !parentsInformation.motherDeceased) {\r\n // check all fields\r\n if (errorCheck.indexOf(parentsInformation.fatherPrefix) === -1 && errorCheck.indexOf(parentsInformation.motherPrefix) === -1 && parentsInformation.fatherFName && parentsInformation.motherFName && parentsInformation.fatherMName && parentsInformation.motherMName && parentsInformation.fatherLName && parentsInformation.motherLName && parentsInformation.fatherProfession && parentsInformation.motherProfession && parentsInformation.fatherPhone && parentsInformation.motherPhone && parentsInformation.fatherEmail) {\r\n if ((emailCheck.test(parentsInformation.fatherEmail) || ['', null, undefined].indexOf(parentsInformation.fatherEmail) !== -1) &&\r\n (emailCheck.test(parentsInformation.motherEmail) || ['', null, undefined].indexOf(parentsInformation.motherEmail) !== -1)) {\r\n let ret=1\r\n let errorParent = {}\r\n if(parentsInformation.isFatherEmployee && ['', null, undefined].indexOf(parentsInformation.fatherIdNumber) !== -1)\r\n {\r\n errorParent.fatherIdNumber = 'Please Enter Your Father Id Number'\r\n ret=0\r\n }\r\n if(parentsInformation.isMotherEmployee && ['', null, undefined].indexOf(parentsInformation.motherIdNumber) !== -1)\r\n {\r\n errorParent.motherIdNumber = 'Please Enter Your Mother Id Number'\r\n ret=0\r\n }\r\n\r\n this.setState({ errorParent: errorParent})\r\n return ret\r\n } else {\r\n const errorParent = {}\r\n if (['', null, undefined].indexOf(parentsInformation.fatherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.fatherEmail)) {\r\n errorParent.fatherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n if (['', null, undefined].indexOf(parentsInformation.motherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.motherEmail)) {\r\n errorParent.motherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n this.setState({ errorParent: errorParent })\r\n return 0\r\n }\r\n } else {\r\n const errorParent = {}\r\n if (!(errorCheck.indexOf(parentsInformation.fatherPrefix) === -1)) {\r\n errorParent.fatherPrefix = 'Please Select Prefix'\r\n }\r\n if (!parentsInformation.fatherFName) {\r\n errorParent.fatherFName = 'Please Enter First Name'\r\n }\r\n if (!parentsInformation.fatherMName) {\r\n errorParent.fatherMName = 'Please Enter Middle Name'\r\n }\r\n if (!parentsInformation.fatherLName) {\r\n errorParent.fatherLName = 'Please Enter Last Name'\r\n }\r\n if (!parentsInformation.fatherProfession) {\r\n errorParent.fatherProfession = 'Please Enter Profession'\r\n }\r\n if (!parentsInformation.fatherPhone) {\r\n errorParent.fatherPhone = 'Please Enter Number'\r\n }\r\n\r\n if (!parentsInformation.fatherEmail) {\r\n errorParent.fatherEmail = 'Please Enter Email Address'\r\n }\r\n\r\n if (['', null, undefined].indexOf(parentsInformation.fatherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.fatherEmail)) {\r\n errorParent.fatherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n if (!(errorCheck.indexOf(parentsInformation.motherPrefix) === -1)) {\r\n errorParent.motherPrefix = 'Please Select Prefix'\r\n }\r\n if (!parentsInformation.motherFName) {\r\n errorParent.motherFName = 'Please Enter First Name'\r\n }\r\n if (!parentsInformation.motherMName) {\r\n errorParent.motherMName = 'Please Enter Middle Name'\r\n }\r\n if (!parentsInformation.motherLName) {\r\n errorParent.motherLName = 'Please Enter Last Name'\r\n }\r\n if (!parentsInformation.motherProfession) {\r\n errorParent.motherProfession = 'Please Enter Profession'\r\n }\r\n if (!parentsInformation.motherPhone) {\r\n errorParent.motherPhone = 'Please Enter Number'\r\n }\r\n if (['', null, undefined].indexOf(parentsInformation.motherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.motherEmail)) {\r\n errorParent.motherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n this.setState({ errorParent: errorParent })\r\n return 0\r\n }\r\n } else if (parentsInformation.fatherDeceased && parentsInformation.motherDeceased) {\r\n if ((emailCheck.test(parentsInformation.motherEmail) || ['', null, undefined].indexOf(parentsInformation.motherEmail) !== -1) &&\r\n (emailCheck.test(parentsInformation.fatherEmail) || ['', null, undefined].indexOf(parentsInformation.fatherEmail) !== -1)) {\r\n this.setState({ errorParent: {} })\r\n return 1\r\n } else {\r\n const errorParent = {}\r\n if (['', null, undefined].indexOf(parentsInformation.motherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.motherEmail)) {\r\n errorParent.motherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n if (['', null, undefined].indexOf(parentsInformation.fatherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.fatherEmail)) {\r\n errorParent.fatherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n this.setState({ errorParent: errorParent })\r\n return 0\r\n }\r\n } else if (!parentsInformation.motherDeceased && parentsInformation.fatherDeceased) {\r\n // check father email and mother all fields\r\n if (errorCheck.indexOf(parentsInformation.motherPrefix) === -1 && parentsInformation.motherFName && parentsInformation.motherMName && parentsInformation.motherLName && parentsInformation.motherProfession && parentsInformation.motherPhone) {\r\n if ((emailCheck.test(parentsInformation.fatherEmail) || ['', null, undefined].indexOf(parentsInformation.fatherEmail) !== -1) &&\r\n (emailCheck.test(parentsInformation.motherEmail) || ['', null, undefined].indexOf(parentsInformation.motherEmail) !== -1)) {\r\n this.setState({ errorParent: {} })\r\n return 1\r\n } else {\r\n const errorParent = {}\r\n if (['', null, undefined].indexOf(parentsInformation.fatherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.fatherEmail)) {\r\n errorParent.fatherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n if (['', null, undefined].indexOf(parentsInformation.motherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.motherEmail)) {\r\n errorParent.motherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n this.setState({ errorParent: errorParent })\r\n return 0\r\n }\r\n } else {\r\n const errorParent = {}\r\n if (!(errorCheck.indexOf(parentsInformation.motherPrefix) === -1)) {\r\n errorParent.motherPrefix = 'Please Select Prefix'\r\n }\r\n\r\n if (!parentsInformation.fatherEmail) {\r\n errorParent.fatherEmail = 'Please Enter Email Address'\r\n }\r\n\r\n if (!parentsInformation.motherFName) {\r\n errorParent.motherFName = 'Please Enter First Name'\r\n }\r\n if (!parentsInformation.motherMName) {\r\n errorParent.motherMName = 'Please Enter Middle Name'\r\n }\r\n if (!parentsInformation.motherLName) {\r\n errorParent.motherLName = 'Please Enter Last Name'\r\n }\r\n if (!parentsInformation.motherProfession) {\r\n errorParent.motherProfession = 'Please Enter Profession'\r\n }\r\n if (!parentsInformation.motherPhone) {\r\n errorParent.motherPhone = 'Please Enter Number'\r\n }\r\n\r\n\r\n if (!parentsInformation.fatherEmail) {\r\n errorParent.fatherEmail = 'Please Enter Email Address'\r\n }\r\n\r\n if (['', null, undefined].indexOf(parentsInformation.motherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.motherEmail)) {\r\n errorParent.motherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n if (['', null, undefined].indexOf(parentsInformation.fatherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.fatherEmail)) {\r\n errorParent.fatherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n this.setState({ errorParent: errorParent })\r\n return 0\r\n }\r\n } else if (!parentsInformation.fatherDeceased) {\r\n // check mother email and father all fields\r\n if (errorCheck.indexOf(parentsInformation.fatherPrefix) === -1 && parentsInformation.fatherFName && parentsInformation.fatherMName && parentsInformation.fatherLName && parentsInformation.fatherProfession && parentsInformation.fatherPhone) {\r\n if ((emailCheck.test(parentsInformation.motherEmail) || ['', null, undefined].indexOf(parentsInformation.motherEmail) !== -1) &&\r\n (emailCheck.test(parentsInformation.fatherEmail) || ['', null, undefined].indexOf(parentsInformation.fatherEmail) !== -1)) {\r\n this.setState({ errorParent: {} })\r\n return 1\r\n } else {\r\n const errorParent = {}\r\n if (['', null, undefined].indexOf(parentsInformation.motherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.motherEmail)) {\r\n errorParent.motherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n if (['', null, undefined].indexOf(parentsInformation.fatherEmail) === -1) {\r\n if (!emailCheck.test(parentsInformation.fatherEmail)) {\r\n errorParent.fatherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n this.setState({ errorParent: errorParent })\r\n return 0\r\n }\r\n } else {\r\n const errorParent = {}\r\n if (!(errorCheck.indexOf(parentsInformation.fatherPrefix) === -1)) {\r\n errorParent.fatherPrefix = 'Please Select Prefix'\r\n }\r\n if (!parentsInformation.fatherFName) {\r\n errorParent.fatherFName = 'Please Enter First Name'\r\n }\r\n if (!parentsInformation.fatherMName) {\r\n errorParent.fatherMName = 'Please Enter Middle Name'\r\n }\r\n if (!parentsInformation.fatherLName) {\r\n errorParent.fatherLName = 'Please Enter Last Name'\r\n }\r\n if (!parentsInformation.fatherProfession) {\r\n errorParent.fatherProfession = 'Please Enter Profession'\r\n }\r\n if (!parentsInformation.fatherPhone) {\r\n errorParent.fatherPhone = 'Please Enter Number'\r\n }\r\n\r\n if (!parentsInformation.fatherEmail) {\r\n errorParent.fatherEmail = 'Please Enter Email Address'\r\n }\r\n\r\n if (parentsInformation.fatherEmail) {\r\n if (!emailCheck.test(parentsInformation.fatherEmail)) {\r\n errorParent.fatherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n if (parentsInformation.motherEmail) {\r\n if (!emailCheck.test(parentsInformation.motherEmail)) {\r\n errorParent.motherEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n this.setState({ errorParent: errorParent })\r\n return 0\r\n }\r\n }\r\n }\r\n\r\n guardianInformationCheck(guardianInformation = this.state.guardianInformation) {\r\n // Guardian Information\r\n const {\r\n parentsInformation,\r\n fatherId,\r\n motherId\r\n } = this.state\r\n const errorCheck = [0, '', null, undefined, NaN, '0']\r\n\r\n if (['', null, undefined].indexOf(parentsInformation.motherEmail) === -1 &&\r\n ['', null, undefined].indexOf(guardianInformation.guardianEmail) !== -1) //if email address in the ParentMother's Info IS NOT NULL and NULL in the Guardian Info\r\n {\r\n guardianInformation.guardianEmail = parentsInformation.motherEmail;\r\n }\r\n\r\n if (errorCheck.indexOf(guardianInformation.guardianPrefix) === -1 && guardianInformation.guardianFName && guardianInformation.guardianEmail && guardianInformation.guardianMName && guardianInformation.guardianLName && guardianInformation.guardianProfession && guardianInformation.guardianPhone && guardianInformation.guardianAddress && guardianInformation.guardianRelationship !== '') {\r\n if ([fatherId].indexOf(parseInt(guardianInformation.guardianRelationship)) !== -1) {\r\n if (parentsInformation.fatherDeceased !== false) {\r\n this.setState({ errorGuard: { guardianRelationship: 'A deceased person cannot be a guardian' } })\r\n return 0\r\n } else {\r\n this.setState({ errorGuard: {} })\r\n return 1\r\n\r\n }\r\n } else if ([motherId].indexOf(parseInt(guardianInformation.guardianRelationship)) !== -1) {\r\n if (parentsInformation.motherDeceased !== false) {\r\n this.setState({ errorGuard: { guardianRelationship: 'A deceased person cannot be a guardian' } })\r\n return 0\r\n } else {\r\n if (['', null, undefined].indexOf(guardianInformation.guardianEmail) === -1) {\r\n if (emailCheck.test(guardianInformation.guardianEmail)) {\r\n this.setState({ errorGuard: {} })\r\n } else {\r\n this.setState({ errorGuard: { guardianEmail: 'Please Enter a Valid Email Address' } })\r\n return 0\r\n }\r\n } else {\r\n this.setState({ errorGuard: {} })\r\n return 1\r\n }\r\n }\r\n } else {\r\n if (['', null, undefined].indexOf(guardianInformation.guardianEmail) === -1) {\r\n if (emailCheck.test(guardianInformation.guardianEmail)) {\r\n this.setState({ errorGuard: {} })\r\n return 1\r\n } else {\r\n this.setState({ errorGuard: { guardianEmail: 'Please Enter a Valid Email Address' } })\r\n return 0\r\n }\r\n } else {\r\n this.setState({ errorGuard: {} })\r\n return 1\r\n }\r\n }\r\n } else {\r\n const errorGuard = {}\r\n if (!(errorCheck.indexOf(guardianInformation.guardianPrefix) === -1)) {\r\n errorGuard.guardianPrefix = 'Please Select Prefix'\r\n }\r\n if (!guardianInformation.guardianEmail) {\r\n errorGuard.guardianEmail = 'Please Enter Email Address'\r\n }\r\n if (!guardianInformation.guardianFName) {\r\n errorGuard.guardianFName = 'Please Enter First Name'\r\n }\r\n\r\n if (!guardianInformation.guardianMName) {\r\n errorGuard.guardianMName = 'Please Enter Middle Name'\r\n }\r\n if (!guardianInformation.guardianLName) {\r\n errorGuard.guardianLName = 'Please Enter Last Name'\r\n }\r\n if (!guardianInformation.guardianProfession) {\r\n errorGuard.guardianProfession = 'Please Enter Profession'\r\n }\r\n if (!guardianInformation.guardianPhone) {\r\n errorGuard.guardianPhone = 'Please Enter Number'\r\n }\r\n if (guardianInformation.guardianEmail) {\r\n if (!emailCheck.test(guardianInformation.guardianEmail)) {\r\n errorGuard.guardianEmail = 'Please Enter a Valid Email Address'\r\n }\r\n }\r\n if (!(errorCheck.indexOf(guardianInformation.guardianRelationship) === -1)) {\r\n errorGuard.guardianRelationship = 'Please Select Relationship'\r\n }\r\n\r\n if (!(errorCheck.indexOf(guardianInformation.guardianAddress) === -1)) {\r\n errorGuard.guardianAddress = 'Please Enter Address'\r\n }\r\n\r\n this.setState({ errorGuard: errorGuard })\r\n return 0\r\n }\r\n }\r\n\r\n educationHistoryCheck(educationHistorys = this.state.educationHistorys) {\r\n // Education\r\n const {\r\n ai,\r\n undergraduate\r\n } = this.state\r\n const errorCheck = [0, '', null, undefined, NaN, '0']\r\n if (parseInt(ai.selectedProgram) === undergraduate) {\r\n if (errorCheck.indexOf(educationHistorys.endDate) === -1 && errorCheck.indexOf(educationHistorys.highSchoolCertificate) === -1 && errorCheck.indexOf(educationHistorys.highSchoolName) === -1 && errorCheck.indexOf(educationHistorys.institutionName) === -1 && errorCheck.indexOf(educationHistorys.educationGrade) === -1 && errorCheck.indexOf(educationHistorys.selectedCountry) === -1 && errorCheck.indexOf(educationHistorys.selectedCity) === -1) {\r\n if (errorCheck.indexOf(educationHistorys.perviousUniversity) === -1) {\r\n if (educationHistorys.perviousUniversity === 'other') {\r\n if (!educationHistorys.perviousUniversityName) {\r\n const errorEdu = {}\r\n errorEdu.perviousUniversityName = 'Please enter university name'\r\n\r\n if (!educationHistorys.educationGrade) {\r\n errorEdu.educationGrade = 'Please Enter Grade'\r\n }\r\n\r\n /* if (!educationHistorys.previousUniversityGPA) {\r\n errorEdu.previousUniversityGPA = 'Please Enter GPA'\r\n }\r\n if (!educationHistorys.previousUniversityCertificate) {\r\n errorEdu.previousUniversityCertificate = 'Please Enter Certificate'\r\n }*/\r\n /* if (!educationHistorys.previousUniversityMajor) {\r\n errorEdu.previousUniversityMajor = 'Please Enter Major'\r\n }*/\r\n this.setState({ errorEdu: errorEdu })\r\n return 0\r\n }\r\n\r\n }\r\n /* if (educationHistorys.previousUniversityGPA && educationHistorys.previousUniversityCertificate) {\r\n this.setState({ errorEdu: {} })\r\n return 1\r\n } else {\r\n const errorEdu = {}\r\n if (!educationHistorys.previousUniversityGPA) {\r\n errorEdu.previousUniversityGPA = 'Please Enter GPA'\r\n }\r\n if (!educationHistorys.previousUniversityCertificate) {\r\n errorEdu.previousUniversityCertificate = 'Please Enter Certificate'\r\n }\r\n if (!educationHistorys.previousUniversityMajor) {\r\n errorEdu.previousUniversityMajor = 'Please Enter Major'\r\n }\r\n this.setState({ errorEdu: errorEdu })\r\n return 0\r\n }*/\r\n } else {\r\n this.setState({ errorEdu: {} })\r\n return 1\r\n }\r\n } else if (educationHistorys.endDate === '' && educationHistorys.highSchoolCertificate === '' && educationHistorys.educationGrade === '' && educationHistorys.highSchoolName === '' && educationHistorys.selectedCountry === '' && educationHistorys.perviousUniversity === '' && educationHistorys.underGradDegree.length >= 1) {\r\n this.setState({ errorEdu: {} })\r\n return 1\r\n } else {\r\n const errorEdu = {}\r\n if (!(errorCheck.indexOf(educationHistorys.endDate) === -1)) {\r\n errorEdu.endDate = 'Please select end date'\r\n }\r\n if (!(errorCheck.indexOf(educationHistorys.highSchoolCertificate) === -1)) {\r\n errorEdu.highSchoolCertificate = 'Please Select High School Certificate'\r\n }\r\n if (!(errorCheck.indexOf(educationHistorys.highSchoolName) === -1)) {\r\n errorEdu.highSchoolName = 'Please select Name'\r\n }\r\n if (errorCheck.indexOf(educationHistorys.institutionName) !== -1 && educationHistorys.highSchoolName === '8') {\r\n errorEdu.institutionName = 'Please enter name'\r\n }\r\n if (errorCheck.indexOf(educationHistorys.selectedCountry) !== -1 && educationHistorys.highSchoolName === '8') {\r\n errorEdu.selectedCountry = 'Please select country'\r\n }\r\n if (errorCheck.indexOf(educationHistorys.selectedCity) !== -1 && educationHistorys.highSchoolName === '8') {\r\n errorEdu.selectedCity = 'Please select city'\r\n }\r\n if (!(errorCheck.indexOf(educationHistorys.educationGrade) === -1)) {\r\n errorEdu.educationGrade = 'Please Enter Grade'\r\n }\r\n if (errorCheck.indexOf(educationHistorys.perviousUniversity) === -1) {\r\n if (educationHistorys.perviousUniversity === 'other' && !educationHistorys.perviousUniversityName) {\r\n errorEdu.perviousUniversityName = 'Please enter university name'\r\n }\r\n if (educationHistorys.perviousUniversity === 'other' && errorCheck.indexOf(educationHistorys.previousUniversityCountry) !== -1) {\r\n errorEdu.previousUniversityCountry = 'Please select country'\r\n }\r\n if (educationHistorys.perviousUniversity === 'other' && errorCheck.indexOf(educationHistorys.previousUniversityCity) !== -1) {\r\n errorEdu.previousUniversityCity = 'Please select city'\r\n }\r\n /* if (!educationHistorys.previousUniversityGPA) {\r\n errorEdu.previousUniversityGPA = 'Please Enter GPA'\r\n }\r\n if (!educationHistorys.previousUniversityCertificate) {\r\n errorEdu.previousUniversityCertificate = 'Please Enter Certificate'\r\n }*/\r\n\r\n }\r\n this.setState({ errorEdu: errorEdu })\r\n if (Object.keys(errorEdu).length === 0) {\r\n return 1\r\n } else {\r\n return 0\r\n }\r\n }\r\n } else if ([undergraduate, '', null, undefined, 0].indexOf(parseInt(ai.selectedProgram)) === -1) {\r\n if (errorCheck.indexOf(educationHistorys.universityCertificate) === -1 && errorCheck.indexOf(educationHistorys.institutionName) === -1 && educationHistorys.yearOfGraduation && errorCheck.indexOf(educationHistorys.universityName) === -1 && errorCheck.indexOf(educationHistorys.selectedCountry) === -1 && educationHistorys.gpa) {\r\n this.setState({ errorEdu: {} })\r\n return 1\r\n } else if (errorCheck.indexOf(educationHistorys.universityCertificate) !== -1 && educationHistorys.yearOfGraduation === '' && educationHistorys.gpa === '' && errorCheck.indexOf(educationHistorys.universityName) !== -1 && errorCheck.indexOf(educationHistorys.institutionName) !== -1 && errorCheck.indexOf(educationHistorys.selectedCountry) !== -1 && educationHistorys.graduateDegree.length >= 1) {\r\n this.setState({ errorEdu: {} })\r\n return 1\r\n } else {\r\n const errorEdu = {}\r\n if (!(errorCheck.indexOf(educationHistorys.universityCertificate) === -1)) {\r\n errorEdu.universityCertificate = 'Please Select Certificate'\r\n }\r\n if (!(errorCheck.indexOf(educationHistorys.yearOfGraduation) === -1)) {\r\n errorEdu.yearOfGraduation = 'Please Select Year of Graduation'\r\n }\r\n if (!(errorCheck.indexOf(educationHistorys.gpa) === -1)) {\r\n errorEdu.gpa = 'Please Select GPA'\r\n }\r\n if (!(errorCheck.indexOf(educationHistorys.universityName) === -1)) {\r\n errorEdu.universityName = 'Please Select University Name'\r\n }\r\n if (educationHistorys.universityName === 'other' && errorCheck.indexOf(educationHistorys.institutionName) !== -1) {\r\n errorEdu.institutionName = 'Please enter university name'\r\n }\r\n if (!(errorCheck.indexOf(educationHistorys.selectedCountry) === -1)) {\r\n errorEdu.selectedCountry = 'Please Select Country'\r\n }\r\n if (!(errorCheck.indexOf(educationHistorys.educationGrade) === -1)) {\r\n errorEdu.educationGrade = 'Please Enter Grade'\r\n }\r\n this.setState({ errorEdu: errorEdu })\r\n return 0\r\n }\r\n } else {\r\n this.setState({ errorEdu: {} })\r\n return 0\r\n }\r\n }\r\n\r\n testScoresCheck(testScores = this.state.testScores) {\r\n const errorCheck = [0, '', null, undefined, NaN, '0']\r\n if (testScores.tests && testScores.tests.length > 0) {\r\n const testArray = testScores.tests\r\n let count = 1\r\n const errorTest = []\r\n testArray.forEach((element, index) => {\r\n errorTest[index] = {}\r\n if (errorCheck.indexOf(element.test) !== -1 && errorCheck.indexOf(element.testType) !== -1 && errorCheck.indexOf(element.dateTaken) !== -1 && errorCheck.indexOf(element.score) !== -1) {\r\n errorTest[index] = {}\r\n } else if (errorCheck.indexOf(element.test) !== -1 || errorCheck.indexOf(element.testType) !== -1 || errorCheck.indexOf(element.dateTaken) !== -1 || errorCheck.indexOf(element.score) !== -1) {\r\n count = 0\r\n if (errorCheck.indexOf(element.test) !== -1) {\r\n errorTest[index].test = 'Please select test'\r\n }\r\n if (errorCheck.indexOf(element.testType) !== -1) {\r\n errorTest[index].testType = 'Please select test type'\r\n }\r\n if (errorCheck.indexOf(element.score) !== -1) {\r\n errorTest[index].score = 'Please enter score'\r\n }\r\n if (errorCheck.indexOf(element.dateTaken) !== -1) {\r\n errorTest[index].dateTaken = 'Please enter date taken'\r\n }\r\n }\r\n })\r\n\r\n //this test is for the Section Englist to light the section in red if not all the conditions is valid\r\n if (this.state.policyError.includes('English Proficiency Assessment') ||\r\n this.state.policyError.includes('Please enter all test type for the choosen test(s)')) {\r\n this.setState({ errorTest: errorTest })\r\n this.setState({ policyError: '' })\r\n \r\n return 0\r\n }\r\n if (count === 1) {\r\n this.setState({ errorTest: [] })\r\n return 1\r\n } else {\r\n console.log(1)\r\n this.setState({ errorTest: errorTest })\r\n return 0\r\n }\r\n } /* else {\r\n const errorTest = [{}]\r\n errorTest[0].test = 'Please select test'\r\n errorTest[0].testType = 'Please select test type'\r\n errorTest[0].score = 'Please enter score'\r\n errorTest[0].dateTaken = 'Please enter date taken'\r\n this.setState({ errorTest: errorTest })\r\n return 0\r\n } */\r\n }\r\n\r\n\r\n\r\n healthInformationCheck(healthInformation = this.state.healthInformation) {\r\n // Health Information\r\n // const {\r\n // healthInformation\r\n // } = this.state\r\n if ((healthInformation.hasIllness || healthInformation.hasIllness === 'True') && healthInformation.illness) {\r\n this.setState({ errorHI: {} })\r\n return 1\r\n } else if (!healthInformation.hasIllness || healthInformation.hasIllness === 'False') {\r\n this.setState({ errorHI: {} })\r\n return 1\r\n } else {\r\n this.setState({ errorHI: { illness: 'Please fill required information' } })\r\n return 0\r\n }\r\n }\r\n\r\n sourcesCheck(sourceInformation = this.state.sourceInformation) {\r\n // Sources\r\n // const {\r\n // sourceInformation\r\n // } = this.state\r\n const error = []\r\n if (sourceInformation.selectedSources && sourceInformation.selectedSources.length >= 1) {\r\n\r\n if (sourceInformation.selectedSources.includes(16) && (!sourceInformation.otherSource)) {\r\n this.setState({ errorSources: { general: 'Please Specify the other value.' } })\r\n return 0\r\n }\r\n else {\r\n this.setState({ errorSources: {} })\r\n return 1\r\n }\r\n\r\n } else {\r\n this.setState({ errorSources: { general: 'Please Select at-least one.' } })\r\n return 0\r\n }\r\n\r\n\r\n }\r\n\r\n conditionCheck() {\r\n const count = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]\r\n\r\n // Personal Information\r\n count[0] = this.personalInformationCheck()\r\n // Education\r\n count[1] = this.educationHistoryCheck()\r\n // Program of Study\r\n count[2] = this.academicInterestCheck()\r\n // Government Information\r\n count[3] = this.governmentInformationCheck()\r\n // Address\r\n count[4] = this.addressCheck()\r\n // Contact Information\r\n count[5] = this.contactCheck()\r\n // Parents Information\r\n count[6] = this.parentsInformationCheck()\r\n // Guardian Information\r\n count[7] = this.guardianInformationCheck()\r\n // Test Scores\r\n count[8] = this.testScoresCheck()\r\n // Health Information\r\n count[9] = this.healthInformationCheck()\r\n // Sources\r\n count[10] = this.sourcesCheck()\r\n this.setState({ count: count })\r\n return count\r\n }\r\n\r\n getActiveTabBody(i) {\r\n const {\r\n healthInformation,\r\n sourceInformation,\r\n acceptedPolicies,\r\n countryData,\r\n dateOfBirth,\r\n countryOfBirth,\r\n nationality,\r\n gender,\r\n arabicData,\r\n incompleteApplicationId,\r\n fName,\r\n lName,\r\n mName,\r\n siblingFName,\r\n siblingMName,\r\n siblingLName,\r\n siblingTKHNumber,\r\n selectedUniversity,\r\n selectedSecondUniversity,\r\n selectedSecondMajor,\r\n selectedLevel,\r\n selectedSecondLevel,\r\n selectedSecondProgram,\r\n selectedProgram,\r\n entryTerm,\r\n description,\r\n secondDescription,\r\n nationalIdNumber,\r\n passportNumber,\r\n passportCountry,\r\n passportExpiry,\r\n addressType,\r\n line1,\r\n line2,\r\n country,\r\n city,\r\n contactInformation,\r\n email,\r\n fatherInfo,\r\n motherInfo,\r\n guardianInfo,\r\n educationHistory,\r\n hasBeenIll,\r\n illnessDescription,\r\n errorPI,\r\n errorAI,\r\n errorGI,\r\n errorAdd,\r\n errorContact,\r\n errorParent,\r\n errorGuard,\r\n errorEdu,\r\n errorHI,\r\n errorSources,\r\n ai,\r\n personalInformation,\r\n parentsInformation,\r\n undergraduate,\r\n fatherId,\r\n motherId,\r\n otherSource,\r\n testScores,\r\n errorTest,\r\n isFoundation,\r\n preferredCampus,\r\n dormPlanInterest\r\n } = this.state\r\n let returnValue = ''\r\n const selectedSources = []\r\n if (sourceInformation.selectedSources && sourceInformation.selectedSources.length > 0) {\r\n sourceInformation.selectedSources.forEach(element => {\r\n selectedSources.push({\r\n Id: element\r\n })\r\n })\r\n }\r\n\r\n if (ai.selectedProgram && (parseInt(ai.selectedProgram) === undergraduate || ai.selectedProgram === '')) {\r\n switch (i) {\r\n case 0:\r\n returnValue = \r\n this.toggleAccordion(1)\r\n }\r\n fName={fName}\r\n lName={lName}\r\n mName={mName}\r\n collectState={this.collectState}\r\n />\r\n break\r\n case 1:\r\n const userSelectedProgram = parseInt(ai.selectedProgram) || parseInt(selectedProgram)\r\n if ([undergraduate, '', null, undefined, 0].indexOf(parseInt(userSelectedProgram)) === -1 && !isNaN(userSelectedProgram)) {\r\n returnValue = this.toggleAccordion(2)}\r\n countryData={countryData}\r\n educationHistory={educationHistory || []}\r\n program={parseInt(selectedProgram)}\r\n collectState={this.collectState}\r\n error={errorEdu}\r\n />\r\n } else {\r\n returnValue = {\r\n const fetchBody = []\r\n fetchBody.push({\r\n curriculumId: (educationHistory.curriculumId === null ? 0 : educationHistory.curriculumId),\r\n endDate: educationHistory.endDate,\r\n institutionid: educationHistory.institutionid,\r\n institutionName: educationHistory.InstitutionName,\r\n countryId: educationHistory.countryId,\r\n cityId: educationHistory.cityId,\r\n TransferedInstitutionId: educationHistory.TranferedInstitutionId,\r\n TransferedInstitutionName: educationHistory.TranferedInstitutionName,\r\n educationGrade: educationHistory.EducationGrade,\r\n IncompleteApplicationId: incompleteApplicationId,\r\n transferCountyId:educationHistory.transferCountyId,\r\n transferCityId:educationHistory.transferCityId\r\n })\r\n\r\n fetch(`${process.env.REACT_APP_API_URL}/api/EducationHistory/UnderGraduateEducationHistory`, {\r\n method: 'POST',\r\n body: JSON.stringify(fetchBody),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.StatusCode !== 200) {\r\n this.setState({ error: res.Msg })\r\n }\r\n })\r\n .catch(() => this.setState({ error: 'Some error Occured. Please try again later' }))\r\n this.toggleAccordion(2)\r\n }\r\n }\r\n\r\n\r\n\r\n />\r\n }\r\n break\r\n case 2:\r\n returnValue = {\r\n\r\n this.toggleAccordion(3)\r\n }}\r\n collectState={this.collectState}\r\n error={errorAI}\r\n isFoundation={isFoundation}\r\n preferredCampus={preferredCampus|| ''}\r\n changePopup={this.changePopup}\r\n />\r\n break\r\n case 3:\r\n const userNationality = parseInt(personalInformation.selectedNationality) || nationality\r\n if (userNationality !== 0 && userNationality !== '' && userNationality !== '0') {\r\n returnValue = this.toggleAccordion(4)}\r\n collectState={this.collectState}\r\n error={errorGI}\r\n />\r\n } else {\r\n returnValue =
Please fill the Applicant Personal Information section first
\r\n }\r\n\r\n break\r\n case 4:\r\n returnValue = this.toggleAccordion(5)}\r\n collectState={this.collectState}\r\n getDefaultValue={this.getDefaultValue}\r\n error={errorAdd}\r\n />\r\n break\r\n case 5:\r\n returnValue = this.toggleAccordion(6)}\r\n collectState={this.collectState}\r\n error={errorContact}\r\n email={email}\r\n getDefaultValue={this.getDefaultValue}\r\n />\r\n break\r\n case 6:\r\n returnValue = {\r\n this.setState({\r\n motherInfo: motherInfo,\r\n fatherInfo: fatherInfo\r\n })\r\n this.toggleAccordion(7)\r\n }}\r\n error={errorParent}\r\n collectState={this.collectState}\r\n getDefaultValue={this.getDefaultValue}\r\n\r\n />\r\n break\r\n case 7:\r\n const fatherInfos = {\r\n RelationFirstName: parentsInformation.fatherFName,\r\n RelationMiddleName: parentsInformation.fatherMName,\r\n RelationLastName: parentsInformation.fatherLName,\r\n RelationPrefix: parentsInformation.fatherPrefix,\r\n RelationType: fatherId,\r\n Profession: parentsInformation.fatherProfession,\r\n Company: parentsInformation.fatherCompany,\r\n CompanyAddress: parentsInformation.fatherCompanyAddress,\r\n MobileNumber: parentsInformation.fatherPhone,\r\n RelationEmail: parentsInformation.fatherEmail,\r\n Address: parentsInformation.fatherAddress\r\n }\r\n const motherInfos = {\r\n RelationFirstName: parentsInformation.motherFName,\r\n RelationMiddleName: parentsInformation.motherMName,\r\n RelationLastName: parentsInformation.motherLName,\r\n RelationPrefix: parentsInformation.motherPrefix,\r\n RelationType: motherId,\r\n Profession: parentsInformation.motherProfession,\r\n Company: parentsInformation.motherCompany,\r\n CompanyAddress: parentsInformation.motherCompanyAddress,\r\n MobileNumber: parentsInformation.motherPhone,\r\n RelationEmail: parentsInformation.motherEmail,\r\n Address: parentsInformation.motherAddress\r\n }\r\n returnValue = this.toggleAccordion(8)}\r\n error={errorGuard}\r\n collectState={this.collectState}\r\n />\r\n break\r\n\r\n case 8:\r\n returnValue = this.toggleAccordion(9)} />\r\n break\r\n\r\n case 9:\r\n returnValue = this.toggleAccordion(10)} />\r\n break\r\n case 10:\r\n returnValue = this.toggleAccordion(11)} />\r\n break\r\n case 11:\r\n returnValue = \r\n break\r\n default:\r\n returnValue =

Work in Progress

\r\n break\r\n }\r\n } else {\r\n switch (i) {\r\n case 0:\r\n returnValue = this.toggleAccordion(1)}\r\n collectState={this.collectState}\r\n error={errorPI}\r\n />\r\n break\r\n case 1:\r\n const userSelectedProgram = parseInt(ai.selectedProgram) || parseInt(selectedProgram)\r\n if ([undergraduate, '', null, undefined, 0].indexOf(parseInt(userSelectedProgram)) === -1 && !isNaN(userSelectedProgram)) {\r\n returnValue = this.toggleAccordion(2)}\r\n countryData={countryData}\r\n educationHistory={educationHistory || []}\r\n program={parseInt(selectedProgram)}\r\n collectState={this.collectState}\r\n error={errorEdu}\r\n />\r\n } else {\r\n returnValue = this.toggleAccordion(2)}\r\n countryData={countryData}\r\n educationHistory={educationHistory || []}\r\n program={parseInt(selectedProgram)}\r\n collectState={this.collectState}\r\n error={errorEdu}\r\n />\r\n }\r\n break\r\n case 2:\r\n returnValue = {\r\n if (parseInt(program) !== parseInt(selectedProgram)) {\r\n this.setState({\r\n selectedProgram: program, educationHistory: []\r\n })\r\n /*const fetchBody = []\r\n fetchBody.push({\r\n curriculumId: 0,\r\n endDate: '',\r\n institutionid: 0,\r\n institutionName: null,\r\n countryId: 0,\r\n TransferedInstitutionId: 0,\r\n TransferedInstitutionName: null,\r\n IncompleteApplicationId: incompleteApplicationId\r\n })\r\n await fetch(`${process.env.REACT_APP_API_URL}/api/EducationHistory/UnderGraduateEducationHistory`, {\r\n method: 'POST',\r\n body: JSON.stringify(fetchBody),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.StatusCode !== 200) {\r\n this.setState({ error: res.Msg })\r\n }\r\n })\r\n .catch(() => this.setState({ error: 'Some error Occured. Please try again later' }))*/\r\n }\r\n this.toggleAccordion(3)\r\n }}\r\n collectState={this.collectState}\r\n error={errorAI}\r\n />\r\n break\r\n\r\n\r\n case 3:\r\n const userNationality = parseInt(personalInformation.selectedNationality) || nationality\r\n if (userNationality !== 0 && userNationality !== '' && userNationality !== '0') {\r\n returnValue = this.toggleAccordion(4)}\r\n collectState={this.collectState}\r\n error={errorGI}\r\n />\r\n } else {\r\n returnValue =
Please fill the Applicant Personal Information section first
\r\n }\r\n\r\n break\r\n case 4:\r\n returnValue = this.toggleAccordion(5)}\r\n collectState={this.collectState}\r\n getDefaultValue={this.getDefaultValue}\r\n error={errorAdd}\r\n />\r\n break\r\n case 5:\r\n returnValue = this.toggleAccordion(6)}\r\n collectState={this.collectState}\r\n error={errorContact}\r\n email={email}\r\n getDefaultValue={this.getDefaultValue}\r\n />\r\n break\r\n case 6:\r\n returnValue = {\r\n this.setState({\r\n motherInfo: motherInfo,\r\n fatherInfo: fatherInfo\r\n })\r\n this.toggleAccordion(7)\r\n }}\r\n error={errorParent}\r\n collectState={this.collectState}\r\n getDefaultValue={this.getDefaultValue}\r\n\r\n />\r\n break\r\n case 7:\r\n const fatherInfos = {\r\n RelationFirstName: parentsInformation.fatherFName,\r\n RelationMiddleName: parentsInformation.fatherMName,\r\n RelationLastName: parentsInformation.fatherLName,\r\n RelationPrefix: parentsInformation.fatherPrefix,\r\n RelationType: fatherId,\r\n Profession: parentsInformation.fatherProfession,\r\n Company: parentsInformation.fatherCompany,\r\n CompanyAddress: parentsInformation.fatherCompanyAddress,\r\n MobileNumber: parentsInformation.fatherPhone,\r\n RelationEmail: parentsInformation.fatherEmail,\r\n Address: parentsInformation.fatherAddress\r\n }\r\n const motherInfos = {\r\n RelationFirstName: parentsInformation.motherFName,\r\n RelationMiddleName: parentsInformation.motherMName,\r\n RelationLastName: parentsInformation.motherLName,\r\n RelationPrefix: parentsInformation.motherPrefix,\r\n RelationType: motherId,\r\n Profession: parentsInformation.motherProfession,\r\n Company: parentsInformation.motherCompany,\r\n CompanyAddress: parentsInformation.motherCompanyAddress,\r\n MobileNumber: parentsInformation.motherPhone,\r\n RelationEmail: parentsInformation.motherEmail,\r\n Address: parentsInformation.motherAddress\r\n }\r\n returnValue = this.toggleAccordion(8)}\r\n error={errorGuard}\r\n collectState={this.collectState}\r\n />\r\n break\r\n\r\n case 8:\r\n returnValue = this.toggleAccordion(9)} />\r\n break\r\n case 9:\r\n returnValue = this.toggleAccordion(10)} />\r\n break\r\n case 10:\r\n returnValue = this.toggleAccordion(11)} />\r\n break\r\n case 11:\r\n returnValue = \r\n break\r\n default:\r\n returnValue =

Work in Progress

\r\n break\r\n }\r\n }\r\n return
{returnValue}
\r\n }\r\nchangeFoundation(value)\r\n{\r\n this.setState({isFoundation:value})\r\n \r\n}\r\nchangePopup(value)\r\n{\r\n if(value==true)\r\n this.setState({isPopup:value,preferredCampus:'West'})\r\n else if(value==false)\r\n this.setState({isPopup:value,preferredCampus:'East'})\r\n else if(value=='WestRemoved')\r\n this.setState({preferredCampus:'',selectedMajor:0,selectedLevel:0})\r\n}\r\n\r\n collectState(componentName, data) {\r\n switch (componentName) {\r\n case 'PI':\r\n this.setState({ personalInformation: data })\r\n const { errorPI } = this.state\r\n const errorPIKeys = Object.keys(errorPI)\r\n if (errorPIKeys.length) {\r\n const returnValue = this.personalInformationCheck(data)\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[0] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n\r\n case 'EH':\r\n\r\n this.setState({ educationHistorys: data })\r\n const { errorEdu } = this.state\r\n const errorEduKeys = Object.keys(errorEdu)\r\n if (errorEduKeys.length) {\r\n const returnValue = this.educationHistoryCheck(data)\r\n\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[1] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n case 'AI':\r\n const accordionValue = this.state.activeSections[2].open\r\n if (data.selectedProgram + '' !== this.state.ai.selectedProgram + '') {\r\n this.setState({ educationHistory: [], educationHistorys: {}, errorEdu: {}, selectedProgram: data.selectedProgram })\r\n }\r\n this.setState({ ai: data })\r\n const { errorAI } = this.state\r\n const errorAIKeys = Object.keys(errorAI)\r\n if (errorAIKeys.length) {\r\n const returnValue = this.academicInterestCheck(data)\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[2] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n if ((parseInt(data.selectedProgram) !== this.state.undergraduate)) {\r\n this.setState({\r\n activeSections: [\r\n {\r\n name: 'Applicant Personal Information',\r\n open: false\r\n },\r\n {\r\n name: 'Education',\r\n open: false\r\n },\r\n {\r\n name: 'Program of Study',\r\n open: accordionValue\r\n },\r\n\r\n {\r\n name: 'Official Identification',\r\n open: false\r\n },\r\n {\r\n name: 'Address',\r\n open: false\r\n },\r\n {\r\n name: 'Applicant’s Contact Information',\r\n open: false\r\n },\r\n {\r\n name: 'Parents Information',\r\n open: false\r\n },\r\n {\r\n name: 'Legal Guardian Information',\r\n open: false\r\n },\r\n\r\n {\r\n name: 'English Proficiency Assessment',\r\n open: false\r\n },\r\n {\r\n name: 'Health Information',\r\n open: false\r\n },\r\n {\r\n name: 'Sources',\r\n open: false\r\n },\r\n {\r\n name: 'Policies',\r\n open: false\r\n }\r\n ]\r\n })\r\n } else {\r\n this.setState({\r\n activeSections: [\r\n {\r\n name: 'Applicant Personal Information',\r\n open: false\r\n },\r\n {\r\n name: 'Education',\r\n open: false\r\n },\r\n {\r\n name: 'Program of Study',\r\n open: accordionValue\r\n },\r\n {\r\n name: 'Official Identification',\r\n open: false\r\n },\r\n {\r\n name: 'Address',\r\n open: false\r\n },\r\n {\r\n name: 'Applicant’s Contact Information',\r\n open: false\r\n },\r\n {\r\n name: 'Parents Information',\r\n open: false\r\n },\r\n {\r\n name: 'Legal Guardian Information',\r\n open: false\r\n },\r\n\r\n {\r\n name: 'English Proficiency Assessment',\r\n open: false\r\n },\r\n {\r\n name: 'Health Information',\r\n open: false\r\n },\r\n {\r\n name: 'Sources',\r\n open: false\r\n },\r\n {\r\n name: 'Policies',\r\n open: false\r\n }\r\n ]\r\n })\r\n }\r\n break\r\n case 'GI':\r\n this.setState({ governmentInformation: data })\r\n const { errorGI } = this.state\r\n const errorGIKeys = Object.keys(errorGI)\r\n if (errorGIKeys.length) {\r\n const returnValue = this.governmentInformationCheck(data)\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[3] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n case 'Add':\r\n this.setState({ address: data })\r\n const { errorAdd } = this.state\r\n const errorAddKeys = Object.keys(errorAdd)\r\n if (errorAddKeys.length) {\r\n const returnValue = this.addressCheck(data)\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[4] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n case 'Contact':\r\n this.setState({ contactInformations: data })\r\n const { errorContact } = this.state\r\n let counts = 0\r\n const errorMainKeys = Object.keys(errorContact)\r\n if (errorMainKeys.length) {\r\n const returnValue = this.contactCheck(data)\r\n for (const element in errorContact) {\r\n if (Object.prototype.hasOwnProperty.call(errorContact, element)) {\r\n const errorContactKeys = Object.keys(element)\r\n if (errorContactKeys.length) {\r\n if (returnValue !== 1) {\r\n counts = 1\r\n }\r\n }\r\n }\r\n }\r\n if (counts === 0) {\r\n const count = Array.from(this.state.count)\r\n count[5] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n case 'PSI':\r\n this.setState({ parentsInformation: data })\r\n const { errorParent } = this.state\r\n const errorParentKeys = Object.keys(errorParent)\r\n if (errorParentKeys.length) {\r\n const returnValue = this.parentsInformationCheck(data)\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[6] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n case 'Guardian':\r\n this.setState({ guardianInformation: data })\r\n const { errorGuard } = this.state\r\n const errorGuardKeys = Object.keys(errorGuard)\r\n if (errorGuardKeys.length) {\r\n const returnValue = this.guardianInformationCheck(data)\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[7] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n\r\n case 'TS':\r\n this.setState({ testScores: data })\r\n const { errorTest } = this.state\r\n /* const errorTestkeys = Object.keys(errorTest) */\r\n if (errorTest.length) {\r\n const returnValue = this.testScoresCheck(data)\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[8] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n case 'HI':\r\n this.setState({ healthInformation: data })\r\n const { errorHI } = this.state\r\n const errorHIKeys = Object.keys(errorHI)\r\n if (errorHIKeys.length) {\r\n const returnValue = this.healthInformationCheck(data)\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[9] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n case 'Sources':\r\n this.setState({ sourceInformation: data })\r\n const { errorSources } = this.state\r\n const errorSourcesKeys = Object.keys(errorSources)\r\n if (errorSourcesKeys.length) {\r\n const returnValue = this.sourcesCheck(data)\r\n if (returnValue === 1) {\r\n const count = Array.from(this.state.count)\r\n count[10] = 1\r\n this.setState({ count: count })\r\n }\r\n }\r\n break\r\n case 'Policies':\r\n this.setState({ acceptedPolicies: data })\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n\r\n toggleAccordion(index) {\r\n const { activeSections } = this.state\r\n const sectionsBody = []\r\n activeSections.forEach((section, i) => {\r\n if (i === index) {\r\n section.open = !section.open\r\n } else {\r\n section.open = false\r\n }\r\n sectionsBody.push(section)\r\n })\r\n this.setState({ activeSections: sectionsBody })\r\n }\r\n\r\n toggleAll() {\r\n const { activeSections } = this.state\r\n const sectionsBody = []\r\n activeSections.forEach((section, i) => {\r\n section.open = false\r\n sectionsBody.push(section)\r\n })\r\n this.setState({ activeSections: sectionsBody })\r\n }\r\n\r\n\r\n getDefaultValue(componentName, data) {\r\n switch (componentName) {\r\n case 'Add':\r\n this.setState({ address: { ...this.state.address, addressType: data } })\r\n break\r\n case 'Contact':\r\n if (this.state.contactInformations && this.state.contactInformations.phoneNumberArray && this.state.contactInformations.phoneNumberArray.length > 0) {\r\n const phoneNumberArray = this.state.contactInformations.phoneNumberArray\r\n const length = phoneNumberArray.length\r\n phoneNumberArray.forEach((element, i) => {\r\n if (i === length - 1) {\r\n element.phoneType = data\r\n }\r\n })\r\n this.setState({ contactInformations: { ...this.state.contactInformation, phoneNumberArray: phoneNumberArray } })\r\n }\r\n break\r\n case 'Parent':\r\n if (this.state.parentsInformation && this.state.parentsInformation.fatherPrefix && this.state.parentsInformation.motherPrefix) {\r\n this.setState({\r\n parentsInformation: {\r\n ...this.state.parentsInformation,\r\n fatherPrefix: data.fatherDefault,\r\n motherPrefix: data.motherDefault\r\n }\r\n })\r\n }\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n\r\n async handleSave() {\r\n\r\n const {\r\n personalInformation,\r\n ai,\r\n governmentInformation,\r\n address,\r\n contactInformations,\r\n parentsInformation,\r\n guardianInformation,\r\n educationHistorys,\r\n healthInformation,\r\n sourceInformation,\r\n undergraduate,\r\n fatherId,\r\n motherId,\r\n testScores\r\n } = this.state\r\n const ci = []\r\n if (contactInformations.phoneNumberArray && contactInformations.phoneNumberArray.length > 0) {\r\n contactInformations.phoneNumberArray.forEach(element => {\r\n ci.push(\r\n {\r\n PhoneType: element.phoneType,\r\n CountryId: element.phoneCountry,\r\n Email: contactInformations.email,\r\n PhoneNumber: element.phoneNumber,\r\n IsPrimary: element.isPrimary\r\n }\r\n )\r\n })\r\n }\r\n const eh = []\r\n const errorCheck = ['', 0, null, undefined]\r\n if (educationHistorys) {\r\n if ([undergraduate, '', null, undefined, 0].indexOf(parseInt(ai.selectedProgram)) === -1) {\r\n if (educationHistorys.graduateDegree && educationHistorys.graduateDegree.length >= 1) {\r\n educationHistorys.graduateDegree.forEach(element => {\r\n eh.push({\r\n CurriculumId: element.universityCertificate,\r\n EndDate: element.yearOfGraduation,\r\n InstitutionId: element.universityName,\r\n InstitutionName: element.institutionName,\r\n CountryId: element.selectedCountry,\r\n CityId: element.selectedCity,\r\n GPA: element.gpa,\r\n EducationGrade: element.educationGrade,\r\n\r\n })\r\n })\r\n }\r\n if (errorCheck.indexOf(educationHistorys.universityCertificate) === -1 || errorCheck.indexOf(educationHistorys.universityName) === -1 || errorCheck.indexOf(educationHistorys.selectedCountry) === -1 || errorCheck.indexOf(educationHistorys.yearOfGraduation) === -1 || educationHistorys.gpa) {\r\n eh.push({\r\n CurriculumId: educationHistorys.universityCertificate || '',\r\n EndDate: educationHistorys.yearOfGraduation || '',\r\n InstitutionId: educationHistorys.universityName || '',\r\n InstitutionName: educationHistorys.institutionName,\r\n CountryId: educationHistorys.selectedCountry || '',\r\n CityId: educationHistorys.selectedCity || '',\r\n GPA: educationHistorys.gpa || '',\r\n EducationGrade: educationHistorys.educationGrade || ''\r\n })\r\n }\r\n } else if (parseInt(ai.selectedProgram) === undergraduate) {\r\n if (educationHistorys.underGradDegree && educationHistorys.underGradDegree.length >= 1) {\r\n educationHistorys.underGradDegree.forEach(element => {\r\n eh.push({\r\n CurriculumId: element.highSchoolCertificate,\r\n EndDate: element.endDate,\r\n InstitutionId: element.highSchoolName,\r\n InstitutionName: element.institutionName,\r\n CountryId: element.selectedCountry,\r\n CityId: element.selectedCity,\r\n TransferedInstitutionId: element.perviousUniversity,\r\n TransferedInstitutionName: element.perviousUniversityName,\r\n TransferredCerti: element.previousUniversityCertificate,\r\n TransferredGPA: element.previousUniversityGPA,\r\n EducationGrade: element.educationGrade,\r\n TransferCountryId:element.previousUniversityCountry,\r\n TransferCityId:element.previousUniversityCity,\r\n })\r\n })\r\n }\r\n if (errorCheck.indexOf(educationHistorys.highSchoolCertificate) === -1 || errorCheck.indexOf(educationHistorys.highSchoolName) === -1 || errorCheck.indexOf(educationHistorys.selectedCountry) === -1 || errorCheck.indexOf(educationHistorys.perviousUniversity) === -1 || errorCheck.indexOf(educationHistorys.endDate) === -1) {\r\n eh.push({\r\n CurriculumId: educationHistorys.highSchoolCertificate,\r\n EndDate: educationHistorys.endDate,\r\n InstitutionId: educationHistorys.highSchoolName,\r\n InstitutionName: educationHistorys.institutionName,\r\n CountryId: educationHistorys.selectedCountry,\r\n CityId: educationHistorys.selectedCity,\r\n TransferedInstitutionId: educationHistorys.perviousUniversity,\r\n TransferedInstitutionName: educationHistorys.perviousUniversityName,\r\n TransferredCerti: educationHistorys.previousUniversityCertificate,\r\n TransferredGPA: educationHistorys.previousUniversityGPA,\r\n EducationGrade: educationHistorys.educationGrade,\r\n TransferCountryId:educationHistorys.previousUniversityCountry,\r\n TransferCityId:educationHistorys.previousUniversityCity,\r\n })\r\n }\r\n }\r\n }\r\n const sources = []\r\n if (sourceInformation) {\r\n if (sourceInformation.selectedSources && sourceInformation.selectedSources.length > 0) {\r\n sourceInformation.selectedSources.forEach(element => {\r\n sources.push({\r\n SourceId: element\r\n })\r\n })\r\n }\r\n }\r\n const tests = []\r\n if (testScores.tests && testScores.tests.length > 0) {\r\n testScores.tests.forEach(element => {\r\n if (!(errorCheck.indexOf(element.test) !== -1 && errorCheck.indexOf(element.testType) !== -1 && errorCheck.indexOf(element.dateTaken) !== -1 && !element.score)) {\r\n tests.push({\r\n Test: element.test,\r\n TestType: element.testType,\r\n Score: element.score,\r\n DateTaken: element.dateTaken\r\n })\r\n }\r\n })\r\n }\r\n // eslint-disable-next-line no-unused-vars\r\n const fetchBody = {\r\n IncompleteApplicationId: this.props.incompleteApplicationId || sessionStorage.getItem('id'),\r\n // Personal Information\r\n FirstName: personalInformation.fName || '',\r\n MiddleName: personalInformation.mName || '',\r\n LastName: personalInformation.lName || '',\r\n DateOfBirth: personalInformation.dateOfBirth || '',\r\n CountryOfBirth: personalInformation.selectedCountry || '',\r\n Nationality: personalInformation.selectedNationality || '',\r\n Gender: personalInformation.selectedGender || '',\r\n SiblingFName: personalInformation.siblingFName || '',\r\n SiblingMName: personalInformation.siblingMName || '',\r\n SiblingLName: personalInformation.siblingLName || '',\r\n SiblingTKHNumber: personalInformation.siblingTKHNumber || '',\r\n ArabicData: [\r\n {\r\n ColumnName: 'ARABIC_FIRSTNAME',\r\n ColumnValue: personalInformation.arabicText1 || ''\r\n },\r\n {\r\n ColumnName: 'ARABIC_MIDDLENAME',\r\n ColumnValue: personalInformation.arabicText2 || ''\r\n },\r\n {\r\n ColumnName: 'ARABIC_LASTNAME',\r\n ColumnValue: personalInformation.arabicText3 || ''\r\n }\r\n ],\r\n // Program of Study\r\n\r\n UniversityId: ai.selectedUniversity || '',\r\n SecondUniversityId: ai.selectedSecondUniversity || '',\r\n SecondProgramId: ai.selectedSecondProgram || '',\r\n SecondMajorId: ai.selectedSecondMajor || '',\r\n Level: ai.selectedLevel || '',\r\n SecondLevel: ai.selectedSecondLevel || '',\r\n ProgramOfStudyId: ai.selectedMajor || '',\r\n Description: ai.description || '',\r\n SecDescription: ai.secondDescription || '',\r\n EntryTerm: ai.selectedEntryTerm || '',\r\n ProgramId: ai.selectedProgram || '',\r\n PreferredCampus:ai.preferredCampus || '',\r\n // Government Information\r\n nationalIdNumber: governmentInformation.nationalNumber || '',\r\n passportNumber: governmentInformation.passportNumber || '',\r\n passportCountryIssued: governmentInformation.passportCountry || '',\r\n passportExpirationDate: governmentInformation.passportExpiryDate || '',\r\n // Address\r\n AddressTypeId: address.addressType || '',\r\n Line1: address.addressLine1 || '',\r\n Line2: address.addressLine2 || '',\r\n Country: address.selectedCountry || '',\r\n City: address.selectedCity || '',\r\n DormPlanInterest: address.dormPlanInterest,\r\n // Contact\r\n ContactInformation: ci.length > 0 ? ci : null,\r\n // Parents Information\r\n FatherPrefix: parentsInformation.fatherPrefix || '',\r\n FatherRelationType: fatherId || '',\r\n FatherFirstName: parentsInformation.fatherFName || '',\r\n FatherMiddleName: parentsInformation.fatherMName || '',\r\n FatherFamilyName: parentsInformation.fatherLName || '',\r\n FatherProfession: parentsInformation.fatherProfession || '',\r\n FatherCompany: parentsInformation.fatherCompany || '',\r\n FatherCompanyAddress: parentsInformation.fatherCompanyAddress || '',\r\n FatherMobileNumber: parentsInformation.fatherPhone || '',\r\n FatherEmail: parentsInformation.fatherEmail || '',\r\n FatherAddress: parentsInformation.fatherAddress || '',\r\n FatherAttendedInstitution: parentsInformation.fatherAttendedInstitution || false,\r\n FatherDeceased: parentsInformation.fatherDeceased || false,\r\n IsFatherTKHEmployee : parentsInformation.isFatherEmployee||false,\r\n FatherIdNumber: parentsInformation.fatherIdNumber||'',\r\n MotherPrefix: parentsInformation.motherPrefix || '',\r\n MotherRelationType: motherId || '',\r\n MotherFirstName: parentsInformation.motherFName || '',\r\n MotherMiddleName: parentsInformation.motherMName || '',\r\n MotherFamilyName: parentsInformation.motherLName || '',\r\n MotherProfession: parentsInformation.motherProfession || '',\r\n MotherCompany: parentsInformation.motherCompany || '',\r\n MotherCompanyAddress: parentsInformation.motherCompanyAddress || '',\r\n MotherMobileNumber: parentsInformation.motherPhone || '',\r\n MotherEmail: parentsInformation.motherEmail || '',\r\n MotherAddress: parentsInformation.motherAddress || '',\r\n MotherAttendedInstitution: parentsInformation.motherAttendedInstitution || false,\r\n MotherDeceased: parentsInformation.motherDeceased || false,\r\n IsMotherTKHEmployee : parentsInformation.isMotherEmployee||false,\r\n MotherIdNumber: parentsInformation.motherIdNumber||'',\r\n // Guardian Information\r\n GuardianPrefix: guardianInformation.guardianPrefix || '',\r\n GuardianRelationType: guardianInformation.guardianRelationship || '',\r\n GuardianFirstName: guardianInformation.guardianFName || '',\r\n GuardianMiddleName: guardianInformation.guardianMName || '',\r\n GuardianFamilyName: guardianInformation.guardianLName || '',\r\n GuardianProfession: guardianInformation.guardianProfession || '',\r\n GuardianMobileNumber: guardianInformation.guardianPhone || '',\r\n GuardianEmail: guardianInformation.guardianEmail || '',\r\n GuardianAddress: guardianInformation.guardianAddress || '',\r\n // Education\r\n EducationHistory: eh.length > 0 ? eh : null,\r\n // Tests\r\n Tests: tests.length > 0 ? tests : null,\r\n // Health Information\r\n hasBeenIll: healthInformation.hasIllness || false,\r\n illnessDescription: healthInformation.illness || '',\r\n // Source Information\r\n SourceInformation: sources.length > 0 ? sources : null,\r\n OtherSource: sourceInformation ? sourceInformation.otherSource : null\r\n }\r\n\r\n return fetch(`${process.env.REACT_APP_API_URL}/api/Save/SaveApplication`, {\r\n method: 'POST',\r\n body: JSON.stringify(fetchBody),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.StatusCode === 200) {\r\n this.setState({ saveProcessing: false })\r\n sessionStorage.setItem('isBlocking', false)\r\n return 1\r\n } else {\r\n this.setState({ saveProcessing: false })\r\n this.setState({ policyError: 'Some Error Occured!', color: 'red' })\r\n return 0\r\n }\r\n })\r\n .catch(err => {\r\n this.setState({ saveProcessing: false })\r\n console.log(err)\r\n this.setState({ policyError: 'Some Error Occured', color: 'red' })\r\n })\r\n }\r\n\r\n async submit() {\r\n this.setState({ nextProcessing: true })\r\n return fetch(`${process.env.REACT_APP_API_URL}/api/Validate/ValidateApplication`, {\r\n method: 'POST',\r\n body: JSON.stringify({ IncompleteApplicationId: this.props.incompleteApplicationId || sessionStorage.getItem('id') }),\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n }\r\n })\r\n .then(res => res.json())\r\n .then(res => {\r\n if (res.StatusCode === 200) {\r\n this.props.onSubmit()\r\n this.setState({ nextProcessing: false })\r\n } else if (res.StatusCode === 404) {\r\n this.setState({ nextProcessing: false })\r\n const error = []\r\n if (res.Msg.ProgramOfStudyId || res.Msg.ProgramId) {\r\n this.setState({\r\n errorAI: {\r\n selectedMajor: res.Msg.ProgramOfStudyId ? 'Please check this value' : null,\r\n selectedProgram: res.Msg.ProgramId ? 'Please check this value' : null\r\n }\r\n })\r\n error.push('Program of Study')\r\n }\r\n if (res.Msg.GovernmentId) {\r\n this.setState({ errorGI: { nationalNumber: 'Please Enter the value' } })\r\n error.push('Official Identification')\r\n }\r\n\r\n\r\n if (res.Msg.AddressTypeId) {\r\n this.setState({ errorAdd: { addressType: 'Please select a value' } })\r\n error.push('Address')\r\n }\r\n\r\n if (res.Msg.TestType) {\r\n this.setState({ errorTest: { TestType: 'Please select all test type for the selected test' } })\r\n error.push('English Proficiency Assessment : ')\r\n }\r\n\r\n if (res.Msg.ExistsTestType) {\r\n this.setState({ testTypeError: `English Proficiency Assessment :` + res.Msg.ExistsTestType, color: 'red' })\r\n }\r\n this.setState({ policyError: `${error.join(', ')} Please enter all test type for the choosen test(s).`, color: 'red' })\r\n // this.setState({ policyError: `${error.join(', ')} section(s) have error(s) in them.`, color: 'red' })\r\n this.conditionCheck();\r\n }\r\n })\r\n .catch(err => {\r\n this.setState({ nextProcessing: false })\r\n console.log(err)\r\n })\r\n }\r\n\r\n render() {\r\n const { error, policyError, testTypeError, loading, color, acceptedPolicies, saved, activeSections, count, saveProcessing, nextProcessing, isPopup} = this.state\r\n if (loading) {\r\n return (\r\n
\r\n
\r\n\r\n
\r\n \"Loading...\"\r\n
\r\n
\r\n\r\n
\r\n )\r\n }\r\n if (error) {\r\n return (\r\n
\r\n
\r\n\r\n
\r\n

{error}

\r\n \r\n this.props.onClick()\r\n\r\n }\r\n id=\"logout-button\"\r\n >Logout\r\n
\r\n
\r\n
\r\n )\r\n }\r\n const accordionSections = []\r\n activeSections.forEach((element, i) => {\r\n if (activeSections.length === 12 && i >= 9) {\r\n accordionSections.push(\r\n
\r\n \r\n
this.toggleAccordion(i)}>\r\n {count[i] === 0 ? '!' : `${i + 1}`}\r\n {element.name}\r\n
\r\n
\r\n {this.getActiveTabBody(i)}\r\n
\r\n
\r\n \r\n )\r\n } else {\r\n accordionSections.push(\r\n
\r\n \r\n
this.toggleAccordion(i)}>\r\n {count[i] === 0 ? '!' : `${i + 1}`}\r\n {element.name}\r\n
\r\n
\r\n {this.getActiveTabBody(i)}\r\n
\r\n
\r\n \r\n )\r\n }\r\n })\r\n return (\r\n <>\r\n {saved \r\n ?
\r\n
\r\n

Application Saved

\r\n

this.setState({ saved: false })} style={{ cursor: 'pointer' }}>X

\r\n
\r\n
\r\n

Your application has been saved

\r\n
\r\n
\r\n \r\n
\r\n
\r\n : null}\r\n { isPopup \r\n ?
\r\n
\r\n

Please Read the Below Disclaimers

\r\n

{this.setState({ isPopup: false })\r\n }\r\n } style={{ cursor: 'pointer' }}>X

\r\n \r\n
\r\n
\r\n

o Please note that TKH New Zayed Campus is due to operate starting the second semester of 23/24 Academic Year.
o Students joining the New Zayed Campus will attend the first semester of the 23/24 Academic Year in The New Administrative Capital’s Campus and the second semester at The New Zayed Campus.

\r\n
\r\n
\r\n \r\n
\r\n
\r\n : null}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n

Application Form

\r\n

TKH Application instructions:

\r\n {\r\n if (sessionStorage.getItem('isBlocking') === 'false') {\r\n this.props.onClick()\r\n } else {\r\n // alert('Please save your data before exiting.')\r\n this.handleSave()\r\n this.props.onClick()\r\n sessionStorage.setItem('isBlocking', false)\r\n }\r\n }}\r\n id=\"logout-button\"\r\n >Logout\r\n
\r\n\r\n

• You may save your application and access it later. However, once your application is submitted you cannot access/change/modify it.

\r\n\r\n

• The email address and mobile number you have created your account with, will be used to communicate with you throughout the admission process. Please make sure they are written correctly.

\r\n\r\n

• Select the degree and specify your course of interest, with a maximum of two choices.

\r\n\r\n

• Please note that the Admission Committee will be conducting the screening process based on your First Choice of University, Degree, and Programme only. If your enrollment into your First Choice of University, Degree, and Programme has been rejected by the Admissions Committee, your Second Choice of the University will be taken into consideration during the screening process.

\r\n\r\n

• Please note that there is a 1,200 LE application fee to be paid online while submitting your application

\r\n\r\n

• Please ensure to read all TKH Online Application Guidelines before submitting on this\r\n\r\n window.open(\"https://tkh.edu.eg/how-to-apply/\", \"_blank\")}>webpage

\r\n\r\n\r\n

* = Field is Required

\r\n

** Please type your answer in the same language of the field question

\r\n\r\n
\r\n
\r\n
\r\n {policyError &&

{policyError}

}\r\n {testTypeError &&

{testTypeError}

}\r\n {accordionSections}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\nMains.propTypes = {\r\n incompleteApplicationId: PropTypes.number,\r\n token: PropTypes.string,\r\n onSubmit: PropTypes.func.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n history: PropTypes.object\r\n}\r\n","/* eslint-disable no-unused-vars */\r\n/* eslint-disable prefer-const */\r\nimport React from 'react'\r\n\r\nimport {\r\n BrowserRouter as Router,\r\n Route,\r\n Switch,\r\n Redirect,\r\n useHistory,\r\n useLocation\r\n} from 'react-router-dom'\r\nimport Error from './Components/Error'\r\nimport LoginPage from './Components/LoginPage'\r\nimport Signup from './Components/Signup'\r\nimport UploadDocuments from './Components/UploadDocuments'\r\nimport './Main.css'\r\nimport Mains from './Components/Main'\r\nconst authentication = {\r\n isAuthenticated: false,\r\n authenticate () {\r\n authentication.isAuthenticated = true\r\n },\r\n signOut (cb) {\r\n sessionStorage.clear()\r\n authentication.isAuthenticated = false\r\n setTimeout(cb, 100)\r\n }\r\n}\r\n\r\nfunction Main (props) {\r\n const history = useHistory()\r\n let location = useLocation()\r\n let { from } = location.state || { from: { pathname: '/' } }\r\n\r\n let logout = () => {\r\n authentication.signOut(() => {\r\n history.replace(from)\r\n })\r\n }\r\n let submit = () => {\r\n history.replace('/upload')\r\n }\r\n return (\r\n // eslint-disable-next-line react/prop-types\r\n \r\n )\r\n}\r\nfunction Upload (props) {\r\n const history = useHistory()\r\n let location = useLocation()\r\n let { from } = location.state || { from: { pathname: '/' } }\r\n let logout = () => {\r\n authentication.signOut(() => {\r\n history.replace(from)\r\n })\r\n }\r\n return (\r\n // eslint-disable-next-line react/prop-types\r\n \r\n )\r\n}\r\nfunction ErrorPage () {\r\n let history = useHistory()\r\n return (\r\n history.push('/')} />\r\n )\r\n}\r\n\r\n// eslint-disable-next-line react/prop-types\r\nfunction PrivateRoute ({ children, ...rest }) {\r\n let token = sessionStorage.getItem('token')\r\n let userId = sessionStorage.getItem('id')\r\n let expiry = sessionStorage.getItem('expiry')\r\n let nowDate = new Date()\r\n if (expiry >= nowDate.toString() && token && userId) {\r\n return (\r\n \r\n (children)\r\n }\r\n />\r\n )\r\n } else {\r\n return (\r\n \r\n (token && userId) ? (children) : (\r\n \r\n )\r\n }\r\n />\r\n\r\n )\r\n }\r\n}\r\n\r\nexport default class App extends React.Component {\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n incompleteApplicationId: 0,\r\n token: 0,\r\n email: ''\r\n }\r\n }\r\n\r\n render () {\r\n const { incompleteApplicationId, token, email } = this.state\r\n return (\r\n \r\n \r\n (\r\n {\r\n this.setState({ incompleteApplicationId: id, token: token, email: email })\r\n authentication.authenticate()\r\n }}/>\r\n )}\r\n >\r\n \r\n (\r\n {\r\n this.setState({ incompleteApplicationId: id, token: token, email: email })\r\n authentication.authenticate()\r\n }}/>\r\n )}\r\n >\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport './index.css'\r\nimport App from './App'\r\nimport * as serviceWorker from './serviceWorker'\r\n\r\nReactDOM.render(, document.getElementById('root'))\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister()\r\n"],"sourceRoot":""}