{"version":3,"sources":["assets/icons/watsapp.png","assets/icons/arrow_point.png","assets/icons/regBanner.jpeg","assets/icons/edel_icons/Nuvama_Identity_RGB_Positive.jpg","assets/icons/down.svg","assets/icons/welcomeBack.jpg","assets/icons/panDob.svg","assets/icons/esignBanner.jpeg","assets/icons/ocvCalenderNew.jpg","assets/icons/profileNavLogo.svg","assets/icons/pdf.png","assets/icons/bankNavLogo.svg","assets/icons/planNavLogo.svg","assets/icons/docNavLogo.svg","assets/icons/ipvNavLogo.svg","assets/icons/esignNavLogo.svg","assets/icons/investNavLogo.svg","assets/icons/profileNavLogoNew.svg","assets/icons/bankNavLogoNew.svg","assets/icons/planNavLogoNew.svg","assets/icons/docNavLogoNew.svg","assets/icons/esignNavLogoNew.svg","assets/icons/investNavLogoNew.svg","assets/icons/shareAdd.jpg","assets/icons/useDiffPan.svg","assets/icons/seeding.png","assets/icons/jpg.png","assets/icons/eye.png","assets/icons/crop.png","assets/docSampleImages/Adhaar_Sample.png","assets/docSampleImages/DLSample.jpg","assets/docSampleImages/passportSample.jpg","assets/docSampleImages/VoterID_Sample.jpg","assets/icons/call.png","assets/icons/profileBanner.jpeg","assets/icons/micr.jpg","assets/icons/new_lite.png","assets/icons/mob_new_lite.png","assets/icons/new_elite.png","assets/icons/mob_new_elite.png","assets/pdf/SMTF.pdf","assets/pdf/NWIL-Booklet-A5-Nov 2022.pdf","assets/pdf/Disclaimer_DIY.pdf","assets/icons/blueTick.svg","assets/icons/ipv_demo.jpg","assets/icons/finalTick.svg","assets/icons/account-not-found.png","assets/icons/accountAlreadyExists.png","assets/icons/verificationInProgress.png","assets/icons/docsRejected.png","components/types/genericTypes.ts","components/UI/EdelLogoCenter/EdelLogoCenter.tsx","components/utils/constants.ts","components/utils/validation.ts","components/utils/regex.ts","components/UI/InputField/InputField.tsx","components/UI/DropdownSearch/DropdownSearch.tsx","components/Profile/FamilyMember/FamilyMember.tsx","components/UI/Tag/Tag.tsx","components/UI/Radio/Radio.tsx","components/UI/Toggle/Toggle.tsx","components/UI/Loader/Loader.tsx","components/UI/Button/Button.tsx","components/UI/InfoModal/InfoModal.tsx","components/Services/identifyDevice.ts","config/domain.ts","components/utils/errorMessage.ts","components/Services/serviceList.ts","components/Services/mapper/serviceMapper.ts","components/Services/apiServices.ts","components/UI/otpField/otpField.tsx","components/Services/dashboard/profileApiService.ts","components/UI/ErrMsg/ErrMsg.tsx","components/UI/OtpTimer/OtpTimer.tsx","components/Registration/RegOtp/RegOtp.tsx","ErrorCode/ErrorCode.tsx","components/Services/registration/registrationApiService.ts","components/UI/TextArea/TextArea.tsx","components/UI/Checkbox/Checkbox.tsx","components/Profile/AddressField/AddressField.tsx","components/Profile/NriDetailForm/NriDetail/NriDetail.tsx","components/Profile/NriDetailForm/NriDetailForm.tsx","components/UI/ProfileImage/ProfileImage.tsx","components/Services/registration/digiLockerApiService.ts","components/Registration/ShareAdd/ShareAdd.tsx","components/UI/Calender/Calender.tsx","components/Services/registration/continueApiService.ts","components/Services/registration/panDobApiService.ts","components/Services/gtmService.ts","customHooks/useQuery.js","config/cleverTapEvents.ts","components/Services/clevertapService.ts","components/Services/appsFlyerService.ts","config/appsFlyerEvents.ts","components/Services/xhrApiServices.ts","components/Services/dashboard/brokerageServices.ts","components/Services/dashboard/docVerificationAPIServices.ts","components/utils/eSignSubmitHandler.ts","components/Profile/ProfileForm/ProfileForm.tsx","components/Profile/ClientNomineeGuardianMatch/ClientNomineeGuardianMatch.ts","components/store/globalStore.ts","components/Services/globalService.ts","components/Registration/RegistrationForm/RegistrationForm.tsx","components/Registration/Layout/Layout.tsx","components/UI/InputWithLabel/InputWithLabel.tsx","components/Registration/RegistrationHome/RegistrationHome.tsx","components/Services/dashboard/eSignApiServices.ts","components/Services/dashboard/profilerApiServices.ts","components/Profile/ProfileNavBar/NavBarTile/NavBarTile.tsx","components/utils/sortingUtils.ts","components/Profile/ProfileNavBar/ProfileNavBar.tsx","components/ESign/ESignForm/ESignForm.tsx","components/Registration/WelcomeBack/WelcomeBack.tsx","components/Registration/MailVerified/MailVerified.tsx","components/Registration/NRI/NRI.tsx","components/Registration/OTP/OTP.tsx","components/Registration/AccExists/AccExists.tsx","components/UI/Backdrop/Backdrop.tsx","components/UI/ProgressBar/ProgressBar.tsx","components/UI/DocumentBrowse/DocumentBrowse.tsx","components/Services/dashboard/ipvApiServices.ts","customHooks/useGeoLocation.js","config/nomineeDocsId.ts","components/Selfie/NewSelfie.tsx","components/DocumentVerification/DocVerificationForm/DocVerificationForm.tsx","components/Registration/PANInfo/PANInfo.tsx","components/UI/ErrorScreen/ErrorScreen.tsx","components/Registration/DgLocker/OptionDocumentList.tsx","components/Registration/DgLocker/DgLocker.tsx","components/UI/ChatText/ChatText.tsx","components/InstantHelp/InstantHelp.tsx","containers/RegistrationRoutes.tsx","components/Profile/ProfileHeader/ProfileHeader.tsx","components/Profile/ProfileLayout/ProfileLayout.tsx","components/Profile/ProfileHome/ProfileHome.tsx","components/Profile/ProfileMenu/ProfileMenu.tsx","components/Services/dashboard/bankApiServices.ts","components/UI/Loader/PennyDropLoader.tsx","components/Bank/BankForm/BankForm.tsx","components/Bank/BankHome/BankHome.tsx","components/UI/PdfContainer/PdfContainer.tsx","components/SelectPlan/SelectPlan.tsx","components/DocumentVerification/DocVerificationHome/DocVerificationHome.tsx","components/ESign/DocStatus/DocStatusList/DocStatusList.tsx","components/ESign/DocStatus/DocStatus.tsx","components/ESign/PendingModulesList/PendingModule/PendingModule.tsx","components/ESign/PendingModulesList/PendingModulesList.tsx","components/ESign/ESignKra/ESignKra.tsx","components/ESign/ESignHome/ESignHome.tsx","components/UI/VideoPlayerIpv/VideoPlayerIpv.tsx","components/VideoVerification/VideoVerification.tsx","components/UI/Dropdown/Dropdown.tsx","components/Profiler/Profiler.tsx","components/Services/registration/manualFlowService.ts","components/Registration/PersonalInformation/PersonalInfo.tsx","components/Registration/PersonalInformation/AddressInfoField.tsx","containers/DashboardRoutes.tsx","components/ESign/ScheduleAgentVisit/AgentVisitForm/AgentVisitForm.tsx","components/POA/Poa.tsx","components/UI/ExitScreen/ExitScreen.tsx","components/OcvScheduled/OcvScheduled.tsx","components/SubmitAO/StepsInfo.tsx","components/SubmitAO/SubmitAO.tsx","containers/SubmissionRoutes.tsx","components/Status/Layout/Layout.tsx","components/Status/CheckStatus/CheckStatusForm/CheckStatusForm.tsx","components/Status/CheckStatus/CheckStatusHome.tsx","components/Status/AccountNotFound/AccountNotFound.tsx","components/Status/StatusVerified/StatusVerified.tsx","components/Status/DocsVerificationInProgress/DocsVerificationInProgress.tsx","components/Status/DocumentReject/DocumentReject.tsx","components/Status/StatusContinue/StatusContinue.tsx","containers/StatusRoutes.tsx","components/Marketing/Marketing.tsx","containers/MarketingRoute.tsx","components/Selfie/Selfie.tsx","components/SmsLinksLayout/SmsLinksLayout.tsx","containers/SmsRoutes.tsx","App.tsx","components/Services/dashboard/errorBankServices.ts","serviceWorker.ts","index.tsx"],"names":["module","exports","EBuyOrSell","EdelLogoCenter","className","src","logo","alt","initialIListObj","value","display","emailVerificationBody","days","dashboardUrl","geoLocationConfig","ipvNavBarObj","name","time","isComplete","navUrl","priority","percentWeight","ipvNavLogo","isRequired","leftNavBarArray","profileNavLogo","logoNew","profileNavLogoNew","bankNavLogo","bankNavLogoNew","planNavLogo","planNavLogoNew","investNavLogo","investNavLogoNew","docNavLogo","docNavLogoNew","esignNavLogo","esignNavLogoNew","fatherSpouseRelationList","containerUrl","statusUrl","statusHome","statusVerified","accountNotFound","docVerificationInProgress","documentReject","statusContinue","loginUrl","incomeProofList","documentid","nriIdType","ecomAgentTimeList","DIY","watsappNo","isValidRegex","regex","test","required","undefined","grtrThanEqTo","min","lessThanEqTo","max","repairAddressWithConditions","address","city","addLength","trim","length","addLine1","substring","addLine2","addLine3","addLine4","isNaN","Number","replace","integerExp","alphabetExp","alphaNumExp","addressAlphaNum","emailRegex","betweenNChars","RegExp","pan","phoneNo","detectIntWithSpace","forbiddenWordsRegex","InputField","props","React","defaultValue","setValue","errorText","setErrText","focusClass","setFocusClass","isLessThanMin","Error","isGrtrThanMax","isValidPattern","pattern","prefix","onChange","e","resolvedValue","target","integer","isValidInteger","float","isValidFloat","alphanum","isValidAlphaNum","maxLength","isValidMaxLength","alphabate","isValidAlphabate","isValidAddressAlphaNum","isCaps","toUpperCase","newValue","placeholder","onFocus","onBlur","errorObj","handleBlur","type","id","autoComplete","disabled","cancelSuffix","onClick","suffix","hiddenText","helpText","helpTextColor","DropdownSearch","findFromList","list","lookFor","matchedOption","filter","val","searchKey","toLowerCase","searchLength","state","setState","isShowSuggestions","selectedObj","setTimeout","onOptionSelect","item","handleClick","event","autoSelectOff","hideSuggestion","select","scrollIntoView","behavior","block","options","indexOf","index","findIndex","includes","nextSibling","scrollTo","prevProps","console","log","this","matchedItem","nextProps","prevState","ddCount","noData","noDataMsg","suggestions","skipSearching","i","map","sort","a","b","showSuggestions","dropdownData","key","disableTick","dangerouslySetInnerHTML","__html","readOnly","style","isDownArrow","backgroundImage","down","Component","FamilyMember","useState","isOther","originalRelationList","forEach","relation","parseInt","toString","member","relationshipName","AccountName","infoType","relationList","EsignTag","selectedValue","setSelectedValue","useEffect","tagList","tag","onSelect","isInfo","info","Tag","bool","lhs","rhs","Radio","label","checked","Toggle","children","isOn","Loader","color","size","Array","from","keys","_","DashedButton","isLoading","isAdd","btnName","TransparentButton","isWhatsapp","isUpload","isTick","SubmitButton","Verify","LightBlueButton","clicked","Button","isSecondary","isLightBlue","InfoModal","width","DeviceContext","isMobile","document","body","offsetWidth","isTablet","isDesktop","config","root","diyNewApiUrl","piChainNewApiUrl","tempToken","diyApiUrl","apiUrl","javaComUrl","whatsappBearerToken","clientQuesttionSourceId","ClientProfilingDataSourseId","clientId","redirectUri","cleverTapId","apiKey","digiLockerSource","pricingPage","errorMessage","servicesList","getCities","getEnumList","getEmployeeDetailsByPan","getPanUtiDetails","getDocumentDetails","getArea","getFullAddress","getRelationshipData","getKYCDetails","saveKYCDetails","getStageCompletionStatus","getCacheData","checkClientProfilingData","getClientProfilingQuestion","saveClientProfilingQuestion","getClientProfilingDetails","getOCRDocumentResponseData","getDistinctBankList","getBankCities","getBankBranch","getBankDetailsFromIfsc","getBankDetails","saveBankDetails","getExtractDocumentData","uploadDocumentToS3","saveDocumentDetails","saveRelationshipDetails","getOtp","getOtpNew","validateOtp","validateOtpNew","getBrokerage","getBrokerageDetails","saveBrokerageDetails","getBrokerageSegmentDetails","saveBrokerageSegmentDetails","getBeneficiaryName","downloadDocumentFromS3","getClientDetailsByPan","getClientDataByPanOrLead","checkPanInSystem","panLinkedWithAadhar","saveIpverificationDetails","saveUploadedDocumentDetails","margeMultipleImagestoPDF","getPichainBeneficiaryName","getCKYCDetails","savePanDobDetails","getKraDetails","redisDigilockerDoc","getEmployeeDetails","searchLeadByName","createLead","uploadIPVMerge","imagetoVideoIpv","generateAccessTokenForDigilockerJavaMW","getDocListFromDigilocker","getSelectedDocument","selfieLink","getEsignLink","updateUtmInfo","getAccountcodeData","createApplicationTicket","whatsUpAppInitiateCommunication","whatsUpAppConsent","generateKYCPdf","getIPVOTP","ErrorBank","getDocumentAutoQcDetails","saveAddressDetails","getCityByPincode","verifyDocumentData","getAddressDetails","saveArea","checkPhotoLiveness","checkLocation","updatePanAddharLinkStatus","createUCCRegCode","CheckRAAccount","APanVerification","errorMapper","error","errMsg","ErrorMessage","errorCodeMapper","ErrorCode","requestMapper","response","serviceName","res","serviceList","result","RequestResult","Status","StatusCode","status","msgID","RequestId","data","ContentData","Errors","getCitiesMapping","enumlist","getEnumListMapping","getEmployeeDetailsByPanMapping","getPanUtiDetailsMapping","getDocumentDetailsMapping","areas","getAreaMapping","getFullAddressMapping","emailMatchedList","EmailMatchedList","mobileMatchedList","MobileMatchedList","IsRelationshipFromIbeats","IsSavedRelationship","AvailableRelationshipTagEmail","AvailableRelationshipTagMobile","getRelationshipDataMapping","getKYCDetailsMapping","saveKYCDetailsMapping","getStageCompletionStatusMapping","Data","getCacheDataMapping","checkClientProfilingDataMapping","getClientProfilingQuestionMapping","saveClientProfilingQuestionMapping","JSON","parse","IsClientProfilingCompleted","getClientProfilingDetailsMapping","getOCRDocumentResponseDataMapping","banknames","getDistinctBankListMapping","bankcities","getBankCitiesMapping","bankbranches","getBankBranchMapping","ecoIBeatsBank","getBankDetailsFromIfscMapping","statusMessage","getBankDetailsMapping","saveBankDetailsMapping","getExtractDocumentDataMapping","errorCode","uploadDocumentToS3Mapping","saveDocumentDetailsMapping","saveRelationshipDetailsMapping","getBrokerageMapping","brokerageDetails","getBrokerageDetailsMapping","saveBrokerageDetailsMapping","dbelist","getBrokerageSegmentDetailsMapping","saveBrokerageSegmentDetailsMapping","getBeneficiaryNameMapping","downloadDocumentFromS3Mapping","getOtpMapping","getOtpNewMapping","validateOtpMapping","validateOtpNewMapping","getClientDetailsByPanMapping","getClientDataByPanOrLeadMapping","checkPanInSystemMapping","panLinkedWithAadharMapping","saveIpverificationDetailsMapping","saveUploadedDocumentDetailsMapping","margeMultipleImagestoPDFMapping","getPichainBeneficiaryNameMapping","getCKYCDetailsMapping","savePanDobDetailsMapping","getKraDetailsMapping","redisDigilockerDocMapping","getEmployeeDetailsMapping","existedFieldDetails","mob","find","x","Field","email","searchLeadByNameMapping","createLeadMapping","uploadIPVMergeMapping","imagetoVideoIpvMapping","generateAccessTokenForDigilockerJavaMWMapping","getDocListFromDigilockerMapping","getSelectedDocumentMapping","selfieLinkMapping","getEsignLinkMapping","updateUtmInfoMapping","getAccountcodeDataMapping","createApplicationTicketMapping","whatsUpAppInitiateCommunicationMapping","whatsUpAppConsentMapping","generateKYCPdfMapping","getIPVOTPMapping","ProductId","DataSource","getDocumentAutoQcDetailsMapping","saveAddressDetailsMapping","getCityByPincodeMapping","verifyDocumentDataMapping","getAddressDetailsMapping","saveAreaMapping","checkPhotoLivenessMapping","checkLocationMapping","updatePanAddharLinkStatusMapping","createUCCRegCodeMapping","checkRARelationShipMapper","panVerificationMapper","EKeyCodes","apiService","req","callback","params","method","headers","appidkey","GlobalStore","token","Authorization","clientPartialDetails","window","localStorage","getItem","stringify","URL","apiBaseUrl","fetch","url","resp","json","newResp","alert","location","href","get","CEPRK","AGetEnumList","enumname","EnumName","ARedisDigilockerDoc","reqObj","AGetRelationshipData","applicationid","mobile","ApplicationId","Email","Mobile","AGetFullAddress","area","pinCode","Pincode","Area","InputDataType","ASaveKycDetails","kycObj","AGetCityByPincode","pincode","City","State","ErrMsg","timer","resendTimer","OtpField","handleKeyUp","keyCode","BACKSPACE","LEFT_ARROW","idArr","split","pervId","prevInp","getElementById","focus","goToPrevious","RIGHT_ARROW","nextId","nextInp","goToNext","element","getElementsByClassName","eleId","v","valueCopy","join","handleChange","invalidOtp","onKeyUp","disableOtp","OtpTimer","startTimer","setInterval","temp","clearInterval","animation","animationDelay","errorMsg","code","errorResponse","fieldErrorBank","RegOtp","otp","isResend","otpTimer","enableClock","setOtp","resendClicked","AGetCities","AGetOtpNew","contactInfo","mode","AValidateMobileOtp","mobNo","MobNo","Otp","AValidateOtpNew","otpId","ASearchLeadByName","leadObj","AssignedTo","assignedTo","FirstName","firstName","LastName","lastName","EmailId","emailId","ProductCode","productCode","SearchBy","source","ACreateLeadSource","Phone","phone","UtmAdGroup","utm_adgroup","UtmCampaign","utm_campaign","UtmContent","utm_content","UtmCreative","utm_creative","UtmDevice","utm_device","UtmMedium","utm_medium","UtmPlacement","utm_placement","UtmSource","utm_source","UtmTerm","utm_term","SourceId","sourceId","SubSourceId","subSourceId","ByPassDedupe","byPassDedupe","RmCode","rmCode","SourceName","sourceName","SubSourceName","subSourceName","AWhatsappNotify","Type","recipients","TextArea","MultiSelectCheckBox","updatedList","checkbox","OptionDescription","QuestionID","OptionId","Checkbox","addressErrorObj","addressLine1","addressErrorMsg","AddressField","addressObj","setAddressObj","setAreaList","validPincode","setValidPincode","errors","setErrors","handleChangeAddress","PinCode","onAddressChange","onAddressBlur","setErrCode","obj","District","Country","StateCode","CountryCode","sectionLabel","showSameAsAbove","sameAsAbove","addressType","handleSameAsAbove","isDisable","handleBlurAddress","NriDetail","nriDetailsObj","onChangeNriDetails","country","countryList","idType","idTypeOther","idTypeValue","initialNriDetail","NriDetailForm","ProfileImage","backgroundColor","AGetDocListFromDigilocker","digilockerObj","access_token","domain","getProfileDetailsFromAadhar","personaldetails","aadharName","AadharName","CoresAddress","PermanentCity","CoresPincode","gender","Gender","clientPartialDetails_ao","setItem","EPickerType","ShareAdd","errCode","aadharDocDetails","setAadharDocDetails","accessToken","setAccessToken","setIsLoading","useLocation","history","useHistory","errRef","useRef","updateUtmDetails","adhar","items","push","isDigiLocker","signzydt","clientPartialDetailsToStore","sessionStorage","queryObject","Object","fromEntries","URLSearchParams","search","accessTokenObj","reDirectUrl","client_Id","Code","ReDirectUrl","ClientId","AccessToken","AGenerateAccessToken","responseObj","digiDocInfo","eaadhaar","getAccessToken","signzy_access_token","current","shareAdd","ref","aadharLinkedChoice","adharArr","uri","adharNo","utmObj","aadharNo","fileUri","filename","applicationId","applicationID","clientPrimaryDetailId","leadId","panno","Token","dataObj","FileUri","FileName","ClientPrimaryDetailId","LeadId","PanNo","AadharNo","utmInfoDetails","AGetStageCompletionStatus","AGetCacheData","ACheckPanIbeats","panNo","RequestFrom","AGetEmployeeByPan","AGetPanUtiData","panDetails","Firstname","panfirstname","Middlename","panmiddletname","Lastname","panlastname","PANIssueDate","AadharSeedingStatus","VendorName","IsValid","IsAadharSeeded","AGetClientDetailsByPan","PanNumber","AGetClientDetailsByLeadId","AGetKraDetails","Dob","dbo","Calender","defaultDate","date","setDate","Date","pickerType","setPickerType","onDateSelect","maxDate","ageCalculator","customHeader","headerProps","selectedYear","getFullYear","currentYear","endYear","Math","floor","prevMonthButtonDisabled","Month","decreaseMonth","decreaseYear","moment","format","Year","nextMonthButtonDisabled","increaseMonth","increaseYear","yrMapArr","yrMap","yr","changeYear","selected","minDate","showMonthDropdown","placeholderText","showPopperArrow","customInput","isError","showMonthYearPicker","shouldCloseOnSelect","renderCustomHeader","calendarContainer","containerProps","onCalendarClose","CustomInput","gtmService","gtmObj","category","action","Lead_ID","REF_ID","dataLayer","useQuery","cleverTapEvents","registration","personalDetailsPage","PAGE_LOADED","CLICK_ON_PROCEED","panPage","PAGE_LOAD","digiLockerPage","CLICK_ON_CONNECT_TO_DIGILOCKER","profilePage","CLICK_ON_SUBMIT_PROFILE","bankPage","CLICK_ON_SUBMIT_BANK_DETAILS","planPage","CLICK_ON_SUBMIT_SELECTED_PLAN","investmentPage","CLICK_ON_SUBMIT","documentVerificationPage","ipvPage","eSignPage","CLICK_ON_ESIGN","agentVisit","finalPage","ClevertapService","clevertap","EventName","CurrentPage","Platform","innerWidth","Promise","resolve","getCleverTapID","AppsFlyerService","pushEvent","eventName","AF","cuid","eventType","eventValue","setCUID","appsFlyerEvents","xhrApiService","onProgress","isNewUrl","xhr","XMLHttpRequest","upload","onprogress","onloadend","resolveResult","currentTarget","responseText","open","setRequestHeader","send","AUploadDocument","uploadObj","docReqPayLoad","Base64Document","base64document","DocType","QltyByPassFlag","ASaveBrokerageDetails","saveObj","AGetUploadedDocument","appID","AGetPendingDocument","AGetDocStatus","ADownloadDocument","fileName","filePath","FilePath","ASaveDocumentDetails","DocumentInfo","documentInfo","sortDocumentInfo","UtmInfoDetails","objUTM_Info","AextractAadhaar","aadhaarObj","OCR","Base64Document1","Base64Document2","ActionName","DocumentType","Source","DocumentCategory","documentcategory","DocumentId","AextractCheque","chequeObj","AextractBankStatement","BankName","bankName","AccountType","accountType","AextractPassport","passportObj","AextractVoterid","voterIdObj","AextractDl","dlObj","AgetPdf","pdfObj","UploadFlag","Images","Base64DocumentImage","image1","Imagename","imagename1","image2","imagename2","AmaskAadhaar","documents","sortedDocuments","doc","docObj","documentId","MimeType","mimeType","PersonalDetailsId","personaldetailsid","DocumentCategoryId","documentCategoryId","DocumentExpiryDate","documentexpirydate","IsFileCropped","isfilecropped","IsWatsappFlag","isWatsappFlag","DocumentNumber","documentNumber","AutoQc","autoqc","IsKycDocument","iskycdocument","AutoQcWithDocumentId","ACheckPhotoLiveness","ACheckLocation","locationObj","latitude","lat","longitude","lng","checkESignSubmitted","isESignSubmitted","atob","getStateFromLs","initialAddressObj","ckycAddressObj","corrAddress","sameAsPermanent","district","corrPincode","countrycode","statecode","nomineeIdentificationList","bankAccountType","initialDocObj","disable","uploadPer","hideProgress","showFile","imgUrl","base64","ProfileForm","quryParams","UTM_SOURCE","UTM_MEDIUM","UTM_CAMPAIGN","startTime","setOcrDetails","isSeniorCitizen","setIsSeniorCitizen","occupationList","setOccupationList","incomeList","setIncomeList","educationList","setEducationList","maritalStatusList","setMaritalStatusList","genderList","setGenderList","relationshipList","setRelationshipList","familyRelationList","setFamilyRelationList","familyRelationListMail","setFamilyRelationListMail","setOriginalRelationList","titlePrefixList","setTitlePrefixList","setCountryList","relationshipData","setRelationshipData","relationshipDataCount","setRelationshipDataCount","showExplain","setShowExplain","showNominee","setShowNominee","numOfNominee","setNumOfNominee","user","setEmail","setPhone","setShowEmailBtn","showMobileBtn","setShowMobileBtn","setShowEmailOtp","showMobileOtp","setShowMobileOtp","setDisableOtp","isEmailVerified","setIsEmailVerified","isMobileVerified","setIsMobileVerified","setInvalidOtp","isGuardianMinor","setIsGuardiaMinor","permanentAddress","setPermanentAddress","kycAddress","setKycAddress","correspondanceAddress","setCorrespondanceAddress","nomineeAddress","setNomineeAddress","guardianAddress","setGuardianAddress","nomineeOne","nomineeTwo","nomineeThree","nomineeDocuments","setNomineeDocuments","nomineeDocumentsArray","isPhoto","isSiganture","guardian","isSignature","permErrorObj","setPermErrorObj","corrErrorObj","setCorrErrorObj","nomErrorObj","setNomErrorObj","guardErrorObj","setGuardErrorObj","setSameAsPermanent","sameAsNominee","setSameAsNominee","setIsNomineeMinor","setGender","maritalStatus","setMaritalStatus","fatherOrSpouse","setFatherOrSpouse","fsfullName","fatherOrSpouseName","setFatherOrSpouseName","kycFatherName","setKycFatherName","motherfullName","motherName","setMotherName","eduQualification","setEduQulification","occupation","setOccupation","politicalVal","setPoliticalVal","indianResident","setIndianResident","annualIncome","setAnnualIncome","netWorth","setNetWorth","placeOfBirth","setPlaceOfBirth","periodicSettlement","setPeriodicSettlement","nomDob","setNomDob","setNomTitle","setNomFullName","nomRelation","setNomRelation","validPan","setValidPan","nomiDetails","setNomiDetails","setGuardTitle","setGuardFullName","guardRelation","setGuardRelation","setGuardEduQulification","setGuardOccupation","setGuardPoliticalVal","setGuardAnnualIncome","setGuardNetWorth","setGuardPlaceOfBirth","setNriDetailsObj","hideAddress","setHideAddress","staffCode","setStaffCode","setAadharName","setIsAadharMasked","setNomPhotoId","globalError","setGlobalError","setAddlIdentDetailsValue","regectedAddressDoc","setRegectedAddressDoc","POAType","setPOAType","POATypeMsg","defaultAccountType","setDefaultAccountType","defaultSetting","setDefaultSetting","setIsEditMode","errorMatchDetails","setErrorMatchDetails","accountTypeToggle","setAccountTypeToggle","addressEdited","nomineeAddDtls","guardianAddDtls","imgOfAddlIdentDetails","setImgOfAddlIdentDetails","nomineeList","cities","setCities","genderError","setGenderError","SettlementError","setSettlementError","togSettlement","settogSettlement","self","spouse","dependentChild","dependentParents","familyRelationshipCount","setFamilyRelationshipCount","nomiDetailsOne","nomiDetailsTwo","nomiDetailThree","nomFullName","PANName","guardianDetails","guardFullName","identificationDetail","nomineeMatch","getKycDetails","fatherspousename","scroll","isKYC","isKRA","permAddLocal","corrsAddLocal","panFromLocalStorage","panNum","checkIsPanEmployee","InitiationPlatform","KRA","ADHAR_LINKED_WITH_MOBILE","DIGILOCKER_PROCESS","LEAD_ID","getDocumentStatus","ContentType","getDocumentidPOA","AGetOcrResponseDetails","getOcrDetails","ocrdata","extraction_output","permAdd","resPin","str","slice","getPincode","isManual","convertEnumIntoIObj","getRedisData","coresAddress","coresPincode","responseDataObj","Flag","EmployeeCode","srNo","fathersName","ObjEcoClientPersoanlDetails","objPermanentAddressDetails","permanentaddressline1","objCorrespondenceAddressDetails","corrsaddraspermanent","correspondenceaddressline1","resultObj","permAddObj","permanentaddressline2","permanentaddressline3","permanentaddressline4","permanentarea","permanentcity","permanentpincode","permanentdistrict","permanentstate","permanentstatecode","permanentcountry","permanentcountrycode","corrAddObj","correspondenceaddressline2","correspondenceaddressline3","correspondenceaddressline4","correspondancearea","correspondancecity","correspondancepincode","correspondancedistrict","correspondancestate","correspondancestatecode","correspondancecountry","correspondancecountrycode","ObjEcoProfileDetails","ListMultipleNomineeDetails","array","additional_details","photo","additional_details_value","objpermanentaddressdetails","addressLine2","addressLine3","addressLine4","completeAddress","nFirstName","firstname","nMiddleName","middlename","nLastname","lastname","singleNominee","nomTitle","title","relationship","nomPerSharing","percentage","dob","isNomineeMinor","isminor","ListMultipleGuardianDetails","singleGuardianDetail","srno","guardPoliticalVal","guardTitle","guardEduQualification","education","guardOccupation","guardAnnualIncome","annualincomerange","guardNetWorth","networthamountac_open","guardPlaceOfBirth","placeofbirth","KRA_email","KraEmailId","KRA_mobile","KraMobileNo","KRA_mode","KraMode","leadID","ClientPrimaryDetailID","emailID","birthDate","Birthdate","ckycNo","ckycnumber","FatherOrSpouseFirstname","FatherOrSpouseMiddleName","FatherOrSpouseLastName","MotherFirstname","MotherMiddleName","MotherLastName","iskyc","FlagFS","MaritalStatus","pep","networthwhenacopen","periodicsettlement","taxresidentofothercountry","ddpi_type","applicationtype","taxresidenceofindialist","nriObj","identification_type","identification_number","identification_type_other","ObjEcoNomineeDetails","nomAddObj","Title","MiddleName","DOB","ObjEcoGuardianDetails","gaurdAddObj","kraInfoObject","ckycInfoObject","redisReqObj","clientPrimaryDetailsId","mobNumber","areaObj","ASavePinCity","savePinCityRes","getCorrAddress","sendOtp","otpType","emlObj","MailTo","mailTo","MailFrom","mailFrom","MailSubject","mailSubject","AGetEmailOtp","otpSent","mailBody","mailSource","Success","AValidateEmailOtp","checkValidateOtp","onRelationChange","emailArr","mobileArr","bothArr","bothMatchedList","relationshipListFilter","updatedCount","onRelationBlur","dropDownBlur","saveRelationshipData","hasOwnProperty","saveRelationshipObj","clientprimarydetailid","empcode","EmpCode","ASaveRelationshipData","saveFamilyRelation","onBlurPan","handleAddNomineeError","mobileDropDownList","emailDropDownList","removeFromMobileList","removeFromEmailList","Self","DependentParent","DependentChild","Spouse","mobileList","emailList","additionalDetailsOfGuardian","ckycBackup","additionalDetailsOfNominee","removeSpclCracters","sumOfPer","newLeadStorage","utmDurationInfoObj","fatherOrSpouseNames","splitFullName","motherNames","getFullPANNAMe","correspondanceAddressLine","permanentAddressLine","clientPrimaryDetailID","isGuardian","isNominee","persoanlDetails","KraEmail","KraMobile","Kra_mode","aadhaar","aadhaarName","additionalEmail","additionalMobile","birthdate","ckycNumber","createdby","fatherOrSpouseFirstname","fatherOrSpouseMiddleName","fatherOrSpouseLastName","fatherOrSpouseTitle","flagFS","holderFirstname","stageStatus","holderMiddleName","holderLastName","holderTitle","isRelationship","isDigilocker","isKyc","maidenFirstname","maidenLastName","maidenMiddleName","maidenTitle","motherFirstname","motherMiddleName","motherLastName","motherTitle","digiKraKycDetailsmodifieddate","now","selfielink","selfieUrl","correspondenceAddressDetails","correspondenceAddressType","correspondenceCity","correspondenceCountry","correspondenceDistrict","correspondencePincode","correspondenceState","correspondenceArea","correspondenceCountryCode","correspondenceStatecode","correspondenceAddressLine1","correspondenceAddressLine2","correspondenceAddressLine3","correspondenceAddressLine4","autoQc","permanentAddressDetails","permanentAddressLine1","permanentAddressLine2","permanentAddressLine3","permanentAddressLine4","permanentAddresstype","permanentCity","permanentCountry","permanentDistrict","permanentPincode","permanentState","others","relationshipnamefordiy","listNomineeDetails","profileDetails","accountCategory","isPCGSubLob","annualIncomeRange","clientGroup4","netWorthwhenAcOpen","applicationType","taxResidentOfOtherCountry","listTaxrRsidentofIndia","identificationNumber","identificationType","identificationType_Other","oCountry","listMultipleGuardianDetails","guardianNames","guardianAddressLine","holderId","isSamePermenantAddress","isMinor","middleName","additionalDetails","additionalDetailsValue","gurdianMap","listMultiplenomineeDetails","j","singleNomineeDetails","nomineeNames","nomineeAddressLine","sharePercentage","correspondenceAddressCheck","permanentAddressCheck","saveKycDetails","toCheckString","ele","completeModuleStatus","incompleteStageNavigation","handleAddNomineeValue","objNomineeDocs","imgOfAddlIdentDtls","signature","remainigPer","removeItem","handleAddNomineeGuardianValue","ChangePoliticalVal","Value","panFullName","values","some","capitalizeWords","onMouseOver","onMouseLeave","newErrors","dpaccounttype","existingNominee","totalNomineeCount","existingNomineeCount","countForNeedToAddBlankNomine","existingNomineeDetails","nomineeEquaPerSharing","toFixed","nomineeSharePer","1","2","3","numOfNomineeRemove","pop","d","Fragment","nomOtherRelation","identificationDetailValue","setFullYear","guardOtherRelation","nomineeAdd","handleSameAsAboveForGaurdian","guardidentificationDetail","guardIdentificationDetailValue","today","selectedDate","age","monthDifference","getMonth","getDate","guardianMinororMajor","isValidate","nomRelationOther","guardRelationOther","validateNominees","validateSubmit","clientContinue","clientDetails","partner","isNormalClient","isPANVerified","initialObj","isSeeding","kraAddressLine1","kraPincode","calculateCompletePercentage","leftNavBarState","stage","fullName","fullNameArr","fullNameArrLength","PANMiddleName","parseQuery","queryString","reduce","acc","pair","decodeURIComponent","elapsed","getTime","innerHeight","devicetype","utmcontent","utmcreative","AUpdateUtmDetails","setStageData","apiResponseObj","isregistrationcompleted","ispersonaldetailscompleted","isprofiledetailscompleted","isnewdpnomineecompleted","isnewdpguardiancompleted","isbankdetailscompleted","isbrokeragesegmentcompleted","isuploaddocumentscompleted","isipvarificationcompleted","isbrokerageschemecompleted","isagentvisitcompleted","isesigncompleted","isdigilockercompleted","bpm_pd_status","bpm_nsb_status","applicationstatus","iskra","iskraesigncompleted","isaddressstagecompleted","ispanlinkedwithaadhar","checkpanaaddharflag","dpaccountchanged","ispcgsublob","redirectToEntryPoint","isSafariBrowser","HTMLElement","pushNotification","enumArr","resultArr","k","arr","DisplayItem","ValueItem","monthAge","dateAge","dobYear","dobMonth","dobDate","currentMonth","currentDate","yearAge","years","months","moduleArr","currentPage","returnUrl","filteredLeftNavBar","UCC_Code","isPartialFilledClient","leadForDsa","SaveKYCResponse","LeadIdMsg","createLeadDudupeParam","sessionId","dateofbirth","clientStageStatus","dashboardDefaultUrl","dashboardActivetUrl","panOCRObj","chequeOCRObj","aadhaarOCRObj","passportOCRObj","dlOCRObj","voterIdOCRObj","corrAadhaarOCRObj","corrPassportOCRObj","corrDlOCRObj","corrVoterIdOCRObj","accountHolderName","nextIncompleteStage","account_no","ifsc_code","stringToDate","dateStr","mmDDYYYY","dateObj","day","toLocaleString","minimumIntegerDigits","useGrouping","month","year","getUTCFullYear","RegistrationLayout","isSubmit","setIsSubmit","isSubmissionRoute","isPOA","isEsign","getClientStageDetails","InputWithLabel","RegistrationForm","showRmCode","setShowRmCode","setValues","setRmCode","showMobileMailBtn","setShowMobileMailBtn","whatsappMsgSuccess","setWhatsappMsgSuccess","beingAssistedCheckbox","setBeingAssistedCheckbox","rmCodeAssisted","setRmCodeAssisted","rmCodeAssistedName","setRmCodeAssistedName","utmCampaignCode","setUtmCampaignCode","sourceNames","setSourceNames","planAsPerSource","setPlanAsPerSource","isAssistedDataValid","setIsAssistedDataValid","showEmailOtp","disableEmailOtp","setDisableEmailOtp","invalidEmailOtp","setInvalidEmailOtp","emailOtpId","mobileOtpId","otpIds","setOtpIds","relationShipTagError","setRelationShipTagError","isVerified","setIsVerified","email_mobile_verificationCheckFlag","setEmail_mobile_verificationCheckFlag","skipCreateLead","setSkipCreateLead","mobileVerifiedFE","setMobileVerifiedFE","mailVerifiedFE","setMailVerifiedFE","isButtonDisabled","setIsButtonDisabled","hideAreBeingSection","setHideAreBeingSection","allreadyExistMobOrEmail","setAllreadyExistMobOrEmail","checkRMCodeValue","UserName","username","checkEmployeesDetails","_employeedetail","rmCodeName","EmpName","Plan","OTPId","mobileOtpSentNew","success","checkEmailValidateOtpNew","checkMobileValidateOtpNew","whatsappNotify","availableEmailTagSum","objAccType","viewLeadObj","searchedLead","searchedLeadCheck","leadList","UCCCode","IsMobileVerified","IsEmailVerified","objUtm","createLeadObj","AssignTeam","checkRAAccountResp","IsRAExists","checkRAAccountPayloadObj","MobileNo","handleCreateUcc","oldMobile","oldEmail","isMobileVerify","isEmailVerify","CreateNewUCC","leadCreated","respData","onload","btoa","sendEmailOtp","emailOtpResNew","currentRmCheckBoxStatus","handleRmCodeCheckBox","timeout","clearTimeout","debounce","every","msgReq","recipient","user_agent","navigator","appName","Registration","init","setUTMParams","refno","onlyDematParam","modeofapplication","referralcode","couponcode","stageinfo","signupdropout","registrationdur","clientip","diysource","match","path","accType","regbanner","APendingUploadList","APendingApprovalList","AGetEsignUrlDetails","esigndocumenttype","ACheckClientProfilingData","NavBarTile","isActive","isClickable","onNavTileClick","compareValues","order","varA","parseFloat","varB","comparison","checkModuleCompleteness","isUploadDocumentsCompleted","intervalTimer","ProfileNavBar","urlPath","setUrlPath","setLeftNavBarState","pathname","tile","sidebarOptions","WelcomeBack","clientName","setClientName","setIsUploadDocumentsCompleted","searchByLeadId","PAN","ApplicatoinId","getProfilerStatus","checkPendingUpload","Mandatory","count","mobileno","emailid","clientFullName","m","welcomeBack","MailVerified","NRI","OTP","reloadKey","random","enableResend","AccExists","useDiffPan","FullBackdrop","isShow","isCloseIcon","onClose","Backdrop","ProgressBar","height","isBlueColor","percent","DocumentBrowse","cropper","setCropper","docErrorMsg","setDocErrorMsg","prevImage","setPrevImage","loadingFlag","setLoadingFlag","docName","setDocName","ext","setExt","isCroppingRef","isPreviewRef","minContainerWidth","minContainerHeight","minCanvasWidth","minCanvasHeight","minCropBoxWidth","minCropBoxHeight","hidden","removePanImg","removeDoc","isRemove","closeSample","handleCropping","mimetype","saveCroppedImage","cropImgtype","onDocUploadComplete","previewImageexternalClassName","initialAspectRatio","preview","viewMode","guides","background","responsive","autoCropArea","checkOrientation","onInitialized","instance","getCroppedCanvas","toDataURL","iscropped","disableRemove","elem","file","files","extensions","FormData","append","reader","FileReader","images","readAsDataURL","accept","pdfIcon","jpgIcon","prevIcon","cropIcon","mandateRemove","AGetIpvOtp","ASaveIPVerificationDetails","leadid","PlaceOfDeclaration","placeofDeclaration","empName","Designation","designation","Branch","branch","empCode","Organization","organization","OrganizationCode","organizationCode","GeoLocation","geo_location","IpAddress","ipaddress","Is_AllDocUploaded","IpvLink","ipvlink","useGeoLocation","loaded","coordinates","setLocation","onSuccess","coords","onError","message","geolocation","getCurrentPosition","enableHighAccuracy","maximumAge","nomineeDocsIds","NewSelfie","setToken","sdkData","setSdkData","loading","setLoading","handleSDKData","handleGetTokenAndSDKInit","requestOptions","RefId","then","AinxtSDK","Initialize","onFailedToOpenSdk","catch","finally","script","createElement","async","head","appendChild","removeChild","is_valid","initialPanDocObj","DocVerifcationForm","watchPositionId","uploadDocFlag","setUploadDocFlag","uploadVaiWatsAppFlag","setUploadViaWatsAppFlag","togPAN","setTogPAN","togFirstBank","setTogFirstBank","togSecondBank","setTogSecondBank","togThirdBank","setTogThirdBank","togFourthBank","setTogFourthBank","togFifthBank","setTogFifthBank","togPermAdd","setTogPermAdd","togCorrAdd","setTogCorrAdd","togSig","setTogSig","togIncome","setTogIncome","firstBankList","setFirstBankList","secondBankList","setSecondBankList","thirdBankList","setThirdBankList","fourthBankList","setFourthBankList","fifthBankList","setFifthBankList","permAddList","setPermAddList","corrAddList","setCorrAddList","secondDoc","setSecondDoc","corrSecondDoc","setCorrSecondDoc","pendingDocObj","setPendingDocObj","photoObj","setPhotoObj","panObj","setPanObj","firstBankObj","setFirstBankObj","secondBankObj","setSecondBankObj","thirdBankObj","setThirdBankObj","fourthBankObj","setFourthBankObj","fifthBankObj","setFifthBankObj","permSecondAddressObj","setPermSecondAddressObj","corrSecondAddressObj","setCorrSecondAddressObj","permAddressObj","setPermAddressObj","corrAddressObj","setCorrAddressObj","signatureObj","setSignatureObj","incomeObj","setIncomeObj","defaultAddress","setDefaultAddress","defaultCorrAddress","setDefaultCorrAddress","defaultFirstBankDoc","setDefaultFirstBankDoc","defaultSecondBankDoc","setDefaultSecondBankDoc","defaultThirdBankDoc","setDefaultThirdBankDoc","defaultFourthBankDoc","setDefaultFourthBankDoc","defaultFifthBankDoc","setDefaultFifthBankDoc","defaultIncomeDoc","setDefaultIncomeDoc","showRetake","setShowRetake","videoRefElement","canvasRefElement","uploadedPhotoRefElement","setMediaRecorder","turnOfCamera","setTurnOfCamera","setShowVidPerm","photoBase64","setPhotoBase64","panBase64","setPanBase64","bankStage","setBankStage","anotherFile","setAnotherFile","corrAnotherFile","setCorrAnotherFile","panName","setPanName","firstBankName","setFirstBankName","secondBankName","setSecondBankName","thirdBankName","setThirdBankName","fourthBankName","setFourthBankName","fifthBankName","setFifthBankName","firstBankDetails","setFirstBankDetails","secondBankDetails","setSecondBankDetails","thirdBankDetails","setThirdBankDetails","fourthBankDetails","setFourthBankDetails","fifthBankDetails","setFifthBankDetails","addressName","setAddressName","corrAddressName","setCorrAddressName","signatureName","setSignatureName","incomeName","setIncomeName","setIsPhotoPendingFlag","isNewPhoto","setIsNewPhoto","isNewPan","setIsNewPan","isNewFirstBank","setIsNewFirstBank","isNewSecondBank","setIsNewSecondBank","isNewThirdBank","setIsNewThirdBank","isNewFourthBank","setIsNewFourthBank","isNewFifthBank","setIsNewFifthBank","isNewPermAddress","setIsNewPermAddress","isNewCorrAddress","setIsNewCorrAddress","isNewSignature","setIsNewSignature","isNewIncome","setIsNewIncome","loaderSign","setLoaderSign","showCorr","setShowCorr","isPanAndDobMatch","setIsPanAndDobMatch","setSeedingPopup","regectedDocStatus","setRegectedDocStatus","aadharAddress","setAadharAddress","corrAadharAddress","setCorrAadharAddress","geoLoc","isGeoError","setIsGeoError","setIsGeoErrorTimeFlag","setRemovePanImg","setIsManual","setPanCardError","firstBankListError","setFirstBankListError","secondBankListError","setSecondBankListError","thirdBankListError","setThirdBankListError","fourthBankListError","setFourthBankListError","fifthBankListError","setFifthBankListError","permAddListError","setPermAddListError","corrAddListError","setCorrAddListError","incomeListError","setIncomeListError","secondDocError","setSecondDocError","corrSecondDocError","setCorrSecondDocError","signatureListError","setSignatureListError","showBrowserPermissionModal","setsShowBrowserPermissionModal","isSdkSelfie","setIsSdkSelfie","setBrowserPermission","locationPermission","setLocationPermission","cameraPermission","setCameraPermission","defaultPermAddressProof","setDefaultPermAddressProof","nomineeFirstObj","setNomineeFirstObj","nomineeSecondObj","setNomineeSecondObj","nomineeThirdObj","setNomineeThirdObj","guardianFirstObj","setGuardianFirstObj","guardianSecondObj","setGuardianSecondObj","guardianThirdObj","setGuardianThirdObj","nomineeFirstList","setNomineeFirstList","nomineeSecondList","setNomineeSecondList","nomineeThirdList","setNomineeThirdList","guardianFirstList","setGuardianFirstList","guardianSecondList","setGuardianSecondList","guardianThirdList","setGuardianThirdList","nomineeFirst","nomineeSecond","guardianFirst","guardianSecond","guardianThird","nomineeGuardianTog","setNomineeGuardianTog","nomFirstPhotoId","nomFirstSignature","nomSecondPhotoId","nomSecondSignature","nomThirdPhotoId","nomThirdSignature","guardianFirstPhotoId","guardianFirstSignature","guardianSecondPhotoId","guardianSecondSignature","guardianThirdPhotoId","guardianThirdSignature","nomineeGuardianError","setNomineeGuardianError","isNomFirstPhoto","isNomFirstSignature","isNomSecondPhoto","isNomSecondSignature","isNomThirdPhoto","isNomThirdSignature","isGuardianFirstPhoto","isGuardianFirstSignature","isGuardianSecondPhoto","isGuardianSecondSignature","isGuardianThirdPhoto","isGuardianThirdSignature","isNomineeGuardian","setIsNomineeGuardian","setNomineeDisable","setGuardianDisable","panCardImageFound","setPanCardImageFound","permAddButDisable","setPermAddButDisable","panButDisable","setPanButDisable","liveLocationCheck","setLiveLocationCheck","photoErrorMsg","setPhotoErrorMsg","blockAadhar","setBlockAadhar","checkLocationCalled","setCheckLocationCalled","setShowCanvas","saveLocation","errorLocation","long","checkLocationRes","guardianOne","guardianTwo","guardianThree","watchPosition","successPosition","errorPosition","getExtractPhotoLiveness","getVideoTracks","stop","getLocation","err","position","clearWatch","LocationInIndia","Message","getDocList","getUploadedDoc","getPendingDoc","showPhotoPreview","turnOnCamera","handleSuccess","handleError","srcObject","MediaRecorder","constraints","audio","video","facingMode","mediaDevices","getUserMedia","regectedDoc","listObj","photoData","panData","firstBankObjlist","SecondBankObjlist","thirdBankObjlist","fourthBankObjlist","fifthBankObjlist","corrAddObjlist","permAddObjlist","incomeObjlist","signatureData","photoCopy","panCopy","firstBankCopy","secondBankCopy","thirdBankCopy","fourthBankCopy","fifthBankCopy","permAddressCopy","corrAddressCopy","signatureCopy","incomeCopy","uplDoc","isPANCard","isFirstBankDocument","isSecondBankDocument","isThirdBankDocument","isFourthBankDocument","isFifthBankDocument","isCorrAddressProof","isPermAddressProof","isIncomeProof","isNomineeFirstPhoto","isNomineeFirstSignature","isNomineeSecondPhoto","isNomineeSecondSignature","isNomineeThirdPhoto","isNomineeThirdSignature","nomineeFirstPhoto","NomineeFirstImage","UploadedDocPath","nomineeFirstSignature","nomineeSecondPhoto","NomineeSecondImage","nomineeSecondSignature","nomineeThirdPhoto","NomineeThirdImage","nomineeThirdSignature","guardianFirstPhoto","GuardianFirstImage","guardianSecondPhoto","GuardianSecondImage","guardianThirdPhoto","GuardianThirdImage","getPhotoImage","getPanImage","DocumentName","getBankImage","getAddressImage","getCorrAddressImage","getSignatureImage","getIncomeImage","getbase64","dataString","documentType","imageOBJ","penDoc","isPhotoPending","isCorrPending","Count","mandPenDoc","y","getscreenShotURL","blob","new_File","File","lastModified","fileReader","getFetchResponse","ipvObj","iPVerificationSaved","IsLive","Guid","onRemove","docType","maskedAadhar","id_number_found","base64_image","getUploadRes","onUploadProgress","getPDFData","addressOCR","Mergedimagespdfbase64","storeOcrData","getCorrPDFData","onNomineeUploadComplete","fnpext","fnpnewfileName","nomFirstPhotCopy","nomFirstPhotoObj","fnsnewfileName","nomFirstSignatureCopy","nomFirstSignatureObj","snpnewfileName","nomSecondPhotoCopy","nomSecondPhotoObj","nssnewfileName","nomSecondSignatureCopy","nomSecondSignatureObj","ntpnewfileName","nomThirdPhotoCopy","nomThirdPhotoObj","ntsnewfileName","nomThirdSignatureCopy","nomThirdSignatureObj","guardFirstPhotoCopy","guardianFirstPhotoObj","guardFirstSignatureCopy","guardianFirstSignatureObj","guardSecondPhotoCopy","guardianSecondPhotoObj","guardSecondSignatureCopy","guardianSecondSignatureObj","guardThirdPhotoCopy","guardianThirdPhotoObj","guardThirdSignatureCopy","guardianThirdSignatureObj","handleRemoveDoc","handErrorForFileUpload","panOCR","AextractPan","firstBankOCR","secondBankOCR","thirdBankOCR","fourthBankOCR","fifthBankOCR","aadharOCR","uploadImageObj","nomineeOneCopy","nomineeTwoCopy","nomineeThreeCopy","GuardianOneCopy","GuardianTwoCopy","GuardianThreeCopy","total","permSecondAddressCopy","corrSecondAddressCopy","id_number","date_of_birth","sendViaWatsapp","handleBankDoc","saveDocument","autoQcWithDocumentId","saveDetails","savePhotoObj","savePanObj","firstBanObj","saveSecondBankObj","saveThirdBankObj","saveFourthBankObj","saveFifthBankObj","savepermAddressObj","saveCorrAddressObj","saveSignatureObj","saveIncomeObj","getSaveStatus","ADDRESS_PROOF_SUBMITTED_VIA","pendingDocQC","onlyIpvPending","justifyContent","alignItems","Latitude","Longitude","Blob","cropped_image","HandleNewSDKSelfieRes","autoPlay","playsInline","canvasPic","videoPic","canvas","videoWidth","videoHeight","getContext","drawImage","toBlob","RejectionReason","watsAppIcon","docOj","handlePermanentAddress","aadharObj","handleCorrespondenceAddress","handleIncomeProof","fileNameCheck","typeCreater","removeDocObj","saveViaWatsApp","panValidationKeyList","PanStatus","Name","SeedingStatus","PANInfo","localURL","navigateURL","panValidationResp","isPanLinkedToAadhar","aadharLinked","fatherName","isEmployee","aadhaarNo","setUtmObj","consent","togPhoto","panNumberMatched","dobChecked","setDobChecked","setIsNormalClient","panDobState","errorFoundInPanValidation","setErrorFoundInPanValidation","setCacheResponse","setPanUploadObject","setPanUploaded","isPersonalStage","isProfileStage","setStageBooleanFlags","seedingPopup","setCheckpanaaddharflag","setPanOCR","willDoLater","panFileUploaded","setPanFileUploaded","panFileUploadedLoader","setPanFileUploadedLoader","invalidPanFieldUploadedMsg","setInvalidPanFileUploadedMsg","applicationModeType","setApplicationModeType","modalDisplayText","setModalDisplayText","showSubmitModal","setShowSubmitModal","panInvalidMsg","setPanInvalidMsg","applicationInitializedFlag","setApplicationInitializedFlag","submitFlag","setSubmitFlag","extractPanResponse","setExtractPanResponse","totalDocs","totalDocsCount","uploadedDocsCount","documentsInfo","setDocumentInfo","saveKraDetails","kraDocCount","kraDocs","additionalemail","additionalmobile","adrLine1","adrLine2","registerCleverTapEventAfterProceed","handleSubmit","isValidPan","panValidation","isPANExists","CheckUCCExists","savePanDob","checkedPanInIbeats","searchByPan","validatePANNew","SeedingStatusMsg","seedingStatus","PANFirstName","PANlastName","mobileNo","originalSavePANDOB","applicationIdExists","navigate","dobMatched","CalledCkycFunctionNew","kraDobCheckNew","getCkycNumber","IsTaggingPresent","cacheResponse","TaggingMode","kra_mode","AppPerAdd1","AppPerAdd2","AppPerAdd3","AppCorAdd1","AppCorAdd2","AppCorAdd3","AppPerPincd","AppCorPincd","FatherName","cacheKRAFunction","uniqueID","AppErrorDesc","kycobj","cacheResonse","panDobObj","isemployeepan","ispanaadhaarlinked","relationName","TransactionId","kycverified","product","platform","panFName","panMName","panLName","PanFSName","SendSelfieLink","diyReferralLink","IsEmployeePan","KycVerified","ASavePanDobDetails","ApplicationID","encodedPan","stringParams","clientObj","panOCRval","PayloadObj","uploadPanFile","nextprocess","applicationInitialized","stageBooleanFlags","getUploadKraResponse","Result","kraDocumentDetailsSaved","prev","AppStatus","kraRes","ImageDetails","image","ImageCode","savePermAddressObj","addressUploadObj","Image","isDocsAvailable","savePermAddressDefaultObj","addressUploadDefaultObj","getKraDocumentUpload","panValidationCallback","callBackFunction","checkPanValidationMsgs","panObject","name_on_card","checkAutoQcForPan","getPanUploadRes","getSeedingData","AextractPanNew","splice","fathers_name","fontSize","reCheck","ErrorScreen","OptionDocumentList","doctype","AdhaarSample","DrivingLicense","VoterID","Passport","InfomodalReturn","DgLocker","DGLToggle","setDGLToggle","uploadDocToggle","setUploadDocToggle","dgLockerLinkUrl","setdgLockerLinkUrl","handleAppendedStage","showDigiLockerPage","showPersonalDocPage","dgLockerLinkUrlLocal","digiLockerUrl","getDigiLinkObj","AGetDigiLink","getDigilockerLink","dgLocker","arrowPoint","docInfo","cleverTapConnectDLEvent","ChatText","instantHelpReadMoreFlag","setInstantHelpReadMoreFlag","readMoreFlagToggle","panPageFlag","padding","marginBottom","cursor","callSupport","InstanHelp","RegistrationRoutes","getCleverTapIDFromService","exact","render","supportNeeded","ProfileHeader","percentageComplete","ProfileLayout","getEsignUrl","ConvertToPhysical","onbeforeunload","refreshKeyPressed","stageInfoId","appIdlocalStorage","stageInfoObj","StageInfoId","stageinfoid","ACreateApplicationTicket","returnValue","performance","ProfileHome","profileBanner","ProfileMenu","getIFSCDetails","ifsc","BankCity","Ifsc","SaveBankDetails","listsObj","AgetBeneficiaryName","beneficiaryObj","AccountNumber","account_number","PennyDropLoader","BankForm","maxBank","setMaxBank","accountnoErrors","setaccountnoErrors","bankNameOnIFSCCode","setBankNameOnIFSCCode","bankCityOnIFSCCode","setBankCityOnIFSCCode","pryAccount","micrModalFlag","setMicrModalFlag","ifscModalFlag","setIfscModalFlag","noBankFound","setNoBankFound","bankList","setBankList","cityList","setCityList","BranchList","setBranchList","hideSearch","setHideSearch","setIsmatched","branchDetail","setBranchDetail","bankListOnIFSC","setBankListOnIFSC","bankacctypeList","setbankacctypeList","accountholdername","accountno","bankaddr1","bankAddr2","bankAddr3","reaccountno","bankdetailsid","bankpincode","ifsccode","bankacctype","isdefaultaccount","bankcity","bankname","micr","payinpriority","qcapproved","micrcodeList","lists","setLists","setShowMandate","setUploadedBankList","allowOnlyAddBank","setAllowOnlyAddBank","isSbi","setIsSbi","showPennyDropModal","setShowPennyDropModal","getAccountHolderName","registered_name","score","filterBankacctypeList","updateLists","actObj","micr_code","getData","sendOcrObj","documentCategory","getOcrResponse","ocrResponseObj","setAccError","micrData","bankAddress1","bankAddress2","bankAddress3","item2","i2","getAccountHolderForSave","parsedRes","saveBankAccount","accountNo","bankAccType","bankAddr1","bankCity","bankDetailsId","bankPinCode","contactNo","ifscCode","isDefaultAccount","qcApproved","isMatched","matchScore","saveDetailsRes","getAccountHolderForSaveOnAdd","saveDetailsResponse","closeIFSC","openIfscModal","getBankData","handlebanknameDropdown","getCityData","handleCityDropdown","getBranchData","sortBranch","property","sortOrder","substr","localeCompare","dynamicSort","checkAddAnotherBankDisabled","handleBranchDropdown","searchIFSC","selectedBranch","reMICR","handleSelect","removeLast","removeBank","handleTag","checkMatch","filterDataOnMICR","handleDropdown","handleDefaultAccount","handleAddForm","preventDefault","BankHome","PdfContainer","showModal","SelectPlan","setEliteCard","setLiteCard","liteData","setliteData","eliteData","setEliteData","openPlanModal","setOpenPlanModal","setShowModal","segTog","setSegTog","checkedDerNSE","setCheckedDerNSE","checkedCurrNSE","setCheckedCurrNSE","termOne","setTermOne","checkedComMCXnNCXDX","setCheckedComMCXnNCXDX","setTermTwo","setTermThree","isLite","setIsLite","isElite","setIsElite","openLite","setOpenLite","setIsEmployee","showPdfModal","setShowPdfModal","pdfName","liteResponse","setliteResponse","eliteResponse","setEliteResponse","active","setActive","setShowPopup","incomeProofErr","setIncomeProofErr","setAccountType","accTypeToggle","setAccTypeToggle","accountTypeChangeCount","setAccountTypeChangeCount","SMTF","setSMTF","isEmployeePAN","setisEmployeePAN","checkedEquityCashNSEBSE","setCheckedEquityCashNSEBSE","checkedMutualFundsBSE","setCheckedMutualFundsBSE","checkedDebtFundsNSEBSE","setCheckedDebtFundsNSEBSE","NoSegSelected","setNoSegSelected","eSignSummited","setESignSummited","Liteplan","Eliteplan","resdata","liteResdata","ct_display_name","eliteResData","is_selected_scheme","getBrokerageSegmentDetailsRes","ischeckedData","Checked","CBEList","Category","AGetBrokerageDetails","AGetBrokerageSegmentDetails","fetchImage","changeIncomeObj","updateIncomeObj","saveIncome","openCharges","saveBrokerageDetailsRes","PLAN_SELECTED","CBEListVM","cbeList_Value","cbeList","cbeListName","isReadOnly","saveSegData","bankcbe","cbelistVM","createddate","sebi_mtf","changeDematAccountType","dematAccountType","saveBrokerageSegDetailsRes","getResForNav","handleLiteTick","handleEliteTick","checkTNC","KeyFeatures","BrokingCharges","EquityDelivery","EquityIntraday","EquityFutures","EquityOptions","CurFutures","CurOptions","ComDelivery","ComFuture","ComCarryForward","ComCarryOptionSlab","OtherCharges","MarginFunding","DpInterestNormal","DpInterestMTF","SwitchingCharges","ManualSupport","CallAndTrade","RmAdvisor","SplTrdAssistance","ToolsAndFeatures","AutoCollateral","StandardTools","AdvancedCharting","MarketInfo","Research","News","Content","Notifications","PortfolioOrganizer","GuidedPortfolios","Investology","TradePoint","SmallCase","AncillaryCharges","DpAmc","DpFees","Payin","Payout","PhyCMLreq","PhyContractNotes","ChqPayment","MarginPledgeUnpledgeCharges","MTFPledgeUnpledgeCharges","PhysicalStmtCharges","MTFPledgeClosure","CUSPAPledge","CUSPAUnpledge","client_type","planOne","mobPlanOne","planTwo","mobPlanTwo","documentname","SMTF_PDF","ao","dc","cash","cashDeliveryActual","cash_delivery_std","cashDeliveryMin","cash_delivery_min","cashDeliverySide","cashIntradayActual","cash_intraday_std","cashIntradayMin","cash_intraday_min","cashIntradaySide","cds","cdsFutureActual","cds_future_std","cdsFutureMin","cds_future_min","cdsFutureSide","cdsOptionActual","cds_options_std","cdsOptionSide","cdsOptionsMin","cds_options_min","cdsBrokCode","clientType","cxBrokCode","eqBrokCode","fo","foFutureActual","fo_future_std","foFutureMin","fo_future_min","foFutureSide","foOptionActual","foOptionSide","foOptionsMin","foBrokCode","isStandard","objUTMInfo","schemeName","schemeId","scheme_id","fo_options_std","fo_options_min","DocVerificationHome","DocStatusList","docStatus","DocStatus","showResult","isPendingUpload","pendingUploadList","isPendingApproval","pendingApprovalList","contenttype","documenttype","ESignForm","setShowResult","setIsPendingUpload","setIsPendingApproval","setPendingUploadList","setPendingApprovalList","esignCompleted","getUploadedDocList","checkPendingApproval","showList","WsdlFlag","EsignLink","FormValidationSummary","FormValidations","allErrorsString","encryptedUrl","esignCleverTapEvent","eSignCall","IS_ESIGN","blueTick","PendingModule","moduleLink","moduleName","PendingModulesList","pendingModulesList","timeLeft","EsignKra","setIsEsign","getEsignKraUrl","timerId","esignBanner","ESignHome","setisEsign","isEsignKra","setEsignKra","pendingModules","setPendingModules","checkPendingModules","sc","VideoPlayerIpv","showStartBtn","setShowStartBtn","showVidPerm","showRecordTimer","setShowRecordTimer","showUploadBtn","setShowUploadBtn","stream","setStream","webBlob","setWebBlob","isSafari","frames","setFrames","mediaRecorder","previewRefElement","imageRefElement","imgSrcSafari","setImgSrcSafari","setVideoWidth","setVideoHeight","showPreview","ex","startFinalRecording","checkGeoLocation","interval","captureScreenShot","createObjectURL","start","framesArr","record","ondataavailable","onstop","ev","controls","controlsList","isLocationPermission","image64","contentType","ipvUploaded","imageName","VideoVerification","queryParams","showSample","setShowSample","enableLink","setEnableLink","eSignCompleted","setESignCompleted","setLat","setLong","isGeoErrorTimeFlag","getIpvOtp","isFromSMS","checkPdStatus","videoUploaded","saveIpvDetails","sendSms","ipvUrl","smsBody","selfieLinkText","SelfieLink","ipvDemo","Width","Height","IsUpload","AUploadIpvSafari","ImageName","AUploadIpv","Dropdown","Profiler","setCheckClientProfilingData","singleAns","setSingleAns","questionLists","setQuestionLists","getCheckClientkProfilingData","appId","QuestionList","remultiAnswerList","IsMultiple","QuestionOptions","assign","getSaveResonse","QuestionsDescription","QuestionId","single","o","handleSelection","multiOption","newList","updatelist","saveQuestion","filterSingleAnswer","mergedmultiAnswerObj","concat","apply","createdBy","optionId","questionId","versions","ListQuestionDetails","ASaveClientProfilingQuestion","AVerifyDocumentData","verifyDocumentPayload","IsFileappFlag","DocumenCropped","IsQRVerified","DocumentIssueDate","IsDocumentVerified","localAadharNo","addressInfoErrorObj","PermanentAddressField","onAddressInfoChange","onAddressInfoBlur","onBlurDoi","dateOfIssue","onBlurDoe","dateOfExpiry","addObj","qrVerified","reverse","identificationListPerm","identificationListCorr","PersoanlInfo","permSecAddListError","setPermSecAddListError","setCorrSecAddListError","drivingFlag","setDrivingFlag","corrsDrivingFlag","SetCorrsDrivingFlag","qrVerifiedAadhar","setQrVerifiedAadhar","autoQCFlagPer","setAutQcFlagPer","autoQCFlagCor","setAutQcFlagCor","qrVerifiedCorrsAadhar","setQrVerifiedCorrsAadhar","AddressDetails","permResultObj","documentnumber","documentissuedate","corrsResultObj","Corrsaddraspermanent","handleAddressBlur","identificationDetailType","extractPermOCRObj","extractCorrsOCRObj","permExtractionData","qr_detected","qr_encoded","qr_scannable","date_of_issue","date_of_expiry","issue_dates","date_of_validity","verifyDrivingObj","DateOfBirth","IdNumber","verifyDocumentRes","corrsExtractionData","corrsVerifyDocumentRes","verified","saveAddressPayload","ASaveAddressDetails","saveAddressRes","CorrespondenceAddressDetails","CorrespondenceAddressLine1","CorrespondenceAddressLine2","CorrespondenceAddressLine3","CorrespondenceAddressLine4","CorrespondencePincode","CorrespondenceCountry","CorrespondenceState","CorrespondenceCity","CorrespondenceDistrict","CorrespondenceArea","CorrespondenceStatecode","CorrespondenceCountryCode","CorrespondenceAddressType","autoQC","documentIssueDate","documentExpiryDate","documentName","PermanentAddressDetails","PermanentAddressLine1","PermanentAddressLine2","PermanentAddressLine3","PermanentAddressLine4","PermanentPincode","PermanentCountry","PermanentState","PermanentDistrict","Permanentarea","Permanentstatecode","Permanentcountrycode","PermanentAddresstype","ASavePersonalDocument","AddressInfoField","DashboardRoutes","component","AgentVisitForm","areaList","agentDatesList","setAgentDatesList","agentTimesList","setAgentTimesList","getAgentDates","ecoAgentVisitDates","agentVisitDate","getDay","dateStringToDay","getAgentTimes","ecoAgentVisitTimes","agentVisitTime","getAreaList","stateCode","countryCode","agentVisitScheduled","registerCleverTapScheduleAgentEvent","AAgentDatesList","AAgentTimesList","ocvDate","ocvDateAndTimeChange","ocvTime","agentVisitObj","created_by","date_for_visit","time_for_visit","ASaveAgentVisitDetails","downloadForm","isFullPdf","EsignFlag","ADownloadForm","b64Data","sliceSize","byteCharacters","byteArrays","offset","byteNumbers","charCodeAt","byteArray","Uint8Array","base64toBlob","link","download","click","remove","getDownloadForm","Poa","enablePinCheck","setEnablePinCheck","clientAddressOcv","setClientAddressOcv","setOcvDate","setOcvTime","showAgentVisitForm","setShowAgentVisitForm","showDownload","setShowDownload","disablePOASchedule","validatePincode","drop_Vendor_Code","vendorResponse","awb_number","reason","isInitial","ocvCalender","ASavePoaDetails","addr","line1","line2","scheduledDate","selectedTimeSlot","customerName","customerMobile","selectedPincode","defaultPinCode","isChequeLeafSubmitted","emailurl","ExitScreen","heading","displayInfoList","itemObj","OcvScheduled","visitDate","setVisitDate","visitTime","setVisitTime","setDisplayInfoList","agentVisitDetails","dpid","STATUS_ON_FINAL_SCREEN","StepsInfo","viewBtn","setViewBtn","SubmitAO","setTime","getClientDetails","holderName","holderfullname","displayInfo","esigncompletedtime","finalTick","SubmissionRoutes","setOtpId","setPanDetails","otpSentNew","checkApplicationStatus","panDetailsLocal","setPanDetailsinLoal","CheckStatusHome","AccountNotFound","checkStatus","newAccount","StatusVerified","DocsVerificationInProgress","DocumentReject","validatePAN","StatusContinue","handleContinue","CacheFunction","StatusRoutes","Marketing","setIsComplete","improperData","setImproperData","utmParams","to","MarketingRoute","Selfie","base64String","hasPhoto","setHasPhoto","streams","setStreams","videoRef","canvasRef","prevres","documentDetailsSaved","intiateCamera","userMedia","play","takePhoto","ctx","storePhoto","closePhoto","getTracks","track","getUploadResponse","saveIPVerification","margin","marginTop","photoUploadObj","SmsLinksLayout","SmsRoutes","ReactZenDeskChat","require","default","App","setPanPageFlag","getErrorMsg","Datasource","account","privacy","optOut","useIP","wzrk","protocol","s","getElementsByTagName","parentNode","insertBefore","notifications","titleText","bodyText","okButtonText","rejectButtonText","okButtonColor","askAgainTimeInSeconds","serviceWorkerPath","ymConfig","bot","host","payload","YellowMessenger","update","currentVersion","isEnabled","isVerboseMode","metaFileDirectory","basename","process","Boolean","hostname","ReactDOM","serviceWorker","ready","unregister"],"mappings":"4GAAAA,EAAOC,QAAU,0yB,cCAjBD,EAAOC,QAAU,0pB,+BCAjBD,EAAOC,QAAU,IAA0B,wC,oBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,gBCA3CD,EAAOC,QAAU,IAA0B,0C,cCA3CD,EAAOC,QAAU,uzN,0BCAjBD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,80G,8GCAjBD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,+C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,IAA0B,8C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,oBCA3CD,EAAOC,QAAU,IAA0B,wC,cCA3CD,EAAOC,QAAU,kiD,cCAjBD,EAAOC,QAAU,85G,cCAjBD,EAAOC,QAAU,0oB,cCAjBD,EAAOC,QAAU,8c,kBCAjBD,EAAOC,QAAU,IAA0B,2C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,4C,cCA3CD,EAAOC,QAAU,sV,gBCAjBD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,kC,cCA3CD,EAAOC,QAAU,k0N,cCAjBD,EAAOC,QAAU,suG,cCAjBD,EAAOC,QAAU,8jP,cCAjBD,EAAOC,QAAU,0iH,gBCAjBD,EAAOC,QAAU,IAA0B,kC,gBCA3CD,EAAOC,QAAU,IAA0B,sD,gBCA3CD,EAAOC,QAAU,IAA0B,4C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,sC,gBCA3CD,EAAOC,QAAU,IAA0B,uC,cCA3CD,EAAOC,QAAU,0qI,cCAjBD,EAAOC,QAAU,skO,cCAjBD,EAAOC,QAAU,0xP,cCAjBD,EAAOC,QAAU,swN,49CCmDLC,E,kHCpCGC,EAXQ,WACrB,OACE,yBAAKC,UAAU,iBACb,yBAAKA,UAAU,cAEb,yBAAKA,UAAU,YAAYC,IAAKC,IAAMC,IAAI,Y,kCD0CtCL,K,UAAAA,E,aAAAA,M,KAcL,IAAMM,EAA4B,CACxCC,MAAO,GACPC,QAAS,I,4OEpDGC,EACD,0BADCA,EAED,qBAFCA,EAGC,MAHDA,EAIE,gDAGFC,EAAO,CAClB,SACA,SACA,UACA,YACA,WACA,SACA,YAgEWC,EACE,uBADFA,GAEF,WAFEA,GAGL,QAHKA,GAIL,QAJKA,GAKD,YALCA,GAMN,6BANMA,GAON,OAPMA,GAQL,QARKA,GASJ,SAGIC,GACF,IADEA,IAES,EAFTA,GAGC,EAHDA,GAIC,IAeDC,GAAiC,CAC5CC,KAAM,YACNC,KAAM,SACNC,YAAY,EACZC,OAAQN,GACRO,SAAU,EACVC,cAAe,EACff,KAAMgB,IACNC,YAAY,GAGDC,GAA2C,CACtD,CACER,KAAM,qBACNC,KAAM,SACNC,YAAY,EACZC,OAAQN,EACRO,SAAU,EACVC,cAAe,GACff,KAAMmB,IACNF,YAAY,GAEd,CACEP,KAAM,UACNC,KAAM,SACNC,YAAY,EACZC,OAAQN,GACRO,SAAU,EACVC,cAAe,GACff,KAAMmB,IACNC,QAASC,IACTJ,YAAY,GAEd,CACEP,KAAM,eACNC,KAAM,SACNC,YAAY,EACZC,OAAQN,GACRO,SAAU,EACVC,cAAe,GACff,KAAMsB,IACNF,QAASG,IACTN,YAAY,GAEd,CACEP,KAAM,oBACNC,KAAM,SACNC,YAAY,EACZC,OAAQN,GACRO,SAAU,EACVC,cAAe,GACff,KAAMwB,IACNJ,QAASK,IACTR,YAAY,GAEd,CACEP,KAAM,iCACNC,KAAM,QACNC,YAAY,EACZC,OAAQN,GACRO,SAAU,EACVC,cAAe,GACff,KAAM0B,IACNN,QAASO,IACTV,YAAY,GAEd,CACEP,KAAM,4BACNC,KAAM,SACNC,YAAY,EACZC,OAAQN,GACRO,SAAU,EACVC,cAAe,GACff,KAAM4B,IACNR,QAASS,IACTZ,YAAY,GAEd,CACEP,KAAM,SACNC,KAAM,SACNC,YAAY,EACZC,OAAQN,GACRO,SAAU,EACVC,cAAe,GACff,KAAM8B,IACNV,QAASW,IACTd,YAAY,IAIHe,GAA2B,CACtC,CAAE7B,MAAO,KAAMC,QAAS,UACxB,CAAED,MAAO,KAAMC,QAAS,WAGb6B,GACG,IADHA,GAED,YAFCA,GAGN,OAHMA,GAIN,OAJMA,GAKA,aALAA,GAMD,YANCA,GAOI,iBAPJA,GAQG,gBARHA,GASJ,SATIA,GAUN,OAVMA,GAWN,OAXMA,GAYH,UAZGA,GAaN,OAbMA,GAcF,WAdEA,GAeH,UAGGC,GAAY,CACvBC,WAAY,UACZC,eAAgB,yBAChBC,gBAAiB,oBACjBC,0BAA2B,uCAC3BC,eAAgB,qBAChBC,eAAgB,oBAeLC,GAAW,gCAgBXC,GAAkB,CAC7B,CAAEvC,MAAO,mBAAoBO,KAAM,cAAeiC,WAAY,OAC9D,CAAExC,MAAO,eAAgBO,KAAM,UAAWiC,WAAY,OACtD,CAAExC,MAAO,oBAAqBO,KAAM,qBAAsBiC,WAAY,OACtE,CAAExC,MAAO,gBAAiBO,KAAM,iBAAkBiC,WAAY,OAC9D,CACExC,MAAO,wBACPO,KAAM,0BACNiC,WAAY,OAEd,CACExC,MAAO,qBACPO,KAAM,uBACNiC,WAAY,QAIHC,GAA6B,CACxC,CAAEzC,MAAO,MAAOC,QAAS,OACzB,CAAED,MAAO,SAAUC,QAAS,WAGjByC,GAAqC,CAChD,CAAE1C,MAAO,IAAKC,QAAS,gBACvB,CAAED,MAAO,IAAKC,QAAS,gBACvB,CAAED,MAAO,IAAKC,QAAS,iBAyCZ0C,GAAM,MAQNC,GAAY,a,+BCnVlB,SAASC,GAAa7C,EAAe8C,GAC1C,OAAOA,EAAMC,KAAK/C,GAAS,KAAO,uBAO7B,SAASgD,GAAShD,GACvB,YAAiBiD,IAAVjD,GAAiC,OAAVA,GAA4B,KAAVA,EAC5C,oBACA,KAQC,SAASkD,GAAalD,EAAemD,GAC1C,YAAiBF,IAAVjD,GAAiC,OAAVA,GAAkBA,GAASmD,EACrD,KACA,0BAQC,SAASC,GAAapD,EAAeqD,GAC1C,YAAiBJ,IAAVjD,GAAiC,OAAVA,GAAkBA,GAASqD,EACrD,KACA,0BAqDC,SAASC,GAA4BC,EAAiBC,GAE3D,IAAMC,GADNF,EAAUA,EAAQG,QACQC,OAEtBC,EAAWL,EAAQM,UAAU,EAAG,IAChCC,EAAW,GACXC,EAAW,GACXC,EAAW,GAuBf,OArBIJ,EAASD,OAAS,IAAMM,MAAMC,OAAON,EAASO,QAAQ,KAAM,SAC9DP,EAAQ,UAAMA,IAEZH,EAAY,MACdK,EAAWP,EAAQM,UAAU,GAAI,KACpBF,OAAS,IAAMM,MAAMC,OAAOJ,EAASK,QAAQ,KAAM,SAC9DL,EAAQ,UAAMA,IAGdL,EAAY,MACdM,EAAWR,EAAQM,UAAU,GAAI,KACpBF,OAAS,IAAMM,MAAMC,OAAOH,EAASI,QAAQ,KAAM,SAC9DJ,EAAQ,UAAMA,IAGdN,EAAY,MACdO,EAAWT,EAAQM,UAAU,GAAI,MACpBF,OAAS,IAAMM,MAAMC,OAAOF,EAASG,QAAQ,KAAM,SAC9DH,EAAQ,UAAMA,IAGX,CAAEJ,WAAUE,WAAUC,WAAUC,YC/GlC,IAAMI,GAAa,QAQbC,GAAc,eAyBpB,IAAMC,GAAc,iBAEdC,GAAkB,kBAQlBC,GACX,sFASK,SAASC,GAActB,EAAaE,GACzC,OAAO,IAAIqB,OAAO,MAAQvB,EAAM,KAAOE,GAAO,IAAM,KAsF/C,IAAMsB,GAAM,oDAMNC,GAAU,gBAeVC,GAAqB,mBAGrBC,GAAsB,uBC+GpBC,GAlPgC,SAACC,GAAU,MAI9BC,WAAeD,EAAME,cAAgB,IAJP,mBAIjDlF,EAJiD,KAI1CmF,EAJ0C,OAK1BF,WAAeD,EAAMI,WALK,mBAKxCC,GALwC,WAQxDJ,aAAgB,gBACahC,IAAvB+B,EAAME,cAA8BlF,IAAUgF,EAAME,cACtDC,EAASH,EAAME,gBAEhB,CAACF,EAAME,eAEVD,aAAgB,WACdI,EAAWL,EAAMI,aAChB,CAACJ,EAAMI,YAhB8C,MAmBpBH,WAAe,IAnBK,mBAmBjDK,EAnBiD,KAmBrCC,EAnBqC,KAwFxD,SAASzE,EAAWd,GAClB,OAAQgF,EAAMhC,UAAagC,EAAMhC,YAAcA,GAAShD,GAU1D,SAASwF,EAAcxF,GACrB,QAAkBiD,IAAd+B,EAAM7B,IACR,OAAO,EAET,GAAIc,OAAOjE,GACT,MAAMyF,MAAM,8CAEd,QAASvC,IAAclD,EAAOgF,EAAM7B,KAUtC,SAASuC,EAAc1F,GACrB,QAAkBiD,IAAd+B,EAAM3B,IACR,OAAO,EAET,GAAIY,OAAOjE,GACT,MAAMyF,MAAM,8CAEd,QAASrC,IAAcpD,EAAOgF,EAAM3B,KAStC,SAASsC,EAAe3F,GACtB,OACGgF,EAAMY,SAAYZ,EAAMY,UAAY/C,GAAa7C,EAAOgF,EAAMY,SAmEnE,OACE,uBAAKjG,UAAW,uBAAyBqF,EAAMrF,WAC7C,uBACEA,UACE,mBAAqB2F,GAAcN,EAAMI,UAAY,SAAW,KAGjEJ,EAAMa,QAAU,uBAAKlG,UAAU,gBAAgBqF,EAAMa,QACtD,yBACE7F,MAAOA,EACP8F,SA5CR,SAAsBC,GACpB,IAAIC,EAoBJ,IAjBGD,EAAEE,OAAOjG,OAA4B,KAAnB+F,EAAEE,OAAOjG,OAAmC,MAAnB+F,EAAEE,OAAOjG,QAhJzD,SAAwBA,GACtB,OACGgF,EAAMkB,SAAYlB,EAAMkB,UAAYrD,GAAa7C,EAAOoE,IA+IzD+B,CAAeJ,EAAEE,OAAOjG,QArI5B,SAAsBA,GACpB,OAAQgF,EAAMoB,OAAUpB,EAAMoB,QAAUvD,GAAa7C,EAAOgF,EAAMoB,OAqIhEC,CAAaN,EAAEE,OAAOjG,QA5H1B,SAAyBA,GACvB,OACGgF,EAAMsB,UAAatB,EAAMsB,WAAazD,GAAa7C,EAAOsE,IA2H3DiC,CAAgBR,EAAEE,OAAOjG,QA/F7B,SAA0BA,GACxB,YAA2BiD,IAApB+B,EAAMwB,WAA2BxG,EAAM2D,QAAUqB,EAAMwB,UA+F5DC,CAAiBV,EAAEE,OAAOjG,QA5G9B,SAA0BA,GACxB,OACGgF,EAAM0B,WAAc1B,EAAM0B,YAAc7D,GAAa7C,EAAOqE,IA2G7DsC,CAAiBZ,EAAEE,OAAOjG,QA1H9B,SAAgCA,GAC9B,OACGgF,EAAMT,iBACNS,EAAMT,kBAAoB1B,GAAa7C,EAAOuE,IAwH/CqC,CAAuBb,EAAEE,OAAOjG,QAGdgG,EAAdhB,EAAM6B,OAAwBd,EAAEE,OAAOjG,MAAM8G,cAC5Bf,EAAEE,OAAOjG,MAC9BqF,EAAW,KAGXW,EAAgBhG,EAGdgF,EAAMc,SAAU,CAClB,IAAMiB,EAAW/B,EAAMc,SAASE,GAAiB,IAG/Cb,OADelC,IAAb8D,EACOA,EAEAf,GAAiB,MAkBxBgB,YAAahC,EAAMgC,YACnBrH,UAAU,cACVsH,QAAS,kBAAM1B,EAAc,WAC7B2B,OAAQ,SAACnB,GAAD,OAxEhB,SAAoBA,GAClBR,EAAc,IAEd,IAAI4B,EAAoB,GAEpBnC,EAAMhC,WACRmE,EAAQ,2BAAQA,GAAR,IAAkBnE,SAAUlC,EAAWd,MAE7CgF,EAAM7B,MACRgE,EAAQ,2BAAQA,GAAR,IAAkBhE,IAAKqC,EAAcxF,MAE3CgF,EAAM3B,MACR8D,EAAQ,2BAAQA,GAAR,IAAkB9D,IAAKqC,EAAc1F,MAE3CgF,EAAMY,UACRuB,EAAQ,2BAAQA,GAAR,IAAkBvB,QAASD,EAAe3F,MAEpDgF,EAAMkC,QAAUlC,EAAMkC,OAAOC,EAAUpB,GAuDpBqB,CAAWrB,IACxBsB,KAAMrC,EAAMqC,KACZC,GAAItC,EAAMsC,GACVC,aAAcvC,EAAMuC,aACpBC,SAAUxC,EAAMwC,SAChBjH,KAAMyE,EAAMzE,OAEbyE,EAAMyC,cAA+B,WAAfnC,GACrB,uBAAK3F,UAAU,gBACb,qBAAGA,UAAU,kBAAkB+H,QAzBzC,gBA4BO1C,EAAM2C,QAAU,uBAAKhI,UAAU,gBAAgBqF,EAAM2C,SAEvD3C,EAAMI,WAAa,qBAAGzF,UAAU,iBAAiBqF,EAAMI,WACvDJ,EAAM4C,aAAetC,GAActF,IAClC,qBAAGL,UAAU,kBAAkBqF,EAAM4C,YAEtC5C,EAAM6C,UACL,qBAAGlI,UAAS,oBAAeqF,EAAM8C,eAAiB,SAC/C9C,EAAM6C,Y,+CCgBFE,I,2DA1Qb,WAAY/C,GAAa,IAAD,8BACtB,cAAMA,IAkCRgD,aAAe,SAACC,EAAkBC,GAChC,IAAMC,EAAgBF,EAAKG,QAAO,SAACC,GAAc,IAAD,EAC9C,OACE,UAAAA,EAAI,EAAKrD,MAAMsD,kBAAf,eAA2BC,kBAA3B,OAA6CL,QAA7C,IAA6CA,OAA7C,EAA6CA,EAASK,gBACtDrE,OAAOgE,KAAahE,OAAOmE,EAAI,EAAKrD,MAAMsD,eAG9C,OAA6B,IAAzBH,EAAcxE,OACTwE,EAAc,GAEd,MA7Ca,EAgExBlB,QAAU,WAEsB,IAA5B,EAAKjC,MAAMwD,cACX,EAAKC,MAAMzI,MAAM2D,QAAU,EAAKqB,MAAMwD,aAEtC,EAAKE,SAAS,CAAEC,mBAAmB,IAEnC,EAAKD,SAAS,CAAEC,mBAAmB,KAvEf,EA2ExB7C,SAAW,SAAC9F,GACNA,EAAM0D,OAAOC,QAAU,EAAKqB,MAAMwD,aACpC,EAAKE,SAAS,CAAEC,mBAAmB,IAEnC,EAAKD,SAAS,CAAEC,mBAAmB,IAErC,EAAKD,SAAS,CAAE1I,MAAOA,EAAO4I,iBAAa3F,IAC3C,EAAK+B,MAAMc,UAAY,EAAKd,MAAMc,SAAS9F,IAlFrB,EAqFxBoH,WAAa,WACXyB,YAAW,WACL,EAAKJ,MAAME,mBACb,EAAKD,SAAS,CAAEC,mBAAmB,IAErC,EAAK3D,MAAMkC,QAAU,EAAKlC,MAAMkC,OAAO,EAAKuB,MAAMG,eACjD,MA3FmB,EA8FxBE,eAAiB,SAACC,GAChB,EAAKL,SAAS,CACZ1I,MAAO+I,EAAK,EAAK/D,MAAMsD,WACvBM,YAAaG,EACbJ,mBAAmB,IAEjB,EAAK3D,MAAM8D,gBACb,EAAK9D,MAAM8D,eAAeC,IArGN,EAyGxBC,YAAc,SAACC,GACb,IAAK,EAAKjE,MAAMkE,iBACb,EAAKlE,MAAMmE,gBAAkBF,EAAMhD,OAAOmD,SAE3CH,EAAMhD,OAAOoD,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAErD,EAAKvE,MAAMwE,QAAQC,QAAQ,EAAKhB,MAAMG,cAAgB,GAAG,CAC3D,IAAIc,EAAQ,EAAK1E,MAAMwE,QAAQG,WAAU,SAACtB,GAAD,OACvCA,EAAI,EAAKrD,MAAMsD,WACZC,cACAqB,SAAS,EAAKnB,MAAMzI,MAAMuI,kBAG3BmB,GAAS,GAAKT,EAAMhD,OAAO4D,aAC7BZ,EAAMhD,OAAO4D,YAAYC,SAAS,EAAW,GAARJ,KArH3C,EAAKjB,MAAQ,CACXE,mBAAmB,EACnB3I,MAAOgF,EAAME,cAAgB,GAC7B0D,YACG,EAAK5D,MAAME,cACV,EAAK8C,aAAa,EAAKhD,MAAMwE,QAAS,EAAKxE,MAAME,oBACnDjC,GARkB,E,gEAYL8G,GAIjB,GADAC,QAAQC,IAAIC,KAAKlF,MAAMwE,UAEpBO,EAAUP,QAAQ7F,QACnBuG,KAAKlF,MAAMwE,QAAQ7F,SAClBuG,KAAKzB,MAAMG,cACXsB,KAAKlF,MAAMkE,eACZgB,KAAKlF,MAAME,cACgB,OAA3BgF,KAAKzB,MAAMG,YACX,CACA,IAAMuB,EAAcD,KAAKlC,aACvBkC,KAAKlF,MAAMwE,QACXU,KAAKlF,MAAME,cAEbiF,GACED,KAAKxB,SAAS,CACZE,YAAauB,O,uDAyBYC,EAAmBC,GAEhDD,EAAUlF,eAAiBmF,EAAUrK,YACViD,IAA3BmH,EAAUlF,cAEVgF,KAAKxB,SAAS,CAAE1I,MAAOoK,EAAUlF,iB,+BAiE3B,IAAD,OACCyD,EAAsBuB,KAAKzB,MAA3BE,kBACJ2B,EAAU,EAERC,EACJ,yBAAK5K,UAAU,YACb,yBAAKA,UAAU,aACb,2BAAOA,UAAU,cAAcuK,KAAKlF,MAAMwF,aAI5CC,EACFP,KAAKzB,MAAME,oBACVuB,KAAKlF,MAAM0F,eACZR,KAAKzB,MAAMzI,MAAM2D,QAAUuG,KAAKlF,MAAMwD,aAClC0B,KAAKlF,MAAMwE,QAAQpB,QAAO,SAACW,EAAW4B,GACpC,GACE5B,EAAK,EAAK/D,MAAMsD,WACbC,cACAqB,SAAS,EAAKnB,MAAMzI,MAAMuI,gBAC5B,EAAKvD,MAAMwE,QAAQC,QAAQ,EAAKhB,MAAMG,cAAgB,IACpD,EAAK5D,MAAMkE,cAGd,OADAoB,IACOvB,KAGXmB,KAAKlF,MAAM0F,cACXR,KAAKlF,MAAMwE,QAAQoB,KAAI,SAAC7B,GAEtB,OADAuB,IACOvB,KAET,KAiBN0B,GACEA,EAAYI,MAAK,SAACC,EAAQC,GAAT,OACfD,EAAE,EAAK9F,MAAMsD,WACVC,cACAkB,QAAQ,EAAKhB,MAAMzI,MAAMuI,eAC5BwC,EAAE,EAAK/F,MAAMsD,WACVC,cACAkB,QAAQ,EAAKhB,MAAMzI,MAAMuI,gBACvB,EACDwC,EAAE,EAAK/F,MAAMsD,WACVC,cACAkB,QAAQ,EAAKhB,MAAMzI,MAAMuI,eAC5BuC,EAAE,EAAK9F,MAAMsD,WACVC,cACAkB,QAAQ,EAAKhB,MAAMzI,MAAMuI,eAC5B,EACA,KAER,IAAIyC,EACFP,GAAeA,EAAY9G,OAAS,EAChC8G,EAAYG,KAAI,SAAC7B,EAAW4B,GAC1B,IAAIM,EAAelC,EAAK,EAAK/D,MAAMsD,WACnC,OACE,yBACE4C,IAAKP,EACLhL,UAAU,WACV+H,QAAS,kBAAM,EAAKoB,eAAeC,KAEnC,yBAAKpJ,UAAU,aACb,2BACEA,UACE,EAAKqF,MAAMmG,YAAc,iBAAmB,UAG5C,EAAKnG,MAAMmG,aACZ,EAAK1C,MAAMG,cAAgBG,GAC1BkC,IAAiB,EAAKjG,MAAME,aAG5B,4BAFA,uBAAGvF,UAAU,mBAIf,0BACEA,UAAU,aACVyL,wBAAyB,CAAEC,OAAQJ,WAO/C,KAEN,OACE,yBAAKtL,UAAU,WACb,2BACEY,KAAM2J,KAAKlF,MAAMzE,KACjB+G,GAAI4C,KAAKlF,MAAMzE,KACf8G,KAAK,OACL1H,UACE,OACAuK,KAAKlF,MAAMrF,WACVuK,KAAKlF,MAAMI,UAAY,SAAW,IAErCsC,QAASwC,KAAKlB,YACdlD,SAAU,SAACC,GAAD,OAAO,EAAKD,SAASC,EAAEE,OAAOjG,QACxCiH,QAASiD,KAAKjD,QACdC,OAAQgD,KAAK9C,WACbpH,MAAOkK,KAAKzB,MAAMzI,MAClBsL,WAAWpB,KAAKlF,MAAMmE,eACtB3B,SAAU0C,KAAKlF,MAAMwC,SACrBR,YAAakD,KAAKlF,MAAMgC,YACxBO,aACE2C,KAAKlF,MAAMuC,aAAe2C,KAAKlF,MAAMuC,aAAe,MAEtDgE,MACErB,KAAKlF,MAAMwG,YAAc,CAAEC,gBAAgB,OAAD,OAASC,KAAT,MAAqB,MAGjExB,KAAKlF,MAAMmE,gBACbR,IACCqC,GAAmBd,KAAKlF,MAAMwF,WAC7B,yBAAK7K,UAAU,cAAc2K,EAAUU,EAAkBT,GACvD,KACHL,KAAKlF,MAAMI,WACV,uBAAGzF,UAAU,iBAAiBuK,KAAKlF,MAAMI,gB,GAnQtBuG,cCkEdC,I,OArEmC,SAAC5G,GAAW,IAAD,IAC7BC,IAAM4G,UAAkB,GADK,mBACpDC,EADoD,UAsB3D,IAAI5G,EAAuB,GAU3B,OATK,OAALF,QAAK,IAALA,GAAA,UAAAA,EAAO+G,4BAAP,SAA6BC,SAAQ,SAACC,GAElCC,SAASD,EAASjM,MAAMmM,cACxBD,SAASlH,EAAMoH,OAAOC,oBAEtBnH,EAAe+G,EAAShM,YAK1B,yBAAKN,UAAU,gBACb,2BAAOA,UAAU,WAAWqF,EAAMoH,OAAOE,aACzC,yBAAK3M,UAAU,SACb,2BAAOA,UAAU,WAjCvB,WACE,OAAQqF,EAAMqC,MACZ,IAAK,QACH,MAAO,mBACT,IAAK,SACH,MAAO,wBACT,IAAK,OACH,MAAO,sCA0BqBkF,KAE9B,yBAAK5M,UAAU,SACb,2BAAOA,UAAU,UAAjB,YACA,kBAAC,GAAD,CACEY,KAAI,uBAAkByE,EAAMqC,KAAxB,YAAgCrC,EAAM0E,OAC1CZ,eAAgB,SAAC9I,GAAD,OA5BEqI,EA4B0BrI,OAtBlDgF,EAAMc,SAASuC,EAAIrI,OANrB,IAA0BqI,GA6BlBnD,aAAcA,EACdsD,aAAc,EACdgB,QAASxE,EAAMwH,aAEflE,UAAU,UACVtB,YAAY,SACZwD,UAAU,uCAEVgB,aAAa,KAGhBM,GACC,yBAAKnM,UAAU,SACb,2BAAOA,UAAU,YAAjB,SACA,kBAAC,GAAD,CACEuH,OAAQ,aACRpB,SAAU,aACVuB,KAAK,OACLL,YAAY,kBCvCXyF,I,OAAqC,SAACzH,GAAW,IAAD,EAEf6G,mBAAS7G,EAAME,cAFA,mBAElDwH,EAFkD,KAEnCC,EAFmC,KAazD,OATA1H,IAAM2H,WAAU,WACZD,EAAiB3H,EAAME,gBACxB,CAACF,EAAME,eAQN,wBAAIvF,UAAU,gBACTqF,EAAM6H,QAAQjC,KAAI,SAACkC,GAChB,OACI,wBAAInN,UAAW,YAAcmN,EAAI9M,QAAU0M,EAAgB,kBAAoB,IAC3ExB,IAAK4B,EAAI9M,MACT0H,QAAS,kBAXR1H,EAW0B8M,EAAI9M,MAV/C2M,EAAiB3M,GACVgF,EAAM+H,SAAS/M,GAF1B,IAAqBA,IAaAgF,EAAMgI,QACH,0BAAMrN,UAAU,WAAWmN,EAAIG,MAEnC,0BAAMtN,UAAU,cACXmN,EAAI7M,gBASlBiN,GAxEkB,SAAClI,GAAqB,MAMT6G,mBAAS7G,EAAME,cANN,mBAM5CwH,EAN4C,KAM7BC,EAN6B,KAqBnD,OAbA1H,IAAM2H,WAAU,WACZD,EAAiB3H,EAAME,gBACxB,CAACF,EAAME,eAYN,wBAAIvF,UAAW,2BAA6BqF,EAAMrF,UAAYqF,EAAMrF,UAAY,KAC3EqF,EAAM6H,QAAQjC,KAAI,SAACkC,GAAD,OACf,wBAAInN,UAAW,OAASmN,EAAI9M,MAAMmM,cAAgBO,GAAiBA,EAAcP,YAAc,UAAY,KAAOnH,EAAMmI,MAAQnI,EAAMmI,KAAKC,KAAOpI,EAAMmI,KAAKE,MAAQP,EAAI9M,MAAQgF,EAAMmI,KAAKxN,UAAY,IACpMuL,IAAK4B,EAAI9M,MACT0H,QAAS,kBAVJ1H,EAUsB8M,EAAI9M,MAT3C2M,EAAiB3M,GACVgF,EAAM+H,SAAS/M,GAF1B,IAAqBA,IAWJ8M,EAAI7M,cCTVqN,I,OAlBqB,SAACtI,GACjC,OACI,2BAAOrF,UAAW,YAAcqF,EAAMrF,WAClC,2BAAOA,UAAU,aACZqF,EAAMuI,MACP,2BACIlG,KAAK,QACL9G,KAAMyE,EAAMzE,KACZuF,SAAUd,EAAMc,SAChB0H,QAASxI,EAAMwI,QACfhG,SAAUxC,EAAMwC,WAEpB,0BAAM7H,UAAU,kBCOjB8N,I,OApBwB,SAACzI,GACpC,OACI,2BAAOrF,UAAU,UACZqF,EAAM0I,UACH,0BAAM/N,UAAU,YAAYqF,EAAM0I,UAEtC,0BAAM/N,UAAU,gBACZ,2BACI0H,KAAK,WACL9G,KAAMyE,EAAMzE,KACZiN,QAASxI,EAAM2I,KACf7H,SAAUd,EAAMc,SAChB0B,SAAUxC,EAAMwC,WAEpB,0BAAM7H,UAAU,qBCNjBiO,I,aAXwB,SAAC5I,GACvC,IAAM6I,EAAQ7I,EAAM6I,OAAS,OAC7B,OACC,yBAAKlO,UAAS,sBAAiBqF,EAAM8I,KAAvB,cAAiCD,IAC7CE,MAAMC,KAAKD,MAAM,IAAIE,QAAQ,SAACC,EAAGvD,GAAJ,OAC7B,yBAAKO,IAAKP,UCiCDwD,GAAuC,SAACnJ,GAAD,OAClD,4BACErF,UAAW,WAAaqF,EAAMwC,SAAW,aAAe,aACxDA,SAAUxC,EAAMwC,SAChBE,QAAS1C,EAAM0C,QACfL,KAAMrC,EAAMqC,MAAQ,UAInBrC,EAAMoJ,UACL,kBAAC,GAAD,CAAQN,KAAM,KACZ9I,EAAMqJ,MACR,oCACG,IACD,0BAAM1O,UAAU,mBAFlB,IAEuCqF,EAAMsJ,SAH3C,UAMCtJ,EAAMsJ,WAKFC,GAA4C,SAACvJ,GAAD,OACvD,4BACErF,UAAW,WAAaqF,EAAMwC,SAC9BA,SAAUxC,EAAMwC,SAChBE,QAAS1C,EAAM0C,QACfL,KAAMrC,EAAMqC,MAAQ,UAEnBrC,EAAMa,QAAUb,EAAMa,OACtBb,EAAMwJ,WACL,oCACG,IACD,0BAAM7O,UAAU,uBAAwB,KAExC,KACHqF,EAAMyJ,SACL,oCACG,IACD,0BAAM9O,UAAU,qBAAsB,KAEtC,KACHqF,EAAMoJ,UACL,kBAAC,GAAD,CAAQN,KAAM,KACZ9I,EAAM0J,OACR,oCACG,IACD,0BAAM/O,UAAU,mBAFlB,IAEuCqF,EAAMsJ,SAH3C,UAMCtJ,EAAMsJ,WAKFK,GAAuC,SAAC3J,GAAD,OAClD,4BACErF,UAAW,cAAgBqF,EAAMwC,SAAW,UAAY,UACxDA,SAAUxC,EAAMwC,SAChBE,QAAS1C,EAAM0C,QACfL,KAAMrC,EAAMqC,MAAQ,UAEnBrC,EAAMoJ,UACL,kBAAC,GAAD,CAAQN,KAAM,KACZ9I,EAAM0J,OACR,oCACG,IACD,0BAAM/O,UAAU,mBAFlB,IAEuCqF,EAAMsJ,SAH3C,UAMCtJ,EAAMsJ,WAKFM,GAAiC,SAAC5J,GAAD,OAC5C,4BACErF,UACE,gBACCqF,EAAMwC,UAAYxC,EAAMoJ,UAAY,UAAY,UAEnD5G,SAAUxC,EAAMwC,SAChBE,QAAS1C,EAAM0C,QACfL,KAAMrC,EAAMqC,MAEXrC,EAAMoJ,UACL,kBAAC,GAAD,CAAQN,KAAM,KACZ9I,EAAM0J,OACR,oCACG,IACD,0BAAM/O,UAAU,mBACfqF,EAAMsJ,SAJP,UAOCtJ,EAAMsJ,WAKFO,GAA0C,SAAC7J,GAAD,OACrD,4BACErF,UACE,+BAAiCqF,EAAM8J,QAAU,WAAa,IAEhEtH,SAAUxC,EAAMwC,SAChBE,QAAS1C,EAAM0C,QACfL,KAAMrC,EAAMqC,MAAQ,UAEnBrC,EAAMa,QAAUb,EAAMa,OACtBb,EAAMwJ,WACL,oCACG,IACD,0BAAM7O,UAAU,uBAAwB,KAExC,KACHqF,EAAMyJ,SACL,oCACG,IACD,0BAAM9O,UAAU,qBAAsB,KAEtC,KACHqF,EAAMoJ,UACL,kBAAC,GAAD,CAAQN,KAAM,KACZ9I,EAAM0J,OACR,oCACG,IACD,0BAAM/O,UAAU,mBAFlB,IAEuCqF,EAAMsJ,SAH3C,UAMCtJ,EAAMsJ,WAKAS,GAhKwB,SAAC/J,GAAD,OACrC,4BACErF,UACE,QACCqF,EAAMgK,YAAc,eAAiB,KACrChK,EAAMiK,YAAc,eAAiB,KACrCjK,EAAMwC,UAAYxC,EAAMoJ,UAAY,UAAY,UAEnD5G,SAAUxC,EAAMwC,SAChBE,QAAS1C,EAAM0C,QACfL,KAAMrC,EAAMqC,MAAQ,UAEnBrC,EAAMa,QAAUb,EAAMa,OACtBb,EAAMoJ,UACL,kBAAC,GAAD,CAAQN,KAAM,KACZ9I,EAAM0J,OACR,oCACG,IACD,0BAAM/O,UAAU,mBAFlB,IAEuCqF,EAAMsJ,SAH3C,UAMCtJ,EAAMsJ,WCzBAY,I,OAR6B,SAAClK,GACzC,OACI,yBAAKrF,UAAU,YAAY4L,MAAO,CAAE4D,MAAOnK,EAAMmK,QAC5CnK,EAAM0I,YCKJ0B,GAdO,WAWrB,MARU,CACRC,SAAUC,SAASC,KAAKC,aAAe,IACvCC,SAAUH,SAASC,KAAKC,YAAc,KAAOF,SAASC,KAAKC,aAAe,KAC1EE,UAAWJ,SAASC,KAAKC,YAAc,OC8G3BG,GAhCO,CACpBC,KAAM,uCACNC,aAAc,4CACdC,iBAAkB,2CAClBC,UAAW,GACXC,UAAW,GACXC,OAAQ,+CACRC,WAAY,GACZC,oBAAqB,0HACrBC,wBAAyB,KACzBC,4BAA6B,KAG7BC,SAAU,WACVC,YAAa,oDAGbC,YAAa,eACbC,OAAQ,uCACRC,iBAAkB,EAClBC,YAAY,4CC1GDC,GAMT,qEANSA,GAkCQ,gDAlCRA,GAsCS,yDAtCTA,GAgDW,oCAhDXA,GAwDW,kDAxDXA,GA4DT,oLA5DSA,GAgET,kGAhESA,GAkET,8GAlESA,GAoET,2GCgBWC,GApFM,CACnBC,UAAW,YACXC,YAAa,cACbC,wBAAyB,0BACzBC,iBAAkB,mBAClBC,mBAAoB,qBACpBC,QAAS,UACTC,eAAgB,iBAChBC,oBAAqB,sBACrBC,cAAe,gBACfC,eAAgB,iBAChBC,yBAA0B,2BAC1BC,aAAc,eACdC,yBAA0B,2BAC1BC,2BAA4B,6BAC5BC,4BAA6B,8BAC7BC,0BAA2B,4BAC3BC,2BAA4B,6BAC5BC,oBAAqB,sBACrBC,cAAe,gBACfC,cAAe,gBACfC,uBAAwB,yBACxBC,eAAgB,iBAChBC,gBAAiB,kBACjBC,uBAAwB,yBACxBC,mBAAoB,qBACpBC,oBAAqB,sBACrBC,wBAAyB,0BACzBC,OAAQ,SACRC,UAAW,YACXC,YAAa,cACbC,eAAe,iBACfC,aAAc,eACdC,oBAAqB,sBACrBC,qBAAsB,uBACtBC,2BAA4B,6BAC5BC,4BAA6B,8BAC7BC,mBAAoB,qBACpBC,uBAAwB,yBACxBC,sBAAuB,wBACvBC,yBAA0B,2BAC1BC,iBAAkB,mBAClBC,oBAAqB,sBACrBC,0BAA2B,4BAC3BC,4BAA6B,8BAC7BC,yBAA0B,2BAC1BC,0BAA2B,4BAC3BC,eAAgB,iBAChBC,kBAAmB,oBACnBC,cAAe,gBACfC,mBAAoB,qBACpBC,mBAAoB,qBACpBC,iBAAkB,mBAClBC,WAAY,aACZC,eAAgB,iBAChBC,gBAAiB,kBACjBC,uCACE,yCACFC,yBAA0B,2BAC1BC,oBAAqB,sBACrBC,WAAY,aACZC,aAAc,eACdC,cAAe,gBACfC,mBAAoB,qBACpBC,wBAAyB,0BACzBC,gCAAiC,kCACjCC,kBAAmB,oBACnBC,eAAgB,iBAChBC,UAAW,YACXC,UAAW,YACXC,yBAA0B,2BAC1BC,mBAAoB,qBACpBC,iBAAkB,mBAClBC,mBAAoB,qBACpBC,kBAAmB,oBACnBC,SAAU,WACVC,mBAAoB,qBACpBC,cAAe,gBACfC,0BAA2B,4BAC3BC,iBAAkB,mBAClBC,eAAgB,iBAChBC,iBAAkB,oBC1EpB,SAASC,GAAYC,GACnB,GAAIA,EAAO,CAET,IADA,IAAIC,EAAS,GACJrL,EAAI,EAAGA,EAAIoL,EAAMpS,OAAQgH,IACtB,IAANA,EAASqL,EAASD,EAAMpL,GAAGsL,aACrBD,EAAOpM,SAASmM,EAAMpL,GAAGsL,gBACjCD,GAAM,YAASD,EAAMpL,GAAGsL,eAG5B,OAAOD,GAIX,SAASE,GAAgBH,GACvB,GAAIA,EAAO,CAET,IADA,IAAIC,EAAS,GACJrL,EAAI,EAAGA,EAAIoL,EAAMpS,OAAQgH,IACtB,IAANA,EAASqL,EAASD,EAAMpL,GAAGwL,UACrBH,EAAOpM,SAASmM,EAAMpL,GAAGwL,aACjCH,GAAM,YAASD,EAAMpL,GAAGwL,YAE5B,OAAOH,GAaI,SAASI,GAAcC,EAAeC,GACnD,IA+xDoBC,EA9xDpB,OAAQD,GACN,KAAKE,GAAY1F,UAEf,OA2RN,SAA0ByF,GACxB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJxT,KAAM+S,EAAIU,cAIL,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAxTjB,MA6TP,OAAON,EAjTMU,CAAiBd,GAE5B,KAAKG,GAAYzF,YAEf,OAgTN,SAA4BwF,GAC1B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJI,SAAUb,EAAIU,cAIT,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAhVjB,MAqVP,OAAON,EAtUMY,CAAmBhB,GAE9B,KAAKG,GAAYxF,wBAEf,OAqUN,SAAwCuF,GACtC,IAAIE,EAAS,GAC8B,KAAvCF,EAAIG,cAAcC,OAAOC,YAC3B5M,QAAQC,IAAI,uBAAwBsM,GACpCE,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,cAGZR,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAvWjB,MA2WP,OAAON,EAzVMa,CAA+BjB,GAE1C,KAAKG,GAAYvF,iBAEf,OAuVN,SAAiCsF,GAC/B,IAAIE,EAAS,GAC8B,KAAvCF,EAAIG,cAAcC,OAAOC,YAC3B5M,QAAQC,IAAI,uBAAwBsM,GACpCE,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,cAGZR,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GAENjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA7XjB,MAiYP,OAAON,EA5WMc,CAAwBlB,GAEnC,KAAKG,GAAYtF,mBAEf,OA2WN,SAAmCqF,GACjC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAlZjB,MAuZP,OAAON,EA/XMe,CAA0BnB,GAErC,KAAKG,GAAYrF,QAEf,OA8XN,SAAwBoF,GACtB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJS,MAAOlB,EAAIU,cAIN,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA1ajB,MA+aP,OAAON,EApZMiB,CAAerB,GAE1B,KAAKG,GAAYpF,eAEf,OAmZN,SAA+BmF,GAC7B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,YAAY,IAGf,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAhcjB,MAqcP,OAAON,EAvaMkB,CAAsBtB,GAEjC,KAAKG,GAAYnF,oBAEf,OAsaN,SAAoCkF,GAClC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJY,iBAAkBrB,EAAIU,YAAYY,iBAClCC,kBAAmBvB,EAAIU,YAAYc,kBACnCC,yBAA0BzB,EAAIU,YAAYe,yBAC1CC,oBAAqB1B,EAAIU,YAAYgB,oBACrCC,8BACE3B,EAAIU,YAAYiB,8BAClBC,+BACE5B,EAAIU,YAAYkB,iCAIb,CACPtB,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA/djB,MAoeP,OAAON,EAncM2B,CAA2B/B,GAEtC,KAAKG,GAAYlF,cAEf,OAkcN,SAA8BiF,GAC5B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UArfjB,MA0fP,OAAON,EAtdM4B,CAAqBhC,GAEhC,KAAKG,GAAYjF,eAEf,OAqdN,SAA+BgF,GAC7B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA3gBjB,MAghBP,OAAON,EAzeM6B,CAAsBjC,GAEjC,KAAKG,GAAYhF,yBAEf,OAweN,SAAyC+E,GACvC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAjiBjB,MAsiBP,OAAON,EA5fM8B,CAAgClC,GAE3C,KAAKG,GAAY/E,aAEf,OA2fN,SAA6B8E,GAC3B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAK,2BACAT,EAAIU,aADL,IAEFD,KAAMT,EAAIU,YAAYuB,QAoDjB,CACP3B,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA1mBjB,MA+mBP,OAAON,EAlkBMgC,CAAoBpC,GAE/B,KAAKG,GAAY9E,yBAEf,OAikBN,SAAyC6E,GACvC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAhoBjB,MAqoBP,OAAON,EArlBMiC,CAAgCrC,GAE3C,KAAKG,GAAY7E,2BAEf,OAolBN,SAA2C4E,GACzC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAtpBjB,MA2pBP,OAAON,EAxmBMkC,CAAkCtC,GAE7C,KAAKG,GAAY5E,4BAEf,OAsmBN,SAA4C2E,GAC1C,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA3qBjB,MAgrBP,OAAON,EA1nBMmC,CAAmCvC,GAE9C,KAAKG,GAAY3E,0BAEf,OAwnBN,SAA0C0E,GACxC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM6B,KAAKC,MAAMvC,EAAIU,aAAa8B,4BAG3B,CACPlC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAhsBjB,MAqsBP,OAAON,EA5oBMuC,CAAiC3C,GAE5C,KAAKG,GAAY1E,2BAEf,OA0oBN,SAA2CyE,GACzC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAA0B,OAApBT,EAAIU,YAAuBV,EAAIU,YAAc,oBAG5C,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UArtBjB,MA0tBP,OAAON,EA9pBMwC,CAAkC5C,GAE7C,KAAKG,GAAYzE,oBAEf,OA4pBN,SAAoCwE,GAClC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJkC,UAAW3C,EAAIU,cAIV,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA5uBjB,MAivBP,OAAON,EAlrBM0C,CAA2B9C,GAEtC,KAAKG,GAAYxE,cAEf,OAgrBN,SAA8BuE,GAC5B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJoC,WAAY7C,EAAIU,cAIX,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAnwBjB,MAwwBP,OAAON,EAtsBM4C,CAAqBhD,GAEhC,KAAKG,GAAYvE,cAEf,OAosBN,SAA8BsE,GAC5B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJsC,aAAc/C,EAAIU,cAIb,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA1xBjB,MA+xBP,OAAON,EA1tBM8C,CAAqBlD,GAEhC,KAAKG,GAAYtE,uBAEf,OAwtBN,SAAuCqE,GACrC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJwC,cAAejD,EAAIU,cAId,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAjzBjB,MAszBP,OAAON,EA9uBMgD,CAA8BpD,GAEzC,KAAKG,GAAYrE,eAEf,OA4uBN,SAA+BoE,GAC7B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAA0B,OAApBT,EAAIU,YAAuBV,EAAIU,YAAc,mBACnDyC,cAAenD,EAAIG,cAAcC,QAG1B,CACPE,QAAQ,EACR6C,cAAenD,EAAIG,cAAcC,OACjCG,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAx0BjB,MA60BP,OAAON,EAlwBMkD,CAAsBtD,GAEjC,KAAKG,GAAYpE,gBAEf,OAiwBN,SAAgCmE,GAC9B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA91BjB,MAm2BP,OAAON,EArxBMmD,CAAuBvD,GAElC,KAAKG,GAAYnE,uBAEf,OAoxBN,SAAuCkE,GACrC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,YAAcV,EAAIU,YAAc,GAC1ClB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAp3BjB,MAy3BP,OAAON,EAxyBMoD,CAA8BxD,GAEzC,KAAKG,GAAYlE,mBAEf,OAuyBN,SAAmCiE,GACjC,IAAIE,EAAS,GACbzM,QAAQC,IAAI,4BAA6BsM,GAEvCE,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACN8C,UAAU,GAAD,OAAK5D,GAAgBK,EAAIG,cAAcQ,SAChDnB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA54BjB,MAi5BP,OAAON,EA7zBMsD,CAA0B1D,GAErC,KAAKG,GAAYjE,oBAEf,OA2zBN,SAAoCgE,GAClC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAj6BjB,MAs6BP,OAAON,EA/0BMuD,CAA2B3D,GAEtC,KAAKG,GAAYhE,wBAEf,OA60BN,SAAwC+D,GACtC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAt7BjB,MA27BP,OAAON,EAj2BMwD,CAA+B5D,GAE1C,KAAKG,GAAY3D,aAEf,OA+1BN,SAA6B0D,GAC3B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,YAAY,IAGf,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA38BjB,MAg9BP,OAAON,EAn3BMyD,CAAoB7D,GAE/B,KAAKG,GAAY1D,oBAEf,OAi3BN,SAAoCyD,GAClC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJmD,iBAAkB5D,EAAIU,cAIjB,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAl+BjB,MAu+BP,OAAON,EAv4BM2D,CAA2B/D,GAEtC,KAAKG,GAAYzD,qBAEf,OAq4BN,SAAqCwD,GACnC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAv/BjB,MA4/BP,OAAON,EAz5BM4D,CAA4BhE,GAEvC,KAAKG,GAAYxD,2BAEf,OAu5BN,SAA2CuD,GACzC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJsD,QAAS/D,EAAIU,cAIR,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA9gCjB,MAmhCP,OAAON,EA76BM8D,CAAkClE,GAE7C,KAAKG,GAAYvD,4BAEf,OA26BN,SAA4CsD,GAC1C,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAniCjB,MAwiCP,OAAON,EA/7BM+D,CAAmCnE,GAE9C,KAAKG,GAAYtD,mBAEf,OA67BN,SAAmCqD,GACjC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAxjCjB,MA6jCP,OAAON,EAj9BMgE,CAA0BpE,GAErC,KAAKG,GAAYrD,uBAEf,OA+8BN,SAAuCoD,GACrC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA7kCjB,MAklCP,OAAON,EAn+BMiE,CAA8BrE,GAEzC,KAAKG,GAAY/D,OAEf,OAk+BN,SAAuB8D,GACrB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAnmCjB,MAwmCP,OAAON,EAt/BMkE,CAActE,GAEvB,KAAKG,GAAY9D,UAEjB,OAo/BN,SAA0B6D,GACxB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAxnCjB,MA6nCP,OAAON,EAxgCMmE,CAAiBvE,GAE5B,KAAKG,GAAY7D,aAwgCrB,SAA4B4D,GAC1B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA7oCjB,MAipCP,OAAON,GAzhCMoE,CAAmBxE,GAC5B,KAAKG,GAAY5D,eAEjB,OAwhCN,SAA+B2D,GAC7B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAjqCjB,MAqqCP,OAAON,EA3iCQqE,CAAsBzE,GAEnC,KAAKG,GAAYpD,sBAEf,OAyiCN,SAAsCmD,GACpC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAyB,MAAnBT,EAAIU,YAAsBV,EAAIU,YAAc,qBAG3C,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UArrCjB,MAyrCP,OAAON,EA5jCMsE,CAA6B1E,GAExC,KAAKG,GAAYnD,yBAEf,OA0jCN,SAAyCkD,GACvC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAzsCjB,MA6sCP,OAAON,EA7kCMuE,CAAgC3E,GAE3C,KAAKG,GAAYlD,iBAEf,OA4kCN,SAAiCiD,GAC/B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA9tCjB,MAmuCP,OAAON,EAhmCMwE,CAAwB5E,GAEnC,KAAKG,GAAYjD,oBAEf,OA8lCN,SAAoCgD,GAClC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAnvCjB,MAwvCP,OAAON,EAlnCMyE,CAA2B7E,GAEtC,KAAKG,GAAYhD,0BAEf,OAinCN,SAA0C+C,GACxC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAzwCjB,MA8wCP,OAAON,EAroCM0E,CAAiC9E,GAE5C,KAAKG,GAAY/C,4BAEf,OAmoCN,SAA4C8C,GAC1C,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA9xCjB,MAmyCP,OAAON,EAvpCM2E,CAAmC/E,GAE9C,KAAKG,GAAY9C,yBAEf,OAspCN,SAAyC6C,GACvC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UApzCjB,MAyzCP,OAAON,EA1qCM4E,CAAgChF,GAE3C,KAAKG,GAAY7C,0BAEf,OAwqCN,SAA0C4C,GACxC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAz0CjB,MA80CP,OAAON,EA5rCM6E,CAAiCjF,GAE5C,KAAKG,GAAY5C,eAEf,OA0rCN,SAA+B2C,GAC7B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAOnF,GACPoF,OAAO,GAAD,OAAKF,GAAYS,EAAIG,cAAcQ,SAAnC,QACJX,EAAIG,cAAcK,UA/1CjB,MAo2CP,OAAON,EA/sCM8E,CAAsBlF,GAEjC,KAAKG,GAAY3C,kBAEf,OA6sCN,SAAkC0C,GAChCvM,QAAQC,IAAI,2BAA4BsM,GACxC,IAAIE,EAAS,GAC8B,KAAvCF,EAAIG,cAAcC,OAAOC,YAC3BH,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAEZjN,QAAQC,IAAIwM,IAEZA,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAt3CjB,MA23CP,OAAON,EAnuCM+E,CAAyBnF,GAEpC,KAAKG,GAAY1C,cAEf,OAkuCN,SAA8ByC,GAC5B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAOnF,GACPoF,OAAO,GAAD,OAAKF,GAAYS,EAAIG,cAAcQ,SAAnC,QACJX,EAAIG,cAAcK,UA74CjB,MAk5CP,OAAON,EAvvCMgF,CAAqBpF,GAEhC,KAAKG,GAAYzC,mBAEf,OAsvCN,SAAmCwC,GACjC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAn6CjB,MAw6CP,OAAON,EA1wCMiF,CAA0BrF,GAErC,KAAKG,GAAYxC,mBAEf,OAywCN,SAAmCuC,GACjC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAz7CjB,MA87CP,OAAON,EA7xCMkF,CAA0BtF,GAErC,KAAKG,GAAYvC,iBAEf,OAkzCN,SAAiCsC,GAC/B,IAOO,MAPHE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACN4E,oBAAqB,CACnBC,OAAQ,OAAHtF,QAAG,IAAHA,GAAA,UAAAA,EAAKG,qBAAL,mBAAoBQ,cAApB,eAA4B4E,MAAK,SAACC,GAAD,MAAuB,YAAXA,EAAEC,UAGpDC,SAAU,OAAH1F,QAAG,IAAHA,GAAA,UAAAA,EAAKG,qBAAL,eAAoBQ,OAAO4E,MAAK,SAACC,GAAD,MAAuB,SAAXA,EAAEC,WAIvDjG,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA7+CjB,MAk/CP,OAAON,EA90CMyF,CAAwB7F,GAEnC,KAAKG,GAAYtC,WAEf,OA60CN,SAA2BqC,GACzB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAngDjB,MAwgDP,OAAON,EAj2CM0F,CAAkB9F,GAE7B,KAAKG,GAAYrC,eAEf,OAg2CN,SAA+BoC,GAC7B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAzhDjB,MA8hDP,OAAON,EAp3CM2F,CAAsB/F,GAEjC,KAAKG,GAAYpC,gBAEf,OAm3CN,SAAgCmC,GAC9B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA/iDjB,MAojDP,OAAON,EAv4CM4F,CAAuBhG,GAElC,KAAKG,GAAYnC,uCAEf,OAs4CN,SAAuDkC,GACrD,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAOnF,GACPoF,OAAO,GAAD,OAAKF,GAAYS,EAAIG,cAAcQ,SAAnC,QACJX,EAAIG,cAAcK,UAtkDjB,MA2kDP,OAAON,EA35CM6F,CAA8CjG,GAEzD,KAAKG,GAAYlC,yBAEf,OAy5CN,SAAyCiC,GACvC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAOnF,GACPoF,OAAO,GAAD,OAAKF,GAAYS,EAAIG,cAAcQ,SAAnC,QACJX,EAAIG,cAAcK,UA5lDjB,MAimDP,OAAON,EA96CM8F,CAAgClG,GAE3C,KAAKG,GAAYjC,oBAEf,OA46CN,SAAoCgC,GAClC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GAENjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAlnDjB,MAunDP,OAAON,EAj8CM+F,CAA2BnG,GAEtC,KAAKG,GAAYhC,WAEf,OA+7CN,SAA2B+B,GACzB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAvoDjB,MA4oDP,OAAON,EAn9CMgG,CAAkBpG,GAE7B,KAAKG,GAAY/B,aAEf,OAi9CN,SAA6B8B,GAC3BvM,QAAQC,IAAIsM,EAAK,QACjB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GAENjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA9pDjB,MAmqDP,OAAON,EAv+CMiG,CAAoBrG,GAE/B,KAAKG,GAAY9B,cAEf,OAs+CN,SAA8B6B,GAC5B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAprDjB,MAyrDP,OAAON,EA1/CMkG,CAAqBtG,GAEhC,KAAKG,GAAY7B,mBAEf,OA8vCN,SAAmC4B,GACjC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA/8CjB,MAo9CP,OAAON,EAlxCMmG,CAA0BvG,GAErC,KAAKG,GAAY5B,wBAEf,OAs/CN,SAAwC2B,GACtC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA1sDjB,MA+sDP,OAAON,EA1gDMoG,CAA+BxG,GAE1C,KAAKG,GAAY3B,gCAEf,OAwgDN,SAAgD0B,GAC9C,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA/tDjB,MAouDP,OAAON,EA5hDMqG,CAAuCzG,GAElD,KAAKG,GAAY1B,kBAEf,OA0hDN,SAAkCyB,GAChC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UApvDjB,MAyvDP,OAAON,EA9iDMsG,CAAyB1G,GAEpC,KAAKG,GAAYzB,eAEf,OA6iDN,SAA+BwB,GAC7B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA1wDjB,KA4wDHf,OAAQ,IAIZ,OAAOS,EAlkDMuG,CAAsB3G,GAEjC,KAAKG,GAAYxB,UAEf,OAgkDN,SAA0BuB,GACxB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAhyDjB,MAqyDP,OAAON,EAplDMwG,CAAiB5G,GAE5B,KAAKG,GAAYvB,eAulDG,OAFFsB,EAplDMF,GAslDlB6G,UAGQ3G,EAAI4G,WAMV,GAAD,OAAKrH,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UApzDjB,MAqNL,KAAKP,GAAYtB,yBAEf,OAkmDN,SAAyCqB,GACvC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAv0DjB,MA40DP,OAAON,EAtnDM2G,CAAgC/G,GAE3C,KAAKG,GAAYrB,mBAEf,OAyoDN,SAAmCoB,GACjC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAj3DjB,MAs3DP,OAAON,EA7pDM4G,CAA0BhH,GAErC,KAAKG,GAAYpB,iBAEf,OA4pDN,SAAiCmB,GAC/B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAv4DjB,MA24DP,OAAON,EA/qDM6G,CAAwBjH,GAEnC,KAAKG,GAAYnB,mBAEf,OA6qDN,SAAmCkB,GACjC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA35DjB,MA+5DP,OAAON,EAhsDM8G,CAA0BlH,GAErC,KAAKG,GAAYlB,kBAEf,OA8rDN,SAAkCiB,GAChC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA/6DjB,MAm7DP,OAAON,EAjtDM+G,CAAyBnH,GAEpC,KAAKG,GAAYjB,SAEf,OAwmDN,SAAyBgB,GACvB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA51DjB,MAi2DP,OAAON,EA5nDMgH,CAAgBpH,GAG3B,KAAKG,GAAYhB,mBAEf,OAguDN,SAAmCe,GACjC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAx9DjB,MA49DP,OAAON,EAnvDMiH,CAA0BrH,GAErC,KAAKG,GAAYf,cAEf,OAysDN,SAA8Bc,GAC5B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAp8DjB,MAw8DP,OAAON,EA5tDMkH,CAAqBtH,GAEhC,KAAKG,GAAYd,0BAEf,OA+uDN,SAA0Ca,GACxC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA7+DjB,MAk/DP,OAAON,EAnwDMmH,CAAiCvH,GAE5C,KAAKG,GAAYb,iBAEf,OAkwDN,SAAiCY,GAC/B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAngEjB,MAwgEP,OAAON,EAtxDMoH,CAAwBxH,GAEnC,KAAKG,GAAYZ,eAEf,OA6BN,SAAmCW,GACjC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAjSjB,MAqSP,OAAON,EAhDMqH,CAA0BzH,GAErC,KAAKG,GAAYX,iBAEf,OAMN,SAA+BU,GAC7B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAGH,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA7QjB,MAiRP,OAAON,EAzBMsH,CAAsB1H,ICtQ9B,ICPF2H,GDOQC,GAAU,uCAAG,WAAOC,EAAcC,GAArB,2BAAArT,EAAA,6DAClBsT,EAAc,CAClBC,OAAQH,EAAIG,OACZC,QAAS,CACP,eAAgB,mBAChB,UAAY3O,GAAOc,SAInByN,EAAIK,WACNH,EAAOE,QAAP,SAA6BJ,EAAIK,UAG/BL,EAAII,UAASF,EAAOE,QAAP,2BAAsBF,EAAOE,SAAYJ,EAAII,UAIpC,KAAtBE,GAAYC,QAAkC,IAAlBP,EAAInO,YAClCqO,EAAOE,QAAP,2BACKF,EAAOE,SADZ,IAEEI,cAAe,UAAYF,GAAYC,SAGvCE,EAAuB9F,KAAKC,MAC9B8F,OAAOC,aAAaC,QAAQ,4BAA8B,OAGzDN,GAAYC,OACbE,EAAqBF,QACH,IAAlBP,EAAInO,YAEJqO,EAAOE,QAAP,2BACKF,EAAOE,SADZ,IAEEI,cAAe,UAAYC,EAAqBF,SAIjC,SAAfP,EAAIG,QAAoC,QAAfH,EAAIG,QAAmC,WAAfH,EAAIG,SACvDD,EAAM,KAAWvF,KAAKkG,UAAUb,EAAI3O,OAtCd,SAyClByP,EAAMd,EAAIe,WAAaf,EAAIe,WAAatP,GAAOM,OAzC7B,UA0CHiP,MAAMF,EAAMd,EAAIiB,IAAKf,GA1ClB,eA0ChBgB,EA1CgB,iBA2CAA,EAAKC,OA3CL,WA6CwB,OAFxCC,EA3CgB,QA6CX5I,cAAcC,OAAOC,aAC9B2I,MAAMD,EAAQ5I,cAAcQ,OAAO,GAAGjB,cACtC2I,OAAOY,SAASC,KAAM9P,GAAOC,KAAO7N,GAAUC,WAAWmC,QAAQ,IAAK,MAEpEib,EAAKd,QAAQoB,IAAI,SAjDC,iBAkDdC,EAAQP,EAAKd,QAAQoB,IAAI,SAC/BvB,EAASmB,EAASK,GAnDE,4BAuDhBzB,EAAI5H,aAAmC,KAApB4H,EAAI5H,YAvDP,kCAwDFF,GAAckJ,EAASpB,EAAI5H,aAxDzB,QAwDdC,EAxDc,OAyDlB4H,EAAS5H,GAzDS,wBA2DlB4H,EAASmB,GA3DS,0DA6EtBtV,QAAQC,IAAI,kBAAmBiU,EAAKA,EAAI5H,aACxC6H,GACEA,EAAS,CACPpI,MAAO,GACPC,OAAO,EAAD,KAjFY,0DAAH,wDEfV4J,GAAe,SAACzB,EAA4B0B,GACvD5B,GACE,CACEkB,IAAK,0BACLd,OAAQ,OACR9O,KAAM,CACJuQ,SAAUD,GAEZZ,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaE,aAE5BoN,IAeS4B,GAAsB,SACjC5B,EACA6B,GAEA/B,GACE,CACEkB,IAAK,4BACLd,OAAQ,OACR9O,KAAMyQ,EACNf,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAakD,oBAE5BoK,IAwHS8B,GAAuB,SAClC9B,EACA+B,EACAjE,EACAkE,GAEAlC,GACE,CACEkB,IAAK,kCACL5P,KAAM,CACJ6Q,cAAeF,EACfG,MAAOpE,EACPqE,OAAQH,GAEV9B,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaQ,qBAE5B8M,IAkDSoC,GAAkB,SAC7BpC,EACAqC,EACAC,GAGAxC,GACE,CACEkB,IAAK,mCACL5P,KAAM,CACJmR,QAASD,EACTE,KAAMH,EACNI,cAAe,GAEjBvC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaO,gBAE5B+M,IA8CS0C,GAAkB,SAAC1C,EAA4B2C,GAC1D7C,GACE,CACEkB,IAAK,oCACL5P,KAAMuR,EACNzC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaU,gBAE5B4M,IA8BW4C,GAAoB,SAAC5C,EAA4B6C,GAC5D/C,GACE,CACEkB,IAAK,mCACL5P,KAAM,CACJmR,QAASM,EACTL,KAAM,GACNM,KAAK,GACLL,cAAe,EACfM,MAAM,IAER7C,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAauE,kBAE5B+I,ICrVSgD,I,OAVA,SAACnc,GAAD,OACX,yBAAKrF,UAAU,UACX,yBAAKA,UAAU,UACX,2BAAOA,UAAU,OACZqF,EAAM0I,c,iBFKlBsQ,O,yBAAAA,I,4BAAAA,I,+BAAAA,Q,KAML,IGXIoD,GCSAC,GJ8EWC,GA5EuB,SAAAtc,GAAS,MAEpBC,WAAe,CAAC,GAAI,GAAI,GAAI,KAFR,mBAEvCjF,EAFuC,KAEhCmF,EAFgC,OAKVF,WAAe,IALL,mBAKvCK,EALuC,KAK3BC,EAL2B,KAyC9C,SAASgc,EAAYxb,GAChBA,EAAEyb,UAAYxD,GAAUyD,WAAa1b,EAAEyb,UAAYxD,GAAU0D,WAhBlE,SAAsBzY,GACrB,IAAM0Y,EAAQ1Y,EAAMhD,OAAOqB,GAAGsa,MAAM,KAC9BC,EAASF,EAAM,GAAK,KAAOzV,SAASyV,EAAM,IAAM,GAChDG,EAAUxS,SAASyS,eAAeF,GACxCC,GAAWA,EAAQE,QAclBC,CAAalc,IACFA,EAAEyb,SAAW,IAAMzb,EAAEyb,SAAW,IAAOzb,EAAEyb,UAAYxD,GAAUkE,cAX5E,SAAkBjZ,GACjB,IAAM0Y,EAAQ1Y,EAAMhD,OAAOqB,GAAGsa,MAAM,KAC9BO,EAASR,EAAM,GAAK,KAAOzV,SAASyV,EAAM,IAAM,GAChDS,EAAU9S,SAASyS,eAAeI,GACxCC,GAAWA,EAAQJ,QASlBK,CAAStc,GAIX,OA5CAd,aAAgB,WACf,IAAIqd,EAAUhT,SAASiT,uBAAuBvd,EAAMwd,OAAO,GAC3D3Z,YAAW,WAAO,IAAD,EAChB,UAAAyG,SAASyS,eAAeO,EAAQhb,WAAhC,SAAqC0a,UACnC,KACHM,EAAQjZ,mBACN,IAuCF,uBAAK1J,UAAU,eACbK,EAAM4K,KAAI,SAACsD,EAAGvD,GAAJ,OACV,yBACCO,IAAKP,EACL3D,YAAW,UAAK2D,EAAI,GACpB3K,MAAOA,EAAM2K,GACb7E,SAAU,SAAAC,GAAC,OA3Cf,SAAsB0c,EAAW9X,GAChC,GAAIvG,GAAWrB,KAAK0f,GAAI,CACvB,IAAMC,EAAS,YAAO1iB,GACtB0iB,EAAU/X,GAAK8X,EAEftd,EAASud,GACT1d,EAAMc,SAAS4c,EAAUC,KAAK,MAqCbC,CAAa7c,EAAEE,OAAOjG,MAAO2K,IAC5C1D,QAAS,kBAAM1B,EAAc,WAC7B2B,OAAQ,kBAAM3B,EAAc,KAC5B5F,UAAW,kBAAoBqF,EAAMwd,MAAQld,GAAcN,EAAM6d,WAAa,WAAa,IAC3Fxb,KAAK,MACLlE,IAAK,EACLE,IAAK,EACLmD,UAAW,EACXsc,QAAS,SAAA/c,GAAC,OAAIwb,EAAYxb,IAC1BwB,aAAa,MACbD,GAAItC,EAAMwd,MAAQ,OAAS7X,EAC3BnD,SAAUxC,EAAM+d,kBGpBNC,I,qNAzDXva,MAAQ,CACJ2Y,MAAO,EAAKpc,MAAMoc,O,EAGtB6B,WAAa,WACT7B,GAAQ8B,aAAY,WAChB,IAAIC,EAAO,EAAK1a,MAAM2Y,MAAQ,EACjB,IAAT+B,GACA,EAAKza,SAAS,CAAE0Y,MAAO,EAAKpc,MAAMoc,QAClCgC,cAAchC,KAEd,EAAK1Y,SAAS,CAAE0Y,MAAO+B,MAE5B,M,mEAIHjZ,KAAK+Y,e,6CAILG,cAAchC,M,+BAKd,OACI,yBAAKzhB,UAAU,YACX,yBAAKA,UAAU,UAEf,yBAAKA,UAAU,UAEf,yBAAKA,UAAU,QACVuK,KAAKzB,MAAM2Y,OAEhB,yBAAKzhB,UAAU,UACX,yBAAKA,UAAU,aACX,yBAAKA,UAAU,WACX4L,MAAO,CACH8X,UAAU,QAAD,OAAWnZ,KAAKlF,MAAMoc,MAAS,EAA/B,iBACTkC,eAAe,GAAD,OAAMpZ,KAAKlF,MAAMoc,MAAS,EAA1B,SAI1B,yBAAKzhB,UAAU,YACX,yBAAKA,UAAU,WACX4L,MAAO,CACH8X,UAAU,QAAD,OAAWnZ,KAAKlF,MAAMoc,MAAS,EAA/B,2B,GAjDlBzV,cEPVmO,GACL,UADKA,GAGL,UAHKA,GAKL,UALKA,GAOL,UAPKA,GASL,UATKA,GAWL,UAXKA,GAaL,UAbKA,GAeL,UAfKA,GAiBL,UAjBKA,GAmBL,UAnBKA,GAqBL,UArBKA,GAuBL,UAvBKA,GAyBL,UAzBKA,GA2BL,UA3BKA,GA6BL,UA7BKA,GAiCL,UAjCKA,GAmCL,UAnCKA,GAuCL,UAvCKA,GAyCL,UAzCKA,GA2CL,UA3CKA,GA6CL,UA7CKA,GA+CL,UA/CKA,GAiDL,UAjDKA,GAmDL,UAnDKA,GAqDL,UArDKA,GAuDL,UAvDKA,GAyDL,UAzDKA,GA2DL,UA3DKA,GA6DL,UA7DKA,GA+DL,UA/DKA,GAiEL,UAjEKA,GAmEL,UAnEKA,GAqEL,UArEKA,GAuEL,UAvEKA,GAyEL,UAzEKA,GA6EL,UA7EKA,GA+EL,UA/EKA,GAiFL,UAjFKA,GAmFL,UAnFKA,GAqFL,UArFKA,GAuFL,UAvFKA,GA2FJ,WA3FIA,GA6FL,UA7FKA,GA+FL,UAGKyJ,GAAW,SAACC,GACvB,IAI+C,EAJ3Cpe,EAAY,uBACZqe,EAAgBjF,GAAYkF,eAAetb,QAC7C,SAAC4O,GAAD,OAAUA,EAAKb,YAAcqN,KAE3BC,GAAiBA,EAAc9f,OAAS,IAC1CyB,EAAS,UAAGqe,EAAc,UAAjB,aAAG,EAAkBxN,cAEhC,OAAO7Q,GDvBMue,I,qNAjEXlb,MAAQ,CACJmb,IAAK,GACLC,UAAU,EACVzC,MAAO,EAAKpc,MAAM8e,U,EAEtBC,YAAc,WACV1C,GAAc6B,aAAY,WACtB,IAAIC,EAAO,EAAK1a,MAAM2Y,MAAQ,EACjB,IAAT+B,GACAC,cAAc/B,IACd,EAAK3Y,SAAS,CAAE0Y,MAAO,EAAKpc,MAAM8e,SAAUD,UAAU,KAEtD,EAAKnb,SAAS,CAAE0Y,MAAO+B,MAE5B,M,EAWPa,OAAS,SAAChkB,GACN,EAAK0I,SAAS,CAAEkb,IAAK5jB,IACrB,EAAKgF,MAAMc,SAAS9F,I,EAGxBikB,cAAgB,WACZ,EAAKvb,SAAS,CAAEmb,UAAU,IAC1B,EAAK7e,MAAMif,gBACXpb,YAAW,kBAAM,EAAKkb,gBAAe,M,sEAfrCX,cAAc/B,M,0CAIdnX,KAAK6Z,gB,+BAcC,IAAD,OACL,OACI,yBAAKpkB,UAAU,UACX,uBAAGA,UAAU,UAAUuK,KAAKlF,MAAMuI,OAClC,yBAAK5N,UAAU,YACX,kBAAC,GAAD,CACImG,SAAU,SAAC9F,GAAD,OAAW,EAAKgkB,OAAOhkB,IACjCwiB,MAAOtY,KAAKlF,MAAMwd,MAClBO,WAAY7Y,KAAKlF,MAAM+d,WACvBF,WAAY3Y,KAAKlF,MAAM6d,aAG1B3Y,KAAKlF,MAAM6d,YAAc,uBAAGljB,UAAU,YAAY4jB,GAASzJ,MAE/D5P,KAAKzB,MAAMob,SACR,yBAAKlkB,UAAU,iBACX,2BAAOA,UAAU,cAAjB,gCACA,2BAAOA,UAAU,gBAAgB+H,QAASwC,KAAK+Z,eAA/C,eAGJ,yBAAKtkB,UAAU,YACX,kBAAC,GAAD,CAAUyhB,MAAOlX,KAAKlF,MAAM8e,iB,GA1D/BnY,cEdRuY,GAAa,SAAC/F,GAUzBF,GACE,CACEkB,IAAK,sBACLd,OAAQ,MACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAaC,WAE5BqN,IA6BSgG,GAAa,SAAChG,EAA4BiG,EAAiBC,GACtEpG,GACE,CACEkB,IAAK,eACL5P,KAAM,CACJ6U,YAAYA,EACZC,KAAKA,GAEPhG,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa6B,WAE5ByL,IAuESmG,GAAqB,SAChCnG,EACAoG,EACAX,GAEA3F,GACE,CACEkB,IAAK,qBACL5P,KAAM,CACJiV,MAAOD,EACPE,IAAKb,GAEPvF,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAa8B,aAE5BwL,IAcSuG,GAAkB,SAC7BvG,EACAwG,EACAf,GAEA3F,GACE,CACEkB,IAAK,iBACL5P,KAAM,CACJoV,MAAOA,EACPf,IAAKA,GAEPvF,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAa+B,gBAE5BuL,IA0CSyG,GAAoB,SAACzG,EAA4B0G,GAC5D5G,GACE,CACEkB,IAAK,uBACL5P,KAAM,CACJuV,WAAYD,EAAQE,WACpBC,UAAWH,EAAQI,UACnBC,SAAUL,EAAQM,SAClB7E,OAAQuE,EAAQ1E,OAChBiF,QAASP,EAAQQ,QACjBC,YAAaT,EAAQU,YACrBC,SAAU,wBACVC,OAAQ,OAEVpH,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAaoD,kBAE5BkK,IAuBSuH,GAAoB,SAACvH,EAA4B0G,GAC5D5G,GACE,CACEkB,IAAK,oBACL5P,KAAM,CACJ8Q,MAAOwE,EAAQ5I,MACf+I,UAAWH,EAAQI,UACnBC,SAAUL,EAAQM,SAClBQ,MAAOd,EAAQe,MACf3E,KAAM4D,EAAQrhB,KACdshB,WAAYD,EAAQE,WACpBc,WAAYhB,EAAQiB,YACpBC,YAAalB,EAAQmB,aACrBC,WAAYpB,EAAQqB,YACpBC,YAAatB,EAAQuB,aACrBC,UAAWxB,EAAQyB,WACnBC,UAAW1B,EAAQ2B,WACnBC,aAAc5B,EAAQ6B,cACtBC,UAAW9B,EAAQ+B,WACnBC,QAAShC,EAAQiC,SACjBxB,YAAaT,EAAQU,YACrBwB,SAAUlC,EAAQmC,SAClBC,YAAapC,EAAQqC,YACrBC,aAActC,EAAQuC,aACtBC,OAAQxC,EAAQyC,OAChBC,WAAY1C,EAAQ2C,WACpBC,cAAe5C,EAAQ6C,eAEzBrJ,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAaqD,YAE5BiK,IAYSwJ,GAAkB,SAACxJ,EAA4BD,GAC1DD,GACE,CACEkB,IAAK,sCACL5P,KAAM,CACJqY,KAAM1J,EAAI7W,KACVwgB,WAAY3J,EAAI2J,YAElBxJ,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAaiE,mBAE5BqJ,ICpCW2J,I,OAlP4B,SAAC9iB,GAAU,MAI1BC,WAAeD,EAAME,cAAgB,IAJX,mBAI7ClF,EAJ6C,KAItCmF,EAJsC,OAKtBF,WAAeD,EAAMI,WALC,mBAKpCC,GALoC,WAQpDJ,aAAgB,gBACahC,IAAvB+B,EAAME,cAA8BlF,IAAUgF,EAAME,cACtDC,EAASH,EAAME,gBAEhB,CAACF,EAAME,eAEVD,aAAgB,WACdI,EAAWL,EAAMI,aAChB,CAACJ,EAAMI,YAhB0C,MAmBhBH,WAAe,IAnBC,mBAmB7CK,EAnB6C,KAmBjCC,EAnBiC,KAwFpD,SAASzE,EAAWd,GAClB,OAAQgF,EAAMhC,UAAagC,EAAMhC,YAAcA,GAAShD,GAU1D,SAASwF,EAAcxF,GACrB,QAAkBiD,IAAd+B,EAAM7B,IACR,OAAO,EAET,GAAIc,OAAOjE,GACT,MAAMyF,MAAM,8CAEd,QAASvC,IAAclD,EAAOgF,EAAM7B,KAUtC,SAASuC,EAAc1F,GACrB,QAAkBiD,IAAd+B,EAAM3B,IACR,OAAO,EAET,GAAIY,OAAOjE,GACT,MAAMyF,MAAM,8CAEd,QAASrC,IAAcpD,EAAOgF,EAAM3B,KAStC,SAASsC,EAAe3F,GACtB,OACGgF,EAAMY,SAAYZ,EAAMY,UAAY/C,GAAa7C,EAAOgF,EAAMY,SAmEnE,OACE,uBAAKjG,UAAW,uBAAyBqF,EAAMrF,WAC7C,uBACEA,UACE,mBAAqB2F,GAAcN,EAAMI,UAAY,SAAW,KAGjEJ,EAAMa,QAAU,uBAAKlG,UAAU,gBAAgBqF,EAAMa,QACtD,4BACE7F,MAAOA,EACP8F,SA5CR,SAAsBC,GACpB,IAAIC,EAoBJ,IAjBGD,EAAEE,OAAOjG,OAA4B,KAAnB+F,EAAEE,OAAOjG,OAAmC,MAAnB+F,EAAEE,OAAOjG,QAhJzD,SAAwBA,GACtB,OACGgF,EAAMkB,SAAYlB,EAAMkB,UAAYrD,GAAa7C,EAAOoE,IA+IzD+B,CAAeJ,EAAEE,OAAOjG,QArI5B,SAAsBA,GACpB,OAAQgF,EAAMoB,OAAUpB,EAAMoB,QAAUvD,GAAa7C,EAAOgF,EAAMoB,OAqIhEC,CAAaN,EAAEE,OAAOjG,QA5H1B,SAAyBA,GACvB,OACGgF,EAAMsB,UAAatB,EAAMsB,WAAazD,GAAa7C,EAAOsE,IA2H3DiC,CAAgBR,EAAEE,OAAOjG,QA/F7B,SAA0BA,GACxB,YAA2BiD,IAApB+B,EAAMwB,WAA2BxG,EAAM2D,QAAUqB,EAAMwB,UA+F5DC,CAAiBV,EAAEE,OAAOjG,QA5G9B,SAA0BA,GACxB,OACGgF,EAAM0B,WAAc1B,EAAM0B,YAAc7D,GAAa7C,EAAOqE,IA2G7DsC,CAAiBZ,EAAEE,OAAOjG,QA1H9B,SAAgCA,GAC9B,OACGgF,EAAMT,iBACNS,EAAMT,kBAAoB1B,GAAa7C,EAAOuE,IAwH/CqC,CAAuBb,EAAEE,OAAOjG,QAGdgG,EAAdhB,EAAM6B,OAAwBd,EAAEE,OAAOjG,MAAM8G,cAC5Bf,EAAEE,OAAOjG,MAC9BqF,EAAW,KAGXW,EAAgBhG,EAGdgF,EAAMc,SAAU,CAClB,IAAMiB,EAAW/B,EAAMc,SAASE,GAAiB,IAG/Cb,OADelC,IAAb8D,EACOA,EAEAf,GAAiB,MAkBxBgB,YAAahC,EAAMgC,YACnBrH,UAAU,cACVsH,QAAS,kBAAM1B,EAAc,WAC7B2B,OAxER,WACE3B,EAAc,IAEd,IAAI4B,EAAoB,GAEpBnC,EAAMhC,WACRmE,EAAQ,2BAAQA,GAAR,IAAkBnE,SAAUlC,EAAWd,MAE7CgF,EAAM7B,MACRgE,EAAQ,2BAAQA,GAAR,IAAkBhE,IAAKqC,EAAcxF,MAE3CgF,EAAM3B,MACR8D,EAAQ,2BAAQA,GAAR,IAAkB9D,IAAKqC,EAAc1F,MAE3CgF,EAAMY,UACRuB,EAAQ,2BAAQA,GAAR,IAAkBvB,QAASD,EAAe3F,MAEpDgF,EAAMkC,QAAUlC,EAAMkC,OAAOC,IAyDvBG,GAAItC,EAAMsC,GACVC,aAAcvC,EAAMuC,aACpBC,SAAUxC,EAAMwC,SAChBjH,KAAMyE,EAAMzE,OAEbyE,EAAMyC,cAA+B,WAAfnC,GACrB,uBAAK3F,UAAU,gBACb,qBAAGA,UAAU,kBAAkB+H,QAzBzC,gBA4BO1C,EAAM2C,QAAU,uBAAKhI,UAAU,gBAAgBqF,EAAM2C,SAEvD3C,EAAMI,WAAa,qBAAGzF,UAAU,iBAAiBqF,EAAMI,WACvDJ,EAAM4C,aAAetC,GAActF,IAClC,qBAAGL,UAAU,kBAAkBqF,EAAM4C,YAEtC5C,EAAM6C,UACL,qBAAGlI,UAAS,oBAAeqF,EAAM8C,eAAiB,SAC/C9C,EAAM6C,aC3OJkgB,I,OAA2D,SACtE/iB,GAEA,SAASc,EAASmD,GAChB,IAAI+e,EAAiChjB,EAAMiD,KAAK2C,KAAI,SAACqd,GACnD,OAAIA,EAASC,oBAAsBjf,EAAMhD,OAAO1F,KACvC,CACL2nB,kBAAmBD,EAASC,kBAC5BC,WAAYF,EAASE,WACrBC,SAAUH,EAASG,SACnB5a,QAASvE,EAAMhD,OAAOuH,SAGnBya,KAETjjB,EAAMc,SAASkiB,GAGjB,OACE,oCACGhjB,EAAMiD,KAAK2C,KAAI,SAACqd,GAAD,OACd,2BACE/c,IAAK+c,EAASC,kBACdvoB,UACE,wBACCqF,EAAMwC,UAAYygB,EAASzgB,SAAW,YAAc,KAGvD,2BACEH,KAAK,WACLvB,SAAUA,EACV0H,QAASya,EAASza,UAAW,EAC7BjN,KAAM0nB,EAASC,oBAEjB,0BAAMvoB,UAAU,2BACfsoB,EAASC,mBACR,0BAAMvoB,UAAU,kBAAkBsoB,EAASC,0BAQxCG,GA7D4B,SAACrjB,GAC1C,OACE,2BAAOrF,UAAW,YAAcqF,EAAMwC,SAAW,YAAc,KAC7D,2BACEH,KAAK,WACLvB,SAAUd,EAAMc,SAChB0H,QAASxI,EAAMwI,UAAW,EAC1BjN,KAAMyE,EAAMzE,OAEd,0BAAMZ,UAAU,2BACfqF,EAAM0I,UACL,0BAAM/N,UAAU,kBAAkBqF,EAAM0I,YCoBnC4a,GAAkB,CAC7BC,kBAActlB,EACd+d,aAAS/d,EACTud,UAAMvd,GAGKulB,GAIT,sFAJSA,GAQL,kCAgSOC,GA7RmC,SAACzjB,GAAW,IAAD,QACvBC,IAAM4G,SACxC7G,EAAM0jB,YAFmD,mBACpDA,EADoD,KACxCC,EADwC,OAI3B1jB,IAAM4G,SAA0B,IAJL,mBAI1C+c,GAJ0C,aAKnB3jB,IAAM4G,SAAiB,IALJ,mBAKpDgd,EALoD,KAKtCC,EALsC,OAM/B7jB,IAAM4G,SAAN,eAEpByc,KARmD,mBAMpDS,EANoD,KAM5CC,EAN4C,KAuC3D,SAASC,EAAoB/d,EAA2BlL,GAC1C,YAARkL,GAAsC,IAAjBlL,EAAM2D,SAC7BilB,EAAY,IAIZ7H,IAAkB,SAACxK,GAAD,OAAWnF,EAAemF,KAAKvW,GACjDgpB,EAAU,2BAAKD,GAAN,mBAAe7d,OAAMjI,KAC9B6lB,EAAgB,KAEN,SAAR5d,IACFqV,GAAgBnP,EAAgBpR,EAAjB,OAAwB0oB,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAYQ,SACnDF,EAAU,2BAAKD,GAAN,mBAAe7d,OAAMjI,MAEhC0lB,EAAc,2BAAKD,GAAN,mBAAmBxd,EAAMlL,KACtCgF,EAAMmkB,gBAAN,2BAA2BT,GAA3B,mBAAwCxd,EAAMlL,KAClC,YAARkL,GAA6B,SAARA,GACvBlG,EAAMokB,cAAN,2BAAyBL,GAAzB,mBAAkC7d,OAAMjI,KAG9B,iBAARiI,IACFlB,QAAQC,IAAI,wBACRpF,GAAmB9B,KAAK/C,IAE1BgpB,EAAU,2BACLD,GADI,IAEPR,aAAchF,GAASzJ,OAEzB9U,EAAMokB,cAAN,2BACKL,GADL,IAEER,aAAchF,GAASzJ,SAczB9P,QAAQC,IAAI,aACZ+e,EAAU,2BAAKD,GAAN,IAAcR,kBAActlB,KACrC+B,EAAMokB,cAAN,2BAAyBL,GAAzB,IAAiCR,kBAActlB,OAiCrD,SAASmO,EAAemF,GAGtB,GAFAvM,QAAQC,IAAI,iBAAkBsM,IAEzBA,GAAOA,EAAIR,MAId/Q,EAAMqkB,WAAW9S,EAAIR,YAErB,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKrT,OAAO,EAAG,CACjC,IAAM2lB,EAAW,GACjBA,EAAIJ,QAAU3S,EAAIS,KAAK,GAAGkS,QAC1BI,EAAI3I,KAAOpK,EAAIS,KAAK,GAAGiK,KACvBqI,EAAIC,SAAWhT,EAAIS,KAAK,GAAGuS,SAC3BD,EAAIE,QAAUjT,EAAIS,KAAK,GAAGwS,QAC1BF,EAAIrI,KAAO1K,EAAIS,KAAK,GAAGiK,KACvBqI,EAAIpI,MAAQ3K,EAAIS,KAAK,GAAGkK,MACxBoI,EAAIG,UAAWlT,EAAIS,KAAK,GAAGyS,UAC3BH,EAAII,YAAcnT,EAAIS,KAAK,GAAG0S,YAC9Bf,EAAc,2BAAK3jB,EAAM0jB,YAAeY,IACxCtkB,EAAMmkB,gBAAN,2BAA2BnkB,EAAM0jB,YAAeY,QAC3C,CACL,IAAMA,EAAW,CACjBA,KAAW,GACXA,SAAc,GACdA,QAAc,GACdA,KAAW,GACXA,MAAY,GACZA,UAAgB,GAChBA,YAAkB,IAClBX,EAAc,2BAAK3jB,EAAM0jB,YAAeY,IACxCtkB,EAAMmkB,gBAAN,2BAA2BnkB,EAAM0jB,YAAeY,IAChDtkB,EAAMqkB,WACJ,oEAwCR,OArLApkB,IAAM2H,WAAU,WAAO,IAAD,EAIlB,MAFAiM,KAAKkG,UAAU2J,KAAgB7P,KAAKkG,UAAL,OAAe/Z,QAAf,IAAeA,OAAf,EAAeA,EAAO0jB,cAC3C,OAAVA,QAAU,IAAVA,OAAA,EAAAA,EAAYQ,YAAZ,OAAwBlkB,QAAxB,IAAwBA,GAAxB,UAAwBA,EAAO0jB,kBAA/B,aAAwB,EAAmBQ,WAE3CP,EAAc3jB,EAAM0jB,aAEb,OAAL1jB,QAAK,IAALA,GAAA,UAAAA,EAAO0jB,kBAAP,eAAmBQ,UACoB,KAAlC,OAALlkB,QAAK,IAALA,GAAA,UAAAA,EAAO0jB,kBAAP,mBAAmBQ,eAAnB,eAA4BvlB,UAE5BilB,EAAY,IACZE,EAAgB,IAKhB/H,IAAkB,SAACxK,GAAD,OAAWnF,EAAemF,KAAKvR,EAAM0jB,WAAWQ,aAGrE,EACI,OAALlkB,QAAK,IAALA,GAAA,UAAAA,EAAO0jB,kBAAP,eAAmBH,gBAAnB,OAAmCG,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAYH,eAC1C,OAALvjB,QAAK,IAALA,GAAA,UAAAA,EAAO0jB,kBAAP,eAAmBQ,YAAnB,OAA+BR,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAYQ,WAE7Clf,QAAQC,IAAR,OACEjF,QADF,IACEA,GADF,UACEA,EAAO0jB,kBADT,aACE,EAAmBH,aACnB,0CAEFve,QAAQC,IAAR,OAAYye,QAAZ,IAAYA,OAAZ,EAAYA,EAAYH,aAAc,kCA2JpC,oCACE,yBAAK5oB,UAAU,SACb,2BAAOA,UAAU,cAAcqF,EAAM2kB,cACpC3kB,EAAM4kB,iBACL,2BAAOjqB,UAAU,cACf,2BAAOA,UAAU,iBAAjB,iBACA,yBAAKA,UAAU,gCACb,kBAAC,GAAD,CACE6N,QAASxI,EAAM6kB,cAAe,EAE9BtpB,KAAI,gBAAWyE,EAAM8kB,aACrBhkB,SAAUd,EAAM+kB,0BAMA,mBAAtB/kB,EAAM8kB,eAAsC9kB,EAAM6kB,cACpD,oCACE,yBAAKlqB,UAAU,SACb,2BAAOA,UAAU,YAAjB,WACA,kBAAC,GAAD,CAMEuF,aAAY,OAAEwjB,QAAF,IAAEA,OAAF,EAAEA,EAAYH,aAC1BvhB,YAAY,cACZlB,SAAU,SAAC9F,GAAD,OAAWipB,EAAoB,eAAgBjpB,IACzDwH,SAAUxC,EAAMglB,UAChB5kB,UAAW2jB,EAAOR,aAClBhoB,KAAI,iBAAYyE,EAAM8kB,aACtBtjB,UAAW,OAIf,yBAAK7G,UAAU,SACb,2BAAOA,UAAU,YAAjB,YACA,kBAAC,GAAD,CACEiG,QAASnB,GAAc,GACvByC,OAAQ,SAAC6O,GAAD,OA5EpB,SAA2B7K,EAA2BlL,GACpD,OAAQkL,GACN,IAAK,eACH8d,EAAU,2BACLD,GADI,IAEPR,aAAcvoB,EAAM4F,aAAU3C,EAAYsgB,GAASzJ,OAErD9U,EAAMokB,cAAN,2BACKL,GADL,IAEER,aAAcvoB,EAAM4F,aAAU3C,EAAYsgB,GAASzJ,OAErD,MACF,IAAK,UACHkP,EAAU,2BACLD,GADI,IAEPG,QAASlpB,EAAM4F,aAAU3C,EAAYsgB,GAASzJ,OAEhD9U,EAAMokB,cAAN,2BACKL,GADL,IAEEG,QAASlpB,EAAM4F,aAAU3C,EAAYsgB,GAASzJ,OAEhD,MACF,IAAK,OACkB,kBAAV9Z,GACTgpB,EAAU,2BAAKD,GAAN,IAAcpI,UAAM1d,KAC7B+B,EAAMokB,cAAN,2BAAyBL,GAAzB,IAAiCpI,UAAM1d,OAEvC+lB,EAAU,2BAAKD,GAAN,IAAcpI,KAAM4C,GAASzJ,OACtC9U,EAAMokB,cAAN,2BAAyBL,GAAzB,IAAiCpI,KAAM4C,GAASzJ,SAgDzBmQ,CAAkB,UAAWlU,IAChD7Q,aAAY,OAAEwjB,QAAF,IAAEA,OAAF,EAAEA,EAAYQ,QAC1BliB,YAAY,aACZlB,SAAU,SAAC9F,GAAD,OAAWipB,EAAoB,UAAWjpB,IACpDwH,SAAUxC,EAAMglB,UAChB9jB,SAAO,EACPM,UAAW,EACXpB,UAAW2jB,EAAOG,SAAWL,EAC7BtoB,KAAI,iBAAYyE,EAAM8kB,gBAwB1B,yBAAKnqB,UAAU,SACb,2BAAOA,UAAU,YAAjB,cACA,kBAAC,GAAD,CACEuF,cACY,OAAVwjB,QAAU,IAAVA,OAAA,EAAAA,EAAYzH,QAAZ,OAAoByH,QAApB,IAAoBA,OAApB,EAAoBA,EAAYxH,QAClB,OAAVwH,QAAU,IAAVA,OAAA,EAAAA,EAAYzH,MAAO,OAAnB,OAA2ByH,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAYxH,OACvC,GAENla,YAAY,yBACZQ,UAAU,EACVH,KAAK,OACL9G,KAAI,mBAAcyE,EAAM8kB,mBCpQvBI,I,cA1E6B,SAACllB,GAEzC,SAASc,EAASoF,EAA4BlL,GAC1C,IAAIspB,EAAoB,eAAQtkB,EAAMmlB,eACtCb,EAAIpe,GAAOlL,EACXgF,EAAMolB,mBAAmBd,GAS7B,OACI,uBAAK3pB,UAAU,IAEX,uBAAKA,UAAU,SACX,yBAAOA,UAAU,YAAjB,WACA,gBAAC,GAAD,CACIuF,aAAcF,EAAMmlB,cAAcE,QAClC9pB,KAAI,iBAAYyE,EAAM0E,OACtBZ,eAAgB,SAACT,GAAD,OAASvC,EAAS,UAAWuC,EAAG,UAChDG,aAAc,EACdgB,QAASxE,EAAMslB,YACfpjB,OAAQ,SAACmB,GAAD,OAjBJ6C,EAiBwB,eAhBvB,kBAgBkC7C,EAf/CrD,EAAMgkB,UAAN,2BAAqBhkB,EAAM+jB,QAA3B,mBAAoC7d,EAAMqY,GAASzJ,OACnD9U,EAAMgkB,UAAN,2BAAqBhkB,EAAM+jB,QAA3B,mBAAoC7d,OAAMjI,MAHlD,IAAoBiI,GAkBJ5C,UAAU,UACVtB,YAAY,qBACZwD,UAAU,sCACVpF,UAAWJ,EAAM+jB,OAAOsB,QACxB7e,aAAa,KAGrB,uBAAK7L,UAAU,SACX,yBAAOA,UAAU,YAAjB,uBACA,gBAAC,GAAD,CACIuF,aAAcF,EAAMmlB,cAAcI,OAClC1d,QAASpK,GACTsK,SAAU,SAAC1E,GAAD,OAASvC,EAAS,SAAUuC,IACtC1I,UAAU,aAIiB,WAA/BqF,EAAMmlB,cAAcI,QACpB,uBAAK5qB,UAAU,SACX,yBAAOA,UAAU,YAAjB,+BACA,gBAAC,GAAD,CACIuF,aAAcF,EAAMmlB,cAAcK,YAClC1kB,SAAU,SAACuC,GAAD,OAASvC,EAAS,cAAeuC,IAC3CnB,OAAQ,SAAA6O,GAAK,OAAI/Q,EAAMgkB,UAAN,2BAAqBhkB,EAAM+jB,QAA3B,IAAmCyB,YAAazU,EAAM/S,SAAWugB,GAASzJ,IAAkB,OAC7G9S,YAAY,iBACZ5B,UAAWJ,EAAM+jB,OAAOyB,YACxBnjB,KAAK,OACLrE,UAAQ,KAKpB,uBAAKrD,UAAU,SACX,yBAAOA,UAAU,YAAjB,yBACA,gBAAC,GAAD,CACIuF,aAAcF,EAAMmlB,cAAcM,YAClC3kB,SAAU,SAACuC,GAAD,OAASvC,EAAS,cAAeuC,IAC3CnB,OAAQ,SAAA6O,GAAK,OAAI/Q,EAAMgkB,UAAN,2BAAqBhkB,EAAM+jB,QAA3B,IAAmC0B,YAAa1U,EAAM/S,SAAWugB,GAASzJ,IAAkB,OAC7G9S,YAAY,kBACZ5B,UAAWJ,EAAM+jB,OAAO0B,YACxBpjB,KAAK,OACLrE,UAAQ,QClEf0nB,GAAmB,CAC5BL,QAAS,GACTG,YAAa,GACbD,OAAQ9nB,GAAU,GAAGzC,MACrByqB,YAAa,IAgBFE,GAbqC,SAAC3lB,GAAD,OAChD,uBAAKrF,UAAU,iBACX,yBAAOA,UAAU,WAAjB,+GACA,gBAAC,GAAD,CACI2qB,YAAatlB,EAAMslB,YACnBH,cAAenlB,EAAMmlB,cACrBC,mBAAoBplB,EAAMolB,mBAC1BrB,OAAQ/jB,EAAM+jB,OACdC,UAAWhkB,EAAMgkB,cCjBd4B,I,cAXmC,SAAC5lB,GAC/C,OACI,yBAAKrF,UAAS,wBAAmBqF,EAAMrF,YACnC,yBAAKA,UAAS,YAAe4L,MAAO,CAAEsf,gBAAgB,GAAD,OAAK7lB,EAAM6I,SAC3D7I,EAAM0I,aC2BVod,GAA4B,SACvC3M,EACA4M,GAEA9M,GACE,CACEkB,IAAK,qCACLd,OAAQ,OACR9O,KAAM,CACJyb,aAAcD,EAAcC,aAC5BjE,SAAUkE,GAAOva,kBAEnBuO,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAayD,0BAE5B6J,I,oBChCG,SAAS+M,GAA4B7U,GAAgB,IAAD,IACzDmI,GAAY2M,gBAAgBC,WAAa/U,EAASgV,WAClD7M,GAAY2M,gBAAgB5C,aAAelS,EAASiV,aACpD9M,GAAY2M,gBAAgB3nB,KAAO6S,EAASkV,cAC5C/M,GAAY2M,gBAAgBnK,QAAU3K,EAASmV,aAC/ChN,GAAY2M,gBAAgBM,OAASpV,EAASqV,OAC9C,IAAMC,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBpD,aACtB/J,GAAY2M,gBAAgB5C,aAC9BoD,EAAwB3K,QAAxB,UACExC,GAAY2M,uBADd,iBACE,EAA6BnK,eAD/B,aACE,EAAsC7U,WACxCwf,EAAwBP,WAAxB,OAAqC/U,QAArC,IAAqCA,OAArC,EAAqCA,EAAUgV,WAC/CM,EAAwBF,OAASpV,EAASqV,OAC1C9M,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAInB,ICRKE,GDuRUC,GA/Q2B,SAAC9mB,GAAW,IAAD,EACrBC,IAAM4G,SAA0B,IADX,mBAC5CkgB,EAD4C,KACnC1C,EADmC,OAEHpkB,IAAM4G,WAFH,mBAE5CmgB,EAF4C,KAE1BC,EAF0B,OAGbhnB,IAAM4G,SAAiB,IAHV,mBAG5CqgB,EAH4C,KAG/BC,EAH+B,OAIjBlnB,IAAM4G,UAAkB,GAJP,mBAI5CuC,EAJ4C,KAIjCge,EAJiC,KAK7C5M,EAAW6M,cACXC,EAAUC,cACVC,EAASvnB,IAAMwnB,OAAuB,MAmD5C,SAASC,EAAiBnW,IACnBA,GAAOA,EAAIR,MAmClB,SAASzB,EAAyBiC,GAChC,IAAKA,GAAOA,EAAIR,MACdqW,GAAa,GAEbpiB,QAAQC,IAAIsM,EAAIP,QAChBqT,EAAW9S,EAAIR,WACV,CACL,GAAIQ,EAAIS,KAAM,CAEZ,IAAM2V,EAAQpW,EAAIS,KAAK4V,MAAMxkB,QAC3B,SAAC2T,GAAD,MAAuB,iBAAXA,EAAExb,QAEZosB,EAAMhpB,OAAS,GACjBsoB,EAAoBU,EAAM,SAEvBtD,EAAW9S,EAAIR,OACtBqW,GAAa,IAyCjB,SAAS7X,EAAoBgC,GAC3B,IAAKA,GAAOA,EAAIR,MAMd,OAFAsT,EAAW9S,EAAIR,YACfqW,GAAa,GAGb,GAAI7V,EAAIS,KAAM,CAEZ,GADAoV,GAAa,GACI,wBAAb7V,EAAIS,KAEN,OADAqS,EAAW9S,EAAIR,QACR,EAET,GAAiB,qBAAbQ,EAAIS,KAGN,OAFAqS,EAAW,IACXiD,EAAQO,KAAKzsB,KACN,EAET8qB,GAA4B3U,EAAIS,MAChC,IAAM2U,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D6M,EAAwBmB,cAAe,EACvCnB,EAAwBoB,SAAW,GAEnCnO,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBW,EAAQO,KAAKzsB,KAqBnB,OAnMA6E,IAAM2H,WAAU,WAEd,GADAogB,KAC+B,GAA3B/B,GAAOva,iBAAuB,CAChCkO,OAAOqO,eAAerB,QAAQ,cAAe,KAC7C,IAAMsB,EAAcC,OAAOC,YACzB,IAAIC,gBAAgB7N,EAAS8N,SAE/B,GAC8B,qBAArBJ,EAAY1J,MACG,cAAtB0J,EAAYzkB,MACZ,CACA,IAAI8kB,EAAsB,GAC1BA,EAAe/J,KAAO0J,EAAY1J,KAClC+J,EAAeC,YAAcvC,GAAO1a,YAAc,IAClDgd,EAAeE,UAAYxC,GAAO3a,SAClCid,EAAexG,SAAWkE,GAAOva,iBD7DL,SAClCyN,EACAoP,GAEAtP,GACE,CACEkB,IAAK,mDACLd,OAAQ,OACR9O,KAAM,CACJ2R,MAAO,GACPwM,KAAMH,EAAe/J,KACrBmK,YAAaJ,EAAeC,YAC5BI,SAAUL,EAAeE,UACzBI,YAAa,GACb9G,SAAUkE,GAAOva,kBAEnBuO,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawD,wCAE5B8J,GC0CI2P,EACE,SAACvX,GAAD,OAsCR,SAAwBA,EAAUgX,GAChC,IAAKhX,GAAOA,EAAIR,MACdqW,GAAa,GAEb/C,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CAEZ,IAAI+W,EAAcxX,EAAIS,KACtB,GAAI+W,EAAY/C,aAAc,CAC5B,IAAMgD,EAAW,eAAQT,GACzBS,EAAYhD,aAAe+C,EAAY/C,aACvCgD,EAAYjH,SAAWkE,GAAOva,iBAC9Byb,EAAe4B,EAAY/C,cAC3BF,GAA0BxW,EAA0B0Z,OAE1B,MAAtBzX,EAAIS,KAAKiX,UACX5E,EAAWzY,SAMfwb,GAAa,GACb/C,EAAWzY,IA9DKsd,CAAe3X,EAAKgX,KAClCA,GAEFnB,GAAa,QAEb/C,EAAW,OAGf,GAA+B,GAA3B4B,GAAOva,iBAAuB,CAChCkO,OAAOqO,eAAerB,QAAQ,cAAe,KAC7C,IAAMD,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAExDqP,EAAmB,OAAGxC,QAAH,IAAGA,OAAH,EAAGA,EAAyBoB,SACnD,GAAIoB,EAAqB,CACvB,IAAIH,EAAmB,GACvBA,EAAYhD,aAAemD,EAC3BhC,EAAegC,GACfrD,GAA0BxW,EAA0B0Z,QAEpD3E,EAAWzY,IAGf8D,GAAcgY,KACb,IAEHznB,IAAM2H,WAAU,WACA,IAAD,EAATmf,IACF,UAAAS,EAAO4B,eAAP,SAAgB/kB,oBAEjB,CAAC0iB,IAqJF,yBAAKpsB,UAAW,UAAYyO,EAAY,QAAU,KAChD,kBAAC,GAAD,KACE,yBAAKxO,IAAKyuB,KAAUvuB,IAAI,gBAAgBH,UAAU,WAEpD,yBAAKA,UAAU,cACb,uBAAGA,UAAU,cAAb,kCAEF,yBAAKA,UAAU,cACb,uBAAGA,UAAU,WAAb,gFAIA,uBAAGA,UAAU,eACX,0BAAM4L,MAAO,CAAEsC,MAAO,UAAtB,gBADF,mEAODke,GACC,yBAAKpsB,UAAU,aAAa2uB,IAAK9B,GAC/B,kBAAC,GAAD,KACsB,kBAAZT,EACN,kJAKA,+BAAQA,KAOfA,EACC,oCACE,yBAAKpsB,UAAU,UACb,kBAAC,GAAD,CACE2O,QAAQ,YACRF,UAAWA,EACX1G,QA1DZ,WACE4kB,EAAQO,KAAK/qB,QA4DP,yBAAKnC,UAAU,cAAc+H,QAzDrC,WACE,IAAMikB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwB4C,oBAAqB,EAC7C3P,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBW,EAAQO,KAAKzsB,MAgDP,gCAKF,yBAAKT,UAAU,UACb,kBAAC,GAAD,CACE2O,QAAQ,UACR9G,SACE4G,GACqB,OAArB4d,QACqB/oB,IAArB+oB,EAEF5d,UAAWA,EACX1G,QArJV,WACE,GAAyB,OAArBskB,QAAkD/oB,IAArB+oB,EAAgC,CAE/DI,GAAa,GAEb,IAAMoC,EAA0BxC,EAAiByC,IAAI7M,MAAM,KACvD8M,EAAU,GACd,GAAwB,IAApBF,EAAS7qB,OAGT+qB,EAFU,IAAIhqB,OAAO,YACf3B,KAAKyrB,EAAS,IACVA,EAAS,GAET,oBAGZE,EAAU,eAEZ,IAAMC,EAAS9V,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAG9C9H,EAAO,CACT4X,SAAUF,EACVG,QAAS7C,EAAiByC,IAC1BK,SAAU,GACVrQ,MAAOyN,EACP6C,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,sBACnCC,OAAQ1Q,GAAY0Q,OACpBC,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCgqB,OAAQA,GDxHdxQ,EC2HyB5J,EDxHzB0J,GACE,CACEkB,IAAK,gCACLd,OAAQ,OACR9O,KAAM,CACJ6f,OAPNC,EC0H8CrY,GDnHzByH,MACf6Q,QAASD,EAAQR,QACjBzO,cAAeiP,EAAQN,cACvBQ,SAAUF,EAAQP,SAClBU,sBAAuBH,EAAQJ,sBAC/BQ,OAAQJ,EAAQH,OAChBQ,MAAOL,EAAQF,MACfQ,SAAUN,EAAQT,SAClBgB,eAAgBP,EAAQV,OACxB5H,SAAUkE,GAAOva,kBA6BnBuO,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa0D,qBAE5B4J,GAnDgC,IAClCA,EACAkR,QGjEWQ,GAA4B,SACvC1R,EACA+B,GAEAjC,GACE,CACEkB,IAAK,kCACL5P,KAAM,CACJ6Q,cAAeF,GAEjB7B,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaW,0BAE5B2M,IAcS2R,GAAgB,SAC3B3R,EACAkR,GAKApR,GACE,CACEkB,IAAK,sBACL5P,KAAM8f,EACNhR,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaY,cAE5B0M,IC3CS4R,GAAkB,SAAC5R,EAA4B6R,GAC1D/R,GACE,CACEkB,IAAK,0BACLd,OAAQ,OACR9O,KAAM,CACJmgB,MAAOM,EACPC,YAAa,GAEfhR,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAayC,kBAE5B6K,IAkCS+R,GAAoB,SAC/B/R,EACA6R,GAEA/R,GACE,CACEkB,IAAK,sCACLd,OAAQ,OACR9O,KAAM,CACJmgB,MAAOM,GAET/Q,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAaG,yBAE5BmN,IAyCSgS,GAAiB,SAAChS,EAA4B6R,GACzD,IAAII,EAAa5R,GAAY2M,gBAAgBiF,WAC7CpmB,QAAQC,IAAI,+BAAgCmmB,GA4B5CpmB,QAAQC,IAAI,aAAcmmB,SAAmBA,GAEjBxR,OAAOC,aAAaC,QAC9C,2BAmBF+Q,IAhDgB,SAACtZ,GACf,GAAIA,GAAOA,EAAIS,KAAM,CACnB,IAAIA,EAAO6B,KAAKC,MAAMvC,EAAIS,MAC1BoZ,EAAa,CACXV,MAAOlR,GAAY2M,gBAAgBxmB,IACnC0rB,UAAS,OAAErZ,QAAF,IAAEA,OAAF,EAAEA,EAAMsZ,aACjBC,WAAU,OAAEvZ,QAAF,IAAEA,OAAF,EAAEA,EAAMwZ,eAClBC,SAAQ,OAAEzZ,QAAF,IAAEA,OAAF,EAAEA,EAAM0Z,YAChBC,aAAc,GACdC,oBAAqB,GACrBC,WAAY,GACZC,SAAS,EACTC,eAAgB,IAWlB5S,EARa,CACXtH,QAAQ,EACRC,MAAO,GACPE,KAAMoZ,EAENra,MAAO,QA4BsByI,GAAYwQ,gBAyEpCgC,GAAyB,SACpC7S,EACA6R,GAEA/R,GACE,CACEkB,IAAK,kCACLd,OAAQ,OACR9O,KAAM,CACJ0hB,UAAWjB,EACXP,OAAQ,GACRQ,YAAa,GAEfhR,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAauC,uBAE5B+K,IAcS+S,GAA4B,SACvC/S,EACA+Q,GAEAjR,GACE,CACEkB,IAAK,kCACLd,OAAQ,OACR9O,KAAM,CACJ0hB,UAAW,GACXxB,OAAQP,EACRe,YAAa,GAEfhR,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAawC,0BAE5B8K,IAoJSgT,GAAiB,SAAChT,EAA4B6B,GACzD/B,GACE,CACEkB,IAAK,uBACLd,OAAQ,OACR9O,KAAM,CACJmgB,MAAO1P,EAAOmP,MACdiC,IAAKpR,EAAOqR,IACZjR,cAAeJ,EAAO+O,eAExB9P,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaiD,eAE5BqK,I,gEFxZC0N,O,eAAAA,I,iBAAAA,I,gBAAAA,Q,KAML,IAyNeyF,GAzN4B,SAACtsB,GAAU,MAI5BC,WACtBD,EAAMusB,aAAe,MAL6B,mBAI7CC,EAJ6C,KAIvCC,EAJuC,OAWhBxsB,WAClC4mB,GAAY6F,MAZsC,mBAW7CC,EAX6C,KAWjCC,EAXiC,KAoBpD,SAASC,EAAaL,GAGhBG,IAAe9F,GAAY6F,MAC7BE,EAAcD,EAAa,KAExB3sB,EAAM8sB,SAAYN,GAAQO,GAAcP,IAAS,KACpDC,EAAQD,GACRA,GAAQxsB,EAAM6sB,aAAaL,IAS/B,IAAMQ,EAAe,SAACC,GAEpB,IAAMC,GAAgBD,EAAYT,MAAQ,IAAIE,MAAQS,cAChDC,GAAc,IAAIV,MAAOS,cAYzBE,EACJD,EAAc,GAAKE,KAAKC,OAAOH,EAAcF,GAAgB,IAY/D,OACE,gCACE,uBAAKvyB,UAAU,sBACZsyB,EAAYO,yBACbb,IAAe9F,GAAY4G,MAEzB,4BAGA,0BACEprB,KAAK,SACL1H,UAAU,eACV+H,QAAS,WACP,GAAIiqB,IAAe9F,GAAY6F,KAC7B,OAAOO,EAAYS,gBAGnB,IAAK,IAAI/nB,EAAI,EAAGA,EAAI,GAAIA,IAAKsnB,EAAYU,iBAR/C,KAgBF,2BAEGhB,IAAe9F,GAAY6F,MAC1B,0BACErqB,KAAK,SACL1H,UAAU,2CACV+H,QAAS,kBAAMkqB,EAAc/F,GAAY4G,SAExCG,KAAOX,EAAYT,MAAMqB,OAAO,QAIpClB,IAAe9F,GAAYiH,MAC1B,0BACEzrB,KAAK,SACL1H,UAAU,0CACV+H,QAAS,kBAAMkqB,EAAc/F,GAAYiH,QAExCnB,IAAe9F,GAAY6F,KACxBkB,KAAOX,EAAYT,MAAMqB,OAAO,QAChCZ,EAAYT,KAAKW,eAIxBR,IAAe9F,GAAYiH,MAC1B,uBAAKnzB,UAAU,iCACZ0yB,EAAU,GADb,IACkBA,IAKrBJ,EAAYc,yBACbpB,IAAe9F,GAAY4G,MAEzB,4BAGA,0BACEprB,KAAK,SACL1H,UAAU,eACV+H,QAAS,WACP,GAAIiqB,IAAe9F,GAAY6F,KAC7B,OAAOO,EAAYe,gBAEnB,IAAK,IAAIroB,EAAI,EAAGA,EAAI,GAAIA,IAAKsnB,EAAYgB,iBAI5C,MAMNtB,IAAe9F,GAAYiH,MAC1B,uBAAKnzB,UAAU,2BAxGC,CACpB,CAAC,GAAI,GAAI,GACT,CAAC,EAAG,EAAG,GACP,CAAC,EAAG,EAAG,GACP,CAAC,EAAG,EAAG,IAqGciL,KAAI,SAACsoB,GAAD,OACjB,uBAAKvzB,UAAU,WAAWuL,IAAKgoB,EAAS,IACrCA,EAAStoB,KAAI,SAACuoB,GAAD,OACZ,0BACE9rB,KAAK,SACL6D,IAAKioB,EACLxzB,UACE,YACC0yB,EAAUc,KAAV,OAAoB3B,QAApB,IAAoBA,OAApB,EAAoBA,EAAMW,eAAgB,UAAY,IAEzDzqB,QAAS,kBAjGJ0rB,EAiGsBf,EAAUc,EAhGnDnpB,QAAQC,IAAI,eACZ4nB,EAAa,IAAIH,KAAK0B,EAAI,EAAG,SAC7BnB,EAAYoB,WAAWD,GAHzB,IAAqBA,IAmGJf,EAAUc,aAmC7B,OACE,uBAAKxzB,UAAU,eACb,gBAAC,KAAD,CACE2zB,SAAUtuB,EAAMusB,aAAeC,EAC/BM,QAAS9sB,EAAM8sB,QACfyB,QAASvuB,EAAMuuB,QACfC,mBAAiB,EACjBtsB,OAAQlC,EAAMkC,OACdpB,SAAU,SAAC0rB,GAAD,OAAuBK,EAAaL,IAC9CiC,gBAAiBzuB,EAAMyuB,gBACvBC,iBAAiB,EACjBC,YAAa,gBAAC,GAAD,CAAaC,QAAS5uB,EAAM4uB,UACzCC,oBAAqBlC,IAAe9F,GAAY4G,MAChDqB,oBAAqBnC,IAAe9F,GAAY6F,KAChDqC,mBAAoB,SAAC9B,GAAD,OAAiBD,EAAaC,IAClD+B,kBAAmB,SAACC,GAAD,OAlCC,SAACA,GACzB,OAAOtC,IAAe9F,GAAYiH,KAChC,uBAAKnzB,UAAU,4CAEb,uBAAKA,UAAU,4BACZs0B,EAAevmB,SAAS,IACtBumB,EAAevmB,SAAS,GAAW,GAAG1I,OACtCivB,EAAevmB,SAAS,GAAW,GAAG1I,MAAM0I,SAAS,IACrDumB,EAAevmB,SAAS,GAAW,GAAG1I,MAAM0I,SAAS,GAAG1I,MACtD0I,SAAS,KAKlB,uBAAK/N,UAAWs0B,EAAet0B,WAAYs0B,EAAevmB,UAqBtDsmB,CAAkBC,IAEpBC,gBAAiB,kBAAMtC,EAAc/F,GAAY6F,WAsBnDyC,G,0KAEF,OACE,uBAAKx0B,UAAU,uBACb,0BACEA,UAAW,oBAAsBuK,KAAKlF,MAAM4uB,QAAU,SAAW,IACjEvsB,KAAK,SACLK,QAASwC,KAAKlF,MAAM0C,QACpBR,OAAQgD,KAAKlF,MAAMkC,OACnBpB,SAAUoE,KAAKlF,MAAM0C,QACrBT,QAASiD,KAAKlF,MAAMiC,SAGnBiD,KAAKlF,MAAMhF,MACV,wBAAML,UAAU,0BACbizB,KAAO1oB,KAAKlF,MAAMhF,OAAO6yB,OAAO,gBAGnC,wBAAMlzB,UAAU,2BACbuK,KAAKlF,MAAMgC,aAKhB,qBAAGrH,UAAU,0C,GAxBGsF,aGlQX,SAASmvB,GAAWC,GAClC,IAAMrd,EAAyB,CAC9B/N,MAAOorB,EAAOC,UAAY,4BAC1BA,SAAUD,EAAOC,UAAY,sBAC7BC,OAAQF,EAAOE,OACfhnB,MAAO8mB,EAAO9mB,OAEXiR,GAAY0Q,SACflY,EAAKwd,QAAUhW,GAAY0Q,QAExB1Q,GAAYwQ,gBACfhY,EAAKyd,OAASjW,GAAYwQ,eAE3BhlB,QAAQC,IAAI+M,GACZ0d,UAAU7H,KAAK7V,GC7BhB,IAEe2d,GAFE,kBAAM,IAAItH,gBAAgBhB,cAAciB,SCiD1CsH,GAnDS,CACpBC,aAAc,CACVC,oBAAqB,CACjBC,YAAa,+CACbC,iBAAkB,mDAEtBC,QAAS,CACLC,UAAW,8CACXF,iBAAkB,kDAEtBG,eAAgB,CACZD,UAAW,kDACXE,+BAAgC,sDAEpCC,YAAa,CACTH,UAAW,sDACXI,wBAAyB,0DAE7BC,SAAU,CACNL,UAAW,mDACXM,6BAA8B,uDAElCC,SAAU,CACNP,UAAW,mDACXQ,8BAA+B,uDAEnCC,eAAgB,CACZT,UAAW,uDACXU,gBAAiB,2DAErBC,yBAA0B,CACtBX,UAAW,4DACXU,gBAAiB,gEAErBE,QAAS,CACLZ,UAAW,gDACXU,gBAAiB,oDAErBG,UAAW,CACPb,UAAW,6CACXc,eAAgB,iDAEpBC,WAAY,CACRf,UAAW,kDACXU,gBAAiB,sDAErBM,UAAW,CACPhB,UAAW,sDCQViB,GACD,SAAUnf,GACpBof,UAAUntB,MAAM4jB,KACf7V,EAAKqf,UADN,2BAGKrf,GAHL,IAIEsf,YAAa1X,OAAOY,SAASC,KAC7B8W,SAAU3X,OAAO4X,WAAa,IAAM,kBAAoB,qBAP/CL,GAyBI,WACf,OAAO,IAAIM,SAAQ,SAACC,GACnB7tB,YAAW,WACV,OAAO6tB,EAAQN,UAAUO,oBACvB,SClFOC,GAAmB,CAC5BC,UAAU,WAAD,4BAAE,WAAgBC,GAAhB,iBAAAhsB,EAAA,0DACH8T,QAAwC,oBAAtBA,OAAemY,GAD9B,sBAEGpI,EAAS9V,KAAKC,MAAM8F,OAAOqO,eAAenO,QAAQ,gBAAkB,SAE5D6P,EAAOjI,cAJlB,gBAKCsQ,EAAOrI,EAAOjI,cALf,sCAOcyP,KAPd,OAOCa,EAPD,cAUFpY,OAAemY,GAAG,MAAO,QAAS,CAC/BE,UAAW,QACXH,YACAE,OACAE,WAAY,CACRJ,YACAE,UAhBL,4CAAF,mDAAC,GAqBVG,QAAS,SAAUH,GACXpY,QAAwC,oBAAtBA,OAAemY,IAChCnY,OAAemY,GAAG,MAAO,oBAAqBC,KCc5CI,GAxCS,CACpBvC,aAAc,CACVC,oBAAqB,CACjBE,iBAAkB,mDAEtBC,QAAS,CACLD,iBAAkB,kDAEtBG,eAAgB,CACZC,+BAAgC,sDAEpCC,YAAa,CACTC,wBAAyB,0DAE7BC,SAAU,CACNC,6BAA8B,uDAElCC,SAAU,CACNC,8BAA+B,uDAEnCC,eAAgB,CACZC,gBAAiB,2DAErBC,yBAA0B,CACtBD,gBAAiB,gEAErBE,QAAS,CACLF,gBAAiB,oDAErBG,UAAW,CACPC,eAAgB,iDAEpBC,WAAY,CACRL,gBAAiB,sDAErBM,UAAW,CACPhB,UAAW,sDCrBVmC,GAAa,uCAAG,WAC3BnZ,EACAC,EACAmZ,EACAjZ,EACAY,EACA3I,EACAvG,EACAwnB,GAR2B,mBAAAzsB,EAAA,uDAUvB0sB,EAAM,IAAIC,gBAGVC,OAAOC,WAAa,SAAU1uB,GAChCquB,GAAcA,EAAWruB,IAI3BuuB,EAAII,UAAJ,uCAAgB,WAAgBrhB,GAAhB,SAAAzL,EAAA,sDACd+sB,EAActhB,GADA,2CAAhB,sDAeMshB,EAjCqB,+BAAA/sB,EAAA,MAiCL,WAAOyL,GAAP,eAAAzL,EAAA,yDACpBd,QAAQC,IAAI,gBAAiBqM,EAAaC,EAAIuhB,cAAcC,eACxDxhB,EAAIuhB,cAFY,qBAGdvhB,EAAIuhB,cAAcC,aAHJ,gCAIG3hB,GACjByC,KAAKC,MAAMvC,EAAIuhB,cAAcC,cAC7BlnB,GAAayB,oBANC,QAIZmE,EAJY,SASd0H,EAAS1H,GATK,uBAYhB0H,EAAS5H,EAAIuhB,eAZG,4CAjCK,sDAkD3BN,EAAIQ,KAAK3Z,GAAkB,OAA3B,UAAsC1O,GAAOE,cAA7C,OAA4DqO,EAAIiB,MAChEqY,EAAIS,iBAAiB,eAAgB,oBACrCT,EAAIS,iBAAiB,UAAWtoB,GAAOc,QACnCkO,EAAuB9F,KAAKC,MAC9B8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAElC,KAAtBN,GAAYC,OACd+Y,EAAIS,iBAAiB,gBAArB,iBAAgDzZ,GAAYC,SAGzDD,GAAYC,OAASE,EAAqBF,OAC7C+Y,EAAIS,iBACF,gBADF,iBAEYtZ,EAAqBF,QAGnC+Y,EAAIU,KAAKrf,KAAKkG,UAAUb,EAAI3O,OAlED,4CAAH,oECVb4oB,GAAkB,SAC7Bha,EACAia,EACAd,GAEA,IAAMe,EAAqB,CACzBjY,cAAegY,EAAUlY,cACzBqP,SAAU6I,EAAUtJ,SACpBwJ,eAAgBF,EAAUG,gBAED,QAAd,OAATH,QAAS,IAATA,OAAA,EAAAA,EAAWI,eAA2Cv1B,KAAd,OAATm1B,QAAS,IAATA,OAAA,EAAAA,EAAWI,WAC5CH,EAAcG,QAAUJ,EAAUI,SAGJ,QAArB,OAATJ,QAAS,IAATA,OAAA,EAAAA,EAAWK,sBACmBx1B,KAArB,OAATm1B,QAAS,IAATA,OAAA,EAAAA,EAAWK,kBAEXJ,EAAcI,eAAiBL,EAAUK,iBAGzCL,EAAUtJ,SAASllB,SAAS,WACL,uBAAvBwuB,EAAUtJ,YAGVuJ,EAAcI,eAAiB,GAGjCpB,GACE,CACElY,IAAK,4BACL5P,KAAM8oB,EACNha,OAAQ,OACRY,WAAYtP,GAAOE,aACnB0nB,UAAU,EACVxnB,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAayB,oBAE5B6L,EACAmZ,IAsESoB,GAAwB,SACnCva,EACAwa,GAEA1a,GACE,CACEkB,IAAK,8BACL5P,KAAMopB,EACNta,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAakC,sBAE5BoL,IC/FSya,GAAuB,SAClCza,EACA0a,GAEA5a,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ6Q,cAAeyY,EACfjY,cAAe,GAEjBvC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaK,oBAE5BiN,IAcS2a,GAAsB,SACjC3a,EACA0a,GAEA5a,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ6Q,cAAeyY,EACfjY,cAAe,GAEjBvC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaK,oBAE5BiN,IAcS4a,GAAgB,SAAC5a,EAA4B0a,GACxD5a,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ6Q,cAAeyY,EACfjY,cAAe,GAEjBvC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaK,oBAE5BiN,IAcS6a,GAAoB,SAC/B7a,EACA8a,EACAC,GAEAjb,GACE,CACEkB,IAAK,gCACL5P,KAAM,CACJggB,SAAU0J,EACVE,SAAUD,GAEZ7a,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAasC,wBAE5BgL,IAeSib,GAAuB,SAClCjb,EACAwa,GAEA1a,GACE,CACEkB,IAAK,qCACL5P,KAAM,CACJigB,sBAAuBmJ,EAAQ1J,sBAC/B7O,cAAeuY,EAAQ5J,cACvBU,OAAQkJ,EAAQzJ,OAChBmK,aAAcV,EAAQW,aAClBC,GAAiBZ,EAAQW,cACzB,GACJE,eAAgBb,EAAQc,aAE1Bpb,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa4C,6BAE5B0K,IA0ESub,GAAkB,SAC7Bvb,EACAwb,EACAC,GAEA3b,GACE,CACEkB,IAAK,2BACL5P,KAAM,CACJsqB,gBAAiBF,EAAWpB,eAC5BuB,gBAAiB,GACjBC,WAAY,UACZC,aAAcJ,EAAM,mBAAqB,cACzCK,OAAQN,EAAWlU,OACnBrF,cAAeuZ,EAAWzZ,cAC1Bga,iBAAkBN,EAAM,UAAYD,EAAWQ,iBAC/CC,WAAYT,EAAWn3B,YAEzB6b,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawB,wBAE5B8L,IAYSkc,GAAiB,SAAClc,EAA4Bmc,GACzDrc,GACE,CACEkB,IAAK,2BACL5P,KAAM,CACJsqB,gBAAiBS,EAAU/B,eAC3BuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,aACdC,OAAQK,EAAU7U,OAClBrF,cAAeka,EAAUpa,cACzBga,iBAAkBI,EAAUH,iBAC5BC,WAAYE,EAAU93B,YAExB6b,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawB,wBAE5B8L,IAYSoc,GAAwB,SACnCpc,EACAmc,GAEArc,GACE,CACEkB,IAAK,2BACL5P,KAAM,CACJirB,SAAUF,EAAUG,SACpBC,YAAaJ,EAAUK,YACvBd,gBAAiBS,EAAU/B,eAC3BuB,gBAAiB,GACjBC,WAAY,qBACZC,aAAc,qBACdC,OAAQK,EAAU7U,OAClBrF,cAAeka,EAAUpa,cACzBga,iBAAkBI,EAAUH,iBAC5BC,WAAYE,EAAU93B,YAExB6b,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawB,wBAE5B8L,IAYSyc,GAAmB,SAC9Bzc,EACA0c,GAEA5c,GACE,CACEkB,IAAK,2BACL5P,KAAM,CACJsqB,gBAAiBgB,EAAYtC,eAC7BuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,eACdC,OAAQY,EAAYpV,OACpBrF,cAAeya,EAAY3a,cAC3Bga,iBAAkBW,EAAYV,iBAC9BC,WAAYS,EAAYr4B,YAE1B6b,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawB,wBAE5B8L,IAYS2c,GAAkB,SAC7B3c,EACA4c,GAEA9c,GACE,CACEkB,IAAK,2BACL5P,KAAM,CACJsqB,gBAAiBkB,EAAWxC,eAC5BuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,eACdC,OAAQc,EAAWtV,OACnBrF,cAAe2a,EAAW7a,cAC1Bga,iBAAkBa,EAAWZ,iBAC7BC,WAAYW,EAAWv4B,YAEzB6b,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawB,wBAE5B8L,IAYS6c,GAAa,SAAC7c,EAA4B8c,GACrDhd,GACE,CACEkB,IAAK,2BACL5P,KAAM,CACJsqB,gBAAiBoB,EAAM1C,eACvBuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,sBACdC,OAAQgB,EAAMxV,OACdrF,cAAe6a,EAAM/a,cACrBga,iBAAkBe,EAAMd,iBACxBC,WAAYa,EAAMz4B,YAEpB6b,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawB,wBAE5B8L,IAwCS+c,GAAU,SAAC/c,EAA4Bgd,GAClDld,GACE,CACEkB,IAAK,kCACL5P,KAAM,CACJ6Q,cAAe+a,EAAOpM,cACtBqM,WAAY,EACZC,OAAQ,CACN,CACEC,oBAAqBH,EAAOI,OAC5BC,UAAWL,EAAOM,YAEpB,CACEH,oBAAqBH,EAAOO,OAC5BF,UAAWL,EAAOQ,cAIxBtd,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa6C,0BAE5ByK,IAwDSyd,GAAe,SAACzd,EAA4Bwb,GACvD1b,GACE,CACEkB,IAAK,2BACL5P,KAAM,CACJsqB,gBAAiBF,EAAWpB,eAC5BuB,gBAAiB,GACjBC,WAAY,OACZC,aAAc,cACdC,OAAQN,EAAWlU,OACnBrF,cAAeuZ,EAAWzZ,cAC1Bga,iBAAkBP,EAAWQ,iBAC7BC,WAAYT,EAAWn3B,YAEzB6b,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawB,wBAE5B8L,IAYJ,SAASob,GAAiBsC,GACxB,IADwC,EACpCC,EAAiC,GADG,cAExBD,GAFwB,IAExC,2BAA2B,CAAC,IAAnBE,EAAkB,QACrBC,EAAc,GAClBA,EAAOzM,SAAWwM,EAAI9C,SACtB+C,EAAO5B,WAAa2B,EAAIE,WACxBD,EAAOE,SAAWH,EAAII,SACtBH,EAAOtM,MAAQqM,EAAI5M,MACnB6M,EAAOI,kBAAoBL,EAAIM,kBAC/BL,EAAOM,mBAAqBP,EAAIQ,mBAChCP,EAAOQ,mBAAqBT,EAAIU,mBAChCT,EAAOU,cAAgBX,EAAIY,cAC3BX,EAAOY,cAAgBb,EAAIc,cAC3Bb,EAAOc,eAAiBf,EAAIgB,eAC5Bf,EAAOgB,OAASjB,EAAIkB,OACpBjB,EAAOkB,cAAgBnB,EAAIoB,cACvBpB,EAAIqB,uBACNpB,EAAOoB,qBAAuBrB,EAAIqB,sBAEpCtB,EAAgBjP,KAAKmP,IAnBiB,8BAqBxC,OAAOF,EAEF,IAuBMuB,GAAsB,SAAClf,EAA4Boa,EAAqBrJ,GACnFjR,GACE,CACEkB,IAAK,0BACL5P,KAAM,CACJ+oB,eAAeC,EACf9I,OAASP,GAAmB,IAE9B7Q,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAa2E,oBAE5B2I,IAGWmf,GAAiB,SAACnf,EAA4Bof,GACzDtf,GACE,CACEkB,IAAK,qBACL5P,KAAM,CACJiuB,SAAUD,EAAYE,IACtBC,UAAWH,EAAYI,KAEzBtf,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAa4E,eAE5B0I,ICxoBOyf,GAAsB,SAAC7O,GAClC,IAAMtmB,EAVsB,WAC5B,IAAIo1B,EAAmBhf,aAAaC,QAAQ,oBAC5C,OAAyB,OAArB+e,QAAkD56B,IAArB46B,GAAuD,KAArBA,EAC1DhlB,KAAKC,MAAMglB,KAAKjf,aAAaC,QAAQ,qBAAuB,KAE9D,KAKOif,GACd,QAAc,OAAVt1B,IAAkBA,GAASA,EAAMsmB,eAAiBA,IAAiBtmB,EAAMo1B,mBCsFlEG,GAAoC,CAC/CzV,aAAc,GACdtH,KAAM,GACNuI,QAAS,GACTD,SAAU,GACVL,QAAS,GACThI,MAAO,GACPP,KAAM,GACN+I,YAAa,EACbD,UAAW,GAGAwU,GAAoC,CAC/C1V,aAAc,GACd2V,YAAa,GACbC,iBAAiB,EACjB36B,KAAM,GACN6mB,QAAS,GACT+T,SAAU,GACVpd,QAAS,GACTqd,YAAa,GACb51B,MAAO,GACP+X,KAAM,GACN8d,YAAa,EACbC,UAAW,GAGPC,GAA4B,CAGhC,CACEv+B,QAAS,cACTD,MAAO,GAET,CACEC,QAAS,iBACTD,MAAO,GAET,CACEC,QAAS,0BACTD,MAAO,GAET,CACEC,QAAS,mBACTD,MAAO,GAET,CACEC,QAAS,8CACTD,MAAO,IAGLy+B,GAAkB,CACtB,CACEx+B,QAAS,8CACTD,MAAO,GAET,CACEC,QAAS,0CACTD,MAAO,IAIE0+B,GAAiC,CAC5Cp3B,GAAI,GACJq3B,SAAS,EACTC,UAAW,EACXC,cAAc,EACd5F,SAAU,GACV6F,UAAU,EACVC,OAAQ,GACR5E,iBAAkB,GAClBoC,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV6C,OAAQ,GACRnC,eAAe,GAwoMFoC,GAjoMiC,WAAO,IAAD,sBAE9CC,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAEE4M,EAAUC,cAboC,EAexBtnB,IAAM4G,SAE/B,IAjBiD,mBAe7Ckd,EAf6C,KAerCC,EAfqC,OAkBtB/jB,IAAM4G,SAA0B,IAlBV,mBAkB7CkgB,EAlB6C,KAkBpC1C,EAlBoC,OAmBlBpkB,IAAM4G,UAAkB,GAnBN,mBAmB7CuC,EAnB6C,KAmBlCge,EAnBkC,OAoBlBnnB,IAAM4G,SAAe,IAAI6lB,MApBP,mBAoB7C4N,EApB6C,aAqBhBr6B,IAAM4G,SAAS,CAAEtI,QAAS,MArBV,mBAqBjCg8B,GArBiC,aAuBNt6B,IAAM4G,UAAkB,GAvBlB,mBAuB7C2zB,EAvB6C,KAuB5BC,EAvB4B,OAwBRx6B,IAAM4G,SAChD,IAzBkD,mBAwB7C6zB,EAxB6C,KAwB7BC,EAxB6B,QA2BhB16B,IAAM4G,SAA0B,IA3BhB,qBA2B7C+zB,GA3B6C,MA2BjCC,GA3BiC,SA4BV56B,IAAM4G,SAA0B,IA5BtB,qBA4B7Ci0B,GA5B6C,MA4B9BC,GA5B8B,SA6BF96B,IAAM4G,SAEtD,IA/BkD,qBA6B7Cm0B,GA7B6C,MA6B1BC,GA7B0B,SAgChBh7B,IAAM4G,SAA0B,IAhChB,qBAgC7Cq0B,GAhC6C,MAgCjCC,GAhCiC,SAiCJl7B,IAAM4G,SAEpD,IAnCkD,qBAiC7Cu0B,GAjC6C,MAiC3BC,GAjC2B,SAoCAp7B,IAAM4G,SAExD,IAtCkD,qBAoC7Cy0B,GApC6C,MAoCzBC,GApCyB,SAuCQt7B,IAAM4G,SAEhE,IAzCkD,qBAuC7C20B,GAvC6C,MAuCrBC,GAvCqB,SA0CIx7B,IAAM4G,SAE5D,IA5CkD,qBA0C7CE,GA1C6C,MA0CvB20B,GA1CuB,SA6CNz7B,IAAM4G,SAClD,IA9CkD,qBA6C7C80B,GA7C6C,MA6C5BC,GA7C4B,SAgDd37B,IAAM4G,SAA0B,IAhDlB,qBAgD7Cye,GAhD6C,MAgDhCuW,GAhDgC,SAmDlD57B,IAAM4G,SAA2B,IAnDiB,qBAkD7Ci1B,GAlD6C,MAkD3BC,GAlD2B,SAoDM97B,IAAM4G,SAC9D,IArDkD,qBAoD7Cm1B,GApD6C,MAoDtBC,GApDsB,SAwDdh8B,IAAM4G,UAAkB,GAxDV,qBAwD7Cq1B,GAxD6C,MAwDhCC,GAxDgC,SAyDdl8B,IAAM4G,UAAkB,GAzDV,qBAyD7Cu1B,GAzD6C,MAyDhCC,GAzDgC,SA0DZp8B,IAAM4G,SAAiB,GA1DX,qBA0D7Cy1B,GA1D6C,MA0D/BC,GA1D+B,SA4D1Bt8B,IAAM4G,SAAiB2S,GAAYgjB,KAAKvlB,OA5Dd,qBA4D7CA,GA5D6C,MA4DtCwlB,GA5DsC,SA6D1Bx8B,IAAM4G,SAAiB2S,GAAYgjB,KAAKrhB,QA7Dd,qBA6D7CyF,GA7D6C,MA6DtC8b,GA7DsC,SA8DZz8B,IAAM4G,UAAkB,GA9DZ,qBA8D/B81B,IA9D+B,gBA+DV18B,IAAM4G,UAAkB,GA/Dd,qBA+D7C+1B,GA/D6C,MA+D9BC,GA/D8B,SAgEZ58B,IAAM4G,UAAkB,GAhEZ,qBAgE/Bi2B,IAhE+B,gBAiEV78B,IAAM4G,UAAkB,GAjEd,qBAiE7Ck2B,GAjE6C,MAiE9BC,GAjE8B,SAkEhB/8B,IAAM4G,UAAkB,GAlER,qBAkE7CkX,GAlE6C,MAkEjCkf,GAlEiC,SAmENh9B,IAAM4G,UAAkB,GAnElB,qBAmE7Cq2B,GAnE6C,MAmE5BC,GAnE4B,SAoEJl9B,IAAM4G,UAAkB,GApEpB,qBAoE7Cu2B,GApE6C,MAoE3BC,GApE2B,SAqEhBp9B,IAAM4G,UAAkB,GArER,qBAqE7CgX,GArE6C,MAqEjCyf,GArEiC,SAsEPr9B,IAAM4G,UAAkB,GAtEjB,qBAsE7C02B,GAtE6C,MAsE5BC,GAtE4B,SAwElDv9B,IAAM4G,SAAN,eAAoCmyB,KAxEc,qBAuE7CyE,GAvE6C,MAuE3BC,GAvE2B,SAyEhBz9B,IAAM4G,SAAN,eAC/BmyB,KA1E+C,qBAyE7C2E,GAzE6C,MAyEjCC,GAzEiC,SA6ElD39B,IAAM4G,SAAN,eAAoCmyB,KA7Ec,qBA4E7C6E,GA5E6C,MA4EtBC,GA5EsB,SA8ER79B,IAAM4G,SAAN,eACvCmyB,KA/E+C,qBA8E7C+E,GA9E6C,MA8E7BC,GA9E6B,SAiFN/9B,IAAM4G,SAAN,eACzCmyB,KAlF+C,qBAiF7CiF,GAjF6C,MAiF5BC,GAjF4B,SAoFJj+B,IAAM4G,SAAc,CAClEs3B,WAAY,GACZC,WAAY,GACZC,aAAc,KAvFoC,qBAoF7CC,GApF6C,MAoF3BC,GApF2B,SAyFMt+B,IAAM4G,SAC9D,IA1FkD,qBAyF7C23B,GAzF6C,gBA6FlBv+B,IAAM4G,SAAc,CACpD,CACE43B,SAAS,EACTC,aAAa,EACbC,SAAU,CAAEF,SAAS,EAAOG,aAAa,IAE3C,CACEH,SAAS,EACTC,aAAa,EACbC,SAAU,CAAEF,SAAS,EAAOG,aAAa,IAE3C,CACEH,SAAS,EACTC,aAAa,EACbC,SAAU,CAAEF,SAAS,EAAOG,aAAa,OA3GO,qCA+GZ3+B,IAAM4G,SAAN,eAGnCyc,MAlH+C,qBA+G7Cub,GA/G6C,MA+G/BC,GA/G+B,SAoHZ7+B,IAAM4G,SAAN,eAGnCyc,KAvH+C,qBAoH7Cyb,GApH6C,MAoH/BC,GApH+B,SAyHd/+B,IAAM4G,SAAN,eAGjCyc,KA5H+C,qBAyH7C2b,GAzH6C,MAyHhCC,GAzHgC,SA8HVj/B,IAAM4G,SAAN,eAGrCyc,KAjI+C,qBA8H7C6b,GA9H6C,MA8H9BC,GA9H8B,SAoINn/B,IAAM4G,UAAkB,GApIlB,qBAoI7CsyB,GApI6C,MAoI5BkG,GApI4B,SAqIVp/B,IAAM4G,UAAkB,GArId,qBAqI7Cy4B,GArI6C,MAqI9BC,GArI8B,SAuIRt/B,IAAM4G,UAAkB,GAvIhB,qBAuI7B24B,IAvI6B,gBAyIxBv/B,IAAM4G,SAChC2S,GAAY2M,gBAAgBM,QAAU,IA1IY,qBAyI7CA,GAzI6C,MAyIrCgZ,GAzIqC,SA4IVx/B,IAAM4G,SAAiB,KA5Ib,qBA4I7C64B,GA5I6C,MA4I9BC,GA5I8B,SA6IR1/B,IAAM4G,SAAiB,MA7If,qBA6I7C+4B,GA7I6C,MA6I7BC,GA7I6B,SA8IA5/B,IAAM4G,SACxD2S,GAAY2M,gBAAgB2Z,YAAc,IA/IQ,qBA8I7CC,GA9I6C,MA8IzBC,GA9IyB,SAiJV//B,IAAM4G,SAAiB,IAjJb,qBAiJ7Co5B,GAjJ6C,MAiJ9BC,GAjJ8B,SAkJhBjgC,IAAM4G,SACxC2S,GAAY2M,gBAAgBga,gBAAkB,IAnJI,qBAkJ7CC,GAlJ6C,MAkJjCC,GAlJiC,SAsJLpgC,IAAM4G,SAAiB,IAtJlB,qBAsJ7Cy5B,GAtJ6C,MAsJ3BC,GAtJ2B,SAuJhBtgC,IAAM4G,SAAiB,IAvJP,qBAuJ7C25B,GAvJ6C,MAuJjCC,GAvJiC,SAwJZxgC,IAAM4G,SAA0B,KAxJpB,qBAwJ7C65B,GAxJ6C,MAwJ/BC,GAxJ+B,SAyJR1gC,IAAM4G,UAAkB,GAzJhB,qBAyJ7C+5B,GAzJ6C,MAyJ7BC,GAzJ6B,SA0JZ5gC,IAAM4G,SAAiB,IA1JX,qBA0J7Ci6B,GA1J6C,MA0J/BC,GA1J+B,SA2JpB9gC,IAAM4G,SAAiB,IA3JH,qBA2J7Cm6B,GA3J6C,MA2JnCC,GA3JmC,SA4JZhhC,IAAM4G,SAAiB,IA5JX,qBA4J7Cq6B,GA5J6C,MA4J/BC,GA5J+B,SA6JAlhC,IAAM4G,SACxD,KA9JkD,qBA6J7Cu6B,GA7J6C,MA6JzBC,GA7JyB,SAiKxBphC,IAAM4G,WAjKkB,qBAiK7Cy6B,GAjK6C,MAiKrCC,GAjKqC,SAmKpBthC,IAAM4G,SAAiB,IAnKH,qBAmKnC26B,IAnKmC,gBAoKdvhC,IAAM4G,SAAiB,IApKT,qBAoKhC46B,IApKgC,gBAqKdxhC,IAAM4G,SAAiB,IArKT,qBAqK7C66B,GArK6C,MAqKhCC,GArKgC,SAsKJ1hC,IAAM4G,SAAiB,IAtKnB,qCAuKpB5G,IAAM4G,SAAc,KAvKA,qBAuK7C+6B,GAvK6C,MAuKnCC,GAvKmC,SA0Kd5hC,IAAM4G,SAAc,IA1KN,qBA0K7Ci7B,GA1K6C,MA0KhCC,GA1KgC,SA4KhB9hC,IAAM4G,SAAiB,IA5KP,qBA4KjCm7B,IA5KiC,gBA6KV/hC,IAAM4G,SAAiB,IA7Kb,qBA6K9Bo7B,IA7K8B,gBA8KVhiC,IAAM4G,SAAiB,IA9Kb,qBA8K7Cq7B,GA9K6C,MA8K9BC,GA9K8B,SAgLlDliC,IAAM4G,SAAiB,IAhL2B,qCAmLlD5G,IAAM4G,SAAiB,KAnL2B,qBAkLtBu7B,IAlLsB,gBAoLNniC,IAAM4G,SAAiB,IApLjB,qBAoL5Bw7B,IApL4B,gBAqLFpiC,IAAM4G,SAEtD,KAvLkD,qBAqL1By7B,IArL0B,gBAwLFriC,IAAM4G,SAAiB,IAxLrB,qBAwL1B07B,IAxL0B,gBAyLVtiC,IAAM4G,SAAiB,IAzLb,qBAyL9B27B,IAzL8B,gBA0LFviC,IAAM4G,SAAiB,IA1LrB,qBA0L1B47B,IA1L0B,gBA4LVxiC,IAAM4G,SAAN,eACrC6e,KA7L+C,qBA4L7CP,GA5L6C,MA4L9Bud,GA5L8B,SAiMdziC,IAAM4G,UAAkB,GAjMV,qBAiM7C87B,GAjM6C,MAiMhCC,GAjMgC,SAmMlB3iC,IAAM4G,SAAiB,IAnML,qBAmM7Cg8B,GAnM6C,MAmMlCC,GAnMkC,SAoMhB7iC,IAAM4G,SAAiB,IApMP,qBAoMjCk8B,IApMiC,gBAqMR9iC,IAAM4G,UAAkB,GArMhB,qBAqM7Bm8B,IArM6B,gBAsMF/iC,IAAM4G,SAAiB,GAtMrB,qCAuMhB5G,IAAM4G,SAAN,eAC/B6yB,MAxM+C,qBAuMjCuJ,IAvMiC,gBA0MdhjC,IAAM4G,SAAiB,IA1MT,qCA2Md5G,IAAM4G,SAAiB,KA3MT,qCA4MF5G,IAAM4G,SAAiB,KA5MrB,qCA8MlD5G,IAAM4G,SAAiB,KA9M2B,qCA+Md5G,IAAM4G,SAAiB,KA/MT,qBA+M7Cq8B,GA/M6C,MA+MhCC,GA/MgC,SAgNMt8B,oBAAS,GAhNf,qBAgNtBu8B,IAhNsB,gBAiNAnjC,IAAM4G,UAAS,GAjNf,qBAiN7Cw8B,GAjN6C,MAiNzBC,GAjNyB,SAmNtBrjC,IAAM4G,UAAS,GAnNO,qBAmN7C08B,GAnN6C,MAmNpCC,GAnNoC,SAoNhBvjC,IAAM4G,S9C1C1C,6H8C1KoD,qBAoN7C48B,GApN6C,gBAqNAxjC,IAAM4G,SACxD,gDAtNkD,qBAqN7C68B,GArN6C,MAqNzBC,GArNyB,SAwNR1jC,IAAM4G,UAAkB,GAxNhB,qBAwN7C+8B,GAxN6C,MAwN7BC,GAxN6B,SA0NhB5jC,IAAM4G,UAAS,GA1NC,qBA0NjCi9B,IA1NiC,gBA2NF7jC,IAAM4G,SAAc,IA3NlB,qBA2N7Ck9B,GA3N6C,MA2N1BC,GA3N0B,SA6NlD/jC,IAAM4G,UAAkB,GA7N0B,qBA4N7Co9B,GA5N6C,MA4N1BC,GA5N0B,MA+NhDC,IAAgB,EA/NgC,GAiOIlkC,IAAM4G,SAAc,CAC1E,CACEu9B,eAAgB,CAAE3F,SAAS,EAAMG,aAAa,GAC9CyF,gBAAiB,CAAE5F,SAAS,EAAMG,aAAa,IAEjD,CACEwF,eAAgB,CAAE3F,SAAS,EAAMG,aAAa,GAC9CyF,gBAAiB,CAAE5F,SAAS,EAAMG,aAAa,IAEjD,CACEwF,eAAgB,CAAE3F,SAAS,EAAMG,aAAa,GAC9CyF,gBAAiB,CAAE5F,SAAS,EAAMG,aAAa,MA5OC,qBAiO/C0F,GAjO+C,MAiOxBC,GAjOwB,MAgPpDv/B,QAAQC,IACN,yCACAuU,GAAY2M,gBAAgB2Z,YAG9B,IAAM0E,GAAc,CAClB,CACEvpC,QAAS,MACTD,MAAO,GAET,CACEC,QAAS,MACTD,MAAO,GAET,CACEC,QAAS,QACTD,MAAO,IAhQyC,GAiRxBiF,IAAM4G,SAAS,IAjRS,qBAiR7C49B,GAjR6C,MAiRrCC,GAjRqC,SAkRdzkC,IAAM4G,SAAiB,IAlRT,qBAkR7C89B,GAlR6C,MAkRhCC,GAlRgC,SAmRN3kC,IAAM4G,SAAiB,IAnRjB,qBAmR7Cg+B,GAnR6C,MAmR5BC,GAnR4B,SAoRV7kC,IAAM4G,UAAkB,GApRd,qBAoR7Ck+B,GApR6C,MAoR9BC,GApR8B,MAsRpD/kC,IAAM2H,WAAU,WAEZg9B,GADEne,GACa,GAEA,0BAEhB,CAACA,KA5RgD,OA+RlDxmB,IAAM4G,SAAc,CAClBsU,OAAQ,CACN8pB,KAAM,EACNC,OAAQ,EACRC,eAAgB,EAChBC,iBAAkB,GAEpBnuB,MAAO,CACLguB,KAAM,EACNC,OAAQ,EACRC,eAAgB,EAChBC,iBAAkB,KA1S4B,qBA8R7CC,GA9R6C,MA8RpBC,GA9RoB,MA8SpDrlC,IAAM2H,WAAU,WACd,GAAIw0B,IAAe0F,IAAeA,GAAYnjC,OAAS,EAAG,CACxD,IAAM4f,ECnec,SAAC6d,EAAoB0F,GAC3C,GAAI1F,GAAe0F,GAAeA,EAAYnjC,OAAS,EAAG,CACtD,IAQE,+nCARI4mC,GAAiBzD,EAAY,GAC7B0D,GAAiB1D,EAAY,GAC7B2D,GAAkB3D,EAAY,GAEpC,GACGyD,IAAkBpd,OAAOlf,KAAKs8B,KAC9BC,IAAkBrd,OAAOlf,KAAKu8B,KAC9BC,IAAmBtd,OAAOlf,KAAKw8B,IAGhC,OACiB,OAAdF,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,UACClsB,GAAY2M,uBADb,aACC,EAA6Bwf,WACf,OAAdJ,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BniC,kBAA7B,OACEiW,SADF,IACEA,IADF,UACEA,GAAa2M,uBADf,iBACE,EAA8Bwf,eADhC,aACE,EAAuCpiC,iBAC5B,OAAdiiC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,UACClsB,GAAY2M,uBADb,aACC,EAA6Bwf,WACf,OAAdH,SAAc,IAAdA,IAAA,UAAAA,GAAgBE,mBAAhB,eAA6BniC,kBAA7B,OACEiW,SADF,IACEA,IADF,UACEA,GAAa2M,uBADf,iBACE,EAA8Bwf,eADhC,aACE,EAAuCpiC,iBAC3B,OAAfkiC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,UACClsB,GAAY2M,uBADb,aACC,EAA6Bwf,WACd,OAAfF,SAAe,IAAfA,IAAA,UAAAA,GAAiBC,mBAAjB,eAA8BniC,kBAA9B,OACEiW,SADF,IACEA,IADF,UACEA,GAAa2M,uBADf,iBACE,EAA8Bwf,eADhC,aACE,EAAuCpiC,iBAM5B,OAAdgiC,SAAc,IAAdA,IAAA,UAAAA,GAAgBK,uBAAhB,eAAiCC,iBAAjC,UACCrsB,GAAY2M,uBADb,aACC,EAA6Bwf,WACf,OAAdJ,SAAc,IAAdA,IAAA,UAAAA,GAAgBK,uBAAhB,mBAAiCC,qBAAjC,eAAgDtiC,kBAAhD,OACEiW,SADF,IACEA,IADF,UACEA,GAAa2M,uBADf,iBACE,EAA8Bwf,eADhC,aACE,EAAuCpiC,iBAC5B,OAAdiiC,SAAc,IAAdA,IAAA,UAAAA,GAAgBI,uBAAhB,eAAiCC,iBAAjC,UACCrsB,GAAY2M,uBADb,aACC,EAA6Bwf,WACf,OAAdH,SAAc,IAAdA,IAAA,UAAAA,GAAgBI,uBAAhB,mBAAiCC,qBAAjC,eAAgDtiC,kBAAhD,OACEiW,SADF,IACEA,IADF,UACEA,GAAa2M,uBADf,iBACE,EAA8Bwf,eADhC,aACE,EAAuCpiC,iBAC3B,OAAfkiC,SAAe,IAAfA,IAAA,UAAAA,GAAiBG,uBAAjB,eAAkCC,iBAAlC,UACCrsB,GAAY2M,uBADb,aACC,EAA6Bwf,WACd,OAAfF,SAAe,IAAfA,IAAA,UAAAA,GAAiBG,uBAAjB,mBAAkCC,qBAAlC,eAAiDtiC,kBAAjD,OACEiW,SADF,IACEA,IADF,UACEA,GAAa2M,uBADf,iBACE,EAA8Bwf,eADhC,aACE,EAAuCpiC,iBAM5B,OAAdgiC,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,OACCF,SADD,IACCA,QADD,EACCA,GAAgBE,eACF,OAAdH,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BniC,kBAA7B,OACEiiC,SADF,IACEA,IADF,UACEA,GAAgBE,mBADlB,aACE,EAA6BniC,iBAClB,OAAdiiC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,OACCD,SADD,IACCA,QADD,EACCA,GAAiBC,eACH,OAAdF,SAAc,IAAdA,IAAA,UAAAA,GAAgBE,mBAAhB,eAA6BniC,kBAA7B,OACEkiC,SADF,IACEA,IADF,UACEA,GAAiBC,mBADnB,aACE,EAA8BniC,iBAClB,OAAfkiC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,OACCH,SADD,IACCA,QADD,EACCA,GAAgBG,eACD,OAAfD,SAAe,IAAfA,IAAA,UAAAA,GAAiBC,mBAAjB,eAA8BniC,kBAA9B,OACEgiC,SADF,IACEA,IADF,UACEA,GAAgBG,mBADlB,aACE,EAA6BniC,iBAMlB,OAAdgiC,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,OACCH,SADD,IACCA,IADD,UACCA,GAAgBK,uBADjB,aACC,EAAiCC,iBACnB,OAAdN,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BniC,kBAA7B,OACEgiC,SADF,IACEA,IADF,UACEA,GAAgBK,uBADlB,iBACE,EAAiCC,qBADnC,aACE,EAAgDtiC,iBACrC,OAAdgiC,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,OACCF,SADD,IACCA,IADD,UACCA,GAAgBI,uBADjB,aACC,EAAiCC,iBACnB,OAAdN,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BniC,kBAA7B,OACEiiC,SADF,IACEA,IADF,UACEA,GAAgBI,uBADlB,iBACE,EAAiCC,qBADnC,aACE,EAAgDtiC,iBACrC,OAAdgiC,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,OACCD,SADD,IACCA,IADD,UACCA,GAAiBG,uBADlB,aACC,EAAkCC,iBACpB,OAAdN,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BniC,kBAA7B,OACEkiC,SADF,IACEA,IADF,UACEA,GAAiBG,uBADnB,iBACE,EAAkCC,qBADpC,aACE,EAAiDtiC,iBACtC,OAAdiiC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,OACCH,SADD,IACCA,IADD,UACCA,GAAgBK,uBADjB,aACC,EAAiCC,iBACnB,OAAdL,SAAc,IAAdA,IAAA,UAAAA,GAAgBE,mBAAhB,eAA6BniC,kBAA7B,OACEgiC,SADF,IACEA,IADF,UACEA,GAAgBK,uBADlB,iBACE,EAAiCC,qBADnC,aACE,EAAgDtiC,iBACrC,OAAdiiC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,OACCF,SADD,IACCA,IADD,WACCA,GAAgBI,uBADjB,cACC,GAAiCC,iBACnB,OAAdL,SAAc,IAAdA,IAAA,WAAAA,GAAgBE,mBAAhB,iBAA6BniC,kBAA7B,OACEiiC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCC,qBADnC,cACE,GAAgDtiC,iBACrC,OAAdiiC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,OACCD,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,cACC,GAAkCC,iBACpB,OAAdL,SAAc,IAAdA,IAAA,WAAAA,GAAgBE,mBAAhB,iBAA6BniC,kBAA7B,OACEkiC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCC,qBADpC,cACE,GAAiDtiC,iBACrC,OAAfkiC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,OACCH,SADD,IACCA,IADD,WACCA,GAAgBK,uBADjB,cACC,GAAiCC,iBAClB,OAAfJ,SAAe,IAAfA,IAAA,WAAAA,GAAiBC,mBAAjB,iBAA8BniC,kBAA9B,OACEgiC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCC,qBADnC,cACE,GAAgDtiC,iBACpC,OAAfkiC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,OACCF,SADD,IACCA,IADD,WACCA,GAAgBI,uBADjB,cACC,GAAiCC,iBAClB,OAAfJ,SAAe,IAAfA,IAAA,WAAAA,GAAiBC,mBAAjB,iBAA8BniC,kBAA9B,OACEiiC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCC,qBADnC,cACE,GAAgDtiC,iBACpC,OAAfkiC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,OACCD,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,cACC,GAAkCC,iBACnB,OAAfJ,SAAe,IAAfA,IAAA,WAAAA,GAAiBC,mBAAjB,iBAA8BniC,kBAA9B,OACEkiC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCC,qBADpC,cACE,GAAiDtiC,iBAMtC,OAAdgiC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,iBAAiCC,iBAAjC,OACCL,SADD,IACCA,IADD,WACCA,GAAgBI,uBADjB,cACC,GAAiCC,iBACnB,OAAdN,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCC,qBAAjC,iBAAgDtiC,kBAAhD,OACEiiC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,cACE,GAAiCC,cAActiC,iBACpC,OAAdiiC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,iBAAiCC,iBAAjC,OACCJ,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,cACC,GAAkCC,iBACpB,OAAdL,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCC,qBAAjC,iBAAgDtiC,kBAAhD,WACEkiC,GAAe,uBADjB,mBACE,GAEGI,qBAHL,cACE,GAEkBtiC,iBACP,OAAdgiC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,iBAAiCC,iBAAjC,OACCJ,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,cACC,GAAkCC,iBACpB,OAAdN,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCC,qBAAjC,iBAAgDtiC,kBAAhD,OACEkiC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCC,qBADpC,cACE,GAAiDtiC,eA3FnD,6DAoGa,OAAdgiC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,WAGC4U,GAAY2M,uBAHb,cAGC,GAA6BxmB,OACf,OAAd4lC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,WACEwe,GAAY2M,uBADd,cACE,GAA6BxmB,OAClB,OAAd6lC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,WAGC4U,GAAY2M,uBAHb,cAGC,GAA6BxmB,OACf,OAAd6lC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,WACEwe,GAAY2M,uBADd,cACE,GAA6BxmB,OACjB,OAAf8lC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,kBADD,WAGC4U,GAAY2M,uBAHb,cAGC,GAA6BxmB,OACd,OAAf8lC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,WACEwe,GAAY2M,uBADd,cACE,GAA6BxmB,OAMlB,OAAd4lC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,kBAAtE,WACC4U,GAAY2M,uBADb,cACC,GAA6BxmB,OACf,OAAd4lC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,WACEwe,GAAY2M,uBADd,cACE,GAA6BxmB,OAClB,OAAd6lC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,kBAAtE,WACC4U,GAAY2M,uBADb,cACC,GAA6BxmB,OACf,OAAd6lC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,OACEwe,SADF,IACEA,IADF,WACEA,GAAa2M,uBADf,cACE,GAA8BxmB,OAClB,OAAf8lC,SAAe,IAAfA,IAAA,WAAAA,GAAiBG,uBAAjB,sBAAkCE,4BAAlC,sBAAwDvqC,YAAxD,iBAA8DqJ,SAAS,kBAAvE,WACC4U,GAAY2M,uBADb,cACC,GAA6BxmB,OACd,OAAf8lC,SAAe,IAAfA,IAAA,WAAAA,GAAiBG,uBAAjB,sBAAkCE,4BAAlC,iBAAwD9qC,UAAxD,OACEwe,SADF,IACEA,IADF,WACEA,GAAa2M,uBADf,cACE,GAA8BxmB,OAMnB,OAAd4lC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,OAGC4gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBM,4BAHjB,mBAGC,GAAsCvqC,YAHvC,cAGC,GAA4CqJ,SAC1C,kBAEY,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBM,4BADlB,cACE,GAAsC9qC,SAC3B,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,OAGC6gC,SAHD,IAGCA,IAHD,WAGCA,GAAiBK,4BAHlB,mBAGC,GAAuCvqC,YAHxC,cAGC,GAA6CqJ,SAC3C,kBAEY,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBK,4BADnB,cACE,GAAuC9qC,SAC3B,OAAfyqC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,kBADD,OAGC2gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBO,4BAHjB,mBAGC,GAAsCvqC,YAHvC,cAGC,GAA4CqJ,SAC1C,kBAEa,OAAf6gC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,OACEuqC,SADF,IACEA,IADF,WACEA,GAAgBO,4BADlB,cACE,GAAsC9qC,SAM3B,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,OAGC2gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,kBACxD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,OACEuqC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,OAGC4gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,kBACxD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,OAGC6gC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDvqC,YAHzD,cAGC,GAA8DqJ,SAAS,kBACzD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACI9qC,SACO,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,OAGC2gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,kBACxD,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,OACEuqC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,OAGC4gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,kBACxD,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,kBADD,OAGC6gC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDvqC,YAHzD,cAGC,GAA8DqJ,SAAS,kBACzD,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACI9qC,SACQ,OAAfyqC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,kBADD,OAGC2gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,kBACvD,OAAf6gC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,OACEuqC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC3C,OAAfyqC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,kBADD,OAGC4gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,kBACvD,OAAf6gC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC3C,OAAfyqC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,kBADD,OAGC6gC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDvqC,YAHzD,cAGC,GAA8DqJ,SAAS,kBACxD,OAAf6gC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GAAwD9qC,SAM7C,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,kBAAtE,OACC4gC,SADD,IACCA,IADD,WACCA,GAAgBI,uBADjB,mBACC,GAAiCE,4BADlC,mBACC,GAAuDvqC,YADxD,cACC,GAA6DqJ,SAAS,kBACxD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,kBAAtE,OACC6gC,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,mBACC,GAAkCE,4BADnC,mBACC,GAAwDvqC,YADzD,cACC,GAA8DqJ,SAAS,kBACzD,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACI9qC,SACO,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,kBAAtE,OACC6gC,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,mBACC,GAAkCE,4BADnC,mBACC,GAAwDvqC,YADzD,cACC,GAA8DqJ,SAAS,kBACzD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GAAwD9qC,OA1H1D,gEAmIa,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,WAGC4U,GAAY2M,uBAHb,cAGC,GAA6ByD,YACf,OAAd2b,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,WACEwe,GAAY2M,uBADd,cACE,GAA6ByD,YAClB,OAAd4b,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,WAGC4U,GAAY2M,uBAHb,cAGC,GAA6ByD,YACf,OAAd4b,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,WACEwe,GAAY2M,uBADd,cACE,GAA6ByD,YACjB,OAAf6b,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,qBADD,WAGC4U,GAAY2M,uBAHb,cAGC,GAA6ByD,YACd,OAAf6b,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,WACEwe,GAAY2M,uBADd,cACE,GAA6ByD,YAMlB,OAAd2b,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,qBAAtE,WACC4U,GAAY2M,uBADb,cACC,GAA6ByD,YACf,OAAd2b,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,WACEwe,GAAY2M,uBADd,cACE,GAA6ByD,YAClB,OAAd4b,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,qBAAtE,WACC4U,GAAY2M,uBADb,cACC,GAA6ByD,YACf,OAAd4b,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,OACEwe,SADF,IACEA,IADF,WACEA,GAAa2M,uBADf,cACE,GAA8ByD,YAClB,OAAf6b,SAAe,IAAfA,IAAA,WAAAA,GAAiBG,uBAAjB,sBAAkCE,4BAAlC,sBAAwDvqC,YAAxD,iBAA8DqJ,SAAS,qBAAvE,WACC4U,GAAY2M,uBADb,cACC,GAA6ByD,YACd,OAAf6b,SAAe,IAAfA,IAAA,WAAAA,GAAiBG,uBAAjB,sBAAkCE,4BAAlC,iBAAwD9qC,UAAxD,OACEwe,SADF,IACEA,IADF,WACEA,GAAa2M,uBADf,cACE,GAA8ByD,YAMnB,OAAd2b,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,OAGC4gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBM,4BAHjB,mBAGC,GAAsCvqC,YAHvC,cAGC,GAA4CqJ,SAC1C,qBAEY,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBM,4BADlB,cACE,GAAsC9qC,SAC3B,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,OAGC6gC,SAHD,IAGCA,IAHD,WAGCA,GAAiBK,4BAHlB,mBAGC,GAAuCvqC,YAHxC,cAGC,GAA6CqJ,SAC3C,qBAEY,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBK,4BADnB,cACE,GAAuC9qC,SAC3B,OAAfyqC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,qBADD,OAGC2gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBO,4BAHjB,mBAGC,GAAsCvqC,YAHvC,cAGC,GAA4CqJ,SAC1C,qBAEa,OAAf6gC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,OACEuqC,SADF,IACEA,IADF,WACEA,GAAgBO,4BADlB,cACE,GAAsC9qC,SAM3B,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,OAGC2gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,qBACxD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,OACEuqC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,OAGC4gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,qBACxD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,OAGC6gC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDvqC,YAHzD,cAGC,GAA8DqJ,SAAS,qBACzD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsC9qC,UAAtC,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACI9qC,SACO,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,OAGC2gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,qBACxD,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,OACEuqC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,OAGC4gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,qBACxD,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCvqC,YAAtC,iBAA4CqJ,SAC3C,qBADD,OAGC6gC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDvqC,YAHzD,cAGC,GAA8DqJ,SAAS,qBACzD,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsC9qC,UAAtC,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACI9qC,SACQ,OAAfyqC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,qBADD,OAGC2gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,qBACvD,OAAf6gC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,OACEuqC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC3C,OAAfyqC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,qBADD,OAGC4gC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDvqC,YAHxD,cAGC,GAA6DqJ,SAAS,qBACvD,OAAf6gC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC3C,OAAfyqC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCvqC,YAAvC,iBAA6CqJ,SAC5C,qBADD,OAGC6gC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDvqC,YAHzD,cAGC,GAA8DqJ,SAAS,qBACxD,OAAf6gC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuC9qC,UAAvC,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GAAwD9qC,SAM7C,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,qBAAtE,OACC4gC,SADD,IACCA,IADD,WACCA,GAAgBI,uBADjB,mBACC,GAAiCE,4BADlC,mBACC,GAAuDvqC,YADxD,cACC,GAA6DqJ,SAAS,qBACxD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,OACEwqC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuD9qC,SAC5C,OAAdwqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,qBAAtE,OACC6gC,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,mBACC,GAAkCE,4BADnC,mBACC,GAAwDvqC,YADzD,cACC,GAA8DqJ,SAAS,qBACzD,OAAd4gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACI9qC,SACO,OAAduqC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDvqC,YAAvD,iBAA6DqJ,SAAS,qBAAtE,OACC6gC,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,mBACC,GAAkCE,4BADnC,mBACC,GAAwDvqC,YADzD,cACC,GAA8DqJ,SAAS,qBACzD,OAAd2gC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuD9qC,UAAvD,OACEyqC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GAAwD9qC,OA1H1D,wEAkIK,IDuDI+qC,CAAa3J,GAAa0F,IAC3CkC,GAAqBzlB,MAEtB,CAACujB,KACJ7hC,IAAM2H,WAAU,WACd/D,YAAW,WACTujB,GAAa,GACbA,GAAa,KACZ,OACF,CAACoX,KAGJv+B,IAAM2H,WAAU,WAAO,IAAD,M3BpOtBuR,EACA+B,EADA/B,E2BsOiB6sB,G3BrOjB9qB,E2BqOgC1B,GAAYwQ,c3BnO5C/Q,GACE,CACEkB,IAAK,uBACL5P,KAAM,CACJ6Q,cAAeF,GAEjB7B,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaS,eAE5B6M,G2ByNA0R,IACE,SAACtZ,GACC,UAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAKS,KAAK,CACX,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MACZ,MAApB+tB,SAA8C9hC,GAApB8hC,IAAmD,IAApBA,IACvB,OAApB,OAAXhX,QAAW,IAAXA,OAAA,EAAAA,EAAakd,wBAAyDhoC,IAApB,OAAX8qB,QAAW,IAAXA,OAAA,EAAAA,EAAakd,mBAA+D,MAArB,OAAXld,QAAW,IAAXA,OAAA,EAAAA,EAAakd,mBAClGjG,QAAsD/hC,KAArB,OAAX8qB,QAAW,IAAXA,OAAA,EAAAA,EAAakd,kBAAb,OAA0Cld,QAA1C,IAA0CA,OAA1C,EAA0CA,EAAakd,iBAAiB,OAMtGzsB,GAAYwQ,eAEd,IAAMrD,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAExD6M,EAAwB6T,kBAC1BC,GAAmB,GACnB4B,IAAe,IAG0B,KAA7B,OAAX7iB,SAAW,IAAXA,IAAA,UAAAA,GAAa2M,uBAAb,eAA8BM,SACW,OAA7B,OAAXjN,SAAW,IAAXA,IAAA,UAAAA,GAAa2M,uBAAb,eAA8BM,cACUxoB,IAA7B,OAAXub,SAAW,IAAXA,IAAA,UAAAA,GAAa2M,uBAAb,eAA8BM,SACrB,IAAVA,IAA0B,MAAVA,SAA4BxoB,GAAVwoB,IACA,OAAnCE,EAAwBF,aACYxoB,KAAb,OAAvB0oB,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBF,SACW,MAAb,OAAvBE,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBF,UAEzBjN,GAAY2M,gBAAgBM,OAASE,EAAwBF,OAC7DgZ,GAAU9Y,EAAwBF,SAEpCzhB,QAAQC,IACN0hB,EACA,yCACA/F,IAEGA,IACH8b,GAAS/V,EAAwBxL,UAElC,IAcHlb,IAAM2H,WAAU,WACdgS,OAAOssB,OAAO,EAAG,GACjB9e,GAAa,GACbxM,GAAa7O,GAAa,IAE1B,IAAM4a,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAU5D,GAPAN,GAAY2sB,MAAQxf,EAAwBwf,MAC5C3sB,GAAY4sB,MAAQzf,EAAwByf,MAC5C5sB,GAAYsO,aAAenB,EAAwBmB,cAClDnB,EAAwBwS,iBACvBxS,EAAwBpD,eACtBoD,EAAwBuS,aAC1BmG,IAAmB,GAEnB1Y,EAAwBpD,cACxBoD,EAAwBzC,QACxB,CACA,IAAImiB,EAAY,eAAQ5I,IACxB4I,EAAa9iB,aAAeoD,EAAwBpD,aACpD8iB,EAAaniB,QAAUyC,EAAwBzC,QAC/CwZ,GAAoB2I,GAEtB,IAAK1f,EAAwBwS,gBAAiB,CAC5C,IAAImN,EAAa,eAAQzI,IACzByI,EAAc/iB,aAAeoD,EAAwBuS,YACrDoN,EAAcpiB,QAAUyC,EAAwB0S,YAChDyE,GAAyBwI,GAE3B,IAAMC,EAAsB1yB,KAAKC,MAC/B8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAExD0sB,EAAS,QAEwBvoC,GAAnCub,GAAY2M,gBAAgBxmB,KACO,IAAnC6Z,GAAY2M,gBAAgBxmB,IAE5B6mC,EAAShtB,GAAY2M,gBAAgBxmB,IACD,IAA3B4mC,EAAoB5mC,MAC7B6mC,EAAoC,IAA3BD,EAAoB5mC,IAAY4mC,EAAoB5mC,IAAM,IAEpDA,GAAI5B,KAAKyoC,IAExBtb,GAAkBub,GAAoBD,KAEvC,CAACrN,KAEJl5B,IAAM2H,WAAU,gBACC3J,IAAXqjC,KACFA,IAAUvU,GAAcuU,KAAW,GAC/B9B,IAAkB,GAClBA,IAAkB,MAEvB,CAAC8B,KAGJrhC,IAAM2H,WAAU,WACd,IAAMoK,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaQ,YAAYH,UACpDwW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBQ,yBAA0BptB,GAAY+P,mBACtCsd,mBAAoBrtB,GAAYsO,aAChCgf,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,GAC3BkN,GAAWpT,MACV,IAGH,IAAMi7B,GAAoB,SAACx1B,IACpBA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OAEXQ,EAAIS,MACc6B,KAAKC,MAAMvC,EAAIS,MAAM5O,QACvC,SAACW,GAAD,MAA+B,aAAhBA,EAAK4N,UAEV/L,KAAI,SAACmxB,GACS,+BAApBA,EAAIiQ,cACN1D,IAAsB,GACtBV,IAAe,QAOzB,SAAS92B,GAAUyF,IACZA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OAEXQ,EAAIS,MAAQT,EAAIS,KAAKxT,OACvBkmC,GAAUnzB,EAAIS,KAAKxT,MACnB6lB,EAAW0C,IA8OjB,SAASkgB,GAAiB11B,GAExB,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,OACfqW,GAAa,OACR,CACL,IAAI2B,EAAclV,KAAKC,MAAMvC,EAAIS,MACjC,GACE+W,GACAA,EAAYmM,kBACZnM,EAAYqM,Y3Bl1BkB,SACpCjc,EACA6B,GAEA/B,GACE,CACEkB,IAAK,oCACLd,OAAQ,OACR9O,KAAM,CACJ6Q,cAAeJ,EAAOE,cACtBga,iBAAkBla,EAAOma,iBACzBC,WAAYpa,EAAOxd,YAErByc,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaiB,4BAE5BqM,G2Bw0BI+tB,CAAuBC,GALR,CACbjsB,cAAe1B,GAAYwQ,cAC3BmL,iBAAkBpM,EAAYmM,iBAC9B13B,WAAYurB,EAAYqM,kBAI1BhO,GAAa,IAKnB,SAAS+f,GAAc51B,GAErB,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CAEZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MACnC,GACE+W,GACAA,EAAYqe,SACZre,EAAYqe,QAAQ31B,QACpBsX,EAAYqe,QAAQ31B,OAAO41B,mBAC3Bte,EAAYqe,QAAQ31B,OAAO41B,kBAAkB9oC,QAC7C,CACA,IAAI+lB,EAAMyE,EAAYqe,QAAQ31B,OAAO41B,kBAC/B1gB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAEtDwtB,EAAO,eAAQ7J,IACrB6J,EAAQ/jB,aAAee,EAAI/lB,QAC3B,IAAMgpC,EAASjjB,EAAItI,SAc3B,SAAoBwrB,GAClB,IAAMxrB,EAAUwrB,EAAIC,OAAO,GAC3B,OAAOxoC,MAAMiI,SAAS8U,IAAY,GAAKA,EAhBH0rB,CAAWpjB,EAAI/lB,SACzCgpC,GAAqB,KAAXA,GAAmC,IAAlBA,EAAO5oC,SACpC2oC,EAAQpjB,QAAUqjB,EAAOpgC,YAC3BozB,EAAcjW,GACTqC,EAAwBghB,WAC3BjK,GAAoB4J,GACpBtiC,QAAQC,IAAIw4B,GAAkB,8BAKtCrW,GAAa,GAQf,SAASrb,GAAYwF,GAEnB,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKI,UAAYb,EAAIS,KAAKI,SAASzT,OAAS,EAAG,CAAC,IAAD,EAW7DipC,GAAoBr2B,EAAIS,KAAKI,SAAU,CACzC,iBACA,WACA,YACA,oBACA,aACA,sBACA,SACA,0BACA,YApB+D,mBAE/DsoB,EAF+D,KAG/DE,EAH+D,KAI/DE,EAJ+D,KAK/DE,EAL+D,KAM/DE,EAN+D,KAO/DE,EAP+D,KAQ/DO,EAR+D,KAS/DL,EAT+D,KAU/DhW,EAV+D,KAsBjEsV,EAA2BA,EAkBnBh1B,KAAI,SAAC7E,GAAD,mBAAC,eAAYA,GAAb,IAAgB9F,QAAS8F,EAAE9F,QAAQkE,QAAQ,OAAQ,SAjB/Dw7B,EAAkBD,GAClBG,GAAcD,GACdG,GAAiBD,GACjBG,GAAqBD,GACrBG,GAAcD,GACdG,GAAoBD,GACpBQ,GAAmBD,GACnBJ,GAAsBD,GACtBG,GAA0BH,GAC1BI,GAAwBJ,GACxBO,GAAevW,GAGnB8B,GAAa,GAOf,SAASygB,GAAat2B,GAEpB,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAK81B,aAAc,CACrC,IAAI/e,EAAcxX,EAAIS,KACtBwH,GAAYsO,cAAe,EAC3B5B,GAA4B6C,GAC5B,IAAMue,EAAO,eAAQ7J,IACrB6J,EAAQ/jB,aAAewF,EAAY+e,aACnC/E,GAAcha,EAAY3C,YACD,iBAAzB2C,EAAYa,UAA+BoZ,IAAkB,GAC7DsE,EAAQpjB,QAAU6E,EAAYgf,aAAa5gC,WAC3Cs4B,GAAiC,MAAvB1W,EAAYtC,OAAiB,IAAM,KAC7Cme,GAAe,IACflH,GAAoB4J,GACpBtiC,QAAQC,IAAIw4B,GAAkB,iC3B76BpCtkB,E2Bg7BQ8tB,G3B/6BR/rB,E2Bg7BQ1B,GAAYwQ,c3B96BpB/Q,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ6Q,cAAeF,EACfU,cAAe,GAEjBvC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaK,oBAE5BiN,GAhByC,IAC3CA,EACA+B,E2Bo7BEkM,GAAa,GAGf,SAAS/a,GAAoBkF,GAE3B,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZhN,QAAQC,IAAI,YAAasM,EAAIS,MAC7B,IAAI+W,EAAcxX,EAAIS,KACtBiqB,GAAyB,CACvB/oB,8BACE6V,EAAY7V,8BACdC,+BACE4V,EAAY5V,iCAEhB4oB,GAAoBhT,QAGpB1E,EAAW9S,EAAIR,OAGnBqW,GAAa,GAGf,SAASqf,GAAmBl1B,GAC1B,IAAKA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CAEZ,IAAMg2B,EAAkBz2B,EAAIS,KACQ,MAAhCg2B,EAAgBv2B,OAAOw2B,MACzBnF,GAAakF,EAAgBv2B,OAAOy2B,eA33BQ,SAy4BrClC,GAz4BqC,iFAy4BpD,WAA6Bz0B,GAA7B,SAAAzL,EAAA,sDACE,IACEshB,GAAa,IACR7V,GAAOA,EAAIR,OACdqW,GAAa,GACb/C,EAAW9S,EAAIR,QAEXQ,EAAIS,MAAO,WACb,IAAIm2B,EAAO,EACPpf,EAAclV,KAAKC,MAAMvC,EAAIS,MAC7Bo2B,EAAc,GAElB,GAAIrf,EAAYsf,4BAA6B,CAAC,IAAD,EACrC1hB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D6M,EAAwBpD,aACtBwF,EAAYsf,4BAA4BC,2BAA2BC,sBACrE5hB,EAAwBwS,gBACtBpQ,EAAYsf,4BAA4BG,gCAAgCC,qBAC1E9hB,EAAwBuS,YACtBnQ,EAAYsf,4BAA4BG,gCAAgCE,2BAC1E9uB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAGjBnN,GAAY4sB,OAASxD,IAAe,GACpCppB,GAAY2sB,OAASvD,IAAe,GACpC,IAAI+F,EACF5f,EAAYsf,4BACTC,2BACL,GAAIK,EAAW,CACb,IAAMC,EAAU,eAAQnL,IACxBmL,EAAWrlB,aACTolB,EAAUJ,sBACVI,EAAUE,uBACTF,EAAUG,uBAAyB,KACnCH,EAAUI,uBAAyB,IACtCH,EAAWjtB,KAAOgtB,EAAUK,cAC5BJ,EAAW3sB,KAAO0sB,EAAUM,cAC5BL,EAAW1kB,QAAUykB,EAAUO,iBAC/BN,EAAWrkB,SAAWokB,EAAUQ,kBAChCP,EAAW1sB,MAAQysB,EAAUS,eAC7BR,EAAWnkB,UAAYkkB,EAAUU,mBACjCT,EAAWpkB,QAAUmkB,EAAUW,iBAC/BV,EAAWlkB,YAAcikB,EAAUY,qBACnC7L,GAAoBkL,GACpB5jC,QAAQC,IAAIw4B,GAAkB,4BAOhC,GAHAkL,EACE5f,EAAYsf,4BACTG,gCACU,CACb,IAAMgB,EAAU,eAAQ3L,IACxB2L,EAAWjmB,aACTolB,EAAUD,2BACVC,EAAUc,4BACTd,EAAUe,4BAA8B,KACxCf,EAAUgB,4BAA8B,IAC3CH,EAAW7tB,KAAOgtB,EAAUiB,mBAC5BJ,EAAWvtB,KAAO0sB,EAAUkB,mBAC5BL,EAAWtlB,QAAUykB,EAAUmB,sBAC/BN,EAAWjlB,SAAWokB,EAAUoB,uBAChCP,EAAWttB,MAAQysB,EAAUqB,oBAC7BR,EAAW/kB,UAAYkkB,EAAUsB,wBACjCT,EAAWhlB,QAAUmkB,EAAUuB,sBAC/BV,EAAW9kB,YAAcikB,EAAUwB,0BACnCrM,GAAyB0L,GACzBxkC,QAAQC,IACN44B,GACA,iCAIJwB,GAAkB,OAChBtW,QADgB,IAChBA,GADgB,UAChBA,EAAasf,mCADG,aAChB,EAA0CI,sBAG9C,GACE1f,EAAYqhB,sBACZrhB,EAAYsf,4BACZ,CAAC,IAAD,IACA,GACEtf,EAAYshB,4BACZthB,EAAYshB,2BAA2B1rC,OAAS,EAChD,CACA09B,IAAe,GACfyH,IAAc,GACdvH,GAAgBxT,EAAYshB,2BAA2B1rC,QAEvD,IADA,IAAM2rC,EAAa,GAEb3kC,EAAI,EACRA,EAAIojB,EAAYshB,2BAA2B1rC,OAC3CgH,IACA,CACA,IAAM2X,EAAUyL,EAAYshB,2BAA2B1kC,GACvD,GAEE,gDADO,OAAP2X,QAAO,IAAPA,OAAA,EAAAA,EAASitB,oBAET,CACAzG,IAAc,GACd,IAAM0G,EAAa,CACjBloC,GAAI,aACJq3B,SAAS,EACTC,UAAW,IACX3F,SAAQ,OAAE3W,QAAF,IAAEA,OAAF,EAAEA,EAASmtB,yBACnB1Q,OACE,yBACAlmB,KAAKC,MACHD,KAAKkG,UAAL,OAAeuD,QAAf,IAAeA,OAAf,EAAeA,EAASmtB,2BACxBlX,eACJuG,UAAU,EACVD,cAAc,GAEhBoJ,GAAcuH,GAGhB,IAAIjnB,EACFjG,EAAQotB,2BAA2BnC,sBACjCoC,EACFrtB,EAAQotB,2BAA2B7B,sBACjC+B,EAAY,OACdttB,QADc,IACdA,OADc,EACdA,EAASotB,2BAA2B5B,sBAClC+B,EAAY,OACdvtB,QADc,IACdA,OADc,EACdA,EAASotB,2BAA2B3B,sBAKtC4B,EACkB,QAAhBA,GAA0C,MAAhBA,EACtBA,EACA,GACNC,EACkB,QAAhBA,GAA0C,MAAhBA,EACtBA,EACA,GACNC,EACkB,QAAhBA,GAA0C,MAAhBA,EACtBA,EACA,GAEN,IAAIC,EAAe,UAjBnBvnB,EACkB,QAAhBA,GAA0C,MAAhBA,EACtBA,EACA,IAca,OAAqBonB,GAArB,OAAoCC,GAApC,OAAmDC,GAClEE,EACmB,MAArBztB,EAAQ0tB,WAA0C,QAArB1tB,EAAQ0tB,UACjC1tB,EAAQ0tB,UACR,GACFC,EACoB,MAAtB3tB,EAAQ4tB,YAA4C,QAAtB5tB,EAAQ4tB,WAClC5tB,EAAQ4tB,WACR,GACFC,EACkB,MAApB7tB,EAAQ8tB,UAAwC,QAApB9tB,EAAQ8tB,SAChC9tB,EAAQ8tB,SACR,GACF1F,EAAW,UAAMqF,EAAN,YAAoBE,EAApB,YAAmCE,GAE5CE,EAAqB,CACzBt6B,MAAO,GACPu6B,SAAUhuB,EAAQiuB,MAClB7F,YAAaA,EACbhE,YAAapkB,EAAQkuB,aACrBzN,eAAgB,CACdxa,aAAcunB,EACd7uB,KAAMqB,EAAQotB,2BAA2BzB,cACzCzkB,QACElH,EAAQotB,2BAA2BpB,iBACrC/kB,SACEjH,EAAQotB,2BAA2BvB,kBACrCjlB,QACE5G,EAAQotB,2BAA2BxB,iBACrChtB,MAAOoB,EAAQotB,2BAA2BtB,eAC1CztB,KAAM2B,EAAQotB,2BAA2B1B,cACzCtkB,YACEpH,EAAQotB,2BAA2BnB,qBACrC9kB,UACEnH,EAAQotB,2BAA2BrB,oBAEvCoC,cAAenuB,EAAQouB,WACvBpK,OAAQhkB,EAAQquB,IAAM,IAAIjf,KAAKpP,EAAQquB,KAAO,KAC9CC,eAAgBtuB,EAAQuuB,QACxB/F,qBAAsB,CACpBvqC,KAAM+hB,EAAQitB,mBACdvvC,MAAOsiB,EAAQmtB,2BAKnB,GAAIntB,EAAQuuB,QAAS,CACnB,IAAMjG,EACJ7c,EAAY+iB,4BAA4Bh1B,MACtC,SAACi1B,GAAD,OACEA,EAAqBC,OAAS7D,KAGpC,GAAIvC,GAAmBzd,OAAOlf,KAAK28B,GAAiBjnC,OAAQ,CAC1DqG,QAAQC,IAAI,kBAAmB2gC,GAC/B,IAAIriB,EAAY,OACdqiB,QADc,IACdA,OADc,EACdA,EAAiB8E,2BACdnC,sBACDoC,EAAY,OACd/E,QADc,IACdA,OADc,EACdA,EAAiB8E,2BACd7B,sBACD+B,EAAY,OACdhF,QADc,IACdA,OADc,EACdA,EAAiB8E,2BACd5B,sBACD+B,EAAY,OACdjF,QADc,IACdA,OADc,EACdA,EAAiB8E,2BACd3B,sBAOL4B,EACmB,SAAjBA,GACiB,SAAjBA,GACiB,OAAjBA,EACIA,EACA,GACNC,EACmB,SAAjBA,GACiB,SAAjBA,GACiB,OAAjBA,EACIA,EACA,GACNC,EACmB,SAAjBA,GACiB,SAAjBA,GACiB,OAAjBA,EACIA,EACA,GACN,IAAIC,EAAe,UAxBnBvnB,EACmB,SAAjBA,GACiB,SAAjBA,GACiB,OAAjBA,EACIA,EACA,IAmBa,OAAqBonB,GAArB,OAAoCC,GAApC,OAAmDC,GAElEE,EAC4B,OAAf,OAAfnF,QAAe,IAAfA,OAAA,EAAAA,EAAiBoF,YACa,SAAf,OAAfpF,QAAe,IAAfA,OAAA,EAAAA,EAAiBoF,WADjB,OAEIpF,QAFJ,IAEIA,OAFJ,EAEIA,EAAiBoF,UACjB,GACFC,EAC6B,OAAhB,OAAfrF,QAAe,IAAfA,OAAA,EAAAA,EAAiBsF,aACc,SAAhB,OAAftF,QAAe,IAAfA,OAAA,EAAAA,EAAiBsF,YADjB,OAEItF,QAFJ,IAEIA,OAFJ,EAEIA,EAAiBsF,WACjB,GACFC,EAC2B,OAAd,OAAfvF,QAAe,IAAfA,OAAA,EAAAA,EAAiBwF,WACY,SAAd,OAAfxF,QAAe,IAAfA,OAAA,EAAAA,EAAiBwF,UADjB,OAEIxF,QAFJ,IAEIA,OAFJ,EAEIA,EAAiBwF,SACjB,GACF1F,EAAW,UAAMqF,EAAN,YAAoBE,EAApB,YAAmCE,GAElDE,EAAa,gBAAsB,CACjCY,kBAAmB,IACnBhO,gBAAiB,CACf1a,aAAcunB,EACd7uB,KAAI,OAAE2pB,QAAF,IAAEA,OAAF,EAAEA,EAAiB8E,2BACpBzB,cACHzkB,QAAO,OACLohB,QADK,IACLA,OADK,EACLA,EAAiB8E,2BACdpB,iBACL/kB,SAAQ,OACNqhB,QADM,IACNA,OADM,EACNA,EAAiB8E,2BACdvB,kBACLjlB,QAAO,OACL0hB,QADK,IACLA,OADK,EACLA,EAAiB8E,2BACdxB,iBACLhtB,MAAK,OACH0pB,QADG,IACHA,OADG,EACHA,EAAiB8E,2BACdtB,eACLztB,KAAI,OAAEiqB,QAAF,IAAEA,OAAF,EAAEA,EAAiB8E,2BACpB1B,cACHtkB,YAAW,OACTkhB,QADS,IACTA,OADS,EACTA,EAAiB8E,2BACdnB,qBACL9kB,UAAS,OACPmhB,QADO,IACPA,OADO,EACPA,EAAiB8E,2BACdrB,oBAEP/J,eAAe,EACfqM,IAAG,OAAE/F,QAAF,IAAEA,OAAF,EAAEA,EAAiB+F,IACtBO,WAAU,OAAEtG,QAAF,IAAEA,OAAF,EAAEA,EAAiB2F,MAC7B1F,cAAeH,EACfxD,cAAa,OAAE0D,QAAF,IAAEA,OAAF,EAAEA,EAAiB4F,aAChC1F,qBAAsB,CACpBvqC,KAAI,OAAEqqC,QAAF,IAAEA,OAAF,EAAEA,EAAiB2E,mBACvBvvC,MAAK,OAAE4qC,QAAF,IAAEA,OAAF,EAAEA,EAAiB6E,0BAE1B0B,sBAAqB,OAAEvG,QAAF,IAAEA,OAAF,EAAEA,EAAiBwG,UACxCC,gBAAe,OAAEzG,QAAF,IAAEA,OAAF,EAAEA,EAAiBpF,WAClC8L,kBAAiB,OAAE1G,QAAF,IAAEA,OAAF,EAAEA,EAAiB2G,kBACpCC,cAAa,OAAE5G,QAAF,IAAEA,OAAF,EAAEA,EAAiB6G,sBAChCC,kBAAiB,OAAE9G,QAAF,IAAEA,OAAF,EAAEA,EAAiB+G,eAI1CxE,GAAQ,EACRmC,EAAMziB,KAAKwjB,GAEbrmC,QAAQC,IAAI,kBAAgBqlC,GAC5BvI,GAAeuI,GAMjB9wB,GAAY0Q,OAASnB,EAAY0B,OACjCjR,GAAYozB,UAAY7jB,EAAYsf,4BACjCwE,WACC9jB,EAAYsf,4BAA4BwE,WACxC,GACJrzB,GAAYszB,WAAa/jB,EAAYsf,4BAClC0E,YACChkB,EAAYsf,4BAA4B0E,YACxC,GACJvzB,GAAYwzB,SAAWjkB,EAAYsf,4BAChC4E,QACClkB,EAAYsf,4BAA4B4E,QACxC,EAEJ,IAAMtmB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBoD,cAAgBvQ,GAAYwQ,cACpDrD,EAAwBumB,OAAS1zB,GAAY0Q,OAC7CvD,EAAwBsD,sBACtBlB,EAAYokB,sBACdxmB,EAAwBymB,QAAUrkB,EAC/Bsf,4BAA4BhtB,MAC3B0N,EAAYsf,4BAA4BhtB,MACxCsL,EAAwBymB,QAC5BzmB,EAAwB0mB,UACtBtkB,EAAYsf,4BAA4BiF,UAC1C3mB,EAAwB4mB,OACtBxkB,EAAYsf,4BAA4BmF,WAC1C7mB,EAAwBmZ,WAAxB,UACE/W,EAAYsf,4BAA4BoF,wBACpC1kB,EAAYsf,4BACToF,wBACH,GAJN,YAME1kB,EAAYsf,4BAA4BqF,yBACpC3kB,EAAYsf,4BACTqF,yBACH,GATN,YAWE3kB,EAAYsf,4BAA4BsF,uBACpC5kB,EAAYsf,4BAA4BsF,uBACxC,IAENhnB,EAAwBwZ,eAAxB,UACEpX,EAAYsf,4BAA4BuF,gBACpC7kB,EAAYsf,4BAA4BuF,gBACxC,GAHN,YAKE7kB,EAAYsf,4BAA4BwF,iBACpC9kB,EAAYsf,4BAA4BwF,iBACxC,GAPN,YASE9kB,EAAYsf,4BAA4ByF,eACpC/kB,EAAYsf,4BAA4ByF,eACxC,IAENnnB,EAAwBpD,aACtBwF,EAAYsf,4BAA4BC,2BAA2BC,sBACrE5hB,EAAwBwS,gBACtBpQ,EAAYsf,4BAA4BG,gCAAgCC,qBAC1E9hB,EAAwBuS,YACtBnQ,EAAYsf,4BAA4BG,gCAAgCE,2BAC1E/hB,EAAwBwf,MACtBpd,EAAYsf,4BAA4B0F,MAC1CpnB,EAAwByf,MACtBrd,EAAYsf,4BAA4BjC,MAC1CxsB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAGjBnN,GAAY4sB,OAASxD,IAAe,GACpCppB,GAAY2sB,OAASvD,IAAe,GACpC,IAAI+F,EACF5f,EAAYsf,4BACTC,2BACL,GAAIK,EAAW,CACb,IAAMC,EAAU,eAAQnL,IACxBmL,EAAWrlB,aACTolB,EAAUJ,sBACVI,EAAUE,uBACTF,EAAUG,uBAAyB,KACnCH,EAAUI,uBAAyB,IACtCH,EAAWjtB,KAAOgtB,EAAUK,cAC5BJ,EAAW3sB,KAAO0sB,EAAUM,cAC5BL,EAAW1kB,QAAUykB,EAAUO,iBAC/BN,EAAWrkB,SAAWokB,EAAUQ,kBAChCP,EAAW1sB,MAAQysB,EAAUS,eAC7BR,EAAWnkB,UAAYkkB,EAAUU,mBACjCT,EAAWpkB,QAAUmkB,EAAUW,iBAC/BV,EAAWlkB,YAAcikB,EAAUY,qBACnC7L,GAAoBkL,GACpB5jC,QAAQC,IAAIw4B,GAAkB,6BAG1BjkB,GAAY2sB,OAAS3sB,GAAY4sB,SACnCrS,GAAcgT,GAAmBvtB,GAAYwQ,eAC7C4T,GAAcgL,GACd1I,GAAiBvZ,EAAwBmZ,aAO7C,GAHA6I,EACE5f,EAAYsf,4BACTG,gCACU,CACb,IAAMgB,EAAU,eAAQ3L,IACxB2L,EAAWjmB,aACTolB,EAAUD,2BACVC,EAAUc,4BACTd,EAAUe,4BAA8B,KACxCf,EAAUgB,4BAA8B,IAC3CH,EAAW7tB,KAAOgtB,EAAUiB,mBAC5BJ,EAAWvtB,KAAO0sB,EAAUkB,mBAC5BL,EAAWtlB,QAAUykB,EAAUmB,sBAC/BN,EAAWjlB,SAAWokB,EAAUoB,uBAChCP,EAAWttB,MAAQysB,EAAUqB,oBAC7BR,EAAW/kB,UAAYkkB,EAAUsB,wBACjCT,EAAWhlB,QAAUmkB,EAAUuB,sBAC/BV,EAAW9kB,YAAcikB,EAAUwB,0BACnCrM,GAAyB0L,GACzBxkC,QAAQC,IACN44B,GACA,iCAsCJ,IAnCA8K,EAAY5f,EAAYsf,+BAEtBxI,GAAkB8I,EAAUqF,QAAU,MACtC5F,EAAc,GACdA,IACGO,EAAU8E,yBAA2B,IACtC,KACC9E,EAAU+E,0BAA4B,IACvC,KACC/E,EAAUgF,wBAA0B,IACvC3N,GAAsBoI,GAEtB/H,IACGsI,EAAUiF,iBAAmB,IAC5B,KACCjF,EAAUkF,kBAAoB,IAC/B,KACClF,EAAUmF,gBAAkB,KAEjC9oC,QAAQC,IACN,+BACA0hB,GAEFgZ,GAAiBgJ,EAAUsF,eAC3BxO,GAAUkJ,EAAUjiB,QACpBke,GAAe,IACfvF,GAAmBsJ,EAAUF,sBAC7BhM,GAAS9V,EAAwBymB,SACjC5zB,GAAYgjB,KAAKvlB,MAAQ0P,EAAwBymB,QACjDjQ,IAAmB,GACnBR,IAAgB,GAChBD,GAAS/V,EAAwBxL,QACjC3B,GAAYgjB,KAAKrhB,OAASwL,EAAwBxL,SAEpDwtB,EAAY5f,EAAYqhB,wBAEtB7J,GAAmBoI,EAAUyD,WAAa,IAC1C3L,GAAckI,EAAUnI,YAAc,IACtCG,GAAgBgI,EAAUuF,KAAO,KACjCnN,GAAgB4H,EAAU4D,mBAAqB,IAC/CpL,GAAgBwH,EAAUgE,cAAgB,IAC1C1L,GAAY0H,EAAUwF,oBACtB9M,GAAsBsH,EAAUyF,mBAAmBjnC,YACnD05B,IAAmB8H,EAAU0F,2BAEF,GAAvB1F,EAAU2F,UAAgB9K,IAAW,GACpCA,IAAW,GACiB,GAA7BmF,EAAU4F,gBACZ5K,GACE,2CAGFA,GACE,+CAGFgF,EAAU0F,2BACV1F,EAAU6F,wBAAwB7vC,OAAS,GAC3C,CACA,IAAM8vC,EAA+B,CACnCppB,QAASsjB,EAAU6F,wBAAwB,GAAGnpB,QAC9CE,OACEojB,EAAU6F,wBAAwB,GAAGE,oBACvCjpB,YACEkjB,EAAU6F,wBAAwB,GAAGG,sBACvCnpB,YACEmjB,EAAU6F,wBAAwB,GAC/BI,2BAEPlM,GAAiB+L,GAMrB,GAFA9F,EAAS,UACP5f,EAAY8lB,4BADL,aACP,EAAkCvG,2BACrB,CACb,IAAMwG,EAAS,eAAQ/Q,IACvB+Q,EAAUvrB,aACRolB,EAAUJ,sBACVI,EAAUE,uBACTF,EAAUG,uBAAyB,KACnCH,EAAUI,uBAAyB,IACtC+F,EAAUnzB,KAAOgtB,EAAUK,cAC3B8F,EAAU7yB,KAAO0sB,EAAUM,cAC3B6F,EAAU5qB,QAAUykB,EAAUO,iBAC9B4F,EAAUvqB,SAAWokB,EAAUQ,kBAC/B2F,EAAUrqB,UAAYkkB,EAAUU,mBAChCyF,EAAUtqB,QAAUmkB,EAAUW,iBAC9BwF,EAAUpqB,YAAcikB,EAAUY,qBAClCvL,GAAkB8Q,GAClBzS,IAAe,GAkBjB,IAhBAsM,EAAY5f,EAAY8lB,wBAEtBrN,GAAYmH,EAAUoG,OACtBtN,GACEkH,EAAU3oB,UACR,KACC2oB,EAAUqG,YAAc,IACzB,KACCrG,EAAUzoB,UAAY,KAE3ByhB,GAAegH,EAAU6C,cAAgB,IACzChM,GAAkBmJ,EAAUkD,SAC5BtK,GAAUoH,EAAUsG,MAEtBtG,EAAS,UACP5f,EAAYmmB,6BADL,aACP,EAAmC5G,2BACtB,CACb,IAAM6G,EAAW,eAAQlR,IACzBkR,EAAY5rB,aACVolB,EAAUJ,sBACVI,EAAUE,uBACTF,EAAUG,uBAAyB,KACnCH,EAAUI,uBAAyB,IACtCoG,EAAYxzB,KAAOgtB,EAAUK,cAC7BmG,EAAYlzB,KAAO0sB,EAAUM,cAC7BkG,EAAYjrB,QAAUykB,EAAUO,iBAChCiG,EAAY5qB,SAAWokB,EAAUQ,kBACjCgG,EAAYjzB,MAAQysB,EAAUS,eAC9B+F,EAAY1qB,UAAYkkB,EAAUU,mBAClC8F,EAAY3qB,QAAUmkB,EAAUW,iBAChC6F,EAAYzqB,YAAcikB,EAAUY,qBACpCrL,GAAmBiR,GACnB3P,IAAkB,IAEpBmJ,EAAY5f,EAAYmmB,yBAEtBlN,GAAc2G,EAAUoG,OACxB9M,GACE0G,EAAU3oB,UACR,KACC2oB,EAAUqG,YAAc,IACzB,KACCrG,EAAUzoB,UAAY,KAE3BiiB,GAAiBwG,EAAU6C,cAAgB,IAC3CpJ,GAAwBuG,EAAUyD,WAAa,IAC/C/J,GAAmBsG,EAAUnI,YAAc,IAC3C8B,GAAqBqG,EAAUuF,KAAO,KACtC3L,GAAqBoG,EAAU4D,mBAAqB,IACpD/J,GAAiBmG,EAAU8D,uBAAyB,IACpDhK,GAAqBkG,EAAUgE,cAAgB,KAEjDvlB,GAAa,OACR,CACL,IAAMT,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D,GAAI6M,EAAwB3K,QAC1BD,GACE3P,GACAua,EAAwB3K,cAErB,GACLxC,GAAY4sB,OACZ5sB,GAAY41B,cAAc7rB,cAC1B/J,GAAY41B,cAAcpzB,QAE1BD,GACE3P,GACAoN,GAAY41B,cAAcpzB,cAEzB,GACHxC,GAAY2sB,OACW,KAAvB3sB,GAAY+zB,QACZ/zB,GAAY61B,eAAe9rB,cAC3B/J,GAAY61B,eAAerzB,QAE3BD,GACE3P,GACAoN,GAAY61B,eAAerzB,cAE1B,GACHxC,GAAYsO,cACZtO,GAAY2M,gBAAgB5C,cAC5B/J,GAAY2M,gBAAgBnK,QAE5BD,GACE3P,GACAoN,GAAY2M,gBAAgBnK,aAE3B,CACH,IAAMszB,EAAc,CAClBvlB,cAAevQ,GAAYwQ,cAC3BulB,uBAAwB/1B,GAAYyQ,uBAEtClP,GAAoB8sB,GAAcyH,IAItC,IAAIE,EAAYh2B,GAAYgjB,KAAKrhB,OAC7BiyB,EAAU5zB,GAAYgjB,KAAKvlB,MACzB0P,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAEvD01B,IACHA,EAAY7oB,EAAwBxL,QAEjCiyB,IACHA,EAAUzmB,EAAwBymB,SAGnB,IAAfhF,GACe,MAAfA,QACenqC,GAAfmqC,IAG4C,IAA1C5uB,GAAY2M,gBAAgB2Z,YACc,MAA1CtmB,GAAY2M,gBAAgB2Z,iBACc7hC,GAA1Cub,GAAY2M,gBAAgB2Z,WAE5BE,QACyC/hC,IAAvC0oB,EAAwBmZ,WACpBnZ,EAAwBmZ,WACxB,IAGNE,GAAsBxmB,GAAY2M,gBAAgB2Z,aAGtD7kB,GACE5O,GACAmN,GAAYwQ,cACZojB,EACAoC,EAAUroC,YA/oBC,GAupBjB,MAAO4J,GACP/L,QAAQC,IAAI,iBAAkB8L,GA/pBlC,4CAz4BoD,sBA8lDpD,SAAS3E,GAAemF,GACtB,IAAKA,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKrT,OAAS,EAAG,CACnC,IAAMgoB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAExDwK,EAAW,GACfA,EAAIJ,QAAU3S,EAAIS,KAAK,GAAGkS,QAC1BI,EAAIC,SAAWhT,EAAIS,KAAK,GAAGuS,SAC3BD,EAAIE,QAAUjT,EAAIS,KAAK,GAAGwS,QAC1BF,EAAIrI,KAAO1K,EAAIS,KAAK,GAAGiK,KACvBqI,EAAIpI,MAAQ3K,EAAIS,KAAK,GAAGkK,MACxBoI,EAAIG,UAAYlT,EAAIS,KAAK,GAAGyS,UAC5BH,EAAII,YAAcnT,EAAIS,KAAK,GAAG0S,YAC9BJ,EAAIf,aAAeoD,EAAwBpD,aACvCoD,EAAwBpD,aACxB/J,GAAY61B,eAAe9rB,aAC3B/J,GAAY61B,eAAe9rB,aAC3B/J,GAAY41B,cAAc7rB,aAC1B/J,GAAY41B,cAAc7rB,aAC1B/J,GAAY2M,gBAAgB5C,aAEhCma,GAAoBpZ,I3B9+CA,SAACnL,EAA4Bs2B,GACvDx2B,GACE,CACEkB,IAAK,mCACL5P,KAAM,CACJmR,QAAS+zB,EAAQzzB,QACjBL,KAAM,GACNM,KAAKwzB,EAAQjxC,KACbod,cAAe,EACfM,MAAMuzB,EAAQhsC,OAEhB4V,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa0E,UAE5B4I,G2Bo+CIu2B,EAAa,SAACn+B,GAAD,OA6CnB,SAAwBA,GACtBvM,QAAQC,IAAIsM,EAAK,mBACZA,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,OAEXQ,EAAIS,MAAQT,EAAIS,KAAKrT,OApDIgxC,CAAep+B,KAL1B,CACdyK,QAASzK,EAAIS,KAAK,GAAGkS,QACrB1lB,KAAM+S,EAAIS,KAAK,GAAGiK,KAClBxY,MAAO8N,EAAIS,KAAK,GAAGkK,QAGjBid,IACF2E,GAAyBxZ,GACzBtf,QAAQC,IAAI44B,GAAuB,iCAEnCzW,GAAa,IAETT,EAAwB0S,YAC1Btd,IACE,SAACxK,GAAD,OA2EZ,SAAwBA,EAAUhT,GAChC,IAAKgT,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKrT,OAAS,EAAG,CACnC,IAAI2lB,EAAW,GACfA,EAAItI,QAAUzK,EAAIS,KAAK,GAAGkS,QAC1BI,EAAI9I,KAAOjK,EAAIS,KAAK,GAAGiK,KACvBqI,EAAI8U,SAAW7nB,EAAIS,KAAK,GAAGuS,SAC3BD,EAAIe,QAAU9T,EAAIS,KAAK,GAAGwS,QAC1BF,EAAI9lB,KAAO+S,EAAIS,KAAK,GAAGiK,KACvBqI,EAAI7gB,MAAQ8N,EAAIS,KAAK,GAAGkK,MACxBoI,EAAIiV,UAAYhoB,EAAIS,KAAK,GAAGyS,UAC5BH,EAAIgV,YAAc/nB,EAAIS,KAAK,GAAG0S,YAC9BJ,EAAIf,aAAehlB,EACnBu/B,GAAyBxZ,GACzBtf,QAAQC,IAAI44B,GAAuB,iCAEnCzW,GAAa,IA9FLwoB,CAAer+B,EAAKoV,EAAwBuS,eAC9C1f,GAAY61B,eAAerzB,SAYxBoL,GAAa,QAItB/C,EAAW9S,EAAIR,OAkFrB,SAAS8+B,GAAQC,IACf1oB,GAAa,GACb0V,IAAgB,GAChBQ,IAAc,GACE,UAAZwS,GtB14DoB,SAAC32B,EAA4B42B,GACvD92B,GACE,CACEkB,IAAK,uBACL5P,KAAM,CACJylC,OAAQD,EAAOE,OACfC,SAAUH,EAAOI,SACjBC,YAAaL,EAAOM,aAEtBh3B,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa4B,QAE5B0L,GsBo4DEm3B,EAAa,SAAC/+B,GAAD,OAAcg/B,GAAQh/B,EAAK,WAP3B,CACXi/B,SAAUt1C,EACVi1C,SAAUj1C,EACVu1C,WAAYv1C,EACZm1C,YAAan1C,EACb+0C,OAAQh5B,KtB51DdgC,GACE,CACEkB,IAAK,gBACL5P,KAAM,CACJiV,MsB61DkDoB,ItB31DpDvH,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAa4B,SsBw1DZ,SAAC8D,GAAD,OAAcg/B,GAAQh/B,EAAK,aAI7C,SAASg/B,GAAQh/B,EAAUu+B,GACrBv+B,EAAIS,MAAQT,EAAIM,QACdN,EAAIS,MAAoB,UAAZ89B,IACdnT,IAAgB,GAChBG,IAAgB,IAEdvrB,EAAIS,KAAK0+B,SAAuB,WAAZZ,IACtBjT,IAAiB,GACjBG,IAAiB,IAEnB3Y,EAAW0C,IAGX1C,EAAW9S,EAAIR,OAEjBqW,GAAa,GAGf,SAASzZ,GAAYmiC,EAA6BzsC,GAC5Cwa,IACFyf,IAAc,GAEG,IAAfj6B,EAAI1E,SACNyoB,GAAa,GACb6V,IAAc,GACE,UAAZ6S,EtBr2DuB,SAC/B32B,EACAlC,EACA2H,GAEA3F,GACE,CACEkB,IAAK,0BACL5P,KAAM,CACJ6V,QAASnJ,EACTwI,IAAKb,GAEPvF,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa8B,aAE5BwL,GsBq1DIw3B,EACE,SAACp/B,GAAD,OAAcq/B,GAAiBr/B,EAAK,WACpC0F,GACA5T,GAGFic,IACE,SAAC/N,GAAD,OAAcq/B,GAAiBr/B,EAAK,YACpCqP,GAAMzZ,WACN9D,IAKR,SAASutC,GAAiBr/B,EAAUu+B,GAElC,GADA7S,IAAc,IACT1rB,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqW,GAAa,OACR,CACL,GAAgB,GAAZ7V,EAAIS,MAA4B,QAAZT,EAAIS,MAA8B,YAAZT,EAAIS,KAAoB,CAAC,IAAD,MACpD,UAAZ89B,IACFt2B,GAAYgjB,KAAKvlB,MAAQA,GACzBkmB,IAAmB,GACnBL,IAAgB,IAEF,WAAZgT,IACFt2B,GAAYgjB,KAAKrhB,OAASyF,GAC1Byc,IAAoB,GACpBL,IAAiB,IAGnB,IAAIwS,EAAYh2B,GAAYgjB,KAAKrhB,OAC7BiyB,EAAU5zB,GAAYgjB,KAAKvlB,MACzB0P,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAId,OAAjC,OAAXN,SAAW,IAAXA,IAAA,UAAAA,GAAa2M,uBAAb,eAA8B2Z,kBACc7hC,IAAjC,OAAXub,SAAW,IAAXA,IAAA,UAAAA,GAAa2M,uBAAb,eAA8B2Z,aACc,KAAjC,OAAXtmB,SAAW,IAAXA,IAAA,UAAAA,GAAa2M,uBAAb,eAA8B2Z,aAE9BE,GAAsBrZ,EAAwBmZ,YAC9CtmB,GAAY2M,gBAAgB2Z,WAC1BnZ,EAAwBmZ,YAE1BE,GAAsBxmB,GAAY2M,gBAAgB2Z,YAE/C0P,IACHA,EAAY7oB,EAAwBxL,QAEjCiyB,IACHA,EAAUzmB,EAAwBymB,SAEpCnyB,GACE5O,GACAmN,GAAYwQ,cACZojB,EACAoC,EAAUroC,iBAGZm2B,IAAc,GAEhBjZ,EAAW0C,GAEbK,GAAa,GAqDf,SAASypB,GAAiBxuC,EAAcqC,EAAerB,GACrD,IAAIrI,EAAgBkM,SAAS7D,GAAK8D,WAElC,OAAQ9E,GACN,IAAK,QACH,IAAIyuC,EAAWhV,GAAiBlpB,iBAChCk+B,EAASpsC,GAAO2C,iBAAmBrM,EACnC+gC,GAAoB,2BACfD,IADc,IAEjBlpB,iBAAkBk+B,KAEpB,MACF,IAAK,SACH,IAAIC,EAAYjV,GAAiBhpB,kBACjCi+B,EAAUrsC,GAAO2C,iBAAmBrM,EACpC+gC,GAAoB,2BACfD,IADc,IAEjBhpB,kBAAmBi+B,KAErB,MACF,IAAK,OACH,IAAIC,EAAUlV,GAAiBmV,gBAC/BD,EAAQtsC,GAAO2C,iBAAmBrM,EAClC+gC,GAAoB,2BAAKD,IAAN,IAAwBmV,gBAAiBD,MAyJlE,SAASE,GAAuB7uC,EAAcqC,EAAerB,GAC3D,IAAIrI,EAAK,OAAGqI,QAAH,IAAGA,OAAH,EAAGA,EAAKrI,MAIjB,GADAgK,QAAQC,IAAI,eAAgB5B,GACf,WAAThB,EACF,GAAa,KAATrH,EAAc,CAChBgK,QAAQC,IAAI,WACZ,IAAIksC,EAAY,2BACX9L,GAAwBlqB,QADb,IAEd8pB,KAAMI,GAAwBlqB,OAAO8pB,KAAO,IAE9CK,GAA2B,2BACtBD,IADqB,IAExBlqB,OAAQg2B,UAEL,GAAa,KAATn2C,EAAc,CACvBgK,QAAQC,IAAI,WACZ,IAAIksC,EAAY,2BACX9L,GAAwBlqB,QADb,IAEd+pB,OAAQG,GAAwBlqB,OAAO+pB,OAAS,IAElDI,GAA2B,2BACtBD,IADqB,IAExBlqB,OAAQg2B,UAEL,GAAa,KAATn2C,EAAc,CACvBgK,QAAQC,IAAI,WACZ,IAAIksC,EAAY,2BACX9L,GAAwBlqB,QADb,IAEdgqB,eAAgBE,GAAwBlqB,OAAOgqB,eAAiB,IAElEG,GAA2B,2BACtBD,IADqB,IAExBlqB,OAAQg2B,UAEL,GAAa,KAATn2C,EAAc,CACvBgK,QAAQC,IAAI,WACZ,IAAIksC,EAAY,2BACX9L,GAAwBlqB,QADb,IAEdiqB,iBAAkBC,GAAwBlqB,OAAOiqB,iBAAmB,IAEtEE,GAA2B,2BACtBD,IADqB,IAExBlqB,OAAQg2B,KAId,GAAa,UAAT9uC,EACF,GAAa,KAATrH,EAAc,CAChBgK,QAAQC,IAAI,WACZ,IAAIksC,EAAY,2BACX9L,GAAwBpuB,OADb,IAEdguB,KAAMI,GAAwBpuB,MAAMguB,KAAO,IAE7CK,GAA2B,2BACtBD,IADqB,IAExBpuB,MAAOk6B,UAEJ,GAAa,KAATn2C,EAAc,CACvBgK,QAAQC,IAAI,WACZ,IAAIksC,EAAY,2BACX9L,GAAwBpuB,OADb,IAEdiuB,OAAQG,GAAwBpuB,MAAMiuB,OAAS,IAEjDI,GAA2B,2BACtBD,IADqB,IAExBpuB,MAAOk6B,UAEJ,GAAa,KAATn2C,EAAc,CACvBgK,QAAQC,IAAI,WACZ,IAAIksC,EAAY,2BACX9L,GAAwBpuB,OADb,IAEdkuB,eAAgBE,GAAwBpuB,MAAMkuB,eAAiB,IAEjEG,GAA2B,2BACtBD,IADqB,IAExBpuB,MAAOk6B,UAEJ,GAAa,KAATn2C,EAAc,CACvBgK,QAAQC,IAAI,WACZ,IAAIksC,EAAY,2BACX9L,GAAwBpuB,OADb,IAEdmuB,iBAAkBC,GAAwBpuB,MAAMmuB,iBAAmB,IAErEE,GAA2B,2BACtBD,IADqB,IAExBpuB,MAAOk6B,MAMf,SAASC,GAAe/uC,EAAcqC,EAAerB,GAEnD,OADA2B,QAAQC,IAAI,YAAa5B,GACjBhB,GACN,IAAK,QACH,IAAIyuC,EAAWhV,GAAiBlpB,iBAChCk+B,EAASpsC,GAAOqM,MAAS1N,EAAiC,GAA3Bkb,GAASzJ,IACxCinB,GAAoB,2BACfD,IADc,IAEjBlpB,iBAAkBk+B,KAEpBI,GAAuB7uC,EAAMqC,EAAOrB,GACpC,MACF,IAAK,SACH,IAAI0tC,EAAYjV,GAAiBhpB,kBACjCi+B,EAAUrsC,GAAOqM,MAAS1N,EAAiC,GAA3Bkb,GAASzJ,IACzCinB,GAAoB,2BACfD,IADc,IAEjBhpB,kBAAmBi+B,KAErBG,GAAuB7uC,EAAMqC,EAAOrB,GACpC,MACF,IAAK,OACH,IAAI2tC,EAAUlV,GAAiBmV,gBAC/BD,EAAQtsC,GAAO2C,iBAAoBhE,EAAiC,GAA3Bkb,GAASzJ,IAClDinB,GAAoB,2BAAKD,IAAN,IAAwBmV,gBAAiBD,MA4BlE,SAASK,GAAanrC,EAAalL,GAE7BgpB,EADa,kBAAVhpB,EACO,2BAAK+oB,GAAN,mBAAe7d,EAAMqY,GAASzJ,MAC7B,2BAAKiP,GAAN,mBAAe7d,OAAMjI,KAOpC,SAASqzC,KAELxV,GAAiBlpB,kBACjBkpB,GAAiBlpB,iBAAiBjU,OAAS,GAE3Cm9B,GAAiBlpB,iBAAiBhN,KAAI,SAACwB,GACrC,IAAKA,EAAOmqC,eAAe,oBAGzB,OADAltB,EAAWzY,IACJ,QAKXkwB,GAAiBhpB,mBACjBgpB,GAAiBhpB,kBAAkBnU,OAAS,GAE5Cm9B,GAAiBhpB,kBAAkBlN,KAAI,SAACwB,GACtC,IAAKA,EAAOmqC,eAAe,oBAGzB,OADAltB,EAAWzY,IACJ,QAIb,IAAI4lC,EAAsB,CACxBt2B,cAAe1B,GAAYwQ,cAC3BynB,sBAAuBvqC,SAASsS,GAAYyQ,uBAC5CrX,iBAAkBkpB,GAAiBlpB,iBACnC8+B,QAAS,EACT5+B,kBAAmBgpB,GAAiBhpB,mBAEtCsU,GAAa,G3BxuEoB,SACnCjO,EACAq4B,GAEAv4B,GACE,CACEkB,IAAK,iCACL5P,KAAM,CACJ6Q,cAAeo2B,EAAoBt2B,cACnCnI,kBAAmBy+B,EAAoB1+B,kBACvCD,iBAAkB2+B,EAAoB5+B,iBACtCK,qBAAqB,EACrBD,0BAA0B,EAC1BwX,sBAAuBgnB,EAAoBC,sBAC3CE,QAASH,EAAoBE,SAE/Br4B,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa2B,yBAE5B2L,G2BotEAy4B,CAAsBC,GAAoBL,GAG5C,SAASK,GAAmBtgC,IACrBA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,OAEXQ,EAAIS,MACNhN,QAAQC,IAAI,wBAAyBsM,GA+H3C,SAASugC,GAAU/gC,EAAYrM,EAAenJ,GAC5C,IAAM+uC,EAAQz2B,KAAKC,MAAMD,KAAKkG,UAAU6nB,KACxCmQ,GACErtC,EACAnJ,EACAwV,EAAM/S,WAAa+S,EAAMnQ,QAAU2d,GAASzJ,IAAkB,IAE5D/D,EAAMnQ,SACR0pC,EAAM5lC,IAAS,EACfm9B,GAAYyI,KAEZA,EAAM5lC,IAAS,EACfm9B,GAAYyI,IAnehBrqC,IAAM2H,WAAU,WAAO,IAAD,gBACpB5C,QAAQC,IAAI,oCAAqCogC,IACjDrgC,QAAQC,IAAI,mCAAoCu2B,IAChDx2B,QAAQC,IAAI,qCAAsC+2B,IAIlD,IAAIgW,EAAqBxW,GACrByW,EAAoBzW,GACpB0W,EAAiC,GACjCC,EAAgC,GAG+B,IAA1C,OAArBnW,SAAqB,IAArBA,IAAA,UAAAA,GAAuB7oB,sCAAvB,eAAuDi/B,OACzDF,EAAqBrqB,KAAK,KAK1B,IADqB,OAArBmU,SAAqB,IAArBA,IAAA,UAAAA,GAAuB7oB,sCAAvB,eAAuDk/B,kBAGvDH,EAAqBrqB,KAAK,KAI+C,IAApD,OAArBmU,SAAqB,IAArBA,IAAA,UAAAA,GAAuB7oB,sCAAvB,eAAuDm/B,iBAEvDJ,EAAqBrqB,KAAK,KAGyC,IAA5C,OAArBmU,SAAqB,IAArBA,IAAA,UAAAA,GAAuB7oB,sCAAvB,eAAuDo/B,SACzDL,EAAqBrqB,KAAK,KAKsC,IAAzC,OAArBmU,SAAqB,IAArBA,IAAA,UAAAA,GAAuB9oB,qCAAvB,eAAsDk/B,OACxDD,EAAoBtqB,KAAK,KAIgD,IAApD,OAArBmU,SAAqB,IAArBA,IAAA,UAAAA,GAAuB9oB,qCAAvB,eAAsDm/B,kBAEtDF,EAAoBtqB,KAAK,KAI+C,IAAnD,OAArBmU,SAAqB,IAArBA,IAAA,UAAAA,GAAuB9oB,qCAAvB,eAAsDo/B,iBAEtDH,EAAoBtqB,KAAK,KAGyC,IAA3C,OAArBmU,SAAqB,IAArBA,IAAA,UAAAA,GAAuB9oB,qCAAvB,eAAsDq/B,SACxDJ,EAAoBtqB,KAAK,KAI3B,IAAM2qB,EAAaR,EAAmB5uC,QACpC,SAACuC,GAAD,OAAausC,EAAqBttC,SAASe,EAAE3K,UAGzCy3C,EAAYR,EAAkB7uC,QAClC,SAACuC,GAAD,OAAawsC,EAAoBvtC,SAASe,EAAE3K,UAG9CgK,QAAQC,IAAI,QAASktC,EAAqBM,GAC1CztC,QAAQC,IAAI,SAAUitC,EAAsBM,GA8E5CjX,GAAsBiX,GACtB/W,GAA0BgX,KACzB,CAACpN,GAAyBrJ,KAqV7B,IAAM0W,GAA2B,uCAAG,WAClC1gC,EACAtN,EACAwB,GAHkC,yBAAAJ,EAAA,6DAK9B2L,EAL8B,UAKrBO,EAAKtN,UALgB,iBAKrB,EAAakhC,uBALQ,aAKrB,EAA8BE,qBAAqB5/B,MAE1DysC,EAAa9+B,KAAKC,MACpB8F,OAAOC,aAAaC,QAAQ,eAAiB,MAE/CrI,EAAM,UAAGkhC,EAAWjuC,UAAd,iBAAG,EAAmBkhC,uBAAtB,aAAG,EAAoCE,qBAAqB5/B,IAVlC,kBAY3BuL,GAZ2B,2CAAH,0DAe3BmhC,GAA0B,uCAAG,WACjC5gC,EACAtN,EACAwB,GAHiC,mBAAAJ,EAAA,6DAK7B2L,EAL6B,OAKpBO,QALoB,IAKpBA,OALoB,EAKpBA,EAAM8zB,qBAAqB5/B,MAElCysC,EAAa9+B,KAAKC,MACpB8F,OAAOC,aAAaC,QAAQ,eAAiB,MAE/CrI,EAAM,UAAGkhC,EAAWjuC,UAAd,aAAG,EAAmBohC,qBAAqB5/B,IAVlB,kBAY1BuL,GAZ0B,2CAAH,0DAe1BohC,GAAqB,SAAC73C,GAC1B,OAAIA,GAGK,IAr7EyC,8CAo8EpD,0OAAA8K,EAAA,sDAwBE,IAvBAshB,GAAa,GAETic,KAEAxvB,KAAKkG,UAAU0jB,MAAsB5pB,KAAKkG,UAAU4jB,KACpDsC,KAAkBF,KAElBvmB,GAAY4sB,OAAQ,EACpB5sB,GAAY2sB,OAAQ,EACpBhC,IAAgB,GACVxd,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,OAEpCssB,MAAQ5sB,GAAY4sB,MAC5Czf,EAAwBwf,MAAQ3sB,GAAY2sB,MAC5CvsB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,MAKjBmsB,EAAW,EACNntC,EAAI,EAAGA,EAAIm8B,GAAYnjC,OAAQgH,IACtCmtC,GAAY5zC,OAAM,UAAC4iC,GAAYn8B,UAAb,aAAC,EAAgB8lC,eAzBvC,GA2BOrP,MAAgBA,IAA4B,MAAb0W,GA3BtC,kBA4BUnsB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,OAEpCi5B,eAAiBv5B,GAAY0Q,OACrDtQ,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAGjBS,GAAa,KAEK,OAAhB0U,SAAgB,IAAhBA,IAAA,UAAAA,GAAkBlpB,wBAAlB,eAAoCjU,QAAS,IAC7B,OAAhBm9B,SAAgB,IAAhBA,IAAA,UAAAA,GAAkBhpB,yBAAlB,eAAqCnU,QAAS,IAE9C2yC,KAEI7c,EAAcue,GAAmB1Y,EAAW,cAC5C2Y,EAAsBC,GAAcnT,IACpCoT,EAAcD,GAAc9S,IACZ8S,GAAcE,MAE9BC,EAA4B/0C,GAChCu/B,GAAsBta,aACtBsa,GAAsB5hB,MAElBq3B,EAAuBh1C,GAC3Bm/B,GAAiBla,aACjBka,GAAiBxhB,MAEbH,EAAc,CAClBkO,cAAexQ,GAAYwQ,cAC3BupB,sBAAuB/5B,GAAYyQ,sBACnCupB,YAAY,EACZC,UAAWrX,GACXlS,OAAQ1Q,GAAY0Q,OAEpBwpB,gBAAiB,CACfC,SAAUn6B,GAAYozB,UAAYpzB,GAAYozB,UAAY,GAC1DgH,UAAWp6B,GAAYszB,WAAatzB,GAAYszB,WAAa,GAC7D+G,SAAUr6B,GAAYwzB,SAAW9tC,OAAOsa,GAAYwzB,UAAY,EAChE8G,QAAS,GACTC,YAAa,GACbC,gBAAiBrtB,EAAwBymB,QACrCzmB,EAAwBymB,QACxBn2B,GACJg9B,iBAAkBttB,EAAwBxL,OACtCwL,EAAwBxL,OACxByF,GACJszB,UAAW16B,GAAY6zB,UAEvB8G,WAAY36B,GAAY+zB,OACxB9E,qBAAsBtP,GACtBib,UAAW,EACXC,wBAAyBpB,EAAoB,GAC7CqB,yBAA0BrB,EAAoB,GAC9CsB,uBAAwBtB,EAAoB,GAC5CuB,oBAAqB,KACrBC,OAAQ7U,GACRE,WAAYC,GACZtZ,OAAQA,GACRiuB,gBAAe,iBAAEl7B,SAAF,IAAEA,IAAF,UAAEA,GAAam7B,mBAAf,aAAE,EAA0BrpB,oBAA5B,QAA4C,GAC3DspB,iBAAgB,iBAAEp7B,SAAF,IAAEA,IAAF,UAAEA,GAAam7B,mBAAf,aAAE,EAA0BnpB,sBAA5B,QAA8C,GAC9DqpB,eAAc,iBAAEr7B,SAAF,IAAEA,IAAF,UAAEA,GAAam7B,mBAAf,aAAE,EAA0BjpB,mBAA5B,QAA2C,GACzDopB,YAAwB,MAAXruB,GAAiB,KAAO,KACrC2f,MAAO5sB,GAAY4sB,MACnB2O,gBAAgB,EAEhBC,aAAcx7B,GAAYsO,aAE1BmtB,MAAOz7B,GAAY2sB,MACnB+O,gBAAiB,GACjBC,eAAgB,GAChBC,iBAAkB,GAClB1V,cAAeA,GACf2V,YAAa,GACbC,gBAAiBnC,EAAY,GAC7BoC,iBAAkBpC,EAAY,GAC9BqC,eAAgBrC,EAAY,GAC5BsC,YAAa,MACbC,8BAA+BvR,GAAgBzX,KAAKipB,MAAQ,GAC5DC,WAAYp8B,GAAYq8B,UAExBC,6BAA8B,CAE5BC,0B9C79Ee,K8C89EfC,mBAAoBnY,GAAsB5hB,KAC1Cg6B,sBAAuBpY,GAAsBrZ,QAC7C0xB,uBAAwBrY,GAAsBtZ,SAC9C4xB,sBAAuBtY,GAAsB3Z,QAC7CkyB,oBAAqBvY,GAAsB3hB,MAE3Cm6B,mBAAoBxY,GAAsBliB,KAE1C26B,0BAA2Bp3C,OACzB2+B,GAAsBnZ,aAGxB6xB,wBAAyBr3C,OAAO2+B,GAAsBpZ,WACtD+xB,2BACE3D,GAAmBQ,EAA0Bz0C,WAAa,GAC5D63C,2BACE5D,GAAmBQ,EAA0Bv0C,WAAa,GAC5D43C,2BACE7D,GAAmBQ,EAA0Bt0C,WAAa,GAC5D43C,2BACE9D,GAAmBQ,EAA0Br0C,WAAa,GAC5D43C,SAAQp9B,GAAY2sB,UAEhB3sB,GAAY2M,gBAAgBC,aAC5B5M,GAAY2M,gBAAgBC,WACzB7iB,cACAqB,SAAS4U,GAAY2M,gBAAgBwf,QAAQpiC,iBActDszC,wBAAyB,CACvBC,sBACEjE,GAAmBS,EAAqB10C,WAAa,GACvDm4C,sBACElE,GAAmBS,EAAqBx0C,WAAa,GACvDk4C,sBACEnE,GAAmBS,EAAqBv0C,WAAa,GACvDk4C,sBACEpE,GAAmBS,EAAqBt0C,WAAa,GACvDk4C,qB9C/gFe,K8CghFfC,cAAe1Z,GAAiBxhB,KAChCm7B,iBAAkB3Z,GAAiBjZ,QACnC6yB,kBAAmB5Z,GAAiBlZ,SACpC+yB,iBAAkB7Z,GAAiBvZ,QACnCqzB,eAAgB9Z,GAAiBvhB,MACjC8sB,cAAevL,GAAiB9hB,KAChC4tB,qBAAsBrqC,OAAOu+B,GAAiB/Y,aAC9C2kB,mBAAoBnqC,OAAOu+B,GAAiBhZ,WAC5CmyB,SAAQp9B,GAAY2sB,UAEhB3sB,GAAY2M,gBAAgBC,aAC5B5M,GAAY2M,gBAAgBC,WACzB7iB,cACAqB,SAAS4U,GAAY2M,gBAAgBwf,QAAQpiC,iBAQtDi0C,OAAQ,GACRnwC,iBAAkB,GAClBowC,uBAAwB,IAG1BC,mBAAoB,GAEpBC,eAAgB,CACdC,gBAAiB/U,G9C1iFQ,K8C4iFrBrpB,GAAYm7B,YAAYkD,Y9C3iFR,KAFG,K8CgjFvBC,kBAAmBhX,GACnBiX,a9CljFkB,M8CmjFlB3L,UAAW9L,GACX0X,mBAAoB9wC,SAAS85B,IAC7BR,WAAYA,GACZ8N,UAAW/K,GAAU,EAAI,EACzB0U,gBACyB,gDAAvBvU,GACI,IACA,IACNwK,IAAKxN,GACLU,mBAAoBl6B,SAASk6B,IAC7BuL,aAAczL,GACd2B,UAAWA,GACXqV,2BAA4BtX,GAC5BuX,uBAAyBvX,GASrB,KARA,CACE,CACEwX,qBAAsBjzB,GAAcM,YACpC4yB,mBAAoBlzB,GAAcI,OAClC+yB,yBAA0BnzB,GAAcK,aAAe,MACvD+yB,SAAUpzB,GAAcE,WAKlCuF,eAAgB6J,GAGZ+jB,EAA8B,GACzB,EACF7yC,EAAI,EApOjB,aAoOoBA,EAAIm8B,GAAYnjC,QApOpC,qBAqOUmjC,GAAYn8B,GAAGimC,iBAAkB9J,GAAYn8B,GAAGigC,gBArO1D,wBAsOc6S,GAAgBvF,GAAa,UACjCpR,GAAYn8B,UADqB,iBACjC,EAAgBigC,uBADiB,aACjC,EAAiCC,eAE7B6S,GAAsBp6C,GAA2B,UACrDwjC,GAAYn8B,UADyC,iBACrD,EAAgBigC,uBADqC,aACrD,EAAiC3H,gBAAgB1a,aADI,UAErDue,GAAYn8B,UAFyC,iBAErD,EAAgBigC,uBAFqC,OAErD,EAAiC3H,gBAAgBz/B,MA3O3D,KA8OQg6C,EA9OR,eAgPY1W,GAAYn8B,UAhPxB,iBAgPY,EAAgBigC,uBAhP5B,aAgPY,EAAiC0G,kBAhP7C,KAiPe1e,KAAM,UAACkU,GAAYn8B,UAAb,iBAAC,EAAgBigC,uBAAjB,aAAC,EAAiC+F,KAAK9d,OAChD,cAlPZ,eAoPqBiU,GAAYn8B,UApPjC,iBAoPqB,EAAgBigC,uBApPrC,aAoPqB,EAAiCuG,sBApPtD,KAwPqBsM,GAAc,GAxPnC,KAyPsBA,GAAc,GAzPpC,KA0PoBA,GAAc,GA1PlC,KA2P8BvxC,SAAQ,UAC1B46B,GAAYn8B,UADc,iBAC1B,EAAgBigC,uBADU,aAC1B,EAAiC4G,eA5P7C,KA8PwC,CAC5BuJ,0B9C5mFa,K8C6mFbC,mBAAkB,UAChBlU,GAAYn8B,UADI,iBAChB,EAAgBigC,uBADA,aAChB,EAAiC3H,gBAAgBhiB,KACnDg6B,sBAAqB,UACnBnU,GAAYn8B,UADO,iBACnB,EAAgBigC,uBADG,aACnB,EAAiC3H,gBAAgBzZ,QACnD0xB,uBAAsB,UACpBpU,GAAYn8B,UADQ,iBACpB,EAAgBigC,uBADI,aACpB,EAAiC3H,gBAAgB1Z,SACnD4xB,sBAAqB,UACnBrU,GAAYn8B,UADO,iBACnB,EAAgBigC,uBADG,aACnB,EAAiC3H,gBAAgB/Z,QACnDkyB,oBAAmB,UACjBtU,GAAYn8B,UADK,iBACjB,EAAgBigC,uBADC,aACjB,EAAiC3H,gBAAgB/hB,MACnDm6B,mBAAkB,UAChBvU,GAAYn8B,UADI,iBAChB,EAAgBigC,uBADA,aAChB,EAAiC3H,gBAAgBtiB,KACnD26B,0BAAyB,UACvBxU,GAAYn8B,UADW,iBACvB,EAAgBigC,uBADO,aACvB,EAAiC3H,gBAAgBvZ,YACnD6xB,wBAAuB,UACrBzU,GAAYn8B,UADS,kBACrB,EAAgBigC,uBADK,cACrB,GAAiC3H,gBAAgBxZ,UACnD+xB,2BAA4B3D,GAC1B6F,GAAoB95C,UAEtB63C,2BAA4B5D,GAC1B6F,GAAoB55C,UAEtB43C,2BAA4B7D,GAC1B6F,GAAoB35C,UAEtB43C,2BAA4B9D,GAC1B6F,GAAoB15C,UAEtB43C,QAAQ,GA5RpB,KA8RmC,CACvBE,sBAAuBjE,GACrB6F,GAAoB95C,UAEtBm4C,sBAAuBlE,GACrB6F,GAAoB55C,UAEtBk4C,sBAAuBnE,GACrB6F,GAAoB35C,UAEtBk4C,sBAAuBpE,GACrB6F,GAAoB15C,UAEtBk4C,qB9CxpFa,K8CypFbC,cAAa,WACXrV,GAAYn8B,UADD,mBACX,GAAgBigC,uBADL,cACX,GAAiC3H,gBAAgBhiB,KACnDm7B,iBAAgB,WACdtV,GAAYn8B,UADE,mBACd,GAAgBigC,uBADF,cACd,GAAiC3H,gBAAgBzZ,QACnD6yB,kBAAiB,WACfvV,GAAYn8B,UADG,mBACf,GAAgBigC,uBADD,cACf,GAAiC3H,gBAAgB1Z,SACnD+yB,iBAAgB,WACdxV,GAAYn8B,UADE,mBACd,GAAgBigC,uBADF,cACd,GAAiC3H,gBAAgB/Z,QACnDqzB,eAAc,WACZzV,GAAYn8B,UADA,mBACZ,GAAgBigC,uBADJ,cACZ,GAAiC3H,gBAAgB/hB,MACnD8sB,cAAa,WACXlH,GAAYn8B,UADD,mBACX,GAAgBigC,uBADL,cACX,GAAiC3H,gBAAgBtiB,KACnD4tB,qBAAoB,WAClBzH,GAAYn8B,UADM,mBAClB,GAAgBigC,uBADE,cAClB,GAAiC3H,gBAAgBvZ,YACnD2kB,mBAAkB,WAChBvH,GAAYn8B,UADI,mBAChB,GAAgBigC,uBADA,cAChB,GAAiC3H,gBAAgBxZ,UACnDmyB,QAAQ,GA5TpB,iBA8TsB9U,GAAYn8B,UA9TlC,mBA8TsB,GAAgBigC,uBA9TtC,cA8TsB,GAAiCyG,gBA9TvD,iBA+TevK,GAAYn8B,UA/T3B,mBA+Te,GAAgBigC,uBA/T/B,cA+Te,GAAiCqG,kBA/ThD,iBAgUwBnK,GAAYn8B,UAhUpC,mBAgUwB,GAAgBigC,uBAhUxC,cAgUwB,GAAiC8G,kBAhUzD,iBAiUwB5K,GAAYn8B,UAjUpC,mBAiUwB,GAAgBigC,uBAjUxC,cAiUwB,GAAiC1D,cAjUzD,iBAkUiBJ,GAAYn8B,UAlU7B,mBAkUiB,GAAgBigC,uBAlUjC,cAkUiB,GAAiCsG,WAlUlD,UAmUmCwG,GACvB5Q,GACAn8B,EACA,QAtUZ,sCA0UkB+sC,GAA4B5Q,GAAan8B,EAAG,SA1U9D,uCA2U2BA,GA3U3B,MA6UgBA,EA7UhB,OA+OUmyC,kBA/OV,KAiPUnM,IAjPV,KAoPUS,UApPV,KAqPUuM,SAAU,EACVC,wBAAwB,EACxBC,SAAS,EACT54B,UAxPV,KAyPU64B,WAzPV,KA0PU34B,SA1PV,KA2PU63B,mBA3PV,KA8PUlC,6BA9PV,KA8RUe,wBA9RV,KA8TUrW,WA9TV,MA+TU0N,IA/TV,MAgUUvB,aAhUV,MAiUUnB,aAjUV,MAkUUD,MAlUV,MAmUUwN,kBAnUV,MAwUUC,uBAxUV,MA2UUC,WA3UV,MA6UU9Q,KA7UV,YA8OoCtgB,KA9OpC,iBA+UgB,EA/UhB,QAoO4CliB,IApO5C,2BAkVImW,EAAM,oBAA0B08B,EAE5BA,GAA+BA,EAA4B75C,SAC7Dmd,EAAM,YAAiB,GAEnBo9B,GAA6B,KAC/B9c,IAAeE,GAAe,GAxVtC,iBAyVe6c,GAAI,EAzVnB,aAyVsBA,GAAIrX,GAAYnjC,QAzVtC,wBA0Vcy6C,GAAuBtX,GAAYqX,IACnCE,GAAenG,GAAa,OAACkG,SAAD,IAACA,QAAD,EAACA,GAAsB1T,aACnD4T,GAAqBh7C,GACzB86C,GAAqBrb,eAAexa,aACpC61B,GAAqBrb,eAAev/B,MA9V9C,MAiWQ06C,GAjWR,MAkWetrB,KAAOwrB,GAAqB9X,QAAQzT,OAAO,cAlW1D,MAoWmBurB,GAAqBxN,eApWxC,MAqWqByN,GAAa,GArWlC,MAsWsBA,GAAa,GAtWnC,MAuWoBA,GAAa,GAvWjC,MAyWwC,CAC5BtD,0B9CvtFa,K8CwtFbC,mBAAoBoD,GAAqBrb,eAAe9hB,KACxDg6B,sBACEmD,GAAqBrb,eAAevZ,QACtC0xB,uBACEkD,GAAqBrb,eAAexZ,SACtC4xB,sBACEiD,GAAqBrb,eAAe7Z,QACtCkyB,oBAAqBgD,GAAqBrb,eAAe7hB,MACzDm6B,mBAAoB+C,GAAqBrb,eAAepiB,KACxD26B,0BACE8C,GAAqBrb,eAAerZ,YACtC6xB,wBACE6C,GAAqBrb,eAAetZ,UACtC+xB,2BAA4B3D,GAC1ByG,GAAmB16C,UAErB63C,2BAA4B5D,GAC1ByG,GAAmBx6C,UAErB43C,2BAA4B7D,GAC1ByG,GAAmBv6C,UAErB43C,2BAA4B9D,GAC1ByG,GAAmBt6C,UAErB43C,QAAQ,GApYpB,MAsYmC,CACvBE,sBAAuBjE,GACrByG,GAAmB16C,UAErBm4C,sBAAuBlE,GACrByG,GAAmBx6C,UAErBk4C,sBAAuBnE,GACrByG,GAAmBv6C,UAErBk4C,sBAAuBpE,GACrByG,GAAmBt6C,UAErBk4C,qB9ChwFa,K8CiwFbC,cAAeiC,GAAqBrb,eAAe9hB,KACnDm7B,iBAAkBgC,GAAqBrb,eAAevZ,QACtD6yB,kBAAmB+B,GAAqBrb,eAAexZ,SACvD+yB,iBAAkB8B,GAAqBrb,eAAe7Z,QACtDqzB,eAAgB6B,GAAqBrb,eAAe7hB,MACpD8sB,cAAeoQ,GAAqBrb,eAAepiB,KACnD4tB,qBACE6P,GAAqBrb,eAAerZ,YACtC2kB,mBAAoB+P,GAAqBrb,eAAetZ,UACxDmyB,QAAQ,GA7ZpB,MA+ZwBwC,GAAqB1X,YA/Z7C,MAgaiB0X,GAAqB9N,SAhatC,UAiamCsH,GACvBwG,GACAD,GACA,QApaZ,sCAyakBvG,GACJwG,GACAD,GACA,SA5ad,2BA+agBA,GA/ahB,MAgb2Bj6C,OAAM,OAACk6C,SAAD,IAACA,QAAD,EAACA,GAAsB3N,eAhbxD,OAkWUE,IAlWV,MAmWUgN,SAAU,EACVE,QApWV,MAqWU54B,UArWV,MAsWU64B,WAtWV,MAuWU34B,SAvWV,MAwWU63B,mBAAoB,IACpBlC,6BAzWV,MAsYUe,wBAtYV,MA+ZUrL,aA/ZV,MAgaUD,MAhaV,MAiaUwN,kBAjaV,MAuaUC,uBAvaV,MA+aU7Q,KA/aV,MAgbUoR,gBAhbV,aAiWmC1xB,KAjWnC,0BAyV8CsxB,KAzV9C,wBAobIr9B,EAAM,mBAAyBo9B,GAE/Bl0C,QAAQC,IAAI,6BAA2B68B,IAGnC0X,GACF19B,EAAM,gBAAN,6BACE29B,GACF39B,EAAM,gBAAN,wBAGC09B,GAA2BhD,4BAC1BiD,GAAsB3C,uBACtB0C,GAA2B/C,4BACzBgD,GAAsB1C,uBACxByC,GAA2B9C,4BACzB+C,GAAsBzC,uBACxBwC,GAA2B7C,4BACzB8C,GAAsBxC,uBACxBuC,GAA2BxD,oBACzByD,GAAsBtC,eACxBqC,GAA2BvD,uBACzBwD,GAAsBrC,kBACxBoC,GAA2BtD,wBACzBuD,GAAsBpC,mBACxBmC,GAA2BrD,uBACzBsD,GAAsBnC,kBACxBkC,GAA2BpD,qBACzBqD,GAAsBlC,gBACxBiC,GAA2BnD,oBACzBoD,GAAsBzQ,eAC1BxvB,GAAYsO,aAEZhM,EAAM,gBAAN,sBAAoD,EAEpDA,EAAM,gBAAN,sBAAoD,EAEtDD,GAAgB69B,GAAgB59B,GAzdpC,+BA2dIqnB,GAAe,mCACf/b,GAAa,GA5djB,gEAp8EoD,sBAs6FpD,SAASsyB,GAAenoC,GAGtB,GAFA6V,GAAa,GACbpiB,QAAQC,IAAI,oBACPsM,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,OACfqW,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CAGZ,IAAI2nC,EAAgB,CAAC,+CAQfhzB,GAPamb,GAAY1+B,QAAO,SAACw2C,GAAD,OACpCD,EAAc/0C,SAASg1C,EAAI9T,qBAAqBvqC,SAMlBsY,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,OAE5D6M,EAAwBymB,QAAUn2B,GAClC0P,EAAwBxL,OAASyF,GACjChH,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBkzB,GAAqBz+C,IACrBy+C,GAAqBz+C,GACrBg0B,GAAW,CAAEG,OAAQ,kBAAmBhnB,MAAO,kBAG/C,IAAMyJ,EAAO,CACXqf,UACEzB,GAAgBC,aAAaQ,YAAYC,wBAC3CoW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBQ,yBAA0BptB,GAAY+P,mBACtCsd,mBAAoBrtB,GAAYsO,aAChCgf,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,GAI3B4f,GAAiBC,UACfO,GAAgBvC,aAAaQ,YAAYC,yBAG3ChJ,EAAQO,KAAKiyB,WAIbz1B,EAAW9S,EAAIR,OACfqW,GAAa,GA1iBnBpiB,QAAQC,IACN,kBACAuU,GAAY2M,gBAAgBiF,WAE5B,CACEspB,gBAAe,iBAAEl7B,SAAF,IAAEA,IAAF,UAAEA,GAAam7B,mBAAf,aAAE,EAA0BrpB,oBAA5B,QAA4C,GAC3DspB,iBAAgB,iBAAEp7B,SAAF,IAAEA,IAAF,UAAEA,GAAam7B,mBAAf,aAAE,EAA0BnpB,sBAA5B,QAA8C,GAC9DqpB,eAAc,iBAAEr7B,SAAF,IAAEA,IAAF,UAAEA,GAAam7B,mBAAf,aAAE,EAA0BjpB,mBAA5B,QAA2C,KAoe7D1mB,QAAQC,IAAI,cAAeu/B,IA6Y3B,IAQMuV,GAAwB,SAACx+C,EAAcmJ,EAAe1J,GAC1D,IACE,IAAMsvC,EAAQz2B,KAAKC,MAAMD,KAAKkG,UAAU+nB,KACxC,GAAa,yBAATvmC,EAAiC,CACnC+uC,EAAM5lC,GAAOnJ,GAAQ,CAAEA,KAAI,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAOC,SAEb,iDAAd,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOC,WACTqvC,EAAM5lC,GAAOnJ,GAAQ,CACnBA,KAAI,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAOC,QACbD,MAAO,WAAa0J,EAAQ,KAGhC,IAAIs1C,EAAiB1b,GAErB,GAAoB,IAAX,OAALtjC,QAAK,IAALA,OAAA,EAAAA,EAAOA,OAAY,CACrB,IAAIi/C,EAAqBpmC,KAAKC,MAC5BD,KAAKkG,UAAUuqB,KAEjB2V,EAAmBv1C,GAAnB,eAA8C,CAC5C+5B,SAAS,EACTG,aAAa,GAEf2F,GAAyB0V,GACZ,GAATv1C,IACFs1C,EAAe7b,WAAWqM,MAA1B,eAAuC9Q,IACvCsgB,EAAe7b,WAAW+b,UAA1B,eAA2CxgB,IAC3C6E,GAAoByb,IAGT,GAATt1C,IACFs1C,EAAe5b,WAAWoM,MAA1B,eAAuC9Q,IACvCsgB,EAAe5b,WAAW8b,UAA1B,eAA2CxgB,IAC3C6E,GAAoByb,IAGT,GAATt1C,IACFs1C,EAAe3b,aAAamM,MAA5B,eAAyC9Q,IACzCsgB,EAAe3b,aAAa6b,UAA5B,eAA6CxgB,IAC7C6E,GAAoByb,QAEjB,CACL,IAAIC,EAAqBpmC,KAAKC,MAC5BD,KAAKkG,UAAUuqB,KAEjB2V,EAAmBv1C,GAAnB,eAA8C,CAC5C+5B,SAAS,EACTG,aAAa,GAEf2F,GAAyB0V,GACZ,GAATv1C,WACKs1C,EAAe7b,WAAWqM,aAC1BwP,EAAe7b,WAAW+b,UACjC3b,GAAoByb,IAET,GAATt1C,WACKs1C,EAAe5b,WAAWoM,aAC1BwP,EAAe5b,WAAW8b,UACjC3b,GAAoByb,IAET,GAATt1C,WACKs1C,EAAe3b,aAAamM,aAC5BwP,EAAe3b,aAAa6b,UACnC3b,GAAoByb,IAGxB5W,IAAyB,OACP,8BAAT7nC,GACT+uC,EAAM5lC,GAAN,2BAAgD1J,EAChDooC,IAAyB,IAEzBkH,EAAM5lC,GAAOnJ,GAAQP,EAuBvB,GApBIA,GACEsvC,EAAM5lC,GAAN,OAAyB4lC,EAAM5lC,GAAN,MAAsBnJ,KACjDyJ,QAAQC,IAAI,uBAAwBqlC,EAAM5lC,GAAN,OAEpC4lC,EAAM5lC,GAAN,MAAsBnJ,QAAQ0C,GAIrB,WAAT1C,GAAqBwxB,GAAc/xB,GAAS,IAC9CsvC,EAAM5lC,GAAN,gBAAiC,EACjC4lC,EAAM5lC,GAAN,gBAAkC,GAClC4lC,EAAM5lC,GAAN,kCAAuD,IACvD4lC,EAAM5lC,GAAN,+CACKs0B,IAELsR,EAAM5lC,GAAN,+BAAmD,GACjC,WAATnJ,GAAqBwxB,GAAc/xB,IAAU,KACtDsvC,EAAM5lC,GAAN,gBAAiC,GAGtB,kBAATnJ,GACmB,IAAjB+gC,GACF,IAAK,IAAI32B,EAAI,EAAGA,EAAI22B,GAAc32B,IAChC,GAAIA,IAAMjB,EAAO,CACf,IAAMy1C,GAAe,IAAMj7C,OAAOlE,KAAWshC,GAAe,GAC5DgO,EAAM3kC,GAAN,cAA4Bw0C,EAMpCpY,GAAeuI,GAEf1wB,OAAOC,aAAaugC,WAAW,cAC/BvgC,aAAa+M,QAAQ,aAAc/S,KAAKkG,UAAUuwB,IAClD,MAAOv5B,GACP/L,QAAQC,IAAI,sBAAuB8L,KAIjCghC,GAAwB,SAACrtC,EAAenJ,EAAcP,GAC1D,IAAMsvC,EAAQz2B,KAAKC,MAAMD,KAAKkG,UAAU+nB,KAC3B,WAATvmC,GAAqB+uC,EAAM5lC,GAAOnJ,GACpC+uC,EAAM5lC,GAAN,MAAsBnJ,GAAQ,KAE9B+uC,EAAM5lC,GAAN,MAAsBnJ,GAAQP,EAEhC+mC,GAAeuI,IAGX+P,GAAgC,SACpC9+C,EACAmJ,EACA1J,GAEA,IAgFW,EAhFLsvC,EAAQz2B,KAAKC,MAAMD,KAAKkG,UAAU+nB,KACxC,GAAa,yBAATvmC,EASF,GARA+uC,EAAM5lC,GAAN,gBAAgCnJ,GAAQ,CAAEA,KAAI,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAOC,SAChC,iDAAd,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOC,WACTqvC,EAAM5lC,GAAN,gBAAgCnJ,GAAQ,CACtCA,KAAI,OAAEP,QAAF,IAAEA,OAAF,EAAEA,EAAOC,QACbD,MAAO,YAAc0J,EAAQ,KAGjC0+B,IAAyB,GACL,IAAX,OAALpoC,QAAK,IAALA,OAAA,EAAAA,EAAOA,OAAY,CACrB,IAAIi/C,EAAqBpmC,KAAKC,MAC5BD,KAAKkG,UAAUuqB,KAEjB2V,EAAmBv1C,GAAnB,gBAA+C,CAC7C+5B,SAAS,EACTG,aAAa,GAEf2F,GAAyB0V,GACzB,IAAID,EAAiB1b,GACR,GAAT55B,IACFs1C,EAAe7b,WAAWyH,gBAAkB,GAC5CoU,EAAe7b,WAAWyH,gBAAgB4E,MAA1C,eACK9Q,IAELsgB,EAAe7b,WAAWyH,gBAAgBsU,UAA1C,eACKxgB,IAEL6E,GAAoByb,IAET,GAATt1C,IACFs1C,EAAe5b,WAAWwH,gBAAkB,GAC5CoU,EAAe5b,WAAWwH,gBAAgB4E,MAA1C,eACK9Q,IAELsgB,EAAe5b,WAAWwH,gBAAgBsU,UAA1C,eACKxgB,IAEL6E,GAAoByb,IAET,GAATt1C,IACFs1C,EAAe3b,aAAauH,gBAAkB,GAC9CoU,EAAe3b,aAAauH,gBAAgB4E,MAA5C,eACK9Q,IAELsgB,EAAe3b,aAAauH,gBAAgBsU,UAA5C,eACKxgB,IAEL6E,GAAoByb,QAEjB,CACL,IAAIC,EAAqBpmC,KAAKC,MAC5BD,KAAKkG,UAAUuqB,KAEjB2V,EAAmBv1C,GAAnB,gBAA+C,CAC7C+5B,SAAS,EACTG,aAAa,GAEf2F,GAAyB0V,GACrBD,EAAiB1b,GACR,GAAT55B,GAAcs1C,EAAe7b,WAAWyH,yBACnCoU,EAAe7b,WAAWyH,gBACjCrH,GAAoByb,IAET,GAATt1C,GAAcs1C,EAAe5b,WAAWwH,yBACnCoU,EAAe5b,WAAWwH,gBACjCrH,GAAoByb,IAET,GAATt1C,GAAcs1C,EAAe3b,aAAauH,yBACrCoU,EAAe3b,aAAauH,gBACnCrH,GAAoByb,QAGN,mCAATz+C,GACT+uC,EAAM5lC,GAAN,2CAAmE1J,EACnEooC,IAAyB,IAEzBkH,EAAM5lC,GAAN,gBAAgCnJ,GAAQP,EAGtCA,IACEsvC,EAAM5lC,GAAN,kBAAyB4lC,EAAM5lC,GAAN,aAAzB,aAAyB,EAAuBnJ,QAClD+uC,EAAM5lC,GAAN,MAAsBnJ,QAAQ0C,IAElC8jC,GAAeuI,GAEf1wB,OAAOC,aAAaugC,WAAW,cAC/BvgC,aAAa+M,QAAQ,aAAc/S,KAAKkG,UAAUuwB,KAUpD,SAASgQ,GAAmBC,GAC1B5Z,GAAgB4Z,GAChBl2B,EAAW,IACX9F,GAAS,IALXvZ,QAAQC,IAAI,mBAAoB62B,GAAkB,KAAMR,IAOxD,IAAM8X,GAAiB,WAAO,IAAD,MACvBoH,EAAc,GAClB,QAC6Cv8C,KAAhC,OAAXub,SAAW,IAAXA,IAAA,UAAAA,GAAam7B,mBAAb,eAA0BrpB,gBACf,OAAX9R,SAAW,IAAXA,IAAA,UAAAA,GAAam7B,mBAAb,mBAA0BrpB,oBAA1B,eAAwC3sB,QAAS,EACjD,CAAC,IAAD,cAKE,EAQA,IAXF,GADA67C,GAAyB,OAAXhhC,SAAW,IAAXA,IAAA,UAAAA,GAAam7B,mBAAb,eAA0BrpB,cAAe,SAERrtB,KAAlC,OAAXub,SAAW,IAAXA,IAAA,UAAAA,GAAam7B,mBAAb,eAA0BnpB,kBACf,OAAXhS,SAAW,IAAXA,IAAA,UAAAA,GAAam7B,mBAAb,mBAA0BnpB,sBAA1B,eAA0C7sB,QAAS,EAEnD67C,GAAW,OAAIhhC,SAAJ,IAAIA,IAAJ,UAAIA,GAAam7B,mBAAjB,aAAI,EAA0BnpB,eACtC5O,MAAM,KACNe,KAAK,KAEV,QAC4C1f,KAA/B,OAAXub,SAAW,IAAXA,IAAA,UAAAA,GAAam7B,mBAAb,eAA0BjpB,eACf,OAAXlS,SAAW,IAAXA,IAAA,UAAAA,GAAam7B,mBAAb,mBAA0BjpB,mBAA1B,eAAuC/sB,QAAS,EAEhD67C,GAAyB,OAAXhhC,SAAW,IAAXA,IAAA,UAAAA,GAAam7B,mBAAb,eAA0BjpB,aACpC8uB,EAAc,KAAd,OAAoBhhC,SAApB,IAAoBA,IAApB,UAAoBA,GAAam7B,mBAAjC,aAAoB,EAA0BjpB,aAC9C8uB,EAMR,OAHmB,MAAfA,QAAsCv8C,GAAfu8C,GAA2C,IAAfA,IACrDA,EAAchhC,GAAY2M,gBAAgBwf,SAErC6U,GAET,OACE,yBAAK7/C,UAAW,gBAAkByO,EAAY,QAAU,KACtD,2BAAOzO,UAAU,mBAAjB,mBAEA,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,qBACA,kBAAC,GAAD,CACEuF,aAAckzC,KACd5wC,UAAU,EACVH,KAAK,OACLQ,SAAS,iCAGb,8BACE,8BAAUL,SAAU4G,IAChBu5B,IACA,oCAEE,kBAAC,GAAD,CACEjf,WAAY+Z,GACZzY,WACGxL,GAAY2sB,OACX3sB,GAAY4sB,OACZ5sB,GAAYsO,gBACbub,GAEH1e,aAAa,kBACbG,YAAY,YACZT,WAAYA,EACZF,gBAAiB,SAACG,GAChBoZ,GAAoBpZ,GACpB6U,IAAmB2E,GAAyBxZ,GAC5Ctf,QAAQC,IACN44B,GACA,kCAGJzZ,cAAe0a,GACf/Z,kBAAmB,WACjB/f,QAAQC,IAAI,mBAMduU,GAAYsO,cACZ,kBAAC,GAAD,CACEpE,WAAYma,GACZ7Y,UACExL,GAAY2sB,OACZ3sB,GAAY4sB,OACZ5sB,GAAYsO,aAEdnD,aAAa,uBACbG,YAAY,iBACZT,WAAYA,EACZF,gBAAiB2Z,GACjB1Z,cAAe4a,GACfpa,iBAAe,EACfC,YAAasU,GACbpU,kBA1xDhB,SAA2B9gB,GACC,yBAAtBA,EAAMhD,OAAO1F,KAEZie,GAAYsO,cACZtO,GAAY4sB,OACZ5sB,GAAY2sB,QAEbhN,IAAmB2E,GAAyB,eAAK9E,MAChDG,IAAmB2E,GAAyB,eAAKL,KAC7CtE,IACH6F,GAAgB,IAElBK,IAAoBlG,OAGrBmG,IAAiBpB,GAAmB,eAAKH,KAC1CwB,IAAkBD,SAkxDd,yBAAK3kC,UAAU,2BACb,yBAAKA,UAAU,IACb,2BAAOA,UAAU,YAAjB,cACA,kBAAC,GAAD,CACEuF,aAAc0gB,GACdhgB,QAAShB,GACT4C,UAAU,EAEVN,OAAQ,SAAC6O,GAAD,OACNiT,EAAU,2BACLD,GADI,IAEPnD,MAAO7P,EAAMnQ,QAAU,GAAK2d,GAASzJ,QAGzC9S,YAAY,iBACZ5B,UAAW2jB,EAAOnD,MAClB1f,SAAO,EACPmB,KAAK,MACLM,OACE6W,GAAYgjB,KAAKrhB,SAAWyF,IAClB,KAAVA,KACAwc,IACCL,IACAH,GAGC,qCAFA,uBAAGjiC,UAAU,mBAKjB6G,UAAW,MAGdo7B,IACC,yBAAKjiC,UAAU,WACb,kBAAC,GAAD,CACE0H,KAAK,SACLiH,QAAQ,oBACRF,UAAWA,EACX5G,SACE2lB,OAAOsyB,OAAO,CAAC12B,EAAOnD,QAAQ85B,MAAK,SAAC3pC,GAAD,OAAWA,MACpC,KAAV6P,GAEFle,QAAS,kBAAMmtC,GAAQ,eAK9B9S,KAAkBH,IACjB,yBAAKjiC,UAAU,SACb,kBAAC,GAAD,CACE4N,MAAM,mBACNuW,SAAU,GACVtB,MAAM,OACN1c,SAAU,SAACuC,GAAD,OAASsK,GAAY,SAAUtK,IACzC4b,cAAe,kBAAM4wB,GAAQ,WAC7B9xB,WAAYA,GACZF,WAAYA,MAmEjBqf,IACC,oCAEGpB,GAAiBlpB,kBAChBkpB,GAAiBhpB,oBAChBgpB,GAAiBlpB,iBAAiBjU,OAAS,GAC1Cm9B,GAAiBhpB,kBAAkBnU,OAAS,IAC5C,oCACE,yBAAKhE,UAAU,SACb,2BAAOA,UAAU,mBAAjB,uBAKF,yBAAKA,UAAU,SACb,2BAAOA,UAAU,eAAjB,+JAMDmhC,GAAiBlpB,kBAChBkpB,GAAiBlpB,iBAAiBhN,KAChC,SAAC7B,EAAqBW,GAAtB,OACE,oCACE,2BAAO/J,UAAU,QACjB,kBAAC,GAAD,CACEuL,IAAKxB,EACLA,MAAOA,EACPrC,KAAK,QACL+E,OAAQrD,EACRyD,aAAcg0B,GACdz0B,qBAAsBA,GACtBjG,SAAU,SAAC9F,GAAD,OACR61C,GAAiB,QAASnsC,EAAO1J,IAEnCkH,OAAQ,SAAClH,GAAD,OACNo2C,GAAe,QAAS1sC,EAAO1J,IAEjC+V,MAAK,OAAEhN,QAAF,IAAEA,OAAF,EAAEA,EAAMgN,YAKtB+qB,GAAiBhpB,mBAChBgpB,GAAiBhpB,kBAAkBlN,KACjC,SAAC7B,EAAqBW,GAAtB,OACE,kBAAC,GAAD,CACEwB,IAAKxB,EACLA,MAAOA,EACPrC,KAAK,SACL+E,OAAQrD,EACRyD,aAAc8zB,GACdv0B,qBAAsBA,GACtBjG,SAAU,SAAC9F,GAAD,OACR61C,GAAiB,SAAUnsC,EAAO1J,IAEpCkH,OAAQ,SAAClH,GAAD,OACNo2C,GAAe,SAAU1sC,EAAO1J,IAElC+V,MAAK,OAAEhN,QAAF,IAAEA,OAAF,EAAEA,EAAMgN,WAIpB+qB,GAAiBmV,iBAChBnV,GAAiBmV,gBAAgBrrC,KAC/B,SAAC7B,EAAqBW,GAAtB,OACE,kBAAC,GAAD,CACEwB,IAAKxB,EACLA,MAAOA,EACPrC,KAAK,OACL+E,OAAQrD,EACRyD,aAAc8zB,GACdv0B,qBAAsBA,GACtBjG,SAAU,SAAC9F,GAAD,OACR61C,GAAiB,OAAQnsC,EAAO1J,IAElCkH,OAAQ,SAAClH,GAAD,OACNo2C,GAAe,OAAQ1sC,EAAO1J,IAEhC+V,MAAK,OAAEhN,QAAF,IAAEA,OAAF,EAAEA,EAAMgN,YAQ3B,yBAAKpW,UAAU,SACb,2BAAOA,UAAU,mBAAjB,sBAEF,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,UACA,kBAAC,GAAD,CACEuF,aAAcumB,GACd5e,QAASqzB,GACTnzB,SAAU,SAAC1E,GACTo8B,GAAUp8B,GACVuhC,GAAe,KAEjBjqC,UAAU,aAGd,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,kBACA,kBAAC,GAAD,CACEuF,aAAcw/B,GACd73B,QAASmzB,GACTjzB,SAAU,SAAC1E,GAAD,OAASs8B,GAAiBt8B,IACpC1I,UAAU,aAGd,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,wDAGA,kBAAC,GAAD,CACEuF,aAAc0/B,GACd/3B,QAAShL,GACTkL,SAAU,SAAC1E,GAAD,OAASw8B,GAAkBx8B,IACrC1I,UAAU,UACVwN,KAAM,CACJC,IAAuB,MAAlBs3B,IAAoC,MAAXjZ,GAC9Bpe,IAAKxL,GAAyB,GAAG7B,MACjCL,UAAW,mBAIjB,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YACK,OAAnBilC,GAA0B,SAAW,SADxC,gBAGA,kBAAC,GAAD,CACE5hC,UAAQ,EACR0D,WAAS,EACTxB,aAAc6/B,GACdv9B,WACG6gC,KACD7pB,GAAY2M,gBAAgB2Z,aAC5BtmB,GAAY2M,gBAAgB2Z,WAAWphC,QAIzCwD,OAAQ,SAAC6O,GAAD,OACNiT,EAAU,2BACLD,GADI,IAGP6b,eAAgB7uB,EAAM/S,SAClBugB,GAASzJ,IACT,OAGRhU,SAAU,SAACuC,GAAD,OACR28B,GAAsB2a,GAAgBt3C,KAExCjD,UAAW2jB,EAAO6b,eAClB59B,YAAY,oBACZK,KAAK,OACLQ,SAAS,2BAGb,yBAAKlI,UAAU,SACb,2BAAOA,UAAU,YAAjB,sBACA,kBAAC,GAAD,CACEqD,UAAQ,EACR0D,WAAS,EACTxB,aAAckgC,GACd59B,YACEgX,GAAY2sB,OACZ3sB,GAAY2M,gBAAgBga,gBAC5B3mB,GAAY2M,gBAAgBga,eAAezhC,QAI7CwD,OAAQ,SAAC6O,GAAD,OACNiT,EAAU,2BACLD,GADI,IAGPqc,WAAYrvB,EAAM/S,SACdugB,GAASzJ,IACT,OAGRhU,SAAU,SAACuC,GAAD,OAASg9B,GAAcsa,GAAgBt3C,KACjDjD,UAAW2jB,EAAOqc,WAClBp+B,YAAY,qBACZK,KAAK,UAKT,yBAAK1H,UAAU,SACb,2BAAOA,UAAU,mBAAjB,yBAEF,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,kCAGA,kBAAC,GAAD,CACEY,KAAK,mBACL2E,aAAY,UACV46B,GAAchkB,MACZ,SAAC/S,GAAD,OAAUA,EAAK/I,QAAUslC,aAFjB,aACV,EAEGrlC,QAEL6I,eAAgB,SAACT,GAAD,OACdk9B,GAAmBl9B,EAAG,QAExBG,aAAc,EACdgB,QAASs2B,GACT54B,OAAQ,SAACmB,GAAD,OAASguC,GAAa,mBAAoBhuC,IAClDC,UAAU,UACVtB,YAAY,sCACZwD,UAAU,4CACVpF,UAAW2jB,EAAOuc,iBAClB95B,aAAa,KAGjB,yBAAK7L,UAAU,SACb,2BAAOA,UAAU,YAAjB,mBACA,kBAAC,GAAD,CACEY,KAAK,aACL2E,aAAY,UACVw6B,EAAe5jB,MAAK,SAAC/S,GAAD,OAAUA,EAAK/I,QAAUwlC,aADnC,aACV,EACIvlC,QAEN6I,eAAgB,SAACT,GAAD,OACdo9B,GAAcp9B,EAAG,QAEnBG,aAAc,EACdgB,QAASk2B,EACTx4B,OAAQ,SAACmB,GAAD,OAASguC,GAAa,aAAchuC,IAC5CC,UAAU,UACVtB,YAAY,yBACZwD,UAAU,yCACVpF,UAAW2jB,EAAOyc,WAClBh6B,aAAa,KAGjB,yBAAK7L,UAAU,SACb,2BAAOA,UAAU,YAAjB,8BACA,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACb,2BACEA,UAAU,aACVigD,YAAa,kBAAMze,IAAe,IAClC0e,aAAc,kBAAM1e,IAAe,KAHrC,WAOCD,IACC,kBAAC,GAAD,CACE/xB,MAAOC,KAAgBC,SAAW,QAAU,SAE5C,yBAAK1P,UAAU,eACb,qKAWZ,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE6N,QAA0B,MAAjBk4B,GACT5/B,SAAU,kBAAMw5C,GAAmB,MACnC/+C,KAAK,iBACLgN,MAAM,sCAGR,kBAAC,GAAD,CACE5N,UAAU,QACV6N,QAA0B,MAAjBk4B,GACT5/B,SAAU,kBAAMw5C,GAAmB,MACnC/+C,KAAK,iBACLgN,MAAM,+CAGR,kBAAC,GAAD,CACE5N,UAAU,QACV6N,QAA0B,MAAjBk4B,GACT5/B,SAAU,kBAAMw5C,GAAmB,MACnC/+C,KAAK,iBACLgN,MAAM,UAGV,yBAAK5N,UAAU,SACb,2BAAOA,UAAU,YAAjB,gGACA,yBAAKA,UAAU,SACb,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACE6N,QAASo4B,GACT9/B,SAAU,WAMJijB,EAJFsB,QAIEtB,EAHFyB,YAGEzB,EAFF0B,YAJa,IAKVq1B,EALS,aAMV/2B,EANU,yCAOdC,EAAU82B,GACVja,IAAkB,IAEpBtlC,KAAK,cACLgN,MAAM,SAGV,yBAAK5N,UAAU,qBACb,kBAAC,GAAD,CACE6N,SAAUo4B,GACV9/B,SAAU,kBAAM+/B,IAAkB,IAClCtlC,KAAK,cACLgN,MAAM,WAKZq4B,IACA,kBAAC,GAAD,CACEtb,YAAaA,GACbH,cAAeA,GACfC,mBAAoBsd,GACpB3e,OAAQA,EACRC,UAAWA,IAGf,yBAAKrpB,UAAU,SACb,2BAAOA,UAAU,YAAjB,iBACA,kBAAC,GAAD,CACEY,KAAK,eACL2E,aAAY,UACV06B,GAAW9jB,MAAK,SAAC/S,GAAD,OAAUA,EAAK/I,QAAU8lC,aAD/B,aACV,EACI7lC,QAEN6I,eAAgB,SAACT,GAAD,OACd09B,GAAgB19B,EAAG,QAErBG,aAAc,EACdgB,QAASo2B,GACTt3B,UAAU,UACVtB,YAAY,oCACZwD,UAAU,4CACVpF,UAAW2jB,EAAO+c,aAClB5+B,OAAQ,SAACmB,GAAD,OAASguC,GAAa,eAAgBhuC,IAC9CmD,aAAa,KAGjB,yBAAK7L,UAAU,SACb,2BAAOA,UAAU,YAAjB,aACA,kBAAC,GAAD,CACEuG,SAAO,EACPlD,UAAQ,EACRwD,UAAW,EACXrD,IAAK,KACL+B,aAAc8gC,GACd9+B,OAAQ,SAAC6O,GAAD,OACNiT,EAAU,2BACLD,GADI,IAEPid,SACEjwB,EAAM/S,UAAY+S,EAAM5S,IAEpBogB,GAASzJ,IACT,OAGV1U,UAAW2jB,EAAOid,SAClBlgC,SAAU,SAACuC,GAAD,OAAS49B,GAAY59B,IAC/BrB,YAAY,mBAIhB,yBAAKrH,UAAU,SACb,2BAAOA,UAAU,YAAjB,kBACA,kBAAC,GAAD,CACEY,KAAK,OACLuI,eAAgB,SAAC9I,GAAD,OAr1BhC,SAAkBkL,EAAalL,GAC7BmmC,GAAgBnmC,GAq1BA8F,CAAS,EAAQ9F,EAAK,WAExBwI,aAAc,EACdgB,QAASigC,GACTviC,OAt1BhB,SAAwBlH,GAEpBgpB,EADmB,kBAAVhpB,EACC,2BAAK+oB,GAAN,IAAcmd,aAAc,KAE3B,2BACLnd,GADI,IAEPmd,aAAc3iB,GAASzJ,QAi1BbxR,UAAU,WACVtB,YAAY,aACZwD,UAAU,mCACVpF,UAAW2jB,EAAOmd,aAClB16B,aAAa,EACbtC,eAAe,EACfhE,aAAcghC,MAiBlB,yBAAKvmC,UAAU,iBACb,yBAAKA,UAAU,UACb,2BAAOA,UAAU,YAAjB,uFAKF,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEgO,KAAMo8B,GACNjkC,SAAU,YAjzHJ,IAAlBikC,IACFD,GACE,+EAEFE,IAAiB,KAEjBF,GAAmB,IACnBE,IAAiB,SA8yHRD,IACC,yBAAKpqC,UAAU,SACb,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACE6N,QAAgC,MAAvB44B,GACTtgC,SAAU,kBAAMugC,GAAsB,MACtC9lC,KAAK,qBACLgN,MAAM,aAGV,yBAAK5N,UAAU,qBACb,kBAAC,GAAD,CACE6N,QAAgC,MAAvB44B,GACTtgC,SAAU,kBAAMugC,GAAsB,MACtC9lC,KAAK,qBACLgN,MAAM,gBAKd,yBAAK5N,UAAU,iBACb,yBAAKA,UAAU,UACb,2BAAOA,UAAU,YAAjB,oEAOF,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEY,KAAK,UACLoN,KAAM46B,GACN/gC,SAAoD,IAA1CgX,GAAYm7B,YAAYoG,cAClCj6C,SAAU,WAEN0iC,GADa,GAAXD,SASXK,IACC,oCACE,yBAAKjpC,UAAU,kBACb,kBAAC,GAAD,CACE6N,QAAS+6B,GACThoC,KAAK,iBACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,kOAOF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,QAAS+6B,GACThoC,KAAK,iBACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,oOAOF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,QAAS+6B,GACThoC,KAAK,iBACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,mFAKF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,QAAS+6B,GACThoC,KAAK,iBACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,uEAON,wBACE+H,QAAS,kBAAMmhC,IAAmBD,KAClCjpC,UAAU,kBAFZ,QAIQipC,GAAiB,OAAS,QAElC,yBAAKjpC,UAAU,SACb,2BAAOA,UAAU,0BAA0B8oC,KAE7C,yBAAK9oC,UAAU,SAEb,2BAAOA,UAAU,WAAjB,oBACA,kBAAC,GAAD,CACEY,KAAK,qBACL2E,aAAY,UACVu5B,GAAgB3iB,MACd,SAAC/S,GAAD,OAAUA,EAAK9I,UAAYyoC,aAFnB,aACV,EAEGzoC,QAEL6I,eAAgB,SAACT,GAAD,OAASsgC,GAAsBtgC,EAAIpI,UACnDuI,aAAc,EACdgB,QAASi1B,GACTv3B,OAAQ,SAACmB,GAAD,OApwBO6C,EAqwBS,0BAnwBlC8d,EADa,kBAowB2C3gB,EAnwB9C,2BAAK0gB,GAAN,mBAAe7d,EAAM,gCACpB,2BAAK6d,GAAN,mBAAe7d,OAAMjI,KAHpC,IAA+BiI,GAuwBf9F,UAAW2jB,EAAO2f,mBAClBpgC,UAAU,UACVtB,YAAY,sBACZwE,aAAa,IAEf,gFACwB,OAAvBk9B,SACwBzlC,IAAvBylC,KACkB,OAAlBA,SAAkB,IAAlBA,QAAA,EAAAA,GAAoB/kC,QAAS,GAE3B,2CADF+kC,IAEE,wBAAI/oC,UAAU,gBAAd,qWAUJ,wBACE+H,QAAS,kBAAMwhC,IAAsBD,KACrCtpC,UAAU,kBAETspC,GAAoB,YAAc,cAGtCA,IACC,oCACE,2BAAOtpC,UAAU,aAAjB,qGAIA,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,SAAS,EACTjN,KAAK,cACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,4EAKF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,SAAS,EACTjN,KAAK,cACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,oGAIK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,SAAS,EACTjN,KAAK,cACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,gCAGK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,SAAS,EACTjN,KAAK,cACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,4EAIK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,SAAS,EACTjN,KAAK,cACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,gFAIK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,SAAS,EACTjN,KAAK,cACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,oIAKK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6N,SAAS,EACTjN,KAAK,cACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,6hBAgBJ6/B,GACA,yBAAK7/B,UAAU,iBACb,yBAAKA,UAAU,UACb,2BAAOA,UAAU,YAAjB,0DAGA,6BACA,2BAAOA,UAAU,cAAjB,wDAIF,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEY,KAAK,cACLiH,SAAUg4B,EACV7xB,KAAMyzB,GACNt7B,SAAU,WAcJijB,EAZFuoB,kBAYEvoB,EAXFooB,sBAWEpoB,EAVF8hB,cAUE9hB,EATFsoB,gBASEtoB,EARF2oB,kBAQE3oB,EAPFme,cAOEne,EANFmoB,WAMEnoB,EALF2hB,YAKE3hB,EAJF2d,YAIE3d,EAHFunB,SAGEvnB,EAFFuY,aAZa,IAaVwe,EAbS,aAcV/2B,EAdU,wLAeRi3B,EAAkB5e,IACA,IAApB4e,IACFjZ,GAAe,IACfxF,GAAgB,IAElBvY,EAAU82B,GACVze,IAAgB2e,GAChB7X,GAAe,SAqBxB/G,IACC,oCACE,yBAAKzhC,UAAU,SACb,2BAAOA,UAAU,YAAjB,iCAGA,kBAAC,GAAD,CACEY,KAAK,eAELuI,eAAgB,SAACT,GACf,IAAM43C,EAAoB/7C,OAAOmE,EAAG,OAC9B63C,EAAuBh8C,OAAOo9B,IAC9B6e,EACJF,EAAoBC,EAEhBE,EAAyBvnC,KAAKC,MAClCD,KAAKkG,UAAU+nB,KAGXuZ,GACJ,IAAMJ,GACNK,QAAQ,GACVt2C,QAAQC,IACN,wBACAo2C,GAGF,IAAME,EAAuB,CAC3BC,EACwB,IAAtBP,EACI,GACA/7C,OAAOm8C,GACbI,EACwB,IAAtBR,EACI,GACA/7C,OAAOm8C,GACbK,EACwB,IAAtBT,EACI,GACA/7C,OAAOm8C,IAGfr2C,QAAQC,IAAI,kBAAmBs2C,GAE/B,IAAK,IAAI51C,EAAI,EAAGA,EAAIw1C,EAA8Bx1C,IAChDy1C,EAAuBvzB,KAAK,CAC1B9W,MAAO,GACPgtB,eAAgB/E,KAIpB,IAAK,IAAIrzB,EAAI,EAAGA,EAAIs1C,EAAmBt1C,IACrCy1C,EAAuBz1C,GAAvB,cACE41C,EAAgB51C,EAAI,GAIxB,IAAIg2C,EACFT,EAAuBD,EAKzB,GAJAj2C,QAAQC,IACN,8BACA02C,GAEEA,EAAqB,EACvB,IAAK,IAAIh2C,EAAI,EAAGA,EAAIg2C,EAAoBh2C,IACtCX,QAAQC,IAAI,wBAAyBU,GACrCy1C,EAAuBQ,MAI3B7Z,GAAeqZ,GACf7e,GAAgBl5B,EAAG,QAErBnD,aAAY,UACVskC,GAAY1tB,MAAK,SAAC+kC,GAAD,OAAOA,EAAE7gD,QAAUshC,aAD1B,aACV,EACIrhC,QAENuJ,QAASggC,GACTtiC,OAAQ,SAACmB,GAAD,OAASguC,GAAa,eAAgBhuC,IAC9CjD,UAAW2jB,EAAOuY,aAClBh5B,UAAU,UACVE,aAAc,EACdgD,aAAW,EACXxE,YAAY,MACZmE,aAAW,KAGdm2B,GAAe,GACdkI,GAAYiD,MAAM,EAAGnL,IAAc12B,KAAI,SAACoM,EAAMtN,GAAW,IAAD,sUACtD,OACE,kBAAC,IAAMo3C,SAAP,CAAgB51C,IAAKxB,GACnB,yBAAK/J,UAAU,SACb,2BAAOA,UAAU,mBAAjB,WACW+J,EAAQ,EADnB,aAIF,yBAAK/J,UAAU,SACb,2BAAOA,UAAU,YAAjB,aACA,yBAAKA,UAAU,WACb,yBAAKA,UAAU,eACb,kBAAC,GAAD,CACEY,KAAK,WACL2E,aAAY,UACVy7B,GAAgB7kB,MACd,SAAC/S,GAAD,aACEA,EAAK/I,SAAL,UACA8mC,GAAYp9B,UADZ,aACA,EAAoB4mC,oBAJd,aACV,EAIGrwC,QAEL6I,eAAgB,SAACT,GACf02C,GACE,WACAr1C,EACArB,EAAG,QAGPmB,QAASm3B,GACTz5B,OAAQ,SAACmB,GAAD,OACN0uC,GACErtC,EACA,WACe,kBAARrB,EACHkb,GAASzJ,SACT7W,IAGRmC,UAAS,UACP0hC,GAAYp9B,UADL,iBACP,EAAoBqM,aADb,aACP,EAA2Bu6B,SAE7BhoC,UAAU,UACVE,aAAc,EACdgD,aAAW,EACXxE,YAAY,MACZmE,aAAW,KAGf,yBAAKxL,UAAU,WACb,kBAAC,GAAD,CACEqD,UAAQ,EACR0D,WAAS,EACTQ,OAAQ,SAAC6O,GAAD,OACNghC,GACErtC,EACA,cACAqM,EAAM/S,SAEFugB,GAASzJ,SACT7W,IAGRmC,UAAS,UACP0hC,GAAYp9B,UADL,iBACP,EAAoBqM,aADb,aACP,EAA2B20B,YAE7BxlC,aAAY,UAAE4hC,GAAYp9B,UAAd,aAAE,EAAoBghC,YAClC5kC,SAAU,SAACuC,GACT2B,QAAQC,IAAI,qBAAsB5B,GAElC02C,GACE,cACAr1C,EACAi2C,GAAgBt3C,KAGpBhB,KAAK,OACLL,YAAY,gBAKpB,yBAAKrH,UAAU,SACb,2BAAOA,UAAU,YAAjB,YACA,kBAAC,GAAD,CACEY,KAAK,cACL2E,aAAY,UACVk7B,GAAiBtkB,MACf,SAAC/S,GAAD,aACEA,EAAK/I,SAAL,UACA8mC,GAAYp9B,UADZ,aACA,EAAoBg9B,uBAJd,aACV,EAIGzmC,QAEL6I,eAAgB,SAACT,GACf02C,GACE,cACAr1C,EACArB,EAAG,QAGPG,aAAc,EACdgB,QAAS42B,GACTl5B,OAAQ,SAACmB,GAAD,OACN0uC,GACErtC,EACA,cACe,kBAARrB,EAEHkb,GAASzJ,SACT7W,IAGRmC,UAAS,UAAE0hC,GAAYp9B,UAAd,iBAAE,EAAoBqM,aAAtB,aAAE,EAA2B2wB,YACtCp+B,UAAU,UACVtB,YAAY,aACZwD,UAAU,uCACVgB,aAAa,KAGA,OAAhBk7B,IACC,yBAAK/mC,UAAU,SACb,2BAAOA,UAAU,YAAjB,SACA,kBAAC,GAAD,CACEqD,UAAQ,EACRkE,OAAQ,SAAC6O,GAAD,OACNghC,GACErtC,EACA,mBACAqM,EAAM/S,SACFugB,GAASzJ,IACT,KAGR1U,UAAS,UACP0hC,GAAYp9B,UADL,iBACP,EAAoBqM,aADb,aACP,EAA2BgrC,iBAE7Bj7C,SAAU,SAAC9F,GAAD,OACR++C,GACE,mBACAr1C,EACA1J,IAGJqH,KAAK,OACLL,YAAY,eAKlB,kBAAC,GAAD,CACE0hB,WAAU,UAAEoe,GAAYp9B,UAAd,aAAE,EAAoBq5B,eAChC/Y,WAAW,EACXL,aAAa,gBACbG,YAAY,UACZT,WAAYA,EACZF,gBAAiB,SAACnpB,GAAD,OACf++C,GACE,iBACAr1C,EACA1J,IAGJopB,cAAe8a,GACfna,kBAAmB,eAKrB,yBAAKpqB,UAAU,SACb,2BAAOA,UAAU,YAAjB,qBAGA,kBAAC,GAAD,CACEuG,SAAO,EACPM,UAAW,EACXrD,IAAK,EACLE,IAAK,IACLL,UAAQ,EACRkE,OAAQ,SAAC6O,GAAD,OACNghC,GACErtC,EACA,gBACAqM,EAAM/S,UAAY+S,EAAM5S,KAAO4S,EAAM1S,IAEjCkgB,GAASzJ,IACT,KAGR1U,WACE,UAAA0hC,GAAYp9B,UAAZ,mBAAoBqM,aAApB,eAA2B06B,eAA3B,UACI3J,GAAYp9B,UADhB,iBACI,EAAoBqM,aADxB,aACI,EAA2B06B,cACU,IAArC,UAAA3J,GAAYp9B,UAAZ,eAAoB+mC,eACpBltB,GAASzJ,IACT,GAENhU,SAAU,SAAC9F,GACTmoC,GAAe,IACf4W,GACE,gBACAr1C,EACA1J,IAGJqH,KAAK,OACLL,YAAY,MACZ9B,aAAY,UAAE4hC,GAAYp9B,UAAd,aAAE,EAAoB+mC,iBAMtC,yBAAK9wC,UAAU,SACb,2BAAOA,UAAU,YAAjB,qCAGA,kBAAC,GAAD,CACEY,KAAK,uBACL2E,aAAY,UACVs5B,GAA0B1iB,MACxB,SAAC/S,GAAD,eACEA,EAAK9I,WAAL,UACA6mC,GAAYp9B,UADZ,iBACA,EAAoBohC,4BADpB,aACA,EACIvqC,gBALE,aACV,EAKGN,QAEL6I,eACE,SAACT,GAAD,OACE02C,GACE,uBACAr1C,EACArB,IAKNG,aAAc,EACdgB,QAASg1B,GACTt3B,OAAQ,SAACmB,GAAD,OACN0uC,GACErtC,EACA,uBACe,kBAARrB,EAEHkb,GAASzJ,SACT7W,IAGRmC,UAAS,UACP0hC,GAAYp9B,UADL,iBACP,EAAoBqM,aADb,aACP,EAA2B+0B,qBAE7BxiC,UAAU,UACVtB,YAAY,YACZwE,aAAa,KAwIf,oBADD,UAAAs7B,GAAYp9B,UAAZ,mBAAoBohC,4BAApB,eAA0CvqC,OAEzC,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,YAAjB,6CAGA,kBAAC,GAAD,CACEuG,SAAO,EACPlD,UAAQ,EACRwD,UAAW,EACXZ,QAAS,UACTyB,KAAK,OACLL,YAAY,WACZE,OAAQ,SAAC6O,GAAD,iBACNghC,GACErtC,EACA,4BACAqM,EAAM/S,WACJ,UAAA8jC,GAAYp9B,UAAZ,mBAAoBohC,4BAApB,mBACI9qC,aADJ,eACW2D,QAAS,EAElB4f,GAASzJ,SACT7W,IAGRmC,UAAS,UACP0hC,GAAYp9B,UADL,iBACP,EAAoBqM,aADb,aACP,EACIirC,0BAEN97C,aAAY,UACV4hC,GAAYp9B,UADF,iBACV,EAAoBohC,4BADV,aACV,EACI9qC,MAEN8F,SAAU,SAACuC,GAAD,OACR02C,GACE,4BACAr1C,EACArB,OAOR,6BADD,UAAAy+B,GAAYp9B,UAAZ,mBAAoBohC,4BAApB,eAA0CvqC,OAEzC,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,YAAjB,iCAGA,kBAAC,GAAD,CACEuG,SAAO,EACPlD,UAAQ,EACRqE,KAAK,OACLb,UAAW,GACXU,OAAQ,SAAC6O,GAAD,iBACNghC,GACErtC,EACA,4BACAqM,EAAM/S,WACJ,UAAA8jC,GAAYp9B,UAAZ,mBAAoBohC,4BAApB,mBACI9qC,aADJ,eACW2D,QAAS,EAElB4f,GAASzJ,IACT,KAGR1U,UAAS,UACP0hC,GAAYp9B,UADL,iBACP,EAAoBqM,aADb,aACP,EACIirC,0BAEN97C,aAAY,UACV4hC,GAAYp9B,UADF,iBACV,EAAoBohC,4BADV,aACV,EACI9qC,MAEN8F,SAAU,SAACuC,GAAD,OACR02C,GACE,4BACAr1C,EACArB,IAGJrB,YAAY,wBAKhB,sBADD,UAAA8/B,GAAYp9B,UAAZ,mBAAoBohC,4BAApB,eAA0CvqC,OAEzC,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,YAAjB,kCAGA,kBAAC,GAAD,CACEuG,SAAO,EACPlD,UAAQ,EACRqE,KAAK,OACLb,UAAW,GACXU,OAAQ,SAAC6O,GAAD,iBACNghC,GACErtC,EACA,4BACAqM,EAAM/S,WACJ,UAAA8jC,GAAYp9B,UAAZ,mBAAoBohC,4BAApB,mBACI9qC,aADJ,eACW2D,QAAS,EAElB4f,GAASzJ,IACT,KAGR1U,UAAS,UACP0hC,GAAYp9B,UADL,iBACP,EAAoBqM,aADb,aACP,EACIirC,0BAEN97C,aAAY,UACV4hC,GAAYp9B,UADF,iBACV,EAAoBohC,4BADV,aACV,EACI9qC,MAEN8F,SAAU,SAACuC,GAAD,OACR02C,GACE,4BACAr1C,EACArB,IAGJrB,YAAY,wBAKhB,iBADD,UAAA8/B,GAAYp9B,UAAZ,mBAAoBohC,4BAApB,eAA0CvqC,OAEzC,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,YAAjB,aACA,kBAAC,GAAD,CACEA,UAAU,YACVqD,UAAQ,EACR4C,QAASjB,GACT6B,UAAW,GACXmB,OACEi/B,GAASl9B,GACP,uBAAG/J,UAAU,mBAEb,qCAGJuF,aAAY,UACV4hC,GAAYp9B,UADF,iBACV,EAAoBohC,4BADV,aACV,EACI9qC,MAEN8F,SAAU,SAACuC,GAAD,OACR02C,GACE,4BACAr1C,EACArB,EAAIvB,gBAGRI,OAAQ,SAAC6O,GAAD,OACN+gC,GACE/gC,EACArM,EACA,8BAGJrC,KAAK,OACLL,YAAY,iBACZ5B,UAAS,UACP0hC,GAAYp9B,UADL,iBACP,EAAoBqM,aADb,aACP,EACIirC,6BAOZ,yBAAKrhD,UAAU,SACb,2BAAOA,UAAU,YAAjB,yBAKA,kBAAC,GAAD,CACEkyB,aAAc,SAACL,GACbxnB,QAAQC,IAAI,mBAAoBunB,GAChCutB,GAAsB,SAAUr1C,EAAO8nB,IAEzCD,aACE,UAAAuV,GAAYp9B,UAAZ,eAAoB48B,QAChB,IAAI5U,KAAJ,WAASoV,GAAYp9B,UAArB,cAAS,GAAoB48B,aAC7BrjC,EAENwwB,gBAAiB,uBACjB3B,QAAS,IAAIJ,KACb6B,QACE,IAAI7B,MACF,IAAIA,MAAOuvB,aACT,IAAIvvB,MAAOS,cAAgB,MAIjCjrB,OAAQ,SAACnB,GACPiE,QAAQC,IAAI,iBAAkBlE,GAC9BgxC,GACErtC,EACA,SACA6Z,GAASzJ,MAGb8Z,WACE,WAAAkT,GAAYp9B,UAAZ,sBAAoBqM,aAApB,iBAA2BuwB,WAG9B,WAAAQ,GAAYp9B,UAAZ,sBAAoBqM,aAApB,iBAA2BuwB,SAC1B,2BAAO3mC,UAAU,YAAjB,WACGmnC,GAAYp9B,UADf,mBACG,GAAoBqM,aADvB,cACG,GAA2BuwB,UAOjC,WAAAQ,GAAYp9B,UAAZ,iBAAoBknC,iBACnB,oCACE,yBAAKjxC,UAAU,SACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,yBAAKA,UAAU,eACb,kBAAC,GAAD,CACEY,KAAK,aACL2E,aAAY,WACVy7B,GAAgB7kB,MACd,SAAC/S,GAAD,aACEA,EAAK/I,SAAL,UACA8mC,GAAYp9B,GAAZ,uBADA,aACA,EAEGwnC,sBANG,cACV,GAMGjxC,QAEL6I,eAAgB,SAACT,GAAD,OACdg3C,GACE,aACA31C,EACArB,EAAG,QAGPmB,QAASm3B,GACTz5B,OAAQ,SAACmB,GAAD,OACN0uC,GACErtC,EACA,aACe,kBAARrB,EACHkb,GAASzJ,SACT7W,IAGRmC,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GAA2Bm7B,WAE7B5oC,UAAU,UACVE,aAAc,EACdgD,aAAW,EACXxE,YAAY,MACZmE,aAAW,KAGf,yBAAKxL,UAAU,WACb,kBAAC,GAAD,CACEqD,UAAQ,EACR0D,WAAS,EACTQ,OAAQ,SAAC6O,GAAD,OACNghC,GACErtC,EACA,gBACAqM,EAAM/S,SAEFugB,GAASzJ,IACT,KAGR1U,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GAA2B80B,cAE7B3lC,aAAY,WACV4hC,GAAYp9B,UADF,mBACV,GAAoBkhC,uBADV,cACV,GACIC,cAEN/kC,SAAU,SAACuC,GAAD,OACRg3C,GACE,gBACA31C,EACAi2C,GAAgBt3C,KAGpBhB,KAAK,OACLL,YAAY,0BAMpB,yBAAKrH,UAAU,SACb,2BAAOA,UAAU,YAAjB,4BAGA,kBAAC,GAAD,CACEY,KAAK,gBACL2E,aAAY,WACVk7B,GAAiBtkB,MACf,SAAC/S,GAAD,aACEA,EAAK/I,SAAL,UACA8mC,GAAYp9B,GAAZ,uBADA,aACA,EACIw9B,yBALE,cACV,GAKGjnC,QAEL6I,eAAgB,SAACT,GAAD,OAEdg3C,GACE,gBACA31C,EACArB,EAAG,QAGPG,aAAc,EACdgB,QAAS42B,GACTl5B,OAAQ,SAACmB,GAAD,OAEN0uC,GACErtC,EACA,gBACe,kBAARrB,EAEHkb,GAASzJ,SACT7W,IAGRmC,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GAA2BmxB,cAE7B5+B,UAAU,UACVtB,YAAY,aACZwD,UAAU,uCACVgB,aAAa,KAGE,OAAlB07B,IACC,yBAAKvnC,UAAU,SACb,2BAAOA,UAAU,YAAjB,SACA,kBAAC,GAAD,CACEqD,UAAQ,EACRkE,OAAQ,SAAC6O,GAAD,OAONghC,GACErtC,EACA,qBACAqM,EAAM/S,SACFugB,GAASzJ,IACT,KAGR1U,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GACImrC,mBAENp7C,SAAU,SAACuC,GAAD,OACRg3C,GACE,qBACA31C,EACArB,IAGJhB,KAAK,OACLL,YAAY,eAKlB,kBAAC,GAAD,CACE0hB,WAAU,WACRoe,GAAYp9B,UADJ,mBACR,GAAoBkhC,uBADZ,cACR,GACI3H,gBAENjZ,WAAW,EACXL,aAAa,iBACbG,YAAY,WACZT,WAAYA,EACZF,gBAAiB,SAAC9gB,GAAD,OACfg3C,GACE,kBACA31C,EACArB,IAGJ+gB,cAAegb,GACfxa,iBAAe,EACfC,YAAW,WACTid,GAAYp9B,UADH,mBACT,GAAoBkhC,uBADX,cACT,GACItG,cAENva,kBAAmB,SAAC9gB,GAAD,OAx8GjD,SACEA,EACAS,GAEA,IAI4C,EAIxC,EAREy3C,EAAatoC,KAAKC,MAAMD,KAAKkG,UAAU+nB,KAC7Cqa,EAAWz3C,GAAX,+BACGy3C,EAAWz3C,GAAX,8BACHq9B,GAAeoa,GACW,mBAAtBl4C,EAAMhD,OAAO1F,MAEb4gD,EAAWz3C,GAAX,0CACAy3C,EAAWz3C,UADX,aACA,EAAmBq5B,iBAEnBoe,EAAWz3C,GAAX,0CACEy3C,EAAWz3C,UADb,aACE,EAAmBq5B,eACrBgE,GAAeoa,KAQjBA,EAAWz3C,GAAX,+CACKs0B,IAEL+I,GAAeoa,IA+6GaC,CAA6Bn4C,EAAOS,MAMxC,yBAAK/J,UAAU,SACb,2BAAOA,UAAU,YAAjB,qCAGA,kBAAC,GAAD,CACEY,KAAK,4BACL2E,aAAY,WACVs5B,GAA0B1iB,MACxB,SAAC/S,GAAD,eACEA,EAAK9I,WAAL,UACA6mC,GAAYp9B,GAAZ,uBADA,iBACA,EACIohC,4BAFJ,aACA,EAC0BvqC,gBALpB,cACV,GAKGN,QAEL6I,eAAgB,SAACT,GAAD,OACdg3C,GACE,uBACA31C,EACArB,IAGJG,aAAc,EACdgB,QAASg1B,GACTt3B,OAAQ,SAACmB,GAAD,OACN0uC,GACErtC,EACA,4BACe,kBAARrB,EACHkb,GAASzJ,SACT7W,IAGRmC,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GACIsrC,0BAEN/4C,UAAU,UACVtB,YAAY,YACZwE,aAAa,KAgJf,oBAFD,WAAAs7B,GAAYp9B,GAAZ,6CACGohC,4BADH,iBACyBvqC,OAExB,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,YAAjB,6CAGA,kBAAC,GAAD,CACEuG,SAAO,EACPM,UAAW,EACXZ,QAAS,UACTyB,KAAK,OACLL,YAAY,WACZE,OAAQ,SAACmB,GAAD,OACN0uC,GACErtC,EACA,iCACCrB,EAAIzC,aAED3C,EADAsgB,GAASzJ,MAIjB1U,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GACIurC,+BAENp8C,aAAY,WACV4hC,GAAYp9B,GAAZ,uBADU,mBACV,GACIohC,4BAFM,cACV,GAC0B9qC,MAE5B8F,SAAU,SAACuC,GAAD,OACRg3C,GACE,iCACA31C,EACArB,OAQR,6BAFD,WAAAy+B,GAAYp9B,GAAZ,6CACGohC,4BADH,iBACyBvqC,OAExB,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,YAAjB,iCAGA,kBAAC,GAAD,CACEuG,SAAO,EACPlD,UAAQ,EACRqE,KAAK,OACLb,UAAW,GACXU,OAAQ,SAAC6O,GAAD,iBACNiT,EAAU,2BACLD,GADI,IAEPu4B,+BACEvrC,EAAM/S,WACN,UAAA8jC,GAAYp9B,GAAZ,0CACIohC,4BADJ,mBAC0B9qC,aAD1B,eAEI2D,QAAS,EACT4f,GAASzJ,IACT,OAGV1U,UACE2jB,EAAOu4B,+BAETp8C,aAAY,WACV4hC,GAAYp9B,GAAZ,uBADU,mBACV,GACIohC,4BAFM,cACV,GAC0B9qC,MAE5B8F,SAAU,SAACuC,GAAD,OACRg3C,GACE,iCACA31C,EACArB,IAGJrB,YAAY,wBAMhB,sBAFD,WAAA8/B,GAAYp9B,GAAZ,6CACGohC,4BADH,iBACyBvqC,OAExB,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,YAAjB,kCAGA,kBAAC,GAAD,CACEuG,SAAO,EACPlD,UAAQ,EACRqE,KAAK,OACLb,UAAW,GACXU,OAAQ,SAAC6O,GAAD,iBACNiT,EAAU,2BACLD,GADI,IAEPu4B,+BACEvrC,EAAM/S,WACN,UAAA8jC,GAAYp9B,UAAZ,mBACIohC,4BADJ,mBAC0B9qC,aAD1B,eAEI2D,QAAS,EACT4f,GAASzJ,IACT,OAGV1U,UACE2jB,EAAOu4B,+BAETp8C,aAAY,WACV4hC,GAAYp9B,GAAZ,uBADU,mBACV,GACIohC,4BAFM,cACV,GAC0B9qC,MAE5B8F,SAAU,SAACuC,GAAD,OACRg3C,GACE,iCACA31C,EACArB,IAGJrB,YAAY,wBAMhB,iBAFD,WAAA8/B,GAAYp9B,GAAZ,6CACGohC,4BADH,iBACyBvqC,OAExB,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,YAAjB,aACA,kBAAC,GAAD,CACEA,UAAU,YACVqD,UAAQ,EACR4C,QAASjB,GACT6B,UAAW,GACXmB,OACEi/B,GAASl9B,GACP,uBAAG/J,UAAU,mBAEb,qCAGJuF,aAAY,WACV4hC,GAAYp9B,GAAZ,uBADU,mBACV,GACIohC,4BAFM,cACV,GAC0B9qC,MAE5B8F,SAAU,SAACuC,GAAD,OACRg3C,GACE,iCACA31C,EACArB,EAAIvB,gBAGRI,OAAQ,SAAC6O,GAAD,OACN+gC,GACE/gC,EACArM,EACA,mCAGJrC,KAAK,OACLL,YAAY,iBACZ5B,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GACIurC,kCAMZ,yBAAK3hD,UAAU,SACb,2BAAOA,UAAU,YAAjB,0BAKA,kBAAC,GAAD,CACEkyB,aAAc,SAACL,GACbxnB,QAAQC,IAAI,mBAAoBunB,IAjgKrC,SAACA,GAC5B,IAAM+vB,EAAQ,IAAI7vB,KACZ8vB,EAAe,IAAI9vB,KAAKF,GAC1BiwB,EAAMF,EAAMpvB,cAAgBqvB,EAAarvB,cACvCuvB,EAAkBH,EAAMI,WAAaH,EAAaG,WASxD,OALED,EAAkB,GACG,IAApBA,GAAyBH,EAAMK,UAAYJ,EAAaI,YAEzDH,IAEEA,GAAO,GAq/JyBI,CAAqBrwB,GAOlBgR,IAAkB,IANvBA,IAAkB,GAClB6c,GACE,MACA31C,EACA8nB,KAKND,aACE,WAAAuV,GAAYp9B,UAAZ,sBAAoBkhC,uBAApB,iBAAqC+F,KACjC,IAAIjf,KAAJ,WACEoV,GACEp9B,UAFJ,mBACE,GAEGkhC,uBAHL,cACE,GAEoB+F,UAEtB1tC,EAENwwB,gBAAiB,uBACjB3B,QAAS,IAAIJ,KACb6B,QACE,IAAI7B,MACF,IAAIA,MAAOuvB,aACT,IAAIvvB,MAAOS,cAAgB,MAIjCjrB,OAAQ,SAACnB,GACPiE,QAAQC,IAAI,iBAAkBlE,GAC9BgxC,GACErtC,EACA,MACA6Z,GAASzJ,MAGb8Z,UACE2O,OAAqB,WAAAuE,GAAYp9B,UAAZ,sBAAoBqM,aAApB,sBAA2B60B,uBAA3B,iBACjB+F,QAKP,WAAA7J,GAAYp9B,UAAZ,sBAAoBqM,aAApB,sBAA2B60B,uBAA3B,iBACG+F,MACF,2BAAOhxC,UAAU,YAAjB,WAEImnC,GAAYp9B,UAFhB,mBAEI,GAAoBqM,aAFxB,mBAEI,GAA2B60B,uBAF/B,cAEI,GACI+F,KAITpO,IACG,2BAAO5iC,UAAU,YAAjB,6BASN,yBAAKA,UAAU,SACb,2BAAOA,UAAU,mBAAjB,yCAKF,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,6CAGA,kBAAC,GAAD,CACEY,KAAK,wBACL2E,aAAY,WACV46B,GAAchkB,MACZ,SAAC/S,GAAD,aACEA,EAAK/I,SAAL,UACA8mC,GAAYp9B,GAAZ,uBADA,aACA,EACIynC,iCALE,cACV,GAKGlxC,QAEL6I,eAAgB,SAACT,GAAD,OAEdg3C,GACE,wBACA31C,EACArB,EAAG,QAGPG,aAAc,EACdgB,QAASs2B,GACT54B,OAAQ,SAACmB,GAAD,OAEN0uC,GACErtC,EACA,wBACe,kBAARrB,EACHkb,GAASzJ,SACT7W,IAGRmC,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GACIo7B,sBAEN7oC,UAAU,UACVtB,YAAY,iDACZwD,UAAU,4CACVgB,aAAa,KAIjB,yBAAK7L,UAAU,SACb,2BAAOA,UAAU,YAAjB,8BAGA,kBAAC,GAAD,CACEY,KAAK,kBACL2E,aAAY,WACVw6B,EAAe5jB,MACb,SAAC/S,GAAD,aACEA,EAAK/I,SAAL,UACA8mC,GAAYp9B,GAAZ,uBADA,aACA,EACI2nC,2BALE,cACV,GAKGpxC,QAEL6I,eAAgB,SAACT,GAAD,OAEdg3C,GACE,kBACA31C,EACArB,EAAG,QAGPG,aAAc,EACdgB,QAASk2B,EACTx4B,OAAQ,SAACmB,GAAD,OAEN0uC,GACErtC,EACA,kBACe,kBAARrB,EACHkb,GAASzJ,SACT7W,IAGRmC,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GAA2Bs7B,gBAE7B/oC,UAAU,UACVtB,YAAY,oCACZwD,UAAU,yCACVgB,aAAa,KAIjB,yBAAK7L,UAAU,SACb,2BAAOA,UAAU,YAAjB,8BAGA,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACb,2BACEA,UAAU,aACVigD,YAAa,kBAAMze,IAAe,IAClC0e,aAAc,kBAAM1e,IAAe,KAHrC,WAOCD,IACC,kBAAC,GAAD,CACE/xB,MACEC,KAAgBC,SACZ,QACA,SAGN,yBAAK1P,UAAU,eACb,0PAgBZ,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE6N,QAE4B,OAD1B,WAAAs5B,GAAYp9B,GAAZ,wCACIunC,mBAENnrC,SAAU,kBAERu5C,GACE,oBACA31C,EACA,MAGJnJ,KAAM,sBAAwBmJ,EAC9B6D,MAAM,sCAER,kBAAC,GAAD,CACE5N,UAAU,QACV6N,QAE4B,OAD1B,WAAAs5B,GAAYp9B,GAAZ,wCACIunC,mBAENnrC,SAAU,kBAERu5C,GACE,oBACA31C,EACA,MAGJnJ,KAAM,sBAAwBmJ,EAC9B6D,MAAM,+CAER,kBAAC,GAAD,CACE5N,UAAU,QACV6N,QAE4B,OAD1B,WAAAs5B,GAAYp9B,GAAZ,wCACIunC,mBAENnrC,SAAU,kBAERu5C,GACE,oBACA31C,EACA,MAGJnJ,KAAM,sBAAwBmJ,EAC9B6D,MAAM,UAIV,yBAAK5N,UAAU,SACb,2BAAOA,UAAU,YAAjB,iCAGA,kBAAC,GAAD,CACEY,KAAK,oBACL2E,aAAY,WACV06B,GAAW9jB,MACT,SAAC/S,GAAD,aACEA,EAAK/I,SAAL,UACA8mC,GAAYp9B,GAAZ,uBADA,aACA,EACI4nC,6BALE,cACV,GAKGrxC,QAEL6I,eAAgB,SAACT,GAAD,OACdg3C,GACE,oBACA31C,EACArB,EAAG,QAGPnB,OAAQ,SAACmB,GAAD,OACN0uC,GACErtC,EACA,oBACe,kBAARrB,EACHkb,GAASzJ,SACT7W,IAGRmC,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GAA2Bu7B,kBAE7B9oC,aAAc,EACdgB,QAASo2B,GACTt3B,UAAU,UACVtB,YAAY,+CACZwD,UAAU,4CACVgB,aAAa,KAIjB,yBAAK7L,UAAU,SACb,2BAAOA,UAAU,YAAjB,6BAGA,kBAAC,GAAD,CACEuG,SAAO,EACPlD,UAAQ,EACRwD,UAAW,EACXrD,IAAK,KACL+B,aAAY,WACV4hC,GAAYp9B,GAAZ,uBADU,cACV,GACI8nC,cAENpsC,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GAA2By7B,cAE7B1rC,SAAU,SAACuC,GAAD,OACRg3C,GACE,gBACA31C,EACArB,IAGJnB,OAAQ,SAAC6O,GAAD,OACNghC,GACErtC,EACA,gBACAqM,EAAM/S,UAAY+S,EAAM5S,IACpBogB,GAASzJ,IACT,KAGR9S,YAAY,mBAIhB,yBAAKrH,UAAU,SACb,2BAAOA,UAAU,YAAjB,kCAGA,kBAAC,GAAD,CACEY,KAAK,OACLuI,eAAgB,SAACT,GAAD,OACdg3C,GACE,oBACA31C,EACArB,EAAG,WAGPG,aAAc,EACdgB,QAASigC,GAETviC,OAAQ,SAAClH,GAAD,OACN+2C,GACErtC,EACA,oBACiB,kBAAV1J,EACHujB,GAASzJ,SACT7W,IAGRmC,UAAS,WACP0hC,GAAYp9B,UADL,mBACP,GAAoBqM,aADb,cACP,GAA2B27B,kBAE7BppC,UAAU,WACVtB,YAAY,aACZwD,UAAU,mCAEVgB,aAAa,EACbtC,eAAe,EACfhE,aAAY,WACV4hC,GAAYp9B,GAAZ,uBADU,cACV,GACIgoC,2BAsC1B,6BAGC3lB,GAA2B,KAAhB2Z,IACV,yBAAK/lC,UAAU,cAEb,kBAAC,GAAD,KACE,+BAAQosB,KAQbA,GAA2B,KAAhB2Z,IACV,yBAAK/lC,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQosB,KAIbmc,IACC,yBAAKvoC,UAAU,cACb,kBAAC,GAAD,KAASuoC,KAGZa,IACC,yBAAKppC,UAAU,cACb,kBAAC,GAAD,KAASopC,KAGZY,IACC,yBAAKhqC,UAAU,cACb,kBAAC,GAAD,KAASgqC,KAGZE,IACC,yBAAKlqC,UAAU,cACb,kBAAC,GAAD,KAASkqC,KAIb,yBAAKlqC,UAAU,SACb,kBAAC,GAAD,CACE0H,KAAK,SACLiH,QAAQ,SACRF,UAAWA,EACX1G,QAvmMoC,4CAwmMpCF,SACEo2B,GAAoBpf,GAAYwQ,iBAC/B+a,IACAhe,GAA2B,KAAhB2Z,IAvxH9B,WAAoC,IAAD,EACjC,SACEvY,OAAOsyB,OAAO5b,IAAc6b,MAAK,SAAC3pC,GAAD,OAAWA,MAC5CoX,OAAOsyB,OAAOxb,IAAayb,MAAK,SAAC3pC,GAAD,OAAWA,MAC3CoX,OAAOsyB,OAAO1b,IAAc2b,MAAK,SAAC3pC,GAAD,OAAWA,MAC5CoX,OAAOsyB,OAAOtb,IAAeub,MAAK,SAAC3pC,GAAD,OAAWA,MAC7CoX,OAAOsyB,OAAOhd,IAAkBid,MAAK,SAAC1/C,GAAD,OAAYA,MACjDmtB,OAAOsyB,OAAO5c,IAAuB6c,MAAK,SAAC1/C,GAAD,OAAYA,MACrD8gC,GAAiBhpB,mBAChBgpB,GAAiBhpB,kBAAkB4nC,MACjC,SAAC1/C,GAAD,OAAWA,EAAM+V,SAAS,OAAC/V,QAAD,IAACA,OAAD,EAACA,EAAOqM,sBAErCy0B,GAAiBlpB,kBAChBkpB,GAAiBlpB,iBAAiB8nC,MAChC,SAAC1/C,GAAD,OAAWA,EAAM+V,SAAS,OAAC/V,QAAD,IAACA,OAAD,EAACA,EAAOqM,uBAErB,OAAhBy0B,SAAgB,IAAhBA,QAAA,EAAAA,GAAkBmV,mBAAlB,OACCnV,SADD,IACCA,IADD,UACCA,GAAkBmV,uBADnB,aACC,EAAmCyJ,MACjC,SAAC1/C,GAAD,OAAWA,EAAM+V,SAAS,OAAC/V,QAAD,IAACA,OAAD,EAACA,EAAOqM,uBA7F1C,WACE,IACE,IAAIy1C,GAAa,EACjB,GAAI1gB,IAAgC,IAAjBE,GACjBwgB,GAAa,OACR,GAAI1gB,IAAe0F,IAAeA,GAAYnjC,OAAS,EAC5D,IAAK,IAAIgH,EAAI,EAAGA,GAAC,OAAGm8B,SAAH,IAAGA,QAAH,EAAGA,GAAanjC,QAAQgH,IAAK,CAAC,IAAD,wCACtC2X,EAAUwkB,GAAYn8B,GAE5B,GACE2X,GACA6K,OAAOlf,KAAKqU,OACX,OAACA,QAAD,IAACA,OAAD,EAACA,EAASguB,aACT,OAAChuB,QAAD,IAACA,OAAD,EAACA,EAASooB,cACe,MAAlB,OAAPpoB,QAAO,IAAPA,OAAA,EAAAA,EAASooB,gBACT,OAACpoB,QAAD,IAACA,OAAD,EAACA,EAASokB,cACe,MAAlB,OAAPpkB,QAAO,IAAPA,OAAA,EAAAA,EAASokB,cACiB,QAAlB,OAAPpkB,QAAO,IAAPA,OAAA,EAAAA,EAASokB,cACsB,MAAvB,OAAPpkB,QAAO,IAAPA,OAAA,EAAAA,EAASy/B,qBACX,OAACz/B,QAAD,IAACA,OAAD,EAACA,EAASgkB,SACe,GAAzBhkB,EAAQmuB,eACRtjB,OAAOsyB,OAAP,OAAcn9B,QAAd,IAAcA,OAAd,EAAcA,EAASvM,OAAO2pC,MAAK,SAAC3pC,GAAD,OAAWA,MAC9CoX,OAAOsyB,OAAP,OAAcn9B,QAAd,IAAcA,OAAd,EAAcA,EAASygB,gBAAgB2c,MAAK,SAAC1/C,GAAD,OAAYA,MAG1D,CACA8hD,GAAa,EACb,MAEF,GACEx/B,EAAQsuB,oBACP,UAACtuB,EAAO,uBAAR,aAAC,EAA4B4uB,aACe,MAA3C,UAAA5uB,EAAO,uBAAP,eAA4B4uB,cAC5B,UAAC5uB,EAAO,uBAAR,aAAC,EAA4BuoB,gBACiB,MAA9C,UAAAvoB,EAAO,uBAAP,eAA4BuoB,iBAC5B,UAACvoB,EAAO,uBAAR,aAAC,EAA4B4kB,gBACiB,MAA9C,UAAA5kB,EAAO,uBAAP,eAA4B4kB,iBACmB,QAA9C,UAAA5kB,EAAO,uBAAP,eAA4B4kB,gBACwB,MAAnD,UAAA5kB,EAAO,uBAAP,eAA4B0/B,uBAC9B,UAAC1/B,EAAO,uBAAR,aAAC,EAA4B6uB,wBACyB,MAAtD,UAAA7uB,EAAO,uBAAP,eAA4B6uB,yBAC5B,UAAC7uB,EAAO,uBAAR,aAAC,EAA4B+uB,kBACmB,MAAhD,UAAA/uB,EAAO,uBAAP,eAA4B+uB,mBAC5B,UAAC/uB,EAAO,uBAAR,aAAC,EAA4BgvB,oBACqB,MAAlD,UAAAhvB,EAAO,uBAAP,eAA4BgvB,qBAC5B,UAAChvB,EAAO,uBAAR,aAAC,EAA4BovB,oBACqB,MAAlD,UAAApvB,EAAO,uBAAP,eAA4BovB,qBAC5B,UAACpvB,EAAO,uBAAR,aAAC,EAA4BkvB,gBACiB,MAA9C,UAAAlvB,EAAO,uBAAP,eAA4BkvB,iBAC5BtlC,SAAQ,UAACoW,EAAO,uBAAR,aAAC,EAA4BkvB,eAAiB,KACtDrkB,OAAOsyB,OAAOn9B,EAAQvM,OAAO2pC,MAAK,SAAC3pC,GAAD,OAAWA,MAC7CoX,OAAOsyB,SAAO,UAACn9B,EAAO,uBAAR,aAAC,EAA4B2gB,kBAAiByc,MAC1D,SAAC1/C,GAAD,OAAYA,MAKhB,CACA8hD,GAAa,EACb,MAEAA,GAAa,OAKjBA,GAAa,EAGf,OAAOA,EACP,MAAO/7C,GACP,OAAO,GAwBPk8C,KACC/f,KACAE,IACS,KAAVnmB,IACU,KAAV2J,IAC8B,KAA9Bmf,GAAmBrhC,QACG,KAAtB0hC,GAAW1hC,QACU,KAArB4hC,IACe,KAAfE,KACEI,KAC2B,KAA1Bzb,GAAcE,SACa,WAAzBF,GAAcI,QACiB,KAA9BJ,GAAcK,aACc,KAA9BL,GAAcM,cACL,KAAbub,IACA95B,SAAS85B,IAAY,KACJ,KAAjBF,IACiB,KAAjBI,IACA/Y,OAAOsyB,OAAO12B,GAAQ22B,MAAK,SAAC3pC,GAAD,OAAWA,MAkvHxBmsC,IACArY,IACAd,IACgB,KAAhBY,MACGvI,IACc,GAAfA,MACE8G,IACc,KAAhBA,KACW,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAavkC,QAAS,GACjB4+B,WExuMN/jB,G,kCCnDd,SAAS2jC,KACd,IAAMC,EAAgBvpC,KAAKC,MACzB8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAEtDujC,EAAUxpC,KAAKC,MAAM8F,OAAOqO,eAAenO,QAAQ,YAAc,MAGvE,GAFA9U,QAAQC,IAAI,YAAao4C,GAGvBD,EAAcrzB,eACkB,KAAhCqzB,EAAcrzB,eACdqzB,EAAchyB,YACe,KAA7BgyB,EAAchyB,aACbiyB,KACCD,EAAcE,gBAAmBF,EAAcG,eAEjD,OAAOzgD,GAGJ,SAASkrB,GAA4Bw1B,GAG1C,IAAM72B,EACJ62B,GACA3pC,KAAKC,MAAM8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAqCvE,OApCIqO,OAAOlf,KAAK0d,GAAyBhoB,OAAS,IAChD6a,GAAYyQ,sBACVtD,EAAwBsD,uBAAyB,GACnDzQ,GAAYC,MAAQkN,EAAwBlN,OAAS,GACrDD,GAAYwQ,cAAgBrD,EAAwBoD,eAAiB,GACrEvQ,GAAYmyB,IAAMhlB,EAAwBglB,KAAO,GACjDnyB,GAAY6zB,UAAY1mB,EAAwB0mB,WAAa,GAC7D7zB,GAAY2M,gBAAgBxmB,IAAMgnB,EAAwBhnB,KAAO,GACjE6Z,GAAY0Q,OAASvD,EAAwBumB,QAAU,GACvD1zB,GAAYikC,UAAY92B,EAAwB82B,YAAa,EAC7DjkC,GAAYq8B,UAAYlvB,EAAwBkvB,WAAa,GAC7Dr8B,GAAYgjB,KAAKvlB,MAAQ0P,EAAwBymB,SAAW,GAC5D5zB,GAAYgjB,KAAKrhB,OAASwL,EAAwBxL,QAAU,GAC5D3B,GAAY2M,gBAAgBiF,WAC1BzE,EAAwByE,YAAc,GACxC5R,GAAY2M,gBAAgBwf,QAAUhf,EAAwBgf,SAAW,GACzEnsB,GAAYsO,aAAenB,EAAwBmB,eAAgB,EACnEtO,GAAY4sB,MAAQzf,EAAwByf,QAAS,EACrD5sB,GAAY2sB,MAAQxf,EAAwBwf,QAAS,EACrD3sB,GAAY8jC,eACV32B,EAAwB22B,iBAAkB,EAC5C9jC,GAAY+jC,cAAgB52B,EAAwB42B,gBAAiB,EACrE/jC,GAAYghB,gBACV7T,EAAwB6T,kBAAmB,EAC7ChhB,GAAY+P,mBACV5C,EAAwB4C,qBAAsB,EAChD/P,GAAY41B,cAAc7rB,aACxBoD,EAAwB+2B,iBAAmB,GAC7ClkC,GAAY41B,cAAcpzB,QACxB2K,EAAwBg3B,YAAc,GACxCnkC,GAAY+zB,OAAS5mB,EAAwB4mB,QAAU,GACvD/zB,GAAY2M,gBAAgB2Z,WAC1BnZ,EAAwBmZ,YAAc,GACxCtmB,GAAY2M,gBAAgBga,eAC1BxZ,EAAwBwZ,gBAAkB,IAEvCxZ,EAGF,SAASi3B,KAKd,OAHGpkC,GAAYqkC,gBAAgBz6C,QAAO,SAAC06C,GAAD,OAAWA,EAAMriD,cAAYkD,OAC/D6a,GAAYqkC,gBAAgBl/C,OAC9B,KACa28C,UAOV,SAASpI,GAAc6K,GAC5B,IAAMC,EAA6BD,EAChCnhC,MAAM,KACNxZ,QAAO,SAAC7H,GAAD,MAAmB,KAATA,KACd0iD,EAA4BD,EAAYr/C,OAE5Cu/C,EAAgB,GAElB,QAAQ,GACN,KAAKD,GAAqB,EAIxB,MAAO,CAHQD,EAAYvW,MAAM,EAAGwW,EAAoB,GAAGtgC,KAAK,KAChEugC,EAAgBF,EAAYC,EAAoB,GAClCD,EAAYC,EAAoB,IAEhD,KAA2B,IAAtBA,EAGH,MAAO,CAFQD,EAAY,GAELE,EADRF,EAAY,IAE5B,KAA2B,IAAtBC,EAGH,MAAO,CAFQD,EAAY,GAELE,EADR,KAEhB,QACE,MAAO,CAACH,IAIP,SAASpD,GAAgBnT,GAC9B,OAAOA,EAAIroC,QAAQ,eAAe,SAAC2G,GAAD,OAAOA,EAAEhE,iBAGtC,SAASq8C,GAAWC,GAIzB,OAHcA,EAAYv/C,UAAU,GACjB+d,MAAM,KAEbyhC,QAAO,SAACC,EAAchhC,GAChC,IAAMihC,EAAsBjhC,EAAQV,MAAM,KAE1C,OADA0hC,EAAIE,mBAAmBD,EAAK,KAAOC,mBAAmBD,EAAK,IACpDD,IACN,IAGE,SAAStL,GAAmB1Y,EAAiBp0B,GAClD,IAAMuuB,EAAc5gB,KAAKC,MACvB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAE5C2kC,GAAkB,IAAI/xB,MAAOgyB,UAAYpkB,EAAUokB,UAKzD,OAJAjqB,EAAYvuB,GAAOu4C,EAAU,IACzB7kC,OAAO4X,YAAc,KAAO5X,OAAO+kC,aAAe,IACpDlqB,EAAYmqB,WAAa,SACtBnqB,EAAYmqB,WAAa,UACvBnqB,EAGF,SAAS/kB,GAAcyJ,GAC5B,IAAMsb,EAAmB5gB,KAAKC,MAC5B8F,OAAOqO,eAAenO,QAAQ,gBAAkB,OdsJnB,SAACX,EAA4BwQ,GAC5D1Q,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ6Q,cAAeuO,EAAOzO,cACtB+F,WAAY0I,EAAOk1B,YAAc,GACjC19B,YAAawI,EAAOm1B,aAAe,IAErCzlC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa6D,eAE5ByJ,Gc7JF4lC,CAAkB5lC,EALH,CACb+B,cAAe1B,GAAYwQ,cAC3B60B,WAAYpqB,EAAYvT,aAAe,GACvC49B,YAAarqB,EAAYrT,cAAgB,KAKtC,SAAS49B,GAAaC,GAC3BzlC,GAAYm7B,YAAc,CACxBuK,wBAAyBD,EAAeC,wBACxCC,2BAA4BF,EAAeE,2BAC3CC,0BAA2BH,EAAeG,0BAC1CC,wBAAyBJ,EAAeI,wBACxCC,yBAA0BL,EAAeK,yBACzCC,uBAAwBN,EAAeM,uBACvCC,4BAA6BP,EAAeO,4BAC5CC,2BAA4BR,EAAeQ,2BAC3CC,0BAA2BT,EAAeS,0BAC1CC,2BAA4BV,EAAeU,2BAC3CC,sBAAuBX,EAAeW,sBACtCC,iBAAkBZ,EAAeY,iBACjCC,sBAAuBb,EAAea,sBACtCC,cAAed,EAAec,cAC9BC,eAAgBf,EAAee,eAC/BC,kBAAmBhB,EAAegB,kBAClCC,MAAOjB,EAAeiB,MACtBnS,MAAOkR,EAAelR,MACtBP,WAAYyR,EAAezR,WAC3B2S,oBAAqBlB,EAAekB,oBACpCC,wBAAyBnB,EAAemB,wBACxCC,sBAAuBpB,EAAeoB,sBACtCC,oBAAqBrB,EAAeqB,oBACpCvF,cAAekE,EAAelE,cAC9BwF,iBAAkBtB,EAAesB,iBACjC5U,IAAIsT,EAAetT,IACnBkM,YAAYoH,EAAeuB,YAC3Bl1B,aAAY,OAAC2zB,QAAD,IAACA,OAAD,EAACA,EAAgB3zB,aAC7BE,eAAc,OAACyzB,QAAD,IAACA,OAAD,EAACA,EAAgBzzB,eAC/BE,YAAW,OAACuzB,QAAD,IAACA,OAAD,EAACA,EAAgBvzB,aAIzB,SAAS+0B,KACd,OAA0D,IAAtDt4B,OAAOlf,KAAK+e,MAA+BrpB,OACtC7B,GACFA,GAGF,SAAS4jD,KASd,MANE,eAAe3iD,KAAM6b,OAAe+mC,cAEV,wCAEtB/mC,OAAD,QAA8BA,OAAD,OAA0BgnC,kBAF/Cz5C,WAqCR,SAASygC,GACdiZ,EACA36C,GAEA,IAAI46C,EAAoC,GAaxC,OAZA56C,EAAIc,SAAQ,SAAC+5C,GACX,IAAIC,EAAuB,GAC3BH,EAAQ75C,SAAQ,SAACsW,GACf,GAAIyjC,IAAMzjC,EAAQxC,SAAU,CAC1B,IAAIwJ,EAAa,eAAQvpB,GACzBupB,EAAIrpB,QAAUqiB,EAAQ2jC,YACtB38B,EAAItpB,MAAQsiB,EAAQ4jC,UACpBF,EAAIn5B,KAAKvD,OAGbw8B,EAAUj5B,KAAKm5B,MAEVF,EAGF,SAAS/zB,GAAc4e,GAE5B,IAgBIwV,EACAC,EAjBAC,EAAU1V,EAAIxe,cAChBm0B,EAAW3V,EAAIgR,WACf4E,EAAU5V,EAAIiR,UAGZjH,EAAM,IAAIjpB,KAEVU,EAAcuoB,EAAIxoB,cAClBq0B,EAAe7L,EAAIgH,WACnB8E,EAAc9L,EAAIiH,UAMlB8E,EAAkBt0B,EAAci0B,EA+BpC,OA3BIG,GAAgBF,EAElBH,EAAWK,EAAeF,GAE1BI,IACAP,EAAW,GAAKK,EAAeF,GAI7BG,GAAeF,EAEjBH,EAAUK,EAAcF,GAGxBH,EAAU,GAAKK,EAAcF,IAD7BJ,EAEe,IACbA,EAAW,GACXO,MAIE,CACJC,MAAOD,EACPE,OAAQT,EACRhmD,KAAMimD,GAGGO,MAiBN,SAAS9H,GAAqBn+C,GACnC,IAAImmD,EAAqCroC,GAAYqkC,gBAC/Cl3B,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,OAG1DN,GAAY4sB,OACZzf,EAAwByf,OACxB5sB,GAAY2sB,OACZxf,EAAwBwf,OACxB3sB,GAAYsO,cACZnB,EAAwBmB,gBAExB+5B,EAAYroC,GAAYqkC,gBAAgBz6C,QACtC,SAACW,GAAD,MAAwB,uBAAdA,EAAKxI,SAdgC,oBAiB/BsmD,GAjB+B,IAiBnD,2BAA+B,CAAC,IAAvBvkC,EAAsB,QAC7B,GAAIA,EAAQ5hB,SAAWA,EAAQ,CAC7B,GAAc,UAAVA,EAAoB,CACtB,GACE8d,GAAYm7B,YAAYkL,kBACxBrmC,GAAYm7B,YAAYwL,oBACxB,CACA7iC,EAAQ7hB,YAAa,EACrB,SAEA6hB,EAAQ7hB,YAAa,EACrB,SAGJ6hB,EAAQ7hB,YAAa,EACrB,QAhC+C,8BAmCnD+d,GAAYqkC,gBAAkBgE,EAIzB,SAAS/H,GAA0BgI,GACxC,IAAIC,EAAoB3mD,GAClBurB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D,IACGN,GAAYwQ,eAAiBrD,EAAwBoD,iBACrDvQ,GAAYsO,eAGXtO,GAAY4sB,OACZzf,EAAwByf,OACxB5sB,GAAY2sB,OACZxf,EAAwBwf,OACxB,CACA,IAAM6b,EAAqBxoC,GAAYqkC,gBAAgBz6C,QACrD,SAACW,GAAD,MAAwB,uBAAdA,EAAKxI,QAEbymD,GAAsBA,EAAmBrjD,OAAS,IACpD6a,GAAYqkC,gBAAkBmE,GAIpC,IAAK,IAAIr8C,EAAI,EAAGA,EAAI6T,GAAYqkC,gBAAgBl/C,OAAQgH,IACtD,IACG6T,GAAYqkC,gBAAgBl4C,GAAGlK,YAChC+d,GAAYqkC,gBAAgBl4C,GAAGjK,SAAWomD,EAC1C,CACAC,EAAYvoC,GAAYqkC,gBAAgBl4C,GAAGjK,OAC3C,MAGJ,OAAOqmD,ED1UYvoC,GACZgjB,KAAiB,CACtBwO,UAAW,GACX7qB,SAAU,GACVlJ,MAAO,GACPkE,OAAQ,GACR3c,KAAM,GACN8jB,OAAQ,GACR2/B,SAAS,IARQzoC,GAUZ0oC,uBAAiC,EAVrB1oC,GAWZ2oC,YAAsB,EAXV3oC,GAYZ4oC,gBAAuB,GAZX5oC,GAaZ2M,gBAAuB,GAbX3M,GAcZm+B,eAAsB,GAdVn+B,GAeZ6oC,e,EAfY7oC,GAgBZ8oC,sBAA6B,GAhBjB9oC,GAiBZ0Q,Y,EAjBY1Q,GAkBZ+oC,e,EAlBY/oC,GAmBZgpC,YAAsB,GAnBVhpC,GAoBZmyB,IAAc,GApBFnyB,GAqBZ6zB,UAAoB,GArBR7zB,GAsBZwQ,cAAwB,GAtBZxQ,GAuBZ+P,oBAA8B,EAvBlB/P,GAwBZyQ,sBAAgC,GAxBpBzQ,GAyBZipC,kBAAyB,GAzBbjpC,GA0BZkpC,oBAAsBtnD,GA1BVoe,GA2BZmpC,oBAAsBvnD,GA3BVoe,GA4BZqkC,gB,YAA+C9hD,IA5BnCyd,GA6BZm7B,YAA4B,CACjCuK,yBAAyB,EACzBC,4BAA4B,EAC5BC,2BAA2B,EAC3BC,yBAAyB,EACzBC,0BAA0B,EAC1BC,wBAAwB,EACxBC,6BAA6B,EAC7BC,4BAA4B,EAC5BC,2BAA2B,EAC3BC,4BAA4B,EAC5BC,uBAAuB,EACvBC,kBAAkB,EAClBC,uBAAuB,EACvBM,yBAAyB,EACzBL,cAAe,EACfC,eAAgB,EAChBC,kBAAmB,EACnBC,OAAO,EACPnS,OAAO,EACPP,WAAY,GACZ2S,qBAAqB,EACrBE,uBAAuB,EACvBC,qBAAqB,EACrBvF,cAAe,GACfwF,kBAAkB,EAClB5U,IAAI,GACJkM,aAAY,GAxDKr+B,GA0DZsO,cAAwB,EA1DZtO,GA2DZ4sB,OAAiB,EA3DL5sB,GA4DZ2sB,OAAiB,EA5DL3sB,GA6DZmuB,UAAoB,EA7DRnuB,GA8DZ8jC,gBAA0B,EA9Dd9jC,GA+DZ+jC,eAAyB,EA/Db/jC,GAgEZghB,iBAA2B,EAhEfhhB,GAiEZopC,UAAiB,GAjELppC,GAkEZqpC,aAAoB,GAlERrpC,GAmEZspC,cAAqB,GAnETtpC,GAoEZupC,eAAsB,GApEVvpC,GAqEZwpC,SAAgB,GArEJxpC,GAsEZypC,cAAqB,GAtETzpC,GAuEZ0pC,kBAAyB,GAvEb1pC,GAwEZ2pC,mBAA0B,GAxEd3pC,GAyEZ4pC,aAAoB,GAzER5pC,GA0EZ6pC,kBAAyB,GA1Eb7pC,GA2EZ8pC,kBAA4B,GA3EhB9pC,GA4EZikC,WAAqB,EA5ETjkC,GA6EZq8B,UAAoB,GA7ERr8B,GA8EZ+pC,oBAA8B,GA9ElB/pC,GA+EZ41B,c,eAAwCnW,IA/E5Bzf,GAgFZ61B,e,eAAyCpW,IAhF7Bzf,GAiFZ+zB,OAAiB,GAjFL/zB,GAkFZC,MAAgB,GAlFJD,GAmFZgqC,WAAqB,GAnFThqC,GAoFZiqC,UAAoB,GApFRjqC,GAqFZgB,SAAgB,GArFJhB,GAsFZszB,gB,EAtFYtzB,GAuFZozB,e,EAvFYpzB,GAwFZwzB,c,EAxFYxzB,GAyFZkF,eAA6B,GC6Q/B,SAASglC,GAAaC,EAAiBC,GAC5C,IAAMC,EAAU,IAAIn3B,KAAKi3B,GACnBG,EAAMD,EACTjH,UACAmH,eAAe,QAAS,CAAEC,qBAAsB,EAAGC,aAAa,IAC7DC,GAASL,EAAQlH,WAAa,GAAGoH,eAAe,QAAS,CAC7DC,qBAAsB,EACtBC,aAAa,IAETE,EAAON,EAAQO,iBACrB,OAAIR,EAAiBM,EAAQ,IAAMJ,EAAM,IAAMK,EACxCL,EAAM,IAAMI,EAAQ,IAAMC,EAS5B,ICxXH/nC,GCmCWioC,GAnF+C,SAACrkD,GAC7D,IAAMsnB,EAAUC,cACV/M,EAAW6M,cAFsD,EAGvCpnB,IAAM4G,UAAkB,GAHe,mBAGhEy9C,EAHgE,KAGtDC,EAHsD,KAuEvE,OAnEAvkD,EAAMwkD,mBAAqBx8B,KAE3B/nB,IAAM2H,WAAU,WACd,IAAM+e,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D9U,QAAQC,IAAIuU,GAAYwQ,cAAe,aACvChlB,QAAQC,IAAI0hB,EAAwBoD,cAAe,gBAEnB,KAA9BvQ,GAAYwQ,eACZrD,EAAwBoD,gBAExBc,IACE,SAACtZ,GAAD,OAqBN,SAA+BA,GAC7B,IAAKA,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,KAAM,CACZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MAMnC,GAHAgtC,GAAaj2B,GAGT/oB,EAAMwkD,mBAAwC,QAAnBl9B,EAAQiI,OACrCjI,EAAQO,KAAK44B,UACV,CACH,IAAMv4B,EAAci2B,GAAW3jC,EAAS8N,QACpCJ,GAAeA,EAAYhN,gBAAkBgN,EAAY7lB,OAC3DkiD,GAAY,GACc,SAAtBr8B,EAAYu8B,MAAkBn9B,EAAQnoB,QAAQrC,IACjB,MAAxBorB,EAAYw8B,QACnBp9B,EAAQnoB,QAAQrC,IACiB,MAAxBorB,EAAYw8B,SAAoB37B,EAAYo3B,oBAGrB,MAAxBj4B,EAAYw8B,SAAmB37B,EAAYo3B,oBACnD74B,EAAQnoB,QAAQrC,IACNorB,EAAYw8B,SACtBp9B,EAAQnoB,QAAQ/D,GAAqB,SALrCksB,EAAQnoB,QAAQ/D,GAAqB,YAzC7BupD,CAAsBpzC,KACpCiI,GAAYwQ,eAAiBrD,EAAwBoD,iBAmBxD,IAmCD,qCACIu6B,GACA,yBAAK3pD,UAAU,aACb,kBAAC,EAAD,MACCqF,EAAM0I,YC8GFk8C,I,OAhL+B,SAAC5kD,GAAW,IAAD,EAC3BC,IAAM4G,SAAS7G,EAAME,cAAgB,IADV,mBAC9ClF,EAD8C,KACvCmF,EADuC,KAsDrD,SAASrE,EAAWd,GAChB,OAAQgF,EAAMhC,UAAagC,EAAMhC,YAAcA,GAAShD,GAU5D,SAASwF,EAAcxF,GACnB,QAAkBiD,IAAd+B,EAAM7B,IACN,OAAO,EAEX,GAAIc,OAAOjE,GACP,MAAMyF,MAAM,8CAEhB,QAASvC,IAAclD,EAAOgF,EAAM7B,KAUxC,SAASuC,EAAc1F,GACnB,QAAkBiD,IAAd+B,EAAM3B,IACN,OAAO,EAEX,GAAIY,OAAOjE,GACP,MAAMyF,MAAM,8CAEhB,QAASrC,IAAcpD,EAAOgF,EAAM3B,KASxC,SAASsC,EAAe3F,GACpB,OAAQgF,EAAMY,SAAYZ,EAAMY,UAAY/C,GAAa7C,EAAOgF,EAAMY,SAyD1E,OAzJAX,IAAM2H,WAAU,gBACe3J,IAAvB+B,EAAME,cAA8BlF,IAAUgF,EAAME,cACpDC,EAASH,EAAME,gBAEpB,CAACF,EAAME,eAsJN,yBAAKvF,UAAW,mBAAqBqF,EAAMrF,UAAYqF,EAAMrF,UAAY,KACrE,2BAAOA,UAAU,SAASqF,EAAMuI,OAChC,6BACI,2BACIvN,MAAOA,EACP8F,SAhChB,SAAsBC,GAClB,IAAIC,EAUAA,GAPCD,EAAEE,OAAOjG,OAA4B,KAAnB+F,EAAEE,OAAOjG,OAAmC,MAAnB+F,EAAEE,OAAOjG,QAvH7D,SAAwBA,GACpB,OAAQgF,EAAMkB,SAAYlB,EAAMkB,UAAYrD,GAAa7C,EAAOoE,IAuH5D+B,CAAeJ,EAAEE,OAAOjG,QA9GhC,SAAsBA,GAClB,OAAQgF,EAAMoB,OAAUpB,EAAMoB,QAAUvD,GAAa7C,EAAOgF,EAAMoB,OA8G9DC,CAAaN,EAAEE,OAAOjG,QArG9B,SAAyBA,GACrB,OAAQgF,EAAMsB,UAAatB,EAAMsB,WAAazD,GAAa7C,EAAOsE,IAqG9DiC,CAAgBR,EAAEE,OAAOjG,QA5FjC,SAA0BA,GACtB,YAA2BiD,IAApB+B,EAAMwB,WAA2BxG,EAAM2D,QAAUqB,EAAMwB,UA4F1DC,CAAiBV,EAAEE,OAAOjG,OAGV+F,EAAEE,OAAOjG,MAGTA,EAGpB,IAAM+G,EAAW/B,EAAMc,SAASE,GAAiB,IAG7Cb,OADalC,IAAb8D,EACSA,EAEAf,GAAiB,KAWlBgB,YAAahC,EAAMgC,YACnBE,OAzDhB,WAEI,IAAIC,EAAgB,GAEhBnC,EAAMhC,WACNmE,EAAQ,2BAAQA,GAAR,IAAkBnE,SAAUlC,EAAWd,MAE/CgF,EAAM7B,MACNgE,EAAQ,2BAAQA,GAAR,IAAkBhE,IAAKqC,EAAcxF,MAE7CgF,EAAM3B,MACN8D,EAAQ,2BAAQA,GAAR,IAAkB9D,IAAKqC,EAAc1F,MAE7CgF,EAAMY,UACNuB,EAAQ,2BAAQA,GAAR,IAAkBvB,QAASD,EAAe3F,MAEtDgF,EAAMkC,OAAOC,IA0CDG,GAAItC,EAAMsC,GACVC,aAAcvC,EAAMuC,aACpB5H,UAAW,YAAcqF,EAAMI,UAAY,SAAW,IACtDiC,KAAMrC,EAAMqC,QAGnBrC,EAAMI,WAAa,uBAAGzF,UAAU,iBAAiBqF,EAAMI,cFqjDrDykD,I,OAxrDU,SAAC7kD,GAExB,IAAMk6B,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAXmC,GAYjBwf,EAAWxf,IAAI,kBACjCwf,EAAWxf,IAAI,iBAEiBza,IAAM4G,UAAS,IAfZ,mBAehCi+C,EAfgC,KAepBC,EAfoB,OAgBX9kD,IAAM4G,SAAS,IAhBJ,mBAgBhC49B,EAhBgC,KAgBxBC,EAhBwB,OAkBXzkC,IAAM4G,SAAS,CACzCmkC,UAAW,GACX7qB,SAAU,GACVlJ,MAAO,GACPkE,OAAQ,GACR3c,KAAM,KAvB+B,mBAkBhCi8C,EAlBgC,KAkBxBuK,EAlBwB,OAyBX/kD,IAAM4G,SAAS,IAzBJ,mBAyBhCyb,EAzBgC,KAyBxB2iC,EAzBwB,OA0BThlD,IAAM4G,SAAS,IA1BN,mBA0BhCkgB,EA1BgC,KA0BvB1C,EA1BuB,OA2BGpkB,IAAM4G,UAAkB,GA3B3B,mBA2BhC+1B,EA3BgC,KA2BjBC,EA3BiB,OA6BrC58B,IAAM4G,UAAkB,GA7Ba,mBA4BhCq+C,EA5BgC,KA4BbC,EA5Ba,OA8BGllD,IAAM4G,UAAkB,GA9B3B,mBA8BhCk2B,EA9BgC,KA8BjBC,EA9BiB,OA+BH/8B,IAAM4G,UAAkB,GA/BrB,mBA+BhCkX,EA/BgC,KA+BpBkf,EA/BoB,OAuCrCh9B,IAAM4G,UAAkB,GAvCa,mBAsChCu2B,EAtCgC,KAsCdC,EAtCc,OAwCOp9B,IAAM4G,UAAkB,GAxC/B,mBAwChCq2B,EAxCgC,KAwCfC,EAxCe,OA0CHl9B,IAAM4G,UAAkB,GA1CrB,oBA0ChCgX,GA1CgC,MA0CpByf,GA1CoB,SA2CLr9B,IAAM4G,UAAkB,GA3CnB,qBA2ChCuC,GA3CgC,MA2CrBge,GA3CqB,SA6CrCnnB,IAAM4G,UAAkB,GA7Ca,qBA4ChCu+C,GA5CgC,MA4CZC,GA5CY,SA+CrCplD,IAAM4G,UAAkB,GA/Ca,qBA8ChCy+C,GA9CgC,MA8CTC,GA9CS,SAgDKtlD,IAAM4G,SAAS,IAhDpB,qBAgDhC2+C,GAhDgC,MAgDhBC,GAhDgB,SAiDaxlD,IAAM4G,SAAc,IAjDjC,qBAiDhC6+C,GAjDgC,MAiDZC,GAjDY,SAkDO1lD,IAAM4G,SAAc,MAlD3B,qBAkDhC++C,GAlDgC,MAkDfC,GAlDe,SAmDD5lD,IAAM4G,SAAc,IAnDnB,qBAmDhCi/C,GAnDgC,MAmDnBC,GAnDmB,SAoDO9lD,IAAM4G,SAAS,IApDtB,qBAoDhCm/C,GApDgC,MAoDfC,GApDe,SAuDrChmD,IAAM4G,UAAc,GAvDiB,qBAsDhCq/C,GAtDgC,MAsDXC,GAtDW,SAwDClmD,IAAM4G,UAAkB,GAxDzB,qBAwDhCu/C,GAxDgC,MAwDlBtpB,GAxDkB,SAyDO78B,IAAM4G,UAAkB,GAzD/B,qBAyDhCw/C,GAzDgC,MAyDfC,GAzDe,SA0DOrmD,IAAM4G,UAAkB,GA1D/B,qBA0DhC0/C,GA1DgC,MA0DfC,GA1De,SA2DXvmD,IAAM4G,SAG/B,CACD4/C,gBAAYxoD,EACZyoD,iBAAazoD,IAhEwB,qBA2DhC0oD,GA3DgC,MA2DxBC,GA3DwB,SAmErC3mD,IAAM4G,SAAc,IAnEiB,qBAkEhCggD,GAlEgC,MAkEVC,GAlEU,SAoEK7mD,IAAM4G,SAAc,IApEzB,qCAqEH5G,IAAM4G,UAAkB,IArErB,qBAqEhCkgD,GArEgC,MAqEpBC,GArEoB,SAyEnC/mD,IAAM4G,UAAkB,GAzEW,qBAuErCogD,GAvEqC,MAwErCC,GAxEqC,SA0EKjnD,IAAM4G,UAAkB,GA1E7B,qBA0EhCsgD,GA1EgC,MA0EhBC,GA1EgB,SA4ErCnnD,IAAM4G,UAAkB,GA5Ea,qBA2EhCwgD,GA3EgC,MA2EdC,GA3Ec,SA6EKrnD,IAAM4G,UAAkB,GA7E7B,qBA6EhC0gD,GA7EgC,MA6EhBC,GA7EgB,SA8ESvnD,IAAM4G,UAAS,GA9ExB,qBA8EhC4gD,GA9EgC,MA8EdC,GA9Ec,SA+EeznD,IAAM4G,UAAS,GA/E9B,qBA+EhC8gD,GA/EgC,MA+EXC,GA/EW,SAiFX3nD,IAAM4G,SAE/B,CACDmkC,eAAW/sC,EACXkiB,cAAUliB,EACVgZ,WAAOhZ,EACPkd,YAAQld,EACRO,UAAMP,EACNunD,oBAAgBvnD,IAzFqB,qBAiFhC8lB,GAjFgC,MAiFxBC,GAjFwB,SA4FuBnd,mBAAS,CACrEgQ,KAAK,EACLI,OAAO,IA9F8B,qBA4FhC4wC,GA5FgC,MA4FPC,GA5FO,SAgGC7nD,IAAM4G,SAAS,IAhGhB,qBAkGjCw2C,IAlGiC,YAkGvBxpC,KAAKC,MAAM8F,OAAOqO,eAAenO,QAAQ,YAAc,OA0BvE,SAAShO,GAAUyF,IACZA,GAAOA,EAAIR,MAAOsT,EAAW9S,EAAIR,OAGhCQ,EAAIS,MAAQT,EAAIS,KAAKxT,OACvBkmC,EAAUnzB,EAAIS,KAAKxT,MACnB6lB,EAAW,KAKjB,SAASvjB,GAASoF,EAA4BlL,GAoC5C,OAlCW,cAARkL,IAAwB7G,GAAYtB,KAAK/C,IACjC,aAARkL,IAAuB7G,GAAYtB,KAAK/C,IAChC,WAARkL,IAAqB9G,GAAWrB,KAAK/C,MAEtCA,EAAQy/C,EAAOv0C,IAGT,WAARA,EACI++C,EAAUjqD,GACVgqD,EAAU,2BAAKvK,GAAN,mBAAev0C,EAAMlL,KAEtB,WAARkL,IAE4B,KAA5BsT,GAAYgjB,KAAKrhB,QACjB3B,GAAYgjB,KAAKrhB,SAAWngB,GAC5BoiC,EAEAP,GAAiB,GAEjBA,GAAiB,IAGT,UAAR32B,IAE2B,KAA3BsT,GAAYgjB,KAAKvlB,OACjBuC,GAAYgjB,KAAKvlB,QAAUjc,GAC3BkiC,EAEAioB,GAAqB,GAErBA,GAAqB,IAGzBnhC,GAAU,2BAAKD,IAAN,mBAAe7d,EAAM,MACvBlL,EAqBT,SAAS+sD,GAAiB/sD,GACV,KAAVA,E1B7DNie,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJy9C,S0B0DyC,CAAEC,SAAUjtD,G1B1DhCitD,UAEvB5uC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAamD,oB0BqDNk5C,KAEpBlkC,GAAU,2BAAKD,IAAN,IAAcyhC,eAAgBjnC,GAASzJ,OAChD6wC,GAAsB,IACtBI,GAAe,IACfF,GAAmB,MACnBI,GAAmB,KAIvB,SAASiC,GAAsB32C,GAC7B,GAAIA,EAAIR,MAGNsT,EAAW9S,EAAIR,OACfqW,IAAa,OACR,CACL,GAAI7V,EAAIS,MAAQT,EAAIS,KAAKm2C,iBACvB,GAAIhgC,OAAOlf,KAAKsI,EAAIS,KAAKm2C,iBAAiBxpD,OAAS,EAAG,CACpD,IAAMypD,EAAa72C,EAAIS,KAAKm2C,gBAE5BxC,GACyB,KAAb,OAAVyC,QAAU,IAAVA,OAAA,EAAAA,EAAYC,SAAgBD,EAAWJ,SAAWI,EAAWC,SAE/DxC,GAAkB,OAACuC,QAAD,IAACA,OAAD,EAACA,EAAYzW,SAC/BoU,GAAc,OAACqC,QAAD,IAACA,OAAD,EAACA,EAAYnzB,QAC3BgxB,GAAmBmC,EAAWE,MAC9BtkC,GAAU,2BAAKD,IAAN,IAAcyhC,oBAAgBvnD,KACvCkoD,IAAuB,SAGzBniC,GAAU,2BACLD,IADI,IAEPyhC,eAAgB,kCAElBG,GAAsB,IACtBE,GAAmB,MACnBE,GAAe,IACfE,GAAmB,IAErB5hC,EAAW,IACX+C,IAAa,IAoCjB,SAASyoB,KACPzoB,IAAa,GAEbjI,IACE,SAAC5N,GACCvM,QAAQC,IAAI,MAAOsM,GAuBzB,SAA0BA,GAAW,IAAD,YAIZ,QAAjB,OAAHA,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS/T,KAAjB,OAAHsT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBu2C,QACQ,MAAxB,OAAHh3C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBu2C,QAEjB3B,IAAU,SAACD,GAAY,IAAD,IAEpB,OADAA,EAAOD,YAAP,OAAqBn1C,QAArB,IAAqBA,GAArB,UAAqBA,EAAKS,YAA1B,iBAAqB,EAAWA,YAAhC,aAAqB,EAAiBu2C,MAC/B5B,KAETv/B,IAAa,GACbyV,GAAiB,GACjBG,GAAiB,GACjB3Y,EAAW,OAEX,OAAI9S,QAAJ,IAAIA,OAAJ,EAAIA,EAAKR,OACPsT,EAAW9S,EAAIR,OAEfsT,EAAW,qCAEb+C,IAAa,GACb4V,GAAiB,IA9CfwrB,CAAiBj3C,KAEnBkpC,EAAOt/B,OACP,OAmDJ,SAASxN,GAAYmiC,EAA6BzsC,GAC5Cwa,IACFyf,IAAc,GAEZipB,IACFC,IAAmB,GAEF,IAAfnjD,EAAI1E,SACNyoB,IAAa,GACG,UAAZ0oB,EACFwW,IAAmB,GACE,WAAZxW,GACT7S,GAAc,GAEhBvd,IACE,SAACnO,GACiB,UAAZu+B,EA6BZ,SAAkCv+B,GAEhC,GADA+0C,IAAmB,IACd/0C,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,WACV,CAAC,IAAD,MACL/L,QAAQC,IAAIsM,EAAK,SAEfA,EAAIS,OAAJ,OACAT,QADA,IACAA,GADA,UACAA,EAAKS,YADL,aACA,EAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWy2C,UACS,IAAnB,OAAHl3C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWy2C,UAEXjvC,GAAYgjB,KAAKvlB,MAAQwjC,EAAOxjC,MAChCkmB,GAAmB,GACnBL,IAAgB,GAChB0qB,IAAkB,IAElBhB,IAAmB,GAYrBniC,EAAW,IAEb+C,IAAa,GA7DLshC,CAAyBn3C,GA+DnC,SAAmCA,GAGjC,GAFA6V,IAAa,GACb6V,GAAc,GACV1rB,EAAIR,MAENsT,EAAW9S,EAAIR,WACV,CAAC,IAAD,MACL,GACEQ,EAAIS,OAAJ,OACAT,QADA,IACAA,GADA,UACAA,EAAKS,YADL,aACA,EAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWy2C,UACS,IAAnB,OAAHl3C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWy2C,SACX,CACA,IAAM9+B,EAAS9V,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAGhD6P,GACAA,EAAO/H,YAC6B,aAApC+H,EAAO/H,WAAW9f,eAElBijD,GAAc,GAEhBvrC,GAAYgjB,KAAKrhB,OAASs/B,EAAOt/B,OACjCkiB,GAAoB,GACpBL,GAAiB,GACjBsqB,IAAoB,QAEpBhqB,IAAc,GAEhBjZ,EAAW,KA3FLskC,CAA0Bp3C,KAGnB,SAAXu+B,EAAA,OAAqB6W,SAArB,IAAqBA,QAArB,EAAqBA,GAAQF,WAA7B,OAA0CE,SAA1C,IAA0CA,QAA1C,EAA0CA,GAAQD,YAClDrjD,IA0LN,SAASulD,GAAer3C,GAClBA,GAAOA,EAAIM,OAObuV,IAAa,GACbi+B,IAAsB,GACtBp2C,KAeJ,SAAS5C,GAAoBkF,GAC3B,IACIs3C,EAEJ,GADAzhC,IAAa,IACR7V,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,MAEN,GADAhN,QAAQC,IAAI,YAAasM,EAAIS,MAEU,IAArCT,EAAIS,KAAKY,iBAAiBjU,QACY,IAAtC4S,EAAIS,KAAKc,kBAAkBnU,OAC3B,CACA,IAAIuU,EACF3B,EAAIS,KAAKkB,8BACPC,EACF5B,EAAIS,KAAKmB,+BAEX01C,EAAuB1gC,OAAOsyB,OAC5BvnC,GACAmrC,QAAO,SAACv4C,EAAWC,GAAZ,OAA0BD,EAAIC,IAAG,GAKZ,IAJNoiB,OAAOsyB,OAC7BtnC,GACAkrC,QAAO,SAACv4C,EAAWC,GAAZ,OAA0BD,EAAIC,IAAG,IAEkB,IAAzB8iD,GAEjC/B,GAAwBvoC,GAASzJ,WAKrCuP,EAAW9S,EAAIR,OAGnBqW,IAAa,GAMf,SAASnY,KACP,IAAM65C,EACJlvC,OAAOqO,eAAenO,QAAQ,elD7ZT,KkD8ZjBivC,EAAc,CAClBhpC,WlDhaoB,IkDiapBM,QAASo6B,EAAOxjC,MAChBgJ,UAAWw6B,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBhF,OAAQs/B,EAAOt/B,OACfoF,YAA4B,QAAfuoC,EAAuB,IAAM,MAE5ClvC,OAAOC,aAAa+M,QAClB,aACA6zB,EAAOzP,UAAUtsC,OAAS,IAAM+7C,EAAOt6B,SAASzhB,QAElD8a,GAAY6oC,UAAY,GAExBziC,GAAkBopC,GAAcD,GAChC/jD,QAAQC,IAAI,cAAe8jD,GA4C7B,SAASE,GAAkB13C,GACzB,GAAI01C,GAEF,GADAjiD,QAAQC,IAAI,iBAAkBgiD,KACzB11C,GAAOA,EAAIR,MACd/L,QAAQC,IAAI,kBAGZof,EAAW9S,EAAIR,OACf+2C,GAA2B,eAAD,OACrBv2C,QADqB,IACrBA,OADqB,EACrBA,EAAKqF,2BAEL,GAAIqwC,GAAoC,CAG7C,GAFAjiD,QAAQC,IAAI,kBACZof,EAAW,IACP9S,EAAIS,KAAM,CACZhN,QAAQC,IAAI,iBACZ,IAAI8jB,EAAclV,KAAKC,MAAMvC,EAAIS,MAEjC,GADAhN,QAAQC,IAAI,aAAc8jB,GAExBA,GACAA,EAAYmgC,UACZngC,EAAYmgC,SAASvqD,OAAS,IAE9BqG,QAAQC,IAAI,iBACZuU,GAAYgjB,KAAKylB,SAAWl5B,EAAYmgC,SAAS,GAAGC,QAChDpgC,EAAYmgC,SAAS,GAAGE,kBAC1B/rB,GAAoB,GACpB7jB,GAAYgjB,KAAKrhB,OAASs/B,EAAOt/B,QAEjCkiB,GAAoB,GAGlBtU,EAAYmgC,SAAS,GAAGG,iBAC1BlsB,GAAmB,GACnB3jB,GAAYgjB,KAAKvlB,MAAQwjC,EAAOxjC,OAEhCkmB,GAAmB,GAGkC,MAArDpU,EAAYmgC,SAAS,GAAG9tC,cAAcqsB,MAAM,EAAG,IACL,OAA1C1e,EAAYmgC,SAAS,GAAG9tC,eACxB,CACApW,QAAQC,IAAI,iBACZuU,GAAY0Q,OAASnB,EAAYmgC,SAAS,GAAGz+B,OAC7CjR,GAAY6oC,UAAY,kBAIxB,IAAMiH,EAASz1C,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAE5CgvC,EACJlvC,OAAOqO,eAAenO,QAAQ,elD7gBnB,KkD8gBbN,GAAY8oC,sBAAwB,KAEpC,IAAMiH,EAAgB,CACpBxpC,WAAYgJ,EAAYmgC,SAAS,GAAGM,WACpCpnC,cAAc,EACd5jB,KAAMi8C,EAAOj8C,KACbyY,MAAOwjC,EAAOxjC,MACdgJ,UAAWw6B,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBS,MAAO65B,EAAOt/B,OACdoF,YAA4B,QAAfuoC,EAAuB,IAAM,KAC1CxmC,OAAQA,EAGRxB,YAAawoC,EAAOxoC,aAAe,GACnCE,aAAcsoC,EAAOtoC,cAAgB,GACrCwB,WAAY8mC,EAAO1nC,YAAc,GACjCV,YAAaooC,EAAOpoC,aAAe,GACnCE,aAAckoC,EAAOloC,cAAgB,GACrCE,WAAYgoC,EAAOhoC,YAAc,GACjCE,WAAY8nC,EAAO9nC,YAAc,GACjCE,cAAe4nC,EAAO5nC,eAAiB,GACvCE,WAAY0nC,EAAO1nC,YAAc,GACjCc,cAAe4mC,EAAOtoC,cAAgB,GACtCc,SAAUwnC,EAAOxnC,UAAY,IAE/BtI,GAAY8oC,sBAAwBiH,EAGpC,IAAMv3C,EAAO,CACXqf,UACEzB,GAAgBC,aAAaC,oBAC1BE,iBACLmK,aACAC,aACAC,gBAEFlJ,GAA2Bnf,GAI3B4f,GAAiBC,UACfO,GAAgBvC,aAAaC,oBAC1BE,kBAILpW,OAAOC,aAAaugC,WAAW,2BAC/BhrB,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,kBACzCvI,EAAMsnB,QAAQO,KAAK/qB,IAGY,GAA/BisB,EAAYmgC,SAASvqD,SACvB0+B,GAAoB,GACpBF,GAAmB,IAGnB8pB,IACFC,IAAsC,IAxqB9CjnD,IAAM2H,WAAU,WAEZ9K,KAA0BqgD,MACzB3jC,GAAY0oC,sBAIbhjC,GAAWpT,IAFX9L,EAAMsnB,QAAQO,KAAK/qB,MAIpB,IAGHmD,IAAM2H,WAAU,WACd,IAAMoK,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaC,oBAAoBC,YAC5DoK,aACAC,aACAC,gBAGFlJ,GAA2Bnf,KAC1B,IAkeH/R,IAAM2H,WAAU,WACVs1B,GAAmBE,GAAkB4pB,IAAc,KACtD,CAAC9pB,EAAiBE,IAuBrBn9B,IAAM2H,WAAU,WACd,IAAMkhD,EACJlvC,OAAOqO,eAAenO,QAAQ,elDlbT,KkDmbjBivC,EAAc,CAClBhpC,WlDrboB,IkDsbpBM,QAASo6B,EAAOxjC,MAChBgJ,UAAWw6B,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBhF,OAAQs/B,EAAOt/B,OACfoF,YAA4B,QAAfuoC,EAAuB,IAAM,MAE5ClvC,OAAOC,aAAa+M,QAClB,aACA6zB,EAAOzP,UAAUtsC,OAAS,IAAM+7C,EAAOt6B,SAASzhB,QAElD8a,GAAY6oC,UAAY,GACxB5H,EAAOt/B,QACLs/B,EAAOxjC,OACP2I,GAAkBqpC,GAAmBF,KACtC,CAAC9B,KAEJhnD,IAAM2H,WAAU,YACVigD,GAAwB5wC,OAAS4wC,GAAwBhxC,OAC3D6wC,IAAoB,GAEhBG,GAAwBhxC,KAC1BgmB,GAAiB,GAEjBQ,GAAoB,IACXwqB,GAAwB5wC,QACjCkuC,GAAqB,GAErBhoB,GAAmB,OAGtB,CAAC0qB,KA0HJ,IAAM4B,GAAqB,SAACrvC,GAQG,IAAD,MAPhB,MAARA,QAAwBnc,GAARmc,EAClBwtC,IAAuB,IAElBxtC,GAAQA,EAAKrJ,OAChB62C,IAAuB,GACvBvjC,EAAWjK,EAAKrJ,QAEZqJ,IAAI,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAMpI,QAEV,OAAJoI,QAAI,IAAJA,OAAA,EAAAA,EAAMpI,OACqB,QAAvB,OAAJoI,QAAI,IAAJA,GAAA,UAAAA,EAAMpI,YAAN,eAAY03C,kBACezrD,KAAvB,OAAJmc,QAAI,IAAJA,GAAA,UAAAA,EAAMpI,YAAN,eAAY03C,cAFZ,OAGAtvC,QAHA,IAGAA,GAHA,UAGAA,EAAMpI,YAHN,aAGA,EAAY03C,YAEZ9B,IAAuB,GAKzBA,IAAuB,IAM/B3nD,IAAM2H,WAAU,W/BluBa,IAC7BuR,EACAwwC,E+BiuBMvsB,GAAoBF,GAAmBud,EAAOxjC,OAASwjC,EAAOt/B,SAChEF,GACE5O,GACA,MACAouC,EAAOxjC,MACPwjC,EAAOt/B,OAAOhU,Y/BvuBpBgS,E+ByuBoBswC,G/BxuBpBE,E+BwuBwC,CAClCvpC,QAASq6B,EAAOxjC,MAChB2yC,SAAUnP,EAAOt/B,OACjBuP,MAAO,I/BzuBbzR,GACE,CACEkB,IAAK,wBACL5P,KAAM,CACJ6V,QAAO,OAAEupC,QAAF,IAAEA,OAAF,EAAEA,EAA0BvpC,QACnCwpC,SAAQ,OAAED,QAAF,IAAEA,OAAF,EAAEA,EAA0BC,SACpCl/B,MAAK,OAAEi/B,QAAF,IAAEA,OAAF,EAAEA,EAA0Bj/B,OAEnCrR,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa+E,gBAE5BuI,M+B+tBC,CAACikB,EAAkBF,IACtB,IAAM2sB,GAAkB,WACtB,I1B7iB6B1wC,EAA4BD,E0B6iBrD8B,EAAS,CACXG,OAAQs/B,EAAOt/B,OAEflE,MAAOwjC,EAAOxjC,MAEd6yC,UAAW,GAEXC,SAAU,GAEV7/B,OAAQ1Q,GAAY0Q,OAEpB8/B,eAAgB3C,GAEhB4C,cAAe1C,GAEftnC,UAAWw6B,EAAOzP,UAElB7qB,SAAUs6B,EAAOt6B,UAGd3G,GAAYgjB,KAAKylB,W1BjkBO9oC,E0BkkBV,SAACD,GAChBlZ,EAAMsnB,QAAQO,KAAK/qB,K1BnkBkCoc,E0BokBpD8B,E1BnkBPhW,QAAQC,IAAI,QAASiU,GACrBD,GACE,CACEkB,IAAK,0BACL5P,KAAM2O,EACNG,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAa8E,kBAE5BwI,K0B4jBF,SAAS6vC,GAAaz3C,GAEpB,GADA61C,IAAkB,IACb71C,GAAOA,EAAIR,MAGd+2C,GAA2B,eACtBv2C,EAAIqF,sBAGTyN,EAAW9S,EAAIR,OAEfqW,IAAa,QAGb,GADA/C,EAAW,IACP9S,EAAIS,KAAM,CACZ,IAyGO,IAzGH+W,EAAclV,KAAKC,MAAMvC,EAAIS,MACjC,GACE+W,GACAA,EAAYmgC,UACZngC,EAAYmgC,SAASvqD,OAAS,EAS9B,GAPAqG,QAAQC,IAAI,iBACZuU,GAAY0Q,OAASnB,EAAYmgC,SAAS,GAAGz+B,OACzC1B,EAAYmgC,SAAS,GAAGC,QAC1B3vC,GAAYgjB,KAAKylB,SAAWl5B,EAAYmgC,SAAS,GAAGC,QAEpDU,KAEuD,MAArD9gC,EAAYmgC,SAAS,GAAG9tC,cAAcqsB,MAAM,EAAG,GAAY,CAC7DziC,QAAQC,IAAI,iBACZuU,GAAY0Q,OAASnB,EAAYmgC,SAAS,GAAGz+B,OAC7CjR,GAAY6oC,UAAY,kBAEpBt5B,EAAYmgC,SAAS,GAAGE,kBAC1B/rB,GAAoB,GAGlBtU,EAAYmgC,SAAS,GAAGG,iBAC1BlsB,GAAmB,GAKrB,IAAMmsB,EAASz1C,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAE5CgvC,EACJlvC,OAAOqO,eAAenO,QAAQ,elDhsBjB,KkDisBfN,GAAY8oC,sBAAwB,KAWpC,IAAMiH,EAAgB,CACpBxpC,WAAYgJ,EAAYmgC,SAAS,GAAGM,WACpCpnC,cAAc,EACd5jB,KAAMi8C,EAAOj8C,KACbyY,MAAOwjC,EAAOxjC,MACdgJ,UAAWw6B,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBS,MAAO65B,EAAOt/B,OACdoF,YAA4B,QAAfuoC,EAAuB,IAAM,KAC1CxmC,OAAQA,EAGRxB,YAAawoC,EAAOxoC,aAAe,GACnCE,aAAcsoC,EAAOtoC,cAAgB,GACrCwB,WAAY8mC,EAAO1nC,YAAc,GACjCV,YAAaooC,EAAOpoC,aAAe,GACnCE,aAAckoC,EAAOloC,cAAgB,GACrCE,WAAYgoC,EAAOhoC,YAAc,GACjCE,WAAY8nC,EAAO9nC,YAAc,GACjCE,cAAe4nC,EAAO5nC,eAAiB,GACvCE,WAAY0nC,EAAO1nC,YAAc,GACjCc,cAAe4mC,EAAOtoC,cAAgB,GACtCc,SAAUwnC,EAAOxnC,UAAY,IAE/BtI,GAAY8oC,sBAAwBiH,EAGpC,IAAMv3C,EAAO,CACXqf,UACEzB,GAAgBC,aAAaC,oBAC1BE,iBACLmK,aACAC,aACAC,gBAEFlJ,GAA2Bnf,GAI3B4f,GAAiBC,UACfO,GAAgBvC,aAAaC,oBAAoBE,kBAInDpW,OAAOC,aAAaugC,WAAW,2BAC/BhrB,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,kBACzCvI,EAAMsnB,QAAQO,KAAK/qB,SACTmqD,IACV/3C,UAcFlK,QAAQC,IAAI,kBAAmBgiD,IAC1BA,IAEH,OAAC11C,QAAD,IAACA,GAAD,UAACA,EAAKqF,2BAAN,aAAC,EAA0BC,OAC3B,OAACtF,QAAD,IAACA,GAAD,UAACA,EAAKqF,2BAAN,aAAC,EAA0BK,SAE3BjS,QAAQC,IAAI,kBACZmiD,IAAkB,IANqBl4C,KAW/ClK,QAAQC,IAAI,iBAAkBm4B,EAAkB,KAAMF,GACjDE,GAAqBF,GAExBl4B,QAAQC,IAAI,kBACZmiD,IAAkB,IAHuBl4C,KAiC7C,SAASA,KACP,IAAMo6C,EAASz1C,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAE5CgvC,EACJlvC,OAAOqO,eAAenO,QAAQ,elD7zBT,KkD8zBvBN,GAAY8oC,sBAAwB,KAEpC,IAAI1gC,EAAa0nC,EAAO1nC,YAAc,GAClCV,EAAcooC,EAAOpoC,aAAe,GACpCF,EAAesoC,EAAOtoC,cAAgB,GAEtCwB,EAAa,GACbE,EAAgB,GAGhB4iC,IAAyBE,KAC3B5jC,EAAakkC,GACb5kC,EAAc8kC,GACdhlC,EAAe4kC,GAAkBA,GAAgBz+C,WAAa,IACjD,EACbqb,EAAasjC,GACbpjC,EAAgBkjC,GAAkBA,GAAgBz+C,WAAa,GAC/DyS,OAAOqO,eAAerB,QACpB,cACA/S,KAAKkG,UAAL,2BACKuvC,GADL,IAEE1nC,aACAV,cACAF,oBAcN,IAAI9R,EAAa,CACf6Q,WAAyB,IACzBqC,cAAc,EACd5jB,KAAMi8C,EAAOj8C,KACbyY,MAAOwjC,EAAOxjC,MACdgJ,UAAWw6B,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBS,MAAO65B,EAAOt/B,OACdoF,YAA4B,QAAfuoC,EAAuB,IAAM,KAC1CxmC,OAAQA,EAGRE,WAAYA,GAAc8mC,EAAO1nC,WACjCd,YAAawoC,EAAOxoC,aAAe,GACnCE,eACAE,cACAE,aAAckoC,EAAOloC,cAAgB,GACrCE,WAAYgoC,EAAOhoC,YAAc,GACjCE,WAAY8nC,EAAO9nC,YAAc,GACjCE,cAAe4nC,EAAO5nC,eAAiB,GACvCE,aACAc,cAAeA,GAAiB4mC,EAAOtoC,aACvCc,SAAUwnC,EAAOxnC,UAAY,IAI1BqlC,IAKHniD,QAAQC,IAAI,sBAviCZilD,GAwiCAC,GAAY,CAAE1/B,OAAQjR,GAAY0Q,QAAUhb,IAL5CwR,IAAkB,SAACnP,GAAD,OAAc44C,GAAY54C,EAAKrC,KAAaA,GASlE,SAASi7C,GAAY54C,EAAUsO,GAC7B,IAAIuqC,EAQJ,IANI,OAAC74C,QAAD,IAACA,OAAD,EAACA,EAAKM,UAERu4C,EAAW74C,EAAIR,OAGjBqW,IAAa,GACR7V,EAIE,GAAI64C,EACT/lC,EAAW+lC,QAEX,GAAK74C,GAAOA,EAAIS,MAAST,EAAIkZ,OAAQ,CACnCzlB,QAAQC,IAAI,SAAUkiD,IAEtB,IASIp+B,EATE/W,EAAO,CACXqf,UACEzB,GAAgBC,aAAaC,oBAAoBE,iBACnDmK,aACAC,aACAC,gBAEFlJ,GAA2Bnf,GAGtBm1C,KACHniD,QAAQC,IAAI,UACZ8jB,EAAclV,KAAKC,MAAMvC,EAAIS,OAE1B+W,GAAeA,EAAY0B,QAAWlZ,EAAIkZ,QAC7CzlB,QAAQC,IAAI,UACPkiD,KACHniD,QAAQC,IAAI,UACZuU,GAAY0Q,OAASnB,EAAY0B,OACjCjR,GAAY8oC,sBAAwBziC,GAEtCwE,EAAW,IACXzK,OAAOC,aAAaugC,WAAW,2BAC/BhrB,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,kBAkBzCvI,EAAMsnB,QAAQO,KAAK/qB,KAGnBunB,EAAW9S,EAAIR,YAIjBsT,EAAW9S,EAAIR,YAvDjBsT,EAAW9S,EAAIR,OA1GnB9Q,IAAM2H,WAAU,WAEZu/C,IACA1M,EAAOt/B,QACPs/B,EAAOj8C,MACPi8C,EAAOxjC,OACPwjC,EAAOzP,WACPyP,EAAOt6B,WACN4G,IAED/hB,QAAQC,IAAI,kBACZiK,QAED,CAACi4C,KAwJJvtC,OAAOywC,OAAS,WACdxwC,aAAa+M,QAAQ,aAAchN,OAAO0wC,KAAK1wC,OAAOY,SAASC,QAqBjE,SAAS8vC,KACPnjC,IAAa,GAMHqzB,EAAOxjC,MAGjBkI,IACE,SAAC5N,IAQL,SAAwBA,GACO,IAAD,YAAxBA,EAAIS,MAAQT,EAAIM,OAEI,QAAjB,OAAHN,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS/T,KAAjB,OAAHsT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBu2C,QACQ,MAAxB,OAAHh3C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBu2C,QAEjB3B,IAAU,SAACD,GAAY,IAAD,IAEpB,OADAA,EAAOF,WAAP,OAAoBl1C,QAApB,IAAoBA,GAApB,UAAoBA,EAAKS,YAAzB,iBAAoB,EAAWA,YAA/B,aAAoB,EAAiBu2C,MAC9B5B,KAET7pB,IAAgB,GAChBqoB,GAAqB,GACrB9gC,EAAW,KAEXA,EAAW,qCAIbA,EAAW9S,EAAIR,OAEjBqW,IAAa,GA7BTojC,CAAej5C,KAEjBkpC,EAAOxjC,MACP,SA2EJ,OAFAjS,QAAQC,IAAI,WAAYm4B,EAAkB,KAAMF,GAG9C,yBAAKviC,UAAW,oBAAsByO,GAAY,QAAU,KAC1D,8BACE,8BAAUzO,UAAU,UAAU6H,SAAU4G,IACtC,yBAAKzO,UAAU,eACb,2BAAOA,UAAU,aAAa+H,QA7GpB,WAClB1C,EAAMsnB,QAAQO,KAAK9qB,GAAUC,cA4GrB,mCAKF,yBAAKrC,UAAU,OAEb,yBAAKA,UAAU,kBACb,2BAAOA,UAAU,WAAjB,cACA,kBAAC,GAAD,CACEqD,UAAQ,EAER8C,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,YAAa9F,IAC3CkH,OAAQ,SAAC6O,GAAD,OACNiT,GAAU,2BACLD,IADI,IAGPinB,UAAWj6B,EAAM/S,SAAWugB,GAASzJ,IAAkB,OAG3D9S,YAAY,cACZ5B,UAAW2jB,GAAOinB,UAClB3oC,KAAK,UAIT,yBAAK1H,UAAU,2BACb,2BAAOA,UAAU,WAAjB,aACA,kBAAC,GAAD,CACEqD,UAAQ,EAER8C,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,WAAY9F,IAC1CkH,OAAQ,SAAC6O,GAAD,OACNiT,GAAU,2BACLD,IADI,IAGP5D,SAAUpP,EAAM/S,SAAWugB,GAASzJ,IAAkB,OAG1D9S,YAAY,WACZ5B,UAAW2jB,GAAO5D,SAClB9d,KAAK,WAMX,yBAAK1H,UAAU,cACb,uCACA,kBAAC,GAAD,CACEY,KAAK,OACLuI,eAAgB,SAAC9I,GAAD,OACd8F,GAAS,OAAQ9F,EAAK,WAGxBwI,aAAc,EACdgB,QAASigC,EACTviC,OAnpCZ,SAAwBlH,GAEpBgpB,GADmB,kBAAVhpB,EACC,2BAAK+oB,IAAN,IAAcvlB,KAAM,KAGnB,2BAAKulB,IAAN,IAAcvlB,KAAM+f,GAASzJ,QA+oC9BxR,UAAU,WACVtB,YAAY,aACZwD,UAAU,mCACVpF,UAAW2jB,GAAOvlB,KAClBgI,aAAa,EACbtC,eAAe,EACf3B,aAAc,SAKlB,yBAAK5H,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,YACA,kBAAC,GAAD,CACEiG,QAASpB,GACTsB,SAAU,SAAC9F,GACTgK,QAAQC,IACN,kCACAnF,GAAoB/B,KAAK/C,IAEvB8E,GAAoB/B,KAAK/C,GAC3BgpB,GAAU,2BACLD,IADI,IAGP9M,MAAOsH,GAASzJ,QAGlBkP,GAAU,2BACLD,IADI,IAGP9M,MAAO,MAETnW,GAAS,QAAS9F,KAGtBkH,OAAQ,SAAC6O,EAAYhQ,GAAO,IAAD,aAEF9C,KAApB,OAAD8C,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAWjG,QACU,QAApB,OAAD+F,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAWjG,QACU,MAApB,OAAD+F,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAWjG,QACX8E,GAAoB/B,KAApB,OAAyBgD,QAAzB,IAAyBA,GAAzB,UAAyBA,EAAGE,cAA5B,aAAyB,EAAWjG,OAEpCgpB,GAAU,2BACLD,IADI,IAGP9M,MAAOsH,GAASzJ,OAGlBkP,GAAU,2BACLD,IADI,IAGP9M,MAAOlG,EAAMnQ,QAAU,GAAK2d,GAASzJ,QAG3C9S,YAAY,wBACZ5B,UAAW2jB,GAAO9M,MAClB5U,KAAK,QACLM,OACE6W,GAAYgjB,KAAKvlB,QAAUwjC,EAAOxjC,OACjB,KAAjBwjC,EAAOxjC,OACPimB,EACE,uBAAGviC,UAAU,mBAEb,qCAGJiI,WAAW,yIAGdsiD,IAAsBhoB,GACrB,yBAAKviC,UAAU,WACb,kBAAC,GAAD,CACE2O,QAAQ,SACR9G,SACE2lB,OAAOsyB,OAAO,CACZ12B,GAAOinB,UACPjnB,GAAO5D,SACP4D,GAAOvlB,KACPulB,GAAO9M,QAENyjC,MAAK,SAAC3pC,GAAD,OAAWA,MACnBoX,OAAOsyB,OAAO,CACZA,EAAOzP,UACPyP,EAAOt6B,SACPs6B,EAAOj8C,KACPi8C,EAAOxjC,QAENyjC,MAAK,SAAC1/C,GAAD,OAAYA,KAEtB0H,QAAS,WACP0sB,GAAW,CACTG,OAAQ,YACRhnB,MAAO,eAGTgiD,UAMTnE,KAAiBlB,EAChB,yBAAKvqD,UAAU,cACb,kBAAC,GAAD,CACE4N,MAAM,kBACNuW,SAAU,GACVtB,MAAM,OACN1c,SAAU,SAACuC,GAAD,OAASsK,GAAY,QAAStK,IACxC4b,cAAesrC,GACfxsC,WAAYsoC,GACZxoC,WAAY0oC,MAIhB,GAOF,oCACE,yBAAK5rD,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,cACA,kBAAC,GAAD,CACEiG,QAAShB,GACTkB,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,SAAU9F,IACxCkH,OAAQ,SAAC6O,GAAD,OACNiT,GAAU,2BACLD,IADI,IAGP5I,OAAQpK,EAAMnQ,QAAU,GAAK2d,GAASzJ,QAG1C9S,YAAY,iBACZ5B,UAAW2jB,GAAO5I,OAClB9Y,KAAK,MACLM,OACE6W,GAAYgjB,KAAKrhB,SAAWs/B,EAAOt/B,QACjB,KAAlBs/B,EAAOt/B,QACPiiB,EACE,uBAAGziC,UAAU,mBAEb,qCAGJ6G,UAAW,MAGdo7B,IAAkBQ,GACjB,yBAAKziC,UAAU,WACb,kBAAC,GAAD,CACE2O,QAAQ,SACR9G,SACE2lB,OAAOsyB,OAAO,CACZ12B,GAAOinB,UACPjnB,GAAO5D,SACP4D,GAAOvlB,KAEPulB,GAAO5I,SACNu/B,MAAK,SAAC3pC,GAAD,OAAWA,MACnBoX,OAAOsyB,OAAO,CACZA,EAAOzP,UACPyP,EAAOt6B,SACPs6B,EAAOj8C,KAEPi8C,EAAOt/B,SACNu/B,MAAK,SAAC1/C,GAAD,OAAYA,KAEtB0H,QAAS,WACP0sB,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,eAEzCsnC,UAMT9S,IAAkBH,GACjB,yBAAKjiC,UAAU,cACb,kBAAC,GAAD,CACE4N,MAAM,mBACNuW,SAAU,GACVtB,MAAM,OACN1c,SAAU,SAACuC,GAAD,OAASsK,GAAY,SAAUtK,IACzC4b,cAAe,WACbmQ,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,eACzCsnC,MAEF9xB,WAAYA,EACZF,WAAYA,OAMnBuf,GAAoB0nB,GACnB,oCACE,yBAAKnqD,UAAU,OACb,2BAAOA,UAAU,UAAjB,0BAGF,yBAAKA,UAAU,kBACb,2BAAOA,UAAU,gBACjB,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACEmG,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,SAAU9F,IACxCuN,MAAM,wBACNvG,YAAY,cACZK,KAAK,OACLH,OAAQ,kBAMjB2kD,IACC,yBAAKlsD,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQksD,MAMb9/B,GACC,yBAAKpsB,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQosB,KAQbqW,GACC,qCACIigB,IACA,oCACGjgB,GACCF,IACCyqB,IACC,yBAAKhtD,UAAU,OACb,kBAAC,GAAD,CACEY,KAAK,QACLiN,QAAS88C,GACT9iD,SAAU66C,GACVv8C,SAAU,SAACC,GAAD,OA7ZlC,WACE,IAAM0pD,GAA2BnF,GACjCG,GAAkB,IAClBE,GAAsB,IACtB3hC,GAAU,2BAAKD,IAAN,IAAcyhC,oBAAgBvnD,KACvC4nD,GAAmB,MACnBN,GAAyBkF,GACzBtE,GAAuBsE,GACvB1E,GAAe,IAqZwB2E,KAEjB,0BAAM/vD,UAAU,aAAhB,gGASX2qD,IACC,oCACE,yBAAK3qD,UAAU,OACb,2BAAOA,UAAU,WAAjB,yBACA,kBAAC,GAAD,CACEqD,UAAQ,EAERsD,UAAQ,EACRR,SAAU,SAAC9F,GACTyqD,GAAkBzqD,GAz5CxC,SAAkBA,GAAgC,IAAjB2vD,EAAgB,uDAAN,IACrCvuC,IACFwuC,aAAaxuC,IAEfA,GAAQvY,YAAW,WACjBkkD,GAAiB/sD,KAChB2vD,GAo5CiBE,CAAS7vD,IAEXkH,OAAQ,aACRF,YAAY,aACZ5B,UAAW2jB,GAAOyhC,eAClBnjD,KAAK,UAGT,yBAAK1H,UAAU,OACb,2BAAOA,UAAU,WAAW+qD,KAE9B,yBAAK/qD,UAAU,OACb,uBAAGA,UAAU,WAAb,wEAEoB,gCAM1B,yBAAKA,UAAU,OACb,uBAAGA,UAAU,gBAAb,iEAKAwtB,OAAOsyB,OAAO12B,IAAQ22B,MAAK,SAAC3pC,GAAD,OAAWA,MACtCoX,OAAOsyB,OAAOA,GAAQC,MAAK,SAAC1/C,GAAD,OAAYA,MACvCwe,GAAYgjB,KAAKrhB,SAAWs/B,EAAOt/B,QACP,KAA5B3B,GAAYgjB,KAAKrhB,QACjB3B,GAAYgjB,KAAKvlB,QAAUwjC,EAAOxjC,OACP,KAA3BuC,GAAYgjB,KAAKvlB,OACjBivC,KACGa,GAsBH,GArBA,yBAAKpsD,UAAU,kBACb,kBAAC,GAAD,CACE+H,QAznClB,SAAsB3B,GAEpB,GADA2mD,IAAoB,GAChBv/B,OAAOsyB,OAAOA,GAAQqQ,OAAM,SAAC9vD,GAAD,OAAWA,KAWzC,GAVAosB,IAAa,GAEb5N,GAAYgjB,KAAO,CACjBwO,UAAWyP,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBlJ,MAAOwjC,EAAOxjC,MACdkE,OAAQs/B,EAAOt/B,OACf3c,KAAMi8C,EAAOj8C,MAGX4mD,GACFn2C,SACK,CACL,IAAM87C,EAAS,CACb1oD,KAAM,QACNwgB,WAAY,CACV,CACEmoC,UAAWvQ,EAAOt/B,OAClBsF,OAAQ,WACRwqC,WAAYC,UAAUC,WAK5BxoC,GAAgBimC,GAAgBmC,KA+lCpBzhD,QAAQ,UACR9G,SACE2lB,OAAOsyB,OAAO12B,IAAQ22B,MAAK,SAAC3pC,GAAD,OAAWA,MACtCoX,OAAOsyB,OAAOA,GAAQC,MAAK,SAAC1/C,GAAD,OAAYA,MACvCwe,GAAYgjB,KAAKrhB,SAAWs/B,EAAOt/B,QACP,KAA5B3B,GAAYgjB,KAAKrhB,QACjB3B,GAAYgjB,KAAKvlB,QAAUwjC,EAAOxjC,OACP,KAA3BuC,GAAYgjB,KAAKvlB,QAChBmmB,IACAF,GACDgpB,IACAuB,GAEFr+C,UAAWA,GACX/G,KAAK,aAsCf,yBAAK1H,UAAU,aACb,2BAAOA,UAAU,uBAAjB,2BAC2B,KAE3B,2BAAOA,UAAU,YAAY+H,QAxhBvC,WACE0sB,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,UACzCqR,OAAOY,SAASC,KAAOnd,KAshBf,e,oBGn8CG8tD,I,2DAxSb,WAAYprD,GAAa,IAAD,8BACtB,cAAMA,IAIRqrD,KAAO,WACL,IAAInjC,EAAci2B,GAAW,EAAKn+C,MAAMwa,SAAS8N,QAE/CJ,GACAA,EAAYtG,YAC6B,eAAzCsG,EAAYtG,WAAW9f,gBAEvB0X,GAAY2oC,YAAa,GAE3B,EAAKmJ,aAAapjC,GAGa,qBAAtBA,EAAYqjC,OACnBrjC,EAAYqjC,OACU,KAAtBrjC,EAAYqjC,OAG2B,qBAA9BrjC,EAAYhN,eACnBgN,EAAYhN,eACZgN,EAAYhN,cAShB,EAAKswC,eAAetjC,IAjCE,EAqCxBojC,aAAe,SAACpjC,GACd,GAAIC,OAAOlf,KAAKif,GAAavpB,OAAS,EAAG,CAAC,IAAD,EACnC81B,EAAc,CAChBg3B,kBAAmB,IACnB7pC,WAAYsG,EAAYtG,WACxBJ,WAAY0G,EAAY1G,WACxBM,SAAUoG,EAAYpG,SACtBV,aAAc8G,EAAY9G,aAC1BJ,aAAckH,EAAYlH,aAC1BF,YAAaoH,EAAYpH,YACzBY,cAAewG,EAAYxG,cAC3BJ,WAAY4G,EAAY5G,WACxBJ,YAAagH,EAAYhH,YACzBwqC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXC,cAAe,GACfC,gBAAiB,GACjBlN,WAAY,GACZmN,SAAU,GACVC,UAAW,KAEP3O,EAAqC,cAA3B,YAAKr9C,MAAMisD,aAAX,eAAkBC,MAClCtyC,OAAOqO,eAAerB,QAAQ,cAAe/S,KAAKkG,UAAU0a,IAC5D7a,OAAOqO,eAAerB,QAAQ,UAAW/S,KAAKkG,UAAUsjC,QACnD,CACL,IAAM1zB,EAAS9V,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAElD,IAAK6P,GAAyC,IAA/BxB,OAAOlf,KAAK0gB,GAAQhrB,OAAc,CAC/C,IAAI81B,EAAc,CAChBg3B,kBAAmB,IACnB7pC,WAAYsG,EAAYtG,WACxBJ,WAAY0G,EAAY1G,WACxBM,SAAUoG,EAAYpG,SACtBV,aAAc8G,EAAY9G,aAC1BJ,aAAckH,EAAYlH,aAC1BF,YAAaoH,EAAYpH,YACzBY,cAAewG,EAAYxG,cAC3BJ,WAAY4G,EAAY5G,WACxBJ,YAAagH,EAAYhH,YACzBwqC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXC,cAAe,GACfC,gBAAiB,GACjBlN,WAAY,GACZmN,SAAU,GACVC,UAAW,KAEbpyC,OAAOqO,eAAerB,QACpB,cACA/S,KAAKkG,UAAU0a,OAzFC,EA8QxB+2B,eAAiB,SAACtjC,GAChB,IAAI4gC,EAEFA,EADsC,IAApC3gC,OAAOlf,KAAKif,GAAavpB,QACU,QAAxBupB,EAAYikC,QAAoB,MAC7B,OAClBvyC,OAAOqO,eAAerB,QAAQ,aAAckiC,IAjR5C,EAAKuC,OAFiB,E,sDAuRtB,OACE,yBAAK1wD,UAAU,gBACb,yBAAKA,UAAU,WACb,qIAKF,yBAAKA,UAAU,UACb,yBAAKA,UAAU,YAAYC,IAAKwxD,KAAWtxD,IAAI,YAEjD,kBAAC,GAAqBoK,KAAKlF,Y,GAnSR2G,cCHd0lD,I,OAAqB,SAChClzC,EACA+B,GAEAjC,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ6Q,cAAeF,EACfU,cAAe,GAEjBvC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaK,oBAE5BiN,KAcSmzC,GAAuB,SAClCnzC,EACA+B,GAEAjC,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ6Q,cAAeF,EACfU,cAAe,GAEjBvC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaK,oBAE5BiN,IA2FSozC,GAAsB,SACjCpzC,EACA+B,EACAsxC,GAEAvzC,GACE,CACEkB,IAAK,sBACL5P,KAAM,CACJ6Q,cAAeF,EACfsxC,kBAAmBA,GAErBnzC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa4D,cAE5B0J,I,oBC3JSszC,GAA4B,SACvCtzC,EACA0a,EACA7R,GAEA/I,GACE,CACEkB,IAAK,oCACL5P,KAAM,CACJqe,SAAUiL,EACV9R,SAAUC,GAEZ3I,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAagB,2BAE5BsM,IC8BWuzC,I,OAlC+B,SAAC1sD,GAC3C,OACI,yBAAKrF,UAAW,cAAgBqF,EAAM2sD,SAAW,UAAY,KAAO3sD,EAAMvE,WAAa,QAAU,KAAQuE,EAAM4sD,YAAgC,GAAlB,iBAAuBlqD,QAAS1C,EAAM6sD,gBAC/J,yBAAKlyD,UAAU,eACX,yBAAKA,UAAU,mBAEX,yBAAKC,IAAKoF,EAAM2sD,WAAa3sD,EAAMvE,WAAWuE,EAAM/D,QAAQ+D,EAAMnF,KAAMC,IAAK,MAEjF,yBAAKH,UAAU,eACX,yBAAKA,UAAU,cACX,2BAAOA,UAAU,iBAAiBqF,EAAMzE,OAE5C,yBAAKZ,UAAU,cAEPqF,EAAMoJ,UACF,kBAAC,GAAD,CAAQN,KAAM,KAEd9I,EAAMvE,WACF,oCACI,0BAAMd,UAAU,mBAChB,2BAAOA,UAAU,YAAjB,cAGJ,2BAAOA,UAAW,iBAAmBqF,EAAM2sD,SAAW,QAAU,KAC3D3sD,EAAM2sD,SAAW,cAAgB3sD,EAAMxE,Y,OCzCzE,SAASsxD,GAAc5mD,GAAqC,IAAxB6mD,EAAuB,uDAAP,MAC1D,OAAO,SAAmBjnD,EAAQC,GACjC,IAAKD,EAAEyrC,eAAerrC,KAASH,EAAEwrC,eAAerrC,GAE/C,OAAO,EAGR,IAAM8mD,EAAO/tD,MAAMguD,WAAWnnD,EAAEI,KAASJ,EAAEI,GAAKpE,cAAgBmrD,WAAWnnD,EAAEI,IACvEgnD,EAAOjuD,MAAMguD,WAAWnnD,EAAEI,KAASH,EAAEG,GAAKpE,cAAgBmrD,WAAWlnD,EAAEG,IAEzEinD,EAAa,EAMjB,OALIH,EAAOE,EACVC,EAAa,EACHH,EAAOE,IACjBC,GAAc,GAEE,SAAVJ,GAAiC,EAAdI,EAAkBA,GCGvC,SAASC,GAAwBC,GAClC7zC,GAAYm7B,YAAYyL,yBAC1BvG,GAAqBz+C,GAGrBoe,GAAYm7B,YAAYyK,2BACxB5lC,GAAYm7B,YAAYwK,4BAExBtF,GAAqBz+C,IACnBiyD,GAA4BxT,GAAqBz+C,IACjDoe,GAAYm7B,YAAY4K,wBAC1B1F,GAAqBz+C,IAErBoe,GAAYm7B,YAAY6K,6BACxBhmC,GAAYm7B,YAAYgL,4BAExB9F,GAAqBz+C,IACnBoe,GAAYm7B,YAAY+K,4BACtBlmC,GAAYqkC,gBAAgBl/C,SAAW5C,GAAgB4C,QACzD6a,GAAYqkC,gBAAgBh2B,KAAKvsB,IACnCu+C,GAAqBz+C,KAEnBoe,GAAYm7B,YAAYkL,kBAC1BhG,GAAqBz+C,IAGzB,IChBIkyD,GDqGWC,GArFqC,SAACvtD,GACnD,IAAMsnB,EAAUC,cACV/M,EAAW6M,cAF4C,EAG/BpnB,IAAM4G,WAHyB,mBAGtD2mD,EAHsD,KAG7CC,EAH6C,OAIfxtD,IAAM4G,SAElD2S,GAAYqkC,iBAN+C,mBAItDA,EAJsD,KAIrC6P,EAJqC,KAqD7D,OA7CAztD,IAAM2H,WAAU,WACd8lD,EAAmBl0C,GAAYqkC,iBAC3BzzC,KAAgBM,YAClB+iD,EAAWjzC,EAASmzC,UACpBn0C,GAAYmpC,oBAAsBnoC,EAASmzC,UAE7C,IAAMhnC,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D,IAAIN,GAAYwQ,eAAiBrD,EAAwBoD,iBAErDvQ,GAAY4sB,OACZzf,EAAwByf,OACxB5sB,GAAY2sB,OACZxf,EAAwBwf,OACxB3sB,GAAYsO,cACZnB,EAAwBmB,cACxB,CACA,IAAMk6B,EAAqBxoC,GAAYqkC,gBAAgBz6C,QACrD,SAACW,GAAD,MAAwB,uBAAdA,EAAKxI,QAEbymD,GAAsBA,EAAmBrjD,OAAS,IACpD+uD,EAAmB1L,GACnBxoC,GAAYqkC,gBAAgBmE,MAIjC,CAACxnC,EAASmzC,WAeb3oD,QAAQC,IAAIuU,GAAYqkC,gBAAiB,qCACzC74C,QAAQC,IAAI44C,EAAiB,eAG3B,yBAAKljD,UAAU,cACZkjD,EAAgBh4C,KAAKinD,GAAc,aAAalnD,KAAI,SAACgoD,EAAMlpD,GAAP,OACnD,kBAAC,GAAD,CACEwB,IAAKxB,EACL0E,UAAWpJ,EAAMoJ,UACjB7N,KAAMqyD,EAAKryD,KACXC,KAAMoyD,EAAKpyD,KACXmxD,SACEa,IAAYI,EAAKlyD,QACjB8d,GAAYmpC,sBAAwBiL,EAAKlyD,OAE3CD,WAAYmyD,EAAKnyD,WACjBC,OAAQkyD,EAAKlyD,OACbb,KAAM+yD,EAAK/yD,KACX+xD,YACY,IAAVloD,MAEIm5C,EAAgBh4C,KAAKinD,GAAc,aAAapoD,EAAQ,KACxDm5C,EAAgBh4C,KAAKinD,GAAc,aAAapoD,EAAQ,GAAxD,YAMNmoD,eAAgB,kBAzCxB,SAAwBnxD,EAAgBgJ,GACtC,IAAMmpD,EAAiBhQ,EAAgBh4C,KAAKinD,GAAc,aAC1D,GACY,IAAVpoD,GACAmpD,EAAenpD,EAAQ,KACtBmpD,EAAenpD,EAAQ,GAAvB,WAED,OAAO,EAET8U,GAAYmpC,oBAAsBjnD,EAClC+xD,EAAW/xD,GACX4rB,EAAQO,KAAKnsB,GA8BemxD,CAAee,EAAKlyD,OAAQgJ,WE2M7CopD,GA9SiC,SAAC9tD,GAAW,IAAD,EACvBC,IAAM4G,UAAkB,GADD,mBAClDuC,EADkD,KACvCge,EADuC,OAErBnnB,IAAM4G,SAAiB,IAFF,mBAElDknD,EAFkD,KAEtCC,EAFsC,OAG3B/tD,IAAM4G,WAHqB,mBAGlDkgB,EAHkD,KAGzC1C,EAHyC,OAKvDpkB,IAAM4G,UAAkB,GAL+B,mBAIlDwmD,EAJkD,KAItBY,EAJsB,KAMnD3mC,EAAUC,cA6BhB,SAAS2mC,EAAe38C,GACtB,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqW,GAAa,QAEb,GAAI7V,EAAIS,MAAoB,MAAZT,EAAIS,MAClB,GACEwH,GAAY2M,gBAAgBxmB,IAAImC,cAAcpD,SAC9C6S,EAAIS,KAAKm8C,IAAIrsD,cAAcpD,OAC3B,CACA8a,GAAYC,MAAQlI,EAAIS,KAAKoY,MAC7B5Q,GAAYwQ,cAAgBzY,EAAIS,KAAKo8C,cACrC50C,GAAY2M,gBAAgBxmB,IAAM4R,EAAIS,KAAKm8C,IAC3C30C,GAAY0Q,OAAS3Y,EAAIS,KAAKyY,OAC9BjR,GAAYyQ,sBAAwB1Y,EAAIS,KAAKwY,sBAC7C,IAAM7D,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBsD,sBACtBzQ,GAAYyQ,sBACdrQ,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,UAInBtC,EAAW9S,EAAIR,OACfqW,GAAa,GAqBnB,SAASinC,EAAkB98C,IACpBA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OAEXQ,EAAIggC,eAAe,UACJ,IAAbhgC,EAAIS,MAAe6nC,GAAqBz+C,IAC5CyvB,GACE85B,EACAnrC,GAAYwQ,gBAGd3F,EAAW9S,EAAIR,OAKrB,SAAS2W,EAAiBnW,IACnBA,GAAOA,EAAIR,MAKlB,SAASu9C,EAAmB/8C,GAE1B,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,YAEf,GAAIQ,GAAOA,EAAIS,KAAM,CACnB,IACI/O,EADY4Q,KAAKC,MAAMvC,EAAIS,MACE5O,QAC/B,SAACW,GAAD,OAQoB,GAAlBA,EAAKwqD,aAEW,IAAhBtrD,EAAKtE,QAAkC,IAAlBsE,EAAK,GAAGurD,OAC/BP,GAA8B,GAGpC7mC,GAAa,GAGf,SAASu9B,EAAsBpzC,GAG7B,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MAEnCwH,GAAY2M,gBAAgB2Z,WAAatmB,GAAY2M,gBAClD2Z,WACCtmB,GAAY2M,gBAAgB2Z,WAFS,OAGrC/W,QAHqC,IAGrCA,OAHqC,EAGrCA,EAAakd,iBAEjB,IAAMtf,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MA2B5D,GAxBA9U,QAAQC,IAAI0hB,EAAyB,2BAEhCA,EAAwBxL,SAC3BwL,EAAwBxL,OAAS4N,EAAY0lC,UAG1C9nC,EAAwBymB,UAC3BzmB,EAAwBymB,QAAUrkB,EAAY2lC,SAEb,OAApB,OAAX3lC,QAAW,IAAXA,OAAA,EAAAA,EAAakd,wBAAyDhoC,IAApB,OAAX8qB,QAAW,IAAXA,OAAA,EAAAA,EAAakd,mBAA+D,MAArB,OAAXld,QAAW,IAAXA,OAAA,EAAAA,EAAakd,oBAClGtf,EAAwBmZ,WAAxB,OACA/W,QADA,IACAA,OADA,EACAA,EAAakd,kBAGfrsB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBq4B,GAAaj2B,GAGbqkC,GAAwBC,IAIrBtkC,EAAY+2B,uBACbtmC,GAAY+P,qBACX/P,GAAYsO,eACZtO,GAAY4sB,MAGb,YADA9e,EAAQO,KAAK/qB,IAGf,IAEIisB,EAAYq2B,4BACZr2B,EAAYo2B,2BAId,YADA73B,EAAQO,KAAKzsB,IAGf,IAAK2tB,EAAYw2B,uBAEf,YADAj4B,EAAQO,KAAKzsB,IAGf,IACG2tB,EAAYy2B,8BACZz2B,EAAY42B,2BAGb,YADAr4B,EAAQO,KAAKzsB,IAGf,IAAKiyD,EAEH,YADA/lC,EAAQO,KAAKzsB,IAGf,IACGoe,GAAYsO,eACZtO,GAAY4sB,QACZ5sB,GAAY2sB,QACZpd,EAAY22B,0BAGb,YADAp4B,EAAQO,KAAKzsB,IAGf,GAAI2tB,EAAY62B,sBAEd,YADAt4B,EAAQO,KAAK/qB,IAGf,IAAKisB,EAAY82B,iBAEf,YADAv4B,EAAQO,KAAKzsB,GAAqB,SAGpC,GAAI2tB,EAAY82B,mBAAqB92B,EAAYo3B,oBAE/C,YADA74B,EAAQO,KAAKzsB,GAAqB,SAGpC,GAAkC,IAA9B2tB,EAAYg3B,cAEd,YADAz4B,EAAQO,KAAK9qB,GAAUI,2BAGzB,GAAkC,IAA9B4rB,EAAYg3B,cAEd,YADAz4B,EAAQO,KAAK/qB,IAKnBsqB,GAAa,GASf,OA/OAnnB,IAAM2H,WAAU,WACd,GAA0D,IAAtDugB,OAAOlf,KAAK+e,MAA+BrpB,OAC7C2oB,EAAQO,KAAK/qB,SACR,GAAI0c,GAAY8jC,iBAAmB9jC,GAAY+jC,cACpDj2B,EAAQO,KAAK/qB,QACR,CACLsqB,GAAa,GAE2B,KAAtC5N,GAAYyQ,uBAC0B,MAAtCzQ,GAAYyQ,uBAC0B,OAAtCzQ,GAAYyQ,uBAEZjlB,QAAQC,IAAI,+BAEdinB,GAA0BgiC,EAAgB10C,GAAY0Q,QACtDtQ,OAAOqO,eAAerB,QAAQ,kBAAmB,SACjD,IAAM+nC,EACJn1C,GAAY2M,gBAAgBwf,QAAQpiC,eACpCqW,OAAOC,aAAaC,QAAQ,cAC9Bk0C,EACEW,EAAexvD,QAAQ,eAAe,SAACyvD,GAAD,OAAeA,EAAE9sD,kBACrD,IAEJuqD,GAAmBiC,EAAoB90C,GAAYwQ,kBAEpD,IAuND,yBAAKrvB,UAAU,MACb,yBAAKA,UAAU,UACb,kBAAC,GAAD,KACE,yBAAKC,IAAKi0D,KAAa/zD,IAAI,UAAUH,UAAU,YAGnD,yBAAKA,UAAU,aACb,+CAAqBozD,IAEvB,yBAAKpzD,UAAU,UACb,2BAAOA,UAAU,YAAjB,2GAMDosB,GACC,yBAAKpsB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEACA,wEAA8CA,EAA9C,MAGF,+BAAQA,KAMhB,yBAAKpsB,UAAU,UACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2O,QAAQ,cACR9G,SAAU4G,EACVY,aAAa,EACbZ,UAAWA,EACX1G,QA7CV,WACE8W,GAAY0oC,uBAAwB,EACpCl6B,GAA4B,CAAEgC,cAAe,KAC7C1C,EAAQnoB,QAAQrC,QA6CZ,yBAAKnC,UAAU,gBACb,kBAAC,GAAD,CACE2O,QAAQ,WACR9G,SAAU4G,EACVA,UAAWA,EACX1G,QAlOV,WACE,IAAM0oB,EAAa5R,GAAY2M,gBAAgBiF,WAC/CpmB,QAAQC,IAAI,aAAcuU,GAAY2M,iBACZ,qBAAfiF,GAA8BA,GAA6B,KAAfA,IACrDpmB,QAAQC,IAAI,uBACZmiB,GAAa,GACb1X,GAAcgY,GAEd+kC,GACE4B,EACA70C,GAAYwQ,cACZrf,GAAOU,qCCzFAyjD,I,OAVM,kBACjB,yBAAKn0D,UAAU,WACX,yBAAKA,UAAU,eACX,kBAAC,GAAD,CAAckO,MAAM,2BAExB,uBAAGlO,UAAU,kBAAb,0BACA,uBAAGA,UAAU,eAAb,sGCKOo0D,I,OAXH,kBACR,yBAAKp0D,UAAU,OACX,yBAAKA,UAAU,WACX,kBAAC,GAAD,CAAckO,MAAM,2BAExB,uBAAGlO,UAAU,cAAb,0BACA,uBAAGA,UAAU,WAAb,iIACA,uBAAGA,UAAU,WAAb,mBCwGOq0D,I,qNAhGbvrD,MAAQ,CACNmb,IAAK,GACLC,UAAU,EACVzC,MAAO,GACP6yC,UAAW3hC,KAAK4hC,SAChB1yB,KAAMhjB,GAAYgjB,M,EAGpB2yB,aAAe,WACb,IAAI9yC,EAAc6B,aAAY,WAC5B,IAAIC,EAAO,EAAK1a,MAAM2Y,MAAQ,EACjB,IAAT+B,GACFC,cAAc/B,GACd,EAAK3Y,SAAS,CAAE0Y,MAAO,GAAIyC,UAAU,KAErC,EAAKnb,SAAS,CAAE0Y,MAAO+B,MAExB,M,EAOLa,OAAS,SAAChkB,GACR,EAAK0I,SAAS,CAAEkb,IAAK5jB,K,EAGvBikB,cAAgB,WACd,EAAKvb,SAAS,CAAEurD,UAAW3hC,KAAK4hC,SAAUrwC,UAAU,IACpD,EAAKswC,gB,EAGPve,iBAAmB,SAACr/B,K,EAEpB5D,YAAc,WACZ2R,GACE,EAAKsxB,iBACL,EAAKntC,MAAM+4B,KAAKrhB,OAAOhU,WACvB,EAAK1D,MAAMmb,M,mEAlBb1Z,KAAKiqD,iB,+BAuBL,OACE,yBAAKx0D,UAAU,OACb,8BACE,uBAAGA,UAAU,WAAb,aACA,uBAAGA,UAAU,QAAb,0DAGA,yBAAKA,UAAU,YACb,kBAAC,GAAD,CACEmG,SAAUoE,KAAK8Z,OACf9Y,IAAKhB,KAAKzB,MAAMwrD,UAChBzxC,MAAM,gBAGT,GACA,EACD,yBAAK7iB,UAAU,aACZuK,KAAKzB,MAAMob,SACV,yBAAKlkB,UAAU,iBACb,2BAAOA,UAAU,cAAjB,gCACA,2BAAOA,UAAU,gBAAgB+H,QAASwC,KAAK+Z,eAA/C,eAKF,yBAAKtkB,UAAU,YACb,kBAAC,GAAD,CAAUyhB,MAAO,QAItB,EAQD,yBAAKzhB,UAAU,aACb,kBAAC,GAAD,CACE2O,QAAQ,SACR5G,QAASwC,KAAKyI,YACdnL,UAAU,EACV4G,WAAW,W,GAxFPzC,c,6BCsCHyoD,GA5C6B,WAExC,IAAM9nC,EAAUC,cAEhB,OACI,yBAAK5sB,UAAU,WAEX,yBAAKA,UAAU,eACX,kBAAC,GAAD,KACI,yBAAKC,IAAKy0D,KAAYv0D,IAAI,aAAaH,UAAU,YAIzD,yBAAKA,UAAU,kBACX,uDAGJ,yBAAKA,UAAU,eACX,4EAGJ,yBAAKA,UAAU,eACX,kBAAC,GAAD,CACI2O,QAAQ,oBACR9G,UAAU,EACV4G,WAAW,EACX1G,QAAS,WACL0sB,GAAW,CAAEG,OAAQ,eAAgBhnB,MAAO,aAC5C+e,EAAQO,KAAK/qB,QAIzB,yBAAKnC,UAAU,gBACX,kEACA,2BAAOA,UAAU,YACb+H,QAAS,WACL0sB,GAAW,CAAEG,OAAQ,eAAgBhnB,MAAO,eAC5CqR,OAAOY,SAASC,KAAOnd,KAH/B,iB,wCCfHgyD,I,cAAwC,SAACtvD,GACpD,OACE,kBAAC,IAAM87C,SAAP,KACG97C,EAAMuvD,QACL,yBAAK50D,UAAU,gBACb,yBAAKA,UAAU,iBACZqF,EAAMwvD,aACL,0BACE9sD,QAAS1C,EAAMyvD,QACf90D,UAAU,8BAGbqF,EAAM0I,cAOJgnD,GAvC2B,SAAC1vD,GACzC,OACE,kBAAC,IAAM87C,SAAP,KACG97C,EAAMuvD,QACL,yBAAK50D,UAAU,YACb,yBAAKA,UAAS,oBAAeqF,EAAMmK,MAAQnK,EAAMmK,MAAQ,KACtDnK,EAAMwvD,aACL,0BACE9sD,QAAS1C,EAAMyvD,QACf90D,UAAU,8BAGbqF,EAAM0I,aCJJinD,I,aATiC,SAAC3vD,GAC7C,OACI,yBAAKrF,UAAU,cAAc4L,MAAO,CAAE4D,MAAM,GAAD,OAAKnK,EAAMmK,OAASylD,OAAO,GAAD,OAAK5vD,EAAM4vD,UAC5E,yBAAKj1D,UAAW,OAASqF,EAAM6vD,YAAc,UAAY,IAAKtpD,MAAO,CAAE4D,MAAM,GAAD,OAAKnK,EAAM8vD,QAAX,W,yFC4XzEC,I,OAtVuC,SAAC/vD,GAAW,IAAD,EACjCC,IAAM4G,WAD2B,mBACxDmpD,EADwD,KAC/CC,EAD+C,OAEzBhwD,IAAM4G,SAA0B,IAFP,mBAExDqpD,EAFwD,KAE3CC,EAF2C,OAI7BlwD,IAAM4G,WAJuB,mBAIxDupD,EAJwD,KAI7CC,EAJ6C,OAKzBpwD,IAAM4G,SAC1C7G,EAAMg3B,OAAO8C,UANgD,mBAKxDw2B,EALwD,KAK3CC,EAL2C,OAQjCtwD,IAAM4G,SAAiB7G,EAAMg3B,OAAO/C,UARH,mBAQxDu8B,EARwD,KAQ/CC,EAR+C,OAUzCxwD,IAAM4G,SAAiB,IAVkB,mBAUxD6pD,EAVwD,KAUnDC,EAVmD,KAWzDC,EAAgB3wD,IAAMwnB,OAAuB,MAC7CopC,EAAe5wD,IAAMwnB,OAAuB,MAE5CqpC,EAA4B1mD,KAAgBC,SAAW,IAAM,IAC7D0mD,EAA6B3mD,KAAgBC,SAAW,IAAM,IAC9D2mD,EAAyB5mD,KAAgBC,SAAW,IAAM,IAC1D4mD,EAA0B7mD,KAAgBC,SAAW,IAAM,IAC3D6mD,GAA0B9mD,KAAgBC,SAAW,KACrD8mD,GAA2B/mD,KAAgBC,SAAW,KAE5DpK,IAAM2H,WAAU,WACdipD,EAAaznC,QAASgoC,QAAS,EAC/BR,EAAcxnC,QAASgoC,QAAS,EACF,oBAA1BpxD,EAAMg3B,OAAOG,UACfw5B,EAAO,SAER,IACH1wD,IAAM2H,WAAU,WACd2oD,EAAevwD,EAAMg3B,OAAO8C,YAC3B,CAAC95B,EAAMg3B,OAAO8C,SAAU95B,EAAMg3B,SAEjC/2B,IAAM2H,WAAU,WACV5H,EAAMqxD,eACRrsD,QAAQC,IAAI,qBAAsBjF,EAAMqxD,cACxCC,OAED,CAACtxD,EAAMqxD,eA0EV,IAAMC,EAAY,WAChBf,GAAe,GAEfvwD,EAAMg3B,OAAO4C,UAAY,EACzB55B,EAAMuxD,UAAYvxD,EAAMuxD,SAASvxD,EAAMg3B,SAMnCw6B,EAAc,SAACxxD,GACnB6wD,EAAaznC,QAASgoC,QAAS,EAC/BR,EAAcxnC,QAASgoC,QAAS,GAG5BK,EAAiB,SAACC,GAEL,cAAb1xD,EAAMsC,IACRuuD,EAAaznC,QAASgoC,QAAS,EAC/BR,EAAcxnC,QAASgoC,QAAS,GAEhCP,EAAaznC,QAASgoC,QAAS,GAgB7BO,EAAmB,WAEvB,GADA3xD,EAAMg3B,OAAO+C,OAASq2B,OACJnyD,IAAdmyD,EAAyB,CAC3B,IAAMwB,EAAcxB,EAAUvxD,UAC5B,cAAcF,OACdyxD,EAAU3rD,QAAQ,YAGpBzE,EAAM6xD,qBACJ7xD,EAAM6xD,oBACJzB,EACApwD,EAAMg3B,OAAO/C,SACbj0B,EAAMsC,GACNsvD,GAEJf,EAAaznC,QAASgoC,QAAS,EAC/BR,EAAcxnC,QAASgoC,QAAS,IAIpC,OACE,yBAAKz2D,UAAU,mBACb,yBAAK2uB,IAAKunC,GACR,kBAAC,GAAD,CACEtB,QAAQ,EACRC,aAAa,EACbC,QAAS,kBAAM+B,MAEf,oCACW,QAARd,EACC,2BACE91D,IAAKw1D,GAAapwD,EAAMg3B,OAAO+C,OAC/Bp/B,UAAU,eAGZ,yBAAKA,UAAU,IACb,yBACEA,WAAgB,OAALqF,QAAK,IAALA,OAAA,EAAAA,EAAO8xD,+BAAP,OAAqC9xD,QAArC,IAAqCA,OAArC,EAAqCA,EAAO8xD,8BAA8B,UACrFl3D,IAAKw1D,GAAapwD,EAAMg3B,OAAO+C,OAC/Bj/B,IAAKs1D,QAOjB,yBAAK9mC,IAAKsnC,GACR,kBAAC,GAAD,CACErB,QAAQ,EACRC,aAAa,EACbC,QAAS,kBAAM+B,MAEf,yBAAK72D,UAAU,YACZy1D,GAAapwD,EAAMg3B,OAAO+C,OACzB,kBAAC,KAAD,CAEEg4B,mBAAoB,EACpBC,QAAQ,eACRp3D,IAAKw1D,GAAapwD,EAAMg3B,OAAO+C,OAC/Bk4B,SAAU,EACVC,QAAQ,EACRpB,kBAAmBA,EACnBC,mBAAoBA,EACpBC,eAAgBA,EAChBC,gBAAiBA,EACjBC,gBAAiBA,EACjBC,iBAAkBA,EAClBgB,YAAY,EACZC,YAAY,EACZC,aAAc,EACdC,kBAAkB,EAClBC,cAAe,SAACC,GACdvC,EAAWuC,MAIf,6BACE,kBAAC,GAAD,CAAQ1pD,KAAM,OAIpB,kBAAC,GAAD,CAAQQ,QAAQ,kBAAkB5G,QAAS,WA3F1B,qBAAZstD,IACTK,EAAaL,EAAQyC,mBAAmBC,UAAU1yD,EAAMg3B,OAAOG,WAC/Dn3B,EAAMg3B,OAAO27B,WAAY,EACzB3yD,EAAMg3B,OAAOgD,OAASg2B,EACnByC,mBACAC,UAAU1yD,EAAMg3B,OAAOG,UAC1Bw6B,UAyFCrB,EACC,yBACE31D,UAAW,cAAgBqF,EAAMg3B,OAAO2C,QAAU,WAAa,KAE/D,2BACEt3B,KAAK,OACLG,SAAUxC,EAAMg3B,OAAO2C,QACvBr3B,GAAItC,EAAMg3B,OAAO10B,GACjB3H,UAAU,YACVmG,SA3MV,SAAsBmD,GACpB,UAAGjE,QAAH,IAAGA,OAAH,EAAGA,EAAO4yD,mBAEL,CACH,IAAMC,EAAO5uD,EAAMhD,OACb6xD,EAAOD,EAAKE,OAASF,EAAKE,MAAM,GAKtC,GAJID,GACFrC,EAAWqC,EAAKv3D,MAGdu3D,GAAQA,EAAKhqD,KAAO,QAEtB,YADAqnD,EAAe5xC,GAASzJ,KAG1B,IAAIg+C,GAAwC,IAAhCA,EAAKv3D,KAAKqhB,MAAM,KAAKje,OA8C/B,YADAwxD,EAAe5xC,GAASzJ,KA5CxB,IAAIk+C,EAAaF,EAAKv3D,KAAKqhB,MAAM,KACjC,GAAgC,MAA5B5c,EAAMg3B,OAAOC,WAAoB,CACnC,GAAI67B,EAAKhqD,KAAO,QAEd,YADAqnD,EAAe5xC,GAASzJ,KAEnB,GAAoC,QAAhCk+C,EAAW,GAAGlxD,cAEvB,YADAquD,EAAe5xC,GAASzJ,KAI5B,GACkC,QAAhCk+C,EAAW,GAAGlxD,eACkB,SAAhCkxD,EAAW,GAAGlxD,eACkB,QAAhCkxD,EAAW,GAAGlxD,cA4Bd,YALwB,cAApB9B,EAAMg3B,OAAO10B,GACf6tD,EAAe5xC,GAASzJ,KAExBq7C,EAAe5xC,GAASzJ,MAtB1B,GAFA67C,EAAOqC,EAAW,GAAGlxD,eAEjB+wD,EAAKE,OAASF,EAAKE,MAAM,GAAI,CAC/B5C,EAAe,KACJ,IAAI8C,UACVC,OAAO,OAAQL,EAAKE,MAAM,IAC/B,IAAMI,EAAS,IAAIC,WACnB7C,GAAe,GAEf4C,EAAO9I,OAAS,SAAUtpD,GAAI,IAAD,EACrBsyD,EAAM,UAAItyD,EAAEE,QAAUF,EAAEE,OAAOwQ,cAAzB,aAAG,EAA+BtK,WAC1CksD,GACFhD,EAAagD,GAEf9C,GAAe,GACfvwD,EAAM6xD,qBACJ7xD,EAAM6xD,oBAAoBwB,EAAQP,EAAKv3D,KAAMyE,EAAMsC,GAAIwwD,EAAKzwD,OAEhE8wD,EAAOG,cAAcT,EAAKE,MAAM,IAiBrB,cAAb/yD,EAAMsC,IACRmvD,EAAeqB,EAAKzwD,QA0IhBkxD,OAAO,gCAET,2BAAO54D,UAAU,WAAjB,oBACmB,0BAAMA,UAAU,kBAAhB,WAEnB,6BACc,cAAbqF,EAAMsC,GACL,2BAAO3H,UAAU,WAAjB,6BAEA,2BAAOA,UAAU,WAAjB,mCAIJ,yBAAKA,UAAU,aACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,UACe,MAA3BqF,EAAMg3B,OAAO4C,UACH,QAAR82B,GAAiB,yBAAK91D,IAAK44D,KAAS14D,IAAI,MAChC,QAAR41D,GACC,yBAAK91D,IAAK64D,KAAS/wD,QAAS,kBAAM+uD,KAAkB32D,IAAI,KAG1D,yBAAKH,UAAU,YAAY+H,QAAS,kBAAM+uD,MAC/B,QAARf,GACyB,oBAA1B1wD,EAAMg3B,OAAOG,SACX,yBAAKx8B,UAAU,YAAYC,IAAK44D,KAAS14D,IAAI,KAE7C,yBACEH,UAAU,YACVC,IAAKoF,EAAMg3B,OAAO+C,QAAUq2B,EAC5Bt1D,IAAI,KAGR,yBAAKH,UAAU,UACb,yBAAKA,UAAU,QACC,cAAbqF,EAAMsC,GACL,yBAAK1H,IAAK84D,KAAU54D,IAAI,YAExB,yBAAKF,IAAK+4D,KAAU74D,IAAI,gBAOpC,yBAAKH,UAAU,aACb,+BAAQ61D,GACPxwD,EAAMg3B,OAAO6C,cACZ,yBAAKl/B,UAAU,QACb,kBAAC,GAAD,CACEm1D,QAAS9vD,EAAMg3B,OAAO4C,UAAUzyB,WAChCgD,MAAM,QACNylD,OAAO,MACPC,aAAW,QAKhB7vD,EAAMg3B,OAAO2C,SAAW35B,EAAM4zD,gBAC/B,yBACEj5D,UAAW,YACX+H,QAAS,YACP,OAAI1C,QAAJ,IAAIA,OAAJ,EAAIA,EAAO4yD,gBAETtB,MAIJ,2BAAO32D,UAAU,aACdqF,EAAMg3B,OAAO6C,aAAe,SAAW,UAE1C,yBAAKl/B,UAAU,4CAOxBu1D,GACC,yBAAKv1D,UAAU,cACb,kBAAC,GAAD,KAC0B,kBAAhBu1D,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,Q,6BC3XT2D,GAAa,SACxB16C,EACA+B,GAEAjC,GACE,CACEkB,IAAK,mBACL5P,KAAM,CACJ6Q,cAAeF,GAEjB7B,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAamE,WAE5BmJ,IA6GS26C,GAA6B,SACxC36C,EACAia,GAEAna,GACE,CACEkB,IAAK,uCACL5P,KAAM,CACJkgB,OAAQ2I,EAAU2gC,OAClBvpC,sBAAuB4I,EAAUqe,sBACjCr2B,cAAegY,EAAUlY,cACzB84C,mBAAoB5gC,EAAU6gC,mBAC9B5L,QAASj1B,EAAU8gC,QACnBC,YAAa/gC,EAAUghC,YACvBC,OAAQjhC,EAAUkhC,OAClB3iB,QAASve,EAAUmhC,QACnBC,aAAcphC,EAAUqhC,aACxBC,iBAAkBthC,EAAUuhC,iBAC5BC,YAAaxhC,EAAUyhC,aACvBC,UAAW1hC,EAAU2hC,UACrBC,mBAAmB,EACnBC,QAAS7hC,EAAU8hC,QAAU9hC,EAAU8hC,QAAU,GACjD18B,SAAUpF,EAAUoF,SACpBE,UAAWtF,EAAUsF,UACrBjY,OAAO2S,EAAU3S,QAEnBpH,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa2C,2BAE5B2K,IC/GWg8C,GA7CQ,WAAO,IAAD,EACKtuD,mBAAS,CACvCuuD,QAAQ,EACRC,YAAa,CAAE58B,IAAK,GAAIE,IAAK,IAC7B5nB,OAAO,IAJkB,mBACpByJ,EADoB,KACV86C,EADU,KAOrBC,EAAY,SAAC/6C,GACjB86C,EAAY,CACVF,QAAQ,EACRC,YAAa,CACX58B,IAAKje,EAASg7C,OAAOh9B,SACrBG,IAAKne,EAASg7C,OAAO98B,WAEvB3nB,OAAO,KAIL0kD,EAAU,SAAC1kD,GACfukD,EAAY,cACVF,QAAQ,EACRC,YAAa,CAAE58B,IAAK,GAAIE,IAAK,IAC7B5nB,SAHS,SAIF,KAmBX,OAfAnJ,qBAAU,WACF,gBAAiBsjD,WACrBuK,EAAQ,CACNj3C,KAAM,EACNk3C,QAAS,8BAIbxK,UAAUyK,YAAYC,mBAAmBL,EAAWE,EAAS,CAC3D9K,QAAStvD,GACTw6D,mBAAoBx6D,GACpBy6D,WAAYz6D,OAEb,IAEImf,GCuJMu7C,GAtEW,CACxB53B,WAAY,CACVqM,MAAO,CACLvT,WAAY,IACZM,mBAAoB,IAEtB2iB,UAAW,CACTjjB,WAAY,IACZM,mBAAoB,IAEtBqO,gBAAiB,CACf4E,MAAO,CACLvT,WAAY,IACZM,mBAAoB,IAEtB2iB,UAAW,CACTjjB,WAAY,IACZM,mBAAoB,MAI1B6G,WAAY,CACVoM,MAAO,CACLvT,WAAY,IACZM,mBAAoB,IAEtB2iB,UAAW,CACTjjB,WAAY,IACZM,mBAAoB,IAEtBqO,gBAAiB,CACf4E,MAAO,CACLvT,WAAY,IACZM,mBAAoB,IAEtB2iB,UAAW,CACTjjB,WAAY,IACZM,mBAAoB,MAI1B8G,aAAc,CACZmM,MAAO,CACLvT,WAAY,IACZM,mBAAoB,IAEtB2iB,UAAW,CACTjjB,WAAY,IACZM,mBAAoB,IAEtBqO,gBAAiB,CACf4E,MAAO,CACLvT,WAAY,IACZM,mBAAoB,IAEtB2iB,UAAW,CACTjjB,WAAY,IACZM,mBAAoB,OChEby+B,I,MA9GG,SAACh2D,GAAuB,IAAD,EACb6G,mBAAS,IADI,mBACzBovD,GADyB,aAETpvD,mBAAc,MAFL,mBAEhCqvD,EAFgC,KAEvBC,EAFuB,OAGTtvD,oBAAS,GAHA,mBAGhCuvD,EAHgC,KAGvBC,EAHuB,KAKjCC,EAAgB,SAACtkD,GAChB,OAALhS,QAAK,IAALA,KAAOmZ,SAASnH,GAChBmkD,EAAWnkD,IAGPukD,EAA2B,WAC/BF,GAAW,GAEX,IAGMG,EAAiB,CACrBn9C,OAAQ,OACRC,QAAS,CAAE,eAAgB,oBAC3B/O,KAAMsJ,KAAKkG,UAAU,CAAE08C,MAAO,UAGhCv8C,MARE,6FAQYs8C,GACXE,MAAK,SAACrlD,GAAD,OAAcA,EAASgJ,UAC5Bq8C,MAAK,SAAC1kD,GACLikD,EAASjkD,EAAKoY,OACd,IAAI3Q,EAAQzH,EAAKoY,MACZxQ,OAAe+8C,UAAcl9C,EAC/BG,OAAe+8C,SAASC,WAAWn9C,EAAO68C,GAEtC,OAALt2D,QAAK,IAALA,KAAO62D,mBAAkB,MAG5BC,OAAM,SAAC/lD,GACN/L,QAAQ+L,MAAM,wBAAyBA,GAClC,OAAL/Q,QAAK,IAALA,KAAO62D,mBAAkB,MAE1BE,SAAQ,WACPV,GAAW,OAiBjB,OAbAzuD,qBAAU,WACR,IAAMovD,EAAS1sD,SAAS2sD,cAAc,UAMtC,OALAD,EAAOp8D,IAAM,uDACbo8D,EAAOE,OAAQ,EAEf5sD,SAAS6sD,KAAKC,YAAYJ,GAEnB,WACL1sD,SAAS6sD,KAAKE,YAAYL,GAC1Bb,EAAW,SAEZ,IAGD,yBAAKx7D,UAAU,eACXy7D,EAsBA,yBAAKz7D,UAAU,aACb,kBAAC,GAAD,CAAQmO,KAAM,MAtBhB,oCACe,OAAZotD,GAAyC,MAAd,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASoB,UAC5B,yBAAK38D,UAAU,aACb,0BACEA,UAAU,mBACV+H,QAAS,WACPyzD,EAAW,MACXI,QAKN,yBAAK57D,UAAU,aACb,0BACEA,UAAU,mBACV+H,QAAS6zD,SCwCZ78B,GAAiC,CAC5Cp3B,GAAI,GACJq3B,SAAS,EACTC,UAAW,EACXC,cAAc,EACd5F,SAAU,GACV6F,UAAU,EACVC,OAAQ,GACR5E,iBAAkB,GAClBoC,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV6C,OAAQ,GACRnC,eAAe,GAGJ0/B,GAAoC,CAC/Cj1D,GAAI,GACJq3B,SAAS,EACTC,UAAW,EACXC,cAAc,EACd5F,SAAU,GACV6F,UAAU,EACVC,OAAQ,GACR5E,iBAAkB,GAClBoC,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV6C,OAAQ,GACR24B,WAAW,EACX96B,eAAe,GAoqQF2/B,GAjqQ+C,SAACx3D,GAC7D,IAiJIy3D,EAjJEnwC,EAAUC,cADuD,EAG7BtnB,IAAM4G,UAAkB,GAHK,gCAKrC5G,IAAM4G,UAAkB,IALa,mBAKhEuC,EALgE,KAKrDge,EALqD,OAMrCnnB,IAAM4G,SAAe,IAAI6lB,MANY,mBAMhE4N,EANgE,aAO7BzzB,oBAAkB,IAPW,mBAOhE6wD,EAPgE,KAOjDC,EAPiD,OASrE9wD,oBAAkB,GATmD,mBAQhE+wD,EARgE,KAQ1CC,EAR0C,OAU3ChxD,oBAAkB,GAVyB,mBAUhEixD,EAVgE,KAUxDC,EAVwD,OAW/BlxD,oBAAkB,GAXa,mBAWhEmxD,EAXgE,KAWlDC,EAXkD,OAY7BpxD,oBAAkB,GAZW,mBAYhEqxD,EAZgE,KAYjDC,EAZiD,OAa/BtxD,oBAAkB,GAba,mBAahEuxD,EAbgE,KAalDC,EAbkD,OAc7BxxD,oBAAkB,GAdW,mBAchEyxD,EAdgE,KAcjDC,EAdiD,OAe/B1xD,oBAAkB,GAfa,mBAehE2xD,EAfgE,KAelDC,EAfkD,OAiBnC5xD,oBAAkB,GAjBiB,mBAiBhE6xD,GAjBgE,KAiBpDC,GAjBoD,QAkBnC9xD,oBAAkB,GAlBiB,qBAkBhE+xD,GAlBgE,MAkBpDC,GAlBoD,SAmB3ChyD,oBAAkB,GAnByB,qBAmBhEiyD,GAnBgE,MAmBxDC,GAnBwD,SAoBrClyD,oBAAkB,GApBmB,qBAoBhEmyD,GApBgE,MAoBrDC,GApBqD,SAqB7BpyD,mBAAc,IArBe,qBAqBhEqyD,GArBgE,MAqBjDC,GArBiD,SAsB3BtyD,mBAAc,IAtBa,qBAsBhEuyD,GAtBgE,MAsBhDC,GAtBgD,SAuB7BxyD,mBAAc,IAvBe,qBAuBhEyyD,GAvBgE,MAuBjDC,GAvBiD,SAwB3B1yD,mBAAc,IAxBa,qBAwBhE2yD,GAxBgE,MAwBhDC,GAxBgD,SAyB7B5yD,mBAAc,IAzBe,qBAyBhE6yD,GAzBgE,MAyBjDC,GAzBiD,SA0BjC9yD,mBAAc,IA1BmB,qBA0BhE+yD,GA1BgE,MA0BnDC,GA1BmD,SA2BjChzD,mBAAc,IA3BmB,qBA2BhEizD,GA3BgE,MA2BnDC,GA3BmD,SA4BnClzD,mBAAc,IA5BqB,qBA4BhE+zB,GA5BgE,MA4BpDC,GA5BoD,SA6BrCh0B,oBAAkB,GA7BmB,qBA6BhEmzD,GA7BgE,MA6BrDC,GA7BqD,SA8B7BpzD,oBAAkB,GA9BW,qBA8BhEqzD,GA9BgE,MA8BjDC,GA9BiD,SA+B7BtzD,qBA/B6B,qBA+BhEuzD,GA/BgE,MA+BjDC,GA/BiD,SAgCvCxzD,mBAAQ,eACnC6yB,KAjCkE,qBAgChE4gC,GAhCgE,MAgCtDC,GAhCsD,SAmC3C1zD,mBAAQ,eAC/B0wD,KApCkE,qBAmChEiD,GAnCgE,MAmCxDC,GAnCwD,SAsC/B5zD,mBAAQ,eAC3C6yB,KAvCkE,qBAsChEghC,GAtCgE,MAsClDC,GAtCkD,SAyC7B9zD,mBAAQ,eAC7C6yB,KA1CkE,qBAyChEkhC,GAzCgE,MAyCjDC,GAzCiD,SA4C/Bh0D,mBAAQ,eAC3C6yB,KA7CkE,qBA4ChEohC,GA5CgE,MA4ClDC,GA5CkD,SA+C7Bl0D,mBAAQ,eAC7C6yB,KAhDkE,qBA+ChEshC,GA/CgE,MA+CjDC,GA/CiD,SAkD/Bp0D,mBAAQ,eAC3C6yB,KAnDkE,qBAkDhEwhC,GAlDgE,MAkDlDC,GAlDkD,SAuDrEt0D,mBAAQ,eAAuB0wD,KAvDsC,qBAsDhE6D,GAtDgE,MAsD1CC,GAtD0C,SAyDrEx0D,mBAAQ,eAAuB0wD,KAzDsC,qBAwDhE+D,GAxDgE,MAwD1CC,GAxD0C,SA0D3B10D,mBAAQ,eAC/C6yB,KA3DkE,qBA0DhE8hC,GA1DgE,MA0DhDC,GA1DgD,SA6D3B50D,mBAAQ,eAC/C6yB,KA9DkE,qBA6DhEgiC,GA7DgE,MA6DhDC,GA7DgD,SAgE/B90D,mBAAQ,eAC3C0wD,KAjEkE,qBAgEhEqE,GAhEgE,MAgElDC,GAhEkD,SAmErCh1D,mBAAQ,eACrC6yB,KApEkE,qBAmEhEoiC,GAnEgE,MAmErDC,GAnEqD,SAsE3Bl1D,mBAAiB,IAtEU,qBAsEhEm1D,GAtEgE,MAsEhDC,GAtEgD,SAuEnBp1D,mBAAiB,IAvEE,qBAuEhEq1D,GAvEgE,MAuE5CC,GAvE4C,SAwEjBt1D,mBAAiB,IAxEA,qBAwEhEu1D,GAxEgE,MAwE3CC,GAxE2C,SAyEfx1D,mBAAiB,IAzEF,qBAyEhEy1D,GAzEgE,MAyE1CC,GAzE0C,SA0EjB11D,mBAAiB,IA1EA,qBA0EhE21D,GA1EgE,MA0E3CC,GA1E2C,SA2Ef51D,mBAAiB,IA3EF,qBA2EhE61D,GA3EgE,MA2E1CC,GA3E0C,SA4EjB91D,mBAAiB,IA5EA,qBA4EhE+1D,GA5EgE,MA4E3CC,GA5E2C,SA6EvBh2D,mBAAiB,IA7EM,qBA6EhEi2D,GA7EgE,MA6E9CC,GA7E8C,SA8EzC98D,IAAM4G,SAA0B,IA9ES,qBA8EhEkgB,GA9EgE,MA8EvD1C,GA9EuD,SA+EnCxd,oBAAkB,GA/EiB,qBA+EhEm2D,GA/EgE,MA+EpDC,GA/EoD,MAgFjEC,GAAkBj9D,IAAMwnB,OAAyB,MACjD01C,GAAmBl9D,IAAMwnB,OAA0B,MACnD21C,GAA0Bn9D,IAAMwnB,OAAgC,MAlFC,GAmF7BxnB,IAAM4G,WAnFuB,qBAmFjDw2D,IAnFiD,gBAoF/Bp9D,IAAM4G,WApFyB,qBAoFhEy2D,GApFgE,MAoFlDC,GApFkD,SAqFjCt9D,IAAM4G,UAAkB,GArFS,qBAqFnD22D,IArFmD,gBAuF3Cv9D,IAAM4G,UAAkB,GAvFmB,qBAuFhE+vC,GAvFgE,gBAwFjC32C,IAAM4G,SAAiB,KAxFU,qBAwFhE42D,GAxFgE,MAwFnDC,GAxFmD,SAyFrCz9D,IAAM4G,SAAiB,IAzFc,qBAyFhE82D,GAzFgE,MAyFrDC,GAzFqD,SA0FrC39D,IAAM4G,UAAkB,GA1Fa,qBA0FhEg3D,GA1FgE,MA0FrDC,GA1FqD,SA2FjC79D,IAAM4G,UAAkB,GA3FS,qBA2FhEk3D,GA3FgE,MA2FnDC,GA3FmD,SA4FzB/9D,IAAM4G,UAAkB,GA5FC,qBA4FhEo3D,GA5FgE,MA4F/CC,GA5F+C,SA6FzCj+D,IAAM4G,SAAiB,IA7FkB,qBA6FhEs3D,GA7FgE,MA6FvDC,GA7FuD,SA8F7Bn+D,IAAM4G,SAAiB,IA9FM,qBA8FhEw3D,GA9FgE,MA8FjDC,GA9FiD,SA+F3Br+D,IAAM4G,SAAiB,IA/FI,qBA+FhE03D,GA/FgE,MA+FhDC,GA/FgD,SAgG7Bv+D,IAAM4G,SAAiB,IAhGM,qBAgGhE43D,GAhGgE,MAgGjDC,GAhGiD,SAiG3Bz+D,IAAM4G,SAAiB,IAjGI,qBAiGhE83D,GAjGgE,MAiGhDC,GAjGgD,SAkG7B3+D,IAAM4G,SAAiB,IAlGM,qBAkGhEg4D,GAlGgE,MAkGjDC,GAlGiD,SAoGvB7+D,IAAM4G,SAAc,IApGG,qBAoGhEk4D,GApGgE,MAoG9CC,GApG8C,SAqGrB/+D,IAAM4G,SAAc,IArGC,qBAqGhEo4D,GArGgE,MAqG7CC,GArG6C,SAsGvBj/D,IAAM4G,SAAc,IAtGG,qBAsGhEs4D,GAtGgE,MAsG9CC,GAtG8C,SAuGrBn/D,IAAM4G,SAAc,IAvGC,qBAuGhEw4D,GAvGgE,MAuG7CC,GAvG6C,SAwGvBr/D,IAAM4G,SAAc,IAxGG,qBAwGhE04D,GAxGgE,MAwG9CC,GAxG8C,SA0GjCv/D,IAAM4G,SAAiB,IA1GU,qBA0GhE44D,GA1GgE,MA0GnDC,GA1GmD,SA2GzBz/D,IAAM4G,SAAiB,IA3GE,qBA2GhE84D,GA3GgE,MA2G/CC,GA3G+C,SA4G7B3/D,IAAM4G,SAAiB,IA5GM,qBA4GhEg5D,GA5GgE,MA4GjDC,GA5GiD,SA6GnC7/D,IAAM4G,SAAiB,IA7GY,qBA6GhEk5D,GA7GgE,MA6GpDC,GA7GoD,SA+GrE//D,IAAM4G,UAAkB,GA/G6C,qBA8G5Co5D,IA9G4C,gBAiHnCp5D,oBAAkB,GAjHiB,qBAiHhEq5D,GAjHgE,MAiHpDC,GAjHoD,SAkHvCt5D,oBAAkB,GAlHqB,qBAkHhEu5D,GAlHgE,MAkHtDC,GAlHsD,SAmH3Bx5D,oBAAkB,GAnHS,qBAmHhEy5D,GAnHgE,MAmHhDC,GAnHgD,SAoHzB15D,oBAAkB,GApHO,qBAoHhE25D,GApHgE,MAoH/CC,GApH+C,SAqH3B55D,oBAAkB,GArHS,qBAqHhE65D,GArHgE,MAqHhDC,GArHgD,SAsHzB95D,oBAAkB,GAtHO,qBAsHhE+5D,GAtHgE,MAsH/CC,GAtH+C,SAuH3Bh6D,oBAAkB,GAvHS,qBAuHhEi6D,GAvHgE,MAuHhDC,GAvHgD,SAyHvBl6D,oBAAkB,GAzHK,qBAyHhEm6D,GAzHgE,MAyH9CC,GAzH8C,SA0HvBp6D,oBAAkB,GA1HK,qBA0HhEq6D,GA1HgE,MA0H9CC,GA1H8C,SA2H3Bt6D,oBAAkB,GA3HS,qBA2HhEu6D,GA3HgE,MA2HhDC,GA3HgD,SA4HjCx6D,oBAAkB,GA5He,qBA4HhEy6D,GA5HgE,MA4HnDC,GA5HmD,SA6HnCthE,IAAM4G,UAAkB,GA7HW,qBA6HhE26D,GA7HgE,MA6HpDC,GA7HoD,SA8HvCxhE,IAAM4G,UAAkB,GA9He,qBA8HhE66D,GA9HgE,MA8HtDC,GA9HsD,SA+HvB96D,oBAAkB,GA/HK,qBA+HhE+6D,GA/HgE,MA+H9CC,GA/H8C,SAgI/B5hE,IAAM4G,UAC3C2S,GAAYikC,WAjIwD,qBAgIlDqkB,IAhIkD,gBAmIrB7hE,IAAM4G,SAEtD,CAAC,KArIoE,qBAmIhEk7D,GAnIgE,MAmI7CC,GAnI6C,SAsI7B/hE,IAAM4G,UAAkB,GAtIK,qBAsIhEo7D,GAtIgE,MAsIjDC,GAtIiD,SAwIrEjiE,IAAM4G,UAAkB,GAxI6C,qBAuIhEs7D,GAvIgE,MAuI7CC,GAvI6C,SAyIvCv7D,mBAAc,IAzIyB,qBAyIhE2T,GAzIgE,MAyItD86C,GAzIsD,MA0IjE+M,GAAuBlN,KA1I0C,GA2InCl1D,IAAM4G,UAAkB,GA3IW,qBA2IhEy7D,GA3IgE,MA2IpDC,GA3IoD,SA6IrEtiE,IAAM4G,UAAkB,GA7I6C,qBA4I5C27D,IA5I4C,gBA+I/BviE,IAAM4G,UAAkB,GA/IO,qBA+IlD47D,IA/IkD,gBAgJvCxiE,IAAM4G,UAAkB,GAhJe,qBAgJhE8gC,GAhJgE,MAgJtD+6B,GAhJsD,SAsJ/B77D,mBAAc,IAtJiB,qBAsJlD87D,IAtJkD,gBAuJnB97D,mBAAc,IAvJK,qBAuJhE+7D,GAvJgE,MAuJ5CC,GAvJ4C,SAwJjBh8D,mBAAc,IAxJG,qBAwJhEi8D,GAxJgE,MAwJ3CC,GAxJ2C,SAyJnBl8D,mBAAc,IAzJK,qBAyJhEm8D,GAzJgE,MAyJ5CC,GAzJ4C,SA0JjBp8D,mBAAc,IA1JG,qBA0JhEq8D,GA1JgE,MA0J3CC,GA1J2C,SA2JnBt8D,mBAAc,IA3JK,qBA2JhEu8D,GA3JgE,MA2J5CC,GA3J4C,SA4JvBx8D,mBAAc,IA5JS,qBA4JhEy8D,GA5JgE,MA4J9CC,GA5J8C,SA6JvB18D,mBAAc,IA7JS,qBA6JhE28D,GA7JgE,MA6J9CC,GA7J8C,SA8JzB58D,mBAAc,IA9JW,qBA8JhE68D,GA9JgE,MA8J/CC,GA9J+C,SA+J3B98D,mBAAc,IA/Ja,qBA+JhE+8D,GA/JgE,MA+JhDC,GA/JgD,SAgKnBh9D,mBAAc,IAhKK,qBAgKhEi9D,GAhKgE,MAgK5CC,GAhK4C,SAiKnBl9D,mBAAc,IAjKK,qBAiKhEm9D,GAjKgE,MAiK5CC,GAjK4C,SAmKrEp9D,oBAAkB,GAnKmD,qBAkKhEq9D,GAlKgE,MAkKpCC,GAlKoC,SAoKjCt9D,oBAAkB,GApKe,qBAoKhEu9D,GApKgE,MAoKnDC,GApKmD,SAqKrBx9D,oBAAkB,GArKG,qBAqK7Cy9D,IArK6C,gBAsKnBz9D,oBAAkB,GAtKC,qBAsKhE09D,GAtKgE,MAsK5CC,GAtK4C,SAuKvB39D,oBAAkB,GAvKK,qBAuKhE49D,GAvKgE,MAuK9CC,GAvK8C,SAyKT79D,oBAAS,GAzKA,qBAyKhE89D,GAzKgE,MAyKvCC,GAzKuC,SA4KzB/9D,mBAA4B,CAAC,2BAEpE6yB,IAFmE,IAGtEC,SAAS,IAH6D,2BAKnED,IALmE,IAKpDC,SAAS,MAjLwC,qBA4KhEkrC,GA5KgE,MA4K/CC,GA5K+C,SAmLvBj+D,mBAA4B,CAAC,2BAEtE6yB,IAFqE,IAGxEC,SAAS,IAH+D,2BAKrED,IALqE,IAKtDC,SAAS,MAxLwC,qBAmLhEorC,GAnLgE,MAmL9CC,GAnL8C,SA0LzBn+D,mBAA4B,CAAC,2BAEpE6yB,IAFmE,IAGtEC,SAAS,IAH6D,2BAKnED,IALmE,IAKpDC,SAAS,MA/LwC,qBA0LhEsrC,GA1LgE,MA0L/CC,GA1L+C,SAiMvBr+D,mBAA4B,CAAC,2BAEtE6yB,IAFqE,IAGxEC,SAAS,IAH+D,2BAKrED,IALqE,IAKtDC,SAAS,MAtMwC,qBAiMhEwrC,GAjMgE,MAiM9CC,GAjM8C,SAwMrBv+D,mBAChD,CAAC,2BAEM6yB,IAFP,IAGIC,SAAS,IAHb,2BAKOD,IALP,IAKsBC,SAAS,MA9MsC,qBAwMhE0rC,GAxMgE,MAwM7CC,GAxM6C,SAiNvBz+D,mBAA4B,CAAC,2BAEtE6yB,IAFqE,IAGxEC,SAAS,IAH+D,2BAKrED,IALqE,IAKtDC,SAAS,MAtNwC,qBAiNhE4rC,GAjNgE,MAiN9CC,GAjN8C,SAwNvB3+D,mBAAS,IAxNc,qBAwNhE4+D,GAxNgE,MAwN9CC,GAxN8C,SAyNrB7+D,mBAAS,IAzNY,qBAyNhE8+D,GAzNgE,MAyN7CC,GAzN6C,SA0NvB/+D,mBAAS,IA1Nc,qBA0NhEg/D,GA1NgE,MA0N9CC,GA1N8C,SA2NrBj/D,mBAAS,IA3NY,qBA2NhEk/D,GA3NgE,MA2N7CC,GA3N6C,SA4NnBn/D,mBAAS,IA5NU,qBA4NhEo/D,GA5NgE,MA4N5CC,GA5N4C,SA6NrBr/D,mBAAS,IA7NY,qBA6NhEs/D,GA7NgE,MA6N7CC,GA7N6C,SA8NnBv/D,mBAAS,CAC3Dw/D,cAAc,EACdC,eAAe,EACfjoC,cAAc,EACdkoC,eAAe,EACfC,gBAAgB,EAChBC,eAAe,IApOsD,qBA8NhEC,GA9NgE,MA8N5CC,GA9N4C,SAsOf9/D,mBAAS,CAC/D+/D,gBAAiB,GACjBC,kBAAmB,GACnBC,iBAAkB,GAClBC,mBAAoB,GACpBC,gBAAiB,GACjBC,kBAAmB,GACnBC,qBAAsB,GACtBC,uBAAwB,GACxBC,sBAAuB,GACvBC,wBAAyB,GACzBC,qBAAsB,GACtBC,uBAAwB,KAlP6C,qBAsOhEC,GAtOgE,MAsO1CC,GAtO0C,SAqPrB5gE,mBAAS,CACzD6gE,iBAAiB,EACjBC,qBAAqB,EACrBC,kBAAkB,EAClBC,sBAAsB,EACtBC,iBAAiB,EACjBC,qBAAqB,EACrBC,sBAAsB,EACtBC,0BAA0B,EAC1BC,uBAAuB,EACvBC,2BAA2B,EAC3BC,sBAAsB,EACtBC,0BAA0B,IAjQ2C,qBAqPhEC,GArPgE,MAqP7CC,GArP6C,SAoQ3B1hE,oBAAS,GApQkB,qBAoQhD2hE,IApQgD,gBAqQzB3hE,oBAAS,GArQgB,qBAqQ/C4hE,IArQ+C,gBAwQrB5hE,oBAAS,GAxQY,qBAwQhE6hE,GAxQgE,MAwQ7CC,GAxQ6C,SAyQrB9hE,oBAAS,GAzQY,qBAyQhE+hE,GAzQgE,MAyQ7CC,GAzQ6C,SA0Q7BhiE,oBAAS,GA1QoB,qBA0QhEiiE,GA1QgE,MA0QjDC,GA1QiD,SA2QrBliE,mBAAc,CAC9D2J,oBAAoB,EACpBC,eAAe,IA7QsD,qBA2QhEu4D,GA3QgE,MA2Q7CC,GA3Q6C,SA+Q7BhpE,IAAM4G,SAAS,IA/Qc,qBA+QhEqiE,GA/QgE,MA+QjDC,GA/QiD,SAiRjClpE,IAAM4G,UAAS,GAjRkB,qBAiRhEuiE,GAjRgE,MAiRnDC,GAjRmD,SAmRrEppE,IAAM4G,UAAkB,GAnR6C,qBAkRhEyiE,GAlRgE,MAkR3CC,GAlR2C,SAqRnC1iE,oBAAS,GArR0B,qBAqRpD2iE,IArRoD,aAyRvEvpE,IAAM2H,WAAU,WAEdgS,OAAO9U,SAAS,EAAG,GACf0U,GAAYgB,SACd86C,GAAY97C,GAAYgB,UAExB3W,YAAW,WACTqnD,UAAUyK,YAAYC,mBAAmB6T,GAAcC,GAAe,CACpE7T,mBAAoBx6D,GACpBy6D,WAAYz6D,GACZsvD,QAAStvD,KAEXmnE,IAAsB,KACrBnnE,IAILwvB,GAA0B85B,GAAuBnrC,GAAYwQ,eAE7D,IAAMrD,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAY4sB,OAASzf,EAAwByf,MACzCijC,IAAe,GACfA,IAAe,GAInBjM,GAAwBh0C,QAASgoC,QAAS,IACzC,IAEHnxD,IAAM2H,WAAU,WACd,GAAI4S,KAAa8uD,KAAwBlF,GAAa,CACpD5qD,GAAYgB,SAAWA,GACvB+nD,IAAc,GACdC,IAAsB,GAEtB,IAAMjqC,EAAc,CAClBE,IAAKje,GAASie,IACdE,IAAKne,GAASmvD,MAEhBrxC,IAAe,SAAC/mB,GAAD,OAAcq4D,GAAiBr4D,KAAMgnB,MAErD,CAAC/d,KAEJva,IAAM2H,WAAU,WACd,GAAI69D,GAAiB9mE,OAAS,EAE5B,IADA,IAAIw/B,EAAU,YAAO0mC,IACZl/D,EAAI,EAAGA,EAAIw4B,EAAWx/B,OAAQgH,IAAK,CAC1C,GAA6B,KAAzBw4B,EAAWx4B,GAAGo0B,QAA4C,KAA3BoE,EAAWx4B,GAAGsuB,SAAiB,CAChEu0C,IAAkB,GAClB,MAEAA,IAAkB,GAKxB,GAAI7C,GAAkBhnE,OAAS,EAE7B,IADA,IAAIy/B,EAAU,YAAO2mC,IACZp/D,EAAI,EAAGA,EAAIy4B,EAAWz/B,OAAQgH,IAAK,CAC1C,GAA6B,KAAzBy4B,EAAWz4B,GAAGo0B,QAA4C,KAA3BqE,EAAWz4B,GAAGsuB,SAAiB,CAChEu0C,IAAkB,GAClB,MAEAA,IAAkB,GAIxB,GAAI3C,GAAiBlnE,OAAS,EAE5B,IADA,IAAI0/B,EAAY,YAAO4mC,IACdt/D,EAAI,EAAGA,EAAI04B,EAAa1/B,OAAQgH,IAAK,CAC5C,GAA+B,KAA3B04B,EAAa14B,GAAGo0B,QAA8C,KAA7BsE,EAAa14B,GAAGsuB,SAAiB,CACpEu0C,IAAkB,GAClB,MAEAA,IAAkB,GAKxB,GAAIzC,GAAkBpnE,OAAS,EAE7B,IADA,IAAIkrE,EAAW,YAAO1E,IACbx/D,EAAI,EAAGA,EAAIkkE,EAAYlrE,OAAQgH,IAAK,CAC3C,GAA8B,KAA1BkkE,EAAYlkE,GAAGo0B,QAA6C,KAA5B8vC,EAAYlkE,GAAGsuB,SAAiB,CAClEw0C,IAAmB,GACnB,MAEAA,IAAmB,GAIzB,GAAIxC,GAAmBtnE,OAAS,EAE9B,IADA,IAAImrE,EAAW,YAAOzE,IACb1/D,EAAI,EAAGA,EAAImkE,EAAYnrE,OAAQgH,IAAK,CAC3C,GAA8B,KAA1BmkE,EAAYnkE,GAAGo0B,QAA6C,KAA5B+vC,EAAYnkE,GAAGsuB,SAAiB,CAClEw0C,IAAmB,GACnB,MAEAA,IAAmB,GAIzB,GAAItC,GAAkBxnE,OAAS,EAE7B,IADA,IAAIorE,EAAa,YAAOxE,IACf5/D,EAAI,EAAGA,EAAIokE,EAAcprE,OAAQgH,IAAK,CAC7C,GAC8B,KAA5BokE,EAAcpkE,GAAGo0B,QACa,KAA9BgwC,EAAcpkE,GAAGsuB,SACjB,CACAw0C,IAAmB,GACnB,MAEAA,IAAmB,MAIxB,CACDhD,GACAE,GACAE,GACAE,GACAE,GACAE,GACAtB,GACAE,GACAE,GACAE,GACAE,GACAE,KAGFtlE,IAAM2H,WAAU,WACd5C,QAAQC,IAAI,oBACPm/D,KACH3M,EAAkBvM,UAAUyK,YAAYqU,cACtCC,GACAC,KAEyB,IAAvB3F,KAAoD,IAArBE,IACjCz/D,QAAQC,IAAI,kBACZq/D,IAAqB,GACrBH,IAA+B,GAC/B5B,IAAc,KAEdv9D,QAAQC,IAAI,sBACZq/D,IAAqB,GACrBH,IAA+B,GAC/B5B,IAAc,OAIjB,CAACF,GAAQkC,GAAoBE,GAAkBL,KAElDnkE,IAAM2H,WAAU,WACV0yD,GAASvgC,SAAWqqC,IACtB/rC,IACE,SAAC9mB,GAAD,OAAc44D,GAAwB54D,KACtC+oD,GAASvgC,OAAOnd,MAAM,KAAK,GAC3BpD,GAAY0Q,UAGf,CAACowC,GAAU8J,KAEdnkE,IAAM2H,WAAU,WACd,OAAO,WACL01D,IAAgBA,GAAa8M,iBAAiB,GAAGC,UAElD,CAAC/M,KAEJ,IAAMgN,GAAc,WACdjI,GAAOjN,QAA0B,GAAhBiN,GAAOtxD,OAC1B/L,QAAQC,IAAI,YAAao9D,IAEzB/M,GAAY,CACV78B,IAAK4pC,GAAOhN,YAAY58B,IACxBkxC,KAAMtH,GAAOhN,YAAY18B,OAGvBuyB,WAAaA,UAAUyK,aACzB3wD,QAAQC,IAAI,oBAAqBimD,WACjCA,UAAUyK,YAAYC,mBAAmB6T,GAAcC,GAAe,CACpE7T,mBAAoBx6D,GACpBy6D,WAAYz6D,GACZsvD,QAAStvD,KAEX6vD,UAAUyK,YAAYC,mBAAmB6T,IACzChS,EAAkBvM,UAAUyK,YAAYqU,cACtCC,GACAC,KAGF3vD,MAAM,kDAKNmvD,GAAgB,SAACa,GAChB/vD,IAAahB,GAAYgB,WAC5BxV,QAAQC,IAAIuV,GAAU,8BACtBxV,QAAQC,IAAR,gBAAqBslE,EAAI/rD,KAAzB,cAAmC+rD,EAAI7U,UACvC2M,GAAOtxD,OAAQ,EACfqW,GAAa,GACbm7C,IAAc,KAKZkH,GAAe,SAACe,GACpB/S,EAAkBvM,UAAUyK,YAAYqU,cACtCC,GACAC,IAGF5U,GAAY,CACV78B,IAAK+xC,EAAShV,OAAOh9B,SACrBmxC,KAAMa,EAAShV,OAAO98B,YAExB2pC,GAAOhN,YAAY58B,IAAM+xC,EAAShV,OAAOh9B,SACzC6pC,GAAOhN,YAAY18B,IAAM6xC,EAAShV,OAAO98B,UACzC2pC,GAAOtxD,OAAQ,EACfwxD,IAAc,GACdC,IAAsB,GACtBp7C,GAAa,GACbpiB,QAAQC,IAAI,kBAAmBo9D,KAIjC,SAAS4H,GAAgBj4D,GACvBhN,QAAQC,IAAI,mBACZmiB,GAAa,GACbo9C,IAAsB,GAItBlP,GAAY,CACV78B,IAAKzmB,EAAKwjD,OAAOh9B,SACjBmxC,KAAM33D,EAAKwjD,OAAO98B,YAEpBwyB,UAAUyK,YAAY8U,WAAWhT,GAInC,SAASyS,GAAcl4D,GACrBhN,QAAQC,IAAI,iBACZmiB,GAAa,GACbo9C,IAAsB,GAQxB,IAAMoF,GAAmB,SAACr4D,IACnBA,GAAOA,EAAIR,OACd/L,QAAQC,IAAI,OAAQsM,GAGhBwV,KAAYxV,EAAIR,OAAOsT,GAAW0C,IAAoB,GAAKxV,EAAIR,OACnEqW,GAAa,GACb6hD,GAAqB,2BAChBD,IADe,IAElBv4D,eAAe,KAEjB2e,GAAW,CAAEG,OAAQ,gBAAiBhnB,MAAO,sBAE7CghE,IAAuB,GACnBh4D,EAAIS,MAAQT,EAAIS,KAAK04D,gBACvBzB,GAAqB,2BAChBD,IADe,IAElBv4D,eAAe,KAEPc,EAAIS,KAAK04D,kBACnBzB,GAAqB,2BAChBD,IADe,IAElBv4D,eAAe,KAEbsW,KAAYxV,EAAIS,KAAK24D,SACvBtmD,GAAW0C,IAAoB,GAAKxV,EAAIS,KAAK24D,UAEjDvjD,GAAa,KAGjB,SAASu9B,GAAsBpzC,GAC7B,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,yBAGT,GAAIgJ,EAAIS,KAAM,CACZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MAC/BwH,GAAY4sB,OAASrd,EAAYm3B,OACnCsb,GAAe7hC,SAAU,EACzB8hC,GAAkBD,IAClB6N,IAAe,IAEfA,IAAe,GAEjB,IAAM1iD,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBwf,MAAQpd,EAAYglB,MAC5CpnB,EAAwByf,MAAQrd,EAAYm3B,MAE5CwiB,GAAY/7C,EAAwBghB,UACpChhB,EAAwBmB,aACtBiB,EAAY+2B,sBACdlmC,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEboC,EAAYw2B,uBACdue,IAAa,GAEbA,IAAa,IAG2B,IAAtC/0C,EAAYs3B,uBACd7mC,GAAYikC,WAAY,EACxBqkB,IAAgB,KAC+B,IAAtC/4C,EAAYs3B,wBACrB7mC,GAAYikC,WAAY,EACxBqkB,IAAgB,SAGlB1yC,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,sB5B3vBe,IAAC4Q,EAA4B0a,EAA5B1a,E4BgwBZyxD,G5BhwBwC/2C,E4BgwB5Bra,GAAYwQ,c5B/vB3C/Q,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ6Q,cAAeyY,EACfjY,cAAe,GAEjBvC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaK,oBAE5BiN,G4BovBAya,GAAqBi3C,GAAgBrxD,GAAYwQ,eACjD8J,GAAoBg3C,GAAetxD,GAAYwQ,eAC/C+J,GAAcgT,GAAmBvtB,GAAYwQ,eAG/C,SAAS+gD,GAAiBA,GACxB7N,GAAgB9zC,QAASgoC,OAAS2Z,EAClC5N,GAAiB/zC,QAASgoC,QAAU2Z,EAjnBiC,SAonBxDC,KApnBwD,8EAonBvE,mBASWC,EAYAC,EArBX,SAAAplE,EAAA,sDAqBWolE,EArBX,SAqBuBn6D,GACnB/L,QAAQC,IAAI,eAAgB8L,GAC5BqW,GAAa,GAGbs9C,IAAoB,GACpB1/D,QAAQC,IAAI,yBAIZu4D,IAAe,IAtBRyN,EATX,SASyB3N,GACrBt4D,QAAQC,IAAI,iBAAkBq4D,GAG9BoH,IAAoB,GACpBt9C,GAAa,GACb81C,GAAgB9zC,QAAS+hD,UAAY7N,EACrCD,GAAiB,IAAI+N,cAAc9N,IACnCC,GAAgBD,GAChBE,IAAe,IAjBjB8M,KACMe,EAAc,CAClBC,OAAO,EACPC,MAAO,CACLC,WAAY,SA6BhBtgB,UAAUugB,aACPC,aAAaL,GACb3U,KAAKuU,GACLnU,MAAMoU,GArCX,4CApnBuE,sBA4pBvE,IAAMnkC,GAAoB,SAACx1B,GACzB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,yBAElD,GAAIgJ,EAAIS,KAAM,CACZ,IAAM25D,EAAc93D,KAAKC,MAAMvC,EAAIS,MAAM5O,QACvC,SAACW,GAAD,MAA+B,aAAhBA,EAAK4N,UAEtBqwD,GAAqB2J,QAErBv8C,GAAW,CACTG,OAAQ,qBACRhnB,MAAO,uBAMTqiE,GAAa,SAACr5D,GAClB,IAAKA,GAAOA,EAAIR,MACdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,yBAElD,GAAIgJ,EAAIS,KAAM,CACZ,IAAI45D,EAAU/3D,KAAKC,MAAMvC,EAAIS,MACvB65D,EAAYD,EAAQxoE,QACxB,SAAC2T,GAAD,MAAmC,eAAvBA,EAAEme,oBAEV42C,EAAUF,EAAQxoE,QACtB,SAAC2T,GAAD,MAAmC,aAAvBA,EAAEme,oBAEV62C,EAAmBH,EAAQxoE,QAC/B,SAAC2T,GAAD,OAAqC,IAAzBA,EAAEugB,sBAEV00C,EAAoBJ,EAAQxoE,QAChC,SAAC2T,GAAD,OAAqC,KAAzBA,EAAEugB,sBAEV20C,EAAmBL,EAAQxoE,QAC/B,SAAC2T,GAAD,OAAqC,KAAzBA,EAAEugB,sBAEV40C,EAAoBN,EAAQxoE,QAChC,SAAC2T,GAAD,OAAqC,KAAzBA,EAAEugB,sBAEV60C,EAAmBP,EAAQxoE,QAC/B,SAAC2T,GAAD,OAAqC,KAAzBA,EAAEugB,sBAEV80C,EAAiBR,EAAQxoE,QAC7B,SAAC2T,GAAD,MAAmC,iCAAvBA,EAAEme,oBAEVm3C,EAAiBT,EAAQxoE,QAC7B,SAAC2T,GAAD,MAAmC,4BAAvBA,EAAEme,oBAEVo3C,EAAgBV,EAAQxoE,QAC5B,SAAC2T,GAAD,MAAmC,iBAAvBA,EAAEme,oBAEVq3C,EAAgBX,EAAQxoE,QAC5B,SAAC2T,GAAD,MAAmC,cAAvBA,EAAEme,oBAGVuwC,EAAmBmG,EAAQxoE,QAC/B,SAAC2T,GAAD,OACEA,EAAEugB,qBACAy+B,GAAe53B,WAAWqM,MAAMjT,oBAClCxgB,EAAEugB,qBACAy+B,GAAe53B,WAAW+b,UAAU3iB,sBAEpCouC,EAAoBiG,EAAQxoE,QAChC,SAAC2T,GAAD,OACEA,EAAEugB,qBACAy+B,GAAe33B,WAAWoM,MAAMjT,oBAClCxgB,EAAEugB,qBACAy+B,GAAe33B,WAAW8b,UAAU3iB,sBAEpCsuC,EAAmB+F,EAAQxoE,QAC/B,SAAC2T,GAAD,OACEA,EAAEugB,qBACAy+B,GAAe13B,aAAamM,MAAMjT,oBACpCxgB,EAAEugB,qBACAy+B,GAAe13B,aAAa6b,UAAU3iB,sBAEtCwuC,EAAoB6F,EAAQxoE,QAChC,SAAC2T,GAAD,OACEA,EAAEugB,qBACAy+B,GAAe53B,WAAWyH,gBAAgB4E,MACvCjT,oBACLxgB,EAAEugB,qBACAy+B,GAAe53B,WAAWyH,gBAAgBsU,UACvC3iB,sBAGH0uC,EAAqB2F,EAAQxoE,QACjC,SAAC2T,GAAD,OACEA,EAAEugB,qBACAy+B,GAAe33B,WAAWwH,gBAAgB4E,MACvCjT,oBACLxgB,EAAEugB,qBACAy+B,GAAe33B,WAAWwH,gBAAgBsU,UACvC3iB,sBAEH4uC,EAAoByF,EAAQxoE,QAChC,SAAC2T,GAAD,OACEA,EAAEugB,qBACAy+B,GAAe13B,aAAauH,gBAAgB4E,MACzCjT,oBACLxgB,EAAEugB,qBACAy+B,GAAe13B,aAAauH,gBAAgBsU,UACzC3iB,sBAET,GAAIs0C,EAAUltE,OAAQ,CACpB,IAAI6tE,EAAS,eAAQlS,IACrBkS,EAAUj1C,mBAAqBs0C,EAAU,GAAGv0C,mBAC5Ck1C,EAAUv1C,WAAa40C,EAAU,GAAGz2C,WACpCo3C,EAAUr3C,iBAAmB02C,EAAU,GAAG32C,iBAC1CqlC,GAAYiS,GAGd,GAAIV,EAAQntE,OAAQ,CAClB,IAAI8tE,EAAO,eAAQjS,IACnBiS,EAAQl1C,mBAAqBu0C,EAAQ,GAAGx0C,mBACxCm1C,EAAQx1C,WAAa60C,EAAQ,GAAG12C,WAChCq3C,EAAQt3C,iBAAmB22C,EAAQ,GAAG52C,iBACtCulC,GAAUgS,GAGZ,GAAIV,EAAiBptE,OAAQ,CAC3B,IAAI+tE,EAAa,eAAQhS,IACzBgS,EAAcn1C,mBACZw0C,EAAiB,GAAGz0C,mBACtBo1C,EAAcv3C,iBAAmB42C,EAAiB,GAAG72C,iBACrDylC,GAAgB+R,GAGlB,GAAIV,EAAkBrtE,OAAQ,CAC5B,IAAIguE,EAAc,eAAQ/R,IAC1B+R,EAAep1C,mBACby0C,EAAkB,GAAG10C,mBACvBq1C,EAAex3C,iBACb62C,EAAkB,GAAG92C,iBACvB2lC,GAAiB8R,GAGnB,GAAIV,EAAiBttE,OAAQ,CAC3B,IAAIiuE,EAAa,eAAQ9R,IACzB8R,EAAcr1C,mBACZ00C,EAAiB,GAAG30C,mBACtBs1C,EAAcz3C,iBAAmB82C,EAAiB,GAAG/2C,iBACrD6lC,GAAgB6R,GAGlB,GAAIV,EAAkBvtE,OAAQ,CAC5B,IAAIkuE,EAAc,eAAQ7R,IAC1B6R,EAAet1C,mBACb20C,EAAkB,GAAG50C,mBACvBu1C,EAAe13C,iBACb+2C,EAAkB,GAAGh3C,iBACvB+lC,GAAiB4R,GAGnB,GAAIV,EAAiBxtE,OAAQ,CAC3B,IAAImuE,EAAa,eAAQ5R,IACzB4R,EAAcv1C,mBACZ40C,EAAiB,GAAG70C,mBACtBw1C,EAAc33C,iBAAmBg3C,EAAiB,GAAGj3C,iBACrDimC,GAAgB2R,GAGlB,GAAIT,EAAe1tE,OAAQ,CACzB,IAAIouE,EAAe,eAAQvR,IAC3BuR,EAAgB53C,iBAAmB,0BACnC43C,EAAgBx1C,mBACd80C,EAAe,GAAG/0C,mBACpBmkC,GAAkBsR,GAGpB,GAAIX,EAAeztE,OAAQ,CACzB,IAAIquE,EAAe,eAAQtR,IAC3BsR,EAAgB73C,iBAAmB,+BACnC63C,EAAgBz1C,mBACd60C,EAAe,GAAG90C,mBACpBqkC,GAAkBqR,GAGpB,GAAIT,EAAc5tE,OAAQ,CACxB,IAAIsuE,EAAa,eAAQrR,IACzBqR,EAAc93C,iBAAmB,YACjC83C,EAAc11C,mBACZg1C,EAAc,GAAGj1C,mBACnB21C,EAAch2C,WAAas1C,EAAc,GAAGn3C,WAC5CymC,GAAgBoR,GAGlB,GAAIX,EAAc3tE,OAAQ,CACxB,IAAIuuE,EAAU,eAAQpR,IACtBoR,EAAW/3C,iBAAmB,eAC9B+3C,EAAW31C,mBAAqB+0C,EAAc,GAAGh1C,mBACjD41C,EAAWj2C,WAAaq1C,EAAc,GAAGl3C,WACzC2mC,GAAamR,GAEf7oD,GAAW0C,IACXoyC,GAAiB4S,GACjB1S,GAAkB2S,GAClBzS,GAAiB0S,GACjBxS,GAAkByS,GAClBvS,GAAiBwS,GACjBtS,GAAewS,GACftS,GAAeqS,GACfvxC,GAAcyxC,GACd5G,GAAoBD,GACpBG,GAAqBD,GACrBG,GAAoBD,GACpBG,GAAqBD,GACrBG,GAAsBD,GACtBG,GAAqBD,QAGrB/2C,GAAW,CACTG,OAAQ,qBACRhnB,MAAO,uBAMTsiE,GAAiB,SAACt5D,GACtB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,yBAC7C,GAAIgJ,EAAIS,KAAM,CACnB,IAAMm7D,EAASt5D,KAAKC,MAAMvC,EAAIS,MACxBysB,EAAU0uC,EAAO/pE,QACrB,SAAC2T,GAAD,MACyB,eAAvBA,EAAEme,kBxE9uBgB,IwE8uBqBne,EAAEqe,cAGvCg4C,EAAYD,EAAO/pE,QACvB,SAAC2T,GAAD,MAAmC,aAAvBA,EAAEme,oBAEVm4C,EAAsBF,EAAO/pE,QACjC,SAAC2T,GAAD,OAAqC,IAAzBA,EAAEugB,sBAEVg2C,EAAuBH,EAAO/pE,QAClC,SAAC2T,GAAD,OAAqC,KAAzBA,EAAEugB,sBAEVi2C,EAAsBJ,EAAO/pE,QACjC,SAAC2T,GAAD,OAAqC,KAAzBA,EAAEugB,sBAEVk2C,EAAuBL,EAAO/pE,QAClC,SAAC2T,GAAD,OAAqC,KAAzBA,EAAEugB,sBAEVm2C,EAAsBN,EAAO/pE,QACjC,SAAC2T,GAAD,OAAqC,KAAzBA,EAAEugB,sBAEVo2C,EAAqBP,EAAO/pE,QAChC,SAAC2T,GAAD,MAAmC,iCAAvBA,EAAEme,oBAEVy4C,EAAqBR,EAAO/pE,QAChC,SAAC2T,GAAD,MAAmC,4BAAvBA,EAAEme,oBAEV0J,EAAcuuC,EAAO/pE,QACzB,SAAC2T,GAAD,MACyB,cAAvBA,EAAEme,kBxEtvBuB,KwEuvBzBne,EAAEqe,cAEAw4C,EAAgBT,EAAO/pE,QAC3B,SAAC2T,GAAD,MAAmC,iBAAvBA,EAAEme,oBAEV24C,EAAsBV,EAAO/pE,QACjC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe53B,WAAWqM,MAAMjT,sBAE9Bu2C,EAA0BX,EAAO/pE,QACrC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe53B,WAAW+b,UAAU3iB,sBAElCw2C,EAAuBZ,EAAO/pE,QAClC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe33B,WAAWoM,MAAMjT,sBAE9By2C,EAA2Bb,EAAO/pE,QACtC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe33B,WAAW8b,UAAU3iB,sBAElC02C,EAAsBd,EAAO/pE,QACjC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe13B,aAAamM,MAAMjT,sBAEhC22C,EAA0Bf,EAAO/pE,QACrC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe13B,aAAa6b,UAAU3iB,sBAEpCywC,EAAuBmF,EAAO/pE,QAClC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe53B,WAAWyH,gBAAgB4E,MAAMjT,sBAE9C0wC,EAA2BkF,EAAO/pE,QACtC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe53B,WAAWyH,gBAAgBsU,UAAU3iB,sBAElD2wC,EAAwBiF,EAAO/pE,QACnC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe33B,WAAWwH,gBAAgB4E,MAAMjT,sBAE9C4wC,EAA4BgF,EAAO/pE,QACvC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe33B,WAAWwH,gBAAgBsU,UAAU3iB,sBAElD6wC,EAAuB+E,EAAO/pE,QAClC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe13B,aAAauH,gBAAgB4E,MAAMjT,sBAGhD8wC,EAA2B8E,EAAO/pE,QACtC,SAAC2T,GAAD,OACEA,EAAEugB,qBACFy+B,GAAe13B,aAAauH,gBAAgBsU,UACzC3iB,sBAGP,GAAIs2C,EAAoBlvE,OAAS,EAAG,CAClCyoB,GAAa,GACb,IAAI+mD,EAAiB,YAAOtJ,IAC5BsJ,EAAkB,GAAG7rE,GAAK,QAC1B6rE,EAAkB,GAAGx0C,SAAU,EAC/Bw0C,EAAkB,GAAGv0C,UAAY,IACjCu0C,EAAkB,GAAGl6C,SAAW45C,EAAoB,GAAGtjD,SACvD4jD,EAAkB,GAAGr0C,UAAW,EAChCq0C,EAAkB,GAAGt0C,cAAe,EACpCs0C,EAAkB,GAAGh3C,SAAW02C,EAAoB,GAAG32C,SACvDi3C,EAAkB,GAAG52C,mBACnBs2C,EAAoB,GAAGv2C,mBACzB62C,EAAkB,GAAGl3C,WAAa42C,EAAoB,GAAGz4C,WACzD+4C,EAAkB,GAAGh5C,iBACnB04C,EAAoB,GAAG34C,iBACzB4vC,GAAmBqJ,GACnBn6C,IACE,SAACziB,GAAD,OAAc68D,GAAkB78D,EAAK,WACrCs8D,EAAoB,GAAGtjD,SACvBsjD,EAAoB,GAAGQ,iBAG3B,GAAIP,EAAwBnvE,OAAS,EAAG,CACtCyoB,GAAa,GACb,IAAIknD,EAAqB,YAAOzJ,IAEhCyJ,EAAsB,GAAGhsE,GAAK,YAC9BgsE,EAAsB,GAAG30C,SAAU,EACnC20C,EAAsB,GAAG10C,UAAY,IACrC00C,EAAsB,GAAGr6C,SAAW65C,EAAwB,GAAGvjD,SAC/D+jD,EAAsB,GAAGx0C,UAAW,EACpCw0C,EAAsB,GAAGz0C,cAAe,EACxCy0C,EAAsB,GAAGn3C,SAAW22C,EAAwB,GAAG52C,SAC/Do3C,EAAsB,GAAG/2C,mBACvBu2C,EAAwB,GAAGx2C,mBAC7Bg3C,EAAsB,GAAGr3C,WACvB62C,EAAwB,GAAG14C,WAC7Bk5C,EAAsB,GAAGn5C,iBACvB24C,EAAwB,GAAG54C,iBAC7B4vC,GAAmBwJ,GACnBt6C,IACE,SAACziB,GAAD,OAAc68D,GAAkB78D,EAAK,eACrCu8D,EAAwB,GAAGvjD,SAC3BujD,EAAwB,GAAGO,iBAG/B,GAAIN,EAAqBpvE,OAAS,EAAG,CACnCyoB,GAAa,GACb,IAAImnD,EAAkB,YAAOxJ,IAE7BwJ,EAAmB,GAAGjsE,GAAK,QAC3BisE,EAAmB,GAAG50C,SAAU,EAChC40C,EAAmB,GAAG30C,UAAY,IAClC20C,EAAmB,GAAGt6C,SAAW85C,EAAqB,GAAGxjD,SACzDgkD,EAAmB,GAAGz0C,UAAW,EACjCy0C,EAAmB,GAAG10C,cAAe,EACrC00C,EAAmB,GAAGp3C,SAAW42C,EAAqB,GAAG72C,SACzDq3C,EAAmB,GAAGh3C,mBACpBw2C,EAAqB,GAAGz2C,mBAC1Bi3C,EAAmB,GAAGt3C,WAAa82C,EAAqB,GAAG34C,WAC3Dm5C,EAAmB,GAAGp5C,iBACpB44C,EAAqB,GAAG74C,iBAC1B8vC,GAAoBuJ,GACpBv6C,IACE,SAACziB,GAAD,OAAci9D,GAAmBj9D,EAAK,WACtCw8D,EAAqB,GAAGxjD,SACxBwjD,EAAqB,GAAGM,iBAG5B,GAAIL,EAAyBrvE,OAAS,EAAG,CACvCyoB,GAAa,GACb,IAAIqnD,EAAsB,YAAO1J,IAEjC0J,EAAuB,GAAGnsE,GAAK,YAC/BmsE,EAAuB,GAAG90C,SAAU,EACpC80C,EAAuB,GAAG70C,UAAY,IACtC60C,EAAuB,GAAGx6C,SACxB+5C,EAAyB,GAAGzjD,SAC9BkkD,EAAuB,GAAG30C,UAAW,EACrC20C,EAAuB,GAAG50C,cAAe,EACzC40C,EAAuB,GAAGt3C,SACxB62C,EAAyB,GAAG92C,SAC9Bu3C,EAAuB,GAAGl3C,mBACxBy2C,EAAyB,GAAG12C,mBAC9Bm3C,EAAuB,GAAGx3C,WACxB+2C,EAAyB,GAAG54C,WAC9Bq5C,EAAuB,GAAGt5C,iBACxB64C,EAAyB,GAAG94C,iBAC9B8vC,GAAoByJ,GACpBz6C,IACE,SAACziB,GAAD,OAAci9D,GAAmBj9D,EAAK,eACtCy8D,EAAyB,GAAGzjD,SAC5ByjD,EAAyB,GAAGK,iBAGhC,GAAIJ,EAAoBtvE,OAAS,EAAG,CAClCyoB,GAAa,GACb,IAAIsnD,EAAiB,YAAOzJ,IAE5ByJ,EAAkB,GAAGpsE,GAAK,QAC1BosE,EAAkB,GAAG/0C,SAAU,EAC/B+0C,EAAkB,GAAG90C,UAAY,IACjC80C,EAAkB,GAAGz6C,SAAWg6C,EAAoB,GAAG1jD,SACvDmkD,EAAkB,GAAG50C,UAAW,EAChC40C,EAAkB,GAAG70C,cAAe,EACpC60C,EAAkB,GAAGv3C,SAAW82C,EAAoB,GAAG/2C,SACvDw3C,EAAkB,GAAGn3C,mBACnB02C,EAAoB,GAAG32C,mBACzBo3C,EAAkB,GAAGz3C,WAAag3C,EAAoB,GAAG74C,WACzDs5C,EAAkB,GAAGv5C,iBACnB84C,EAAoB,GAAG/4C,iBACzBgwC,GAAmBwJ,GACnB16C,IACE,SAACziB,GAAD,OAAco9D,GAAkBp9D,EAAK,WACrC08D,EAAoB,GAAG1jD,SACvB0jD,EAAoB,GAAGI,iBAG3B,GAAIH,EAAwBvvE,OAAS,EAAG,CACtCyoB,GAAa,GACb,IAAIwnD,EAAqB,YAAO3J,IAEhC2J,EAAsB,GAAGtsE,GAAK,YAC9BssE,EAAsB,GAAGj1C,SAAU,EACnCi1C,EAAsB,GAAGh1C,UAAY,IACrCg1C,EAAsB,GAAG36C,SAAWi6C,EAAwB,GAAG3jD,SAC/DqkD,EAAsB,GAAG90C,UAAW,EACpC80C,EAAsB,GAAG/0C,cAAe,EACxC+0C,EAAsB,GAAGz3C,SAAW+2C,EAAwB,GAAGh3C,SAC/D03C,EAAsB,GAAGr3C,mBACvB22C,EAAwB,GAAG52C,mBAC7Bs3C,EAAsB,GAAG33C,WACvBi3C,EAAwB,GAAG94C,WAC7Bw5C,EAAsB,GAAGz5C,iBACvB+4C,EAAwB,GAAGh5C,iBAC7BgwC,GAAmB0J,GACnB56C,IACE,SAACziB,GAAD,OAAco9D,GAAkBp9D,EAAK,eACrC28D,EAAwB,GAAG3jD,SAC3B2jD,EAAwB,GAAGG,iBAK/B,GAAIrG,EAAqBrpE,OAAS,EAAG,CACnCyoB,GAAa,GACb,IAAIynD,EAAkB,YAAO1J,IAE7B0J,EAAmB,GAAGvsE,GAAK,QAC3BusE,EAAmB,GAAGl1C,SAAU,EAChCk1C,EAAmB,GAAGj1C,UAAY,IAClCi1C,EAAmB,GAAG56C,SAAW+zC,EAAqB,GAAGz9C,SACzDskD,EAAmB,GAAG/0C,UAAW,EACjC+0C,EAAmB,GAAGh1C,cAAe,EACrCg1C,EAAmB,GAAG13C,SAAW6wC,EAAqB,GAAG9wC,SACzD23C,EAAmB,GAAGt3C,mBACpBywC,EAAqB,GAAG1wC,mBAC1Bu3C,EAAmB,GAAG53C,WAAa+wC,EAAqB,GAAG5yC,WAC3Dy5C,EAAmB,GAAG15C,iBACpB6yC,EAAqB,GAAG9yC,iBAC1BkwC,GAAoByJ,GACpB76C,IACE,SAACziB,GAAD,OAAcu9D,GAAmBv9D,EAAK,WACtCy2D,EAAqB,GAAGz9C,SACxBy9C,EAAqB,GAAGqG,iBAI5B,GAAIpG,EAAyBtpE,OAAS,EAAG,CACvCyoB,GAAa,GACb,IAAI+/C,EAAsB,YAAOhC,IAEjCgC,EAAuB,GAAG7kE,GAAK,YAC/B6kE,EAAuB,GAAGxtC,SAAU,EACpCwtC,EAAuB,GAAGvtC,UAAY,IACtCutC,EAAuB,GAAGlzC,SACxBg0C,EAAyB,GAAG19C,SAC9B48C,EAAuB,GAAGrtC,UAAW,EACrCqtC,EAAuB,GAAGttC,cAAe,EACzCstC,EAAuB,GAAGhwC,SACxB8wC,EAAyB,GAAG/wC,SAC9BiwC,EAAuB,GAAG5vC,mBACxB0wC,EAAyB,GAAG3wC,mBAC9B6vC,EAAuB,GAAGlwC,WACxBgxC,EAAyB,GAAG7yC,WAC9B+xC,EAAuB,GAAGhyC,iBACxB8yC,EAAyB,GAAG/yC,iBAC9BkwC,GAAoB+B,GACpBnzC,IACE,SAACziB,GAAD,OAAcu9D,GAAmBv9D,EAAK,eACtC02D,EAAyB,GAAG19C,SAC5B09C,EAAyB,GAAGoG,iBAIhC,GAAInG,EAAsBvpE,OAAS,EAAG,CACpCyoB,GAAa,GACb,IAAI2nD,EAAmB,YAAO1J,IAE9B0J,EAAoB,GAAGzsE,GAAK,QAC5BysE,EAAoB,GAAGp1C,SAAU,EACjCo1C,EAAoB,GAAGn1C,UAAY,IACnCm1C,EAAoB,GAAG96C,SAAWi0C,EAAsB,GAAG39C,SAC3DwkD,EAAoB,GAAGj1C,UAAW,EAClCi1C,EAAoB,GAAGl1C,cAAe,EACtCk1C,EAAoB,GAAG53C,SAAW+wC,EAAsB,GAAGhxC,SAC3D63C,EAAoB,GAAGx3C,mBACrB2wC,EAAsB,GAAG5wC,mBAC3By3C,EAAoB,GAAG93C,WAAaixC,EAAsB,GAAG9yC,WAC7D25C,EAAoB,GAAG55C,iBACrB+yC,EAAsB,GAAGhzC,iBAC3BowC,GAAqByJ,GACrB/6C,IACE,SAACziB,GAAD,OAAcy9D,GAAoBz9D,EAAK,WACvC22D,EAAsB,GAAG39C,SACzB29C,EAAsB,GAAGmG,iBAI7B,GAAIlG,EAA0BxpE,OAAS,EAAG,CACxCyoB,GAAa,GACb,IAAIigD,EAAuB,YAAOhC,IAElCgC,EAAwB,GAAG/kE,GAAK,YAChC+kE,EAAwB,GAAG1tC,SAAU,EACrC0tC,EAAwB,GAAGztC,UAAY,IACvCytC,EAAwB,GAAGpzC,SACzBk0C,EAA0B,GAAG59C,SAC/B88C,EAAwB,GAAGvtC,UAAW,EACtCutC,EAAwB,GAAGxtC,cAAe,EAC1CwtC,EAAwB,GAAGlwC,SACzBgxC,EAA0B,GAAGjxC,SAC/BmwC,EAAwB,GAAG9vC,mBACzB4wC,EAA0B,GAAG7wC,mBAC/B+vC,EAAwB,GAAGpwC,WACzBkxC,EAA0B,GAAG/yC,WAC/BiyC,EAAwB,GAAGlyC,iBACzBgzC,EAA0B,GAAGjzC,iBAC/BowC,GAAqB+B,GACrBrzC,IACE,SAACziB,GAAD,OAAcy9D,GAAoBz9D,EAAK,eACvC42D,EAA0B,GAAG59C,SAC7B49C,EAA0B,GAAGkG,iBAGjC,GAAIjG,EAAqBzpE,OAAS,EAAG,CACnCyoB,GAAa,GACb,IAAI6nD,EAAkB,YAAO1J,IAE7B0J,EAAmB,GAAG3sE,GAAK,QAC3B2sE,EAAmB,GAAGt1C,SAAU,EAChCs1C,EAAmB,GAAGr1C,UAAY,IAClCq1C,EAAmB,GAAGh7C,SAAWm0C,EAAqB,GAAG79C,SACzD0kD,EAAmB,GAAGn1C,UAAW,EACjCm1C,EAAmB,GAAGp1C,cAAe,EACrCo1C,EAAmB,GAAG93C,SAAWixC,EAAqB,GAAGlxC,SACzD+3C,EAAmB,GAAG13C,mBACpB6wC,EAAqB,GAAG9wC,mBAC1B23C,EAAmB,GAAGh4C,WAAamxC,EAAqB,GAAGhzC,WAC3D65C,EAAmB,GAAG95C,iBACpBizC,EAAqB,GAAGlzC,iBAC1BswC,GAAoByJ,GACpBj7C,IACE,SAACziB,GAAD,OAAc29D,GAAmB39D,EAAK,WACtC62D,EAAqB,GAAG79C,SACxB69C,EAAqB,GAAGiG,iBAG5B,GAAIhG,EAAyB1pE,OAAS,EAAG,CACvCyoB,GAAa,GACb,IAAImgD,EAAsB,YAAOhC,IAEjCgC,EAAuB,GAAGjlE,GAAK,YAC/BilE,EAAuB,GAAG5tC,SAAU,EACpC4tC,EAAuB,GAAG3tC,UAAY,IACtC2tC,EAAuB,GAAGtzC,SACxBo0C,EAAyB,GAAG99C,SAC9Bg9C,EAAuB,GAAGztC,UAAW,EACrCytC,EAAuB,GAAG1tC,cAAe,EACzC0tC,EAAuB,GAAGpwC,SACxBkxC,EAAyB,GAAGnxC,SAC9BqwC,EAAuB,GAAGhwC,mBACxB8wC,EAAyB,GAAG/wC,mBAC9BiwC,EAAuB,GAAGtwC,WACxBoxC,EAAyB,GAAGjzC,WAC9BmyC,EAAuB,GAAGpyC,iBACxBkzC,EAAyB,GAAGnzC,iBAC9BswC,GAAoB+B,GACpBvzC,IACE,SAACziB,GAAD,OAAc29D,GAAmB39D,EAAK,eACtC82D,EAAyB,GAAG99C,SAC5B89C,EAAyB,GAAGgG,iBAgDhC,GA3CI5vC,EAAQ9/B,OAAS,IACnByoB,GAAa,GACbkzC,GAASh4D,GAAK,QACdg4D,GAAS3gC,SAAU,EACnB2gC,GAAS1gC,UAAY,IACrB0gC,GAASrmC,SAAWwK,EAAQ,GAAGlU,SAC/B+vC,GAASxgC,UAAW,EACpBwgC,GAASzgC,cAAe,EACxBygC,GAASnjC,SAAWsH,EAAQ,GAAGvH,SAC/BojC,GAAS/iC,mBAAqBkH,EAAQ,GAAGnH,mBACzCgjC,GAASrjC,WAAawH,EAAQ,GAAGrJ,WACjCklC,GAASnlC,iBAAmBsJ,EAAQ,GAAGvJ,iBACvCqlC,GAAYD,IACZtmC,GACEm7C,GACA1wC,EAAQ,GAAGlU,SACXkU,EAAQ,GAAG4vC,kBAGfrpE,QAAQC,IAAI,YAAamoE,GACrBA,EAAUzuE,OAAS,IACrByoB,GAAa,GACbozC,GAAOl4D,GAAK,UACZk4D,GAAO7gC,SAAU,EACjB6gC,GAAO5gC,UAAY,IACnB4gC,GAAOvmC,SAAP,UAAqBza,GAAYwQ,cAAjC,aACAwwC,GAAO1gC,UAAW,EAClB0gC,GAAO3gC,cAAe,EACtB2gC,GAAOrjC,SAAWi2C,EAAU,GAAGl2C,SAC/BsjC,GAAOjjC,mBAAqB61C,EAAU,GAAG91C,mBACzCkjC,GAAOvjC,WAAam2C,EAAU,GAAGh4C,WACjColC,GAAOrlC,iBAAmBi4C,EAAU,GAAGl4C,iBACvCulC,GAAUD,IACVxmC,GACEo7C,GACAhC,EAAU,GAAG7iD,SACb6iD,EAAU,GAAGiB,kBAGQ,IAAZ,OAATjB,QAAS,IAATA,OAAA,EAAAA,EAAWzuE,SACbgqE,IAAqB,GAGnB0E,EAAoB1uE,OAAS,EAAG,CAClCyoB,GAAa,GAC+B,qBAAxCimD,EAAoB,GAAGgC,aACzBhT,GAAuB,oBAGvB,sCADAgR,EAAoB,GAAGgC,cAGvBhT,GAAuB,qCAEzB3B,GAAap4D,GAAK,eAClBo4D,GAAa/gC,SAAU,EACvB+gC,GAAa9gC,UAAY,IACzB8gC,GAAazmC,SAAb,UAA2Bza,GAAYwQ,cAAvC,eACA0wC,GAAa5gC,UAAW,EACxB4gC,GAAa7gC,cAAe,EAC5B6gC,GAAazjC,WAAao2C,EAAoB,GAAGj4C,WACjDslC,GAAavjC,SAAWk2C,EAAoB,GAAGn2C,SAC/CwjC,GAAavlC,iBAAmBk4C,EAAoB,GAAGn4C,iBACvDwlC,GAAanjC,mBACX81C,EAAoB,GAAG/1C,mBACzBqjC,GAAgBD,IAChB1mC,GACEs7C,GACAjC,EAAoB,GAAG9iD,SACvB8iD,EAAoB,GAAGgB,iBAEzB,IAAItP,EAAwB,GAC5BA,EAAiBvpC,SAAW63C,EAAoB,GAAG73C,SACnDupC,EAAiBrpC,YAAc23C,EAAoB,GAAG33C,YACtDspC,GAAoBD,GAGtB,GAAIuO,EAAqB3uE,OAAS,EAAG,CACnCyoB,GAAa,GACgC,qBAAzCkmD,EAAqB,GAAG+B,aAC1B9S,GAAwB,oBAGxB,sCADA+Q,EAAqB,GAAG+B,cAGxB9S,GAAwB,qCAE1B3B,GAAct4D,GAAK,gBACnBs4D,GAAcjhC,SAAU,EACxBihC,GAAchhC,UAAY,IAC1BghC,GAAc3mC,SAAd,UAA4Bza,GAAYwQ,cAAxC,gBACA4wC,GAAc9gC,UAAW,EACzB8gC,GAAc/gC,cAAe,EAC7B+gC,GAAc3jC,WAAaq2C,EAAqB,GAAGl4C,WACnDwlC,GAAczjC,SAAWm2C,EAAqB,GAAGp2C,SACjD0jC,GAAczlC,iBACZm4C,EAAqB,GAAGp4C,iBAC1B0lC,GAAcrjC,mBACZ+1C,EAAqB,GAAGh2C,mBAC1BujC,GAAiBD,IACjB5mC,GACEs7C,GACAhC,EAAqB,GAAG/iD,SACxB+iD,EAAqB,GAAGe,iBAE1B,IAAIpP,EAAyB,GAC7BA,EAAkBzpC,SAAW83C,EAAqB,GAAG93C,SACrDypC,EAAkBvpC,YAAc43C,EAAqB,GAAG53C,YACxDwpC,GAAqBD,GAGvB,GAAIsO,EAAoB5uE,OAAS,EAAG,CAClCyoB,GAAa,GAC+B,qBAAxCmmD,EAAoB,GAAG8B,aACzB5S,GAAuB,oBAGvB,sCADA8Q,EAAoB,GAAG8B,cAGvB5S,GAAuB,qCAGzB3B,GAAax4D,GAAK,eAClBw4D,GAAanhC,SAAU,EACvBmhC,GAAalhC,UAAY,IACzBkhC,GAAa7mC,SAAb,UAA2Bza,GAAYwQ,cAAvC,eACA8wC,GAAahhC,UAAW,EACxBghC,GAAajhC,cAAe,EAC5BihC,GAAa7jC,WAAas2C,EAAoB,GAAGn4C,WACjD0lC,GAAa3jC,SAAWo2C,EAAoB,GAAGr2C,SAC/C4jC,GAAa3lC,iBAAmBo4C,EAAoB,GAAGr4C,iBACvD4lC,GAAavjC,mBACXg2C,EAAoB,GAAGj2C,mBACzByjC,GAAgBD,IAChB9mC,GACEs7C,GACA/B,EAAoB,GAAGhjD,SACvBgjD,EAAoB,GAAGc,iBAEzB,IAAIlP,EAAwB,GAC5BA,EAAiB3pC,SAAW+3C,EAAoB,GAAG/3C,SACnD2pC,EAAiBzpC,YAAc63C,EAAoB,GAAG73C,YACtD0pC,GAAoBD,GAGtB,GAAIqO,EAAqB7uE,OAAS,EAAG,CACnCyoB,GAAa,GACgC,qBAAzComD,EAAqB,GAAG6B,aAC1B1S,GAAwB,oBAGxB,sCADA6Q,EAAqB,GAAG6B,cAGxB1S,GAAwB,qCAG1B3B,GAAc14D,GAAK,gBACnB04D,GAAcrhC,SAAU,EACxBqhC,GAAcphC,UAAY,IAC1BohC,GAAc/mC,SAAd,UAA4Bza,GAAYwQ,cAAxC,gBACAgxC,GAAclhC,UAAW,EACzBkhC,GAAcnhC,cAAe,EAC7BmhC,GAAc/jC,WAAau2C,EAAqB,GAAGp4C,WACnD4lC,GAAc7jC,SAAWq2C,EAAqB,GAAGt2C,SACjD8jC,GAAc7lC,iBACZq4C,EAAqB,GAAGt4C,iBAC1B8lC,GAAczjC,mBACZi2C,EAAqB,GAAGl2C,mBAC1B2jC,GAAiBD,IACjBhnC,GACEs7C,GACA9B,EAAqB,GAAGjjD,SACxBijD,EAAqB,GAAGa,iBAE1B,IAAIhP,EAAyB,GAC7BA,EAAkB7pC,SAAWg4C,EAAqB,GAAGh4C,SACrD6pC,EAAkB3pC,YAAc83C,EAAqB,GAAG93C,YACxD4pC,GAAqBD,GAGvB,GAAIoO,EAAoB9uE,OAAS,EAAG,CAClCyoB,GAAa,GAC+B,qBAAxCqmD,EAAoB,GAAG4B,aACzBxS,GAAuB,oBAGvB,sCADA4Q,EAAoB,GAAG4B,cAGvBxS,GAAuB,qCAGzB3B,GAAa54D,GAAK,eAClB44D,GAAavhC,SAAU,EACvBuhC,GAAathC,UAAY,IACzBshC,GAAajnC,SAAb,UAA2Bza,GAAYwQ,cAAvC,eACAkxC,GAAaphC,UAAW,EACxBohC,GAAarhC,cAAe,EAC5BqhC,GAAajkC,WAAaw2C,EAAoB,GAAGr4C,WACjD8lC,GAAa/jC,SAAWs2C,EAAoB,GAAGv2C,SAC/CgkC,GAAa/lC,iBAAmBs4C,EAAoB,GAAGv4C,iBACvDgmC,GAAa3jC,mBACXk2C,EAAoB,GAAGn2C,mBACzB6jC,GAAgBD,IAChBlnC,GACEs7C,GACA7B,EAAoB,GAAGljD,SACvBkjD,EAAoB,GAAGY,iBAEzB,IAAI9O,EAAwB,GAC5BA,EAAiB/pC,SAAWi4C,EAAoB,GAAGj4C,SACnD+pC,EAAiB7pC,YAAc+3C,EAAoB,GAAG/3C,YACtD8pC,GAAoBD,GAGlBoO,EAAmBhvE,OAAS,IAC9ByoB,GAAa,GACbw9C,IAA2B,GACgB,iBAAvC+I,EAAmB,GAAG0B,aACxBpT,GAAkB,gBAC8B,aAAvC0R,EAAmB,GAAG0B,aAC/BpT,GAAkB,YAC8B,aAAvC0R,EAAmB,GAAG0B,aAC/BpT,GAAkB,YAC8B,oBAAvC0R,EAAmB,GAAG0B,aAC/BpT,GAAkB,mBAC8B,mBAAvC0R,EAAmB,GAAG0B,cAC/BpT,GAAkB,kBAGpBT,GAAel5D,GAAK,cACpBk5D,GAAe7hC,QAAUyvC,GACzB5N,GAAe5hC,UAAY,IAC3B4hC,GAAevnC,SAAf,UAA6Bza,GAAYwQ,cAAzC,sBACAwxC,GAAe1hC,UAAW,EAC1B0hC,GAAe3hC,cAAe,EAC9B2hC,GAAejkC,mBACbo2C,EAAmB,GAAGr2C,mBACxBkkC,GAAermC,iBACbw4C,EAAmB,GAAGz4C,iBACxBsmC,GAAevkC,WAAa02C,EAAmB,GAAGv4C,WAClDomC,GAAerkC,SAAWw2C,EAAmB,GAAGz2C,SAChDskC,GAAejkC,mBACbo2C,EAAmB,GAAGr2C,mBACxBmkC,GAAkBD,IAClBxnC,GACEu7C,GACA5B,EAAmB,GAAGpjD,SACtBojD,EAAmB,GAAGU,kBAItBX,EAAmB/uE,OAAS,IAC9ByoB,GAAa,GAC8B,iBAAvCsmD,EAAmB,GAAG2B,aACxBlT,GAAsB,gBAC0B,aAAvCuR,EAAmB,GAAG2B,aAC/BlT,GAAsB,YAC0B,aAAvCuR,EAAmB,GAAG2B,aAC/BlT,GAAsB,YAC0B,oBAAvCuR,EAAmB,GAAG2B,aAC/BlT,GAAsB,mBAC0B,mBAAvCuR,EAAmB,GAAG2B,cAC/BlT,GAAsB,kBAGxBT,GAAep5D,GAAK,cACpBo5D,GAAe/hC,SAAU,EACzB+hC,GAAe9hC,UAAY,IAC3B8hC,GAAeznC,SAAf,UAA6Bza,GAAYwQ,cAAzC,2BACA0xC,GAAe5hC,UAAW,EAC1B4hC,GAAe7hC,cAAe,EAC9B6hC,GAAenkC,mBACbm2C,EAAmB,GAAGp2C,mBACxBokC,GAAevmC,iBACbu4C,EAAmB,GAAGx4C,iBACxBwmC,GAAezkC,WAAay2C,EAAmB,GAAGt4C,WAClDsmC,GAAevkC,SAAWu2C,EAAmB,GAAGx2C,SAChDwkC,GAAenkC,mBACbm2C,EAAmB,GAAGp2C,mBACxBqkC,GAAkBD,IAClB1nC,GACEw7C,GACA9B,EAAmB,GAAGnjD,SACtBmjD,EAAmB,GAAGW,kBAG1BrpE,QAAQC,IAAI,cAAe25B,GACvBA,EAAYjgC,OAAS,IACvByoB,GAAa,GACboiD,IAAc,GACd5N,GAAat5D,GAAK,YAClBs5D,GAAajiC,SAAU,EACvBiiC,GAAahiC,UAAY,IACzBgiC,GAAa3nC,SAAb,UAA2Bza,GAAYwQ,cAAvC,cACA4xC,GAAa9hC,UAAW,EACxB8hC,GAAa/hC,cAAe,EAC5B+hC,GAAazkC,SAAWyH,EAAY,GAAG1H,SACvC0kC,GAAarkC,mBAAqBqH,EAAY,GAAGtH,mBACjDskC,GAAa3kC,WAAa2H,EAAY,GAAGxJ,WACzCymC,GAAgBD,IAChB5nC,GACEy7C,GACA7wC,EAAY,GAAGrU,SACfqU,EAAY,GAAGyvC,kBAIfT,EAAcjvE,OAAS,IACzByoB,GAAa,GACyB,YAAlCwmD,EAAc,GAAGyB,aACnBtS,GAAoB,WACuB,gBAAlC6Q,EAAc,GAAGyB,aAC1BtS,GAAoB,eACuB,wBAAlC6Q,EAAc,GAAGyB,aAC1BtS,GAAoB,uBACuB,mBAAlC6Q,EAAc,GAAGyB,aAC1BtS,GAAoB,kBAEc,4BAAlC6Q,EAAc,GAAGyB,aAEjBtS,GAAoB,2BACuB,yBAAlC6Q,EAAc,GAAGyB,cAC1BtS,GAAoB,wBAGtBjB,GAAUx5D,GAAK,YACfw5D,GAAUniC,SAAU,EACpBmiC,GAAUliC,UAAY,IACtBkiC,GAAU7nC,SAAV,UAAwBza,GAAYwQ,cAApC,WACA8xC,GAAUhiC,UAAW,EACrBgiC,GAAUjiC,cAAe,EACzBiiC,GAAU3kC,SAAWy2C,EAAc,GAAG12C,SACtC4kC,GAAU7kC,WAAa22C,EAAc,GAAGx4C,WACxC0mC,GAAUvkC,mBAAqBq2C,EAAc,GAAGt2C,mBAChDykC,GAAaD,IACb9nC,GACE07C,GACA9B,EAAc,GAAGrjD,SACjBqjD,EAAc,GAAGS,uBAIrB5T,GAAUD,IACVG,GAAgBD,IAChBe,GAAkBD,IAClBG,GAAkBD,IAClBG,GAAgBD,IAChBG,GAAaD,IACb1sC,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,sBAEpD6e,GAAa,IAGf,SAASuoD,GAAUC,EAAoBtrD,GACrC,MACE,SACkB,oBAAjBA,EAAI6S,SAAiC,kBAAoB,cAC1D,WACAy4C,EAIJ,IAAMxB,GAAoB,SAAC78D,EAAUs+D,GACnC,IAAKt+D,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB69D,EAA0B,CAC5B,IAAM71C,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBsxC,GAAgB,IAC9DiL,EAAQ,YAAOjL,IACnBiL,EAAS,GAAG/1C,OAASC,EACrB8qC,GAAmBgL,OACd,CACL,IAAM91C,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBsxC,GAAgB,IAC9DiL,EAAQ,YAAOjL,IACnBiL,EAAS,GAAG/1C,OAASC,EACrB8qC,GAAmBgL,GASzB1oD,GAAa,IAETonD,GAAqB,SAACj9D,EAAUs+D,GACpC,IAAKt+D,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB69D,EAA0B,CAC5B,IAAM71C,EAAS21C,GACbp+D,EAAIS,KAAKuhB,eACTwxC,GAAiB,IAEf+K,EAAQ,YAAO/K,IACnB+K,EAAS,GAAG/1C,OAASC,EACrBgrC,GAAoB8K,OACf,CACL,IAAM91C,EAAS21C,GACbp+D,EAAIS,KAAKuhB,eACTwxC,GAAiB,IAEf+K,EAAQ,YAAO/K,IACnB+K,EAAS,GAAG/1C,OAASC,EACrBgrC,GAAoB8K,GAS1B1oD,GAAa,IAETunD,GAAoB,SAACp9D,EAAUs+D,GACnC,IAAKt+D,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB69D,EAA0B,CAC5B,IAAM71C,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgB0xC,GAAgB,IAC9D6K,EAAQ,YAAO7K,IACnB6K,EAAS,GAAG/1C,OAASC,EACrBkrC,GAAmB4K,OACd,CACL,IAAM91C,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgB0xC,GAAgB,IAC9D6K,EAAQ,YAAO7K,IACnB6K,EAAS,GAAG/1C,OAASC,EACrBkrC,GAAmB4K,GASzB1oD,GAAa,IAGT0nD,GAAqB,SAACv9D,EAAUs+D,GACpC,IAAKt+D,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB69D,EAA0B,CAC5B,IAAM71C,EAAS21C,GACbp+D,EAAIS,KAAKuhB,eACT4xC,GAAiB,IAEf2K,EAAQ,YAAO3K,IACnB2K,EAAS,GAAG/1C,OAASC,EACrBorC,GAAoB0K,OACf,CACL,IAAM91C,EAAS21C,GACbp+D,EAAIS,KAAKuhB,eACT4xC,GAAiB,IAEf2K,EAAQ,YAAO3K,IACnB2K,EAAS,GAAG/1C,OAASC,EACrBorC,GAAoB0K,GAS1B1oD,GAAa,IAGT4nD,GAAsB,SAACz9D,EAAUs+D,GACrC,IAAKt+D,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB69D,EAA0B,CAC5B,IAAM71C,EAAS21C,GACbp+D,EAAIS,KAAKuhB,eACT8xC,GAAkB,IAEhByK,EAAQ,YAAOzK,IACnByK,EAAS,GAAG/1C,OAASC,EACrBsrC,GAAqBwK,OAChB,CACL,IAAM91C,EAAS21C,GACbp+D,EAAIS,KAAKuhB,eACT8xC,GAAkB,IAEhByK,EAAQ,YAAOzK,IACnByK,EAAS,GAAG/1C,OAASC,EACrBsrC,GAAqBwK,GAS3B1oD,GAAa,IAET8nD,GAAqB,SAAC39D,EAAUs+D,GACpC,IAAKt+D,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB69D,EAA0B,CAC5B,IAAM71C,EAAS21C,GACbp+D,EAAIS,KAAKuhB,eACTgyC,GAAiB,IAEfuK,EAAQ,YAAOvK,IACnBuK,EAAS,GAAG/1C,OAASC,EACrBwrC,GAAoBsK,OACf,CACL,IAAM91C,EAAS21C,GACbp+D,EAAIS,KAAKuhB,eACTgyC,GAAiB,IAEfuK,EAAQ,YAAOvK,IACnBuK,EAAS,GAAG/1C,OAASC,EACrBwrC,GAAoBsK,GAS1B1oD,GAAa,IAGT+nD,GAAgB,SAAC59D,GACrB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,yBAGT,GAAIgJ,EAAIS,KAAM,CACZoV,GAAa,GACbs2C,GAAensD,EAAIS,KAAKuhB,gBACxB,IAAMyG,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgB+mC,IAC9CwV,EAAQ,eAAQxV,IACpBwV,EAAS/1C,OAASC,EAClBugC,GAAYuV,GACZ1S,GAAwBh0C,QAASgoC,QAAS,OAE1ChiC,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,uBAMT6mE,GAAc,SAAC79D,GAEnB,GADAvM,QAAQC,IAAI,qBAAsBsM,IAC7BA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,yBAGT,GAAIgJ,EAAIS,KAAM,CAAC,IAAD,QACZoV,GAAa,GACbw2C,GAAarsD,EAAIS,KAAKuhB,iBAEnB,OAAChiB,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWuhB,iBACiB,MAA3B,OAAHhiB,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWuhB,kBACR,OAAHhiB,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWuhB,sBAAX,eAA2B50B,QAAS,EAEpCgqE,IAAqB,GAErBA,IAAqB,GAEvBI,IAAiB,GACjB,IAAM/uC,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBinC,IAClDA,GAAOzgC,OAASC,EAEhBh1B,QAAQC,IAAI,gBAAiB+0B,GAC7BygC,GAAUD,IACVx1D,QAAQC,IAAI,qBAAsBu1D,SAElCprC,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,uBAMT+mE,GAAe,SAAC/9D,GACpB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,yBAGT,GAAIgJ,EAAIS,KAAM,CACZoV,GAAa,GACb,IAAM4S,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBmnC,IAClDA,GAAa3gC,OAASC,EACtB2gC,GAAgBD,SAEhBtrC,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,uBAKTgnE,GAAkB,SAACh+D,GACvB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,yBAGT,GAAIgJ,EAAIS,KAAM,CACZoV,GAAa,GACb,IAAM4S,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBioC,IAClDA,GAAezhC,OAASC,EACxBwhC,GAAexhC,OAASA,EAAQpd,MAAM,KAAK,GAE3C6+C,GAAkBD,SAElBpsC,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,uBAMTinE,GAAsB,SAACj+D,GAC3B,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,yBAGT,GAAIgJ,EAAIS,KAAM,CACZoV,GAAa,GACb,IAAM4S,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBmoC,IAClDA,GAAe3hC,OAASC,EACxB2hC,GAAkBD,SAElBtsC,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,uBAMTknE,GAAoB,SAACl+D,GACzB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,yBAGT,GAAIgJ,EAAIS,KAAM,CACZoV,GAAa,GACb,IAAM4S,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBqoC,IAClDA,GAAa7hC,OAASC,EACtB6hC,GAAgBD,SAEhBxsC,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,uBAMfvD,QAAQC,IAAI,YAAamE,EAAWo4D,IAEpC,IAAMkO,GAAiB,SAACn+D,GACtB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,yBAGT,GAAIgJ,EAAIS,KAAM,CACZoV,GAAa,GACb,IAAM4S,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBuoC,IAClDA,GAAU/hC,OAASC,EACnB+hC,GAAaD,SAEb1sC,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,uBAMTuiE,GAAgB,SAACv5D,GACrB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,yBAElD,GAAIgJ,EAAIS,KAAM,CACZ,IAAM+9D,EAASl8D,KAAKC,MAAMvC,EAAIS,MACxBg+D,EAAiBD,EAAO3sE,QAG5B,SAAC2T,GAAD,MACwB,cAAtBA,EAAEme,kBxE32DmC,GwE42DrCne,EAAEugB,sBAEA24C,EAAgBF,EAAO3sE,QAE3B,SAAC2T,GAAD,MAAkC,gCAAtBA,EAAEme,oBAGV6pC,EAAmBgR,EAAO3sE,QAC9B,SAAC2T,GAAD,OAAoC,GAAxBA,EAAEugB,sBAEV2nC,EAAoB8Q,EAAO3sE,QAC/B,SAAC2T,GAAD,OAAoC,IAAxBA,EAAEugB,sBAEV6nC,EAAmB4Q,EAAO3sE,QAC9B,SAAC2T,GAAD,OAAoC,IAAxBA,EAAEugB,sBAEV+nC,EAAoB0Q,EAAO3sE,QAC/B,SAAC2T,GAAD,OAAoC,IAAxBA,EAAEugB,sBAEVioC,EAAmBwQ,EAAO3sE,QAC9B,SAAC2T,GAAD,OAAoC,IAAxBA,EAAEugB,sBAEhBtyB,QAAQC,IAAI85D,GACZC,GAAoBD,EAAiB,IACrC/5D,QAAQC,IAAIg6D,GACZC,GAAqBD,EAAkB,IACvCj6D,QAAQC,IAAIk6D,GACZC,GAAoBD,EAAiB,IACrCn6D,QAAQC,IAAIo6D,GACZC,GAAqBD,EAAkB,IACvCr6D,QAAQC,IAAIs6D,GACZC,GAAoBD,EAAiB,IAEjC0Q,EAActxE,OAAS,GACzBgjE,IAAY,GAEgB,IAA1BqO,EAAerxE,QACjBshE,IAAsB,GACtB/C,GAAgB9zC,QAASgoC,QAAS,EAClCgM,GAAwBh0C,QAASgoC,QAAS,EAC1CkM,IAAgBA,GAAa8M,iBAAiB,GAAGC,OACjDpN,IAAc,KAEdG,GAAwBh0C,QAASgoC,QAAS,EAC1C4Z,MAEE+E,EAAOpxE,OAAS,GACM,IAApBoxE,EAAO,GAAGG,OAAetU,GAAajJ,UAc5C,IAAMwd,EAAaJ,EAAO3sE,QACxB,SAAC2T,GAAD,OAEmB,IAAhBA,EAAEw3C,WAA6C,eAAvBx3C,EAAEme,mBACV,IAAhBne,EAAEw3C,WAA6C,cAAvBx3C,EAAEme,oBAG/BmlC,GACE8V,EAAW/sE,QACT,SAACgtE,GAAD,MAAmC,2BAAvBA,EAAEl7C,qBAGd1b,GAAYsO,cACduyC,GACE8V,EAAW/sE,QACT,SAACgtE,GAAD,MAAmC,4BAAvBA,EAAEl7C,0BAMpB9F,GAAW,CACTG,OAAQ,qBACRhnB,MAAO,uBAqGT8nE,GAAgB,uCAAG,WAAOC,GAAP,iBAAAxqE,EAAA,4DACjByqE,EAAW,IAAIC,KAAK,CAACF,GAAmB,qBAAsB,CAClEjuE,KAAM,aACNouE,aAAc/jD,KAAKipB,SAER7sC,KAAO,KALG,uBAMrByR,MAAM,4DANe,mBAOd,GAPc,YASnBg2D,EAASznE,KAAO,KATG,uBAUrByR,MAAM,iEAVe,mBAWd,GAXc,QAajBm2D,EAAa,IAAItd,YACZ/I,OAAS,SAAUtpD,GAAI,IAAD,EAC3Bi5B,EAAM,UAAIj5B,EAAEE,QAAUF,EAAEE,OAAOwQ,cAAzB,aAAG,EAA+BtK,WAI5C,GAHAmzD,GAASvgC,OAAS,GAClBwgC,GAAYD,IACZoD,GAAe1jC,EAAQpd,MAAM,KAAK,IAClC,OAAIod,QAAJ,IAAIA,OAAJ,EAAIA,EAAQ7yB,WAAY,CACtB,IAAIisB,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgByG,EAAQpd,MAAM,KAAK,GACnCkN,SAAUymD,EAASh1E,MAErB6rB,GAAa,GACbq6C,IAAc,GAEdppC,IACE,SAAC9mB,GAAD,OAAc44D,GAAwB54D,KACtCyoB,EAAQpd,MAAM,KAAK,GACnBpD,GAAY0Q,QAEdiJ,IACE,SAAC5hB,GAAD,OAAco/D,GAAiBp/D,EAAKg/D,EAASh1E,QAC7C63B,GAEF,IAAMw9C,EAAS,CACb7c,OAAQv6C,GAAY0Q,OACpBunB,sBAAuBj4B,GAAYyQ,sBACnC/O,cAAe1B,GAAYwQ,cAC3BiqC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,iCACdE,iBAAkB,IAElBn8B,SAAUhe,GAASie,IACnBC,UAAWle,GAASmvD,KACpB5U,UAAW,iBACXt0C,OAAQ,mBAEVqzC,IACE,SAACviD,GAAD,OAAcs/D,GAAoBt/D,EAAKq/D,KACvCA,KAINF,EAAWpd,cAAcid,GA5DF,4CAAH,sDAwGtB,IAqBMM,GAAmB,uCAAG,WAAOt/D,EAAUq/D,GAAjB,SAAA9qE,EAAA,sDAC1Bd,QAAQC,IAAI,eACPsM,GAAOA,EAAIR,OAGdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,4BACRhnB,MAAO,oBAET6e,GAAa,KAEbA,GAAa,GACbq6C,IAAc,GACdryC,GAAW,CACTG,OAAQ,4BACRhnB,MAAO,uBAhBe,2CAAH,wDAoBnB4hE,GAA0B,SAAC54D,IAC1BA,GAAOA,EAAIR,OAGVgW,KAAYxV,EAAIR,OAAOsT,GAAW0C,IAAoB,GAAKxV,EAAIR,OACnEo4D,GAAiB,IACjB1H,IAAc,GACdwH,GAAqB,2BAChBD,IADe,IAElBx4D,oBAAoB,KAEtB4W,GAAa,GACbgI,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,sBAE9CgJ,EAAIS,MAAQT,EAAIS,KAAK8+D,QACvB3H,GAAiB53D,EAAIS,KAAK24D,SAC1B3B,GAAkBx4D,oBAAqB,EACvCy4D,GAAqB,2BAChBD,IADe,IAElBx4D,oBAAoB,MAEZe,EAAIS,KAAK8+D,SACnB7H,GAAqB,2BAChBD,IADe,IAElBx4D,oBAAoB,KAEtBxL,QAAQC,IAAI,mBAAoBsM,EAAIS,KAAK24D,SACzCxB,GAAiB53D,EAAIS,KAAK24D,UAI5BvjD,GAAa,GACbq6C,IAAc,KAIZkP,GAAmB,SAACp/D,EAAU0iB,IAC7B1iB,GAAOA,EAAIR,OAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,oBAClD6e,GAAa,IAET7V,EAAIS,MACNhN,QAAQC,IAAI,mBAAoBsM,EAAIS,MACpCoV,GAAa,GACbkzC,GAASrmC,SAAW1iB,EAAIS,KAAK++D,KAC7BzW,GAASnjC,SAAW5lB,EAAIS,KAAK++D,KAAKn0D,MAAM,KAAK,KAK7CyH,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,qBACRhnB,MAAO,wBAMf,SAASyoE,GAASj6C,EAAUk6C,GACV,WAAZA,GACFzW,GAAOxgC,OAAS,GAChBwgC,GAAOzgC,OAAS,GAChB0gC,GAAUD,IACVoD,GAAa,IACbmL,IAAiB,IACI,mBAAZkI,IACTjsE,QAAQC,IAAI,aACZu2D,GAAexhC,OAAS,GACxBwhC,GAAezhC,OAAS,GACxB0hC,GAAkBD,IAClBqN,IAAqB,IA4YzB,IAAMqI,GAAe,SACnB3/D,EACAjP,EACA2xB,EACA5xB,GAEA,IAAKkP,GAAOA,EAAIR,MAEdqW,GAAa,GACbgI,GAAW,CAAEG,OAAQ,sBAAuBhnB,MAAO,oBAC/CgJ,EAAIS,KAAKjB,OACXsT,GAAW0C,GAAU,0BAA4BxV,EAAIR,OACrDqW,GAAa,IAEb/C,GAAW0C,GAAUxV,EAAIR,YAEtB,GAAIQ,EAAIS,KAAM,CAMjB,IAAIohB,EALN,GAAI7hB,EAAIS,KAAKjB,MACXsT,GAAW0C,GAAU,0BAA4BxV,EAAIR,OACrDqW,GAAa,OAIF,gBAAP9kB,GACEiP,EAAIS,KAAKP,OAAO0/D,kBAClB3V,GAAexhC,OAASzoB,EAAIS,KAAKP,OAAO2/D,aACxC5V,GAAerkC,SAAW,aAC1BqkC,GAAevnC,SACbunC,GAAevnC,SAASrX,MAAM,KAAK,GAAK,OAC1Cva,EAAO,aACPo5D,GAAkBD,IAClBqN,IAAqB,IAGvBz1C,EAAY,CACVlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,QAAU,GACzClQ,SAAU0xC,GAAevnC,WAEX,sBAAP3xB,GACLiP,EAAIS,KAAKP,OAAO0/D,kBAClB/V,GAAqBphC,OAASzoB,EAAIS,KAAKP,OAAO2/D,aAC9ChW,GAAqBjkC,SAAW,aAChCikC,GAAqBnnC,SACnBmnC,GAAqBnnC,SAASrX,MAAM,KAAK,GAAK,OAChDva,EAAO,aACPg5D,GAAwBD,KAE1BhoC,EAAY,CACVlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgB6nC,GAAqBphC,QAAU,GAC/ClQ,SAAUsxC,GAAqBnnC,WAEjB,gBAAP3xB,GACLiP,EAAIS,KAAKP,OAAO0/D,kBAClBzV,GAAe1hC,OAASzoB,EAAIS,KAAKP,OAAO2/D,aACxC1V,GAAevkC,SAAW,aAC1BukC,GAAeznC,SACbynC,GAAeznC,SAASrX,MAAM,KAAK,GAAK,OAC1Cva,EAAO,aACPs5D,GAAkBD,KAEpBtoC,EAAY,CACVlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,QAAU,GACzClQ,SAAU4xC,GAAeznC,YAGvB1iB,EAAIS,KAAKP,OAAO0/D,kBAClB7V,GAAqBthC,OAASzoB,EAAIS,KAAKP,OAAO2/D,aAC9C9V,GAAqBnkC,SAAW,aAChCmkC,GAAqBrnC,SACnBqnC,GAAqBrnC,SAASrX,MAAM,KAAK,GAAK,OAChDva,EAAO,aACPk5D,GAAwBD,KAE1BloC,EAAY,CACVlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgB+nC,GAAqBthC,QAAU,GAC/ClQ,SAAUwxC,GAAqBrnC,WAGnCd,IACE,SAAC5hB,GAAD,OACE8/D,GAAa9/D,EAAKjP,EAAI8wB,EAAUG,eAAgBH,EAAUtJ,YAC5DsJ,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,WAIpE+sB,GAAW,CACTG,OAAQ,sBACRhnB,MAAO,uBAKPgpE,GAAa,SAAChgE,GAClB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,oBAET6e,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CACZoV,GAAa,GACbs4C,GAAenuD,EAAIS,KAAK++D,MACxBvV,GAAerkC,SAAW,kBAC1B,IAAMq6C,EAAa,CACjBt2D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBhiB,EAAIS,KAAKy/D,sBACzBt8C,iBAAkBqmC,GAAermC,iBACjC33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,IxEzuFe,MwE2uFrB69D,GAAevkC,YACjB7P,GAAa,GACbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxE9uFsB,MwEgvFfhW,GAAevkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxEnvFqB,MwEqvFdhW,GAAevkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxExvFgB,MwE0vFThW,GAAevkC,aACxB7P,GAAa,GACb4O,IAAW,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAAaA,SAG1DpiD,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,uBAMTopE,GAAiB,SAACpgE,GACtB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,oBAET6e,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CACZoV,GAAa,GACbw4C,GAAmBruD,EAAIS,KAAK++D,MAC5BrV,GAAevkC,SAAW,kBAC1B,IAAMq6C,EAAa,CACjBt2D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBhiB,EAAIS,KAAKy/D,sBACzBt8C,iBAAkBumC,GAAevmC,iBACjC33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,IxExxFmB,KwE0xFzB+9D,GAAezkC,YACjB7P,GAAa,GACbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxE7xF0B,KwE+xFnB9V,GAAezkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxElyFyB,KwEoyFlB9V,GAAezkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxEvyFoB,KwEyyFb9V,GAAezkC,aACxB7P,GAAa,GACb4O,IAAW,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAAaA,SAG1DpiD,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,uBAKf,SAASqpE,GACPvuE,EACA4wB,EACA3xB,EACAD,EACAqC,GAEA,OAAQpC,GACN,IAAK,kBACH0C,QAAQC,IAAI,YAAagvB,GACzB,IAAI49C,EAAS59C,EAASrX,MAAM,KAAKg/B,MACjC52C,QAAQC,IAAI,aAAc4sE,GAC1B,IAAIC,EAAiB,sBAAwBD,EAC7C7sE,QAAQC,IAAI,eAAgB6sE,GAC5B,IAAIC,EAAgB,YAAOlN,IAC3BkN,EAAiB,GAAGx6C,mBAClBw+B,GAAe53B,WAAWqM,MAAMjT,mBAAmBpwB,WACrD4qE,EAAiB,GAAG96C,WAClB8+B,GAAe53B,WAAWqM,MAAMvT,WAClC86C,EAAiB,GAAG58C,iBAAmB,aACvC48C,EAAiB,GAAGh4C,OAAS12B,EAC7ByhE,GAAmBiN,GACnB,IAAIC,EAAmB,CACrB92D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUgoD,GAEZ3+C,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzC+9C,GACA,SAAC/tE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,oBACH,IACI4vE,EAAiB,0BADRh+C,EAASrX,MAAM,KAAKg/B,MAE7Bs2B,EAAqB,YAAOrN,IAChCqN,EAAsB,GAAG36C,mBACvBw+B,GAAe53B,WAAW+b,UAAU3iB,mBAAmBpwB,WACzD+qE,EAAsB,GAAGj7C,WACvB8+B,GAAe53B,WAAW+b,UAAUjjB,WACtCi7C,EAAsB,GAAG/8C,iBAAmB,YAC5C+8C,EAAsB,GAAGn4C,OAAS12B,EAClCyhE,GAAmBoN,GACnB,IAAIC,EAAuB,CACzBj3D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmoD,GAEZ9+C,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCk+C,GACA,SAACluE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,mBACH,IACI+vE,EAAiB,uBADRn+C,EAASrX,MAAM,KAAKg/B,MAE7By2B,EAAkB,YAAOtN,IAC7BsN,EAAmB,GAAG96C,mBACpBw+B,GAAe33B,WAAWoM,MAAMjT,mBAAmBpwB,WACrDkrE,EAAmB,GAAGp7C,WACpB8+B,GAAe33B,WAAWoM,MAAMvT,WAClCo7C,EAAmB,GAAGl9C,iBAAmB,aACzCk9C,EAAmB,GAAGt4C,OAAS12B,EAC/B2hE,GAAoBqN,GACpB,IAAIC,EAAoB,CACtBp3D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUsoD,GAEZj/C,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCq+C,GACA,SAACruE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,qBACH,IACIkwE,EAAiB,2BADRt+C,EAASrX,MAAM,KAAKg/B,MAE7B42B,EAAsB,YAAOzN,IACjCyN,EAAuB,GAAGj7C,mBACxBw+B,GAAe33B,WAAW8b,UAAU3iB,mBAAmBpwB,WACzDqrE,EAAuB,GAAGv7C,WACxB8+B,GAAe33B,WAAW8b,UAAUjjB,WACtCu7C,EAAuB,GAAGr9C,iBAAmB,YAC7Cq9C,EAAuB,GAAGz4C,OAAS12B,EACnC2hE,GAAoBwN,GACpB,IAAIC,EAAwB,CAC1Bv3D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUyoD,GAEZp/C,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCw+C,GACA,SAACxuE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,kBACH,IACIqwE,EAAiB,sBADRz+C,EAASrX,MAAM,KAAKg/B,MAE7B+2B,EAAiB,YAAO1N,IAC5B0N,EAAkB,GAAGp7C,mBACnBw+B,GAAe13B,aAAamM,MAAMjT,mBAAmBpwB,WACvDwrE,EAAkB,GAAG17C,WACnB8+B,GAAe13B,aAAamM,MAAMvT,WACpC07C,EAAkB,GAAGx9C,iBAAmB,aACxCw9C,EAAkB,GAAG54C,OAAS12B,EAC9B6hE,GAAmByN,GACnB,IAAIC,EAAmB,CACrB13D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAU4oD,GAEZv/C,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzC2+C,GACA,SAAC3uE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,oBACH,IACIwwE,EAAiB,0BADR5+C,EAASrX,MAAM,KAAKg/B,MAE7Bk3B,EAAqB,YAAO7N,IAChC6N,EAAsB,GAAGv7C,mBACvBw+B,GAAe13B,aAAa6b,UAAU3iB,mBAAmBpwB,WAC3D2rE,EAAsB,GAAG77C,WACvB8+B,GAAe13B,aAAa6b,UAAUjjB,WACxC67C,EAAsB,GAAG39C,iBAAmB,YAC5C29C,EAAsB,GAAG/4C,OAAS12B,EAClC6hE,GAAmB4N,GACnB,IAAIC,EAAuB,CACzB73D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAU+oD,GAEZ1/C,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzC8+C,GACA,SAAC9uE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MAEF,IAAK,uBACH,IAAI2wE,EAAmB,YAAO7N,IAC9B6N,EAAoB,GAAGz7C,mBACrBw+B,GAAe53B,WAAWyH,gBAAgB4E,MAAMjT,mBAAmBpwB,WACrE6rE,EAAoB,GAAG/7C,WACrB8+B,GAAe53B,WAAWyH,gBAAgB4E,MAAMvT,WAClD+7C,EAAoB,GAAG79C,iBAAmB,aAC1C69C,EAAoB,GAAGj5C,OAAS12B,EAChC+hE,GAAoB4N,GACpB,IAAIC,EAAwB,CAC1B/3D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCg/C,GACA,SAAChvE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,yBACH,IAAI6wE,EAAuB,YAAO/N,IAClC+N,EAAwB,GAAG37C,mBACzBw+B,GAAe53B,WAAWyH,gBAAgBsU,UAAU3iB,mBAAmBpwB,WACzE+rE,EAAwB,GAAGj8C,WACzB8+B,GAAe53B,WAAWyH,gBAAgBsU,UAAUjjB,WACtDi8C,EAAwB,GAAG/9C,iBAAmB,YAC9C+9C,EAAwB,GAAGn5C,OAAS12B,EACpC+hE,GAAoB8N,GACpB,IAAIC,EAA4B,CAC9Bj4D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCk/C,GACA,SAAClvE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,wBACH,IAAI+wE,EAAoB,YAAO/N,IAC/B+N,EAAqB,GAAG77C,mBACtBw+B,GAAe33B,WAAWwH,gBAAgB4E,MAAMjT,mBAAmBpwB,WACrEisE,EAAqB,GAAGn8C,WACtB8+B,GAAe33B,WAAWwH,gBAAgB4E,MAAMvT,WAClDm8C,EAAqB,GAAGj+C,iBAAmB,aAC3Ci+C,EAAqB,GAAGr5C,OAAS12B,EACjCiiE,GAAqB8N,GACrB,IAAIC,EAAyB,CAC3Bn4D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCo/C,GACA,SAACpvE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,0BACH,IAAIixE,EAAwB,YAAOjO,IACnCiO,EAAyB,GAAG/7C,mBAC1Bw+B,GAAe33B,WAAWwH,gBAAgBsU,UAAU3iB,mBAAmBpwB,WACzEmsE,EAAyB,GAAGr8C,WAC1B8+B,GAAe33B,WAAWwH,gBAAgBsU,UAAUjjB,WACtDq8C,EAAyB,GAAGn+C,iBAAmB,YAC/Cm+C,EAAyB,GAAGv5C,OAAS12B,EACrCiiE,GAAqBgO,GACrB,IAAIC,EAA6B,CAC/Br4D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCs/C,GACA,SAACtvE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,uBACH,IAAImxE,EAAmB,YAAOjO,IAC9BiO,EAAoB,GAAGj8C,mBACrBw+B,GAAe13B,aAAauH,gBAAgB4E,MAAMjT,mBAAmBpwB,WACvEqsE,EAAoB,GAAGv8C,WACrB8+B,GAAe13B,aAAauH,gBAAgB4E,MAAMvT,WACpDu8C,EAAoB,GAAGr+C,iBAAmB,aAC1Cq+C,EAAoB,GAAGz5C,OAAS12B,EAChCmiE,GAAoBgO,GACpB,IAAIC,EAAwB,CAC1Bv4D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCw/C,GACA,SAACxvE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,MAElE,MACF,IAAK,yBACH,IAAIqxE,EAAuB,YAAOnO,IAClCmO,EAAwB,GAAGn8C,mBACzBw+B,GAAe13B,aAAauH,gBAAgBsU,UAAU3iB,mBAAmBpwB,WAC3EusE,EAAwB,GAAGz8C,WACzB8+B,GAAe13B,aAAauH,gBAAgBsU,UAAUjjB,WACxDy8C,EAAwB,GAAGv+C,iBAAmB,YAC9Cu+C,EAAwB,GAAG35C,OAAS12B,EACpCmiE,GAAoBkO,GACpB,IAAIC,EAA4B,CAC9Bz4D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzC0/C,GACA,SAAC1vE,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,OASxE,SAASuxE,GAAgBlvE,EAAepC,EAAY00B,GAClD,OAAQ10B,GACN,IAAK,kBACH,IAAIyvE,EAAgB,YAAOlN,IAC3BkN,EAAiB,GAAGh4C,OAAS,GAC7Bg4C,EAAiB,GAAG99C,SAAW,GAC/B6wC,GAAmBiN,GACnB,MACF,IAAK,oBACH,IAAIG,EAAqB,YAAOrN,IAChCqN,EAAsB,GAAGn4C,OAAS,GAClCm4C,EAAsB,GAAGj+C,SAAW,GAEpC6wC,GAAmBoN,GACnB,MACF,IAAK,mBACH,IAAIG,EAAkB,YAAOtN,IAC7BsN,EAAmB,GAAGt4C,OAAS,GAC/Bs4C,EAAmB,GAAGp+C,SAAW,GAEjC+wC,GAAoBqN,GACpB,MACF,IAAK,qBACH,IAAIG,EAAsB,YAAOzN,IACjCyN,EAAuB,GAAGz4C,OAAS,GACnCy4C,EAAuB,GAAGv+C,SAAW,GAErC+wC,GAAoBwN,GACpB,MACF,IAAK,kBACH,IAAIG,EAAiB,YAAO1N,IAE5B0N,EAAkB,GAAG54C,OAAS,GAC9B44C,EAAkB,GAAG1+C,SAAW,GAEhCixC,GAAmByN,GACnB,MACF,IAAK,oBACH,IAAIG,EAAqB,YAAO7N,IAChC6N,EAAsB,GAAGv7C,mBACvBu7C,EAAsB,GAAG/4C,OAAS,GACpC+4C,EAAsB,GAAG7+C,SAAW,GAEpCixC,GAAmB4N,GACnB,MACF,IAAK,uBACH,IAAIE,EAAmB,YAAO7N,IAC9B6N,EAAoB,GAAGj5C,OAAS,GAChCi5C,EAAoB,GAAG/+C,SAAW,GAElCmxC,GAAoB4N,GACpB,MACF,IAAK,yBACH,IAAIE,EAAuB,YAAO/N,IAClC+N,EAAwB,GAAGn5C,OAAS,GACpCm5C,EAAwB,GAAGj/C,SAAW,GAEtCmxC,GAAoB8N,GACpB,MACF,IAAK,wBACH,IAAIE,EAAoB,YAAO/N,IAC/B+N,EAAqB,GAAGr5C,OAAS,GACjCq5C,EAAqB,GAAGn/C,SAAW,GAEnCqxC,GAAqB8N,GACrB,MACF,IAAK,0BACH,IAAIE,EAAwB,YAAOjO,IACnCiO,EAAyB,GAAGv5C,OAAS,GACrCu5C,EAAyB,GAAGr/C,SAAW,GAEvCqxC,GAAqBgO,GACrB,MACF,IAAK,uBACH,IAAIE,EAAmB,YAAOjO,IAC9BiO,EAAoB,GAAGz5C,OAAS,GAChCy5C,EAAoB,GAAGv/C,SAAW,GAElCuxC,GAAoBgO,GACpB,MACF,IAAK,yBACH,IAAIE,EAAuB,YAAOnO,IAClCmO,EAAwB,GAAG35C,OAAS,GACpC25C,EAAwB,GAAGz/C,SAAW,GAEtCuxC,GAAoBkO,IAO1B1uE,QAAQC,IAAI,eAAgB22D,IAiL5B,IAAMyV,GAAe,SAAC9/D,EAAUjP,EAAYe,EAAU4wB,GAC5B,IAAD,IAAvB,IAAK1iB,GAAOA,EAAIR,MACdqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,oBAClD6e,GAAa,GAhHjB,SAAgC9kB,EAAYiP,GAC/B,iBAAPjP,GACFugE,GAAsBtxD,EAAIR,OAEjB,kBAAPzO,GACFygE,GAAuBxxD,EAAIR,OAElB,iBAAPzO,GACF2gE,GAAsB1xD,EAAIR,OAEjB,kBAAPzO,GACF6gE,GAAuB5xD,EAAIR,OAElB,iBAAPzO,GACF+gE,GAAsB9xD,EAAIR,OAEjB,gBAAPzO,GACFihE,GAAoBhyD,EAAIR,OAEf,gBAAPzO,GACFmhE,GAAoBlyD,EAAIR,OAEf,cAAPzO,GACF2hE,GAAsB1yD,EAAIR,OAEjB,cAAPzO,GACFqhE,GAAmBpyD,EAAIR,OAEd,sBAAPzO,GACFuhE,GAAkBtyD,EAAIR,OAEb,sBAAPzO,GACFyhE,GAAsBxyD,EAAIR,OAGjB,oBAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBZ,gBAAiBr1D,EAAIR,SAGd,sBAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBX,kBAAmBt1D,EAAIR,SAGhB,qBAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBV,iBAAkBv1D,EAAIR,SAGf,uBAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBT,mBAAoBx1D,EAAIR,SAGjB,oBAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBR,gBAAiBz1D,EAAIR,SAGd,sBAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBP,kBAAmB11D,EAAIR,SAGhB,yBAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBN,qBAAsB31D,EAAIR,SAGnB,2BAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBL,uBAAwB51D,EAAIR,SAGrB,0BAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBJ,sBAAuB71D,EAAIR,SAGpB,4BAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBH,wBAAyB91D,EAAIR,SAGtB,yBAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBF,qBAAsB/1D,EAAIR,SAGnB,2BAAPzO,GACFmlE,GAAwB,2BACnBD,IADkB,IAErBD,uBAAwBh2D,EAAIR,SAU9B8iE,CAAuBvxE,EAAIiP,IAEzB,OAACA,QAAD,IAACA,GAAD,UAACA,EAAKuD,iBAAN,aAAC,EAAgBlQ,SAAS,eAC1B,OAAC2M,QAAD,IAACA,GAAD,UAACA,EAAKuD,iBAAN,aAAC,EAAgBlQ,SAAS,cAE1Byf,GAAW0C,GAAUxV,EAAIR,YAG3B,GAAIQ,EAAIS,MAEN,GADAqS,GAAW0C,IACA,YAAPzkB,EAAkB,CACpB8kB,GAAa,GACbi5C,IAAY,GACZjC,GAAW7sD,EAAIS,KAAK++D,MACpBvW,GAAOvjC,WxEn4GY,EwEo4GnB,IAAM68C,EAAS,CACb54D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCuY,iBAAkB,WAClB33B,WAAYg9D,GAAOvjC,WACnBxW,OAAQ9iB,K5BpgHO,SAACwb,EAA4BqhD,GACtDx1D,QAAQC,IAAIu1D,EAAQ,eACpBvhD,GACE,CACEkB,IAAK,2BACL5P,KAAM,CACJsqB,gBAAiB2lC,EAAOjnC,eACxBuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,UACdC,OAAQulC,EAAO/5C,OACfrF,cAAeo/C,EAAOt/C,cACtBga,iBAAkBslC,EAAOrlC,iBACzBC,WAAYolC,EAAOh9D,YAErB6b,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawB,wBAE5B8L,G4Bm/GM46D,EAAY,SAACxiE,GAAD,OAAcmgE,GAAangE,EAAKuiE,KAASA,QACjC71E,IAAhBw/D,SAA2Cx/D,IAAd0/D,IAC/Bt5C,GAAW0C,SAER,GAAW,iBAAPzkB,EAAuB,CAChC8kB,GAAa,GACby7C,GAAsB,IACtBtC,IAAkB,GAClBjC,GAAiB/sD,EAAIS,KAAK++D,MAE1B,IAAMiD,EAAe,CACnB94D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCuY,iBAAkBulC,GAAavlC,iBAC/B33B,WAAYk9D,GAAazjC,WACzBxW,OAAQ9iB,GACR83B,SAAUspC,GAAiBvpC,SAC3BG,YAAaopC,GAAiBrpC,axE15GL,KwE45GvBglC,GAAazjC,YACf7P,GAAa,GACbiO,IACE,SAAC9jB,GAAD,OAAcmgE,GAAangE,EAAKyiE,KAChCA,IxEp5G8B,KwEs5GvBtZ,GAAazjC,YACtB7P,GAAa,GACbmO,IACE,SAAChkB,GAAD,OAAcmgE,GAAangE,EAAKyiE,KAChCA,IAGF5sD,GAAa,QAEV,GAAW,kBAAP9kB,EAAwB,CACjC8kB,GAAa,GACb27C,GAAuB,IACvBtC,IAAmB,GACnBjC,GAAkBjtD,EAAIS,KAAK++D,MAE3B,IAAMkD,EAAgB,CACpB/4D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCuY,iBAAkBylC,GAAczlC,iBAChC33B,WAAYo9D,GAAc3jC,WAC1BxW,OAAQ9iB,GACR83B,SAAUwpC,GAAkBzpC,SAC5BG,YAAaspC,GAAkBvpC,axEv7GL,MwEy7GxBklC,GAAc3jC,YAChB7P,GAAa,GACbiO,IACE,SAAC9jB,GAAD,OAAcmgE,GAAangE,EAAK0iE,KAChCA,IxEj7G+B,MwEo7GjCrZ,GAAc3jC,YAEd7P,GAAa,GACbmO,IACE,SAAChkB,GAAD,OAAcmgE,GAAangE,EAAK0iE,KAChCA,IAGF7sD,GAAa,QAEV,GAAW,iBAAP9kB,EAAuB,CAChC8kB,GAAa,GACb67C,GAAsB,IACtBtC,IAAkB,GAClBjC,GAAiBntD,EAAIS,KAAK++D,MAE1B,IAAMmD,EAAe,CACnBh5D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCuY,iBAAkB2lC,GAAa3lC,iBAC/B33B,WAAYs9D,GAAa7jC,WACzBxW,OAAQ9iB,GACR83B,SAAU0pC,GAAiB3pC,SAC3BG,YAAawpC,GAAiBzpC,axEt9GL,MwEw9GvBolC,GAAa7jC,YACf7P,GAAa,GACbiO,IACE,SAAC9jB,GAAD,OAAcmgE,GAAangE,EAAK2iE,KAChCA,IxEh9G8B,MwEk9GvBpZ,GAAa7jC,YACtB7P,GAAa,GACbmO,IACE,SAAChkB,GAAD,OAAcmgE,GAAangE,EAAK2iE,KAChCA,IAGF9sD,GAAa,QAEV,GAAW,kBAAP9kB,EAAwB,CACjC8kB,GAAa,GACb+7C,GAAuB,IACvBtC,IAAmB,GACnBjC,GAAkBrtD,EAAIS,KAAK++D,MAC3B,IAAMoD,EAAgB,CACpBj5D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCuY,iBAAkB6lC,GAAc7lC,iBAChC33B,WAAYw9D,GAAc/jC,WAC1BxW,OAAQ9iB,GACR83B,SAAU4pC,GAAkB7pC,SAC5BG,YAAa0pC,GAAkB3pC,axEl/GL,MwEo/GxBslC,GAAc/jC,YAChB7P,GAAa,GACbiO,IACE,SAAC9jB,GAAD,OAAcmgE,GAAangE,EAAK4iE,KAChCA,IxE5+G+B,MwE++GjCnZ,GAAc/jC,YAEd7P,GAAa,GACbmO,IACE,SAAChkB,GAAD,OAAcmgE,GAAangE,EAAK4iE,KAChCA,IAGF/sD,GAAa,QAEV,GAAW,iBAAP9kB,EAAuB,CAChC8kB,GAAa,GACbi8C,GAAsB,IACtBtC,IAAkB,GAClBjC,GAAiBvtD,EAAIS,KAAK++D,MAC1B,IAAMqD,EAAe,CACnBl5D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCuY,iBAAkB+lC,GAAa/lC,iBAC/B33B,WAAY09D,GAAajkC,WACzBxW,OAAQ9iB,GACR83B,SAAU8pC,GAAiB/pC,SAC3BG,YAAa4pC,GAAiB7pC,axEhhHL,MwEkhHvBwlC,GAAajkC,YACf7P,GAAa,GACbiO,IACE,SAAC9jB,GAAD,OAAcmgE,GAAangE,EAAK6iE,KAChCA,IxE1gH8B,MwE4gHvBlZ,GAAajkC,YACtB7P,GAAa,GACbmO,IACE,SAAChkB,GAAD,OAAcmgE,GAAangE,EAAK6iE,KAChCA,IAGFhtD,GAAa,QAEV,GAAW,gBAAP9kB,GAAmD,QAA3B2xB,EAASrX,MAAM,KAAK,GAAc,CACnEwK,GAAa,GACbm8C,GAAoB,IACpBtC,IAAoB,GACpBvB,GAAenuD,EAAIS,KAAK++D,MACxB,IAAMS,EAAa,CACjBt2D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,OAC/B7E,iBAAkBqmC,GAAermC,iBACjC33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,IxE1hHa,MwE4hHnB69D,GAAevkC,YACjB7P,GAAa,GACbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxE/hHoB,MwEiiHbhW,GAAevkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxEpiHmB,MwEsiHZhW,GAAevkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxEziHc,MwE2iHPhW,GAAevkC,aACxB7P,GAAa,GACb4O,IAAW,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAAaA,SAErD,GAAW,gBAAPlvE,GAAmD,QAA3B2xB,EAASrX,MAAM,KAAK,GAIrD,GAHA2mD,GAAoB,IACpBtC,IAAoB,GACpBvB,GAAenuD,EAAIS,KAAK++D,MxErjHD,MwEsjHnBvV,GAAevkC,WAAkC,CACnD7P,GAAa,GACb,IAAMitD,EAAY,CAChBn5D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,OAC/B7E,iBAAkBqmC,GAAermC,iBACjC33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,IAEV+2B,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAK8iE,KAChCA,QAEGjtD,GAAa,QACf,GAAW,sBAAP9kB,EAA4B,CACrCuhE,GAAkB,IAClBz8C,GAAa,GACb65C,IAAoB,GACpB,IAAIqT,EAAiB,CACnBvqD,cAAevQ,GAAYwQ,cAC3BuM,OAAQilC,GAAexhC,OACvBtD,OAAQ0kC,GAAqBphC,OAC7BvD,WAAY+kC,GAAevnC,SAC3B0C,WAAYykC,GAAqBnnC,UAEnCiC,GAAQq7C,GAAY+C,QACf,GAAW,gBAAPhyE,GAAmD,QAA3B2xB,EAASrX,MAAM,KAAK,GAAc,CACnEwK,GAAa,GACbq8C,GAAoB,IACpBtC,IAAoB,GACpBvB,GAAmBruD,EAAIS,KAAK++D,MAC5B,IAAMS,EAAa,CACjBt2D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,OAC/B7E,iBAAkBumC,GAAevmC,iBACjC33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,IxErlHiB,KwEulHvB+9D,GAAezkC,YACjB7P,GAAa,GACbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxE1lHwB,KwE4lHjB9V,GAAezkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxE/lHuB,KwEimHhB9V,GAAezkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,IxEpmHkB,KwEsmHX9V,GAAezkC,aACxB7P,GAAa,GACb4O,IAAW,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAAaA,SAErD,GAAW,gBAAPlvE,GAAmD,QAA3B2xB,EAASrX,MAAM,KAAK,GAIrD,GAHAukD,IAAoB,GACpBsC,GAAoB,IACpB7D,GAAmBruD,EAAIS,KAAK++D,MxEhnHD,KwEinHvBrV,GAAezkC,WAAsC,CACvD7P,GAAa,GACb,IAAMitD,EAAY,CAChBn5D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,OAC/B7E,iBAAkBumC,GAAevmC,iBACjC33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,IAEV+2B,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAK8iE,KAChCA,QAEGjtD,GAAa,QACf,GACE,gBAAP9kB,GAC2B,QAA3B2xB,EAASrX,MAAM,KAAK,SACY3e,IAAhCq9D,GAAqBthC,OACrB,CACA5S,GAAa,GACbq8C,GAAoB,IACpBtC,IAAoB,GACpB,IAAImT,EAAiB,CACnBvqD,cAAevQ,GAAYwQ,cAC3BuM,OAAQmlC,GAAe1hC,OACvBtD,OAAQ4kC,GAAqBthC,OAC7BvD,WAAYilC,GAAeznC,SAC3B0C,WAAY2kC,GAAqBrnC,UAEnCiC,GAAQy7C,GAAgB2C,QACnB,GAAW,sBAAPhyE,EAA4B,CACrC8kB,GAAa,GACb28C,GAAsB,IACtB5C,IAAoB,GACpB,IAAImT,EAAiB,CACnBvqD,cAAevQ,GAAYwQ,cAC3BuM,OAAQmlC,GAAe1hC,OACvBtD,OAAQ4kC,GAAqBthC,OAC7BvD,WAAYilC,GAAeznC,SAC3B0C,WAAY2kC,GAAqBrnC,UAEnCiC,GAAQy7C,GAAgB2C,QACnB,GAAW,cAAPhyE,EACT8kB,GAAa,GACb68C,GAAsB,IAEtB5C,IAAkB,GAClBvB,GAAiBvuD,EAAIS,KAAK++D,MAC1BnV,GAAa3kC,WxExqHY,SwEyqHpB,GAAW,cAAP30B,EACT8kB,GAAa,GACbu8C,GAAmB,IACnBpC,IAAe,GACfvB,GAAczuD,EAAIS,KAAK++D,WAClB,GAAW,oBAAPzuE,EAA0B,CACnC,IAAIiyE,EAAc,YAAO1P,IACzB0P,EAAe,GAAGtgD,SAAW1iB,EAAIS,KAAK++D,KACtCjM,GAAmByP,GACnBntD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBZ,gBAAiB,MAEnB2B,GAAqB,2BAChBD,IADe,IAElBZ,iBAAiB,UAEd,GAAW,sBAAPplE,EAA4B,CACrC,IAAIiyE,EAAc,YAAO1P,IACzB0P,EAAe,GAAGtgD,SAAW1iB,EAAIS,KAAK++D,KACtCjM,GAAmByP,GACnBntD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBX,kBAAmB,MAErB0B,GAAqB,2BAChBD,IADe,IAElBX,qBAAqB,UAElB,GAAW,qBAAPrlE,EAA2B,CACpC,IAAIkyE,EAAc,YAAOzP,IACzByP,EAAe,GAAGvgD,SAAW1iB,EAAIS,KAAK++D,KACtC/L,GAAoBwP,GACpBptD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBV,iBAAkB,MAEpByB,GAAqB,2BAChBD,IADe,IAElBV,kBAAkB,UAEf,GAAW,uBAAPtlE,EAA6B,CACtC,IAAIkyE,EAAc,YAAOzP,IACzByP,EAAe,GAAGvgD,SAAW1iB,EAAIS,KAAK++D,KACtC/L,GAAoBwP,GACpBptD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBT,mBAAoB,MAEtBwB,GAAqB,2BAChBD,IADe,IAElBT,sBAAsB,UAEnB,GAAW,oBAAPvlE,EAA0B,CACnC,IAAImyE,EAAgB,YAAOxP,IAC3BwP,EAAiB,GAAGxgD,SAAW1iB,EAAIS,KAAK++D,KACxC7L,GAAmBuP,GACnBrtD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBR,gBAAiB,MAEnBuB,GAAqB,2BAChBD,IADe,IAElBR,iBAAiB,UAEd,GAAW,sBAAPxlE,EAA4B,CACrC,IAAImyE,EAAgB,YAAOxP,IAC3BwP,EAAiB,GAAGxgD,SAAW1iB,EAAIS,KAAK++D,KACxC7L,GAAmBuP,GACnBrtD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBP,kBAAmB,MAErBsB,GAAqB,2BAChBD,IADe,IAElBP,qBAAqB,UAElB,GAAW,yBAAPzlE,EAA+B,CACxC,IAAIoyE,EAAe,YAAOvP,IAC1BuP,EAAgB,GAAGzgD,SAAW1iB,EAAIS,KAAK++D,KACvC3L,GAAoBsP,GACpBttD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBN,qBAAsB,MAExBqB,GAAqB,2BAChBD,IADe,IAElBN,sBAAsB,UAEnB,GAAW,2BAAP1lE,EAAiC,CAC1C,IAAIoyE,EAAe,YAAOvP,IAC1BuP,EAAgB,GAAGzgD,SAAW1iB,EAAIS,KAAK++D,KACvC3L,GAAoBsP,GACpBttD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBL,uBAAwB,MAE1BoB,GAAqB,2BAChBD,IADe,IAElBL,0BAA0B,UAEvB,GAAW,0BAAP3lE,EAAgC,CACzC,IAAIqyE,EAAe,YAAOtP,IAC1BsP,EAAgB,GAAG1gD,SAAW1iB,EAAIS,KAAK++D,KACvCzL,GAAqBqP,GACrBvtD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBJ,sBAAuB,MAEzBmB,GAAqB,2BAChBD,IADe,IAElBJ,uBAAuB,UAEpB,GAAW,4BAAP5lE,EAAkC,CAC3C8kB,GAAa,GACb,IAAIutD,EAAe,YAAOtP,IAC1BsP,EAAgB,GAAG1gD,SAAW1iB,EAAIS,KAAK++D,KACvCzL,GAAqBqP,GACrBlN,GAAwB,2BACnBD,IADkB,IAErBH,wBAAyB,MAE3BkB,GAAqB,2BAChBD,IADe,IAElBH,2BAA2B,UAExB,GAAW,yBAAP7lE,EAA+B,CACxC,IAAIsyE,EAAiB,YAAOrP,IAC5BqP,EAAkB,GAAG3gD,SAAW1iB,EAAIS,KAAK++D,KACzCvL,GAAoBoP,GACpBxtD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBF,qBAAsB,MAExBiB,GAAqB,2BAChBD,IADe,IAElBF,sBAAsB,UAEnB,GAAW,2BAAP9lE,EAAiC,CAC1C,IAAIsyE,EAAiB,YAAOrP,IAC5BqP,EAAkB,GAAG3gD,SAAW1iB,EAAIS,KAAK++D,KACzCvL,GAAoBoP,GACpBxtD,GAAa,GACbqgD,GAAwB,2BACnBD,IADkB,IAErBD,uBAAwB,MAE1BgB,GAAqB,2BAChBD,IADe,IAElBD,0BAA0B,WAI9BhkD,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,qBACRhnB,MAAO,uBAMT+oE,GAAmB,SACvBrtE,EACA3B,EACA2xB,EACA5xB,GACI,IACI+yD,EAAkBnxD,EAAlBmxD,OAAQyf,EAAU5wE,EAAV4wE,MACZnpC,EAAape,KAAKC,MAAgB,IAAT6nC,EAAgByf,GACzCpI,EAAO,eAAQjS,IACfkS,EAAa,eAAQhS,IACrBiS,EAAc,eAAQ/R,IACtBgS,EAAa,eAAQ9R,IACrB+R,EAAc,eAAQ7R,IACtB8R,EAAa,eAAQ5R,IACrB6R,EAAe,eAAQvR,IACvBsZ,EAAqB,eAAQ1Z,IAC7B4R,EAAe,eAAQtR,IACvBqZ,EAAqB,eAAQzZ,IAC7B2R,EAAa,eAAQrR,IACrBsR,EAAU,eAAQpR,IAClByY,EAAc,YAAO1P,IACrB2P,EAAc,YAAOzP,IACrB0P,EAAgB,YAAOxP,IACvByP,EAAe,YAAOvP,IACtBwP,EAAe,YAAOtP,IACtBuP,EAAiB,YAAOrP,IAExB75B,EAAa,IACJ,YAAPppC,GACFmqE,EAAQnqE,GAAKA,EACbmqE,EAAQ9yC,SAAU,EAClB8yC,EAAQ7yC,UAAY8R,EACpB+gC,EAAQ5yC,cAAe,EACvB4yC,EAAQ3yC,UAAW,EACnB2gC,GAAUgS,IACM,iBAAPnqE,GACToqE,EAAcpqE,GAAKA,EACnBoqE,EAAc/yC,SAAU,EACxB+yC,EAAc9yC,UAAY8R,EAC1BghC,EAAc7yC,cAAe,EAC7B6yC,EAAc5yC,UAAW,EACzB6gC,GAAgB+R,IACA,kBAAPpqE,GACTqqE,EAAerqE,GAAKA,EACpBqqE,EAAehzC,SAAU,EACzBgzC,EAAe/yC,UAAY8R,EAC3BihC,EAAe9yC,cAAe,EAC9B8yC,EAAe7yC,UAAW,EAC1B+gC,GAAiB8R,IACD,iBAAPrqE,GACTsqE,EAActqE,GAAKA,EACnBsqE,EAAcjzC,SAAU,EACxBizC,EAAchzC,UAAY8R,EAC1BkhC,EAAc/yC,cAAe,EAC7B+yC,EAAc9yC,UAAW,EACzBihC,GAAgB6R,IACA,kBAAPtqE,GACTuqE,EAAevqE,GAAKA,EACpBuqE,EAAelzC,SAAU,EACzBkzC,EAAejzC,UAAY8R,EAC3BmhC,EAAehzC,cAAe,EAC9BgzC,EAAe/yC,UAAW,EAC1BmhC,GAAiB4R,IACD,iBAAPvqE,GACTwqE,EAAcxqE,GAAKA,EACnBwqE,EAAcnzC,SAAU,EACxBmzC,EAAclzC,UAAY8R,EAC1BohC,EAAcjzC,cAAe,EAC7BizC,EAAchzC,UAAW,EACzBqhC,GAAgB2R,IACA,gBAAPxqE,GACTyqE,EAAgBzqE,GAAKA,EACrByqE,EAAgBpzC,SAAU,EAC1BozC,EAAgBnzC,UAAY8R,EAC5BqhC,EAAgBlzC,cAAe,EAC/BkzC,EAAgBjzC,UAAW,EAC3B2hC,GAAkBsR,IACF,sBAAPzqE,GACTwyE,EAAsBxyE,GAAKA,EAC3BwyE,EAAsBn7C,SAAU,EAChCm7C,EAAsBl7C,UAAY8R,EAClCopC,EAAsBj7C,cAAe,EACrCi7C,EAAsBh7C,UAAW,EACjCuhC,GAAwByZ,IACR,gBAAPxyE,GACT0qE,EAAgB1qE,GAAKA,EACrB0qE,EAAgBrzC,SAAU,EAC1BqzC,EAAgBpzC,UAAY8R,EAC5BshC,EAAgBnzC,cAAe,EAC/BmzC,EAAgBlzC,UAAW,EAC3B6hC,GAAkBqR,IACF,sBAAP1qE,GACTyyE,EAAsBzyE,GAAKA,EAC3ByyE,EAAsBp7C,SAAU,EAChCo7C,EAAsBn7C,UAAY8R,EAClCqpC,EAAsBl7C,cAAe,EACrCk7C,EAAsBj7C,UAAW,EACjCyhC,GAAwBwZ,IACR,cAAPzyE,GACT2qE,EAAc3qE,GAAKA,EACnB2qE,EAActzC,SAAU,EACxBszC,EAAcrzC,UAAY8R,EAC1BuhC,EAAcpzC,cAAe,EAC7BozC,EAAcnzC,UAAW,EACzB+hC,GAAgB,eAAKoR,KACL,cAAP3qE,GACT4qE,EAAW5qE,GAAKA,EAChB4qE,EAAWvzC,SAAU,EACrBuzC,EAAWtzC,UAAY8R,EACvBwhC,EAAWrzC,cAAe,EAC1BqzC,EAAWpzC,UAAW,EACtBiiC,GAAamR,IACG,oBAAP5qE,GACTiyE,EAAe,GAAG56C,SAAU,EAC5B46C,EAAe,GAAG36C,UAAY8R,EAC9B6oC,EAAe,GAAG16C,cAAe,EACjC06C,EAAe,GAAGz6C,UAAW,EAC7BgrC,GAAmByP,IACH,sBAAPjyE,GACTiyE,EAAe,GAAG56C,SAAU,EAC5B46C,EAAe,GAAG36C,UAAY8R,EAC9B6oC,EAAe,GAAG16C,cAAe,EACjC06C,EAAe,GAAGz6C,UAAW,EAC7BgrC,GAAmByP,IACH,qBAAPjyE,GACTkyE,EAAe,GAAG76C,SAAU,EAC5B66C,EAAe,GAAG56C,UAAY8R,EAC9B8oC,EAAe,GAAG36C,cAAe,EACjC26C,EAAe,GAAG16C,UAAW,EAC7BkrC,GAAoBwP,IACJ,uBAAPlyE,GACTkyE,EAAe,GAAG76C,SAAU,EAC5B66C,EAAe,GAAG56C,UAAY8R,EAC9B8oC,EAAe,GAAG36C,cAAe,EACjC26C,EAAe,GAAG16C,UAAW,EAC7BkrC,GAAoBwP,IACJ,oBAAPlyE,GACTmyE,EAAiB,GAAG96C,SAAU,EAC9B86C,EAAiB,GAAG76C,UAAY8R,EAChC+oC,EAAiB,GAAG56C,cAAe,EACnC46C,EAAiB,GAAG36C,UAAW,EAC/BorC,GAAmBuP,IACH,sBAAPnyE,GACTmyE,EAAiB,GAAG96C,SAAU,EAC9B86C,EAAiB,GAAG76C,UAAY8R,EAChC+oC,EAAiB,GAAG56C,cAAe,EACnC46C,EAAiB,GAAG36C,UAAW,EAC/BorC,GAAmBuP,IACH,yBAAPnyE,GACToyE,EAAgB,GAAG/6C,SAAU,EAC7B+6C,EAAgB,GAAG96C,UAAY8R,EAC/BgpC,EAAgB,GAAG76C,cAAe,EAClC66C,EAAgB,GAAG56C,UAAW,EAC9BsrC,GAAoBsP,IACJ,2BAAPpyE,GACToyE,EAAgB,GAAG/6C,SAAU,EAC7B+6C,EAAgB,GAAG96C,UAAY8R,EAC/BgpC,EAAgB,GAAG76C,cAAe,EAClC66C,EAAgB,GAAG56C,UAAW,EAC9BsrC,GAAoBsP,IACJ,0BAAPpyE,GACTqyE,EAAgB,GAAGh7C,SAAU,EAC7Bg7C,EAAgB,GAAG/6C,UAAY8R,EAC/BipC,EAAgB,GAAG96C,cAAe,EAClC86C,EAAgB,GAAG76C,UAAW,EAC9BwrC,GAAqBqP,IACL,4BAAPryE,GACTqyE,EAAgB,GAAGh7C,SAAU,EAC7Bg7C,EAAgB,GAAG/6C,UAAY8R,EAC/BipC,EAAgB,GAAG96C,cAAe,EAClC86C,EAAgB,GAAG76C,UAAW,EAC9BwrC,GAAqBqP,IACL,yBAAPryE,GACTsyE,EAAkB,GAAGj7C,SAAU,EAC/Bi7C,EAAkB,GAAGh7C,UAAY8R,EACjCkpC,EAAkB,GAAG/6C,cAAe,EACpC+6C,EAAkB,GAAG96C,UAAW,EAChC0rC,GAAoBoP,IACJ,2BAAPtyE,IACTsyE,EAAkB,GAAGj7C,SAAU,EAC/Bi7C,EAAkB,GAAGh7C,UAAY8R,EACjCkpC,EAAkB,GAAG/6C,cAAe,EACpC+6C,EAAkB,GAAG96C,UAAW,EAChC0rC,GAAoBoP,IAEE,MAAflpC,IACE,YAAPppC,GACFmqE,EAAQnqE,GAAKA,EACbmqE,EAAQ9yC,SAAU,EAClB8yC,EAAQ7yC,UAAY8R,EACpB+gC,EAAQ3yC,UAAW,EACnB2yC,EAAQ5yC,cAAe,EACvB4yC,EAAQx4C,SAAWA,EACnBw4C,EAAQt1C,SAAW90B,EACnBo4D,GAAUgS,IACM,iBAAPnqE,GACToqE,EAAcpqE,GAAKA,EACnBoqE,EAAc/yC,SAAU,EACxB+yC,EAAc9yC,UAAY8R,EAC1BghC,EAAcz4C,SAAWA,EACzBy4C,EAAc5yC,UAAW,EACzB4yC,EAAc7yC,cAAe,EAC7B6yC,EAAcv1C,SAAW90B,EACzBs4D,GAAgB+R,IACA,kBAAPpqE,GACTqqE,EAAerqE,GAAKA,EACpBqqE,EAAehzC,SAAU,EACzBgzC,EAAe/yC,UAAY8R,EAC3BihC,EAAe14C,SAAWA,EAC1B04C,EAAe7yC,UAAW,EAC1B6yC,EAAe9yC,cAAe,EAC9B8yC,EAAex1C,SAAW90B,EAC1Bw4D,GAAiB8R,IACD,iBAAPrqE,GACTsqE,EAActqE,GAAKA,EACnBsqE,EAAcjzC,SAAU,EACxBizC,EAAchzC,UAAY8R,EAC1BkhC,EAAc34C,SAAWA,EACzB24C,EAAc9yC,UAAW,EACzB8yC,EAAc/yC,cAAe,EAC7B+yC,EAAcz1C,SAAW90B,EACzB04D,GAAgB6R,IACA,kBAAPtqE,GACTuqE,EAAevqE,GAAKA,EACpBuqE,EAAelzC,SAAU,EACzBkzC,EAAejzC,UAAY8R,EAC3BmhC,EAAe54C,SAAWA,EAC1B44C,EAAe/yC,UAAW,EAC1B+yC,EAAehzC,cAAe,EAC9BgzC,EAAe11C,SAAW90B,EAC1B44D,GAAiB4R,IACD,iBAAPvqE,GACTwqE,EAAcxqE,GAAKA,EACnBwqE,EAAcnzC,SAAU,EACxBmzC,EAAclzC,UAAY8R,EAC1BohC,EAAc74C,SAAWA,EACzB64C,EAAchzC,UAAW,EACzBgzC,EAAcjzC,cAAe,EAC7BizC,EAAc31C,SAAW90B,EACzB84D,GAAgB2R,IACA,gBAAPxqE,GACTyqE,EAAgBzqE,GAAKA,EACrByqE,EAAgBpzC,SAAU,EAC1BozC,EAAgBnzC,UAAY8R,EAC5BqhC,EAAgBjzC,UAAW,EAC3BizC,EAAgBlzC,cAAe,EAC/BkzC,EAAgB51C,SAAW90B,EAC3B0qE,EAAgB94C,SAAWA,EAC3BwnC,GAAkBsR,IACF,sBAAPzqE,GACTwyE,EAAsBxyE,GAAKA,EAC3BwyE,EAAsBn7C,SAAU,EAChCm7C,EAAsBl7C,UAAY8R,EAClCopC,EAAsBh7C,UAAW,EACjCg7C,EAAsBj7C,cAAe,EACrCi7C,EAAsB39C,SAAW90B,EACjCyyE,EAAsB7gD,SAAWA,EACjConC,GAAwByZ,IACR,gBAAPxyE,GACT0qE,EAAgB1qE,GAAKA,EACrB0qE,EAAgBrzC,SAAU,EAC1BqzC,EAAgBpzC,UAAY8R,EAC5BshC,EAAgBlzC,UAAW,EAC3BkzC,EAAgBnzC,cAAe,EAC/BmzC,EAAgB71C,SAAW90B,EAC3B2qE,EAAgB/4C,SAAWA,EAC3B0nC,GAAkBqR,IACF,sBAAP1qE,GACTyyE,EAAsBzyE,GAAKA,EAC3ByyE,EAAsBp7C,SAAU,EAChCo7C,EAAsBn7C,UAAY8R,EAClCqpC,EAAsBj7C,UAAW,EACjCi7C,EAAsBl7C,cAAe,EACrCk7C,EAAsB59C,SAAW90B,EACjC0yE,EAAsB9gD,SAAWA,EACjCsnC,GAAwBwZ,IACR,cAAPzyE,GACT2qE,EAAc3qE,GAAKA,EACnB2qE,EAActzC,SAAU,EACxBszC,EAAcrzC,UAAY8R,EAC1BuhC,EAAcnzC,UAAW,EACzBmzC,EAAcpzC,cAAe,EAC7BozC,EAAc91C,SAAW90B,EACzB4qE,EAAch5C,SAAWA,EACzB4nC,GAAgBoR,IACA,cAAP3qE,GACT4qE,EAAW5qE,GAAKA,EAChB4qE,EAAWvzC,SAAU,EACrBuzC,EAAWtzC,UAAY8R,EACvBwhC,EAAWpzC,UAAW,EACtBozC,EAAWrzC,cAAe,EAC1BqzC,EAAW/1C,SAAW90B,EACtB6qE,EAAWj5C,SAAWA,EACtB8nC,GAAamR,IACG,oBAAP5qE,GACTiyE,EAAe,GAAG56C,SAAU,EAC5B46C,EAAe,GAAG36C,UAAY8R,EAC9B6oC,EAAe,GAAGz6C,UAAW,EAC7By6C,EAAe,GAAG16C,cAAe,EACjC06C,EAAe,GAAGp9C,SAAW90B,EAC7ByiE,GAAmByP,IACH,sBAAPjyE,GACTiyE,EAAe,GAAG56C,SAAU,EAC5B46C,EAAe,GAAG36C,UAAY8R,EAC9B6oC,EAAe,GAAGz6C,UAAW,EAC7By6C,EAAe,GAAG16C,cAAe,EACjC06C,EAAe,GAAGp9C,SAAW90B,EAC7ByiE,GAAmByP,IACH,qBAAPjyE,GACTkyE,EAAe,GAAG76C,SAAU,EAC5B66C,EAAe,GAAG56C,UAAY8R,EAC9B8oC,EAAe,GAAG16C,UAAW,EAC7B06C,EAAe,GAAG36C,cAAe,EACjC26C,EAAe,GAAGr9C,SAAW90B,EAC7B2iE,GAAoBwP,IACJ,uBAAPlyE,GACTkyE,EAAe,GAAG76C,SAAU,EAC5B66C,EAAe,GAAG56C,UAAY8R,EAC9B8oC,EAAe,GAAG16C,UAAW,EAC7B06C,EAAe,GAAG36C,cAAe,EACjC26C,EAAe,GAAGr9C,SAAW90B,EAC7B2iE,GAAoBwP,IACJ,oBAAPlyE,GACTmyE,EAAiB,GAAG96C,SAAU,EAC9B86C,EAAiB,GAAG76C,UAAY8R,EAChC+oC,EAAiB,GAAG36C,UAAW,EAC/B26C,EAAiB,GAAG56C,cAAe,EACnC46C,EAAiB,GAAGt9C,SAAW90B,EAC/B6iE,GAAmBuP,IACH,sBAAPnyE,GACTmyE,EAAiB,GAAG96C,SAAU,EAC9B86C,EAAiB,GAAG76C,UAAY8R,EAChC+oC,EAAiB,GAAG36C,UAAW,EAC/B26C,EAAiB,GAAG56C,cAAe,EACnC46C,EAAiB,GAAGt9C,SAAW90B,EAC/B6iE,GAAmBuP,IACH,yBAAPnyE,GACToyE,EAAgB,GAAG/6C,SAAU,EAC7B+6C,EAAgB,GAAG96C,UAAY8R,EAC/BgpC,EAAgB,GAAG56C,UAAW,EAC9B46C,EAAgB,GAAG76C,cAAe,EAClC66C,EAAgB,GAAGv9C,SAAW90B,EAC9B+iE,GAAoBsP,IACJ,2BAAPpyE,GACToyE,EAAgB,GAAG/6C,SAAU,EAC7B+6C,EAAgB,GAAG96C,UAAY8R,EAC/BgpC,EAAgB,GAAG56C,UAAW,EAC9B46C,EAAgB,GAAG76C,cAAe,EAClC66C,EAAgB,GAAGv9C,SAAW90B,EAC9B+iE,GAAoBsP,IACJ,0BAAPpyE,GACTqyE,EAAgB,GAAGh7C,SAAU,EAC7Bg7C,EAAgB,GAAG/6C,UAAY8R,EAC/BipC,EAAgB,GAAG76C,UAAW,EAC9B66C,EAAgB,GAAG96C,cAAe,EAClC86C,EAAgB,GAAGx9C,SAAW90B,EAC9BijE,GAAqBqP,IACL,4BAAPryE,GACTqyE,EAAgB,GAAGh7C,SAAU,EAC7Bg7C,EAAgB,GAAG/6C,UAAY8R,EAC/BipC,EAAgB,GAAG76C,UAAW,EAC9B66C,EAAgB,GAAG96C,cAAe,EAClC86C,EAAgB,GAAGx9C,SAAW90B,EAC9BijE,GAAqBqP,IACL,yBAAPryE,GACTsyE,EAAkB,GAAGj7C,SAAU,EAC/Bi7C,EAAkB,GAAGh7C,UAAY8R,EACjCkpC,EAAkB,GAAG96C,UAAW,EAChC86C,EAAkB,GAAG/6C,cAAe,EACpC+6C,EAAkB,GAAGz9C,SAAW90B,EAChCmjE,GAAoBoP,IACJ,2BAAPtyE,IACTsyE,EAAkB,GAAGj7C,SAAU,EAC/Bi7C,EAAkB,GAAGh7C,UAAY8R,EACjCkpC,EAAkB,GAAG96C,UAAW,EAChC86C,EAAkB,GAAG/6C,cAAe,EACpC+6C,EAAkB,GAAGz9C,SAAW90B,EAChCmjE,GAAoBoP,MAKpBlD,GAAe,SAACngE,EAAUjP,GAC9B,IAAKiP,GAAOA,EAAIR,MAEd0xD,IAAgB,GAChBpC,IAAY,GAEZh8C,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CAAEG,OAAQ,sBAAuBhnB,MAAO,oBACnD6e,GAAa,QACR,GAAI7V,EAAIS,KAGb,GAFAqS,GAAW0C,IACXK,GAAa,GxEpvIU,IwEqvInB9kB,EAAG9E,WAA8B,CACnCilE,IAAgB,GAChBpC,IAAY,GACZsC,GAAgB,IAEhB,IAAMh8C,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG1D6M,EAAwBhnB,MACtB4R,EAAIS,KAAKP,OAAO41B,kBAAkB2tC,WACpCpnD,KAAOjH,EAAwB0mB,WAAWxf,OAAO,gBAC/Ctc,EAAIS,KAAKP,OAAO41B,kBAAkB4tC,eAEpCpT,IAAoB,GACpBx9C,GAAWzY,IACX+2D,GAAgB/2D,MAEhBi2D,IAAoB,GACpBc,GAAgB,IAChBt+C,GAAW,KAGb7K,GAAYopC,UAAYrxC,EAAIS,KAAKP,OAAO41B,uBxEzwIX,KwE2wI7B/kC,EAAG9E,YxE/vIiC,KwEgwIpC8E,EAAG9E,YxE3wI2B,MwEixI9B8E,EAAG9E,YxErwIkC,MwEswIrC8E,EAAG9E,YxEjxI0B,MwEuxI7B8E,EAAG9E,YxE3wIiC,MwE4wIpC8E,EAAG9E,YxEvxI2B,MwE6xI9B8E,EAAG9E,YxEjxIkC,MwEkxIrC8E,EAAG9E,YxE7xI0B,MwEmyI7B8E,EAAG9E,YxEvxIiC,MwEwxIpC8E,EAAG9E,WA1BEqgE,KACHrkD,GAAYqpC,aAAetxC,EAAIS,KAAKP,OAAO41B,mBxE1vIpB,MwEwxIhB/kC,EAAG9E,YACZ0kE,IAAiB,GAIjB1oD,GAAYspC,cACU,OAApBvxC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAO41B,kBAAoB,GAE5D7tB,GAAYspC,cAAcvkD,QAM7B2jE,IAAiB,GALjB3nD,MAEE,mFxElyIsB,MwEuyIjBjY,EAAG9E,WACZgc,GAAYupC,eAAiBxxC,EAAIS,KAAKP,OAAO41B,kBxEvyIpB,MwEwyIhB/kC,EAAG9E,WACZgc,GAAYypC,cAAgB1xC,EAAIS,KAAKP,OAAO41B,kBxExyIxB,MwEyyIX/kC,EAAG9E,WACZgc,GAAYwpC,SAAWzxC,EAAIS,KAAKP,OAAO41B,kBxExyIV,KwEyyIpB/kC,EAAG9E,YACZ4kE,IAAqB,GAOrB5oD,GAAY0pC,kBAAoB3xC,EAAIS,KAAKP,OAAO41B,kBAE3C7tB,GAAY0pC,kBAAkB3kD,QAMjC6jE,IAAqB,GALrB7nD,MAEE,mFxErzI0B,KwE0zIrBjY,EAAG9E,WACZgc,GAAY2pC,mBAAqB5xC,EAAIS,KAAKP,OAAO41B,kBxE1zIpB,KwE2zIpB/kC,EAAG9E,WACZgc,GAAY6pC,kBAAoB9xC,EAAIS,KAAKP,OAAO41B,kBxE3zIxB,KwE4zIf/kC,EAAG9E,aACZgc,GAAY4pC,aAAe7xC,EAAIS,KAAKP,OAAO41B,wBAG7CjY,GAAW,CAAEG,OAAQ,sBAAuBhnB,MAAO,uBAyRjD2sE,GAAiB,SAAC7xE,GACtB,GAAY,QAARA,GACa,IAAXy0D,EACFC,GAAU,IAEVyC,GAAO3iC,eAAgB,EACvB2iC,GAAOvmC,SAAW,IAClBumC,GAAOrjC,SAAW,IAClB4gC,GAAU,SAEP,GAAY,cAAR10D,GACY,IAAjB20D,EACFC,GAAgB,IAEhB6D,GAAUjkC,eAAgB,EAC1BikC,GAAU7nC,SAAW,IACrB6nC,GAAU3kC,SAAW,IACrB8gC,GAAgB,SAEb,GAAY,eAAR50D,GACa,IAAlB60D,EACFC,GAAiB,IAEjB2D,GAAUjkC,eAAgB,EAC1BikC,GAAU7nC,SAAW,IACrB6nC,GAAU3kC,SAAW,IACrBghC,GAAiB,SAEd,GAAY,cAAR90D,GACY,IAAjB20D,EACFK,GAAgB,IAEhByD,GAAUjkC,eAAgB,EAC1BikC,GAAU7nC,SAAW,IACrB6nC,GAAU3kC,SAAW,IACrBkhC,GAAgB,SAEb,GAAY,eAARh1D,GACa,IAAlBi1D,EACFC,GAAiB,IAEjBuD,GAAUjkC,eAAgB,EAC1BikC,GAAU7nC,SAAW,IACrB6nC,GAAU3kC,SAAW,IACrBohC,GAAiB,SAEd,GAAY,cAARl1D,GACY,IAAjBm1D,EACFP,GAAgB,IAEhB6D,GAAUjkC,eAAgB,EAC1BikC,GAAU7nC,SAAW,IACrB6nC,GAAU3kC,SAAW,IACrBshC,GAAgB,SAEb,GAAY,gBAARp1D,GACU,IAAfq1D,GACFC,IAAc,IAEd6C,GAAe3jC,eAAgB,EAC/B2jC,GAAevnC,SAAW,IAC1BunC,GAAerkC,SAAW,IAC1BwhC,IAAc,SAEX,GAAY,gBAARt1D,GACU,IAAfu1D,GACFC,IAAc,IAEd6C,GAAe7jC,eAAgB,EAC/B6jC,GAAeznC,SAAW,IAC1BynC,GAAevkC,SAAW,IAC1B0hC,IAAc,SAEX,GAAY,cAARx1D,GACM,IAAXy1D,GACFC,IAAU,IAEV6C,GAAa/jC,eAAgB,EAC7B+jC,GAAa3nC,SAAW,IACxB2nC,GAAazkC,SAAW,IACxB4hC,IAAU,SAEP,GAAY,WAAR11D,GACS,IAAd21D,GACFC,IAAa,IAEb6C,GAAUjkC,eAAgB,EAC1BikC,GAAU7nC,SAAW,IACrB6nC,GAAU3kC,SAAW,IACrB8hC,IAAa,SAEV,GAAY,iBAAR51D,EACT,IAAwC,IAApCqjE,GAAmBL,aACrBM,GAAsB,2BAAKD,IAAN,IAA0BL,cAAc,SACxD,CACL,IAAIA,EAAY,YAAOxB,IACvBwB,EAAa,GAAGxuC,eAAgB,EAChCwuC,EAAa,GAAGpyC,SAAW,IAC3BoyC,EAAa,GAAGlvC,SAAW,IAC3BkvC,EAAa,GAAGxuC,eAAgB,EAChCwuC,EAAa,GAAGpyC,SAAW,IAC3BoyC,EAAa,GAAGlvC,SAAW,IAC3B2tC,GAAmBuB,GACnBM,GAAsB,2BAAKD,IAAN,IAA0BL,cAAc,UAE1D,GAAY,kBAARhjE,EACT,IAAyC,IAArCqjE,GAAmBJ,cACrBK,GAAsB,2BAAKD,IAAN,IAA0BJ,eAAe,SACzD,CACL,IAAIA,EAAa,YAAOvB,IACxBuB,EAAc,GAAGzuC,eAAgB,EACjCyuC,EAAc,GAAGryC,SAAW,IAC5BqyC,EAAc,GAAGnvC,SAAW,IAC5BmvC,EAAc,GAAGzuC,eAAgB,EACjCyuC,EAAc,GAAGryC,SAAW,IAC5BqyC,EAAc,GAAGnvC,SAAW,IAC5B6tC,GAAoBsB,GACpBK,GAAsB,2BAAKD,IAAN,IAA0BJ,eAAe,UAE3D,GAAY,iBAARjjE,EACT,IAAwC,IAApCqjE,GAAmBroC,aACrBsoC,GAAsB,2BAAKD,IAAN,IAA0BroC,cAAc,SACxD,CACL,IAAIA,EAAY,YAAO0mC,IACvB1mC,EAAa,GAAGxG,eAAgB,EAChCwG,EAAa,GAAGpK,SAAW,IAC3BoK,EAAa,GAAGlH,SAAW,IAC3BkH,EAAa,GAAGxG,eAAgB,EAChCwG,EAAa,GAAGpK,SAAW,IAC3BoK,EAAa,GAAGlH,SAAW,IAC3B6tC,GAAoB3mC,GACpBsoC,GAAsB,2BAAKD,IAAN,IAA0BroC,cAAc,UAE1D,GAAY,kBAARh7B,EACT,IAAyC,IAArCqjE,GAAmBH,cACrBI,GAAsB,2BAAKD,IAAN,IAA0BH,eAAe,SACzD,CACL,IAAIA,EAAa,YAAOpB,IACxBoB,EAAc,GAAG1uC,eAAgB,EACjC0uC,EAAc,GAAGtyC,SAAW,IAC5BsyC,EAAc,GAAGpvC,SAAW,IAC5BovC,EAAc,GAAG1uC,eAAgB,EACjC0uC,EAAc,GAAGtyC,SAAW,IAC5BsyC,EAAc,GAAGpvC,SAAW,IAC5BiuC,GAAoBmB,GACpBI,GAAsB,2BAAKD,IAAN,IAA0BH,eAAe,UAE3D,GAAY,mBAARljE,EACT,IAA0C,IAAtCqjE,GAAmBF,eACrBG,GAAsB,2BAAKD,IAAN,IAA0BF,gBAAgB,SAC1D,CACL,IAAIA,EAAc,YAAOnB,IACzBmB,EAAe,GAAG3uC,eAAgB,EAClC2uC,EAAe,GAAGvyC,SAAW,IAC7BuyC,EAAe,GAAGrvC,SAAW,IAC7BqvC,EAAe,GAAG3uC,eAAgB,EAClC2uC,EAAe,GAAGvyC,SAAW,IAC7BuyC,EAAe,GAAGrvC,SAAW,IAC7BmuC,GAAqBkB,GACrBG,GAAsB,2BAAKD,IAAN,IAA0BF,gBAAgB,UAE5D,GAAY,kBAARnjE,EACT,IAAyC,IAArCqjE,GAAmBD,cACrBE,GAAsB,2BAAKD,IAAN,IAA0BD,eAAe,SACzD,CACL,IAAIA,EAAa,YAAOpB,IACxBoB,EAAc,GAAG5uC,eAAgB,EACjC4uC,EAAc,GAAGxyC,SAAW,IAC5BwyC,EAAc,GAAGtvC,SAAW,IAC5BsvC,EAAc,GAAG5uC,eAAgB,EACjC4uC,EAAc,GAAGxyC,SAAW,IAC5BwyC,EAAc,GAAGtvC,SAAW,IAC5BquC,GAAoBiB,GACpBE,GAAsB,2BAAKD,IAAN,IAA0BD,eAAe,OAI9D0O,GAAgB,SAAC9xE,GACrB2B,QAAQC,IAAI,gBAAiB5B,GACzBA,IAC6B,IAA3BA,EAAIi0B,oBACNojC,GAAa/gC,SAAU,EACvB+gC,GAAazjC,WAAa5zB,EAAI+xB,WAC9BulC,GAAgBD,IAChB2B,GAAuBh5D,EAAIgsE,eACS,KAA3BhsE,EAAIi0B,oBACbsjC,GAAcjhC,SAAU,EACxBihC,GAAc3jC,WAAa5zB,EAAI+xB,WAC/BylC,GAAiBD,IACjB2B,GAAwBl5D,EAAIgsE,eACQ,KAA3BhsE,EAAIi0B,oBACbwjC,GAAanhC,SAAU,EACvBmhC,GAAa7jC,WAAa5zB,EAAI+xB,WAC9B2lC,GAAgBD,IAChB2B,GAAuBp5D,EAAIgsE,eACS,KAA3BhsE,EAAIi0B,oBACb0jC,GAAcrhC,SAAU,EACxBqhC,GAAc/jC,WAAa5zB,EAAI+xB,WAC/B6lC,GAAiBD,IACjB2B,GAAwBt5D,EAAIgsE,eACQ,KAA3BhsE,EAAIi0B,qBACb4jC,GAAavhC,SAAU,EACvBuhC,GAAajkC,WAAa5zB,EAAI+xB,WAC9B+lC,GAAgBD,IAChB2B,GAAuBx5D,EAAIgsE,iBA8L3B+F,GAAe,SAACx+B,EAAkBy+B,GACtC,IAAMC,EAAc,GACpB,GAAIhb,IAAY4F,GAAY,CAAC,IAAD,IACtBqV,EAAe,CACjBh+C,mBAAkB,UAAE+iC,GAAS/iC,0BAAX,aAAE,EAA6BpwB,WACjD8vB,WAAU,UAAEqjC,GAASrjC,kBAAX,aAAE,EAAqB9vB,WACjCswB,mBAAoB,GACpBxD,SAAUqmC,GAASrmC,SACnB0D,eAAe,EACfR,SAAUmjC,GAASnjC,SACnBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnC03B,kBAAmB,IACnBY,QAAQ,EACRJ,eAAe,EAEfO,qBAAsBi9C,GAEnBA,UACIE,EAAan9C,qBAEtBk9C,EAAYztD,KAAK0tD,GAGnB,GAA0B,MAArB/a,GAAO5gC,WAAqBwmC,IAAa5F,GAAO3iC,cAAe,CAAC,IAAD,IAC9D29C,EAAa,CACfj+C,mBAAkB,UAAEijC,GAAOjjC,0BAAT,aAAE,EAA2BpwB,WAC/C8vB,WAAU,UAAEujC,GAAOvjC,kBAAT,aAAE,EAAmB9vB,WAC/BswB,mBAAoB,GACpBxD,SAAUkqC,IAAW3D,GAAOvmC,SAC5B0D,eAAe,EACfR,SAAUqjC,GAAOrjC,SACjBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe2iC,GAAO3iC,cACtBR,kBAAmB,IACnBY,QAAQ,GAEc,GAApB2pC,KACF4T,EAAWv9C,QAAS,GAEtBq9C,EAAYztD,KAAK2tD,GAInB,GAFAxwE,QAAQC,IAAI,0BAA2BqwE,GAGT,MAA3B5a,GAAa9gC,WAAqB0mC,IACnC5F,GAAa7iC,cACb,CAAC,IAAD,IACI49C,EAAc,CAChBl+C,mBAAkB,UAAEmjC,GAAanjC,0BAAf,aAAE,EAAiCpwB,WACrD8vB,WAAU,UAAEyjC,GAAazjC,kBAAf,aAAE,EAAyB9vB,WACrCswB,mBAAoB,GACpBxD,SAAUoqC,IAAiB3D,GAAazmC,SACxC0D,eAAe,EACfR,SAAUujC,GAAavjC,SACvBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe6iC,GAAa7iC,cAC5BR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAK4tD,GAGnB,GAC+B,MAA5B7a,GAAchhC,WAAqB4mC,IACpC5F,GAAc/iC,cACd,CAAC,IAAD,IACI69C,EAAoB,CACtBn+C,mBAAkB,UAAEqjC,GAAcrjC,0BAAhB,aAAE,EAAkCpwB,WACtD8vB,WAAU,UAAE2jC,GAAc3jC,kBAAhB,aAAE,EAA0B9vB,WACtCswB,mBAAoB,GACpBxD,SAAUsqC,IAAkB3D,GAAc3mC,SAC1C0D,eAAe,EACfR,SAAUyjC,GAAczjC,SACxBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe+iC,GAAc/iC,cAC7BR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAK6tD,GAGnB,GAC8B,MAA3B5a,GAAalhC,WAAqB8mC,IACnC5F,GAAajjC,cACb,CAAC,IAAD,IACI89C,EAAmB,CACrBp+C,mBAAkB,UAAEujC,GAAavjC,0BAAf,aAAE,EAAiCpwB,WACrD8vB,WAAU,UAAE6jC,GAAa7jC,kBAAf,aAAE,EAAyB9vB,WACrCswB,mBAAoB,GACpBxD,SAAUwqC,IAAiB3D,GAAa7mC,SACxC0D,eAAe,EACfR,SAAU2jC,GAAa3jC,SACvBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAeijC,GAAajjC,cAC5BR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAK8tD,GAGnB,GAC+B,MAA5B3a,GAAcphC,WAAqBgnC,IACpC5F,GAAcnjC,cACd,CAAC,IAAD,IACI+9C,EAAoB,CACtBr+C,mBAAkB,UAAEyjC,GAAczjC,0BAAhB,aAAE,EAAkCpwB,WACtD8vB,WAAU,UAAE+jC,GAAc/jC,kBAAhB,aAAE,EAA0B9vB,WACtCswB,mBAAoB,GACpBxD,SAAU0qC,IAAkB3D,GAAc/mC,SAC1C0D,eAAe,EACfR,SAAU6jC,GAAc7jC,SACxBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAemjC,GAAcnjC,cAC7BR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAK+tD,GAGnB,GAC8B,MAA3B1a,GAAathC,WAAqBknC,IACnC5F,GAAarjC,cACb,CAAC,IAAD,IACIg+C,EAAmB,CACrBt+C,mBAAkB,UAAE2jC,GAAa3jC,0BAAf,aAAE,EAAiCpwB,WACrD8vB,WAAU,UAAEikC,GAAajkC,kBAAf,aAAE,EAAyB9vB,WACrCswB,mBAAoB,GACpBxD,SAAU4qC,IAAiB3D,GAAajnC,SACxC0D,eAAe,EACfR,SAAU+jC,GAAa/jC,SACvBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAeqjC,GAAarjC,cAC5BR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKguD,GAInB,GAFA7wE,QAAQC,IAAI,0BAA2BqwE,GAGP,MAA7B9Z,GAAe5hC,WAAqBonC,IACrCxF,GAAe3jC,cACf,CAAC,IAAD,IACIi+C,EAAqB,CACvBv+C,mBAAkB,UAAEikC,GAAejkC,0BAAjB,aAAE,EAAmCpwB,WACvD8vB,WAAU,UAAEukC,GAAevkC,kBAAjB,aAAE,EAA2B9vB,WACvCswB,mBAAoB,GACpBxD,SAAUwrC,IAAejE,GAAevnC,SACxC0D,eAAe,EACfR,SAAUqkC,GAAerkC,SACzBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe2jC,GAAe3jC,cAC9BR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKiuD,GAEnB,GACgC,MAA7Bpa,GAAe9hC,WAAqBsnC,IACrCxF,GAAe7jC,cACf,CAAC,IAAD,IACIk+C,EAAqB,CACvBx+C,mBAAkB,UAAEmkC,GAAenkC,0BAAjB,aAAE,EAAmCpwB,WACvD8vB,WAAU,UAAEykC,GAAezkC,kBAAjB,aAAE,EAA2B9vB,WACvCswB,mBAAoB,GACpBxD,SAAU0rC,IAAmBjE,GAAeznC,SAC5C0D,eAAe,EACfR,SAAUukC,GAAevkC,SACzBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe6jC,GAAe7jC,cAC9BR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKkuD,GAInB,GAFA/wE,QAAQC,IAAI,0BAA2BqwE,GAGT,MAA3B1Z,GAAahiC,WAAqBwnC,IACnCxF,GAAa/jC,cACb,CAAC,IAAD,IACIm+C,EAAmB,CACrBz+C,mBAAkB,UAAEqkC,GAAarkC,0BAAf,aAAE,EAAiCpwB,WACrD8vB,WAAU,UAAE2kC,GAAa3kC,kBAAf,aAAE,EAAyB9vB,WACrCswB,mBAAoB,GACpBxD,SAAU4rC,IAAiBjE,GAAa3nC,SACxC0D,eAAe,EACfR,SAAUykC,GAAazkC,SACvBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe+jC,GAAa/jC,cAC5BR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKmuD,GAInB,GAFAhxE,QAAQC,IAAI,0BAA2BqwE,GAGZ,MAAxBxZ,GAAUliC,WAAqB0nC,IAChCxF,GAAUjkC,cACV,CAAC,IAAD,IACIo+C,EAAgB,CAClB1+C,mBAAkB,UAAEukC,GAAUvkC,0BAAZ,aAAE,EAA8BpwB,WAClD8vB,WAAU,UAAE6kC,GAAU7kC,kBAAZ,aAAE,EAAsB9vB,WAClCswB,mBAAoB,GACpBxD,SAAU8rC,IAAcjE,GAAU7nC,SAClC0D,eAAe,EACfR,SAAU2kC,GAAU3kC,SACpBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAeikC,GAAUjkC,cACzBR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,GAEnB,GACoC,MAAjCpR,GAAgB,GAAGjrC,WAClB0uC,GAAkBZ,iBACpB7C,GAAgB,GAAGhtC,cACnB,CAAC,IAAD,IACIo+C,EAAgB,CAClB1+C,mBAAkB,UAAEstC,GAAgB,GAAGttC,0BAArB,aAAE,EAAuCpwB,WAC3D8vB,WAAU,UAAE4tC,GAAgB,GAAG5tC,kBAArB,aAAE,EAA+B9vB,WAC3CswB,mBAAoB,GACpBxD,SAAU4wC,GAAgB,GAAG5wC,SAC7B0D,eAAe,EACfR,SAAU0tC,GAAgB,GAAG1tC,SAC7BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAegtC,GAAgB,GAAGhtC,cAClCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,GAEnB,GACoC,MAAjCpR,GAAgB,GAAGjrC,WAClB0uC,GAAkBX,qBACpB9C,GAAgB,GAAGhtC,cACnB,CAAC,IAAD,IACIo+C,EAAgB,CAClB1+C,mBAAkB,UAAEstC,GAAgB,GAAGttC,0BAArB,aAAE,EAAuCpwB,WAC3D8vB,WAAU,UAAE4tC,GAAgB,GAAG5tC,kBAArB,aAAE,EAA+B9vB,WAC3CswB,mBAAoB,GACpBxD,SAAU4wC,GAAgB,GAAG5wC,SAC7B0D,eAAe,EACfR,SAAU0tC,GAAgB,GAAG1tC,SAC7BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAegtC,GAAgB,GAAGhtC,cAClCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,GAEnB,GACqC,MAAlClR,GAAiB,GAAGnrC,WACnB0uC,GAAkBV,kBACpB7C,GAAiB,GAAGltC,cACpB,CAAC,IAAD,IACIo+C,EAAgB,CAClB1+C,mBAAkB,UAAEwtC,GAAiB,GAAGxtC,0BAAtB,aAAE,EAAwCpwB,WAC5D8vB,WAAU,UAAE8tC,GAAiB,GAAG9tC,kBAAtB,aAAE,EAAgC9vB,WAC5CswB,mBAAoB,GACpBxD,SAAU8wC,GAAiB,GAAG9wC,SAC9B0D,eAAe,EACfR,SAAU4tC,GAAiB,GAAG5tC,SAC9BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAektC,GAAiB,GAAGltC,cACnCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,GAEnB,GACqC,MAAlClR,GAAiB,GAAGnrC,WACnB0uC,GAAkBT,sBACpB9C,GAAiB,GAAGltC,cACpB,CAAC,IAAD,IACIo+C,EAAgB,CAClB1+C,mBAAkB,UAAEwtC,GAAiB,GAAGxtC,0BAAtB,aAAE,EAAwCpwB,WAC5D8vB,WAAU,UAAE8tC,GAAiB,GAAG9tC,kBAAtB,aAAE,EAAgC9vB,WAC5CswB,mBAAoB,GACpBxD,SAAU8wC,GAAiB,GAAG9wC,SAC9B0D,eAAe,EACfR,SAAU4tC,GAAiB,GAAG5tC,SAC9BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAektC,GAAiB,GAAGltC,cACnCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,GAEnB,GACoC,MAAjChR,GAAgB,GAAGrrC,WAClB0uC,GAAkBR,iBACpB7C,GAAgB,GAAGptC,cACnB,CAAC,IAAD,IACIo+C,EAAgB,CAClB1+C,mBAAkB,UAAE0tC,GAAgB,GAAG1tC,0BAArB,aAAE,EAAuCpwB,WAC3D8vB,WAAU,UAAEguC,GAAgB,GAAGhuC,kBAArB,aAAE,EAA+B9vB,WAC3CswB,mBAAoB,GACpBxD,SAAUgxC,GAAgB,GAAGhxC,SAC7B0D,eAAe,EACfR,SAAU8tC,GAAgB,GAAG9tC,SAC7BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAeotC,GAAgB,GAAGptC,cAClCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,GAEnB,GACoC,MAAjChR,GAAgB,GAAGrrC,WAClB0uC,GAAkBP,qBACpB9C,GAAgB,GAAGptC,cACnB,CAAC,IAAD,KACIo+C,GAAgB,CAClB1+C,mBAAkB,UAAE0tC,GAAgB,GAAG1tC,0BAArB,aAAE,EAAuCpwB,WAC3D8vB,WAAU,WAAEguC,GAAgB,GAAGhuC,kBAArB,cAAE,GAA+B9vB,WAC3CswB,mBAAoB,GACpBxD,SAAUgxC,GAAgB,GAAGhxC,SAC7B0D,eAAe,EACfR,SAAU8tC,GAAgB,GAAG9tC,SAC7BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAeotC,GAAgB,GAAGptC,cAClCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,IAEnB,GACqC,MAAlC9Q,GAAiB,GAAGvrC,WACnB0uC,GAAkBN,sBACpB7C,GAAiB,GAAGttC,cACpB,CAAC,IAAD,MACIo+C,GAAgB,CAClB1+C,mBAAkB,WAAE4tC,GAAiB,GAAG5tC,0BAAtB,cAAE,GAAwCpwB,WAC5D8vB,WAAU,WAAEkuC,GAAiB,GAAGluC,kBAAtB,cAAE,GAAgC9vB,WAC5CswB,mBAAoB,GACpBxD,SAAUkxC,GAAiB,GAAGlxC,SAC9B0D,eAAe,EACfR,SAAUguC,GAAiB,GAAGhuC,SAC9BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAestC,GAAiB,GAAGttC,cACnCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,IAEnB,GACqC,MAAlC9Q,GAAiB,GAAGvrC,WACnB0uC,GAAkBL,0BACpB9C,GAAiB,GAAGttC,cACpB,CAAC,IAAD,MACIo+C,GAAgB,CAClB1+C,mBAAkB,WAAE4tC,GAAiB,GAAG5tC,0BAAtB,cAAE,GAAwCpwB,WAC5D8vB,WAAU,WAAEkuC,GAAiB,GAAGluC,kBAAtB,cAAE,GAAgC9vB,WAC5CswB,mBAAoB,GACpBxD,SAAUkxC,GAAiB,GAAGlxC,SAC9B0D,eAAe,EACfR,SAAUguC,GAAiB,GAAGhuC,SAC9BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAestC,GAAiB,GAAGttC,cACnCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,IAEnB,GACsC,MAAnC5Q,GAAkB,GAAGzrC,WACpB0uC,GAAkBJ,uBACpB7C,GAAkB,GAAGxtC,cACrB,CAAC,IAAD,MACIo+C,GAAgB,CAClB1+C,mBAAkB,WAAE8tC,GAAkB,GAAG9tC,0BAAvB,cAAE,GAAyCpwB,WAC7D8vB,WAAU,WAAEouC,GAAkB,GAAGpuC,kBAAvB,cAAE,GAAiC9vB,WAC7CswB,mBAAoB,GACpBxD,SAAUoxC,GAAkB,GAAGpxC,SAC/B0D,eAAe,EACfR,SAAUkuC,GAAkB,GAAGluC,SAC/BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAewtC,GAAkB,GAAGxtC,cACpCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,IAEnB,GACsC,MAAnC5Q,GAAkB,GAAGzrC,WACpB0uC,GAAkBH,2BACpB9C,GAAkB,GAAGxtC,cACrB,CAAC,IAAD,MACIo+C,GAAgB,CAClB1+C,mBAAkB,WAAE8tC,GAAkB,GAAG9tC,0BAAvB,cAAE,GAAyCpwB,WAC7D8vB,WAAU,WAAEouC,GAAkB,GAAGpuC,kBAAvB,cAAE,GAAiC9vB,WAC7CswB,mBAAoB,GACpBxD,SAAUoxC,GAAkB,GAAGpxC,SAC/B0D,eAAe,EACfR,SAAUkuC,GAAkB,GAAGluC,SAC/BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAewtC,GAAkB,GAAGxtC,cACpCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,IAGnB,GACqC,MAAlC1Q,GAAiB,GAAG3rC,WACnB0uC,GAAkBF,sBACpB/C,GAAkB,GAAGxtC,cACrB,CAAC,IAAD,MACIo+C,GAAgB,CAClB1+C,mBAAkB,WAAEguC,GAAiB,GAAGhuC,0BAAtB,cAAE,GAAwCpwB,WAC5D8vB,WAAU,WAAEsuC,GAAiB,GAAGtuC,kBAAtB,cAAE,GAAgC9vB,WAC5CswB,mBAAoB,GACpBxD,SAAUsxC,GAAiB,GAAGtxC,SAC9B0D,eAAe,EACfR,SAAUouC,GAAiB,GAAGpuC,SAC9BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe0tC,GAAiB,GAAG1tC,cACnCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,IAEnB,GACqC,MAAlC1Q,GAAiB,GAAG3rC,WACnB0uC,GAAkBD,0BACpBhD,GAAkB,GAAGxtC,cACrB,CAAC,IAAD,MACIo+C,GAAgB,CAClB1+C,mBAAkB,WAAEguC,GAAiB,GAAGhuC,0BAAtB,cAAE,GAAwCpwB,WAC5D8vB,WAAU,WAAEsuC,GAAiB,GAAGtuC,kBAAtB,cAAE,GAAgC9vB,WAC5CswB,mBAAoB,GACpBxD,SAAUsxC,GAAiB,GAAGtxC,SAC9B0D,eAAe,EACfR,SAAUouC,GAAiB,GAAGpuC,SAC9BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe0tC,GAAiB,GAAG1tC,cACnCR,kBAAmB,IACnBY,QAAQ,GAEVq9C,EAAYztD,KAAKouD,IAEnB,IAAMxhD,GAAcue,GAAmB1Y,EAAW,gBAE5C3G,GAAU,CACd5J,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5DqK,aAAcghD,EACdprD,OAAQ1Q,GAAY0Q,OACpBuK,YAAaA,IAEfrN,GAAa,GACbgN,GAAqB8hD,GAAeviD,KAGhCuiD,GAAgB,SAAC3kE,GACrB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CACTG,OAAQ,8BACRhnB,MAAO,oBAET6e,GAAa,GACbq6C,IAAc,QAEd,GAAIlwD,EAAIS,KAAM,CACZoV,GAAa,GAEb,IAAMpV,EAAO,CACXqf,UACEzB,GAAgBC,aAAagB,yBAC1BD,gBACL8V,mBAAoB,GACpBvM,WAAYn6B,EAAMm6B,YAAc,GAChCC,WAAYp6B,EAAMo6B,YAAc,GAChCC,aAAcr6B,EAAMq6B,cAAgB,GACpCsM,IAAKntB,GAAY4sB,MACjBQ,yBAA0B,GAC1BC,mBAAoBrtB,GAAYsO,aAChCquD,4BAA6Bve,EACzB,YACA,aACJ9wB,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,GAI3B4f,GAAiBC,UACfO,GAAgBvC,aAAagB,yBAAyBD,iBAGxDkD,GAAoBsiD,GAAc58D,GAAYwQ,oBAE9C5C,GAAa,GACbgI,GAAW,CACTG,OAAQ,8BACRhnB,MAAO,uBAMf,SAAS6tE,GAAa7kE,GACpB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW0C,GAAUxV,EAAIR,OACzBqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,oBAClD6e,GAAa,OACR,CACL,IAAM2B,EAAclV,KAAKC,MAAMvC,EAAIS,MACnC,GAAI+W,GAAeA,EAAYpqB,OAAS,EAAG,CACzC,IAAMgoB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D,GACEN,GAAYsO,cACZnB,EAAwBmB,cACxBtO,GAAY4sB,OACZzf,EAAwByf,MAExBhX,GAAW,CACTG,OAAQ,wBACRhnB,MAAO,kBAETsxC,GAAqBz+C,IACrBksB,EAAQO,KAAKiyB,GAA0B1+C,SAClC,CACL,IAAMi7E,EAA6BttD,EAAY3lB,QAC7C,SAACW,GAAD,OAOqB,IAAnBA,EAAKwqD,aAET,GAA8B,IAA1B8nB,EAAe13E,OACjBywB,GAAW,CACTG,OAAQ,wBACRhnB,MAAO,uBAEJ,GAAI8tE,EAAe13E,OAAS,EAAG,CAIV,IAHT6a,GAAYqkC,gBAAgBz6C,QAC3C,SAAC4O,GAAD,MAA+B,SAAhBA,EAAKtW,UAEPiD,QACb6a,GAAYqkC,gBAAgBh2B,KAAKvsB,IAGrCu+C,GAAqBz+C,IACrBksB,EAAQO,KAAKiyB,GAA0B1+C,WAGzCg0B,GAAW,CACTG,OAAQ,qBACRhnB,MAAO,uBAuJf,OATAvD,QAAQC,IAAI4/D,GAAiB,yBAC7B7/D,QAAQC,IAAI8/D,GAAkB,0BAC9B//D,QAAQC,IAAIggE,GAAiB,yBAC7BjgE,QAAQC,IAAIkgE,GAAkB,0BAC9BngE,QAAQC,IAAIogE,GAAmB,2BAC/BrgE,QAAQC,IAAIsgE,GAAkB,0BAC9BvgE,QAAQC,IAAIqjE,GAAmB,aAC/BtjE,QAAQC,IAAI0iC,GAAU,gBAGpB,6BACE,yBAAKhtC,UAAU,SACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACZupE,IACC,yBACE39D,MAAO,CACL+vE,eAAgB,SAChBr7E,QAAS,OACTs7E,WAAY,WAGd,kBAAC,GAAD,CAAWpsE,MAAOC,KAAgBC,SAAW,QAAU,SACrD,yBAAK1P,UAAU,qBACb,mMAMF,6BACE,kBAAC,GAAD,CACE2O,QAAQ,KACR5G,QAAS,WACPsoE,OAHJ,YAgBd,yBAAKrwE,UAAW,iBAAmByO,EAAY,QAAU,KA6BvD,8BAAU5G,SAAU4G,GAClB,oCACE,2BAAOzO,UAAU,WAAjB,kBACA,2BAAOA,UAAU,mBAAjB,oEAGA,yBAAKA,UAAU,YACZypE,GACC,kBAAC,GAAD,CACEjrD,SAAU,SAACnH,IAx0HG,SAACA,GAC7B,GAAIA,GAAQA,EAAKhB,OACfszD,IAAqB,QAChB,GAAqB,KAAjBtyD,EAAKslD,UAAmBtlD,EAAKwkE,UAAYxkE,EAAKykE,UAAW,CAClErvD,GAAa,GACb+4C,IAAc,GACd,IAAMoQ,EAAW,IAAIC,KACnB,CAACkG,MACD,qBACA,CACEr0E,KAAM,aACNouE,aAAc/jD,KAAKipB,QAIvBynB,GAAwBh0C,QAASgoC,QAAS,EAC1C,IAAIp3B,EAAM,OAAGhoB,QAAH,IAAGA,OAAH,EAAGA,EAAM2kE,cAKnB,GAJArc,GAASvgC,OAAT,kCAA6CC,GAC7CugC,GAAYD,IACZoD,GAAe1jC,IAEP,OAAJhoB,QAAI,IAAJA,OAAA,EAAAA,EAAMwS,UAA0C,UAA3B,OAAJxS,QAAI,IAAJA,OAAA,EAAAA,EAAMwS,QAAQjhB,gBAOjC,GANA0lE,GAAqB,2BAChBD,IADe,IAElBv4D,eAAe,EACfD,oBAAoB,KAGtB,OAAIwpB,QAAJ,IAAIA,OAAJ,EAAIA,EAAQ7yB,WAAY,CACtB,IAAIisB,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgByG,EAChBlQ,SAAUymD,EAASh1E,MAErB6rB,GAAa,GACbq6C,IAAc,GAQdtuC,IACE,SAAC5hB,GAAD,OAAco/D,GAAiBp/D,EAAKg/D,EAASh1E,QAC7C63B,GAEF,IAAMw9C,EAAS,CACb7c,OAAQv6C,GAAY0Q,OACpBunB,sBAAuBj4B,GAAYyQ,sBACnC/O,cAAe1B,GAAYwQ,cAC3BiqC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,iCACdE,iBAAkB,IAElBn8B,SAAUxmB,EAAKwkE,SACf99C,UAAW1mB,EAAKykE,UAChB1hB,UAAW,iBACXt0C,OAAQ,mBAEVqzC,IACE,SAACviD,GAAD,OAAcs/D,GAAoBt/D,EAAKq/D,KACvCA,SAIJ3H,GAAqB,2BAChBD,IADe,IAElBv4D,eAAe,KAGjB4T,GACE0C,IAGM,yFAGVK,GAAa,IAuvHCwvD,CAAsB5kE,IAExB6kD,kBAAmBwN,KAGrB,oCACE,2BACE1pE,UAAU,WACV2H,GAAG,gBACHgnB,IAAK4zC,GACL2Z,UAAQ,EACRC,aAAW,KAEX9Z,IAAc,yBAAKriE,UAAU,kBAC7BqiE,IAAc,yBAAKriE,UAAU,kBAC7BupE,IACA,6BACIlH,IAAesF,GAOb,KANF,yBAAK3nE,UAAU,aACb,0BACEA,UAAU,mBACV+H,QAzsHL,WACnB,GACe,KAAb8X,SACavc,IAAbuc,IACiB,KAAjBA,GAASie,UACQx6B,IAAjBuc,GAASie,KACS,KAAlBje,GAASmvD,WACS1rE,IAAlBuc,GAASmvD,KACT,CACAviD,GAAa,GACb+4C,IAAc,GACdlD,IAAc,GACd8N,IAAiB,GACjB,IAAIgM,EAA+BzsE,SAASyS,eAC1C,WAEEi6D,EAA6B1sE,SAASyS,eACxC,iBAWJwuD,EAT+ByL,EAU/B79D,EAVyCk3D,IAQzC4G,EARoBF,GAYb5sE,MAAQohE,EAAM2L,WACrBD,EAAOrnB,OAAS2b,EAAM4L,YACtBF,EACGG,WAAW,MACXC,UAAU9L,EAAO,EAAG,EAAGA,EAAM2L,WAAY3L,EAAM4L,aAClDF,EAAOK,QAAO,SAAChH,GACbn3D,EAASm3D,MAjBThT,IAAgBA,GAAa8M,iBAAiB,GAAGC,YAEjD/F,IAAqB,GAIzB,IACE2S,EACA1L,EACApyD,MAgrHmB6jD,KAAesF,GACd,yBAAK3nE,UAAU,aACb,0BACEA,UAAU,mBACV+H,QAxqHN,gBAEHzE,IAAbuc,IACa,KAAbA,IACiB,KAAjBA,GAASie,UACQx6B,IAAjBuc,GAASie,KACS,KAAlBje,GAASmvD,WACS1rE,IAAlBuc,GAASmvD,MAETxJ,IAAc,GACd6K,KACAD,IAAiB,GACjB9N,IAAc,GACdgD,IAAsB,GACtB/C,GAAgB9zC,QAASgoC,QAAS,EAClCgM,GAAwBh0C,QAASgoC,QAAS,GAE1CkT,IAAqB,OA0pHD,MAGR,4BACEh7C,IAAK6zC,GACL76D,GAAG,UACH3H,UAAU,eAKhB,6BAASA,UAAU,aAAa2uB,IAAK8zC,IACnC,yBAAKxiE,IAAK0/D,GAASvgC,OAAQj/B,IAAI,kBAmCpCinE,IACCA,GAAkBn8D,KAAI,SAAU7B,EAAWW,GACzC,OACE,yBAAKwB,IAAKxB,EAAO/J,UAAU,SACxB,IACsB,eAAtBoJ,EAAKixB,cACJ,kBAAC,GAAD,KACE,oCACE,+DACyBjxB,QADzB,IACyBA,OADzB,EACyBA,EAAMwzE,uBAQ5C7f,EACC,oCACE,yBAAK/8D,UAAU,gBACa,IAAzBu+D,GAAcv6D,OACb,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,WACd+/D,GAAavlC,iBADhB,aAGA,kBAAC,GAAD,CACE55B,KAAK,eACLiI,aAAc,EACdgB,QAAS00D,GACT51D,UAAU,eACVtB,YAAY,uBACZwE,aAAa,EACbtG,aAAck8D,GACdt4D,eAAgB,SAACT,GAAD,OAAS8xE,GAAc9xE,MAEzC,2BAAO1I,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,eACHwvD,8BAA+B,qBAC/B96B,OAAQ0jC,GACR7I,oBArnHtB,SACExuD,EACA4wB,EACA3xB,EACAD,GAEA+kB,GAAa,GACbszC,GAAa3gC,OAAS,GACtB4gC,GAAgBD,IAChB,IAAItnC,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,SAsmHzB,IAAtBugE,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGJ,yBAAKjoE,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WAKb,kBAAC,GAAD,CAAQgO,MAAM,EAAO7H,SAAU,iBAGnC,6BACGk3D,GACC,yBAAKr9D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaC,IAAK48E,QAElC55E,OAMVmkE,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKijC,cACJ0zB,GAAavlC,kBACb,kBAAC,GAAD,KACE,oCACE,wDACyBpxB,EAAKwzE,uBAQ5C,yBAAK58E,UAAU,YAEf,KAEuB,IAA1By+D,GAAez6D,OACd,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,WACdigE,GAAczlC,iBADjB,aAGA,kBAAC,GAAD,CACE55B,KAAK,gBACLiI,aAAc,EACdgB,QAAS40D,GACT91D,UAAU,eACVtB,YAAY,uBACZwE,aAAa,EACbtG,aAAco8D,GACdx4D,eAAgB,SAACT,GAAD,OAAS8xE,GAAc9xE,MAEzC,2BAAO1I,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,gBACHwvD,8BAA+B,qBAC/B96B,OAAQ4jC,GACR/I,oBA1rHtB,SACExuD,EACA4wB,EACA3xB,EACAD,GAEA+kB,GAAa,GACbwzC,GAAc7gC,OAAS,GACvB8gC,GAAiBD,IACjB,IAAIxnC,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,SA2qHxB,IAAvBygE,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGJ,yBAAKnoE,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WAKb,kBAAC,GAAD,CAAQgO,MAAM,EAAO7H,SAAU,iBAGnC,6BACGo3D,GACC,yBAAKv9D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaC,IAAK48E,QAElC55E,OAMVmkE,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKijC,cACJ4zB,GAAczlC,kBACd,kBAAC,GAAD,KACE,oCACE,wDACyBpxB,EAAKwzE,uBAQ5C,yBAAK58E,UAAU,YAEf,KAEsB,IAAzB2+D,GAAc36D,OACb,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,WACdmgE,GAAa3lC,iBADhB,aAGA,kBAAC,GAAD,CACE55B,KAAK,eACLiI,aAAc,EACdgB,QAAS80D,GACTh2D,UAAU,eACVtB,YAAY,uBACZwE,aAAa,EACbtG,aAAcs8D,GACd14D,eAAgB,SAACT,GAAD,OAAS8xE,GAAc9xE,MAEzC,2BAAO1I,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,eACHwvD,8BAA+B,qBAC/B96B,OAAQ8jC,GACRjJ,oBA/vHtB,SACExuD,EACA4wB,EACA3xB,EACAD,GAEA+kB,GAAa,GACb0zC,GAAa/gC,OAAS,GACtBghC,GAAgBD,IAChB,IAAI1nC,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,SAgvHzB,IAAtB2gE,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGJ,yBAAKroE,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WAKb,kBAAC,GAAD,CAAQgO,MAAM,EAAO7H,SAAU,iBAGnC,6BACGs3D,GACC,yBAAKz9D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaC,IAAK48E,QAElC55E,OAMVmkE,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKijC,cACJ8zB,GAAa3lC,kBACb,kBAAC,GAAD,KACE,oCACE,wDACyBpxB,EAAKwzE,uBAQ5C,yBAAK58E,UAAU,YAEf,KAEuB,IAA1B6+D,GAAe76D,OACd,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,WACdqgE,GAAc7lC,iBADjB,aAGA,kBAAC,GAAD,CACE55B,KAAK,gBACLiI,aAAc,EACdgB,QAASg1D,GACTl2D,UAAU,eACVtB,YAAY,uBACZwE,aAAa,EACbtG,aAAcw8D,GACd54D,eAAgB,SAACT,GAAD,OAAS8xE,GAAc9xE,MAEzC,2BAAO1I,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,gBACHwvD,8BAA+B,qBAC/B96B,OAAQgkC,GACRnJ,oBAp0HtB,SACExuD,EACA4wB,EACA3xB,EACAD,GAEA+kB,GAAa,GACb4zC,GAAcjhC,OAAS,GACvBkhC,GAAiBD,IACjB,IAAI5nC,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,SAqzHxB,IAAvB6gE,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGJ,yBAAKvoE,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WAKb,kBAAC,GAAD,CAAQgO,MAAM,EAAO7H,SAAU,iBAGnC,6BACGw3D,GACC,yBAAK39D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaC,IAAK48E,QAElC55E,OAMVmkE,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKijC,cACJg0B,GAAc7lC,kBACd,kBAAC,GAAD,KACE,oCACE,wDACyBpxB,EAAKwzE,uBAQ5C,yBAAK58E,UAAU,YAEf,KAEsB,IAAzB++D,GAAc/6D,OACb,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,WACdugE,GAAa/lC,iBADhB,aAGA,kBAAC,GAAD,CACE55B,KAAK,eACLiI,aAAc,EACdgB,QAASk1D,GACTp2D,UAAU,eACVtB,YAAY,uBACZwE,aAAa,EACbtG,aAAc08D,GACd94D,eAAgB,SAACT,GAAD,OAAS8xE,GAAc9xE,MAEzC,2BAAO1I,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,eACHwvD,8BAA+B,qBAC/B96B,OAAQkkC,GACRrJ,oBAz4HtB,SACExuD,EACA4wB,EACA3xB,EACAD,GAEA+kB,GAAa,GACb8zC,GAAanhC,OAAS,GACtBohC,GAAgBD,IAChB,IAAI9nC,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,SA03HzB,IAAtB+gE,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGJ,yBAAKzoE,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WAKb,kBAAC,GAAD,CAAQgO,MAAM,EAAO7H,SAAU,iBAGnC,6BACG03D,GACC,yBAAK79D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaC,IAAK48E,QAElC55E,OAMVmkE,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKijC,cACJk0B,GAAa/lC,kBACb,kBAAC,GAAD,KACE,oCACE,wDACyBpxB,EAAKwzE,uBAQ5C,yBAAK58E,UAAU,YAEf,KACJ,6BACc,OAAX6/D,SAA8Bv8D,IAAXu8D,IAClB,yBAAK7/D,UAAU,aACb,2BAAOA,UAAU,WAAjB,YACA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,UACH00B,OAAQwjC,GACR3I,oBAlkIxB,SACExuD,EACA4wB,EACA3xB,EACAD,GAGA2C,QAAQC,IAAI,oCAAqC5B,GAIjD+jB,GAAa,GACbozC,GAAOzgC,OAAS,GAChB0gC,GAAUD,IACVoD,GAAav6D,EAAKuZ,MAAM,KAAK,IAC7BmsD,IAAiB,GACjB,IAAI31C,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,OA2iI5CyvD,8BAA+B,qBAC/Bc,cAAe8V,GACfnX,SAAU,SAACkmB,GAAD,OAAWzG,GAASyG,EAAO,gBAK5C1V,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACqB,sBAArBoJ,EAAKijC,aAA0D,aAAhB,OAAJjjC,QAAI,IAAJA,OAAA,EAAAA,EAAMixB,eAChD,kBAAC,GAAD,KACE,oCACE,wDACyBjxB,EAAKwzE,yBAU5C/9D,GAAYsO,gBAEVtO,GAAY2sB,QACX3sB,GAAY4sB,QACZu+B,MACFh9B,IACC,yBAAKhtC,UAAU,aACb,2BAAOA,UAAU,WAAjB,0BACA,kBAAC,GAAD,CACEY,KAAK,eACLiI,aAAc,EACdgB,QAASo1D,GACTt2D,UAAU,eACVtB,YAAY,gCACZwE,aAAa,EACbtG,aAAc87D,GACdx5D,SAAU4mE,GACVtlE,eAAgB,SAACT,GAAD,OAxiDP,SAACA,GAC9B2B,QAAQC,IAAI,yBAA0B5B,GAClCA,IAEmB,MAAnBA,EAAI+xB,YACwB,oBAA5BomC,GAAerkC,UAEf8iC,IAAa,GACb+D,IAAe,IAEf/D,IAAa,GAGfuB,GAAe7hC,QAAUyvC,GACzB5N,GAAevkC,WAAa5zB,EAAI+xB,WAChCqmC,GAAkBD,IAClBS,GAAkB54D,EAAIgsE,eAwhDqBqI,CAAuBr0E,MAElD,2BAAO1I,UAAU,2BAAjB,iGAIA,yBAAKA,UAAU,SACX6gE,GAAe7hC,QAAUyvC,GAC3B,kBAAC,GAAD,CACE9mE,GAAG,cACH00B,OAAQwkC,GACR1J,8BAA+B,sBAC/BD,oBAr/HxB,SACExuD,EACA4wB,EACA3xB,EACAD,GAQA,GANA+kB,GAAa,GACbo0C,GAAezhC,OAAS12B,EACxBm4D,GAAexhC,OAAS32B,EAAKuZ,MAAM,KAAK,GACxC4+C,GAAevnC,SAAWA,EAC1BwnC,GAAkBD,IAClBx2D,QAAQC,IAAIu2D,GAAgB,mBACG,QAA3BvnC,EAASrX,MAAM,KAAK,IAA8C,MAA9B4+C,GAAevkC,WAKrD,GAJAgjC,IAAa,GxE93Ec,MwEm4EzBuB,GAAevkC,YxE93Ec,KwE+3E7BukC,GAAevkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,OAC/B7E,iBAAkB,0BAClB33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,IAEVqH,QAAQC,IAAI,mBACZ2xB,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAIvkD,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,WAQpE,GAHA43D,IAAa,GACb+D,IAAe,GxEj6EY,MwEo6EzBxC,GAAevkC,YxE/5Ec,KwEg6E7BukC,GAAevkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,OAC/B7E,iBAAkB,0BAClB33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,IAEVqH,QAAQC,IAAI,uBACZ2xB,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAIvkD,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,QA26HhDkvD,SAAU,SAACkmB,GAAD,OACRzG,GAASyG,EAAO,qBAGC,IAApBnU,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGHvF,IACC,yBAAKpjE,UAAU,OACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,oBACHwvD,8BAA+B,qBAC/B96B,OAAQokC,GACRvJ,oBA97H5B,SACExuD,EACA4wB,EACA3xB,EACAD,GAOA,GALA+kB,GAAa,GACbg0C,GAAqBrhC,OAAS,GAC9BqhC,GAAqBnnC,SAAWA,EAChCmnC,GAAqBphC,OAAS32B,EAAKuZ,MAAM,KAAK,GAC9Cy+C,GAAwBD,IAEK,QAA3BnnC,EAASrX,MAAM,KAAK,IACgB,MAApCw+C,GAAqBnkC,WAGrB,GADAgjC,IAAa,GxEj9Ec,MwEm9EzBuB,GAAevkC,YxE98Ec,KwE+8E7BukC,GAAevkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgB6nC,GAAqBphC,OACrC7E,iBAAkB,0BAClB33B,WAAY49D,GAAqBnkC,WACjCxW,OAAQ9iB,IAEVqH,QAAQC,IAAI,mBACZ2xB,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAMvkD,EAAY,CAChBlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,WAIpE+kB,GAAa,GACb6yC,IAAa,GACb+D,IAAe,MAm5H0B,IAAlB4F,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,KAKR,yBAAKjpE,UAAU,SACb,2BACEA,UAAWq/D,GAAY,SAAW,gBAClCt3D,QAAS,WAnjD7Bs7D,KADEhE,MAsjDkB,0BAAMr/D,UAAU,mBAJlB,kBAOF,yBAAKA,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WAKb,kBAAC,GAAD,CAAQgO,MAAM,EAAO7H,SAAU,iBAGnC,6BACG43D,IACC,yBAAK/9D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVC,IAAK48E,QAGR55E,OAMVmkE,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IAEC,+BADDoJ,EAAKijC,aAEJ,kBAAC,GAAD,KACE,oCACE,uDACwB,IACrBjjC,EAAKwzE,uBAQtB,yBAAK58E,UAAU,YAIG,IAAvBm/D,GAAYn7D,QAAgB+iE,GAC3B,yBAAK/mE,UAAU,aACb,2BAAOA,UAAU,WAAjB,gCAGA,kBAAC,GAAD,CACEY,KAAK,gBACLiI,aAAc,EACdgB,QAASs1D,GACTx2D,UAAU,eACVtB,YAAY,sCACZwE,aAAa,EACbtG,aAAcg8D,GACdp4D,eAAgB,SAACT,GAAD,OA3pDA,SAACA,GAC/BA,IAEmB,MAAnBA,EAAI+xB,YACwB,oBAA5BsmC,GAAevkC,UAEfgjC,IAAiB,GACjB+D,IAAmB,IAEnB/D,IAAiB,GAEnBuB,GAAe/hC,SAAU,EACzB+hC,GAAezkC,WAAa5zB,EAAI+xB,WAChCumC,GAAkBD,IAClBS,GAAsB94D,EAAIgsE,eA6oDeuI,CAA4Bv0E,MAEvD,2BAAO1I,UAAU,2BAAjB,iGAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,cACHwvD,8BAA+B,qBAC/B96B,OAAQ0kC,GACR7J,oBAv/HtB,SACExuD,EACA4wB,EACA3xB,EACAD,GAOA,GALA+kB,GAAa,GACbs0C,GAAe3hC,OAAS,GACxB2hC,GAAe1hC,OAAS32B,EAAKuZ,MAAM,KAAK,GACxC8+C,GAAeznC,SAAWA,EAC1B0nC,GAAkBD,IACa,QAA3BznC,EAASrX,MAAM,KAAK,IAA8C,MAA9B8+C,GAAezkC,WAGrD,GAFAkjC,IAAiB,GxEjgFU,MwEogFzBuB,GAAezkC,YxE//Ec,KwEggF7BykC,GAAezkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,OAC/B7E,iBAAkB,+BAClB33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,IAEVqH,QAAQC,IAAI,mBACZ2xB,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAIvkD,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,WAQpE,GAHA83D,IAAiB,GACjB+D,IAAmB,GxEliFQ,MwEqiFzBxC,GAAezkC,YxEhiFc,KwEiiF7BykC,GAAezkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,OAC/B7E,iBAAkB,+BAClB33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,IAEVqH,QAAQC,IAAI,uBACZ2xB,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAIvkD,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,UAi7H/B,IAApBmhE,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGHvF,IACC,yBAAKtjE,UAAU,OACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,oBACHwvD,8BAA+B,qBAC/B96B,OAAQskC,GACRzJ,oBAh8H1B,SACExuD,EACA4wB,EACA3xB,EACAD,GAOA,GALA+kB,GAAa,GACbk0C,GAAqBvhC,OAAS,GAC9BuhC,GAAqBrnC,SAAWA,EAChCqnC,GAAqBthC,OAAS32B,EAAKuZ,MAAM,KAAK,GAC9C2+C,GAAwBD,IAEK,QAA3BrnC,EAASrX,MAAM,KAAK,IACgB,MAApC0+C,GAAqBrkC,WAGrB,GADAkjC,IAAiB,GxEllFU,MwEolFzBuB,GAAezkC,YxE/kFc,KwEglF7BykC,GAAezkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgB+nC,GAAqBthC,OACrC7E,iBAAkB,0BAClB33B,WAAY89D,GAAqBrkC,WACjCxW,OAAQ9iB,IAEVqH,QAAQC,IAAI,mBACZ2xB,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAMvkD,EAAY,CAChBlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,WAIpE83D,IAAiB,GACjB+D,IAAmB,MAs5HwB,IAAtB4F,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,KAKR,yBAAKnpE,UAAU,SACb,2BACEA,UAAWu/D,GAAgB,SAAW,gBACtCx3D,QAAS,WA9qD3Bw7D,KADEhE,MAirDgB,0BAAMv/D,UAAU,mBAJlB,kBAOF,yBAAKA,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WAKb,kBAAC,GAAD,CAAQgO,MAAM,EAAO7H,SAAU,iBAGnC,6BACG83D,IACC,yBAAKj+D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaC,IAAK48E,QAElC55E,OAMX,yBAAKjD,UAAU,YAEf,KAEmB,IAAtBigC,GAAWj8B,OACV,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,WAAjB,2BACA,kBAAC,GAAD,CACEY,KAAK,cACLiI,aAAc,EACdgB,QAASo2B,GACTt3B,UAAU,eACVtB,YAAY,sBACZwE,aAAa,EACbtG,aAAc48D,GACdh5D,eAAgB,SAACT,GAAD,OAlvDV,SAACA,GACzB2B,QAAQC,IAAI,oBAAqB5B,GACrB,KAARA,IACFy4D,GAAUniC,SAAU,EACpBmiC,GAAU7kC,WAAa5zB,EAAI+xB,WAC3B2mC,GAAaD,IACbiB,GAAoB15D,EAAIgsE,eA4uDiBwI,CAAkBx0E,MAE7C,2BAAO1I,UAAU,2BAAjB,oEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,YACHwvD,8BAA+B,qBAC/B96B,OAAM,eAAO8kC,IACbjK,oBA/3GtB,SACExuD,EACA4wB,EACA3xB,EACAD,GAEA+kB,GAAa,GACb00C,GAAU/hC,OAAS,GACnBgiC,GAAaD,IACb,IAAI1oC,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,SAg3G5B,IAAnBqhE,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGJ,yBAAK/oE,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WAKb,kBAAC,GAAD,CAAQgO,MAAM,EAAO7H,SAAU,iBAGnC,6BACGk4D,IACC,yBAAKr+D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaC,IAAK48E,QAElC55E,OAMVmkE,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACqB,oBAArBoJ,EAAKijC,aACJ,kBAAC,GAAD,KACE,oCACE,wDACyBjjC,EAAKwzE,uBAQ5C,yBAAK58E,UAAU,YAEf,KAEJ,yBAAKA,UAAU,aACb,2BAAOA,UAAU,YAAjB,aACA,2BAAOA,UAAU,yBAAjB,sFAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,YACHwvD,8BAA+B,qBAC/B96B,OAAQ4kC,GACR/J,oBAz/GpB,SACExuD,EACA4wB,EACA3xB,EACAD,GAEA2C,QAAQC,IAAI,4BAA6B5B,GACzC+jB,GAAa,GACbw0C,GAAa7hC,OAAS,GACtB8hC,GAAgBD,IAChB,IAAIkc,IAAgB7jD,EAASrvB,SAAS,KAClCmzE,EAAc11E,EAAKuC,SAAS,KAAOvC,EAAKua,MAAM,KAAK,GAAKva,EAE5D,GAA0C,KAAtCu5D,GAAa5hC,OAA8B,CAC7C,IAAI5G,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBqoC,GAAa5hC,OAAQpd,MAAM,KAAK,GAChDkN,SAAUguD,EAAa,UAChBt+D,GAAYwQ,cADI,sBACuB+tD,GADvB,UAEhBv+D,GAAYwQ,cAFI,uBAEwB+tD,GAC/CvkD,QAAS,IACTC,eAAgB,KAElBN,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,UAE7D,CACL,IAAI+wB,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAS,GAAD,OAAKtQ,GAAYwQ,cAAjB,sBACN3nB,EAAMua,MAAM,KAAK,IAEnB4W,QAAS,IACTC,eAAgB,KAElBN,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,UAm9G7B,IAAtB2hE,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAeJ,6BACGlL,IACC,yBAAKn+D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaC,IAAK48E,QAElC55E,OAMVmkE,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACsB,cAAtBoJ,EAAKixB,cACJ,kBAAC,GAAD,KACE,oCACE,+DACyBjxB,QADzB,IACyBA,OADzB,EACyBA,EAAMwzE,wBAU9C9R,IAAoBA,GAAiB9mE,OAAS,GAC7C,oCACE,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,YAAjB,aACA,yBAAKA,UAAU,SACZ8qE,GAAiB7/D,KAAI,SAACoM,EAAWtN,GAChC,OACEsN,EAAKslB,qBACLy+B,GAAe53B,WAAWqM,MAAMjT,mBAG9B,oCACE,oCACA,kBAAC,GAAD,CACEj1B,GAAG,kBACHwvD,8BAA+B,qBAC/B96B,OAAQ6tC,GAAgB,GACxBhT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,sBAKmC,IAAxC8iE,GAAqBZ,gBACpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BACGY,GAAqBZ,oBAM9B,GAED7E,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe53B,WAAWqM,MACvBjT,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,wBAW3BvlE,EAAKslB,qBACLy+B,GAAe53B,WAAW+b,UACvB3iB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACEj1B,GAAG,oBACHwvD,8BAA+B,qBAC/B96B,OAAQ6tC,GAAgB,GACxBhT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,wBAMN,IADC8iE,GAAqBX,kBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIW,GAAqBX,sBAO/B,GAED9E,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe53B,WAAW+b,UACvB3iB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,6BAhEtB,MA6EX,yBAAK58E,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WACb,kBAAC,GAAD,CACEgO,KAAM+9D,GAAmBL,aACzBvlE,SAAU,kBAAMo0E,GAAe,qBAIrC,6BACGxO,GAAmBL,cAClB,yBAAK1rE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVC,IAAK48E,QAGR55E,SAYhBmoE,IAAqBA,GAAkBpnE,OAAS,GAC/C,oCACE,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,YAAjB,cACA,yBAAKA,UAAU,SACZorE,GAAkBngE,KAAI,SAACoM,EAAWtN,GACjC,OACEsN,EAAKslB,qBACLy+B,GAAe53B,WAAWyH,gBAAgB4E,MACvCjT,mBAGD,oCACE,oCACA,kBAAC,GAAD,CACEj1B,GAAG,uBACHwvD,8BAA+B,qBAC/B96B,OAAQmuC,GAAiB,GACzBtT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,2BAMN,IADC8iE,GAAqBN,qBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIM,GAAqBN,yBAO/B,GAEDnF,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe53B,WACZyH,gBAAgB4E,MAChBjT,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,wBAW3BvlE,EAAKslB,qBACLy+B,GAAe53B,WAAWyH,gBAAgBsU,UACvC3iB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACEj1B,GAAG,yBACHwvD,8BAA+B,qBAC/B96B,OAAQmuC,GAAiB,GACzBtT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,6BAMN,IADC8iE,GAAqBL,uBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIK,GAAqBL,2BAO/B,GAEDpF,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe53B,WACZyH,gBAAgBsU,UAChB3iB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,6BAjEtB,MA8EX,yBAAK58E,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WACb,kBAAC,GAAD,CACEgO,KAAM+9D,GAAmBH,cACzBzlE,SAAU,kBAAMo0E,GAAe,sBAIrC,6BACGxO,GAAmBH,eAClB,yBAAK5rE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVC,IAAK48E,QAGR55E,SAYhB+nE,IAAqBA,GAAkBhnE,OAAS,GAC/C,oCACE,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,YAAjB,aACA,yBAAKA,UAAU,SACZgrE,GAAkB//D,KAAI,SAACoM,EAAWtN,GACjC,OACEsN,EAAKslB,qBACLy+B,GAAe33B,WAAWoM,MAAMjT,mBAG9B,oCACE,oCACA,kBAAC,GAAD,CACEj1B,GAAG,mBACHwvD,8BAA+B,qBAC/B96B,OAAQ+tC,GAAiB,GACzBlT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,uBAKoC,IAAzC8iE,GAAqBV,iBACpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIU,GAAqBV,qBAO/B,GAED/E,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe33B,WAAWoM,MACvBjT,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,wBAW3BvlE,EAAKslB,qBACLy+B,GAAe33B,WAAW8b,UACvB3iB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACEj1B,GAAG,qBACHwvD,8BAA+B,qBAC/B96B,OAAQ+tC,GAAiB,GACzBlT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,yBAMN,IADC8iE,GAAqBT,mBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIS,GAAqBT,uBAO/B,GAEDhF,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe33B,WAAW8b,UACvB3iB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,6BAhEtB,MA6EX,yBAAK58E,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WACb,kBAAC,GAAD,CACEgO,KAAM+9D,GAAmBJ,cACzBxlE,SAAU,kBAAMo0E,GAAe,sBAIrC,6BACGxO,GAAmBJ,eAClB,yBAAK3rE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVC,IAAK48E,QAGR55E,SAWhBqoE,IAAsBA,GAAmBtnE,OAAS,GACjD,oCACE,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,YAAjB,cACA,yBAAKA,UAAU,SACZsrE,GAAmBrgE,KAAI,SAACoM,EAAWtN,GAClC,OACEsN,EAAKslB,qBACLy+B,GAAe33B,WAAWwH,gBAAgB4E,MACvCjT,mBAGD,oCACE,oCACA,kBAAC,GAAD,CACEj1B,GAAG,wBACHwvD,8BAA+B,qBAC/B96B,OAAQquC,GAAkB,GAC1BxT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,4BAMN,IADC8iE,GAAqBJ,sBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEII,GAAqBJ,0BAO/B,GAEDrF,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe33B,WACZwH,gBAAgB4E,MAChBjT,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,wBAW3BvlE,EAAKslB,qBACLy+B,GAAe33B,WAAWwH,gBAAgBsU,UACvC3iB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACEj1B,GAAG,0BACHwvD,8BAA+B,qBAC/B96B,OAAQquC,GAAkB,GAC1BxT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,8BAMN,IADC8iE,GAAqBH,wBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIG,GAAqBH,4BAO/B,GAEDtF,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe33B,WACZwH,gBAAgBsU,UAChB3iB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,6BAjEtB,MA8EX,yBAAK58E,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WACb,kBAAC,GAAD,CACEgO,KAAM+9D,GAAmBF,eACzB1lE,SAAU,kBAAMo0E,GAAe,uBAIrC,6BACGxO,GAAmBF,gBAClB,yBAAK7rE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVC,IAAK48E,QAGR55E,SAWhBioE,IAAoBA,GAAiBlnE,OAAS,GAC7C,oCACE,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,YAAjB,aACA,yBAAKA,UAAU,SACZkrE,GAAiBjgE,KAAI,SAACoM,EAAWtN,GAChC,OACEsN,EAAKslB,qBACLy+B,GAAe13B,aAAamM,MAAMjT,mBAGhC,oCACE,oCACA,kBAAC,GAAD,CACEj1B,GAAG,kBACHwvD,8BAA+B,qBAC/B96B,OAAQiuC,GAAgB,GACxBpT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,sBAKmC,IAAxC8iE,GAAqBR,gBACpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BACGQ,GAAqBR,oBAM9B,GAEDjF,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe13B,aAAamM,MACzBjT,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,wBAW3BvlE,EAAKslB,qBACLy+B,GAAe13B,aAAa6b,UACzB3iB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACEj1B,GAAG,oBACHwvD,8BAA+B,qBAC/B96B,OAAQiuC,GAAgB,GACxBpT,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,wBAON,IADC8iE,GAAqBP,kBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIO,GAAqBP,sBAO/B,GAEDlF,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe13B,aAAa6b,UACzB3iB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,6BAjEtB,MA8EX,yBAAK58E,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WACb,kBAAC,GAAD,CACEgO,KAAM+9D,GAAmBroC,aACzBv9B,SAAU,kBAAMo0E,GAAe,qBAIrC,6BACGxO,GAAmBroC,cAClB,yBAAK1jC,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVC,IAAK48E,QAGR55E,SAYhBuoE,IAAqBA,GAAkBxnE,OAAS,GAC/C,oCACE,yBAAKhE,UAAU,aACb,2BAAOA,UAAU,YAAjB,cACA,yBAAKA,UAAU,SACZwrE,GAAkBvgE,KAAI,SAACoM,EAAWtN,GACjC,OACEsN,EAAKslB,qBACLy+B,GAAe13B,aAAauH,gBAAgB4E,MACzCjT,mBAGD,oCACE,oCACA,kBAAC,GAAD,CACEj1B,GAAG,uBACHwvD,8BAA+B,qBAC/B96B,OAAQuuC,GAAiB,GACzB1T,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,2BAMN,IADC8iE,GAAqBF,qBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIE,GAAqBF,yBAO/B,GAEDvF,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe13B,aACZuH,gBAAgB4E,MAChBjT,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,wBAW3BvlE,EAAKslB,qBACLy+B,GAAe13B,aAAauH,gBACzBsU,UAAU3iB,mBAGX,oCACE,wCACA,kBAAC,GAAD,CACEj1B,GAAG,yBACHwvD,8BAA+B,qBAC/B96B,OAAQuuC,GAAiB,GACzB1T,oBAAqB,SACnBxuD,EACA4wB,EACA3xB,EACAD,GAJmB,OAMnBuvE,GACEvuE,EACA4wB,EACA3xB,EACAD,IAIJkvD,SAAU,SAACymB,GAAD,OACRpE,GACElvE,EACA,6BAON,IADC8iE,GAAqBD,uBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIC,GAAqBD,2BAO/B,GAEDxF,IACCA,GAAkBn8D,KAAI,SAAU7B,GAC9B,OACE,yBAAKpJ,UAAU,SACZ,IACAoJ,EAAKuzB,qBACJy+B,GAAe13B,aACZuH,gBAAgBsU,UAChB3iB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGxzB,QAFH,IAEGA,OAFH,EAEGA,EAAMwzE,6BAlEtB,MA+EX,yBAAK58E,UAAU,sBACb,2BAAOA,UAAU,cAAjB,gDAGA,yBAAKA,UAAU,WACb,kBAAC,GAAD,CACEgO,KAAM+9D,GAAmBD,cACzB3lE,SAAU,kBAAMo0E,GAAe,sBAIrC,6BACGxO,GAAmBD,eAClB,yBAAK9rE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVC,IAAK48E,QAGR55E,SAgChBmpB,IACC,yBAAKpsB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZosB,GACN,oCACE,sEACA,wEACyCA,GADzC,MAKF,+BAAQA,MAQE,IAAjBmiD,IACC,yBAAKvuE,UAAU,6BACb,kBAAC,GAAD,KACE,+BAAQuuE,MAMd,yBAAKvuE,UAAU,aACb,kBAAC,GAAD,CACEyO,UAAWo4D,IAAcp4D,EACzBE,QAAQ,SACR5G,QAjjGG,WACnB++D,IAAc,GACdr6C,GAAa,GAwBbguD,MAwhGgB5yE,SACsB,kBAAZukB,IAAmC,IAAXA,IAChC6R,GAAoBpf,GAAYwQ,gBAChCg6C,KAj4Eb1J,GAASvgC,SAAWmmC,KAEZ1F,GAAOzgC,SAAWqmC,KAAcwB,KAGxCpG,GAAexhC,SAAWwhC,GAAezhC,SxE3iLjB,MwEgjLpByhC,GAAevkC,YACfgrC,GxE5iLwB,KwE6iLtBvG,GAAezkC,aACjBkrC,KAs3ESyG,IACAE,IAGAE,GAAkBx4D,wBAQ1BonD,EACF,oCACE,yBAAKj9D,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaC,IAAK48E,QAElC55E,MAIP,yBAAKjD,UAAU,sBACb,kBAAC,GAAD,CACEyO,UAAWo4D,IAAcp4D,EACzBE,QAAQ,mBACR5G,QAAS,kBAzmHF,WACrB,IAAM4yE,EAAc,GACpB,GAAIhb,IAAkC,KAAtBA,GAASrmC,SAAiB,CAAC,IAAD,IACpCshD,EAAe,CACjBh+C,mBAAkB,UAAE+iC,GAAS/iC,0BAAX,aAAE,EAA6BpwB,WACjD8vB,WAAU,UAAEqjC,GAASrjC,kBAAX,aAAE,EAAqB9vB,WACjCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnC03B,kBAAmB,IACnBY,OAAQ2e,GACRze,eAAe,EACfN,eAAe,GAEjBy9C,EAAYztD,KAAK0tD,GAGnB,GACEjb,IACA4F,KACuB,KAAtB5F,GAASrmC,eAAyCh2B,IAAtBq8D,GAASrmC,UACtC,CAAC,IAAD,IACIshD,EAAe,CACjBh+C,mBAAkB,UAAE+iC,GAAS/iC,0BAAX,aAAE,EAA6BpwB,WACjD8vB,WAAU,UAAEqjC,GAASrjC,kBAAX,aAAE,EAAqB9vB,WACjCswB,mBAAoB,GACpBxD,SAAUqmC,GAASrmC,SACnB0D,eAAe,EACfR,SAAUmjC,GAASnjC,SACnBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnC03B,kBAAmB,IACnBY,OAAQ2e,GACRze,eAAe,EACfN,eAAe,GAEjBy9C,EAAYztD,KAAK0tD,GAEnB,GAAI/a,IAA8B,KAApBA,GAAOvmC,SAAiB,CAAC,IAAD,IACpCjvB,QAAQC,IAAI,kCACZ,IAAIuwE,EAAa,CACfj+C,mBAAkB,UAAEijC,GAAOjjC,0BAAT,aAAE,EAA2BpwB,WAC/C8vB,WAAU,UAAEujC,GAAOvjC,kBAAT,aAAE,EAAmB9vB,WAC/BswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAK2tD,GACjBxwE,QAAQC,IAAI,aAAcuwE,GAG5B,GACE9a,IAC0B,KAA1BA,GAAazmC,UACuB,KAApCymC,GAAanjC,mBACb,CAAC,IAAD,IACIk+C,EAAc,CAChBl+C,mBAAkB,UAAEmjC,GAAanjC,0BAAf,aAAE,EAAiCpwB,WACrD8vB,WAAU,UAAEyjC,GAAazjC,kBAAf,aAAE,EAAyB9vB,WACrCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAK4tD,GAGnB,GACE7a,IAC2B,KAA3BA,GAAc3mC,UACuB,KAArC2mC,GAAcrjC,mBACd,CAAC,IAAD,IACIm+C,EAAoB,CACtBn+C,mBAAkB,UAAEqjC,GAAcrjC,0BAAhB,aAAE,EAAkCpwB,WACtD8vB,WAAU,UAAE2jC,GAAc3jC,kBAAhB,aAAE,EAA0B9vB,WACtCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAK6tD,GAGnB,GACE5a,IAC0B,KAA1BA,GAAa7mC,UACuB,KAApC6mC,GAAavjC,mBACb,CAAC,IAAD,IACIo+C,EAAmB,CACrBp+C,mBAAkB,UAAEujC,GAAavjC,0BAAf,aAAE,EAAiCpwB,WACrD8vB,WAAU,UAAE6jC,GAAa7jC,kBAAf,aAAE,EAAyB9vB,WACrCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAK8tD,GAGnB,GACE3a,IAC2B,KAA3BA,GAAc/mC,UACuB,KAArC+mC,GAAczjC,mBACd,CAAC,IAAD,IACIq+C,EAAoB,CACtBr+C,mBAAkB,UAAEyjC,GAAczjC,0BAAhB,aAAE,EAAkCpwB,WACtD8vB,WAAU,UAAE+jC,GAAc/jC,kBAAhB,aAAE,EAA0B9vB,WACtCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAK+tD,GAGnB,GACE1a,IAC0B,KAA1BA,GAAajnC,UACuB,KAApCinC,GAAa3jC,mBACb,CAAC,IAAD,IACIs+C,EAAmB,CACrBt+C,mBAAkB,UAAE2jC,GAAa3jC,0BAAf,aAAE,EAAiCpwB,WACrD8vB,WAAU,UAAEikC,GAAajkC,kBAAf,aAAE,EAAyB9vB,WACrCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAKguD,GAGnB,GACEra,IAC4B,KAA5BA,GAAevnC,UACuB,KAAtCunC,GAAejkC,mBACf,CAAC,IAAD,IACIu+C,EAAqB,CACvBv+C,mBAAkB,UAAEikC,GAAejkC,0BAAjB,aAAE,EAAmCpwB,WACvD8vB,WAAU,UAAEukC,GAAevkC,kBAAjB,aAAE,EAA2B9vB,WACvCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAKiuD,GAEnB,GACEpa,IAC4B,KAA5BA,GAAeznC,UACuB,KAAtCynC,GAAenkC,mBACf,CAAC,IAAD,IACIw+C,EAAqB,CACvBx+C,mBAAkB,UAAEmkC,GAAenkC,0BAAjB,aAAE,EAAmCpwB,WACvD8vB,WAAU,UAAEykC,GAAezkC,kBAAjB,aAAE,EAA2B9vB,WACvCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAKkuD,GAGnB,GACEna,IAC0B,KAA1BA,GAAa3nC,UACuB,KAApC2nC,GAAarkC,mBACb,CAAC,IAAD,IACIy+C,EAAmB,CACrBz+C,mBAAkB,UAAEqkC,GAAarkC,0BAAf,aAAE,EAAiCpwB,WACrD8vB,WAAU,UAAE2kC,GAAa3kC,kBAAf,aAAE,EAAyB9vB,WACrCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAKmuD,GAGnB,GACEla,IACuB,KAAvBA,GAAU7nC,UACuB,KAAjC6nC,GAAUvkC,mBACV,CAAC,IAAD,IACI0+C,EAAgB,CAClB1+C,mBAAkB,UAAEukC,GAAUvkC,0BAAZ,aAAE,EAA8BpwB,WAClD8vB,WAAU,UAAE6kC,GAAU7kC,kBAAZ,aAAE,EAAsB9vB,WAClCswB,mBAAoB,GACpBxD,SAAU,IACV0D,eAAe,EACfR,SAAU,IACVhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBm9C,EAAYztD,KAAKouD,GAGnB,IAAMxhD,EAAcue,GAAmB1Y,EAAW,gBAE5C3G,EAAU,CACd5J,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5DqK,aAAcghD,EACdprD,OAAQ1Q,GAAY0Q,OACpBuK,YAAaA,GAEfzvB,QAAQC,IAAI,sBAAuB0uB,GACnCS,GAAqB8hD,GAAeviD,GAy2GPskD,QAKrB,yBACEt9E,UAAWyP,KAAgBC,SAAW,QAAU,gBAEhD,2BAAO1P,UAAU,WAAjB,mBACA,2BAAOA,UAAU,oBAAjB,wHAIA,wBAAIA,UAAU,qBACXy/D,IACCA,GAAcx0D,KAAI,SAAC7B,EAAWW,GAC5B,OAAO,wBAAIwB,IAAKxB,GAAQX,EAAKmxB,sBAGnC,yBAAKv6B,UAAU,sBAQb,yBAAKA,UAAU,cACb,kBAAC,GAAD,CACE2O,QAAQ,aACR5G,QAAS,kBAxpHzB0sB,GAAW,CACTG,OAAQ,wBACRhnB,MAAO,6BAETovD,GAAiB,QACjBE,GAAwB,IAopHRpuD,UAAU,WC5rQxByuE,GAA4B,CAChCC,UAAW,eACXC,KAAM,UACNhsD,IAAK,SACLisD,cAAe,oBA2uHFC,GAntHyB,SAACt4E,GAAW,IAAD,MAE3Ck6B,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GACA69D,EAAW1+D,aAAaC,QAAQ,cAClC0+D,EAAsB,GAET,OAAbD,QACat6E,IAAbs6E,GACa,KAAbA,IACQ,QAAR,EAAAA,SAAA,eAAU55E,QAAS,IAEnB65E,EAAc5+D,OAAOkf,KAAKy/C,GAC1BA,EAAW3+D,OAAOkf,KAAKy/C,IArBwB,IA8H7CE,EAwCAC,EAtK6C,EAuBrBz4E,IAAM4G,SAAwB,CACxDlH,IAAK,GACLg5E,aAAc,KACdhtC,IAAK,KAEL1rB,UAAW,GACX64B,WAAY,GACZ34B,SAAU,GACVy4D,WAAY,KA/BmC,mBAuB1Cn+B,EAvB0C,KAuBlCuK,EAvBkC,OAiCjB/kD,IAAM4G,UAAkB,GAjCP,mBAiC1C+6B,EAjC0C,KAiChCC,EAjCgC,OAkCf5hC,IAAM4G,UAAkB,GAlCT,mBAkC1CuC,EAlC0C,KAkC/Bge,EAlC+B,OAmCnBnnB,IAAM4G,SAAc,IAnCD,mBAmC1CkgB,EAnC0C,KAmCjC1C,EAnCiC,OAoCfpkB,IAAM4G,SAAe,IAAI6lB,MApCV,mBAoC1C4N,EApC0C,aAqCXr6B,IAAM4G,UAAkB,IArCb,gCAuC/C5G,IAAM4G,UAAkB,IAvCuB,mBAwC7CgyE,GAxC6C,WAwCvB,GAxCuB,EAyCrB54E,IAAM4G,SAE/B,CACDlH,SAAK1B,EACL0tC,SAAK1tC,EACL06E,kBAAc16E,EACd66E,eAAW76E,EACXgiB,eAAWhiB,EACX66C,gBAAY76C,EACZkiB,cAAUliB,IAlDqC,mBAyC1C8lB,EAzC0C,KAyClCC,EAzCkC,KAoD3CsD,EAAUC,cApDiC,EAqDTtnB,IAAM4G,UAAkB,GArDf,mBAqD1CwqD,EArD0C,KAqD5BoR,EArD4B,OAsDrBxiE,IAAM4G,SAAc,MAtDC,mBAsD1C8iB,EAtD0C,KAsDlCovD,GAtDkC,QAuDrB94E,IAAM4G,SAAN,eACvB0wD,KAxD4C,qBAuD1CiD,GAvD0C,MAuDlCC,GAvDkC,SA0DTx6D,IAAM4G,SAAN,eACnC0wD,KA3D4C,qCA6DjBt3D,IAAM4G,SAAN,eAC3B6yB,MA9D4C,qCAgELz5B,IAAM4G,SAAN,eACvC6yB,MAjE4C,qCAmEnBz5B,IAAM4G,UAAkB,IAnEL,qBAmE1CmyE,GAnE0C,gBAoEzB/4E,IAAMwnB,OAAyB,MAC9BxnB,IAAMwnB,OAA0B,MACrBxnB,IAAM4G,UAAkB,IAtEX,qCAuEf5G,IAAM4G,SAAiB,KAvER,qCAwEjB5G,IAAM4G,UAAkB,IAxEP,qBAwE1CoyE,GAxE0C,gBAyEnBh5E,IAAM4G,YAzEa,qCA0EjB5G,IAAM4G,UAAkB,IA1EP,qCA2ED5G,IAAM4G,UAAS,IA3Ed,qBA2E1CqyE,GA3E0C,gBA4Ebj5E,IAAM4G,UAAS,IA5EF,qBA4E1CsyE,GA5E0C,MA4E9BC,GA5E8B,SA6ELn5E,IAAM4G,UAAkB,GA7EnB,qBA6E1Cy2C,GA7E0C,MA6E1B+7B,GA7E0B,SA8EXp5E,IAAM4G,SAAS,IA9EJ,qBA8E1CyyE,GA9E0C,gBA+EXr5E,IAAM4G,SAAS,KA/EJ,qCAgFjBA,mBAAc,KAhFG,qCAiFpBsuD,KACOl1D,IAAM4G,UAAkB,IAlFX,qCAoF/C5G,IAAM4G,UAAkB,IApFuB,qCAsF/CA,oBAAkB,IAtF6B,qBAqFds9D,IArFc,gBAuFCt9D,oBAAkB,GAvFnB,qCAwFGA,oBAAkB,IAxFrB,qCAyFDA,oBAAkB,IAzFjB,qCA2F/CA,oBAAkB,IA3F6B,qBA0F1C0yE,GA1F0C,MA0FfC,GA1Fe,SA4FPv5E,IAAM4G,SAAc,MA5Fb,qBA4F3B4yE,IA5F2B,gBA+FHx5E,IAAM4G,SAAc,IA/FjB,qBA+FzB6yE,IA/FyB,gBAgGXz5E,IAAM4G,UAAkB,GAhGb,qBAgG7B8yE,IAhG6B,gBAkGC9yE,mBAAc,CAC9D2J,oBAAoB,EACpBC,eAAe,IApGgC,qBAkG1Cu4D,GAlG0C,gBAsGC/oE,IAAM4G,SAGrD,CACD+yE,iBAAiB,EACjBC,gBAAgB,KA3G+B,qBAsGvBC,IAtGuB,gBA6GP75E,IAAM4G,SAAS,IA7GR,qBA6G1CqiE,GA7G0C,gBA8GTjpE,IAAM4G,UAAkB,IA9Gf,qBA8G1CkzE,GA9G0C,MA8G5BjY,GA9G4B,SA+GK7hE,IAAM4G,UACV,IAAhD2S,GAAYm7B,YAAY2L,qBAhHuB,qBA+G1CA,GA/G0C,MA+GrB05B,GA/GqB,SAkHrBnzE,mBAAc,MAlHO,qBAkH1CitE,GAlH0C,MAkHlCmG,GAlHkC,SAmHXpzE,oBAAkB,GAnHP,qBAmH1CqzE,GAnH0C,gBAoHHrzE,oBAAkB,IApHf,qBAoH1CszE,GApH0C,MAoHzBC,GApHyB,SAsH/CvzE,oBAAkB,GAtH6B,qBAqH1CwzE,GArH0C,MAqHnBC,GArHmB,SAwH/Cr6E,IAAM4G,SAAiB,IAxHwB,qBAuH1C0zE,GAvH0C,MAuHdC,GAvHc,SAyHK3zE,mBAAc,IAzHnB,qBAyH1C4zE,GAzH0C,MAyHrBC,GAzHqB,SA0HD7zE,mBAAc,IA1Hb,qBA0H1C8zE,GA1H0C,MA0HxBC,GA1HwB,SA2HH/zE,oBAAkB,GA3Hf,qBA2H1Cg0E,GA3H0C,MA2HzBC,GA3HyB,SA4HP76E,IAAM4G,SAAiB,IA5HhB,qBA4H1Ck0E,GA5H0C,MA4H3BC,GA5H2B,SAgI/Cn0E,oBAAkB,GAhI6B,qBA+H1Co0E,GA/H0C,MA+HdC,GA/Hc,SAiIbr0E,oBAAkB,GAjIL,qBAiI1Cs0E,GAjI0C,MAiI9BC,GAjI8B,SAkIGn7E,IAAM4G,WAlIT,qBAkI1Cw0E,GAlI0C,MAkItBC,GAlIsB,SA8I/Cr7E,IAAM4G,UAAkB,GA9IuB,qCAgJ/C5G,IAAM4G,UAAkB,IAhJuB,qCAkJRA,mBAAS,CAChD00E,UAAW,GACXC,eAAgB,EAChBC,kBAAmB,KArJ4B,qBAkJ1CC,GAlJ0C,MAkJ3BC,GAlJ2B,MA0J3CrG,GAAiC,GACjCsG,GAAoC,GAKtCC,GAAc,EACdC,GAAU,EAuBd77E,IAAM2H,WAAU,WAEd,IAAM0hD,EAASz1C,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAElDi/D,GAAUzvB,GAGRxsD,KAA0BqgD,MACzB3jC,GAAY0oC,uBAKbl9C,QAAQC,IAAI,6BAA8BuU,GAAY0Q,QACjD1Q,GAAY0Q,QAAiC,KAAvB1Q,GAAY0Q,QA6JzCtQ,OAAOqO,eAAerB,QAAQ,kBAAmB,SACjDhN,OAAOC,aAAaugC,WAAW,qBAC/B5gC,GAAY2M,gBAAkB,CAC5B6kB,UAAWxxB,GAAYgjB,KAAKwO,UAC5BI,SAAU5xB,GAAYgjB,KAAKrc,SAC3B+qB,WAAY,GACZ/vB,OAAQ3B,GAAYgjB,KAAKrhB,OACzBkF,QAAS7G,GAAYgjB,KAAKvlB,MAC1B68B,QAAS,GACTn0C,IAAK,GACL8mB,OAAQ,GACRklB,IAAK,GACLowC,gBAAiB,GACjBC,iBAAkB,GAClBr2C,QAAS,GACTs2C,SAAU,GACVC,SAAU,GACV19E,KAAM,GACNiF,MAAO,GACPuY,QAAS,IA3KPpC,OAAOssB,OAAO,EAAG,IAJjBlhC,QAAQC,IAAI,uBALdD,QAAQC,IAAI,mBAAoB41E,IAChCvzD,EAAQO,KAAK/qB,KAWV0c,GAAYgjB,KAAKvlB,OAAUuC,GAAYgjB,KAAKrhB,QACzCq9D,IACJ5+D,OAAOY,SAASC,KAAO+9D,KAG1B,IA2EHv4E,IAAM2H,WAAU,WACd,IAAMoK,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaI,QAAQC,UAChDwW,mBAAoB,GACpBvM,aACAC,aACAC,eACAyM,QAASttB,GAAY0Q,OACrBuF,OAAQ,IAEV0B,GAA2Bnf,KAC1B,IAEH/R,IAAM2H,WAAU,WACd5C,QAAQC,IAAI,sBAAuBw1E,IACP,UAAxBA,GACFG,GACD,gNAEkC,iBAAxBH,IACTG,GACE,8VAGH,CAACH,KAaJ,IAAM0B,GAAqC,WACzC,IAAMnqE,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaI,QAAQD,iBAChD0W,mBAAoB,GACpBvM,aACAC,aACAC,eACAyM,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,cACpB2c,IAAKntB,GAAY4sB,MACjBQ,yBAA0BptB,GAAY+P,oBAExC4H,GAA2Bnf,GAG3B4f,GAAiBC,UACfO,GAAgBvC,aAAaI,QAAQD,mBAuCzC,SAASlvB,GAASoF,EAA0BlL,GAEhC,QAARkL,GACiB,kBAAVlL,GACNsE,GAAYvB,KAAK/C,KAElBA,EAAQy/C,EAAOv0C,IAEL,QAARA,GAAe27B,GAAY,GACnB,iBAAR37B,GAA2C,kBAAVlL,GACnCo0B,GAAW,CACTG,OAAQ,UACRhnB,MAAM,iBAAD,OAAmBvN,EAAM8G,iBAEtB,QAARoE,GAAkC,kBAAVlL,IAC1BgK,QAAQC,IAAI,cACZof,EAAW0C,GACPgG,GAAc/xB,IAAU,GAC1B4e,OAAOqO,eAAerB,QAAQ,kBAAmB,QAC9ChN,OAAOqO,eAAerB,QAAQ,kBAAmB,SACtD5hB,QAAQC,IAAI2oB,KAAO5yB,GAAO6yB,OAAO,cAAe,OAAQyrD,IACpD1rD,KAAO5yB,GAAO6yB,OAAO,gBAAkByrD,IACzCF,IAAc,GACd3W,GAAgB,GAChBp+C,EAAW,IACXrf,QAAQC,IAAI,gBAEZD,QAAQC,IAAI,cACZm0E,IAAc,KAGlBp0E,QAAQC,IAAI,SAAU8e,GACtBC,EAAU,2BAAKD,GAAN,mBAAe7d,EAAM,MAC9B8+C,EAAU,2BAAKvK,GAAN,mBAAev0C,EAAMlL,KAiChC,SAASohF,KAYP/3D,EAAW,IACX+C,GAAa,GACbg0D,IAAc,GAEd,IAAIiB,EAAa18E,GAAI5B,KAAK08C,EAAO96C,KACjC,GAAoB,KAAf86C,EAAO96C,UAA6B1B,IAAfw8C,EAAO96C,MAAsB08E,EAkCrDlY,IAA+B,OAlCkC,CAAC,IAAD,MACjEn/D,QAAQC,IAAI,SAAUw1C,GACtBvvB,GAAkBub,GAAoBgU,EAAO96C,KAE7C,IACuE,EADrD86C,EAAOx6B,UACzB,QAA2BhiB,KAAjB,OAANw8C,QAAM,IAANA,OAAA,EAAAA,EAAQ3B,cAA4B,UAAA2B,EAAO3B,kBAAP,eAAmBn6C,QAAS,EACvD,UAAI87C,EAAO3B,kBAAX,aAAI,EAAmBl8B,MAAM,KAAKe,KAAK,KAEzC,iBAAI88B,QAAJ,IAAIA,OAAJ,EAAIA,EAAQt6B,gBAAZ,QAAwB,GACnCm8D,GACE,CACEtxD,MAAOyvB,EAAO96C,IACdpE,KACEk/C,EAAOx6B,UACP,KADA,iBAECw6B,QAFD,IAECA,OAFD,EAECA,EAAQ3B,kBAFT,QAE4B,KAC5B2B,EAAOt6B,SACTwrB,IAAK/d,KAAO6sB,EAAO9O,KAAK9d,OAAO,cAC/BpN,OAAQ,QAEV,WtChiBoB,IAACtH,EAA4B6R,EAA5B7R,EsCiiBNojE,GtCjiBkCvxD,EsCiiBrByvB,EAAO96C,ItChiBzCsZ,GACE,CACEkB,IAAK,0BACLd,OAAQ,OACR9O,KAAM,CACJmgB,MAAOM,EACPC,YAAa,GAEfhR,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAayC,kBAE5B6K,OsCqiBF,SAASqjE,GAAejrE,IACjBA,GAAOA,EAAIR,QACd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAG3BqW,GAAa,GACbgI,GAAW,CAAEG,OAAQ,iBAAkBhnB,MAAO,sBAE9CvD,QAAQC,IAAI,eAEZw3E,MAIJ,SAASh2C,GAAmBl1B,GACtBA,GAAOA,EAAIM,OAEuB,MADZN,EAAIS,KACRP,OAAOw2B,OAAc4wC,GAAa,GAEjDtnE,IAAOA,EAAIR,SACd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CACTG,OAAQ,0BACRhnB,MAAO,qBAMf,SAASm0E,GAAmBnrE,IACrBA,GAAOA,EAAIR,QAGd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqW,GAAa,GAEbgI,GAAW,CAAEG,OAAQ,mBAAoBhnB,MAAO,qBAE5CgJ,EAAIS,MACNmqE,KACA/sD,GAAW,CAAEG,OAAQ,UAAWhnB,MAAO,kBACvC+e,EAAQO,KAAK/qB,IACbsqB,GAAa,IAEc,GAAvBsxD,GASF1sD,GAAuB2wD,GAAaliC,EAAO96C,KAiCnD,SAAS48E,GAAYhrE,GACnB,IAAKA,GAAOA,EAAIR,OAGd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqW,GAAa,GAEbgI,GAAW,CAAEG,OAAQ,mBAAoBhnB,MAAO,wBAC3C,CACL,IAMyB,MANrB8zE,EAAa18E,GAAI5B,KAAK08C,EAAO96C,KACjC,QACe1B,IAAbsT,EAAIS,MACY,KAAfyoC,EAAO96C,UAA6B1B,IAAfw8C,EAAO96C,MAC7B08E,EAcAr4D,EAAU,2BACLD,GADI,IAEPpkB,IAAK08E,EAAa,GAAK99D,GAASzJ,YAdlC,GAAgB,GAAZvD,EAAIS,KACN4qE,GAAc,UACZnE,SADY,aACZ,EAAmBJ,cADP,UAEZI,SAFY,aAEZ,EAAmBoE,iBAFP,UAGZpE,SAHY,aAGZ,EAAmBN,gBAGA,GAAZ5mE,EAAIS,OACbqS,EAAWzY,IACXwb,GAAa,KAUrB,IAAMw1D,GAAiB,SACrBE,EACAD,EACA1E,GACI,IAAD,QACC4E,EAAY,OAAGtiC,QAAH,IAAGA,OAAH,EAAGA,EAAQx6B,UACvBi+B,EAAa,UAAGzD,EAAO3B,kBAAV,QAAwB,GACrCkkC,EAAW,iBAAGviC,QAAH,IAAGA,OAAH,EAAGA,EAAQt6B,gBAAX,QAAuB,GAEjB,KAAjB48D,GAAuC,KAAhBC,GACzBD,EAAeC,EACfxjE,GAAY2M,gBAAgBwf,QAAUo3C,EACtCC,EAAc,GACQ,KAAlB9+B,IACF1kC,GAAY2M,gBAAgBwf,QAC1BnsB,GAAY2M,gBAAgBwf,QAAU,IAAMuY,IAG/B,KAAjB6+B,GACkB,KAAlB7+B,GACgB,KAAhB8+B,EAEAxjE,GAAY2M,gBAAgBwf,QAAU,GACX,KAAlBuY,GACT1kC,GAAY2M,gBAAgBwf,QAAUo3C,EAAe,IAAMC,EAC3D9+B,EAAgB,IAEhB1kC,GAAY2M,gBAAgBwf,QAC1Bo3C,EAAe,IAAM7+B,EAAgB,IAAM8+B,EAI/Ch4E,QAAQC,IACN,cADF,OAEEuU,SAFF,IAEEA,IAFF,UAEEA,GAAa2M,uBAFf,aAEE,EAA8BiF,WAC9ByxD,EACA1E,GAEF3+D,GAAY2M,gBAAgB6kB,UAAY+xC,EACxCvjE,GAAY2M,gBAAgBilB,SAAW4xC,EACvCxjE,GAAY2M,gBAAgB+kB,WAAagT,EACzC1kC,GAAY2M,gBAAgBiF,WAAa,CACvCV,MAAO+vB,EAAO96C,IACd0rB,UAAW0xD,EACXxxD,WAAY2yB,EACZzyB,SAAUuxD,EACVrxD,aAAc,GACdC,oBAAqBixD,EACrBhxD,WAAY,GACZC,QAAuB,MAAdqsD,EACTpsD,eAAgB+wD,GAElB93E,QAAQC,IAAI,cAAZ,OAA2BuU,SAA3B,IAA2BA,IAA3B,UAA2BA,GAAa2M,uBAAxC,aAA2B,EAA8BiF,YAEvD5R,GAAYikC,UADQ,MAAlBq/B,EAKJ/xD,GAAgB2xD,GAAoBjiC,EAAO96C,MA2Y7C,SAASg9E,GAAYprE,IACdA,GAAOA,EAAIR,QAGd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,oBAET6e,GAAa,IAET7V,EAAIS,KACFT,EAAIS,MAAoB,qBAAZT,EAAIS,MAClBwH,GAAY2M,gBAAgBxmB,IAAM4R,EAAIS,KAAKm8C,IAC3C30C,GAAYC,MAAQlI,EAAIS,KAAKoY,MAC7B5Q,GAAYwQ,cAAgBzY,EAAIS,KAAKo8C,cACrC50C,GAAY0Q,OAAS3Y,EAAIS,KAAKyY,OAC9BjR,GAAYyQ,sBAAwB1Y,EAAIS,KAAKwY,sBAU7C6hC,GAAmBiC,GAAoB90C,GAAYwQ,gBAC9B,qBAAZzY,EAAIS,MACbka,GAA0BgiC,GAAgB10C,GAAY0Q,UAIxD,OAAInD,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqW,GAAa,IAKnB,SAAS8mC,GAAe38C,GtCvzBK,IAC7B4H,EACA6R,EACA7P,EACAlE,EACAiT,GsCmzBO3Y,GAAOA,EAAIR,QAGd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,oBAET6e,GAAa,KAEbpiB,QAAQC,IAAI,eACRsM,EAAIS,MAAoB,MAAZT,EAAIS,KAEhBwH,GAAY2M,gBAAgBxmB,IAAImC,cAAcpD,SAC9C6S,EAAIS,KAAKm8C,IAAIrsD,cAAcpD,QAE3B8a,GAAYC,MAAQlI,EAAIS,KAAKoY,MAC7B5Q,GAAYwQ,cAAgBzY,EAAIS,KAAKo8C,cACrC50C,GAAY2M,gBAAgBxmB,IAAM4R,EAAIS,KAAKm8C,IAC3C30C,GAAY0Q,OAAS3Y,EAAIS,KAAKyY,OAC9BjR,GAAYyQ,sBAAwB1Y,EAAIS,KAAKwY,sBAE7C6hC,GAAmBiC,GAAoB90C,GAAYwQ,iBAEnDhlB,QAAQC,IAAI,aAIZyb,GAAkBypC,GAAa3wC,GAAY8oC,wBAGxB,MAAZ/wC,EAAIS,MACbhN,QAAQC,IAAI,etC31BlBkU,EsC61BQqjE,GtC51BRxxD,EsC61BQyvB,EAAO96C,ItC51Bfwb,EsC61BQ3B,GAAYgjB,KAAKrhB,OtC51BzBlE,EsC61BQuC,GAAYgjB,KAAKvlB,MtC51BzBiT,EsC61BQ1Q,GAAY0Q,OtC31BpBjR,GACE,CACEkB,IAAK,2BACLd,OAAQ,OACR9O,KAAM,CACJmgB,MAAOM,EACPiyD,SAAU9hE,EACVkF,QAASpJ,EACTiT,OAAQA,GAEVjQ,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAayC,kBAE5B6K,MsCk1BI,OAAI4N,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqW,GAAa,KAKnB,SAAS+iC,GAAY54C,GACnB,IAAKA,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,OACfqe,GAAW,CAAEG,OAAQ,aAAchnB,MAAO,oBAC1C6e,GAAa,QAEb,GAAI7V,GAAOA,EAAIS,KAAM,CACnB,IAAMX,EAAWwC,KAAKC,MAAMvC,EAAIS,MAC5BX,GAAYA,EAASoZ,SACvBjR,GAAY0Q,OAAS7Y,EAASoZ,OAC9BgyD,WAIF,OAAI11D,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqW,GAAa,GAInB,IAyDM81D,GAAqB,SAACC,GAC1B,GACEA,IACC3jE,GAAYm7B,YAAYwK,4BACvB3lC,GAAYm7B,YAAYyK,2BAC1B,CACA,IAAMz4B,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D6M,EAAwBgf,QAAUnsB,GAAY2M,gBAAgBwf,QAC9Dhf,EAAwB4C,mBACtB/P,GAAY+P,mBACd5C,EAAwBoD,cAAgBvQ,GAAYwQ,cACpDrD,EAAwB0mB,UAAY7zB,GAAY6zB,UAChD1mB,EAAwB4mB,OAAS/zB,GAAYm7B,YAAYnH,WACzD7mB,EAAwBsD,sBACtBzQ,GAAYyQ,sBACdtD,EAAwBglB,IAAMnyB,GAAYmyB,IAC1ChlB,EAAwBymB,QAAU5zB,GAAYgjB,KAAKvlB,MACnD0P,EAAwBmB,aAAetO,GAAYsO,aACnDnB,EAAwByf,MAAQ5sB,GAAYm7B,YAAYuL,MACxDv5B,EAAwBwf,MAAQ3sB,GAAYm7B,YAAY5G,MAExDpnB,EAAwB6T,gBAC+B,SAArD5gB,OAAOqO,eAAenO,QAAQ,mBAGhC6M,EAAwBumB,OAAS1zB,GAAY0Q,OAC7CvD,EAAwBxL,OAAS3B,GAAYgjB,KAAKrhB,OAClDwL,EAAwBhnB,IAAM86C,EAAO96C,IACrCgnB,EAAwByE,WACtB5R,GAAY2M,gBAAgBiF,WAC9BzE,EAAwBlN,MAAQD,GAAYC,MAC5CkN,EAAwB82B,UAAYjkC,GAAYikC,UAIhD7jC,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBw1D,KACA/sD,GAAW,CAAEG,OAAQ,UAAWhnB,MAAO,mBACxB,OAAXiR,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,iBAAb,OAA8BxQ,SAA9B,IAA8BA,QAA9B,EAA8BA,GAAasO,cAC7CR,EAAQO,KAAR,OAAarO,SAAb,IAAaA,QAAb,EAAaA,GAAa+pC,qBACrB65B,GAASD,QAMhB,GAJA3jE,GAAYgpC,YAAc50B,KAAO6sB,EAAO9O,KAAK9d,OAAO,cACpDrU,GAAYmyB,IAAM/d,KAAO6sB,EAAO9O,KAAK9d,OAAO,cAC5CrU,GAAY6zB,UAAYzf,KAAO6sB,EAAO9O,KAAK9d,OAAO,cAEvB,GAAvB6qD,EACF2E,GAAW,QAKN,CACL7jE,GAAY2sB,OAAQ,EACpB3sB,GAAY4sB,OAAQ,EACpB,IAAMzf,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwByf,MAAQ5sB,GAAY4sB,MAC5Czf,EAAwBwf,MAAQ3sB,GAAY2sB,MAC5CvsB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjB02D,GAAW,MAIXC,GAAwB,SAACH,GtC3lCH,IAAChkE,EAA4B6R,EAA5B7R,EsC6lCzB,SAAC5H,GAAD,OAkIJ,SAAuBA,EAAU4rE,GAC/B,IAAK5rE,GAAOA,EAAIR,OAGd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CAAEG,OAAQ,gBAAiBhnB,MAAO,oBAC7C60E,GAASD,QAET,GAAI5rE,EAAIS,KAAM,CAEZ,IAAMgJ,EAAS,CACbqR,IAAI,GAAD,OAAKuB,KAAO6sB,EAAO9O,KAAK9d,OAAO,eAClC1D,MAAOswB,EAAO96C,IACdoqB,cAAevQ,GAAYwQ,eAG7BmC,IACE,SAAC5a,GAAD,OAAcgsE,GAAehsE,EAAK4rE,KAClCniE,QAmCF,OAAI+L,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqsE,GAASD,GAhMGK,CAAcjsE,EAAK4rE,ItC7lCoBnyD,EsC8lCrDyvB,EAAO96C,ItC7lCXsZ,GACE,CACEkB,IAAK,uBACLd,OAAQ,OACR9O,KAAM,CACJmgB,MAAOM,GAET/Q,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawC,0BAE5B8K,IsCqlCF,SAASsjE,GAAWU,IAEL,OAAX3jE,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,iBAC0C,IAAvDxQ,GAAYm7B,YAAYwK,6BAC8B,IAAtD3lC,GAAYm7B,YAAYyK,0BAExBt0B,IACE,SAACvZ,GAAc,IAAD,EACZ,GAAIA,GAAOA,EAAIS,OAAX,UAAmBT,EAAIS,YAAvB,aAAmB,EAAUyrE,kBAAkB,CACjD,IAAIC,EAAa,OAAGnsE,QAAH,IAAGA,OAAH,EAAGA,EAAKS,KACzB,IACa,OAAXwH,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,iBAC0C,IAAvDxQ,GAAYm7B,YAAYwK,6BAC8B,IAAtD3lC,GAAYm7B,YAAYyK,2BACN,OAAlBs+B,IAHA,OAIAA,QAJA,IAIAA,OAJA,EAIAA,EAAeD,mBAEf,GAAkC,MAAjB,OAAbC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,cA1JN,SAAC50D,GACxBvP,GAAY4sB,OAAQ,EACQ,UAAxBq0C,KACFz1E,QAAQC,IAAI,4BACZy1E,GAAuB,UAEzB,IAAM/zD,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAYozB,UAAY7jB,EAAY4qB,SAAW5qB,EAAY4qB,SAAW,GACtEn6B,GAAYszB,WAAa/jB,EAAY6qB,UAAY7qB,EAAY6qB,UAAY,GACzEp6B,GAAYwzB,SAAWjkB,EAAY60D,SAAW70D,EAAY60D,SAAW,EAGrE,IAAMj1C,EAAY5f,EAClBvP,GAAY41B,cAAc7rB,aAA1B,UAA4ColB,EAAUk1C,WAAtD,YACEl1C,EAAUm1C,YAAc,GAD1B,YAEIn1C,EAAUo1C,YAAc,IAC5BvkE,GAAY41B,cAAc7rB,aACxB/J,GAAY41B,cAAc7rB,aAE5B/J,GAAY41B,cAAclW,YAA1B,UAA2CyP,EAAUq1C,WAArD,YACEr1C,EAAUs1C,YAAc,GAD1B,YAEIt1C,EAAUu1C,YAAc,IAC5B1kE,GAAY41B,cAAclW,YACxB1f,GAAY41B,cAAclW,YAC5B1f,GAAY41B,cAAcpzB,QAAU2sB,EAAUw1C,YAC9C3kE,GAAY41B,cAAc/V,YAAcsP,EAAUy1C,YAClD5kE,GAAY2M,gBAAgB2Z,WAAa6I,EAAU01C,WAC/C11C,EAAU01C,WACV7kE,GAAY2M,gBAAgB2Z,WAChCnZ,EAAwByf,MAAQ5sB,GAAY4sB,MAC5Czf,EAAwBpD,aACtB/J,GAAY41B,cAAc7rB,aAC5BoD,EAAwB3K,QAAUxC,GAAY41B,cAAcpzB,QAC5D2K,EAAwBuS,YAAc1f,GAAY41B,cAAclW,YAChEvS,EAAwB0S,YAAc7f,GAAY41B,cAAc/V,YAChE1S,EAAwBmZ,WAAatmB,GAAY2M,gBAAgB2Z,WACjEnZ,EAAwBwS,gBACtB3f,GAAY41B,cAAc7rB,cAC1B/J,GAAY41B,cAAclW,YAM5Btf,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBnN,GAAYgpC,YAAc50B,KAAO6sB,EAAO9O,KAAK9d,OAAO,cACpDwvD,GAAW,IAAI,GAAM,GAwGTiB,CAAgB,OAACZ,QAAD,IAACA,OAAD,EAACA,EAAe1rE,WAC3B,GAAkC,MAAjB,OAAb0rE,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAC5CnkE,GAAYsO,cAAe,EAE3B,IAAMnB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBgf,QACtBnsB,GAAY2M,gBAAgBwf,QAC9Bhf,EAAwB4C,mBACtB/P,GAAY+P,mBACd5C,EAAwBoD,cACtBvQ,GAAYwQ,cACdrD,EAAwB0mB,UAAY7zB,GAAY6zB,UAChD1mB,EAAwB4mB,OACtB/zB,GAAYm7B,YAAYnH,WAC1B7mB,EAAwBsD,sBACtBzQ,GAAYyQ,sBACdtD,EAAwBglB,IAAMnyB,GAAYmyB,IAC1ChlB,EAAwBymB,QAAU5zB,GAAYgjB,KAAKvlB,MACnD0P,EAAwBmB,aAAetO,GAAYsO,aACnDnB,EAAwByf,MAAQ5sB,GAAYm7B,YAAYuL,MACxDv5B,EAAwBwf,MAAQ3sB,GAAYm7B,YAAY5G,MAExDpnB,EAAwB6T,gBAC+B,SAArD5gB,OAAOqO,eAAenO,QAAQ,mBAGhC6M,EAAwBumB,OAAS1zB,GAAY0Q,OAC7CvD,EAAwBxL,OAAS3B,GAAYgjB,KAAKrhB,OAClDwL,EAAwBhnB,IAAM86C,EAAO96C,IACrCgnB,EAAwByE,WACtB5R,GAAY2M,gBAAgBiF,WAC9BzE,EAAwBlN,MAAQD,GAAYC,MAC5CkN,EAAwB82B,UAAYjkC,GAAYikC,UAChD92B,EAAwBoB,SAAW,GAEnCnO,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBT,GAA2B,OAACw3D,QAAD,IAACA,OAAD,EAACA,EAAe1rE,MAC3CsV,EAAQO,KAAKzsB,SACR,GAAkC,MAAjB,OAAbsiF,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAC5CnkE,GAAY8jC,gBAAiB,EAC7B9jC,GAAY2sB,OAAQ,EACpB3sB,GAAY4sB,OAAQ,EACpB,IAAMzf,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBgf,QACtBnsB,GAAY2M,gBAAgBwf,QAC9Bhf,EAAwB4C,mBACtB/P,GAAY+P,mBACd5C,EAAwBoD,cACtBvQ,GAAYwQ,cACdrD,EAAwB0mB,UAAY7zB,GAAY6zB,UAChD1mB,EAAwB4mB,OACtB/zB,GAAYm7B,YAAYnH,WAC1B7mB,EAAwBsD,sBACtBzQ,GAAYyQ,sBACdtD,EAAwBglB,IAAMnyB,GAAYmyB,IAC1ChlB,EAAwBymB,QAAU5zB,GAAYgjB,KAAKvlB,MACnD0P,EAAwBmB,aAAetO,GAAYsO,aAEnDnB,EAAwB6T,gBAC+B,SAArD5gB,OAAOqO,eAAenO,QAAQ,mBAGhC6M,EAAwBumB,OAAS1zB,GAAY0Q,OAC7CvD,EAAwBxL,OAAS3B,GAAYgjB,KAAKrhB,OAClDwL,EAAwBhnB,IAAM86C,EAAO96C,IACrCgnB,EAAwByE,WACtB5R,GAAY2M,gBAAgBiF,WAC9BzE,EAAwBlN,MAAQD,GAAYC,MAC5CkN,EAAwB82B,UAAYjkC,GAAYikC,UAChD92B,EAAwByf,MAAQ5sB,GAAY4sB,MAC5Czf,EAAwBwf,MAAQ3sB,GAAY2sB,MAC5Cxf,EAAwB22B,eACtB9jC,GAAY8jC,eACd1jC,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBW,EAAQO,KAAKzsB,UAGf8hF,GAAmBC,GAGrB1D,GAAgB,OAACloE,QAAD,IAACA,OAAD,EAACA,EAAKS,WAEtBkrE,GAAmBC,GACnB1D,GAAiB,QAGrB,CACE8E,SAAQ,OAAE/kE,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cACvB9jB,IAAI,cAAD,cAAgBsT,SAAhB,IAAgBA,QAAhB,EAAgBA,GAAawQ,iBAIpCkzD,GAAmBC,GAGrBn4E,QAAQC,IAAI,cAAeyzE,GAgG7B,IAAM6E,GAAiB,SAAChsE,EAAU4rE,GAChC,IAAK5rE,GAAOA,EAAIR,OAEd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CAAEG,OAAQ,gBAAiBhnB,MAAO,oBAC7C60E,GAASD,OACJ,CAAC,IAAD,EACCp0D,EAAcxX,EAAIS,MACxB,UAAI+W,EAAYy1D,oBAAhB,aAAI,EAA0B55E,SAAS,iBACrCwiB,GAAa,GAGb/C,EAAW0C,GAAoB,IAAMxV,EAAIR,OAAS,KAClDiT,EAAU,2BAAKD,GAAN,IAAc4nB,IAAKptB,GAASzJ,QAErChG,GAAcia,EAAao0D,KA4BjC,SAASE,GACPoB,EACAtB,EACAuB,GAEA,IAAMjqD,EAAcue,GAAmB1Y,EAAW,mBAC9CwuB,EAAalvC,OAAOqO,eAAenO,QAAQ,eAAiB,GAC1D6kE,EAAY,CAChBz0D,OAAQ1Q,GAAY0Q,OACpBkjB,QAAS5zB,GAAYgjB,KAAKvlB,MAC1Bw3C,SAAUj1C,GAAYgjB,KAAKrhB,OAC3ByjE,cAAe/F,EACf7tD,MAAOyvB,EAAO96C,IACdgsC,IAAKnyB,GAAYgpC,YAEjB1O,QAAS2G,EAAOq+B,UAChB+F,mBAAoBnG,EACpBltC,cAAc,EACdszC,aAAc,GACdtnC,OAAQ,GACR/iB,YAAaA,EACbpjB,SAAU,GACV0tE,cAAe,GACfC,YAAa,GACbC,QAAwB,QAAfn2B,EAAuB,IAAM,KACtCo2B,SAAU,EACVC,SAAQ,OAAE1kC,QAAF,IAAEA,OAAF,EAAEA,EAAQx6B,UAClBm/D,SAAQ,OAAE3kC,QAAF,IAAEA,OAAF,EAAEA,EAAQ3B,WAClBumC,SAAQ,OAAE5kC,QAAF,IAAEA,OAAF,EAAEA,EAAQt6B,SAClBm/D,UAAW7kC,EAAOm+B,WAClB2G,eAAgBtG,GAChBuG,gBAAiBjH,GAEnBvzE,QAAQC,IAAI,sBtC16CkB,SAChCkU,EACAwlE,GAEA1lE,GACE,CACEkB,IAAK,2BACLd,OAAQ,OACR9O,KAAK,2BACAo0E,GADD,IAEFc,cAAed,EAAUC,cAEzBc,YAAaf,EAAUK,cAEzB/kE,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAagD,mBAE5BsK,GsCy5CAwmE,EACE,SAACpuE,GAAD,OAMJ,SACEA,EACAktE,EACAtB,EACAO,GAGA,GADA14E,QAAQC,IAAI,qCAAsCw5E,EAAQ,KAAMltE,IAC3DA,GAAOA,EAAIR,MACd/L,QAAQC,IAAI,8BAGZ,OAAI8hB,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CAAEG,OAAQ,oBAAqBhnB,MAAO,oBACjD6e,GAAa,QAGb,GADApiB,QAAQC,IAAI,6BACRsM,EAAIS,MAAQT,EAAIS,KAAKyY,OAAQ,CAC/BjR,GAAY0Q,OAAS3Y,EAAIS,KAAKyY,OAC9BjR,GAAYC,MAAQlI,EAAIS,KAAKoY,MAC7B5Q,GAAYwQ,cAAgBzY,EAAIS,KAAK4tE,cACrCpmE,GAAYyQ,sBAAwB1Y,EAAIS,KAAKwY,sBAC7ChR,GAAY+P,mBACc,QAAxBkxB,EAAOk+B,aACTn/D,GAAY2M,gBAAgBxmB,IAAM86C,EAAO96C,IAGzC,IAAMkgF,EAAav1B,KAAK,GAAD,OAAI7P,EAAO96C,MAC5BmgF,EAAY,oBAAgBD,GAC5BhqC,EAAS,UAAMlrC,GAAOC,MAAb,OAAoBk1E,GACnCtmE,GAAYq8B,UAAYA,EACxB,IAAMkqC,EAAY,CAChB91D,sBAAuBzQ,GAAYyQ,sBACnCF,cAAevQ,GAAYwQ,eAS7B,GAPApQ,OAAOqO,eAAerB,QACpB,gBACA/S,KAAKkG,UAAUgmE,IAIjB/6E,QAAQC,IAAI,4BAA6BuU,IACpB,GAAjBkkE,EAAuB,CACzB,IAAM/2D,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBsD,sBACtBzQ,GAAYyQ,sBACdtD,EAAwBlN,MAAQD,GAAYC,MAC5CkN,EAAwBoD,cAAgBvQ,GAAYwQ,cACpDrD,EAAwBglB,IAAMnyB,GAAYmyB,IAC1ChlB,EAAwB0mB,UAAY7zB,GAAY6zB,UAChD1mB,EAAwBhnB,IAAM86C,EAAO96C,IACrCgnB,EAAwB4C,mBACtB/P,GAAY+P,mBACd5C,EAAwBumB,OAAS1zB,GAAY0Q,OAC7CvD,EAAwBymB,QAAU5zB,GAAYgjB,KAAKvlB,MACnD0P,EAAwBxL,OAAS3B,GAAYgjB,KAAKrhB,OAClDwL,EAAwByE,WACtB5R,GAAY2M,gBAAgBiF,WAC9BzE,EAAwBgf,QAAUnsB,GAAY2M,gBAAgBwf,QAC9Dhf,EAAwB6T,gBAC+B,SAArD5gB,OAAOqO,eAAenO,QAAQ,mBAGhC6M,EAAwB82B,UAAYjkC,GAAYikC,UAChD92B,EAAwBkvB,UAAYr8B,GAAYq8B,UAChDlvB,EAAwBghB,UAAW,EACnChhB,EAAwBiD,SACtBpQ,GAAY2M,gBAAgByD,SAC9BhQ,OAAOC,aAAa+M,QAClB,eACApN,GAAY2M,gBAAgByD,UAE9BhQ,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBW,EAAQO,KAAKzsB,QACR,CACL,IAAK8+E,GAAa,CAChB,IAAI8F,EAAYlM,GAChBkM,EAAUC,WAAW/kE,cAAgB1B,GAAYwQ,cACjDiwD,GAAU+F,GACVE,GAAcpM,GAAOzwE,IAAKywE,GAAO7/C,SAAU6/C,GAAOxxE,GAAIwxE,GAAOzxE,MAa/D,IAAMskB,EAA0B,CAC9BsD,sBAAuBzQ,GAAYyQ,sBACnCxQ,MAAOD,GAAYC,MACnBsQ,cAAevQ,GAAYwQ,cAC3B2hB,IAAKnyB,GAAYmyB,IACjB0B,UAAW7zB,GAAY6zB,UACvB1tC,IAAK86C,EAAO96C,IACZ4pB,mBAAoB/P,GAAY+P,mBAChC2jB,OAAQ1zB,GAAY0Q,OACpBkjB,QAAS5zB,GAAYgjB,KAAKvlB,MAC1BkE,OAAQ3B,GAAYgjB,KAAKrhB,OACzBiQ,WAAY5R,GAAY2M,gBAAgBiF,WACxCua,QAASnsB,GAAY2M,gBAAgBwf,QACrCnL,gBACuD,SAArD5gB,OAAOqO,eAAenO,QAAQ,mBAGhCgO,aAActO,GAAYsO,aAC1Bse,OAAO,EACPD,OAAO,EACPsX,UAAWjkC,GAAYikC,UACvB5H,UAAWr8B,GAAYq8B,UACvBlO,UAAU,EACV/d,SAAUpQ,GAAY2M,gBAAgByD,UAExChQ,OAAOC,aAAa+M,QAClB,eACApN,GAAY2M,gBAAgByD,UAE9BhQ,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IA06CzB,SAAqB83D,GACnB/uE,IAAc,gBAEV,EAiBJ,GAA2B,GAAvBgpE,EACF4E,GACiC,QAApB,OAAX9jE,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,qBACoB/rB,KAApB,OAAXub,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,oBAKZ,CACLqvD,IAAkB,GAClB7/D,GAAY8jC,gBAAiB,EAC7B,IAAM32B,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwB22B,eAAiB9jC,GAAY8jC,eACrD1jC,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBS,GAAa,IA98CT+4D,SAyGF,OAAIp5D,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqW,GAAa,GAzPbg5D,CAAuB7uE,EAAKktE,EAAQtB,EAAqBuB,KAC3DC,GAoQJ,SAASrwB,GAAmB/8C,GAC1B,IAAKA,GAAOA,EAAIR,OAGd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,oBAClD6e,GAAa,QAEb,GAAI7V,GAAOA,EAAIS,KAAM,CACnB,IAAM/O,EAAmB4Q,KAAKC,MAAMvC,EAAIS,MAAM5O,QAC5C,SAACW,GAAD,OAOoB,GAAlBA,EAAKwqD,aAELlB,GAAsC,EACtB,IAAhBpqD,EAAKtE,QAAkC,IAAlBsE,EAAK,GAAGurD,QAC/BnB,GAA6B,GAEd7zC,GAAYwQ,cACHxQ,GAAYyQ,sBAMtCY,IACE,SAACtZ,GAAD,OAAcozC,GAAsBpzC,EAAK87C,KACzC7zC,GAAYwQ,oBAId,OAAIjD,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqW,GAAa,GAiCnB,SAASu9B,GACPpzC,EACA87C,GAEA,IAAK97C,GAAOA,EAAIR,OAGd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,oBAET6e,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CACZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MAEnCgtC,GAAaj2B,GAGbqkC,GAAwBC,GACxB2sB,GAAuBjxD,EAAYu3B,qBACnCw5B,IAAqB,SAACuG,GAKpB,OAJAA,EAAkBzG,gBAAlB,OACE7wD,QADF,IACEA,OADF,EACEA,EAAao2B,2BACfkhC,EAAkBxG,eAAlB,OACE9wD,QADF,IACEA,OADF,EACEA,EAAaq2B,0BACRihC,KAELt3D,EAAY+2B,wBACdtmC,GAAYsO,cAAe,EAC3B9iB,QAAQC,IAAI,4BACZy1E,GAAuB,iBAErB3xD,EAAYm3B,QACd1mC,GAAY4sB,OAAQ,EACpBphC,QAAQC,IAAI,4BACZy1E,GAAuB,UAErB3xD,EAAYglB,QAAOv0B,GAAY2sB,OAAQ,GAWvCpd,EAAYq2B,2BACZr2B,EAAYo2B,2BAINp2B,EAAYw2B,uBAGnBx2B,EAAYy2B,6BACZz2B,EAAY42B,2BAGL0N,EAGP7zC,GAAYsO,cACZtO,GAAY4sB,OACZ5sB,GAAY2sB,OACZpd,EAAY22B,0BAGN32B,EAAY62B,sBACnBpmC,GAAY+pC,oBAAsBzmD,GAC1BisB,EAAY82B,iBAEiB,IAA9B92B,EAAYg3B,cACnBz4B,EAAQO,KAAK9qB,GAAUI,2BACc,IAA9B4rB,EAAYg3B,eACnBz4B,EAAQO,KAAK/qB,IAJb0c,GAAY+pC,oBAAsBnoD,GAJlCoe,GAAY+pC,oBAAsBnoD,GAPlCoe,GAAY+pC,oBAAsBnoD,GAFlCoe,GAAY+pC,oBAAsBnoD,GALlCoe,GAAY+pC,oBAAsBnoD,GAFlCoe,GAAY+pC,oBAAsBnoD,GA0BpCqhF,IAAW,QAGX,OAAI11D,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqW,GAAa,GAhLnBnnB,IAAM2H,WAAU,WACVqzE,IAAsD,iBAAxBR,IAChCK,IAAmB,KAEpB,CAACG,GAA4BR,KA2MhC,IA+GM6F,GAAuB,SAC3B/uE,EACA6hB,EACA+pD,IAEK5rE,GAAOA,EAAIR,OACdsT,EAAW9S,EAAIR,OAEfqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,sBAClD6e,GAAa,IAET7V,EAAIS,MAA2B,GAAnBT,EAAIS,KAAKuuE,QACvBntD,EAAUa,SAAW1iB,EAAIS,KAAK++D,KAC9B8K,IAAe,GAGfx3D,EAAWzY,IAGfgwE,GAAe/zD,KAAKuL,GACI4f,GAAmB1Y,EAAW,mBAAtD,IACM7F,EAAcue,GAAmB1Y,EAAW,mBAC5C3G,EAAU,CACd5J,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5DqK,aAAcsnD,GACd1xD,OAAQ1Q,GAAY0Q,OACpBuK,YAAaA,GAGXqnD,KAAYD,IACdznD,IACE,SAAC7iB,GAAD,OACEivE,GAAwBjvE,EAAK4rE,EAAqB/pD,KACpDO,IAIA6sD,GAA0B,SAC9BjvE,EACA4rE,EACA/pD,GAEApuB,QAAQC,IAAI,8BAA+B62E,GAASD,KAE/CtqE,GAAOA,EAAIR,OAGdsT,EAAW9S,EAAIR,OACfqe,GAAW,CACTG,OAAQ,8BACRhnB,MAAO,sBAET6e,GAAa,KAEbu0D,IAAgB,SAAC8E,GAOf,OANAz7E,QAAQC,IACN,iBACAw7E,EAAKlF,UAFP,OAGEnoD,QAHF,IAGEA,OAHF,EAGEA,EAAWa,SACXwsD,EAAKlF,UAAUn4E,QAAO,SAAC2T,GAAD,OAAOA,IAAC,OAAIqc,QAAJ,IAAIA,OAAJ,EAAIA,EAAWa,cAExC,2BACFwsD,GADL,IAEEhF,kBAAmBgF,EAAKhF,kBAAoB,EAC5CF,UAAWkF,EAAKlF,UAAUn4E,QAAO,SAAC2T,GAAD,OAAOA,KAAC,OAAKqc,QAAL,IAAKA,OAAL,EAAKA,EAAWa,kBAG7D6mD,IAAmB,KA2JvB,SAAShsE,GAAcyC,EAAU4rE,GAE/B,GADAn4E,QAAQC,IAAI,cAAesM,IACtBA,GAAOA,EAAIR,OAEd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CAAEG,OAAQ,gBAAiBhnB,MAAO,sBAC7C60E,GAASD,OACJ,CACL,IAAMp0D,EAAcxX,EAAIS,KAAOT,EAAIS,KAAOT,EAC1C,GACEwX,IACCA,EAAY5X,WACa,OAA1B4X,EAAY23D,UACZ,CACAlnE,GAAY4sB,OAAQ,EACQ,UAAxBq0C,IACFC,GAAuB,SAEzB,IAAM/zD,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5DN,GAAYozB,UAAY7jB,EAAY4qB,SAChC5qB,EAAY4qB,SACZ,GACJn6B,GAAYszB,WAAa/jB,EAAY6qB,UACjC7qB,EAAY6qB,UACZ,GACJp6B,GAAYwzB,SAAWjkB,EAAY60D,SAAW70D,EAAY60D,SAAW,EAGrE,IAAMj1C,EAAY5f,EAClBvP,GAAY41B,cAAc7rB,aAA1B,UAA4ColB,EAAUk1C,WAAtD,YACEl1C,EAAUm1C,YAAc,GAD1B,YAEIn1C,EAAUo1C,YAAc,IAC5BvkE,GAAY41B,cAAc7rB,aACxB/J,GAAY41B,cAAc7rB,aAE5B/J,GAAY41B,cAAclW,YAA1B,UAA2CyP,EAAUq1C,WAArD,YACEr1C,EAAUs1C,YAAc,GAD1B,YAEIt1C,EAAUu1C,YAAc,IAC5B1kE,GAAY41B,cAAclW,YACxB1f,GAAY41B,cAAclW,YAC5B1f,GAAY41B,cAAcpzB,QAAU2sB,EAAUw1C,YAC9C3kE,GAAY41B,cAAc/V,YAAcsP,EAAUy1C,YAClD5kE,GAAY2M,gBAAgB2Z,WAAa6I,EAAU01C,WAC/C11C,EAAU01C,WACV7kE,GAAY2M,gBAAgB2Z,WAChCnZ,EAAwByf,MAAQ5sB,GAAY4sB,MAC5Czf,EAAwBpD,aACtB/J,GAAY41B,cAAc7rB,aAC5BoD,EAAwB3K,QAAUxC,GAAY41B,cAAcpzB,QAC5D2K,EAAwBuS,YACtB1f,GAAY41B,cAAclW,YAC5BvS,EAAwB0S,YACtB7f,GAAY41B,cAAc/V,YAC5B1S,EAAwBmZ,WACtBtmB,GAAY2M,gBAAgB2Z,WAC9BnZ,EAAwBwS,gBACtB3f,GAAY41B,cAAc7rB,cAC1B/J,GAAY41B,cAAclW,YAzKlC,SAA8BynD,EAAaxD,GAAgC,IAAD,EACxErB,GAAU6E,EAAOC,aAAajiF,OAElB,OAAGgiF,QAAH,IAAGA,GAAH,UAAGA,EAAQC,oBAAX,OAAG,EAAsBh7E,KAAI,SAACi7E,GAAgB,IAAD,QACvD,OAAQA,EAAMC,WACZ,IAAK,KACL,IAAK,KACH,IAAMC,EAAsC,CAC1CxpD,mBAAkB,UAAEspD,EAAMvpD,0BAAR,aAAE,EAA0BnwB,WAC9C8vB,WAAU,UAAE4pD,EAAMzrD,kBAAR,aAAE,EAAkBjuB,WAC9B8sB,SACE,UAAGza,GAAYwQ,cAAf,uBACoB,oBAAnB62D,EAAM3pD,SAAiC,OAAS,QACnDS,eAAe,EACfR,SAAU0pD,EAAM3pD,UAAY,IAC5B/M,MAAO3Q,GAAY2M,gBAAgBxmB,IACnC03B,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,EACfJ,eAAgB8oD,EAAM/oD,gBAElBkpD,EAAmB,CACvB9lE,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBstD,EAAMI,MACtBn3D,SAAUi3D,EAAmB9sD,SAC7BR,eAAgB,GAGlBkoD,IAAgB,SAAC8E,GACf,IAAIS,GAAmBT,EAAKlF,UAAU32E,SACpCm8E,EAAmB9sD,UAErB,OAAO,2BACFwsD,GADL,IAEEjF,eAAgB0F,EACZT,EAAKjF,eAAiB,EACtBiF,EAAKjF,eACTD,UAAW2F,EAAe,sBAClBT,EAAKlF,WADa,CACFwF,EAAmB9sD,WADjB,YAElBwsD,EAAKlF,gBAIjBpoD,IACE,SAAC5hB,GAAD,OACE+uE,GACE/uE,EACAwvE,EACA5D,KAEJ6D,GAEF,MAEF,QACE,IAAMG,EAA6C,CACjD5pD,mBAAkB,UAAEspD,EAAMvpD,0BAAR,aAAE,EAA0BnwB,WAC9C8vB,WAAU,UAAE4pD,EAAMzrD,kBAAR,aAAE,EAAkBjuB,WAC9B8sB,SACE,UAAGza,GAAYwQ,cAAf,uBACoB,oBAAnB62D,EAAM3pD,SAAiC,OAAS,QACnDS,eAAe,EACfR,SAAU0pD,EAAM3pD,UAAY,IAC5B/M,MAAO3Q,GAAY2M,gBAAgBxmB,IACnC03B,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,EACfJ,eAAgB8oD,EAAM/oD,gBAElBspD,EAA0B,CAC9BlmE,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBstD,EAAMI,MACtBn3D,SAAUq3D,EAA0BltD,SACpCR,eAAgB,GAGlBkoD,IAAgB,SAAC8E,GACf,IAAIS,GAAmBT,EAAKlF,UAAU32E,SACpCu8E,EAA0BltD,UAE5B,OAAO,2BACFwsD,GADL,IAEEjF,eAAgB0F,EACZT,EAAKjF,eAAiB,EACtBiF,EAAKjF,eACTD,UAAW2F,EAAe,sBAClBT,EAAKlF,WADa,CACF4F,EAA0BltD,WADxB,YAElBwsD,EAAKlF,gBAIjBpoD,IACE,SAAC5hB,GAAD,OACE+uE,GACE/uE,EACA4vE,EACAhE,KAEJiE,OA8EJC,CAAqBt4D,GACrBnP,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBw1D,KACA/sD,GAAW,CAAEG,OAAQ,UAAWhnB,MAAO,uBASvC,GAAKiR,GAAY4sB,MAeVg3C,GAASD,OAfQ,CACtBn4E,QAAQC,IAAI,4BACZy1E,GAAuB,gBACvBrB,IAAkB,GAClB7/D,GAAY8jC,gBAAiB,EAC7B,IAAM32B,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwB22B,eAAiB9jC,GAAY8jC,eACrD1jC,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBS,GAAa,GACbg2D,GAASD,KAMjB,IAWMmE,GAAwB,SAAC/vE,EAAUgwE,GAYf,IAAD,mBAXlBhwE,GAAOA,EAAIR,QACd,OAAIgqE,SAAJ,IAAIA,QAAJ,EAAIA,GAAen2E,SAAS2M,EAAIR,QAC9BiqE,GAAiBD,IAEjBC,GAAiBD,GAAgBxpE,EAAIR,OAEvCqW,GAAa,IAKT7V,GAAOA,EAAIS,OACbymE,EAAoBlnE,EAAIS,KAEtBT,GACAA,EAAIS,OACe,OAAlB,UAAAT,EAAIS,YAAJ,eAAUoa,MACU,OAAnB,UAAA7a,EAAIS,YAAJ,eAAUomE,OACc,OAAxB,UAAA7mE,EAAIS,YAAJ,eAAUmmE,YACkB,OAA5B,UAAA5mE,EAAIS,YAAJ,eAAUqmE,kBAEZmB,IAA6B,GAE7BwB,GAnCuB,SAAC3pE,GAC9B,IAAII,EAAS,GAOb,OANA0W,OAAOlf,KAAKivE,IAAsBlxE,SAAQ,SAAC+P,GACrB,MAAhB1F,EAAS0F,KAEXtF,EAASA,EAAS,KAAOJ,EAAS6mE,GAAqBnhE,QAGpDtF,EA2BgB+vE,CAAuBjwE,EAAIS,QAoC5C0mE,EAD+B,OAA1B,OAAHnnE,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWqmE,eAMZ9mE,GAAOA,EAAIS,MAA0B,OAAlB,UAAAT,EAAIS,YAAJ,eAAUoa,MACX,OAAnB,UAAA7a,EAAIS,YAAJ,eAAUomE,OACc,OAAxB,UAAA7mE,EAAIS,YAAJ,eAAUmmE,YACkB,OAA5B,UAAA5mE,EAAIS,YAAJ,eAAUqmE,eAEVjxD,GAAa,IAEboyD,IAA6B,GAG3B/+B,EAAO96C,OAAP,OAAe07E,SAAf,IAAeA,QAAf,EAAeA,GAAoBrG,YACnCpnD,KAAO6sB,EAAO9O,KAAK9d,OAAO,iBAA1B,OACEwtD,SADF,IACEA,QADF,EACEA,GAAoBpG,eAEtBmE,IAAc,GAEdA,IAAc,GAGhBmI,OAKFjF,GAAgB,SACpBmF,EAMAF,ItC/iF4B,SAC9BpoE,EACAsoE,GAOAxoE,GACE,CACEkB,IAAK,yBACLd,OAAQ,OACR9O,KAAMk3E,EACNxnE,WAAYtP,GAAOE,aACnBE,WAAW,EACXuG,YAAazF,GAAagF,kBAE5BsI,GsC+hFAtI,EAAiB,SAACU,GAChB+vE,GAAsB/vE,EAAKgwE,KAC1BE,IAEL,SAASrE,GAASD,GAChBhB,KACA/sD,GAAW,CAAEG,OAAQ,UAAWhnB,MAAO,kBACvC,IAAMoe,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D9U,QAAQC,IACN,mBACA0hB,EAAwB4mB,OACxB,KACA5mB,EAAwByf,OAE1BphC,QAAQC,IAAI,kBAAmB41E,IAC3BA,KAECl0D,EAAwB4mB,QACU,KAAnC5mB,EAAwB4mB,QACvB5mB,EAAwByf,MAIhB+2C,GACTn4E,QAAQC,IAAI,sBACZqiB,EAAQO,KAAKrO,GAAY+pC,uBAIzBv+C,QAAQC,IAAI,sBACP8hB,GAA8B,IAAnBA,EAAQpoB,QACtB2oB,EAAQO,KAAKzsB,MAVf4J,QAAQC,IAAI,oBACZqiB,EAAQO,KAAK/qB,MAYZ+9E,KACHC,IAAmB,GACnB1zD,GAAa,IAmIjB,IAAM84D,GAAgB,SACpB78E,EACA4wB,EACA3xB,EACAD,GACI,IAAD,IACC+wB,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAENuhD,EAA8B,CAClCj+C,mBAAkB,UAAEijC,GAAOjjC,0BAAT,aAAE,EAA2BpwB,WAC/C8vB,WAAU,UAAEujC,GAAOvjC,kBAAT,aAAE,EAAmB9vB,WAC/B8sB,SACEumC,GAAOvmC,UAAqB,oBAAT5xB,EAA6B,OAAS,QAC3Ds1B,eAAe,EACfR,SAAU90B,EACV8nB,MAAO3Q,GAAY2M,gBAAgBxmB,IACnC03B,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GASjBuhD,GAPsB,CACpBlE,WAAYA,EACZpiD,UAAWA,EACX9wB,GAAIA,EACJ2xB,SAAUA,EACV5xB,KAAMA,IAGRmX,GAAYopC,UAAYy4B,IA5oFA,WACxB,IAAI9/E,EACDk/C,EAAOx6B,UAAuBw6B,EAAO3B,WAAa2B,EAAOt6B,SAE5D,OACEs6B,EAAO96C,OAAP,OAAe07E,SAAf,IAAeA,QAAf,EAAeA,GAAoBrG,YACnCpnD,KAAO6sB,EAAO9O,KAAK9d,OAAO,iBAA1B,OACEwtD,SADF,IACEA,QADF,EACEA,GAAoBpG,gBACtB15E,KAAI,OAAK8/E,SAAL,IAAKA,QAAL,EAAKA,GAAoBqG,aAAaviF,QAAQ,MAAO,KAqoFvDwiF,GAGFnM,EAAWv9C,QAAS,EAFpBu9C,EAAWv9C,QAAS,EAKtB0jD,IAAgB,SAAC8E,GACf,OAAO,2BACFA,GADL,IAEEjF,eAAgBiF,EAAKjF,eAAiB,EACtCD,UAAYkF,EAAKlF,UAAU32E,SAAS4wE,EAAWvhD,UAApC,YAEHwsD,EAAKlF,WAFF,sBACHkF,EAAKlF,WADF,CACa/F,EAAWvhD,gBAKvCd,IACE,SAAC5hB,GAAD,OAAcqwE,GAAgBrwE,EAAKikE,KACnCpiD,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,OA0H9DivE,GAAmB,SACvBrtE,EACA3B,EACA2xB,EACA5xB,GACI,IACI+yD,EAAkBnxD,EAAlBmxD,OAAQyf,EAAU5wE,EAAV4wE,MACZnpC,EAAape,KAAKC,MAAgB,IAAT6nC,EAAgByf,GACzCpI,EAAO,eAAQjS,IACf9uB,EAAa,KACf+gC,EAAQnqE,GAAKA,EACbmqE,EAAQ9yC,SAAU,EAClB8yC,EAAQ7yC,UAAY8R,EACpB+gC,EAAQ5yC,cAAe,EACvB4yC,EAAQ3yC,UAAW,EACnB2gC,GAAUgS,IACc,MAAf/gC,IACT+gC,EAAQnqE,GAAKA,EACbmqE,EAAQ9yC,SAAU,EAClB8yC,EAAQ7yC,UAAY8R,EACpB+gC,EAAQ3yC,UAAW,EACnB2yC,EAAQ5yC,cAAe,EACvB4yC,EAAQx4C,SAAWA,EACnBw4C,EAAQt1C,SAAW90B,EACnBo4D,GAAUgS,KAKRmV,GAAkB,SAACrwE,EAAUikE,GACjC,IAAKjkE,GAAOA,EAAIR,OAGd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,sBAClD6e,GAAa,GACbuyD,IAAe,OACV,CACDpoE,EAAIS,MAAQT,EAAIS,KAAKuuE,SACvB/K,EAAWvhD,SAAW1iB,EAAIS,KAAK++D,MAEjCv3D,GAAY+jC,eAAgB,EAC5Bo8B,IAAe,GACf,IAAMhzD,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwB42B,cAAgB/jC,GAAY+jC,cACpD3jC,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAGjBS,GAAa,GACbkuD,GAAYztD,KAAK2tD,GACOxiC,GAAmB1Y,EAAW,mBAAtD,IACM7F,EAAcue,GAAmB1Y,EAAW,mBAC5C3G,EAAU,CACd5J,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5DqK,aAAcghD,GACdprD,OAAQ1Q,GAAY0Q,OACpBuK,YAAaA,GAEfL,IAAqB,SAAC7iB,IACfA,GAAOA,EAAIR,QACd,OAAIgW,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,QAEC,IAAxB2nE,GACFwC,IAA8B,IAG5B3pE,GAAOA,EAAIS,QACe,IAAxB0mE,GACFwC,IAA8B,GAEhCS,IAAgB,SAAC8E,GAOf,OANAz7E,QAAQC,IACN,iBACAw7E,EAAKlF,UACL/F,EAAWvhD,SACXwsD,EAAKlF,UAAUn4E,QAAO,SAAC2T,GAAD,OAAeA,GAAKy+D,EAAWvhD,aAEhD,2BACFwsD,GADL,IAEEhF,kBAAmBgF,EAAKhF,kBAAoB,EAC5CF,UAAWkF,EAAKlF,UAAUn4E,QACxB,SAAC2T,GAAD,OAAeA,GAAKy+D,EAAWvhD,oBAMxCN,KA2BDkuD,GAAiB,SAACtwE,GACtB,IAAKA,GAAOA,EAAIR,MACd/L,QAAQC,IAAIsM,EAAIP,SAChB,OAAI+V,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3Bqe,GAAW,CAAEG,OAAQ,gBAAiBhnB,MAAO,wBACxC,CACL,GAAIgJ,EAAIS,KAAM,CACZoV,GAAa,GAEK7V,EAAIS,KAAK4Z,qBACvBra,EAAIS,KAAK4Z,oBAGkB,KAA3Bra,EAAIS,KAAK+Z,gBACXvS,GAAYikC,WAAY,EACxBi7B,GAAsB,EACtB5W,IAAgB,IASW,KAA3BvwD,EAAIS,KAAK+Z,gBACkB,MAA3Bxa,EAAIS,KAAK+Z,iBAETvS,GAAYikC,WAAY,EACxBi7B,GAAsB,EACtB5W,IAAgB,SAGlB1yC,GAAW,CAAEG,OAAQ,gBAAiBhnB,MAAO,sBAE3CiR,GAAYwQ,eACda,GACE85B,GACAnrC,GAAYwQ,iBAYpBhlB,QAAQC,IACN,mBACAq4C,GACA,wBACA47B,GACA,kBACAC,GACA,mBACA9nB,GAyBFpxD,IAAM2H,WAAU,WACVuzE,IAAyB,IAAXp0D,GAChBq1D,OAED,CAACjB,GAAYp0D,IA2DhB,OACE,oCAIE,yBAAKpsB,UAAW,OAASyO,EAAY,QAAU,KAC7C,yBAAKzO,UAAU,UACb,yBAAKA,UAAU,YAAYC,IAAKwxD,KAAWtxD,IAAI,YAEjD,yBAAKH,UAAU,cACb,0DAGF,yBAAKA,UAAU,WACb,+FAKF,yBAAKA,UAAU,WACb,8BACE,8BAAU6H,SAAU4G,GAClB,yBAAKzO,UAAU,OACb,yBAAKA,UAAWyO,EAAY,cAAgB,IAC1C,yBAAKzO,UAAU,gBACb,yBAAKA,UAAU,aACb,2BAAOA,UAAU,yBAAjB,mBAGA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,UACH00B,OAAQwjC,GACR1I,8BAA+B,qBAC/BD,oBA/kBxB,SACExuD,EACA4wB,EACA3xB,EACAD,GAEAi4E,IAAyB,GACzBlzD,GAAa,GACbozC,GAAOzgC,OAAS,GAChBygC,GAAOvjC,WAAa,EACpBujC,GAAO5gC,UAAY,IACnB6gC,GAAUD,IAEV,IAAMsZ,EAAS,CACb54D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCuY,iBAAkB,WAClB33B,WAAYg9D,GAAOvjC,WACnBxW,OAAQ9iB,IAGVs8E,GAAU,CACRgG,WAAYnM,EACZzwE,IAAKA,EACL4wB,SAAUA,EACV3xB,GAAIA,EACJD,KAAMA,I7B7nFkB,SAAC8W,EAA4BqhD,GACzDx1D,QAAQC,IAAIu1D,EAAQ,kBACpBvhD,GACE,CACEkB,IAAK,UACL5P,KAAM,CACJsqB,gBAAiB2lC,EAAOjnC,eACxBuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,UACdC,OAAQulC,EAAO/5C,OACfrF,cAAeo/C,EAAOt/C,cACtBga,iBAAkBslC,EAAOrlC,iBACzBC,WAAYolC,EAAOh9D,YAErB6b,OAAQ,OACRY,WAAYtP,GAAOE,aAEnByG,YAAazF,GAAawB,wBAE5B8L,G6BgnFA2oE,EAAe,SAACvwE,GAaN,IAAD,EAZP,IAAKA,GAAOA,EAAIR,MACdqW,GAAa,IAGb,OAAIL,QAAJ,IAAIA,OAAJ,EAAIA,EAASniB,SAAS2M,EAAIR,QACxBsT,EAAW0C,GAEX1C,EAAW0C,EAAUxV,EAAIR,OAE3BqpE,IAAmB,GACnBE,IAAyB,QAGzB,GAAI/oE,IAAG,OAAIA,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,aAAI,EAAWP,QAAQ,CAAC,IAAD,4BAC5B6pE,GAAqB,OAAC/pE,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWP,cAAZ,aAAC,EAAmB41B,mBAEa,MAAjD,OAAH91B,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,mBAAmB41B,yBAAnB,eAAsC2tC,YACc,QAAjD,OAAHzjE,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,mBAAmB41B,yBAAnB,eAAsC2tC,iBACc/2E,KAAjD,OAAHsT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,mBAAmB41B,yBAAnB,eAAsC2tC,YAEtCwF,GACE,iFAEFJ,IAAmB,GACnBE,IAAyB,IAEzBE,GAA6B,IAE/Bx1B,GAAU,SAACvK,GAAY,IAAD,8BACpBA,EAAO96C,IAAP,OAAa4R,QAAb,IAAaA,GAAb,UAAaA,EAAKS,YAAlB,iBAAa,EAAWP,cAAxB,iBAAa,EAAmB41B,yBAAhC,aAAa,EAAsC2tC,UACnDv6B,EAAO9O,IAAM,IAAIjf,KAAJ,OACXnb,QADW,IACXA,GADW,UACXA,EAAKS,YADM,iBACX,EAAWP,cADA,iBACX,EAAmB41B,yBADR,aACX,EAAsC4tC,eAExC,IAAIl3B,EAAQ,OACVxsC,QADU,IACVA,GADU,UACVA,EAAKS,YADK,iBACV,EAAWP,cADD,iBACV,EAAmB41B,yBADT,iBACV,EAAsCq6C,oBAD5B,aACV,EAAoD9kE,MAAM,KAU5D,OATA69B,EAAOx6B,WAAoB,OAAR89B,QAAQ,IAARA,OAAA,EAAAA,EAAUp/C,QAAS,GAAnB,UAAuBo/C,EAAS,UAAhC,QAA2C,GAC9DtD,EAAOt6B,UACG,OAAR49B,QAAQ,IAARA,OAAA,EAAAA,EAAUp/C,QAAS,GAAnB,UAAuBo/C,GAAiB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAUp/C,QAAS,UAAnD,QAA8D,GAChEqG,QAAQC,IAAI,SAAU84C,GACtBA,EAASgkC,OAAO,EAAG,GACnBhkC,EAASgkC,QAAe,OAARhkC,QAAQ,IAARA,OAAA,EAAAA,EAAUp/C,QAAS,GACnC87C,EAAO3B,WAAaiF,EAASpgC,KAAK,KAClC88B,EAAOm+B,WAAP,OACErnE,QADF,IACEA,GADF,UACEA,EAAKS,YADP,iBACE,EAAWP,cADb,iBACE,EAAmB41B,yBADrB,aACE,EAAsC26C,aACjCvnC,KAGTjhC,GAAY2M,gBAAgB2Z,WAA5B,OACEvuB,QADF,IACEA,GADF,UACEA,EAAKS,YADP,iBACE,EAAWP,cADb,iBACE,EAAmB41B,yBADrB,aACE,EAAsC26C,aACxC,IAAMr7D,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBmZ,WACtBtmB,GAAY2M,gBAAgB2Z,WAC9BlmB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjB2zD,IAAyB,GAEf,OAARj3E,QACQpF,IAARoF,IACQ,OAAR4wB,QAAQ,IAARA,OAAA,EAAAA,EAAUt1B,QAAS,IACjB,OAAF2D,QAAE,IAAFA,OAAA,EAAAA,EAAI3D,QAAS,EAEby7E,IAAmB,GAEnBA,IAAmB,MAIxBtG,GACH1sD,GAAa,IAseSmqC,SAnHH,WACnB6oB,IAAmB,GACnBE,IAAyB,GACzBU,GAAiB,IACjBR,GAA6B,IAC7BP,GAAU,MACVj2D,EAAU,CACRrkB,SAAK1B,EACL0tC,SAAK1tC,EACL06E,kBAAc16E,EACd66E,eAAW76E,EACXgiB,eAAWhiB,EACX66C,gBAAY76C,EACZkiB,cAAUliB,YA6GDo8E,IACC,yBAAK1/E,UAAU,OACb,kBAAC,GAAD,CAAQmO,KAAM,MAGa,IAA9ByxE,IACC,yBAAK5/E,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQ4/E,MAIbJ,KACEE,IAC6B,IAA9BE,IACE,oCACE,8BAAU/3E,SAAU+2E,IAClB,yBAAK5+E,UAAU,OACb,2BAAOA,UAAU,WAAjB,cACA,kBAAC,GAAD,CACEA,UAAU,WACVuF,aAAY,OAAEu6C,QAAF,IAAEA,OAAF,EAAEA,EAAQx6B,UACtBnf,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,YAAa9F,IAC3CgD,UAAU,EACVkE,OAAQ,SAAC6O,GACHA,EAAM/S,SACRgmB,EAAU,2BACLD,GADI,IAEP9D,UAAW,6BAGZ,OAACw6B,QAAD,IAACA,OAAD,EAACA,EAAQx6B,YACgC,KAAzCw6B,EAAOx6B,UAAqBwnB,OAAO,IAEpCzjB,EAAU,2BACLD,GADI,IAEP9D,UAAW,kCAIjB5d,KAAK,OACLL,YAAY,aAEZ5B,UAAW2jB,EAAO9D,UAClBze,UAAW,MAIf,yBAAK7G,UAAU,OACb,2BAAOA,UAAU,WAAjB,eACA,kBAAC,GAAD,CACEA,UAAU,WACVuF,aAAY,OAAEu6C,QAAF,IAAEA,OAAF,EAAEA,EAAQ3B,WAEtBh4C,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,aAAc9F,IAC5CkH,OAAQ,SAAC6O,IAEJ,OAAC0pC,QAAD,IAACA,OAAD,EAACA,EAAQ3B,aACiC,KAA1C2B,EAAO3B,WAAsBrR,OAAO,IAErCzjB,EAAU,2BACLD,GADI,IAEP+0B,WAAY,kCAIlBz2C,KAAK,OACLL,YAAY,eAEZ5B,UAAW2jB,EAAO+0B,WAClBt3C,UAAW,MAIf,yBAAK7G,UAAU,OACb,2BAAOA,UAAU,WAAjB,aACA,kBAAC,GAAD,CACEA,UAAU,WACVuF,aAAY,OAAEu6C,QAAF,IAAEA,OAAF,EAAEA,EAAQt6B,SAEtBrf,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,WAAY9F,IAC1CkH,OAAQ,SAAC6O,KACT1O,KAAK,OACLL,YAAY,YAEZ5B,UAAW2jB,EAAO5D,SAClB3e,UAAW,MAKf,yBAAK7G,UAAU,OACb,2BAAOA,UAAU,WAAjB,aACA,kBAAC,GAAD,CACEA,UAAU,WACVuF,aAAY,OAAEu6C,QAAF,IAAEA,OAAF,EAAEA,EAAQ96C,IAEtBmB,SAAU,SAAC9F,GACTggF,GAAiB,IACjBl6E,GAAS,MAAO9F,EAAM8G,gBAExBI,OAAQ,SAAC6O,GAAD,OAt8FhC,SAAmBA,GACjBiT,EAAU,2BACLD,GADI,IAEPpkB,IAAKoR,EAAMnQ,QAAU,GAAK2d,GAASzJ,OAErCkP,EAAU,2BACLD,GADI,IAEPpkB,IAAKoR,EAAMnQ,QAAU,GAAK2d,GAASzJ,OAEjC/D,EAAMnQ,QACRihC,GAAY,GAEZA,GAAY,GA07F2BiQ,CAAU/gC,IAC7B1O,KAAK,OACLL,YAAY,iBACZpB,QAASjB,GACTS,UAAW2jB,EAAOpkB,IAClB6B,UAAW,GACXmB,OACEi/B,EAAW,uBAAGjnC,UAAU,mBAAsB,wCAOpD,yBAAKA,UAAU,OACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CAEEkyB,aAAc,SAACxpB,GAAD,OAASvC,GAAS,MAAOuC,IACvCkpB,aAAmB,OAANkuB,QAAM,IAANA,OAAA,EAAAA,EAAQ9O,KAAM8O,EAAO9O,SAAM1tC,EACxCwwB,gBAAiB,uBACjB3B,QACE,IAAIJ,MACF,IAAIA,MAAOuvB,aACT,IAAIvvB,MAAOS,cAAgB,KAIjCoB,QACE,IAAI7B,MACF,IAAIA,MAAOuvB,aACT,IAAIvvB,MAAOS,cAAgB,MAIjCjrB,OAz9FxB,SAAmB+B,GACZw2C,EAAO9O,KAEV3nB,EAAU,2BAAKD,GAAN,IAAc4nB,IAAKptB,GAASzJ,QAu9FjB8Z,UAAS7K,EAAO4nB,OAInB5nB,EAAO4nB,KACN,uBAAGhxC,UAAU,iBAAiBopB,EAAO4nB,MAoFxCkvC,IAAmB1B,IAClB,yBACE5yE,MAAO,CACL+vE,eAAgB,SAChBr7E,QAAS,OACTs7E,WAAY,SACZ3mB,OAAQ,UAGV,kBAAC,GAAD,CACEzlD,MAAM,UACNolD,OAAQorB,GACRnrB,aAAa,GAEb,4CACA,yBAAK70D,UAAU,eACZggF,GACC,yBACEhgF,UAAU,gBACV4L,MAAO,CAAE07E,SAAU,SAElBtH,IAGH,cAGJ,yBAAKhgF,UAAU,uBACb,4BACEA,UAAS,8BACP+gF,GAAcF,iBACdE,GAAcD,kBACV,UACA,IAEN/4E,QAAS,WACqB,UAAxB+3E,IACFnzD,EAAQO,KAAKzsB,IACa,iBAAxBq/E,IACFnzD,EAAQO,KAAK/qB,KAEjBuF,KAAK,SACLG,SACEk5E,GAAcF,iBACdE,GAAcD,mBAGfC,GAAcF,iBACfE,GAAcD,kBACV,cACA,kBA2Bd,yBAAK9gF,UAAU,kBACb,kBAAC,GAAD,CACE6N,QAASwwE,GACTz9E,KAAK,UACLuF,SAAU,eAEZ,2BAAOnG,UAAU,mBAAjB,gEAMDgvB,GACCxB,OAAOlf,KAAK0gB,GAAQhrB,QACpBgrB,EAAO/H,YACP+H,EAAOzI,aACPyI,EAAO3I,cACL,yBAAKrmB,UAAU,kBACb,2BAAOA,UAAU,4BAAjB,2BAOLosB,GACC,yBAAKpsB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAOG,KAAlBg0D,KAAqC,OAAbA,SAAa,IAAbA,QAAA,EAAAA,GAAep8E,QAAS,GAC/C,yBAAKhE,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQogF,MAMI,IAAjB7R,IACC,yBAAKvuE,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQuuE,MAMd,yBAAKvuE,UAAU,OACb,kBAAC,GAAD,CACE+H,QAAS05E,GACT9yE,QAASg0C,GAAiB,WAAa,UAGvC96C,WAImB,OAAT,OAANuhB,QAAM,IAANA,OAAA,EAAAA,EAAQ4nB,WACQ1tC,IAAT,OAAN8lB,QAAM,IAANA,OAAA,EAAAA,EAAQ4nB,MACa,MAApB5nB,EAAO9D,gBACWhiB,GAApB8lB,EAAO9D,WACe,KAArB8D,EAAO9D,WAAmC,OAAT,OAAN8D,QAAM,IAANA,OAAA,EAAAA,EAAQpkB,WACrB1B,IAAT,OAAN8lB,QAAM,IAANA,OAAA,EAAAA,EAAQpkB,MACQ,MAAV,OAANokB,QAAM,IAANA,OAAA,EAAAA,EAAQpkB,OAEW,KAAf,OAAN86C,QAAM,IAANA,OAAA,EAAAA,EAAQx6B,iBACahiB,IAAf,OAANw8C,QAAM,IAANA,OAAA,EAAAA,EAAQx6B,YACY,MAApBw6B,EAAOx6B,WACuB,IAAvB,OAANw6B,QAAM,IAANA,GAAA,UAAAA,EAAQx6B,iBAAR,eAAmBthB,SACK,IAAjB,OAAN87C,QAAM,IAANA,GAAA,UAAAA,EAAQ96C,WAAR,eAAahB,SACG,QAAV,OAAN87C,QAAM,IAANA,OAAA,EAAAA,EAAQ9O,WACM1tC,KAAV,OAANw8C,QAAM,IAANA,OAAA,EAAAA,EAAQ9O,MACI,IAAX5kB,GACCu2B,MACE47B,KAAqBC,MACxBH,IACDhQ,GAAkBx4D,oBAClBw4D,GAAkBv4D,gBACjBqjE,IACD/sD,EAEF3d,UAAWA,EACX/G,KAAK,iBAyBvB,yBAAK1H,UAAW,iBAAmByO,EAAY,QAAU,KACvD,kBAAC,GAAD,CACEmmD,OAAQwqB,GACRtqB,QAAS,WAxnBfqS,IAAgB,IAynBVtS,aAAa,GAEb,yBAAK70D,UAAU,aAEb,yBAAKA,UAAU,cAAcC,IAAK6iD,KAAW3iD,IAAI,cACjD,2BAAOH,UAAU,gBAAjB,mBACA,2BAAOA,UAAU,YAAjB,gHAIA,yBAAKA,UAAU,cACb,yBAAKA,UAAU,cACb,kBAAC,GAAD,CACEyO,UAAWA,EACXE,QAAQ,WACR5G,QAAS,kBApoBT,WACd0kB,GAAa,GACmBvT,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5DqR,GAAe02D,GAAgBpnC,EAAO96C,KA8nBTuiF,IACf1/E,UAAW89C,MAGf,6BACE,kBAAC,GAAD,CAAQh3C,QAAQ,oBAAoB5G,QAjlBhC,WAChBkX,OAAOoZ,KACL,8EACA,oBClvGSmvD,I,OAXK,SAACniF,GAAD,OAChB,yBAAKrF,UAAU,OACX,yBAAKA,UAAU,WACX,kBAAC,GAAD,CAAckO,MAAM,4BAExB,uBAAGlO,UAAU,cAAb,oBACA,uBAAGA,UAAU,WAAb,0CACA,uBAAGA,UAAU,WAAb,gB,uHC2DOynF,GAxD0C,SAACpiF,GAAW,IAAD,EAC5BC,YAAwB,GADI,mBAC3Di8B,EAD2D,KAC9CC,EAD8C,KAgClE,OACE,uBAAKxhC,UAAU,WACb,yBAAOA,UAAU,WAAWqF,EAAMwwD,SAClC,uBAAK71D,UAAU,SACb,uBACEA,UAAU,iBACVigD,YAAa,kBAAMze,GAAe,IAClC0e,aAAc,kBAAM1e,GAAe,KAEnC,uBAAKxhC,UAAU,WACb,yBAAOA,UAAU,8BAAjB,WACCuhC,GACC,gBAAC,GAAD,CAAW/xB,MAAOC,KAAgBC,SAAW,QAAU,SACrD,uBAAK1P,UAAU,eA1CP,SAAC0nF,GACrB,OAAQA,GACN,IAAK,SACH,OACE,6BACE,uBAAK1nF,UAAU,eAAeC,IAAK0nF,QAGzC,IAAK,kBACH,OACE,6BACE,uBAAK3nF,UAAU,eAAeC,IAAK2nF,QAGzC,IAAK,WACH,OACE,6BACE,uBAAK5nF,UAAU,eAAeC,IAAK4nF,QAGzC,IAAK,WACH,OACE,6BACE,uBAAK7nF,UAAU,eAAeC,IAAK6nF,SAoB5BC,CAAgB1iF,EAAMwwD,gBCkQ1BmyB,GArS2B,WAExC,IAAMzoD,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAEE4M,EAAUC,cAb8B,EAeAtnB,IAAM4G,UAAkB,GAfxB,gCAgBZ5G,IAAM4G,UAAkB,IAhBZ,mBAgBvC+7E,EAhBuC,KAgB5BC,EAhB4B,OAiBA5iF,IAAM4G,UAAkB,GAjBxB,mBAiBvCi8E,EAjBuC,KAiBtBC,EAjBsB,OAmBA9iF,IAAM4G,SAAiB,IAnBvB,mBAmBvCm8E,EAnBuC,KAmBtBC,EAnBsB,OAoBhBhjF,IAAM4G,SAA0B,IApBhB,mBAoB9Bwd,GApB8B,WA+BxC6+D,EAAmB,uCAAG,4BAAAp9E,EAAA,sEACY+N,KAAKC,MACzC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAFlC,OACpB6M,EADoB,OAK1B9M,aAAa+M,QACX,gBACA/S,KAAKkG,UAAU,CACbgQ,cAAepD,EAAwBoD,cACvCo5D,oBAAoB,EACpBC,qBAAqB,KAVC,2CAAH,qDAezBnjF,IAAM2H,WAAU,WACdgS,OAAOqO,eAAerB,QAAQ,cAAe,KAC7ChN,OAAOssB,OAAO,EAAG,GAEjBg9C,MACC,IAGHjjF,IAAM2H,WAAU,WACd,GAA+B,GAA3Bqe,GAAOva,iBAAuB,CAChC,IAAM23E,EACJC,wEAEAr9D,GAAO3a,SACP,oCACA2a,GAAO1a,YACP,WACAsI,KAAKkG,UAAU,IACjBkpE,EAAmBI,GAErB,GAA+B,GAA3Bp9D,GAAOva,iBAAuB,CAChC,IAAM63E,EAAsB,CAC5BA,cAA+B,K7CoCT,SAC1BpqE,EACAoqE,GAE4B,GAAzBt9D,GAAOva,kBAERuN,GACE,CACEkB,IAAK,mDACLd,OAAQ,OACR9O,KAAM,CACJwX,SAAUkE,GAAOva,iBACjB0P,cAAcmoE,EAAenoE,eAE/BnB,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAawD,wCAE5B8J,I6CrDAqqE,EACE,SAACjyE,GAAD,OA4EN,SAA2BA,EAAUgyE,GACnC,GAA+B,GAA3Bt9D,GAAOva,iBACT,IAAK6F,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KACN,GAAIT,EAAIS,KAAKgU,aAAc,CACzBi9D,EAAmB1xE,EAAIS,KAAKmI,KAC5B,IAAMwM,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBoB,SAAWxW,EAAIS,KAAKgU,aAC5CpM,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,SAGjBtC,EAAWzY,SAIbyY,EAAWzY,IAjGC63E,CAAkBlyE,KAChCgyE,MAGH,IAGHtjF,IAAM2H,WAAU,WACd,IAAMoK,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaM,eAAeD,UACvDwW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAK,KACLG,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,cACpB4c,yBAA0BptB,GAAY+P,mBACtCsd,mBAAoB,OAGtB1V,GAA2Bnf,KAC1B,IAiFH,OACE,yBAAKrX,UAAU,QACb,yBAAKA,UAAU,QACb,kBAAC,GAAD,CAAckO,MAAM,2BAClB,yBAAKjO,IAAK8oF,KAAU/oF,UAAU,UAAUG,IAAI,eAGhD,yBAAKH,UAAU,WACb,2BAAOA,UAAU,WAAjB,yBAEF,yBAAKA,UAAU,UAAU4L,MAAO,CAAE4D,MAAO,QACvC,0HAKF,yBAAKxP,UAAU,iBACb,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEsP,aAAa,EACbX,QAAS,aACT5G,QA5DW,WACnBsC,QAAQC,IAAI,OACZ49E,GAAa,GACbE,GAAmB,IA0DXj5E,QAAS84E,KAGb,yBAAKjoF,UAAU,aACb,kBAAC,GAAD,CACE2O,QAAS,qBACT5G,QA7DkB,WAC1BsC,QAAQC,IAAI,MACZ89E,GAAmB,GACnBF,GAAa,IA2DL/4E,QAASg5E,MAIdF,EACC,6BACE,yBAAKjoF,UAAU,WACb,2BAAOA,UAAU,OAAO4L,MAAO,CAAEsC,MAAO,cAAxC,8JAKA,yBAAKlO,UAAU,aACb,yBAAKA,UAAU,qBAAf,YACA,yBAAKA,UAAU,OACb,yBAAKC,IAAK+oF,KAAY7oF,IAAI,KAAKH,UAAU,gBACzC,2BAAOA,UAAU,UAAjB,8BAEF,yBAAKA,UAAU,aACb,yBAAKC,IAAK+oF,KAAY7oF,IAAI,KAAKH,UAAU,gBACzC,2BAAOA,UAAU,UAAjB,mCAEF,yBAAKA,UAAU,aACb,yBAAKC,IAAK+oF,KAAY7oF,IAAI,KAAKH,UAAU,gBACzC,2BAAOA,UAAU,UAAjB,sEAKF,yBAAKA,UAAU,aACb,yBAAKC,IAAK+oF,KAAY7oF,IAAI,KAAKH,UAAU,gBACzC,2BAAOA,UAAU,UAAjB,8GASR,GAEDmoF,EACC,yBAAKnoF,UAAU,gBACb,yBAAKA,UAAU,WACb,2BAAOA,UAAU,OAAO4L,MAAO,CAAEsC,MAAO,cAAxC,iDAIF,yBAAKlO,UAAU,mBAzOD,CAAC,SAAU,kBAAmB,WAAY,YA0OvCiL,KAAI,SAAC7B,EAAMW,GAAP,OACjB,kBAAC,GAAD,CAAoBwB,IAAKxB,EAAO8rD,QAASzsD,EAAM6/E,QAAS7/E,SAK9D,GAGF,yBAAKpJ,UAAU,aACb,yBAAKA,UAAU,UACb,kBAAC,GAAD,CACE2O,QAAQ,WACR9G,UAAWsgF,IAAoBF,EAC/Bx5E,WAAW,EACX1G,QAAS,WACP0sB,GAAW,CAAEG,OAAQ,cAAehnB,MAAO,kBA9KvB,WAC9B,IAAMyJ,EAAO,CACXqf,UACEzB,GAAgBC,aAAaM,eAC1BC,+BACLsW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAK,KACLC,yBAA0BptB,GAAY+P,mBACtCsd,mBAAoB,MACpBC,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,GAG3B4f,GAAiBC,UACfO,GAAgBvC,aAAaM,eAAeC,gCA2JpCyzD,GACIjB,IACF/oE,aAAaugC,WAAW,iBACxBxgC,OAAOY,SAASC,KAAOuoE,GAErBF,GASFx7D,EAAQO,KAAKzsB,U,8BCyHd0oF,GAha2B,SAAC9jF,GAAW,IAAD,EAEjDC,IAAM4G,UAAkB,GAFyB,mBAC5Ck9E,EAD4C,KACnBC,EADmB,KAInD/jF,IAAM2H,WAAU,WACd5C,QAAQC,IAAImF,KAAgBC,YAC3B,CAACD,KAAgBC,WAEpB,IAAI45E,EAAqB,WACvBj/E,QAAQC,IAAI,SAEP++E,GADAD,IAMP,OAFA/+E,QAAQC,IAAImF,KAAgBC,SAAU,SAGpC,6BACGrK,EAAMkkF,YACL,yBAAKvpF,UAAU,IACZyP,KAAgBC,SACf,6BACG05E,EACC,yBAAKppF,UAAU,6BACb,kBAAC,GAAD,CACEwP,MAAOC,KAAgBC,SAAW,QAAU,SAE5C,yBAAK1P,UAAU,GAAG4L,MAAO,CAAE49E,QAAS,QAClC,yBAAK59E,MAAO,CAAE69E,aAAc,SAC1B,yBACEzpF,UAAU,GACV4L,MAAO,CAAEnF,MAAO,OAAQ+I,MAAO,QAE/B,uBACExP,UAAU,mBACV4L,MAAO,CAAEsC,MAAO,YAFlB,oBAOF,yBACEtC,MAAO,CACLnF,MAAO,QACP+I,MAAO,KACPtB,MAAO,OACPw7E,OAAQ,WAEV3hF,QAASuhF,GAPX,MAYF,sKAIE,iEACA,wBAAItpF,UAAU,mBACZ,yDACA,4KAMF,2DACA,wBAAIA,UAAU,mBACZ,6GAKF,0DACA,wBAAIA,UAAU,mBACZ,sIAIA,2JAKA,oGAKF,yDACA,mJAKA,6DACA,wBAAIA,UAAU,mBACZ,+GAEoC,IAClC,uBACE8f,KAAK,4EACLxZ,OAAO,UAFT,oBAOF,4BACG,IADH,8FAMF,4KAKA,2DACA,4BACE,sGAIA,yHAkCV,GAEF,yBAAKtG,UAAU,cAIb,yBAAK4L,MAAO,CAAEnF,MAAO,OAAQ+I,MAAO,QAClC,4BACExP,UAAS,8BACPopF,EAA0B,YAAc,cAE1CrhF,QAASuhF,GAJX,uBAYN,yBAAKtpF,UAAW,iBAAmBqF,EAAMrF,WACtCopF,EACC,yBAAKppF,UAAU,WACb,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,GAAG4L,MAAO,CAAE49E,QAAS,QAClC,yBAAK59E,MAAO,CAAE69E,aAAc,SAC1B,yBACEzpF,UAAU,GACV4L,MAAO,CAAEnF,MAAO,OAAQ+I,MAAO,QAE/B,uBACExP,UAAU,mBACV4L,MAAO,CAAEsC,MAAO,YAFlB,oBAOF,yBACEtC,MAAO,CACLnF,MAAO,QACP+I,MAAO,KACPtB,MAAO,OACPw7E,OAAQ,WAEV3hF,QAASuhF,GAPX,MAYF,sKAIE,iEACA,wBAAItpF,UAAU,mBACZ,yDACA,4KAMF,2DACA,wBAAIA,UAAU,mBACZ,6GAKF,0DACA,wBAAIA,UAAU,mBACZ,sIAIA,2JAKA,oGAKF,yDACA,mJAKA,6DACA,wBAAIA,UAAU,mBACZ,+GAEoC,IAClC,uBACE8f,KAAK,4EACLxZ,OAAO,UAFT,oBAOF,4BACG,IADH,8FAMF,4KAKA,2DACA,4BACE,sGAIA,yHAqFV,GAEF,uBAAGtG,UAAU,QAAb,mBACA,4BAEA,uKAMA,uBAAGA,UAAU,sBAAsB+H,QAASuhF,GAA5C,eAON,6BACG75E,KAAgBC,SACf,yBAAK1P,UAAU,WACb,yBAAKA,UAAU,YACb,8BACE,yBAAKC,IAAK0pF,KAAaxpF,IAAI,mBAG/B,yBAAKH,UAAU,YAAf,QACA,yBAAKA,UAAU,eACb,2BACE,uBAAG8f,KAAK,kBAAkB9f,UAAU,QAApC,kBAIF,wEAKJ,yBAAKA,UAAW,YAAcqF,EAAMrF,WAClC,0DACA,2BACE,uBAAG8f,KAAK,kBAAkB9f,UAAU,QAApC,kBAIF,2DACA,2DACA,kFCxZC4pF,GAXI,SAACvkF,GAGlB,OACE,6BACGA,EAAM0I,SACP,kBAAC,GAAD,CAAUw7E,YAAalkF,EAAMkkF,gBC2JpBM,GAjJY,WACzB,IAAMtqD,EAAavK,KACGuK,EAAWxf,IAAI,kBACjCwf,EAAWxf,IAAI,iBAGnB9S,qBAAU,WACR68E,MACC,IAEH,IAAMA,EAAyB,uCAAG,sBAAA3+E,EAAA,0FAAH,qDAa/B,OACE,oCACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEomD,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAgBlkF,QAKzB,kBAAC,IAAD,CACEksD,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYT,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACEh4B,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,KACE,kBAAC,GAAD,iBAASA,OAAW/B,QAI1B,kBAAC,IAAD,CACEiuD,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYT,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAD,WAMR,kBAAC,IAAD,CACEh4B,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,CAAWU,eAAa,GACtB,kBAAC,GAAa5kF,QAKtB,kBAAC,IAAD,CACEksD,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYT,aAAa,GACvB,kBAAC,GAAD,CAAWU,eAAa,GACtB,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACE14B,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,KACE,kBAAC,GAAD,UAIN,kBAAC,IAAD,CACEz4B,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,KACE,kBAAC,GAAUA,OAIjB,kBAAC,IAAD,CACEksD,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,KACE,kBAAC,GAAD,UAIN,kBAAC,IAAD,CACEz4B,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAqBlkF,QAK9B,kBAAC,IAAD,CACEksD,KAAK,IACLw4B,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAqBlkF,WC3GvB6kF,I,OApCqC,WAClD,IAAMn6E,EAAYN,KAAgBM,UAC5B4c,EAAUC,cAOhB,IAAMu9D,EAA6BlnC,KAEnC,OACE,yBAAKjjD,UAAU,UACZ+P,EACC,yBAAK/P,UAAU,WAEb,yBAAKA,UAAU,YAAYC,IAAKC,IAAMC,IAAI,SAC1C,yBAAKH,UAAU,YACb,0BAAMA,UAAU,eAAemqF,EAA/B,cACA,kBAAC,GAAD,CACEh1B,QAASg1B,EACT36E,MAAM,QACNylD,OAAO,UAKb,yBAAKj1D,UAAU,aAAa+H,QAvBlC,WACE8W,GAAYmpC,oBAAsBr7B,EAAQ9M,SAASmzC,SACnDrmC,EAAQO,KAAK,WAsBP,0BAAMltB,UAAU,uBAChB,2BAAOA,UAAU,WAAjB,YCgSKoqF,I,OApSqC,SAAC/kF,GACnDgoB,KACA,IAAMtd,EAAYN,KAAgBM,UAC5B4c,EAAUC,cAH6C,EAI3BtnB,IAAM4G,UAAkB,GAJG,mBAItDuC,EAJsD,KAI3Cge,EAJ2C,KAsB7D,SAASknC,EAAmB/8C,GAC1B,IAAKA,GAAOA,EAAIR,YAEd,GAAIQ,GAAOA,EAAIS,KAAM,CACnB,IAAM/O,EAAmB4Q,KAAKC,MAAMvC,EAAIS,MAAM5O,QAC5C,SAACW,GAAD,OAKoB,GAAlBA,EAAKwqD,aAELlB,GAAsC,EACtB,IAAhBpqD,EAAKtE,QAAkC,IAAlBsE,EAAK,GAAGurD,QAC/BnB,GAA6B,GAC/BZ,GACE4B,EACA70C,GAAYwQ,cACZrf,GAAOU,6BAETwf,IACE,SAACtZ,GAAD,OAeR,SACEA,EACA87C,GAEA,IAAK97C,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,KAAM,CACZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MAGnCwH,GAAY2M,gBAAgB2Z,WAAatmB,GAAY2M,gBAClD2Z,WACCtmB,GAAY2M,gBAAgB2Z,WAFS,OAGrC/W,QAHqC,IAGrCA,OAHqC,EAGrCA,EAAakd,iBAEjB,IAAMtf,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D9U,QAAQC,IAAI0hB,EAAyB,2BAEhCA,EAAwBxL,SAC3BwL,EAAwBxL,OAAS4N,EAAY0lC,UAG1C9nC,EAAwBymB,UAC3BzmB,EAAwBymB,QAAUrkB,EAAY2lC,SAEb,OAApB,OAAX3lC,QAAW,IAAXA,OAAA,EAAAA,EAAakd,wBAAyDhoC,IAApB,OAAX8qB,QAAW,IAAXA,OAAA,EAAAA,EAAakd,mBAA+D,MAArB,OAAXld,QAAW,IAAXA,OAAA,EAAAA,EAAakd,oBAClGtf,EAAwBmZ,WAAxB,OACA/W,QADA,IACAA,OADA,EACAA,EAAakd,kBAEfrsB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAGjBq4B,GAAaj2B,GAGbqkC,GAAwBC,GAEpBtkC,EAAY+2B,wBAAuBtmC,GAAYsO,cAAe,IAG9DiB,EAAY+2B,uBACZtmC,GAAY+P,qBACX/P,GAAYsO,cACO,OAAtBiB,EAAYglB,OACU,OAAtBhlB,EAAYm3B,MAEZ1mC,GAAY+pC,oBAAsBzmD,GAGhCisB,EAAYq2B,2BACZr2B,EAAYo2B,2BAINp2B,EAAYw2B,uBAGnBx2B,EAAYy2B,6BACZz2B,EAAY42B,2BAGL0N,EAGP7zC,GAAYsO,cACZtO,GAAY4sB,OACZ5sB,GAAY2sB,OACZpd,EAAY22B,0BAGN32B,EAAY62B,sBACnBpmC,GAAY+pC,oBAAsBzmD,GAC1BisB,EAAY82B,kBAGe,IAAlC92B,EAAYk3B,mBACmB,IAA9Bl3B,EAAYg3B,eACkB,IAA9Bh3B,EAAYg3B,gBACdh3B,EAAYq2B,2BACZr2B,EAAYo2B,4BACZp2B,EAAYw2B,wBACZx2B,EAAY42B,4BACZ0N,IACC7zC,GAAYsO,cACXtO,GAAY4sB,OACZ5sB,GAAY2sB,OACZpd,EAAY22B,2BAEd6M,GAAoBy4B,EAAaxrE,GAAYwQ,cAAe,GACvDxQ,GAAY+pC,oBAAsBzmD,GAhBvC0c,GAAY+pC,oBAAsBnoD,GAJlCoe,GAAY+pC,oBAAsBnoD,GAPlCoe,GAAY+pC,oBAAsBnoD,GAFlCoe,GAAY+pC,oBAAsBnoD,GALlCoe,GAAY+pC,oBAAsBnoD,GAFlCoe,GAAY+pC,oBAAsBnoD,GAuCxCgsB,GAAa,GAhHOu9B,CAAsBpzC,EAAK87C,KACzC7zC,GAAYwQ,oBAGd5C,GAAa,GAKnB,SAASinC,EAAkB98C,GACrBA,EAAIS,MACN6nC,GAAqBz+C,IAwGzB,SAAS4pF,EAAYzzE,IACdA,GAAOA,EAAIR,OACd/L,QAAQC,IAAIsM,EAAIR,OAChBqW,GAAa,IAET7V,EAAIS,KAAKwB,MAC6B,IAApCjC,EAAIS,KAAKwB,KAAKyxE,mBAChB39D,EAAQO,KAAK9qB,GAAUI,2BAEzBiqB,GAAa,GAkGnB,OAnQAnnB,IAAM2H,WAAU,WACS,QAAnB0f,EAAQiI,OAAkBjI,EAAQO,KAAK44B,MAExCjnC,GAAYsO,cACZtO,GAAY4sB,OACZ5sB,GAAY2sB,OACb3sB,GAAYqkC,gBAAgBl/C,SAAW5C,GAAgB4C,QAEvD6a,GAAYqkC,gBAAgBh2B,KAAKvsB,MAClC,CAACke,GAAY2sB,MAAO3sB,GAAY4sB,QAEnCnmC,IAAM2H,WAAU,WACdwf,GAAa,GACbilC,GAAmBiC,EAAoB90C,GAAYwQ,iBAClD,CAAC1C,EAAQ9M,SAASmzC,WA8OrB/zC,OAAOsrE,eAtFP,SAAiCnkF,GAC/B,IAAI20D,EAAU,gBAOd,GALK97C,OAAeurE,oBAClBzvB,EAAU,aAEZ1wD,QAAQC,IAAI,UAAWywD,GAEP,cAAZA,EAAyB,CAC3B,IAAM0vB,EAAsBl+E,SAC1B0S,OAAOqO,eAAenO,QAAQ,gBAAkB,IAElD,GACEsrE,IACiB,IAAhBA,GACiB,IAAhBA,GACgB,IAAhBA,GACgB,IAAhBA,GACgB,IAAhBA,GACgB,IAAhBA,GACgB,KAAhBA,GACF,CACA,IAAMC,EAAoBxxE,KAAKC,MAC7B8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAGxDiQ,EAAgB,GAChBE,EAAwB,GA+B5B,YA7B+BhsB,GAA7Bub,GAAYwQ,eACiB,IAA7BxQ,GAAYwQ,cAEZD,EAAgBvQ,GAAYwQ,cAEO,IAAnCq7D,EAAkBt7D,oBACiB9rB,GAAnConF,EAAkBt7D,gBAElBA,EAAgBs7D,EAAkBt7D,oBAIG9rB,GAArCub,GAAYyQ,uBACyB,IAArCzQ,GAAYyQ,sBAEZA,EAAwBzQ,GAAYyQ,sBAEO,IAA3Co7D,EAAkBp7D,4BACyBhsB,GAA3ConF,EAAkBp7D,wBAElBA,EAAwBo7D,EAAkBp7D,uBhC2LZ,SACtC9Q,EACAmsE,GAEArsE,GACE,CACEkB,IAAK,iCACL5P,KAAM,CACJ6Q,cAAekqE,EAAapqE,cAC5BsP,sBAAuB86D,EAAa7zC,sBACpC8zC,YAAaD,EAAaE,aAE5BnsE,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa+D,yBAE5BuJ,GgCrMIssE,EAAyB,cALJ,CACnBvqE,cAAe6O,EACf0nB,sBAAuBvqC,SAAS+iB,GAChCu7D,YAAaJ,IAGfrkF,EAAE2kF,YAAchwB,EACTA,KA+BT97C,OAAO+rE,aACT3gF,QAAQiD,KAAK,iDAIb,yBAAKtN,UAAU,cACb,kBAAC,GAAD,MACA,yBAAKA,UAAU,WACZ+P,GACC,yBAAK/P,UAAU,iBACb,kBAAC,GAAD,CAAeyO,UAAWA,KAG9B,yBACEzO,UACE,kBAC+C,IAA9C6e,GAAYm7B,YAAYsL,mBACiB,IAA1CzmC,GAAYm7B,YAAYoL,eACxBz4B,EAAQ9M,SAASmzC,WAAavyD,IAC9BksB,EAAQ9M,SAASmzC,WAAavyD,GAC1B,YACA,KAGL4E,EAAM0I,c,qBCrSFk9E,I,OAnBiC,SAAC5lF,GAM7C,OAJAC,IAAM2H,WAAU,WACZgS,OAAOqO,eAAerB,QAAQ,cAAe,OAC9C,IAGC,yBAAKjsB,UAAU,YACX,yBAAKA,UAAU,eACX,2CAEJ,yBAAKA,UAAU,UACX,yBAAKA,UAAU,YAAYC,IAAKirF,KAAe/qF,IAAI,aAEvD,kBAAC,GAAD,SCuBGgrF,I,OAjCiC,WAE5C,IAAMx+D,EAAUC,cAEhBtnB,IAAM2H,WAAU,WACRwC,KAAgBM,YACZ8O,GAAYkpC,oBACZp7B,EAAQnoB,QAAQqa,GAAYkpC,qBAE5Bp7B,EAAQnoB,QAAQ/D,OAEzB,CAACksB,EAAQ9M,SAASmzC,WAErB,IAAMm3B,EAA6BlnC,KAEnC,OACI,yBAAKjjD,UAAU,WACX,yBAAKA,UAAU,eACX,0BAAMA,UAAU,yBAChB,yBAAKA,UAAU,WACX,kBAAC,GAAD,CAAam1D,QAASg1B,EAAoB36E,MAAM,QAAQylD,OAAO,SAEnE,yBAAKj1D,UAAU,eACX,+BAAQmqF,EAAR,gBAGR,yBAAKnqF,UAAU,YACX,kBAAC,GAAD,UCpCHorF,I,cAAiB,SAAC5sE,EAA4B6sE,GACzD/sE,GACE,CACEkB,IAAK,wBACL5P,KAAM,CACJqY,KAAM,OACN4S,SAAU,GACVywD,SAAU,GACVC,KAAMF,GAER3sE,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaqB,wBAE5BiM,KAcSgtE,GAAkB,SAC7BhtE,EACAitE,GAEAntE,GACE,CACEkB,IAAK,yBACL5P,KAAM67E,EACN/sE,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAauB,iBAE5B+L,IA6JSktE,GAAsB,SACjCltE,EACAmtE,GAEArtE,GACE,CACEkB,IAAK,oCACLd,OAAQ,OACR9O,KAAM,CACJ6Q,cAAekrE,EAAeprE,cAC9BqrE,cAAeD,EAAeE,eAC9BN,KAAMI,EAAeN,KACrB5N,KAAMkO,EAAe/qF,MAEvB0e,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa8C,2BAE5BwK,I,qBCzMWstE,GAZ0C,SACvDzmF,GAEcA,EAAM6I,MACpB,OACE,yBAAKlO,UAAU,qBACb,yBAAKA,UAAU,UACf,yBAAKA,UAAU,WCqnDN+rF,GAthDE,SAAC1mF,GAAgB,IAAD,EACGC,IAAM4G,UAAkB,GAD3B,mBACxBuC,EADwB,KACbge,EADa,OAEGnnB,IAAM4G,SAAe,IAAI6lB,MAF5B,mBAExB4N,EAFwB,aAGDr6B,IAAM4G,SAAiB,IAHtB,mBAGxB8/E,EAHwB,KAGfC,EAHe,OAIe3mF,IAAM4G,SAClD,IAL6B,mBAIxBggF,EAJwB,KAIPC,EAJO,OAOqBjgF,mBAAiB,IAPtC,mBAOxBkgF,EAPwB,KAOJC,EAPI,OAQqBngF,mBAAiB,IARtC,mBAQxBogF,EARwB,KAQJC,EARI,OASKrgF,oBAAkB,GATvB,mBASxBsgF,EATwB,aAUWtgF,oBAAkB,IAV7B,mBAUxBugF,EAVwB,KAUTC,EAVS,OAWWxgF,oBAAkB,GAX7B,mBAWxBygF,EAXwB,KAWTC,EAXS,OAYDtnF,IAAM4G,WAZL,mBAYxBkgB,EAZwB,KAYf1C,EAZe,OAaOpkB,IAAM4G,UAAkB,GAb/B,mBAaxB2gF,EAbwB,KAaXC,EAbW,OAcC5gF,mBAAS,IAdV,mBAcxB6gF,EAdwB,KAcdC,EAdc,OAeC9gF,mBAAS,IAfV,oBAexB+gF,GAfwB,MAedC,GAfc,SAgBKhhF,mBAAS,IAhBd,qBAgBxBihF,GAhBwB,MAgBZC,GAhBY,SAiBKlhF,oBAAkB,GAjBvB,qBAiBxBmhF,GAjBwB,MAiBZC,GAjBY,SAkBGphF,oBAAkB,GAlBrB,qBAkBbqhF,IAlBa,gBAmBSrhF,qBAnBT,qBAmBxBshF,GAnBwB,MAmBVC,GAnBU,SAoBavhF,mBAAS,IApBtB,qBAoBxBwhF,GApBwB,MAoBRC,GApBQ,SAqBezhF,mBAA0B,IArBzC,qBAqBxB0hF,GArBwB,MAqBPC,GArBO,SAsBL3hF,mBAAgC,CACxD,CACE4hF,kBAAmBjvE,GAAY8pC,kBAC/BpoC,cAAe1B,GAAYwQ,cAC3B0+D,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,YAAa,GACbC,cAAe,EACfC,YAAa,GACbC,SAAU,GACVC,YAAa,KACb50B,OAAQ,GACR60B,kBAAkB,EAClBC,SAAU,GACVC,SAAU,GACV5lF,MAAO,GACP6lF,KAAM,GACN73C,sBAAuBvqC,SAASsS,GAAYyQ,uBAC5Cs/D,cAAe,EACf73C,QAAS,EACT83C,YAAY,EACZC,aAAc,CAAC,CAAEzuF,MAAO,GAAIO,KAAM,QA7CP,qBAsBxBmuF,GAtBwB,MAsBjBC,GAtBiB,SAgDO1pF,IAAM4G,UAAkB,GAhD/B,qBAgDX+iF,IAhDW,gBAiDiB3pF,IAAM4G,SACpD,IAlD6B,qBAiDNgjF,IAjDM,gBAoDK5pF,IAAM4G,UAAkB,GApD7B,qBAoDxB26D,GApDwB,MAoDZC,GApDY,SAsD7BxhE,IAAM4G,UAAkB,GAtDK,qBAqDxBijF,GArDwB,MAqDNC,GArDM,SAuDLljF,oBAAS,GAvDJ,qBAuDxBmjF,GAvDwB,MAuDjBC,GAvDiB,SAyD7BhqF,IAAM4G,UAAkB,GAzDK,qBAwDxBqjF,GAxDwB,MAwDJC,GAxDI,MA8DzB7iE,GAAUC,cAEhBtnB,IAAM2H,WAAU,WF9Ba,IAC7BuR,EACA+B,EE6BEtB,OAAO9U,SAAS,EAAG,GACnBsiB,GAAa,GACbxM,GAAa7O,GAAa,eFhC5BoN,EEiCkBhM,GFhClB+N,EEgCkC1B,GAAYwQ,cFpB9C/Q,GACE,CACEkB,IAAK,+BACL5P,KAAM,CACJ6Q,cAAeF,GAEjB7B,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAasB,gBAE5BgM,KEWC,IAEH,IA6EMixE,GAAuB,SAAC74E,GAC5B,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MACnCwH,GAAY8pC,kBAAoBv6B,EAAYshE,gBAOnB,KAArBthE,EAAYuhE,OACdpC,IAAa,KAMrB,SAASn8E,GAAYwF,GACnB,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKI,UAAYb,EAAIS,KAAKI,SAASzT,OAAS,EAAG,CAAC,IAAD,EACvCipC,GAAoBr2B,EAAIS,KAAKI,SAAU,CAC/D,gBAEIm4E,EAJ2D,oBAInBnnF,QAC5C,SAACW,GAAD,MACmB,WAAjBA,EAAK9I,SAAyC,gBAAjB8I,EAAK9I,WAEtCutF,GAAmB+B,QAEnBlmE,EAAW9S,EAAIR,OAKrB,SAAS5D,GAAeoE,GAEtB,GADAvM,QAAQC,IAAI,mCAAoCsM,IAC3CA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,YACV,GAAIQ,EAAIS,KAAM,CACnB,IAAI+W,EAOJ,IALEA,EADc,oBAAZxX,EAAIS,KACQ6B,KAAKC,MAAMvC,EAAIS,MAEfT,EAAIS,MAGJrT,OAAS,GAAqB,qBAAhBoqB,EAC5BvP,GAAY8pC,kBAAoBv6B,EAAY,GAAG0/D,kBAC/CoB,GAAoB9gE,GACpB6gE,IAAe,GACfY,GAAYzhE,GACZ4gE,GAAS5gE,OACJ,CACL,GACEvP,GAAYqpC,aAAaY,WACzBjqC,GAAYqpC,aAAaW,WACzB,CACA,IAAMinC,EAAS,CACbvvE,cAAe1B,GAAYwQ,cAC3Bw8D,eAAgBhtE,GAAYqpC,aAAaW,WACzCwiC,KAAMxsE,GAAYqpC,aAAaY,UAC/BloD,KAAMie,GAAY2M,gBAAgBwf,SAEpC+jD,GAAM,GAAGhB,UAAYlvE,GAAYqpC,aAAaW,WAC9CkmC,GAAM,GAAGZ,YAActvE,GAAYqpC,aAAaW,WAChDkmC,GAAM,GAAGT,SAAWzvE,GAAYqpC,aAAaY,UAC7CimC,GAAM,GAAGJ,KAAO9vE,GAAYqpC,aAAa6nC,UAEzCf,GAASD,IACTrD,GAAoB+D,GAAsBK,GAEA,IAAtCjxE,GAAYqpC,aAAaY,WAC3BsiC,IACE,SAACx0E,GAAD,OAAco5E,GAAQp5E,EAAK,KAC3BiI,GAAYqpC,aAAaY,WAI/B,IAAMmnC,EAAa,CACjB7gE,cAAevQ,GAAYwQ,cAC3B6gE,iBAAkB,aAClB5zD,WAAY,IFjHpB9d,EEmH6B2xE,GFhH7B7xE,GACE,CACEkB,IAAK,oCACLd,OAAQ,OACR9O,KAAM,CACJ6Q,eAPN2vE,EEkH6CH,GF3GT7gE,cAC9BmL,iBAAkB61D,EAAeF,iBACjCz1D,WAAY21D,EAAe9zD,YAE7Bhd,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaiB,4BAE5BqM,GEqGEiO,GAAa,QAEb/C,EAAW9S,EAAIR,OFxHiB,IACpCoI,EACA4xE,EE2IA,IAAMD,GAAiB,SAACv5E,GACtB,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,YAEf,GAAiB,qBAAbQ,EAAIS,KAA6B,CACnC,IAAM+4E,EAAiBl3E,KAAKC,MAAMvC,EAAIS,MAClCyoC,EAA6B,YAAOivC,IACxCjvC,EAAO,GAAGiuC,UACRqC,EAAe3jD,QAAQ31B,OAAO41B,kBAAkBmc,WAClD/I,EAAO,GAAGquC,YACRiC,EAAe3jD,QAAQ31B,OAAO41B,kBAAkBmc,WAClD/I,EAAO,GAAGwuC,SACR8B,EAAe3jD,QAAQ31B,OAAO41B,kBAAkBoc,UAClDkmC,GAASlvC,GACTsrC,IACE,SAACx0E,GAAD,OAAco5E,GAAQp5E,EAAK,KAC3Bw5E,EAAe3jD,QAAQ31B,OAAO41B,kBAAkBoc,aAMxD,SAASknC,GAAQp5E,EAAU7M,GAEzB,GADA2f,EAAW,KACN9S,GAAOA,EAAIR,MACdqW,GAAa,GAEb/C,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKwC,cAAc7V,OAAS,EAAG,CACjD8oF,GAAe,GACf,IAAIhtC,EAA6B,YAAOivC,IACpCj4E,EAASF,EAAIS,KAIjB,GAHAyoC,EAAO/1C,GAAO0kF,SAAW33E,EAAO+C,cAAc,GAAG40E,SACjD3uC,EAAO/1C,GAAO2kF,SAAW53E,EAAO+C,cAAc,GAAG60E,SACjD5uC,EAAO/1C,GAAOjB,MAAQgO,EAAO+C,cAAc,GAAG/Q,MACf,wBAA3Bg3C,EAAO/1C,GAAO2kF,SAAoC,CACpD,GAAI5uC,EAAO/1C,GAAOokF,YAAYnqF,OAAS,GAAI,CACzC4b,MAAM,sDACN,IAAIywE,EAAW,eAAQnE,GACvBmE,EACEtmF,GADF,qDAGAoiF,EAAmBkE,GAErBf,IAAS,QAETA,IAAS,GAGX,IAS2B,MATrBgB,EAAWx5E,EAAO+C,cAAc5O,KACpC,SAAC7B,EAAWW,GAAZ,MAA+B,CAC7B1J,MAAO0J,EAAQ,EACfnJ,KAAMwI,EAAKulF,SAMf,GAFA7uC,EAAO/1C,GAAO+kF,aAAewB,EAEL,IAApBA,EAAStsF,OACX87C,EAAO/1C,GAAO4kF,KAAO2B,EAAS,GAAG1vF,KACjCk/C,EAAO/1C,GAAOikF,UAAd,OAAyBp3E,QAAzB,IAAyBA,GAAzB,UAAyBA,EAAKS,YAA9B,aAAyB,EAAWwC,cAAc,GAAG02E,aACrDzwC,EAAO/1C,GAAOkkF,UAAd,OAAwBr3E,QAAxB,IAAwBA,GAAxB,UAAwBA,EAAKS,YAA7B,aAAwB,EAAWwC,cAAc,GAAG22E,aACpD1wC,EAAO/1C,GAAOmkF,UAAd,OAAwBt3E,QAAxB,IAAwBA,GAAxB,UAAwBA,EAAKS,YAA7B,aAAwB,EAAWwC,cAAc,GAAG42E,kBAC/C,GAAIH,EAAStsF,OAAS,EAAG,CAAC,IAAD,MAC9B87C,EAAO,GAAG6uC,KAAO2B,EAAS,GAAG1vF,KAC7Bk/C,EAAO,GAAGkuC,UAAV,OAAqBp3E,QAArB,IAAqBA,GAArB,UAAqBA,EAAKS,YAA1B,aAAqB,EAAWwC,cAAc,GAAG02E,aACjDzwC,EAAO,GAAGmuC,UAAV,OAAoBr3E,QAApB,IAAoBA,GAApB,UAAoBA,EAAKS,YAAzB,aAAoB,EAAWwC,cAAc,GAAG22E,aAChD1wC,EAAO,GAAGouC,UAAV,OAAoBt3E,QAApB,IAAoBA,GAApB,UAAoBA,EAAKS,YAAzB,aAAoB,EAAWwC,cAAc,GAAG42E,kBAEhD3wC,EAAO/1C,GAAO4kF,KAAO,GAGvBhB,GAAkB72E,EAAO+C,eACzBm1E,GAASlvC,GACTrzB,GAAa,OACR,CACL,IAAIqzB,EAA6B,YAAOivC,IACxCjvC,EAAO/1C,GAAO0kF,SAAW,GACzB3uC,EAAO/1C,GAAO2kF,SAAW,GACzB5uC,EAAO/1C,GAAOjB,MAAQ,GACtBg3C,EAAO/1C,GAAO4kF,KAAO,GACrB7uC,EAAO/1C,GAAO+kF,aAAe,GAC7BE,GAASlvC,GACTgtC,GAAe,GACfpjE,EAAW,2CACX+C,GAAa,IAKnB,IAAMojE,GAAc,SAAC5e,GACnB,IAAInxB,EAA6B,YAAOivC,IACpC9d,EAAQjtE,OAAS,IACnB87C,EAASmxB,EAAQhmE,KAAI,SAAC7B,GACpB,IAAIsnF,EAAQzf,EAAQ90D,MAClB,SAACw0E,GAAD,OAAaA,EAAGvC,gBAAkBhlF,EAAKglF,iBAIzC,OAFAsC,EAAM5B,aAAe,CAAC,CAAEzuF,MAAO,GAAIO,KAAM,KACzC8vF,EAAMvC,YAAc/kF,EAAK2kF,UAClB2C,EAAK,2BAAQtnF,GAASsnF,GAAUtnF,MAG3C4lF,GAASlvC,IAGL78B,GAAe,SACnBriB,EACAmJ,EACArB,GAEA,IAAIo3C,EAA6B,YAAOivC,IAC3B,qBAATnuF,GACiB,mBAAR8H,IAAmBo3C,EAAO/1C,GAAOnJ,GAAQ8H,GAEzC,eAAT9H,EACiB,mBAAR8H,IAAmBo3C,EAAO/1C,GAAOnJ,GAAQ8H,GAClC,aAAT9H,EACU,KAAf8H,EAAI1E,SACNyoB,GAAa,GACbqzB,EAAO/1C,GAAOnJ,GAAQ8H,EAEoB,IAAtCo3C,EAAO/1C,GAAO+kF,aAAa9qF,OAC7B87C,EAAO/1C,GAAO4kF,KAAO7uC,EAAO/1C,GAAO+kF,aAAa,GAAGluF,KAEnDk/C,EAAO/1C,GAAO4kF,KAAO,GAEvBvD,IAAe,SAACx0E,GAAD,OAAco5E,GAAQp5E,EAAK7M,KAAQrB,IAElC,cAAT9H,EACG,KAAR8H,IACFo3C,EAAO/1C,GAAOnJ,GAAQ8H,GAGN,gBAAT9H,GACG,KAAR8H,IACFo3C,EAAO/1C,GAAOnJ,GAAQ8H,GAG1BsmF,GAASlvC,IAgLL8wC,GAA0B,SAACh6E,GAC/B,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqW,GAAa,GACbq6C,IAAc,OACT,CACL,IAAM+pB,EAAY33E,KAAKC,MAAMvC,EAAIS,MACjC,GAAIw5E,EAAW,CACb,IAAMziE,EAAcyiE,EAShBlB,EAAQ,EACRvhE,EAAYuhE,QAAOA,EAAQvhE,EAAYuhE,OACvCvhE,EAAYuhE,OAA8B,KAArBvhE,EAAYuhE,OACnCpC,IAAa,GAEf,IAAMvhE,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAExDiP,EAAYshE,kBACd7wE,GAAY8pC,kBAAoBv6B,EAAYshE,iBAEV,KAAlC7wE,GAAY8pC,mBACsB,OAAlC9pC,GAAY8pC,oBAEZ9pC,GAAY8pC,kBAAoB38B,EAAwBgf,SAC1D,IAAMlR,EAAcue,GAAmB1Y,EAAW,WAC5CmxD,EAAkB,CACtBnoC,kBAAmB9pC,GAAY8pC,kBAC/BooC,UAAWhC,GAAMA,GAAM/qF,OAAS,GAAG+pF,UACnC3+D,cAAe2/D,GAAMA,GAAM/qF,OAAS,GAAGuc,cACvCywE,YAAazkF,SAASwiF,GAAMA,GAAM/qF,OAAS,GAAGuqF,aAC9C0C,UAAWlC,GAAMA,GAAM/qF,OAAS,GAAGgqF,UACnCC,UAAWc,GAAMA,GAAM/qF,OAAS,GAAGiqF,UACnCC,UAAWa,GAAMA,GAAM/qF,OAAS,GAAGkqF,UACnCgD,SAAUnC,GAAMA,GAAM/qF,OAAS,GAAGyqF,SAClC0C,cAAepC,GAAMA,GAAM/qF,OAAS,GAAGoqF,cACvCtzD,SAAUi0D,GAAMA,GAAM/qF,OAAS,GAAG0qF,SAClC0C,YAAarC,GAAMA,GAAM/qF,OAAS,GAAGqqF,YACrC10B,OAAQo1B,GAAMA,GAAM/qF,OAAS,GAAG21D,OAChCrqC,sBAAuBy/D,GAAMA,GAAM/qF,OAAS,GAAG8yC,sBAC/Cu6C,UAAW,GACX5yD,SAAU,GACVm7B,QAASm1B,GAAMA,GAAM/qF,OAAS,GAAG+yC,QACjCu6C,SAAUvC,GAAMA,GAAM/qF,OAAS,GAAGsqF,SAClCiD,iBAAkBxC,GAAMA,GAAM/qF,OAAS,GAAGwqF,iBAC1Cj/D,OAAQ1Q,GAAY0Q,OACpBo/D,KAAMI,GAAMA,GAAM/qF,OAAS,GAAG2qF,KAC9B6C,YAAY,EACZ1oF,MAAOimF,GAAMA,GAAM/qF,OAAS,GAAG8E,MAC/B2oF,UAAW9B,GAAS,GACpB1/D,eAAgB6J,EAChB43D,WAAY/B,GAEdnE,GAAgBmG,GAAgBb,IAGpCtB,IAAsB,IAuJlBoC,GAA+B,SAACh7E,GACpC,IAAKA,GAAOA,EAAIR,MACdqW,GAAa,GACb/C,EAAW9S,EAAIR,WACV,CACL,IAAMy6E,EAAY33E,KAAKC,MAAMvC,EAAIS,MACjC,GAAIw5E,EAAW,CACb,IAAMziE,EAAcyiE,EAOhBlB,EAAQ,EACRvhE,EAAYuhE,QAAOA,EAAQvhE,EAAYuhE,OACvCvhE,EAAYuhE,OAA8B,KAArBvhE,EAAYuhE,OACnCpC,IAAa,GAGf,IAAMvhE,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAGxB,KAAlCN,GAAY8pC,mBACsB,OAAlC9pC,GAAY8pC,oBAEZ9pC,GAAY8pC,kBAAoB38B,EAAwBgf,SAE1D,IAAMlR,EAAcue,GAAmB1Y,EAAW,WAC5CmxD,EAAkB,CACtBnoC,kBAAmBv6B,EAAYshE,gBAC3BthE,EAAYshE,gBACZ7wE,GAAY8pC,kBAChBooC,UAAWhC,GAAMA,GAAM/qF,OAAS,GAAG+pF,UACnC3+D,cAAe2/D,GAAMA,GAAM/qF,OAAS,GAAGuc,cACvCywE,YAAazkF,SAASwiF,GAAMA,GAAM/qF,OAAS,GAAGuqF,aAC9C0C,UAAWlC,GAAMA,GAAM/qF,OAAS,GAAGgqF,UACnCC,UAAUc,GAAMA,GAAM/qF,OAAS,GAAGiqF,UAClCC,UAAUa,GAAMA,GAAM/qF,OAAO,GAAGkqF,UAChCgD,SAAUnC,GAAMA,GAAM/qF,OAAS,GAAGyqF,SAClC0C,cAAepC,GAAMA,GAAM/qF,OAAS,GAAGoqF,cACvCtzD,SAAUi0D,GAAMA,GAAM/qF,OAAS,GAAG0qF,SAClC0C,YAAarC,GAAMA,GAAM/qF,OAAS,GAAGqqF,YACrC10B,OAAQo1B,GAAMA,GAAM/qF,OAAS,GAAG21D,OAChCrqC,sBAAuBy/D,GAAMA,GAAM/qF,OAAS,GAAG8yC,sBAC/Cu6C,UAAW,GACX5yD,SAAU,GACVm7B,QAASm1B,GAAMA,GAAM/qF,OAAS,GAAG+yC,QACjCu6C,SAAUvC,GAAMA,GAAM/qF,OAAS,GAAGsqF,SAClCiD,iBAAkBxC,GAAMA,GAAM/qF,OAAS,GAAGwqF,iBAC1Cj/D,OAAQ1Q,GAAY0Q,OACpBo/D,KAAMI,GAAMA,GAAM/qF,OAAS,GAAG2qF,KAC9B6C,WAAYzC,GAAMA,GAAM/qF,OAAS,GAAG6qF,WACpC/lF,MAAOimF,GAAMA,GAAM/qF,OAAS,GAAG8E,MAC/B2oF,UAAW9B,GAAS,GACpB1/D,eAAgB6J,EAChB43D,WAAY/B,GAEd,GAA8C,IAA1CZ,GAAMA,GAAM/qF,OAAS,GAAGoqF,cAC1B/jF,QAAQC,IAAI,qBAAsBwmF,GAClCtF,GAAgBqG,GAAqBf,OAChC,CACL,IAAIhxC,EAA6B,YAAOivC,IACxCC,GAAS,GAAD,mBACHlvC,GADG,CAEN,CACEguC,kBAAmBjvE,GAAY8pC,kBAC/BolC,UAAW,GACXxtE,cAAe1B,GAAYwQ,cAC3B2+D,UAAW,GACXC,UAAU,GACVC,UAAU,GACVE,cAAe,EACfC,YAAa,GACb10B,OAAQ,GACRw0B,YAAa,GACbr3C,sBAAuBvqC,SACrBsS,GAAYyQ,uBAEdg/D,SAAU,GACVC,YAAa,KACbC,iBAAkBhC,EAClBiC,SAAU,GACVC,SAAU,GACV5lF,MAAO,GACP6lF,KAAM,GACN53C,QAAcg4C,GAAM,GAAGh4C,QACvB63C,cAAe,EACfC,YAAY,EACZC,aAAc,CAAC,CAAEzuF,MAAO,GAAIO,KAAM,SAGtC6rB,GAAa,GAEfmgE,GAAiB,IACE,IAAfS,IACFC,IAAc,MAKtB,SAASuE,GAAoBj7E,GAC3B,IAAKA,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,OACfqW,GAAa,GACbq6C,IAAc,QAEd,GAAIlwD,EAAIS,KAAM,CACZoV,GAAa,GACbq6C,IAAc,GAGd,IAAIhnB,EAA6B,YAAOivC,IACxCC,GAAS,GAAD,mBACHlvC,GADG,CAEN,CACEguC,kBAAmBjvE,GAAY8pC,kBAC/BolC,UAAW,GACXxtE,cAAe1B,GAAYwQ,cAC3B2+D,UAAW,GACXC,UAAU,GACVC,UAAU,GACVE,cAAe,EACfC,YAAa,GACb10B,OAAQ,GACRw0B,YAAa,GACbr3C,sBAAuBvqC,SAASsS,GAAYyQ,uBAC5Cg/D,SAAU,GACVC,YAAa,KACbC,iBAAkBhC,EAClBiC,SAAU,GACVC,SAAU,GACV5lF,MAAO,GACP6lF,KAAM,GACN53C,QAAcg4C,GAAM,GAAGh4C,QACvB63C,cAAe,EACfC,YAAY,EACZC,aAAc,CAAC,CAAEzuF,MAAO,GAAIO,KAAM,cAOtC8oB,EAAW9S,EAAIR,OACfqW,GAAa,GAKnB,SAASklE,GAAe/6E,GACtB,IAAKA,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,OACfqW,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CACZoV,GAAa,GACbq6C,IAAc,GACdsoB,IAAoB,GAIpBlwC,GAAqBz+C,IACrBg0B,GAAW,CAAEG,OAAQ,eAAgBhnB,MAAO,kBAG5C,IAAMyJ,EAAO,CACXqf,UACEzB,GAAgBC,aAAaU,SAASC,6BACxCkW,mBAAoB,GACpBvM,WAAYn6B,EAAMm6B,WAClBC,WAAYp6B,EAAMo6B,WAClBC,aAAcr6B,EAAMq6B,aACpBsM,IAAKntB,GAAY4sB,MACjBQ,yBAA0BptB,GAAY+P,mBACtCsd,mBAAoBrtB,GAAYsO,aAChCgf,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAEtBmH,GAA2Bnf,GAI3B4f,GAAiBC,UACfO,GAAgBvC,aAAaU,SAASC,8BAGxClJ,GAAQO,KAAKiyB,WAGbz1B,EAAW9S,EAAIR,OACfqW,GAAa,GAKnB,IAIMqlE,GAAY,WAChBlF,GAAiB,IAGbmF,GAAgB,SAAChoF,GAEe,IAD1B,eAAQglF,IACPhlF,GAAOqkF,eAAuBrkF,IAAUglF,GAAM/qF,OAAS,IAChEyoB,GAAa,GACbmgE,GAAiB,GF5hCrBtuE,GACE,CACEkB,IAAK,wBACL5P,KAAM,CACJqY,KAAM,MACN4S,SAAU,GACVywD,SAAU,IAEZ5sE,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAakB,sBEkhCd,SAACwE,GAAD,OAAco7E,GAAYp7E,QAIpCo7E,GAAc,SAACp7E,IACdA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,OAEXQ,EAAIS,MACNoV,GAAa,GACbugE,EAAYp2E,EAAIS,KAAKkC,YAErBmQ,EAAW9S,EAAIR,QAkBf67E,GAAyB,SAACvpF,EAAaqB,GAC3C0iB,GAAa,GACb4/D,EAAsB3jF,GFjiCxB4V,GACE,CACEkB,IAAK,wBACL5P,KAAM,CACJqY,KAAM,OACN4S,SE6hCwCnyB,EF5hCxC4iF,SAAU,IAEZ5sE,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAamB,gBEuhChB,SAACuE,GAAD,OAhBM,SAACA,IACdA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,OAEXQ,EAAIS,MACN61E,GAAYt2E,EAAIS,KAAKoC,YACrBgT,GAAa,IAEb/C,EAAW9S,EAAIR,OAQO87E,CAAYt7E,OAGlCu7E,GAAqB,SAACzpF,EAAaqB,GACvC0iB,GAAa,GACb8/D,EAAsB7jF,GFtgCxB4V,GACE,CACEkB,IAAK,wBACL5P,KAAM,CACJqY,KAAM,SACN4S,SEkgCiDuxD,EFjgCjDd,SEigC4C5iF,GF//B9CgW,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaoB,gBE4/Bd,SAACsE,GAAD,OAAcw7E,GAAcx7E,OAGtCw7E,GAAgB,SAACx7E,GACrB,IAAKA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,YAEf,GAAIQ,GAAOA,EAAIS,KAAM,CACnB,IAAMg7E,EAAaz7E,EAAIS,KAAKsC,aAAazO,KAO/C,SAAqBonF,GACnB,IAAIC,EAAY,EAEI,MAAhBD,EAAS,KACXC,GAAa,EACbD,EAAWA,EAASE,OAAO,IAG7B,OAAO,SAAUrnF,EAAQC,GACvB,OAAkB,GAAdmnF,EACKnnF,EAAEknF,GAAUG,cAActnF,EAAEmnF,IAE5BnnF,EAAEmnF,GAAUG,cAAcrnF,EAAEknF,KAnBWI,CAAY,WAC1DtF,GAAciF,GAGlB5lE,GAAa,IAoBf,IAsEMkmE,GAA8B,WAClC,OAAI5D,GAAM/qF,QAAU,GAGwB,IAA1C+qF,GAAMA,GAAM/qF,OAAS,GAAGoqF,gBACe,KAAtCW,GAAMA,GAAM/qF,OAAS,GAAG+pF,WACiB,KAAxCgB,GAAMA,GAAM/qF,OAAS,GAAGmqF,aACqB,IAA7CY,GAAMA,GAAM/qF,OAAS,GAAG+pF,UAAU/pF,QACa,IAA/C+qF,GAAMA,GAAM/qF,OAAS,GAAGmqF,YAAYnqF,QACC,KAArC+qF,GAAMA,GAAM/qF,OAAS,GAAGsqF,WAgB9B,OAFAjkF,QAAQC,IAAI,QAASykF,IAGnB,yBAAK/uF,UAAW,oBAAsByO,EAAY,QAAU,KAC1D,8BACE,kBAAC,GAAD,CACEmmD,OAAQ63B,EACR53B,aAAa,EACbC,QAAS,WAxLf43B,GAAiB,KA0LX,yBAAK1sF,UAAU,cACb,yBAAKA,UAAU,kBAAkBC,IAAK0uF,KAAMxuF,IAAI,WAKnD4uF,GAAM9jF,KAAI,SAAC3C,EAAMyB,GAChB,OACE,yBAAKwB,IAAKxB,GACR,8BAAUlC,SAAU4G,GAClB,kBAAC,GAAD,CACEmmD,OAAQ+3B,EACR93B,aAAa,EACbC,QAAS,kBAAMg9B,OAEdzE,GACC,yBAAKrtF,UAAU,cACb,yBAAKA,UAAU,eACb,oDAEF,yBAAKA,UAAU,oBACb,4CACA,kBAAC,GAAD,CACEY,KAAK,WACLiI,aAAc,EACdgB,QAASkjF,EACTpkF,UAAU,WACVtB,YAAY,mBACZwD,UAAU,iBACVgB,aAAa,EACb1C,eAAgB,SAACT,GAAD,OACdupF,GACEvpF,EAAG,cAMX,yBAAK1I,UAAU,oBACb,uCACA,kBAAC,GAAD,CACEY,KAAK,WACLiI,aAAc,EACdgB,QAASojF,GACTtkF,UAAU,WACVtB,YAAY,cACZwD,UAAU,iBACVgB,aAAa,EACb1C,eAAgB,SAACT,GAAD,OACdypF,GAAmBzpF,EAAG,cAI5B,yBAAK1I,UAAU,oBACb,yCACA,kBAAC,GAAD,CACEY,KAAK,SACLiI,aAAc,EACdgB,QAASsjF,GACTxkF,UAAU,SACVtB,YAAY,gBACZwD,UAAU,mBACVgB,aAAa,EACb1C,eAAgB,SAACT,GAAD,OAtKX,SAACA,EAAUqB,GACtC0jF,GAAgB/kF,GAsKQkqF,CAAqBlqF,OAI3B,yBAAK1I,UAAU,kBACb,kBAAC,GAAD,CACE+H,QAAS,kBAzKd,SAACgC,GACe,YAAOglF,IAEtC3C,GACAE,GACAkB,IACwB,KAAxBA,GAAa7zB,QAEb2zB,IAAc,GAiKqBuF,IACflkF,QAAQ,YAGZ,yBAAK3O,UAAU,4BACb,kBAAC,GAAD,CACE+H,QAAS,kBAAM+pF,MACfnjF,QAAQ,YAGXyd,GACC,yBAAKpsB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEAGA,wEAEGA,EAFH,MAMF,+BAAQA,MAOlB,yBAAKpsB,UAAU,gBACb,yBAAKA,UAAU,eACb,oDAEF,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,iBACb,6BACE,uCACQ,IACN,0BAAMA,UAAU,gBACbwtF,IAAgBA,GAAac,YAIpC,6BACE,+BAAQlC,IAEV,6BACE,2BAAOpsF,UAAU,aACdwtF,IAAgBA,GAAa7zB,UAIpC,yBAAK35D,UAAU,oBACb,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACE2O,QAAQ,SACR5G,QAAS,kBAjNhB,SAACgC,EAAe+oF,GACnC,IAAIhzC,EAA6B,YAAOivC,IACxC,GAAI+D,EAAgB,CAClBhzC,EAAO/1C,GAAO4vD,OAASm5B,EAAen5B,OACtC7Z,EAAO/1C,GAAOikF,UAAY8E,EAAen5B,OACzC7Z,EAAO/1C,GAAOukF,SAAWwE,EAAexE,SACxCxuC,EAAO/1C,GAAO4kF,KAAOmE,EAAenE,KACpC7uC,EAAO/1C,GAAO2kF,SAAWtC,EACzBtsC,EAAO/1C,GAAO0kF,SAAWnC,EACzB,IAAMyG,EAAS,CACb,CACE1yF,OAAQ0J,EAAQ,GAAGyC,WACnB5L,KAAMkyF,EAAenE,OAGzB7uC,EAAO/1C,GAAO+kF,aAAeiE,EAC7B/D,GAASlvC,GACT8sC,GAAiB,IAgMsBoG,CAAajpF,EAAOyjF,UAM3C,yBAAKxtF,UAAU,sBACb,kBAAC,GAAD,CACE2O,QAAQ,wBACR5G,QAAS,kBA/N/BwkF,EAAsB,IACtBF,EAAsB,SACtBiB,IAAeD,UAoOH,yBAAKrtF,UAAU,wBACb,2BAAOA,UAAU,gBAAjB,gBACgB+J,EAAQ,EAAIA,EAAQ,EAAI,GACrCA,EAAQ,GAAK4oF,KACZ,0BACE3yF,UAAU,UACV+H,QAAS,YAtKZ,SAACiD,GAClB,IAAIioF,EAAiC,YAAOlE,IAC5CkE,EAAalE,GAAMjiD,MAAM,EAAGiiD,GAAM/qF,OAAS,GAC3CgrF,GAASiE,GAoKaC,KAHJ,SAOE,0BAAMlzF,UAAU,gCAEhB,OAGR,yBAAKA,UAAU,WACb,2BAAOA,UAAU,cAAjB,iBAEF,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEuF,aAAc+C,EAAKimF,YACnBrhF,QAAS0gF,GACTxgF,SAAU,SAAC1E,GAAD,OA/6BV,SAAC9H,EAA4BmJ,EAAerB,GAC5D,IAAIo3C,EAA6B,YAAOivC,IAC3B,gBAATnuF,EACFk/C,EAAO/1C,GAAOnJ,GAAQ8H,EACJ,eAAT9H,EACU,mBAAR8H,IAAmBo3C,EAAO/1C,GAAOnJ,GAAQ8H,GAClC,qBAAT9H,GACU,mBAAR8H,IAAmBo3C,EAAO/1C,GAAOnJ,GAAQ8H,GAEtDsmF,GAASlvC,GAs6B0BqzC,CAAU,cAAeppF,EAAOrB,OAGvD,yBAAK1I,UAAU,wBACb,2BAAOA,UAAU,eAAjB,2BACA,kBAAC,GAAD,CACEmG,SAAU,SAACuC,GAAD,OAASua,GAAa,YAAalZ,EAAOrB,IACpDb,SAAiC,IAAvBS,EAAK8lF,cACf/mF,YAAY,qBACZzG,KAAK,YACLiG,UAAW,GACXrD,IAAK6rF,GAAQ,GAAK,EAClB9oF,SAAS,EACTmB,KAAK,WACLnC,aAAc+C,EAAKylF,aAIvB,yBAAK/tF,UAAU,wBACb,2BAAOA,UAAU,eAAjB,gCAGA,kBAAC,GAAD,CACEmG,SAAU,SAACuC,GAAD,OAASua,GAAa,cAAelZ,EAAOrB,IACtDnB,OAAQ,SAACmB,GAAD,OA76BP,SAACqB,EAAerB,GACjC,IAAIo3C,EAA6B,YAAOivC,IACxC,GAAIM,IAASvvC,EAAO/1C,GAAOokF,YAAYnqF,OAAS,GAAI,CAClD,IAAIqsF,EAAW,eAAQnE,GACvBmE,EAAYtmF,GAAS6Z,GAASzJ,IAC9BgyE,EAAmBkE,QACd,IAAKhB,IAASvvC,EAAO/1C,GAAOokF,YAAYnqF,OAAS,EAAG,CACzD,IAAIqsF,EAAW,eAAQnE,GACvBmE,EAAYtmF,GAAS6Z,GAASzJ,IAC9BgyE,EAAmBkE,QACd,GAAIvwC,EAAO/1C,GAAOgkF,YAAcjuC,EAAO/1C,GAAOokF,YAAa,CAChE,IAAIkC,EAAW,eAAQnE,GAEvBmE,EAAYtmF,GAAS6Z,GAASzJ,IAC9BgyE,EAAmBkE,OACd,CACL,IAAIA,EAAW,eAAQnE,UAChBmE,EAAYtmF,GACnBoiF,EAAmBkE,IA25BY+C,CAAWrpF,IAC5BtE,UAAWymF,EAAgBniF,GAC3BlC,SAAiC,IAAvBS,EAAK8lF,cACf/mF,YAAY,qBACZzG,KAAK,cACLiG,UAAW,GACXrD,IAAK6rF,GAAQ,GAAK,EAClB9oF,SAAS,EACThB,aAAc+C,EAAK6lF,eAGtBoB,GACC,kBAAC,GAAD,CACE//E,MAAM,UACNolD,OAAQ26B,GACR16B,aAAa,GAEb,yBACE70D,UAAU,qBACV4L,MAAO,CAAE07E,SAAU,SAEnB,qDACA,yBAAKtnF,UAAU,aACb,yBACEA,UAAU,oBACV4L,MAAO,CAAE07E,SAAU,SAEnB,qEAEF,yBAAKtnF,UAAU,4CACb,kBAAC,GAAD,UAMR,GAEF,yBAAKA,UAAU,wBACb,2BACEA,UACyB,IAAvBsI,EAAK8lF,eAAuBrkF,IAAUglF,GAAM/qF,OAAS,EACjD,qBACA,eAJR,YAQE,0BACEhE,UAAU,YACV+H,QAAS,kBAAMgqF,GAAchoF,KAF/B,qBAOF,kBAAC,GAAD,CACE5D,SAAU,SAACuC,GAAD,OAASua,GAAa,WAAYlZ,EAAOrB,IACnDnB,OAAQ,aACRM,SAAiC,IAAvBS,EAAK8lF,cACf/mF,YAAY,kBACZzG,KAAK,WACLiG,UAAW,GACXtB,aAAc+C,EAAKgmF,SACnBpnF,QAAM,KAGToB,EAAKomF,UACJ,yBAAK1uF,UAAU,YACb,2BACGsI,EAAKomF,SACL,KAAOpmF,EAAKmmF,SACZ,KAAOnmF,EAAKQ,SAKjBR,EAAKqmF,MAAQrmF,EAAKwmF,aAAa9qF,OAAS,IACxC,yBAAKhE,UAAU,wBACb,2BAAOA,UAAU,eAAjB,YAEE,0BACEA,UAAU,cACV+H,QAAS,kBAAM2kF,GAAiB,KAFlC,gBAOF,kBAAC,GAAD,CACE9rF,KAAK,WACLiI,aAAc,EACdkC,eAAa,EACbvB,eACElB,EAAKwmF,cAA6C,IAA7BxmF,EAAKwmF,aAAa9qF,OAEzC6F,QAASvB,EAAKwmF,cAAgBxmF,EAAKwmF,aACnCvpF,aAAc+C,EAAKqmF,KACnB9mF,SAAiC,IAAvBS,EAAK8lF,cACfzlF,UAAU,OACVtB,YAAY,wBACZwD,UAAU,sBACVgB,YACEvD,EAAKwmF,cAAgBxmF,EAAKwmF,aAAa9qF,OAAS,EAElDmF,eAAgB,SAACT,GAAD,OA7/Bb,SAACA,EAAaqB,GACnC,IAAI+1C,EAA6B,YAAOivC,IAExC,GADAjvC,EAAO/1C,GAAO4kF,KAAOjmF,EACjBglF,IAAkBA,GAAe1pF,OAAS,EAAG,CAC/C,IAAIqvF,EAAoC3F,GAAejlF,QACrD,SAACW,GAAD,OAAeA,EAAKulF,OAASjmF,KAE/Bo3C,EAAO/1C,GAAOskF,YAAcgF,EAAiB,GAAGhF,YAChDvuC,EAAO/1C,GAAOikF,UAAYqF,EAAiB,GAAG9C,aAC9CzwC,EAAO/1C,GAAOkkF,UAAYoF,EAAiB,GAAG7C,aAC9C1wC,EAAO/1C,GAAOmkF,UAAYmF,EAAiB,GAAG5C,aAC9C3wC,EAAO/1C,GAAO0kF,SAAW4E,EAAiB,GAAG5E,SAC7C3uC,EAAO/1C,GAAO2kF,SAAW2E,EAAiB,GAAG3E,SAC7C5uC,EAAO/1C,GAAO4vD,OAAS05B,EAAiB,GAAG15B,OAC3C7Z,EAAO/1C,GAAOjB,MAAQuqF,EAAiB,GAAGvqF,MAC1CkmF,GAASlvC,QAETkvC,GAASlvC,GA6+BSwzC,CAAe5qF,EAAG,KAAoBqB,OAMnC,IAAVA,EACC,yBAAK/J,UAAU,yBACb,2BAAOA,UAAU,eAAjB,mBACA,yBAAKA,UAAU,cACb,kBAAC,GAAD,CACE6H,SAAiC,IAAvBS,EAAK8lF,cACfpgF,KAAM1F,EAAKkmF,iBACXroF,SAAU,kBA/iCH,SAC3BvF,EACAmJ,EACArB,GAEA,IAAIo3C,EAA6B,YAAOivC,IAC3B,qBAATnuF,EACiB,mBAAR8H,IAAmBo3C,EAAO/1C,GAAOnJ,GAAQ8H,GAClC,eAAT9H,GACU,mBAAR8H,IAAmBo3C,EAAO/1C,GAAOnJ,GAAQ8H,GAEtDsmF,GAASlvC,GAqiCayzC,CACE,mBACAxpF,GACCglF,GAAMhlF,GAAOykF,uBAMtB,UAOXpiE,GACC,yBAAKpsB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAOhB,yBAAKpsB,UAAU,gBACb,kBAAC,GAAD,CACE0O,OAAO,EACPC,QAAQ,2BACR9G,SAAU8qF,KACV5qF,QAAS,kBAn3BG,WACa,YAAOgnF,IAKxC,GAJAtiE,GAAa,GACTu/D,EAAU,GACZC,EAAWD,EAAU,GAEF,IAAjB+C,GAAM/qF,QAA0D,IAA1C+qF,GAAMA,GAAM/qF,OAAS,GAAGoqF,cAAqB,CACrE,IAAM0B,EAAS,CACbvvE,cAAe1B,GAAYwQ,cAC3Bw8D,eAAgBkD,GAAM,GAAGhB,UACzB1C,KAAM0D,GAAM,GAAGT,SACf1tF,KAAMie,GAAY2M,gBAAgBwf,SAEpC0gD,GAAoBkG,GAA8B9B,GAGpD,GAA8C,IAA1Cf,GAAMA,GAAM/qF,OAAS,GAAGoqF,eAAuBe,GAAkB,CACnE,IAAMW,EAAS,CACbvvE,cAAe1B,GAAYwQ,cAC3Bw8D,eAAgBkD,GAAMA,GAAM/qF,OAAS,GAAG+pF,UACxC1C,KAAM0D,GAAMA,GAAM/qF,OAAS,GAAGsqF,SAC9B1tF,KAAMie,GAAY2M,gBAAgBwf,SAEpC0gD,GAAoBkG,GAA8B9B,OAE7C,CACLV,IAAoB,GACpB,IAAItvC,EAA6B,YAAOivC,IACxCC,GAAS,GAAD,mBACHlvC,GADG,CAEN,CACEguC,kBAAmBjvE,GAAY8pC,kBAC/BolC,UAAW,GACXxtE,cAAe1B,GAAYwQ,cAC3B2+D,UAAW,GACXI,cAAe,EACfC,YAAa,GACb10B,OAAQ,GACRw0B,YAAa,GACbr3C,sBAAuBvqC,SAASsS,GAAYyQ,uBAC5Cg/D,SAAU,GACVC,YAAa,KACbC,iBAAkBhC,EAClBiC,SAAU,GACVC,SAAU,GACV5lF,MAAO,GACP6lF,KAAM,GACN53C,QAAcg4C,GAAM,GAAGh4C,QACvB63C,cAAe,EACfC,YAAY,EACZZ,UAAU,GACVC,UAAU,GACVY,aAAc,CAAC,CAAEzuF,MAAO,GAAIO,KAAM,SAGtC6rB,GAAa,GACbmgE,GAAiB,IACE,IAAfS,IACFC,IAAc,IAyzBKkG,OAInB,yBAAKxzF,UAAU,gBACb,kBAAC,GAAD,CACEyO,UAAWo4D,GACXl4D,QAAQ,oBACR9G,YA7ZN2lB,OAAOsyB,OAAOosC,GAAiBjiF,SAC7B,gDAEF4iF,MAI0C,IAA1CkC,GAAMA,GAAM/qF,OAAS,GAAGoqF,eACe,KAAtCW,GAAMA,GAAM/qF,OAAS,GAAG+pF,WACiB,KAAxCgB,GAAMA,GAAM/qF,OAAS,GAAGmqF,aACqB,IAA7CY,GAAMA,GAAM/qF,OAAS,GAAG+pF,UAAU/pF,QACa,IAA/C+qF,GAAMA,GAAM/qF,OAAS,GAAGmqF,YAAYnqF,QAGlC,6BADFkoF,EAAgBA,EAAgBloF,OAAS,IAGvC,+CADFkoF,EAAgBA,EAAgBloF,OAAS,IAEJ,KAArC+qF,GAAMA,GAAM/qF,OAAS,GAAGsqF,WACzBzB,IA4Y0B5uD,GAAoBpf,GAAYwQ,eAErDtnB,QAziCW,SAAC3B,GACpBA,EAAEqtF,iBACFhnE,GAAa,GACbq6C,IAAc,GACd0oB,IAAsB,GAEtB,IAAMxjE,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAY5D,GAVA6M,EAAwB68B,WAAakmC,GAAM,GAAGhB,UAC9C/hE,EAAwB88B,UAAYimC,GAAM,GAAGT,SAC7CrvE,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAGjBnN,GAAYgqC,WAAa78B,EAAwB68B,WACjDhqC,GAAYiqC,UAAY98B,EAAwB88B,UAGZ,KAAlCjqC,GAAY8pC,mBAC8B,IAA1ComC,GAAMA,GAAM/qF,OAAS,GAAGoqF,cACxB,CACA,IAAM0B,EAAS,CACbvvE,cAAe1B,GAAYwQ,cAC3Bw8D,eAAgBkD,GAAMA,GAAM/qF,OAAS,GAAG+pF,UACxC1C,KAAM0D,GAAMA,GAAM/qF,OAAS,GAAGsqF,SAC9B1tF,KAAMie,GAAY2M,gBAAgBwf,SAEpC0gD,GAAoBkF,GAAyBd,OAExC,CAOL6B,GAHY,CACVt6E,MAAM,MAsgCF3P,KAAK,eC9jDFgsF,GA1C2B,SAACruF,GAEvC,IAAMk6B,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAAgBwf,EAAWxf,IAAI,cAAgB,GAC3E0f,EAAaF,EAAWxf,IAAI,cAAgBwf,EAAWxf,IAAI,cAAgB,GAC3E2f,EAAeH,EAAWxf,IAAI,gBAAkBwf,EAAWxf,IAAI,gBAAkB,GAwBvF,OAtBAza,IAAM2H,WAAU,WACZgS,OAAOqO,eAAerB,QAAQ,cAAe,OAC9C,IAGH3mB,IAAM2H,WAAU,WACZ,IAAMoK,EAAO,CACTqf,UAAWzB,GAAgBC,aAAaU,SAASL,UACjDwW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBQ,yBAA0BptB,GAAY+P,mBACtCsd,mBAAoBrtB,GAAYsO,aAChCgf,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGxBmH,GAA2Bnf,KAC5B,IAGC,yBAAKrX,UAAU,YACX,yBAAKA,UAAU,eAAf,gBAGA,yBAAKA,UAAU,iBAAf,mFAGA,kBAAC,GAAD,CAAUw/B,WAAYA,EAAYC,WAAYA,EAAYC,aAAcA,M,6FC7BrEi0D,I,OATmC,SAACtuF,GAC/C,OACI,gBAAC,GAAD,CAAUuvD,OAAQvvD,EAAMuuF,UAAW/+B,aAAa,EAAMC,QAASzvD,EAAMyvD,SACjE,yBAAO70D,IAAKoF,EAAMpF,IAAKyH,KAAK,kBAAkB1H,UAAU,gB,+DCuDvD++B,GAAiC,CAC5Cp3B,GAAI,GACJq3B,SAAS,EACTC,UAAW,EACXC,cAAc,EACd5F,SAAU,GACV6F,UAAU,EACVC,OAAQ,GACRxC,mBAAoB,IACpBN,WAAY,EACZE,SAAU,IA8gHGq3D,GA3gH+B,SAACxuF,GAE7C,IAAMk6B,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAXmD,EAarBza,IAAM4G,UAAkB,GAbH,mBAahDuC,EAbgD,KAarCge,EAbqC,OAcrBvgB,oBAAkB,GAdG,mBAcrC4nF,GAdqC,aAevB5nF,oBAAkB,GAfK,mBAetC6nF,GAfsC,aAgBvB7nF,qBAhBuB,mBAgBhD8nF,EAhBgD,KAgBtCC,EAhBsC,OAiBrB/nF,qBAjBqB,mBAiBhDgoF,EAjBgD,KAiBrCC,EAjBqC,OAkBbjoF,oBAAkB,GAlBL,mBAkBhDkoF,EAlBgD,KAkBjCC,EAlBiC,OAmBrBnoF,oBAAkB,GAnBG,mBAmBhD0nF,EAnBgD,KAmBrCU,EAnBqC,OAoB3BpoF,oBAAkB,GApBS,mBAoBhDqoF,EApBgD,KAoBxCC,EApBwC,OAqBbtoF,oBAAkB,GArBL,mBAqBhDuoF,EArBgD,KAqBjCC,EArBiC,OAsBXxoF,oBAAkB,GAtBP,mBAsBhDyoF,EAtBgD,KAsBhCC,EAtBgC,OAuBzB1oF,oBAAkB,GAvBO,mBAuBhD2oF,EAvBgD,KAuBvCC,EAvBuC,OAyBrD5oF,oBAAkB,GAzBmC,mBAwBhD6oF,GAxBgD,KAwB3BC,GAxB2B,QA0BzB9oF,oBAAkB,GA1BO,qBA0BvC+oF,IA1BuC,gBA2BrB/oF,oBAAkB,GA3BG,qBA2BrCgpF,IA3BqC,gBA4B3BhpF,oBAAkB,GA5BS,qBA4BhDipF,GA5BgD,MA4BxCC,GA5BwC,SA6BzBlpF,oBAAkB,GA7BO,qBA6BhDmpF,GA7BgD,MA6BvCC,GA7BuC,SA8BvBppF,oBAAkB,GA9BK,qBA8BhDqpF,GA9BgD,MA8BtCC,GA9BsC,SA+BnBtpF,oBAAkB,GA/BC,qBA+BhDgyE,GA/BgD,MA+BpCuX,GA/BoC,SAgCvBvpF,oBAAkB,GAhCK,qCAiCzB5G,IAAM4G,YAjCmB,qBAiChDkgB,GAjCgD,MAiCvC1C,GAjCuC,SAkCfxd,oBAAkB,GAlCH,qBAkChDwpF,GAlCgD,MAkClCC,GAlCkC,SAmCzBzpF,qBAnCyB,qBAmChD0pF,GAnCgD,gBAoCrB1pF,mBAAQ,eACrC6yB,MArCkD,qBAoChDoiC,GApCgD,MAoCrCC,GApCqC,SAuCPl1D,mBAAiB,IAvCV,qBAuChDi2D,GAvCgD,MAuC9BC,GAvC8B,SAwCrB98D,IAAM4G,SAAe,IAAI6lB,MAxCJ,qBAwChD4N,GAxCgD,MAyCjDhT,IAzCiD,MAyCvCC,eAzCuC,GA0CftnB,IAAM4G,SAAqB,IA1CZ,qBA0ChD2pF,GA1CgD,MA0ClCC,GA1CkC,SA2CbxwF,IAAM4G,SAAqB,IA3Cd,qBA2ChD6pF,GA3CgD,MA2CjCC,GA3CiC,SA4C3B1wF,IAAM4G,UAAS,GA5CY,qBA4ChD+pF,GA5CgD,MA4CxCC,GA5CwC,SA6CrB5wF,IAAM4G,UAAkB,GA7CH,qBA6CrCiqF,IA7CqC,gBA8CX7wF,IAAM4G,SAAiB,IA9CZ,qBA8ChDkqF,GA9CgD,MA8ChCC,GA9CgC,SA+CjB/wF,IAAM4G,SAC1C2S,GAAYm7B,YAAYoG,eAhD6B,qBA+ChDplB,GA/CgD,MA+CnCs7D,GA/CmC,SAkDbhxF,IAAM4G,UAAkB,GAlDX,qBAkDhDqqF,GAlDgD,MAkDjCC,GAlDiC,SAoDrDlxF,IAAM4G,SAAiB,GApD8B,qBAmDhDuqF,GAnDgD,MAmDxBC,GAnDwB,SAqD/BxqF,oBAAkB,GArDa,qBAqDhDyqF,GArDgD,MAqD1CC,GArD0C,SAsDb1qF,oBAAkB,GAtDL,qBAsDhD2qF,GAtDgD,MAsDjCC,GAtDiC,SAyDrD5qF,oBAAkB,GAzDmC,qBAwDhD6qF,GAxDgD,MAwDvBC,GAxDuB,SA2DrD9qF,oBAAkB,GA3DmC,qBA0DhD+qF,GA1DgD,MA0DzBC,GA1DyB,SA6DrDhrF,oBAAkB,GA7DmC,qBA4DhDirF,GA5DgD,MA4DxBC,GA5DwB,SA8DblrF,oBAAkB,GA9DL,qBA8DhDmrF,GA9DgD,MA8DjCC,GA9DiC,SA+DbprF,oBAAkB,GA/DL,qBA+DhDqrF,GA/DgD,MA+DjCC,GA/DiC,MAmHvD,SAASxtC,GAAsBpzC,IACxBA,GAAOA,EAAIR,OACdsT,GAAW,KACXA,GAAW9S,EAAIR,QAEXQ,EAAIS,MACW6B,KAAKC,MAAMvC,EAAIS,MACnB2tC,6BACX8vC,GAAW,GACXG,IAAW,GACXC,IAAa,IAKrB,SAAShiF,GAAa0D,IACfA,GAAOA,EAAIR,MAEdsT,GAAW9S,EAAIR,OAEXQ,EAAIS,OAEiB,MAArBT,EAAIS,KAAKogF,UACiC,IAA1CjqE,OAAOlf,KAAKsI,EAAIS,KAAKogF,UAAUzzF,QAE/BiwF,EAAYr9E,EAAIS,KAAKogF,UAGC,MAAtB7gF,EAAIS,KAAKqgF,WACkC,IAA3ClqE,OAAOlf,KAAKsI,EAAIS,KAAKqgF,WAAW1zF,QAEhCmwF,EAAav9E,EAAIS,KAAKqgF,YAM9B,SAASvkF,GAAoByD,GAC3B,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CAAC,IAAD,IACNsgF,EAAU/gF,EAAIS,KAAKmD,iBACnBo9E,EAAcD,EAAQlvF,QAC1B,SAAC2T,GAAD,MzFuGmB,gByFvGPA,EAAEy7E,mBAEVC,EAAeH,EAAQlvF,QAC3B,SAAC2T,GAAD,MzFqGoB,iByFrGRA,EAAEy7E,mBAEF/B,GAAd8B,GAA6D,IAC9C5B,GAAf8B,GAAiE,KACjE,UAAIF,EAAY,UAAhB,aAAI,EAAgBG,qBAClB3C,IAAU,GACVE,IAAW,GACXxB,GAAa,GACbC,GAAY,KACP,UAAI+D,EAAa,UAAjB,aAAI,EAAiBC,qBAC1B3C,IAAU,GACVE,IAAW,GACXxB,GAAa,GACbC,GAAY,IACH6D,EAAY5zF,OAAS,GAC9BoxF,IAAU,GACVE,IAAW,GACXxB,GAAa,GACbC,GAAY,IACH+D,EAAa9zF,OAAS,GAC/BoxF,IAAU,GACVE,IAAW,GACXxB,GAAa,GACbC,GAAY,KAEZqB,IAAU,GACVE,IAAW,KAMnB,SAAS0C,GAA8BphF,GACrC,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ29E,IAAuB,GAGvBoC,IAA0B,GAE1B,IAAMa,EAAgBrhF,EAAIS,KAAKsD,QAAQlS,QACrC,SAACW,GAAD,OAAgC,IAAjBA,EAAK8uF,WAElBD,EAAcj0F,OAAS,GACzB4yF,GAAQqB,EAAc,GAAGtB,MAIzBsB,EAAchtF,KAAI,SAAC7B,GACI,aAAjBA,EAAK+uF,QACPnB,GAA2B5tF,EAAK8uF,SACN,eAAjB9uF,EAAK+uF,QACdjB,GAAyB9tF,EAAK8uF,SACJ,iBAAjB9uF,EAAK+uF,QACdf,GAA0BhuF,EAAK8uF,SACL,aAAjB9uF,EAAK+uF,SACdzD,GAAiB,GACjBF,GAAU,IACgB,cAAjBprF,EAAK+uF,SACdvD,GAAkB,GAClBJ,GAAU,IAEO,aAAjBprF,EAAK+uF,SACY,WAAjB/uF,EAAK+uF,UAELnD,IAAuB,GACvBR,GAAU,QAStB,SAAS1oD,GAAmBl1B,IACrBA,GAAOA,EAAIR,MAEdsT,GAAW9S,EAAIR,OAEXQ,EAAIS,OAE8B,MADZT,EAAIS,KACRP,OAAOw2B,MACzBmoD,IAAc,GACdH,IAAW,GACXsB,IAAQ,GACRE,IAAiB,KAEjBrB,IAAc,GACdqB,IAAiB,KAMvBrqE,GAAa,GApMfnnB,IAAM2H,WAAU,W9C3FW,IAACuR,EAA4B0a,E8C4FtDja,OAAO9U,SAAS,EAAG,GACnB8U,OAAOqO,eAAerB,QAAQ,cAAe,KAC7CurE,GAAiBv5D,GAAoBpf,GAAYwQ,gBACjD5C,GAAa,G9C/FajO,E8CgGZtL,G9ChGwCgmB,E8CgG1Bra,GAAYwQ,c9C/F1C/Q,GACE,CACEkB,IAAK,6BACL5P,KAAM,CACJ6Q,cAAeyY,EACfk/D,SAAU,KAEZ15E,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAagC,cAE5BsL,G8CoFAya,GAAqBi3C,GAAgBrxD,GAAYwQ,e9CtEjB,SAClC7Q,EACA0a,GAEA5a,GACE,CACEkB,IAAK,6BACL5P,KAAM,CACJ6Q,cAAeyY,EACfk/D,SAAU,KAEZ15E,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaiC,qBAE5BqL,G8CuDA65E,CAAqBllF,GAAqB0L,GAAYwQ,e9CSf,SACzC7Q,EACA0a,GAEA5a,GACE,CACEkB,IAAK,6BACL5P,KAAM,CACJ6Q,cAAeyY,EACfk/D,SAAU,KAEZ15E,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAamC,4BAE5BmL,G8CxBA85E,CACEN,GACAn5E,GAAYwQ,eAGd,IAAMuc,EAAsB1yB,KAAKC,MAC/B8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAExD0sB,EAAS,QAEwBvoC,GAAnCub,GAAY2M,gBAAgBxmB,KACO,IAAnC6Z,GAAY2M,gBAAgBxmB,IAE5B6mC,EAAShtB,GAAY2M,gBAAgBxmB,IACD,IAA3B4mC,EAAoB5mC,MAC7B6mC,EAAoC,IAA3BD,EAAoB5mC,IAAY4mC,EAAoB5mC,IAAM,IAEpDA,GAAI5B,KAAKyoC,IAExBtb,GAAkBub,GAAoBD,GAExC3b,GAA0B85B,GAAuBnrC,GAAYwQ,iBAC5D,IAGH/pB,IAAM2H,WAAU,WACd,IAAMoK,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaY,SAASP,UACjDwW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBQ,yBAA0BptB,GAAY+P,mBACtCsd,mBAAoBrtB,GAAYsO,aAChCgf,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,KAC1B,IAuJH,IAAM64D,GAAiB,SAACt5D,GACtB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW9S,EAAIR,OACfqW,GAAa,QACR,GAAI7V,EAAIS,MAAqB,qBAAbT,EAAIS,KAA6B,CACtD,IACM47D,EADS/5D,KAAKC,MAAMvC,EAAIS,MACD5O,QAC3B,SAAC2T,GAAD,MAAmC,iBAAvBA,EAAEme,oBAEZ04C,EAAcjvE,OAAS,IACa,YAAlCivE,EAAc,GAAGyB,aACnBtS,GAAoB,WACuB,gBAAlC6Q,EAAc,GAAGyB,aAC1BtS,GAAoB,eACuB,wBAAlC6Q,EAAc,GAAGyB,aAC1BtS,GAAoB,uBACuB,mBAAlC6Q,EAAc,GAAGyB,aAC1BtS,GAAoB,kBAEc,4BAAlC6Q,EAAc,GAAGyB,aAEjBtS,GAAoB,2BACuB,yBAAlC6Q,EAAc,GAAGyB,cAC1BtS,GAAoB,wBAEtBjB,GAAUx5D,GAAK,YACfw5D,GAAUniC,SAAU,EACpBmiC,GAAUliC,UAAY,IACtBkiC,GAAUjiC,cAAe,EACzBiiC,GAAU7nC,SAAW25C,EAAc,GAAGrjD,SACtCuxC,GAAUhiC,UAAW,EACrBgiC,GAAUjiC,cAAe,EACzBiiC,GAAU3kC,SAAWy2C,EAAc,GAAG12C,SACtC4kC,GAAU7kC,WAAa22C,EAAc,GAAGx4C,WACxC2mC,GAAaD,IACb9nC,GACE07C,GACA9B,EAAc,GAAGrjD,SACjBqjD,EAAc,GAAGS,uBAGX98D,GAAOA,EAAIR,OAAsB,qBAAbQ,EAAIS,KAClCqS,GAAW9S,EAAIR,OAEfgrD,GAAaD,KAIX4T,GAAiB,SAACn+D,GACtB,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW9S,EAAIR,OACfqW,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CACZ,IAAMgoB,EAAS,yBAA2BzoB,EAAIS,KAAKuhB,eAC/C2/D,EAAU,eAAQp3B,IACtBo3B,EAAWn5D,OAASC,EACpB+hC,GAAam3B,KAwCnB,IAAM5hB,GAAmB,SACvBrtE,EACA3B,EACA2xB,EACA5xB,GACI,IACI+yD,EAAkBnxD,EAAlBmxD,OAAQyf,EAAU5wE,EAAV4wE,MACZnpC,EAAape,KAAKC,MAAgB,IAAT6nC,EAAgByf,GACzCse,EAAe,eAAQr3B,IACvBpwB,EAAa,IACJ,gBAAPppC,IACF6wF,EAAgB7wF,GAAKA,EACrB6wF,EAAgBx5D,SAAU,EAC1Bw5D,EAAgBv5D,UAAY8R,EAC5BynD,EAAgBr5D,UAAW,EAC3Bq5D,EAAgBt5D,cAAe,EAC/BkiC,GAAao3B,IAES,MAAfznD,GACE,gBAAPppC,IACF6wF,EAAgB7wF,GAAKA,EACrB6wF,EAAgBx5D,SAAU,EAC1Bw5D,EAAgBv5D,UAAY8R,EAC5BynD,EAAgBr5D,UAAW,EAC3Bq5D,EAAgBt5D,cAAe,EAC/Bs5D,EAAgBh8D,SAAW90B,EAC3B8wF,EAAgBl/D,SAAWA,EAC3B8nC,GAAao3B,GACbtC,IAAU,KAKVxf,GAAe,SAAC9/D,GACpB,IAAKA,GAAOA,EAAIR,MACdqW,GAAa,GAGb/C,GAAW9S,EAAIR,YACV,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKuuE,OAAQ,CACtCn5D,GAAa,GACb,IAAIgsE,EAAe,eAAQt3B,IACvBwZ,EAAc,GACdW,EAAgB,CAClB1+C,mBAAoB67D,EAAgB77D,mBACpCN,WAAYm8D,EAAgBn8D,WAC5BQ,mBAAoB,GACpBxD,SAAU1iB,EAAIS,KAAK++D,KACnBp5C,eAAe,EACfR,SAAU5lB,EAAIS,KAAK++D,KAAKn0D,MAAM,KAAK,GACnCuN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnC03B,kBAAmB,KAErBi+C,EAAYztD,KAAKouD,GACjB,IAAMxhD,EAAcue,GAAmB1Y,GAAW,gBAC5C3G,EAAU,CACd5J,cAAevQ,GAAYwQ,cAC3BC,sBAAuB/iB,SAASsS,GAAYyQ,wBAA0B,EACtEqK,aAAcghD,EACdprD,OAAQ1Q,GAAY0Q,OACpBuK,YAAaA,GAEfL,GAAqBi/D,GAAY1/D,QAGjCtP,GAAW9S,EAAIR,QAIbsiF,GAAa,SAAC9hF,IACbA,GAAOA,EAAIR,MACdsT,GAAW9S,EAAIR,OAEXQ,GAAOA,EAAIS,MAUbshF,GAAc,SAACjwF,GACP,SAARA,EACF8sF,IAAY,GACK,UAAR9sF,GACT8sF,IAAY,GAEdlB,GAAa,GACbD,GAAiB,IAwMnB,SAASuE,GAAwBhiF,GAC/B,IAAKA,GAAOA,EAAIR,MAEdsT,GAAW9S,EAAIR,OACfqW,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CAEZ,IAAMA,EAAO,CACXqf,UACEzB,GAAgBC,aAAaY,SAASC,8BACxCgW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBQ,yBAA0BptB,GAAY+P,mBACtCsd,mBAAoBrtB,GAAYsO,aAChCgf,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,cACpBwpE,cAAe,IAGbxD,IAAWU,GAAc/xF,OAAS,EACpCqT,EAAI,cAAoB,QACf89E,IAAUU,GAAa7xF,OAAS,IACzCqT,EAAI,cAAoB,QAG1Bmf,GAA2Bnf,GAI3B4f,GAAiBC,UACfO,GAAgBvC,aAAaY,SAASC,+BAGxC,IAAM+iE,EAAY,CAChB,CACEC,cAAe,WACfC,QAAS,WACTC,YAAa,GACbC,YAAY,EAEZrrF,SAAS,GAEX,CACEkrF,cAAe,WACfC,QAAS,WACTC,YAAa,GACbC,YAAY,EAEZrrF,SAAS,GAEX,CACEkrF,cAAe,WACfC,QAAS,aACTC,YAAa,GACbC,YAAY,EAEZrrF,SAAS,GAEX,CACEkrF,cAAe,WACfC,QAAS,eACTC,YAAa,GACbC,YAAY,EACZrrF,QAASspF,IAEX,CACE4B,cAAe,WACfC,QAAS,eACTC,YAAa,GACbC,YAAY,EACZrrF,QAASspF,IAEX,CACE4B,cAAe,WACfC,QAAS,WACTC,YAAa,GACbC,YAAY,EACZrrF,QAAS4mF,GAEX,CACEsE,cAAe,WACfC,QAAS,YACTC,YAAa,GACbC,YAAY,EACZrrF,QAAS8mF,GAEX,CACEoE,cAAe,WACfC,QAAS,cACTC,YAAa,GACbC,YAAY,EACZrrF,SAAS,GAEX,CACEkrF,cAAe,WACfC,QAAS,YACTC,YAAa,GACbC,YAAY,EACZrrF,SAAS,GAGX,CACEkrF,cAAe,WACfC,QAAS,WACTC,YAAa,GACbC,YAAY,EACZrrF,QAASknF,IAGX,CACEgE,cAAe,WACfC,QAAS,SACTC,YAAa,GACbC,YAAY,EACZrrF,QAASknF,KAIM,GAAf/5D,GACF89D,EAAU5rE,KAAK,CACb6rE,cAAe,WACfC,QAAS,aACTC,YAAa,GACbC,YAAY,EACZrrF,SAAS,IAGXirF,EAAU5rE,KAAK,CACb6rE,cAAe,WACfC,QAAS,aACTC,YAAa,GACbC,YAAY,EACZrrF,SAAS,IAIb,IAAMisB,EAAcue,GAAmB1Y,GAAW,eAC5Cw5D,EAAc,CAClB54E,cAAe1B,GAAYwQ,cAC3B+pE,QAAS,GACTC,UAAWP,EACXhiD,sBACEvqC,SAASsS,GAAYyQ,wBAA0B,EACjD8pC,OAAQv6C,GAAY0Q,OACpB+pE,YAAa,GACbx/D,YAAaA,EAEby/D,SAAU5C,GACV6C,uBACE36E,GAAYm7B,YAAYoG,gBAAkBplB,GAG5Cy+D,iBAAkBz+D,I9C7uB1B1c,GACE,CACEkB,IAAK,qCACL5P,K8C4uB4DupF,E9C3uB5Dz6E,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaoC,6B8CwuBMomF,SAG9BhwE,GAAW9S,EAAIR,OAKrB,SAASsjF,GAA2B9iF,IAC7BA,GAAOA,EAAIR,MAEdsT,GAAW9S,EAAIR,OAGXQ,EAAIS,MACN6nC,GAAqBz+C,IACrBg0B,GAAW,CACTG,OAAQ,eACRhnB,MAAM,mBAAD,OAAqBunF,GAAS,OAAS,WAG9CrjC,GACE6nC,GACA96E,GAAYwQ,cACZrf,GAAOU,8BAITgZ,GAAW9S,EAAIR,OAGnBqW,GAAa,GAGf,IAAMktE,GAAe,SAAC/iF,IACfA,GAAOA,EAAIR,MAGdsT,GAAW9S,EAAIR,OAEfuW,GAAQO,KAAKiyB,OAyCXy6C,GAAiB,WACrBxE,IAAU,GACVE,IAAW,IAGPuE,GAAkB,WACtBzE,IAAU,GACVE,IAAW,IAGPwE,GAAW,WACf,OAAIvF,EACIE,GAAiBE,GAAkBI,KAGvCF,IACC1zB,GAAUjiC,eACV+2D,IACkB,KAAnBG,SALA5B,GAAWD,MAWHA,GAAUM,IA2BxBvvF,IAAM2H,WAAU,WACd5C,QAAQC,IAAI,kBACmB,IAA3BmsF,KACkB,IAAhBz7D,GACFs7D,GAAe,GACU,IAAhBt7D,IACTs7D,GAAe,MAGlB,CAACG,GAAwBF,KAS5B,OACE,yBAAKv2F,UAAU,cACb,kBAAC,GAAD,CACEC,IAAK21F,GACL9gC,QAAS,kBAAM6gC,IAAgB,IAC/B/B,UAAW8B,KAEb,kBAAC,GAAD,CACE9gC,OAAQw/B,EACRv/B,aAAa,EACbC,QAAS,kBAjhBbw/B,GAAa,QACbD,GAAiB,KAkhBZ5kF,KAAgBM,UACf,yBAAK/P,UAAU,aACb,yBAAKA,UAAU,WACb,yBAAKA,UAAU,iBACb,8BACA,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,oBACb,uBAAGA,UAAU,gBAAb,oBACA,uBAAGA,UAAU,mCAAb,qCAGA,yBAAKA,UAAU,8BACZm1F,GACC,kBAAC,GAAD,CACEpmF,OAAQomF,GACR7lF,aAAa,EACbX,QAAQ,WACR5G,QAAS,WACP6xF,QAIJ,yBAAK55F,UAAU,wBACb,kBAAC,GAAD,CACE+O,OAAQomF,GACRxmF,QAAQ,cACR5G,QAAS,WACP6xF,YAQd,yBAAK55F,UAAU,MACb,yBAAKA,UAAU,oBACb,uBAAGA,UAAU,gBAAb,gBACA,uBAAGA,UAAU,mCAAb,wCAGA,yBAAKA,UAAU,8BACZq1F,GACC,kBAAC,GAAD,CACEtmF,OAAQsmF,GACR/lF,aAAa,EACbX,QAAQ,WACR5G,QAAS,WACP8xF,QAIJ,kBAAC,GAAD,CACE9qF,OAAQsmF,GACR1mF,QAAQ,cACR5G,QAAS,WACP8xF,aAShB,yBAAK75F,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,gBAAb,iBAEF,yBAAKA,UAAU,wBACZg0F,GAAYA,EAAS+F,YAAY,IAEpC,yBAAK/5F,UAAU,wBACZk0F,GAAaA,EAAU6F,YAAY,MAI1C,yBAAK/5F,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,yBAAKA,UAAU,kBACZg0F,GAAYA,EAAS+F,YAAY,IAEpC,yBAAK/5F,UAAU,kBACZk0F,GAAaA,EAAU6F,YAAY,MAI1C,yBAAK/5F,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,8BAIA,yBAAKA,UAAU,kBACZk0F,GAAaA,EAAU6F,YAAY,MAI1C,yBAAK/5F,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,8BACA,yBAAKA,UAAU,kBACZk0F,GAAaA,EAAU6F,YAAY,MAI1C,yBAAK/5F,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,8BACA,yBAAKA,UAAU,kBACZk0F,GAAaA,EAAU6F,YAAY,MAI1C,yBAAK/5F,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,8BACA,yBAAKA,UAAU,kBACZk0F,GAAaA,EAAU6F,YAAY,MAI1C,yBAAK/5F,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,qBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,mBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeC,gBAEvC,yBAAKj6F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeC,kBAI7C,yBAAKj6F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,mBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeE,gBAEvC,yBAAKl6F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeE,kBAI7C,yBAAKl6F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeG,eAEvC,yBAAKn6F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeG,iBAI7C,yBAAKn6F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeI,eAEvC,yBAAKp6F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeI,iBAI7C,yBAAKp6F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeK,YAEvC,yBAAKr6F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeK,cAI7C,yBAAKr6F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeM,YAEvC,yBAAKt6F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeM,cAmB7C,yBAAKt6F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,sBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeO,YACjCvG,EAASgG,eAAeO,YACxB,MAEN,yBAAKv6F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeO,YACnCrG,EAAU8F,eAAeO,YACzB,QAIV,yBAAKv6F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,uBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeQ,UACjCxG,EAASgG,eAAeQ,UACxB,MAEN,yBAAKx6F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeQ,UACnCtG,EAAU8F,eAAeQ,UACzB,QAIV,yBAAKx6F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,6BACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeS,gBACjCzG,EAASgG,eAAeS,gBACxB,MAEN,yBAAKz6F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeS,gBACnCvG,EAAU8F,eAAeS,gBACzB,QAIV,yBAAKz6F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,2BACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgG,eAAeU,mBACjC1G,EAASgG,eAAeU,mBACxB,MAEN,yBAAK16F,UAAU,eACZk0F,GAAaA,EAAU8F,eAAeU,mBACnCxG,EAAU8F,eAAeU,mBACzB,QAIV,yBAAK16F,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,kBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,+BAGA,yBAAKA,UAAU,eACZg0F,GAAYA,EAAS2G,aAAaC,eAErC,yBAAK56F,UAAU,eACZk0F,GAAaA,EAAUyG,aAAaC,iBAI3C,yBAAK56F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,qCAGA,yBAAKA,UAAU,eACZg0F,GAAYA,EAAS2G,aAAaE,kBAErC,yBAAK76F,UAAU,eACZk0F,GAAaA,EAAUyG,aAAaE,oBAI3C,yBAAK76F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kCAGA,yBAAKA,UAAU,eACZg0F,GAAYA,EAAS2G,aAAaG,eAErC,yBAAK96F,UAAU,eACZk0F,GAAaA,EAAUyG,aAAaG,iBAI3C,yBAAK96F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,+CAGA,yBAAKA,UAAU,eACZg0F,GAAYA,EAAS2G,aAAaI,kBAErC,yBAAK/6F,UAAU,eACZk0F,GAAaA,EAAUyG,aAAaI,oBAI3C,yBAAK/6F,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,mBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,sCAGA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgH,cAAcC,cAEtC,yBAAKj7F,UAAU,eACZk0F,GAAaA,EAAU8G,cAAcC,gBAI5C,yBAAKj7F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,gBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgH,cAAcE,WAEtC,yBAAKl7F,UAAU,eACZk0F,GAAaA,EAAU8G,cAAcE,aAI5C,yBAAKl7F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,uCAGA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASgH,cAAcG,kBAEtC,yBAAKn7F,UAAU,eACZk0F,GAAaA,EAAU8G,cAAcG,oBAI5C,yBAAKn7F,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,qBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,mBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBC,gBAEzC,yBAAKr7F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBC,kBAI/C,yBAAKr7F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,iBACiB,KAGjB,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBE,eAEzC,yBAAKt7F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBE,iBAI/C,yBAAKt7F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,qBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBG,kBAEzC,yBAAKv7F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBG,oBAI/C,yBAAKv7F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBI,YAEzC,yBAAKx7F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBI,cAI/C,yBAAKx7F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,YACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBK,UAEzC,yBAAKz7F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBK,YAI/C,yBAAKz7F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,QAEA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBM,MAEzC,yBAAK17F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBM,QAI/C,yBAAK17F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,WACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBO,SAEzC,yBAAK37F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBO,WAI/C,yBAAK37F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,4BACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBQ,eAEzC,yBAAK57F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBQ,iBAI/C,yBAAK57F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,uBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBS,oBAEzC,yBAAK77F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBS,sBAI/C,yBAAK77F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,qBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBU,kBAEzC,yBAAK97F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBU,oBAI/C,yBAAK97F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBW,aAEzC,yBAAK/7F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBW,eAI/C,yBAAK/7F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBY,YAEzC,yBAAKh8F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBY,cAI/C,yBAAKh8F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,aACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASoH,iBAAiBa,WAEzC,yBAAKj8F,UAAU,eACZk0F,GAAaA,EAAUkH,iBAAiBa,aAI/C,yBAAKj8F,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,sBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,UACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBC,OAEzC,yBAAKn8F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBC,SAI/C,yBAAKn8F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,oDAGA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBE,QAEzC,yBAAKp8F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBE,UAI/C,yBAAKp8F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,SACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBG,OAEzC,yBAAKr8F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBG,SAI/C,yBAAKr8F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,UACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBI,QAEzC,yBAAKt8F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBI,UAI/C,yBAAKt8F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,wBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBK,WAEzC,yBAAKv8F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBK,aAI/C,yBAAKv8F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,2BACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBM,kBAEzC,yBAAKx8F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBM,oBAI/C,yBAAKx8F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBO,YAEzC,yBAAKz8F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBO,cAI/C,yBAAKz8F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kCAGA,yBAAKA,UAAU,eACZg0F,GACCA,EAASkI,iBAAiBQ,6BAE9B,yBAAK18F,UAAU,eACZk0F,GACCA,EAAUgI,iBAAiBQ,+BAInC,yBAAK18F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,8BACA,yBAAKA,UAAU,eACZg0F,GACCA,EAASkI,iBAAiBS,0BAE9B,yBAAK38F,UAAU,eACZk0F,GACCA,EAAUgI,iBAAiBS,4BAenC,yBAAK38F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,sDAGA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBU,qBAEzC,yBAAK58F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBU,uBAI/C,yBAAK58F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,sBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBW,kBAEzC,yBAAK78F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBW,oBAI/C,yBAAK78F,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,gBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBY,aAEzC,yBAAK98F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBY,eAI/C,yBAAK98F,UAAU,WACb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,kBAAf,kBACA,yBAAKA,UAAU,eACZg0F,GAAYA,EAASkI,iBAAiBa,eAEzC,yBAAK/8F,UAAU,eACZk0F,GAAaA,EAAUgI,iBAAiBa,iBAI/C,yBAAK/8F,UAAU,SACb,uBAAGA,UAAU,QAAb,SACA,uBAAGA,UAAU,YAAb,kOASA,uBAAGA,UAAU,YAAb,2VAQA,uBAAGA,UAAU,YAAb,wLAOFyP,KAAgBC,SAClB6lF,GACE,yBAAKv1F,UAAU,gBACb,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,UAAb,oBACA,uBAAGA,UAAU,0BAAb,qCAGA,yBAAKA,UAAU,8BACZm1F,GACC,kBAAC,GAAD,CACEpmF,OAAQomF,GACRxmF,QAAQ,WACR5G,QAAS,WACP6xF,QAIJ,kBAAC,GAAD,CACE7qF,OAAQomF,GACRxmF,QAAQ,cACR5G,QAAS,WACP6xF,WAOZ,yBAAK55F,UAAU,cACb,yBAAKA,UAAU,QACb,uBAAGA,UAAU,eAAb,gBACA,uBAAGA,UAAU,kBACVg0F,GAAYA,EAAS+F,YAAY,IAEpC,uBAAG/5F,UAAU,kBACVg0F,GAAYA,EAAS+F,YAAY,KAMtC,yBAAK/5F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,oBACA,2BAAOA,UAAU,wBAAjB,mBAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeC,iBAGzC,yBAAKj6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,mBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeE,iBAGzC,yBAAKl6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeG,gBAGzC,yBAAKn6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeI,gBAGzC,yBAAKp6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeK,aAGzC,yBAAKr6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeM,aASzC,yBAAKt6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeO,cAGzC,yBAAKv6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeQ,YAGzC,yBAAKx6F,UAAU,SACb,2BAAOA,UAAU,kBACd,IADH,2BAIA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeS,kBAGzC,yBAAKz6F,UAAU,SACb,2BAAOA,UAAU,kBACd,IADH,yBAIA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgG,eAAeU,sBAI3C,yBAAK16F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,iBACA,2BAAOA,UAAU,wBAAjB,+BAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAAS2G,aAAaC,gBAGvC,yBAAK56F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qCAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAAS2G,aAAaE,mBAGvC,yBAAK76F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kCAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAAS2G,aAAaG,gBAGvC,yBAAK96F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,+CAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAAS2G,aAAaI,oBAIzC,yBAAK/6F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,kBACA,2BAAOA,UAAU,wBAAjB,sCAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgH,cAAcC,eAGxC,yBAAKj7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,gBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgH,cAAcE,YAGxC,yBAAKl7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,uCAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASgH,cAAcG,oBAI1C,yBAAKn7F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,oBACA,2BAAOA,UAAU,wBAAjB,mBAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBC,iBAG3C,yBAAKr7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBAIA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBE,gBAG3C,yBAAKt7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBG,mBAG3C,yBAAKv7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBI,aAG3C,yBAAKx7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,YACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBK,WAG3C,yBAAKz7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,QAIA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBM,OAG3C,yBAAK17F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,WACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBO,UAG3C,yBAAK37F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,4BAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBQ,gBAG3C,yBAAK57F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,uBAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBS,qBAG3C,yBAAK77F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBU,mBAG3C,yBAAK97F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBW,cAG3C,yBAAK/7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBY,aAG3C,yBAAKh8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,aACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASoH,iBAAiBa,aAI7C,yBAAKj8F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,qBACA,2BAAOA,UAAU,wBAAjB,UACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBC,QAG3C,yBAAKn8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,oDAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBE,SAG3C,yBAAKp8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,SACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBG,QAG3C,yBAAKr8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,UACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBI,SAG3C,yBAAKt8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,wBAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBK,YAG3C,yBAAKv8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,2BAGA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBM,mBAG3C,yBAAKx8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBO,aAG3C,yBAAKz8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,iCACiC,KAEjC,2BAAOA,UAAU,eACdg0F,GACCA,EAASkI,iBAAiBQ,8BAGhC,yBAAK18F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,+BAGA,2BAAOA,UAAU,eACdg0F,GACCA,EAASkI,iBAAiBS,2BAShC,yBAAK38F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sDAGA,2BAAOA,UAAU,eACdg0F,GACCA,EAASkI,iBAAiBU,sBAGhC,yBAAK58F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBW,mBAG3C,yBAAK78F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,gBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBY,cAG3C,yBAAK98F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACdg0F,GAAYA,EAASkI,iBAAiBa,iBAI7C,yBAAK/8F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,SACA,2BAAOA,UAAU,wBAAjB,kOASA,2BAAOA,UAAU,wBAAjB,2VAQA,yNAWR,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,UAAb,gBACA,uBAAGA,UAAU,0BAAb,qCAGA,yBAAKA,UAAU,8BACZq1F,GACC,kBAAC,GAAD,CACEtmF,OAAQsmF,GACR1mF,QAAQ,WACR5G,QAAS,WACP8xF,QAIJ,kBAAC,GAAD,CACE9qF,OAAQsmF,GACR1mF,QAAQ,cACR5G,QAAS,WACP8xF,WAOZ,yBAAK75F,UAAU,cACb,yBAAKA,UAAU,QACb,uBAAGA,UAAU,eAAb,gBACA,uBAAGA,UAAU,kBACVk0F,GAAaA,EAAU6F,YAAY,IAEtC,uBAAG/5F,UAAU,kBACVk0F,GAAaA,EAAU6F,YAAY,IAEtC,uBAAG/5F,UAAU,kBACVk0F,GAAaA,EAAU6F,YAAY,IAEtC,uBAAG/5F,UAAU,kBACVk0F,GAAaA,EAAU6F,YAAY,IAEtC,uBAAG/5F,UAAU,kBACVk0F,GAAaA,EAAU6F,YAAY,IAEtC,uBAAG/5F,UAAU,kBACVk0F,GAAaA,EAAU6F,YAAY,KAGxC,yBAAK/5F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,oBACA,2BAAOA,UAAU,wBAAjB,mBAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeC,iBAG3C,yBAAKj6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,mBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeE,iBAG3C,yBAAKl6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeG,gBAG3C,yBAAKn6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeI,gBAG3C,yBAAKp6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeK,aAG3C,yBAAKr6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeM,aAS3C,yBAAKt6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeO,cAG3C,yBAAKv6F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeQ,YAG3C,yBAAKx6F,UAAU,SACb,2BAAOA,UAAU,kBACd,IADH,2BAIA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeS,kBAG3C,yBAAKz6F,UAAU,SACb,2BAAOA,UAAU,kBACd,IADH,yBAIA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8F,eAAeU,sBAI7C,yBAAK16F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,iBACA,2BAAOA,UAAU,wBAAjB,+BAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUyG,aAAaC,gBAGzC,yBAAK56F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qCAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUyG,aAAaE,mBAGzC,yBAAK76F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kCAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUyG,aAAaG,gBAGzC,yBAAK96F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,+CAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUyG,aAAaI,oBAI3C,yBAAK/6F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,kBACA,2BAAOA,UAAU,wBAAjB,sCAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8G,cAAcC,eAG1C,yBAAKj7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,gBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8G,cAAcE,YAG1C,yBAAKl7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,uCAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAU8G,cAAcG,oBAI5C,yBAAKn7F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,oBACA,2BAAOA,UAAU,wBAAjB,mBAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBC,iBAG7C,yBAAKr7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBAIA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBE,gBAG7C,yBAAKt7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBG,mBAG7C,yBAAKv7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBI,aAG7C,yBAAKx7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,YACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBK,WAG7C,yBAAKz7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,QAIA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBM,OAG7C,yBAAK17F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,WACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBO,UAG7C,yBAAK37F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,4BAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBQ,gBAG7C,yBAAK57F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,uBAGA,2BAAOA,UAAU,eACdk0F,GACCA,EAAUkH,iBAAiBS,qBAGjC,yBAAK77F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBU,mBAG7C,yBAAK97F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBW,cAG7C,yBAAK/7F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBY,aAG7C,yBAAKh8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,aACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUkH,iBAAiBa,aAI/C,yBAAKj8F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,qBACA,2BAAOA,UAAU,wBAAjB,UACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBC,QAG7C,yBAAKn8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,oDAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBE,SAG7C,yBAAKp8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,SACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBG,QAG7C,yBAAKr8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,UACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBI,SAG7C,yBAAKt8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,wBAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBK,YAG7C,yBAAKv8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,2BAGA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBM,mBAG7C,yBAAKx8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBO,aAG7C,yBAAKz8F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kCAGA,2BAAOA,UAAU,eACdk0F,GACCA,EAAUgI,iBAAiBQ,8BAGjC,yBAAK18F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,8BAC8B,KAE9B,2BAAOA,UAAU,eACdk0F,GACCA,EAAUgI,iBAAiBS,2BASjC,yBAAK38F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sDAGA,2BAAOA,UAAU,eACdk0F,GACCA,EAAUgI,iBAAiBU,sBAGjC,yBAAK58F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBW,mBAG7C,yBAAK78F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,gBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBY,cAG7C,yBAAK98F,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACdk0F,GAAaA,EAAUgI,iBAAiBa,iBAI/C,yBAAK/8F,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,SACA,2BAAOA,UAAU,wBAAjB,kOASA,2BAAOA,UAAU,wBAAjB,2VAQA,2BAAOA,UAAU,wBAAjB,0LAYV,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,YACb,yBAAKA,UAAU,QACb,yBAAKA,UAAU,0BACb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,wBACb,kBAAC,GAAD,CAAQ2O,QAAQ,WAAW5G,QAAS,kBAI1C,yBAAK/H,UAAU,qBACb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,wBACb,kBAAC,GAAD,CAAQ2O,QAAQ,WAAW5G,QAAS,mBAK5C,yBAAK/H,UAAU,QACb,yBAAKA,UAAU,eACb,qEAEF,yBAAKA,UAAU,eACb,yEAGJ,yBAAKA,UAAU,QACb,yBAAKA,UAAU,eACb,gDAEF,yBAAKA,UAAU,iBAEjB,yBAAKA,UAAU,QACb,yBAAKA,UAAU,aACZg0F,GAAYA,EAAS+F,YAAY,IAEpC,yBAAK/5F,UAAU,aACZk0F,GAAaA,EAAU6F,YAAY,KAGxC,yBAAK/5F,UAAU,QACb,yBAAKA,UAAU,aACZg0F,GAAYA,EAAS+F,YAAY,IAEpC,yBAAK/5F,UAAU,aACZk0F,GAAaA,EAAU6F,YAAY,KAGxC,yBAAK/5F,UAAU,QACb,yBAAKA,UAAU,WAIf,yBAAKA,UAAU,aACZk0F,GAAaA,EAAU6F,YAAY,KAGxC,yBAAK/5F,UAAU,QACb,yBAAKA,UAAU,WACf,yBAAKA,UAAU,aACZk0F,GAAaA,EAAU6F,YAAY,KAGxC,yBAAK/5F,UAAU,QACb,yBAAKA,UAAU,WACf,yBAAKA,UAAU,aACZk0F,GAAaA,EAAU6F,YAAY,KAGxC,yBAAK/5F,UAAU,QACb,yBAAKA,UAAU,WACf,yBAAKA,UAAU,aACZk0F,GAAaA,EAAU6F,YAAY,KAGxC,yBAAK/5F,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,qBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,mBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgG,eAAeC,gBAEvC,yBAAKj6F,UAAU,cACZk0F,GAAaA,EAAU8F,eAAeC,kBAI7C,yBAAKj6F,UAAU,SACb,yBAAKA,UAAU,qBAAf,mBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgG,eAAeE,gBAEvC,yBAAKl6F,UAAU,cACZk0F,GAAaA,EAAU8F,eAAeE,kBAI7C,yBAAKl6F,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgG,eAAeG,eAEvC,yBAAKn6F,UAAU,cACZk0F,GAAaA,EAAU8F,eAAeG,iBAI7C,yBAAKn6F,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgG,eAAeI,eAEvC,yBAAKp6F,UAAU,cACZk0F,GAAaA,EAAU8F,eAAeI,iBAI7C,yBAAKp6F,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgG,eAAeK,YAEvC,yBAAKr6F,UAAU,cACZk0F,GAAaA,EAAU8F,eAAeK,cAI7C,yBAAKr6F,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgG,eAAeM,YAEvC,yBAAKt6F,UAAU,cACZk0F,GAAaA,EAAU8F,eAAeM,cAI7C,yBAAKt6F,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,kBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,+BAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAAS2G,aAAaC,eAErC,yBAAK56F,UAAU,cACZk0F,GAAaA,EAAUyG,aAAaC,iBAI3C,yBAAK56F,UAAU,SACb,yBAAKA,UAAU,qBAAf,qCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAAS2G,aAAaE,kBAErC,yBAAK76F,UAAU,cACZk0F,GAAaA,EAAUyG,aAAaE,oBAI3C,yBAAK76F,UAAU,SACb,yBAAKA,UAAU,qBAAf,kCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAAS2G,aAAaG,eAErC,yBAAK96F,UAAU,cACZk0F,GAAaA,EAAUyG,aAAaG,iBAI3C,yBAAK96F,UAAU,SACb,yBAAKA,UAAU,qBAAf,+CAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAAS2G,aAAaI,kBAErC,yBAAK/6F,UAAU,cACZk0F,GAAaA,EAAUyG,aAAaI,oBAI3C,yBAAK/6F,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,mBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,sCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgH,cAAcC,cAEtC,yBAAKj7F,UAAU,cACZk0F,GAAaA,EAAU8G,cAAcC,gBAI5C,yBAAKj7F,UAAU,SACb,yBAAKA,UAAU,qBAAf,gBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgH,cAAcE,WAEtC,yBAAKl7F,UAAU,cACZk0F,GAAaA,EAAU8G,cAAcE,aAI5C,yBAAKl7F,UAAU,SACb,yBAAKA,UAAU,qBAAf,uCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgH,cAAcG,kBAEtC,yBAAKn7F,UAAU,cACZk0F,GAAaA,EAAU8G,cAAcG,oBAI5C,yBAAKn7F,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,qBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,mBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBC,gBAEzC,yBAAKr7F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBC,kBAI/C,yBAAKr7F,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBAIA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBE,eAEzC,yBAAKt7F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBE,iBAI/C,yBAAKt7F,UAAU,SACb,yBAAKA,UAAU,qBAAf,qBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBG,kBAEzC,yBAAKv7F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBG,oBAI/C,yBAAKv7F,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBI,YAEzC,yBAAKx7F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBI,cAI/C,yBAAKx7F,UAAU,SACb,yBAAKA,UAAU,qBAAf,YACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBK,UAEzC,yBAAKz7F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBK,YAI/C,yBAAKz7F,UAAU,SAEb,yBAAKA,UAAU,qBAAf,SACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBM,MAEzC,yBAAK17F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBM,QAI/C,yBAAK17F,UAAU,SACb,yBAAKA,UAAU,qBAAf,WACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBO,SAEzC,yBAAK37F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBO,WAI/C,yBAAK37F,UAAU,SACb,yBAAKA,UAAU,qBAAf,4BAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBQ,eAEzC,yBAAK57F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBQ,iBAI/C,yBAAK57F,UAAU,SACb,yBAAKA,UAAU,qBAAf,uBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBS,oBAEzC,yBAAK77F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBS,sBAI/C,yBAAK77F,UAAU,SACb,yBAAKA,UAAU,qBAAf,qBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBU,kBAEzC,yBAAK97F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBU,oBAI/C,yBAAK97F,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBW,aAEzC,yBAAK/7F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBW,eAI/C,yBAAK/7F,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASoH,iBAAiBY,YAEzC,yBAAKh8F,UAAU,cACZk0F,GAAaA,EAAUkH,iBAAiBY,cAI/C,yBAAKh8F,UAAU,SACb,yBAAKA,UAAU,qBAAf,aACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASgH,cAAcE,WAEtC,yBAAKl7F,UAAU,cACZk0F,GAAaA,EAAU8G,cAAcE,aAI5C,yBAAKl7F,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,sBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,UACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBC,OAEzC,yBAAKn8F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBC,SAI/C,yBAAKn8F,UAAU,SACb,yBAAKA,UAAU,qBAAf,oDAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBE,QAEzC,yBAAKp8F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBE,UAI/C,yBAAKp8F,UAAU,SACb,yBAAKA,UAAU,qBAAf,SACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBG,OAEzC,yBAAKr8F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBG,SAI/C,yBAAKr8F,UAAU,SACb,yBAAKA,UAAU,qBAAf,UACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBI,QAEzC,yBAAKt8F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBI,UAI/C,yBAAKt8F,UAAU,SACb,yBAAKA,UAAU,qBAAf,wBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBK,WAEzC,yBAAKv8F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBK,aAI/C,yBAAKv8F,UAAU,SACb,yBAAKA,UAAU,qBAAf,2BACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBM,kBAEzC,yBAAKx8F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBM,oBAI/C,yBAAKx8F,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBO,YAEzC,yBAAKz8F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBO,cAI/C,yBAAKz8F,UAAU,SACb,yBAAKA,UAAU,qBAAf,kCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GACCA,EAASkI,iBAAiBQ,6BAE9B,yBAAK18F,UAAU,cACZk0F,GACCA,EAAUgI,iBAAiBQ,+BAInC,yBAAK18F,UAAU,SACb,yBAAKA,UAAU,qBAAf,+BAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GACCA,EAASkI,iBAAiBS,0BAE9B,yBAAK38F,UAAU,cACZk0F,GACCA,EAAUgI,iBAAiBS,4BAenC,yBAAK38F,UAAU,SACb,yBAAKA,UAAU,qBAAf,sDAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBU,qBAEzC,yBAAK58F,UAAU,cACZk0F,GACCA,EAAUgI,iBAAiBU,uBAInC,yBAAK58F,UAAU,SACb,yBAAKA,UAAU,qBAAf,sBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBW,kBAEzC,yBAAK78F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBW,oBAI/C,yBAAK78F,UAAU,SACb,yBAAKA,UAAU,qBAAf,gBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBY,aAEzC,yBAAK98F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBY,eAI/C,yBAAK98F,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZg0F,GAAYA,EAASkI,iBAAiBa,eAEzC,yBAAK/8F,UAAU,cACZk0F,GAAaA,EAAUgI,iBAAiBa,iBAI/C,yBAAK/8F,UAAU,eACb,uBAAGA,UAAU,QAAb,SACA,uBAAGA,UAAU,YAAb,kOASA,uBAAGA,UAAU,YAAb,2VAQA,uBAAGA,UAAU,YAAb,2LAUR4zF,GACA,yBAAK5zF,UAAW,cAAgByO,EAAY,QAAU,KACnDyvE,IACC,6BACE,yBAAKl+E,UAAU,eACb,+CAEF,yBAAKA,UAAU,mBACb,4GAKD61F,GAAa7xF,OAAS,GACW,WAAhC6xF,GAAa,GAAGmH,aACd,yBAAKh9F,UAAU,UACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACZyP,KAAgBM,UACf,yBACE/P,UAAU,WACVC,IAAKg9F,KACL98F,IAAI,aAGN,yBACEH,UAAU,cACVC,IAAKi9F,KACL/8F,IAAI,cAIV,yBAAKH,UAAU,kBACb,yBAAKA,UAAU,eACb,6CAEF,yBAAKA,UAAU,QACb,uBAAG+H,QAAS,kBAAM4wF,GAAY,UAA9B,sBAKJ,yBAAK34F,UAAU,wBACZm1F,GACC,kBAAC,GAAD,CACEpmF,OAAQomF,GACR7lF,aAAa,EACbX,QAAQ,WACR5G,QAAS,WACP6xF,QAIJ,yBAAK55F,UAAU,cACb,kBAAC,GAAD,CACE+O,OAAQomF,GACRxmF,QAAQ,cACR5G,QAAS,WACP6xF,WAOZ,yBAAK55F,UAAU,YACb,2BAAOA,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKC,IAAK+oF,QAFd,+DAaA,2BAAOhpF,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKC,IAAK+oF,QAFd,gDASP+M,GAAc/xF,OAAS,GACW,YAAjC+xF,GAAc,GAAGiH,aACf,yBAAKh9F,UAAU,UACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACZyP,KAAgBM,UACf,yBACE/P,UAAU,WACVC,IAAKk9F,KACLh9F,IAAI,aAGN,yBACEH,UAAU,cACVC,IAAKm9F,KACLj9F,IAAI,eAIV,yBAAKH,UAAU,kBACb,yBAAKA,UAAU,eACb,8CAEF,yBAAKA,UAAU,QACb,uBAAG+H,QAAS,kBAAM4wF,GAAY,WAA9B,sBAKJ,yBAAK34F,UAAU,wBACZq1F,GACC,kBAAC,GAAD,CACEtmF,OAAQsmF,GACR/lF,aAAa,EACbX,QAAQ,WACR5G,QAAS,WACP8xF,QAIJ,yBAAK75F,UAAU,cACb,kBAAC,GAAD,CACE+O,OAAQsmF,GACR1mF,QAAQ,cACR5G,QAAS,WACP8xF,WAOZ,yBAAK75F,UAAU,YACb,2BAAOA,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKC,IAAK+oF,QAFd,kCAMA,2BAAOhpF,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKC,IAAK+oF,QAFd,kEAOA,2BAAOhpF,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKC,IAAK+oF,QAFd,yCAWZ,yBAAKhpF,UAAU,aACb,8BAAU6H,SAAU4G,GAClB,yBAAKzO,UAAU,WACb,mDAEF,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,YACb,qEAEsC,IACpB,GAAfg7B,GAAmB,OAAS,OAH/B,2BAMF,yBAAKh7B,UAAU,aACb,kBAAC,GAAD,CACEgO,KAAMuoF,GACNpwF,SAAU,WA7zEtBswF,GAAyB,IAC3BC,GAA0BD,GAAyB,GACnDD,IAAkBD,MA4zEJ1uF,SAC6B,IAA3B4uF,IACA53E,GAAYm7B,YAAY4L,kBACxB2xC,OAKR,yBAAKv3F,UAAU,mBACb,yBAAKA,UAAU,YACb,gIAKF,yBAAKA,UAAU,aACb,kBAAC,GAAD,CAAQgO,KAAMumF,EAAQpuF,SAAU,kBA3zF9CquF,GAAWD,SACI,IAAXA,GACFG,GAAiB,GACjBE,GAAkB,GAClBI,IAAuB,KACH,IAAXT,IACTG,GAAiB,GACjBE,GAAkB,GAClBI,IAAuB,UAszFf,yBACEh1F,UACEyP,KAAgBC,SAAW,gBAAkB,YAGjD,yBAAK1P,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CAEEY,KAAK,sBAELiN,SAAS,EACThG,UAAU,EACV1B,SAAU,iBAIhB,6BACE,uBAAGnG,UAAU,YAAb,iBAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CAEEY,KAAK,mBAELiN,SAAS,EACThG,UAAU,EACV1B,SAAU,iBAIhB,6BACE,uBAAGnG,UAAU,YAAb,kBAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CACE6N,QAASspF,GACTv2F,KAAK,iBACLuF,SAAU,kBAv9E5BixF,IAA2BD,SAC3BG,IAAiB,QA09EL,6BACE,uBAAGt3F,UAAU,YAAb,gBAGHu0F,GACC,6BACE,yBAAKv0F,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CACE6N,QAAS4mF,EACT7zF,KAAK,yBACLuF,SAAU,kBAl+EhCuuF,GAAkBD,QAClB6C,IAAiB,QAq+ED,6BACE,uBAAGt3F,UAAU,YAAb,wBAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CACE6N,QAAS8mF,EACT/zF,KAAK,2BACLuF,SAAU,kBA3+EhCyuF,GAAmBD,QACnB2C,IAAiB,QA8+ED,6BACE,uBAAGt3F,UAAU,YAAb,0BAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CACE6N,QAASknF,GACTn0F,KAAK,gBACLuF,SAAU,WAj8EhC6uF,IAAwBD,SAq8ER,6BACE,uBAAG/0F,UAAU,YAAb,gBAKPu0F,GACC,yBAAKv0F,UAAU,eACb,yBAAKA,UAAU,SACb,2BAAOA,UAAU,aAAjB,iJAMF,yBAAKA,UAAU,SACb,+CACA,kBAAC,GAAD,CACEY,KAAK,cACLiI,aAAc,EACdgB,QAASjH,GACT+F,UAAU,OACVtB,YAAY,sBACZwE,aAAa,EACbtG,aAAc48D,GACdh5D,eAAgB,SAACT,GAAD,OArjGV,SAACA,GAEb,KAARA,IACFy4D,GAAUniC,SAAU,EACpBmiC,GAAU7kC,WAAa5zB,EAAI7F,WAC3Bu+D,GAAaD,IACbiB,GAAoB15D,EAAI20F,eA+iGiBngB,CAAkBx0E,IAC3CjD,UAAW2wF,GACX7uF,OAAQ,SAACmB,GA3jGvB2tF,GADa,kBA4jG+B3tF,EA3jG1Bkb,GAASzJ,IACT,QA6jGR,6BACE,kBAAC,GAAD,CACExS,GAAG,cACH00B,OAAQ8kC,GACRjK,oBApjGpB,SACExuD,EACA4wB,EACA3xB,EACAD,GAEA+kB,GAAa,GACb00C,GAAU/hC,OAAS,GAEnBgiC,GAAaD,IACb,IAAI1oC,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,GAAgBk+C,GAAcj+C,GAAW,SAACnvB,GAAD,OACvCqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,OAqiGtBkvD,SAj/EC,SAACluD,GACE,IAAlBA,EAAIu2B,YACNi3D,IAAU,GACV4D,YA+/EUjD,IACA,yBAAK72F,UAAU,kBACb,kBAAC,GAAD,CACE6N,QAAS8oF,GACT/1F,KAAK,OACLuF,SAAU,WAz/E1BywF,IAASD,OA2/EK,2BAAO32F,UAAU,mBAAjB,0CAC0C,IACxC,uBAAGsG,OAAO,SAASwZ,KAAMw9E,MACvB,8DAKR,yBAAKt9F,UAAU,kBACb,kBAAC,GAAD,CACE6N,QAASgnF,EACTj0F,KAAK,UACLuF,SAAU,WA/jFxB2uF,GAAYD,MAikFA,2BAAO70F,UAAU,mBAAjB,0CAC0C,IACxC,uBAAGsG,OAAO,SAASwZ,KAAI,OAAE9P,SAAF,IAAEA,QAAF,EAAEA,GAAQgB,aAC/B,8CAHJ,IAKI,IACF,uBAAG1K,OAAO,SAASwZ,KAAMy9E,MACvB,+CAPJ,IASI,IACF,uBAAGx1F,QAAS,kBAAM4wF,GAAY,UAC5B,2CACG,IAZP,IAaI,IACF,uBAAGryF,OAAO,SAASwZ,KAAM09E,MACvB,4CAoBLpxE,IACC,yBAAKpsB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZosB,GACN,oCACE,sEACA,wEACyCA,GADzC,MAKF,+BAAQA,MAMdyoE,EAWE,KAVF,yBAAK70F,UAAU,SACb,kBAAC,GAAD,KACE,oCACE,oHAQPq3F,IACC,yBAAKr3F,UAAU,SACb,kBAAC,GAAD,KACE,oCACE,4DAKR,yBAAKA,UAAU,iBACb,kBAAC,GAAD,CACEyO,UAAWA,EACXE,QAAQ,SACR5G,QA3hGK,SAAC3B,GACpB,GACG2wF,IACAE,IACAE,IACA1C,GACAE,GACAI,GAGI,CACLtoE,GAAa,GACbrmB,EAAEqtF,iBACF0C,IAAa,GACb,IAAMr8D,EAAcue,GAAmB1Y,GAAW,eAClD,GAAI01D,IAAWU,GAAc/xF,OAAS,EAAG,CACvC,IAAMg1B,EAAU,CACd5J,cAAevQ,GAAYwQ,cAC3BouE,MAAM,EACNC,mBAAoB3H,GAAc,GAAG4H,kBACrCC,gBAAiB7H,GAAc,GAAG8H,kBAClCC,iBAAkB,OAClBC,mBAAoBhI,GAAc,GAAGiI,kBACrCC,gBAAiBlI,GAAc,GAAGmI,kBAClCC,iBAAkB,OAClBC,KAAK,EACLC,gBAAiBtI,GAAc,GAAGuI,eAClCC,aAAcxI,GAAc,GAAGyI,eAC/BC,cAAe,OACfC,gBAAiB3I,GAAc,GAAG4I,gBAClCC,cAAe,OACfC,cAAe9I,GAAc,GAAG+I,gBAChCC,YAAa,GACbzvE,sBACE/iB,SAASsS,GAAYyQ,wBAA0B,EACjD0vE,WAAY,GACZC,WAAY,GACZC,WAAY,GACZC,IAAI,EACJC,eAAgBrJ,GAAc,GAAGsJ,cACjCC,YAAavJ,GAAc,GAAGwJ,cAC9BC,aAAc,OACdC,eAAgB1J,GAAc,GAAG4I,gBACjCe,aAAc,OACdC,aAAc5J,GAAc,GAAG+I,gBAC/Bc,WAAY,GACZ5tC,UAAU,EACV6tC,YAAY,EACZtwE,OAAQ1Q,GAAY0Q,OACpBuwE,WAAYhmE,EACZimE,WAAY,GACZC,SAAUjK,GAAc,GAAGkK,WAsC7BlnE,GAAsB6/D,GAAyB5/D,QAC1C,GAAIm8D,IAAUU,GAAa7xF,OAAS,EAAG,CAC5C,IAAMg1B,EAAU,CACd5J,cAAevQ,GAAYwQ,cAC3BouE,MAAM,EACNC,mBAAoB7H,GAAa,GAAG8H,kBACpCC,gBAAiB/H,GAAa,GAAGgI,kBACjCC,iBAAkB,OAClBC,mBAAoBlI,GAAa,GAAGmI,kBACpCC,gBAAiBpI,GAAa,GAAGqI,kBACjCC,iBAAkB,OAClBC,KAAK,EACLC,gBAAiBxI,GAAa,GAAGyI,eACjCC,aAAc1I,GAAa,GAAG2I,eAC9BC,cAAe,OACfC,gBAAiB7I,GAAa,GAAG8I,gBACjCC,cAAe,OACfC,cAAehJ,GAAa,GAAGiJ,gBAC/BC,YAAa,GACbzvE,sBACE/iB,SAASsS,GAAYyQ,wBAA0B,EACjD0vE,WAAY,GACZC,WAAY,GACZC,WAAY,GACZC,IAAI,EACJC,eAAgBvJ,GAAa,GAAGwJ,cAChCC,YAAazJ,GAAa,GAAG0J,cAC7BC,aAAc,OACdC,eAAgB5J,GAAa,GAAGqK,eAChCR,aAAc,OACdC,aAAc9J,GAAa,GAAGsK,eAC9BP,WAAY,GACZ5tC,UAAU,EACV6tC,YAAY,EACZtwE,OAAQ1Q,GAAY0Q,OACpBuwE,WAAYhmE,EACZimE,WAAY,GACZC,SAAUnK,GAAa,GAAGoK,WAsC5BlnE,GAAsB6/D,GAAyB5/D,SA3JjDs+D,IAAiB,IAmhGLzvF,SAAUiyF,MAAcvC,WCvgH3B6I,I,OAjEiD,SAAC/6F,GAE/D,IAAMk6B,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAyBJ,OAvBAza,IAAM2H,WAAU,WACdgS,OAAOqO,eAAerB,QAAQ,cAAe,OAC5C,IAGH3mB,IAAM2H,WAAU,WACd,IAAMoK,EAAO,CACXqf,UACEzB,GAAgBC,aAAagB,yBAAyBX,UACxDwW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,KAC1B,IAGD,yBAAKrX,UAAU,WACb,yBAAKA,UAAU,cACb,6DAEF,yBAAKA,UAAU,iBACb,kHAKF,kBAAC,GAAD,CACEw/B,WAAU,UAAKA,GACfC,WAAU,UAAKA,GACfC,aAAY,UAAKA,Q,oBCvCV2gE,I,oBAZqC,SAACh7F,GAAD,OAClD,uBAAKrF,UAAU,iBACb,yBAAOA,UAAU,WAAWqF,EAAMwwD,SAClC,yBACE71D,UAAW,aAAmC,aAApBqF,EAAMi7F,UAA2B,QAAU,KAEpEj7F,EAAMi7F,WAET,yBAAOtgG,UAAU,WAAWqF,EAAM4jF,YCiDvBsX,GApD6B,SAACl7F,GAC3C,IAAMsnB,EAAUC,cAMhB,OACE,oCACGvnB,EAAMm7F,aACJn7F,EAAMo7F,gBACL,oCACE,2BAAOzgG,UAAU,oBAAjB,qEAGA,yBAAKA,UAAU,uBACZqF,EAAMq7F,kBAAkBz1F,KAAI,SAAC7B,EAAMW,GAAP,OAC3B,yBAAKwB,IAAKxB,GACR,kBAAC,GAAD,CACE8rD,QAASzsD,EAAKmxB,iBACd+lE,UAAU,iBACVrX,QAAS,UAKjB,yBAAKjpF,UAAU,kBACb,0BAAMA,UAAU,yBAChB,2BAAOA,UAAU,oBAAoB+H,QAzBjD,WACE4kB,EAAQO,KAAKzsB,MAwBH,kCAKF4E,EAAMs7F,kBACR,yBAAK3gG,UAAU,mBACZqF,EAAMu7F,oBAAoB31F,KAAI,SAAC7B,EAAMW,GAAP,OAC7B,yBAAKwB,IAAKxB,GACR,kBAAC,GAAD,CACE8rD,QAASzsD,EAAKijC,aAAejjC,EAAKy3F,YAClCP,UAAWl3F,EAAK4N,QAAU5N,EAAK8N,OAC/B+xE,QAAS7/E,EAAKixB,cAAgBjxB,EAAK03F,oBAM3C,wC,qBjCsfKC,GAphB6B,WAE1C,IAAMxhE,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAX4C,EAalBza,aAbkB,mBAazC8mB,EAbyC,KAahC1C,EAbgC,OAcdpkB,YAAwB,GAdV,mBAczCmJ,EAdyC,KAc9Bge,EAd8B,OAeZnnB,YAAwB,GAfZ,mBAezCk7F,EAfyC,KAe7BQ,EAf6B,OAgBF17F,YAAwB,GAhBtB,mBAgBzCm7F,EAhByC,KAgBxBQ,EAhBwB,OAkB9C37F,YAAwB,GAlBsB,mBAiBzCq7F,EAjByC,KAiBtBO,EAjBsB,OAmBE57F,WAChD,IApB8C,mBAmBzCo7F,EAnByC,KAmBtBS,EAnBsB,OAsBM77F,WAEpD,IAxB8C,mBAsBzCs7F,EAtByC,KAsBpBQ,EAtBoB,OAyBhB97F,YAAwB,GAzBR,gCA0BJA,YAAe,IA1BX,mBA0BzC+7F,EA1ByC,aA2BR/7F,YAAwB,IA3BhB,mBA2B3B6hE,GA3B2B,WA4ChD,SAASxT,EAAmB/8C,GAC1B,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,oBAClD6e,GAAa,QAEb,GAAI7V,GAAOA,EAAIS,KAAM,CAEnB,IAAI/O,EAAmB4Q,KAAKC,MAAMvC,EAAIS,MAAM5O,QAC1C,SAACW,GAAD,OAKEA,EALF,aAOkB,IAAhBd,EAAKtE,QACPyoB,GAAa,GACbw0E,GAAmB,GAC2B,IAA1CpiF,GAAYm7B,YAAYoL,eAC1BnsB,GAAqBqoE,EAAoBziF,GAAYwQ,eACT,IAA1CxQ,GAAYm7B,YAAYoL,gBAC1B67C,GAAmB,GACnBD,GAAc,GACdE,GAAqB,GACrBz0E,GAAa,IAG6B,IAA1C5N,GAAYm7B,YAAYoL,eACkB,IAA1CvmC,GAAYm7B,YAAYoL,eAExBuM,GACE4vC,EACA1iF,GAAYwQ,iBAqBhB8xE,EAAqB74F,GACrBmkB,GAAa,GACbu0E,GAAc,KAMtB,SAASO,EAAqB3qF,GAE5B,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MACdsT,EAAW,IACX+K,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,yBAElD,GAAIgJ,GAAOA,EAAIS,KAAM,CAKnB,IAJA,IAAI/O,EAAmB4Q,KAAKC,MAAMvC,EAAIS,MAAM5O,QAC1C,SAACW,GAAD,OAAeA,EAAKixB,gBAElBmnE,GAAoB,EACfx2F,EAAI,EAAGA,EAAI1C,EAAKtE,OAAQgH,IAC/B,GAAuB,aAAnB1C,EAAK0C,GAAGgM,OAAuB,CACjCwqF,GAAW,EACX,MAGAA,EAAUJ,EAAuB94F,GAChC44F,GAAqB,GAC1BF,GAAc,IA6CpB,SAASM,EAAmB1qF,GAC1B,IAAKA,GAAOA,EAAIR,MACdsT,EAAW,IACX+K,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,wBAC7C,CACL,IAAMwgB,EAAclV,KAAKC,MAAMvC,EAAIS,MACnC,GAAI+W,EAAa,CASf,IARA,IAAM9lB,EAAmB8lB,EAAY3lB,QACnC,SAACW,GAAD,OAAeA,EAAKsrE,gBAEhBruB,EAID,GACIr7C,EAAI,EAAGA,EAAI1C,EAAKtE,OAAQgH,IAAK,CACpC,IAAI2e,EAIA,CACFk3E,YAAav4F,EAAK0C,GAAGuvB,iBACrBrjB,OAAQ5O,EAAK0C,GAAGy2F,SAChBX,aAAcx4F,EAAK0C,GAAG0pE,cAExBruB,EAAIn5B,KAAKvD,GAEXy3E,EAAuB/6C,GACvB26C,GAAc,QAGdt3E,EAAW,IAGf+C,GAAa,GAUf,SAAS49D,EAAYzzE,GACnB,IAAKA,GAAOA,EAAIR,MACd/L,QAAQC,IAAIsM,EAAIP,QAChBqT,EAAW9S,EAAIR,OACfqe,GAAW,CAAEG,OAAQ,eAAgBhnB,MAAO,oBAC5C6e,GAAa,QAEb,GACoB,KAAjB7V,EAAIS,KAAK0W,MAAgC,KAAjBnX,EAAIS,KAAK0W,MACN,OAA5BnX,EAAIS,KAAKwB,KAAK6oF,UAoBT,GACL9qF,EAAIS,KAAKwB,KAAK8oF,sBAAsB,GAAGC,iBAErC,qCADFhrF,EAAIS,KAAKwB,KAAK8oF,sBAAsB,GAAGC,gBAGvCz6B,GAAgB,GAChB16C,GAAa,OACR,CACL,IAAIo1E,EAAkB,GAClBjrF,EAAIS,KAAKwB,KAAK8oF,sBAAsB39F,OAAS,GAC/C4S,EAAIS,KAAKwB,KAAK8oF,sBAAsBt1F,SAClC,SAACsW,EAAc3X,GACH,IAANA,EAAS62F,EAAkBl/E,EAAQi/E,gBAClCC,GAAe,YAASl/E,EAAQi/E,oBAI3Cv3F,QAAQC,IAAI,uBAAwBu3F,GACpCn4E,EAAW9S,EAAIS,KAAKwB,KAAK8oF,sBAAsB,GAAGC,iBAClDn1E,GAAa,OAtCb,CACA,IAAMq1E,EAAelrF,EAAIS,KAAKwB,KAAK6oF,UACnCjtE,GAAW,CAAEG,OAAQ,kBAAmBhnB,MAAO,kBAG/Cm0F,GAAoB,GAGpB,IAAMC,EAAY,CAChB5yE,cAAevQ,GAAYwQ,cAC3B6O,kBAAkB,GAGpBhf,aAAa+M,QACX,mBACA0jC,KAAKz2C,KAAKkG,UAAU4iF,KAGtB/iF,OAAOY,SAASC,KAAOgiF,GAtN7Bx8F,aAAgB,WAUd,OAT8C,IAA1CuZ,GAAYm7B,YAAYoL,eAC1B67C,GAAmB,GACnBC,GAAqB,GACrBF,GAAc,GACdv0E,GAAa,IAEbilC,GAAmBiC,EAAoB90C,GAAYwQ,eAG9C,WACL5L,cAAckvC,OAEf,IAmOH,IAAMovC,EAAsB,SAACh4C,GAC3B,IAAM1yC,EAAO,CACXqf,UAAWzB,GAAgBC,aAAakB,UAAUC,eAClD0V,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,cACpB4yE,SAAUl4C,GAGZvzB,GAA2Bnf,GAG3B4f,GAAiBC,UACfO,GAAgBvC,aAAakB,UAAUC,iBA4E3C,OACE,gCACGsqE,GACCC,EAAoB58F,OAAS,GAC7B48F,EAAoB7gD,MAAK,SAAC1oC,GAAD,MAA+B,YAAhBA,EAAKH,WAC3C,uBAAKlX,UAAU,gBACb,uBAAKA,UAAU,WAAf,4BACA,uBAAKA,UAAU,gBAAf,2IAGN,uBAAKA,UAAW,cAAgByO,EAAY,QAAU,KACpD,gBAAC,GAAD,CACEgyF,gBAAiBA,EACjBE,kBAAmBA,EACnBD,kBAAmBA,EACnBE,oBAAqBA,EACrBJ,WAAYA,IA0Bbp0E,GACC,uBAAKpsB,UAAU,cACb,gBAAC,GAAD,KACsB,kBAAZosB,EACN,gCACE,oEACA,sEACyCA,EADzC,MAKF,6BAAQA,MAMdq0E,GAAmBD,GACnB,iCAIIG,GACA,uBAAK3gG,UAAU,gBACb,uBAAKA,UAAU,UAAUC,IAAKiiG,KAAU/hG,IAAI,OAC5C,yBAAOH,UAAU,aAAjB,oGAMJ,uBAAKA,UAAU,YACb,gBAAC,GAAD,CACE2O,QAAQ,SACRF,UAAWA,EACX5G,SAAU44F,GAAmBY,EAC7Bt5F,QA1Od,WAEE0kB,GAAa,GACbxN,OAAOW,MAAM,yDACbgyC,GAAoBy4B,EAAaxrE,GAAYwQ,cAAe,WkCvNjD8yE,I,cAlBqC,SAAC98F,GAEjD,IAAMsnB,EAAUC,cAMhB,OACI,yBAAK5sB,UAAU,gBAAgB+H,QALnC,WACI4kB,EAAQO,KAAK7nB,EAAM+8F,cAKf,0BAAMpiG,UAAU,yBAChB,2BAAOA,UAAU,UACZqF,EAAMg9F,eCGRC,GAhB+C,SAACj9F,GAC3D,OACI,yBAAKrF,UAAU,sBACX,2BAAOA,UAAU,aAAjB,mBACA,2BAAOA,UAAU,UAAjB,2DACA,yBAAKA,UAAU,UAEPqF,EAAMk9F,mBAAmBt3F,KAAI,SAACrL,EAAQmK,GAAT,OACzB,kBAAC,GAAD,CAAewB,IAAKxB,EAAOs4F,WAAYziG,EAAOgB,KAAMwhG,WAAYxiG,EAAOmB,eCJ3FyhG,GAAW,EACTx2E,GAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAwL7CsjF,GAtLiB,WAAM,MAENn9F,WAAgC,IAF1B,mBAE7B8mB,EAF6B,KAEpB1C,EAFoB,OAGFpkB,YAAwB,GAHtB,mBAG7BmJ,EAH6B,KAGlBge,EAHkB,OAINnnB,WAC5BuZ,GAAYm7B,YAAYkL,kBALU,mBAI7B6E,EAJ6B,KAIpB24C,EAJoB,KAoCpC,SAASC,EAAe/rF,GACtB,IAAKA,GAAOA,EAAIR,MACd/L,QAAQC,IAAIsM,EAAIP,QAChBqT,EAAW9S,EAAIR,OACfqe,GAAW,CAAEG,OAAQ,kBAAmBhnB,MAAO,oBAC/C6e,GAAa,QAEb,GACoB,KAAjB7V,EAAIS,KAAK0W,MAAgC,KAAjBnX,EAAIS,KAAK0W,MACN,OAA5BnX,EAAIS,KAAKwB,KAAK6oF,UAUT,CAED9qF,EAAIS,KAAKwB,KAAK8oF,sBAAsB39F,OAAS,GAC/C4S,EAAIS,KAAKwB,KAAK8oF,sBAAsBt1F,SAClC,SAACsW,EAAc3X,GACH,IAANA,EAA2B2X,EAAQi/E,gBACnB,YAASj/E,EAAQi/E,oBAI3Cl4E,EAAWzY,IACXwb,GAAa,OApBb,CACA,IAAMq1E,EAAelrF,EAAIS,KAAKwB,KAAK6oF,UAOnCziF,OAAOY,SAASC,KAAOgiF,GA4B7B,SAAS93C,EAAsBpzC,GAE7B,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,KAAM,CACZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MAGnCgtC,GAAaj2B,GACbs0E,EAAWt0E,EAAY82B,mBAK7B,OAzFA5/C,aAAgB,WACd,IAAIs9F,EAAUr/E,aACd,YACmB,GAAbi/E,IAAkB3jF,GAAYm7B,YAAYkL,iBAC5CzhC,cAAcm/E,IAEdJ,MAEgC,KAA9B3jF,GAAYwQ,eACZrD,GAAwBoD,iBAExB3C,GAAa,GACbyD,IACE,SAACtZ,GAAD,OAAcozC,EAAsBpzC,KACpCiI,GAAYwQ,eAAiBrD,GAAwBoD,mBAbxB,KAkBrC,OAAO,WACL3L,cAAcm/E,MAEf,IAoED,uBAAK5iG,UAAU,YACb,uBAAKA,UAAU,eACb,wCAEF,uBAAKA,UAAU,UACb,uBAAKA,UAAU,YAAYC,IAAK4iG,KAAa1iG,IAAI,WAEnD,2BACE,uBAAKH,UAAU,YACb,uDAEF,uBAAKA,UAAU,gBACb,0BACE,oVAOA,0BACG,IADH,qJAI0B,KAE1B,mYAUJ,uBAAKA,UAAW,eACb+pD,EACC,uBAAK/pD,UAAU,YACb,gBAAC,GAAD,CACE2O,QAAQ,SACRF,UAAWA,EACX5G,UAAWkiD,EACXhiD,QA9Gd,WAEE0kB,GAAa,GACbxN,OAAOW,MAAM,yDACbgyC,GAAoB+wC,EAAgB9jF,GAAYwQ,cAAe,OA8GvD,2BACE,uBAAKrvB,UAAW,eACd,gBAAC,GAAD,CACE2O,QAAQ,gBACRF,UAAWA,EACX5G,SAAU26F,GAAW,EACrBz6F,QAhFhB,YAEkC,KAA9B8W,GAAYwQ,eACZrD,GAAwBoD,gBAExBc,IACE,SAACtZ,GAAD,OAAcozC,EAAsBpzC,KACpCiI,GAAYwQ,eAAiBrD,GAAwBoD,mBA4E/C,2BACA,uBAAKpvB,UAAU,gBAAf,sGAOLosB,GACC,uBAAKpsB,UAAU,cACb,gBAAC,GAAD,KACsB,kBAAZosB,EACN,gCACE,oEACA,sEACyCA,EADzC,MAKF,6BAAQA,QC2DT02E,GAlO6B,SAACz9F,GAE3C,IAAMk6B,EAAavK,KACbnV,EAAW6M,cACX8S,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAZiD,EAavBza,IAAM4G,SAClC2S,GAAYm7B,YAAYkL,kBAd2B,mBAa9C6E,EAb8C,KAarCg5C,EAbqC,OAgBnBz9F,IAAM4G,SACtC2S,GAAYm7B,YAAYwL,qBAjB2B,mBAgB9Cw9C,EAhB8C,KAgBlCC,EAhBkC,OAqBnD39F,IAAM4G,SAAkB2S,GAAYm7B,YAAY0L,uBArBG,gCAsBCpgD,IAAM4G,SAC1D2S,GAAYm7B,YAAY2L,sBAvB2B,gCA0BnDrgD,IAAM4G,YA1B6C,mBAyB9Cg3F,EAzB8C,KAyB9BC,EAzB8B,KA2B/C51E,EAAci2B,GAAW3jC,EAAS8N,QACxCroB,IAAM2H,WAAU,YAqChB,WACE,IAAIo5C,EAA+C,GACnDxnC,GAAYqkC,gBAAgB72C,SAAQ,SAACzM,IAC9BA,EAAOkB,YAAclB,EAAOuB,YAC/BklD,EAAIn5B,KAAK,CAAEtsB,KAAMhB,EAAOgB,KAAMG,OAAQnB,EAAOmB,YAGjDoiG,EAAkB98C,GA3ClB+8C,GACAnkF,OAAOqO,eAAerB,QAAQ,cAAe,QAC5C,IACH3mB,IAAM2H,WAAU,WACdg2F,EAAYpkF,GAAYm7B,YAAYwL,qBACpCu9C,EAAWlkF,GAAYm7B,YAAYkL,oBAClC,CACDrmC,GAAYm7B,YAAYkL,iBACxBrmC,GAAYm7B,YAAYwL,oBACxBuE,EACAi5C,IAvCmD,MAyCb19F,IAAM4G,UAC3C2S,GAAYm7B,YAAY0L,uBA1C0B,gCA4CnBpgD,IAAM4G,UAAkB,IA5CL,mBA4C9CuC,EA5C8C,aA6CvBnJ,IAAM4G,SAAc,KA7CG,6BAgDrD5G,IAAM2H,WAAU,WACd,IAAMoK,EAAO,CACXqf,UAAWzB,GAAgBC,aAAakB,UAAUb,UAClDwW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,KAC1B,IAyGH,OACE,oCACE,8BACI0yC,GAA8B,MAAnBx8B,EAAY81E,IACvB,yBAAKrjG,UAAU,YACb,yBAAKA,UAAU,eACb,0CAEF,yBAAKA,UAAU,UACb,yBAAKA,UAAU,YAAYC,IAAK4iG,KAAa1iG,IAAI,WAElD+iG,GACC,oCACGA,EAAel/F,OAAS,EACvB,kBAAC,GAAD,CAAgBu+F,mBAAoBW,IAEpC,kBAAC,GAAD,QAMU,MAAnB31E,EAAY81E,KAAeL,GAAc,kBAAC,GAAD,OAE5C,yBAAKhjG,UAAW,iBAAmByO,EAAY,QAAU,Q,cCnK/D,IA+Re60F,GA/RuC,SAACj+F,GAAW,IAAD,EAC7BC,IAAM4G,UAAkB,GADK,mBACxDuC,EADwD,KAC7Cge,EAD6C,OAEvBnnB,IAAM4G,UAAkB,GAFD,mBAExDq3F,EAFwD,KAE1CC,EAF0C,OAGzBl+F,IAAM4G,UAAkB,GAHC,mBAGxDu3F,EAHwD,KAG3C5gC,EAH2C,OAIjBv9D,IAAM4G,UAAkB,GAJP,mBAIxDw3F,EAJwD,KAIvCC,EAJuC,OAKrBr+F,IAAM4G,UAAkB,GALH,mBAKxD03F,EALwD,KAKzCC,EALyC,OAMnCv+F,IAAM4G,WAN6B,mBAMxD43F,EANwD,KAMhDC,EANgD,OAOjCz+F,IAAM4G,WAP2B,mBAOxD83F,EAPwD,KAO/CC,EAP+C,KAQzDC,EAAoBn+C,KARqC,EASnCzgD,IAAM4G,SAAqB,IATQ,mBASxDi4F,EATwD,KAShDC,EATgD,OAUrB9+F,IAAM4G,WAVe,mBAUxDm4F,EAVwD,KAUzC3hC,EAVyC,KAWzDH,EAAkBj9D,IAAMwnB,OAAyB,MACjDw3E,EAAoBh/F,IAAMwnB,OAAyB,MACnDy3E,EAAkBj/F,IAAMwnB,OAAyB,MAbQ,EAcvBxnB,IAAM4G,WAdiB,mBAcxDs4F,EAdwD,KAc1CC,EAd0C,OAe3Bn/F,IAAM4G,WAfqB,mBAexDqwE,EAfwD,KAe5CmoB,EAf4C,OAgBzBp/F,IAAM4G,WAhBmB,mBAgBxDswE,EAhBwD,KAgB3CmoB,GAhB2C,QAiB7Br/F,IAAM4G,SAAe,IAAI6lB,MAjBI,qBAiBxD4N,GAjBwD,YAgC/D,SAASilE,GAAYA,GACnBriC,EAAgB9zC,QAASgoC,OAASmuC,EAC9BV,EAAUK,EAAgB91E,QAASgoC,QAAUmuC,EAC5CN,EAAkB71E,QAASgoC,QAAUmuC,EAG5C,SAASv0B,KACP5jD,GAAa,GAwBb8jC,UAAUugB,aACPC,aAvBiB,CAClBJ,OAAO,EACPC,MAAO,CACLC,WAAY,UAqBb9U,MAjBH,SAAuB+nC,GACrBvhC,EAAgB9zC,QAAS+hD,UAAYszB,EACrC,IACEphC,EAAiB,IAAI+N,cAAcqzB,IACnC,MAAOe,IACTd,EAAUD,GACVjhC,GAAe,GACfp2C,GAAa,MAWZ0vC,OARH,SAAqB/lD,GACnBysD,GAAe,GACfp2C,GAAa,MAzCjBnnB,IAAM2H,WAAU,WAId,OAHA5C,QAAQC,IAAIjF,EAAMsiE,YAClB0I,KACAu0B,IAAY,GACL,eACN,IAEHt/F,IAAM2H,WAAU,WACd,OAAO,WACL62F,GAAUA,EAAOr0B,iBAAiB,GAAGC,UAEtC,CAACo0B,IAsCJ,IAAMgB,GAAsB,YACrB,OAACz/F,QAAD,IAACA,OAAD,EAACA,EAAO0/F,oBACN,OAAL1/F,QAAK,IAALA,KAAO0/F,oBAET77F,YAAW,YAIb,WAIE,IAAI87F,EAHJxB,GAAgB,GAChBG,GAAmB,GACnBlvE,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,oBAEzC,IAAMy4C,EAAqB,GACvB69C,EACFc,EAAWzhF,aACT,kBAnHD,SACLqtD,EACApyD,GAEA,IAAI89D,EAA4B3sE,SAAS2sD,cACvC,UAEFggB,EAAO9sE,MAAQohE,EAAM2L,WACrBD,EAAOrnB,OAAS2b,EAAM4L,YACtBF,EACGG,WAAW,MACXC,UAAU9L,EAAO,EAAG,EAAGA,EAAM2L,WAAY3L,EAAM4L,aAClDF,EAAOK,QAAO,SAAChH,GACb,IAAMC,EAAW,IAAIC,KAAK,CAACF,GAAmB,sBAAuB,CACnEjuE,KAAM,aACNouE,aAAc/jD,KAAKipB,QAEf+6B,EAAa,IAAItd,WACvBsd,EAAWrmB,OAAS,SAAUtpD,GAAI,IAAD,EACzBi5B,EAAM,UAAIj5B,EAAEE,QAAUF,EAAEE,OAAOwQ,cAAzB,aAAG,EAA+BtK,WAC9CgS,EAAQ,OACN6gB,QADM,IACNA,OADM,EACNA,EAAQpd,MAAM,KAAK,GACnB0zD,EACA/E,EAAM2L,WACN3L,EAAM4L,cAGVzG,EAAWpd,cAAcid,MAyFnBqvB,CACE1iC,EAAgB9zC,SAChB,SACE4Q,EACAs2C,EACA4G,EACAC,GAEAioB,EAAgBxlF,OAAOI,IAAI6lF,gBAAgBvvB,IAC3C+uB,EAAcnoB,GACdooB,GAAenoB,GACfn2B,EAAIn5B,KAAKmS,QAGf,KAGFglE,GAAiBA,EAAcc,QAEjCj8F,YAAW,WACTy6F,GAAmB,GACnBE,GAAiB,GACjBK,GAAYc,GAAYvhF,cAAcuhF,GAkB1C,SAAcI,GACZR,IAAY,GACRV,GAAYkB,EACdhB,EAAUgB,GAEVf,GAAiBA,EAAc30B,OAEjCo0B,GAAUA,EAAOr0B,iBAAiB,GAAGC,OAxBnCA,CAAKrpB,KACJ,MApCDg/C,KACC,MA+HL,OAzFIhB,IACFA,EAAciB,gBAAkB,SAAUh8F,GACxC86F,EAAU,CAAC96F,EAAM+N,QAGnBgtF,EAAckB,OAAS,SAACC,GACtB,IAAM7vB,EAAO,IAAIoG,KAAKooB,EAAQ,CAAEz8F,KAAM,eACtC48F,EAAkB71E,QAASxuB,IAAMgf,OAAOI,IAAI6lF,gBAAgBvvB,GAC5DsuB,EAAWtuB,GACXivB,IAAY,KAiFd,yBAAK5kG,UAAU,kBACZyjG,GACC,yBAAKzjG,UAAU,mBACb,2BAAOA,UAAU,sBAAjB,gGAMJ,2BACEA,UAAU,cACV2H,GAAG,WACHgnB,IAAK4zC,EACL2Z,UAAQ,EACRC,aAAW,IAEZ+nB,EACC,yBACEjkG,IAAKukG,EACL71E,IAAK41E,EACLpkG,IAAI,WACJH,UAAU,gBAGZ,2BACEA,UAAU,cACV2uB,IAAK21E,EACLmB,UAAQ,EACRC,aAAa,6CAKhBnC,IAAiBl+F,EAAMsiE,aAAvB,OAAqCtiE,QAArC,IAAqCA,OAArC,EAAqCA,EAAOsgG,uBAC3C,yBACE3lG,UAAW,YAAcyO,GAAag1F,EAAc,QAAU,IAC9D17F,QACE0G,GAAag1F,EAAc,aAAW,kBAAMqB,OAG9C,0BAAM9kG,UAAU,8BAChB,2BAAOA,UAAU,YAAjB,oBAMH0jG,GACC,yBAAK1jG,UAAU,kBACb,kBAAC,GAAD,CAAUyhB,MAAO,KAMpBmiF,GACC,yBAAK5jG,UAAU,aACb,2BAAOA,UAAU,cAAjB,6FAIA,yBAAKA,UAAU,cACb,kBAAC,GAAD,CACE2O,QAAQ,QACR9G,SAAU4G,EACVY,aAAa,EACbZ,UAAWA,EACX1G,QAtIZ,WACEq8F,EAAU,IACVQ,IAAY,GACZf,GAAiB,GACjBF,GAAmB,GACnBH,GAAgB,GAChBiB,EAAgB,IAChBp0B,QAiIQ,kBAAC,GAAD,CACE1hE,QAAQ,SACR9G,SACE4G,GAAawvB,GAAoBpf,GAAYwQ,eAE/C5gB,UAAWA,EACX1G,QApIZ,WACE,GAAgC,IAAxB,OAAL1C,QAAK,IAALA,OAAA,EAAAA,EAAOsgG,2BAEL,CACH,IAAM7rE,EAAcue,GAAmB1Y,GAAW,WAClD,GAAIukE,EAAU,CACZ,IAAMzrE,EAAY,CAChBmtE,QAASzB,EACTrtD,sBAAuBvqC,SAASsS,GAAYyQ,uBAC5C/O,cAAe1B,GAAYwQ,cAC3B+pC,OAAQv6C,GAAY0Q,OACpBs2E,YAAa,aACbr2E,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCwK,MAAO+sE,EACPtnB,OAAQunB,EACRxtD,OAAQ8K,GAEVz0B,EAAMygG,YAAYrtE,EAAWyrE,OACxB,CACL,IAAMtuB,EAAW,IAAIC,KAAK,CAACmuB,GAAsB,gBAAiB,CAChEt8F,KAAM,aACNouE,aAAc/jD,KAAKipB,QAErB,GAAI46B,EAASznE,KAAO,IAElB,OADAyR,MAAM,6DACC,EAET,GAAIg2D,EAASznE,MAAQ,KAInB,OAHAyR,MACE,0EAEK,EAET,IAAMm2D,EAAa,IAAItd,WACvBsd,EAAWrmB,OAAS,SAAUtpD,GAAI,IAAD,EACzBi5B,EAAM,UAAIj5B,EAAEE,QAAUF,EAAEE,OAAOwQ,cAAzB,aAAG,EAA+BtK,WAC9C,UAAI6yB,QAAJ,IAAIA,OAAJ,EAAIA,EAAQ7yB,WAAY,CACtB,IAAMisB,EAAY,CAChBlY,cAAe1B,GAAYwQ,cAC3BynB,sBAAuBvqC,SAASsS,GAAYyQ,uBAC5Cu2E,YAAajwB,EAASluE,KACtBw+E,MAAO7mD,EAAQpd,MAAM,KAAK,GAC1B8jF,UAAU,GAAD,OAAKlnF,GAAYwQ,cAAjB,YAAkCumD,EAASh1E,MACpDw4D,OAAQv6C,GAAY0Q,OACpBC,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCgqB,OAAQ8K,GAEVz0B,EAAMygG,YAAYrtE,EAAWyrE,KAGjCnuB,EAAWpd,cAAcid,Y,qBCsblBowB,GA9nB6C,WAE1D,IAsBIrzC,EAWAmK,EAjCEmpC,EAAcjxE,KACdwK,EAAaymE,EAAYlmF,IAAI,cAC/BkmF,EAAYlmF,IAAI,cAChB,GACE0f,EAAawmE,EAAYlmF,IAAI,cAC/BkmF,EAAYlmF,IAAI,cAChB,GACE2f,EAAeumE,EAAYlmF,IAAI,gBACjCkmF,EAAYlmF,IAAI,gBAChB,GACEpY,EAAKs+F,EAAYlmF,IAAI,MAAQkmF,EAAYlmF,IAAI,MAAQ,GAZK,EAclCza,IAAM4G,WAd4B,mBAczDkgB,EAdyD,KAchD1C,EAdgD,OAe9BpkB,IAAM4G,UAAkB,GAfM,mBAezDuC,EAfyD,KAe9Cge,EAf8C,OAgB5BnnB,IAAM4G,UAAS,GAhBa,mBAgBzDg6F,EAhByD,KAgB7CC,EAhB6C,OAiB1C7gG,IAAM4G,SAAiB,IAjBmB,mBAiBzD+X,EAjByD,KAiBpDI,EAjBoD,OAkB5B/e,IAAM4G,UAAkB,GAlBI,mBAkBzDk6F,EAlByD,KAkB7CC,EAlB6C,OAmBpBn6F,oBAAS,GAnBW,mBAmBzDo6F,EAnByD,KAmBzCC,EAnByC,OAoB1Cr6F,mBAAS,IApBiC,mBAoBzD4xB,EApByD,KAoBpD0oE,EApBoD,OAqBxCt6F,mBAAS,IArB+B,mBAqBzD8iE,EArByD,KAqBnDy3B,EArBmD,OAsBtBv6F,oBAAS,GAtBa,mBAuB1DygB,GAvB0D,UAuBhDC,eAGV86C,EAAuBlN,KA1BmC,EA2B5Bl1D,IAAM4G,UAAkB,GA3BI,mBA2BzDy7D,EA3ByD,KA2B7CC,EA3B6C,OA6B9DtiE,IAAM4G,UAAkB,GA7BsC,oBA4BzDw6F,GA5ByD,MA4BrC7+B,GA5BqC,SA+B9D37D,oBAAkB,GA/B4C,qBA8BzDq9D,GA9ByD,MA8B7BC,GA9B6B,SAgCdt9D,oBAAkB,GAhCJ,qBAgCtCy9D,IAhCsC,gBAiCZz9D,oBAAkB,GAjCN,qBAiCzD09D,GAjCyD,MAiCrCC,GAjCqC,SAkChB39D,oBAAkB,GAlCF,qBAkCzD49D,GAlCyD,MAkCvCC,GAlCuC,MAqChEzkE,IAAM2H,WAAU,WAUd,GATAgS,OAAOqO,eAAerB,QAAQ,cAAe,KAC7C/iB,YAAW,WACT4zD,EAAkBvM,UAAUyK,YAAYqU,cACtCC,GACAC,IAEF1H,IAAsB,KACrBnnE,IACH+rB,GAAa,GACR9kB,EACA,CACH,IAAM3C,EAAMm5B,KAAKx2B,GACjB0C,QAAQC,IAAItF,GACZynB,GAAa,GACb4E,GAAuB2wD,GAAah9E,QAL7Bk0D,GAAWytC,GAAW9nF,GAAYwQ,iBAO1C,IAEH/pB,IAAM2H,WAAU,WACd6vD,EAAkBvM,UAAUyK,YAAYqU,cACtCC,GACAC,KAEyB,IAAvB3F,KAAoD,IAArBE,IACjCz/D,QAAQC,IAAI,kBACZq/D,IAAqB,GACrBH,IAA+B,GAC/B5B,GAAc,KAEdv9D,QAAQC,IAAI,sBACZq/D,IAAqB,GACrBH,IAA+B,GAC/B5B,GAAc,MAGf,CAACF,EAAQkC,GAAoBE,KAOhCxkE,IAAM2H,WAAU,WACd,IAAMoK,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaiB,QAAQZ,UAChDwW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,KAC1B,IAEH,IAAM2qE,GAAc,SAACprE,IACdA,GAAOA,EAAIR,OAEdsT,EAAW9S,EAAIR,OACfqW,GAAa,IAET7V,EAAIS,MACU,MAAZT,EAAIS,OACNwH,GAAY2M,gBAAgBxmB,IAAM4R,EAAIS,KAAKm8C,IAC3C30C,GAAYC,MAAQlI,EAAIS,KAAKoY,MAC7B5Q,GAAYwQ,cAAgBzY,EAAIS,KAAKo8C,cACrC50C,GAAY0Q,OAAS3Y,EAAIS,KAAKyY,OAC9BjR,GAAYyQ,sBAAwB1Y,EAAIS,KAAKwY,uBAE/CK,IACE,SAACtZ,GAAD,OAAcozC,GAAsBpzC,KACpCiI,GAAYwQ,eAEd6pC,GAAWytC,GAAW9nF,GAAYwQ,iBAElC3F,EAAW,4DACX+C,GAAa,KAKbkjD,GAAc,WACdjI,EAAOjN,QAA0B,GAAhBiN,EAAOtxD,OAC1B/L,QAAQC,IAAI,YACZk8F,EAAO,GAAD,OAAI9+B,EAAOhN,YAAY58B,MAC7B2oE,EAAQ,GAAD,OAAI/+B,EAAOhN,YAAY18B,OAE1BuyB,WAAaA,UAAUyK,cACzBzK,UAAUyK,YAAYC,mBAAmBN,GAAaoU,GAAe,CACnE7T,mBAAoBx6D,GACpBy6D,WAAYz6D,GACZsvD,QAAStvD,KAEXo8D,EAAkBvM,UAAUyK,YAAYqU,cACtCC,GACAC,MAMF5U,GAAc,SAACkV,GACnBxlE,QAAQC,IAAI,eAAgBulE,EAAShV,QACrC2rC,EAAO32B,EAAShV,OAAOh9B,UACvB4oE,EAAQ52B,EAAShV,OAAO98B,WAExB2pC,EAAOhN,YAAY58B,IAAM+xC,EAAShV,OAAOh9B,SACzC6pC,EAAOhN,YAAY18B,IAAM6xC,EAAShV,OAAO98B,UACzC2pC,EAAOtxD,OAAQ,EACfwxD,GAAc,GACdC,IAAsB,GACtBp7C,GAAa,GACbpiB,QAAQC,IAAI,kBAAmBo9D,IAG3BqH,GAAgB,SAACa,GACrBvlE,QAAQC,IAAR,gBAAqBslE,EAAI/rD,KAAzB,cAAmC+rD,EAAI7U,UACvC2M,EAAOtxD,OAAQ,EACfqW,GAAa,GACbm7C,GAAc,IAIVsO,GAAsB,SAACt/D,EAASgwF,GACpC,IAAKhwF,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqe,GAAW,CACTG,OAAQ,4BACRhnB,MAAO,oBAET6e,GAAa,QAMb,GAJAgI,GAAW,CACTG,OAAQ,4BACRhnB,MAAO,sBAEK,WAAXg5F,GA4QP,WACE,IAAMnlF,EAAQ8B,aAAY,WACxB2M,GACE85B,GACAnrC,GAAYwQ,iBAEb,KACHsjC,EAAgBlxC,EAjRZolF,OAGF,CACE3nD,GAAqBz+C,IACrBg0B,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,kBAEzC,IAAMyJ,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaiB,QAAQF,gBAChD8V,mBAAoB,GACpBvM,WAAYA,GAAc,GAC1BC,WAAYA,GAAc,GAC1BC,aAAcA,GAAgB,GAC9BsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,GAI3B4f,GAAiBC,UACfO,GAAgBvC,aAAaiB,QAAQF,iBAGlCtuB,EAEHiY,MACE,8GAHK+M,EAAQO,KAAKiyB,QAY5B,SAASmwB,GAAgBj4D,GACvBoV,GAAa,GACbo9C,IAAsB,GAGtB28B,EAAOnvF,EAAKwjD,OAAOh9B,UACnB4oE,EAAQpvF,EAAKwjD,OAAO98B,WACpBwyB,UAAUyK,YAAY8U,WAAWhT,GAqCnC,SAASyS,GAAcl4D,GACrBoV,GAAa,GACbo9C,IAAsB,GA3QwC,8CAkRhE,mBAUWyG,EAQAC,EAlBX,SAAAplE,EAAA,sDAkBWolE,EAlBX,SAkBuBn6D,GACnB/L,QAAQC,IAAI,eAAgB8L,GAC5BqW,GAAa,GAGbs9C,IAAoB,GACpB1/D,QAAQC,IAAI,0BAdLgmE,EAVX,SAUyB3N,GACrBt4D,QAAQC,IAAI,iBAAkBq4D,GAG9BoH,IAAoB,GACpBt9C,GAAa,IAdfkjD,KAEMe,EAAc,CAClBC,OAAO,EACPC,MAAO,CACLC,WAAY,SAwBhBtgB,UAAUugB,aACPC,aAAaL,GACb3U,MAAK,SAAC+nC,GACLz5F,QAAQC,IAAIw5F,EAAQ,QACpBxzB,EAAcwzB,MAEf3nC,OAAM,SAAC2nC,GACNz5F,QAAQC,IAAIw5F,EAAQ,SACpBvzB,EAAYuzB,MAtClB,4CAlRgE,sBA2ThE,SAAS6C,GAAU/vF,IACZA,GAAOA,EAAIR,OAEdsT,EAAW9S,EAAIR,OACfqe,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,qBAErCgJ,EAAIS,MAAQT,EAAIS,KAAKg9C,KACvBhwC,EAAOzN,EAAIS,KAAKg9C,KAChBsb,MAEAl7C,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,sBAG7C6e,GAAa,GAsBf,SAASq6E,GAAclwF,IAChBA,GAAOA,EAAIR,OACdqW,GAAa,GAEbgI,GAAW,CAAEG,OAAQ,iBAAkBhnB,MAAO,oBAC9C8b,EAAW9S,EAAIR,QAEXQ,EAAIS,KA9HZ,SAAwBA,GAItB,GAHAhN,QAAQC,IAAI,cACZD,QAAQC,IAAI,MAAMwzB,GAClBzzB,QAAQC,IAAI,OAAO0kE,GACP,KAARlxC,QAAsBx6B,IAARw6B,GAA8B,KAATkxC,QAAwB1rE,IAAT0rE,EAAoB,CACxE,IAAInxC,EAAWC,EACXC,EAAYixC,EACViH,EAAS,CACb7c,OAAQv6C,GAAY0Q,OACpBunB,sBAAuBj4B,GAAYyQ,sBACnC/O,cAAe1B,GAAYwQ,cAC3BiqC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,iCACdE,iBAAkB,IAClBE,aAAa,GAAD,OAAKr8B,EAAL,aAAkBE,GAC9Bq8B,UAAW,iBACXG,QAAS,GACT18B,SAAS,GAAD,OAAKA,GACbE,UAAU,GAAD,OAAKA,GACdjY,OAAO,qBAGTzb,QAAQC,IAAI,sBAEZ6uD,IAA2B,SAACziD,GAAD,OAAkBw/D,GAAoBx/D,KAAWu/D,QAE5EzM,IAA+B,GAkG7Bu9B,IA+BAt6E,GAAa,GACb/C,EAAW,kCACX+K,GAAW,CAAEG,OAAQ,iBAAkBhnB,MAAO,uBAKpD,IAAMo5F,GAAU,SAACt+F,GAGf,GAFA2B,QAAQC,IAAI,MAAMwzB,GAClBzzB,QAAQC,IAAI,OAAO0kE,GACP,KAARlxC,QAAsBx6B,IAARw6B,GAA8B,KAATkxC,QAAwB1rE,IAAT0rE,EACpD,IAAmB,IAAfo3B,EACFC,GAAc,OACT,CACLA,GAAc,GAEd,IAAMnhB,EAAav1B,KAAK,GAAD,OAAI9wC,GAAY2M,gBAAgBxmB,MACjDmgF,EAAY,qBAAiBD,GAC7B+hB,EAAM,UAAMj3F,GAAOC,MAAb,OAAoBk1E,GAEhC96E,QAAQC,IAAI28F,GACZ,IAAMC,EAAU,CACdtiF,MAAO/F,GAAYgjB,KAAKrhB,OACxB2mF,eAAgBF,G9BnWDzoF,E8BsWR,a9BrWfF,GACE,CACEkB,IAAK,oBACL5P,KAAM,CACJiV,OAL6C4T,E8BsW1ByuE,G9BjWFtiF,MACjBwiF,WAAY3uE,EAAU0uE,gBAExBzoF,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa2D,YAE5B2J,G8B2VI,IAAMy3D,EAAS,CACb7c,OAAQv6C,GAAY0Q,OACpBunB,sBAAuBj4B,GAAYyQ,sBACnC/O,cAAe1B,GAAYwQ,cAC3BiqC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,iCACdE,iBAAkB,IAClBE,aAAa,GAAD,OAAKp8B,EAAL,aAAakxC,GACzB5U,UAAW,iBACXG,QAAS0sC,EACTppE,SAAS,GAAD,OAAKC,GACbC,UAAU,GAAD,OAAKixC,GACdlpD,OAAO,uBAGTzb,QAAQC,IAAI,2BAEZ6uD,IAA2B,SAACziD,GAAD,OAAkBw/D,GAAoBx/D,EAAS,aAAYu/D,QAIxFzM,IAA+B,G9BjYb,IAAChrD,EAA4Bia,G8B+YnD,SAASuxB,GAAsBpzC,GAC7B,IAAKA,GAAOA,EAAIR,YACT,GAAIQ,EAAIS,KAAM,CACnB,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MACnCgtC,GAAaj2B,GACTA,EAAY82B,kBACdz4B,GAAa,GACbpiB,QAAQC,IAAI,mBACZi8F,GAAkB,IACTn4E,EAAY22B,4BACrBt4B,GAAa,GACbhJ,cAAckvC,GAEThrD,GAAIglB,EAAQO,KAAKzsB,MAK5B,OACE,oCACE,yBAAKT,UAAU,SACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACZupE,IACC,yBACE39D,MAAO,CACLtL,QAAS,OACTq7E,eAAgB,SAChBC,WAAY,WAGd,kBAAC,GAAD,CAAWpsE,MAAOC,KAAgBC,SAAW,QAAU,SACrD,yBAAK1P,UAAU,qBACb,mMAMF,6BACE,kBAAC,GAAD,CACE2O,QAAQ,KACR5G,QAAS,WACPyhE,IAA+B,GApfW,oCAqf1C6G,KAJJ,YAiBd,kBAAC,GAAD,CACExb,aAAa,EACbD,OAAQsxC,EACRpxC,QAAS,kBAAMqxC,GAAc,KAE7B,yBAAKnmG,UAAU,WACb,yBAAKA,UAAU,aAAaC,IAAKonG,KAASlnG,IAAI,YAC9C,yBAAKH,UAAU,eACb,2BAAOA,UAAU,WAAjB,sBACA,2BAAOA,UAAU,QAAjB,8EAON,8BAAU6H,SAAU4G,GAClB,yBACEzO,UACE,WACCyO,EAAY,QAAU,KACtB9G,EAAK,GAAK,WACV2+F,EAAiB,YAAc,KAGlC,2BAAOtmG,UAAU,cAAjB,sBACA,2BAAOA,UAAU,WAAjB,uFAIA,2BAAOA,UAAU,YAAY+H,QAAS,kBAAMo+F,GAAc,KAA1D,eAGA,yBAAKnmG,UAAU,UACb,2BAAOA,UAAU,aAAaikB,IAE/BA,GACC,yBAAKjkB,UAAU,kBACb,kBAAC,GAAD,CACE8lG,YA9Nd,SAAqBrtE,EAAgByrE,GACnC75F,QAAQC,IAAI,MAAMwzB,GAClBzzB,QAAQC,IAAI,OAAO0kE,GACP,KAARlxC,QAAsBx6B,IAARw6B,GAA8B,KAATkxC,QAAwB1rE,IAAT0rE,GAEtD3kE,QAAQC,IAAI,YAAamuB,GACzBhM,GAAa,GACTy3E,E9B9TwB,SAC9B1lF,EACAia,GAEApuB,QAAQC,IAAI,2BAEZgU,GACE,CACEkB,IAAK,yBACL5P,KAAM,CACJigB,sBAAuB4I,EAAUqe,sBACjCr2B,cAAegY,EAAUlY,cACzBuP,OAAQ2I,EAAU2gC,OAClB/sB,YAAa5T,EAAUotE,YACvB91E,MAAO0I,EAAUjJ,MACjBo2E,QAASntE,EAAUmtE,QACnB0B,MAAO7uE,EAAUjpB,MACjB+3F,OAAQ9uE,EAAUw8B,OAClBuyC,SAAU,EACV3tE,eAAgB,IAElBnb,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAauD,iBAE5B+J,G8BqSEipF,CAAiBX,GAAeruE,G9B/VZ,SAACja,EAA4Bia,GACrDna,GACE,CACEkB,IAAK,wBACL5P,KAAM,CACJigB,sBAAuB4I,EAAUqe,sBACjCr2B,cAAegY,EAAUlY,cACzBuP,OAAQ2I,EAAU2gC,OAClBsuC,UAAWjvE,EAAUstE,UACrBzf,MAAO7tD,EAAUytD,MACjB75C,YAAa5T,EAAUotE,YACvB91E,MAAO0I,EAAUjJ,MACjBg4E,SAAU,EACV3tE,eAAgBpB,GAElB/Z,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAasD,gBAE5BgK,G8B6UEmpF,CAAWb,GAAeruE,IAK5B+wC,IAA+B,IAgNnB7B,WAAY4B,GACZo8B,qBAAsB/7B,GACtBm7B,iBAAkBp1B,MAKvBhI,IAAe++B,GACd,oCACE,yBAAK1mG,UAAU,eACb,2BACG,IADH,2EAOF,KAEH2nE,GAAc++B,GACb,oCACE,yBAAK1mG,UAAU,eACb,2BACG,IADH,gEAEgE,OAIlE,MAEF2H,GACA,yBAAK3H,UAAU,sBACb,2BAAOA,UAAU,cAAjB,sCAGA,yBAAKA,UAAU,WACb,kBAAC,GAAD,CAAQgO,KAAMo4F,EAAYjgG,SAAU,kBAAM6gG,UAIhD,6BACGZ,GACC,yBAAKpmG,UAAU,cACb,2BAAOA,UAAU,YAAjB,0FAkBLosB,GACC,yBAAKpsB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,SCjiBXw7E,I,kEAjGX,WAAYviG,GAAa,IAAD,8BACpB,cAAMA,IAcViC,QAAU,WAC0B,IAA5B,EAAKjC,MAAMwD,cAAsB,EAAKC,MAAMzI,MAAM2D,QAAU,EAAKqB,MAAMwD,aACvE,EAAKE,SAAS,CAAEC,mBAAmB,IAEnC,EAAKD,SAAS,CAAEC,mBAAmB,KAnBnB,EAuBxB7C,SAAW,SAAC9F,GACR,EAAK0I,SAAS,CAAE1I,MAAOA,EAAO4I,iBAAa3F,IAC3C,EAAK+B,MAAMc,UAAY,EAAKd,MAAMc,SAAS9F,IAzBvB,EA4BxB8I,eAAiB,SAACC,GACd,EAAKL,SAAS,CAAE1I,MAAO+I,EAAK,EAAK/D,MAAMsD,WAAYM,YAAaG,EAAMJ,mBAAmB,IACrF,EAAK3D,MAAM8D,gBACX,EAAK9D,MAAM8D,eAAeC,IA/BV,EAkCxB3B,WAAa,WACTyB,YAAW,WACH,EAAKJ,MAAME,mBACX,EAAKD,SAAS,CAAEC,mBAAmB,IAEvC,EAAK3D,MAAMkC,QAAU,EAAKlC,MAAMkC,OAAO,EAAKuB,MAAMG,eACnD,MAtCH,EAAKH,MAAQ,CACTE,mBAAmB,EACnB3I,MAAOgF,EAAME,cAAgB,GAC7B0D,iBAAa3F,GALG,E,8EASSmH,EAAmBC,GAC5CD,EAAUlF,eAAiBmF,EAAUrK,YAAoCiD,IAA3BmH,EAAUlF,cACxDgF,KAAKxB,SAAS,CAAE1I,MAAOoK,EAAUlF,iB,+BAgC/B,IAAD,OACGyD,EAAsBuB,KAAKzB,MAA3BE,kBACJ2B,EAAU,EAERC,EACF,yBAAK5K,UAAU,YACX,yBAAKA,UAAU,aACX,2BAAOA,UAAU,cAAcuK,KAAKlF,MAAMwF,aAKlDQ,EAAkBd,KAAKlF,MAAMwE,QAAQoB,KAAI,SAAC7B,EAAW4B,GAErD,IAAMM,EAAelC,EAAK,EAAK/D,MAAMsD,WAErC,OADAgC,IAEI,yBAAKY,IAAKP,EAAGhL,UAAU,WAAW+H,QAAS,kBAAM,EAAKoB,eAAeC,KACjE,yBAAKpJ,UAAU,aACX,2BAAOA,UAAU,UACZ,EAAK8I,MAAMG,cAAgBG,EAAO,uBAAGpJ,UAAU,mBAAwB,4BACxE,0BAAMA,UAAU,aAAayL,wBAAyB,CAAEC,OAAQJ,WAOpF,OACI,yBAAKtL,UAAW,WAAagJ,EAAoB,UAAY,KACzD,2BACIpI,KAAM2J,KAAKlF,MAAMzE,KACjB+G,GAAI4C,KAAKlF,MAAMzE,KACf8G,KAAK,OACLiE,UAAQ,EACR3L,UAAW,OAASuK,KAAKlF,MAAMrF,WAAauK,KAAKlF,MAAMI,UAAY,SAAW,IAC9EU,SAAU,SAACC,GAAD,OAAO,EAAKD,SAASC,EAAEE,OAAOjG,QACxCkH,OAAQgD,KAAK9C,WACbH,QAASiD,KAAKjD,QACdjH,MAAOkK,KAAKzB,MAAMzI,MAClBwH,SAAU0C,KAAKlF,MAAMwC,SACrBR,YAAakD,KAAKlF,MAAMgC,YACxBO,aAAc2C,KAAKlF,MAAMuC,aAAe2C,KAAKlF,MAAMuC,aAAe,MAClEgE,MAAOrB,KAAKlF,MAAMwG,YAAc,CAAEC,gBAAgB,OAAD,OAASC,KAAT,MAAqB,KAEzE/C,IAAsBqC,GAAmBd,KAAKlF,MAAMwF,WACjD,yBAAK7K,UAAU,cAAc2K,EAAUU,EAAkBT,GACzD,KACHL,KAAKlF,MAAMI,WAAa,uBAAGzF,UAAU,iBAAiBuK,KAAKlF,MAAMI,gB,GA5F3DuG,cC2TR67F,GArTE,SAACxiG,GAEhB,IAAMk6B,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAX2B,EAaGza,IAAM4G,UAAkB,GAb3B,mBAaxBuC,EAbwB,KAabge,EAba,OAcKnnB,IAAM4G,UAAkB,GAd7B,mBAcxB26D,EAdwB,KAcZC,EAdY,OAeDxhE,IAAM4G,WAfL,mBAexBkgB,EAfwB,KAef1C,EAfe,OAiB7BpkB,IAAM4G,UAAkB,GAjBK,mBAgBE47F,GAhBF,aAkBCxiG,IAAM4G,WAlBP,gCAmBG5G,IAAM4G,SAAqB,KAnB9B,mBAmBxB67F,EAnBwB,KAmBbC,EAnBa,OAoBW1iG,IAAM4G,WApBjB,mBAoBxB+7F,EApBwB,KAoBTC,EApBS,OAsBL5iG,IAAM4G,SAAqB,IAtBtB,mBAsBxB6iF,EAtBwB,KAsBjBC,EAtBiB,KAuBzBriE,EAAUC,cAEhBtnB,IAAM2H,WAAU,WACdwf,GAAa,GACbqlC,GACEq2C,EACAtpF,GAAYwQ,cACZrf,GAAOU,+BAER,IAGHpL,IAAM2H,WAAU,WACd,IAAMoK,EAAO,CACXqf,UAAWzB,GAAgBC,aAAac,eAAeT,UACvDwW,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,KAC1B,IAEH,IAAM8wF,EAA+B,SAACvxF,G7CnDG,IACzC4H,EACA4pF,G6CkDOxxF,GAAOA,EAAIR,OACdqW,GAAa,GAEb/C,EAAW9S,EAAIR,SACO,IAAbQ,EAAIS,MACboV,GAAa,GACbq7E,EAA4BlxF,EAAIS,MAC3BT,EAAIS,O7C1DbmH,E6C4DQxM,E7C3DRo2F,E6C4DQvpF,GAAYwQ,c7ClDpB/Q,GACE,CACEkB,IAAK,oCACL5P,KAAM,CACJqe,SAAUm6E,EACVhhF,S6C+CEpX,GAAOS,yB7C7CXiO,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAac,4BAE5BwM,K6C4CEiO,GAAa,IAIXza,EAA6B,SAAC4E,GAClC,IAAKA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,YACV,GAAIQ,EAAIS,KAAM,CACnB,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MACnChN,QAAQC,IAAI,yCAA0C8jB,GAClDA,GACF85E,EAAiB95E,EAAYi6E,cAE/B,IAGMC,EAHkBl6E,EAAYi6E,aAAa5/F,QAC/C,SAAC2T,GAAD,MAA6B,MAAjBA,EAAEmsF,cAE0Bt9F,KAAI,SAACD,EAAQjB,GAAT,OAC5CiB,EAAEw9F,gBAAgBv9F,KAAI,SAAC7B,GAAD,OACpBokB,OAAOi7E,OAAO,GAAIr/F,EAAM,CAAEyE,SAAS,UAGvCmhF,EAAS,YAAIsZ,MAyEXI,EAAiB,SAAC9xF,GACtB,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqW,GAAa,QACR,GAAI7V,EAAIS,KAAM,CACnBoV,GAAa,GACbq6C,GAAc,GACd5nB,GAAqBz+C,IACrBg0B,GAAW,CAAEG,OAAQ,mBAAoBhnB,MAAO,kBAGhD,IAAMyJ,EAAO,CACXqf,UAAWzB,GAAgBC,aAAac,eAAeC,gBACvD8V,mBAAoB,GACpBvM,aACAC,aACAC,eACAsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,GAI3B4f,GAAiBC,UACfO,GAAgBvC,aAAac,eAAeC,iBAG9CtJ,EAAQO,KAAKiyB,QAUjB,OACE,yBAAKn/C,UAAW,kBAAoByO,EAAY,QAAU,KACxD,8BACE,8BAAU5G,SAAU4G,GAClB,yBAAKzO,UAAU,eACb,yBAAKA,UAAU,WACb,kEAEF,yBAAKA,UAAU,cACb,sIAOHioG,GACCA,EAAch9F,KAAI,SAAC3C,EAAWyB,GAC5B,OACE,yBAAK/J,UAAU,QAAQuL,IAAKxB,GAC1B,yBAAK/J,UAAU,mBACb,+BAAQsI,EAAKqgG,uBAEM,MAApBrgG,EAAKigG,WACJ,yBACEvoG,UACE,YACC+J,IAAUk+F,EAAcjkG,OAAS,GAClCikG,EAAcA,EAAcjkG,OAAS,GAAGukG,WACpC,WACA,KAGN,kBAAC,GAAD,CACE3nG,KAAM,QAAU0H,EAAKsgG,WACrB//F,aAAc,EACdgB,QAASvB,EAAKkgG,gBACd7/F,UAAU,oBACVtB,YACE,SACAiB,EAAKqgG,qBAAqBnkG,QAAQ,OAAQ,IAE5CqG,UAAU,mBACVgB,aAAa,EACb7L,UAAU,cACVmJ,eAAgB,SAACT,GAAD,OA7Jd,SAACtC,GACvB,IAAMyiG,EAAM,YAAOd,GACHA,EAAUhoD,MAAK,SAAU+oD,GACvC,OAAOA,EAAC,aAAmB1iG,EAAEoiB,cAQ7BqgF,EAHiBd,EAAU/9F,WACzB,SAAC2f,GAAD,OAAcA,EAAInB,YAAcpiB,EAAEoiB,eAEjBpiB,EALnByiG,EAAO37E,KAAK9mB,GAOd4hG,EAAaa,GAgJgCE,CAAgBrgG,OAI7C,yBAAK1I,UAAU,qBACZ+uF,GACCA,EAAM9jF,KAAI,SAAC+9F,EAAkBj/F,GAC3B,GACEi/F,EAAYj/F,GAAOye,aAAelgB,EAAKsgG,WAEvC,OACE,yBAAK5oG,UAAU,eAAeuL,IAAKxB,GACjC,kBAAC,GAAD,CACEzB,KAAM0gG,EACN7iG,SAAU,SAACmC,GAAD,OAjErB,SAACA,EAAWyB,GAC/B,IAAMk/F,EAAO,YAAOla,GACpBka,EAAQl/F,GAASzB,EACjB0mF,EAASia,GA8DyChmF,CAAa3a,EAAMyB,eAa9DqiB,GACC,yBAAKpsB,UAAU,kBACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAOhB,yBAAKpsB,UAAU,kBACb,kBAAC,GAAD,CACEyO,UAAWo4D,EACXl4D,QAAQ,SACR5G,QA9LS,WACnB,IAAMmhG,EAAkB,GAClBC,EAAoB,GAEpBC,EAAqBrB,EAAUt/F,QAAO,SAAC+1C,GAAD,OAA4B,GAAhBA,EAAEh2B,cAKpD6gF,GAHmBta,EAAM9jF,KAAI,SAAC7B,GAAD,OACjC8/F,EAAWh8E,KAAK9jB,EAAKX,QAAO,SAAC2T,GAAD,OAA0B,IAAdA,EAAEvO,eAEf,GAAGy7F,OAAOC,MAAM,GAAIL,IAEhB,GAA7BE,EAAmBplG,QACrBolG,EAAmBn+F,KAAI,SAAC7B,GAAD,OACrB+/F,EAAaj8E,KAAK,CAChBvc,SAAUkO,GAAYwQ,cACtBm6E,UAAW,EACXC,SAAUrgG,EAAKqf,SACfihF,WAAYtgG,EAAKof,WACjBmhF,SAAU,EACVtiF,SAAUrX,GAAOS,6BAKa,IAAhC44F,EAAqBrlG,QACvBqlG,EAAqBp+F,KAAI,SAAC7B,GAAD,OACvB+/F,EAAaj8E,KAAK,CAQhBvc,SAAUkO,GAAYwQ,cACtBm6E,UAAW,EACXC,SAAUrgG,EAAKqf,SACfihF,WAAYtgG,EAAKof,WACjBmhF,SAAU,EACVtiF,SAAUrX,GAAOS,6B7CxHiB,SAC1C+N,EACA4pF,EACA/gF,EACA8hF,GAEA7qF,GACE,CACEkB,IAAK,qCACL5P,KAAM,CACJqe,SAAUm6E,EACVhhF,SAAUC,EACVuiF,oBAAqBT,GAEvBzqF,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAae,6BAE5BuM,G6C0GAqrF,CACEnB,EACA7pF,GAAYwQ,cACZrf,GAAOS,wBACP04F,GAEF18E,GAAa,WC5KJq9E,I,MAAsB,SACjCtrF,EACAurF,GAEAzrF,GACE,CACEkB,IAAK,0BACLd,OAAQ,OACR9O,KAAMm6F,EACNzqF,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAasE,oBAE5BgJ,KAuCJ,SAASob,GAAiBsC,GACxB,IADwC,EACpCC,EAAiC,GADG,cAExBD,GAFwB,IAExC,2BAA2B,CAAC,IAAnBE,EAAkB,QACrBC,EAAc,GAClBA,EAAOzM,SAAWwM,EAAI9C,SACtB+C,EAAO5B,WAAa2B,EAAIE,WACxBD,EAAOE,SAAWH,EAAII,SACtBH,EAAOtM,MAAQqM,EAAI5M,MACnB6M,EAAOI,kBAAoBL,EAAIM,kBAC/BL,EAAOM,mBAAqBP,EAAIQ,mBAChCP,EAAOQ,mBAAqBT,EAAIU,mBAChCT,EAAO2tE,cAAgB5tE,EAAIc,cAC3Bb,EAAO4tE,eAAiB7tE,EAAIY,cAC5BX,EAAOgB,OAASjB,EAAIkB,OACpBjB,EAAO6tE,aAAe9tE,EAAI8tE,aAC1B7tE,EAAO8tE,kBAAoB/tE,EAAI+tE,kBAC/B9tE,EAAOq4C,aAAet4C,EAAIs4C,aAC1Br4C,EAAO+tE,mBAAqBhuE,EAAIguE,mBAChC/tE,EAAOe,eAAiBhB,EAAIgB,eAC5BjB,EAAgBjP,KAAKmP,IAnBiB,8BAqBxC,OAAOF,EAEF,ICgEHkuE,GC/HSC,GAAsB,CACjC1hF,kBAActlB,EACd+d,aAAS/d,EACTud,UAAMvd,EACN8vD,gBAAY9vD,GAyYCinG,GAtY8C,SAACllG,GAAW,IAAD,sBAC1B6G,mBAC1C7G,EAAMg8D,gBAF8D,mBAC/DA,EAD+D,KAC/CC,EAD+C,OAIlCh8D,IAAM4G,SACxC7G,EAAM0jB,YAL8D,mBAI/DA,EAJ+D,KAInDC,EAJmD,OAQ1C1jB,IAAM4G,SAAN,eACvB7G,EAAMsjB,kBAT2D,mBAQ/DS,EAR+D,KAQvDC,EARuD,KA0BtE,SAASC,EAAoB/d,EAA+BlL,GAE1D,OAAQkL,GACN,IAAK,aAUL,IAAK,iBACHlG,EAAMmlG,oBAAN,2BACKzhF,GADL,6BAEMxd,GAAQlL,EAAM2D,OAAS,EAAI3D,EAAQ,MAEzCgF,EAAMolG,kBAAN,2BACKrhF,GADL,mBAEG7d,OAAMjI,KAET,MACF,IAAK,cAUL,IAAK,eACH+B,EAAMmlG,oBAAN,2BACKzhF,GADL,6BAEMxd,GAAQlL,EAAQ4yB,KAAO5yB,GAAO6yB,OAAO,cAAgB,MAE3D7tB,EAAMolG,kBAAN,2BACKrhF,GADL,mBAEG7d,OAAMjI,MAKf,SAASgnB,EAAkB/e,EAAa6K,GACtC,OAAQ7K,GACN,IAAK,aACH8d,EAAU,2BACLD,GADI,IAEPgqC,YAAiB,OAALh9C,QAAK,IAALA,OAAA,EAAAA,EAAO/S,UACf,oEACAC,KAEN+B,EAAMolG,kBAAN,2BACKrhF,GADL,mBAEG7d,GAAW,OAAL6K,QAAK,IAALA,OAAA,EAAAA,EAAO/S,UACV,oEACAC,KAEN,MACF,IAAK,iBACH+lB,EAAU,2BACLD,GADI,mBAEN7d,GAAW,OAAL6K,QAAK,IAALA,OAAA,EAAAA,EAAO/S,UACV,oEACAC,KAEN+B,EAAMolG,kBAAN,2BACKrhF,GADL,mBAEG7d,GAAW,OAAL6K,QAAK,IAALA,OAAA,EAAAA,EAAO/S,UACV,oEACAC,MAKZ,SAASonG,EAAUphG,GACZyf,EAAW4hF,aACdthF,EAAU,2BAAKD,GAAN,IAAcuhF,YAAa,yBAGxC,SAASC,EAAUthG,GACZyf,EAAW8hF,cACdxhF,EAAU,2BAAKD,GAAN,IAAcyhF,aAAc,yBAlGzCvlG,IAAM2H,WAAU,WACd,GACEiM,KAAKkG,UAAU2J,KAAgB7P,KAAKkG,UAAL,OAAe/Z,QAAf,IAAeA,OAAf,EAAeA,EAAO0jB,aACrD7P,KAAKkG,UAAUgK,KAAYlQ,KAAKkG,UAAL,OAAe/Z,QAAf,IAAeA,OAAf,EAAeA,EAAOsjB,iBACjD,CACAte,QAAQC,IAAI,YAAZ,OAAyBjF,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAO0jB,YAChC,IAAI+hF,EAAM,OAAGzlG,QAAH,IAAGA,OAAH,EAAGA,EAAO0jB,WAEpBC,EAAc8hF,GACdzhF,EAAUhkB,EAAMsjB,iBAElB24C,EAAkBj8D,EAAMg8D,kBACvB,CAACh8D,EAAMg8D,eAAgBh8D,EAAM0jB,aAsIhC,OACE,0BAAM/oB,UAAU,oBACd,oCACE,6BAEGqhE,EAAer9D,OAAS,GACvB,yBAAKhE,UAAU,OACb,2BAAOA,UAAU,WAAjB,eACA,kBAAC,GAAD,CACEqD,UAAQ,EACRkC,aAAY,OAAEwjB,QAAF,IAAEA,OAAF,EAAEA,EAAYqqC,WAC1B/rD,YAAY,cACZzG,KAAK,cACL8G,KAAK,OACLG,WAAUxC,EAAM0lG,YAAa1lG,EAAM0lG,WACnC5kG,SAAU,SAAC9F,GAAD,OAAWipB,EAAoB,aAAcjpB,IACvDkH,OAAQ,SAAC6O,GAAD,OAAWkU,EAAkB,aAAclU,IACnD3Q,UAAW2jB,EAAOgqC,cAIJ,iBAAnBiO,GACC,oCACE,yBAAKrhE,UAAU,OACb,2BAAOA,UAAU,WAAjB,kBACA,kBAAC,GAAD,CACEqD,UAAQ,EACRkC,aAAY,OAAEwjB,QAAF,IAAEA,OAAF,EAAEA,EAAYqU,eAC1B/1B,YAAY,WACZzG,KAAK,YACLiG,UAAW,GACXa,KAAK,OACLG,WAAUxC,EAAM0lG,YAAa1lG,EAAM0lG,WACnC5kG,SAAU,SAAC9F,GAAD,OACRipB,EAAoB,iBAAkBjpB,IAExCkH,OAAQ,SAAC6O,GAAD,OAAWkU,EAAkB,iBAAkBlU,IACvD3Q,UAAW2jB,EAAOgU,mBAQN,oBAAnBikC,GACC,oCACE,yBAAKrhE,UAAU,OACb,2BAAOA,UAAU,WAAjB,0BACA,kBAAC,GAAD,CACEqD,UAAQ,EACRsD,UAAQ,EACRpB,aAAY,OAAEwjB,QAAF,IAAEA,OAAF,EAAEA,EAAYqU,eAC1B/1B,YAAY,WACZzG,KAAK,yBACL8G,KAAK,OACLvB,SAAU,SAAC9F,GAAD,OACRipB,EAAoB,iBAAkBjpB,IAExCkH,OAAQ,SAAC6O,GAAD,OAAWkU,EAAkB,iBAAkBlU,IACvD3Q,UAAW2jB,EAAOgU,kBAGtB,yBAAKp9B,UAAU,OACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CACE4xB,aACY,OAAV7I,QAAU,IAAVA,OAAA,EAAAA,EAAY4hF,aACR,IAAI54E,KAAJ,OAAShJ,QAAT,IAASA,GAAT,UAASA,EAAY4hF,mBAArB,iBAAS,EAAyB1oF,MAAM,YAAxC,aAAS,EAAqC+oF,gBAC9C1nG,EAEN4uB,aAAc,SAACxpB,GAAD,OACZ4gB,EAAoB,cAAe5gB,IAErCorB,gBAAiB,uBACjB3B,QACE,IAAIJ,MAAK,IAAIA,MAAOuvB,aAAY,IAAIvvB,MAAOS,gBAE7CjrB,OAAQmjG,EACRz2E,UAAS7K,EAAOuhF,eAGnBvhF,EAAOuhF,aACN,uBAAG3qG,UAAU,iBAAiBopB,EAAOuhF,aAEvC,yBAAK3qG,UAAU,OACb,2BAAOA,UAAU,WAAjB,kBACA,kBAAC,GAAD,CAEE4xB,aACY,OAAV7I,QAAU,IAAVA,OAAA,EAAAA,EAAY8hF,cACR,IAAI94E,KAAJ,OACEhJ,QADF,IACEA,GADF,UACEA,EAAY8hF,oBADd,iBACE,EAA0B5oF,MAAM,YADlC,aACE,EAAsC+oF,gBAExC1nG,EAEN4uB,aAAc,SAACxpB,GAAD,OACZ4gB,EAAoB,eAAgB5gB,IAEtCorB,gBAAiB,wBACjBF,QACE,IAAI7B,MAAK,IAAIA,MAAOuvB,aAAY,IAAIvvB,MAAOS,gBAE7CjrB,OAAQqjG,EACR32E,UAAS7K,EAAOyhF,gBAGnBzhF,EAAOyhF,cACN,uBAAG7qG,UAAU,iBAAiBopB,EAAOyhF,eAMvB,aAAnBxpC,GACC,oCACG,IACD,yBAAKrhE,UAAU,OACb,2BAAOA,UAAU,WAAjB,YACA,kBAAC,GAAD,CACEqD,UAAQ,EACRsD,UAAQ,EACRpB,aAAY,OAAEwjB,QAAF,IAAEA,OAAF,EAAEA,EAAYqU,eAC1B/1B,YAAY,WACZzG,KAAK,WACL8G,KAAK,OACLvB,SAAU,SAAC9F,GAAD,OACRipB,EAAoB,iBAAkBjpB,IAExCkH,OAAQ,SAAC6O,GAAD,OAAWkU,EAAkB,iBAAkBlU,IACvD3Q,UAAW2jB,EAAOgU,kBAGtB,yBAAKp9B,UAAU,OACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CACE4xB,aACY,OAAV7I,QAAU,IAAVA,OAAA,EAAAA,EAAY4hF,aACR,IAAI54E,KAAJ,OAAShJ,QAAT,IAASA,GAAT,UAASA,EAAY4hF,mBAArB,iBAAS,EAAyB1oF,MAAM,YAAxC,aAAS,EAAqC+oF,gBAC9C1nG,EAEN4uB,aAAc,SAACxpB,GAAD,OACZ4gB,EAAoB,cAAe5gB,IAErCorB,gBAAiB,uBACjB3B,QACE,IAAIJ,MAAK,IAAIA,MAAOuvB,aAAY,IAAIvvB,MAAOS,gBAE7CjrB,OAAQmjG,EACRz2E,UAAS7K,EAAOuhF,eAGnBvhF,EAAOuhF,aACN,uBAAG3qG,UAAU,iBAAiBopB,EAAOuhF,cAMvB,aAAnBtpC,GACC,oCACE,yBAAKrhE,UAAU,OACb,2BAAOA,UAAU,WAAjB,mBACA,kBAAC,GAAD,CACEqD,UAAQ,EACRsD,UAAQ,EACRpB,aAAY,OAAEwjB,QAAF,IAAEA,OAAF,EAAEA,EAAYqU,eAC1B/1B,YAAY,WACZzG,KAAK,kBACL8G,KAAK,OACLvB,SAAU,SAAC9F,GAAD,OACRipB,EAAoB,iBAAkBjpB,IAExCkH,OAAQ,SAAC6O,GAAD,OAAWkU,EAAkB,iBAAkBlU,IACvD3Q,UAAW2jB,EAAOgU,kBAGtB,yBAAKp9B,UAAU,OACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CACC4xB,aACW,OAAV7I,QAAU,IAAVA,OAAA,EAAAA,EAAY4hF,aACR,IAAI54E,KAAJ,OAAShJ,QAAT,IAASA,GAAT,UAASA,EAAY4hF,mBAArB,iBAAS,EAAyB1oF,MAAM,YAAxC,aAAS,EAAqC+oF,gBAC9C1nG,EAEJ4uB,aAAc,SAACxpB,GAAD,OACZ4gB,EAAoB,cAAe5gB,IAErCorB,gBAAiB,uBACjB3B,QACE,IAAIJ,MAAK,IAAIA,MAAOuvB,aAAY,IAAIvvB,MAAOS,gBAE7CjrB,OAAQmjG,EACRz2E,UAAS7K,EAAOuhF,eAGnBvhF,EAAOuhF,aACN,uBAAG3qG,UAAU,iBAAiBopB,EAAOuhF,aAEvC,yBAAK3qG,UAAU,OACb,2BAAOA,UAAU,WAAjB,kBACA,kBAAC,GAAD,CACG4xB,aACW,OAAV7I,QAAU,IAAVA,OAAA,EAAAA,EAAY8hF,cACR,IAAI94E,KAAJ,OACEhJ,QADF,IACEA,GADF,UACEA,EAAY8hF,oBADd,iBACE,EAA0B5oF,MAAM,YADlC,aACE,EAAsC+oF,gBAExC1nG,EAEN4uB,aAAc,SAACxpB,GAAD,OACZ4gB,EAAoB,eAAgB5gB,IAEtCorB,gBAAiB,wBACjBF,QACE,IAAI7B,MAAK,IAAIA,MAAOuvB,aAAY,IAAIvvB,MAAOS,gBAE7CjrB,OAAQqjG,EACR32E,UAAS7K,EAAOyhF,gBAGnBzhF,EAAOyhF,cACN,uBAAG7qG,UAAU,iBAAiBopB,EAAOyhF,mBDpV/CI,GAAyB,CAC7B,CACE3qG,QAAS,eACTD,MAAO,KAET,CACEC,QAAS,kBACTD,MAAO,KAET,CACEC,QAAS,WACTD,MAAO,KAET,CACEC,QAAS,WACTD,MAAO,MAGL6qG,GAAyB,CAC7B,CACE5qG,QAAS,eACTD,MAAO,IAET,CACEC,QAAS,kBACTD,MAAO,IAET,CACEC,QAAS,WACTD,MAAO,IAET,CACEC,QAAS,WACTD,MAAO,KAIEg+B,GAAyB,CACpCzV,aAAc,GACdtH,KAAM,GACNuI,QAAS,GACTD,SAAU,GACVL,QAAS,GACThI,MAAO,GACPP,KAAM,GACN+I,YAAa,EACbD,UAAW,EACXspC,WAAY,IAGDr0B,GAAiC,CAC5Cp3B,GAAI,GACJq3B,SAAS,EACTC,UAAW,EACXC,cAAc,EACd5F,SAAU,GACV6F,UAAU,EACVC,OAAQ,GACR5E,iBAAkB,GAClBoC,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV6C,OAAQ,GACRnC,eAAe,GAEJ0/B,GAAoC,CAC/Cj1D,GAAI,GACJq3B,SAAS,EACTC,UAAW,EACXC,cAAc,EACd5F,SAAU,GACV6F,UAAU,EACVC,OAAQ,GACR5E,iBAAkB,GAClBoC,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV6C,OAAQ,GACR24B,WAAW,EACX96B,eAAe,GAixEFiuE,GA9wEM,SAAC9lG,GAAgB,IAAD,MACDC,IAAM4G,SAAe,IAAI6lB,MADxB,mBAC5B4N,EAD4B,aAEDr6B,IAAM4G,UAAkB,IAFvB,mBAE5BuC,EAF4B,KAEjBge,EAFiB,OAGLnnB,IAAM4G,WAHD,mBAG5BkgB,EAH4B,KAGnB1C,EAHmB,OAIaxd,mBAAc,IAJ3B,mBAI5By8D,EAJ4B,KAIVC,EAJU,OAKmB18D,mBAAc,IALjC,mBAK5Bk/F,EAL4B,KAKPC,EALO,OAMan/F,mBAAc,IAN3B,mBAM5B28D,EAN4B,KAMVC,EANU,OAOmB58D,mBAAc,IAPjC,mBAOPo/F,GAPO,aAQGhmG,IAAM4G,UAAkB,GAR3B,mBAQ5Bk3D,EAR4B,KAQfC,EARe,OASDn3D,oBAAkB,GATjB,mBAS5BmzD,EAT4B,KASjBC,EATiB,OAUOpzD,oBAAkB,GAVzB,mBAU5BqzD,EAV4B,KAUbC,EAVa,OAWWl6D,IAAM4G,UAAkB,GAXnC,mBAW5Bo3D,EAX4B,KAWXC,EAXW,OAaGr3D,mBAAc,IAbjB,oCAcSA,mBAAiB,KAd1B,qBAc5Bm1D,GAd4B,MAcZC,GAdY,SAeiBp1D,mBAAiB,IAflC,qBAe5Bq1D,GAf4B,MAeRC,GAfQ,SAiBSt1D,mBAAQ,eAC/C6yB,KAlB8B,qBAiB5B8hC,GAjB4B,MAiBZC,GAjBY,SAqBjC50D,mBAAQ,eAAuB0wD,KArBE,qBAoB5B6D,GApB4B,MAoBNC,GApBM,SAsBSx0D,mBAAQ,eAC/C6yB,KAvB8B,qBAsB5BgiC,GAtB4B,MAsBZC,GAtBY,SAyBqB90D,mBAAQ,eAC3D0wD,KA1B8B,qBAyB5B+D,GAzB4B,MAyBNC,GAzBM,SA4Bat7D,IAAM4G,SAAN,eAC3CmyB,KA7B8B,qBA4B5ByE,GA5B4B,MA4BVC,GA5BU,SA+BuBz9B,IAAM4G,SAAN,eACnDmyB,KAhC4B,qBA+B5B6E,GA/B4B,MA+BLC,GA/BK,SAkCK79B,IAAM4G,SAAN,eAGnCo+F,KArC8B,qBAkC5BpmE,GAlC4B,MAkCdC,GAlCc,SAuCK7+B,IAAM4G,SAAN,eAGnCo+F,KA1C8B,qBAuC5BlmE,GAvC4B,MAuCdC,GAvCc,SA4Can4B,oBAAkB,GA5C/B,qBA4C5Bm6D,GA5C4B,MA4CVC,GA5CU,SA6Cap6D,oBAAkB,GA7C/B,qBA6C5Bq6D,GA7C4B,MA6CVC,GA7CU,SA8CGlhE,IAAM4G,SAAiB,IA9C1B,qBA8C5B44D,GA9C4B,MA8CfC,GA9Ce,SA+CWz/D,IAAM4G,SAAiB,IA/ClC,qBA+C5B84D,GA/C4B,MA+CXC,GA/CW,SAgDW3/D,IAAM4G,UAAkB,GAhDnC,qBAgD5BsyB,GAhD4B,MAgDXkG,GAhDW,SAiDPp/B,IAAM4G,SAAc,CAC9C42B,iBAAkB,GAClBI,sBAAuB,KAnDU,qBAiD5B9Z,GAjD4B,MAiDpBC,GAjDoB,SAqDG/jB,IAAM4G,UAAkB,GArD3B,qBAqD5Bq/F,GArD4B,MAqDfC,GArDe,SAuDjClmG,IAAM4G,UAAkB,GAvDS,qBAsD5Bu/F,GAtD4B,MAsDVC,GAtDU,SAyDjCpmG,IAAM4G,UAAkB,GAzDS,qBAwD5By/F,GAxD4B,MAwDVC,GAxDU,SA0DMtmG,IAAM4G,UAAkB,GA1D9B,qBA0D5B2/F,GA1D4B,MA0DbC,GA1Da,SA2DMxmG,IAAM4G,UAAkB,GA3D9B,qBA2D5B6/F,GA3D4B,MA2DbC,GA3Da,SA6DjC1mG,IAAM4G,UAAkB,GA7DS,qBA4D5B+/F,GA5D4B,MA4DLC,GA5DK,MA+D7Bv/E,GAAUC,cAoBhB,SAASye,GAAcz0B,GACrB,IAEE,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MACdqW,GAAa,GACb/C,EAAW9S,EAAIR,WACV,CACL,GAAIQ,EAAIS,KAAM,CACZ,IAAI+W,EAAclV,KAAKC,MAAMvC,EAAIS,MACjC,GAAI+W,EAAY+9E,eAAgB,CAAC,IAAD,EACxBngF,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBoD,cAAgBvQ,GAAYwQ,cACpDrD,EAAwBumB,OAAS1zB,GAAY0Q,OAC7CvD,EAAwBsD,sBACtBlB,EAAYokB,sBACdxmB,EAAwBpD,aACtBwF,EAAY+9E,eAAex+D,2BAA2BC,sBACxD5hB,EAAwBwS,iBACtBpQ,EAAY0f,sBACR1f,EAAY0f,qBAElB9hB,EAAwBuS,YACtBnQ,EAAY+9E,eAAet+D,gCAAgCE,2BACjB,KAA7B,OAAX3f,QAAW,IAAXA,GAAA,UAAAA,EAAa+O,sBAAb,eAA6Bn5B,UAC/BgoB,EAAwBiD,SAAWb,EAAY+O,eAC3C/O,EAAY+O,eAAe2P,OAAO,GAClC,GACJjuB,GAAY2M,gBAAgByD,SAC1BhQ,OAAOC,aAAa+M,QAClB,eACApN,GAAY2M,gBAAgByD,UAEhCo7E,GAAgBj8E,EAAY+O,eAAe2P,OAAO,GAClD7tB,OAAOC,aAAa+M,QAAQ,eAAgBo+E,KAG9CprF,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAGjB,IAAIogF,EACFh+E,EAAY+9E,eAAex+D,2BAC7B,GAAIy+D,EAAe,CAAC,IAAD,kBAgCf,EA/BIn+D,EAAU,eAAQnL,IA4BxB,GA3BAmL,EAAWrlB,cACRwjF,EAAcx+D,uBAAyB,KACvCw+D,EAAcl+D,uBAAyB,KACvCk+D,EAAcj+D,uBAAyB,KACvCi+D,EAAch+D,uBAAyB,IAC1CH,EAAWjtB,KAAOorF,EAAc/9D,cAChCJ,EAAW3sB,KAAO8qF,EAAc99D,cAChCL,EAAW1kB,QAAU6iF,EAAc79D,iBACnCN,EAAWrkB,SAAWwiF,EAAc59D,kBACpCP,EAAW1sB,MAAQ6qF,EAAc39D,eACjCR,EAAWnkB,UAAYsiF,EAAc19D,mBACrCT,EAAWpkB,QAAUuiF,EAAcz9D,iBACnCV,EAAWlkB,YAAcqiF,EAAcx9D,qBACvCX,EAAWmlB,WAAag5C,EAAc/O,aACtCpvD,EAAW7Q,eAAiBgvE,EAAcC,eAC1Cp+D,EAAW08D,aAA2B,OAAbyB,QAAa,IAAbA,OAAA,EAAAA,EAAeE,mBAAf,OACrBF,QADqB,IACrBA,GADqB,UACrBA,EAAeE,yBADM,iBACrB,EACIrqF,MAAM,YAFW,iBACrB,EAEI+oF,iBAHiB,aACrB,EAGIhoF,KAAK,KACT,GACJirB,EAAW48D,cAA4B,OAAbuB,QAAa,IAAbA,OAAA,EAAAA,EAAetvE,oBAAf,OACtBsvE,QADsB,IACtBA,GADsB,UACtBA,EAAetvE,0BADO,iBACtB,EACI7a,MAAM,YAFY,iBACtB,EAEI+oF,iBAHkB,aACtB,EAGIhoF,KAAK,KACT,GAEwC,KAA7B,OAAbopF,QAAa,IAAbA,GAAA,UAAAA,EAAeC,sBAAf,eAA+BroG,UAA/B,OACAooG,QADA,IACAA,GADA,UACAA,EAAeC,sBADf,aACA,EAA+BpiG,SAAS,SAExCgkC,EAAW7Q,eACiC,KAA7B,OAAbgvE,QAAa,IAAbA,GAAA,UAAAA,EAAeC,sBAAf,eAA+BroG,QAA/B,oBACiBooG,EAAcC,gBAD/B,OAEID,QAFJ,IAEIA,OAFJ,EAEIA,EAAeC,sBACdp+D,EAAW48D,oBACX58D,EAAW08D,YAE0B,MAA7B,OAAbyB,QAAa,IAAbA,GAAA,UAAAA,EAAeC,sBAAf,eAA+BroG,gBAC1BiqC,EAAW48D,aAGpB9nE,GAAoBkL,GAGtB,IAAIs+D,EACFn+E,EAAY+9E,eAAet+D,gCAC7B,GAAI0+D,EAAgB,CAAC,IAAD,kBAgChB,EA/BI19D,EAAU,eAAQ3L,IA4BxB,GA3BA2L,EAAWjmB,aACT2jF,EAAex+D,2BACfw+D,EAAez9D,4BACdy9D,EAAex9D,4BAA8B,KAC7Cw9D,EAAev9D,4BAA8B,IAChDH,EAAW7tB,KAAOurF,EAAet9D,mBACjCJ,EAAWvtB,KAAOirF,EAAer9D,mBACjCL,EAAWtlB,QAAUgjF,EAAep9D,sBACpCN,EAAWjlB,SAAW2iF,EAAen9D,uBACrCP,EAAWttB,MAAQgrF,EAAel9D,oBAClCR,EAAW/kB,UAAYyiF,EAAej9D,wBACtCT,EAAWhlB,QAAU0iF,EAAeh9D,sBACpCV,EAAW9kB,YAAcwiF,EAAe/8D,0BACxCX,EAAWukB,WAAam5C,EAAelP,aACvCxuD,EAAWzR,eAAiBmvE,EAAeF,eAC3Cx9D,EAAW87D,aAA4B,OAAd4B,QAAc,IAAdA,OAAA,EAAAA,EAAgBD,mBAAhB,OACrBC,QADqB,IACrBA,GADqB,UACrBA,EAAgBD,yBADK,iBACrB,EACIrqF,MAAM,YAFW,iBACrB,EAEI+oF,iBAHiB,aACrB,EAGIhoF,KAAK,KACT,GACJ6rB,EAAWg8D,cAA6B,OAAd0B,QAAc,IAAdA,OAAA,EAAAA,EAAgBzvE,oBAAhB,OACtByvE,QADsB,IACtBA,GADsB,UACtBA,EAAgBzvE,0BADM,iBACtB,EACI7a,MAAM,YAFY,iBACtB,EAEI+oF,iBAHkB,aACtB,EAGIhoF,KAAK,KACT,GAEyC,KAA7B,OAAdupF,QAAc,IAAdA,GAAA,UAAAA,EAAgBF,sBAAhB,eAAgCroG,UAAhC,OACAuoG,QADA,IACAA,GADA,UACAA,EAAgBF,sBADhB,aACA,EAAgCpiG,SAAS,SAEzC4kC,EAAWzR,eACkC,KAA7B,OAAdmvE,QAAc,IAAdA,GAAA,UAAAA,EAAgBF,sBAAhB,eAAgCroG,QAAhC,oBACiBuoG,EAAeF,gBADhC,OAEIE,QAFJ,IAEIA,OAFJ,EAEIA,EAAgBF,sBACfx9D,EAAW87D,mBACX97D,EAAWg8D,aAE2B,MAA7B,OAAd0B,QAAc,IAAdA,GAAA,UAAAA,EAAgBF,sBAAhB,eAAgCroG,gBAC3B6qC,EAAWg8D,aAEpB1nE,GAAyB0L,GAE3BnK,IACuC,IAArCtW,EAAY0f,sBAGhBpJ,IACuC,IAArCtW,EAAYo+E,sBAIhB//E,GAAa,IAEf,MAAOrW,GACP/L,QAAQC,IAAI,iBAAkB8L,IA1KlC9Q,IAAM2H,WAAU,WACd,ID5LFuR,EACA4Q,EC2LQpD,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAK5D6M,EAAwBymB,QAAU5zB,GAAYgjB,KAAKvlB,MACnD0P,EAAwBoD,cAAgBvQ,GAAYwQ,cACpDrD,EAAwBglB,IAAMnyB,GAAYmyB,IAE1C/xB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IDxMnBxN,EC0MoB6sB,GDzMpBjc,ECyMmCvQ,GAAYwQ,cDvM/C/Q,GACE,CACEkB,IAAK,2BACLd,OAAQ,OACR9O,KAAK,CACHwf,cAAeA,GAEjB9P,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAayE,mBAE5B6I,GC6LAya,GAAqBi3C,GAAgBrxD,GAAYwQ,iBAChD,IA4JH,IAAM6gD,GAAc,uCAAG,WAAOt5D,GAAP,mBAAAzL,EAAA,sDACrBd,QAAQC,IAAI,uBAAwBsM,IAC/BA,GAAOA,EAAIR,MAEdqe,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,oBACzCgJ,EAAIS,MACPm7D,EAASt5D,KAAKC,MAAMvC,EAAIS,MAC9BhN,QAAQC,IAAI,iBAAkBkoE,GAExBO,EAAqBP,EAAO/pE,QAChC,SAAC2T,GAAD,MAAmC,iCAAvBA,EAAEme,oBAEVy4C,EAAqBR,EAAO/pE,QAChC,SAAC2T,GAAD,MAAmC,4BAAvBA,EAAEme,oBAEZw4C,EAAmB/uE,OAAS,IAC9ByoB,GAAa,GAC8B,iBAAvCsmD,EAAmB,GAAG2B,cACxBlT,GAAsB,gBACtB0qC,IAAyB,IACuB,aAAvCn5B,EAAmB,GAAG2B,aAC/BlT,GAAsB,YAC0B,aAAvCuR,EAAmB,GAAG2B,aAC/BlT,GAAsB,YAC0B,oBAAvCuR,EAAmB,GAAG2B,aAC/BlT,GAAsB,mBAC0B,mBAAvCuR,EAAmB,GAAG2B,cAC/BlT,GAAsB,kBAGxBT,GAAep5D,GAAK,cACpBo5D,GAAe/hC,SAAU,EACzB+hC,GAAe9hC,UAAY,IAC3B8hC,GAAeznC,SAAf,UAA6Bza,GAAYwQ,cAAzC,2BACA0xC,GAAe5hC,UAAW,EAC1B4hC,GAAe7hC,cAAe,EAC9B6hC,GAAenkC,mBACbm2C,EAAmB,GAAGp2C,mBACxBokC,GAAevmC,iBACbu4C,EAAmB,GAAGx4C,iBACxBwmC,GAAezkC,WAAay2C,EAAmB,GAAGt4C,WAClDsmC,GAAevkC,SAAWu2C,EAAmB,GAAGx2C,SAChDwkC,GAAenkC,mBACbm2C,EAAmB,GAAGp2C,mBACxBqkC,GAAkBD,IAClB1nC,GACEw7C,GACA9B,EAAmB,GAAGnjD,SACtBmjD,EAAmB,GAAGW,kBAGtBV,EAAmBhvE,OAAS,IAC9ByoB,GAAa,GAE8B,iBAAvCumD,EAAmB,GAAG0B,cACxBpT,GAAkB,gBAClBsqC,IAAoB,IAC4B,aAAvC54B,EAAmB,GAAG0B,aAC/BpT,GAAkB,YAC8B,aAAvC0R,EAAmB,GAAG0B,aAC/BpT,GAAkB,YAC8B,oBAAvC0R,EAAmB,GAAG0B,aAC/BpT,GAAkB,mBAC8B,mBAAvC0R,EAAmB,GAAG0B,cAC/BpT,GAAkB,kBAGpBT,GAAel5D,GAAK,cACpBk5D,GAAe7hC,SAAU,EACzB6hC,GAAe5hC,UAAY,IAC3B4hC,GAAevnC,SAAf,UAA6Bza,GAAYwQ,cAAzC,sBACAwxC,GAAe1hC,UAAW,EAC1B0hC,GAAe3hC,cAAe,EAC9B2hC,GAAejkC,mBACbo2C,EAAmB,GAAGr2C,mBACxBkkC,GAAermC,iBACbw4C,EAAmB,GAAGz4C,iBACxBsmC,GAAevkC,WAAa02C,EAAmB,GAAGv4C,WAClDomC,GAAerkC,SAAWw2C,EAAmB,GAAGz2C,SAChDskC,GAAejkC,mBACbo2C,EAAmB,GAAGr2C,mBACxBmkC,GAAkBD,IAClBxnC,GACEu7C,GACA5B,EAAmB,GAAGpjD,SACtBojD,EAAmB,GAAGU,oBAI1B5S,GAAkBD,IAClBG,GAAkBD,IAClBtsC,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,uBAEpD6e,GAAa,GA7FQ,2CAAH,sDAgGdmoD,GAAe,uCAAG,WAAOh+D,GAAP,eAAAzL,EAAA,uDACjByL,GAAOA,EAAIR,MAEdqe,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,oBAGLgJ,EAAIS,MACNoV,GAAa,GACP4S,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBioC,IAClDA,GAAezhC,OAASC,EACxByhC,GAAkBD,IAClBx2D,QAAQC,IAAI,iBAEZmqB,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,sBAjBS,2CAAH,sDAuBrB,SAASonE,GAAUC,EAAoBtrD,GACrC,MACE,SACkB,oBAAjBA,EAAI6S,SAAiC,kBAAoB,cAC1D,WACAy4C,EAIJ,IAAMJ,GAAmB,uCAAG,WAAOj+D,GAAP,eAAAzL,EAAA,uDACrByL,GAAOA,EAAIR,MAEdqe,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,oBAGLgJ,EAAIS,MACNoV,GAAa,GACP4S,EAAS21C,GAAUp+D,EAAIS,KAAKuhB,eAAgBmoC,IAClDA,GAAe3hC,OAASC,EAExB2hC,GAAkBD,IAClB12D,QAAQC,IAAI,iBAEZmqB,GAAW,CACTG,OAAQ,yBACRhnB,MAAO,sBAlBa,2CAAH,sDA6FnB6+F,GAAoB,SAACpsG,EAAYqsG,GAEnCrjF,GADmB,kBAAVhpB,EACC,2BAAK+oB,IAAN,mBAAesjF,EAA2B,KAEzC,2BACLtjF,IADI,mBAENsjF,EAA2B,mCAwVlC,IAcMn2B,GAAe,SACnB3/D,EACAjP,EACA2xB,EACA5xB,GAEA,IAAKkP,GAAOA,EAAIR,MACdqW,GAAa,GAET7V,EAAIS,KAAKjB,OACXsT,EAAW,0BAA4B9S,EAAIS,KAAKjB,OAChDqW,GAAa,IAEb/C,EAAW9S,EAAIR,YAEZ,GAAIQ,EAAIS,KAAM,CAKjB,IAAIohB,EAJN,GAAI7hB,EAAIS,KAAKjB,MACXsT,EAAW,0BAA4B9S,EAAIS,KAAKjB,OAChDqW,GAAa,OAGF,gBAAP9kB,GACEiP,EAAIS,KAAKP,OAAO0/D,kBAClB3V,GAAexhC,OAASzoB,EAAIS,KAAKP,OAAO2/D,aACxC5V,GAAerkC,SAAW,aAC1BqkC,GAAevnC,SACbunC,GAAevnC,SAASrX,MAAM,KAAK,GAAK,OAC1Cva,EAAO,aACPo5D,GAAkBD,KAGpBpoC,EAAY,CACVlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,QAAU,GACzClQ,SAAU0xC,GAAevnC,WAEX,sBAAP3xB,GACLiP,EAAIS,KAAKP,OAAO0/D,kBAClB/V,GAAqBphC,OAASzoB,EAAIS,KAAKP,OAAO2/D,aAC9ChW,GAAqBjkC,SAAW,aAChCikC,GAAqBnnC,SACnBmnC,GAAqBnnC,SAASrX,MAAM,KAAK,GAAK,OAChDva,EAAO,aACPg5D,GAAwBD,KAE1BhoC,EAAY,CACVlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgB6nC,GAAqBphC,QAAU,GAC/ClQ,SAAUsxC,GAAqBnnC,WAEjB,gBAAP3xB,GACLiP,EAAIS,KAAKP,OAAO0/D,kBAClBzV,GAAe1hC,OAASzoB,EAAIS,KAAKP,OAAO2/D,aACxC1V,GAAevkC,SAAW,aAC1BukC,GAAeznC,SACbynC,GAAeznC,SAASrX,MAAM,KAAK,GAAK,OAC1Cva,EAAO,aACPs5D,GAAkBD,KAEpBtoC,EAAY,CACVlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,QAAU,GACzClQ,SAAU4xC,GAAeznC,YAGvB1iB,EAAIS,KAAKP,OAAO0/D,kBAClB7V,GAAqBthC,OAASzoB,EAAIS,KAAKP,OAAO2/D,aAC9C9V,GAAqBnkC,SAAW,aAChCmkC,GAAqBrnC,SACnBqnC,GAAqBrnC,SAASrX,MAAM,KAAK,GAAK,OAChDva,EAAO,aACPk5D,GAAwBD,KAE1BloC,EAAY,CACVlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgB+nC,GAAqBthC,QAAU,GAC/ClQ,SAAUwxC,GAAqBrnC,WAGnCd,IACE,SAAC5hB,GAAD,OACE8/D,GAAa9/D,EAAKjP,EAAI8wB,EAAUG,eAAgBH,EAAUtJ,YAC5DsJ,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,QAyBxE,IAAMgvE,GAAe,SAAC9/D,EAAUjP,EAAYe,EAAU4wB,GACpD,IAAK1iB,GAAOA,EAAIR,MAEdqW,GAAa,GAlBjB,SAAgC9kB,EAAYiP,GAC/B,gBAAPjP,GACFihE,EAAoBhyD,EAAIR,OAEf,sBAAPzO,GACF0jG,EAAuBz0F,EAAIR,OAElB,gBAAPzO,GACFmhE,EAAoBlyD,EAAIR,OAGf,sBAAPzO,GACF2jG,EAAuB10F,EAAIR,OAO3B8iE,CAAuBvxE,EAAIiP,GAC3B8S,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,MAEN,GADAqS,EAAW,IACA,gBAAP/hB,GAAmD,QAA3B2xB,EAASrX,MAAM,KAAK,GAAc,CAC5DwK,GAAa,GACbm8C,EAAoB,IACpBtC,IAAoB,GACpBvB,GAAenuD,EAAIS,KAAK++D,MACxB,IAAMS,EAAa,CACjBt2D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,OAC/B7E,iBAAkBqmC,GAAermC,iBACjC33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,ItG7wBa,MsG+wBnB69D,GAAevkC,YACjB7P,GAAa,GACbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,ItGlxBoB,MsGoxBbhW,GAAevkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,ItGvxBmB,MsGyxBZhW,GAAevkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,ItG5xBc,MsG8xBPhW,GAAevkC,aACxB7P,GAAa,GACb4O,IAAW,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAAaA,SAErD,GAAW,gBAAPlvE,GAAmD,QAA3B2xB,EAASrX,MAAM,KAAK,GAAc,CACnE2mD,EAAoB,IACpBtC,IAAoB,GACpBvB,GAAenuD,EAAIS,KAAK++D,MACxB,IAAMu2B,EAAoB,CACxBpsF,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,OAC/B7E,iBAAkBqmC,GAAermC,iBACjC33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,IAEVqH,QAAQC,IAAIsM,EAAIS,KAAK++D,KAAM,WtGhzBJ,MsGkzBnBvV,GAAevkC,YACjB7P,GAAa,GACbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAK+1F,KAChCA,EACA,QtGtzBoB,MsGwzBb9rC,GAAevkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAK+1F,KAChCA,ItG3zBmB,MsG6zBZ9rC,GAAevkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAK+1F,KAChCA,ItGh0Bc,MsGk0BP9rC,GAAevkC,YACxB7P,GAAa,GACb4O,IACE,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAK+1F,KAChCA,IAEGlgF,GAAa,QACf,GAAW,sBAAP9kB,EAA4B,CACrC0jG,EAAuB,IACvB5+E,GAAa,GACb65C,IAAoB,GACpB,IAAIqT,EAAiB,CACnBvqD,cAAevQ,GAAYwQ,cAC3BuM,OAAQilC,GAAexhC,OACvBtD,OAAQ0kC,GAAqBphC,OAC7BvD,WAAY+kC,GAAevnC,SAC3B0C,WAAYykC,GAAqBnnC,UAEnCiC,GAAQq7C,GAAY+C,QACf,GAAW,gBAAPhyE,GAAmD,QAA3B2xB,EAASrX,MAAM,KAAK,GAAc,CACnEwK,GAAa,GACbq8C,EAAoB,IACpBtC,IAAoB,GACpBvB,GAAmBruD,EAAIS,KAAK++D,MAC5B,IAAMS,EAAa,CACjBt2D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,OAC/B7E,iBAAkBumC,GAAevmC,iBACjC33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,ItG71BiB,KsG+1BvB+9D,GAAezkC,YACjB7P,GAAa,GACbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,EACA,QtGn2BwB,KsGq2BjB9V,GAAezkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,ItGx2BuB,KsG02BhB9V,GAAezkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,ItG72BkB,KsG+2BX9V,GAAezkC,aACxB7P,GAAa,GACb4O,IAAW,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAAaA,SAErD,GAAW,gBAAPlvE,GAAmD,QAA3B2xB,EAASrX,MAAM,KAAK,GAAc,CACnEukD,IAAoB,GACpBsC,EAAoB,IACpB7D,GAAmBruD,EAAIS,KAAK++D,MAC5B,IAAMw2B,EAAqB,CACzBrsF,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,OAC/B7E,iBAAkBumC,GAAevmC,iBACjC33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,ItG/3BiB,KsGi4BvB+9D,GAAezkC,YACjB7P,GAAa,GAEbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAKg2F,KAChCA,EACA,QtGt4BwB,KsGw4BjB7rC,GAAezkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAKg2F,KAChCA,ItG34BuB,KsG64BhB7rC,GAAezkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAKg2F,KAChCA,ItGh5BkB,KsGk5BX7rC,GAAezkC,YACxB7P,GAAa,GACb4O,IACE,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAKg2F,KAChCA,IAEGngF,GAAa,QACf,GACE,gBAAP9kB,GAC2B,QAA3B2xB,EAASrX,MAAM,KAAK,SACY3e,IAAhCq9D,GAAqBthC,OACrB,CACA5S,GAAa,GACbq8C,EAAoB,IACpBtC,IAAoB,GACpB,IAAImT,EAAiB,CACnBvqD,cAAevQ,GAAYwQ,cAC3BuM,OAAQmlC,GAAe1hC,OACvBtD,OAAQ4kC,GAAqBthC,OAC7BvD,WAAYilC,GAAeznC,SAC3B0C,WAAY2kC,GAAqBrnC,UAEnCiC,GAAQy7C,GAAgB2C,QACnB,GAAW,sBAAPhyE,EAA4B,CACrC8kB,GAAa,GACb6+E,EAAuB,IACvB9kC,IAAoB,GACpB,IAAImT,EAAiB,CACnBvqD,cAAevQ,GAAYwQ,cAC3BuM,OAAQmlC,GAAe1hC,OACvBtD,OAAQ4kC,GAAqBthC,OAC7BvD,WAAYilC,GAAeznC,SAC3B0C,WAAY2kC,GAAqBrnC,UAEnCiC,GAAQy7C,GAAgB2C,SAG1BjwD,EAAW,uCAQXqtD,GAAe,SAACngE,EAAUjP,GACN,IAAD,EAAvB,IAAKiP,GAAOA,EAAIR,OACd,OAAIQ,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,aAAI,EAAWjB,QAMbsT,EAAW9S,EAAIR,OAGjBqW,GAAa,QACR,GAAI7V,EAAIS,KAIb,GAHAqS,EAAW,IAEX+C,GAAa,GtGt9Bc,MsGu9BvB9kB,EAAG9E,WAGL,GAFAgc,GAAYspC,cACU,OAApBvxC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAO41B,kBAAoB,GAC5D7tB,GAAYspC,cAAcvkD,QAMxB,CAAC,IAAD,wBACDipG,EAAkB,OAAGj2F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmB41B,kBAC5C3J,GAAoB,2BACfD,IADc,IAEjBla,aAAY,OAAEikF,QAAF,IAAEA,OAAF,EAAEA,EAAoBjpG,QAClC0d,KAAI,OAAEurF,QAAF,IAAEA,OAAF,EAAEA,EAAoBpuE,SAC1Bld,MAAK,OAAEsrF,QAAF,IAAEA,OAAF,EAAEA,EAAoB/jG,MAC3BygB,QAASsjF,EAAmBxrF,QAC5B+xC,WAAU,OAAEy5C,QAAF,IAAEA,OAAF,EAAEA,EAAoB9lB,aAChC3pD,gBACoB,OAAlByvE,QAAkB,IAAlBA,GAAA,UAAAA,EAAoBxyB,iBAApB,eAA+Br2E,QAAS,EAAxC,2BACiB6oG,QADjB,IACiBA,GADjB,UACiBA,EAAoBxyB,iBADrC,aACiB,EAA+BvtC,OAAO,KACjC,OAAlB+/D,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBxyB,WAApB,2BACawyB,QADb,IACaA,OADb,EACaA,EAAoBxyB,WACjC,OAKH,OAAHzjE,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,eAAmBg2F,eAAnB,OACAl2F,QADA,IACAA,GADA,UACAA,EAAKS,YADL,iBACA,EAAWP,cADX,aACA,EAAmBi2F,cADnB,OAEAn2F,QAFA,IAEAA,GAFA,UAEAA,EAAKS,YAFL,iBAEA,EAAWP,cAFX,aAEA,EAAmBk2F,cAEnBlB,IAAgB,GAEhBA,IAAgB,IAGlB,OAAIl1F,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,iBAAI,EAAWP,cAAf,aAAI,EAAmBg2F,cACrBlB,IAAoB,GACpBliF,EAAW,MAEXkiF,IAAoB,GACpBliF,EAAW,mCAGuB,QAAhB,OAAlBmjF,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBxyB,YACc,MAAhB,OAAlBwyB,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBxyB,YAEpBz6D,MAAM,mDA5CRA,MAEE,kFAEFmjB,GAAoB,eAAK1E,UA2CtB,GtGzgCqB,MsGygCjB12B,EAAG9E,WAIZ,GAHAgc,GAAYupC,eACU,OAApBxxC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAO41B,kBAAoB,GAE5D7tB,GAAYupC,eAAexkD,QAMzB,CAAC,IAAD,IACDipG,EAAkB,OAAGj2F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmB41B,kBAC5C3J,GAAoB,2BACfD,IADc,IAEjBla,aAAY,OAAEikF,QAAF,IAAEA,OAAF,EAAEA,EAAoBjpG,QAClC0d,KAAI,OAAEurF,QAAF,IAAEA,OAAF,EAAEA,EAAoBpuE,SAC1Bld,MAAK,OAAEsrF,QAAF,IAAEA,OAAF,EAAEA,EAAoB/jG,MAC3BygB,QAASsjF,EAAmBxrF,QAC5B+xC,WAAU,OAAEy5C,QAAF,IAAEA,OAAF,EAAEA,EAAoB9lB,aAChC3pD,eAAc,OAAEyvE,QAAF,IAAEA,OAAF,EAAEA,EAAoBxyB,UAGpCswB,YAAW,OAAEkC,QAAF,IAAEA,OAAF,EAAEA,EAAoBI,cACjCpC,aAAY,OAAEgC,QAAF,IAAEA,OAAF,EAAEA,EAAoBK,kBAEpC7iG,QAAQC,IACqC,iBAApCuiG,EAAmBI,cAC1B,YACOJ,EAAmBK,eAC1B,OACA,IAAIn7E,MAAJ,OAAa86E,QAAb,IAAaA,OAAb,EAAaA,EAAoBK,iBAGA,OAAjCL,EAAmBxyB,WACc,KAAjCwyB,EAAmBxyB,WAEnBz6D,MAAM,qDA/BRA,MAEE,kFAEFmjB,GAAoB,eAAK1E,UA8BtB,GtG/iCoB,MsG+iChB12B,EAAG9E,WAIZ,GAHAgc,GAAYypC,cACU,OAApB1xC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAO41B,kBAAoB,GAE5D7tB,GAAYypC,cAAc1kD,QAMxB,CAAC,IAAD,IACDipG,EAAkB,OAAGj2F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmB41B,kBAC5C3J,GAAoB,2BACfD,IADc,IAEjBla,aAAY,OAAEikF,QAAF,IAAEA,OAAF,EAAEA,EAAoBjpG,QAClC0d,KAAI,OAAEurF,QAAF,IAAEA,OAAF,EAAEA,EAAoBpuE,SAC1Bld,MAAK,OAAEsrF,QAAF,IAAEA,OAAF,EAAEA,EAAoB/jG,MAC3BygB,QAASsjF,EAAmBxrF,QAC5B+xC,WAAU,OAAEy5C,QAAF,IAAEA,OAAF,EAAEA,EAAoB9lB,aAChC3pD,eAAc,OAAEyvE,QAAF,IAAEA,OAAF,EAAEA,EAAoBxyB,aAIH,OAAjCwyB,EAAmBxyB,WACc,KAAjCwyB,EAAmBxyB,WAEnBz6D,MAAM,8DArBRA,MAEE,kFAEFmjB,GAAoB,eAAK1E,UAoBtB,GtG3kCe,MsG2kCX12B,EAAG9E,WAGZ,GAFAgc,GAAYwpC,SACU,OAApBzxC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAO41B,kBAAoB,GAC5D7tB,GAAYwpC,SAASzkD,QAMnB,CAAC,IAAD,IACDipG,EAAkB,OAAGj2F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmB41B,kBAE5C3J,GAAoB,2BACfD,IADc,IAEjBla,aAAY,OAAEikF,QAAF,IAAEA,OAAF,EAAEA,EAAoBjpG,QAClC0d,KAAI,OAAEurF,QAAF,IAAEA,OAAF,EAAEA,EAAoBpuE,SAC1Bld,MAAK,OAAEsrF,QAAF,IAAEA,OAAF,EAAEA,EAAoB/jG,MAC3BygB,QAASsjF,EAAmBxrF,QAC5B+b,eAAc,OAAEyvE,QAAF,IAAEA,OAAF,EAAEA,EAAoBxyB,UACpCjnB,WAAU,OAAEy5C,QAAF,IAAEA,OAAF,EAAEA,EAAoB9lB,aAChC4jB,YAG4B,gBAF1B13E,KACEA,KAAM,OAAC45E,QAAD,IAACA,OAAD,EAACA,EAAoBM,YAAa,eACxCj6E,OAAO,mBACL5vB,EACA2vB,KACEA,KAAM,OAAC45E,QAAD,IAACA,OAAD,EAACA,EAAoBM,YAAa,eACxCj6E,OAAO,cACf23E,aAG4B,gBAF1B53E,KACEA,KAAM,OAAC45E,QAAD,IAACA,OAAD,EAACA,EAAoBO,iBAAkB,eAC7Cl6E,OAAO,mBACL5vB,EACA2vB,KACEA,KAAM,OAAC45E,QAAD,IAACA,OAAD,EAACA,EAAoBO,iBAAkB,eAC7Cl6E,OAAO,iBAEjB,IAAIm6E,EAAmB,CACrBjzE,WAAY,qBACZ3Z,cAAe5B,GAAYwQ,cAC3Bi+E,YAAW,OAAET,QAAF,IAAEA,OAAF,EAAEA,EAAoBvyB,cACjCjgD,aAAc,sBACdC,OAAQ,MAERizE,SACoC,QAAhB,OAAlBV,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBxyB,WAChBwyB,EAAmBxyB,UACnB,IAERyvB,IACE,SAAClzF,GAAD,OAAc42F,GAAkB52F,KAChCy2F,QA/CFztF,MAEE,kFAEFmjB,GAAoB,eAAK1E,UA8CtB,GtG/nCwB,KsG+nCpB12B,EAAG9E,WAGZ,GAFAgc,GAAY0pC,kBACU,OAApB3xC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAO41B,kBAAoB,GAC5D7tB,GAAY0pC,kBAAkB3kD,QAM5B,CAAC,IAAD,wBACD6pG,EAAmB,OAAG72F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmB41B,kBAC7CvJ,GAAyB,2BACpBD,IADmB,IAEtBta,aAAY,OAAE6kF,QAAF,IAAEA,OAAF,EAAEA,EAAqB7pG,QACnC0d,KAAI,OAAEmsF,QAAF,IAAEA,OAAF,EAAEA,EAAqBhvE,SAC3Bld,MAAK,OAAEksF,QAAF,IAAEA,OAAF,EAAEA,EAAqB3kG,MAC5BygB,QAASkkF,EAAoBpsF,QAC7B+xC,WAAU,OAAEq6C,QAAF,IAAEA,OAAF,EAAEA,EAAqB1mB,aACjC3pD,gBACqB,OAAnBqwE,QAAmB,IAAnBA,GAAA,UAAAA,EAAqBpzB,iBAArB,eAAgCr2E,QAAS,EAAzC,2BACiBypG,QADjB,IACiBA,GADjB,UACiBA,EAAqBpzB,iBADtC,aACiB,EAAgCvtC,OAAO,KACjC,OAAnB2gE,QAAmB,IAAnBA,OAAA,EAAAA,EAAqBpzB,WAArB,2BACaozB,QADb,IACaA,OADb,EACaA,EAAqBpzB,WAClC,MAG4B,OAAlCozB,EAAoBpzB,WACc,KAAlCozB,EAAoBpzB,WAEpBz6D,MAAM,+CAMH,OAAHhJ,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,eAAmBg2F,eAAnB,OACAl2F,QADA,IACAA,GADA,UACAA,EAAKS,YADL,iBACA,EAAWP,cADX,aACA,EAAmBi2F,cADnB,OAEAn2F,QAFA,IAEAA,GAFA,UAEAA,EAAKS,YAFL,iBAEA,EAAWP,cAFX,aAEA,EAAmBk2F,cAEnBhB,IAAgB,GAEhBA,IAAgB,IAGlB,OAAIp1F,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,iBAAI,EAAWP,cAAf,aAAI,EAAmBg2F,cACrBZ,IAAyB,GACzBxiF,EAAW,MAEXwiF,IAAyB,GACzBxiF,EAAW,wCA7Cb9J,MAEE,kFAEFujB,GAAyB,eAAK9E,UA4C3B,GtGlrCyB,KsGkrCrB12B,EAAG9E,WAGZ,GAFAgc,GAAY2pC,mBACU,OAApB5xC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAO41B,kBAAoB,GAC5D7tB,GAAY2pC,mBAAmB5kD,QAM7B,CAAC,IAAD,IACD6pG,EAAmB,OAAG72F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmB41B,kBAC7CvJ,GAAyB,2BACpBD,IADmB,IAEtBta,aAAY,OAAE6kF,QAAF,IAAEA,OAAF,EAAEA,EAAqB7pG,QACnC0d,KAAI,OAAEmsF,QAAF,IAAEA,OAAF,EAAEA,EAAqBhvE,SAC3Bld,MAAK,OAAEksF,QAAF,IAAEA,OAAF,EAAEA,EAAqB3kG,MAC5BygB,QAASkkF,EAAoBpsF,QAC7B+xC,WAAU,OAAEq6C,QAAF,IAAEA,OAAF,EAAEA,EAAqB1mB,aACjC3pD,eAAc,OAAEqwE,QAAF,IAAEA,OAAF,EAAEA,EAAqBpzB,UACrCswB,YAAW,OAAE8C,QAAF,IAAEA,OAAF,EAAEA,EAAqBR,cAClCpC,aAAY,OAAE4C,QAAF,IAAEA,OAAF,EAAEA,EAAqBP,uBAhBrCttF,MAEE,kFAEFujB,GAAyB,eAAK9E,UAe3B,GtGxsCwB,KsGwsCpB12B,EAAG9E,WAGZ,GAFAgc,GAAY6pC,kBACU,OAApB9xC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAO41B,kBAAoB,GAC5D7tB,GAAY6pC,kBAAkB9kD,QAM5B,CAAC,IAAD,IACD6pG,EAAmB,OAAG72F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmB41B,kBAC7CvJ,GAAyB,2BACpBD,IADmB,IAEtBta,aAAY,OAAE6kF,QAAF,IAAEA,OAAF,EAAEA,EAAqB7pG,QACnC0d,KAAI,OAAEmsF,QAAF,IAAEA,OAAF,EAAEA,EAAqBhvE,SAC3Bld,MAAK,OAAEksF,QAAF,IAAEA,OAAF,EAAEA,EAAqB3kG,MAC5BygB,QAASkkF,EAAoBpsF,QAC7B+xC,WAAU,OAAEq6C,QAAF,IAAEA,OAAF,EAAEA,EAAqB1mB,aACjC3pD,eAAc,OAAEqwE,QAAF,IAAEA,OAAF,EAAEA,EAAqBpzB,kBAdvCz6D,MAEE,kFAEFujB,GAAyB,eAAK9E,UAa3B,GtG5tCmB,KsG4tCf12B,EAAG9E,WAGZ,GAFAgc,GAAY4pC,aACU,OAApB7xC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAO41B,kBAAoB,GAC5D7tB,GAAY4pC,aAAa7kD,QAMvB,CAAC,IAAD,IACD6pG,EAAmB,OAAG72F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmB41B,kBAC7CvJ,GAAyB,2BACpBD,IADmB,IAEtBta,aAAY,OAAE6kF,QAAF,IAAEA,OAAF,EAAEA,EAAqB7pG,QACnC0d,KAAI,OAAEmsF,QAAF,IAAEA,OAAF,EAAEA,EAAqBhvE,SAC3Bld,MAAK,OAAEksF,QAAF,IAAEA,OAAF,EAAEA,EAAqB3kG,MAC5BygB,QAASkkF,EAAoBpsF,QAC7B+b,eAAc,OAAEqwE,QAAF,IAAEA,OAAF,EAAEA,EAAqBpzB,UACrCjnB,WAAU,OAAEq6C,QAAF,IAAEA,OAAF,EAAEA,EAAqB1mB,aACjC4jB,YAG4B,gBAF1B13E,KACEA,KAAM,OAACw6E,QAAD,IAACA,OAAD,EAACA,EAAqBN,YAAa,eACzCj6E,OAAO,mBACL5vB,EACA2vB,KACEA,KAAM,OAACw6E,QAAD,IAACA,OAAD,EAACA,EAAqBN,YAAa,eACzCj6E,OAAO,cAEf23E,aAG4B,gBAF1B53E,KACEA,KAAM,OAACw6E,QAAD,IAACA,OAAD,EAACA,EAAqBL,iBAAkB,eAC9Cl6E,OAAO,mBACL5vB,EACA2vB,KACEA,KAAM,OAACw6E,QAAD,IAACA,OAAD,EAACA,EAAqBL,iBAAkB,eAC9Cl6E,OAAO,iBAEjB,IAAIm6E,EAAmB,CACrBjzE,WAAY,qBACZ3Z,cAAe5B,GAAYwQ,cAC3Bi+E,YAAW,OAAEG,QAAF,IAAEA,OAAF,EAAEA,EAAqBnzB,cAClCjgD,aAAc,sBACdC,OAAQ,MAERizE,SACqC,QAAhB,OAAnBE,QAAmB,IAAnBA,OAAA,EAAAA,EAAqBpzB,WACjBozB,EAAoBpzB,UACpB,IAERyvB,IACE,SAAClzF,GAAD,OAAc82F,GAAuB92F,KACrCy2F,QA/CFztF,MAEE,kFAEFujB,GAAyB,eAAK9E,MAmDhCqvE,GAAyB,SAAC92F,GAC9B,IAAKA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,OACfqW,GAAa,OACR,CAIG,IAAD,EAHP,GAAI7V,EAAIS,OAAJ,OAAYT,QAAZ,IAAYA,OAAZ,EAAYA,EAAKS,KAAKs2F,UACxBjkF,EAAW,IACXgiF,IAAoB,QAEpBhiF,EAAU,OAAC9S,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAW24D,SACtB07B,IAAoB,GAEtBj/E,GAAa,KAGX+gF,GAAoB,SAAC52F,GACzB,IAAKA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,OACfqW,GAAa,OACR,CAIG,IAAD,EAHP,GAAI7V,EAAIS,OAAJ,OAAYT,QAAZ,IAAYA,OAAZ,EAAYA,EAAKS,KAAKs2F,UACxBjkF,EAAW,IACX8hF,IAAe,QAEf9hF,EAAU,OAAC9S,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAW24D,SACtBw7B,IAAe,GAEjB/+E,GAAa,KAGXmqD,GAAa,SAAChgE,GAClB,IAAKA,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,OAKfqW,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CACZoV,GAAa,GACbs4C,GAAenuD,EAAIS,KAAK++D,MACxBvV,GAAerkC,SAAW,kBAC1B,IAAMq6C,EAAa,CACjBt2D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBhiB,EAAIS,KAAKy/D,sBACzBt8C,iBAAkBqmC,GAAermC,iBACjC33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,ItG/0Ce,MsGi1CrB69D,GAAevkC,YACjB7P,GAAa,GACbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,EACA,QtGr1CsB,MsGu1CfhW,GAAevkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,ItG11CqB,MsG41CdhW,GAAevkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,ItG/1CgB,MsGi2CThW,GAAevkC,aACxB7P,GAAa,GACb4O,IAAW,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAAaA,MAU1DG,GAAiB,SAACpgE,GACtB,IAAKA,GAAOA,EAAIR,MACdqe,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,oBAET6e,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CACZoV,GAAa,GACbw4C,GAAmBruD,EAAIS,KAAK++D,MAC5BrV,GAAevkC,SAAW,kBAC1B,IAAMq6C,EAAa,CACjBt2D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBhiB,EAAIS,KAAKy/D,sBACzBt8C,iBAAkBumC,GAAevmC,iBACjC33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,ItG53CmB,KsG83CzB+9D,GAAezkC,YACjB7P,GAAa,GACbsN,IACE,SAACnjB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,EACA,QtGl4C0B,KsGo4CnB9V,GAAezkC,YACxB7P,GAAa,GACbwO,IACE,SAACrkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,ItGv4CyB,KsGy4ClB9V,GAAezkC,YACxB7P,GAAa,GACb0O,IACE,SAACvkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAChCA,ItG54CoB,KsG84Cb9V,GAAezkC,aACxB7P,GAAa,GACb4O,IAAW,SAACzkB,GAAD,OAAcmgE,GAAangE,EAAKigE,KAAaA,MAU1DF,GAAmB,SACvBrtE,EACA3B,EACA2xB,EACA5xB,GACI,IACI+yD,EAAkBnxD,EAAlBmxD,OAAQyf,EAAU5wE,EAAV4wE,MACZnpC,EAAape,KAAKC,MAAgB,IAAT6nC,EAAgByf,GACzC9H,EAAe,eAAQvR,IACvBsZ,EAAqB,eAAQ1Z,IAC7B4R,EAAe,eAAQtR,IACvBqZ,EAAqB,eAAQzZ,IACjCt2D,QAAQC,IAAIgvB,EAAU,oBAClByX,EAAa,IACJ,gBAAPppC,GACFyqE,EAAgBzqE,GAAKA,EACrByqE,EAAgBpzC,SAAU,EAC1BozC,EAAgBnzC,UAAY8R,EAC5BqhC,EAAgBlzC,cAAe,EAC/BkzC,EAAgBjzC,UAAW,EAC3B2hC,GAAkBsR,IACF,sBAAPzqE,GACTwyE,EAAsBxyE,GAAKA,EAC3BwyE,EAAsBn7C,SAAU,EAChCm7C,EAAsBl7C,UAAY8R,EAClCopC,EAAsBj7C,cAAe,EACrCi7C,EAAsBh7C,UAAW,EACjCuhC,GAAwByZ,IACR,gBAAPxyE,GACT0qE,EAAgB1qE,GAAKA,EACrB0qE,EAAgBrzC,SAAU,EAC1BqzC,EAAgBpzC,UAAY8R,EAC5BshC,EAAgBnzC,cAAe,EAC/BmzC,EAAgBlzC,UAAW,EAC3B6hC,GAAkBqR,IACF,sBAAP1qE,IACTyyE,EAAsBzyE,GAAKA,EAC3ByyE,EAAsBp7C,SAAU,EAChCo7C,EAAsBn7C,UAAY8R,EAClCqpC,EAAsBl7C,cAAe,EACrCk7C,EAAsBj7C,UAAW,EACjCyhC,GAAwBwZ,IAEF,MAAfrpC,IACE,gBAAPppC,GACFyqE,EAAgBzqE,GAAKA,EACrByqE,EAAgBpzC,SAAU,EAC1BozC,EAAgBnzC,UAAY8R,EAC5BqhC,EAAgBjzC,UAAW,EAC3BizC,EAAgBlzC,cAAe,EAC/BkzC,EAAgB51C,SAAW90B,EAC3B0qE,EAAgB94C,SAAWA,EAC3BwnC,GAAkBsR,IACF,sBAAPzqE,GACTwyE,EAAsBxyE,GAAKA,EAC3BwyE,EAAsBn7C,SAAU,EAChCm7C,EAAsBl7C,UAAY8R,EAClCopC,EAAsBh7C,UAAW,EACjCg7C,EAAsBj7C,cAAe,EACrCi7C,EAAsB39C,SAAW90B,EACjCyyE,EAAsB7gD,SAAWA,EACjConC,GAAwByZ,IACR,gBAAPxyE,GACT0qE,EAAgB1qE,GAAKA,EACrB0qE,EAAgBrzC,SAAU,EAC1BqzC,EAAgBpzC,UAAY8R,EAC5BshC,EAAgBlzC,UAAW,EAC3BkzC,EAAgBnzC,cAAe,EAC/BmzC,EAAgB71C,SAAW90B,EAC3B2qE,EAAgB/4C,SAAWA,EAC3B0nC,GAAkBqR,IACF,sBAAP1qE,IACTyyE,EAAsBzyE,GAAKA,EAC3ByyE,EAAsBp7C,SAAU,EAChCo7C,EAAsBn7C,UAAY8R,EAClCqpC,EAAsBj7C,UAAW,EACjCi7C,EAAsBl7C,cAAe,EACrCk7C,EAAsB59C,SAAW90B,EACjC0yE,EAAsB9gD,SAAWA,EACjCsnC,GAAwBwZ,MAoB9B,IAAMliC,GAAqB,SAAC73C,GAC1B,OAAIA,GAGK,IAGLohF,GAAY,uCAAG,sBAAAt2E,EAAA,sDACnBshB,GAAa,GACbjX,KAFmB,2CAAH,qDAIZA,GAAqB,WAAO,IAAD,gBACzBkjC,EAA4B/0C,GAChCu/B,GAAsBta,aACtBsa,GAAsB5hB,MAElBq3B,EAAuBh1C,GAC3Bm/B,GAAiBla,aACjBka,GAAiBxhB,OD31DY,SACjC9C,EACAovF,GAEAtvF,GACE,CACEkB,IAAK,4BACLd,OAAQ,OACR9O,KAAMg+F,EACNtuF,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAasE,oBAE5BgJ,GCg6DAqvF,EAAoB,SAACj3F,GAAD,OAAck3F,GAAel3F,KAhFxB,CACvB6J,cAAe5B,GAAYwQ,cAC3Bye,qBAAsBtP,GACtBuvE,6BAA8B,CAC5BC,2BACE91D,GAAmBQ,EAA0Bz0C,WAAa,GAC5DgqG,2BACE/1D,GAAmBQ,EAA0Bv0C,WAAa,GAC5D+pG,2BACEh2D,GAAmBQ,EAA0Bt0C,WAAa,GAC5D+pG,2BACEj2D,GAAmBQ,EAA0Br0C,WAAa,GAC5D+pG,sBAAuBlrE,GAAsB3Z,QAC7C8kF,sBAAuBnrE,GAAsBrZ,QAC7CykF,oBAAqBprE,GAAsB3hB,MAC3CgtF,mBAAoBrrE,GAAsB5hB,KAC1CktF,uBAAwBtrE,GAAsBtZ,SAC9C6kF,mBAAoBvrE,GAAsBliB,KAC1C0tF,wBAAyBnqG,OAAO2+B,GAAsBpZ,WACtD6kF,0BAA2BpqG,OAAO2+B,GAAsBnZ,aACxD6kF,0BtG3mDmB,KsG4mDnBC,QAAQ,EACRC,mBAAwC,OAArB5rE,SAAqB,IAArBA,QAAA,EAAAA,GAAuBynE,aAAvB,OACfznE,SADe,IACfA,IADe,UACfA,GAAuBynE,mBADR,iBACf,EAAoC1oF,MAAM,KAAK+oF,iBADhC,aACf,EAA0DhoF,KAAK,KAC/D,KAEJ+rF,oBAAyC,OAArB7rE,SAAqB,IAArBA,QAAA,EAAAA,GAAuB2nE,cAAvB,OAChB3nE,SADgB,IAChBA,IADgB,UAChBA,GAAuB2nE,oBADP,iBAChB,EAAqC5oF,MAAM,KAAK+oF,iBADhC,aAChB,EAA2DhoF,KAAK,KAChE,KAEJgsF,aAAc9rE,GAAsBkwB,WAChClwB,GAAsBkwB,WACtB,GACJh2B,eACyB,iBAAvBmkC,GACIr+B,GAAsB9F,eAAe0P,OAAO,GAC5C5J,GAAsB9F,eAC5B3C,WAAYsmC,GAAezkC,WACvB/3B,OAAOw8D,GAAezkC,YACtBkC,GACAj6B,OAAOs8D,GAAevkC,YACtB,IAEN2yE,wBAAyB,CACvBC,sBACEh3D,GAAmBS,EAAqB10C,WAAa,GACvDkrG,sBACEj3D,GAAmBS,EAAqBx0C,WAAa,GACvDirG,sBACEl3D,GAAmBS,EAAqBv0C,WAAa,GACvDirG,sBACEn3D,GAAmBS,EAAqBt0C,WAAa,GACvDirG,iBAAkBxsE,GAAiBvZ,QACnCgmF,iBAAkBzsE,GAAiBjZ,QACnC2lF,eAAgB1sE,GAAiBvhB,MACjCqK,cAAekX,GAAiBxhB,KAChCmuF,kBAAmB3sE,GAAiBlZ,SACpC8lF,cAAe5sE,GAAiB9hB,KAChC2uF,mBAAoBprG,OAAOu+B,GAAiBhZ,WAC5C8lF,qBAAsBrrG,OAAOu+B,GAAiB/Y,aAC9C8lF,qBtGnpDmB,KsGopDnBhB,QAAQ,EACRC,mBAAmC,OAAhBhsE,SAAgB,IAAhBA,QAAA,EAAAA,GAAkB6nE,aAAlB,OACf7nE,SADe,IACfA,IADe,UACfA,GAAkB6nE,mBADH,iBACf,EAA+B1oF,MAAM,KAAK+oF,iBAD3B,aACf,EAAqDhoF,KAAK,KAC1D,KACJ+rF,oBAAoC,OAAhBjsE,SAAgB,IAAhBA,QAAA,EAAAA,GAAkB+nE,cAAlB,OAChB/nE,SADgB,IAChBA,IADgB,UAChBA,GAAkB+nE,oBADF,iBAChB,EAAgC5oF,MAAM,KAAK+oF,iBAD3B,aAChB,EAAsDhoF,KAAK,KAC3D,KACJgsF,aAAclsE,GAAiBswB,WAC3BtwB,GAAiBswB,WACjB,GACJh2B,eACqB,iBAAnBikC,GACIv+B,GAAiB1F,eAAe0P,OAAO,GACvChK,GAAiB1F,eACvB3C,WAAYomC,GAAevkC,WACvB/3B,OAAOs8D,GAAevkC,YACtB,OAKJm+C,GAAe,WACnBhuD,GAAa,GACb,IAAMkuD,EAAc,GAWpB,GAVAtwE,QAAQC,IACN,MACAu2D,GACA,SACA/9B,GACA,WACAi+B,GACA,SACA79B,IAG8B,MAA7B29B,GAAe5hC,WAAqBonC,IACrCxF,GAAe3jC,cACf,CAAC,IAAD,UACIi+C,EAAqB,CACvBv+C,mBAAkB,UAAEikC,GAAejkC,0BAAjB,aAAE,EAAmCpwB,WACvD8vB,WAAU,UAAEukC,GAAevkC,kBAAjB,aAAE,EAA2B9vB,WACvCswB,mBAAoB,GACpBxD,SAAUwrC,IAAejE,GAAevnC,SACxC0D,eAAe,EACfR,SAAUqkC,GAAerkC,SACzBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe2jC,GAAe3jC,cAC9BR,kBAAmB,IAEnBY,OAAQuuE,GACR1B,mBAAmC,OAAhBrnE,SAAgB,IAAhBA,QAAA,EAAAA,GAAkB6nE,aAAlB,OACf7nE,SADe,IACfA,IADe,UACfA,GAAkB6nE,mBADH,iBACf,EAA+B1oF,MAAM,YADtB,iBACf,EAA2C+oF,iBAD5B,aACf,EAAsDhoF,KAAK,KAC3D,KACJ0xD,aAAY,OAAE5xC,SAAF,IAAEA,QAAF,EAAEA,GAAkBswB,WAChCh2B,eACqB,iBAAnBikC,GACIv+B,GAAiB1F,eAAe0P,OAAO,GACvChK,GAAiB1F,eACvBgtE,mBAAoBmB,KAA4B,EAChDrB,aAAcyB,KAAsC,GAEtDhxB,EAAYztD,KAAKiuD,GAEnB,GACgC,MAA7Bpa,GAAe9hC,WAAqBsnC,IACrCxF,GAAe7jC,cACf,CAAC,IAAD,UACIk+C,EAAqB,CACvBx+C,mBAAkB,UAAEmkC,GAAenkC,0BAAjB,aAAE,EAAmCpwB,WACvD8vB,WAAU,UAAEykC,GAAezkC,kBAAjB,aAAE,EAA2B9vB,WACvCswB,mBAAoB,GACpBxD,SAAU0rC,IAAmBjE,GAAeznC,SAC5C0D,eAAe,EACfR,SAAUukC,GAAevkC,SACzBhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnCk4B,cAAe6jC,GAAe7jC,cAC9BR,kBAAmB,IAEnBY,OAAQyuE,GACR5B,mBAAwC,OAArBjnE,SAAqB,IAArBA,QAAA,EAAAA,GAAuBynE,aAAvB,OACfznE,SADe,IACfA,IADe,UACfA,GAAuBynE,mBADR,iBACf,EAAoC1oF,MAAM,YAD3B,iBACf,EAAgD+oF,iBADjC,aACf,EAA2DhoF,KAAK,KAChE,KACJ0xD,aAAY,OAAExxC,SAAF,IAAEA,QAAF,EAAEA,GAAuBkwB,WACrCh2B,eACqB,iBAAnBikC,GACIn+B,GAAsB9F,eAAe0P,OAAO,GAC5C5J,GAAsB9F,eAC5BgtE,mBAAoBqB,KAAsC,EAC1DvB,aAAc+B,KAAgD,GAEhEtxB,EAAYztD,KAAKkuD,GAGnB,IAAMthD,EAAcue,GAAmB1Y,EAAW,gBAC5C3G,EAAU,CACd5J,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5DqK,aAAcghD,EACdprD,OAAQ1Q,GAAY0Q,OACpBuK,YAAaA,IDl6DkB,SACnCtb,EACAwa,GAEA1a,GACE,CACEkB,IAAK,qCACL5P,KAAM,CACJigB,sBAAuBmJ,EAAQ1J,sBAC/B7O,cAAeuY,EAAQ5J,cACvBU,OAAQkJ,EAAQzJ,OAChBmK,aAAcV,EAAQW,aAClBC,GAAiBZ,EAAQW,cACzB,GACJE,eAAgBb,EAAQc,aAE1Bpb,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa4C,6BAE5B0K,GC+4DAsxF,CAAsBv0B,GAAeviD,IAGjCuiD,GAAgB,SAAC3kE,GACrB,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqe,GAAW,CACTG,OAAQ,8BACRhnB,MAAO,oBAET6e,GAAa,QAEb,GAAI7V,EAAIS,KAAM,CAEZ,IAAMA,EAAO,CACXqf,UACEzB,GAAgBC,aAAagB,yBAC1BD,gBACL8V,mBAAoB,GACpBvM,WAAYn6B,EAAMm6B,YAAc,GAChCC,WAAYp6B,EAAMo6B,YAAc,GAChCC,aAAcr6B,EAAMq6B,cAAgB,GACpCsM,IAAKntB,GAAY4sB,MACjBQ,yBAA0B,GAC1BC,mBAAoBrtB,GAAYsO,aAChCquD,4BAA6B,aAC7BrvC,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGtBmH,GAA2Bnf,GAI3B4f,GAAiBC,UACfO,GAAgBvC,aAAagB,yBAAyBD,sBAIxDxJ,GAAa,GACbgI,GAAW,CACTG,OAAQ,8BACRhnB,MAAO,uBAMTkgG,GAAiB,SAACl3F,GAId,IAAD,EAHP,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,YAEf,IAAO,OAAHQ,QAAG,IAAHA,OAAA,EAAAA,EAAKS,QAAL,OAAaT,QAAb,IAAaA,GAAb,UAAaA,EAAKS,YAAlB,aAAa,EAAWP,QAAQ,CAClC2jE,KACAv7B,GAAqBz+C,GAGrBksB,GAAQO,KAAKiyB,MAEb,IAAMnzB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAY2M,gBAAgBnK,QAAUyhB,GAAiBvZ,QACvD1K,GAAYmuB,UAAW,EACvBhhB,EAAwBzC,QAAUuZ,GAAiBvZ,QACnDyC,EAAwBghB,UAAW,EACnChhB,EAAwBwS,gBAAkBA,GAC1CxS,EAAwBpD,aAAeka,GAAiBla,aACnD4V,KACHxS,EAAwBuS,YACtB2E,GAAsBta,aACxBoD,EAAwB0S,YAAcwE,GAAsB3Z,SAE9DrK,aAAa+M,QACX,0BACA/S,KAAKkG,UAAU4M,IAEjB9M,aAAaugC,WAAW,qBACnB,CAAC,IAAD,EACL/1B,EAAU,OAAC9S,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAW0jD,SAG1BtuC,GAAa,IAGf,OACE,yBAAKzsB,UAAU,YACb,yBAAKA,UAAU,eAAf,sBACA,yBAAKA,UAAU,iBAAf,sFAIA,yBAAKA,UAAW,eAAiByO,EAAY,QAAU,KACrD,yBAAKzO,UAAU,SAEb,2BAAOA,UAAU,WAAjB,4BACA,kBAAC,GAAD,CACEY,KAAK,2BACL2E,aAAY,UACV0lG,GAAuB9uF,MACrB,SAAC/S,GAAD,OAAUA,EAAK9I,UAAY+gE,aAFnB,aACV,EAEG/gE,QAEL6I,eAAgB,SAACT,GAAD,OAvkDK,SAACA,GAC9B,GAAIA,GAAOA,EAAIrI,MAQb,OAPAwgE,GAAe7hC,SAAU,EACzB6hC,GAAevkC,WAAa5zB,EAAIrI,MAChCygE,GAAkBD,IAClBS,GAAkB54D,EAAIpI,SACtBkrG,IAAe,GACfI,IAAoB,GAEZljG,EAAIpI,SACV,IAAK,eACHyiC,GAAoB,2BACf1E,IADc,IAEjBjB,eAAgB,MAElB+G,GAAgB,2BACXD,IADU,IAEb9G,oBAAgB95B,KAElB,MACF,IAAK,kBACHy/B,GAAoB,2BACf1E,IADc,IAEjBjB,eAAgB,GAChButE,YAAa,GACbE,aAAc,MAEhB1mE,GAAgB,2BACXD,IADU,IAEb9G,oBAAgB95B,EAChBqnG,iBAAarnG,EACbunG,kBAAcvnG,KAEhB,MACF,IAAK,WACHy/B,GAAoB,2BACf1E,IADc,IAEjBjB,eAAgB,GAChButE,YAAa,MAEfxmE,GAAgB,2BACXD,IADU,IAEb9G,oBAAgB95B,EAChBqnG,iBAAarnG,KAEf,MACF,IAAK,WACHy/B,GAAoB,2BACf1E,IADc,IAEjBjB,eAAgB,GAChButE,YAAa,GACbE,aAAc,MAEhB1mE,GAAgB,2BACXD,IADU,IAEb9G,oBAAgB95B,EAChBqnG,iBAAarnG,EACbunG,kBAAcvnG,KAEhB,MACF,QACEy/B,GAAoB,eAAK1E,KACzB8F,GAAgB,eACXD,MAwgDsB64C,CAAuBr0E,IAChDG,aAAc,EACdgB,QAASohG,GACT1jG,OAAQ,SAACmB,GAAD,OAAS+jG,GAAkB/jG,EAAK,qBACxCjD,UAAW2jB,GAAO0Z,iBAClBn6B,UAAU,UACVtB,YAAY,gCACZwE,aAAa,IAEf,2BAAO7L,UAAU,wBAAjB,iGAICqhE,IACC,6BACE,yBAAKrhE,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,cACHwvD,8BAA+B,qBAC/B96B,OAAQwkC,GACR3J,oBA17ChB,SACExuD,EACA4wB,EACA3xB,EACAD,GAOA,GALA+kB,GAAa,GACbo0C,GAAezhC,OAAS,GACxByhC,GAAexhC,OAAS32B,EAAKuZ,MAAM,KAAK,GACxC4+C,GAAevnC,SAAWA,EAC1BwnC,GAAkBD,IACa,QAA3BvnC,EAASrX,MAAM,KAAK,IAA8C,MAA9B4+C,GAAevkC,WAGrD,GAFAgjC,GAAa,GtG1Yc,MsG4YvBuB,GAAevkC,WAAkC,CACnD,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,OAC/B7E,iBAAkB,0BAClB33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,IAEVi5B,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAIvkD,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,WAQpE,GAHA43D,GAAa,GACb+D,GAAe,GtGvaY,MsGyavBxC,GAAevkC,WAAkC,CACnD,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBioC,GAAexhC,OAC/B7E,iBAAkB,0BAClB33B,WAAYg+D,GAAevkC,WAC3BxW,OAAQ9iB,IAEVqH,QAAQC,IAAI,uBACZ2xB,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAIvkD,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,QA03CxDkvD,SAv8ChB,SAAkCluD,GAChCo4D,GAAkB,2BACb/hC,IADY,IAEfC,SAAS,EACT1C,WAAYukC,GAAevkC,cAE7ByG,GAAoB,eAAK1E,QAm8CQ,IAApBsqC,EACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,MAKd,IAGHvF,GACC,yBAAKpjE,UAAU,OACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,oBACH00B,OAAQokC,GACRtJ,8BAA+B,qBAC/BD,oBA54CpB,SACExuD,EACA4wB,EACA3xB,EACAD,GAOA,GALA+kB,GAAa,GACbg0C,GAAqBrhC,OAAS,GAC9BqhC,GAAqBnnC,SAAWA,EAChCmnC,GAAqBphC,OAAS32B,EAAKuZ,MAAM,KAAK,GAC9Cy+C,GAAwBD,IAEK,QAA3BnnC,EAASrX,MAAM,KAAK,IACgB,MAApCw+C,GAAqBnkC,WAGrB,GADAgjC,GAAa,GtGndc,MsGqdzBuB,GAAevkC,YtGhdc,KsGid7BukC,GAAevkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgB6nC,GAAqBphC,OACrC7E,iBAAkB,0BAClB33B,WAAY49D,GAAqBnkC,WACjCxW,OAAQ9iB,IAEVi5B,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAMvkD,EAAY,CAChBlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,WAIpE+kB,GAAa,GACb6yC,GAAa,GACb+D,GAAe,IA+1CCzM,SAv9CpB,SAAmCluD,GACjCg4D,GAAwB,eAAK9D,KAC7B75B,GAAoB,eAAK1E,QAu9Ce,IAAvB+sE,EACC,6BACE,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,MAKd,KAKR,yBAAKprG,UAAU,SACb,2BACEA,UAAWq/D,EAAY,SAAW,gBAClCt3D,QAAS,WAnuCrBs7D,IADEhE,KAsuCU,0BAAMr/D,UAAU,mBAJlB,oBAUR,0BAAMA,UAAU,oBACd,8BAAU6H,SAAU4G,GAClB,qCACIq0B,GAAiBla,cACjBka,GAAiBvZ,SACjBuZ,GAAiBxhB,MACjBwhB,GAAiBvhB,QACjB,oCACE,kBAACwuF,GAAD,CACE1uC,eAAgBA,GAChBt4C,WAAY+Z,GACZna,gBAAiBub,GACjBsmE,oBAAqB,SAAC7gF,GACpBoZ,GAAoBpZ,GACpB6U,IAAmB2E,GAAyBxZ,IAE9C8gF,kBAAmBtmE,GACnB4mE,WACEY,IAAuC,iBAAnBtqC,KAGxB,kBAAC,GAAD,CACEt4C,WAAY+Z,GACZzY,UACEshF,IAAuC,iBAAnBtqC,GAEtBr3C,aAAa,kBACbG,YAAY,iBACZT,WAAYA,EACZF,gBAAiB,SAACG,GAChBoZ,GAAoBpZ,GACpB6U,IAAmB2E,GAAyBxZ,IAE9CF,cAAe0a,GACf/Z,kBAAmB,iBAIvBoU,IACA,oCACE,6BACA,6BACA,2BAAOx+B,UAAU,YAAjB,gCAGA,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEY,KAAK,4BACL2E,aAAY,UACV2lG,GAAuB/uF,MACrB,SAAC/S,GAAD,OAAUA,EAAK9I,UAAYihE,aAFnB,aACV,EAEGjhE,QAEL6I,eAAgB,SAACT,GAAD,OAtnDA,SAACA,GACnC,GAAIA,GAAOA,EAAIrI,MAQb,OAPA0gE,GAAe/hC,SAAU,EACzB+hC,GAAezkC,WAAa5zB,EAAIrI,MAChC2gE,GAAkBD,IAClBS,GAAsB94D,EAAIpI,SAC1B4rG,IAAyB,GACzBR,IAAoB,GAEZhjG,EAAIpI,SACV,IAAK,eACH6iC,GAAyB,2BACpB9E,IADmB,IAEtBjB,eAAgB,MAElBiH,GAAgB,2BACXD,IADU,IAEbhH,oBAAgB95B,KAElB,MACF,IAAK,kBACH6/B,GAAyB,2BACpB9E,IADmB,IAEtBjB,eAAgB,GAChButE,YAAa,GACbE,aAAc,MAEhBxmE,GAAgB,2BACXD,IADU,IAEbhH,oBAAgB95B,EAChBqnG,iBAAarnG,EACbunG,kBAAcvnG,KAEhB,MACF,IAAK,WACH6/B,GAAyB,2BACpB9E,IADmB,IAEtBjB,eAAgB,GAChButE,YAAa,MAEftmE,GAAgB,2BACXD,IADU,IAEbhH,oBAAgB95B,EAChBqnG,iBAAarnG,KAEf,MACF,IAAK,WACH6/B,GAAyB,2BACpB9E,IADmB,IAEtBjB,eAAgB,GAChButE,YAAa,GACbE,aAAc,MAEhBxmE,GAAgB,2BACXD,IADU,IAEbhH,oBAAgB95B,EAChBqnG,iBAAarnG,EACbunG,kBAAcvnG,KAEhB,MACF,QACE6/B,GAAyB,eAAK9E,KAC9BgG,GAAgB,eACXD,MAujDgC64C,CAA4Bv0E,IACrDG,aAAc,EACdgB,QAASqhG,GACT3jG,OAAQ,SAACmB,GAAD,OACN+jG,GAAkB/jG,EAAK,0BAEzBjD,UAAW2jB,GAAO8Z,sBAClBv6B,UAAU,UACVtB,YAAY,gCACZwE,aAAa,IAGf,6BACE,2BAAO7L,UAAU,wBAAjB,iGAICuhE,IACC,oCACE,yBAAKvhE,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,cACH00B,OAAQ0kC,GACR5J,8BAA+B,qBAC/BD,oBAx7C5B,SACExuD,EACA4wB,EACA3xB,EACAD,GAOA,GALA+kB,GAAa,GACbs0C,GAAe3hC,OAAS,GACxB2hC,GAAe1hC,OAAS32B,EAAKuZ,MAAM,KAAK,GACxC8+C,GAAeznC,SAAWA,EAC1B0nC,GAAkBD,IACa,QAA3BznC,EAASrX,MAAM,KAAK,IAA8C,MAA9B8+C,GAAezkC,WAGrD,GAFAkjC,GAAiB,GtG9gBU,MsGihBzBuB,GAAezkC,YtG5gBc,KsG6gB7BykC,GAAezkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,OAC/B7E,iBAAkB,+BAClB33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,IAEVi5B,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAIvkD,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,WAQpE,GAHA83D,GAAiB,GACjB+D,GAAmB,GtG9iBQ,MsGijBzBxC,GAAezkC,YtG5iBc,KsG6iB7BykC,GAAezkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBmoC,GAAe1hC,OAC/B7E,iBAAkB,+BAClB33B,WAAYk+D,GAAezkC,WAC3BxW,OAAQ9iB,IAEVi5B,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAIvkD,EAAY,CACdlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,QAq3C5CkvD,SAv8C5B,SAAkCluD,GAChCs4D,GAAkB,2BACbjiC,IADY,IAEfC,SAAS,EACT1C,WAAYykC,GAAezkC,cAE7B6G,GAAyB,eAAK9E,QAm8Ce,IAApBwqC,EACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,MAKd,IAGHvF,GACC,yBAAKtjE,UAAU,OACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE2H,GAAG,oBACHwvD,8BAA+B,qBAC/B96B,OAAQskC,GACRzJ,oBAt4ChC,SACExuD,EACA4wB,EACA3xB,EACAD,GAOA,GALA+kB,GAAa,GACbk0C,GAAqBvhC,OAAS,GAC9BuhC,GAAqBrnC,SAAWA,EAChCqnC,GAAqBthC,OAAS32B,EAAKuZ,MAAM,KAAK,GAC9C2+C,GAAwBD,IAEK,QAA3BrnC,EAASrX,MAAM,KAAK,IACgB,MAApC0+C,GAAqBrkC,WAGrB,GADAkjC,GAAiB,GtG7lBU,MsG+lBzBuB,GAAezkC,YtG1lBc,KsG2lB7BykC,GAAezkC,WACf,CACA,IAAM0gD,EAAY,CAChBz8D,cAAe1B,GAAYwQ,cAC3BuJ,eAAgB+nC,GAAqBthC,OACrC7E,iBAAkB,0BAClB33B,WAAY89D,GAAqBrkC,WACjCxW,OAAQ9iB,IAEVqH,QAAQC,IAAI,mBACZ2xB,IACE,SAACrlB,GAAD,OAAc2/D,GAAa3/D,EAAKjP,EAAI2xB,EAAU5xB,KAC9Cs1E,OAEG,CACL,IAAMvkD,EAAY,CAChBlY,cAAe1B,GAAYwQ,cAC3BuJ,eAAgBlwB,EAAKuZ,MAAM,KAAK,GAChCkN,SAAUmK,GAEZd,IACE,SAAC5hB,GAAD,OAAc8/D,GAAa9/D,EAAKjP,EAAIe,EAAK4wB,KACzCb,GACA,SAACnvB,GAAD,OAA0BqtE,GAAiBrtE,EAAO3B,EAAI2xB,EAAU5xB,WAIpE83D,GAAiB,GACjB+D,GAAmB,IA21CS3M,SAz9ChC,SAAmCluD,GACjCk4D,GAAwB,eAAKhE,KAC7Bz5B,GAAyB,eAAK9E,QAy9CmB,IAApBwqC,EACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,MAKd,KAKR,yBAAK7oE,UAAU,SACb,2BACEA,UACEu/D,EAAgB,SAAW,gBAE7Bx3D,QAAS,WAr2CjCw7D,IADEhE,KAw2CsB,0BAAMv/D,UAAU,mBANlB,uBAiBZw+B,IACA0E,GAAsBta,cACtBsa,GAAsB3Z,SACtB2Z,GAAsB5hB,MACtB4hB,GAAsB3hB,QACtB,oCACE,kBAACwuF,GAAD,CACE1uC,eAAgBE,GAChBx4C,WAAYma,GACZva,gBAAiByb,GACjBomE,oBAAqBrnE,GACrBsnE,kBAAmBpmE,GACnB0mE,WACEkB,IACuB,iBAAvB1qC,KAGJ,kBAAC,GAAD,CACEx4C,WAAYma,GACZ7Y,UACE4hF,IACuB,iBAAvB1qC,GAEFv3C,aAAa,uBACbG,YAAY,iBACZT,WAAYA,EACZF,gBAAiB2Z,GACjB1Z,cAAe4a,GACfpa,iBAAe,EACfC,YAAasU,GACbpU,kBApiBlB,SAA2B9gB,GACC,yBAAtBA,EAAMhD,OAAO1F,OACf49B,IAAmB2E,GAAyB,eAAK9E,MAChDG,IAAmB2E,GAAyB,eAAKL,KAC7CtE,IACH6F,GAAgB,IAElBK,IAAoBlG,IACpBwiC,GAAkB,eAAKjiC,KACvB6hC,GAAwB,eAAKhE,KAC7BvzC,GAAU,2BAAKD,IAAN,IAAc8Z,sBAAuB,MAC9Cs+B,GAAsB,IACtB0qC,IAAyB,GACzBR,IAAoB,OAyhBR,yBAAK1rG,UAAU,kBACb,kBAAC,GAAD,CACE6N,SAAS,EACTjN,KAAK,UACLuF,SAAU,eAEZ,2BAAOnG,UAAU,uCAAjB,2DAQPosB,GACC,yBAAKpsB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAgBhB,yBAAKpsB,UAAU,aACb,kBAAC,GAAD,CACEyO,UAAWA,EACXE,QAAQ,uBACR5G,QAAS05E,GACT55E,SACE2lB,OAAOsyB,OAAOhd,IAAkBid,MAAK,SAAC1/C,GAAD,OAAYA,MACjDmtB,OAAOsyB,OAAO5c,IAAuB6c,MACnC,SAAC1/C,GAAD,OAAYA,MAEdmtB,OAAOsyB,OAAO5b,IAAc6b,MAAK,SAAC3pC,GAAD,OAAWA,MAC5CoX,OAAOsyB,OAAO1b,IAAc2b,MAAK,SAAC3pC,GAAD,OAAWA,MAC5CoX,OAAOsyB,OAAO12B,IAAQ22B,MAAK,SAAC3pC,GAAD,OAAWA,MAClB,oBAAnBirD,KAAyCkqC,IAClB,oBAAvBhqC,KACEkqC,IACiB,iBAAnBpqC,KAAsCsqC,IACf,iBAAvBpqC,KACE0qC,WEzyEN+D,GA/FyC,SAAC3qG,GACvD,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEksD,KAAM9wD,GACNspF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAkBlkF,EACjB,kBAAC,GAAgBA,QAMzB,kBAAC,IAAD,CACEksD,KAAM9wD,GACNspF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAkBlkF,EACjB,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACEksD,KAAM9wD,GACNspF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAkBlkF,EACjB,kBAAC,GAAwBA,QAKjC,kBAAC,IAAD,CACEksD,KAAM9wD,GACNspF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYT,aAAa,GACvB,kBAAC,GAAkBlkF,EACjB,kBAAC,GAAaA,QAKtB,kBAAC,IAAD,CACEksD,KAAM9wD,GACNspF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAkBlkF,EACjB,kBAAC,GAAeA,QAKxB,kBAAC,IAAD,CACEksD,KAAM9wD,GACNspF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAkBA,EACjB,kBAAC,GAAaA,OAIpB,kBAAC,IAAD,CACEksD,KAAM9wD,GACNspF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAkBlkF,EACjB,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACEksD,KAAM9wD,EACNspF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAkBlkF,EACjB,kBAAC,GAAD,WAKR,kBAAC,IAAD,CAAOksD,KAAM9wD,GAAmBspF,OAAK,EAACkmB,UAAW9kB,O,6BCyLxC+kB,I,qBAjQuC,SAAC7qG,GACrD,IAAMsnB,EAAUC,cAD+C,EAE3BtnB,IAAM4G,SACxC7G,EAAM0jB,YAHuD,mBAExDA,EAFwD,KAE5CC,EAF4C,OAK/B1jB,IAAM4G,SAA0B,IALD,mBAKxDikG,EALwD,KAK9ClnF,EAL8C,OAMnB3jB,IAAM4G,SAEhD,IAR6D,mBAMxDkkG,EANwD,KAMxCC,EANwC,OASnB/qG,IAAM4G,SAChD,IAV6D,mBASxDokG,EATwD,KASxCC,EATwC,OAYnCjrG,IAAM4G,SAAN,eAEpByc,KAduD,mBAYxDS,EAZwD,KAYhDC,EAZgD,KAwB/D,SAASmnF,EAAc55F,GAErB,GADAvR,EAAMonB,cAAa,IACd7V,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKo5F,mBAAoB,CAC3C,IAAMpqD,EAA2B,GACjCzvC,EAAIS,KAAKo5F,mBAAmBpkG,SAAQ,SAACwlB,GACnC,IAAIlI,EAAW,GACfA,EAAItpB,MAAQwxB,EAAK6+E,eACjB/mF,EAAIrpB,QAAUyoD,GAAal3B,EAAK6+E,gBAChC/mF,EAAIrc,KxD0WP,SAAyB07C,GAC9B,IAAM9H,EAAI,IAAInvB,KAAKi3B,GAEnB,OADgBxoD,EAAK0gD,EAAEyvD,UwD5WJC,CAAgB/+E,EAAK6+E,gBAChCrqD,EAAIn5B,KAAKvD,MAEX0mF,EAAkBhqD,GAGtBhhD,EAAMonB,cAAa,GAGrB,SAASokF,EAAcj6F,GAErB,GADAvR,EAAMonB,cAAa,IACd7V,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKy5F,mBAAoB,CAC3C,IAAMzqD,EAA2B,GACjCzvC,EAAIS,KAAKy5F,mBAAmBzkG,SAAQ,SAACwlB,GACnC,IAAIlI,EAAW,GACfA,EAAIrpB,QAAUuxB,EAAKk/E,eACnBpnF,EAAItpB,MAAQwxB,EAAKk/E,eACjB1qD,EAAIn5B,KAAKvD,MAEX4mF,EAAkBlqD,GAGtBhhD,EAAMonB,cAAa,GAGrB,SAASnD,EAAoB/d,EAA2BlL,GAC1C,SAARkL,GACFqV,GAAgBnP,EAAgBpR,EAAO0oB,EAAWQ,SAEpDF,EAAU,2BAAKD,GAAN,mBAAe7d,OAAMjI,KAC9B0lB,EAAc,2BAAKD,GAAN,mBAAmBxd,EAAMlL,KACtCgF,EAAMmkB,gBAAN,2BAA2BT,GAA3B,mBAAwCxd,EAAMlL,KAGhD,SAAS2wG,EAAYp6F,GAEnB,GADAvR,EAAMonB,cAAa,IACd7V,GAAOA,EAAIR,MACd/Q,EAAMqkB,WAAW9S,EAAIR,YAErB,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKS,MAAO,CAC9B,IAAMuuC,EAAuB,GAC7BzvC,EAAIS,KAAKS,MAAMzL,SAAQ,SAACjD,GACtB,IAAIugB,EAAgB,CAClBtpB,MAAO+I,EACP9I,QAAS8I,GAEXi9C,EAAIn5B,KAAKvD,MAEXV,EAAYo9B,QAEZhhD,EAAMqkB,WAAW,uDAGrBrkB,EAAMonB,cAAa,GAGrB,SAAShb,EAAemF,GACtB,IAAKA,GAAOA,EAAIR,MAId/Q,EAAMqkB,WAAW9S,EAAIR,YAErB,GAAIQ,EAAIS,KAAM,CACZ,IAAIsS,EAAW,GACfA,EAAItI,QAAUzK,EAAIS,KAAKyJ,QACvB6I,EAAI9I,KAAOjK,EAAIS,KAAKwJ,KACpB8I,EAAI8U,SAAW7nB,EAAIS,KAAKonB,SACxB9U,EAAIe,QAAU9T,EAAIS,KAAKqT,QACvBf,EAAI9lB,KAAO+S,EAAIS,KAAKxT,KACpB8lB,EAAI7gB,MAAQ8N,EAAIS,KAAKvO,MACrB6gB,EAAIiV,UAAYhoB,EAAIS,KAAK45F,UACzBtnF,EAAIgV,YAAc/nB,EAAIS,KAAK65F,YAC3BloF,EAAc,2BAAKD,GAAeY,IAClCtkB,EAAMmkB,gBAAN,2BAA2BT,GAAeY,SAE1CtkB,EAAMqkB,WACJ,mEAMR,SAASY,EAAkB/e,EAA2BlL,GACpD,OAAQkL,GACN,IAAK,eACH8d,EAAU,2BACLD,GADI,IAEPR,aAAcvoB,EAAM4F,aAChB3C,EACAulB,MAEN,MACF,IAAK,OAEDQ,EADmB,kBAAVhpB,EACC,2BAAK+oB,GAAN,IAAcpI,UAAM1d,IAEnB,2BAAK8lB,GAAN,IAAcpI,KAAM6H,OA2BrC,SAASsoF,EAAoBv6F,IACtBA,GAAOA,EAAIR,OAEVQ,EAAIS,OACFhS,EAAM+rG,qCACR/rG,EAAM+rG,qCAAoC,GAC5CzkF,EAAQnoB,QAAQrC,KAKtB,OA3JAmD,IAAM2H,WAAU,WAAO,IAAD,EtF0DCuR,EAA4BsC,EsFzDjDzb,EAAMonB,cAAa,GtFyDEjO,EsFxDZwyF,EtFwDwClwF,EsFxD3BiI,EAAWQ,QtFyDnCjL,GACE,CACEkB,IAAK,mCACL5P,KAAM,CACJmR,QAASD,EACTE,KAAM,GACNC,cAAe,GAEjBvC,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAaM,SAE5BgN,GmCjD2B,SAACA,GAC9BF,GACE,CACEkB,IAAK,2BACLd,OAAQ,QAEVF,GmD1BA6yF,CAAgBb,IACfnrG,EAAMirG,gBnD6BoB,SAAC9xF,GAC9BF,GACE,CACEkB,IAAK,2BACLd,OAAQ,QAEVF,GmDnCyB8yF,CAAgBT,GACzC,UAAAlhG,SAASyS,eAAe,qBAAxB,SAAuCC,UACtC,CAAC0G,EAAWQ,UAsJb,yBAAKvpB,UAAU,kBACb,2BAAOA,UAAU,cAAjB,mBAEA,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,WACA,kBAAC,GAAD,CACE2H,GAAG,aACH1B,QAASnB,GAAc,GACvByC,OAAQ,SAAC6O,GAAD,OAAWkU,EAAkB,eAAgBlU,IACrD/O,YAAY,cACZlB,SAAU,SAAC9F,GAAD,OAAWipB,EAAoB,eAAgBjpB,IACzDoF,UAAW2jB,EAAOR,aAClBhoB,KAAI,gBAIR,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,YAAjB,QACA,kBAAC,GAAD,CACEY,KAAI,UACJuI,eAAgB,SAAC9I,GAAD,OACdipB,EAAoB,OAAQjpB,EAAK,QAEnCwI,aAAc,EACdgB,QAASsmG,EACT5oG,OAAQ,SAACmB,GAAD,OAAS4hB,EAAkB,OAAQ5hB,IAC3CC,UAAU,UACVtB,YAAY,YACZwD,UAAU,mCACVpF,UAAW2jB,EAAOpI,KAClBnV,aAAa,KAIjB,yBAAK7L,UAAU,SACb,2BAAOA,UAAU,YAAjB,cACA,kBAAC,GAAD,CACEuF,aACEwjB,EAAWzH,MAAQyH,EAAWxH,MAC1BwH,EAAWzH,KAAO,MAAQyH,EAAWxH,MACrC,GAENla,YAAY,yBACZQ,UAAU,EACVH,KAAK,OACL9G,KAAI,kBAIR,yBAAKZ,UAAU,SACb,2BAAOA,UAAU,eAAjB,+BACA,kBAAC,GAAD,CACEqN,QAAM,EACN9H,aAAcF,EAAMksG,QACpBnkG,SAAU,SAAC1E,GAAD,OAASrD,EAAMmsG,qBAAqB,OAAQ9oG,IACtDwE,QAASkjG,KAIb,yBAAKpwG,UAAU,SACb,2BAAOA,UAAU,eAAjB,+BACA,kBAAC,GAAD,CACEuF,aAAcF,EAAMosG,QACpBrkG,SAAU,SAAC1E,GAAD,OAASrD,EAAMmsG,qBAAqB,OAAQ9oG,IACtDwE,QAAS7H,EAAMirG,gBAAkBA,KAIrC,yBAAKtwG,UAAU,eACb,kBAAC,GAAD,CACE+H,QAvGR,WACE,IAAM2pG,EAAgB,CACpB9tG,QAASmlB,EAAWH,aACpBrI,cAAe1B,GAAYwQ,cAC3BxO,KAAMkI,EAAW/H,KACjBnd,KAAMklB,EAAWzH,KACjBqwF,WAAY,EACZC,eAAgBvsG,EAAMksG,QACtBlwF,QAAS0H,EAAWQ,QACpBzgB,MAAOigB,EAAWxH,MAClBqd,UAAW,EACXizE,eAAgBxsG,EAAMosG,SAExBpsG,EAAMonB,cAAa,GACfpnB,EAAMo8E,aAAcp8E,EAAMo8E,gBAE5BhtD,GAAW,CAAEG,OAAQ,cAAehnB,MAAO,kBnDhGX,SACpC4Q,EACAkzF,GAEApzF,GACE,CACEkB,IAAK,+BACL5P,KAAM8hG,EACNhzF,OAAQ,QAEVF,GmDuFEszF,CAAuBX,EAAqBO,KAuFxC/iG,QAAQ,WACRF,UAAWpJ,EAAMoJ,UACjB5G,SACE2lB,OAAOsyB,OAAO12B,GAAQ22B,MAAK,SAAC3pC,GAAD,OAAWA,MACtCoX,OAAOsyB,OAAO/2B,GAAYg3B,MAAK,SAAC1/C,GAAD,OAAYA,MACzB,KAAlBgF,EAAMosG,SACY,KAAlBpsG,EAAMksG,cCnQLQ,GAAe,SAC1B/C,EACAviF,EACA/C,EACAsoF,GAEAvlF,GAAa,GACb/C,EAAW,IpD2LgB,SAC3BlL,EACA+B,EACAyxF,GAEA,IAAIpiG,EAAY,CACd6Q,cAAeF,GAEbyxF,IACFpiG,EAAKqiG,UAAY,GAEnB3zF,GACE,CACEkB,IAAK,wBACL5P,KAAMA,EACN8O,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAakE,gBAE5BoJ,GoD9MF0zF,EACE,SAACt7F,GAAD,OAMJ,SACEA,EACAo4F,EACAviF,EACA/C,GAEA,IAAK9S,GAAOA,EAAIR,MACdsT,EAAW,uCAEX,GAAI9S,EAAIS,KAAM,CACZ,IAAMgoB,EAASzoB,EAAIS,KACnB,GAAIgoB,GAAqB,KAAXA,EAAe,CAC3B,IAAMs2C,EzDqVc,SAC1Bw8B,EACAtM,GAMA,IAJI,IADJuM,EACG,uDADiB,IAEdC,EAAiBpzF,OAAOkf,KAAKg0E,GAC7BG,EAAa,GAEVC,EAAS,EAAGA,EAASF,EAAeruG,OAAQuuG,GAAUH,EAAW,CAIxE,IAHA,IAAMtlE,EAAQulE,EAAevlE,MAAMylE,EAAQA,EAASH,GAE9CI,EAAc,IAAIpkG,MAAM0+B,EAAM9oC,QAC3BgH,EAAI,EAAGA,EAAI8hC,EAAM9oC,OAAQgH,IAChCwnG,EAAYxnG,GAAK8hC,EAAM2lE,WAAWznG,GAGpC,IAAM0nG,EAAY,IAAIC,WAAWH,GACjCF,EAAWplF,KAAKwlF,GAGlB,IAAM/8B,EAAO,IAAIoG,KAAKu2B,EAAY,CAAE5qG,KAAMm+F,IAC1C,OAAOlwB,EyD1WYi9B,CAAavzE,EAAQ,mBAC5BwzE,EAA0BljG,SAAS2sD,cAAc,KACvDu2C,EAAK/yF,KAAOb,OAAOI,IAAI6lF,gBAAgBvvB,GACvCk9B,EAAKC,SAAW9D,EAChBr/F,SAASC,KAAK6sD,YAAYo2C,GAC1BA,EAAKE,QACLF,EAAKG,cAELtpF,EAAW,kCAIjB+C,GAAa,GA9BGwmF,CAAgBr8F,EAAKo4F,EAAcviF,EAAc/C,KAC/D7K,GAAYwQ,cACZ2iF,IAAa,IA+BjB,IAyQekB,GAzQiB,SAAC7tG,GAE/B,IAAMk6B,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAXqC,EAaPza,YAAwB,GAbjB,mBAalCmJ,EAbkC,KAavBge,EAbuB,OAcXnnB,aAdW,mBAclC8mB,EAdkC,KAczB1C,EAdyB,OAeGpkB,YAAwB,GAf3B,mBAelC6tG,EAfkC,KAelBC,EAfkB,OAiBvC9tG,WAAA,eAAoC+4B,KAjBG,mBAgBlCg1E,EAhBkC,KAgBhBC,EAhBgB,OAkBXhuG,WAAuB,IAlBZ,mBAkBlCisG,EAlBkC,KAkBzBgC,EAlByB,OAmBXjuG,WAAuB,IAnBZ,mBAmBlCmsG,EAnBkC,KAmBzB+B,EAnByB,OAqBvCluG,YAAwB,GArBe,mBAoBlCmuG,EApBkC,KAoBdC,EApBc,OAsBDpuG,YAAwB,GAtBvB,mBAsBlCquG,EAtBkC,KAsBpBC,EAtBoB,OAuBWtuG,YAAwB,GAvBnC,mBAuBlCuuG,EAvBkC,KAwBnClnF,GAxBmC,KAwBzBC,eAWhB,SAASknF,EAAgBl9F,IAClBA,GAAOA,EAAIR,MACdsT,EAAW,sDAEP9S,EAAIS,MAAQT,EAAIS,KAAKvO,OAAS8N,EAAIS,KAAK08F,kBACzCH,GAAgB,GAChBF,GAAsB,KAEtBE,GAAgB,GAChB1qG,YAAW,WAAO,IAAD,EACf,UAAAyG,SAASyS,eAAe,wBAAxB,SAA0C1Y,eAAe,CACvDC,SAAU,aAEX,KACH+pG,GAAsB,IAG1BjnF,GAAa,GAuDf,SAASunF,EAAep9F,GACtB,IAAKA,GAAOA,EAAIR,MACdsT,EAAW,8CACN,CAAC,IAAD,EACiBxQ,KAAKC,MAAMD,KAAKC,MAAMvC,EAAIS,OAAzC+W,EADF,oBAEDA,GAAeA,EAAY6lF,YAAc7lF,EAAY0/B,QACvDnhC,EAAQO,KAAK/qB,IAEbisB,GACAA,EAAY8lF,SAG2D,IAFvE9lF,EAAY8lF,OACT1nG,WACA1C,QAAQ,uDAEX4f,EAAW,0BAEXA,EAAW,0CAGf+C,GAAa,GAGfnnB,aAAgB,WACd8rG,GAAoC,MAGtC,IAAMA,EAAsC,SAAC+C,GAE3C,IAAM98F,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaoB,WAAWf,UACnDwW,mBAAoB,GACpBvM,WAAYA,EACZC,WAAYA,EACZC,aAAcA,EACdsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,eAGjB8kF,IACH98F,EAAI,UACF4d,GAAgBC,aAAaoB,WAAWL,gBAE1CgB,GAAiBC,UACfO,GAAgBvC,aAAaoB,WAAWL,kBAI5CO,GAA2Bnf,IAI7B,OACE,uBAAKrX,UAAW,YAAcyO,EAAY,QAAU,MAC/ColG,GAAsB,gBAAC,GAAD,CAAc7zG,UAAU,gBAC/C,uBAAKC,IAAKm0G,KAAaj0G,IAAI,GAAGH,UAAU,YAEvC6zG,GAAwB,gCAAE,yBAAO7zG,UAAU,WAAjB,4BAC7B,yBAAOA,UAAU,QAAjB,sEAGA,uBAAKA,UAAU,sBACb,yBAAOA,UAAU,cAAjB,6BACA,yBAAOA,UAAU,cAAjB,kEAGA,uBAAKA,UAAU,gBACb,yBAAOA,UAAU,cAAjB,WACA,yBACEA,UAAU,eACVY,KAAK,UACLP,MAAOgzG,EAAiB9pF,QACxB1iB,UAAW,EACXV,SA/HV,SAAuBmD,GACrB,IAAIjJ,EAAQiJ,EAAMhD,OAAOjG,MACC,YAAtBiJ,EAAMhD,OAAO1F,MAAuB6D,GAAWrB,KAAK/C,KACtDA,EAAQgzG,EAAiB9pF,SAE3B+pF,EAAoB,2BAAKD,GAAN,IAAwB9pF,QAASlpB,KAEhDA,GAA0B,IAAjBA,EAAM2D,OACjBovG,GAAkB,IAElBA,GAAkB,GACdK,IACFC,GAAsB,GACtBJ,EAAoBj1E,IACpBk1E,EAAW,IACXC,EAAW,SAkHT,uBAAKxzG,UAAU,cACb,gBAAC,GAAD,CACE2O,QAAQ,QACR9G,UAAWsrG,EACX1kG,UAAWA,EACX1G,QAnKZ,WpDsG+C,IAC/CyW,EACA6C,EoDvGEoL,GAAa,GACbinF,GAAsB,GpDqGxBl1F,EoDnGIs1F,EpDoGJzyF,EoDnGIgyF,EAAiB9pF,QpDqGrBjL,GACE,CACEkB,IAAI,kCAAD,OAAoC6B,GACvC3C,OAAQ,OAEVF,QoDwDKi1F,GACC,gBAAC,GAAD,CACEnD,eAAgBvtG,GAChB0+E,aAhHV,WACEh1D,GAAa,GpDwDc,SAACjO,EAA4B6B,GAC1D/B,GACE,CACEkB,IAAK,4BACL5P,KAAMyQ,EACN3B,OAAQ,QAEVF,GoD5CA61F,CAAgBL,EAlBD,CACbM,KAAM,CACJC,MAAOlB,EAAiBzqF,aACxB4rF,MAAOnB,EAAiBryF,KACxBnd,KAAMwvG,EAAiB/xF,KACvBxY,MAAOuqG,EAAiB9xF,OAE1BkzF,cAAe1rD,GAAawoD,GAAS,GACrCmD,iBAAkBjD,EAClBkD,aAAc91F,GAAY2M,gBAAgBwf,QAC1C4pE,eAAgB/1F,GAAYgjB,KAAKrhB,OACjC4O,cAAevQ,GAAYwQ,cAC3BwlF,gBAAiBxB,EAAiB9pF,QAClCurF,eAAgB,GAChBd,eAAgB,MAChBe,sBAAuB,QACvBC,SAAU,MA+FJjsF,WAAYsqF,EACZ3pF,WAAYA,EACZF,gBA5HV,SAA6BT,GAC3BuqF,EAAoB,2BAAKD,GAAqBtqF,KA4HtCyoF,qBAzHV,SAA8B9pG,EAAuBrH,GACtC,SAATqH,EAAiB6rG,EAAWlzG,GAC3BmzG,EAAWnzG,IAwHRkxG,QAASA,EACTE,QAASA,EACThlF,aAAcA,EACdhe,UAAWA,EACX2iG,oCACEA,KAxCmB,MA6C1BuC,GACC,uBAAK3zG,UAAU,aACb,yBAAOA,UAAU,cAAc2H,GAAG,iBAAlC,8EAGA,uBAAK3H,UAAU,kBACb,yBAAOA,UAAU,cAAjB,WACA,yBAAOA,UAAU,c1GUM,kC0GTvB,yBAAOA,UAAU,c1GW3B,+I0GTQ,uBAAKA,UAAU,aAAa2H,GAAG,eAC7B,gBAAC,GAAD,CACEI,QAAS,kBACPgqG,GAAa,YAAD,OACElzF,GAAYwQ,eACxB5C,EACA/C,IAGJ/a,QAAQ,uBACRF,UAAWA,EACXvI,OAAQ,wBAAMlG,UAAU,4BAK9B2zG,GAAgBF,IAChB,uBACEzzG,UAAU,aACV+H,QAAS,kBAAM4kB,EAAQO,KAAK/qB,MAF9B,wBAQDiqB,GACC,uBAAKpsB,UAAU,cACb,gBAAC,GAAD,KACsB,kBAAZosB,EACN,gCACE,oEACA,sEAA8CA,EAA9C,MAGF,yBAAOpsB,UAAU,aAAaosB,OCzO7B6oF,GA3E+B,SAAC5vG,GAAW,IAAD,EACrBC,YAAwB,GADH,mBAChDmJ,EADgD,KACrCge,EADqC,KAqBvD,OAJAnnB,aAAgB,WACd2Z,OAAOssB,OAAO,EAAG,KAChB,IAGD,uBAAKvrC,UAAWyO,EAAY,QAAU,IACpC,gBAAC,GAAD,CAAczO,UAAU,gBACtB,uBAAKC,IAAKoF,EAAMnF,KAAMC,IAAI,GAAGH,UAAU,WAEzC,uBAAKA,UAAU,aACb,yBAAOA,UAAU,WAAWqF,EAAM6vG,SAClC,yBAAOl1G,UAAU,QAAQqF,EAAMiI,MAC9BjI,EAAMxE,MACL,yBAAOb,UAAU,QAAjB,YACYqF,EAAMxE,KAAK2L,WADvB,8BAIF,uBAAKxM,UAAU,QACZqF,EAAM8vG,gBAAgBnxG,OAAS,EAC9BqB,EAAM8vG,gBAAgBlqG,KAAI,SAACmqG,EAASrrG,GAAV,OACxB,uBAAK/J,UAAU,UAAUuL,IAAKxB,GAC5B,yBAAO/J,UAAU,eAAeo1G,EAAQ90G,SACxC,yBAAON,UAAU,aAAao1G,EAAQ/0G,WAI1C,gBAAC,GAAD,CAAQ8N,KAAM,OAGjB9I,EAAM0I,SACP,uBAAK/N,UAAU,YACb,gBAAC,GAAD,CACE2O,QAAQ,cACRF,UAAWpJ,EAAM8vG,gBAAgBnxG,QAAU,EAC3C+D,QAhDV,WACE0sB,GAAW,CAAEG,OAAQ,eAAgBhnB,MAAO,gBACxC6B,KAAgBM,UAClBkP,OAAOY,SAASC,KAAOnd,GAAW,iBAE9BojD,KACF9mC,OAAOY,SAASC,KACd,mDAEFb,OAAOY,SAASC,KAAO,kDA0CvB,uBAAK9f,UAAU,gBACb,yBAAOA,UAAU,eAAjB,kCACA,yBACEA,UAAU,UACV+H,QAAS,WACP0sB,GAAW,CAAEG,OAAQ,eAAgBhnB,MAAO,kBAC5CmkG,GAAa,YAAD,OACElzF,GAAYwQ,eACxB5C,GACA,iBAPN,YC0BK4oF,GAzFmC,SAAChwG,GAEjD,IAAMk6B,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAXuD,EAazBza,WAAuB,IAbE,mBAapDgwG,EAboD,KAazCC,EAbyC,OAczBjwG,WAAuB,IAdE,mBAcpDkwG,EAdoD,KAczCC,EAdyC,OAebnwG,WAC5C,IAhByD,mBAepD6vG,EAfoD,KAenCO,EAfmC,KA+C3D,SAASC,EAAkB/+F,GACzB,IAAKA,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,KAAM,CACZ,IAAI+W,EAAclV,KAAKC,MAAMD,KAAKC,MAAMvC,EAAIS,OAC5C,GAAI+W,GAAeA,EAAYwjF,gBAAkBxjF,EAAYwnF,KAAM,CACjE,IAAIvvD,EAAuB,CACzB,CACE/lD,QAAS,cACTD,MAAM,GAAD,OAAK0oD,GAAa36B,EAAYwjF,gBAA9B,aACHxjF,EAAYyjF,iBAGhB,CAAEvxG,QAAS,OAAQD,MAAOwe,GAAY2M,gBAAgBwf,SACtD,CAAE1qC,QAAS,WAAYD,MAAOwe,GAAYgjB,KAAKvlB,OAC/C,CACEhc,QAAS,gBACTD,MAAM,OAAD,OAASwe,GAAYgjB,KAAKrhB,SAEjC,CACElgB,QAAS,UACTD,MAAM,GAAD,OAAK+tB,EAAYxqB,QAAjB,YAA4BwqB,EAAYvN,KAAxC,YAAgDuN,EAAYvqB,KAA5D,aAAqEuqB,EAAYtlB,MAAjF,YAA0FslB,EAAY/M,WAG/Gq0F,EAAmBrvD,GACnBkvD,EAAaxsD,GAAa36B,EAAYwjF,iBACtC6D,EAAarnF,EAAYyjF,kBAMjC,OA5DAvsG,aAAgB,WtDkFmB,IACnCkZ,EACA+B,EADA/B,EsDlFwBm3F,EtDmFxBp1F,EsDnF2C1B,GAAYwQ,ctDqFvD/Q,GACE,CACEkB,IAAK,8BACL5P,KAAM,CACJ2Q,cAAeA,GAEjB7B,OAAQ,QAEVF,KsD5FC,IAGHlZ,aAAgB,WACd,IAAM+R,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaqB,UAAUhB,UAClDwW,mBAAoB,GACpBvM,WAAYA,EACZC,WAAYA,EACZC,aAAcA,EACdsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,cACpBwmF,uBAAwB,yBAG1Br/E,GAA2Bnf,GAE3B4f,GAAiBC,UACfO,GAAgBvC,aAAaqB,UAAUhB,aAExC,IAoCD,gBAAC,GAAD,CACE2/E,QAAQ,wBACR5nG,KAAI,+CAA0CgoG,EAA1C,oBAA+DE,EAA/D,6DACJL,gBAAiBA,EACjBj1G,KAAMk0G,Q,qBCKG0B,I,OAlG8B,WAAO,IAAD,EACnBxwG,YAAwB,GADL,mBAC1CywG,EAD0C,KACjCC,EADiC,KAEjD,OACE,gCACE,uBAAKh2G,UAAU,mBACb,uBAAKA,UAAU,qBAAf,mDAIA,uBAAKA,UAAU,cACb,uBAAKC,IAAK+oF,KAAY7oF,IAAI,OAE1B,+IAKF,uBAAKH,UAAU,cACb,uBAAKC,IAAK+oF,KAAY7oF,IAAI,OAC1B,iKAQF,uBAAKH,UAAU,cACb,uBAAKC,IAAK+oF,KAAY7oF,IAAI,OAC1B,kHAUJ,uBAAKH,UAAU,YACb,uBAAKA,UAAU,gBAAf,8BACA,uBAAKA,UAAU,aAAf,iNAMC+1G,EACC,gCACE,uBAAK/1G,UAAU,gBAAf,qDAIA,uBAAKA,UAAU,aACb,0BACE,uIAIA,+DAIJ,uBAAKA,UAAU,gBAAf,8BACA,uBAAKA,UAAU,aACb,sFACA,wDACA,yKAMF,uBAAKA,UAAU,gBAAf,oIAMF,GAEF,uBAAKA,UAAU,YACZ+1G,EACC,wBAAMhuG,QAAS,kBAAMiuG,GAAW,KAAhC,aAEA,wBAAMjuG,QAAS,kBAAMiuG,GAAW,KAAhC,eAKN,uBAAKh2G,UAAU,oBAAf,2FC8BSi2G,GA9G2B,SAAC5wG,GAEzC,IAAMk6B,EAAavK,KACbwK,EAAaD,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE0f,EAAaF,EAAWxf,IAAI,cAC9Bwf,EAAWxf,IAAI,cACf,GACE2f,EAAeH,EAAWxf,IAAI,gBAChCwf,EAAWxf,IAAI,gBACf,GAX+C,EAaLza,WAC5C,IAdiD,mBAa5C6vG,EAb4C,KAa3BO,EAb2B,OAgB3BpwG,WAAuB,IAhBI,mBAgB5CzE,EAhB4C,KAgBtCq1G,EAhBsC,KA6CnD,SAASC,EAAiBv/F,GACxB,IAAKA,GAAOA,EAAIR,WACT,CACL,IAAMgY,EAAclV,KAAKC,MAAMvC,EAAIS,MAC7B2U,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D,GAAIiP,GAAeA,EAAYwnF,KAAM,CACnC,IAAIQ,EAAahoF,EAAYioF,eACzBjoF,EAAYioF,eACZrqF,EAAwBgf,QACxBhf,EAAwBgf,QACxB,GACAxqB,EAAS4N,EAAY0lC,SACrB1lC,EAAY0lC,SACZ9nC,EAAwBxL,OACxBwL,EAAwBxL,OACxB,GACAlE,EAAQ8R,EAAY2lC,QACpB3lC,EAAY2lC,QACZ/nC,EAAwBymB,QACxBzmB,EAAwBymB,QACxB,GACE6jE,EAA+B,CACnC,CACEh2G,QAAS,0BACTD,MAAO+tB,EAAY7N,eAErB,CAAEjgB,QAAS,OAAQD,MAAO+1G,GAC1B,CACE91G,QAAS,WACTD,MAAOic,GAET,CACEhc,QAAS,gBACTD,MAAM,OAAD,OAASmgB,IAEhB,CAAElgB,QAAS,uBAAwBD,MAAO+tB,EAAYwnF,OAExDM,EAAQ9nF,EAAYmoF,oBACpBb,EAAmBY,KAWzB,OA/EAhxG,aAAgB,WxD6ImB,IACnCkZ,EACA+B,EADA/B,EwD7IwB23F,ExD8IxB51F,EwD9I0C1B,GAAYwQ,cxDgJtD/Q,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ6Q,cAAeF,GAEjB7B,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAa8D,oBAE5BwJ,KwD1JC,IAGHlZ,aAAgB,WACd,IAAM+R,EAAO,CACXqf,UAAWzB,GAAgBC,aAAaqB,UAAUhB,UAClDwW,mBAAoB,GACpBvM,WAAYA,EACZC,WAAYA,EACZC,aAAcA,EACdsM,IAAKntB,GAAY4sB,MACjBS,mBAAoBrtB,GAAYsO,aAChC8e,yBAA0BptB,GAAY+P,mBACtCud,QAASttB,GAAY0Q,OACrBuF,OAAQjW,GAAYwQ,cACpBwmF,uBAAwB,6BAG1Br/E,GAA2Bnf,GAE3B4f,GAAiBC,UACfO,GAAgBvC,aAAaqB,UAAUhB,aAExC,IAgDHjwB,aAAgB,WACV6vG,EAAgBnxG,OAAS,GAC3Bib,OAAOC,aAAaugC,WAAW,6BAEhC,CAAC01D,IAGF,gBAAC,GAAD,CAEED,QAAQ,4BACR5nG,KAAK,+FACLzM,KAAMA,EACNs0G,gBAAiBA,EACjBj1G,KAAMs2G,MAEN,gBAAC,GAAD,QCvESC,GAtC2C,SAACpxG,GAAD,OACxD,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEksD,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYT,aAAa,GACvB,kBAAC,GAAD,CAAoB1/B,mBAAiB,GACnC,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACE0H,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYT,aAAa,GACvB,kBAAC,GAAD,CAAoB1/B,mBAAiB,GACnC,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACE0H,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYT,aAAa,GACvB,kBAAC,GAAD,CAAoB1/B,mBAAiB,GACnC,kBAAC,GAAD,aCxBGH,I,OAXyC,SAACrkD,GACrD,OACI,oCACI,yBAAKrF,UAAU,gBACX,kBAAC,EAAD,MACCqF,EAAM0I,aCidRm8C,I,OAxaU,SAAC7kD,GACxB,IAAMsnB,EAAUC,cAEV2S,EAAavK,KAHoB,GAIpBuK,EAAWxf,IAAI,eAC9Bwf,EAAWxf,IAAI,cAEAwf,EAAWxf,IAAI,eAC9Bwf,EAAWxf,IAAI,cAEEwf,EAAWxf,IAAI,iBAChCwf,EAAWxf,IAAI,gBAEGwf,EAAWxf,IAAI,kBACjCwf,EAAWxf,IAAI,iBAGiBza,IAAM4G,UAAS,IAjBZ,mBAiBhCi+C,EAjBgC,KAiBpBC,EAjBoB,OAkBX9kD,IAAM4G,SAAS,IAlBJ,gCAoBX5G,IAAM4G,SAAS,CAAElH,IAAK,GAAIwb,OAAQ,MApBvB,mBAoBhCs/B,EApBgC,KAoBxBuK,EApBwB,OAqBX/kD,IAAM4G,SAAS,IArBJ,mBAqBxBo+C,GArBwB,aAsBThlD,IAAM4G,SAAS,IAtBN,mBAsBhCkgB,EAtBgC,KAsBvB1C,EAtBuB,OAuBGpkB,IAAM4G,UAAkB,GAvB3B,mBAuBhC+1B,EAvBgC,KAuBjBC,EAvBiB,OAwBG58B,IAAM4G,UAAkB,GAxB3B,mBAwBhCk2B,EAxBgC,KAwBjBC,EAxBiB,OAyBb/8B,IAAM4G,SAAiB,IAzBV,mBAyBhC8Y,EAzBgC,KAyBzB0xF,EAzByB,OA0BHpxG,IAAM4G,UAAkB,GA1BrB,mBA0BhCkX,EA1BgC,KA0BpBkf,EA1BoB,OA4BrCh9B,IAAM4G,UAAkB,GA5Ba,mBA2BhCu2B,EA3BgC,KA2BdC,EA3Bc,OA6BHp9B,IAAM4G,UAAkB,GA7BrB,mBA6BhCgX,EA7BgC,KA6BpByf,EA7BoB,OA8BLr9B,IAAM4G,UAAkB,GA9BnB,mBA8BhCuC,EA9BgC,KA8BrBge,EA9BqB,OAgCrCnnB,IAAM4G,UAAkB,GAhCa,iCAiCH5G,IAAM4G,YAjCH,qBAiChCukB,GAjCgC,MAiCpBkmF,GAjCoB,SAqCXrxG,IAAM4G,SAE/B,CACDlH,SAAK1B,EACLkd,YAAQld,IAzC6B,qBAqChC8lB,GArCgC,MAqCxBC,GArCwB,MAgEvC,SAASljB,GAASoF,EAA4BlL,GAqB5C,MApBY,WAARkL,GAAqB9G,GAAWrB,KAAK/C,KACvCA,EAAQy/C,EAAOv0C,IAGT,WAARA,EACI++C,EAAUjqD,GACVgqD,EAAU,2BAAKvK,GAAN,mBAAev0C,EAAMlL,KAEtB,WAARkL,IAE4B,KAA5BsT,GAAYgjB,KAAKrhB,QACjB3B,GAAYgjB,KAAKrhB,SAAWngB,GAC5BoiC,EAEAP,GAAiB,GAEjBA,GAAiB,IAGrB7Y,GAAU,2BAAKD,IAAN,mBAAe7d,EAAM,MACvBlL,EAIT,SAAS60C,KACPzoB,GAAa,GAEbjI,IACE,SAAC5N,GACCvM,QAAQC,IAAI,MAAOsM,GAOzB,SAAoBA,GAAW,IAAD,YAC5B,GACEA,EAAIS,MACJT,EAAIS,KAAKy2C,SACW,QAAjB,OAAHl3C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS/T,KAAjB,OAAHsT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBu2C,QACQ,MAAxB,OAAHh3C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBu2C,OACjB,CAAC,IAAD,IACA8oD,EAAQ,OAAC9/F,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBu2C,OAC1BnhC,GAAa,GACbyV,GAAiB,GACjBG,GAAiB,GACjB3Y,EAAW,SAGXA,EAAW9S,EAAIR,OAtBbwgG,CAAWhgG,KAEbkpC,EAAOt/B,OACP,OAmIJ,SAASq2F,GAAuBjgG,GAC9B,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OAEfqW,GAAa,QAGb,GADAA,GAAa,GACI,OAAV,OAAH7V,QAAG,IAAHA,OAAA,EAAAA,EAAKS,OAA6B,sBAAV,OAAHT,QAAG,IAAHA,OAAA,EAAAA,EAAKS,MAC5BsV,EAAQO,KAAK9qB,GAAUG,sBACpB,GAAkB,QAAX,OAAHqU,QAAG,IAAHA,OAAA,EAAAA,EAAKS,MAAe,CAAC,IAAD,MAC3BwH,GAAYwQ,cAAiBxQ,GAAYwQ,cAErCxQ,GAAYwQ,cAFY,OACxBzY,QADwB,IACxBA,GADwB,UACxBA,EAAKS,YADmB,aACxB,EAAWo8C,cAEf50C,GAAYC,MAASD,GAAYC,MAE7BD,GAAYC,MAFI,OAChBlI,QADgB,IAChBA,GADgB,UAChBA,EAAKS,YADW,aAChB,EAAWoY,MAGf5Q,GAAY2M,gBAAgBxmB,IAAO6Z,GAAY2M,gBAAgBxmB,IAE3D6Z,GAAY2M,gBAAgBxmB,IAFE,OAC9B4R,QAD8B,IAC9BA,GAD8B,UAC9BA,EAAKS,YADyB,aAC9B,EAAWm8C,IAKf7mC,EAAQO,KAAK9qB,GAAUM,iBAK7B,OAxMA4C,IAAM2H,WAAU,YAfY,WAC1B,IAAM2+B,EAAsB3sB,OAAOC,aAAaC,QAC9C,2BAEF,GAC0B,OAAxBysB,QACwBtoC,IAAxBsoC,GACwB,KAAxBA,EACA,CACA,IAAIkrE,EAAkB59F,KAAKC,MAAMyyB,GACT,OAApBkrE,QAAgDxzG,IAApBwzG,GAC9BH,GAAcG,EAAgBrmF,aAKlCsmF,GACA93F,OAAOC,aAAaugC,WAAW,6BAC9B,IAsMD,yBAAKz/C,UAAW,oBAAsByO,EAAY,QAAU,KAC1D,yBAAKzO,UAAU,sBACb,gEAEF,8BACE,8BAAUA,UAAU,UAAU6H,SAAU4G,GAEtC,yBAAKzO,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,cACA,kBAAC,GAAD,CACEmG,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,MAAO9F,EAAM8G,gBAC3CE,YAAY,iBACZpB,QAASjB,GACTuC,OAAQ,SAAC6O,GAAD,OACNiT,GAAU,2BACLD,IADI,IAEPpkB,IAAKoR,EAAMnQ,QAAU,GAAK2d,GAASzJ,QAGvC1U,UAAW2jB,GAAOpkB,IAClB0C,KAAK,OACLb,UAAW,OAYjB,oCACE,yBAAK7G,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CACEiG,QAAShB,GACTkB,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,SAAU9F,IACxCkH,OAAQ,SAAC6O,GAAD,OACNiT,GAAU,2BACLD,IADI,IAEP5I,OAAQpK,EAAMnQ,QAAU,GAAK2d,GAASzJ,QAG1C9S,YAAY,iBACZ5B,UAAW2jB,GAAO5I,OAClB9Y,KAAK,MACLM,OACE6W,GAAYgjB,KAAKrhB,SAAWs/B,EAAOt/B,QACjB,KAAlBs/B,EAAOt/B,QACPiiB,EACE,uBAAGziC,UAAU,mBAEb,qCAGJ6G,UAAW,MAIdo7B,GACC,yBAAKjiC,UAAU,WACb,kBAAC,GAAD,CACE2O,QAAQ,SACR9G,SACE2lB,OAAOsyB,OAAO,CAAC12B,GAAOpkB,IAAKokB,GAAO5I,SAASu/B,MACzC,SAAC3pC,GAAD,OAAWA,MAEboX,OAAOsyB,OAAO,CAACA,EAAO96C,IAAK86C,EAAOt/B,SAASu/B,MACzC,SAAC1/C,GAAD,OAAYA,KAGhB0H,QAAS,WACP0sB,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,eACzCsnC,UAMT9S,IAAkBH,GACjB,yBAAKjiC,UAAU,cACb,kBAAC,GAAD,CACE4N,MAAM,mBACNuW,SAAU,GACVtB,MAAM,OACN1c,SAtNhB,SAAqBuC,GACfwa,GACFyf,GAAc,GAEG,IAAfj6B,EAAI1E,SACNyoB,GAAa,GACb6V,GAAc,GACdvd,IACE,SAACnO,IASP,SAAmCA,GAGjC,GAFA6V,GAAa,GACb6V,GAAc,GACV1rB,EAAIR,MAGNsT,EAAW9S,EAAIR,WACV,CAAC,IAAD,MACL,GACEQ,EAAIS,OAAJ,OACAT,QADA,IACAA,GADA,UACAA,EAAKS,YADL,aACA,EAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWy2C,UACS,IAAnB,OAAHl3C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWy2C,SACX,CACA,IAAM9+B,EAAS9V,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAGhD6P,GACAA,EAAO/H,YAC6B,aAApC+H,EAAO/H,WAAW9f,eAElBijD,GAAc,GAGhB1nB,GAAoB,GACpBL,GAAiB,QACZM,GAAc,GACrBjZ,EAAW,KApCPskC,CAA0Bp3C,KAE5BoO,EACAtc,KA2MU4b,cAAe,WACbmQ,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,eACzCsnC,MAEF9xB,WAAYA,EACZF,WAAYA,MAOnBuf,GAAoB0nB,GACnB,oCACE,yBAAKnqD,UAAU,OACb,2BAAOA,UAAU,UAAjB,0BAGF,yBAAKA,UAAU,kBACb,2BAAOA,UAAU,eAAjB,6GAIA,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACEmG,SAAU,SAAC9F,GAAD,OAAW8F,GAAS,SAAU9F,IACxCuN,MAAM,wBACNvG,YAAY,cACZK,KAAK,OACLH,OAAQ,kBAQjB6kB,GACC,yBAAKpsB,UAAU,cACb,kBAAC,GAAD,KACE,sEACA,wEAA8CosB,EAA9C,OAMLqW,GACC,oCACE,yBAAKziC,UAAU,OACb,uBAAGA,UAAU,gBAAb,iEAIF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE+H,QAnMhB,SAAsB3B,GACpBA,EAAEqtF,iBACFhnE,GAAa,GACb,IAAMT,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBhnB,IAAM86C,EAAO96C,IACrCgnB,EAAwByE,WAAaA,GAErCxR,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBnN,GAAY2M,gBAAgBxmB,IAAM86C,EAAO96C,IAGzCqsB,GAAuBwlF,GAAwB/2D,EAAO96C,MAoLxC2J,QAAQ,eACR9G,SACE2lB,OAAOsyB,OAAO12B,IAAQ22B,MAAK,SAAC3pC,GAAD,OAAWA,MACtCoX,OAAOsyB,OAAOA,GAAQC,MAAK,SAAC1/C,GAAD,OAAYA,OACtCoiC,EAEHh0B,UAAWA,EACX/G,KAAK,kBCvLRsvG,I,iLAXX,OACE,yBAAKh3G,UAAU,gBACb,yBAAKA,UAAU,UACb,yBAAKA,UAAU,YAAYC,IAAKwxD,KAAWtxD,IAAI,YAEjD,kBAAC,GAAoBoK,KAAKlF,Y,GA5QJ2G,c,qBCiCfirG,G,8MA/BXC,YAAc,WACVj4F,OAAOY,SAASC,KAAO9P,GAAOC,KAAO7N,GAAUC,WAAWmC,QAAQ,IAAK,K,EAE3E2yG,WAAa,WACTl4F,OAAOY,SAASC,KAAO9P,GAAOC,M,wDAG9B,OACI,yBAAKjQ,UAAU,4BACX,yBAAKC,IAAKwxD,KAAWzxD,UAAU,iBAC/B,6BACI,wBAAIA,UAAU,kBAAd,oBACA,0BAAMA,UAAU,kBAAhB,6CAC8C,6BAD9C,6CAE8C,6BAF9C,aAIA,yBAAKA,UAAU,aACX,kBAAC,GAAD,CAAQ2O,QAAQ,kBAAkBjH,KAAK,SAASK,QAASwC,KAAK4sG,cAElE,yBAAKn3G,UAAU,iBACX,2BAAOA,UAAU,uBAAjB,4BACA,2BAAOA,UAAU,YAAY+H,QAASwC,KAAK2sG,aAA3C,8B,GAtBMlrG,a,qBC6BforG,I,qNA7BXF,YAAc,WACVj4F,OAAOY,SAASC,KAAO1d,GAAUC,Y,wDAIjC,OACI,yBAAKrC,UAAU,4BACX,yBAAKC,IAAKwxD,KAAWzxD,UAAU,iBAC/B,6BACI,wBAAIA,UAAU,kBAAd,0BACA,0BAAMA,UAAU,kBAAhB,0CAEI,6BAFJ,4BAIA,yBAAKA,UAAU,aACX,kBAAC,GAAD,CAAQ2O,QAAQ,mBAAmBjH,KAAK,YAE5C,yBAAK1H,UAAU,iBACX,2BAAOA,UAAU,uBAAjB,4BACA,2BAAOA,UAAU,YAAY+H,QAASwC,KAAK2sG,aAA3C,8B,GApBKlrG,c,qBCkBdqrG,I,iLAhBP,OACI,yBAAKr3G,UAAU,qBACX,yBAAKC,IAAKwxD,KAAWzxD,UAAU,iBAC/B,6BACI,wBAAIA,UAAU,kBAAd,oCACA,0BAAMA,UAAU,kBAAhB,8CAC2C,6BAD3C,wCAEsC,6BAFtC,kBAID,yBAAKA,UAAU,SAAf,wCAA4D,0BAAMA,UAAU,cAAhB,yB,GAZtCgM,c,qBC0X1BsrG,I,OA1WuC,SAACjyG,GAAW,IAAD,EAC7BC,IAAM4G,UAAkB,GADK,mBAC7CugB,GAD6C,aAE3BnnB,IAAM4G,SAAiB,IAFI,gCAGjC5G,IAAM4G,YAH2B,mBAGxDkgB,EAHwD,KAG/C1C,EAH+C,KAIzDiD,EAAUC,cAsGhB,SAAS2qF,EAAY3gG,GACnB,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACf/L,QAAQC,IAAIsM,EAAIP,QAChBoW,GAAa,QAEb,GAAI7V,GAAOA,EAAIS,MAAQT,EAAIS,KAAK0Y,OAA6B,GAApBnZ,EAAIS,KAAK8Z,QAAiB,CAWjE,IAAIixD,EAAexrE,EAAIS,KAAKqZ,UAAY9Z,EAAIS,KAAKqZ,UAAY,GACzD6yB,EAAgB3sC,EAAIS,KAAKuZ,WAAaha,EAAIS,KAAKuZ,WAAa,GAC5DyxD,EAAczrE,EAAIS,KAAKyZ,SAAWla,EAAIS,KAAKyZ,SAAW,GAErC,KAAjBsxD,GAAuC,KAAhBC,GACzBD,EAAeC,EACfxjE,GAAY2M,gBAAgBwf,QAAUo3C,EACtCC,EAAc,GACQ,KAAlB9+B,IACF1kC,GAAY2M,gBAAgBwf,QAC1BnsB,GAAY2M,gBAAgBwf,QAAU,IAAMuY,IAG/B,KAAjB6+B,GACkB,KAAlB7+B,GACgB,KAAhB8+B,EAEAxjE,GAAY2M,gBAAgBwf,QAAU,GACX,KAAlBuY,GACT1kC,GAAY2M,gBAAgBwf,QAC1Bo3C,EAAe,IAAMC,EACvB9+B,EAAgB,IAEhB1kC,GAAY2M,gBAAgBwf,QAC1Bo3C,EAAe,IAAM7+B,EAAgB,IAAM8+B,EAK/CxjE,GAAY2M,gBAAgB6kB,UAAY+xC,EACxCvjE,GAAY2M,gBAAgBilB,SAAW4xC,EACvCxjE,GAAY2M,gBAAgB+kB,WAAagT,EACzC1kC,GAAY2M,gBAAgBiF,WAAa7Z,EAAIS,KAE7C,IAAI+W,EAAcxX,EAAIS,KAAK4Z,oBACvBra,EAAIS,KAAK4Z,oBACT,GAEA7C,EAAYnkB,SAAS,sBACvB4U,GAAYikC,WAAY,EACf10B,EAAYnkB,SAAS,mCAC9B4U,GAAYikC,WAAY,GAI1BzxB,GAAuB2wD,EAAanjE,GAAY2M,gBAAgBxmB,UAGhE4R,GACAA,EAAIS,MACJT,EAAIS,KAAK0Y,OACTnZ,EAAIS,KAAK8Z,QAGTzH,EAAW9S,EAAIR,OACfqW,GAAa,GAoCnB,IAAMu1D,EAAc,SAACprE,GACnB,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqW,GAAa,QAEb,GAAI7V,EAAIS,KACN,GAAgB,MAAZT,EAAIS,KAAc,CACpBwH,GAAY2M,gBAAgBxmB,IAAM4R,EAAIS,KAAKm8C,IAC3C30C,GAAYC,MAAQlI,EAAIS,KAAKoY,MAC7B5Q,GAAYwQ,cAAgBzY,EAAIS,KAAKo8C,cACrC50C,GAAY0Q,OAAS3Y,EAAIS,KAAKyY,OAC9B,IAAM9D,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBymB,QAAU5zB,GAAYgjB,KAAKvlB,MACnD0P,EAAwBxL,OAAS3B,GAAYgjB,KAAKrhB,OAClDwL,EAAwBoD,cAAgBvQ,GAAYwQ,cACpDrD,EAAwBlN,MAAQD,GAAYC,MAC5CkN,EAAwBumB,OAAS1zB,GAAY0Q,OAC7CvD,EAAwBgf,QAAUnsB,GAAY2M,gBAAgBwf,QAC9D/rB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAGjBkE,GACE85B,EACAnrC,GAAYwQ,oBAEO,MAAZzY,EAAIS,MACbqS,EAAW,yBAGbA,EAAW9S,EAAIR,OACfqW,GAAa,IAKnB,SAASu9B,EAAsBpzC,GAE7B,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MAQnC,GANAgtC,GAAaj2B,GAGbqkC,GAAwBrkC,EAAY02B,6BAIjC12B,EAAY+2B,uBACbtmC,GAAY+P,qBACX/P,GAAYsO,eACZtO,GAAY4sB,MAGb,YADA9e,EAAQO,KAAK/qB,IAGf,IAEIisB,EAAYq2B,4BACZr2B,EAAYo2B,2BAId,YADA73B,EAAQO,KAAKzsB,IAGf,IAAK2tB,EAAYw2B,uBAEf,YADAj4B,EAAQO,KAAKzsB,IAGf,IACG2tB,EAAYy2B,8BACZz2B,EAAY42B,2BAGb,YADAr4B,EAAQO,KAAKzsB,IAGf,IAAK2tB,EAAY02B,2BAEf,YADAn4B,EAAQO,KAAKzsB,IAGf,IACGoe,GAAYsO,eACZtO,GAAY4sB,QAEZrd,EAAY22B,0BAGb,YADAp4B,EAAQO,KAAKzsB,IAGf,GAAI2tB,EAAY62B,sBAEd,YADAt4B,EAAQO,KAAK/qB,IAGf,IAAKisB,EAAY82B,iBAEf,YADAv4B,EAAQO,KAAKzsB,IAGf,GAAI2tB,EAAY82B,iBAEd,YADAv4B,EAAQO,KAAK/qB,IAKnBsqB,GAAa,GAGf,OACE,yBAAKzsB,UAAU,mBACb,yBAAKC,IAAKwxD,KAAWzxD,UAAU,iBAC/B,6BACE,wBAAIA,UAAU,kBAAd,qBAMA,yBAAKA,UAAU,aACb,kBAAC,GAAD,CAAQ2O,QAAQ,WAAWjH,KAAK,SAASK,QA9U1B,WAErBsC,QAAQC,IAAI,gBACZmiB,GAAa,GACb,IAAMmf,EAAsB1yB,KAAKC,MAC/B8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE/CN,GAAY2M,gBAAgBxmB,SAEJ1B,GAAnCub,GAAY2M,gBAAgBxmB,KACO,IAAnC6Z,GAAY2M,gBAAgBxmB,IAEnB6Z,GAAY2M,gBAAgBxmB,IACD,IAA3B4mC,EAAoB5mC,MACO,IAA3B4mC,EAAoB5mC,KAAY4mC,EAAoB5mC,KAE/DwrB,GAAe+mF,QAiUb,6BACCnrF,GACC,yBAAKpsB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEACA,wEAA8CA,EAA9C,MAGF,+BAAQA,QCuOPorF,GAtkBuC,SAACnyG,GAAW,IAAD,EAC7BC,IAAM4G,UAAkB,GADK,mBACxDuC,EADwD,KAC7Cge,EAD6C,OAE3BnnB,IAAM4G,SAAiB,IAFI,mBAExDknD,EAFwD,aAGjC9tD,IAAM4G,YAH2B,mBAGxDkgB,EAHwD,KAG/C1C,EAH+C,KAK3DgpC,GAA6B,EAC3B/lC,EAAUC,cAuDV6qF,EAAc,uCAAG,gCAAAtsG,EAAA,6DAErBd,QAAQC,IAAI,mBAEZmiB,GAAa,GAJQ,SAKavT,KAAKC,MACrC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MANvC,UAKfysB,EALe,OASjBC,EAAShtB,GAAY2M,gBAAgBxmB,SAGJ1B,GAAnCub,GAAY2M,gBAAgBxmB,KACO,IAAnC6Z,GAAY2M,gBAAgBxmB,IAE5B6mC,EAAShtB,GAAY2M,gBAAgBxmB,IACD,IAA3B4mC,EAAoB5mC,MAC7B6mC,EAAoC,IAA3BD,EAAoB5mC,IAAY4mC,EAAoB5mC,IAAM,IAEjE08E,EAAa18E,GAAI5B,KAAKyoC,GAE1BxhC,QAAQC,IACN,SACA,CAAEuhC,SAAQ61C,cACC,KAAX71C,QAA4BvoC,IAAXuoC,GAAwB61C,GAE5B,KAAX71C,QAA4BvoC,IAAXuoC,IAAwB61C,EA1BxB,iBA2BnBlxD,GAAe+mF,GA3BI,+BA6BnB33F,MACE,oHAEF+M,EAAQO,KAAK/qB,IAhCM,+DAAH,qDAuHpB,SAASo1G,EAAY3gG,GACnB,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACf/L,QAAQC,IAAIsM,EAAIP,QAChBoW,GAAa,QAIb,GAFApiB,QAAQC,IAAI,cAAesM,EAAIS,MAE3BT,GAAOA,EAAIS,MAAQT,EAAIS,KAAK0Y,OAA6B,GAApBnZ,EAAIS,KAAK8Z,QAAiB,CAWjE,IAAIixD,EAAexrE,EAAIS,KAAKqZ,UAAY9Z,EAAIS,KAAKqZ,UAAY,GACzD6yB,EAAgB3sC,EAAIS,KAAKuZ,WAAaha,EAAIS,KAAKuZ,WAAa,GAC5DyxD,EAAczrE,EAAIS,KAAKyZ,SAAWla,EAAIS,KAAKyZ,SAAW,GAErC,KAAjBsxD,GAAuC,KAAhBC,GACzBD,EAAeC,EACfxjE,GAAY2M,gBAAgBwf,QAAUo3C,EACtCC,EAAc,GACQ,KAAlB9+B,IACF1kC,GAAY2M,gBAAgBwf,QAC1BnsB,GAAY2M,gBAAgBwf,QAAU,IAAMuY,IAG/B,KAAjB6+B,GACkB,KAAlB7+B,GACgB,KAAhB8+B,EAEAxjE,GAAY2M,gBAAgBwf,QAAU,GACX,KAAlBuY,GACT1kC,GAAY2M,gBAAgBwf,QAC1Bo3C,EAAe,IAAMC,EACvB9+B,EAAgB,IAEhB1kC,GAAY2M,gBAAgBwf,QAC1Bo3C,EAAe,IAAM7+B,EAAgB,IAAM8+B,EAK/CxjE,GAAY2M,gBAAgB6kB,UAAY+xC,EACxCvjE,GAAY2M,gBAAgBilB,SAAW4xC,EACvCxjE,GAAY2M,gBAAgB+kB,WAAagT,EACzC1kC,GAAY2M,gBAAgBiF,WAAa7Z,EAAIS,KAE7C,IAAI+W,EAAcxX,EAAIS,KAAK4Z,oBACvBra,EAAIS,KAAK4Z,oBACT,GAEA7C,EAAYnkB,SAAS,sBACvB4U,GAAYikC,WAAY,EACf10B,EAAYnkB,SAAS,mCAC9B4U,GAAYikC,WAAY,GAM1BzxB,GAAuB2wD,EAAanjE,GAAY2M,gBAAgBxmB,UAEhE4R,GACAA,EAAIS,MACJT,EAAIS,KAAK0Y,OACTnZ,EAAIS,KAAK8Z,QAGTzH,EAAW9S,EAAIR,OACfqW,GAAa,GAoCnB,IAAMu1D,EAAc,SAACprE,GACnB,IAAKA,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqW,GAAa,QAEb,GAAI7V,EAAIS,KACN,GAAgB,MAAZT,EAAIS,KAAc,CACpBwH,GAAY2M,gBAAgBxmB,IAAM4R,EAAIS,KAAKm8C,IAC3C30C,GAAYC,MAAQlI,EAAIS,KAAKoY,MAC7B5Q,GAAYwQ,cAAgBzY,EAAIS,KAAKo8C,cACrC50C,GAAY0Q,OAAS3Y,EAAIS,KAAKyY,OAC9BjR,GAAYyQ,sBAAwB1Y,EAAIS,KAAKwY,sBAE7C,IAAM7D,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwBsD,sBACtBzQ,GAAYyQ,sBACdrQ,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAIjB0lC,GAAmBiC,EAAoB90C,GAAYwQ,oBAC9B,MAAZzY,EAAIS,MACbqS,EAAW,yBAGbA,EAAW9S,EAAIR,OACfqW,GAAa,IAKnB,SAASknC,EAAmB/8C,GAE1B,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MACdsT,EAAW9S,EAAIR,YAEf,GAAIQ,GAAOA,EAAIS,KAAM,CACnB,IAAI/O,EAAmB4Q,KAAKC,MAAMvC,EAAIS,MAAM5O,QAC1C,SAACW,GAAD,OAKoB,GAAlBA,EAAKwqD,aAEW,IAAhBtrD,EAAKtE,QAAkC,IAAlBsE,EAAK,GAAGurD,QAC/BnB,GAA6B,GAGnCjmC,GAAa,GACbyD,GAA0B85B,EAAuBnrC,GAAYwQ,eAE/D,IAAMqoF,EAAgB,SAAC9wB,GACrBz2D,IACE,SAACvZ,GAAc,IAAD,EACZ,GAAIA,GAAOA,EAAIS,OAAX,UAAmBT,EAAIS,YAAvB,aAAmB,EAAUyrE,kBAAkB,CACjD,IAAIC,EAAa,OAAGnsE,QAAH,IAAGA,OAAH,EAAGA,EAAKS,KACzB,IACa,OAAXwH,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,iBAC0C,IAAvDxQ,GAAYm7B,YAAYwK,6BAC8B,IAAtD3lC,GAAYm7B,YAAYyK,2BACN,OAAlBs+B,IAHA,OAIAA,QAJA,IAIAA,OAJA,EAIAA,EAAeD,kBAEf,GAAkC,MAAjB,OAAbC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,cAlWJ,SAAC50D,GACxBvP,GAAY4sB,OAAQ,EAEpB,IAAMzf,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAYozB,UAAY7jB,EAAY4qB,SAAW5qB,EAAY4qB,SAAW,GACtEn6B,GAAYszB,WAAa/jB,EAAY6qB,UAAY7qB,EAAY6qB,UAAY,GACzEp6B,GAAYwzB,SAAWjkB,EAAY60D,SAAW70D,EAAY60D,SAAW,EAGrE,IAAMj1C,EAAY5f,EAClBvP,GAAY41B,cAAc7rB,aAA1B,UAA4ColB,EAAUk1C,WAAtD,YACEl1C,EAAUm1C,YAAc,GAD1B,YAEIn1C,EAAUo1C,YAAc,IAC5BvkE,GAAY41B,cAAc7rB,aACxB/J,GAAY41B,cAAc7rB,aAE5B/J,GAAY41B,cAAclW,YAA1B,UAA2CyP,EAAUq1C,WAArD,YACEr1C,EAAUs1C,YAAc,GAD1B,YAEIt1C,EAAUu1C,YAAc,IAC5B1kE,GAAY41B,cAAclW,YACxB1f,GAAY41B,cAAclW,YAC5B1f,GAAY41B,cAAcpzB,QAAU2sB,EAAUw1C,YAC9C3kE,GAAY41B,cAAc/V,YAAcsP,EAAUy1C,YAClD5kE,GAAY2M,gBAAgB2Z,WAAa6I,EAAU01C,WAC/C11C,EAAU01C,WACV7kE,GAAY2M,gBAAgB2Z,WAChCnZ,EAAwByf,OAAQ,EAChCzf,EAAwBpD,aACtB/J,GAAY41B,cAAc7rB,aAC5BoD,EAAwB3K,QAAUxC,GAAY41B,cAAcpzB,QAC5D2K,EAAwBuS,YAAc1f,GAAY41B,cAAclW,YAChEvS,EAAwB0S,YAAc7f,GAAY41B,cAAc/V,YAChE1S,EAAwBmZ,WAAatmB,GAAY2M,gBAAgB2Z,WACjEnZ,EAAwBwS,gBACtB3f,GAAY41B,cAAc7rB,cAC1B/J,GAAY41B,cAAclW,YAO5Btf,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBW,EAAQO,KAAKzsB,IAmTHkjF,CAAgB,OAACZ,QAAD,IAACA,OAAD,EAACA,EAAe1rE,MAChCoV,GAAa,QACR,GAAkC,MAAjB,OAAbs2D,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAC5CnkE,GAAYsO,cAAe,EAC3B,IAAMnB,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D6M,EAAwBmB,cAAe,EACvCnB,EAAwBoB,SAAW,GAEnCnO,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBT,GAA2B,OAACw3D,QAAD,IAACA,OAAD,EAACA,EAAe1rE,MAC3CsV,EAAQO,KAAKzsB,IACbgsB,GAAa,QACR,GAAkC,MAAjB,OAAbs2D,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAC5CnkE,GAAY8jC,gBAAiB,EAC7B9jC,GAAY2sB,OAAQ,EACpB3sB,GAAY4sB,OAAQ,EACpB,IAAMzf,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D6M,EAAwByf,MAAQ5sB,GAAY4sB,MAC5Czf,EAAwBwf,MAAQ3sB,GAAY2sB,MAC5Cxf,EAAwB22B,eACtB9jC,GAAY8jC,eACd1jC,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAEjBW,EAAQO,KAAKzsB,IACbgsB,GAAa,QAEbm6D,SAIJA,MAGJ,CACEhD,SAAQ,OAAE/kE,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cACvB9jB,IAAI,cAAD,cAAgBsT,SAAhB,IAAgBA,QAAhB,EAAgBA,GAAawQ,kBAItC,SAAS26B,EAAsBpzC,GAE7B,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAM+W,EAAclV,KAAKC,MAAMvC,EAAIS,MAGnCgtC,GAAaj2B,GAEbqkC,GAAwBC,GACxB7zC,GAAY2M,gBAAgB2Z,WAAatmB,GAAY2M,gBACpD2Z,WACCtmB,GAAY2M,gBAAgB2Z,WAFW,OAGvC/W,QAHuC,IAGvCA,OAHuC,EAGvCA,EAAakd,iBACXld,EAAY+2B,wBAAuBtmC,GAAYsO,cAAe,GAC9DiB,EAAYm3B,QAAO1mC,GAAY4sB,OAAQ,GACvCrd,EAAYglB,QAAOv0B,GAAY2sB,OAAQ,GAE3C,IAAMxf,EAA0B9S,KAAKC,MACnC8F,OAAOC,aAAaC,QAAQ,4BAA8B,MAuB5D,GArBA6M,EAAwBoD,cAAgBvQ,GAAYwQ,cACpDrD,EAAwBlN,MAAQD,GAAYC,MAC5CkN,EAAwBumB,OAAS1zB,GAAY0Q,OAC7CvD,EAAwBgf,QAAUnsB,GAAY2M,gBAAgBwf,QAC9Dhf,EAAwByE,WACtB5R,GAAY2M,gBAAgBiF,WAC9BzE,EAAwBmB,aAAetO,GAAYsO,aACnDnB,EAAwByf,MAAQ5sB,GAAYm7B,YAAYuL,MACxDv5B,EAAwBwf,MAAQ3sB,GAAYm7B,YAAY5G,MACxDpnB,EAAwBxL,OAAxB,OAAiC4N,QAAjC,IAAiCA,OAAjC,EAAiCA,EAAa0lC,SAC9C9nC,EAAwBglB,IAAMnyB,GAAYm7B,YAAYhJ,IACnB,OAApB,OAAX5iB,QAAW,IAAXA,OAAA,EAAAA,EAAakd,wBAAyDhoC,IAApB,OAAX8qB,QAAW,IAAXA,OAAA,EAAAA,EAAakd,mBAA+D,MAArB,OAAXld,QAAW,IAAXA,OAAA,EAAAA,EAAakd,oBAClGtf,EAAwBmZ,WAAxB,OACA/W,QADA,IACAA,OADA,EACAA,EAAakd,kBAEfrsB,OAAOC,aAAa+M,QAClB,0BACA/S,KAAKkG,UAAU4M,IAKmB,IAAlCoC,EAAYk3B,mBACkB,IAA9Bl3B,EAAYg3B,cAGZ,YADAz4B,EAAQO,KAAK9qB,GAAUI,2BAGzB,IAAKkwD,GAA4D,IAA9BtkC,EAAYg3B,cAE7C,YADAz4B,EAAQO,KAAK9qB,GAAUK,gBAGzB,IACG2rB,EAAY+2B,uBACbtmC,GAAY+P,qBACX/P,GAAYsO,eACZtO,GAAY4sB,MAGb,YADA9e,EAAQO,KAAK/qB,IAGf,IAEIisB,EAAYq2B,4BACZr2B,EAAYo2B,2BAOd,YAJAkzD,GAAc,WACZ93F,MAAM,6DACN+M,EAAQO,KAAK/qB,OAOjB,IAAKisB,EAAYw2B,uBAEf,YADAj4B,EAAQO,KAAKzsB,IAGf,IACG2tB,EAAYy2B,8BACZz2B,EAAY42B,2BAGb,YADAr4B,EAAQO,KAAKzsB,IAGf,IAAKiyD,EAEH,YADA/lC,EAAQO,KAAKzsB,IAGf,IACGoe,GAAYsO,eACZtO,GAAY4sB,QACZ5sB,GAAY2sB,QACZpd,EAAY22B,0BAGb,YADAp4B,EAAQO,KAAKzsB,IAGf,GAAI2tB,EAAY62B,sBAEd,YADAt4B,EAAQO,KAAK/qB,IAGf,IAAKisB,EAAY82B,iBAEf,YADAv4B,EAAQO,KAAKzsB,GAAqB,SAGpC,GAAI2tB,EAAY82B,mBAAqB92B,EAAYo3B,oBAE/C,YADA74B,EAAQO,KAAKzsB,GAAqB,SAGpC,GAAkC,IAA9B2tB,EAAYg3B,cAEd,YADAz4B,EAAQO,KAAK/qB,IAKnBsqB,GAAa,GAGf,OACE,yBAAKzsB,UAAU,MACb,yBAAKA,UAAU,UACb,kBAAC,GAAD,KACE,yBAAKC,IAAKi0D,KAAa/zD,IAAI,UAAUH,UAAU,YAGnD,yBAAKA,UAAU,aACb,+CAAqBozD,IAEvB,yBAAKpzD,UAAU,UACb,2BAAOA,UAAU,YAAjB,mIAMDosB,GACC,yBAAKpsB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEACA,wEAA8CA,EAA9C,MAGF,+BAAQA,KAMhB,yBAAKpsB,UAAU,UACb,yBAAKA,UAAU,gBACb,kBAAC,GAAD,CACE2O,QAAQ,WACR9G,SAAU4G,EACVA,UAAWA,EACX1G,QAAS0vG,QCxfNE,GA3EM,WACnB,OACE,oCACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEpmD,KAAMnvD,GAAUC,WAChB0nF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAoBlkF,QAK7B,kBAAC,IAAD,CACEksD,KAAMnvD,GAAUE,eAChBynF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAmBlkF,QAK5B,kBAAC,IAAD,CACEksD,KAAMnvD,GAAUK,eAChBsnF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAmBlkF,QAK5B,kBAAC,IAAD,CACEksD,KAAMnvD,GAAUI,0BAChBunF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAA+BlkF,QAKxC,kBAAC,IAAD,CACEksD,KAAMnvD,GAAUG,gBAChBwnF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAoBlkF,QAK7B,kBAAC,IAAD,CACEksD,KAAMnvD,GAAUM,eAChBqnF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACN,kBAAC,GAAD,CAAYkkF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAmBlkF,WCiSrBuyG,I,mCAnWG,WAChB,IAAM3R,EAAcjxE,KAChB/N,EAAa,GACbJ,EAAa,GACbR,EAAe,GAJG,EAMM/gB,IAAM4G,SAAS,CACzCmkC,UAAW,GACX7qB,SAAU,GACVlJ,MAAO,GACPkE,OAAQ,GACR3c,KAAM,KAXc,mBAMfi8C,EANe,KAMPuK,EANO,OAcpB/kD,IAAM4G,UAAkB,GAdJ,mBAafu+C,EAbe,KAaKC,EAbL,OAeQplD,IAAM4G,SAAS,IAfvB,mBAefkgB,EAfe,KAeN1C,EAfM,OAgBcpkB,IAAM4G,UAAkB,GAhBtC,mBAgBfpL,EAhBe,KAgBH+2G,EAhBG,OAiBkBvyG,IAAM4G,UAAkB,GAjB1C,mBAiBf4rG,EAjBe,KAiBDC,EAjBC,KAmBtBzyG,IAAM2H,WAAU,WACdga,EAAag/E,EAAYlmF,IAAI,eAAiB,GAC9C8G,EAAao/E,EAAYlmF,IAAI,eAAiB,GAC9CsG,EAAe4/E,EAAYlmF,IAAI,iBAAmB,GAClD,IAAMoH,EAAW8+E,EAAYlmF,IAAI,aAAe,GAC1C0G,EAAew/E,EAAYlmF,IAAI,iBAAmB,GAClDoG,EAAc8/E,EAAYlmF,IAAI,gBAAkB,GAChDgH,EAAgBk/E,EAAYlmF,IAAI,kBAAoB,GACpD4G,EAAas/E,EAAYlmF,IAAI,eAAiB,GAC9CwG,EAAc0/E,EAAYlmF,IAAI,gBAAkB,GAChDswB,EAAY41D,EAAYlmF,IAAI,UAAY,GACxCyF,EAAWygF,EAAYlmF,IAAI,UAAY,GACvCzD,EAAQ2pF,EAAYlmF,IAAI,UAAY,GACpCS,EAASylF,EAAYlmF,IAAI,WAAa,GACtClc,EAAOoiG,EAAYlmF,IAAI,SAAW,GAClCi4F,EAAY,CAChB/wF,aACAJ,aACAR,eACAc,WACAV,eACAN,cACAY,gBACAJ,aACAJ,eAGEU,GAA2C,eAA7BA,EAAW9f,gBAC3B0X,GAAY2oC,YAAa,GAC3BmJ,EAAaqnD,GAIG,KAAd3nE,GACa,KAAb7qB,GACU,KAAVlJ,GACW,KAAXkE,GACS,KAAT3c,EAEAwmD,EAAU,CAAEha,YAAW7qB,WAAUlJ,QAAOkE,SAAQ3c,SAEhDk0G,GAAgB,KAEjB,IAEHzyG,IAAM2H,WAAU,WACVugB,OAAOsyB,OAAOA,GAAQqQ,OAAM,SAAC9vD,GAAD,MAAqB,KAAVA,MAiE7C,WACE,GAAImtB,OAAOsyB,OAAOA,GAAQqQ,OAAM,SAAC9vD,GAAD,OAAWA,KASzC,GARAwe,GAAYgjB,KAAO,CACjBwO,UAAWyP,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBlJ,MAAOwjC,EAAOxjC,MACdkE,OAAQs/B,EAAOt/B,OACf3c,KAAMi8C,EAAOj8C,MAGX4mD,EACFn2C,QACK,CACL,IAAM87C,EAAS,CACb1oD,KAAM,QACNwgB,WAAY,CACV,CACEmoC,UAAWvQ,EAAOt/B,OAClBsF,OAAQ,WACRwqC,WAAYC,UAAUC,WAI5BxoC,GAAgBimC,EAAgBmC,IAvFlCqxB,KAED,CAAC3hC,IAIJ,IAAM6Q,EAAe,SAACpjC,GACpB,GAAIC,OAAOlf,KAAKif,GAAavpB,OAAS,EAAG,CACvC,IAAI81B,EAAc,CAChBg3B,kBAAmB,IACnB7pC,WAAYsG,EAAYtG,WACxBJ,WAAY0G,EAAY1G,WACxBM,SAAUoG,EAAYpG,SACtBV,aAAc8G,EAAY9G,aAC1BJ,aAAckH,EAAYlH,aAC1BF,YAAaoH,EAAYpH,YACzBY,cAAewG,EAAYxG,cAC3BJ,WAAY4G,EAAY5G,WACxBJ,YAAagH,EAAYhH,YACzBwqC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXC,cAAe,GACfC,gBAAiB,GACjBlN,WAAY,GACZmN,SAAU,GACVC,UAAW,KAEbpyC,OAAOqO,eAAerB,QAAQ,cAAe/S,KAAKkG,UAAU0a,QACvD,CACL,IAAM9K,EAAS9V,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAElD,IAAK6P,GAAyC,IAA/BxB,OAAOlf,KAAK0gB,GAAQhrB,OAAc,CAC/C,IAAI81B,EAAc,CAChBg3B,kBAAmB,IACnB7pC,WAAYsG,EAAYtG,WACxBJ,WAAY0G,EAAY1G,WACxBM,SAAUoG,EAAYpG,SACtBV,aAAc8G,EAAY9G,aAC1BJ,aAAckH,EAAYlH,aAC1BF,YAAaoH,EAAYpH,YACzBY,cAAewG,EAAYxG,cAC3BJ,WAAY4G,EAAY5G,WACxBJ,YAAagH,EAAYhH,YACzBwqC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXC,cAAe,GACfC,gBAAiB,GACjBlN,WAAY,GACZmN,SAAU,GACVC,UAAW,KAEbpyC,OAAOqO,eAAerB,QACpB,cACA/S,KAAKkG,UAAU0a,OAoCvB,SAASm0B,EAAer3C,IACjBA,GAAOA,EAAIR,OAGdsT,EAAW9S,EAAIR,OACfs0C,GAAsB,KAEtBA,GAAsB,GACtBp2C,KAIJ,SAASA,IACP,IAAM65C,EACJlvC,OAAOqO,eAAenO,QAAQ,ezH4ET,KyH3EjBivC,EAAc,CAClBhpC,WzHyEoB,IyHxEpBM,QAASo6B,EAAOxjC,MAChBgJ,UAAWw6B,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBhF,OAAQs/B,EAAOt/B,OACfoF,YAA4B,QAAfuoC,EAAuB,IAAM,MAE5ClvC,OAAOC,aAAa+M,QAClB,aACA6zB,EAAOzP,UAAUtsC,OAAS,IAAM+7C,EAAOt6B,SAASzhB,QAElD8a,GAAY6oC,UAAY,GACxBziC,GAAkBopC,EAAcD,GAGlC,SAASC,EAAaz3C,GACpB,IAAKA,GAAOA,EAAIR,MAGdsT,EAAW9S,EAAIR,YAGf,GADAsT,EAAW,IACP9S,EAAIS,KAAM,CACZ,IAKE,IALE+W,EAAclV,KAAKC,MAAMvC,EAAIS,MACjC,GACE+W,GACAA,EAAYmgC,UACZngC,EAAYmgC,SAASvqD,OAAS,EAE9B,GAA4D,OAA7C,OAAXoqB,QAAW,IAAXA,GAAA,UAAAA,EAAamgC,SAAS,UAAtB,mBAA0B9tC,qBAA1B,eAAyCqsB,MAAM,EAAG,IAAY,CAChEjuB,GAAY0Q,OAASnB,EAAYmgC,SAAS,GAAGz+B,OAC7CjR,GAAY6oC,UAAY,kBAIxB,IAAMiH,EAASz1C,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAE5CgvC,EACJlvC,OAAOqO,eAAenO,QAAQ,ezHmCjB,KyHlCfN,GAAY8oC,sBAAwB,KAEpC,IAAMiH,EAAgB,CACpBxpC,WAAYgJ,EAAYmgC,SAAS,GAAGM,WACpCpnC,cAAc,EACd5jB,KAAMi8C,EAAOj8C,KACbyY,MAAOwjC,EAAOxjC,MACdgJ,UAAWw6B,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBS,MAAO65B,EAAOt/B,OACdoF,YAA4B,QAAfuoC,EAAuB,IAAM,KAI1ChoC,YAAawoC,EAAOxoC,aAAe,GACnCE,aAAcsoC,EAAOtoC,cAAgB,GACrCwB,WAAY8mC,EAAO1nC,YAAc,GACjCV,YAAaooC,EAAOpoC,aAAe,GACnCE,aAAckoC,EAAOloC,cAAgB,GACrCE,WAAYgoC,EAAOhoC,YAAc,GACjCE,WAAY8nC,EAAO9nC,YAAc,GACjCE,cAAe4nC,EAAO5nC,eAAiB,GACvCE,WAAY0nC,EAAO1nC,YAAc,GACjCc,cAAe4mC,EAAOtoC,cAAgB,GACtCc,SAAUwnC,EAAOxnC,UAAY,IAE/BtI,GAAY8oC,sBAAwBiH,EAGpC3vC,OAAOC,aAAaugC,WAAW,2BAE/BhrB,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,kBACzCiqG,GAAc,QAEdtjG,SAGFA,KAMR,SAASA,IACP,IAAMo6C,EAASz1C,KAAKC,MAClB8F,OAAOqO,eAAenO,QAAQ,gBAAkB,MAE5CgvC,EACJlvC,OAAOqO,eAAenO,QAAQ,ezHdT,KyHevBN,GAAY8oC,sBAAwB,KAEpC,IAAIpzC,EAAa,CACf6Q,WzHnBoB,IyHoBpBqC,cAAc,EACd5jB,KAAMi8C,EAAOj8C,KACbyY,MAAOwjC,EAAOxjC,MACdgJ,UAAWw6B,EAAOzP,UAClB7qB,SAAUs6B,EAAOt6B,SACjBS,MAAO65B,EAAOt/B,OACdoF,YAA4B,QAAfuoC,EAAuB,IAAM,KAI1ChoC,YAAawoC,EAAOxoC,aAAe,GACnCE,aAAcsoC,EAAOtoC,cAAgB,GACrCwB,WAAY8mC,EAAO1nC,YAAc,GACjCV,YAAaooC,EAAOpoC,aAAe,GACnCE,aAAckoC,EAAOloC,cAAgB,GACrCE,WAAYgoC,EAAOhoC,YAAc,GACjCE,WAAY8nC,EAAO9nC,YAAc,GACjCE,cAAe4nC,EAAO5nC,eAAiB,GACvCE,WAAY0nC,EAAO1nC,YAAc,GACjCc,cAAe4mC,EAAOtoC,cAAgB,GACtCc,SAAUwnC,EAAOxnC,UAAY,IAG/BpB,IAAkB,SAACnP,GAAD,OAGpB,SAAqBA,EAAUsO,GAC7B,GAAKtO,EAKH,GAAIA,GAAOA,EAAIS,KAAM,CAEnB,IAAMA,EAAO,CACXqf,UACEzB,GAAgBC,aAAaC,oBAAoBE,iBACnD0W,mBAAoB,GACpB9kB,aACAJ,aACAR,gBAEFmQ,GAA2Bnf,GAG3B,IAAI+W,EAAclV,KAAKC,MAAMvC,EAAIS,MAC7B+W,GAAeA,EAAY0B,QAC7BjR,GAAY0Q,OAASnB,EAAY0B,OACjCjR,GAAY8oC,sBAAwBziC,EACpCwE,EAAW,IACXzK,OAAOC,aAAaugC,WAAW,2BAC/BhrB,GAAW,CAAEG,OAAQ,YAAahnB,MAAO,kBACzCiqG,GAAc,IAEdnuF,EAAW,wBAGbA,EAAW,uCACXA,EAAWzY,SA5BbyY,EAAW9S,EAAIR,OAPeo5C,CAAY54C,EAAKrC,KAAaA,GAwChE,OACE,yBAAKvU,UAAU,8BACZc,GAAc,kBAAC,IAAD,CAAUm3G,GAAE,UAAK91G,OAC9B21G,IAAiB1rF,GAAW,kBAAC,GAAD,CAAQje,KAAM,IAAKD,MAAM,SACtD4pG,GACC,yBAAK93G,UAAU,cACb,kBAAC,GAAD,KACE,0EAKLosB,GACC,yBAAKpsB,UAAU,cACb,kBAAC,GAAD,KACE,sEACA,wEAA8CosB,EAA9C,UCnWG8rF,GANQ,kBACnB,kBAAC,IAAD,CAAO3mD,KAAK,aAAaw4B,OAAK,GAC1B,kBAAC,GAAD,QC03BOouB,GA51BA,WACb,IAiCIr7C,EAEAs7C,EAnCEnS,EAAcjxE,KACdrtB,EAAKs+F,EAAYlmF,IAAI,MAAQkmF,EAAYlmF,IAAI,MAAQ,GAFxC,EAGa7T,oBAAS,GAHtB,mBAGZmsG,EAHY,KAGFC,EAHE,OAIahzG,IAAM4G,SAAN,eAC3B6yB,KALc,mBAIZ4gC,EAJY,KAIFC,EAJE,OAOiBt6D,IAAM4G,UAAkB,GAPzC,mBAOZm2D,EAPY,KAOAC,EAPA,OAQeh9D,IAAM4G,UAAkB,GARvC,mBAQZuC,EARY,KAQDge,EARC,OASWnnB,IAAM4G,SAA0B,IAT3C,mBASZkgB,EATY,KASH1C,EATG,OAUyBxd,oBAAS,GAVlC,mBAUZo6F,EAVY,KAUIC,EAVJ,OAWWr6F,qBAXX,mBAWZqsG,EAXY,KAWHC,EAXG,OAYGtsG,mBAAc,IAZjB,mBAYZ4xB,EAZY,KAYP0oE,EAZO,OAaKt6F,mBAAc,IAbnB,mBAaZ8iE,EAbY,KAaNy3B,EAbM,OAcenhG,IAAM4G,SAAe,IAAI6lB,MAdxC,mBAcZ4N,EAdY,KAgBb84E,GAhBa,KAgBF3rF,iBAAyB,OACpC4rF,EAAY5rF,iBAA0B,MAEtC46C,EAAuBlN,KAnBV,EAoBiBl1D,IAAM4G,UAAkB,GApBzC,mBAoBZy7D,GApBY,KAoBAC,GApBA,QAsBjBtiE,IAAM4G,UAAkB,GAtBP,qBAqBZw6F,GArBY,MAqBQ7+B,GArBR,SAwBjB37D,oBAAkB,GAxBD,qBAuBZq9D,GAvBY,MAuBgBC,GAvBhB,SAyBmBt9D,oBAAkB,GAzBrC,qBAyBZu9D,GAzBY,MAyBCC,GAzBD,SA0B+Bx9D,oBAAkB,GA1BjD,qBA0BOy9D,IA1BP,gBA2BiCz9D,oBAAkB,GA3BnD,qBA2BZ09D,GA3BY,MA2BQC,GA3BR,SA4B6B39D,oBAAkB,GA5B/C,qBA4BZ49D,GA5BY,MA4BMC,GA5BN,SA6B+B79D,mBAAc,CAC9D2J,oBAAoB,EACpBC,eAAe,IA/BE,qBA6BZu4D,GA7BY,MA6BOC,GA7BP,SAiCuBhpE,IAAM4G,SAAS,IAjCtC,qBAiCZqiE,GAjCY,MAiCGC,GAjCH,MAqCfmM,GAAiC,GAErC1tE,qBAAU,WACR,GAAItF,EAAI,CACN,IAAM3C,EAAMm5B,KAAKx2B,GACjB0C,QAAQC,IAAI,MAAOtF,GACnBqsB,GAAuB2wD,GAAah9E,MAErC,CAAC2C,IAEJsF,qBAAU,WACR5C,QAAQC,IAAI,qBACPm/D,KACHvgE,YAAW,WACT4zD,EAAkBvM,UAAUyK,YAAYqU,cACtCC,GACAC,IAEF1H,IAAsB,KACrBnnE,IAEHg4G,EAAUjqF,QAASgoC,QAAS,KAI7B,IAEHnxD,IAAM2H,WAAU,WACTw8D,KACH3M,EAAkBvM,UAAUyK,YAAYqU,cACtCC,GACAC,KAEyB,IAAvB3F,KAAoD,IAArBE,IACjCz/D,QAAQC,IAAI,kBACZq/D,IAAqB,GACrBH,IAA+B,GAC/B5B,IAAc,GACdn7C,GAAa,KAEbpiB,QAAQC,IAAI,sBACZq/D,IAAqB,GACrBH,IAA+B,GAC/B5B,IAAc,GACdn7C,GAAa,OAIhB,CAACi7C,EAAQkC,GAAoBE,GAAkBL,KAElDnkE,IAAM2H,WAAU,WAEV6wB,GAAOkxC,IAASvF,IAKlB9rC,IAAe,SAAC/mB,GAAD,OAAcq4D,GAAiBr4D,KAJ1B,CAClBknB,IAAKA,EACLE,IAAKgxC,MAIR,CAAClxC,EAAKkxC,EAAMvF,KAEf,IAAMwF,GAAmB,SAACr4D,IACnBA,GAAOA,EAAIR,OAGdsT,EAAW9S,EAAIR,OACfqW,GAAa,GACb6hD,IAAqB,SAACwX,GACpB,OAAO,2BACFA,GADL,IAEEhwE,eAAe,OAGnB2e,GAAW,CAAEG,OAAQ,gBAAiBhnB,MAAO,sBAEzCgJ,EAAIS,MAAQT,EAAIS,KAAK04D,iBACvBzB,IAAqB,SAACwX,GACpB,OAAO,2BACFA,GADL,IAEEhwE,eAAe,OAGnB4T,EAAW,KACD9S,EAAIS,KAAK04D,kBACnBzB,IAAqB,SAACwX,GACpB,OAAO,2BACFA,GADL,IAEEhwE,eAAe,OAGnB4T,EAAW9S,EAAIS,KAAK24D,UAEtBvjD,GAAa,KAIXkjD,GAAc,WACdjI,EAAOjN,QAA0B,GAAhBiN,EAAOtxD,OAC1B/L,QAAQC,IAAI,YACZk8F,EAAO,GAAD,OAAI9+B,EAAOhN,YAAY58B,MAC7B2oE,EAAQ,GAAD,OAAI/+B,EAAOhN,YAAY18B,QAE1BuyB,WAAaA,UAAUyK,YACzBzK,UAAUyK,YAAYC,mBAAmBN,GAAaoU,GAAe,CACnE7T,mBAAoBx6D,GACpBy6D,WAAYz6D,GACZsvD,QAAStvD,KAGXkf,MAAM,iDAERk9C,EAAkBvM,UAAUyK,YAAYqU,cACtCC,GACAC,MAKN,SAASD,GAAgBj4D,GACvBoV,GAAa,GACbo9C,IAAsB,GAItB28B,EAAOnvF,EAAKwjD,OAAOh9B,UACnB4oE,EAAQpvF,EAAKwjD,OAAO98B,WACpBwyB,UAAUyK,YAAY8U,WAAWhT,GAGnC,SAASyS,GAAcl4D,GACrBoV,GAAa,GACbo9C,IAAsB,GASxB,SAASkF,GAAca,GACrBvlE,QAAQC,IAAR,gBAAqBslE,EAAI/rD,KAAzB,cAAmC+rD,EAAI7U,UACvC2M,EAAOtxD,OAAQ,EACfqW,GAAa,GACbm7C,IAAc,GAIhB,IAAMjN,GAAc,SAACkV,GACnBxlE,QAAQC,IAAIulE,EAAShV,QACrB2rC,EAAO32B,EAAShV,OAAOh9B,UACvB4oE,EAAQ52B,EAAShV,OAAO98B,WACxB2pC,EAAOhN,YAAY58B,IAAM+xC,EAAShV,OAAOh9B,SACzC6pC,EAAOhN,YAAY18B,IAAM6xC,EAAShV,OAAO98B,UACzC2pC,EAAOtxD,OAAQ,EACfwxD,IAAc,GACdC,IAAsB,GACtBp7C,GAAa,GACbpiB,QAAQC,IAAI,kBAAmBo9D,IA+BjC,IAAMwO,GAAsB,SAC1Bt/D,EACA6hB,EACAkgF,GAEA,IAAK/hG,GAAOA,EAAIR,MAEdsT,EAAW9S,EAAIR,OACfqe,GAAW,CACTG,OAAQ,4BACRhnB,MAAO,oBAET6e,GAAa,OACR,CACLgI,GAAW,CACTG,OAAQ,4BACRhnB,MAAO,sBAGT6qB,EAAUa,SAAWq/E,EAAQthG,KAAK++D,KAClCuE,GAAYztD,KAAKuL,GACjB,IAAMqB,EAAcue,GAAmB1Y,EAAW,gBAE5C3G,EAAU,CACd5J,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5DqK,aAAcghD,GACdprD,OAAQ1Q,GAAY0Q,OACpBuK,YAAaA,GAGfL,IAAqB,kBAAMm/E,GAAqBhiG,KAAMoiB,KAIpDgpD,GAAc,SAACprE,IACdA,GAAOA,EAAIR,OAEdsT,EAAW9S,EAAIR,OACfqe,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,oBAET6e,GAAa,KAEbA,GAAa,GACT7V,EAAIS,KACU,MAAZT,EAAIS,OACNwH,GAAY2M,gBAAgBxmB,IAAM4R,EAAIS,KAAKm8C,IAC3C30C,GAAYC,MAAQlI,EAAIS,KAAKoY,MAC7B5Q,GAAYwQ,cAAgBzY,EAAIS,KAAKo8C,cACrC50C,GAAY0Q,OAAS3Y,EAAIS,KAAKyY,OAC9BjR,GAAYyQ,sBAAwB1Y,EAAIS,KAAKwY,sBACxC45C,GAOHh9C,GAAa,IANbkjD,KACAz/C,IACE,SAACtZ,GAAD,OAkBZ,SAA+BA,GAE7B,GADA6V,GAAa,IACR7V,GAAOA,EAAIR,MAGdqe,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,oBAET8b,EAAW9S,EAAIR,WACV,CACL,GAAIQ,EAAIS,KACc6B,KAAKC,MAAMvC,EAAIS,MACnB6tC,mBACd76C,QAAQC,IAAI,mBACZi8F,GAAkB,SAGpB9xE,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,uBAtCWo8C,CAAsBpzC,KACpCiI,GAAYwQ,kBAOlB3F,EAAW,4DACX+C,GAAa,GACbgI,GAAW,CACTG,OAAQ,2BACRhnB,MAAO,yBAgCf,IAmDMirG,GAAa,uCAAG,gCAAA1tG,EAAA,6DACpButG,EAAUjqF,QAASgoC,QAAS,EACtBia,EAAc,CAClBC,OAAO,EACPC,MAAO,CACLC,WAAY,SALI,kBAUMtgB,UAAUugB,aAAaC,aAAaL,GAV1C,UAUZooC,EAVY,SAWZloC,EAAQ6nC,EAAShqF,SAXL,wBAahBmiD,EAAMJ,UAAYsoC,EAbF,UAcVloC,EAAMmoC,OAdI,QAehBP,EAAWM,GAfK,0DAkBlBl5F,MAAM,EAAD,IAlBa,QAoBpB0iD,GAAc,GApBM,0DAAH,qDAuBb02C,GAAS,uCAAG,oCAAA7tG,EAAA,sDAChButG,EAAUjqF,QAASgoC,QAAS,EAExBma,EAAQ6nC,EAAShqF,SACjB6tD,EAASo8B,EAAUjqF,UAETmiD,IAENphE,EAAQohE,EAAM2L,WACdtnB,EAAS2b,EAAM4L,YACrBF,EAAO9sE,MAAQA,EACf8sE,EAAOrnB,OAASA,EACZgkD,EAAM38B,EAAOG,WAAW,MAE5Bg8B,EAAShqF,QAASgoC,QAAS,EACxB,OAAHwiD,QAAG,IAAHA,KAAKv8B,UAAU9L,EAAO,EAAG,EAAGphE,EAAOylD,GAEnCqnB,EAAOK,QAAO,SAAChH,GAAD,OAAUujC,GAAWvjC,MAEnCwjC,MAEFb,GAAY,GArBI,2CAAH,qDAwBTa,GAAa,WACV,OAAPZ,QAAO,IAAPA,KAASa,YAAY/sG,SAAQ,SAACgtG,GAC5BA,EAAM3pC,WAIJwpC,GAAa,SAACvjC,GAClB,IAAMC,EAAW,IAAIC,KAAK,CAACF,GAAmB,qBAAsB,CAClEjuE,KAAM,aACNouE,aAAc/jD,KAAKipB,QAErB,GAAI46B,EAASznE,KAAO,IAElB,OADAyR,MAAM,6DACC,EAET,GAAIg2D,EAASznE,KAAO,IAElB,OADAyR,MAAM,kEACC,EAGT,IAAMm2D,EAAa,IAAItd,WACvBsd,EAAWpd,cAAcid,GACzBG,EAAWrmB,OAAS,SAAUpmD,GAAQ,IAAD,EAC7B+1B,EAAM,UAAI/1B,EAAMhD,QAAUgD,EAAMhD,OAAOwQ,cAAjC,aAAG,EAAuCtK,WACtD4rG,EAAe/4E,EAAQpd,MAAM,KAAK,GAClC09C,EAAStgC,OAAS+4E,EAElB3rF,GAAa,GACbiR,IACE,SAAC9mB,GAAD,OAAc44D,GAAwB54D,KACtCwhG,EACAv5F,GAAY0Q,UAIZigD,GAA0B,SAAC54D,IAC1BA,GAAOA,EAAIR,OAGdsT,EAAW9S,EAAIR,OACfo4D,GAAiB,IACjB/hD,GAAa,GACb6hD,IAAqB,SAACwX,GACpB,OAAO,2BACFA,GADL,IAEEjwE,oBAAoB,OAGxB4e,GAAW,CAAEG,OAAQ,qBAAsBhnB,MAAO,sBAE9CgJ,EAAIS,MAAQT,EAAIS,KAAK8+D,QACvB3H,GAAiB53D,EAAIS,KAAK24D,SAC1B1B,IAAqB,SAACwX,GACpB,OAAO,2BACFA,GADL,IAEEjwE,oBAAoB,OAGxB6T,EAAW,KACD9S,EAAIS,KAAK8+D,SACnB7H,IAAqB,SAACwX,GACpB,OAAO,2BACFA,GADL,IAEEjwE,oBAAoB,OAGxB24D,GAAiB53D,EAAIS,KAAK24D,UAK5BvjD,GAAa,KAoDX6sF,GAAoB,SAAC1iG,EAAU6hB,GACnCkiD,GAAc,IACT/jE,GAAOA,EAAIR,OAEdsT,EAAW9S,EAAIR,OACfqW,GAAa,IAET7V,EAAIS,MAAQT,EAAIS,KAAKuuE,OApW7B,SAA4BvuE,EAAWohB,EAA4B7hB,GACjE,IAAIinB,EAAWC,EACXC,EAAYixC,EACViH,EAAS,CACb7c,OAAQv6C,GAAY0Q,OACpBunB,sBAAuBj4B,GAAYyQ,sBACnC/O,cAAe1B,GAAYwQ,cAC3BiqC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,kCACdE,iBAAkB,IAElBn8B,SAAUA,EACVE,UAAWA,EACXq8B,UAAW,iBACXt0C,OAAQ,UAIVqzC,IACE,SAACziD,GAAD,OAAmBw/D,GAAoBx/D,EAAU+hB,EAAW7hB,KAC5Dq/D,GA6UEsjC,CAAmB,EAAgB9gF,EAAW7hB,IAe9C8S,EAAW9S,EAAIR,OACfqe,GAAW,CACTG,OAAQ,qBACRhnB,MAAO,wBAMTgrG,GAAuB,SAAChiG,IACvBA,GAAOA,EAAIR,OACdsT,EAAW9S,EAAIR,OACfqe,GAAW,CACTG,OAAQ,8BACRhnB,MAAO,oBAET6e,GAAa,GACbkuD,GAAc,IACL/jE,GACT+jE,GAAc,GACd/6D,MACE,kHAGF6U,GAAW,CACTG,OAAQ,8BACRhnB,MAAO,uBAplBM,8CAwlBnB,mBAUW0iE,EAQAC,EAlBX,SAAAplE,EAAA,sDAkBWolE,EAlBX,SAkBuBn6D,GACnB/L,QAAQC,IAAI,eAAgB8L,GAC5BqW,GAAa,GAGbs9C,IAAoB,GACpB1/D,QAAQC,IAAI,0BAdLgmE,EAVX,SAUyB3N,GACrBt4D,QAAQC,IAAI,iBAAkBq4D,GAG9BoH,IAAoB,GACpBt9C,GAAa,IAdfkjD,KAEMe,EAAc,CAClBC,OAAO,EACPC,MAAO,CACLC,WAAY,SAwBhBtgB,UAAUugB,aACPC,aAAaL,GACb3U,MAAK,SAAC+nC,GACLz5F,QAAQC,IAAIw5F,EAAQ,QACpBxzB,EAAcwzB,MAEf3nC,OAAM,SAAC2nC,GACNz5F,QAAQC,IAAIw5F,EAAQ,SACpBvzB,EAAYuzB,MAtClB,4CAxlBmB,sBAyoBnB,OAPAz5F,QAAQC,IACN,YACC+tG,EACD1wC,GACA0G,GAAkBx4D,mBAClBw4D,GAAkBv4D,eAGlB,oCACE,yBAAK9V,UAAU,SACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACZupE,IACC,yBACE39D,MAAO,CACL+vE,eAAgB,SAChBr7E,QAAS,OACTs7E,WAAY,WAGd,kBAAC,GAAD,CAAWpsE,MAAOC,KAAgBC,SAAW,QAAU,SACrD,yBAAK9D,MAAO,CAAE4tG,OAAQ,QAAUx5G,UAAU,qBACxC,mMAMF,yBAAK4L,MAAO,CAAE6tG,UAAW,SACvB,kBAAC,GAAD,CACE9qG,QAAQ,KACR5G,QAAS,YAjqBV,oCAkqBGsoE,KAHJ,YAgBd,8BAAUxoE,SAAU4G,GAClB,yBAAKzO,UAAS,qBAAgBsmG,EAAiB,WAAa,KAI1D,2BAAOtmG,UAAU,WAAjB,kBACA,6BACA,2BAAOA,UAAU,mBAAjB,4DAGA,yBAAKA,UAAU,YACZypE,GACC,oCACE,kBAAC,GAAD,CACEjrD,SAAU,SAACnH,IAvXG,SAACA,GAC7B,GAAIA,GAAQA,EAAKhB,OACfszD,IAAqB,QAChB,GAAqB,KAAjBtyD,EAAKslD,UAAmBtlD,EAAKwkE,UAAYxkE,EAAKykE,UAAW,CAEjD,IAAIjG,KACnB,CAACkG,MACD,qBACA,CACEr0E,KAAM,aACNouE,aAAc/jD,KAAKipB,QAIvBs9D,GAAY,GAEZ,IAAIj5E,EAAM,OAAGhoB,QAAH,IAAGA,OAAH,EAAGA,EAAM2kE,cACnBo8B,EAAe/4E,EACfugC,GAAY,SAACkmB,GACX,OAAO,2BACFA,GADL,IAEEzmD,OAAQ+4E,EACRh5E,OAAO,2BAAD,OAA6BC,SAI/B,OAAJhoB,QAAI,IAAJA,OAAA,EAAAA,EAAMwS,UAA0C,UAA3B,OAAJxS,QAAI,IAAJA,OAAA,EAAAA,EAAMwS,QAAQjhB,gBACjC0lE,GAAqB,2BAChBD,IADe,IAElBv4D,eAAe,EACfD,oBAAoB,KAGtB2wF,EAAOnvF,EAAKwkE,UACZ4qB,EAAQpvF,EAAKykE,aAEbxN,GAAqB,2BAChBD,IADe,IAElBv4D,eAAe,KAGjB4T,EACE0C,GAEI,4FA4UM6vD,CAAsB5kE,IAExB6kD,kBAAmBwN,KAEpB/J,EAAStgC,QACR,6BAASr/B,UAAU,cACjB,yBAAKC,IAAK0/D,EAASvgC,OAAQj/B,IAAI,iBAKrC,oCACE,2BACEH,UAAU,WACV2H,GAAG,gBACHgnB,IAAK8pF,EACLv8B,UAAQ,EACRC,aAAW,KAEXk8B,GAAY,yBAAKr4G,UAAU,kBAC3Bq4G,GAAY,yBAAKr4G,UAAU,kBAC3BupE,IACA,6BACG,IACClH,EASEg2C,EACF,yBAAKr4G,UAAU,aACb,0BACEA,UAAU,mBACV+H,QAAS,WACP0wG,EAAShqF,QAASgoC,QAAS,EAC3B6hD,GAAY,GACZO,SAKN,yBAAK74G,UAAU,aACb,0BACEA,UAAU,mBACV+H,QAASixG,MAvBb,yBAAKh5G,UAAU,aACb,0BACE+H,QAAS8wG,GACTjtG,MAAO,CAAEsC,MAAO,UAFlB,WAyBD,KAGP,4BAAQygB,IAAK+pF,EAAW/wG,GAAG,UAAU3H,UAAU,gBAKpD2nE,KAAe++B,GACd,oCACE,yBAAK1mG,UAAU,eACb,2BACG,IADH,2EAOF,KAEH2nE,IAAc++B,GACb,oCACE,yBAAK1mG,UAAU,eACb,2BACG,IADH,gEAEgE,OAIlE,KAEHosB,GACC,yBAAKpsB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZosB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAMfu7C,IAAc++B,GACb,oCACE,yBAAK1mG,UAAU,eACb,2BACG,IADH,gEAEgE,OAIlE,KAIc,IAAjBuuE,IACC,yBAAKvuE,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQuuE,MAuBd,yBAAKvuE,UAAU,OACb,kBAAC,GAAD,CACE+H,QAvVS,WAGnB,GAFAsC,QAAQC,IAAI,MAAOwzB,GACnBzzB,QAAQC,IAAI,OAAQ0kE,GACR,KAARlxC,QAAsBx6B,IAARw6B,GAA8B,KAATkxC,QAAwB1rE,IAAT0rE,EACpD,GAAwB,KAApBrP,EAAStgC,aAAqC/7B,IAApBq8D,EAAStgC,OAAsB,CAAC,IAAD,IAC3DsgC,EAASh4D,GAAK,QACdg4D,EAAS3gC,SAAU,EACnB2gC,EAAS1gC,UAAY,IACrB0gC,EAASrmC,SAAT,UAAuBza,GAAYwQ,cAAnC,UACAswC,EAASxgC,UAAW,EACpBwgC,EAASzgC,cAAe,EACxBygC,EAASnjC,SAAW,aACpBmjC,EAASrjC,WAAa,EACtBsjC,EAAYD,GACZ,IAAMib,EAAgC,CACpCh+C,mBAAkB,UAAE+iC,EAAS/iC,0BAAX,aAAE,EAA6BpwB,WACjD8vB,WAAU,UAAEqjC,EAASrjC,kBAAX,aAAE,EAAqB9vB,WACjC8sB,SACEqmC,EAASrmC,UACc,oBAAtBqmC,EAASnjC,SAAiC,OAAS,QACtDQ,eAAe,EACfR,SAAUmjC,EAASnjC,UAAY,IAC/BhN,MAAO3Q,GAAY2M,gBAAgBxmB,IACnC03B,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAGXk8E,EAAiB,CACrBn5F,cAAe1B,GAAYwQ,cAC3BuJ,eAAgB+mC,EAAStgC,OACzBlQ,SACEwwC,EAASrmC,UACc,oBAAtBqmC,EAASnjC,SAAiC,OAAS,SAGxDhE,IACE,SAAC5hB,GAAD,OAAc0iG,GAAkB1iG,EAAKgkE,KACrC8+B,QAGFhwF,EAAW,uCAGb8/C,IAA+B,IA4SvB76D,QAAQ,SACRF,UAAWA,EACX5G,UACGwwG,GACD1wC,IACA0G,GAAkBx4D,oBAClBw4D,GAAkBv4D,cAEpBpO,KAAK,gBC51BJiyG,I,OAjBuC,SAACt0G,GACnDgoB,KACkB5d,KAAgBM,UAClB6c,cAEhB,OACI,yBAAK5sB,UAAU,cACX,yBAAKA,UAAU,UACX,yBAAKA,UAAU,YAAYC,IAAKwxD,KAAWtxD,IAAI,YAEnD,yBAAKH,UAAU,WACX,yBAAKA,UAAW,kBAAmBqF,EAAM0I,cCmB1C6rG,GA/BG,kBACd,kBAAC,IAAD,KACI,kBAAC,IAAD,CACIroD,KAAMpvD,GACN4nF,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACJ,kBAAC,GAAD,CAAYkkF,aAAa,GACzB,kBAAC,GAAD,KACI,kBAAC,GAAmBlkF,EAChB,kBAAC,GAAD,YAMhB,kBAAC,IAAD,CACIksD,KAAM,WACNw4B,OAAK,EACLC,OAAQ,SAAC3kF,GAAD,OACJ,kBAAC,GAAD,CAAYkkF,aAAa,GACzB,kBAAC,GAAD,KACI,kBAAC,GAAmBlkF,EAChB,kBAAC,GAAD,c,UCVlBw0G,GAAmBC,EAAQ,KAAoCC,QAuHtDC,OArGf,WAAgB,IAAD,EACyB10G,IAAM4G,UAAkB,GADjD,mBACO+tG,GADP,WA+Bb,SAASC,EAAYtjG,GACfA,EAAIS,MAAQT,EAAIS,KAAKrT,OAAS,IAChC6a,GAAYkF,eAAiBnN,EAAIS,MAoCrC,OAnEApK,qBAAU,WClCVqR,GACE,CACEkB,IAAK,4BACL5P,KAAM,CACJ4G,UAAW,KACX+G,UAAW,IACX6J,SAAU,IACVa,KAAM,IACNkyF,WAAY,MAEdz7F,OAAQ,OACRY,WAAYtP,GAAOE,aACnBE,UAAWJ,GAAOI,UAClBuG,YAAazF,GAAamE,WDsBf6kG,GACZj7F,OAAewX,UAAU2jF,QAAQltF,KAAK,CAAEvlB,GAAIqI,GAAOa,cACnDoO,OAAewX,UAAU4jF,QAAQntF,KAAK,CAAEotF,QAAQ,IAChDr7F,OAAewX,UAAU4jF,QAAQntF,KAAK,CAAEqtF,OAAO,IAChD,WACE,IAAIC,EAAO7qG,SAAS2sD,cAAc,UAClCk+C,EAAK9yG,KAAO,kBACZ8yG,EAAKj+C,OAAQ,EAEbi+C,EAAKv6G,KACF,UAAY0P,SAASkQ,SAAS46F,SAC3B,wCACA,+BAAiC,uBACvC,IAAIC,EAAI/qG,SAASgrG,qBAAqB,UAAU,GAC/CD,EAAUE,WAAWC,aAAaL,EAAME,GAV3C,GAaCz7F,OAAewX,UAAUqkF,cAAc5tF,KAAK,CAC3C6tF,UAAW,gDACXC,SACE,yFACFC,aAAc,cACdC,iBAAkB,YAClBC,cAAe,UACfC,sBAAuB,OACvBC,kBAAmB,wBAEpB,IAMHpuG,qBAAU,WACR5C,QAAQC,IAAI2U,OAAOY,SAASC,KAAM,WAAYb,OAAOY,SAASmzC,UAEhC,cAA5B/zC,OAAOY,SAASmzC,UACY,QAA5B/zC,OAAOY,SAASmzC,UAEhB3oD,QAAQC,IAAI,4BACZ2vG,GAAe,IAEfA,GAAe,KAEhB,CAACh7F,OAAOY,SAASC,OAEpB7S,qBAAU,WAAO,IAAD,IACRovD,EAAS1sD,SAAS2sD,cAAc,UActC,OAbAD,EAAO30D,KAAO,kBACd20D,EAAOE,OAAQ,EACfF,EAAOp8D,IACL,2EACF0P,SAASgrG,qBAAqB,QAAQ,GAAGl+C,YAAYJ,GAErDp9C,OAAOq8F,SAAW,CAChBC,IAAK,iBACLC,KAAM,0BACNC,QAAS,IAEX,UAAAx8F,OAAOy8F,uBAAP,mBAAwBC,cAAxB,gBAAiC18F,OAAOq8F,UAEjC,WACL3rG,SAASgrG,qBAAqB,QAAQ,GAAGj+C,YAAYL,MAEtD,IAGD,kBAAC,KAAD,CACEu/C,eAAgB,SAChBC,WAtFA,EAuFAC,eAAe,EAEfC,kBAAmB,KAEnB,kBAAC,IAAM56D,SAAP,KAGE,kBAAC,IAAD,CAAe66D,SAAUC,IACvB,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,OAEF,4BAAQj8G,UAAU,WAEfyP,KAAgBC,SACf,GAEA,kBAACmqG,GAAD,CAAkB3gF,MAAM,yCExHhBgjF,QACa,cAA7Bj9F,OAAOY,SAASs8F,UAEa,UAA7Bl9F,OAAOY,SAASs8F,UAEhBl9F,OAAOY,SAASs8F,SAAS7qD,MACrB,2DCZR8qD,IAASpyB,OAAO,kBAAC,GAAD,MAASr6E,SAASyS,eAAe,SDqIzC,kBAAmBmuC,WACnBA,UAAU8rD,cAAcC,MACnBvgD,MAAK,SAAA7mC,GACFA,EAAaqnF,gBAEhBpgD,OAAM,SAAA/lD,GACH/L,QAAQ+L,MAAMA,EAAM2kD,e","file":"static/js/main.c4a87407.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAADqADAAQAAAABAAAADgAAAACeOBvAAAABwUlEQVQoFW1SS04DMQy10wwrkOgJSEW7QHw03ABOwHACyqIVO8oJgBvADlEkygkoJ2g5QQcKYkGltjcAlRWTGWOnRIoQI2Xi+Pk5fnYQgs+M68vRV3TArjoAxg4imBBA10bqcrJ2NXE+/ilv1F4bsZ5FYw7aB4JLULSdaVUpAE4QoBzZYlx7btR9PPsAhEQ59Phw8r7V7ngw3Ocx2EeglsQ4YnXYmADixWjj+sK8HRkhhGX5BEKGAgdSiVp9biYCOBJr1Fk+0Da/9cHh/r7eTlnGXcnmLcUiExEvAfpLx4i4DITbISG0WXNXEe7xIqMIUgFHmzd9Appy/S5RSPB2HqkUEIziqz8I0XgAFSQMHNSGjWPxiWavW87aWiO74qakSOAO4pjroEMiPOem9SKb38soqi/NluBIaLiqR2W16sgNYVZpNw885qApJ6gQwSci9YVICHW+qCM21IbNNByuc/7zqw6bZxIrkJabKCuMXcq6MhoR/3eG8hT1bOGU+3EIJdpxRJ0XCRdA8txYwCfrWWFtfVbDSzSRoZk0jJ6sLsU+KXeVEq77DkuwO9psm2zxu8wNe3AcoDJ3fPqL7XiSJPwBFBfR12WnXcEAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAEKADAAQAAAABAAAAEAAAAAAXnVPIAAABVklEQVQ4EZVTO07EMBCdmTgLCT8hKGgQiIYCDsEpKJDYjgMA9+ASSDR7CSoaOiSQaBBIFEgUFMsmECc2ngnJOlGIFjeeN/Oef/OM0B4HVsHOYwT54gBIh1I2oQb1mcHTbgrXmPsS9AEcvy3EYbbSyHkgMYWBIhrD5cakSk8XOHpZjecxqgp9c/JlU7ja+mAOCZF3nlHMfOE6DccE7s59x2ZS5wjSJdaSPFgno0xmxu5pCxdtSkyBaEleu1318IDw3sH9rkVYq8pWBbVEgzl3N7N1ggPEG0R7og1AiHBW11ybVQ0agZl2h/MYlBihmecSDF/XYmXmGnoPJEYth5SPXOrBuerUK0GS0zeJw/xsK1agN7vEQnPuRG4FbD+vy6u2xH1QXDm5fSfxNtvzv4M1o8OidKLztthzxkWE+/sfmq/K9nQO++s6/Z+p2r3vO4/vEj52ReX5B+JRgJ114/E8AAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/regBanner.61a6dd18.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/Nuvama_Identity_RGB_Positive.607aa283.jpg\";","module.exports = __webpack_public_path__ + \"static/media/down.2aac3b08.svg\";","module.exports = __webpack_public_path__ + \"static/media/welcomeBack.8bddb114.jpg\";","module.exports = __webpack_public_path__ + \"static/media/panDob.fcc992bf.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignBanner.c4fc6e58.jpeg\";","module.exports = \"data:image/jpeg;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/profileNavLogo.cf97a14b.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/bankNavLogo.52eb2245.svg\";","module.exports = __webpack_public_path__ + \"static/media/planNavLogo.cacd620d.svg\";","module.exports = __webpack_public_path__ + \"static/media/docNavLogo.b00ac10a.svg\";","module.exports = __webpack_public_path__ + \"static/media/ipvNavLogo.0b65b81f.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignNavLogo.05970391.svg\";","module.exports = __webpack_public_path__ + \"static/media/investNavLogo.20822dfc.svg\";","module.exports = __webpack_public_path__ + \"static/media/profileNavLogoNew.a8dfe8cd.svg\";","module.exports = __webpack_public_path__ + \"static/media/bankNavLogoNew.19c9cbc7.svg\";","module.exports = __webpack_public_path__ + \"static/media/planNavLogoNew.d1e6b813.svg\";","module.exports = __webpack_public_path__ + \"static/media/docNavLogoNew.411b01a2.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignNavLogoNew.9ad5feaf.svg\";","module.exports = __webpack_public_path__ + \"static/media/investNavLogoNew.0ab4b981.svg\";","module.exports = __webpack_public_path__ + \"static/media/shareAdd.41922d4e.jpg\";","module.exports = __webpack_public_path__ + \"static/media/useDiffPan.e2a63c5a.svg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAB9BAMAAAB9rnEWAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTABi4gBe4wBW3QBd4gNg5QVi4gVi4ABg7AVi4wNj4gRi4QZj4iSe96YAAAAMdFJOUwAaFQcPQdnyKLhdiR8NsdMAAAPjSURBVFjDtVm9bhNBEHZ8foCsnQuOnSJn0gSaBOUBcoQXcAFIKE0KJARuKCxRpElBEIgmBRIhbq4AQeQmDRJSGgoc7NxDcbs+/+zOzu6cJ2yTs5Rvv9nZmW93Z0oldASPWq1ItFqb+6UFxm4kZmNzm4MuPEPwUIBR3V+cvJgJDwQyqtssOG0CB5wyQUU4xwoP7psgiHx4cdeFj4V/7OHwMgEuqrj1gjRqHOsdK6gQ4dgeUOkRA8pkuN2FER0vNlj0VgOK0Fs8UCkEh1sQF8ObBgQF4WYQ7hTFi22G98AWVgrDdQ8WN19fQLQAfoNlvrYAr/kfzjqD8za6AJ/571M5rhMkhAISPE0HiT2EPKkXdnJ8emNPQs/yn6bTcWp1gHv54dEMf2PbwYBMn6aJxQFlAv2rrxc9+ffQ4oAdP/3LaisK5QQjiwNiL/3gWLJtyS9LBPjpX4y/pQFt4MCARp8ZcJB9XwIHVqj0Ys2MAJVCS0R6IRoggnzu1+gV/jfYgJhKL0KA33NHr06v+A9BBOPwekejF/fB+ped27em04tVgK+5tq/a1+nV78TUQEf2dHR6tZxjU0Lw7W/o9OIk+z00/seFl8v/Y9D/BXg8fFb1cD+BAiYDCA+fAy3dzM2cBBCGfyv6Kt1/DJMZfVdQ8U/S533prmauOYr+uk3FZ5F/rfjv5Cg7fYaP0Mi/kviP4xhA6LMEiNDEU3K1PlZ9hB7Dq8RTctWUvMcYfYZH6Ycyft4oZILRZwmI531Tbfg7GTU9hN6Oz2WnfjRZQBejz/ARLjtXUq+kaA0xeqv/pqp3ohImc8ANRm/FT1VPTvRanjqjI4Tehp8T3b7UG4nPohm7xMUO0W30vigVGonH6DU89ohuqJzQIuNN0W0C0dfxhv6oQ3ZedMGha+iPqV89i+gmKB7oZ90iugPhwJehaI8M+pHrHWecP1u6yFpFVzt/Auj+S4/o6hcYKPqJTt/Fl78Mzv/1+TMOlZ358z8G+IRKr+4fO6j9Xnp1/1kC/jul0gt4/2vODl0//Qq8f4azQ95PX7PcfzuTBfjp8weEtgF1eckZStQ3L31+/4YbkA4vnv1MvfT5/b8MEmg6upQqiJEBVzO4h75me3+pZwaJfvqC1h1QnRowaNNe8IaE3Ju8Nz8Ti0DmFbgxnuATuYRinkHhr97g7HuVXEBYpHwx//7n1h+49Q92/YVb/+HWn5yPSFy6bq/+xq3/seuP3Ponu/7Krf+y68/c+je7/s6t/7P7D+7ekdt5t9J/oayg9j/7T14X+BtozP4bu//H7j+WSruI68gt2MAWB4W6yLz+L7//TO5//wNy0aDQhlJxvgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA+CAYAAAB+39gDAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAOKADAAQAAAABAAAAPgAAAACh37/JAAAJmElEQVRoBe2ba2wc1RXHz8w+7Di2sR1TskmcuI9AiDF2rQIpAdUoVYtSUPKBDy2PygmoCEilqkKV+qGyIyVUQmpKC4hUTUgKrUo/0dKKllStEkjUolARCCGQ9OFHit3it53E3vXO9P8/d2f92LW9Xs84TpUbzczde8/ce373nPscR+RKuNICi7oFrNm0C2/r+IJlO/WWa5fNJjs133GQYuNypFBsZ2DMKd0rB8oGRGu13KnyQfzOChh6sH2rLW6zJVZ9vpW6UN9SBktIwopc1z2ZsMoaW6pK+5ubxbUWAHQyYFNfWTQ0dAC6bPXAbv1MgdywKiJXLZks6uVneyocMjywg0fPy8fDNCchndOFYxW333lXSX/N++K2tFAsOGumtY40nau37OTLaPbqkkJLnrinXL62oUiVyufmQG2C8tr1yoA886ehdDFIO1Pglt/2uTXFfY1w4CAh2UM0WCHnIOFosSPfXZ43nAdFuzCehOGiIdOO224vlnWxCKqRa0ftvqOnu4YrULkNQAi4Riilj18PBYxub2tBgXWrKkLy4sOVsnpZKO/yTb+CuijBASEHGofmRCiFZ7z0aKWBFLm2N9H3xnMBQ9rS1FmNJm2mAs8+sGxOfY3vZAvEMZa0FM41w6aKsi8vJKQdseM6oHyjsVg2ro1m03dOaQSjrxlAPgHJHxPCQkLasJ5OBbWr5g/nMSgkexUSeKU81MvWZwZkvO+tINwVfdCtY421mAr8DJ7RvP6XrexJkJZU9QYAaXuTOec6v4OxZMqU0xQeNGR6mpim/nknE3JlRVjL6ehLZi0vSMjAAdkLV5abaeffvdkBSR0UZKCAHE0tTIzrrjED2Jv/HM1qQS9xKmRPou/UfAeeAABTU4I3isJHS4ssWXuNcdPX3hvxeLI+J0JCucqeRO8H84H0HZAW09UMOGlBG8MYw/0blupz128G9DnTbTKkVT4fSN8BaT9eCqmbBKxjwLi1YaksL7PlHAaa/a8Pz8SneX5B+g5IOmMzWC9lTRu1hBB//EtXqfK7XhmUv/wjviCQ/gOm1KbVzGXppp6Qm64vkq/eVKwSDx/ozg8y3nt2T8dgNQrJaRfiOyChGMzDRR80/VCtaLvy+JdLZXNtkQxhrLn3uW750aHxfaJ5M/M+yV0tq/SC238yV0jfAVU90qUsyDEmhFp4hbEvJOjOLeWyfWOJij4FwNt2d8nzbwxLR47zJFy/MFdIK/pgO8cE6X5mlVboxy29DkXJ3A8mkq4kk5aMjrmSGMNvXkg73joqTx0akL9/jIRUuH7FzMcjAxddOf1RQqWxSxkpsspqG6pKWxtRVbaTATM5eaX79KSb6kiK8njwFIIZceAkEVjPhZtKGEda+H1TdYG88NAn5HfvXJTXz4zI2x0jaeVzUYWWHLEH/ni1lF53aj2q5D96z4QQCKCWDw7WxXmQsMoVxt6QmbCe5sKidOG765fIXXVLdA/5YdeYDMfNkg4zKuQow5grYTRMCKs+unt8zJHHXujlO9WYYe3q98Wp2SlWi9Y2fogVGKBnRWpABcMgodoR9EPTyGxsS12V+QSnO6+Hi8LWamEkjU810JmNEUYjhdFakYiloElsNqPSaX8Ui1krOvnG5BAYoFYDQ3nKE5gtz2AA6b7m4sEUN8VJNjxOAOhplKIbqwyefInewHeZpoFiTInFpK9TrL5Tmq2pRgAN4kWCeFKRlG46enLzq0u3lJY2Bx9aFoCUS8LE1I5xwqVJEGVD8fiU/ZllsK0oq0idnVIei7kAzAipNs1I9y3Ba20yUbHxKYPuxiNFc9F1C6KWROF6ejHOfF5Ii2A/zmcY8vBSLYeALhotviZGD5eaGsPMuBcCtaBXiWdJ8OkBFJdtFhTlwpyjqk0LQthVV1W7qBXVgrQkA9/RiOmL/ME+y558vk2cVkRXaP7k24IAskoP0iIldKbrWICjgpz81S2RR9c0SJRLwanO7I9IS4Ey6kCSIjWM4mppRkKLCqdvgbtouiZEVL9UAuPsV+TlZVyXUwHcEe4aoSvqRbc0VwgNgpkCssaKbIpUEzj8mGNMPD5FsKoFBUyxZYASzkCawcOsXwECMJ33AGqexto6yICDZ650B1qODYYmnGhyrW7BXFRrm3IzSplExulumqbKThHO+El3pjyEzXe6DAkmXFLAqRpNBJ6al/FbuTJSMxIuiYtmaBFgwv89oC8u2o593H17u+WRO4rl3s8vlWfxsfOlNy+oXQowKtasjMijm0rkuuWmOi7LfvCHQTmEEza65Z21hdK0sVgqiv1vb19KjGNXwD1a93lORyJd/Y7+3nzjEmlcVyhHPhiRr+z5j/x30OS3vDwgT746KGuWhXGMUSg/xqb3yd8P6rt+33yx4HRK0Wo8bmhYE5Gv/7RHjp4dkS2fLdLd+6b1hbJvOz/wYq1cFpK/4hBqDGtRzn1+hkABh0YcuYjDs8MfjqorNmCDe6YrISMJV275tDnt7uxPyhcBy2tOo2iOrRAoYP33zAaNfevbOGyqxqfxt9vMZtb7bn/rri4cQJn5+XjLcvlkpb8q5V3a8X/FZXjUkTvQxxLogww8kpgYfvlIpVxdYsuNVVFdqTBv/cqouiFd8rFNIn/bGZO9fx6WPa8tsj54DP1p928HZd+2ZXIYgwhDQ/Xkr8Q3f6og45t/AZr07roiefXdC7IbB8A3w1XfwuFTUCFvC963oVje7UjIjp/36gL4O5tL5RYA5RKefqBc7F8IBpsh+eEhfF7DIPPEPWU6quby/lxk5n1syAEjirmOi+W5Bs6HF+KuFBfk8TIqq9xxTquM7189bQF5W9CDKcQuO9/ARskXLtc6pwwLub52+chdAbx8bJVdUxubxneY9d45c96fXWzxpR47a74vQv8jM2mHv3SSExQ4eZkBtvekPthY0jozoOsqIBfCl1NI65vSfzrd7YQT/TUzf4X9m2f26YQXSzr1pL4Mnv7T6WbLwVgrTm92UmDHiz3C72+LOVA/6qmBelP/GUJ6lo5sbz+B7UrdxrUF8vT9FfP6o9gZ6ptXVntPUr6JpeGxs6M8UTuSeH5142wFpufBhBPZioO7Nr7c+P0u+cnh2f/UY7bC/cynPtSL+lFP6NuUS/lpC6qw+av7g4hv8V6mRW/AmUpZkc9bba+CGZ5tPQn9bm+gjCA60M8SyZJvycHy/hleTWdNBkwlh/j/JnBgTJdNS17iCOdrx5KW5P7VOijmqk5WwIkvhx/qaLQc/M8XkbKJ6QsRh7X6Xds+Mbav6nC+9f0PZY2uInCtD88AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAANCAYAAABGkiVgAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAFaADAAQAAAABAAAADQAAAAB7Q+x3AAABSklEQVQ4Eb2SYXHCQBBGSRVQBychDooEHDQOaBWAA5BQB40DUgVQBcQBcZC+d7OXCQzT/us382Z3v9272zAsFg80jmOCDRzhCkXmR7CXHhzNVjVvMLik3kMT/jfxDH3U9mt4ibolvldV1Ud9G7iwBjcZ4ABuK59wAXvmzunvwFn95vY2Ksw1qDO4id5KA3nwIzBX65hJ5J5RjV4WhQ1fs7mc+T21l8y9Zcxdy5wRrwOVFyqGh1MZNHcC7YpXIl6TO3zJzPOxHk56T9EYiUPkhmm7mfdX6vbPeYjba3DT/Eo5Gd6FOD1gDidwfu631Kou5/0Jyid5INkgrkD5e+9hCxdQTcz4yFEDZU9/EuYa3MBLtuCBGloo6kh8zN4GnB2gmS4iuf/zJ7wdvILqgsEC+cl+4iryL+Ibf/4z8XfxcoIDuNm99Ox5+f/pB5K7y6X19cWVAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAFKADAAQAAAABAAAAFAAAAACRFdLHAAAAvUlEQVQ4Ec2S3Q2DMAyEScUA3aDdoGzQbFJW6AZ0MhgBNugI3SD9LPIQTCQS8pKTDsV/Fwe7aRSccxYKBhVKMi9JWRlJ9Qu2/CvLi1zwqoc/34g9A3/suBhjfpsARSWwGzGMFn60M8G25Bx1v8rQbgdH2K+e/ZfYAAVWR2NTvpIkiXeYjZhgtkhYUL+gTPkMJl/01cVGO/zkRvyTp07Js0VQ9uEsYh3K2nQHbfTEX/ANZ1gGus9a7KLb6t/DP4hsv+DGLuV7AAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/Adhaar_Sample.677a39b8.png\";","module.exports = __webpack_public_path__ + \"static/media/DLSample.2d997793.jpg\";","module.exports = __webpack_public_path__ + \"static/media/passportSample.bfdfe82d.jpg\";","module.exports = __webpack_public_path__ + \"static/media/VoterID_Sample.ca359d81.jpg\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANBAMAAACAxflPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAnUExURUdwTP///////////////////////////////////////////////w2imYoAAAAMdFJOUwDwMLBFEGDAIOCfcB6LEt4AAABLSURBVAjXY2ASYwCDxjMNYLrmjAGYljkjAKZtziiAaZ8zG8A08xkhMM0qc9C1CqRF8cyZMyAzmGTOnDkIkgk/c+YYWInzSYhWEAAAq0ETOxvqAREAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/profileBanner.6524e1f2.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/micr.f86428a1.jpg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAAD4/042AAAJDUlEQVRoBe1ZS2xcVxn+7nPG45mxGzeOmzRJeRQlVUUkChIJaRFPtUIKSAhYoK4KSAiW7FmxQqy6AIkFLBAgRSyaClVsCo3akihSiqBqJZRaspOmSfyI7fE87twX33fu3LFnMjP2NIRgKb9n5t57zn/O/f73OceW/8Jiij1M9h7GbqA/EOB+W/CBBR5Y4C41sOddyPVdC4kqQZqaq7nfpVaSKEGaJLAdB5Zj7XLUf5fNrRYtCL/Fv7yixQkQxil0zb6ZcHp1KkHDGEkQAQQvIiss14btOfy6sOz/nTCuTSfS65KUAhCcyKM2fReIYvMIy7IQBAnq9RDtVgSrw5f1crwmoKSJvq0Q4HjbdY1AlnNvvdTOtSwwVGJHmNSAdzqaXFtaxupSA+1meAf4XIieq6xXW0S08Kee5nvx4ErbEV+YdGIgN760GjMgJENzdYEa9WD5+xCjShcZrtU0vAVr4xLQet+4ZJrQYjbNeY/Ila/bRGtbmc8riI1L8IVyKOPftEsSBgyMD9h5C3ZhGrE9zcD1t2AROGqXKe1iN5ZMJwWg9Ft82+4Ol65iPaxiI5za1jreLXOQ/J9Q+ZEgMe/1mAuh6SzbQRp3AiKNEbdWyL8Cq1BBAh9O4zLixuLgN6cUoI+q3jp+c+oH+Mon/w6nCLx27RR++MrPsbB2uI9z50diVv5RdskEEXDempTaHS6GfmJb0q7BjRaHg9cYCtxPvz35fQPenrRx+4aPp6oX8etv/KSfbVfPbu7nAj6oBihTjvR5I/6u3mWYnjv4Fzx95AK8KQvzb5Y4eYLmpodTX7i4+0m2ccprDHBZICcpXM9brqSWIaQJRpDvZLUiZ/n20bMozgCrCx6KcwFcupDNTBE2hyeGfOygK8dmBSzHL9BKrT0CWcMnT1k/RpHFGCh6Wzyfm70AdxK4fdU3Ga5dc1kPU7zX+PioaYb22VGf32xpfZsVRqRN5q+hk6vDo3ZlJBVGUdXbIGBWbTYmIa9OimIlwd+unsoYxvztvl3At4PXPFltYMcIC2AHCwRRBF+VmYBzS6S0cLEQIV1jtbYi7Dsa4MULL4wJPWM3AuTg86sCW+D1UpOlpMIhlLvekG5W7sisqwpM2Jrm7OK34LgJpg+FBnx1LsQbm1/+UClU77RNlungExh9c+Bi0PrIGmGBdESfxtus3ZoziFKzxvrZOz/FL1/7LuKZIg6dDPBm/EV876VfiPVDkSutSPP9lAHPltq0RX9393nQ2G4nb5IkRoEu1KYAWrK00km89e6XMH2liFfqJ/Hn+tNopBPbh4x1b0JLLiMygWU0rszENRLbjQt1FnWDZpbxBsjfZdXUAn/YX8V3Js7h+fJLmHNZyUnfrLyKelLEuc1n8Pvaszjf/BRbO+5gOHb+sR7+8TUThgKhoVr7iHILUHnYuLmIYONm1nHHLwdsvH5Ha95w+thx/OjQBXytdB4eA3YULYZz+GPtq/jdxnNYiA6OYu32dQVQ0ErrIoF3qfU8xTaWryFYv9Ed1HOjlFJ7o6dJD7PeJl588jLOHM60fQfDiIZ/rO7Hr5a/jj/Yz4/gyrpcgZXSMy/KgMcURJZgl2m3uZgbSkOCeMYLcMKfx4Xr+1EpT+J4ZYUuOiKWCOCtpRmsLW/iQPIuZp2nWDyGvtV0aP/iSusSQpuXPH0qM0kg7hB5Yz6jZxrQGySZ0I84S1xiL+FKs4i0UMVHy3V43K3lFHOV+/atClort1FO/40DnQ4fXL4PISWekp95C7MzkbLFWIK3jDdTeNo0Abe+rKAsQiMqsXmHRbB9q84g3QIpngJazKUtXCeutjuFuYkA8ytlFrMNeCD4PrA+uDXtIwGf4LJEu1QpWG7OxJOB1/pHuzO5jXK2qqdIGcTZaV8rAfpJEw0hP1rHpeUDcNc+IPj2QC6j2E6PAU6NV4q2Aa9sKZKb28rNypKSSFpXxRRJiLx6xknWZjoG/FiDBBjAt70p3MnBySycWn5UCVzKzVEo4UjxIltukmk/C1oJId9Xv7abZqPfYTYjBv0M2TIOYt1tm9xjasLuKjQHnwPPLWT2xArkAjkEXALp2fiZzELyK/sokY2wtoSwscH7XhiyQK/DWPDKh3qZxnwyxz3b3pN7pGmiQnWVJUykyY2EYIJ+ZtyJwGUyhkXHOjbcKQrBb9IO0Kwts7AtIYmyQNOeWWRZHgqVR+Fzx1KaaJi2YT8uRhe1kp3FRm78XADzns6kskY3VfCUEPUgRZVmU+DKlfJA3j7I8QsozxxC5eGDaG+uo7lOQdIqisWH4Ptlru+L5lAr2QGgbw0O3lxgZS2lyjblNNveTgmRILkwskJXAA2Ux6w1EkZ7tn6X9GKWOVUbjFk1iApXYE9OPcTNyDSt9TjHckxYQ9Rk5Q3WuAa9Mw3qHTntlNjEN0m/zmpT5rXC12+RHgHyyWstap89ygByKSMpQWfLbB270Mf5rNpRUPCQFOyJX8VkpUq+FKXwJhpRCSUMdiVHWhhBm2kR4eYKyhMV1NselzVizs5oJUSuXGun/1IqFraE0aYkiw9lCYGWVVTFxaO0q6+Kn/C5SRPH6n/FZ2pncax9kUemBoWBfQtHUbp1pUeEll3GpcJpnHeewXvucW72XITcfsKbxHpUhuWVTILRoE5+4WnhGP9m1elBllbN+S3BKxtkOVnWkJZk8u3nrTnCWesmzrgv44x3Do85i5gPDmN2fd646D/tE3jdPon56c+izHWTgAeJi1qgREIhWNWD2OGzjdQpIHG4f7B95Z3xBMjB3O31084lfN56FWurTby8eQI3MEtANCHTsef52F91cWR/ETNVLii4plpr8tiFQqy3LNRDnmLAQUIhJcRYFrhb4IPGpxHXSI2bSFur7KY1KUhKQSzbw2TRwUcOTOCx2QKXDQ5W6zaW6hYaMZepsgQFue8C5ELJBdFmkWQGS6MGY01ZI7NKwffwxJFJfOyRCjbaRSzeTqBEY3aM48RA/rJ7fdWRPHjuiqhOITwuBXik706YpcWpxwsoUq6334/QCpP/HwuMo5QnDnp48lEP/7oa9haycSa5n7zvXA9xYz3G6U8U9qYFcuWpmvOzd0n15j+pZ7C3TWx+OAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/SMTF.22733cc3.pdf\";","module.exports = __webpack_public_path__ + \"static/media/NWIL-Booklet-A5-Nov 2022.83932124.pdf\";","module.exports = __webpack_public_path__ + \"static/media/Disclaimer_DIY.15f30972.pdf\";","module.exports = __webpack_public_path__ + \"static/media/blueTick.b661dd9a.svg\";","module.exports = __webpack_public_path__ + \"static/media/ipv_demo.b90ee3db.jpg\";","module.exports = __webpack_public_path__ + \"static/media/finalTick.bb30f34f.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXwAAAF7CAMAAADmPMBAAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAABdUExURUdwTARc0wRVwwVg3AAAAAADCAJFoAEBAgIDBAIDBXyx936y936y936y9n2x9X+z+AZj4mqi7rLS+zeC6JjC+nyv863N9pG783eo6afG7XKh3yBz5Yqw46G+41CQ5p6OwmMAAAAPdFJOUwCrftgTG04CBgwr0KhXf+Z5olMAABRHSURBVHja7J2LmqI4EIXtbm3v4jSGqIDv/5irXBNIEEmlSGVz6JnZ6f1mL3+ORTiVhMUiKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoaC7tjof9nkUR2z91OBxOp9PxeNztdtvAxrKO+0gv1hmO3SYAA9NmEP2o8diG8ZhYcD5GP2481gHt+4rDIlsK4/FGhwhTjIXb+Vzsw3iIOkUuqpru1sPhJ/r1MSKh/f7k38dhF9HRwbMPwPoQRQH/XJPMiJbYaR2MP2Px34SKH+h7Os18R9+Tac+eIvzo4FPVYeO+3NGR6B1WlFTy2YifndGOEmaNjq2vxZ9YpPpO+xcOlH0P4J8E27Ma7vOLX5K/JEkuyeUl/lTvIxKs/wFnlRaHBnlxlYqiJ/nXVX2Vv/v7k8bjIg/I/+OeuwbVgUkqByBKKrX4qzEoh0CW9AHx3Pqg7DcHlfFvSVd/Sf1JKNkn/THojEc5HDYH5ETJ5BL0WnumUKKTUIL+hvGrxgP483EggHszoLUSfpQkQ/jlETCQ6efD7ZpSE5YvSR3419fFk+T2+qqv4rfSAAjVB1YffT52LlFXGLsHu6trTby5GMsE8MVVDYWKPzh+5XhcrD3lwhUTjbvV2haqgAv0r1d+k5UUP6oxaOCDVJ7RI+AG/DG1ZJh3pU1xPVm/gLPyl1Jd+M0YCO4vZ52I+LmF6c7nDv8Adhd4yfv1ta2+v2qRt8o07IsfgvmTdzNOy94/2SA/vZZs+2pwq7TcXa9q+Llw6exf4UcSdNnRkZ9cSzYKcyuQv65C2x78+/PK8lxkn3eGQKT/h+f+CyT8gXI+pXjrWZewG+AV9uJr+Vvifl7VVwn/CVzQLZf5S+5HEyR8FXiN25XFZJi3BHvbRd7qWBKvfy5/yZXq4Cft/A779btq8rm5VbBbrV7X6iiSr5XluY5/rio9czl/B4Feif0tcIn29j3vkrag1+++7wo18LPs+bvHU833bl36fwnWfB8Mvg59i/0d7THmXsq4l+VPy5Xw3VMX/KNQHKdpepYVPzKBf6fuJ3NM9M3hS+R73D/E3fF2hbz/zUbf95K1ArZCJf5e3cdxfh/+Fsz30txQZv62cguk62tAv7+/39/fX19fPz8/5w8VV9VHop/M9Ihrxl4qN5uG+6BktKpSMoj7bKj02hT+uvIgzXj6izaN4Lfoh8H3wY7G/WOOu1d72vsu6mQfYv2C6PsSf1NudMSXq3eVxKyWTCg9Bf3K+kgTHgD4a4XvO6ZvOC/H1hLbuFXev3W9nxCCX/l+23H9aqCcAJZuM93ley7OhAcQvvwcq6vtFku3kZopZ00foaFl3EDv+X4juL5kP1ct+bTsS3UHoegDwl+L5b6uN7/fXy4T7xaeXIoZSDm/9n1t+18y4IvpfnPPnc/5J6OK3xp/tfo609JVsj5CP/0CBb9lX9n++4cY+6bqC+mm487v+75kT832L9UZT+V86/SNeyli56Qt+CTZv2650nzH9mMWEPzG+OVTLU32xWNuXq0mwag7hvDXSuOvvs9k4cszfWzn7yZPdZqC/+vqZPKpOI6LVotusinit50wAMKvjb9a/TiI+19HDx38Ev0tQVg2y0HgS8aft+iUtFW4u1JPd27dwuNuF1H1bItt/PG433o/7xR9y1XfsIsoVp264n87i/ut9au1DNV0x3qwabYxRVl1fmyWbjPcslIlfLGhgu38vSn8X0h3A+OWFWudL8Q77vZSFFVn8u02RcD9Dn43VbZMHxr+avnllLs/h1+tXsN4yoKAL1ad4Um+fto9hx7afEHs5DrbS+k/YS1X2md3J4CPgJ8jsQeE3zhf4/l/7knn/Byp6IPBb4yvgf+PBPxYDncsxwuGvZT+/VYD/+Ei/H9q+DesunOBgv/G+f9owO/Gmna76EjOT8nBF52foDn/aARfM9WkAv+cyxN9u/N8aPgrUvBTbQtdWqZPCP4XnZqvgZ8jdRJBGlkewc9UNT/Ax441EdYMckD41dLYb8rwUWNNsC5i6/xvOg9ZGvgN/T+70x2QLqJv8LsddFv4Iyj4zbKR1S8d+APJGsaiNcONoCrnK+HHlODnSGv0DXdkqZ5wScOPFflCQgX+ShPuuAl/KNZEWDYFBl+Ya1KGn2K2sgx3ZI12PtVY02bdScDgC87/oQ6/LTvIcT6A832KNW1O8013ZI12Pq1kTQ53XN2LqJpq+hJrWl8wCOt8bzJlnFjTdDscdfhDsab1ab4V+B7FmgluIyvAR9uRaHqoZncTbog154G/9Qh+jrIZlKPBpxprWpzumJ5ouiYe6A+u1rQ93TE+0VT5lEUefufMIzcbWX7HmsKRRzjOnw7fu1jT+iGDxuc6Uo81zzPGmoDwaTr/7WpNGs7f+BZrWt8HDXSuo3fwhVaWtRtuAgzfr1jTcgvdEnxPYk3Lj1lQJ5qWJ6wNr1N+BOfDdhHpO38oWSPmfM8yZbvLlM3fDqc67MibpbJ2DxMHgy/XfPqZ8i23P8+34fyVP7Gm3T6i+av5lDWfdqz5epHiU5zzy+1m0fwcCP6YdcqU4N/v5WvU2UslmOdQlAK7C0SQ8H2JNWv2FfzodSnEm/GYNhz9qvPxexHX/sWa95Y+q+iPFP/g86Fg//F7Edf+rdas4TMB/mj+Yz8fKvYm8Dcewb9KRX8yet14qP/GhJdSNvS3nsSaj+4N18T5n2hvAP9duEMJ/nVa0Z8P/utwRx9izdb5hfUL9OSd/wjOH9YBBj7pWDNund9Yn1GHH1OC75vzqcBP5ZqP5/wTDHzam9DnqvkBvuB87Im+EXyfYs2X9Zt8Acn6RyDnk48171KsGbkP37tYsy07jLrzaSVr4g0XSTsg59PPlMuaf8Wc7gT4db7QOh/rfmsO35tMudPFxeC/BYJPP1mb4Ya7CPAl56PecKHgk481ryPWLwCLmcHfeJQpi+EOzj13Pxm+d5kyNvpp8P07VTa9q6I1IvBpxZqxOlPOsozhhjuHxeJ/F2umuqWyPOOsFgb/A5jzySRrihehn2v2nBNy/pZerKlify6WiJf4EXtZJ0P4G2LOf8RnLfzC+Rxx5c4JrOY7G+68Xjsdx3GapvpXJvec72r/3H34Je1h3J2nwb7zEfAfFwsfYs3PcSvgC853tpGl2ZaFm6w9THGr4LfTHWrOtw6/Kd0guF1w/s7c+UPrlGOYO6UF3LqanyGmO7uF1Uw5dRZ3xySl8/MM9SlrB1bzf89TrD9mHogG/2V9TOdvYZyvizUV3ncEd+e/sq35iM7fgDl/pf0fi13ErYLfdb7tEVgszLopb2JNKmqdz/DauMwU/gjn04HfOj/C6OLuAZ3/Q5m+yvnMdfhb3+BnbvfPP9qETkX39gEXbfHIpF5KjX/M8Quk4BfOx9sZZAz/XaxJC37W1HyMmaYR/HoT+lCyRq7siDsSXeylfLIJnYoe8mwHpZsCAn/pDfzC+WirpiCd/+uF8yHOO7LZS/ERfjyD883hb/yCnyHugoZ0vh/hDqLzd1DwvYk1EWs+APxNcL4LzvciWbviHb+whXS+F/CrJfoYqeYmOF+Ez7MMcTfoAsr53sSaeLtB2QLE+R7FmleGtht0vwB5yPIo1szwdmUF+N1wh4mzHUYBvkexZoY3zz+AOn9iuJOmcRy74nzEEwBcgP9C/1rP5kayxtpd6Mxt50PEmhX72enH9UzzitXLOgHAN4w1nYKfZfLrI9yED5cpx42cSNaa4xfs1/wAv5spN+cpM2d7KR+crUkOvnCeMnMe/ruzNYnAP/enmv8n56cOwM+ueHfcHRz81cRkLXUF/r2Bj/TilB2s878oO7+BLxz2RcL5Bpmyi87H6SOawgdYrekM/Ec728E5AWC9mD3WdA8+Vqy5CM6X4SMeMMgWi9ljzdSViT628/eQzl9OjDVdgR/3nG8X/z44vxtr3tEecffANZ9+stZ5d4dN/ocAvwv/3saalp9xYeAbHr/gqvN1b2/+WPzCUZxPPtZsX93xRHbpUuMTxqN8HTqH7KUAHr/gVKzZnKFfsr9cuhj5JPaqP3cCnmrST9bqyQ7nBX0RmpbiKPgXi873JVmry04JXyw8eorD9V77x6b3UqRN6L7BL5xflZ1LDz6fBp/bge9LuNNxfoW/B//iFHxhhT75ZE12vsCMT3P+wJDtgvNV8IdrPpTzweGTjzUl53NaziefrFWvKuNFzRed7yl8lzLl6mXcLIJ3Pofaiwi7Cd2lcKdyfoTg/AUQ/I0vsWb9Gnpuv+azBXTZ8cX5bc0f8ag6Df4e3vnEY0298y/Qzt8vwGs+8VizfkEiPecvg/P1z1gXwF6KzvnEkzW98y/QzoeCb5gpxy7BvxaJPm/yfKh0AQP+tzfOv5QXlPM5YC/F09WalfPBys6A80/B+T34gvPtxvkW4BOPNes3oXOeV9Md5mQvBW4TujPOj7P6TegIzgeD702sWb+EnjfTHWYU7ViD72O4Izi/mu6YOd9WnE8bfqqF/2KfNc43DDVtdREJB/qp5v5Swr+XN9wLF53vWCOL7ib0VPcvS+9a50fgjSww+LSOX9DPre4Vfdar+fDO3wDDX5HIlFP9UNc3XLCab6uLCLgJffxEH+JFuQOfs3tV8xv43NEu4gwnAKQgtWng3yaVnZtYdi5u9VI0T1lgzldMSWDuDAOfs0fX+ZfIlvP3oM4HTtYUfIDuDPEw/HsdanJ6zgeCrzr2DmhSNMr5eTXbqTfEOdZLsRLox0Mux4EvOt/ZLiJgsqbAoQJtH35c3XF5U/SthZoHGzUfKNZEgR8r4Tfz/JvN/vkJ3PlLsG7KPM5P29lOXjmfWXL+yUbZWUE7PwVPIfT/nDrcKcsOZCMLx/krjLKT2oTfzPNf/Ov9/441suxuQlfVhtQ6/LPs/BczW2UHED54rDlcdqzCb2t+4fwCPyfgfLilsnM6//6c52d1qMlg4nzoXorG+V/U4d+vWdbkCxV87tZeRNDjF9KZ4OvyhbLm33iRKDMnna9uJJKHXzo/1zjfkS6i5viFb2D4MfjKtrfhTtbEC5x1b7iOdBHtbkKf5xH3IdX8VyOL2YnzowUsfNBYM50xWWuc/6RfHbPmXBfRyiZ0F2LN0vl5VfKZgzuybG9CnzPWFJzfSxe4u/B9iDUL52cSezLOXznv/LexplTzmYN7EW2v1rQY7qSj4Nc1v6DvXBfR7vEL8Sz5glx2+IUBJcpozreXKWPFmv+1d7ZNboJQFEZFxbxtZraZ7KzT/v+f2WQFBIRIlKtclrP90Om0nfHx5Hi5Eu64yBIn+kb2XUSoL6HH0NZ8lpoD/nXvUjaDH6qtGcHblO/hTdZfvsYKUe18hG7nu5yPurMmXqYMxpcz+u5/Vp0newdoapL0Gvr/1Je4yqys+yL2/N9Z/rwNDT+dtuaXmBM3TqG/L2IPcHb+XvBDrbLmGvrf6oDE0cQBBxecCVDsoO8pa6M7YEanMCjnJ7FbU06t+YCY3BEidfDv1uxduzW/QMeyHsLBD3r8QiS7NUGn4l4ICWv9pNqaX/qwrMD4jy0QfBS7Nfv53ZrjZNbgxr8dCCLnb9lZk86/jc6/RRj4wF9C33fDINyQvjMhkM4P09b83HWfspo6IfHfwrFPz/l9ebmcTqfj8QgyCP14IMDwUbc1nx/d+nEdXce6+nA4nM/ni7gfq2/EpSVg8LsE2pqNYP+g/9RwhYRTY8PtOIvb8db9OIW0fUj40bQ1G409X0VOrlr+jpDO7+NxvARGD/ol9NfOB2tr6s5vmQ3+nIz7cTpdzsHJJ9nWLH/YG9ZfAMbxUUHi/P3gi+ftGvhbCPJUWdTO3w5+gN2a0fSUCwH/Fzk/mn3KBXLno+4pF6LYYajgsyTamoV1jYXI+YiaO30i8NkGJwDAwy89VrhxOr/DslW2dz46SsvzNm74Yh40ms6a+4jORsBn0cPH+iX0n//KejgttUT+r4b/6RPWYVRoqYMOPoVsa16hzxtvbPAJAvgMqq1pOVYWiH1VY0odMi13aOhTZfvJXwQ76b1ElTrW7k6oeU09qMtfGr9DEDrh4FtDpneUJJsaHxd8Wl9XWH/HQWVjqYMKvvEmsVpBfz/2lewmM5zwu+Xwf2Zy7Oj7qrEaHxl8SosrPo2+5+yRwl/2xI2CPZ2wjxl+yNy57vmsley1wI+bva2rvGyZdd017sfM6fDB1+mjyp1CoFcDHyF8huyRWxUF3yU1Gh8Peh2+sP5jnRVr6lfVA3hRlmXTNMN2cA09Q/S0nSxyWXwFzw9uhbYUHbbiiyfttMLHA1+z/uOKij1xF3bcBnppepk4hu/jZ6/Dl9bflL4XbhW8wn2scgR6hPB169NlbxMXR7e3qEwaDl4WmGadgwL+tOCBoK9E9wLcDkny0xITB3qL9elQb6586i42dz1Wj0I2/p0CXqBHDl/z/psV5/u46fjjp05zu+F6DT0O9q+8XzdF8OhWcNeLcdtMjxK9XvCo3h82MxTVFPfK6K5nYE9wy0LeAK+g19jjgy+Th1+twPT4ADRP3u/S9opuu72pg7eDu4keEXsz9nnBKc1Ph9WkV5L4JzflkGfsreGeILeSR4V+Yn2OX2QP5cW19LMAznnXHnFije5XYa7yNoibnjfZY4Wv577ifxVvvbgumUsTt8M78WvG9NjIW72v0qLL68CFqH3U2kUwwx+ThykM5+oS6s3bhdtp7Sl1S9Dghm+hz9jrSB5DxD+7OyO5PXm/9Dp28i78HXPBpjBZ8gboZLgb8FX3GzfAtcp8GSa+WTKTKCnDJ3b4jJP1LAS797KkXS+SiFon/xBqA4ukJf3iWGv39HZZ8qvgE/P6IvF4orTn+c/cgcwZFj6PoMkPpAjJ+OFFsjbhn7Fm+KnfgAxvm5uQ+WT4WVlZWVlZWVlZWVlZWVlZWVlZWenoP+ylGpaj/D27AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","export default interface indexer {\r\n\t[indexer: string]: any; //indexer\r\n}\r\n\r\nexport interface IUserObj {\r\n\tfirstname: string,\r\n\tlastName: string,\r\n\temail: string,\r\n\tmobile: string,\r\n\tcity: string,\r\n\trmCode?: string,\r\n\tUCC_Code?:string\r\n}\r\n\r\nexport interface jwtToken {\r\n\tnbf: number;\r\n\tiat: number;\r\n\texp: number;\r\n\tuser: {\r\n\t\tUserName: string;\r\n\t\tAi: string;\r\n\t\tCAi: any;\r\n\t\tName: string;\r\n\t\tempCategory: string;\r\n\t\tUserType: number;\r\n\t\tRoles: null;\r\n\t};\r\n\tauth_token: string;\r\n\tv_auth_token: string;\r\n\tusername: string;\r\n\tisImpersonated: boolean;\r\n\taccType: string;\r\n\tdealerid: string;\r\n\tempcodetxt: string;\r\n\tlgnSrc?: string;\r\n}\r\n\r\nexport interface appIdKey {\r\n\tapp: number;\r\n\tappid: string;\r\n\tav: string;\r\n\tbd: string;\r\n\texp: number;\r\n\tff: string;\r\n\tiat: number;\r\n\tiss: string;\r\n\tnbf: number;\r\n\tsrc: string;\r\n}\r\n\r\n// can contain only two strings: \"BUY\" or \"SELL\"\r\nexport enum EBuyOrSell {\r\n\tBUY = \"BUY\",\r\n\tSELL = \"SELL\"\r\n}\r\n\r\nexport interface IListObj {\r\n\tvalue: number | string;\r\n\tdisplay: string;\r\n}\r\n\r\nexport interface IListInfoObj extends IListObj {\r\n\tinfo?: string;\r\n}\r\n\r\nexport const initialIListObj: IListObj = {\r\n\tvalue: '',\r\n\tdisplay: ''\r\n}\r\n\r\nexport interface IDomain {\r\n\troot: string;\r\n\tMW: string;\r\n\tstreamUrl: string;\r\n\tjmw: string;\r\n\tjmw_eq: string;\r\n\tjmw_eq_eq: string;\r\n\tjmw_comm: string;\r\n\tjmw_mf: string;\r\n\tjmw_nse: string;\r\n\tjmw_content: string;\r\n\tjmw_login: string;\r\n\ttradeService: string;\r\n\tedelService: string;\r\n\tappId: string;\r\n\tappIdKey: string;\r\n\trootUrl: string;\r\n}\r\n\r\nexport type TAccDataRes = {\r\n\taccTyp: string;\r\n\taccs: IAccDataAccs;\r\n\tadhrEQ?: IAccDataAdhrEqCom;\r\n\tadhrCOM?: IAccDataAdhrEqCom;\r\n\tcnsntLst: Array;\r\n\toptCnsts?: Array;\r\n\tdfPrds: { [x: string]: TBySl };\r\n\tdfPrdsMTF: { [x: string]: TBySl };\r\n\texcs: Array;\r\n\tgtdGtcValDays: string;\r\n\tmrgAccDts: { emIds?: Array; phNos: Array; uids: Array };\r\n\tmrgSts: string;\r\n\tmtf: { popFl: string; sts: string };\r\n\tordTypes: Array<{ key: string; value: string }>;\r\n\tothAccDts: { accTyp: string; isAct: boolean; isOnline: boolean; uid: string };\r\n\tprds: { exc: string; prd: Array<{ prdDpNm: string; prdVal: string; validity: Array }> };\r\n\tsts: string;\r\n\ttype: string;\r\n\tval: Array<{ exc: string; validity: Array }>;\r\n};\r\n\r\nexport type TAccData = ObjectConcat<\r\n\tTAccDataRes,\r\n\t{\r\n\t\tuserID: IAccDataAccs[\"uid\"];\r\n\t\tmtf: TAccDataRes[\"mtf\"][\"sts\"];\r\n\t\tadhrEQ: { stat: TAccDataRes[\"adhrEQ\"]; brkCode: IAccDataAccs[\"eqBrk\"] };\r\n\t\tadhrCOM: { stat: TAccDataRes[\"adhrCOM\"]; brkCode: IAccDataAccs[\"coBrk\"] };\r\n\t\tcoAccID: IAccDataAccs[\"coAccID\"];\r\n\t\teqAccID: IAccDataAccs[\"eqAccID\"];\r\n\t\teqRmRt: IAccDataAccs[\"eqRmRt\"];\r\n\t\teqAccName: IAccDataAccs[\"eqAccName\"];\r\n\t\tcoAccName: IAccDataAccs[\"coAccName\"];\r\n\t\tprfId: IAccDataAccs[\"prfId\"];\r\n\t\twtspCnsnt: IAccDataAccs[\"wtspCnsnt\"];\r\n\t}\r\n>;\r\n\r\nexport interface IAccDataAccs {\r\n\tbseMfstwt: boolean;\r\n\teqAccID?: string;\r\n\tcoAccID?: string;\r\n\teqAccName?: string;\r\n\tcoAccName?: string;\r\n\teqAlgoClnt: string;\r\n\teqBrk?: string;\r\n\teqBrkCode?: string;\r\n\tcoBrk?: string;\r\n\tcoBrkCode?: string;\r\n\teqDob: string;\r\n\teqEmpCat: string;\r\n\teqRmRt: string;\r\n\teqstwt: boolean;\r\n\tllt: string;\r\n\tprfId: string;\r\n\trstpwd: boolean;\r\n\trstusr: boolean;\r\n\tucmCd: string;\r\n\tuid: string;\r\n\twtspCnsnt: string;\r\n}\r\n\r\nexport interface IAccDataAdhrEqCom {\r\n\tpopFl: string;\r\n\trlEDt: string;\r\n\trlFl: string;\r\n\tsts: string;\r\n}\r\n\r\nexport interface IAccDataCnsntLst {\r\n\taccType: string;\r\n\tmdtry: boolean;\r\n\tname: string;\r\n}\r\n\r\nexport type TBySl = { by: string; sl: string };\r\n\r\nexport interface IAccDataValidity {\r\n\tdpNm: string;\r\n\tvaVal: string;\r\n}\r\n\r\n/**\r\n * RequireAtLeastOne\r\n */\r\nexport type RequireAtLeastOne = Pick> &\r\n\t{\r\n\t\t[K in Keys]-?: Required> & Partial>>;\r\n\t}[Keys];\r\n\r\n/**\r\n * RequireOnlyOne\r\n */\r\nexport type RequireOnlyOne = Pick> &\r\n\t{\r\n\t\t[K in Keys]-?: Required> & Partial, undefined>>;\r\n\t}[Keys];\r\n\r\n/**\r\n * This works if two objects are concatenated. Pass the type of first object in T and type of second object in S\r\n */\r\nexport type ObjectConcat = B & Pick>;\r\n","import React from \"react\";\r\nimport \"./EdelLogoCenter.scss\";\r\nimport logo from \"../../../assets/icons/edel_icons/Nuvama_Identity_RGB_Positive.jpg\";\r\n\r\nconst EdelLogoCenter = () => {\r\n return (\r\n
\r\n
\r\n {/* */}\r\n \"logo\"\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EdelLogoCenter;\r\n","import { IListObj } from \"../types/genericTypes\";\r\nimport profileNavLogo from \"../../assets/icons/profileNavLogo.svg\";\r\nimport bankNavLogo from \"../../assets/icons/bankNavLogo.svg\";\r\nimport planNavLogo from \"../../assets/icons/planNavLogo.svg\";\r\nimport docNavLogo from \"../../assets/icons/docNavLogo.svg\";\r\nimport ipvNavLogo from \"../../assets/icons/ipvNavLogo.svg\";\r\nimport esignNavLogo from \"../../assets/icons/esignNavLogo.svg\";\r\nimport investNavLogo from \"../../assets/icons/investNavLogo.svg\";\r\nimport profileNavLogoNew from \"../../assets/icons/profileNavLogoNew.svg\";\r\nimport bankNavLogoNew from \"../../assets/icons/bankNavLogoNew.svg\";\r\nimport planNavLogoNew from \"../../assets/icons/planNavLogoNew.svg\";\r\nimport docNavLogoNew from \"../../assets/icons/docNavLogoNew.svg\";\r\nimport esignNavLogoNew from \"../../assets/icons/esignNavLogoNew.svg\";\r\nimport investNavLogoNew from \"../../assets/icons/investNavLogoNew.svg\";\r\n\r\nexport const emailVerificationBody = {\r\n mailBody: \"Please collect your OTP\",\r\n mailFrom: \"contact@nuvama.com\",\r\n mailSource: \"DIY\",\r\n mailSubject: \"Enter OTP to authenticate registered email id\",\r\n};\r\n\r\nexport const days = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n];\r\n\r\nexport const dateOptionsList = [\r\n { value: \"01\" },\r\n { value: \"02\" },\r\n { value: \"03\" },\r\n { value: \"04\" },\r\n { value: \"05\" },\r\n { value: \"06\" },\r\n { value: \"07\" },\r\n { value: \"08\" },\r\n { value: \"09\" },\r\n { value: \"10\" },\r\n { value: \"11\" },\r\n { value: \"12\" },\r\n { value: \"13\" },\r\n { value: \"14\" },\r\n { value: \"15\" },\r\n { value: \"16\" },\r\n { value: \"17\" },\r\n { value: \"18\" },\r\n { value: \"19\" },\r\n { value: \"20\" },\r\n { value: \"21\" },\r\n { value: \"22\" },\r\n { value: \"23\" },\r\n { value: \"24\" },\r\n { value: \"25\" },\r\n { value: \"26\" },\r\n { value: \"27\" },\r\n { value: \"28\" },\r\n { value: \"29\" },\r\n { value: \"30\" },\r\n { value: \"31\" },\r\n];\r\n\r\nexport const monthOptionsList = [\r\n { value: \"01\", display: \"JAN\" },\r\n { value: \"02\", display: \"FEB\" },\r\n { value: \"03\", display: \"MAR\" },\r\n { value: \"04\", display: \"APR\" },\r\n { value: \"05\", display: \"MAY\" },\r\n { value: \"06\", display: \"JUN\" },\r\n { value: \"07\", display: \"JUL\" },\r\n { value: \"08\", display: \"AUG\" },\r\n { value: \"09\", display: \"SEP\" },\r\n { value: \"10\", display: \"OCT\" },\r\n { value: \"11\", display: \"NOV\" },\r\n { value: \"12\", display: \"DEC\" },\r\n];\r\n\r\nexport const yearOptionsList = (minAge?: number, maxAge?: number) => {\r\n let currentYear = new Date().getFullYear();\r\n currentYear = currentYear - (minAge || 0);\r\n let yearArr: any = [];\r\n for (let i = 0; i < (maxAge || 100); i++) {\r\n let obj: any = {};\r\n obj[\"value\"] = (currentYear - i).toString();\r\n yearArr.push(obj);\r\n }\r\n return yearArr;\r\n};\r\n\r\nexport const dashboardUrl = {\r\n personalIfo: \"/personalInformation\",\r\n profile: \"/profile\",\r\n bank: \"/bank\",\r\n plan: \"/plan\",\r\n profiler: \"/profiler\",\r\n doc: \"/verify_personal_documents\",\r\n ipv: \"/ipv\",\r\n menu: \"/menu\",\r\n eSign: \"/esign\",\r\n};\r\n\r\nexport const geoLocationConfig = {\r\n timeout: 3000,\r\n enableHighAccuracy: false,\r\n maximumAge: 0,\r\n errorTimer: 20000,\r\n};\r\n\r\nexport interface ILeftNavBarArray {\r\n name: string;\r\n time: string;\r\n isComplete: boolean;\r\n navUrl: string;\r\n percentWeight: number;\r\n priority: number;\r\n logo: string;\r\n logoNew?: string;\r\n isRequired: boolean;\r\n}\r\n\r\nexport const ipvNavBarObj: ILeftNavBarArray = {\r\n name: \"Video IPV\",\r\n time: \"30 Sec\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.ipv,\r\n priority: 5,\r\n percentWeight: 2,\r\n logo: ipvNavLogo,\r\n isRequired: true,\r\n};\r\n\r\nexport const leftNavBarArray: Array = [\r\n {\r\n name: \"Personal Documents\",\r\n time: \"5 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.personalIfo,\r\n priority: 1,\r\n percentWeight: 20,\r\n logo: profileNavLogo,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"Profile\",\r\n time: \"5 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.profile,\r\n priority: 1,\r\n percentWeight: 20,\r\n logo: profileNavLogo,\r\n logoNew: profileNavLogoNew,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"Bank Details\",\r\n time: \"3 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.bank,\r\n priority: 2,\r\n percentWeight: 20,\r\n logo: bankNavLogo,\r\n logoNew: bankNavLogoNew,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"Product & Pricing\",\r\n time: \"2 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.plan,\r\n priority: 3,\r\n percentWeight: 20,\r\n logo: planNavLogo,\r\n logoNew: planNavLogoNew,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"Additional Profile Information\",\r\n time: \"1 min\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.profiler,\r\n priority: 6,\r\n percentWeight: 20,\r\n logo: investNavLogo,\r\n logoNew: investNavLogoNew,\r\n isRequired: false,\r\n },\r\n {\r\n name: \"Verify Personal Documents\",\r\n time: \"5 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.doc,\r\n priority: 4,\r\n percentWeight: 20,\r\n logo: docNavLogo,\r\n logoNew: docNavLogoNew,\r\n isRequired: true,\r\n },\r\n {\r\n name: \"E-Sign\",\r\n time: \"3 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.eSign,\r\n priority: 7,\r\n percentWeight: 20,\r\n logo: esignNavLogo,\r\n logoNew: esignNavLogoNew,\r\n isRequired: false,\r\n },\r\n];\r\n\r\nexport const fatherSpouseRelationList = [\r\n { value: \"01\", display: \"Father\" },\r\n { value: \"02\", display: \"Spouse\" },\r\n];\r\n\r\nexport const containerUrl = {\r\n registration: \"/\",\r\n continue: \"/continue\",\r\n pan: \"/pan\",\r\n otp: \"/otp\",\r\n accexists: \"/accexists\",\r\n dgLocker: \"/dgLocker\",\r\n showDocuments: \"/showDocuments\",\r\n mailVerified: \"/mailVerified\",\r\n error: \"/error\",\r\n nri: \"/nri\",\r\n ocv: \"/ocv\",\r\n submit: \"/submit\",\r\n poa: \"/poa\",\r\n partner: \"/partner\",\r\n selfie: \"/selfie\",\r\n};\r\n\r\nexport const statusUrl = {\r\n statusHome: \"/status\",\r\n statusVerified: \"/status/already-exists\",\r\n accountNotFound: \"/status/not-found\",\r\n docVerificationInProgress: \"/status/doc-verification-in-progress\",\r\n documentReject: \"/status/doc-reject\",\r\n statusContinue: \"/status/continue\",\r\n};\r\n\r\nexport const ipvDocObj = {\r\n documentid: 365,\r\n documentcategory: \"In Person Verification\",\r\n documentname: \"In Person Verification\",\r\n documentcategoryid: 62,\r\n typeofaccount: null,\r\n entitytype: \"INDIVIDUAL\",\r\n contenttype: \"IN PERSON VERIFICATION\",\r\n documenttype: \"IPV\",\r\n ocr_flag: false,\r\n};\r\n\r\nexport const loginUrl = \"https://www.nuvamawealth.com/\";\r\nexport const digiLockerUrl =\r\n \"https://api.digitallocker.gov.in/public/oauth2/1/authorize\";\r\nexport const checkAadharLinkedUrl =\r\n \"https://resident.uidai.gov.in/verify-email-mobile\";\r\nexport const digiLockerRegisterUrl =\r\n \"https://accounts.digitallocker.gov.in/signup\";\r\n\r\nexport const assignedTo = \"0\"; //hardCode\r\nexport const productCode = \"TD\"; //hardCode\r\nexport const addressType = \"02\"; //hardCode\r\nexport const clientGroup4 = \"CAS\"; //hardCode\r\nexport const retailAccCategory = \"15\"; //hardCode Account category for Retail user\r\nexport const employeeAccCategory = \"17\"; //hardCode Account category for nuvama Employee\r\nexport const PCGAccCategory = \"12\"; //hardCode Account category for HNI employee\r\n\r\nexport const incomeProofList = [\r\n { value: \"latestSalarySlip\", name: \"Salary Slip\", documentid: \"126\" },\r\n { value: \"latestForm16\", name: \"Form 16\", documentid: \"127\" },\r\n { value: \"ITRacknoledgement\", name: \"ITR Acknoledgement\", documentid: \"128\" },\r\n { value: \"bankStatement\", name: \"Bank statement\", documentid: \"129\" },\r\n {\r\n value: \"dematHoldingStatement\",\r\n name: \"Demat Holding Statement\",\r\n documentid: \"130\",\r\n },\r\n {\r\n value: \"etworthCertificate\",\r\n name: \"Networth Certificate\",\r\n documentid: \"131\",\r\n },\r\n];\r\n\r\nexport const nriIdType: Array = [\r\n { value: \"TIN\", display: \"TIN\" },\r\n { value: \"Others\", display: \"Others\" },\r\n];\r\n\r\nexport const ecomAgentTimeList: Array = [\r\n { value: \"1\", display: \"08AM To 12PM\" },\r\n { value: \"2\", display: \"12PM To 04PM\" },\r\n { value: \"3\", display: \"04PM To 08PM\" },\r\n];\r\n\r\nexport const edelweissOfficeName = \"Nuvama Wealth & investment Ltd\";\r\nexport const edelweissOfficeAddress =\r\n \"C/O. SSAI,CASA BLANCA, UNIT NO. - 803-805, SECTOR 11, PLOT NO. 45, OPP. IDBI TOWERS, NR. CBD BELAPUR STATION, CBD BELAPUR PIN CODE: 400614\";\r\n\r\nexport const panDocumentId = 1;\r\nexport const photographId = 2;\r\nexport const DocumentCategoryIdForphotographId = 1;\r\nexport const firstChequeDocumnetId = 21;\r\nexport const secondChequeDocumnetId = 357;\r\nexport const thirdChequeDocumnetId = 359;\r\nexport const fourthChequeDocumnetId = 383;\r\nexport const fifthChequeDocumnetId = 385;\r\n\r\nexport const firstBankDocumentCategoryId = 9;\r\nexport const secondBankDocumentCategoryId = 60;\r\nexport const thirdBankDocumentCategoryId = 61;\r\nexport const fourthBankDocumentCategoryId = 70;\r\nexport const fifthBankDocumentCategoryId = 71;\r\n\r\nexport const firstBankStatementDocumnetId = 22;\r\nexport const secondBankStatementDocumnetId = 358;\r\nexport const thirdBankStatementDocumnetId = 360;\r\nexport const fourthBankStatementDocumnetId = 384;\r\nexport const fifthBankStatementDocumnetId = 386;\r\n\r\n\r\nexport const signatureDocumentId = 305;\r\n\r\nexport const aadhaarDocumnetId = 117;\r\nexport const passportDocumnetId = 114;\r\nexport const voterIdDocumentId = 116;\r\nexport const dlDocumentId = 118;\r\n\r\nexport const corrAadhaarDocumnetId = 10;\r\nexport const corrPassportDocumnetId = 11;\r\nexport const corrVoterIdDocumentId = 12;\r\nexport const corrDlDocumentId = 13;\r\n\r\nexport const DIY = \"DIY\";\r\n\r\nexport const subsource_ID = 38;\r\n\r\n// checked in if condition\r\nexport const edelweissLite = \"Nuvama Lite\";\r\nexport const edelweissElite = \"Nuvama Elite\";\r\n\r\nexport const watsappNo = \"7304470488\";\r\n\r\nexport const poaTrueMsg =\r\n \"DDPI is an authorization to access your demat account to meet pay-in obligations for settlement of trades executed by you\";\r\n\r\nexport const poaFalseMsg = \"The settlement would be done through e-DIS.\";\r\n","// ALL FUNCTIONS RETURN\r\n// VALID - NULL\r\n// INVALID - ERROR STRING\r\n\r\n/**\r\nimport { integerExp } from './regex';\r\n * @param value The numerical value that needs to be checked for integer\r\n * @returns return null if VALID; error message if INVALID\r\n */\r\nexport function isValidRegex(value: string, regex: RegExp): string | null {\r\n return regex.test(value) ? null : \"value is not integer\";\r\n}\r\n\r\n/**\r\n * @param value The value that is required\r\n * @returns return null if value is present; error message if value is blank\r\n */\r\nexport function required(value: any): string | null {\r\n return value === undefined || value === null || value === \"\"\r\n ? \"value is required\"\r\n : null;\r\n}\r\n\r\n/**\r\n * @param value The value that is to be validated\r\n * @param min Value should be less than this number\r\n * @returns return null if value is not present or if value is >= min; error message if value < min\r\n */\r\nexport function grtrThanEqTo(value: number, min: number): string | null {\r\n return value === undefined || value === null || value >= min\r\n ? null\r\n : \"value should be greater\";\r\n}\r\n\r\n/**\r\n * @param value The value that is to be validated\r\n * @param max Value should be greater than this number\r\n * @returns return null if value is not present or if value is <= max; error message if value > max\r\n */\r\nexport function lessThanEqTo(value: number, max: number): string | null {\r\n return value === undefined || value === null || value <= max\r\n ? null\r\n : \"value should be smaller\";\r\n}\r\n\r\n/**\r\n * @param value The value to be validated\r\n * @param multiple Value should be multiple of this value\r\n * @returns return null if value is not present or if value is multiple of `multiple`; error message otherwise\r\n */\r\nexport function multipleValidation(\r\n value: number,\r\n multiple: number\r\n): string | null {\r\n return value === undefined || value === null || value % multiple === 0\r\n ? null\r\n : \"value is not a multiple of \" + multiple;\r\n}\r\n\r\n/**\r\n * @param day The value to be validated\r\n * @param month The value to be validated imp: minus 1 in this becuase month is start from 0\r\n * @param year The value to be validated\r\n * @returns return true if date is valid; else return false\r\n */\r\nexport function dateValidation(\r\n year: number,\r\n month: number,\r\n day: number,\r\n isLessThanToday?: boolean\r\n): boolean {\r\n const date = new Date(year, month, day);\r\n if (\r\n date.getFullYear() === year &&\r\n date.getMonth() === month &&\r\n date.getDate() === day &&\r\n (!isLessThanToday || date < new Date())\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\n/**\r\n * @param existingString The existing string which needs to be validate\r\n * @param length The minimum length the sting required\r\n * @returns return the string with append blank string with existing string to the length specified\r\n */\r\nexport function appendSpace(existingString: string, length: number) {\r\n for (let i = existingString.length || 0; i < length; i++) {\r\n existingString += \" \";\r\n }\r\n return existingString;\r\n}\r\n\r\nexport function repairAddressWithConditions(address: string, city: string) {\r\n address = address.trim();\r\n const addLength = address.length;\r\n\r\n let addLine1 = address.substring(0, 30);\r\n let addLine2 = \"\";\r\n let addLine3 = \"\";\r\n let addLine4 = \"\";\r\n\r\n if (addLine1.length < 5 || !isNaN(Number(addLine1.replace(/ /g, \"\"))))\r\n addLine1 = `${addLine1}`;\r\n\r\n if (addLength > 30) {\r\n addLine2 = address.substring(30, 60);\r\n if (addLine2.length < 5 || !isNaN(Number(addLine2.replace(/ /g, \"\"))))\r\n addLine2 = `${addLine2}`;\r\n }\r\n\r\n if (addLength > 60) {\r\n addLine3 = address.substring(60, 90);\r\n if (addLine3.length < 5 || !isNaN(Number(addLine3.replace(/ /g, \"\"))))\r\n addLine3 = `${addLine3}`;\r\n }\r\n\r\n if (addLength > 90) {\r\n addLine4 = address.substring(90, 140);\r\n if (addLine4.length < 5 || !isNaN(Number(addLine4.replace(/ /g, \"\"))))\r\n addLine4 = `${addLine4}`;\r\n }\r\n\r\n return { addLine1, addLine2, addLine3, addLine4 };\r\n}\r\n","/**\r\n * This function adds a \\ character before all the characters that need to be escaped\r\n * @param str string which needs to be changed\r\n */\r\nfunction escapeRegexStr(str: string) {\r\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$1\");\r\n}\r\n\r\n/**\r\n * This regex checks for integers.\r\n *\r\n * - Tests true for literals like - `\"\", \"2\", \"32434325435\"`\r\n * - Tests false for literals like - `\"a\", \"12as\", \"as23\", \"123.13\"`\r\n */\r\nexport const integerExp = /^\\d*$/;\r\n\r\n/**\r\n * This regex checks for alphabets.\r\n *\r\n * - Tests true for literals like - `\"\", \"a\", \"vfsgreftgr\"`\r\n * - Tests false for literals like - `\"1\", \"12as\", \"as23\", \"s$ajkd\"`\r\n */\r\nexport const alphabetExp = /^[a-zA-Z ]*$/;\r\n\r\n/**\r\n * This regex checks for floating point numbers.\r\n *\r\n * If decimalPlaces is 2, then\r\n * - Tests true for literals like: `\"\", \"1\", \"45243464\", \"3131.\", \"12312.2\", \"123432.34\"`\r\n * - Tests false for literals like: `\"a\", \"12ad\", \"as21\"`\r\n *\r\n * @param decimalPlaces (optional) number of decimal places\r\n * @returns RegExp for checking floating point numbers\r\n */\r\nexport function floatNumExp(decimalPlaces: number = 2) {\r\n // if decimalPlaces === 2,\r\n // exp = ^\\d*(?:\\.\\d{0,2})?$\r\n let exp = `^\\\\d*(?:\\\\.\\\\d{0,${decimalPlaces}})?$`;\r\n return new RegExp(exp);\r\n}\r\n\r\n/**\r\n * This regex checks for alphanumeric characters.\r\n *\r\n * - Tests true for literals like - `\"\", \"asd\", \"ASD\", \"123\"`\r\n * - Tests false for literals like - `\"_\", \"-\", \"$\", \".\", \" \", [any other non-alphanumeric character]`\r\n */\r\nexport const alphaNumExp = /^[a-zA-Z0-9]*$/;\r\n\r\nexport const addressAlphaNum = /^[a-zA-Z0-9 ]*$/;\r\n\r\n/**\r\n * This regex checks for emails.\r\n *\r\n * - Tests true for literals like - `\"\", \"asd\", \"ASD\", \"123\"`\r\n * - Tests false for literals like - `\"_\", \"-\", \"$\", \".\", \" \", [any other non-alphanumeric character]`\r\n */\r\nexport const emailRegex =\r\n /^[-_a-zA-Z0-9]+(\\.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*(\\.[a-zA-Z]{2,4})$/;\r\n\r\n/**\r\n * This regex checks if given string's length is between min and max characters.\r\n *\r\n * @param min min number of characters\r\n * @param max (optional) max number of characters. If not present then considered as infinity\r\n * @returns RegExp for checking if given string's length is between min and max characters\r\n */\r\nexport function betweenNChars(min: number, max?: number) {\r\n return new RegExp(\"^.{\" + min + \",\" + (max || \"\") + \"}\");\r\n}\r\n\r\n/**\r\n * This regex checks if given string's length is between min and max characters.\r\n *\r\n * @param min min number of characters\r\n * @param max (optional) max number of characters. If not present then considered as infinity\r\n * @returns RegExp for checking if given string's length is between min and max characters\r\n */\r\nexport function blockSpecChar(min: number, max?: number) {\r\n return new RegExp(\r\n `(^[a-zA-Z0-9]*[^~_@!\\`#$%^&*?\"',(){}<>\\\\[\\\\]:;|=+\\\\\\\\/]{${min},${\r\n max || \"\"\r\n }})+$`\r\n );\r\n}\r\n\r\n/**\r\n * This regex checks if string has atleast 1 character.\r\n *\r\n * - Tests true for literals like - `\"A\", \"ASD\", \"1A23\"`\r\n * - Tests false for literals like - `\"abc\", \" \", \"$\", \"123\"`\r\n */\r\nexport const atleast1UpperChar = /[A-Z]/;\r\n\r\n/**\r\n * This regex checks if string has atleast 1 digit.\r\n *\r\n * - Tests true for literals like - `\"1\", \"123\", \"1A23\"`\r\n * - Tests false for literals like - `\"abc\", \" \", \"$dfs\", \"ABC\"`\r\n */\r\nexport const atleast1Digit = /\\d/;\r\n\r\n/**\r\n * This regex tests true if string is made from any character other than the mentioned characters.\r\n * If any mentioned character appears even once, then regex tests false\r\n *\r\n * - Tests true for literals like - `\"\", \"$\", \"34\", \"saf&dfds\", \" \"`\r\n * - Tests false for literals like - `\"₹\", \"as₹fa\", \"DFS\", \"123\"`\r\n */\r\nexport const atleast1SplChar = /[^0-9a-zA-Z]/;\r\n\r\n/**\r\n * This regex tests true if string is made from any character other than the mentioned characters.\r\n * If any mentioned character appears even once, then regex tests false\r\n *\r\n * - Tests true for literals like - `\"\", \"$\", \"34\", \"saf&dfds\", \" \"`\r\n * - Tests false for literals like - `\"₹\", \"as₹fa\", \"DFS\", \"123\"`\r\n */\r\nexport const exceptSplChar = /^[^()<>?%+:;{}[\\]\\\\|~`^\\-‘\",./₹]*$/;\r\n\r\n/**\r\n * This regex checks for atleast 1 alphabet and 1 digit characters.\r\n *\r\n * - Tests true for literals like - `\"a1\", \"1a\", \"sdfh23ejsd\", \"sdfh2-3ej$sd\"`\r\n * - Tests false for literals like - `\"\", \"-\", \"a\", \"1\", \"dfsdsd\", \"213213\"`\r\n */\r\nexport const atleast1Alpha1Num = /(?=.*?[0-9])(?=.*?[A-Za-z]).+/;\r\n\r\n/**\r\n * This regex checks if the string to be checked is not equal to str\r\n *\r\n * @param str the string that will be compared\r\n * @param flag regex flag\r\n * @returns RegExp for checking if the string to be checked is not equal to str\r\n */\r\nexport function notEqualTo(str: string, flag?: string) {\r\n return new RegExp(\"^(?!\" + str + \"$).*$\", flag);\r\n}\r\n\r\n/**\r\n * This regex checks if the string to be checked is equal to str\r\n *\r\n * @param str the string that will be compared\r\n * @param flag regex flag\r\n * @returns RegExp for checking if the string to be checked is equal to str\r\n */\r\nexport function equalTo(str: string, flag?: string) {\r\n return new RegExp(\"^(?=\" + escapeRegexStr(str) + \"$).*$\", flag);\r\n}\r\n\r\n/**\r\n * This regex checks if the string is a valid pan\r\n */\r\n// export const pan = /^[a-zA-Z]{5}[\\d]{4}[a-zA-Z]{1}$/;\r\nexport const pan = /^[a-zA-Z]{3}[pP]{1}[a-zA-Z]{1}[\\d]{4}[a-zA-Z]{1}$/; //only for person\r\n// export const pan = /^[a-zA-Z]{3}[pPcChHfFaAtTbBlLjJgG]{1}[a-zA-Z]{1}[\\d]{4}[a-zA-Z]{1}$/; //for all\r\n\r\n/**\r\n * This regex checks if the string is a valid phone/mobile number\r\n */\r\nexport const phoneNo = /^[6789]\\d{9}$/;\r\n\r\n/**\r\n * This regex checks if the string is a valid upi\r\n */\r\nexport const upiExp = /^[-.a-zA-Z0-9_]+@{1}[A-Za-z0-9]+$/;\r\n\r\n/**\r\n * This regex checks if the string to be contains only digits or not\r\n *\r\n * @returns RegExp for checking if the string contains only digits or not\r\n *\r\n * - Tests true for literals like - `\"231256\", \"34 151 2112 11548\"`\r\n * - Tests false for literals like - `\"₹\", \"as1541fa\"`\r\n */\r\nexport const detectIntWithSpace = /^(?=.*\\d)[\\d ]+$/;\r\n\r\n//Reg expression use for to check for \"TEMP\" or \"tmp\" in the domain\r\nexport const forbiddenWordsRegex = /@(.*temp.*|.*tmp.*)/i;\r\n","import * as React from \"react\";\r\nimport \"./InputField.scss\";\r\nimport indexer from \"../../types/genericTypes\";\r\nimport {\r\n required,\r\n isValidRegex,\r\n grtrThanEqTo,\r\n lessThanEqTo,\r\n} from \"../../utils/validation\";\r\nimport {\r\n integerExp,\r\n alphaNumExp,\r\n alphabetExp,\r\n addressAlphaNum,\r\n} from \"../../utils/regex\";\r\n\r\nexport interface IInputFieldProps {\r\n disabled?: boolean; // To make input disabled\r\n defaultValue?: string; // The defaultValue in input field (pass only if required)\r\n placeholder?: string; // placeholder\r\n prefix?: React.ReactChild; // text/element to show before the input field\r\n suffix?: React.ReactChild; // text/element to show after the input field\r\n helpText?: string; // help text\r\n helpTextColor?: \"grey\" | \"blue\"; // the color of help text, takes gray as default\r\n errorText?: string | null; // error text\r\n required?: boolean; // true if is required\r\n integer?: boolean; // true if only integer can be entered\r\n alphanum?: boolean; // true if only alphanumeric can be entered\r\n addressAlphaNum?: boolean;\r\n alphabate?: boolean; // true if only alphabate can be entered\r\n float?: RegExp; // number of digits after decimal\r\n min?: number; // minimum number\r\n max?: number; // maximum number\r\n className?: string; // extra classname if needed for module specific style\r\n type?: \"tel\" | \"text\" | \"email\" | \"password\"; // type of input\r\n maxLength?: number; // if there is a max length for the input\r\n pattern?: RegExp; // validate any regExp\r\n id?: string;\r\n name?: string;\r\n autoComplete?: \"on\" | \"off\"; // used for switching on/off autocomplete\r\n onChange?: (value: string) => string | void; // function to be called on change. Return string if value needs to be changed from outside\r\n onBlur?: (error: indexer,event?: React.ChangeEvent) => void; // function to be called on blur, all errors will be available in error object\r\n cancelSuffix?: boolean; //To display cross(x), to clear the input;\r\n isCaps?: boolean; //Input value should be all CAPS then true, else false\r\n hiddenText?: string; // text shows only on focus\r\n}\r\n\r\nconst InputField: React.FC = (props) => {\r\n // sets the default value of input if present\r\n // value: value of the input (type = string)\r\n // setValue: function to set value\r\n const [value, setValue] = React.useState(props.defaultValue || \"\");\r\n const [errText, setErrText] = React.useState(props.errorText);\r\n\r\n // if default value is updated from outside, change it inside also\r\n React.useEffect(() => {\r\n if (props.defaultValue !== undefined && value !== props.defaultValue) {\r\n setValue(props.defaultValue);\r\n }\r\n }, [props.defaultValue]);\r\n\r\n React.useEffect(() => {\r\n setErrText(props.errorText);\r\n }, [props.errorText]);\r\n\r\n // when focussed, this helps to colour the border of input_field_cont\r\n const [focusClass, setFocusClass] = React.useState(\"\");\r\n\r\n /**\r\n * @param value The string that needs to be checked for integer\r\n * @returns If integer need not be checked, then return true.\r\n * - If integer needs to be checked, then\r\n * - If value is valid integer, then return true; otherwise, return false\r\n */\r\n function isValidInteger(value: string): boolean {\r\n return (\r\n !props.integer || (props.integer && !isValidRegex(value, integerExp))\r\n );\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for float\r\n * @returns If float need not be checked, then return true.\r\n * - If float needs to be checked, then\r\n * - if value is valid float, then return true; otherwise, return false\r\n */\r\n function isValidFloat(value: string): boolean {\r\n return !props.float || (props.float && !isValidRegex(value, props.float));\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for alphanumeric characters\r\n * @returns If alphanum need not be checked, then return true.\r\n * - If alphanum needs to be checked, then\r\n * - if value is valid alphanum, then return true; otherwise, return false\r\n */\r\n function isValidAlphaNum(value: string): boolean {\r\n return (\r\n !props.alphanum || (props.alphanum && !isValidRegex(value, alphaNumExp))\r\n );\r\n }\r\n function isValidAddressAlphaNum(value: string): boolean {\r\n return (\r\n !props.addressAlphaNum ||\r\n (props.addressAlphaNum && !isValidRegex(value, addressAlphaNum))\r\n );\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for alphabatic characters\r\n * @returns If alphabate need not be checked, then return true.\r\n * - If alphabate needs to be checked, then\r\n * - if value is valid alphabate, then return true; otherwise, return false\r\n */\r\n function isValidAlphabate(value: string): boolean {\r\n return (\r\n !props.alphabate || (props.alphabate && !isValidRegex(value, alphabetExp))\r\n );\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for maxlength\r\n * @returns If maxlength need not be checked, then return true.\r\n * - If maxlength needs to be checked, then\r\n * - if value has less characters than maxlength, then return true; otherwise, return false\r\n */\r\n function isValidMaxLength(value: string): boolean {\r\n return props.maxLength === undefined || value.length <= props.maxLength;\r\n }\r\n\r\n /**\r\n * @param value The value that is required\r\n * @returns If required need not be checked, then return true.\r\n * - If required needs to be checked, return true if value is not present; false if value is present\r\n */\r\n function isRequired(value: any): boolean {\r\n return !props.required || (props.required && !!required(value));\r\n }\r\n\r\n /**\r\n * @param value The value that is to be validated\r\n * @returns If min need not be checked, then return true.\r\n * - If min needs to be checked,\r\n * - throw error if value is string\r\n * - return true if value < min; false if value >= min\r\n */\r\n function isLessThanMin(value: string): boolean {\r\n if (props.min === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for min\");\r\n }\r\n return !!grtrThanEqTo(+value, props.min);\r\n }\r\n\r\n /**\r\n * @param value The value that is to be validated\r\n * @returns If max need not be checked, then return true.\r\n * - If max needs to be checked,\r\n * - throw error if value is string\r\n * - return true if value > max; false if value <= min\r\n */\r\n function isGrtrThanMax(value: string): boolean {\r\n if (props.max === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for max\");\r\n }\r\n return !!lessThanEqTo(+value, props.max);\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for the pattern\r\n * @returns If pattern need not be checked, then return true.\r\n * - If pattern needs to be checked, then\r\n * - if value is valid pattern, then return true; otherwise, return false\r\n */\r\n function isValidPattern(value: string): boolean {\r\n return (\r\n !props.pattern || (props.pattern && !isValidRegex(value, props.pattern))\r\n );\r\n }\r\n\r\n /**\r\n * This function runs on blur.\r\n * This removes the focus class on input_field_cont and removes commas.\r\n * This function calls the onBlur callback function with all the errors.\r\n */\r\n function handleBlur(e: React.ChangeEvent) {\r\n setFocusClass(\"\");\r\n\r\n let errorObj: indexer = {};\r\n\r\n if (props.required) {\r\n errorObj = { ...errorObj, required: isRequired(value) }; // set isRequired error\r\n }\r\n if (props.min) {\r\n errorObj = { ...errorObj, min: isLessThanMin(value) }; // set error for min\r\n }\r\n if (props.max) {\r\n errorObj = { ...errorObj, max: isGrtrThanMax(value) }; // set error for max\r\n }\r\n if (props.pattern) {\r\n errorObj = { ...errorObj, pattern: isValidPattern(value) }; // set error for pattern\r\n }\r\n props.onBlur && props.onBlur(errorObj ,e);\r\n }\r\n\r\n /**\r\n * Checks for all the validations and then changes value accordingly\r\n * @param e The input event\r\n */\r\n function handleChange(e: React.FocusEvent) {\r\n let resolvedValue: string;\r\n\r\n if (\r\n (e.target.value || e.target.value === \"\" || e.target.value === \"0\") &&\r\n isValidInteger(e.target.value) &&\r\n isValidFloat(e.target.value) &&\r\n isValidAlphaNum(e.target.value) &&\r\n isValidMaxLength(e.target.value) &&\r\n isValidAlphabate(e.target.value) &&\r\n isValidAddressAlphaNum(e.target.value)\r\n ) {\r\n // if value needs to be changed then process the new value\r\n if (props.isCaps) resolvedValue = e.target.value.toUpperCase();\r\n else resolvedValue = e.target.value;\r\n setErrText(\"\");\r\n } else {\r\n // otherwise process the previous state\r\n resolvedValue = value;\r\n }\r\n\r\n if (props.onChange) {\r\n const newValue = props.onChange(resolvedValue || \"\"); // call onchange callback\r\n\r\n if (newValue !== undefined) {\r\n setValue(newValue); // set the new value\r\n } else {\r\n setValue(resolvedValue || \"\"); // set the new value\r\n }\r\n }\r\n }\r\n\r\n function handleCancel() {}\r\n\r\n return (\r\n
\r\n \r\n {props.prefix &&
{props.prefix}
}\r\n setFocusClass(\" focus\")}\r\n onBlur={(e)=>handleBlur(e)}\r\n type={props.type}\r\n id={props.id}\r\n autoComplete={props.autoComplete}\r\n disabled={props.disabled}\r\n name={props.name}\r\n />\r\n {props.cancelSuffix && focusClass === \" focus\" && (\r\n
\r\n \r\n
\r\n )}\r\n {props.suffix &&
{props.suffix}
}\r\n
\r\n {props.errorText &&

{props.errorText}

}\r\n {props.hiddenText && (focusClass || value) && (\r\n

{props.hiddenText}

\r\n )}\r\n {props.helpText && (\r\n

\r\n {props.helpText}\r\n

\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default InputField;\r\n","import React, { Component } from \"react\";\r\nimport down from \"../../../assets/icons/down.svg\";\r\nimport \"./DropdownSearch.scss\";\r\n\r\nexport interface IProps {\r\n options: any;\r\n searchKey: string;\r\n placeholder?: string;\r\n noDataMsg?: string;\r\n isDownArrow?: boolean;\r\n name?: string;\r\n disabled?: boolean;\r\n errorText?: string;\r\n autoComplete?: string;\r\n searchLength: number;\r\n className?: string;\r\n defaultValue?: string;\r\n onChange?: (value: string) => void;\r\n onOptionSelect?: (value: any) => void;\r\n onBlur?: (value: any) => void;\r\n hideSuggestion?: boolean;\r\n autoSelectOff?: boolean;\r\n disableTick?: boolean;\r\n skipSearching?: boolean;\r\n}\r\n\r\nexport interface IState {\r\n isShowSuggestions: boolean;\r\n value: string;\r\n selectedObj?: object | undefined;\r\n}\r\nclass DropdownSearch extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isShowSuggestions: false,\r\n value: props.defaultValue || \"\",\r\n selectedObj:\r\n (this.props.defaultValue &&\r\n this.findFromList(this.props.options, this.props.defaultValue)) ||\r\n undefined,\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps: IProps) {\r\n //post getting the updated props, sets the selectedObj value to object with matching defaultvalue\r\n //if autoselectoff is true do not set the selectedObj value for ex refer city DD\r\n console.log(this.props.options);\r\n if (\r\n !prevProps.options.length &&\r\n this.props.options.length &&\r\n !this.state.selectedObj &&\r\n !this.props.autoSelectOff &&\r\n this.props.defaultValue &&\r\n this.state.selectedObj !== null\r\n ) {\r\n const matchedItem = this.findFromList(\r\n this.props.options,\r\n this.props.defaultValue\r\n );\r\n matchedItem &&\r\n this.setState({\r\n selectedObj: matchedItem,\r\n });\r\n }\r\n }\r\n\r\n findFromList = (list: Array, lookFor: string) => {\r\n const matchedOption = list.filter((val: any) => {\r\n return (\r\n val[this.props.searchKey]?.toLowerCase() === lookFor?.toLowerCase() ||\r\n Number(lookFor) === Number(val[this.props.searchKey])\r\n );\r\n });\r\n if (matchedOption.length === 1) {\r\n return matchedOption[0];\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n // static getDerivedStateFromProps(nextProps: IProps, prevState: IState) {\r\n // if (nextProps.defaultValue !== prevState.value && nextProps.defaultValue !== undefined) {\r\n // return { value: nextProps.defaultValue };\r\n // } else return null;\r\n // }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps: IProps, prevState: IState) {\r\n if (\r\n nextProps.defaultValue !== prevState.value &&\r\n nextProps.defaultValue !== undefined\r\n ) {\r\n this.setState({ value: nextProps.defaultValue });\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n if (\r\n this.props.searchLength === 0 ||\r\n this.state.value.length >= this.props.searchLength\r\n ) {\r\n this.setState({ isShowSuggestions: true });\r\n } else {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n };\r\n\r\n onChange = (value: any) => {\r\n if (value.trim().length >= this.props.searchLength) {\r\n this.setState({ isShowSuggestions: true });\r\n } else {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n this.setState({ value: value, selectedObj: undefined });\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n handleBlur = () => {\r\n setTimeout(() => {\r\n if (this.state.isShowSuggestions) {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n this.props.onBlur && this.props.onBlur(this.state.selectedObj);\r\n }, 300);\r\n };\r\n\r\n onOptionSelect = (item: any) => {\r\n this.setState({\r\n value: item[this.props.searchKey],\r\n selectedObj: item,\r\n isShowSuggestions: false,\r\n });\r\n if (this.props.onOptionSelect) {\r\n this.props.onOptionSelect(item);\r\n }\r\n };\r\n //selects all the text on click\r\n handleClick = (event: any) => {\r\n if (!this.props.autoSelectOff) {\r\n !this.props.hideSuggestion && event.target.select();\r\n\r\n event.target.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\r\n //after selecting the option if user clicks on dropdown user will be taken to the option selected in the list\r\n if (this.props.options.indexOf(this.state.selectedObj) >= 0) {\r\n var index = this.props.options.findIndex((val: any) =>\r\n val[this.props.searchKey]\r\n .toLowerCase()\r\n .includes(this.state.value.toLowerCase())\r\n );\r\n\r\n if (index > -1 && event.target.nextSibling)\r\n event.target.nextSibling.scrollTo(0, index * 60);\r\n //60px height of the list item\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { isShowSuggestions } = this.state;\r\n let ddCount = 0;\r\n\r\n const noData = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n let suggestions =\r\n this.state.isShowSuggestions &&\r\n !this.props.skipSearching &&\r\n this.state.value.length >= this.props.searchLength\r\n ? this.props.options.filter((item: any, i: any) => {\r\n if (\r\n item[this.props.searchKey]\r\n .toLowerCase()\r\n .includes(this.state.value.toLowerCase()) ||\r\n (this.props.options.indexOf(this.state.selectedObj) >= 0 &&\r\n !this.props.autoSelectOff)\r\n ) {\r\n ddCount++;\r\n return item;\r\n }\r\n })\r\n : this.props.skipSearching\r\n ? this.props.options.map((item: any) => {\r\n ddCount++;\r\n return item;\r\n })\r\n : null;\r\n // let suggestions =\r\n // this.state.isShowSuggestions &&\r\n // this.state.value.length >= this.props.searchLength\r\n // ? this.props.options.filter((item: any, i: any) => {\r\n // if (\r\n // item[this.props.searchKey]\r\n // .toLowerCase()\r\n // .includes(this.state.value.toLowerCase()) ||\r\n // (this.props.options.indexOf(this.state.selectedObj) >= 0 &&\r\n // !this.props.autoSelectOff)\r\n // ) {\r\n // ddCount++;\r\n // return item;\r\n // }\r\n // })\r\n // : null;\r\n suggestions &&\r\n suggestions.sort((a: any, b: any) =>\r\n a[this.props.searchKey]\r\n .toLowerCase()\r\n .indexOf(this.state.value.toLowerCase()) <\r\n b[this.props.searchKey]\r\n .toLowerCase()\r\n .indexOf(this.state.value.toLowerCase())\r\n ? -1\r\n : b[this.props.searchKey]\r\n .toLowerCase()\r\n .indexOf(this.state.value.toLowerCase()) >\r\n a[this.props.searchKey]\r\n .toLowerCase()\r\n .indexOf(this.state.value.toLowerCase())\r\n ? 1\r\n : 0\r\n );\r\n let showSuggestions =\r\n suggestions && suggestions.length > 0\r\n ? suggestions.map((item: any, i: any) => {\r\n let dropdownData = item[this.props.searchKey];\r\n return (\r\n this.onOptionSelect(item)}\r\n >\r\n
\r\n \r\n {!this.props.disableTick &&\r\n (this.state.selectedObj === item ||\r\n dropdownData === this.props.defaultValue) ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n );\r\n })\r\n : null;\r\n\r\n return (\r\n
\r\n this.onChange(e.target.value)}\r\n onFocus={this.onFocus}\r\n onBlur={this.handleBlur}\r\n value={this.state.value}\r\n readOnly={!this.props.hideSuggestion ? false : true}\r\n disabled={this.props.disabled}\r\n placeholder={this.props.placeholder}\r\n autoComplete={\r\n this.props.autoComplete ? this.props.autoComplete : \"off\"\r\n }\r\n style={\r\n this.props.isDownArrow ? { backgroundImage: `url(${down})` } : {}\r\n }\r\n />\r\n {!this.props.hideSuggestion &&\r\n isShowSuggestions &&\r\n (showSuggestions || this.props.noDataMsg) ? (\r\n
{ddCount ? showSuggestions : noData}
\r\n ) : null}\r\n {this.props.errorText && (\r\n

{this.props.errorText}

\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\n// export default React.memo(DropdownSearch);\r\nexport default DropdownSearch;\r\n","import React from \"react\";\r\nimport \"./FamilyMember.scss\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\n\r\nexport interface IFamilyMember {\r\n accountCode: string;\r\n AccountName: string;\r\n dependentOn: string;\r\n mobileList: string;\r\n panNo: string;\r\n relationshipName: string;\r\n subActiveDate: string;\r\n toEmailList: string;\r\n error: string;\r\n}\r\nexport interface FamilyMemberProps {\r\n index: number | string;\r\n type: \"email\" | \"mobile\" | \"both\";\r\n member: IFamilyMember;\r\n relationList: Array;\r\n originalRelationList?: Array;\r\n onChange: (value: string) => void;\r\n onBlur: (value: string) => void;\r\n error: string;\r\n}\r\n\r\nconst FamilyMember: React.FC = (props) => {\r\n const [isOther, setIsOther] = React.useState(false);\r\n\r\n function infoType() {\r\n switch (props.type) {\r\n case \"email\":\r\n return \"Email ID matches\";\r\n case \"mobile\":\r\n return \"Mobile number matches\";\r\n case \"both\":\r\n return \"Mobile number and Email ID matches\";\r\n }\r\n }\r\n\r\n function onRelationSelect(val: any) {\r\n // if (val.display === 'Others') {\r\n // setIsOther(true)\r\n // } else {\r\n // setIsOther(false)\r\n // }\r\n props.onChange(val.value);\r\n }\r\n let defaultValue: string = \"\";\r\n props?.originalRelationList?.forEach((relation) => {\r\n if (\r\n parseInt(relation.value.toString()) ===\r\n parseInt(props.member.relationshipName)\r\n ) {\r\n defaultValue = relation.display;\r\n return;\r\n }\r\n });\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n onRelationSelect(value)}\r\n defaultValue={defaultValue}\r\n searchLength={0}\r\n options={props.relationList}\r\n // onBlur={handleCityBlur}\r\n searchKey=\"display\"\r\n placeholder=\"Father\"\r\n noDataMsg=\"Relation with similar name not found\"\r\n // errorText={errors.city}\r\n isDownArrow={true}\r\n />\r\n
\r\n {isOther && (\r\n
\r\n \r\n {}}\r\n onChange={() => {}}\r\n type=\"text\"\r\n placeholder=\"Eg. Niece\"\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default FamilyMember;\r\n","import React, { useState } from \"react\";\r\nimport { IListInfoObj } from \"../../types/genericTypes\";\r\nimport './Tag.scss'\r\n\r\nexport interface ITagProps {\r\n defaultValue?: number | string; // default selected value\r\n tagList: Array; // list of all tags\r\n className?: string; // extra css class if needed\r\n onSelect: (id: string | number) => void; // the function to be called onSelect\r\n bool?: { lhs: any; rhs: any; className: string };//rhs will be checked with tag value\r\n}\r\n\r\nconst Tag: React.FC = (props: ITagProps) => {\r\n /**\r\n * state and function for selectedValue\r\n * selectedValue type is number | string\r\n * setSelectedValue(number | string)\r\n */\r\n const [selectedValue, setSelectedValue] = useState(props.defaultValue);\r\n\r\n React.useEffect(() => {\r\n setSelectedValue(props.defaultValue);\r\n }, [props.defaultValue]);\r\n /**\r\n * called when user selects a tag\r\n * @param value id of the selected tag\r\n * @returns onSelect prop passed from parent\r\n */\r\n function tagSelected(value: string | number) {\r\n setSelectedValue(value);\r\n return props.onSelect(value);\r\n }\r\n\r\n return (\r\n
    \r\n {props.tagList.map((tag) => (\r\n
  • tagSelected(tag.value)}>\r\n {tag.display}\r\n
  • \r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport interface IEsignTagProps extends ITagProps {\r\n isInfo?: boolean;\r\n}\r\n\r\nexport const EsignTag: React.FC = (props) => {\r\n\r\n const [selectedValue, setSelectedValue] = useState(props.defaultValue);\r\n\r\n React.useEffect(() => {\r\n setSelectedValue(props.defaultValue);\r\n }, [props.defaultValue]);\r\n\r\n function tagSelected(value: string | number) {\r\n setSelectedValue(value);\r\n return props.onSelect(value);\r\n }\r\n\r\n return (\r\n
    \r\n {props.tagList.map((tag) => {\r\n return (\r\n
  • tagSelected(tag.value)}\r\n >\r\n {props.isInfo &&\r\n {tag.info}\r\n }\r\n \r\n {tag.display}\r\n \r\n
  • \r\n )\r\n })}\r\n
\r\n );\r\n}\r\n\r\nexport default Tag;","import React from 'react';\r\nimport './Radio.scss';\r\n\r\nexport interface RadioProps {\r\n label?: string;\r\n name?: string;\r\n checked?: boolean;\r\n disabled?: boolean;\r\n className?: string;\r\n onChange?: (event: React.ChangeEvent) => void;\r\n}\r\n\r\nconst Radio: React.FC = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Radio;\r\n","import React from \"react\";\r\nimport \"./Toggle.scss\";\r\n\r\nexport interface IToggleProps {\r\n disabled?: boolean //true if toggle is disabled\r\n isOn: boolean; // true if toggle is on, else false\r\n children?: string | React.ReactElement; // text/element for label\r\n name?: string; // name for input checkbox\r\n onChange: (event: React.ChangeEvent) => void; // function to be called on change\r\n}\r\n\r\nconst Toggle: React.FC = (props: IToggleProps) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Toggle;\r\n","import React from \"react\";\r\nimport \"./Loader.scss\";\r\n\r\nexport interface ILoaderProps {\r\n\tcolor?: 'grey' | 'blue';\r\n\tsize: 18 | 20 | 100;\r\n}\r\n\r\nconst Loader: React.FC = (props: ILoaderProps) => {\r\n\tconst color = props.color || \"grey\";\r\n\treturn (\r\n\t\t
\r\n\t\t\t{Array.from(Array(12).keys(), (_, i) => (\r\n\t\t\t\t
\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default Loader;\r\n","import React from \"react\";\r\nimport \"./Button.scss\";\r\nimport Loader from \"../Loader/Loader\";\r\n\r\ninterface ButtonFields {\r\n btnName: string;\r\n disabled?: boolean;\r\n isLoading?: boolean | undefined;\r\n isSecondary?: boolean;\r\n isLightBlue?: boolean;\r\n type?: string;\r\n isTick?: boolean;\r\n isWhatsapp?: boolean;\r\n isUpload?: boolean;\r\n isAdd?: boolean;\r\n prefix?: any;\r\n clicked?: boolean;\r\n onClick?: (value: any) => void;\r\n}\r\n\r\nconst Button: React.FC = (props: any) => (\r\n \r\n {props.prefix && props.prefix}\r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const DashedButton: React.FC = (props: any) => (\r\n \r\n {/* {props.btnName}\r\n {props.isLoading && } */}\r\n {props.isLoading ? (\r\n \r\n ) : props.isAdd ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const TransparentButton: React.FC = (props: any) => (\r\n \r\n {props.prefix && props.prefix}\r\n {props.isWhatsapp ? (\r\n <>\r\n {\" \"}\r\n {\" \"}\r\n \r\n ) : null}\r\n {props.isUpload ? (\r\n <>\r\n {\" \"}\r\n {\" \"}\r\n \r\n ) : null}\r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const SubmitButton: React.FC = (props: any) => (\r\n \r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const Verify: React.FC = (props: any) => (\r\n \r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n \r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport const LightBlueButton: React.FC = (props: any) => (\r\n \r\n {props.prefix && props.prefix}\r\n {props.isWhatsapp ? (\r\n <>\r\n {\" \"}\r\n {\" \"}\r\n \r\n ) : null}\r\n {props.isUpload ? (\r\n <>\r\n {\" \"}\r\n {\" \"}\r\n \r\n ) : null}\r\n {props.isLoading ? (\r\n \r\n ) : props.isTick ? (\r\n <>\r\n {\" \"}\r\n {props.btnName}\r\n \r\n ) : (\r\n `${props.btnName}`\r\n )}\r\n \r\n);\r\n\r\nexport default Button;\r\n","import React from 'react';\r\nimport './InfoModal.scss'\r\n\r\nexport interface InfoModalProps {\r\n children: any;\r\n width: string;\r\n}\r\n\r\nconst InfoModal: React.FC = (props) => {\r\n return (\r\n
\r\n {props.children}\r\n
\r\n );\r\n}\r\n\r\nexport default InfoModal;","import { Idevice } from \"../types/device\";\r\n\r\nconst DeviceContext = () => {\r\n\tlet device: Idevice = {};\r\n\tconst updateDevice = () => {\r\n\t\tdevice = {\r\n\t\t\tisMobile: document.body.offsetWidth <= 767 ? true : false,\r\n\t\t\tisTablet: document.body.offsetWidth > 767 && document.body.offsetWidth <= 1024 ? true : false,\r\n\t\t\tisDesktop: document.body.offsetWidth > 1024 ? true : false\r\n\t\t};\r\n\t};\r\n\tupdateDevice();\r\n\r\n\treturn device;\r\n};\r\n\r\nexport default DeviceContext;","interface IConfig {\r\n root: string; //root url of application\r\n diyNewApiUrl: string; //root url of DIY REVAMP\r\n piChainNewApiUrl: string; //root url of PiChain REVAMP\r\n tempToken: string; //DIY REVAMP API TOKEN (This will be corrected by backend TEAM)\r\n diyApiUrl: string; //api bas url for diy apis\r\n apiUrl: string; //api base url of application\r\n javaComUrl: string; //java api url\r\n whatsappBearerToken: string; //Whatsapp Bearer Token for consent and communication\r\n clientId: string; //clientId for DigiLocker config\r\n redirectUri: string; //redirection url from DigiLocker to application\r\n cleverTapId: string; //CleverTap config id\r\n clientQuesttionSourceId: string; //\r\n ClientProfilingDataSourseId: string;\r\n apiKey: string;\r\n digiLockerSource: number;\r\n pricingPage:string;\r\n}\r\nconst dev: IConfig = {\r\n root: \"http://localhost:3001/\",\r\n diyNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n piChainNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/\",\r\n tempToken:\r\n \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEiLCJhcGlrZXkiOiJjNDExMjFlZC1iNmZiLWM5YTYtYmM5Yi01NzRjODI5MjllN2UiLCJuYmYiOjE2NTg0NzQ2MTgsImV4cCI6MTY1ODU2MTAxOCwiaWF0IjoxNjU4NDc0NjE4fQ.fJdG6pwqwuY196E2Y9xxm7N7ncyl23RIY0-3lAanvwI\",\r\n diyApiUrl: \"\",\r\n apiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken:\r\n \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"42\",\r\n ClientProfilingDataSourseId: \"42\",\r\n //DigiLocker config\r\n clientId: \"E517209A\",\r\n redirectUri: \"https://onboardinguat.nuvamawealth.com/showdocuments\",\r\n\r\n // CleverTap config\r\n cleverTapId: \"TEST-6Z6-556-W55Z\",\r\n apiKey: \"c41121ed-b6fb-c9a6-bc9b-574c82929e7e\",\r\n digiLockerSource: 2,\r\n pricingPage:\"https://vamauat.nuvamawealth.com/alpha/our-pricing\"\r\n};\r\n\r\nconst uat: IConfig = {\r\n root: \"https://onboardinguat.nuvamawealth.com/\",\r\n diyNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n piChainNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/\",\r\n tempToken: \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEiLCJhcGlrZXkiOiJjNDExMjFlZC1iNmZiLWM5YTYtYmM5Yi01NzRjODI5MjllN2UiLCJuYmYiOjE2NTg0NzQ2MTgsImV4cCI6MTY1ODU2MTAxOCwiaWF0IjoxNjU4NDc0NjE4fQ.fJdG6pwqwuY196E2Y9xxm7N7ncyl23RIY0-3lAanvwI\",\r\n diyApiUrl: \"\",\r\n apiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken: \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"42\",\r\n ClientProfilingDataSourseId: \"42\",\r\n //DigiLocker config\r\n clientId: \"E517209A\",\r\n redirectUri: \"https://onboardinguat.nuvamawealth.com/showdocuments\",\r\n\r\n // CleverTap config\r\n cleverTapId: \"TEST-6Z6-556-W55Z\",\r\n apiKey: \"c41121ed-b6fb-c9a6-bc9b-574c82929e7e\",\r\n digiLockerSource: 2,\r\n pricingPage:\"https://vamauat.nuvamawealth.com/alpha/our-pricing\"\r\n};\r\n\r\nconst preProd: IConfig = {\r\n root: \"https://onboardingcug.nuvamawealth.com/\",\r\n diyNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n piChainNewApiUrl: \"https://capsapi.nuvamawealth.com/DIYAPI/\",\r\n tempToken: \"\",\r\n diyApiUrl: \"\",\r\n apiUrl: \"https://capsapi.nuvamawealth.com/DIYAPIPre/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken: \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"15\",\r\n ClientProfilingDataSourseId: \"15\",\r\n //DigiLocker config\r\n clientId: \"FD8066A1\",\r\n redirectUri: \"https://onboardingcug.nuvamawealth.com/showdocuments\",\r\n\r\n // CleverTap config\r\n cleverTapId: \"TEST-6Z6-556-W55Z\",\r\n apiKey: \"c41121ed-b6fb-c9a6-bc9b-574c82929e7e\",\r\n digiLockerSource: 2,\r\n pricingPage:\"https://vamacug.nuvamawealth.com/our-pricing\"\r\n};\r\n\r\nconst prod: IConfig = {\r\n root: \"https://onboarding.nuvamawealth.com/\",\r\n diyNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n piChainNewApiUrl: \"https://capsapi.nuvamawealth.com/DIYAPI/\",\r\n tempToken: \"\",\r\n diyApiUrl: \"\",\r\n apiUrl: \"https://capsapi.nuvamawealth.com/DIYAPI/api/\",\r\n javaComUrl: \"\",\r\n whatsappBearerToken: \"Bearer eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzEyMjQ4ODEsImV4cCI6MTU4MDMyMjYwMH0.Q-IE3XqL5s8DS7QuN0TWscyzrThMi29Tbfb65wDvamg\",\r\n clientQuesttionSourceId: \"15\",\r\n ClientProfilingDataSourseId: \"15\",\r\n\r\n //DigiLocker config\r\n clientId: \"FD8066A1\",\r\n redirectUri: \"https://onboarding.nuvamawealth.com/showdocuments\",\r\n\r\n // CleverTap config\r\n cleverTapId: \"6K9-KW7-745Z\",\r\n apiKey: \"c41121ed-b6fb-c9a6-bc9b-574c82929e7e\",\r\n digiLockerSource: 2,\r\n pricingPage:\"https://www.nuvamawealth.com/our-pricing\"\r\n};\r\n\r\nconst config =\r\n process.env.REACT_APP_ENV === \"production\"\r\n ? prod\r\n : process.env.REACT_APP_ENV === \"preprod\"\r\n ? preProd\r\n : process.env.REACT_APP_ENV === \"uat\"\r\n ? uat\r\n : dev;\r\n\r\nexport default config;\r\n","export const errorMessage = {\r\n whatsAppNotify:\r\n \"Problem in connecting with our server, refresh & resubmit your request\",\r\n searchLead:\r\n \"Your contact details are already registered with us. Same details are permitted upto 4 accounts. For the 5th account request, please try with new details.\",\r\n leadCreated:\r\n \"We are facing a network issue, request you to retry after sometime\",\r\n employeeDataFailed: \"Failed to fetch Employee Details.\",\r\n citiesFailed: \"We are facing slowness, request you to retry after sometime\",\r\n otpSent: \"Click on retry button to generate new OTP.\",\r\n mobValidateOtp: \"It seems you have entered wrong OTP, re-enter correct OTP\",\r\n enableCamera: \"Enable Camera & Location to be access on your browser\",\r\n\r\n //PanInfo page\r\n panDetailsFailed:\r\n \"We faced a connectivity issue, request you to retry after sometime\",\r\n panExist:\r\n \"We faced a connectivity issue, request you to retry after sometime\",\r\n validatePAN: \"PAN details entered are invalid, retry with correct details\",\r\n clientDetailsByPan: \"Failed to fetch Pan details from our system\",\r\n clientDetailsByPanServerDown: \"Server Down, Please retry\",\r\n searchByPan: \" Failed to fetch Client details from our system\",\r\n searchByLeadId: \"Failed to fetch Client details from our system\",\r\n getCkycNumber: \"Failed to fetch CKYC Number\",\r\n getCkycDetails: \"Failed to fetch CKYC Details\",\r\n dobNotMatchWithPan:\r\n \"Date of Birth is not matching with the PAN, Please Select Corect DOB\",\r\n applicationInitialized:\r\n \"Failed to Application initialization, Please try Again\",\r\n checkPendingUpload: \"Failed to fetch pending document upload list\",\r\n getRedisData: \"Failed to fetch Digilocker document\",\r\n getClientStageDetails: \"Error in stage completion, Please try Again\",\r\n maskedAadhar: \"Error in masking Aadhar, Please try Again\",\r\n storeAadharData: \"Failed to fetch Aadhar details, Please try Again\",\r\n getUploadResponse: \"Error in uploading the file, Please try Again\",\r\n documentDetailsSaved: \"Error in Save the Documents, Please try Again\",\r\n getKraDetails: \"Failed to fetch details from KRA portal\",\r\n // imgNotMatchWithPan: 'Uploaded Image is not a Pan Card. Please check if you are uploading a Photo of Pan Card',\r\n imgNotMatchWithPan: \"Document uploaded is invalid. Upload a Valid Pan Image\",\r\n // profileForm page\r\n getEnumList: \" Failed to fetch the category lists, please reload\",\r\n getRelationshipData: \"Failed to fetch relationship data, please reload\",\r\n getAreaList: \"Failed to fetch the area list for the pincode,please reload\",\r\n getFullAddress: \"Failed to fetch pincode and area, please reload\",\r\n getCorrespondingAreaList:\r\n \"Failed to fetch the area list for the pincode, please reload\",\r\n getCorrAddress:\r\n \"Special Characters are not allowed in correspondence address\",\r\n saveRelationshipData: \"Please Select Family Relationship\",\r\n saveKycDetails:\r\n \"We faced a connectivity issue, retry resubmitting your details now\",\r\n\r\n saveBankDetails:\r\n \"We faced a connectivity issue, request you to retry after sometime\",\r\n saveBrokerageSegDetailsRes:\r\n \"We faced a connectivity issue, request you to retry after sometime\",\r\n ApplicationInProcess: \"Application is already in process with this pan\",\r\n\r\n // New error message\r\n newEsignError:\r\n \"We found delay in generating your application form due to which E-sign cannot be completed. You are requested to connect our support team for further processing the application.\",\r\n newPanUtiError:\r\n \"It seems Income Tax Website is facing intermittent connection issue\",\r\n newDigilockerError:\r\n \"There is delay in response from Digilocker Website. We suggest to opt for Non-Digilocker Option\",\r\n newCkycError:\r\n \"There is delay in response from CERSAI. We would skip the verification process to speed up your application\",\r\n newKraError:\r\n \"There is delay in response from KRA. We would skip the verification process to speed up your application\",\r\n};\r\n","const servicesList = {\r\n getCities: \"getCities\",\r\n getEnumList: \"GetEnumList\",\r\n getEmployeeDetailsByPan: \"GetEmployeeDetailsByPan\",\r\n getPanUtiDetails: \"getPanUtiDetails\",\r\n getDocumentDetails: \"getDocumentDetails\",\r\n getArea: \"getArea\",\r\n getFullAddress: \"getFullAddress\",\r\n getRelationshipData: \"getRelationshipData\",\r\n getKYCDetails: \"getKYCDetails\",\r\n saveKYCDetails: \"saveKYCDetails\",\r\n getStageCompletionStatus: \"getStageCOmpletionStatus\",\r\n getCacheData: \"getCacheData\",\r\n checkClientProfilingData: \"checkClientProfilingData\",\r\n getClientProfilingQuestion: \"getClientProfilingQuestion\",\r\n saveClientProfilingQuestion: \"saveClientProfilingQuestion\",\r\n getClientProfilingDetails: \"getClientProfilingDetails\",\r\n getOCRDocumentResponseData: \"getOCRDocumentResponseData\",\r\n getDistinctBankList: \"getDistinctBankList\",\r\n getBankCities: \"getBankCities\",\r\n getBankBranch: \"getBankBranch\",\r\n getBankDetailsFromIfsc: \"getBankDetailsFromIfsc\",\r\n getBankDetails: \"getBankDetails\",\r\n saveBankDetails: \"saveBankDetails\",\r\n getExtractDocumentData: \"getExtractDocumentData\",\r\n uploadDocumentToS3: \"uploadDocumentToS3\",\r\n saveDocumentDetails: \"saveDocumentDetails\",\r\n saveRelationshipDetails: \"saveRelationshipDetails\",\r\n getOtp: \"getOtp\",\r\n getOtpNew: \"getOtpNew\",\r\n validateOtp: \"validateOtp\",\r\n validateOtpNew:\"validateOtpNew\",\r\n getBrokerage: \"getBrokerage\",\r\n getBrokerageDetails: \"getBrokerageDetails\",\r\n saveBrokerageDetails: \"saveBrokerageDetails\",\r\n getBrokerageSegmentDetails: \"getBrokerageSegmentDetails\",\r\n saveBrokerageSegmentDetails: \"saveBrokerageSegmentDetails\",\r\n getBeneficiaryName: \"getBeneficiaryName\",\r\n downloadDocumentFromS3: \"downloadDocumentFromS3\",\r\n getClientDetailsByPan: \"getClientDetailsByPan\",\r\n getClientDataByPanOrLead: \"getClientDataByPanOrLead\",\r\n checkPanInSystem: \"checkPanInSystem\",\r\n panLinkedWithAadhar: \"panLinkedWithAadhar\",\r\n saveIpverificationDetails: \"saveIpverificationDetails\",\r\n saveUploadedDocumentDetails: \"saveUploadedDocumentDetails\",\r\n margeMultipleImagestoPDF: \"margeMultipleImagestoPDF\",\r\n getPichainBeneficiaryName: \"getPichainBeneficiaryName\",\r\n getCKYCDetails: \"getCKYCDetails\",\r\n savePanDobDetails: \"savePanDobDetails\",\r\n getKraDetails: \"getKraDetails\",\r\n redisDigilockerDoc: \"redisDigilockerDoc\",\r\n getEmployeeDetails: \"getEmployeeDetails\",\r\n searchLeadByName: \"searchLeadByName\",\r\n createLead: \"createLead\",\r\n uploadIPVMerge: \"uploadIPVMerge\",\r\n imagetoVideoIpv: \"imagetoVideoIpv\",\r\n generateAccessTokenForDigilockerJavaMW:\r\n \"generateAccessTokenForDigilockerJavaMW\",\r\n getDocListFromDigilocker: \"getDocListFromDigilocker\",\r\n getSelectedDocument: \"getSelectedDocument\",\r\n selfieLink: \"selfieLink\",\r\n getEsignLink: \"getEsignLink\",\r\n updateUtmInfo: \"updateUtmInfo\",\r\n getAccountcodeData: \"getAccountcodeData\",\r\n createApplicationTicket: \"createApplicationTicket\",\r\n whatsUpAppInitiateCommunication: \"whatsUpAppInitiateCommunication\",\r\n whatsUpAppConsent: \"whatsUpAppConsent\",\r\n generateKYCPdf: \"generateKYCPdf\",\r\n getIPVOTP: \"getIPVOTP\",\r\n ErrorBank: \"ErrorBank\",\r\n getDocumentAutoQcDetails: \"getDocumentAutoQcDetails\",\r\n saveAddressDetails: \"saveAddressDetails\",\r\n getCityByPincode: \"getCityByPincode\",\r\n verifyDocumentData: \"verifyDocumentData\",\r\n getAddressDetails: \"getAddressDetails\",\r\n saveArea: \"saveArea\",\r\n checkPhotoLiveness: \"checkPhotoLiveness\",\r\n checkLocation: \"checkLocation\",\r\n updatePanAddharLinkStatus: \"updatePanAddharLinkStatus\",\r\n createUCCRegCode: \"createUCCRegCode\",\r\n CheckRAAccount: \"CheckRAAccount\",\r\n APanVerification: \"APanVerification\",\r\n};\r\n\r\nexport default servicesList;\r\n","import { errorMessage } from \"../../utils/errorMessage\";\r\nimport serviceList from \".././serviceList\";\r\n/**\r\n * @param value The value that is required\r\n * @returns return null if value is present; error message if value is blank\r\n */\r\n\r\nfunction errorMapper(error: any) {\r\n if (error) {\r\n let errMsg = \"\";\r\n for (let i = 0; i < error.length; i++) {\r\n if (i === 0) errMsg = error[i].ErrorMessage;\r\n else if (!errMsg.includes(error[i].ErrorMessage)) {\r\n errMsg += `, ${error[i].ErrorMessage}`;\r\n }\r\n }\r\n return errMsg;\r\n }\r\n}\r\n\r\nfunction errorCodeMapper(error: any) {\r\n if (error) {\r\n let errMsg = \"\";\r\n for (let i = 0; i < error.length; i++) {\r\n if (i === 0) errMsg = error[i].ErrorCode;\r\n else if (!errMsg.includes(error[i].ErrorCode))\r\n errMsg += `, ${error[i].ErrorCode}`;\r\n }\r\n return errMsg;\r\n }\r\n}\r\n\r\nfunction msgOfErr(msgId: string) {\r\n return \"\";\r\n if (msgId) {\r\n let msg = `- ( ${msgId} )`;\r\n return msg;\r\n }\r\n return;\r\n}\r\n\r\nexport default function requestMapper(response: any, serviceName: string): any {\r\n let result;\r\n switch (serviceName) {\r\n case serviceList.getCities:\r\n result = getCitiesMapping(response);\r\n return result;\r\n case serviceList.getEnumList:\r\n result = getEnumListMapping(response);\r\n return result;\r\n case serviceList.getEmployeeDetailsByPan:\r\n result = getEmployeeDetailsByPanMapping(response);\r\n return result;\r\n case serviceList.getPanUtiDetails:\r\n result = getPanUtiDetailsMapping(response);\r\n return result;\r\n case serviceList.getDocumentDetails:\r\n result = getDocumentDetailsMapping(response);\r\n return result;\r\n case serviceList.getArea:\r\n result = getAreaMapping(response);\r\n return result;\r\n case serviceList.getFullAddress:\r\n result = getFullAddressMapping(response);\r\n return result;\r\n case serviceList.getRelationshipData:\r\n result = getRelationshipDataMapping(response);\r\n return result;\r\n case serviceList.getKYCDetails:\r\n result = getKYCDetailsMapping(response);\r\n return result;\r\n case serviceList.saveKYCDetails:\r\n result = saveKYCDetailsMapping(response);\r\n return result;\r\n case serviceList.getStageCompletionStatus:\r\n result = getStageCompletionStatusMapping(response);\r\n return result;\r\n case serviceList.getCacheData:\r\n result = getCacheDataMapping(response);\r\n return result;\r\n case serviceList.checkClientProfilingData:\r\n result = checkClientProfilingDataMapping(response);\r\n return result;\r\n case serviceList.getClientProfilingQuestion:\r\n result = getClientProfilingQuestionMapping(response);\r\n return result;\r\n case serviceList.saveClientProfilingQuestion:\r\n result = saveClientProfilingQuestionMapping(response);\r\n return result;\r\n case serviceList.getClientProfilingDetails:\r\n result = getClientProfilingDetailsMapping(response);\r\n return result;\r\n case serviceList.getOCRDocumentResponseData:\r\n result = getOCRDocumentResponseDataMapping(response);\r\n return result;\r\n case serviceList.getDistinctBankList:\r\n result = getDistinctBankListMapping(response);\r\n return result;\r\n case serviceList.getBankCities:\r\n result = getBankCitiesMapping(response);\r\n return result;\r\n case serviceList.getBankBranch:\r\n result = getBankBranchMapping(response);\r\n return result;\r\n case serviceList.getBankDetailsFromIfsc:\r\n result = getBankDetailsFromIfscMapping(response);\r\n return result;\r\n case serviceList.getBankDetails:\r\n result = getBankDetailsMapping(response);\r\n return result;\r\n case serviceList.saveBankDetails:\r\n result = saveBankDetailsMapping(response);\r\n return result;\r\n case serviceList.getExtractDocumentData:\r\n result = getExtractDocumentDataMapping(response);\r\n return result;\r\n case serviceList.uploadDocumentToS3:\r\n result = uploadDocumentToS3Mapping(response);\r\n return result;\r\n case serviceList.saveDocumentDetails:\r\n result = saveDocumentDetailsMapping(response);\r\n return result;\r\n case serviceList.saveRelationshipDetails:\r\n result = saveRelationshipDetailsMapping(response);\r\n return result;\r\n case serviceList.getBrokerage:\r\n result = getBrokerageMapping(response);\r\n return result;\r\n case serviceList.getBrokerageDetails:\r\n result = getBrokerageDetailsMapping(response);\r\n return result;\r\n case serviceList.saveBrokerageDetails:\r\n result = saveBrokerageDetailsMapping(response);\r\n return result;\r\n case serviceList.getBrokerageSegmentDetails:\r\n result = getBrokerageSegmentDetailsMapping(response);\r\n return result;\r\n case serviceList.saveBrokerageSegmentDetails:\r\n result = saveBrokerageSegmentDetailsMapping(response);\r\n return result;\r\n case serviceList.getBeneficiaryName:\r\n result = getBeneficiaryNameMapping(response);\r\n return result;\r\n case serviceList.downloadDocumentFromS3:\r\n result = downloadDocumentFromS3Mapping(response);\r\n return result;\r\n case serviceList.getOtp:\r\n result = getOtpMapping(response);\r\n return result;\r\n case serviceList.getOtpNew:\r\n result = getOtpNewMapping(response);\r\n return result; \r\n case serviceList.validateOtp:\r\n result = validateOtpMapping(response);\r\n case serviceList.validateOtpNew:\r\n result = validateOtpNewMapping(response); \r\n return result;\r\n case serviceList.getClientDetailsByPan:\r\n result = getClientDetailsByPanMapping(response);\r\n return result;\r\n case serviceList.getClientDataByPanOrLead:\r\n result = getClientDataByPanOrLeadMapping(response);\r\n return result;\r\n case serviceList.checkPanInSystem:\r\n result = checkPanInSystemMapping(response);\r\n return result;\r\n case serviceList.panLinkedWithAadhar:\r\n result = panLinkedWithAadharMapping(response);\r\n return result;\r\n case serviceList.saveIpverificationDetails:\r\n result = saveIpverificationDetailsMapping(response);\r\n return result;\r\n case serviceList.saveUploadedDocumentDetails:\r\n result = saveUploadedDocumentDetailsMapping(response);\r\n return result;\r\n case serviceList.margeMultipleImagestoPDF:\r\n result = margeMultipleImagestoPDFMapping(response);\r\n return result;\r\n case serviceList.getPichainBeneficiaryName:\r\n result = getPichainBeneficiaryNameMapping(response);\r\n return result;\r\n case serviceList.getCKYCDetails:\r\n result = getCKYCDetailsMapping(response);\r\n return result;\r\n case serviceList.savePanDobDetails:\r\n result = savePanDobDetailsMapping(response);\r\n return result;\r\n case serviceList.getKraDetails:\r\n result = getKraDetailsMapping(response);\r\n return result;\r\n case serviceList.redisDigilockerDoc:\r\n result = redisDigilockerDocMapping(response);\r\n return result;\r\n case serviceList.getEmployeeDetails:\r\n result = getEmployeeDetailsMapping(response);\r\n return result;\r\n case serviceList.searchLeadByName:\r\n result = searchLeadByNameMapping(response);\r\n return result;\r\n case serviceList.createLead:\r\n result = createLeadMapping(response);\r\n return result;\r\n case serviceList.uploadIPVMerge:\r\n result = uploadIPVMergeMapping(response);\r\n return result;\r\n case serviceList.imagetoVideoIpv:\r\n result = imagetoVideoIpvMapping(response);\r\n return result;\r\n case serviceList.generateAccessTokenForDigilockerJavaMW:\r\n result = generateAccessTokenForDigilockerJavaMWMapping(response);\r\n return result;\r\n case serviceList.getDocListFromDigilocker:\r\n result = getDocListFromDigilockerMapping(response);\r\n return result;\r\n case serviceList.getSelectedDocument:\r\n result = getSelectedDocumentMapping(response);\r\n return result;\r\n case serviceList.selfieLink:\r\n result = selfieLinkMapping(response);\r\n return result;\r\n case serviceList.getEsignLink:\r\n result = getEsignLinkMapping(response);\r\n return result;\r\n case serviceList.updateUtmInfo:\r\n result = updateUtmInfoMapping(response);\r\n return result;\r\n case serviceList.getAccountcodeData:\r\n result = getAccountcodeDataMapping(response);\r\n return result;\r\n case serviceList.createApplicationTicket:\r\n result = createApplicationTicketMapping(response);\r\n return result;\r\n case serviceList.whatsUpAppInitiateCommunication:\r\n result = whatsUpAppInitiateCommunicationMapping(response);\r\n return result;\r\n case serviceList.whatsUpAppConsent:\r\n result = whatsUpAppConsentMapping(response);\r\n return result;\r\n case serviceList.generateKYCPdf:\r\n result = generateKYCPdfMapping(response);\r\n return result;\r\n case serviceList.getIPVOTP:\r\n result = getIPVOTPMapping(response);\r\n return result;\r\n case serviceList.ErrorBank:\r\n result = getErrorBank(response);\r\n case serviceList.getDocumentAutoQcDetails:\r\n result = getDocumentAutoQcDetailsMapping(response);\r\n return result;\r\n case serviceList.saveAddressDetails:\r\n result = saveAddressDetailsMapping(response);\r\n return result;\r\n case serviceList.getCityByPincode:\r\n result = getCityByPincodeMapping(response);\r\n return result;\r\n case serviceList.verifyDocumentData:\r\n result = verifyDocumentDataMapping(response);\r\n return result;\r\n case serviceList.getAddressDetails:\r\n result = getAddressDetailsMapping(response);\r\n return result;\r\n case serviceList.saveArea:\r\n result = saveAreaMapping(response);\r\n return result;\r\n\r\n case serviceList.checkPhotoLiveness:\r\n result = checkPhotoLivenessMapping(response);\r\n return result;\r\n case serviceList.checkLocation:\r\n result = checkLocationMapping(response);\r\n return result;\r\n case serviceList.updatePanAddharLinkStatus:\r\n result = updatePanAddharLinkStatusMapping(response);\r\n return result;\r\n case serviceList.createUCCRegCode:\r\n result = createUCCRegCodeMapping(response);\r\n return result;\r\n case serviceList.CheckRAAccount:\r\n result = checkRARelationShipMapper(response);\r\n return result;\r\n case serviceList.APanVerification:\r\n result = panVerificationMapper(response);\r\n return result;\r\n default:\r\n break;\r\n // code block\r\n }\r\n}\r\nfunction panVerificationMapper(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction checkRARelationShipMapper(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction getCitiesMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n city: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getEnumListMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n enumlist: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getEmployeeDetailsByPanMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n console.log(\"res.ContentData====>\", res);\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction getPanUtiDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n console.log(\"res.ContentData====>\", res);\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n // error: errorMessage.newPanUtiError,\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction getDocumentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getAreaMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n areas: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getFullAddressMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData[0],\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getRelationshipDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n emailMatchedList: res.ContentData.EmailMatchedList,\r\n mobileMatchedList: res.ContentData.MobileMatchedList,\r\n IsRelationshipFromIbeats: res.ContentData.IsRelationshipFromIbeats,\r\n IsSavedRelationship: res.ContentData.IsSavedRelationship,\r\n AvailableRelationshipTagEmail:\r\n res.ContentData.AvailableRelationshipTagEmail,\r\n AvailableRelationshipTagMobile:\r\n res.ContentData.AvailableRelationshipTagMobile,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getKYCDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction saveKYCDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getStageCompletionStatusMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getCacheDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n ...res.ContentData,\r\n data: res.ContentData.Data,\r\n },\r\n // data: {\r\n // IsTaggingPresent: true,\r\n // TaggingMode: \"1\",\r\n // data: JSON.stringify({\r\n // AppCorAddProof: \"31\",\r\n // AppPerAddProof: \"31\",\r\n // AppCorAdd1: \"C/O Gangappa H, U rajapura, Rajapura, Rajapur,\",\r\n // AppCorAdd2: \"Bellary, KARNATAKA, 583115, INDIA\",\r\n // AppCorAdd3: \"\",\r\n // AppCorPincd: \"583115\",\r\n // AppPerAdd1: \"C/O Gangappa H, U rajapura, Rajapura, Rajapur,\",\r\n // AppPerAdd2: \"Bellary, KARNATAKA, 583115, INDIA\",\r\n // AppPerAdd3: \"\",\r\n // AppPerPincd: \"583115\",\r\n // ErrorCode: null,\r\n // ErrorMsg: null,\r\n // AppPerAreaList: null,\r\n // AppRemarks: \"\",\r\n // AppErrorDesc: \"\",\r\n // KraXmlResult:\r\n // 'I22/12/2023PNWPS5327EYN01Y01/01/1900MSanna HGangappa H30/06/199401/01/180001RR31NC/O Gangappa H, U rajapura, Rajapura, Rajapur,Bellary, KARNATAKA, 583115, INDIABellary5831150291019481323991tthippesha922@gmail.com313122/12/2023C/O Gangappa H, U rajapura, Rajapura, Rajapur,Bellary, KARNATAKA, 583115, INDIABellary5831150291013122/12/202399SCAMSKRA0201/01/18000712/03/2024S01/01/1800CAMSKRAIS12894V33CVL21834517902-05-2024 00:00:001',\r\n // AppStatus: \"07\",\r\n // KraMobile: \"9481323991\",\r\n // KraEmail: \"tthippesha922@gmail.com\",\r\n // kra_mode: \"4\",\r\n // AppCorState: \"Karnataka\",\r\n // AppPerState: \"Karnataka\",\r\n // AppCorCity: \"Bellary\",\r\n // AppPerCity: \"Bellary\",\r\n // FatherName: \"Gangappa H\",\r\n // ImageDetails: [\r\n // {\r\n // ImageCode: \"31\",\r\n // DocumentId: \"117\",\r\n // DocumentCategoryId: 4,\r\n // MimeType: \"image/jpeg\",\r\n // Image:\r\n // \"/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCALQBQADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooASjNcD8av+SR65/wBsP/R8dfIvetadHnV7gffHeivgjHOK049CvpdJOppGrWyg5IYZGDg8VUqCjvIqEJTdoq59yUV8FKjO4VRkscAVoarol7o3lfbEVfNzt2sD0xn+dDopOzlqwUJOLkloj7mor4Goq/qz7kXPvmivgaij6s+4XPvmivgaij6s+4XPvmivgaij6s+4XPvilr4Gr74rGpT9mMWiiiswCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA4D41f8kj1z/th/wCj46+Ra+uvjV/ySPXP+2H/AKPjr5Frsw/wsTOr8F+ANb8c3kkWmRpHbxH99dTHEcfoOOSfYfpXr+k/B7WdC02e2OoWd/C6ljEEKHJGCBnggj1xXJ6f8T9M8NfCOPQPD7XMOuuD5s5jChWZsuwbPUL8oP09K5XwX8Q9Z8NeKIL+fUruezlnDX0UkjSCVScM2CeXxyD61FWnKqmma0K0qM+eJrNa+FNE1CWd3CXELkeSxYmJ14I24yDn19Ky7CwuviZ40i060litS8beUZskKqgtzjuaPij4h0TxT4xbV9EWdY57dBP5ybSZVyucZ6bQlRfDPxJYeE/G9rq+peb9mijkVvKTc2WUgcVNPD8i57ts6K+NlVjyJJLyLt78M3j0OfU9O1/TdS+xzpBfRW+79wzNtGCR8wyeoqBfhrqD/El/BQvrb7Yq7vPw3l/6rzPTPQ4pnhnxVZ6L4T8VWEok+16ibZrXCZXMcjMdxzx1FdufiH4JTxRL4+iTVT4gkt9g01gvlLJ5ezO/+7gfXvjtW15o4jg5/h9qSf8ACNm3nhuY9efy4HjBxG4YKytx2z+hrVPwt+ywXl5qviTTtP0+G6ezhuZEci4lXIYKAM4DBlz/ALJq/wCA/iRpegeHJbbVop5b+wuJbvSWRdyrJJEyFTzwuWJ/4F7VV0rxL4U17wba6D4yk1KC40+eW4try0AcyCRtzq2c8kn9Bz6jlMQg+D+pHxENG/tnS9x0v+1Bc728ny9+372OnfPTFKfhZaf2THrS+NNHOi7vKlvCrgpLx8gTGSec9uBmtiT4jeGF1R5LKK9ish4UbRoY5EBdZN3ygnPIx3riV8QWQ+FLeHP3n28619t+78nl+SE65657Uk6jGbH/AAqbVP8AhJptM/tKx+ww2S6g+qbz5AgbOGz74P5E5qtrPw6Fh4TuvE2n+IdO1TTYZlhzbhg+4kDBUj5TyDg9jmuks/iToIez0y+hu30i58N2+kX7xKBLFLHv+ZM9V+c/5GDQ1bxH4L0/4cap4W8OSapcS3F1HOLi7jUByCucYxgADuOuaE6lwPMK++a+Bq++ajE7oEFFFFcwwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOA+Nf/JJNc/7Yf+j46+Ra+3/FHh2z8WeHbrRL+SeO2udm9oCA42urjBII6qO1ed/8M6+Ev+gjrf8A3+i/+NVvSqxgrMLHzJRX03/wzr4R/wCglrf/AH+i/wDjVH/DOvhH/oJa3/3/AIv/AI3W31iIrM+ZKK+m/wDhnXwj/wBBLW/+/wDF/wDG6P8AhnXwj/0Etb/7/wAX/wAbo+sRCx8yUV9N/wDDOvhH/oJa3/3/AIv/AI3R/wAM6+Ef+glrf/f+L/43R9YiFj5kor6b/wCGdfCP/QS1v/v/ABf/ABuj/hnXwj/0Etb/AO/8X/xuj6xELHzJRX03/wAM6+Ef+glrf/f+L/43R/wzr4R/6CWt/wDf+L/43R9YiFj5kor6b/4Z18I/9BLW/wDv/F/8bo/4Z18I/wDQS1v/AL/Rf/GqPrEQsz5kr757V5D/AMM6+Ev+gjrf/f6L/wCN167WFaop2sMWiiisQCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopjsFUsc8DPAzQA+is3Rdb0/xDpcWp6Vci4s5c7JNhXOCQeGAI5B6imaH4i0rxJbT3GkXguooJ2t5GVWGJFxkfMBnqORxQBq0VnWGt2Gp3l/aWU5lmsJRDcjy2AR8ZxkjB49M1o0AFFFFABRRRQAUUUUAFFczrPj7wx4f1BrDUtVSO6Vd8kccUkpjX1fYDs9fmxxzU+qeMNB0fRrXV73UVGn3bqkE8UbyiQsCQAEBJyAaAN+iuc0XxxoHiC/+xaZdXEs+wvteyniGB15dAO/rVC6+KPg+yvLq1uNUkSW0maGfFlOVjdTggsE28euaAOyorIvfEuj6f4dOv3F8n9lBFf7TGDIpViACNoJPJFawIIyDwaAForjbv4o+D7G8urW41aRJbSZoZ/9CnKxupwQWCbfxzXVWl3b31pFd2k8c9vMoeOWNgyuD3BFAFiiiigAorM1XXtO0SSxTUJzE19c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KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvJtR8ea1ovxT1KG6nSTwvaS2ttcJ5ag2xnjyku7GcbwQcngGvWa8y07SrTXPiJ8SNLvo/MtbqCxjkHsYW5HuOo+lAG9qWs6hB8TtD0eK422F1Y3E00WxTuZSu05xkdexqxrHxA8LaDfPY6jq6R3MYBljjiklMQ/29inZ/wLFeb+E7y/T4p6J4f1dmfUtDs7q0aUjHnQ/IYpPxT8fl5rWvfFF3e6r4mgTX9C8M2enXBhlW4tllnujs5dgzr8rcAYBJxigD0S78QaVZaMmsT3sf9nSeXsuEy6sHIVSNueCWHNZNv8SPB9zfSWcev2okRWfc+5I2C/eKyMAjY5+6T0NeduiSfsy6ejAMjGFSCOCPtQrrfiBptjJq3gaB7SFoY9YSNIzGNoXy2OMenyrx7UAdHoPjPw/4luJrfSdRWeeFQzxNG8b7T0YBwCV9xxVXVviJ4U0TUXsNQ1eOO5iKiVVikkERPTeyqVT/AIERWXquE+Nfh50ADS6VdI7ADLKGUgE+gOa4nwh/aMWk6rZT+OtJ0eZL25+32V9YxvJkscu7PIpYMuOcYxx2oA9c1TxJo+jaZBqV/fxx2Vw6RxTKC6uX+7jaDwfXp3rXrgtMTw34Y+HGi22t6naappkbpHb3cttvSRixMZCjdjHY9sV3tAEV1cxWdpNdTttihjaRz6KBk1zdt4k1uS1tNSl8Or/Zd0Yypt7szXSI5G12hEYXAyCwV2wMkZxXRX0ogsLiU20l0EjZjBEoZpMD7oBIBJ6YJrzY3ekWVukvgfxHKuofu1Tw8brz1PzjcjW75eHAJB2FAoHIwKF8QPY9Avtd0fS7mG21DVbG0nn/ANVFcXCRtJzj5QSCeeOKW/1zSNK3f2jqtjZ7QrN9ouEjwGJCk7iOpU49cH0rzTxjqQ8zxnYpdabYTzW3lG0lgee81AeRw0QMgCpyV4RgCrscc1s+HPs1748s75PLmb/hGLUxTdeGkfOD74FKOv8AXk3+g3or/wBbpfqdodX0xbKG9Oo2gtZxmGczrsk4LfK2cHgE8dgTRpusaXrMLzaXqVnfRI213tZ1lVT1wSpODXmS28M9rpltLEjwJ42uAsZUbRhpmHH15rb16X7L4u8SSJZtdA+Gld7eJijTkSTDG5eQcZGRz6UX0v8A18Nx8vvW/r4uX/gnX2Gu6PqtxNb6dqtjeTQf62O3uEkaPnHzBSSOfWtCvKNH1SK48d+FNutaRfxJZXNvH/ZVuY4IjsjIiLmR8thSduQQFzjmvV6pqxCdzI0PXP7Z0+7uvs/k/Z7u4ttu/du8pym7OBjOM47e9SeHNX/t/wAOafq3keR9rhWXyt+7ZntnAz+Vcb4V8OWOoaXq91PPqiSHVb4EW+q3MKcTP/AkgX9Oa3vhzx8OfD4/6co/5Uo6r5L8UVLRv1f5nT0UUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACqsVjaQXlxdw2sMdzc7fPmSMB5dowu5urYHTPSrVY174r8O6ZdvaX+v6XaXKY3wz3kaOuRkZUtnoc0AXjptidRXUTZW5vhH5QuTEPNCddu7Gce1QXOg6PeagmoXWk2E97HjZcy2yNIuOmGIyKtpcwSWwuUmja3K7xIGBUr656YqOw1Gx1W1F1p17b3duxIWa3lWRCR15UkUAR/wBjaYdNXTTptp9hUgi18hfKGDuHyYx156damnsrW6kgkuLaGZ7d/MhaSMMY3xjcuehwTyKjTU7CTUpNOjvrZr6Nd8lqJVMqr/eK5yByOake+tI72Kye6gW6lQvHAZAHdR1IXqQPWgAextJL2O9e1ga6iUpHOYwXRT1AbqAfSqd/4c0PVLpbnUdG0+8uFACy3FqkjgexYZrVooAqXen2V/brBeWdvcQowdI5ow6qy9CAe4q3RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV45JrPhPSPiv40Hih7ILKll5C3MHm7sQ/MAMH1XjvXsdcfoOi6hZfEXxbqtxb7LLUFsxay71PmFIyr8A5GD6gUAcBYi+07wBrFhp9tNYw+I9aez0W2mUoYoZeC4U8qu0O2Px711Hgm0i8HeNNZ8HRHbYzxpqenqT2ICSr+DKDj3q54i8IyeLvHNodXtZG8P6fZs0RW5MZluXYD+Bgw2qOvHWs/U/h3FoOt6Fr3hKwma7s7vbdQyXrv5lu4KvgyuQCOuB1oA5fXLG9T4meLvEukqzaloDWNysan/XwNCRNGfqoyPpXU/2raa58UfB+qWMvmWt1pFzLG3sdvB9x0I9Qa2tB0XULP4i+LtUuLfZY6gtmLaXep8zZGVfgHIwT3A9q5rQvAmr6B8VY7i3iRvDMEVxJav5igwNNtLRbc5wGBIwMYbrQB3Ntc6+3i2+t7mxt00FIEa1ulf95JL/ABKRu6D/AHR9TW5WHbXOvt4tvra4sbdNCS3Rra6V/wB5JKfvKRnoP90fU1uUAFeb63HoEnxQvP7e0f8AtJBpNv5S/wBlSX2w+bLk4RH2545OM16RWVFovleKrrW/tGfPs4rXydn3djO27dnnO/GMdqX2k/62Y7+61/W6PPNb0yR/hnqlmYrmw0661eAWELIY5Le3aeIDCtynzb2VSBgEDA6Voz6lcXd34XsNRfOq6brYt7s4x5h+zylZQPR1w3scjsa7LxFov9v6ULH7R5GLiGbfs3f6uRXxjI67ce2aztZ8Gwar4t0bxCl09vcae5MqKuVuV2sFDcjlS7YPONzDvTW69V+FtfwB7P0f43OZeFf7E1LwY24LPrZs0XJybeX/AEh+RggeWZFz7U7Ty2oQeE/DksheTTr6b7UG5LLZ5VCc+rNC34iurbwvGfG6+JPtLDFqITahflMgyBLnPXaxXGOh9qLHwxHY+L9S18XTP9siVFtyvETYUOwOedwSPjHG33ojpb+tVt/n8xS1vb+r7/n+B59ptt4Zn03XVuvDU19q7alfCO4g0aWRy3mvs23ATapHHO8bfUYrf1TSNS2aLda9ojeJLW203y7uzj8uQrdYUmXy5GCyHAZRyWGeAdxrrNA0X+w7O5t/tHn+deT3W7Ztx5khfb1PTOM96j1LS9Uk1Fb/AEnWBaS+X5UkF1C1xbuMkhggdCr8/eDcjgg8EJaJLyX4IctZN+b/ADOX+z2N74L8Q6f4TjuXeciJ9JmT7ObPzFUMqxyBDGpUl8dCcletWtHs7Gx1W50I+HtO8PajeWTvDdaOUYvGCFbD+UhDqWU4Kkcg5ODjTPhe4ls9SeTV5YdX1Dyy99Zp5IjMf3AiFm+X1DM27LDOCAGx+F7u7vLi+1rVjPePaPZwSafE1oLeN8FmX53beSF+bdxtGAOct7/12/zEtv67mJZ6fY+HvHml2Nhpp0e3kt5YWuG2/wDE0cKGGShO51wzbpcMfmwDkmob3QtH0vX9F0zQo2fxILpbq6v87rj7PuzK1xIByHGVCnjJG0Dbx0EHhnVJb+wutY1qK9Omqxs1iszF+8KFPMlJdt7bSem0ck46YreHPCuu+HgyrrWlXHnz+feTPpcgnuWJ5Jf7QQDjgfLgcYGOKa3Xl/n/AFf+rJ7Nd/6/4b+r5fifwn4d1fxNp2hxaBpqS3LNqGoXMdnGJPKRh8u/GQXcgE5yQGqLWbKxufiddpd+Exr6ppNvsjEVs/k/vJef3zqBn2z0rtYNH8rxPe6084c3FrDbJF5eDGEZ2PzZ5yX6YH3e9Z97oGrf8JRNrelarZWzTWkdrJFdWDzjCM7AgrKmPv8Av0qVpb5/k1/kU+vy/NN/qaWg21ta6VHHaaINGi3MfsYjiTYc9cRMyc9eDWlVTTo9Ritiup3Vrcz7jh7a2aBcdhtZ3OffP4VbqmSgooopDCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorhbvxrrsni3WNC0TwtFqB0tYTLNJqawZ8xNwwpQ+469qAO6orl/DfjGPXNQu9JvdOudK1q0UST2VwVb5D0dHU4de2RXUUAFFY2v+IrTw5b2c15HO63V5FZxiJQSHkOFJyRxWzQAUUUUAFFFcVfeIfEF345m8P6DHpixWNvFcXkl8JCz72OFTYeOB1OevSgDtaKz9b1H+x9D1DU/K877HbSXHl7tu/YpbGcHGcVwy/ErWrXRLLX9W8IfZdCuVidryDUlmaJJCNrGPYpx8woA9JorLubzU49a0+2ttLE+nzK5ub03Cr9nIHyjZ1fceOOlalABRWNZ+IrS98SanoUUU4utOjikmdlGxhICRtOc9ucgVU0PX7rU/FXiXSpo4Vh0uWBIWQEMwePed3Pr6AUAdJRRRQAUUVDdXdtYWsl1eXEVvbxDdJLM4REHqSeBQBNRVay1Gx1GyW9sb23urVs4nglV0OOD8wOOKj03V9M1mBp9L1G0voUbY0lrOsqhuuCVJ55FAF2is+913R9NtxcX+q2NrCZDEJJ7hEUuM5XJONwweOvBqe81Cy06ya9vry3tbVcFp55VRBngZYnHORQBZoqtBqNjc6eNQt7y3lsihcXEcqtGVHU7gcYGDzUhuIFkijM0YkmBMalhl8cnA74HpQBLRVG81rStOure1vtTs7W4uTiCKedUeU5xhQTluSBx60upaxpejRJLqmpWdjHI21Hup1iDH0BYjJoAu0Um5Sm4MNuM5zxio7a5gvLaO5tZ454JF3JLE4ZWHqCOCKAJaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArgfC3/JXPHv8AuWH/AKKau+ridT+HFrqHiK/1qDxD4g0y5vxGs66fdLEjbF2r/AT09+5o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ZGkazZT32lntFKOZoR7c7h6D616vr/hy08RDThdyTp9gvor6LymA3PHnAbIPy884wfeq/jDwdpfjfRf7L1USrEJBLHLAwWSNh3BII6Ejkd6XT+vId9TkfEbS31t4F8ONcTwadqpxeNC5RpEjhDCPcOQGPBx6VHqOg6d4D8beF5PDUT2SandPaXdnFKxjnTYSHKk9VPOR612mseEdK1zQ7fSrxZhHalGtpopCksLoMK6sOjCquj+BrLStXTVrjUtU1a/iQxwTalcCQwKfvBAFAGe5xmn1J+zbyLtt4ZsrXxbe+JEluDeXkCQSIzjywq9MDGc/jW3WLbeGbK18W33iRJbg3l5AkEkbOPLCr0wMZz+NbVHQfUWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKhubiKztZrmdisMKGR2AJwAMngcn8KAJqK4Q/GLwIrqh1qUM3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ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACq01jaXNzBcz2kEs9sS0ErxhmiJGCVJ5XI44qzRQAUUUUAFFFFABRRRQAVmal4e0XWJFfVNIsL51GFa6tklKj23A1p0UAQW9tDaQJBbQxwwoMJHGoVVHsBwKnoooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBCAQQRkHrVezsrXTrRLWytYba3j+5FBGEReeyjgdas0UAFFFFABRRRQAUUUUAFFFFAGTe+GdB1O6+1X+iabd3HH72e0jkf8AMjNaSRqiKiIEVRgKvAA9KkooAKKKKACiiigAooooAKKKKAMzUvD2i6xIr6ppFhfOowrXVskpUe24GrlvbQ2kCQW0McMKDCRxqFVR7AcCp6KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK5Hx0NSki0ODS76SzuptSAR1YhWKwyuFcAjchZRkVnaF4tmvr9pQ2I7zWVs3hnYk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09uhlGOnzkZ44rSooAzRoelJey30OnWkV9KcvdpboJScEZ3YyTgnrT7bSbG10m30xLdHs4EVEjlG8fLjBOepyM59eav0UAZ15omk6gk0d7pVlcpO6yTLNbo4kZRgM2RyQAACamg06xtUhS3s7eJIM+SscSqI89duBxn2q3RQBVjsrWFo2itYUaNWSMrGAVDEFgPQEgE+uBVS48N6Hdm3NxounTfZk8uAyWqN5Sf3VyPlHsK1aKAM+HSrSJ79jH5pv333AkAYONoQLjpt2gDH1z1qWTTbGbzvNsrd/OiEMu6JT5kYzhG45Xk8Hjk1booAzp9E0m4v0v7jS7KW8QKq3D26NIoU5UBiM4B5HvUy2FmjxulpArRu8iERgFXfO9h6FsnJ75Oat0UAZU/h3Q7ow/aNG0+XyQoi8y1RvL2527cjjGTjHTJp8uhaRPqY1KbSrGS/XGLp7dDKMdPnIzxxWlRQBDHBFCXMUSR+Yxd9qgbm9T6n3qaiigDNvNA0fUbOKzvtJsbm1hbdHBNbI6IfUKRgdTS3ehaRqEltJe6VY3L2v/Hu01ujmHp9wkfL0HT0rRooAoalo+mazCkGqadaX0SNvRLqBZVB6ZAYHmmS6Do89/BfTaVYyXluAsFw9sjSRAdArYyuPatKigDNl0HSJ9UTU5tKsZNQTGy7e3Qyrjph8Zq3BbQWqMsEEcKvIZGEaBQzMcljjuTyTU9FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k=\",\r\n // DocumentNumber: \"\",\r\n // },\r\n // ],\r\n // AppCorAddRef: \"31\",\r\n // AppPerAddRef: \"\",\r\n // Name: \"Sanna H\",\r\n // DOB: \"30/06/1994\",\r\n // PAN: \"PNWPS5327E\",\r\n // }),\r\n // },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction checkClientProfilingDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getClientProfilingQuestionMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveClientProfilingQuestionMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getClientProfilingDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: JSON.parse(res.ContentData).IsClientProfilingCompleted,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getOCRDocumentResponseDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData !== null ? res.ContentData : \"Record Not Found\",\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getDistinctBankListMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n banknames: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBankCitiesMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n bankcities: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBankBranchMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n bankbranches: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBankDetailsFromIfscMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n ecoIBeatsBank: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBankDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData !== null ? res.ContentData : \"Record Not Found\",\r\n statusMessage: res.RequestResult.Status,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n statusMessage: res.RequestResult.Status,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction saveBankDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getExtractDocumentDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData ? res.ContentData : {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction uploadDocumentToS3Mapping(res: any) {\r\n let result = {};\r\n console.log(\"uploadDocumentToS3Mapping\", res);\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n errorCode: `${errorCodeMapper(res.RequestResult.Errors)}`,\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveDocumentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveRelationshipDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBrokerageMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData[0],\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBrokerageDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n brokerageDetails: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveBrokerageDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBrokerageSegmentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: {\r\n dbelist: res.ContentData,\r\n },\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveBrokerageSegmentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getBeneficiaryNameMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction downloadDocumentFromS3Mapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getOtpMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getOtpNewMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction validateOtpMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction validateOtpNewMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction getClientDetailsByPanMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData != null ? res.ContentData : \"Records Not Found\",\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction getClientDataByPanOrLeadMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction checkPanInSystemMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction panLinkedWithAadharMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction saveIpverificationDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveUploadedDocumentDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction margeMultipleImagestoPDFMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getPichainBeneficiaryNameMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getCKYCDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: errorMessage.newCkycError,\r\n errMsg: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction savePanDobDetailsMapping(res: any) {\r\n console.log(\"savePanDobDetailsMapping\", res);\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n console.log(result);\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getKraDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: errorMessage.newKraError,\r\n errMsg: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction redisDigilockerDocMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getEmployeeDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getAccountcodeDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction searchLeadByNameMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n existedFieldDetails: {\r\n mob: res?.RequestResult?.Errors?.find((x: any) => x.Field == \"Mobileno\")\r\n ? true\r\n : false,\r\n email: res?.RequestResult?.Errors.find((x: any) => x.Field == \"Email\")\r\n ? true\r\n : false,\r\n },\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction createLeadMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction uploadIPVMergeMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction imagetoVideoIpvMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction generateAccessTokenForDigilockerJavaMWMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: errorMessage.newDigilockerError,\r\n errMsg: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getDocListFromDigilockerMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: errorMessage.newDigilockerError,\r\n errMsg: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getSelectedDocumentMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n // error: errorMessage.newDigilockerError,\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction selfieLinkMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getEsignLinkMapping(res: any) {\r\n console.log(res, \"PPPP\");\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n // error: errorMessage.newEsignError,\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction updateUtmInfoMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction createApplicationTicketMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction whatsUpAppInitiateCommunicationMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction whatsUpAppConsentMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction generateKYCPdfMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n errMsg: \"\",\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction getIPVOTPMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getErrorBank(res: any) {\r\n let result = {};\r\n if (res.ProductId === \"1\") {\r\n result = {\r\n status: true,\r\n dataSource: res.DataSource,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n}\r\nfunction getDocumentAutoQcDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveAreaMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\nfunction saveAddressDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction getCityByPincodeMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction verifyDocumentDataMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction getAddressDetailsMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction checkLocationMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\nfunction checkPhotoLivenessMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n return result;\r\n}\r\n\r\nfunction updatePanAddharLinkStatusMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction createUCCRegCodeMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n result = {\r\n status: true,\r\n msgID: res.RequestResult.RequestId,\r\n data: res.ContentData,\r\n };\r\n } else {\r\n result = {\r\n status: false,\r\n msgID: res.RequestResult.RequestId,\r\n data: {},\r\n error: `${errorMapper(res.RequestResult.Errors)}${msgOfErr(\r\n res.RequestResult.RequestId\r\n )}`,\r\n };\r\n }\r\n\r\n return result;\r\n}\r\n","import config from \"../../config/domain\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport requestMapper from \"./mapper/serviceMapper\";\r\nimport { statusUrl } from \"../utils/constants\";\r\n\r\ninterface callReq {\r\n apiBaseUrl?: string;\r\n url: string;\r\n method: string;\r\n body?: {};\r\n authType?: \"bearer\" | \"authtoken\";\r\n appidkey?: string;\r\n source?: string;\r\n sourcetoken?: string;\r\n headers?: object;\r\n tempToken?: string | boolean;\r\n serviceName?: any;\r\n}\r\n\r\nexport const apiService = async (req: callReq, callback: CallableFunction) => {\r\n const params: any = {\r\n method: req.method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"api-key\" : config.apiKey\r\n },\r\n };\r\n\r\n if (req.appidkey) {\r\n params.headers[\"appidkey\"] = req.appidkey;\r\n }\r\n\r\n if (req.headers) params.headers = { ...params.headers, ...req.headers };\r\n\r\n // if (GlobalStore.token !== \"\")\r\n // params.headers = { ...params.headers, mwAuth: GlobalStore.token };\r\n if (GlobalStore.token !== \"\" && req.tempToken !== false)\r\n params.headers = {\r\n ...params.headers,\r\n Authorization: \"Bearer \" + GlobalStore.token,\r\n };\r\n\r\n let clientPartialDetails = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n !GlobalStore.token &&\r\n clientPartialDetails.token &&\r\n req.tempToken !== false\r\n ) {\r\n params.headers = {\r\n ...params.headers,\r\n Authorization: \"Bearer \" + clientPartialDetails.token,\r\n };\r\n }\r\n\r\n if (req.method === \"POST\" || req.method === \"PUT\" || req.method === \"DELETE\")\r\n params[\"body\"] = JSON.stringify(req.body);\r\n\r\n try {\r\n let URL = req.apiBaseUrl ? req.apiBaseUrl : config.apiUrl;\r\n const resp = await fetch(URL + req.url, params);\r\n const newResp = await resp.json();\r\n // handle 401 response \r\n if(newResp.RequestResult.Status.StatusCode == \"-6\"){\r\n alert(newResp.RequestResult.Errors[0].ErrorMessage);\r\n window.location.href= config.root + statusUrl.statusHome.replace(\"/\", \"\");\r\n }\r\n if (resp.headers.get(\"CEPRK\")) {\r\n const CEPRK = resp.headers.get(\"CEPRK\");\r\n callback(newResp, CEPRK);\r\n } else {\r\n // callback(newResp);\r\n // check if revamped API call else return to normal flow\r\n if (req.serviceName && req.serviceName !== \"\") {\r\n let res = await requestMapper(newResp, req.serviceName);\r\n callback(res);\r\n } else {\r\n callback(newResp);\r\n }\r\n // add a mapper here so that no code needs to be changed\r\n }\r\n\r\n // newResp\r\n // // .json()\r\n // .then((res:any) => {\r\n // // handleSessionTimeout(newResp, res);\r\n // callback(res, newResp);\r\n // })\r\n // .catch((res: any) => {\r\n // // handleSessionTimeout(newResp, res);\r\n // callback(undefined, newResp);\r\n // });\r\n } catch (err) {\r\n // all errors will be captured here for anything in the try block\r\n\r\n console.log(\"req.serviceName\", req, req.serviceName);\r\n callback &&\r\n callback({\r\n error: \"\",\r\n errMsg: err,\r\n });\r\n }\r\n};\r\n","import * as React from \"react\";\r\nimport './otpField.scss'\r\nimport { integerExp } from \"../../utils/regex\";\r\n\r\nexport interface IOtpProps {\r\n\tplaceholder?: string;\r\n\teleId: string;\r\n\tonChange: (value: string) => void;\r\n\tdisableOtp?: boolean;\r\n\tinvalidOtp?: boolean;\r\n}\r\n\r\nenum EKeyCodes {\r\n\tBACKSPACE = 8,\r\n\tLEFT_ARROW = 37,\r\n\tRIGHT_ARROW = 39\r\n}\r\n\r\nconst OtpField: React.FC = props => {\r\n\t// stores the value of each input in array\r\n\tconst [value, setValue] = React.useState([\"\", \"\", \"\", \"\"]);\r\n\r\n\t// when focussed, this helps to colour the border of input_field_cont\r\n\tconst [focusClass, setFocusClass] = React.useState(\"\");\r\n\r\n\tReact.useEffect(() => {\r\n\t\tlet element = document.getElementsByClassName(props.eleId)[0];\r\n\t\tsetTimeout(() => {\r\n\t\t\tdocument.getElementById(element.id)?.focus();\r\n\t\t}, 500);\r\n\t\telement.scrollIntoView();\r\n\t}, []);\r\n\r\n\tfunction handleChange(v: string, i: number) {\r\n\t\tif (integerExp.test(v)) {\r\n\t\t\tconst valueCopy = [...value];\r\n\t\t\tvalueCopy[i] = v;\r\n\r\n\t\t\tsetValue(valueCopy);\r\n\t\t\tprops.onChange(valueCopy.join(\"\"));\r\n\t\t}\r\n\t}\r\n\r\n\t// go to the previous input\r\n\tfunction goToPrevious(event: any) {\r\n\t\tconst idArr = event.target.id.split('-')\r\n\t\tconst pervId = idArr[0] + '-' + (parseInt(idArr[1]) - 1)\r\n\t\tconst prevInp = document.getElementById(pervId)\r\n\t\tprevInp && prevInp.focus();\r\n\t}\r\n\r\n\t// go to next input\r\n\tfunction goToNext(event: any) {\r\n\t\tconst idArr = event.target.id.split('-')\r\n\t\tconst nextId = idArr[0] + '-' + (parseInt(idArr[1]) + 1)\r\n\t\tconst nextInp = document.getElementById(nextId)\r\n\t\tnextInp && nextInp.focus();\r\n\t}\r\n\r\n\tfunction handleKeyUp(e: React.KeyboardEvent) {\r\n\t\tif (e.keyCode === EKeyCodes.BACKSPACE || e.keyCode === EKeyCodes.LEFT_ARROW) {\r\n\t\t\t// if backspace or left arrow is pressed\r\n\t\t\tgoToPrevious(e);\r\n\t\t} else if ((e.keyCode >= 48 && e.keyCode <= 57) || e.keyCode === EKeyCodes.RIGHT_ARROW) {\r\n\t\t\t// if number key or right arrow is pressed\r\n\t\t\tgoToNext(e);\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{value.map((_, i) => (\r\n\t\t\t\t handleChange(e.target.value, i)}\r\n\t\t\t\t\tonFocus={() => setFocusClass(\" focus\")}\r\n\t\t\t\t\tonBlur={() => setFocusClass(\"\")}\r\n\t\t\t\t\tclassName={\"otp_inp mg-b10 \" + props.eleId + focusClass + (props.invalidOtp ? ' invalid' : '')}\r\n\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\tmin={0}\r\n\t\t\t\t\tmax={9}\r\n\t\t\t\t\tmaxLength={1}\r\n\t\t\t\t\tonKeyUp={e => handleKeyUp(e)}\r\n\t\t\t\t\tautoComplete='off'\r\n\t\t\t\t\tid={props.eleId + \"otp-\" + i}\r\n\t\t\t\t\tdisabled={props.disableOtp}\r\n\t\t\t\t/>\r\n\t\t\t))}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default OtpField;\r\n","import { apiService } from \"../apiServices\";\r\nimport config from \"../../../config/domain\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetEnumList = (callback: CallableFunction, enumname: string) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetEnumList\",\r\n method: \"POST\",\r\n body: {\r\n EnumName: enumname,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getEnumList,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-enum-list',\r\n // body: {\r\n // \"enumname\": enumname\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ARedisDigilockerDoc = (\r\n callback: CallableFunction,\r\n reqObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/RedisDigilockerDoc\",\r\n method: \"POST\",\r\n body: reqObj,\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.redisDigilockerDoc,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/redisDigilockerDoc\",\r\n // body: reqObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetOcrResponseDetails = (\r\n callback: CallableFunction,\r\n reqObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetOCRDocumentResponseData\",\r\n method: \"POST\",\r\n body: {\r\n ApplicationId: reqObj.applicationid,\r\n DocumentCategory: reqObj.documentcategory,\r\n DocumentId: reqObj.documentid,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getOCRDocumentResponseData,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ocr-response-details\",\r\n // body: reqObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetDocumentidByApplicationid = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: applicationid,\r\n InputDataType: 5,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-documentid-by-applicationid\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetArea = (callback: CallableFunction, pinCode: string) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetAreaorFullAddress\",\r\n body: {\r\n Pincode: pinCode,\r\n Area: \"\",\r\n InputDataType: 1,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getArea,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-area',\r\n // body: {\r\n // \"pinCode\": pinCode\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const ACheckRAAccount = (\r\n callback: CallableFunction,\r\n checkRAAccountPayloadObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CheckRAAccount\",\r\n body: {\r\n EmailId: checkRAAccountPayloadObj?.EmailId,\r\n MobileNo: checkRAAccountPayloadObj?.MobileNo,\r\n PanNo: checkRAAccountPayloadObj?.PanNo,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.CheckRAAccount,\r\n },\r\n callback\r\n );\r\n};\r\nexport const AGetRelationshipData = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n email: string,\r\n mobile: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetRelationshipData\",\r\n body: {\r\n ApplicationId: applicationid,\r\n Email: email,\r\n Mobile: mobile,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getRelationshipData,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-relationship-data',\r\n // body: {\r\n // \"applicationid\": applicationid,\r\n // \"email\": email,\r\n // \"mobile\": mobile\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveRelationshipData = (\r\n callback: CallableFunction,\r\n saveRelationshipObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveRelationshipDetails\",\r\n body: {\r\n ApplicationId: saveRelationshipObj.applicationid,\r\n MobileMatchedList: saveRelationshipObj.mobileMatchedList,\r\n EmailMatchedList: saveRelationshipObj.emailMatchedList,\r\n IsSavedRelationship: true,\r\n IsRelationshipFromIbeats: true,\r\n ClientPrimaryDetailId: saveRelationshipObj.clientprimarydetailid,\r\n EmpCode: saveRelationshipObj.empcode,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveRelationshipDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-relationship-page\",\r\n // body: saveRelationshipObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetFullAddress = (\r\n callback: CallableFunction,\r\n area: string,\r\n pinCode: string\r\n) => {\r\n // console.log(area);\r\n apiService(\r\n {\r\n url: \"MastersData/GetAreaorFullAddress\",\r\n body: {\r\n Pincode: pinCode,\r\n Area: area,\r\n InputDataType: 2,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getFullAddress,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-fulladdress',\r\n // body: {\r\n // \"area\": area,\r\n // \"pinCode\": pinCode,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetKycDetails = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetKycDetails\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getKYCDetails,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-kyc-details',\r\n // body: {\r\n // applicationid: applicationid\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveKycDetails = (callback: CallableFunction, kycObj: object) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SavePersonalProfileDetails\",\r\n body: kycObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveKYCDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-kyc-details\",\r\n // body: kycObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const ASavePinCity = (callback: CallableFunction, areaObj: any) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetAreaorFullAddress\",\r\n body: {\r\n Pincode: areaObj.pincode,\r\n Area: \"\",\r\n City:areaObj.city,\r\n InputDataType: 4,\r\n State:areaObj.state\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveArea,\r\n },\r\n callback\r\n );\r\n }\r\n export const AGetCityByPincode = (callback: CallableFunction, pincode: string) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetAreaorFullAddress\",\r\n body: {\r\n Pincode: pincode,\r\n Area: \"\",\r\n City:\"\",\r\n InputDataType: 3,\r\n State:\"\"\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getCityByPincode,\r\n },\r\n callback\r\n );\r\n }\r\n","import React from 'react'\r\nimport './ErrMsg.scss'\r\n\r\nconst ErrMsg = (props: any) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n)\r\n\r\nexport default ErrMsg","import React, { Component } from 'react';\r\nimport './OtpTimer.scss'\r\n\r\ninterface IOtpTimerProps {\r\n timer: number\r\n}\r\n\r\nlet timer: any;\r\nclass OtpTimer extends Component {\r\n\r\n state = {\r\n timer: this.props.timer\r\n }\r\n\r\n startTimer = () => {\r\n timer = setInterval(() => {\r\n let temp = this.state.timer - 1;\r\n if (temp === 0) {\r\n this.setState({ timer: this.props.timer })\r\n clearInterval(timer);\r\n } else {\r\n this.setState({ timer: temp })\r\n }\r\n }, 1000)\r\n }\r\n\r\n componentDidMount() {\r\n this.startTimer();\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(timer);\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {this.state.timer}\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\nexport default OtpTimer","import React, { Component } from 'react';\r\nimport OtpField from '../../UI/otpField/otpField';\r\nimport OtpTimer from '../../UI/OtpTimer/OtpTimer';\r\nimport { errorCode,errorMsg } from '../../../ErrorCode/ErrorCode';\r\nimport './RegOtp.scss'\r\n\r\ninterface IRegOtpProps {\r\n label: string;\r\n otpTimer: number;\r\n eleId: string;\r\n onChange: (value: string) => string | void;\r\n resendClicked: () => string | void;\r\n disableOtp?: boolean;\r\n invalidOtp?: boolean;\r\n}\r\n\r\nlet resendTimer: any;\r\n\r\nclass RegOtp extends Component {\r\n state = {\r\n otp: '',\r\n isResend: false,\r\n timer: this.props.otpTimer\r\n }\r\n enableClock = () => {\r\n resendTimer = setInterval(() => {\r\n let temp = this.state.timer - 1;\r\n if (temp === 0) {\r\n clearInterval(resendTimer);\r\n this.setState({ timer: this.props.otpTimer, isResend: true })\r\n } else {\r\n this.setState({ timer: temp })\r\n }\r\n }, 1000)\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(resendTimer);\r\n }\r\n\r\n componentDidMount() {\r\n this.enableClock();\r\n }\r\n\r\n setOtp = (value: any) => {\r\n this.setState({ otp: value })\r\n this.props.onChange(value)\r\n }\r\n\r\n resendClicked = () => {\r\n this.setState({ isResend: false })\r\n this.props.resendClicked();\r\n setTimeout(() => this.enableClock(), 500)\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

{this.props.label}

\r\n
\r\n this.setOtp(value)}\r\n eleId={this.props.eleId}\r\n disableOtp={this.props.disableOtp}\r\n invalidOtp={this.props.invalidOtp}\r\n />\r\n {/* {this.props.invalidOtp &&

Incorrect OTP

} */}\r\n {this.props.invalidOtp &&

{errorMsg(errorCode.FE05)}

}\r\n
\r\n {this.state.isResend ?\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\nexport default RegOtp","import GlobalStore from \"../components/store/globalStore\";\r\nexport const errorCode = {\r\n FE01: \"C11FE01\",\r\n // Name cannot have special characters or cannot be null\r\n FE02: \"C11FE02\",\r\n // Select Valid City\r\n FE03: \"C11FE03\",\r\n // Enter Valid Email Id\r\n FE04: \"C11FE04\",\r\n // Enter 10 Digit Mobile Number\r\n FE05: \"C11FE05\",\r\n // Enter a Valid OTP\r\n FE06: \"C11FE06\",\r\n // Please Enter correct RM code\r\n FE07: \"C11FE07\",\r\n // Please enter valid pan number\r\n FE08: \"C11FE08\",\r\n // Please enter valid phone number\r\n FE09: \"C11FE09\",\r\n // Enter Pan Number as per Pan Card\r\n FE10: \"C11FE10\",\r\n //DOB as per PAN Card\r\n FE11: \"C11FE11\",\r\n // Wrong DoB\"\r\n FE12: \"C11FE12\",\r\n // \"Document size exceeds maximum limit of 5MB. Please upload it again\",\r\n FE13: \"C11FE13\",\r\n // \"Please upload the files in jpeg, jpg formats.\",\r\n FE14: \"C11FE14\",\r\n // \"Please upload the files in jpeg, jpg and pdf formats.\",\r\n FE15: \"C11FE15\",\r\n // \"File with multiple extensions are not allowed\",\r\n FE16: \"C11FE16\",\r\n // \"Special Characters are not allowed in Address\",\r\n FE17: \"C11FE17\",\r\n // \"Please enter valid address. Address should contains minimum 5 characters and Address line should not contain only numbers\",\r\n FE18: \"C11FE18\",\r\n // \"Enter 6 Digit Pin Code\",\r\n FE19: \"C11FE19\",\r\n // \"Type first 3 characters of city\",\r\n FE20: \"C11FE20\",\r\n // \"Please select from dropdown\",\r\n FE21: \"C11FE21\",\r\n // \"Number required\",\r\n FE22: \"C11FE22\",\r\n // \"Enter Networth\",\r\n FE23: \"C11FE23\",\r\n // \"Please Enter Valid Type\",\r\n FE24: \"C11FE24\",\r\n // \"Relationship Details are required\",\r\n FE25: \"C11FE25\",\r\n // \"Enter Valid Identification Number as per document\",\r\n FE26: \"C11FE26\",\r\n // \"Enter number between 1 to 100\",\r\n FE27: \"C11FE27\",\r\n // \"Please select a valid date\",\r\n FE28: \"C11FE28\",\r\n // \"Please Enter Amount More Than Rs 1000\",\r\n FE29: \"C11FE29\",\r\n // \"Please Enter Place of Birth\",\r\n FE30: \"C11FE30\",\r\n // \"Account number should have minimum 6 digits\",\r\n FE31: \"C11FE31\",\r\n // \"Bank inputs do not match\",\r\n FE32: \"C11FE32\",\r\n // \"SBI account number has more than 10 digits\",\r\n FE33: \"C11FE33\",\r\n // \"Father Name cannot have special characters or cannot be null\",\r\n FE34: \"C11FE34\",\r\n // \"Mother Name cannot have special characters or cannot be null\",\r\n FE35: \"C11FE35\",\r\n // \"Nominee Name cannot have special characters or cannot be null\",\r\n FE36: \"C11FE36\",\r\n // \"Gaurdian Name cannot have special characters or cannot be null\",\r\n FE37: \"C11FE37\",\r\n // \"Please Enter Other Relation\",\r\n FE38: \"C11FE38\",\r\n // \"Please enter valid pincode\",\r\n FE39: \"C11FE39\",\r\n // \"Please select a city from dropdown\",\r\n FE40: \"C11FE40\",\r\n // \"Please enter minimum 8 or maximum 18\",\r\n FE41: \"C11FE41\",\r\n // \"Please Enter last four digit of Adhar number\",\r\n FE42: \"C11FE42\",\r\n // \"Please Enter Relation\",\r\n FE43: \"C11FE43\",\r\n // \"Special Characters are not allowed and Address should contains minimum 5 characters\",\r\n FE44: \"C11FE44\",\r\n //Type first 3 characters of Area\r\n FE46: \"C11FE46\",\r\n //Enter Aadhaar Number as per Aadhaar Card\r\n BE384: \"C11BE384\",\r\n //Limit of family tagging has been exceed\r\n FE47: \"C11FE50\",\r\n // Signature File Size Error Message\r\n FE48: \"C11FE51\",\r\n //TEMP Email Validation\r\n};\r\nexport const errorMsg = (code: string) => {\r\n let errorText = \"Something went wrong\";\r\n let errorResponse = GlobalStore.fieldErrorBank.filter(\r\n (data) => data.ErrorCode === code\r\n );\r\n if (errorResponse && errorResponse.length > 0) {\r\n errorText = errorResponse[0]?.ErrorMessage;\r\n }\r\n return errorText;\r\n};\r\n","import { apiService } from \"../apiServices\";\r\nimport config from \"../../../config/domain\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetCities = (callback: CallableFunction) => {\r\n // ToDo: Remove commented code once testing is done for\r\n // apiService(\r\n // {\r\n // url: 'eco/get-city',\r\n // method: 'GET',\r\n // },\r\n // callback\r\n // );\r\n\r\n apiService(\r\n {\r\n url: \"MastersData/GetCity\",\r\n method: \"GET\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getCities,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetEmailOtp = (callback: CallableFunction, emlObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SendOTPonMail\",\r\n body: {\r\n MailTo: emlObj.mailTo,\r\n MailFrom: emlObj.mailFrom,\r\n MailSubject: emlObj.mailSubject,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getOtp,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/send-otp-on-email\",\r\n // body: emlObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const AGetOtpNew = (callback: CallableFunction, contactInfo: any,mode?:any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/v1/GO\",\r\n body: {\r\n contactInfo:contactInfo,\r\n mode:mode\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getOtpNew,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/send-otp-on-email\",\r\n // body: emlObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\n\r\nexport const AGetMobileOtp = (callback: CallableFunction, mobNo: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetOTP\",\r\n body: {\r\n MobNo: mobNo,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getOtp,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/getotp\",\r\n // body: {\r\n // mobNo: mobNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AValidateEmailOtp = (\r\n callback: CallableFunction,\r\n email: string,\r\n otp: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/ValidateEmailOTP\",\r\n body: {\r\n EmailId: email,\r\n Otp: otp,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.validateOtp,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/validateemailotp\",\r\n // body: {\r\n // email: email,\r\n // otp: otp,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AValidateMobileOtp = (\r\n callback: CallableFunction,\r\n mobNo: string,\r\n otp: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/ValidateOTP\",\r\n body: {\r\n MobNo: mobNo,\r\n Otp: otp,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.validateOtp,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/validateotp\",\r\n // body: {\r\n // mobNo: mobNo,\r\n // otp: otp,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const AValidateOtpNew = (\r\n callback: CallableFunction,\r\n otpId: any,\r\n otp: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/v1/ValO\",\r\n body: {\r\n otpId: otpId,\r\n otp: otp,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.validateOtpNew,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/validateotp\",\r\n // body: {\r\n // mobNo: mobNo,\r\n // otp: otp,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetEmployeeDetails = (\r\n callback: CallableFunction,\r\n bodyParams: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetEmployeeDetails\",\r\n body: {\r\n UserName: bodyParams.username,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getEmployeeDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-employee-details\",\r\n // body: bodyParams,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASearchLeadByName = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/v1/SearchLead\",\r\n body: {\r\n AssignedTo: leadObj.assignedTo,\r\n FirstName: leadObj.firstName,\r\n LastName: leadObj.lastName,\r\n Mobile: leadObj.mobile,\r\n EmailId: leadObj.emailId,\r\n ProductCode: leadObj.productCode,\r\n SearchBy: \"CRITERIA_MOBILE_EMAIL\",\r\n source: \"DIY\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.searchLeadByName,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/search-lead-by-name\",\r\n // body: leadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ACreateLead = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"eco/create-lead\",\r\n body: leadObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ACreateLeadSource = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CreateLead\",\r\n body: {\r\n Email: leadObj.email,\r\n FirstName: leadObj.firstName,\r\n LastName: leadObj.lastName,\r\n Phone: leadObj.phone,\r\n City: leadObj.city,\r\n AssignedTo: leadObj.assignedTo,\r\n UtmAdGroup: leadObj.utm_adgroup,\r\n UtmCampaign: leadObj.utm_campaign,\r\n UtmContent: leadObj.utm_content,\r\n UtmCreative: leadObj.utm_creative,\r\n UtmDevice: leadObj.utm_device,\r\n UtmMedium: leadObj.utm_medium,\r\n UtmPlacement: leadObj.utm_placement,\r\n UtmSource: leadObj.utm_source,\r\n UtmTerm: leadObj.utm_term,\r\n ProductCode: leadObj.productCode,\r\n SourceId: leadObj.sourceId,\r\n SubSourceId: leadObj.subSourceId,\r\n ByPassDedupe: leadObj.byPassDedupe,\r\n RmCode: leadObj.rmCode,\r\n SourceName: leadObj.sourceName,\r\n SubSourceName: leadObj.subSourceName,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.createLead,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/create-lead-source\",\r\n // body: leadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AWhatsappNotify = (callback: CallableFunction, req: any) => {\r\n apiService(\r\n {\r\n url: \"WhatsUpAppService/WhatsUpAppConsent\",\r\n body: {\r\n Type: req.type,\r\n recipients: req.recipients,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.whatsUpAppConsent,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // apiBaseUrl: config.javaComUrl,\r\n // url: \"consent\",\r\n // body: req,\r\n // method: \"POST\",\r\n // headers: {\r\n // mwAuth: config.whatsappBearerToken,\r\n // },\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const CreateUCCRegCode = (callback: CallableFunction, req: any) => {\r\n console.log(\"REQ||\", req);\r\n apiService(\r\n {\r\n url: \"DIYAPI/CreateUCCRegCode\",\r\n body: req,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.createUCCRegCode,\r\n },\r\n callback\r\n );\r\n};\r\n","import * as React from \"react\";\r\nimport \"./TextArea.scss\";\r\nimport indexer from \"../../types/genericTypes\";\r\nimport {\r\n required,\r\n isValidRegex,\r\n grtrThanEqTo,\r\n lessThanEqTo,\r\n} from \"../../utils/validation\";\r\nimport {\r\n integerExp,\r\n alphaNumExp,\r\n alphabetExp,\r\n addressAlphaNum,\r\n} from \"../../utils/regex\";\r\n\r\nexport interface ITextAreaProps {\r\n disabled?: boolean; // To make input disabled\r\n defaultValue?: string; // The defaultValue in input field (pass only if required)\r\n placeholder?: string; // placeholder\r\n prefix?: React.ReactChild; // text/element to show before the input field\r\n suffix?: React.ReactChild; // text/element to show after the input field\r\n helpText?: string; // help text\r\n helpTextColor?: \"grey\" | \"blue\"; // the color of help text, takes gray as default\r\n errorText?: string | null; // error text\r\n required?: boolean; // true if is required\r\n integer?: boolean; // true if only integer can be entered\r\n alphanum?: boolean; // true if only alphanumeric can be entered\r\n addressAlphaNum?: boolean;\r\n alphabate?: boolean; // true if only alphabate can be entered\r\n float?: RegExp; // number of digits after decimal\r\n min?: number; // minimum number\r\n max?: number; // maximum number\r\n className?: string; // extra classname if needed for module specific style\r\n type?: \"tel\" | \"text\" | \"email\" | \"password\"; // type of input\r\n maxLength?: number; // if there is a max length for the input\r\n pattern?: RegExp; // validate any regExp\r\n id?: string;\r\n name?: string;\r\n autoComplete?: \"on\" | \"off\"; // used for switching on/off autocomplete\r\n onChange?: (value: string) => string | void; // function to be called on change. Return string if value needs to be changed from outside\r\n onBlur?: (error: indexer) => void; // function to be called on blur, all errors will be available in error object\r\n cancelSuffix?: boolean; //To display cross(x), to clear the input;\r\n isCaps?: boolean; //Input value should be all CAPS then true, else false\r\n hiddenText?: string; // text shows only on focus\r\n}\r\n\r\nconst TextArea: React.FC = (props) => {\r\n // sets the default value of input if present\r\n // value: value of the input (type = string)\r\n // setValue: function to set value\r\n const [value, setValue] = React.useState(props.defaultValue || \"\");\r\n const [errText, setErrText] = React.useState(props.errorText);\r\n\r\n // if default value is updated from outside, change it inside also\r\n React.useEffect(() => {\r\n if (props.defaultValue !== undefined && value !== props.defaultValue) {\r\n setValue(props.defaultValue);\r\n }\r\n }, [props.defaultValue]);\r\n\r\n React.useEffect(() => {\r\n setErrText(props.errorText);\r\n }, [props.errorText]);\r\n\r\n // when focussed, this helps to colour the border of input_field_cont\r\n const [focusClass, setFocusClass] = React.useState(\"\");\r\n\r\n /**\r\n * @param value The string that needs to be checked for integer\r\n * @returns If integer need not be checked, then return true.\r\n * - If integer needs to be checked, then\r\n * - If value is valid integer, then return true; otherwise, return false\r\n */\r\n function isValidInteger(value: string): boolean {\r\n return (\r\n !props.integer || (props.integer && !isValidRegex(value, integerExp))\r\n );\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for float\r\n * @returns If float need not be checked, then return true.\r\n * - If float needs to be checked, then\r\n * - if value is valid float, then return true; otherwise, return false\r\n */\r\n function isValidFloat(value: string): boolean {\r\n return !props.float || (props.float && !isValidRegex(value, props.float));\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for alphanumeric characters\r\n * @returns If alphanum need not be checked, then return true.\r\n * - If alphanum needs to be checked, then\r\n * - if value is valid alphanum, then return true; otherwise, return false\r\n */\r\n function isValidAlphaNum(value: string): boolean {\r\n return (\r\n !props.alphanum || (props.alphanum && !isValidRegex(value, alphaNumExp))\r\n );\r\n }\r\n function isValidAddressAlphaNum(value: string): boolean {\r\n return (\r\n !props.addressAlphaNum ||\r\n (props.addressAlphaNum && !isValidRegex(value, addressAlphaNum))\r\n );\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for alphabatic characters\r\n * @returns If alphabate need not be checked, then return true.\r\n * - If alphabate needs to be checked, then\r\n * - if value is valid alphabate, then return true; otherwise, return false\r\n */\r\n function isValidAlphabate(value: string): boolean {\r\n return (\r\n !props.alphabate || (props.alphabate && !isValidRegex(value, alphabetExp))\r\n );\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for maxlength\r\n * @returns If maxlength need not be checked, then return true.\r\n * - If maxlength needs to be checked, then\r\n * - if value has less characters than maxlength, then return true; otherwise, return false\r\n */\r\n function isValidMaxLength(value: string): boolean {\r\n return props.maxLength === undefined || value.length <= props.maxLength;\r\n }\r\n\r\n /**\r\n * @param value The value that is required\r\n * @returns If required need not be checked, then return true.\r\n * - If required needs to be checked, return true if value is not present; false if value is present\r\n */\r\n function isRequired(value: any): boolean {\r\n return !props.required || (props.required && !!required(value));\r\n }\r\n\r\n /**\r\n * @param value The value that is to be validated\r\n * @returns If min need not be checked, then return true.\r\n * - If min needs to be checked,\r\n * - throw error if value is string\r\n * - return true if value < min; false if value >= min\r\n */\r\n function isLessThanMin(value: string): boolean {\r\n if (props.min === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for min\");\r\n }\r\n return !!grtrThanEqTo(+value, props.min);\r\n }\r\n\r\n /**\r\n * @param value The value that is to be validated\r\n * @returns If max need not be checked, then return true.\r\n * - If max needs to be checked,\r\n * - throw error if value is string\r\n * - return true if value > max; false if value <= min\r\n */\r\n function isGrtrThanMax(value: string): boolean {\r\n if (props.max === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for max\");\r\n }\r\n return !!lessThanEqTo(+value, props.max);\r\n }\r\n\r\n /**\r\n * @param value The string that needs to be checked for the pattern\r\n * @returns If pattern need not be checked, then return true.\r\n * - If pattern needs to be checked, then\r\n * - if value is valid pattern, then return true; otherwise, return false\r\n */\r\n function isValidPattern(value: string): boolean {\r\n return (\r\n !props.pattern || (props.pattern && !isValidRegex(value, props.pattern))\r\n );\r\n }\r\n\r\n /**\r\n * This function runs on blur.\r\n * This removes the focus class on input_field_cont and removes commas.\r\n * This function calls the onBlur callback function with all the errors.\r\n */\r\n function handleBlur() {\r\n setFocusClass(\"\");\r\n\r\n let errorObj: indexer = {};\r\n\r\n if (props.required) {\r\n errorObj = { ...errorObj, required: isRequired(value) }; // set isRequired error\r\n }\r\n if (props.min) {\r\n errorObj = { ...errorObj, min: isLessThanMin(value) }; // set error for min\r\n }\r\n if (props.max) {\r\n errorObj = { ...errorObj, max: isGrtrThanMax(value) }; // set error for max\r\n }\r\n if (props.pattern) {\r\n errorObj = { ...errorObj, pattern: isValidPattern(value) }; // set error for pattern\r\n }\r\n props.onBlur && props.onBlur(errorObj);\r\n }\r\n\r\n /**\r\n * Checks for all the validations and then changes value accordingly\r\n * @param e The input event\r\n */\r\n function handleChange(e: React.FocusEvent) {\r\n let resolvedValue: string;\r\n\r\n if (\r\n (e.target.value || e.target.value === \"\" || e.target.value === \"0\") &&\r\n isValidInteger(e.target.value) &&\r\n isValidFloat(e.target.value) &&\r\n isValidAlphaNum(e.target.value) &&\r\n isValidMaxLength(e.target.value) &&\r\n isValidAlphabate(e.target.value) &&\r\n isValidAddressAlphaNum(e.target.value)\r\n ) {\r\n // if value needs to be changed then process the new value\r\n if (props.isCaps) resolvedValue = e.target.value.toUpperCase();\r\n else resolvedValue = e.target.value;\r\n setErrText(\"\");\r\n } else {\r\n // otherwise process the previous state\r\n resolvedValue = value;\r\n }\r\n\r\n if (props.onChange) {\r\n const newValue = props.onChange(resolvedValue || \"\"); // call onchange callback\r\n\r\n if (newValue !== undefined) {\r\n setValue(newValue); // set the new value\r\n } else {\r\n setValue(resolvedValue || \"\"); // set the new value\r\n }\r\n }\r\n }\r\n\r\n function handleCancel() {}\r\n\r\n return (\r\n
\r\n \r\n {props.prefix &&
{props.prefix}
}\r\n setFocusClass(\" focus\")}\r\n onBlur={handleBlur}\r\n //type={props.type}\r\n id={props.id}\r\n autoComplete={props.autoComplete}\r\n disabled={props.disabled}\r\n name={props.name}\r\n />\r\n {props.cancelSuffix && focusClass === \" focus\" && (\r\n
\r\n \r\n
\r\n )}\r\n {props.suffix &&
{props.suffix}
}\r\n
\r\n {props.errorText &&

{props.errorText}

}\r\n {props.hiddenText && (focusClass || value) && (\r\n

{props.hiddenText}

\r\n )}\r\n {props.helpText && (\r\n

\r\n {props.helpText}\r\n

\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default TextArea;\r\n","import React from \"react\";\r\nimport \"./Checkbox.scss\";\r\n\r\ninterface ICheckboxProps {\r\n checked: boolean; // true if checkbox is checked, else false\r\n name: string; // name for input checkbox\r\n disabled?: boolean; // if disabled then pass true\r\n onChange: (event: React.ChangeEvent) => void; // function to be called on change\r\n}\r\n\r\ninterface IMultiSelectCheckBoxProps {\r\n list: Array<{\r\n OptionDescription: string;\r\n QuestionID: number;\r\n OptionId: number;\r\n checked: boolean;\r\n disabled?: boolean;\r\n }>;\r\n disabled?: boolean; // if disabled then pass true\r\n onChange: (\r\n list: Array<{\r\n OptionDescription: string;\r\n QuestionID: number;\r\n OptionId: number;\r\n checked: boolean;\r\n disabled?: boolean;\r\n }>\r\n ) => void; // function to be called on change\r\n}\r\n\r\nconst Checkbox: React.FC = (props) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const MultiSelectCheckBox: React.FC = (\r\n props\r\n) => {\r\n function onChange(event: React.ChangeEvent) {\r\n let updatedList: typeof props.list = props.list.map((checkbox) => {\r\n if (checkbox.OptionDescription === event.target.name) {\r\n return {\r\n OptionDescription: checkbox.OptionDescription,\r\n QuestionID: checkbox.QuestionID,\r\n OptionId: checkbox.OptionId,\r\n checked: event.target.checked,\r\n };\r\n }\r\n return checkbox;\r\n });\r\n props.onChange(updatedList);\r\n }\r\n\r\n return (\r\n <>\r\n {props.list.map((checkbox) => (\r\n \r\n \r\n \r\n {checkbox.OptionDescription && (\r\n {checkbox.OptionDescription}\r\n )}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default Checkbox;\r\n","import React from \"react\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport TextArea from \"../../UI/TextArea/TextArea\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport {\r\n betweenNChars,\r\n blockSpecChar,\r\n detectIntWithSpace,\r\n} from \"../../utils/regex\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport {\r\n AGetArea,\r\n AGetCityByPincode,\r\n AGetFullAddress,\r\n} from \"../../Services/dashboard/profileApiService\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\n\r\nexport interface AddressFieldProps {\r\n addressType: \"permanent\" | \"correspondance\" | \"nominee\" | \"guardian\";\r\n sectionLabel: string;\r\n addressObj: IAddressFormat;\r\n isDisable?: boolean;\r\n showSameAsAbove?: boolean;\r\n sameAsAbove?: boolean;\r\n handleSameAsAbove: (value: React.ChangeEvent) => void;\r\n setErrCode: (value: number | string) => void;\r\n onAddressChange: (addressObj: IAddressFormat) => void;\r\n onAddressBlur: (addressObj: {\r\n [key in keyof IAddressFormat]?: string;\r\n }) => void;\r\n}\r\n\r\nexport interface IAddressFormat {\r\n addressLine1: string;\r\n City: string;\r\n Country: string;\r\n District: string;\r\n PinCode: string;\r\n State: string;\r\n Area?: string;\r\n CountryCode?: number;\r\n StateCode?: number;\r\n}\r\n\r\nexport interface CkycAddressFormat {\r\n addressLine1: string;\r\n corrAddress?: string;\r\n sameAsPermanent: boolean;\r\n city: string;\r\n country: string;\r\n district: string;\r\n pincode: string;\r\n corrPincode?: string;\r\n state: string;\r\n area?: string;\r\n countrycode?: number;\r\n statecode?: number;\r\n}\r\n\r\nexport const addressErrorObj = {\r\n addressLine1: undefined,\r\n pincode: undefined,\r\n area: undefined,\r\n};\r\n\r\nexport const addressErrorMsg = {\r\n // addressLine1:\r\n // 'Please enter valid address. Address should contains minimum 5 characters and Address line should not contain ~ ` # $ % ^ & * ( ) = + { } [ ] \\\\ | : ; ” ’ < > , ? /',\r\n addressLine1:\r\n \"Special Characters are not allowed and Address should contains minimum 5 characters\",\r\n // pincode: 'Please enter 6 digit pincode',\r\n pincode: \"Enter 6 Digit Pin Code\",\r\n // area: 'Please select a area from dropdown',\r\n area: \"Type first 3 characters of city\",\r\n};\r\n\r\nconst AddressField: React.FC = (props) => {\r\n const [addressObj, setAddressObj] = React.useState(\r\n props.addressObj\r\n );\r\n const [areaList, setAreaList] = React.useState>([]);\r\n const [validPincode, setValidPincode] = React.useState(\"\");\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({ ...addressErrorObj });\r\n\r\n React.useEffect(() => {\r\n if (\r\n JSON.stringify(addressObj) !== JSON.stringify(props?.addressObj) ||\r\n addressObj?.PinCode === props?.addressObj?.PinCode\r\n ) {\r\n setAddressObj(props.addressObj);\r\n if (\r\n props?.addressObj?.PinCode &&\r\n props?.addressObj?.PinCode?.length === 6\r\n ) {\r\n setAreaList([]);\r\n setValidPincode(\"\");\r\n // console.log('Calling getArea fn from useEffect');\r\n // AGetArea((res: any) => {\r\n // getAreaList(res, props.addressObj.PinCode);\r\n // }, props.addressObj.PinCode);\r\n AGetCityByPincode((res:any)=>getFullAddress(res),props.addressObj.PinCode)\r\n }\r\n }\r\n }, [\r\n props?.addressObj?.addressLine1 != addressObj?.addressLine1,\r\n props?.addressObj?.PinCode !== addressObj?.PinCode,\r\n ]);\r\n console.log(\r\n props?.addressObj?.addressLine1,\r\n \" props?.addressObj?.addressLine1 check\"\r\n );\r\n console.log(addressObj?.addressLine1, \" addressObj.addressLine1 check\");\r\n\r\n function handleChangeAddress(key: keyof IAddressFormat, value: string) {\r\n if (key === \"PinCode\" && value.length === 6) {\r\n setAreaList([]);\r\n // AGetArea((res: any) => {\r\n // getAreaList(res, value);\r\n // }, value);\r\n AGetCityByPincode((res:any)=>getFullAddress(res),value)\r\n setErrors({ ...errors, [key]: undefined });\r\n setValidPincode(\"\");\r\n }\r\n if (key === \"Area\") {\r\n AGetFullAddress(getFullAddress, value, addressObj?.PinCode);\r\n setErrors({ ...errors, [key]: undefined });\r\n }\r\n setAddressObj({ ...addressObj, [key]: value });\r\n props.onAddressChange({ ...addressObj, [key]: value });\r\n if (key === \"PinCode\" || key === \"Area\") {\r\n props.onAddressBlur({ ...errors, [key]: undefined });\r\n }\r\n\r\n if (key === \"addressLine1\") {\r\n console.log(\"key === addressLine1\");\r\n if (detectIntWithSpace.test(value)) {\r\n // Address line should not contains only numbers\r\n setErrors({\r\n ...errors,\r\n addressLine1: errorMsg(errorCode.FE17),\r\n });\r\n props.onAddressBlur({\r\n ...errors,\r\n addressLine1: errorMsg(errorCode.FE17),\r\n });\r\n } \r\n // else if (!blockSpecChar(5).test(value)) {\r\n // console.log(\"Inside else if (!blockSpecChar(5).test(value))\");\r\n // // Check addressline have any special characters or not\r\n // setErrors({ ...errors, addressLine1: errorMsg(errorCode.FE43) });\r\n // props.onAddressBlur({\r\n // ...errors,\r\n // addressLine1: errorMsg(errorCode.FE43),\r\n // });\r\n // } \r\n else {\r\n // Need to clear\r\n console.log(\"else call\");\r\n setErrors({ ...errors, addressLine1: undefined });\r\n props.onAddressBlur({ ...errors, addressLine1: undefined });\r\n }\r\n }\r\n }\r\n\r\n function getAreaList(res: any, pincode: string) {\r\n if (!res || res.error) {\r\n // props.setErrCode('130 - Failed to fetch the area list for the pincode');\r\n props.setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.areas) {\r\n // if (res.data.areas[0] !== \"Area not exist.\") { // Rohit -- commented on 13-08-2022\r\n if (res.data.areas.length > 0) {\r\n let arr: Array = [];\r\n res.data.areas.forEach((item: string) => {\r\n let obj: IListObj = {\r\n value: item,\r\n display: item,\r\n };\r\n arr.push(obj);\r\n });\r\n setAreaList(arr);\r\n AGetFullAddress(getFullAddress, arr[0].value as string, pincode);\r\n setValidPincode(\"\");\r\n } else {\r\n setValidPincode(errorMsg(errorCode.FE38));\r\n }\r\n } else {\r\n props.setErrCode(res.error);\r\n }\r\n }\r\n }\r\n\r\n function getFullAddress(res: any) {\r\n console.log(\"GetFullAddress\", res);\r\n \r\n if (!res || res.error) {\r\n // props.setErrCode(\r\n // \"131 - Failed to fetch details corresponding to pincode and area\"\r\n // );\r\n props.setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.length>0) {\r\n const obj: any = {};\r\n obj.PinCode = res.data[0].PinCode;\r\n obj.Area = res.data[0].City;\r\n obj.District = res.data[0].District;\r\n obj.Country = res.data[0].Country;\r\n obj.City = res.data[0].City;\r\n obj.State = res.data[0].State;\r\n obj.StateCode =res.data[0].StateCode;\r\n obj.CountryCode = res.data[0].CountryCode;\r\n setAddressObj({ ...props.addressObj, ...obj });\r\n props.onAddressChange({ ...props.addressObj, ...obj });\r\n } else {\r\n const obj: any = {};\r\n obj.Area = \"\";\r\n obj.District =\"\";\r\n obj.Country = \"\";\r\n obj.City = \"\";\r\n obj.State = \"\";\r\n obj.StateCode = \"\";\r\n obj.CountryCode = \"\";\r\n setAddressObj({ ...props.addressObj, ...obj });\r\n props.onAddressChange({ ...props.addressObj, ...obj });\r\n props.setErrCode(\r\n \"131 - Failed to fetch details corresponding to pincode and area\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n function handleBlurAddress(key: keyof IAddressFormat, value: any) {\r\n switch (key) {\r\n case \"addressLine1\":\r\n setErrors({\r\n ...errors,\r\n addressLine1: value.pattern ? undefined : errorMsg(errorCode.FE43),\r\n });\r\n props.onAddressBlur({\r\n ...errors,\r\n addressLine1: value.pattern ? undefined : errorMsg(errorCode.FE43),\r\n });\r\n break;\r\n case \"PinCode\":\r\n setErrors({\r\n ...errors,\r\n PinCode: value.pattern ? undefined : errorMsg(errorCode.FE18),\r\n });\r\n props.onAddressBlur({\r\n ...errors,\r\n PinCode: value.pattern ? undefined : errorMsg(errorCode.FE18),\r\n });\r\n break;\r\n case \"Area\":\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, Area: undefined });\r\n props.onAddressBlur({ ...errors, Area: undefined });\r\n } else {\r\n setErrors({ ...errors, Area: errorMsg(errorCode.FE44) });\r\n props.onAddressBlur({ ...errors, Area: errorMsg(errorCode.FE44) });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {props.showSameAsAbove && (\r\n \r\n )}\r\n
\r\n {(!(props.addressType === \"correspondance\") || !props.sameAsAbove) && (\r\n <>\r\n
\r\n \r\n {\r\n // console.log(\"event\", event);\r\n // // handleBlurAddress('addressLine1', error)\r\n // }}\r\n // addressAlphaNum\r\n defaultValue={addressObj?.addressLine1}\r\n placeholder=\"Eg. Address\"\r\n onChange={(value) => handleChangeAddress(\"addressLine1\", value)}\r\n disabled={props.isDisable}\r\n errorText={errors.addressLine1}\r\n name={`address${props.addressType}`}\r\n maxLength={140}\r\n />\r\n
\r\n\r\n
\r\n \r\n handleBlurAddress(\"PinCode\", error)}\r\n defaultValue={addressObj?.PinCode}\r\n placeholder=\"Eg. 123456\"\r\n onChange={(value) => handleChangeAddress(\"PinCode\", value)}\r\n disabled={props.isDisable}\r\n integer\r\n maxLength={6}\r\n errorText={errors.PinCode || validPincode}\r\n name={`pinCode${props.addressType}`}\r\n />\r\n
\r\n\r\n {/*
\r\n \r\n \r\n handleChangeAddress(\"Area\", value[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={areaList}\r\n onBlur={(val) => handleBlurAddress(\"Area\", val)}\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Thane\"\r\n noDataMsg=\"Area with similar name not found\"\r\n errorText={errors.Area}\r\n isDownArrow={true}\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\nexport default AddressField;\r\n","import * as React from 'react';\r\nimport './NriDetail.scss'\r\nimport DropdownSearch from '../../../UI/DropdownSearch/DropdownSearch';\r\nimport Tag from '../../../UI/Tag/Tag';\r\nimport { nriIdType } from '../../../utils/constants';\r\nimport InputField from '../../../UI/InputField/InputField';\r\nimport { INriDetailField } from '../NriDetailForm';\r\nimport { IListObj } from '../../../types/genericTypes';\r\nimport { errorCode, errorMsg } from '../../../../ErrorCode/ErrorCode';\r\n\r\nexport interface NriDetailProps {\r\n countryList: Array;\r\n index?: number;\r\n nriDetailsObj: INriDetailField;\r\n onChangeNriDetails: (obj: INriDetailField) => void;\r\n errors: { [key: string]: string | undefined };\r\n setErrors: (obj: { [key: string]: string | undefined }) => void\r\n\r\n}\r\n\r\nconst NriDetail: React.FC = (props) => {\r\n\r\n function onChange(key: keyof INriDetailField, value: string) {\r\n let obj: INriDetailField = { ...props.nriDetailsObj }\r\n obj[key] = value;\r\n props.onChangeNriDetails(obj);\r\n }\r\n\r\n function handleBlur(key: keyof INriDetailField, value: any) {\r\n typeof value !== 'object' ?\r\n props.setErrors({ ...props.errors, [key]: errorMsg(errorCode.FE20) }) :\r\n props.setErrors({ ...props.errors, [key]: undefined })\r\n }\r\n\r\n return (\r\n
\r\n\r\n
\r\n \r\n onChange('country', val['display'] as string)}\r\n searchLength={0}\r\n options={props.countryList}\r\n onBlur={(val) => handleBlur('country', val)}\r\n searchKey='display'\r\n placeholder='Select the country'\r\n noDataMsg=\"Country with similar name not found\"\r\n errorText={props.errors.country}\r\n isDownArrow={true} />\r\n
\r\n\r\n
\r\n \r\n onChange('idType', val as string)}\r\n className='liMgt12'\r\n />\r\n
\r\n {\r\n props.nriDetailsObj.idType === 'Others' &&\r\n
\r\n \r\n onChange('idTypeOther', val)}\r\n onBlur={error => props.setErrors({ ...props.errors, idTypeOther: error.required ? errorMsg(errorCode.FE23) : '' })}\r\n placeholder='Eg. SPI Number'\r\n errorText={props.errors.idTypeOther}\r\n type='text'\r\n required\r\n />\r\n
\r\n }\r\n\r\n
\r\n \r\n onChange('idTypeValue', val)}\r\n onBlur={error => props.setErrors({ ...props.errors, idTypeValue: error.required ? errorMsg(errorCode.FE21) : '' })}\r\n placeholder='Eg. XXX XX XXXX'\r\n errorText={props.errors.idTypeValue}\r\n type='text'\r\n required\r\n />\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default NriDetail;","import * as React from 'react';\r\nimport './NriDetailForm.scss'\r\nimport NriDetail from './NriDetail/NriDetail';\r\nimport { nriIdType } from '../../utils/constants';\r\nimport { IListObj } from '../../types/genericTypes';\r\n\r\nexport interface NriDetailFormProps {\r\n countryList: Array\r\n nriDetailsObj: INriDetailField;\r\n onChangeNriDetails: (obj: INriDetailField) => void;\r\n errors: { [key: string]: string | undefined };\r\n setErrors: (obj: { [key: string]: string | undefined }) => void\r\n}\r\n\r\nexport interface INriDetailField {\r\n country: string | undefined;\r\n idType?: string | undefined;\r\n idTypeOther?: string | undefined;\r\n idTypeValue: string | undefined;\r\n}\r\n\r\nexport const initialNriDetail = {\r\n country: '',\r\n idTypeOther: '',\r\n idType: nriIdType[0].value as string,\r\n idTypeValue: ''\r\n}\r\n\r\nconst NriDetailForm: React.FC = (props) => (\r\n
\r\n \r\n \r\n
\r\n);\r\n\r\nexport default NriDetailForm;","import React from 'react';\r\nimport './ProfileImage.scss';\r\n\r\nexport interface ProfileImageProps {\r\n color?: string;\r\n className?: string;\r\n}\r\n\r\nconst ProfileImage: React.FC = (props) => {\r\n return (\r\n
\r\n
\r\n {props.children}\r\n
\r\n
\r\n\r\n )\r\n}\r\n\r\nexport default ProfileImage;","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\nimport domain from \"../../../config/domain\";\r\nimport { digiLockerUrl } from \"../../utils/constants\";\r\n\r\n\r\nexport const AGenerateAccessToken = (\r\n callback: CallableFunction,\r\n accessTokenObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/v1/GenerateAccessTokenForDigilockerJavaMW\",\r\n method: \"POST\",\r\n body: {\r\n State: \"\",\r\n Code: accessTokenObj.code,\r\n ReDirectUrl: accessTokenObj.reDirectUrl,\r\n ClientId: accessTokenObj.client_Id,\r\n AccessToken: \"\",\r\n SourceId: domain.digiLockerSource,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.generateAccessTokenForDigilockerJavaMW,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: 'eco/generateAccessToken',\r\n // body: accessTokenObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetDocListFromDigilocker = (\r\n callback: CallableFunction,\r\n digilockerObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/v1/GetDocListFromDigilocker\",\r\n method: \"POST\",\r\n body: {\r\n access_token: digilockerObj.access_token,\r\n SourceId: domain.digiLockerSource,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocListFromDigilocker,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/getDocListFromDigilocker\",\r\n // body: digilockerObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetSelectedDocument = (\r\n callback: CallableFunction,\r\n dataObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/v1/GetSelectedDocument\",\r\n method: \"POST\",\r\n body: {\r\n Token: dataObj.token,\r\n FileUri: dataObj.fileUri,\r\n ApplicationId: dataObj.applicationId,\r\n FileName: dataObj.filename,\r\n ClientPrimaryDetailId: dataObj.clientPrimaryDetailId,\r\n LeadId: dataObj.leadId,\r\n PanNo: dataObj.panno,\r\n AadharNo: dataObj.aadharNo,\r\n utmInfoDetails: dataObj.utmObj,\r\n SourceId: domain.digiLockerSource,\r\n // UtmInfoDetails: {\r\n // modeofapplication: \"\",\r\n // utm_source: \"\",\r\n // utm_term: \"\",\r\n // utm_campaign: \"\",\r\n // utm_content: \"\",\r\n // referralcode: \"\",\r\n // couponcode: \"\",\r\n // stageinfo: \"\",\r\n // signupdropout: \"\",\r\n // documentsdur: \"\",\r\n // registrationdur: \"\",\r\n // devicetype: \"\",\r\n // clientip: \"\",\r\n // diysource: \"\",\r\n // },\r\n // UTMInfoDetails: {\r\n // modeofapplication: \"E\",\r\n // referralcode: \"\",\r\n // couponcode: \"\",\r\n // stageinfo: \"\",\r\n // signupdropout: \"\",\r\n // registrationdur: \"\",\r\n // devicetype: \"Desktop\",\r\n // clientip: \"\",\r\n // diysource: \"W\",\r\n // },\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getSelectedDocument,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/getSelectedDocument\",\r\n // body: dataObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetDigiLink = (\r\n callback: CallableFunction,\r\n getDigiLinkObj: any\r\n) => {\r\n if(domain.digiLockerSource==2)\r\n {\r\n apiService(\r\n {\r\n url: \"DIYAPI/v1/GenerateAccessTokenForDigilockerJavaMW\",\r\n method: \"POST\",\r\n body: {\r\n SourceId: domain.digiLockerSource,\r\n ApplicationId:getDigiLinkObj.ApplicationId\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.generateAccessTokenForDigilockerJavaMW,\r\n },\r\n callback\r\n );\r\n\r\n }\r\n};\r\n\r\n// export const AGetSelectedDocument = (callback: CallableFunction, obj: object) => {\r\n// apiService(\r\n// {\r\n// url: 'eco/getDocListFromDigilocker',\r\n// body: obj,\r\n// method: \"POST\",\r\n// },\r\n// callback\r\n// );\r\n// }\r\n","import React from \"react\";\r\nimport \"./ShareAdd.scss\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport domain from \"../../../config/domain\";\r\nimport {\r\n AGenerateAccessToken,\r\n AGetDocListFromDigilocker,\r\n AGetSelectedDocument,\r\n} from \"../../Services/registration/digiLockerApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { dashboardUrl, containerUrl } from \"../../utils/constants\";\r\nimport {\r\n clientPartialDetailsToStore,\r\n updateUtmInfo,\r\n} from \"../../Services/globalService\";\r\nimport shareAdd from \"../../../assets/icons/shareAdd.jpg\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\n\r\nexport interface ShareAddProps {}\r\n\r\nexport function getProfileDetailsFromAadhar(response: any) {\r\n GlobalStore.personaldetails.aadharName = response.AadharName;\r\n GlobalStore.personaldetails.addressLine1 = response.CoresAddress; //.replace(/[^a-zA-Z0-9 ]/g,\" \");\r\n GlobalStore.personaldetails.city = response.PermanentCity;\r\n GlobalStore.personaldetails.pincode = response.CoresPincode;\r\n GlobalStore.personaldetails.gender = response.Gender;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.addressLine1 =\r\n GlobalStore.personaldetails.addressLine1;\r\n clientPartialDetails_ao.pincode =\r\n GlobalStore.personaldetails?.pincode?.toString();\r\n clientPartialDetails_ao.aadharName = response?.AadharName;\r\n clientPartialDetails_ao.gender = response.Gender;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n}\r\n\r\nconst ShareAdd: React.FC = (props) => {\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [aadharDocDetails, setAadharDocDetails] = React.useState();\r\n const [accessToken, setAccessToken] = React.useState(\"\");\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const location = useLocation();\r\n const history = useHistory();\r\n const errRef = React.useRef(null);\r\n\r\n React.useEffect(() => {\r\n clientPartialDetailsToStore();\r\n if (domain.digiLockerSource == 1) {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"9\");\r\n const queryObject = Object.fromEntries(\r\n new URLSearchParams(location.search)\r\n );\r\n if (\r\n typeof queryObject.code !== \"undefined\" &&\r\n queryObject.state !== \"undefined\"\r\n ) {\r\n let accessTokenObj: any = {};\r\n accessTokenObj.code = queryObject.code;\r\n accessTokenObj.reDirectUrl = domain.redirectUri + \"?\";\r\n accessTokenObj.client_Id = domain.clientId;\r\n accessTokenObj.SourceId = domain.digiLockerSource;\r\n AGenerateAccessToken(\r\n (res: any) => getAccessToken(res, accessTokenObj),\r\n accessTokenObj\r\n );\r\n setIsLoading(true);\r\n } else {\r\n setErrCode(\"123\");\r\n }\r\n }\r\n if (domain.digiLockerSource == 2) {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"9\");\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let signzy_access_token = clientPartialDetails_ao?.signzydt;\r\n if (signzy_access_token) {\r\n let digiDocInfo: any = {};\r\n digiDocInfo.access_token = signzy_access_token;\r\n setAccessToken(signzy_access_token);\r\n AGetDocListFromDigilocker(getDocListFromDigilocker, digiDocInfo);\r\n } else {\r\n setErrCode(errorMessage.newDigilockerError);\r\n }\r\n }\r\n updateUtmInfo(updateUtmDetails); // here updating utmcreative and content.\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (errCode) {\r\n errRef.current?.scrollIntoView();\r\n }\r\n }, [errCode]);\r\n\r\n function updateUtmDetails(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(123);\r\n }\r\n }\r\n\r\n function getAccessToken(res: any, accessTokenObj: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(\"1241 - Error with Access Token generation\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n // let responseObj = JSON.parse(res.data);\r\n let responseObj = res.data;\r\n if (responseObj.access_token) {\r\n const digiDocInfo = { ...accessTokenObj };\r\n digiDocInfo.access_token = responseObj.access_token;\r\n digiDocInfo.SourceId = domain.digiLockerSource;\r\n setAccessToken(responseObj.access_token);\r\n AGetDocListFromDigilocker(getDocListFromDigilocker, digiDocInfo);\r\n } else {\r\n if (res.data.eaadhaar === \"N\")\r\n setErrCode(errorMessage.newDigilockerError);\r\n // setErrCode(\r\n // \"Please link your aadhaar details with digilocker and refresh the page and click on continue to complete the process.\"\r\n // );\r\n }\r\n } else {\r\n setIsLoading(false);\r\n setErrCode(errorMessage.newDigilockerError);\r\n // setErrCode(\"1242 - Error with Access Token generation\");\r\n }\r\n }\r\n }\r\n\r\n function getDocListFromDigilocker(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(\"1251 - Error in getting documents list\");\r\n console.log(res.errMsg);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n debugger;\r\n const adhar = res.data.items.filter(\r\n (x: any) => x.name === \"Aadhaar Card\"\r\n );\r\n if (adhar.length > 0) {\r\n setAadharDocDetails(adhar[0]);\r\n }\r\n } else setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n function fetchPDF() {\r\n if (aadharDocDetails !== null && aadharDocDetails !== undefined) {\r\n debugger;\r\n setIsLoading(true);\r\n //Example uri = \"in.gov.uidai-ADHAR-000000000000\"\r\n const adharArr: Array = aadharDocDetails.uri.split(\"-\");\r\n let adharNo = \"\";\r\n if (adharArr.length === 3) {\r\n const reg = new RegExp(\"^[0-9]+$\");\r\n if (reg.test(adharArr[2])) {\r\n adharNo = adharArr[2];\r\n } else {\r\n adharNo = \"000000000000\";\r\n }\r\n } else {\r\n adharNo = \"000000000000\";\r\n }\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n\r\n let data = {\r\n aadharNo: adharNo,\r\n fileUri: aadharDocDetails.uri,\r\n filename: \"\",\r\n token: accessToken,\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId,\r\n leadId: GlobalStore.leadId,\r\n panno: GlobalStore.personaldetails.pan,\r\n utmObj: utmObj,\r\n };\r\n\r\n AGetSelectedDocument(getSelectedDocument, data);\r\n }\r\n }\r\n\r\n function getSelectedDocument(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\r\n // \"Error while processing aadhar card code: 126, Please contact support team\"\r\n // );\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n return;\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n if (res.data === \"Error in DigiLocker\") {\r\n setErrCode(res.error);\r\n return false;\r\n }\r\n if (res.data === \"PersonalEditable\") {\r\n setErrCode(\"\");\r\n history.push(dashboardUrl.profile);\r\n return false;\r\n }\r\n getProfileDetailsFromAadhar(res.data);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n clientPartialDetails_ao.isDigiLocker = true;\r\n clientPartialDetails_ao.signzydt = \"\";\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n }\r\n }\r\n }\r\n\r\n function handleTryAgain() {\r\n history.push(containerUrl.dgLocker);\r\n }\r\n\r\n function handleContinue() {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.aadharLinkedChoice = false;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n }\r\n\r\n return (\r\n
\r\n \r\n \"Share\r\n \r\n
\r\n

Allow Access to Address Proof

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

\r\n Click on confirm below to share a digital copy of your Aadhaar card\r\n with us.\r\n

\r\n

\r\n Please Note: Digilocker does\r\n not reveal your 12 digit Aadhar number to us.\r\n

\r\n
\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n {errCode ? (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n Continue Without DigiLocker\r\n
\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default ShareAdd;\r\n","import * as React from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport moment from \"moment\";\r\nimport \"./Calender.scss\";\r\nimport \"./cssFile.css\";\r\nimport { ageCalculator } from \"../../Services/globalService\";\r\n\r\nexport interface ICalenderProps {\r\n onDateSelect: (date: Date) => void;\r\n placeholderText: string;\r\n maxDate?: Date;\r\n minDate?: Date;\r\n onBlur?: (event: React.FocusEvent) => void;\r\n isError?: boolean;\r\n defaultDate?: Date;\r\n}\r\n\r\ninterface ICustomHeaderProps {\r\n date: Date;\r\n changeYear: (year: number) => void;\r\n changeMonth: (month: number) => void;\r\n decreaseMonth: () => void;\r\n increaseMonth: () => void;\r\n prevMonthButtonDisabled: boolean;\r\n nextMonthButtonDisabled: boolean;\r\n decreaseYear: () => void;\r\n increaseYear: () => void;\r\n prevYearButtonDisabled: boolean;\r\n nextYearButtonDisabled: boolean;\r\n}\r\n\r\ninterface ICalenderContainerProps {\r\n className: string;\r\n children: React.ReactNode[];\r\n}\r\n\r\nenum EPickerType {\r\n Date,\r\n Month,\r\n Year,\r\n}\r\n\r\nconst Calender: React.FC = (props) => {\r\n // sets the default value of date to null\r\n // date: value of the date (type = Date || null)\r\n // setDate: function to set date\r\n const [date, setDate] = React.useState(\r\n props.defaultDate || null\r\n );\r\n\r\n // pickerType is used to determine which state of calender is open\r\n // pickerType: date | month | year\r\n // setPickerType: function to set pickerType\r\n const [pickerType, setPickerType] = React.useState(\r\n EPickerType.Date\r\n );\r\n\r\n /**\r\n * - Changes the picker type on date/month/year selection.\r\n * - Calls the onDateSelect callback function\r\n * @param date selected date\r\n */\r\n function onDateSelect(date: Date | null) {\r\n // if picker type is month then go to date\r\n // if picker type is year then go to month\r\n if (pickerType !== EPickerType.Date) {\r\n setPickerType(pickerType - 1);\r\n }\r\n if (!props.maxDate || (date && ageCalculator(date) >= 0)) {\r\n setDate(date);\r\n date && props.onDateSelect(date);\r\n }\r\n }\r\n\r\n /**\r\n * - Creates custom header for date/month state\r\n * - Acts as the complete calender in year state\r\n * @param headerProps props passed by the component\r\n */\r\n const customHeader = (headerProps: ICustomHeaderProps) => {\r\n // These variables are used only in year state\r\n const selectedYear = (headerProps.date || new Date()).getFullYear();\r\n const currentYear = new Date().getFullYear();\r\n const yearMapHelper = [\r\n [11, 10, 9],\r\n [8, 7, 6],\r\n [5, 4, 3],\r\n [2, 1, 0],\r\n ];\r\n\r\n // calculate last year to show in year state\r\n // if current year is 2020\r\n // then on selecting 2019, last year should still show 2019 in year state\r\n // if this calculation is not used, then last year would become 2019\r\n const endYear =\r\n currentYear - 12 * Math.floor((currentYear - selectedYear) / 12);\r\n\r\n /**\r\n * Changes the year state for datepicker component.\r\n * @param yr selected year\r\n */\r\n function onYearClick(yr: number) {\r\n console.log(\"onYearClick\");\r\n onDateSelect(new Date(yr, 0, 0));\r\n headerProps.changeYear(yr);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {headerProps.prevMonthButtonDisabled ||\r\n pickerType === EPickerType.Month ? (\r\n // Don't show left arrow\r\n
\r\n ) : (\r\n // Show customised left arrow\r\n {\r\n if (pickerType === EPickerType.Date) {\r\n return headerProps.decreaseMonth();\r\n } else {\r\n // decrease year by 12 because we are showing 12 years in year state\r\n for (let i = 0; i < 12; i++) headerProps.decreaseYear();\r\n }\r\n }}\r\n >\r\n {`<`}\r\n \r\n )}\r\n\r\n
\r\n {/* Show clickable month only in date state */}\r\n {pickerType === EPickerType.Date && (\r\n setPickerType(EPickerType.Month)}\r\n >\r\n {moment(headerProps.date).format(\"MMM\")}\r\n \r\n )}\r\n {/* Show clickable year in both date and month state */}\r\n {pickerType !== EPickerType.Year && (\r\n setPickerType(EPickerType.Year)}\r\n >\r\n {pickerType === EPickerType.Date\r\n ? moment(headerProps.date).format(\"YYYY\")\r\n : headerProps.date.getFullYear()}\r\n \r\n )}\r\n {/* Show year range (not-clickable) in year state */}\r\n {pickerType === EPickerType.Year && (\r\n
\r\n {endYear - 11}-{endYear}\r\n
\r\n )}\r\n
\r\n\r\n {headerProps.nextMonthButtonDisabled ||\r\n pickerType === EPickerType.Month ? (\r\n // Don't show right arrow\r\n
\r\n ) : (\r\n // Show customised right arrow\r\n {\r\n if (pickerType === EPickerType.Date) {\r\n return headerProps.increaseMonth();\r\n } else {\r\n for (let i = 0; i < 12; i++) headerProps.increaseYear();\r\n }\r\n }}\r\n >\r\n {\">\"}\r\n \r\n )}\r\n
\r\n\r\n {/* Make the year calender if pickerType is year */}\r\n {pickerType === EPickerType.Year && (\r\n
\r\n {yearMapHelper.map((yrMapArr) => (\r\n
\r\n {yrMapArr.map((yrMap) => (\r\n onYearClick(endYear - yrMap)}\r\n >\r\n {endYear - yrMap}\r\n \r\n ))}\r\n
\r\n ))}\r\n
\r\n )}\r\n \r\n );\r\n };\r\n\r\n /**\r\n * Since everything is created in custom header in year state\r\n * this function extracts the header part of the date picker and keeps the rest empty in year state\r\n * @param containerProps props passed by the component\r\n */\r\n const calendarContainer = (containerProps: ICalenderContainerProps) => {\r\n return pickerType === EPickerType.Year ? (\r\n
\r\n {/* Custom Header */}\r\n
\r\n {containerProps.children[2] &&\r\n (containerProps.children[2] as any)[0].props &&\r\n (containerProps.children[2] as any)[0].props.children[0] &&\r\n (containerProps.children[2] as any)[0].props.children[0].props\r\n .children[0]}\r\n
\r\n {/* Body is empty */}\r\n
\r\n ) : (\r\n
{containerProps.children}
\r\n );\r\n };\r\n\r\n // This is the main calender component that is rendering calender\r\n return (\r\n
\r\n onDateSelect(date)}\r\n placeholderText={props.placeholderText}\r\n showPopperArrow={false}\r\n customInput={}\r\n showMonthYearPicker={pickerType === EPickerType.Month} // show month picker only if picker type is month\r\n shouldCloseOnSelect={pickerType === EPickerType.Date} // should only close if date picker is open\r\n renderCustomHeader={(headerProps) => customHeader(headerProps)}\r\n calendarContainer={(containerProps: ICalenderContainerProps) =>\r\n calendarContainer(containerProps)\r\n }\r\n onCalendarClose={() => setPickerType(EPickerType.Date)} // if year/month state was open before closing the reset to date state\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default Calender;\r\n\r\n/**\r\n * This component is for showing custom input box for Calender\r\n */\r\nexport interface ICustomInputProps {\r\n value?: any;\r\n disabled?: boolean;\r\n placeholder?: string;\r\n isError?: boolean;\r\n onClick?: (event: React.MouseEvent) => void;\r\n onChange?: (event: React.MouseEvent) => void;\r\n onBlur?: (event: React.FocusEvent) => void;\r\n onFocus?: (event: React.FocusEvent) => void;\r\n}\r\n\r\nclass CustomInput extends React.Component {\r\n render() {\r\n return (\r\n
\r\n \r\n {/* If a date is selected, then show date otherwise show the placeholder text */}\r\n {this.props.value ? (\r\n \r\n {moment(this.props.value).format(\"DD MMM YYYY\")}\r\n \r\n ) : (\r\n \r\n {this.props.placeholder}\r\n \r\n )}\r\n\r\n {/* Calender icon */}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetStageCompletionStatus = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetStageCompletionStatus\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getStageCompletionStatus,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: 'eco/get-stage-completion-status',\r\n // body: {\r\n // \"applicationid\": applicationid\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const AGetCacheData = (\r\n callback: CallableFunction,\r\n dataObj: {\r\n uniqueID: string;\r\n key: string;\r\n }\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetCacheData\",\r\n body: dataObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getCacheData,\r\n },\r\n callback\r\n );\r\n};\r\n","import { apiService } from \"../apiServices\";\r\nimport config from \"../../../config/domain\";\r\nimport servicesList from \"../serviceList\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"./continueApiService\";\r\n\r\nexport const ACheckPanIbeats = (callback: CallableFunction, panNo: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CheckPanInSystem\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n RequestFrom: 1,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.checkPanInSystem,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/check-pan-in-ibeats\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const APanLinkedWithAadhar = (\r\n callback: CallableFunction,\r\n panNo: string,\r\n aadharNo: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetLinkStatus\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n AadharNo: aadharNo,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.panLinkedWithAadhar,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetEmployeeByPan = (\r\n callback: CallableFunction,\r\n panNo: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"MastersData/GetEmployeeDetailsByPAN\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getEmployeeDetailsByPan,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: 'eco/get-employee-by-pan',\r\n // body: {\r\n // \"panno\": panNo\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AIsPANExists = (callback: CallableFunction, panNo: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CheckPanInSystem\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n RequestFrom: 2,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.checkPanInSystem,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/check-pan-in-caps\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetPanUtiData = (callback: CallableFunction, panNo: string) => {\r\n let panDetails = GlobalStore.personaldetails.panDetails;\r\n console.log(\"panDetails fron Globalstrore\", panDetails);\r\n\r\n const getData = (res: any) => {\r\n if (res && res.data) {\r\n let data = JSON.parse(res.data);\r\n panDetails = {\r\n PanNo: GlobalStore.personaldetails.pan,\r\n Firstname: data?.panfirstname,\r\n Middlename: data?.panmiddletname,\r\n Lastname: data?.panlastname,\r\n PANIssueDate: \"\",\r\n AadharSeedingStatus: \"\",\r\n VendorName: \"\",\r\n IsValid: true,\r\n IsAadharSeeded: \"\",\r\n };\r\n\r\n let result = {\r\n status: false,\r\n msgID: \"\",\r\n data: panDetails,\r\n // error: errorMessage.newPanUtiError,\r\n error: \"\",\r\n };\r\n\r\n callback(result);\r\n }\r\n };\r\n console.log(\"panDetails\", panDetails, typeof panDetails);\r\n\r\n const panFromLocalStorage = window.localStorage.getItem(\r\n \"clientPartialDetails_ao\"\r\n );\r\n\r\n // if (panDetails === null || panDetails === undefined) {\r\n // if (!!panFromLocalStorage) {\r\n // console.log(\"panFromLocalStorage\", panFromLocalStorage);\r\n // let panDetailsLocal = JSON.parse(panFromLocalStorage);\r\n // if (!!panDetailsLocal && panDetailsLocal.panDetails) {\r\n // panDetails = panDetailsLocal.panDetails;\r\n\r\n // let result = {\r\n // status: false,\r\n // msgID: \"\",\r\n // data: panDetails,\r\n // // error: errorMessage.newPanUtiError,\r\n // error: \"\",\r\n // };\r\n // callback(result);\r\n // } else {\r\n AGetStageCompletionStatus(getData, GlobalStore.applicationID);\r\n // }\r\n // } else {\r\n // AGetStageCompletionStatus(getData, GlobalStore.applicationID);\r\n // }\r\n // }\r\n\r\n // let result = {\r\n // status: false,\r\n // msgID: \"\",\r\n // data: panDetails,\r\n // // error: errorMessage.newPanUtiError,\r\n // error: \"\",\r\n // };\r\n // // if(panDetails==null && panDetails==undefined){\r\n\r\n // // }\r\n // callback(result);\r\n // apiService(\r\n // {\r\n // url: \"DIYAPI/GetPanDetails\",\r\n // method: \"POST\",\r\n // body: {\r\n // PanNo: panNo,\r\n // },\r\n // apiBaseUrl: config.diyNewApiUrl,\r\n // tempToken: false,\r\n // serviceName: servicesList.getPanUtiDetails,\r\n // },\r\n // callback\r\n // );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-panuti-data\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const APanVerification = (\r\n callback: CallableFunction,\r\n panObject: {\r\n panNo: string;\r\n name: string;\r\n dob: string;\r\n source: string;\r\n }\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/PanVerification\",\r\n method: \"POST\",\r\n body: panObject,\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.APanVerification,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-client-details-by-leadid\",\r\n // body: {\r\n // leadid: leadId,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const AGetClientDetailsByPan = (\r\n callback: CallableFunction,\r\n panNo: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetClientDataByPanOrLead\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: panNo,\r\n LeadId: \"\",\r\n RequestFrom: 1,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getClientDetailsByPan,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-client-details-by-pan\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetClientDetailsByLeadId = (\r\n callback: CallableFunction,\r\n leadId: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetClientDataByPanOrLead\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: \"\",\r\n LeadId: leadId,\r\n RequestFrom: 2,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.getClientDataByPanOrLead,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-client-details-by-leadid\",\r\n // body: {\r\n // leadid: leadId,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AUpdateUtmDetails = (callback: CallableFunction, utmObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/UpdateUTMParamters\",\r\n body: {\r\n ApplicationId: utmObj.applicationid,\r\n UtmContent: utmObj.utmcontent || \"\",\r\n UtmCreative: utmObj.utmcreative || \"\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.updateUtmInfo,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/update-utm-details\",\r\n // body: utmObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AWhatsappCom = (callback: CallableFunction, req: object) => {\r\n apiService(\r\n {\r\n url: \"WhatsUpAppService/WhatsUpAppInitiateCommunication\",\r\n body: req,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.whatsUpAppInitiateCommunication,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // apiBaseUrl: config.javaComUrl,\r\n // url: \"initiate/communication\",\r\n // body: req,\r\n // method: \"POST\",\r\n // headers: {\r\n // mwAuth: config.whatsappBearerToken,\r\n // },\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASavePanDobDetails = (\r\n callback: CallableFunction,\r\n panDobObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SavePanDobDetails\",\r\n method: \"POST\",\r\n body: {\r\n ...panDobObj,\r\n IsEmployeePan: panDobObj.isemployeepan,\r\n // TransactionId: panDobObj.transactionid,\r\n KycVerified: panDobObj.kycverified,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.savePanDobDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-pan-dob-details\",\r\n // body: panDobObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetCkycNumber = (callback: CallableFunction, panNo: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetCkycNumber\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getClientDataByPanOrLead,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ckyc-number\",\r\n // body: {\r\n // panno: panNo,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetCkycDetails = (callback: CallableFunction, reqObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetCKYCDetails\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: reqObj.panno,\r\n Dob: reqObj.dob,\r\n ApplicationId: reqObj.applicationid,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getCKYCDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ckyc-details\",\r\n // body: reqObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetKraDetails = (callback: CallableFunction, reqObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetKraDetails\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: reqObj.panno,\r\n Dob: reqObj.dbo,\r\n ApplicationId: reqObj.applicationId,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getKraDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-kra-details\",\r\n // body: reqObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ACheckUCCExists = (\r\n callback: CallableFunction,\r\n panNo: string,\r\n mobile: string,\r\n email: string,\r\n leadId?: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/v1/CheckUCCExists\",\r\n method: \"POST\",\r\n body: {\r\n PanNo: panNo,\r\n mobileNo: mobile,\r\n emailId: email,\r\n leadId: leadId,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.checkPanInSystem,\r\n },\r\n callback\r\n );\r\n};\r\n","import GlobalStore from \"../store/globalStore\";\r\n\r\ndeclare var dataLayer: any;\r\n\r\nexport interface IGtmObjInterface {\r\n\tevent?: string;\r\n\tcategory?: string;\r\n\taction: string;\r\n\tlabel: string;\r\n\tLead_ID?: string;\r\n\tREF_ID?: string;\r\n}\r\n\r\n/**\r\n * Single function that handles GA events\r\n * @param gtmObj IGtmObjInterface keys should be passed. \r\n */\r\nexport default function gtmService(gtmObj: IGtmObjInterface) {\r\n\tconst data: IGtmObjInterface = {\r\n\t\tevent: gtmObj.category || 'event_New_Account_Opening',\r\n\t\tcategory: gtmObj.category || 'New_Account_Opening',\r\n\t\taction: gtmObj.action,\r\n\t\tlabel: gtmObj.label,\r\n\t};\r\n\tif (GlobalStore.leadId) {\r\n\t\tdata.Lead_ID = GlobalStore.leadId\r\n\t}\r\n\tif (GlobalStore.applicationID) {\r\n\t\tdata.REF_ID = GlobalStore.applicationID\r\n\t}\r\n\tconsole.log(data);\r\n\tdataLayer.push(data);\r\n}\r\n","import { useLocation } from \"react-router\";\r\n\r\nconst useQuery = () => new URLSearchParams(useLocation().search);\r\n\r\nexport default useQuery;","const cleverTapEvents = {\r\n registration: {\r\n personalDetailsPage: {\r\n PAGE_LOADED: 'New_Account_Opening | Lead_Page | Step_Start',\r\n CLICK_ON_PROCEED: 'New_Account_Opening | Lead_Page | Step_Complete'\r\n },\r\n panPage: {\r\n PAGE_LOAD: 'New_Account_Opening | PAN_DOB | Step_Start',\r\n CLICK_ON_PROCEED: 'New_Account_Opening | PAN_DOB | Step_Complete'\r\n },\r\n digiLockerPage: {\r\n PAGE_LOAD: 'New_Account_Opening | DIGI_LOCKER | Step_Start',\r\n CLICK_ON_CONNECT_TO_DIGILOCKER: 'New_Account_Opening | DIGI_LOCKER | Step_Complete'\r\n },\r\n profilePage: {\r\n PAGE_LOAD: 'New_Account_Opening | Profile_Details | Step_Start',\r\n CLICK_ON_SUBMIT_PROFILE: 'New_Account_Opening | Profile_Details | Step_Complete'\r\n },\r\n bankPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Bank_Details | Step_Start',\r\n CLICK_ON_SUBMIT_BANK_DETAILS: 'New_Account_Opening | Bank_Details | Step_Complete'\r\n },\r\n planPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Plan_Segment | Step_Start',\r\n CLICK_ON_SUBMIT_SELECTED_PLAN: 'New_Account_Opening | Plan_Segment | Step_Complete'\r\n },\r\n investmentPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Investment_Setup | Step_Start',\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Investment_Setup | Step_Complete'\r\n },\r\n documentVerificationPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Document_Verification | Step_Start',\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Document_Verification | Step_Complete'\r\n },\r\n ipvPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Video_IPV | Step_Start',\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Video_IPV | Step_Complete'\r\n },\r\n eSignPage: {\r\n PAGE_LOAD: 'New_Account_Opening | E-Sign | Step_Start',\r\n CLICK_ON_ESIGN: 'New_Account_Opening | E-Sign | Step_Complete'\r\n },\r\n agentVisit: {\r\n PAGE_LOAD: 'New_Account_Opening | Agent_Visit | Step_Start',\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Agent_Visit | Step_Complete'\r\n },\r\n finalPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Final_Status | Step_Start'\r\n }\r\n }\r\n}\r\nexport default cleverTapEvents;","import { RequireOnlyOne } from \"../types/genericTypes\";\r\n\r\ndeclare let clevertap: ClevertapType;\r\n\r\nexport interface ClevertapType {\r\n\tevent: Array;\r\n\tprofile: Array;\r\n\taccount: Array;\r\n\tonUserLogin: Array;\r\n\tnotifications: Array;\r\n\tprivacy: Array>;\r\n\tgetCleverTapID: () => string;\r\n}\r\n\r\nexport interface ClevertapEvent {\r\n\t[x: string]: any;\r\n\tEventName: string;\r\n}\r\n\r\nexport interface ClevertapAccount {\r\n\tid: string;\r\n}\r\n\r\nexport interface ClevertapUserProfile {\r\n\tSite: {\r\n\t\tName?: string;\r\n\t\tIdentity?: string | number;\r\n\t\tEmail?: string;\r\n\t\tPhone?: string;\r\n\t\tGender?: \"M\" | \"F\";\r\n\t\tDOB?: Date;\r\n\t\tAccountType?: string;\r\n\t\tprofileID?: string;\r\n\t\t\"MSG-email\"?: boolean;\r\n\t\t\"MSG-push\"?: boolean;\r\n\t\t\"MSG-sms\"?: boolean;\r\n\t\t\"MSG-whatsapp\"?: boolean;\r\n\t};\r\n}\r\n\r\nexport interface CleverTapNotification {\r\n\ttitleText: string;\r\n\tbodyText: string;\r\n\tokButtonText: string;\r\n\trejectButtonText: string;\r\n\tokButtonColor: string;\r\n\taskAgainTimeInSeconds: number;\r\n\tserviceWorkerPath: string;\r\n}\r\n\r\nexport interface ClevertapProfile {\r\n\toptout: boolean;\r\n\tuseIP: boolean;\r\n}\r\n\r\nexport const ClevertapService = {\r\n\tpushEvent: function (data: ClevertapEvent) {\r\n\t\tclevertap.event.push(\r\n\t\t\tdata.EventName,\r\n\t\t\t{\r\n\t\t\t\t...data,\r\n\t\t\t\tCurrentPage: window.location.href,\r\n\t\t\t\tPlatform: window.innerWidth > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n\t\t\t}\r\n\t\t);\r\n\t},\r\n\r\n\tshowClevertapNotification: function () {\r\n\t\tsetTimeout(() => {\r\n\t\t\tclevertap.notifications.push({\r\n\t\t\t\ttitleText: \"Would you like to receive Push Notifications?\",\r\n\t\t\t\tbodyText: \"We promise to only send you relevant content and give you updates on your transactions\",\r\n\t\t\t\tokButtonText: \"Sign me up!\",\r\n\t\t\t\trejectButtonText: \"No thanks\",\r\n\t\t\t\tokButtonColor: \"#f28046\",\r\n\t\t\t\taskAgainTimeInSeconds: 604800,\r\n\t\t\t\tserviceWorkerPath: process.env.PUBLIC_URL + \"/serviceworker.js\"\r\n\t\t\t});\r\n\t\t}, 10000);\r\n\t},\r\n\tgetCleverTapID: function () {\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\treturn resolve(clevertap.getCleverTapID());\r\n\t\t\t}, 1000);\r\n\t\t});\r\n\t}\r\n}\r\n","import { ClevertapService } from './clevertapService';\r\n\r\nexport const AppsFlyerService = {\r\n pushEvent: async function (eventName: string) {\r\n if (window && typeof (window as any).AF === 'function') {\r\n const utmObj = JSON.parse(window.sessionStorage.getItem('objUTM_Info') || '{}');\r\n let cuid;\r\n if (utmObj && utmObj.utm_placement) {\r\n cuid = utmObj.utm_placement;\r\n } else {\r\n cuid = await ClevertapService.getCleverTapID();\r\n }\r\n\r\n (window as any).AF('pba', 'event', {\r\n eventType: 'EVENT',\r\n eventName,\r\n cuid,\r\n eventValue: {\r\n eventName,\r\n cuid,\r\n },\r\n });\r\n }\r\n },\r\n setCUID: function (cuid: any) {\r\n if (window && typeof (window as any).AF === 'function') {\r\n (window as any).AF('pba', 'setCustomerUserId', cuid);\r\n }\r\n },\r\n};\r\n","const appsFlyerEvents = {\r\n registration: {\r\n personalDetailsPage: {\r\n CLICK_ON_PROCEED: 'New_Account_Opening | Lead_Page | Step_Complete'\r\n },\r\n panPage: {\r\n CLICK_ON_PROCEED: 'New_Account_Opening | PAN_DOB | Step_Complete'\r\n },\r\n digiLockerPage: {\r\n CLICK_ON_CONNECT_TO_DIGILOCKER: 'New_Account_Opening | DIGI_LOCKER | Step_Complete'\r\n },\r\n profilePage: {\r\n CLICK_ON_SUBMIT_PROFILE: 'New_Account_Opening | Profile_Details | Step_Complete'\r\n },\r\n bankPage: {\r\n CLICK_ON_SUBMIT_BANK_DETAILS: 'New_Account_Opening | Bank_Details | Step_Complete'\r\n },\r\n planPage: {\r\n CLICK_ON_SUBMIT_SELECTED_PLAN: 'New_Account_Opening | Plan_Segment | Step_Complete'\r\n },\r\n investmentPage: {\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Investment_Setup | Step_Complete'\r\n },\r\n documentVerificationPage: {\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Document_Verification | Step_Complete'\r\n },\r\n ipvPage: {\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Video_IPV | Step_Complete'\r\n },\r\n eSignPage: {\r\n CLICK_ON_ESIGN: 'New_Account_Opening | E-Sign | Step_Complete'\r\n },\r\n agentVisit: {\r\n CLICK_ON_SUBMIT: 'New_Account_Opening | Agent_Visit | Step_Complete'\r\n },\r\n finalPage: {\r\n PAGE_LOAD: 'New_Account_Opening | Final_Status | Step_Start'\r\n }\r\n }\r\n}\r\nexport default appsFlyerEvents;","import config from \"../../config/domain\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport requestMapper from \"./mapper/serviceMapper\";\r\nimport servicesList from \"./serviceList\";\r\n\r\ninterface callReq {\r\n url: string;\r\n body: {};\r\n method?: string;\r\n apiBaseUrl?: string;\r\n tempToken?: string;\r\n serviceName?: string;\r\n isNewUrl?: boolean;\r\n}\r\n\r\nexport const xhrApiService = async (\r\n req: callReq,\r\n callback: CallableFunction,\r\n onProgress?: Function,\r\n method?: string,\r\n apiBaseUrl?: string,\r\n serviceName?: string,\r\n tempToken?: string,\r\n isNewUrl?: boolean\r\n) => {\r\n let xhr = new XMLHttpRequest();\r\n\r\n // track upload progress\r\n xhr.upload.onprogress = function (event) {\r\n onProgress && onProgress(event);\r\n };\r\n\r\n // track completion: both successful or not\r\n xhr.onloadend = async function (res) {\r\n resolveResult(res);\r\n // if (serviceName && serviceName !== \"\") {\r\n // let result = await requestMapper(this.responseText, serviceName);\r\n // callback(result);\r\n // } else {\r\n // callback(res);\r\n // }\r\n // if (xhr.status === 200) {\r\n // // callback(JSON.parse(this.responseText));\r\n // } else {\r\n // callback(undefined);\r\n // }\r\n };\r\n\r\n const resolveResult = async (res: any) => {\r\n console.log(\"resolveResult\", serviceName, res.currentTarget.responseText);\r\n if (res.currentTarget) {\r\n if (res.currentTarget.responseText) {\r\n let result = await requestMapper(\r\n JSON.parse(res.currentTarget.responseText),\r\n servicesList.uploadDocumentToS3\r\n );\r\n if (result) {\r\n callback(result);\r\n }\r\n } else {\r\n callback(res.currentTarget);\r\n }\r\n }\r\n };\r\n\r\n xhr.open(method ? method : \"POST\", `${config.diyNewApiUrl}${req.url}`);\r\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\r\n xhr.setRequestHeader(\"api-key\", config.apiKey);\r\n let clientPartialDetails = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (GlobalStore.token !== \"\") {\r\n xhr.setRequestHeader(\"Authorization\", `Bearer ${GlobalStore.token}`);\r\n }\r\n\r\n if (!GlobalStore.token && clientPartialDetails.token) {\r\n xhr.setRequestHeader(\r\n \"Authorization\",\r\n `Bearer ${clientPartialDetails.token}`\r\n );\r\n }\r\n xhr.send(JSON.stringify(req.body));\r\n};\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\nimport { xhrApiService } from \"../xhrApiServices\";\r\n\r\nexport const AUploadDocument = (\r\n callback: CallableFunction,\r\n uploadObj: any,\r\n onProgress?: any\r\n) => {\r\n const docReqPayLoad: any = {\r\n ApplicationId: uploadObj.applicationid,\r\n FileName: uploadObj.filename,\r\n Base64Document: uploadObj.base64document,\r\n };\r\n if (uploadObj?.DocType !== null && uploadObj?.DocType !== undefined) {\r\n docReqPayLoad.DocType = uploadObj.DocType;\r\n }\r\n if (\r\n uploadObj?.QltyByPassFlag !== null &&\r\n uploadObj?.QltyByPassFlag !== undefined\r\n ) {\r\n docReqPayLoad.QltyByPassFlag = uploadObj.QltyByPassFlag;\r\n }\r\n if (\r\n uploadObj.filename.includes(\"_Photo\") ||\r\n uploadObj.filename === \"personalPhoto.jpeg\"\r\n // ||uploadObj.filename.includes(\"Signature\")\r\n ) {\r\n docReqPayLoad.QltyByPassFlag = 1;\r\n }\r\n\r\n xhrApiService(\r\n {\r\n url: \"DIYAPI/UploadDocumentToS3\",\r\n body: docReqPayLoad,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n isNewUrl: true,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.uploadDocumentToS3,\r\n },\r\n callback,\r\n onProgress\r\n );\r\n\r\n // xhrApiService(\r\n // {\r\n // url: 'eco/upload-document',\r\n // body: uploadObj,\r\n // },\r\n // callback,\r\n // onProgress\r\n // );\r\n};\r\n\r\nexport const AGetBrokerage = (callback: CallableFunction, appID: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBrokerageDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n Category: \"3\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBrokerage,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-brokerage\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetBrokerageDetails = (\r\n callback: CallableFunction,\r\n appID: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBrokerageDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n Category: \"1\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBrokerageDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-brokerage-details\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveBrokerageDetails = (\r\n callback: CallableFunction,\r\n saveObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveBrokerageDetails\",\r\n body: saveObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveBrokerageDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-brokerage-details\",\r\n // body: saveObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveBrokerageSegmentDetiails = (\r\n callback: CallableFunction,\r\n saveSegObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveBrokerageSegmentDetails\",\r\n body: saveSegObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveBrokerageSegmentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-brokeragesegment-details\",\r\n // body: saveSegObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetBrokerageSegmentDetails = (\r\n callback: CallableFunction,\r\n appID: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBrokerageDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n Category: \"2\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBrokerageSegmentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-brokeragesegment-details\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetDocumentList = (callback: CallableFunction, appID: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n InputDataType: 2,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-document-list\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetUploadedDocument = (\r\n callback: CallableFunction,\r\n appID: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n InputDataType: 4,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-uploaded-document-list\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetPendingDocument = (\r\n callback: CallableFunction,\r\n appID: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n InputDataType: 1,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: 'eco/get-pending-document-list',\r\n // body: {\r\n // \"applicationid\": appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetDocStatus = (callback: CallableFunction, appID: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: appID,\r\n InputDataType: 3,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-doc-status\",\r\n // body: {\r\n // applicationid: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ADownloadDocument = (\r\n callback: CallableFunction,\r\n fileName: string,\r\n filePath: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/DownloadDocumentFromS3\",\r\n body: {\r\n FileName: fileName,\r\n FilePath: filePath,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.downloadDocumentFromS3,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/download-document\",\r\n // body: {\r\n // filename: fileName,\r\n // filepath: filePath,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveDocumentDetails = (\r\n callback: CallableFunction,\r\n saveObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveUploadedDocumentDetails\",\r\n body: {\r\n ClientPrimaryDetailId: saveObj.clientPrimaryDetailId,\r\n ApplicationId: saveObj.applicationId,\r\n LeadId: saveObj.leadId,\r\n DocumentInfo: saveObj.documentInfo\r\n ? sortDocumentInfo(saveObj.documentInfo)\r\n : [],\r\n UtmInfoDetails: saveObj.objUTM_Info,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveUploadedDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-document-details\",\r\n // body: saveObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractPan = (callback: CallableFunction, panObj: any) => {\r\n console.log(panObj, \"AextractPan\");\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: panObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_pan\",\r\n Source: panObj.source,\r\n ApplicationId: panObj.applicationid,\r\n DocumentCategory: panObj.documentcategory,\r\n DocumentId: panObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractpan\",\r\n // body: panObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const AextractPanNew = (callback: CallableFunction, panObj: any) => {\r\n console.log(panObj, \"AextractPanNew\");\r\n apiService(\r\n {\r\n url: \"Idfy/ED\",\r\n body: {\r\n Base64Document1: panObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_pan\",\r\n Source: panObj.source,\r\n ApplicationId: panObj.applicationid,\r\n DocumentCategory: panObj.documentcategory,\r\n DocumentId: panObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n // tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractpan\",\r\n // body: panObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\nexport const AextractAadhaar = (\r\n callback: CallableFunction,\r\n aadhaarObj: any,\r\n OCR?: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: aadhaarObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: OCR ? \"ind_aadhaar_plus\" : \"ind_aadhaar\",\r\n Source: aadhaarObj.source,\r\n ApplicationId: aadhaarObj.applicationid,\r\n DocumentCategory: OCR ? \"Aadhaar\" : aadhaarObj.documentcategory,\r\n DocumentId: aadhaarObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractaadhaar\",\r\n // body: aadhaarObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractCheque = (callback: CallableFunction, chequeObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: chequeObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_cheque\",\r\n Source: chequeObj.source,\r\n ApplicationId: chequeObj.applicationid,\r\n DocumentCategory: chequeObj.documentcategory,\r\n DocumentId: chequeObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractcheque\",\r\n // body: chequeObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractBankStatement = (\r\n callback: CallableFunction,\r\n chequeObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n BankName: chequeObj.bankName,\r\n AccountType: chequeObj.accountType,\r\n Base64Document1: chequeObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"verify_with_source\",\r\n DocumentType: \"ind_bank_statement\",\r\n Source: chequeObj.source,\r\n ApplicationId: chequeObj.applicationid,\r\n DocumentCategory: chequeObj.documentcategory,\r\n DocumentId: chequeObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractcheque\",\r\n // body: chequeObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractPassport = (\r\n callback: CallableFunction,\r\n passportObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: passportObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_passport\",\r\n Source: passportObj.source,\r\n ApplicationId: passportObj.applicationid,\r\n DocumentCategory: passportObj.documentcategory,\r\n DocumentId: passportObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractpassport\",\r\n // body: passportObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractVoterid = (\r\n callback: CallableFunction,\r\n voterIdObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: voterIdObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_voter_id\",\r\n Source: voterIdObj.source,\r\n ApplicationId: voterIdObj.applicationid,\r\n DocumentCategory: voterIdObj.documentcategory,\r\n DocumentId: voterIdObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractvoterid\",\r\n // body: voterIdObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AextractDl = (callback: CallableFunction, dlObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: dlObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"extract\",\r\n DocumentType: \"ind_driving_license\",\r\n Source: dlObj.source,\r\n ApplicationId: dlObj.applicationid,\r\n DocumentCategory: dlObj.documentcategory,\r\n DocumentId: dlObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/extractdl\",\r\n // body: dlObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const Afacecompare = (callback: CallableFunction, faceObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: faceObj.base64document1,\r\n Base64Document2: faceObj.base64document2,\r\n ActionName: \"compare\",\r\n Source: faceObj.source,\r\n DocumentType: \"face\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/facecompare\",\r\n // body: faceObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AgetPdf = (callback: CallableFunction, pdfObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/MargeMultipleImagestoPDF\",\r\n body: {\r\n ApplicationId: pdfObj.applicationId,\r\n UploadFlag: 1,\r\n Images: [\r\n {\r\n Base64DocumentImage: pdfObj.image1,\r\n Imagename: pdfObj.imagename1,\r\n },\r\n {\r\n Base64DocumentImage: pdfObj.image2,\r\n Imagename: pdfObj.imagename2,\r\n },\r\n ],\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.margeMultipleImagestoPDF,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/MargeMultipleImagestoPDF\",\r\n // body: pdfObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASendApplicationForQC = (\r\n callback: CallableFunction,\r\n postDataQcObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/post-qc-data\",\r\n body: postDataQcObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AcreateApplicationTicket = (\r\n callback: CallableFunction,\r\n appTicketObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CreateApplicationTicket\",\r\n body: {\r\n ApplicationId: appTicketObj.applicationid,\r\n ClientPrimaryDetailId: appTicketObj.clientprimarydetailid,\r\n StageInfoId: appTicketObj.stageinfoid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.createApplicationTicket,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: \"eco/create-application-ticket\",\r\n // body: appTicketObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AmaskAadhaar = (callback: CallableFunction, aadhaarObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/ExtractDocumentData\",\r\n body: {\r\n Base64Document1: aadhaarObj.base64document,\r\n Base64Document2: \"\",\r\n ActionName: \"mask\",\r\n DocumentType: \"ind_aadhaar\",\r\n Source: aadhaarObj.source,\r\n ApplicationId: aadhaarObj.applicationid,\r\n DocumentCategory: aadhaarObj.documentcategory,\r\n DocumentId: aadhaarObj.documentid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getExtractDocumentData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/maskaadhaar\",\r\n // body: aadhaarObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nfunction sortDocumentInfo(documents: any) {\r\n let sortedDocuments: Array = [];\r\n for (let doc of documents) {\r\n let docObj: any = {};\r\n docObj.FileName = doc.fileName;\r\n docObj.DocumentId = doc.documentId;\r\n docObj.MimeType = doc.mimeType;\r\n docObj.PanNo = doc.panno;\r\n docObj.PersonalDetailsId = doc.personaldetailsid;\r\n docObj.DocumentCategoryId = doc.documentCategoryId;\r\n docObj.DocumentExpiryDate = doc.documentexpirydate;\r\n docObj.IsFileCropped = doc.isfilecropped;\r\n docObj.IsWatsappFlag = doc.isWatsappFlag;\r\n docObj.DocumentNumber = doc.documentNumber;\r\n docObj.AutoQc = doc.autoqc;\r\n docObj.IsKycDocument = doc.iskycdocument;\r\n if (doc.AutoQcWithDocumentId) {\r\n docObj.AutoQcWithDocumentId = doc.AutoQcWithDocumentId;\r\n }\r\n sortedDocuments.push(docObj);\r\n }\r\n return sortedDocuments;\r\n}\r\nexport const AgetDocumentAutoQcDetails = (\r\n callback: CallableFunction,\r\n listOfAutoQcDocument: any,\r\n applicationId: string,\r\n documentType: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentAutoQcDetails\",\r\n body: {\r\n ListAutoQcDocumentDetails: listOfAutoQcDocument,\r\n ApplicationId: applicationId,\r\n AutoQcDocumentType: \"Selfie\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentAutoQcDetails,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ACheckPhotoLiveness = (callback: CallableFunction, base64document: any, leadId?: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/CheckPhotoLiveness\",\r\n body: {\r\n Base64Document:base64document, \r\n LeadId: (leadId) ? leadId : ''\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.checkPhotoLiveness,\r\n },\r\n callback\r\n );\r\n}\r\n export const ACheckLocation = (callback: CallableFunction, locationObj: any) => {\r\n apiService(\r\n {\r\n url: \"Idfy/CheckLocation\",\r\n body: {\r\n latitude: locationObj.lat,\r\n longitude: locationObj.lng,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.checkLocation,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/maskaadhaar\",\r\n // body: aadhaarObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n}\r\n","// localStorage.setItem(\"isESignSubmitted\", btoa(JSON.stringify(eSignCall)));\r\n\r\nexport const getStateFromLs = () => {\r\n let isESignSubmitted = localStorage.getItem(\"isESignSubmitted\");\r\n if (isESignSubmitted !== null && isESignSubmitted !== undefined && isESignSubmitted !== \"\") {\r\n return JSON.parse(atob(localStorage.getItem(\"isESignSubmitted\") || \"\"));\r\n }\r\n return null;\r\n\r\n};\r\n\r\nexport const checkESignSubmitted = (applicationId: string) => {\r\n const state = getStateFromLs();\r\n if (state !== null && state && state.applicationId == applicationId && state.isESignSubmitted) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};\r\n","import React, { useState } from \"react\";\r\nimport \"./ProfileForm.scss\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport FamilyMember, { IFamilyMember } from \"../FamilyMember/FamilyMember\";\r\nimport Tag from \"../../UI/Tag/Tag\";\r\nimport Radio from \"../../UI/Radio/Radio\";\r\nimport {\r\n fatherSpouseRelationList,\r\n dateOptionsList,\r\n monthOptionsList,\r\n yearOptionsList,\r\n addressType,\r\n clientGroup4,\r\n retailAccCategory,\r\n employeeAccCategory,\r\n emailVerificationBody,\r\n dashboardUrl,\r\n poaTrueMsg,\r\n poaFalseMsg,\r\n PCGAccCategory,\r\n} from \"../../utils/constants\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport {\r\n AGetEnumList,\r\n AGetRelationshipData,\r\n ASaveRelationshipData,\r\n ASaveKycDetails,\r\n AGetKycDetails,\r\n ARedisDigilockerDoc,\r\n AGetOcrResponseDetails,\r\n AGetDocumentidByApplicationid,\r\n AGetArea,\r\n AGetFullAddress,\r\n ASavePinCity,\r\n AGetCityByPincode,\r\n} from \"../../Services/dashboard/profileApiService\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n convertEnumIntoIObj,\r\n completeModuleStatus,\r\n utmDurationInfoObj,\r\n incompleteStageNavigation,\r\n splitFullName,\r\n capitalizeWords,\r\n ageCalculator,\r\n} from \"../../Services/globalService\";\r\nimport RegOtp from \"../../Registration/RegOtp/RegOtp\";\r\nimport { phoneNo, emailRegex } from \"../../utils/regex\";\r\nimport {\r\n AGetCities,\r\n AGetEmailOtp,\r\n AGetMobileOtp,\r\n AValidateEmailOtp,\r\n AValidateMobileOtp,\r\n} from \"../../Services/registration/registrationApiService\";\r\nimport AddressField, {\r\n IAddressFormat,\r\n addressErrorObj,\r\n CkycAddressFormat,\r\n} from \"../AddressField/AddressField\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport NriDetailForm, {\r\n INriDetailField,\r\n initialNriDetail,\r\n} from \"../NriDetailForm/NriDetailForm\";\r\nimport { getProfileDetailsFromAadhar } from \"../../Registration/ShareAdd/ShareAdd\";\r\nimport { AGetEmployeeByPan } from \"../../Services/registration/panDobApiService\";\r\nimport moment from \"moment\";\r\nimport Calender from \"../../UI/Calender/Calender\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport { repairAddressWithConditions } from \"../../../components/utils/validation\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport config from \"../../../config/domain\";\r\nimport nomineeDocsIds from \"../../../config/nomineeDocsId\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport { AUploadDocument } from \"../../Services/dashboard/brokerageServices\";\r\nimport { pan } from \"../../utils/regex\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport { AGetDocStatus } from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport { nomineeMatch } from \"../ClientNomineeGuardianMatch/ClientNomineeGuardianMatch\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport { checkESignSubmitted } from \"../../utils/eSignSubmitHandler\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\n// import useReactPath from \"../../../pathhook\";\r\nexport interface ProfileFormProps {}\r\n\r\nexport const initialAddressObj: IAddressFormat = {\r\n addressLine1: \"\",\r\n City: \"\",\r\n Country: \"\",\r\n District: \"\",\r\n PinCode: \"\",\r\n State: \"\",\r\n Area: \"\",\r\n CountryCode: 0,\r\n StateCode: 0,\r\n};\r\n\r\nexport const ckycAddressObj: CkycAddressFormat = {\r\n addressLine1: \"\",\r\n corrAddress: \"\",\r\n sameAsPermanent: true,\r\n city: \"\",\r\n country: \"\",\r\n district: \"\",\r\n pincode: \"\",\r\n corrPincode: \"\",\r\n state: \"\",\r\n area: \"\",\r\n countrycode: 0,\r\n statecode: 0,\r\n};\r\n\r\nconst nomineeIdentificationList = [\r\n // TODO: This is not done from frontend and backend. Here we need to give user to upload both photo and singnature. This is not done from backend so as per nitin we are not allow user for this option now.\r\n\r\n {\r\n display: \"PAN Card no\",\r\n value: 5,\r\n },\r\n {\r\n display: \"Aadhar Card no\",\r\n value: 2,\r\n },\r\n {\r\n display: \"Saving Bank account no.\",\r\n value: 3,\r\n },\r\n {\r\n display: \"Demat Account ID\",\r\n value: 4,\r\n },\r\n {\r\n display: \"Photo and Signature of the Nominee/guardian\",\r\n value: 1,\r\n },\r\n];\r\nconst bankAccountType = [\r\n {\r\n display: \"Ordinary Resident Demat and Trading Account\",\r\n value: 1,\r\n },\r\n {\r\n display: \"BSDA Resident Demat and Trading Account\",\r\n value: 2,\r\n },\r\n];\r\n\r\nexport const initialDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: false,\r\n uploadPer: 0,\r\n hideProgress: false,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n isWatsappFlag: false,\r\n};\r\n\r\nexport interface RelationshipData {\r\n [key: string]: Array;\r\n}\r\n\r\nconst ProfileForm: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const history = useHistory();\r\n\r\n const [errors, setErrors] = React.useState<{\r\n [key: string]: string | undefined;\r\n }>({});\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [ocrDetails, setOcrDetails] = React.useState({ address: \"\" });\r\n\r\n const [isSeniorCitizen, setIsSeniorCitizen] = React.useState(false);\r\n const [occupationList, setOccupationList] = React.useState>(\r\n []\r\n );\r\n const [incomeList, setIncomeList] = React.useState>([]);\r\n const [educationList, setEducationList] = React.useState>([]);\r\n const [maritalStatusList, setMaritalStatusList] = React.useState<\r\n Array\r\n >([]);\r\n const [genderList, setGenderList] = React.useState>([]);\r\n const [relationshipList, setRelationshipList] = React.useState<\r\n Array\r\n >([]);\r\n const [familyRelationList, setFamilyRelationList] = React.useState<\r\n Array\r\n >([]);\r\n const [familyRelationListMail, setFamilyRelationListMail] = React.useState<\r\n Array\r\n >([]);\r\n const [originalRelationList, setOriginalRelationList] = React.useState<\r\n Array\r\n >([]);\r\n const [titlePrefixList, setTitlePrefixList] = React.useState>(\r\n []\r\n );\r\n const [countryList, setCountryList] = React.useState>([]);\r\n\r\n const [relationshipData, setRelationshipData] =\r\n React.useState({});\r\n const [relationshipDataCount, setRelationshipDataCount] = React.useState(\r\n {}\r\n );\r\n\r\n const [showExplain, setShowExplain] = React.useState(false);\r\n const [showNominee, setShowNominee] = React.useState(false);\r\n const [numOfNominee, setNumOfNominee] = React.useState(0);\r\n\r\n const [email, setEmail] = React.useState(GlobalStore.user.email);\r\n const [phone, setPhone] = React.useState(GlobalStore.user.mobile);\r\n const [showEmailBtn, setShowEmailBtn] = React.useState(true);\r\n const [showMobileBtn, setShowMobileBtn] = React.useState(false);\r\n const [showEmailOtp, setShowEmailOtp] = React.useState(false);\r\n const [showMobileOtp, setShowMobileOtp] = React.useState(false);\r\n const [disableOtp, setDisableOtp] = React.useState(false);\r\n const [isEmailVerified, setIsEmailVerified] = React.useState(true);\r\n const [isMobileVerified, setIsMobileVerified] = React.useState(true);\r\n const [invalidOtp, setInvalidOtp] = React.useState(false);\r\n const [isGuardianMinor, setIsGuardiaMinor] = React.useState(false);\r\n const [permanentAddress, setPermanentAddress] =\r\n React.useState({ ...initialAddressObj });\r\n const [kycAddress, setKycAddress] = React.useState({\r\n ...initialAddressObj,\r\n });\r\n const [correspondanceAddress, setCorrespondanceAddress] =\r\n React.useState({ ...initialAddressObj });\r\n const [nomineeAddress, setNomineeAddress] = React.useState({\r\n ...initialAddressObj,\r\n });\r\n const [guardianAddress, setGuardianAddress] = React.useState({\r\n ...initialAddressObj,\r\n });\r\n const [nomineeDocuments, setNomineeDocuments] = React.useState({\r\n nomineeOne: {},\r\n nomineeTwo: {},\r\n nomineeThree: {},\r\n });\r\n const [nomineeDocumentsArray, setNomineeDocumentsArray] = React.useState(\r\n []\r\n );\r\n // check if new docs flag\r\n let [newUploads, setNewUploads] = React.useState([\r\n {\r\n isPhoto: false,\r\n isSiganture: false,\r\n guardian: { isPhoto: false, isSignature: false },\r\n },\r\n {\r\n isPhoto: false,\r\n isSiganture: false,\r\n guardian: { isPhoto: false, isSignature: false },\r\n },\r\n {\r\n isPhoto: false,\r\n isSiganture: false,\r\n guardian: { isPhoto: false, isSignature: false },\r\n },\r\n ]);\r\n\r\n const [permErrorObj, setPermErrorObj] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({\r\n ...addressErrorObj,\r\n });\r\n const [corrErrorObj, setCorrErrorObj] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({\r\n ...addressErrorObj,\r\n });\r\n const [nomErrorObj, setNomErrorObj] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({\r\n ...addressErrorObj,\r\n });\r\n const [guardErrorObj, setGuardErrorObj] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({\r\n ...addressErrorObj,\r\n });\r\n\r\n const [sameAsPermanent, setSameAsPermanent] = React.useState(true);\r\n const [sameAsNominee, setSameAsNominee] = React.useState(false);\r\n\r\n const [isNomineeMinor, setIsNomineeMinor] = React.useState(false);\r\n\r\n const [gender, setGender] = React.useState(\r\n GlobalStore.personaldetails.gender || \"\"\r\n );\r\n const [maritalStatus, setMaritalStatus] = React.useState(\"S\");\r\n const [fatherOrSpouse, setFatherOrSpouse] = React.useState(\"01\");\r\n const [fatherOrSpouseName, setFatherOrSpouseName] = React.useState(\r\n GlobalStore.personaldetails.fsfullName || \"\"\r\n );\r\n const [kycFatherName, setKycFatherName] = React.useState(\"\");\r\n const [motherName, setMotherName] = React.useState(\r\n GlobalStore.personaldetails.motherfullName || \"\"\r\n );\r\n\r\n const [eduQualification, setEduQulification] = React.useState(\"\");\r\n const [occupation, setOccupation] = React.useState(\"\");\r\n const [politicalVal, setPoliticalVal] = React.useState<\"0\" | \"1\" | \"2\">(\"0\");\r\n const [indianResident, setIndianResident] = React.useState(true);\r\n const [annualIncome, setAnnualIncome] = React.useState(\"\");\r\n const [netWorth, setNetWorth] = React.useState(\"\");\r\n const [placeOfBirth, setPlaceOfBirth] = React.useState(\"\");\r\n const [periodicSettlement, setPeriodicSettlement] = React.useState<\"1\" | \"2\">(\r\n \"2\"\r\n );\r\n\r\n const [nomDob, setNomDob] = React.useState();\r\n\r\n const [nomTitle, setNomTitle] = React.useState(\"\");\r\n const [nomFullName, setNomFullName] = React.useState(\"\");\r\n const [nomRelation, setNomRelation] = React.useState(\"\");\r\n const [nomRelationOther, setNomRelationOther] = React.useState(\"\");\r\n const [validPan, setValidPan] = React.useState([]);\r\n\r\n // New nominee state for multiple nominee functionality\r\n const [nomiDetails, setNomiDetails] = React.useState([]);\r\n\r\n const [guardTitle, setGuardTitle] = React.useState(\"\");\r\n const [guardFullName, setGuardFullName] = React.useState(\"\");\r\n const [guardRelation, setGuardRelation] = React.useState(\"\");\r\n const [guardRelationOther, setGuardRelationOther] =\r\n React.useState(\"\");\r\n\r\n const [guardEduQualification, setGuardEduQulification] =\r\n React.useState(\"\");\r\n const [guardOccupation, setGuardOccupation] = React.useState(\"\");\r\n const [guardPoliticalVal, setGuardPoliticalVal] = React.useState<\r\n \"0\" | \"1\" | \"2\"\r\n >(\"0\");\r\n const [guardAnnualIncome, setGuardAnnualIncome] = React.useState(\"\");\r\n const [guardNetWorth, setGuardNetWorth] = React.useState(\"\");\r\n const [guardPlaceOfBirth, setGuardPlaceOfBirth] = React.useState(\"\");\r\n\r\n const [nriDetailsObj, setNriDetailsObj] = React.useState({\r\n ...initialNriDetail,\r\n });\r\n // const [hideAddressKra, setHideAddressKra] = React.useState(false);\r\n // const [hideAddressKyc, setHideAddressKyc] = React.useState(false);\r\n const [hideAddress, setHideAddress] = React.useState(false);\r\n\r\n const [staffCode, setStaffCode] = React.useState(\"\");\r\n const [aadharName, setAadharName] = React.useState(\"\");\r\n const [isAadharMasked, setIsAadharMasked] = React.useState(true);\r\n const [nomIdentification, setNomIdentification] = React.useState(0);\r\n const [nomPhotoId, setNomPhotoId] = React.useState({\r\n ...initialDocObj,\r\n });\r\n const [photoBase64, setPhotoBase64] = React.useState(\"\");\r\n const [nomAdharNum, setNomAdharNum] = React.useState(\"\");\r\n const [nomBankAccountNum, setNomBankAccountNum] = React.useState(\"\");\r\n const [nomDematAccountNum, setNomDematAccountNum] =\r\n React.useState(\"\");\r\n const [globalError, setGlobalError] = React.useState(\"\");\r\n const [addlIdentDetailsValue, setAddlIdentDetailsValue] = useState(true);\r\n const [regectedAddressDoc, setRegectedAddressDoc] = React.useState(false);\r\n\r\n const [POAType, setPOAType] = React.useState(true);\r\n const [POATypeMsg, setPOATypeMsg] = React.useState(poaTrueMsg);\r\n const [defaultAccountType, setDefaultAccountType] = React.useState(\r\n \"Ordinary Resident Demat and Trading Account\"\r\n );\r\n const [defaultSetting, setDefaultSetting] = React.useState(false);\r\n\r\n const [isEditMode, setIsEditMode] = React.useState(false);\r\n const [errorMatchDetails, setErrorMatchDetails] = React.useState(\"\");\r\n const [accountTypeToggle, setAccountTypeToggle] =\r\n React.useState(false);\r\n\r\n let addressEdited = false;\r\n\r\n let [imgOfAddlIdentDetails, setImgOfAddlIdentDetails] = React.useState([\r\n {\r\n nomineeAddDtls: { isPhoto: true, isSignature: true },\r\n guardianAddDtls: { isPhoto: true, isSignature: true },\r\n },\r\n {\r\n nomineeAddDtls: { isPhoto: true, isSignature: true },\r\n guardianAddDtls: { isPhoto: true, isSignature: true },\r\n },\r\n {\r\n nomineeAddDtls: { isPhoto: true, isSignature: true },\r\n guardianAddDtls: { isPhoto: true, isSignature: true },\r\n },\r\n ]);\r\n\r\n console.log(\r\n \"GlobalStore.personaldetails.fsfullName\",\r\n GlobalStore.personaldetails.fsfullName\r\n );\r\n\r\n const nomineeList = [\r\n {\r\n display: \"One\",\r\n value: 1,\r\n },\r\n {\r\n display: \"Two\",\r\n value: 2,\r\n },\r\n {\r\n display: \"Three\",\r\n value: 3,\r\n },\r\n ];\r\n const nomineeListLabels = [\r\n {\r\n display: \"One\",\r\n value: 1,\r\n },\r\n {\r\n display: \"Two\",\r\n value: 2,\r\n },\r\n {\r\n display: \"Three\",\r\n value: 3,\r\n },\r\n ];\r\n const [cities, setCities] = React.useState([]);\r\n const [genderError, setGenderError] = React.useState(\"\");\r\n const [SettlementError, setSettlementError] = React.useState(\"\");\r\n const [togSettlement, settogSettlement] = React.useState(true);\r\n\r\n React.useEffect(() => {\r\n if (gender) {\r\n setGenderError(\"\");\r\n } else {\r\n setGenderError(\"please Select Gender\");\r\n }\r\n }, [gender]);\r\n\r\n const [familyRelationshipCount, setFamilyRelationshipCount] =\r\n React.useState({\r\n mobile: {\r\n self: 0,\r\n spouse: 0,\r\n dependentChild: 0,\r\n dependentParents: 0,\r\n },\r\n email: {\r\n self: 0,\r\n spouse: 0,\r\n dependentChild: 0,\r\n dependentParents: 0,\r\n },\r\n });\r\n\r\n React.useEffect(() => {\r\n if (showNominee && nomiDetails && nomiDetails.length > 0) {\r\n const errorMsg = nomineeMatch(showNominee, nomiDetails);\r\n setErrorMatchDetails(errorMsg);\r\n }\r\n }, [nomiDetails]);\r\n React.useEffect(() => {\r\n setTimeout(() => {\r\n setIsLoading(true);\r\n setIsLoading(false);\r\n }, 3000);\r\n }, [nomineeDocumentsArray]);\r\n\r\n // let path = useReactPath();\r\n React.useEffect(() => {\r\n // GlobalStore.pathname = path;\r\n AGetKycDetails(getKycDetails, GlobalStore.applicationID);\r\n AGetStageCompletionStatus(\r\n (res: any) => {\r\n if(res?.data){\r\n const responseObj = JSON.parse(res.data);\r\n if(fatherOrSpouseName==null||fatherOrSpouseName==undefined||fatherOrSpouseName==\"\"){\r\n if (responseObj?.fatherspousename!=null && responseObj?.fatherspousename!=undefined && responseObj?.fatherspousename!==\"\") {\r\n setFatherOrSpouseName(responseObj?.fatherspousename!==undefined?responseObj?.fatherspousename:\"\");\r\n }\r\n }\r\n }\r\n \r\n },\r\n GlobalStore.applicationID\r\n );\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (clientPartialDetails_ao.isSeniorCitizen) {\r\n setIsSeniorCitizen(true);\r\n setShowNominee(true);\r\n }\r\n if (\r\n (GlobalStore?.personaldetails?.gender == \"\" ||\r\n GlobalStore?.personaldetails?.gender == null ||\r\n GlobalStore?.personaldetails?.gender == undefined) &&\r\n (gender == \"\" || gender == null || gender == undefined) &&\r\n clientPartialDetails_ao.gender !== null &&\r\n clientPartialDetails_ao?.gender !== undefined &&\r\n clientPartialDetails_ao?.gender !== \"\"\r\n ) {\r\n GlobalStore.personaldetails.gender = clientPartialDetails_ao.gender;\r\n setGender(clientPartialDetails_ao.gender);\r\n }\r\n console.log(\r\n clientPartialDetails_ao,\r\n \" = clientPartialDetails_ao || phone = \",\r\n phone\r\n );\r\n if (!phone) {\r\n setPhone(clientPartialDetails_ao.mobile);\r\n }\r\n }, []);\r\n\r\n const togSettlementclick = () => {\r\n if (togSettlement === true) {\r\n setSettlementError(\r\n \"Connect our nearest Branch Office, this account cannot be processed online.\"\r\n );\r\n settogSettlement(false);\r\n } else {\r\n setSettlementError(\"\");\r\n settogSettlement(true);\r\n }\r\n };\r\n \r\n React.useEffect(() => {\r\n window.scroll(0, 0);\r\n setIsLoading(true);\r\n AGetEnumList(getEnumList, \"\");\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n GlobalStore.isKYC = clientPartialDetails_ao.isKYC;\r\n GlobalStore.isKRA = clientPartialDetails_ao.isKRA;\r\n GlobalStore.isDigiLocker = clientPartialDetails_ao.isDigiLocker;\r\n !clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.addressLine1 !==\r\n clientPartialDetails_ao.corrAddress &&\r\n setSameAsPermanent(false);\r\n if (\r\n clientPartialDetails_ao.addressLine1 &&\r\n clientPartialDetails_ao.PinCode\r\n ) {\r\n let permAddLocal = { ...permanentAddress };\r\n permAddLocal.addressLine1 = clientPartialDetails_ao.addressLine1;\r\n permAddLocal.PinCode = clientPartialDetails_ao.PinCode;\r\n setPermanentAddress(permAddLocal);\r\n }\r\n if (!clientPartialDetails_ao.sameAsPermanent) {\r\n let corrsAddLocal = { ...correspondanceAddress };\r\n corrsAddLocal.addressLine1 = clientPartialDetails_ao.corrAddress;\r\n corrsAddLocal.PinCode = clientPartialDetails_ao.corrPincode;\r\n setCorrespondanceAddress(corrsAddLocal);\r\n }\r\n const panFromLocalStorage = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let panNum = \"\";\r\n if (\r\n GlobalStore.personaldetails.pan != undefined ||\r\n GlobalStore.personaldetails.pan != \"\"\r\n ) {\r\n panNum = GlobalStore.personaldetails.pan;\r\n } else if (panFromLocalStorage.pan != \"\") {\r\n panNum = panFromLocalStorage.pan != \"\" ? panFromLocalStorage.pan : \"\";\r\n }\r\n let isValidPan = pan.test(panNum);\r\n if (isValidPan) {\r\n AGetEmployeeByPan(checkIsPanEmployee, panNum);\r\n }\r\n }, [sameAsPermanent]);\r\n\r\n React.useEffect(() => {\r\n if (nomDob !== undefined) {\r\n nomDob && ageCalculator(nomDob) >= 18\r\n ? setIsNomineeMinor(false)\r\n : setIsNomineeMinor(true);\r\n }\r\n }, [nomDob]);\r\n\r\n // Clervertap event: Profile screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.profilePage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n AGetCities(getCities);\r\n }, []);\r\n\r\n // Checking if the address proof is rejected inorder to enable editing of address field for KYC/KRA clients\r\n const getDocumentStatus = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"164- Failed to get the document status for the application.\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const regectedDoc = JSON.parse(res.data).filter(\r\n (item: any) => item.Status === \"Rejected\"\r\n );\r\n regectedDoc.map((doc: { ContentType: any }) => {\r\n if (doc.ContentType === \"PROOF OF ADDRESS PERMANENT\") {\r\n setRegectedAddressDoc(true);\r\n setHideAddress(false);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n function getCities(res: any) {\r\n if (!res || res.error)\r\n // setErrCode('113 - Failed to fetch the list of cities, please reload.');\r\n setErrCode(res.error);\r\n else {\r\n if (res.data && res.data.city) {\r\n setCities(res.data.city);\r\n setErrCode(errCode);\r\n }\r\n }\r\n }\r\n function onPanDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string,\r\n index: number,\r\n isGuardian: boolean\r\n ) {\r\n console.log(\"call from fun321\");\r\n setIsLoading(true);\r\n\r\n nomPhotoId.imgUrl = \"\";\r\n setNomPhotoId(nomPhotoId);\r\n setPhotoBase64(val!.split(\",\")[1]);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadRes(res, id, val, fileName, index, isGuardian, type),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n // React.useEffect(() => {\r\n // console.log(\"imgOfAddlIdentDetails value \", imgOfAddlIdentDetails);\r\n // },[imgOfAddlIdentDetails]);\r\n\r\n function getUploadRes(\r\n res: any,\r\n id: string,\r\n val: any,\r\n fileName: string,\r\n index: number,\r\n isGuardian: boolean,\r\n type: string\r\n ) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(137);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.Result) {\r\n var nomineeDocObj = nomineeDocuments;\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n let newUpload = newUploads;\r\n if (id === \"nomPhotoId\" || id === \"guardianPhotoId\") {\r\n if (id === \"nomPhotoId\") {\r\n newUpload[index].isPhoto = true;\r\n }\r\n\r\n if (id === \"guardianPhotoId\") {\r\n newUpload[index].guardian.isPhoto = true;\r\n }\r\n\r\n setIsLoading(false);\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (isGuardian) {\r\n imgOfAddlIdentDtls[index][\"guardianAddDtls\"][\"isPhoto\"] = true;\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n nomineeDocObj.nomineeOne.guardianDetails.photo.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeOne.guardianDetails.photo.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n if (index == 1) {\r\n nomineeDocObj.nomineeTwo.guardianDetails.photo.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeTwo.guardianDetails.photo.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n if (index == 2) {\r\n nomineeDocObj.nomineeThree.guardianDetails.photo.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeThree.guardianDetails.photo.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n array[index][\"guardianDetails\"][\"identificationDetail\"][\"value\"] =\r\n res.data?.Guid;\r\n } else {\r\n imgOfAddlIdentDtls[index][\"nomineeAddDtls\"][\"isPhoto\"] = true;\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n nomineeDocObj.nomineeOne.photo.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeOne.photo.mimeType = type ? type : \".\";\r\n }\r\n\r\n if (index == 1) {\r\n nomineeDocObj.nomineeTwo.photo.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeTwo.photo.mimeType = type ? type : \".\";\r\n }\r\n\r\n if (index == 2) {\r\n nomineeDocObj.nomineeThree.photo.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeThree.photo.mimeType = type ? type : \".\";\r\n }\r\n array[index][\"identificationDetail\"][\"value\"] = res.data?.Guid;\r\n array[index][\"error\"][\"identificationDetailValue\"] = undefined;\r\n setAddlIdentDetailsValue(true);\r\n }\r\n setNomiDetails(array);\r\n // AextractPan((res: any) => storeOcrData(res, panOCR), panOCR);\r\n // if (photoBase64 !== undefined) {\r\n // setErrCode('');\r\n // }\r\n }\r\n\r\n if (id === \"nomSignature\" || id === \"guardianSignature\") {\r\n setIsLoading(false);\r\n if (id === \"nomSignature\") {\r\n newUpload[index].isSignature = true;\r\n }\r\n\r\n if (id === \"guardianSignature\") {\r\n newUpload[index].guardian.isSignature = true;\r\n }\r\n // var nomineeDocObj = nomineeDocuments;\r\n\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (isGuardian) {\r\n imgOfAddlIdentDtls[index][\"guardianAddDtls\"][\"isSignature\"] = true;\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n nomineeDocObj.nomineeOne.guardianDetails.signature.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeOne.guardianDetails.signature.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n if (index == 1) {\r\n nomineeDocObj.nomineeTwo.guardianDetails.signature.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeTwo.guardianDetails.signature.mimeType = type\r\n ? type\r\n : \".\";\r\n }\r\n\r\n if (index == 2) {\r\n nomineeDocObj.nomineeThree.guardianDetails.signature.fileName =\r\n res.data?.Guid;\r\n nomineeDocObj.nomineeThree.guardianDetails.signature.mimeType =\r\n type ? type : \".\";\r\n }\r\n\r\n array[index][\"guardianDetails\"][\"identificationDetail\"][\"value\"] =\r\n res.data?.Guid;\r\n } else {\r\n imgOfAddlIdentDtls[index][\"nomineeAddDtls\"][\"isSignature\"] = true;\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n nomineeDocObj.nomineeOne.signature.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeOne.signature.mimeType = type ? type : \".\";\r\n }\r\n\r\n if (index == 1) {\r\n nomineeDocObj.nomineeTwo.signature.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeTwo.signature.mimeType = type ? type : \".\";\r\n }\r\n\r\n if (index == 2) {\r\n nomineeDocObj.nomineeThree.signature.fileName = res.data?.Guid;\r\n nomineeDocObj.nomineeThree.signature.mimeType = type ? type : \".\";\r\n }\r\n array[index][\"identificationDetail\"][\"value\"] = res.data?.Guid;\r\n array[index][\"error\"][\"identificationDetailValue\"] = undefined;\r\n setAddlIdentDetailsValue(true);\r\n }\r\n setNomiDetails(array);\r\n\r\n console.log(\"Nomineedetails\", array);\r\n console.log(\"setNomPhotoId\", nomPhotoId);\r\n\r\n // AextractPan((res: any) => storeOcrData(res, panOCR), panOCR);\r\n // if (photoBase64 !== undefined) {\r\n // setErrCode('');\r\n // }\r\n }\r\n setNomineeDocuments(nomineeDocObj);\r\n setNewUploads(newUpload);\r\n console.log(\"NomineeDocs\", nomineeDocuments);\r\n }\r\n }\r\n }\r\n const guardianMinororMajor = (date: any) => {\r\n const today = new Date();\r\n const selectedDate = new Date(date);\r\n let age = today.getFullYear() - selectedDate.getFullYear();\r\n const monthDifference = today.getMonth() - selectedDate.getMonth();\r\n\r\n // Adjust age if the birth month hasn't occurred yet this year\r\n if (\r\n monthDifference < 0 ||\r\n (monthDifference === 0 && today.getDate() < selectedDate.getDate())\r\n ) {\r\n age--;\r\n }\r\n if (age >= 18) {\r\n return true;\r\n } else return false;\r\n };\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let panCopy = { ...nomPhotoId };\r\n if (percentage < 100) {\r\n if (id === \"panCard\") {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.hideProgress = true;\r\n panCopy.showFile = false;\r\n setNomPhotoId(panCopy);\r\n }\r\n }\r\n };\r\n\r\n function getDocumentidPOA(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n let responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj &&\r\n responseObj.DocumentCategory &&\r\n responseObj.DocumentId\r\n ) {\r\n const reqObj = {\r\n applicationid: GlobalStore.applicationID,\r\n documentcategory: responseObj.DocumentCategory,\r\n documentid: responseObj.DocumentId,\r\n };\r\n AGetOcrResponseDetails(getOcrDetails, reqObj);\r\n } else {\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function getOcrDetails(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n // const responseObj = JSON.parse(JSON.parse(res.data));\r\n const responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj &&\r\n responseObj.ocrdata &&\r\n responseObj.ocrdata.result &&\r\n responseObj.ocrdata.result.extraction_output &&\r\n responseObj.ocrdata.result.extraction_output.address\r\n ) {\r\n let obj = responseObj.ocrdata.result.extraction_output;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n const permAdd = { ...permanentAddress };\r\n permAdd.addressLine1 = obj.address;\r\n const resPin = obj.pincode || getPincode(obj.address);\r\n if (resPin && resPin !== \"\" && resPin.length === 6)\r\n permAdd.PinCode = resPin.toString();\r\n setOcrDetails(obj);\r\n if (!clientPartialDetails_ao.isManual) {\r\n setPermanentAddress(permAdd);\r\n console.log(permanentAddress, \"permanentAddress works 1\");\r\n }\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function getPincode(str: string) {\r\n const pincode = str.slice(-6);\r\n return isNaN(parseInt(pincode)) ? \"\" : pincode;\r\n }\r\n\r\n function getEnumList(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode('164 - Failed to fetch the category lists, please reload.');\r\n // setErrCode(errorMessage.getEnumList);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.enumlist && res.data.enumlist.length > 0) {\r\n let [\r\n occupationList,\r\n incomeList,\r\n educationList,\r\n maritalStatusList,\r\n genderList,\r\n relationshipList,\r\n titlePrefixList,\r\n familyRelationList,\r\n countryList,\r\n ] = convertEnumIntoIObj(res.data.enumlist, [\r\n \"OccupationCode\",\r\n \"Networth\",\r\n \"Education\",\r\n \"MaritalStatusCode\",\r\n \"GenderCode\",\r\n \"NomineeRelationship\",\r\n \"Prefix\",\r\n \"ContactRelationTypeCode\",\r\n \"Country\",\r\n ]);\r\n incomeList = fixIncomeList(incomeList);\r\n setOccupationList(occupationList);\r\n setIncomeList(incomeList);\r\n setEducationList(educationList);\r\n setMaritalStatusList(maritalStatusList);\r\n setGenderList(genderList);\r\n setRelationshipList(relationshipList);\r\n setTitlePrefixList(titlePrefixList);\r\n setFamilyRelationList(familyRelationList);\r\n setFamilyRelationListMail(familyRelationList);\r\n setOriginalRelationList(familyRelationList);\r\n setCountryList(countryList);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function fixIncomeList(list: IListObj[]) {\r\n return list.map((e) => ({ ...e, display: e.display.replace(\"Btw \", \"\") }));\r\n }\r\n\r\n function getRedisData(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode();\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.coresAddress) {\r\n let responseObj = res.data;\r\n GlobalStore.isDigiLocker = true;\r\n getProfileDetailsFromAadhar(responseObj);\r\n const permAdd = { ...permanentAddress };\r\n permAdd.addressLine1 = responseObj.coresAddress;\r\n setAadharName(responseObj.aadharName);\r\n responseObj.aadharNo !== \"000000000000\" && setIsAadharMasked(false);\r\n permAdd.PinCode = responseObj.coresPincode.toString();\r\n setGender(responseObj.gender === \"M\" ? \"M\" : \"F\");\r\n setGenderError(\"\");\r\n setPermanentAddress(permAdd);\r\n console.log(permanentAddress, \"permanentAddress works 2\");\r\n } else {\r\n AGetDocumentidByApplicationid(\r\n getDocumentidPOA,\r\n GlobalStore.applicationID\r\n );\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function getRelationshipData(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode('132 - Failed to fetch relationship data');\r\n // setErrCode(errorMessage.getRelationshipData);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n console.log(\"count log\", res.data);\r\n let responseObj = res.data;\r\n setRelationshipDataCount({\r\n AvailableRelationshipTagEmail:\r\n responseObj.AvailableRelationshipTagEmail,\r\n AvailableRelationshipTagMobile:\r\n responseObj.AvailableRelationshipTagMobile,\r\n });\r\n setRelationshipData(responseObj);\r\n } else {\r\n // setErrCode('132 - Failed to fetch relationship data');\r\n setErrCode(res.error);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function checkIsPanEmployee(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n // const responseDataObj = JSON.parse(JSON.parse(res.data));\r\n const responseDataObj = res.data;\r\n if (responseDataObj.result.Flag === \"Y\")\r\n setStaffCode(responseDataObj.result.EmployeeCode);\r\n }\r\n }\r\n }\r\n\r\n function getbase64(dataString: string, obj: DocDetailFormat) {\r\n return (\r\n \"data:\" +\r\n (obj.mimeType === \"application/pdf\" ? \"application/pdf\" : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\r\n }\r\n\r\n async function getKycDetails(res: any) {\r\n try {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n let srNo = 0;\r\n let responseObj = JSON.parse(res.data);\r\n let fathersName = \"\";\r\n // let responseObj = JSON.parse(JSON.stringify(res.data));\r\n if (responseObj.ObjEcoClientPersoanlDetails) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n clientPartialDetails_ao.addressLine1 =\r\n responseObj.ObjEcoClientPersoanlDetails.objPermanentAddressDetails.permanentaddressline1;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n responseObj.ObjEcoClientPersoanlDetails.objCorrespondenceAddressDetails.corrsaddraspermanent;\r\n clientPartialDetails_ao.corrAddress =\r\n responseObj.ObjEcoClientPersoanlDetails.objCorrespondenceAddressDetails.correspondenceaddressline1;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n GlobalStore.isKRA && setHideAddress(true);\r\n GlobalStore.isKYC && setHideAddress(true);\r\n let resultObj =\r\n responseObj.ObjEcoClientPersoanlDetails\r\n .objPermanentAddressDetails;\r\n if (resultObj) {\r\n const permAddObj = { ...permanentAddress };\r\n permAddObj.addressLine1 =\r\n resultObj.permanentaddressline1 +\r\n resultObj.permanentaddressline2 +\r\n (resultObj.permanentaddressline3 || \"\") +\r\n (resultObj.permanentaddressline4 || \"\");\r\n permAddObj.Area = resultObj.permanentarea;\r\n permAddObj.City = resultObj.permanentcity;\r\n permAddObj.PinCode = resultObj.permanentpincode;\r\n permAddObj.District = resultObj.permanentdistrict;\r\n permAddObj.State = resultObj.permanentstate;\r\n permAddObj.StateCode = resultObj.permanentstatecode;\r\n permAddObj.Country = resultObj.permanentcountry;\r\n permAddObj.CountryCode = resultObj.permanentcountrycode;\r\n setPermanentAddress(permAddObj);\r\n console.log(permanentAddress, \"permanentAddress works 3\");\r\n\r\n // for AO-1395 KYC/KRA address proof reject\r\n }\r\n resultObj =\r\n responseObj.ObjEcoClientPersoanlDetails\r\n .objCorrespondenceAddressDetails;\r\n if (resultObj) {\r\n const corrAddObj = { ...correspondanceAddress };\r\n corrAddObj.addressLine1 =\r\n resultObj.correspondenceaddressline1 +\r\n resultObj.correspondenceaddressline2 +\r\n (resultObj.correspondenceaddressline3 || \"\") +\r\n (resultObj.correspondenceaddressline4 || \"\");\r\n corrAddObj.Area = resultObj.correspondancearea;\r\n corrAddObj.City = resultObj.correspondancecity;\r\n corrAddObj.PinCode = resultObj.correspondancepincode;\r\n corrAddObj.District = resultObj.correspondancedistrict;\r\n corrAddObj.State = resultObj.correspondancestate;\r\n corrAddObj.StateCode = resultObj.correspondancestatecode;\r\n corrAddObj.Country = resultObj.correspondancecountry;\r\n corrAddObj.CountryCode = resultObj.correspondancecountrycode;\r\n setCorrespondanceAddress(corrAddObj);\r\n console.log(\r\n correspondanceAddress,\r\n \"correspondanceAddress works 1\"\r\n );\r\n }\r\n\r\n setSameAsPermanent(\r\n responseObj?.ObjEcoClientPersoanlDetails?.corrsaddraspermanent\r\n );\r\n }\r\n if (\r\n responseObj.ObjEcoProfileDetails &&\r\n responseObj.ObjEcoClientPersoanlDetails\r\n ) {\r\n if (\r\n responseObj.ListMultipleNomineeDetails &&\r\n responseObj.ListMultipleNomineeDetails.length > 0\r\n ) {\r\n setShowNominee(true);\r\n setIsEditMode(false);\r\n setNumOfNominee(responseObj.ListMultipleNomineeDetails.length);\r\n const array: any = [];\r\n for (\r\n let i = 0;\r\n i < responseObj.ListMultipleNomineeDetails.length;\r\n i++\r\n ) {\r\n const element = responseObj.ListMultipleNomineeDetails[i];\r\n if (\r\n element?.additional_details ==\r\n \"Photo and Signature of the Nominee/guardian\"\r\n ) {\r\n setIsEditMode(true);\r\n const photo: any = {\r\n id: \"nomPhotoId\",\r\n disable: false,\r\n uploadPer: 100,\r\n fileName: element?.additional_details_value,\r\n imgUrl:\r\n \"data:image/jpg;base64,\" +\r\n JSON.parse(\r\n JSON.stringify(element?.additional_details_value)\r\n ).base64document,\r\n showFile: false,\r\n hideProgress: false,\r\n };\r\n setNomPhotoId(photo);\r\n }\r\n\r\n let addressLine1 =\r\n element.objpermanentaddressdetails.permanentaddressline1;\r\n let addressLine2 =\r\n element.objpermanentaddressdetails.permanentaddressline2;\r\n let addressLine3 =\r\n element?.objpermanentaddressdetails.permanentaddressline3;\r\n let addressLine4 =\r\n element?.objpermanentaddressdetails.permanentaddressline4;\r\n addressLine1 =\r\n addressLine1 != \"null\" || addressLine1 != null\r\n ? addressLine1\r\n : \"\";\r\n addressLine2 =\r\n addressLine2 != \"null\" || addressLine2 != null\r\n ? addressLine2\r\n : \"\";\r\n addressLine3 =\r\n addressLine3 != \"null\" || addressLine3 != null\r\n ? addressLine3\r\n : \"\";\r\n addressLine4 =\r\n addressLine4 != \"null\" || addressLine4 != null\r\n ? addressLine4\r\n : \"\";\r\n\r\n let completeAddress = `${addressLine1}${addressLine2}${addressLine3}${addressLine4}`;\r\n let nFirstName =\r\n element.firstname != null || element.firstname != \"null\"\r\n ? element.firstname\r\n : \"\";\r\n let nMiddleName =\r\n element.middlename != null || element.middlename != \"null\"\r\n ? element.middlename\r\n : \"\";\r\n let nLastname =\r\n element.lastname != null || element.lastname != \"null\"\r\n ? element.lastname\r\n : \"\";\r\n let nomFullName = `${nFirstName} ${nMiddleName} ${nLastname}`;\r\n\r\n const singleNominee: any = {\r\n error: {},\r\n nomTitle: element.title,\r\n nomFullName: nomFullName,\r\n nomRelation: element.relationship,\r\n nomineeAddress: {\r\n addressLine1: completeAddress,\r\n City: element.objpermanentaddressdetails.permanentcity,\r\n Country:\r\n element.objpermanentaddressdetails.permanentcountry,\r\n District:\r\n element.objpermanentaddressdetails.permanentdistrict,\r\n PinCode:\r\n element.objpermanentaddressdetails.permanentpincode,\r\n State: element.objpermanentaddressdetails.permanentstate,\r\n Area: element.objpermanentaddressdetails.permanentarea,\r\n CountryCode:\r\n element.objpermanentaddressdetails.permanentcountrycode,\r\n StateCode:\r\n element.objpermanentaddressdetails.permanentstatecode,\r\n },\r\n nomPerSharing: element.percentage,\r\n nomDob: element.dob ? new Date(element.dob) : null,\r\n isNomineeMinor: element.isminor,\r\n identificationDetail: {\r\n name: element.additional_details,\r\n value: element.additional_details_value,\r\n },\r\n };\r\n\r\n // need to check if isMonir is there than need to check in guardian details from ListMultipleGuardianDetails and set into guardianDetails with singleNominee Obj\r\n if (element.isminor) {\r\n const guardianDetails =\r\n responseObj.ListMultipleGuardianDetails.find(\r\n (singleGuardianDetail: any) =>\r\n singleGuardianDetail.srno === srNo\r\n );\r\n\r\n if (guardianDetails && Object.keys(guardianDetails).length) {\r\n console.log(\"guardianDetails\", guardianDetails);\r\n let addressLine1 =\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentaddressline1;\r\n let addressLine2 =\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentaddressline2;\r\n let addressLine3 =\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentaddressline3;\r\n let addressLine4 =\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentaddressline4;\r\n addressLine1 =\r\n addressLine1 !== \"NULL\" ||\r\n addressLine1 !== \"null\" ||\r\n addressLine1 !== null\r\n ? addressLine1\r\n : \"\";\r\n addressLine2 =\r\n addressLine2 !== \"NULL\" ||\r\n addressLine2 !== \"null\" ||\r\n addressLine2 !== null\r\n ? addressLine2\r\n : \"\";\r\n addressLine3 =\r\n addressLine3 !== \"NULL\" ||\r\n addressLine3 !== \"null\" ||\r\n addressLine3 !== null\r\n ? addressLine3\r\n : \"\";\r\n addressLine4 =\r\n addressLine4 !== \"NULL\" ||\r\n addressLine4 !== \"null\" ||\r\n addressLine4 !== null\r\n ? addressLine4\r\n : \"\";\r\n let completeAddress = `${addressLine1}${addressLine2}${addressLine3}${addressLine4}`;\r\n\r\n let nFirstName =\r\n guardianDetails?.firstname != null ||\r\n guardianDetails?.firstname != \"null\"\r\n ? guardianDetails?.firstname\r\n : \"\";\r\n let nMiddleName =\r\n guardianDetails?.middlename != null ||\r\n guardianDetails?.middlename != \"null\"\r\n ? guardianDetails?.middlename\r\n : \"\";\r\n let nLastname =\r\n guardianDetails?.lastname != null ||\r\n guardianDetails?.lastname != \"null\"\r\n ? guardianDetails?.lastname\r\n : \"\";\r\n let nomFullName = `${nFirstName} ${nMiddleName} ${nLastname}`;\r\n\r\n singleNominee[\"guardianDetails\"] = {\r\n guardPoliticalVal: \"0\",\r\n guardianAddress: {\r\n addressLine1: completeAddress,\r\n City: guardianDetails?.objpermanentaddressdetails\r\n .permanentcity,\r\n Country:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentcountry,\r\n District:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentdistrict,\r\n PinCode:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentpincode,\r\n State:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentstate,\r\n Area: guardianDetails?.objpermanentaddressdetails\r\n .permanentarea,\r\n CountryCode:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentcountrycode,\r\n StateCode:\r\n guardianDetails?.objpermanentaddressdetails\r\n .permanentstatecode,\r\n },\r\n sameAsNominee: false,\r\n dob: guardianDetails?.dob,\r\n guardTitle: guardianDetails?.title,\r\n guardFullName: nomFullName,\r\n guardRelation: guardianDetails?.relationship,\r\n identificationDetail: {\r\n name: guardianDetails?.additional_details,\r\n value: guardianDetails?.additional_details_value,\r\n },\r\n guardEduQualification: guardianDetails?.education,\r\n guardOccupation: guardianDetails?.occupation,\r\n guardAnnualIncome: guardianDetails?.annualincomerange,\r\n guardNetWorth: guardianDetails?.networthamountac_open,\r\n guardPlaceOfBirth: guardianDetails?.placeofbirth,\r\n };\r\n }\r\n }\r\n srNo += 1;\r\n array.push(singleNominee);\r\n }\r\n console.log(\"array ----->\", array);\r\n setNomiDetails(array);\r\n }\r\n // console.log('responseObj.ListMultipleNomineeDetails', responseObj.ListMultipleNomineeDetails);\r\n\r\n // setNomiDetails(responseObj.ListMultipleNomineeDetails);\r\n // Changes made to populate local storage when client is coming from Know the status flow\r\n GlobalStore.leadId = responseObj.LeadId;\r\n GlobalStore.KRA_email = responseObj.ObjEcoClientPersoanlDetails\r\n .KraEmailId\r\n ? responseObj.ObjEcoClientPersoanlDetails.KraEmailId\r\n : \"\";\r\n GlobalStore.KRA_mobile = responseObj.ObjEcoClientPersoanlDetails\r\n .KraMobileNo\r\n ? responseObj.ObjEcoClientPersoanlDetails.KraMobileNo\r\n : \"\";\r\n GlobalStore.KRA_mode = responseObj.ObjEcoClientPersoanlDetails\r\n .KraMode\r\n ? responseObj.ObjEcoClientPersoanlDetails.KraMode\r\n : 0;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n responseObj.ClientPrimaryDetailID;\r\n clientPartialDetails_ao.emailID = responseObj\r\n .ObjEcoClientPersoanlDetails.Email\r\n ? responseObj.ObjEcoClientPersoanlDetails.Email\r\n : clientPartialDetails_ao.emailID;\r\n clientPartialDetails_ao.birthDate =\r\n responseObj.ObjEcoClientPersoanlDetails.Birthdate;\r\n clientPartialDetails_ao.ckycNo =\r\n responseObj.ObjEcoClientPersoanlDetails.ckycnumber;\r\n clientPartialDetails_ao.fsfullName = `${\r\n responseObj.ObjEcoClientPersoanlDetails.FatherOrSpouseFirstname\r\n ? responseObj.ObjEcoClientPersoanlDetails\r\n .FatherOrSpouseFirstname\r\n : \"\"\r\n } ${\r\n responseObj.ObjEcoClientPersoanlDetails.FatherOrSpouseMiddleName\r\n ? responseObj.ObjEcoClientPersoanlDetails\r\n .FatherOrSpouseMiddleName\r\n : \"\"\r\n } ${\r\n responseObj.ObjEcoClientPersoanlDetails.FatherOrSpouseLastName\r\n ? responseObj.ObjEcoClientPersoanlDetails.FatherOrSpouseLastName\r\n : \"\"\r\n }`;\r\n clientPartialDetails_ao.motherfullName = `${\r\n responseObj.ObjEcoClientPersoanlDetails.MotherFirstname\r\n ? responseObj.ObjEcoClientPersoanlDetails.MotherFirstname\r\n : \"\"\r\n } ${\r\n responseObj.ObjEcoClientPersoanlDetails.MotherMiddleName\r\n ? responseObj.ObjEcoClientPersoanlDetails.MotherMiddleName\r\n : \"\"\r\n } ${\r\n responseObj.ObjEcoClientPersoanlDetails.MotherLastName\r\n ? responseObj.ObjEcoClientPersoanlDetails.MotherLastName\r\n : \"\"\r\n }`;\r\n clientPartialDetails_ao.addressLine1 =\r\n responseObj.ObjEcoClientPersoanlDetails.objPermanentAddressDetails.permanentaddressline1;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n responseObj.ObjEcoClientPersoanlDetails.objCorrespondenceAddressDetails.corrsaddraspermanent;\r\n clientPartialDetails_ao.corrAddress =\r\n responseObj.ObjEcoClientPersoanlDetails.objCorrespondenceAddressDetails.correspondenceaddressline1;\r\n clientPartialDetails_ao.isKYC =\r\n responseObj.ObjEcoClientPersoanlDetails.iskyc;\r\n clientPartialDetails_ao.isKRA =\r\n responseObj.ObjEcoClientPersoanlDetails.isKRA;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n GlobalStore.isKRA && setHideAddress(true);\r\n GlobalStore.isKYC && setHideAddress(true);\r\n let resultObj =\r\n responseObj.ObjEcoClientPersoanlDetails\r\n .objPermanentAddressDetails;\r\n if (resultObj) {\r\n const permAddObj = { ...permanentAddress };\r\n permAddObj.addressLine1 =\r\n resultObj.permanentaddressline1 +\r\n resultObj.permanentaddressline2 +\r\n (resultObj.permanentaddressline3 || \"\") +\r\n (resultObj.permanentaddressline4 || \"\");\r\n permAddObj.Area = resultObj.permanentarea;\r\n permAddObj.City = resultObj.permanentcity;\r\n permAddObj.PinCode = resultObj.permanentpincode;\r\n permAddObj.District = resultObj.permanentdistrict;\r\n permAddObj.State = resultObj.permanentstate;\r\n permAddObj.StateCode = resultObj.permanentstatecode;\r\n permAddObj.Country = resultObj.permanentcountry;\r\n permAddObj.CountryCode = resultObj.permanentcountrycode;\r\n setPermanentAddress(permAddObj);\r\n console.log(permanentAddress, \"permanentAddress works 4\");\r\n\r\n // for AO-1395 KYC/KRA address proof reject\r\n if (GlobalStore.isKYC || GlobalStore.isKRA) {\r\n AGetDocStatus(getDocumentStatus, GlobalStore.applicationID);\r\n setKycAddress(permAddObj);\r\n setKycFatherName(clientPartialDetails_ao.fsfullName);\r\n }\r\n }\r\n\r\n resultObj =\r\n responseObj.ObjEcoClientPersoanlDetails\r\n .objCorrespondenceAddressDetails;\r\n if (resultObj) {\r\n const corrAddObj = { ...correspondanceAddress };\r\n corrAddObj.addressLine1 =\r\n resultObj.correspondenceaddressline1 +\r\n resultObj.correspondenceaddressline2 +\r\n (resultObj.correspondenceaddressline3 || \"\") +\r\n (resultObj.correspondenceaddressline4 || \"\");\r\n corrAddObj.Area = resultObj.correspondancearea;\r\n corrAddObj.City = resultObj.correspondancecity;\r\n corrAddObj.PinCode = resultObj.correspondancepincode;\r\n corrAddObj.District = resultObj.correspondancedistrict;\r\n corrAddObj.State = resultObj.correspondancestate;\r\n corrAddObj.StateCode = resultObj.correspondancestatecode;\r\n corrAddObj.Country = resultObj.correspondancecountry;\r\n corrAddObj.CountryCode = resultObj.correspondancecountrycode;\r\n setCorrespondanceAddress(corrAddObj);\r\n console.log(\r\n correspondanceAddress,\r\n \"correspondanceAddress works 2\"\r\n );\r\n }\r\n resultObj = responseObj.ObjEcoClientPersoanlDetails;\r\n if (resultObj) {\r\n setFatherOrSpouse(resultObj.FlagFS || \"01\");\r\n fathersName = \"\";\r\n fathersName +=\r\n (resultObj.FatherOrSpouseFirstname || \"\") +\r\n \" \" +\r\n (resultObj.FatherOrSpouseMiddleName || \"\") +\r\n \" \" +\r\n (resultObj.FatherOrSpouseLastName || \"\");\r\n setFatherOrSpouseName(fathersName);\r\n\r\n setMotherName(\r\n (resultObj.MotherFirstname || \"\") +\r\n \" \" +\r\n (resultObj.MotherMiddleName || \"\") +\r\n \" \" +\r\n (resultObj.MotherLastName || \"\")\r\n );\r\n console.log(\r\n \"||clientPartialDetails_ao||=\",\r\n clientPartialDetails_ao\r\n );\r\n setMaritalStatus(resultObj.MaritalStatus);\r\n setGender(resultObj.Gender);\r\n setGenderError(\"\");\r\n setSameAsPermanent(resultObj.corrsaddraspermanent);\r\n setEmail(clientPartialDetails_ao.emailID);\r\n GlobalStore.user.email = clientPartialDetails_ao.emailID;\r\n setIsEmailVerified(true);\r\n setShowEmailBtn(false);\r\n setPhone(clientPartialDetails_ao.mobile);\r\n GlobalStore.user.mobile = clientPartialDetails_ao.mobile;\r\n }\r\n resultObj = responseObj.ObjEcoProfileDetails;\r\n if (resultObj) {\r\n setEduQulification(resultObj.education || \"\");\r\n setOccupation(resultObj.occupation || \"\");\r\n setPoliticalVal(resultObj.pep || \"0\");\r\n setAnnualIncome(resultObj.annualincomerange || \"\");\r\n setPlaceOfBirth(resultObj.placeofbirth || \"\");\r\n setNetWorth(resultObj.networthwhenacopen);\r\n setPeriodicSettlement(resultObj.periodicsettlement.toString());\r\n setIndianResident(!resultObj.taxresidentofothercountry);\r\n //setting PO flag after getting\r\n if (resultObj.ddpi_type == 1) setPOAType(true);\r\n else setPOAType(false);\r\n if (resultObj.applicationtype == 2)\r\n setDefaultAccountType(\r\n \"BSDA Resident Demat and Trading Account\"\r\n );\r\n else\r\n setDefaultAccountType(\r\n \"Ordinary Resident Demat and Trading Account\"\r\n );\r\n if (\r\n resultObj.taxresidentofothercountry &&\r\n resultObj.taxresidenceofindialist.length > 0\r\n ) {\r\n const nriObj: typeof nriDetailsObj = {\r\n country: resultObj.taxresidenceofindialist[0].country,\r\n idType:\r\n resultObj.taxresidenceofindialist[0].identification_type,\r\n idTypeValue:\r\n resultObj.taxresidenceofindialist[0].identification_number,\r\n idTypeOther:\r\n resultObj.taxresidenceofindialist[0]\r\n .identification_type_other,\r\n };\r\n setNriDetailsObj(nriObj);\r\n }\r\n }\r\n\r\n resultObj =\r\n responseObj.ObjEcoNomineeDetails?.objPermanentAddressDetails;\r\n if (resultObj) {\r\n const nomAddObj = { ...nomineeAddress };\r\n nomAddObj.addressLine1 =\r\n resultObj.permanentaddressline1 +\r\n resultObj.permanentaddressline2 +\r\n (resultObj.permanentaddressline3 || \"\") +\r\n (resultObj.permanentaddressline4 || \"\");\r\n nomAddObj.Area = resultObj.permanentarea;\r\n nomAddObj.City = resultObj.permanentcity;\r\n nomAddObj.PinCode = resultObj.permanentpincode;\r\n nomAddObj.District = resultObj.permanentdistrict;\r\n nomAddObj.StateCode = resultObj.permanentstatecode;\r\n nomAddObj.Country = resultObj.permanentcountry;\r\n nomAddObj.CountryCode = resultObj.permanentcountrycode;\r\n setNomineeAddress(nomAddObj);\r\n setShowNominee(true);\r\n }\r\n resultObj = responseObj.ObjEcoNomineeDetails;\r\n if (resultObj) {\r\n setNomTitle(resultObj.Title);\r\n setNomFullName(\r\n resultObj.FirstName +\r\n \" \" +\r\n (resultObj.MiddleName || \"\") +\r\n \" \" +\r\n (resultObj.LastName || \"\")\r\n );\r\n setNomRelation(resultObj.relationship || \"\");\r\n setIsNomineeMinor(resultObj.isminor);\r\n setNomDob(resultObj.DOB);\r\n }\r\n resultObj =\r\n responseObj.ObjEcoGuardianDetails?.objPermanentAddressDetails;\r\n if (resultObj) {\r\n const gaurdAddObj = { ...guardianAddress };\r\n gaurdAddObj.addressLine1 =\r\n resultObj.permanentaddressline1 +\r\n resultObj.permanentaddressline2 +\r\n (resultObj.permanentaddressline3 || \"\") +\r\n (resultObj.permanentaddressline4 || \"\");\r\n gaurdAddObj.Area = resultObj.permanentarea;\r\n gaurdAddObj.City = resultObj.permanentcity;\r\n gaurdAddObj.PinCode = resultObj.permanentpincode;\r\n gaurdAddObj.District = resultObj.permanentdistrict;\r\n gaurdAddObj.State = resultObj.permanentstate;\r\n gaurdAddObj.StateCode = resultObj.permanentstatecode;\r\n gaurdAddObj.Country = resultObj.permanentcountry;\r\n gaurdAddObj.CountryCode = resultObj.permanentcountrycode;\r\n setGuardianAddress(gaurdAddObj);\r\n setIsNomineeMinor(true);\r\n }\r\n resultObj = responseObj.ObjEcoGuardianDetails;\r\n if (resultObj) {\r\n setGuardTitle(resultObj.Title);\r\n setGuardFullName(\r\n resultObj.FirstName +\r\n \" \" +\r\n (resultObj.MiddleName || \"\") +\r\n \" \" +\r\n (resultObj.LastName || \"\")\r\n );\r\n setGuardRelation(resultObj.relationship || \"\");\r\n setGuardEduQulification(resultObj.education || \"\");\r\n setGuardOccupation(resultObj.occupation || \"\");\r\n setGuardPoliticalVal(resultObj.pep || \"0\");\r\n setGuardAnnualIncome(resultObj.annualincomerange || \"\");\r\n setGuardNetWorth(resultObj.networthamountac_open || \"\");\r\n setGuardPlaceOfBirth(resultObj.placeofbirth || \"\");\r\n }\r\n setIsLoading(false);\r\n } else {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (clientPartialDetails_ao.pincode) {\r\n AGetCityByPincode(\r\n getFullAddress,\r\n clientPartialDetails_ao.pincode\r\n );\r\n } else if (\r\n GlobalStore.isKRA &&\r\n GlobalStore.kraInfoObject.addressLine1 &&\r\n GlobalStore.kraInfoObject.pincode\r\n )\r\n AGetCityByPincode(\r\n getFullAddress,\r\n GlobalStore.kraInfoObject.pincode\r\n );\r\n else if (\r\n GlobalStore.isKYC &&\r\n GlobalStore.ckycNo !== \"\" &&\r\n GlobalStore.ckycInfoObject.addressLine1 &&\r\n GlobalStore.ckycInfoObject.pincode\r\n )\r\n AGetCityByPincode(\r\n getFullAddress,\r\n GlobalStore.ckycInfoObject.pincode\r\n );\r\n else if (\r\n GlobalStore.isDigiLocker &&\r\n GlobalStore.personaldetails.addressLine1 &&\r\n GlobalStore.personaldetails.pincode\r\n )\r\n AGetCityByPincode(\r\n getFullAddress,\r\n GlobalStore.personaldetails.pincode\r\n );\r\n else {\r\n const redisReqObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailsId: GlobalStore.clientPrimaryDetailId,\r\n };\r\n ARedisDigilockerDoc(getRedisData, redisReqObj);\r\n }\r\n }\r\n\r\n let mobNumber = GlobalStore.user.mobile;\r\n let emailID = GlobalStore.user.email;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (!mobNumber) {\r\n mobNumber = clientPartialDetails_ao.mobile;\r\n }\r\n if (!emailID) {\r\n emailID = clientPartialDetails_ao.emailID;\r\n }\r\n if (\r\n fathersName == \"\" ||\r\n fathersName == null ||\r\n fathersName == undefined\r\n ) {\r\n if (\r\n GlobalStore.personaldetails.fsfullName == \"\" ||\r\n GlobalStore.personaldetails.fsfullName == null ||\r\n GlobalStore.personaldetails.fsfullName == undefined\r\n ) {\r\n setFatherOrSpouseName(\r\n clientPartialDetails_ao.fsfullName !== undefined\r\n ? clientPartialDetails_ao.fsfullName\r\n : \"\"\r\n );\r\n } else {\r\n setFatherOrSpouseName(GlobalStore.personaldetails.fsfullName);\r\n }\r\n }\r\n AGetRelationshipData(\r\n getRelationshipData,\r\n GlobalStore.applicationID,\r\n emailID,\r\n mobNumber.toString()\r\n );\r\n\r\n // check if nominee is present is yes get Uploaded documents and prefill\r\n\r\n // AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"error in catch\", error);\r\n }\r\n }\r\n\r\n // function getAreaList(res: any) {\r\n // if (!res || res.error) {\r\n // // setErrCode('130 - Failed to fetch the area list for the pincode');\r\n // // setErrCode(errorMessage.getAreaList);\r\n // setErrCode(res.error);\r\n // } else {\r\n // if (res.data && res.data.areas) {\r\n // let arr: Array = [];\r\n // res.data.areas.forEach((item: string) => {\r\n // let obj: IListObj = {\r\n // value: item,\r\n // display: item,\r\n // };\r\n // arr.push(obj);\r\n // });\r\n // const clientPartialDetails_ao = JSON.parse(\r\n // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // );\r\n // if (clientPartialDetails_ao.pincode) {\r\n // AGetFullAddress(\r\n // getFullAddress,\r\n // res.data.areas[0],\r\n // clientPartialDetails_ao.pincode\r\n // );\r\n // } else if (GlobalStore.ckycInfoObject.pincode) {\r\n // AGetFullAddress(\r\n // getFullAddress,\r\n // res.data.areas[0],\r\n // GlobalStore.ckycInfoObject.pincode\r\n // );\r\n // } else if (GlobalStore.kraInfoObject.pincode) {\r\n // AGetFullAddress(\r\n // getFullAddress,\r\n // res.data.areas[0],\r\n // GlobalStore.kraInfoObject.pincode\r\n // );\r\n // } else if (GlobalStore.personaldetails.pincode) {\r\n // AGetFullAddress(\r\n // getFullAddress,\r\n // res.data.areas[0],\r\n // GlobalStore.personaldetails.pincode\r\n // );\r\n // }\r\n // } else {\r\n // // setErrCode('130 - Failed to fetch the area list for the pincode');\r\n // setErrCode(res.error);\r\n // }\r\n // }\r\n // }\r\n\r\n function getFullAddress(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('131 - Failed to fetch details corresponding to pincode and area');\r\n // setErrCode(errorMessage.getFullAddress);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.length > 0) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let obj: any = {};\r\n obj.PinCode = res.data[0].PinCode;\r\n obj.District = res.data[0].District;\r\n obj.Country = res.data[0].Country;\r\n obj.City = res.data[0].City;\r\n obj.State = res.data[0].State;\r\n obj.StateCode = res.data[0].StateCode;\r\n obj.CountryCode = res.data[0].CountryCode;\r\n obj.addressLine1 = clientPartialDetails_ao.addressLine1\r\n ? clientPartialDetails_ao.addressLine1\r\n : GlobalStore.ckycInfoObject.addressLine1\r\n ? GlobalStore.ckycInfoObject.addressLine1\r\n : GlobalStore.kraInfoObject.addressLine1\r\n ? GlobalStore.kraInfoObject.addressLine1\r\n : GlobalStore.personaldetails.addressLine1;\r\n // setHideAddressKra(true);\r\n setPermanentAddress(obj);\r\n const areaObj = {\r\n pincode: res.data[0].PinCode,\r\n city: res.data[0].City,\r\n state: res.data[0].State,\r\n };\r\n ASavePinCity((res: any) => savePinCityRes(res), areaObj);\r\n if (sameAsPermanent) {\r\n setCorrespondanceAddress(obj);\r\n console.log(correspondanceAddress, \"correspondanceAddress works 3\");\r\n\r\n setIsLoading(false);\r\n } else {\r\n if (clientPartialDetails_ao.corrPincode) {\r\n AGetCityByPincode(\r\n (res: any) =>\r\n getCorrAddress(res, clientPartialDetails_ao.corrAddress),\r\n GlobalStore.ckycInfoObject.pincode\r\n );\r\n\r\n // AGetArea(\r\n // (res: any) =>\r\n // getCorrespondingAreaList(\r\n // res,\r\n // clientPartialDetails_ao.corrPincode,\r\n // clientPartialDetails_ao.corrAddress\r\n // ),\r\n // clientPartialDetails_ao.corrPincode\r\n // );\r\n } else setIsLoading(false);\r\n }\r\n } else {\r\n // setErrCode('131 - Failed to fetch details corresponding to pincode and area');\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n function updateNomineeDetails() {\r\n // setNomineeDocuments([]);\r\n // setAddlIdentDetailsValue(true);\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n console.log(\"ARRAY\", array);\r\n\r\n if (array.length > 0) {\r\n array.forEach((element: any, index: number) => {\r\n // element.identificationDetail.name = '';\r\n // handleAddNomineeValue('identificationDetail', index, { display: '', value: 0});\r\n });\r\n }\r\n }\r\n\r\n function savePinCityRes(res: any) {\r\n console.log(res, \"response works\");\r\n if (!res || res.error) {\r\n // setErrCode('130 - Failed to fetch the area list for the pincode');\r\n // setErrCode(errorMessage.getCorrespondingAreaList);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.length > 0) {\r\n }\r\n }\r\n }\r\n // function getCorrespondingAreaList(\r\n // res: any,\r\n // pincode: string,\r\n // address: string\r\n // ) {\r\n // if (!res || res.error) {\r\n // // setErrCode('130 - Failed to fetch the area list for the pincode');\r\n // // setErrCode(errorMessage.getCorrespondingAreaList);\r\n // setErrCode(res.error);\r\n // } else {\r\n // if (res.data && res.data.areas) {\r\n // let arr: Array = [];\r\n // res.data.areas.forEach((item: string) => {\r\n // let obj: IListObj = {\r\n // value: item,\r\n // display: item,\r\n // };\r\n // arr.push(obj);\r\n // });\r\n // AGetFullAddress(\r\n // (res: any) => getCorrAddress(res, address),\r\n // res.data.areas[0],\r\n // pincode\r\n // );\r\n // }\r\n // }\r\n // }\r\n\r\n function getCorrAddress(res: any, address: string) {\r\n if (!res || res.error) {\r\n // setErrCode('131 - Failed to fetch details corresponding to pincode and area');\r\n setErrCode(res.error);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.length > 0) {\r\n let obj: any = {};\r\n obj.pincode = res.data[0].PinCode;\r\n obj.area = res.data[0].City;\r\n obj.district = res.data[0].District;\r\n obj.country = res.data[0].Country;\r\n obj.city = res.data[0].City;\r\n obj.state = res.data[0].State;\r\n obj.statecode = res.data[0].StateCode;\r\n obj.countrycode = res.data[0].CountryCode;\r\n obj.addressLine1 = address;\r\n setCorrespondanceAddress(obj);\r\n console.log(correspondanceAddress, \"correspondanceAddress works 4\");\r\n\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function sendOtp(otpType: \"email\" | \"mobile\") {\r\n setIsLoading(true);\r\n setShowEmailOtp(false);\r\n setInvalidOtp(false);\r\n if (otpType === \"email\") {\r\n let emlObj = {\r\n mailBody: emailVerificationBody.mailBody,\r\n mailFrom: emailVerificationBody.mailFrom,\r\n mailSource: emailVerificationBody.mailSource,\r\n mailSubject: emailVerificationBody.mailSubject,\r\n mailTo: email,\r\n };\r\n AGetEmailOtp((res: any) => otpSent(res, \"email\"), emlObj);\r\n // AGetMobileOtp(emailOtpSent, '9770308828');\r\n } else {\r\n AGetMobileOtp((res: any) => otpSent(res, \"mobile\"), phone);\r\n }\r\n }\r\n\r\n function otpSent(res: any, otpType: \"email\" | \"mobile\") {\r\n if (res.data && res.status) {\r\n if (res.data && otpType === \"email\") {\r\n setShowEmailBtn(false);\r\n setShowEmailOtp(true);\r\n }\r\n if (res.data.Success && otpType === \"mobile\") {\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n }\r\n setErrCode(errCode);\r\n } else {\r\n // setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function validateOtp(otpType: \"email\" | \"mobile\", val: string) {\r\n if (invalidOtp) {\r\n setInvalidOtp(false);\r\n }\r\n if (val.length === 4) {\r\n setIsLoading(true);\r\n setDisableOtp(true);\r\n if (otpType === \"email\")\r\n AValidateEmailOtp(\r\n (res: any) => checkValidateOtp(res, \"email\"),\r\n email,\r\n val\r\n );\r\n else\r\n AValidateMobileOtp(\r\n (res: any) => checkValidateOtp(res, \"mobile\"),\r\n phone.toString(),\r\n val\r\n );\r\n }\r\n }\r\n\r\n function checkValidateOtp(res: any, otpType: \"email\" | \"mobile\") {\r\n setDisableOtp(false);\r\n if (!res || res.error) {\r\n // setErrCode('115 - Failed to validate OTP, please retry.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data == true || res.data == \"true\" || res.data == \"Same OTP\") {\r\n if (otpType === \"email\") {\r\n GlobalStore.user.email = email;\r\n setIsEmailVerified(true);\r\n setShowEmailOtp(false);\r\n }\r\n if (otpType === \"mobile\") {\r\n GlobalStore.user.mobile = phone;\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n }\r\n\r\n let mobNumber = GlobalStore.user.mobile;\r\n let emailID = GlobalStore.user.email;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n if (\r\n GlobalStore?.personaldetails?.fsfullName == null ||\r\n GlobalStore?.personaldetails?.fsfullName == undefined ||\r\n GlobalStore?.personaldetails?.fsfullName == \"\"\r\n ) {\r\n setFatherOrSpouseName(clientPartialDetails_ao.fsfullName);\r\n GlobalStore.personaldetails.fsfullName =\r\n clientPartialDetails_ao.fsfullName;\r\n } else {\r\n setFatherOrSpouseName(GlobalStore.personaldetails.fsfullName);\r\n }\r\n if (!mobNumber) {\r\n mobNumber = clientPartialDetails_ao.mobile;\r\n }\r\n if (!emailID) {\r\n emailID = clientPartialDetails_ao.emailID;\r\n }\r\n AGetRelationshipData(\r\n getRelationshipData,\r\n GlobalStore.applicationID,\r\n emailID,\r\n mobNumber.toString()\r\n );\r\n } else {\r\n setInvalidOtp(true);\r\n }\r\n setErrCode(errCode);\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function handleSameAsAbove(event: React.ChangeEvent) {\r\n if (event.target.name === \"sameAscorrespondance\") {\r\n if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC\r\n ) {\r\n sameAsPermanent && setCorrespondanceAddress({ ...initialAddressObj });\r\n !sameAsPermanent && setCorrespondanceAddress({ ...permanentAddress });\r\n if (!sameAsPermanent) {\r\n setCorrErrorObj({});\r\n }\r\n setSameAsPermanent(!sameAsPermanent);\r\n }\r\n } else {\r\n !sameAsNominee && setGuardianAddress({ ...nomineeAddress });\r\n setSameAsNominee(!sameAsNominee);\r\n }\r\n }\r\n\r\n function handleSameAsAboveForGaurdian(\r\n event: React.ChangeEvent,\r\n index: number\r\n ) {\r\n const nomineeAdd = JSON.parse(JSON.stringify(nomiDetails));\r\n nomineeAdd[index][\"guardianDetails\"][\"sameAsNominee\"] =\r\n !nomineeAdd[index][\"guardianDetails\"][\"sameAsNominee\"];\r\n setNomiDetails(nomineeAdd);\r\n if (event.target.name === \"sameAsguardian\") {\r\n if (\r\n nomineeAdd[index][\"guardianDetails\"][\"sameAsNominee\"] &&\r\n nomineeAdd[index]?.nomineeAddress\r\n ) {\r\n nomineeAdd[index][\"guardianDetails\"][\"guardianAddress\"] =\r\n nomineeAdd[index]?.nomineeAddress;\r\n setNomiDetails(nomineeAdd);\r\n } else {\r\n nomineeAdd[index][\"guardianDetails\"][\"guardianAddress\"] = {\r\n ...initialAddressObj,\r\n };\r\n setNomiDetails(nomineeAdd);\r\n }\r\n } else {\r\n nomineeAdd[index][\"guardianDetails\"][\"guardianAddress\"] = {\r\n ...initialAddressObj,\r\n };\r\n setNomiDetails(nomineeAdd);\r\n }\r\n }\r\n\r\n function onRelationChange(type: string, index: number, val: string) {\r\n let value: string = parseInt(val).toString();\r\n\r\n switch (type) {\r\n case \"email\":\r\n let emailArr = relationshipData.emailMatchedList;\r\n emailArr[index].relationshipName = value;\r\n setRelationshipData({\r\n ...relationshipData,\r\n emailMatchedList: emailArr,\r\n });\r\n break;\r\n case \"mobile\":\r\n let mobileArr = relationshipData.mobileMatchedList;\r\n mobileArr[index].relationshipName = value;\r\n setRelationshipData({\r\n ...relationshipData,\r\n mobileMatchedList: mobileArr,\r\n });\r\n break;\r\n case \"both\":\r\n let bothArr = relationshipData.bothMatchedList;\r\n bothArr[index].relationshipName = value;\r\n setRelationshipData({ ...relationshipData, bothMatchedList: bothArr });\r\n break;\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n console.log(\"familyRelationshipCount RE log = \", familyRelationshipCount);\r\n console.log(\"familyRelationshipList RL log = \", familyRelationListMail);\r\n console.log(\"familyRelationshipData Data log = \", relationshipDataCount);\r\n\r\n // Rohit code changes starts\r\n\r\n let mobileDropDownList = familyRelationListMail;\r\n let emailDropDownList = familyRelationListMail;\r\n let removeFromMobileList: string[] = [];\r\n let removeFromEmailList: string[] = [];\r\n\r\n // check if data count is greater then 0 for each type and update the list -- mobile // familyRelationshipCount\r\n if (relationshipDataCount?.AvailableRelationshipTagMobile?.Self == 0) {\r\n removeFromMobileList.push(\"1\");\r\n }\r\n\r\n if (\r\n relationshipDataCount?.AvailableRelationshipTagMobile?.DependentParent ==\r\n 0\r\n ) {\r\n removeFromMobileList.push(\"4\");\r\n }\r\n\r\n if (\r\n relationshipDataCount?.AvailableRelationshipTagMobile?.DependentChild == 0\r\n ) {\r\n removeFromMobileList.push(\"3\");\r\n }\r\n\r\n if (relationshipDataCount?.AvailableRelationshipTagMobile?.Spouse == 0) {\r\n removeFromMobileList.push(\"2\");\r\n }\r\n\r\n // check if data count is greater then 0 for each type and update the list -- email // familyRelationListMail\r\n\r\n if (relationshipDataCount?.AvailableRelationshipTagEmail?.Self == 0) {\r\n removeFromEmailList.push(\"1\");\r\n }\r\n\r\n if (\r\n relationshipDataCount?.AvailableRelationshipTagEmail?.DependentParent == 0\r\n ) {\r\n removeFromEmailList.push(\"4\");\r\n }\r\n\r\n if (\r\n relationshipDataCount?.AvailableRelationshipTagEmail?.DependentChild == 0\r\n ) {\r\n removeFromEmailList.push(\"3\");\r\n }\r\n\r\n if (relationshipDataCount?.AvailableRelationshipTagEmail?.Spouse == 0) {\r\n removeFromEmailList.push(\"2\");\r\n }\r\n\r\n // FIlter out values what all is not required\r\n const mobileList = mobileDropDownList.filter(\r\n (i: any) => !removeFromMobileList.includes(i.value)\r\n );\r\n\r\n const emailList = emailDropDownList.filter(\r\n (i: any) => !removeFromEmailList.includes(i.value)\r\n );\r\n\r\n console.log(\"EMAIL\", removeFromEmailList, emailList);\r\n console.log(\"Mobile\", removeFromMobileList, mobileList);\r\n\r\n // Rohit Code changes ends\r\n\r\n // let familyRelationListCopy = familyRelationList;\r\n // let familyRelationListMailCopy = familyRelationListMail;\r\n // if (\r\n // familyRelationshipCount.mobile.self ==\r\n // relationshipDataCount?.AvailableRelationshipTagMobile?.Self\r\n // ) {\r\n // //something\r\n // familyRelationListCopy = familyRelationList.filter(\r\n // (item) => item.value != \"1\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.mobile.spouse ==\r\n // relationshipDataCount?.AvailableRelationshipTagMobile?.Spouse\r\n // ) {\r\n // //something\r\n // familyRelationListCopy = familyRelationList.filter(\r\n // (item) => item.value != \"2\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.mobile.dependentChild ==\r\n // relationshipDataCount?.AvailableRelationshipTagMobile?.DependentChild\r\n // ) {\r\n // //something\r\n // familyRelationListCopy = familyRelationList.filter(\r\n // (item) => item.value != \"3\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.mobile.dependentParents ==\r\n // relationshipDataCount?.AvailableRelationshipTagMobile?.DependentParent\r\n // ) {\r\n // //something\r\n // familyRelationListCopy = familyRelationList.filter(\r\n // (item) => item.value != \"4\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.email.self ==\r\n // relationshipDataCount?.AvailableRelationshipTagEmail?.Self\r\n // ) {\r\n // //something\r\n // familyRelationListMailCopy = familyRelationListMail.filter(\r\n // (item) => item.value != \"1\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.email.spouse ==\r\n // relationshipDataCount?.AvailableRelationshipTagEmail?.Spouse\r\n // ) {\r\n // //something\r\n // familyRelationListMailCopy = familyRelationListMail.filter(\r\n // (item) => item.value != \"2\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.email.dependentChild ==\r\n // relationshipDataCount?.AvailableRelationshipTagEmail?.DependentChild\r\n // ) {\r\n // //something\r\n // familyRelationListMailCopy = familyRelationListMail.filter(\r\n // (item) => item.value != \"3\"\r\n // );\r\n // }\r\n // if (\r\n // familyRelationshipCount.email.dependentParents ==\r\n // relationshipDataCount?.AvailableRelationshipTagEmail?.DependentParent\r\n // ) {\r\n // //something\r\n // familyRelationListMailCopy = familyRelationListMail.filter(\r\n // (item) => item.value != \"4\"\r\n // );\r\n // }\r\n setFamilyRelationList(mobileList);\r\n setFamilyRelationListMail(emailList);\r\n }, [familyRelationshipCount, relationshipDataCount]);\r\n\r\n function relationshipListFilter(type: string, index: number, val: any) {\r\n let value = val?.value;\r\n // let familyRelationshipCountData = familyRelationshipCount;\r\n // use of accountcode to bind the relatioship data\r\n console.log(\"Relationship\", val);\r\n if (type === \"mobile\") {\r\n if (value == \"1\") {\r\n console.log(\"limit 1\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.mobile,\r\n self: familyRelationshipCount.mobile.self + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n mobile: updatedCount,\r\n });\r\n } else if (value == \"2\") {\r\n console.log(\"limit 1\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.mobile,\r\n spouse: familyRelationshipCount.mobile.spouse + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n mobile: updatedCount,\r\n });\r\n } else if (value == \"3\") {\r\n console.log(\"limit 2\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.mobile,\r\n dependentChild: familyRelationshipCount.mobile.dependentChild + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n mobile: updatedCount,\r\n });\r\n } else if (value == \"4\") {\r\n console.log(\"limit 2\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.mobile,\r\n dependentParents: familyRelationshipCount.mobile.dependentParents + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n mobile: updatedCount,\r\n });\r\n }\r\n }\r\n if (type === \"email\") {\r\n if (value == \"1\") {\r\n console.log(\"limit 1\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.email,\r\n self: familyRelationshipCount.email.self + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n email: updatedCount,\r\n });\r\n } else if (value == \"2\") {\r\n console.log(\"limit 1\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.email,\r\n spouse: familyRelationshipCount.email.spouse + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n email: updatedCount,\r\n });\r\n } else if (value == \"3\") {\r\n console.log(\"limit 2\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.email,\r\n dependentChild: familyRelationshipCount.email.dependentChild + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n email: updatedCount,\r\n });\r\n } else if (value == \"4\") {\r\n console.log(\"limit 2\");\r\n let updatedCount = {\r\n ...familyRelationshipCount.email,\r\n dependentParents: familyRelationshipCount.email.dependentParents + 1,\r\n };\r\n setFamilyRelationshipCount({\r\n ...familyRelationshipCount,\r\n email: updatedCount,\r\n });\r\n }\r\n }\r\n }\r\n\r\n function onRelationBlur(type: string, index: number, val: any) {\r\n console.log(\"----- log\", val);\r\n switch (type) {\r\n case \"email\":\r\n let emailArr = relationshipData.emailMatchedList;\r\n emailArr[index].error = !val ? errorMsg(errorCode.FE20) : \"\";\r\n setRelationshipData({\r\n ...relationshipData,\r\n emailMatchedList: emailArr,\r\n });\r\n relationshipListFilter(type, index, val);\r\n break;\r\n case \"mobile\":\r\n let mobileArr = relationshipData.mobileMatchedList;\r\n mobileArr[index].error = !val ? errorMsg(errorCode.FE20) : \"\";\r\n setRelationshipData({\r\n ...relationshipData,\r\n mobileMatchedList: mobileArr,\r\n });\r\n relationshipListFilter(type, index, val);\r\n break;\r\n case \"both\":\r\n let bothArr = relationshipData.bothMatchedList;\r\n bothArr[index].relationshipName = !val ? errorMsg(errorCode.FE20) : \"\";\r\n setRelationshipData({ ...relationshipData, bothMatchedList: bothArr });\r\n break;\r\n }\r\n }\r\n function onEmailPhoneChange(key: \"email\" | \"phone\", value: string) {\r\n if (key === \"email\") {\r\n if (GlobalStore.user.email === value && isEmailVerified) {\r\n setShowEmailBtn(false);\r\n setIsEmailVerified(true);\r\n } else {\r\n setShowEmailBtn(true);\r\n setShowEmailOtp(false);\r\n }\r\n setEmail(value);\r\n }\r\n if (key === \"phone\") {\r\n if (GlobalStore.user.mobile === value) {\r\n setShowMobileBtn(false);\r\n setIsMobileVerified(true);\r\n } else {\r\n setShowMobileBtn(true);\r\n setShowMobileOtp(false);\r\n }\r\n setPhone(value);\r\n }\r\n setErrors({ ...errors, [key]: \"\" });\r\n }\r\n\r\n function dropDownBlur(key: string, value: any) {\r\n typeof value !== \"object\"\r\n ? setErrors({ ...errors, [key]: errorMsg(errorCode.FE20) })\r\n : setErrors({ ...errors, [key]: undefined });\r\n }\r\n\r\n function onBlurNomDob(event: React.FocusEvent) {\r\n !nomDob && setErrors({ ...errors, nomDob: errorMsg(errorCode.FE27) });\r\n }\r\n\r\n function saveRelationshipData() {\r\n if (\r\n relationshipData.emailMatchedList &&\r\n relationshipData.emailMatchedList.length > 0\r\n ) {\r\n relationshipData.emailMatchedList.map((member: object) => {\r\n if (!member.hasOwnProperty(\"relationshipName\")) {\r\n // setErrCode('Please Select Relationship in Family Declaration');\r\n setErrCode(errorMessage.saveRelationshipData);\r\n return null;\r\n }\r\n });\r\n }\r\n if (\r\n relationshipData.mobileMatchedList &&\r\n relationshipData.mobileMatchedList.length > 0\r\n ) {\r\n relationshipData.mobileMatchedList.map((member: object) => {\r\n if (!member.hasOwnProperty(\"relationshipName\")) {\r\n // setErrCode('Please Select Relationship in Family Declaration');\r\n setErrCode(errorMessage.saveRelationshipData);\r\n return null;\r\n }\r\n });\r\n }\r\n let saveRelationshipObj = {\r\n applicationid: GlobalStore.applicationID,\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n emailMatchedList: relationshipData.emailMatchedList,\r\n empcode: 0,\r\n mobileMatchedList: relationshipData.mobileMatchedList,\r\n };\r\n setIsLoading(true);\r\n ASaveRelationshipData(saveFamilyRelation, saveRelationshipObj);\r\n }\r\n\r\n function saveFamilyRelation(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n console.log(\"in saveFamilyRelation\", res);\r\n }\r\n }\r\n }\r\n\r\n function validateNominees(): boolean {\r\n try {\r\n let isValidate = false;\r\n if (showNominee && numOfNominee === 0) {\r\n isValidate = true;\r\n } else if (showNominee && nomiDetails && nomiDetails.length > 0) {\r\n for (let i = 0; i < nomiDetails?.length; i++) {\r\n const element = nomiDetails[i];\r\n // const imgAddDtls = imgOfAddlIdentDetails[i];\r\n if (\r\n element &&\r\n Object.keys(element) &&\r\n (!element?.nomTitle ||\r\n !element?.nomFullName ||\r\n element?.nomFullName === \"\" ||\r\n !element?.nomRelation ||\r\n element?.nomRelation === \"\" ||\r\n (element?.nomRelation === \"13\" &&\r\n element?.nomRelationOther === \"\") ||\r\n !element?.nomDob ||\r\n element.nomPerSharing == 0 ||\r\n Object.values(element?.error).some((error) => error) ||\r\n Object.values(element?.nomineeAddress).some((value) => !value))\r\n // !imgAddDtls.nomineeAddDtls.isPhoto ||\r\n // !imgAddDtls.nomineeAddDtls.isSignature\r\n ) {\r\n isValidate = true;\r\n break;\r\n }\r\n if (\r\n element.isNomineeMinor &&\r\n (!element[\"guardianDetails\"]?.guardTitle ||\r\n element[\"guardianDetails\"]?.guardTitle === \"\" ||\r\n !element[\"guardianDetails\"]?.guardFullName ||\r\n element[\"guardianDetails\"]?.guardFullName === \"\" ||\r\n !element[\"guardianDetails\"]?.guardRelation ||\r\n element[\"guardianDetails\"]?.guardRelation === \"\" ||\r\n (element[\"guardianDetails\"]?.guardRelation === \"13\" &&\r\n element[\"guardianDetails\"]?.guardRelationOther === \"\") ||\r\n !element[\"guardianDetails\"]?.guardEduQualification ||\r\n element[\"guardianDetails\"]?.guardEduQualification === \"\" ||\r\n !element[\"guardianDetails\"]?.guardOccupation ||\r\n element[\"guardianDetails\"]?.guardOccupation === \"\" ||\r\n !element[\"guardianDetails\"]?.guardAnnualIncome ||\r\n element[\"guardianDetails\"]?.guardAnnualIncome === \"\" ||\r\n !element[\"guardianDetails\"]?.guardPlaceOfBirth ||\r\n element[\"guardianDetails\"]?.guardPlaceOfBirth === \"\" ||\r\n !element[\"guardianDetails\"]?.guardNetWorth ||\r\n element[\"guardianDetails\"]?.guardNetWorth === \"\" ||\r\n parseInt(element[\"guardianDetails\"]?.guardNetWorth) < 1000 ||\r\n Object.values(element.error).some((error) => error) ||\r\n Object.values(!element[\"guardianDetails\"]?.guardianAddress).some(\r\n (value) => !value\r\n ))\r\n // ||\r\n // !imgAddDtls.guardianAddDtls.isPhoto ||\r\n // !imgAddDtls.guardianAddDtls.isSignature\r\n ) {\r\n isValidate = true;\r\n break;\r\n } else {\r\n isValidate = false;\r\n }\r\n }\r\n } else {\r\n // console.log('inside the last else');\r\n isValidate = false;\r\n }\r\n // console.log('isValidate inside the validateNominee', isValidate);\r\n return isValidate;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n function validateSubmit(): boolean {\r\n if (\r\n Object.values(permErrorObj).some((error) => error) ||\r\n Object.values(nomErrorObj).some((error) => error) ||\r\n Object.values(corrErrorObj).some((error) => error) ||\r\n Object.values(guardErrorObj).some((error) => error) ||\r\n Object.values(permanentAddress).some((value) => !value) ||\r\n Object.values(correspondanceAddress).some((value) => !value) ||\r\n (relationshipData.mobileMatchedList &&\r\n relationshipData.mobileMatchedList.some(\r\n (value) => value.error || !value?.relationshipName\r\n )) ||\r\n (relationshipData.emailMatchedList &&\r\n relationshipData.emailMatchedList.some(\r\n (value) => value.error || !value?.relationshipName\r\n )) ||\r\n (relationshipData?.bothMatchedList &&\r\n relationshipData?.bothMatchedList?.some(\r\n (value) => value.error || !value?.relationshipName\r\n )) ||\r\n validateNominees() ||\r\n !isEmailVerified ||\r\n !isMobileVerified ||\r\n email === \"\" ||\r\n phone === \"\" ||\r\n fatherOrSpouseName.trim() === \"\" ||\r\n motherName.trim() === \"\" ||\r\n eduQualification === \"\" ||\r\n occupation === \"\" ||\r\n (!indianResident &&\r\n (nriDetailsObj.country === \"\" ||\r\n (nriDetailsObj.idType === \"Others\" &&\r\n nriDetailsObj.idTypeOther === \"\") ||\r\n nriDetailsObj.idTypeValue === \"\")) ||\r\n netWorth === \"\" ||\r\n parseInt(netWorth) < 1000 ||\r\n annualIncome === \"\" ||\r\n placeOfBirth === \"\" ||\r\n Object.values(errors).some((error) => error)\r\n // !addlIdentDetailsValue\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n function onBlurPan(error: any, index: number, name: string) {\r\n const array = JSON.parse(JSON.stringify(validPan));\r\n handleAddNomineeError(\r\n index,\r\n name,\r\n error.required || !error.pattern ? errorMsg(errorCode.FE07) : \"\"\r\n );\r\n if (error.pattern) {\r\n array[index] = true;\r\n setValidPan(array);\r\n } else {\r\n array[index] = false;\r\n setValidPan(array);\r\n }\r\n }\r\n\r\n const additionalDetailsOfGuardian = async (\r\n data: any,\r\n index: number,\r\n key: string\r\n ) => {\r\n let result = data[index]?.guardianDetails?.identificationDetail[key];\r\n if (!result) {\r\n let ckycBackup = JSON.parse(\r\n window.localStorage.getItem(\"ckycBackup\") || \"{}\"\r\n );\r\n result = ckycBackup[index]?.guardianDetails?.identificationDetail[key];\r\n }\r\n return result;\r\n };\r\n\r\n const additionalDetailsOfNominee = async (\r\n data: any,\r\n index: number,\r\n key: string\r\n ) => {\r\n let result = data?.identificationDetail[key];\r\n if (!result) {\r\n let ckycBackup = JSON.parse(\r\n window.localStorage.getItem(\"ckycBackup\") || \"{}\"\r\n );\r\n result = ckycBackup[index]?.identificationDetail[key];\r\n }\r\n return result;\r\n };\r\n\r\n const removeSpclCracters = (value: string) => {\r\n if (value) {\r\n return value; //.replace(/[^a-zA-Z0-9 ]/g, \" \");\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n console.log(\r\n \"holderFirstname\",\r\n GlobalStore.personaldetails.panDetails,\r\n\r\n {\r\n holderFirstname: GlobalStore?.stageStatus?.panfirstname ?? \"\",\r\n holderMiddleName: GlobalStore?.stageStatus?.panmiddletname ?? \"\",\r\n holderLastName: GlobalStore?.stageStatus?.panlastname ?? \"\",\r\n }\r\n );\r\n\r\n async function handleSubmit() {\r\n setIsLoading(true);\r\n // for AO-1395 KYC/KRA address proof reject\r\n if (regectedAddressDoc) {\r\n if (\r\n JSON.stringify(permanentAddress) !== JSON.stringify(kycAddress) ||\r\n kycFatherName !== fatherOrSpouseName\r\n ) {\r\n GlobalStore.isKRA = false;\r\n GlobalStore.isKYC = false;\r\n addressEdited = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n }\r\n }\r\n\r\n let sumOfPer = 0;\r\n for (let i = 0; i < nomiDetails.length; i++) {\r\n sumOfPer += Number(nomiDetails[i]?.nomPerSharing);\r\n }\r\n if (!showNominee || (showNominee && sumOfPer === 100)) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.newLeadStorage = GlobalStore.leadId;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n setIsLoading(true);\r\n if (\r\n relationshipData?.emailMatchedList?.length > 0 ||\r\n relationshipData?.mobileMatchedList?.length > 0\r\n ) {\r\n saveRelationshipData();\r\n }\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"profiledur\");\r\n const fatherOrSpouseNames = splitFullName(fatherOrSpouseName);\r\n const motherNames = splitFullName(motherName);\r\n const holderNameArr = splitFullName(getFullPANNAMe());\r\n\r\n const correspondanceAddressLine = repairAddressWithConditions(\r\n correspondanceAddress.addressLine1,\r\n correspondanceAddress.City\r\n );\r\n const permanentAddressLine = repairAddressWithConditions(\r\n permanentAddress.addressLine1,\r\n permanentAddress.City\r\n );\r\n const kycObj: any = {\r\n applicationID: GlobalStore.applicationID,\r\n clientPrimaryDetailID: GlobalStore.clientPrimaryDetailId,\r\n isGuardian: false,\r\n isNominee: showNominee,\r\n leadId: GlobalStore.leadId,\r\n // objEcoClientPersoanlDetails: {\r\n persoanlDetails: {\r\n KraEmail: GlobalStore.KRA_email ? GlobalStore.KRA_email : \"\",\r\n KraMobile: GlobalStore.KRA_mobile ? GlobalStore.KRA_mobile : \"\",\r\n Kra_mode: GlobalStore.KRA_mode ? Number(GlobalStore.KRA_mode) : 0,\r\n aadhaar: \"\",\r\n aadhaarName: \"\",\r\n additionalEmail: clientPartialDetails_ao.emailID\r\n ? clientPartialDetails_ao.emailID\r\n : email,\r\n additionalMobile: clientPartialDetails_ao.mobile\r\n ? clientPartialDetails_ao.mobile\r\n : phone,\r\n birthdate: GlobalStore.birthDate,\r\n // ckycnumber: GlobalStore.ckycNo,\r\n ckycNumber: GlobalStore.ckycNo,\r\n corrsaddraspermanent: sameAsPermanent,\r\n createdby: 0,\r\n fatherOrSpouseFirstname: fatherOrSpouseNames[0],\r\n fatherOrSpouseMiddleName: fatherOrSpouseNames[1],\r\n fatherOrSpouseLastName: fatherOrSpouseNames[2],\r\n fatherOrSpouseTitle: \"Mr\",\r\n flagFS: fatherOrSpouse,\r\n fsfullName: fatherOrSpouseName,\r\n gender: gender,\r\n holderFirstname: GlobalStore?.stageStatus?.panfirstname ?? \"\",\r\n holderMiddleName: GlobalStore?.stageStatus?.panmiddletname ?? \"\",\r\n holderLastName: GlobalStore?.stageStatus?.panlastname ?? \"\",\r\n holderTitle: gender === \"F\" ? \"Ms\" : \"Mr\",\r\n isKRA: GlobalStore.isKRA,\r\n isRelationship: false,\r\n // isdigilocker: GlobalStore.isDigiLocker,\r\n isDigilocker: GlobalStore.isDigiLocker,\r\n // iskyc: GlobalStore.isKYC,\r\n isKyc: GlobalStore.isKYC,\r\n maidenFirstname: \"\",\r\n maidenLastName: \"\",\r\n maidenMiddleName: \"\",\r\n maritalStatus: maritalStatus,\r\n maidenTitle: \"\",\r\n motherFirstname: motherNames[0],\r\n motherMiddleName: motherNames[1],\r\n motherLastName: motherNames[2],\r\n motherTitle: \"Mrs\",\r\n digiKraKycDetailsmodifieddate: addressEdited ? Date.now() : \"\",\r\n selfielink: GlobalStore.selfieUrl,\r\n // objCorrespondenceAddressDetails: {\r\n correspondenceAddressDetails: {\r\n // correspondanceAddresstype: addressType, //hardCode\r\n correspondenceAddressType: addressType, //hardCode\r\n correspondenceCity: correspondanceAddress.City,\r\n correspondenceCountry: correspondanceAddress.Country,\r\n correspondenceDistrict: correspondanceAddress.District,\r\n correspondencePincode: correspondanceAddress.PinCode,\r\n correspondenceState: correspondanceAddress.State,\r\n // correspondancearea: correspondanceAddress.Area,\r\n correspondenceArea: correspondanceAddress.Area,\r\n // correspondancecountrycode: correspondanceAddress.CountryCode,\r\n correspondenceCountryCode: Number(\r\n correspondanceAddress.CountryCode\r\n ),\r\n // correspondancestatecode: correspondanceAddress.StateCode,\r\n correspondenceStatecode: Number(correspondanceAddress.StateCode),\r\n correspondenceAddressLine1:\r\n removeSpclCracters(correspondanceAddressLine.addLine1) || \"\",\r\n correspondenceAddressLine2:\r\n removeSpclCracters(correspondanceAddressLine.addLine2) || \"\",\r\n correspondenceAddressLine3:\r\n removeSpclCracters(correspondanceAddressLine.addLine3) || \"\",\r\n correspondenceAddressLine4:\r\n removeSpclCracters(correspondanceAddressLine.addLine4) || \"\",\r\n autoQc: GlobalStore.isKYC\r\n ? true\r\n : GlobalStore.personaldetails.aadharName &&\r\n GlobalStore.personaldetails.aadharName\r\n .toLowerCase()\r\n .includes(GlobalStore.personaldetails.PANName.toLowerCase())\r\n ? true\r\n : false,\r\n // autoqc: sameAsPermanent &&\r\n // (\r\n // (\r\n // GlobalStore.isDigiLocker && isAadharMasked &&\r\n // (aadharName.toLowerCase() === GlobalStore.personaldetails.PANName.toLowerCase())\r\n // ) ||\r\n // (ocrDetails && (ocrDetails.address === permanentAddress.addressLine1))\r\n // )\r\n //pin code condition need to add ? //hardcode\r\n },\r\n // objPermanentAddressDetails: {\r\n permanentAddressDetails: {\r\n permanentAddressLine1:\r\n removeSpclCracters(permanentAddressLine.addLine1) || \"\",\r\n permanentAddressLine2:\r\n removeSpclCracters(permanentAddressLine.addLine2) || \"\",\r\n permanentAddressLine3:\r\n removeSpclCracters(permanentAddressLine.addLine3) || \"\",\r\n permanentAddressLine4:\r\n removeSpclCracters(permanentAddressLine.addLine4) || \"\",\r\n permanentAddresstype: addressType, //hardCode\r\n permanentCity: permanentAddress.City,\r\n permanentCountry: permanentAddress.Country,\r\n permanentDistrict: permanentAddress.District,\r\n permanentPincode: permanentAddress.PinCode,\r\n permanentState: permanentAddress.State,\r\n permanentarea: permanentAddress.Area,\r\n permanentcountrycode: Number(permanentAddress.CountryCode),\r\n permanentstatecode: Number(permanentAddress.StateCode),\r\n autoQc: GlobalStore.isKYC\r\n ? true\r\n : GlobalStore.personaldetails.aadharName &&\r\n GlobalStore.personaldetails.aadharName\r\n .toLowerCase()\r\n .includes(GlobalStore.personaldetails.PANName.toLowerCase())\r\n ? true\r\n : false,\r\n // autoqc: (\r\n // GlobalStore.isDigiLocker && isAadharMasked &&\r\n // (aadharName.toLowerCase() === GlobalStore.personaldetails.PANName.toLowerCase())\r\n // ) || (ocrDetails && (ocrDetails.address === permanentAddress.addressLine1))\r\n },\r\n others: \"\",\r\n relationshipName: \"\",\r\n relationshipnamefordiy: \"\",\r\n },\r\n // listMultiplenomineeDetails: [],\r\n listNomineeDetails: [],\r\n // objEcoProfileDetails: {\r\n profileDetails: {\r\n accountCategory: staffCode\r\n ? employeeAccCategory\r\n : GlobalStore.stageStatus.isPCGSubLob\r\n ? PCGAccCategory\r\n : retailAccCategory,\r\n annualIncomeRange: annualIncome,\r\n clientGroup4: clientGroup4, //hardCode\r\n education: eduQualification,\r\n netWorthwhenAcOpen: parseInt(netWorth),\r\n occupation: occupation,\r\n ddpi_type: POAType ? 1 : 0,\r\n applicationType:\r\n defaultAccountType === \"Ordinary Resident Demat and Trading Account\"\r\n ? \"1\"\r\n : \"2\",\r\n pep: politicalVal,\r\n periodicSettlement: parseInt(periodicSettlement),\r\n placeofbirth: placeOfBirth,\r\n staffCode: staffCode,\r\n taxResidentOfOtherCountry: !indianResident,\r\n listTaxrRsidentofIndia: !indianResident\r\n ? [\r\n {\r\n identificationNumber: nriDetailsObj.idTypeValue,\r\n identificationType: nriDetailsObj.idType,\r\n identificationType_Other: nriDetailsObj.idTypeOther || \"TIN\",\r\n oCountry: nriDetailsObj.country,\r\n },\r\n ]\r\n : null,\r\n },\r\n utmInfoDetails: objUTM_Info,\r\n };\r\n\r\n const listMultipleGuardianDetails = [];\r\n let srNo = 0;\r\n for (let i = 0; i < nomiDetails.length; i++) {\r\n if (nomiDetails[i].isNomineeMinor && nomiDetails[i].guardianDetails) {\r\n const guardianNames = splitFullName(\r\n nomiDetails[i]?.guardianDetails?.guardFullName\r\n );\r\n const guardianAddressLine = repairAddressWithConditions(\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.addressLine1,\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.city\r\n );\r\n\r\n listMultipleGuardianDetails.push({\r\n annualIncomeRange:\r\n nomiDetails[i]?.guardianDetails?.guardAnnualIncome,\r\n dob: moment(nomiDetails[i]?.guardianDetails?.dob).format(\r\n \"YYYY-MM-DD\"\r\n ),\r\n education: nomiDetails[i]?.guardianDetails?.guardEduQualification,\r\n holderId: 5,\r\n isSamePermenantAddress: true,\r\n isMinor: false,\r\n firstName: guardianNames[0],\r\n middleName: guardianNames[1],\r\n lastName: guardianNames[2],\r\n netWorthwhenAcOpen: parseInt(\r\n nomiDetails[i]?.guardianDetails?.guardNetWorth\r\n ),\r\n correspondenceAddressDetails: {\r\n correspondenceAddressType: addressType,\r\n correspondenceCity:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.City,\r\n correspondenceCountry:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.Country,\r\n correspondenceDistrict:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.District,\r\n correspondencePincode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.PinCode,\r\n correspondenceState:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.State,\r\n correspondenceArea:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.Area,\r\n correspondenceCountryCode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.CountryCode,\r\n correspondenceStatecode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.StateCode,\r\n correspondenceAddressLine1: removeSpclCracters(\r\n guardianAddressLine.addLine1\r\n ),\r\n correspondenceAddressLine2: removeSpclCracters(\r\n guardianAddressLine.addLine2\r\n ),\r\n correspondenceAddressLine3: removeSpclCracters(\r\n guardianAddressLine.addLine3\r\n ),\r\n correspondenceAddressLine4: removeSpclCracters(\r\n guardianAddressLine.addLine4\r\n ),\r\n autoQc: false,\r\n },\r\n permanentAddressDetails: {\r\n permanentAddressLine1: removeSpclCracters(\r\n guardianAddressLine.addLine1\r\n ),\r\n permanentAddressLine2: removeSpclCracters(\r\n guardianAddressLine.addLine2\r\n ),\r\n permanentAddressLine3: removeSpclCracters(\r\n guardianAddressLine.addLine3\r\n ),\r\n permanentAddressLine4: removeSpclCracters(\r\n guardianAddressLine.addLine4\r\n ),\r\n permanentAddresstype: addressType,\r\n permanentCity:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.City,\r\n permanentCountry:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.Country,\r\n permanentDistrict:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.District,\r\n permanentPincode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.PinCode,\r\n permanentState:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.State,\r\n permanentarea:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.Area,\r\n permanentcountrycode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.CountryCode,\r\n permanentstatecode:\r\n nomiDetails[i]?.guardianDetails?.guardianAddress.StateCode,\r\n autoQc: false,\r\n },\r\n occupation: nomiDetails[i]?.guardianDetails?.guardOccupation,\r\n pep: nomiDetails[i]?.guardianDetails?.guardPoliticalVal,\r\n placeofbirth: nomiDetails[i]?.guardianDetails?.guardPlaceOfBirth,\r\n relationship: nomiDetails[i]?.guardianDetails?.guardRelation,\r\n title: nomiDetails[i]?.guardianDetails?.guardTitle,\r\n additionalDetails: await additionalDetailsOfGuardian(\r\n nomiDetails,\r\n i,\r\n \"name\"\r\n ),\r\n additionalDetailsValue:\r\n // \"guardian\" + (i + 1),\r\n await additionalDetailsOfGuardian(nomiDetails, i, \"value\"),\r\n gurdianMap: `4_${i}`,\r\n // srNo: srNo,\r\n srNo: i,\r\n });\r\n srNo += 1;\r\n }\r\n }\r\n kycObj[\"listGuardianDetails\"] = listMultipleGuardianDetails;\r\n\r\n if (listMultipleGuardianDetails && listMultipleGuardianDetails.length)\r\n kycObj[\"isGuardian\"] = true;\r\n\r\n const listMultiplenomineeDetails = [];\r\n if (showNominee && numOfNominee > 0) {\r\n for (let j = 0; j < nomiDetails.length; j++) {\r\n const singleNomineeDetails = nomiDetails[j];\r\n const nomineeNames = splitFullName(singleNomineeDetails?.nomFullName);\r\n const nomineeAddressLine = repairAddressWithConditions(\r\n singleNomineeDetails.nomineeAddress.addressLine1,\r\n singleNomineeDetails.nomineeAddress.city\r\n );\r\n\r\n listMultiplenomineeDetails.push({\r\n dob: moment(singleNomineeDetails.nomDob).format(\"YYYY-MM-DD\"),\r\n holderId: 4,\r\n isMinor: singleNomineeDetails.isNomineeMinor,\r\n firstName: nomineeNames[0],\r\n middleName: nomineeNames[1],\r\n lastName: nomineeNames[2],\r\n netWorthwhenAcOpen: 1000,\r\n correspondenceAddressDetails: {\r\n correspondenceAddressType: addressType,\r\n correspondenceCity: singleNomineeDetails.nomineeAddress.City,\r\n correspondenceCountry:\r\n singleNomineeDetails.nomineeAddress.Country,\r\n correspondenceDistrict:\r\n singleNomineeDetails.nomineeAddress.District,\r\n correspondencePincode:\r\n singleNomineeDetails.nomineeAddress.PinCode,\r\n correspondenceState: singleNomineeDetails.nomineeAddress.State,\r\n correspondenceArea: singleNomineeDetails.nomineeAddress.Area,\r\n correspondenceCountryCode:\r\n singleNomineeDetails.nomineeAddress.CountryCode,\r\n correspondenceStatecode:\r\n singleNomineeDetails.nomineeAddress.StateCode,\r\n correspondenceAddressLine1: removeSpclCracters(\r\n nomineeAddressLine.addLine1\r\n ),\r\n correspondenceAddressLine2: removeSpclCracters(\r\n nomineeAddressLine.addLine2\r\n ),\r\n correspondenceAddressLine3: removeSpclCracters(\r\n nomineeAddressLine.addLine3\r\n ),\r\n correspondenceAddressLine4: removeSpclCracters(\r\n nomineeAddressLine.addLine4\r\n ),\r\n autoQc: false,\r\n },\r\n permanentAddressDetails: {\r\n permanentAddressLine1: removeSpclCracters(\r\n nomineeAddressLine.addLine1\r\n ),\r\n permanentAddressLine2: removeSpclCracters(\r\n nomineeAddressLine.addLine2\r\n ),\r\n permanentAddressLine3: removeSpclCracters(\r\n nomineeAddressLine.addLine3\r\n ),\r\n permanentAddressLine4: removeSpclCracters(\r\n nomineeAddressLine.addLine4\r\n ),\r\n permanentAddresstype: addressType,\r\n permanentCity: singleNomineeDetails.nomineeAddress.City,\r\n permanentCountry: singleNomineeDetails.nomineeAddress.Country,\r\n permanentDistrict: singleNomineeDetails.nomineeAddress.District,\r\n permanentPincode: singleNomineeDetails.nomineeAddress.PinCode,\r\n permanentState: singleNomineeDetails.nomineeAddress.State,\r\n permanentarea: singleNomineeDetails.nomineeAddress.Area,\r\n permanentcountrycode:\r\n singleNomineeDetails.nomineeAddress.CountryCode,\r\n permanentstatecode: singleNomineeDetails.nomineeAddress.StateCode,\r\n autoQc: false,\r\n },\r\n relationship: singleNomineeDetails.nomRelation,\r\n title: singleNomineeDetails.nomTitle,\r\n additionalDetails: await additionalDetailsOfNominee(\r\n singleNomineeDetails,\r\n j,\r\n \"name\"\r\n ),\r\n // singleNomineeDetails?.identificationDetail?.name,\r\n additionalDetailsValue:\r\n // \"Nominee\" + (j + 1),\r\n await additionalDetailsOfNominee(\r\n singleNomineeDetails,\r\n j,\r\n \"value\"\r\n ),\r\n // singleNomineeDetails?.identificationDetail?.value,\r\n srNo: j,\r\n sharePercentage: Number(singleNomineeDetails?.nomPerSharing),\r\n });\r\n }\r\n }\r\n kycObj[\"listNomineeDetails\"] = listMultiplenomineeDetails;\r\n\r\n console.log(\"nomiDetails ---------->\", nomiDetails);\r\n\r\n //temp fix for address flag issue as not able to reproduce the issue\r\n var correspondenceAddressCheck =\r\n kycObj[\"persoanlDetails\"][\"correspondenceAddressDetails\"];\r\n var permanentAddressCheck =\r\n kycObj[\"persoanlDetails\"][\"permanentAddressDetails\"];\r\n\r\n if (\r\n (correspondenceAddressCheck.correspondenceAddressLine1 ==\r\n permanentAddressCheck.permanentAddressLine1 &&\r\n correspondenceAddressCheck.correspondenceAddressLine2 ==\r\n permanentAddressCheck.permanentAddressLine2 &&\r\n correspondenceAddressCheck.correspondenceAddressLine3 ==\r\n permanentAddressCheck.permanentAddressLine3 &&\r\n correspondenceAddressCheck.correspondenceAddressLine4 ==\r\n permanentAddressCheck.permanentAddressLine4 &&\r\n correspondenceAddressCheck.correspondenceCity ==\r\n permanentAddressCheck.permanentCity &&\r\n correspondenceAddressCheck.correspondenceCountry ==\r\n permanentAddressCheck.permanentCountry &&\r\n correspondenceAddressCheck.correspondenceDistrict ==\r\n permanentAddressCheck.permanentDistrict &&\r\n correspondenceAddressCheck.correspondencePincode ==\r\n permanentAddressCheck.permanentPincode &&\r\n correspondenceAddressCheck.correspondenceState ==\r\n permanentAddressCheck.permanentState &&\r\n correspondenceAddressCheck.correspondenceArea ==\r\n permanentAddressCheck.permanentarea) ||\r\n GlobalStore.isDigiLocker\r\n ) {\r\n kycObj[\"persoanlDetails\"][\"corrsaddraspermanent\"] = true;\r\n } else {\r\n kycObj[\"persoanlDetails\"][\"corrsaddraspermanent\"] = false;\r\n }\r\n ASaveKycDetails(saveKycDetails, kycObj);\r\n } else {\r\n setGlobalError(\"Nominee % sharing should be 100\");\r\n setIsLoading(false);\r\n return;\r\n }\r\n }\r\n console.log(\"nomineeList\", nomineeList);\r\n\r\n function saveKycDetails(res: any) {\r\n setIsLoading(true);\r\n console.log(\"function called\");\r\n if (!res || res.error) {\r\n // setErrCode('1120 - Failed to save the KYC details');\r\n // setErrCode(errorMessage.saveKycDetails);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n // Check if any nominee and additional identification is Photo & Signature\r\n // if found hit save document details API // Added by rohit\r\n let toCheckString = [\"Photo and Signature of the Nominee/guardian\"];\r\n let toCheckPhoto = nomiDetails.filter((ele: any) =>\r\n toCheckString.includes(ele.identificationDetail.name)\r\n );\r\n\r\n // if (showNominee && numOfNominee > 0 && toCheckPhoto.length > 0) {\r\n // saveNomineeDocuments();\r\n // } else {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.emailID = email;\r\n clientPartialDetails_ao.mobile = phone;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n completeModuleStatus(dashboardUrl.profile);\r\n completeModuleStatus(dashboardUrl.personalIfo);\r\n gtmService({ action: \"PROFILE_DETAILS\", label: \"Step_Complete\" });\r\n\r\n // Submit the clevertap event for profile submit\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.profilePage.CLICK_ON_SUBMIT_PROFILE,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap code end\r\n\r\n // Apps flyer event for click on proceed on profile details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.profilePage.CLICK_ON_SUBMIT_PROFILE\r\n );\r\n\r\n history.push(incompleteStageNavigation());\r\n // }\r\n } else {\r\n // setErrCode('1121 - Failed to save the KYC details');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n // async function saveNomineeDocuments() {\r\n // var nomineeDocs = nomineeDocuments;\r\n // const saveDetails = [];\r\n // if (nomineeDocs.nomineeOne) {\r\n // if (nomineeDocs.nomineeOne.photo && newUploads[0].isPhoto === true) {\r\n // let nomineeOnePhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeOne.photo.documentCategoryId?.toString(),\r\n // documentId: nomineeDocsIds.nomineeOne.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeOne.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeOne.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeOnePhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeOne.signature &&\r\n // newUploads[0].isSignature === true\r\n // ) {\r\n // let nomineeOneSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeOne.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeOne.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeOne.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeOne.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeOneSignature);\r\n // }\r\n // if (nomineeDocs.nomineeOne.guardianDetails) {\r\n // if (\r\n // nomineeDocs.nomineeOne.guardianDetails.photo &&\r\n // newUploads[0].guardian.isPhoto === true\r\n // ) {\r\n // let nomineeOneGuardianPhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeOne.guardianDetails.photo.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeOne.guardianDetails.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeOne.guardianDetails.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeOne.guardianDetails.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeOneGuardianPhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeOne.guardianDetails.signature &&\r\n // newUploads[0].guardian.isSignature === true\r\n // ) {\r\n // let nomineeOneGuardianSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeOne.guardianDetails.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeOne.guardianDetails.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeOne.guardianDetails.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeOne.guardianDetails.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeOneGuardianSignature);\r\n // }\r\n // }\r\n // }\r\n\r\n // if (nomineeDocs.nomineeTwo) {\r\n // if (nomineeDocs.nomineeTwo.photo && newUploads[1].isPhoto === true) {\r\n // let nomineeTwoPhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeTwo.photo.documentCategoryId?.toString(),\r\n // documentId: nomineeDocsIds.nomineeTwo.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeTwo.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeTwo.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeTwoPhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeTwo.signature &&\r\n // newUploads[1].isSignature === true\r\n // ) {\r\n // let nomineeTwoSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeTwo.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeTwo.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeTwo.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeTwo.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeTwoSignature);\r\n // }\r\n // if (nomineeDocs.nomineeTwo.guardianDetails) {\r\n // if (\r\n // nomineeDocs.nomineeTwo.guardianDetails &&\r\n // newUploads[1].guardian.isPhoto === true\r\n // ) {\r\n // let nomineeTwoGuardianPhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeTwo.guardianDetails.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeTwo.guardianDetails.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeTwoGuardianPhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeTwo.guardianDetails.signature &&\r\n // newUploads[1].guardian.isSignature === true\r\n // ) {\r\n // let nomineeTwoGuardianSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeTwo.guardianDetails.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeTwo.guardianDetails.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeTwoGuardianSignature);\r\n // }\r\n // }\r\n // }\r\n\r\n // if (nomineeDocs.nomineeThree) {\r\n // if (nomineeDocs.nomineeThree.photo && newUploads[2].isPhoto === true) {\r\n // let nomineeThreePhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeThree.photo.documentCategoryId?.toString(),\r\n // documentId: nomineeDocsIds.nomineeThree.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeThree.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeThree.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeThreePhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeThree.signature &&\r\n // newUploads[2].isSignature === true\r\n // ) {\r\n // let nomineeThreeSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeThree.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeThree.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeThree.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeThree.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeThreeSignature);\r\n // }\r\n // if (nomineeDocs.nomineeThree.guardianDetails) {\r\n // if (\r\n // nomineeDocs.nomineeThree.guardianDetails.photo &&\r\n // newUploads[2].guardian.isPhoto === true\r\n // ) {\r\n // let nomineeThreeGuardianPhoto = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeThree.guardianDetails.photo.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeThree.guardianDetails.photo.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName: nomineeDocs.nomineeThree.guardianDetails.photo.fileName,\r\n // isfilecropped: true,\r\n // mimeType: nomineeDocs.nomineeThree.guardianDetails.photo.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeThreeGuardianPhoto);\r\n // }\r\n // if (\r\n // nomineeDocs.nomineeThree.guardianDetails.signature &&\r\n // newUploads[2].guardian.isSignature === true\r\n // ) {\r\n // let nomineeThreeGuardianSignature = {\r\n // documentCategoryId:\r\n // nomineeDocsIds.nomineeThree.guardianDetails.signature.documentCategoryId?.toString(),\r\n // documentId:\r\n // nomineeDocsIds.nomineeThree.guardianDetails.signature.documentId?.toString(),\r\n // documentexpirydate: \"\",\r\n // fileName:\r\n // nomineeDocs.nomineeThree.guardianDetails.signature.fileName,\r\n // isfilecropped: true,\r\n // mimeType:\r\n // nomineeDocs.nomineeThree.guardianDetails.signature.mimeType,\r\n // panno: GlobalStore.personaldetails.pan,\r\n // personaldetailsid: \"0\",\r\n // autoqc: false,\r\n // // \"autoqc\": autoQc\r\n // };\r\n // saveDetails.push(nomineeThreeGuardianSignature);\r\n // }\r\n // }\r\n // }\r\n\r\n // console.log(\"saveDetails\", saveDetails);\r\n // //setIsLoading(false);\r\n // const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n // const saveObj = {\r\n // applicationId: GlobalStore.applicationID,\r\n // clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n // documentInfo: saveDetails,\r\n // leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n // };\r\n\r\n // ASaveDocumentDetails(getSaveStatus, saveObj);\r\n\r\n // //return true;\r\n // }\r\n\r\n const getSaveStatus = (res: any) => {\r\n if (!res || res.error) {\r\n //setErrCode(1641)\r\n setIsLoading(false);\r\n return false;\r\n } else {\r\n if (res.data) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.emailID = email;\r\n clientPartialDetails_ao.mobile = phone;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n completeModuleStatus(dashboardUrl.profile);\r\n completeModuleStatus(dashboardUrl.personalIfo);\r\n gtmService({ action: \"PROFILE_DETAILS\", label: \"Step_Complete\" });\r\n\r\n // Submit the clevertap event for profile submit\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.profilePage.CLICK_ON_SUBMIT_PROFILE,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap code end\r\n\r\n // Apps flyer event for click on proceed on profile details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.profilePage.CLICK_ON_SUBMIT_PROFILE\r\n );\r\n\r\n history.push(incompleteStageNavigation());\r\n }\r\n }\r\n };\r\n\r\n function onChange(key: string, value: string) {\r\n setPlaceOfBirth(value);\r\n }\r\n\r\n function handleCityBlur(value: any) {\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, placeOfBirth: \"\" });\r\n } else {\r\n setErrors({\r\n ...errors,\r\n placeOfBirth: errorMsg(errorCode.FE39),\r\n });\r\n }\r\n }\r\n\r\n // console.log('buttonDisabled?: ', validateSubmit());\r\n // console.log('value for nominee', nomiDetails);\r\n const handleRemoveDoc = (\r\n index: number,\r\n identityId: string,\r\n removeDocObj: any\r\n ) => {\r\n console.log(\"HandleRemoveDoc\", index, identityId, removeDocObj);\r\n };\r\n\r\n const handleAddNomineeValue = (name: string, index: number, value: any) => {\r\n try {\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (name === \"identificationDetail\") {\r\n array[index][name] = { name: value?.display };\r\n\r\n if (value?.display === \"Photo and Signature of the Nominee/guardian\") {\r\n array[index][name] = {\r\n name: value?.display,\r\n value: \"Nominee\" + (index + 1),\r\n };\r\n }\r\n var objNomineeDocs = nomineeDocuments;\r\n\r\n if (value?.value == 1) {\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n imgOfAddlIdentDtls[index][\"nomineeAddDtls\"] = {\r\n isPhoto: false,\r\n isSignature: false,\r\n };\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n objNomineeDocs.nomineeOne.photo = { ...initialDocObj };\r\n objNomineeDocs.nomineeOne.signature = { ...initialDocObj };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n\r\n if (index == 1) {\r\n objNomineeDocs.nomineeTwo.photo = { ...initialDocObj };\r\n objNomineeDocs.nomineeTwo.signature = { ...initialDocObj };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n\r\n if (index == 2) {\r\n objNomineeDocs.nomineeThree.photo = { ...initialDocObj };\r\n objNomineeDocs.nomineeThree.signature = { ...initialDocObj };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n } else {\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n imgOfAddlIdentDtls[index][\"nomineeAddDtls\"] = {\r\n isPhoto: true,\r\n isSignature: true,\r\n };\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n if (index == 0) {\r\n delete objNomineeDocs.nomineeOne.photo;\r\n delete objNomineeDocs.nomineeOne.signature;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 1) {\r\n delete objNomineeDocs.nomineeTwo.photo;\r\n delete objNomineeDocs.nomineeTwo.signature;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 2) {\r\n delete objNomineeDocs.nomineeThree.photo;\r\n delete objNomineeDocs.nomineeThree.signature;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n }\r\n setAddlIdentDetailsValue(false);\r\n } else if (name === \"identificationDetailValue\") {\r\n array[index][\"identificationDetail\"][\"value\"] = value;\r\n setAddlIdentDetailsValue(true);\r\n } else {\r\n array[index][name] = value;\r\n }\r\n\r\n if (value) {\r\n if (array[index][\"error\"] && array[index][\"error\"][name]) {\r\n console.log(\"error from on change\", array[index][\"error\"]);\r\n\r\n array[index][\"error\"][name] = undefined;\r\n }\r\n }\r\n\r\n if (name === \"nomDob\" && ageCalculator(value) < 18) {\r\n array[index][\"isNomineeMinor\"] = true;\r\n array[index][\"guardianDetails\"] = {};\r\n array[index][\"guardianDetails\"][\"guardPoliticalVal\"] = \"0\";\r\n array[index][\"guardianDetails\"][\"guardianAddress\"] = {\r\n ...initialAddressObj,\r\n };\r\n array[index][\"guardianDetails\"][\"sameAsNominee\"] = false;\r\n } else if (name === \"nomDob\" && ageCalculator(value) >= 18) {\r\n array[index][\"isNomineeMinor\"] = false;\r\n }\r\n\r\n if (name === \"nomPerSharing\") {\r\n if (numOfNominee !== 1) {\r\n for (let i = 0; i < numOfNominee; i++) {\r\n if (i !== index) {\r\n const remainigPer = (100 - Number(value)) / (numOfNominee - 1);\r\n array[i][\"nomPerSharing\"] = remainigPer;\r\n }\r\n }\r\n }\r\n }\r\n\r\n setNomiDetails(array);\r\n\r\n window.localStorage.removeItem(\"ckycBackup\");\r\n localStorage.setItem(\"ckycBackup\", JSON.stringify(array));\r\n } catch (error) {\r\n console.log(\"error from on chane\", error);\r\n }\r\n };\r\n\r\n const handleAddNomineeError = (index: number, name: string, value: any) => {\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (name === \"nomDob\" && array[index][name]) {\r\n array[index][\"error\"][name] = null;\r\n } else {\r\n array[index][\"error\"][name] = value;\r\n }\r\n setNomiDetails(array);\r\n };\r\n\r\n const handleAddNomineeGuardianValue = (\r\n name: string,\r\n index: number,\r\n value: any\r\n ) => {\r\n const array = JSON.parse(JSON.stringify(nomiDetails));\r\n if (name === \"identificationDetail\") {\r\n array[index][\"guardianDetails\"][name] = { name: value?.display };\r\n if (value?.display === \"Photo and Signature of the Nominee/guardian\") {\r\n array[index][\"guardianDetails\"][name] = {\r\n name: value?.display,\r\n value: \"Guardian\" + (index + 1),\r\n };\r\n }\r\n setAddlIdentDetailsValue(false);\r\n if (value?.value == 1) {\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n imgOfAddlIdentDtls[index][\"guardianAddDtls\"] = {\r\n isPhoto: false,\r\n isSignature: false,\r\n };\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n var objNomineeDocs = nomineeDocuments;\r\n if (index == 0) {\r\n objNomineeDocs.nomineeOne.guardianDetails = {};\r\n objNomineeDocs.nomineeOne.guardianDetails.photo = {\r\n ...initialDocObj,\r\n };\r\n objNomineeDocs.nomineeOne.guardianDetails.signature = {\r\n ...initialDocObj,\r\n };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 1) {\r\n objNomineeDocs.nomineeTwo.guardianDetails = {};\r\n objNomineeDocs.nomineeTwo.guardianDetails.photo = {\r\n ...initialDocObj,\r\n };\r\n objNomineeDocs.nomineeTwo.guardianDetails.signature = {\r\n ...initialDocObj,\r\n };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 2) {\r\n objNomineeDocs.nomineeThree.guardianDetails = {};\r\n objNomineeDocs.nomineeThree.guardianDetails.photo = {\r\n ...initialDocObj,\r\n };\r\n objNomineeDocs.nomineeThree.guardianDetails.signature = {\r\n ...initialDocObj,\r\n };\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n } else {\r\n let imgOfAddlIdentDtls = JSON.parse(\r\n JSON.stringify(imgOfAddlIdentDetails)\r\n );\r\n imgOfAddlIdentDtls[index][\"guardianAddDtls\"] = {\r\n isPhoto: true,\r\n isSignature: true,\r\n };\r\n setImgOfAddlIdentDetails(imgOfAddlIdentDtls);\r\n var objNomineeDocs = nomineeDocuments;\r\n if (index == 0 && objNomineeDocs.nomineeOne.guardianDetails) {\r\n delete objNomineeDocs.nomineeOne.guardianDetails;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 1 && objNomineeDocs.nomineeTwo.guardianDetails) {\r\n delete objNomineeDocs.nomineeTwo.guardianDetails;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n if (index == 2 && objNomineeDocs.nomineeThree.guardianDetails) {\r\n delete objNomineeDocs.nomineeThree.guardianDetails;\r\n setNomineeDocuments(objNomineeDocs);\r\n }\r\n }\r\n } else if (name === \"guardIdentificationDetailValue\") {\r\n array[index][\"guardianDetails\"][\"identificationDetail\"][\"value\"] = value;\r\n setAddlIdentDetailsValue(true);\r\n } else {\r\n array[index][\"guardianDetails\"][name] = value;\r\n }\r\n\r\n if (value) {\r\n if (array[index][\"error\"] && array[index][\"error\"]?.name)\r\n array[index][\"error\"][name] = undefined;\r\n }\r\n setNomiDetails(array);\r\n\r\n window.localStorage.removeItem(\"ckycBackup\");\r\n localStorage.setItem(\"ckycBackup\", JSON.stringify(array));\r\n };\r\n function handleAccountTypeBlur(key: string, value: any) {\r\n typeof value !== \"object\"\r\n ? setErrors({ ...errors, [key]: \"Please select from dropdown\" })\r\n : setErrors({ ...errors, [key]: undefined });\r\n }\r\n\r\n console.log(\"RelationshipData\", relationshipData, \"||\", familyRelationList);\r\n\r\n function ChangePoliticalVal(Value: any) {\r\n setPoliticalVal(Value);\r\n setErrCode(\"\");\r\n errorMsg(\"\");\r\n }\r\n const getFullPANNAMe = () => {\r\n let panFullName = \"\";\r\n if (\r\n GlobalStore?.stageStatus?.panfirstname !== undefined &&\r\n GlobalStore?.stageStatus?.panfirstname?.length > 0\r\n ) {\r\n panFullName = GlobalStore?.stageStatus?.panfirstname + \" \";\r\n if (\r\n GlobalStore?.stageStatus?.panmiddletname !== undefined &&\r\n GlobalStore?.stageStatus?.panmiddletname?.length > 0\r\n ) {\r\n panFullName += GlobalStore?.stageStatus?.panmiddletname\r\n .split(\" \")\r\n .join(\" \");\r\n }\r\n if (\r\n GlobalStore?.stageStatus?.panlastname !== undefined &&\r\n GlobalStore?.stageStatus?.panlastname?.length > 0\r\n ) {\r\n panFullName = GlobalStore?.stageStatus?.panlastname\r\n ? panFullName + \" \" + GlobalStore?.stageStatus?.panlastname\r\n : panFullName;\r\n }\r\n }\r\n if (panFullName == null || panFullName == undefined || panFullName == \"\") {\r\n panFullName = GlobalStore.personaldetails.PANName;\r\n }\r\n return panFullName;\r\n };\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {!hideAddress && (\r\n <>\r\n {/* Permanent Address Start */}\r\n {\r\n setPermanentAddress(obj);\r\n sameAsPermanent && setCorrespondanceAddress(obj);\r\n console.log(\r\n correspondanceAddress,\r\n \"correspondanceAddress works 5\"\r\n );\r\n }}\r\n onAddressBlur={setPermErrorObj}\r\n handleSameAsAbove={() => {\r\n console.log(\"great works\");\r\n }}\r\n />\r\n {/* Permanent Address End */}\r\n\r\n {/* Correspondence Address Start */}\r\n {!GlobalStore.isDigiLocker && (\r\n \r\n )}\r\n {/* Correspondence Address End */}\r\n \r\n )}\r\n\r\n {/* Mobile Phone Start*/}\r\n
\r\n
\r\n \r\n onEmailPhoneChange('phone', value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n phone: error.pattern ? \"\" : errorMsg(errorCode.FE08),\r\n })\r\n }\r\n placeholder=\"Eg. 9876543210\"\r\n errorText={errors.phone}\r\n integer\r\n type=\"tel\"\r\n suffix={\r\n GlobalStore.user.mobile === phone &&\r\n phone !== \"\" &&\r\n isMobileVerified &&\r\n !showMobileOtp &&\r\n !showMobileBtn ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n maxLength={10}\r\n />\r\n
\r\n {showMobileBtn && (\r\n
\r\n error) ||\r\n phone === \"\"\r\n }\r\n onClick={() => sendOtp(\"mobile\")}\r\n />\r\n
\r\n )}\r\n
\r\n {showMobileOtp && !showMobileBtn && (\r\n
\r\n validateOtp(\"mobile\", val)}\r\n resendClicked={() => sendOtp(\"mobile\")}\r\n disableOtp={disableOtp}\r\n invalidOtp={invalidOtp}\r\n />\r\n
\r\n )}\r\n {/* Mobile Phone End*/}\r\n\r\n {/* Email Start*/}\r\n {/*
\r\n
\r\n \r\n onEmailPhoneChange('email', value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n email: error.pattern ? \"\" : errorMsg(errorCode.FE03),\r\n })\r\n }\r\n placeholder=\"Eg. example@email.com\"\r\n errorText={errors.email}\r\n type=\"email\"\r\n suffix={\r\n GlobalStore.user.email === email &&\r\n email !== \"\" &&\r\n isEmailVerified &&\r\n !showEmailOtp &&\r\n !showEmailBtn ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n />\r\n
\r\n {showEmailBtn && (\r\n
\r\n error) ||\r\n email === \"\"\r\n }\r\n onClick={() => sendOtp(\"email\")}\r\n />\r\n
\r\n )}\r\n
\r\n {showEmailOtp && !showEmailBtn && (\r\n
\r\n validateOtp(\"email\", val)}\r\n resendClicked={() => sendOtp(\"email\")}\r\n disableOtp={disableOtp}\r\n invalidOtp={invalidOtp}\r\n />\r\n
\r\n )} */}\r\n {/* Email End*/}\r\n\r\n {isEmailVerified && (\r\n <>\r\n {/* Family Declaration start */}\r\n {relationshipData.emailMatchedList &&\r\n relationshipData.mobileMatchedList &&\r\n (relationshipData.emailMatchedList.length > 0 ||\r\n relationshipData.mobileMatchedList.length > 0) && (\r\n <>\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n {relationshipData.emailMatchedList &&\r\n relationshipData.emailMatchedList.map(\r\n (item: IFamilyMember, index: number) => (\r\n <>\r\n \r\n \r\n onRelationChange(\"email\", index, value)\r\n }\r\n onBlur={(value) =>\r\n onRelationBlur(\"email\", index, value)\r\n }\r\n error={item?.error}\r\n />\r\n \r\n )\r\n )}\r\n {relationshipData.mobileMatchedList &&\r\n relationshipData.mobileMatchedList.map(\r\n (item: IFamilyMember, index: number) => (\r\n \r\n onRelationChange(\"mobile\", index, value)\r\n }\r\n onBlur={(value) =>\r\n onRelationBlur(\"mobile\", index, value)\r\n }\r\n error={item?.error}\r\n />\r\n )\r\n )}\r\n {relationshipData.bothMatchedList &&\r\n relationshipData.bothMatchedList.map(\r\n (item: IFamilyMember, index: number) => (\r\n \r\n onRelationChange(\"both\", index, value)\r\n }\r\n onBlur={(value) =>\r\n onRelationBlur(\"both\", index, value)\r\n }\r\n error={item?.error}\r\n />\r\n )\r\n )}\r\n \r\n )}\r\n {/* Family Declaration end */}\r\n {/* Secondary Details Start */}\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n setGender(val as string);\r\n setGenderError(\"\");\r\n }}\r\n className=\"liMgt12\"\r\n />\r\n
\r\n
\r\n \r\n setMaritalStatus(val as string)}\r\n className=\"liMgt12\"\r\n />\r\n
\r\n
\r\n \r\n setFatherOrSpouse(val as string)}\r\n className=\"liMgt12\"\r\n bool={{\r\n lhs: maritalStatus === \"S\" || gender !== \"F\",\r\n rhs: fatherSpouseRelationList[1].value,\r\n className: \" not-allowed\",\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n // fatherOrSpouse: error.required ? `Please Enter Valid Name` : '',\r\n fatherOrSpouse: error.required\r\n ? errorMsg(errorCode.FE33)\r\n : \"\",\r\n })\r\n }\r\n onChange={(val) =>\r\n setFatherOrSpouseName(capitalizeWords(val))\r\n }\r\n errorText={errors.fatherOrSpouse}\r\n placeholder=\"Eg. Ankit Agrawal\"\r\n type=\"text\"\r\n helpText=\"Enter name as per PAN\"\r\n />\r\n
\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n // motherName: error.required ? 'Please Enter Mother’s Name' : '',\r\n motherName: error.required\r\n ? errorMsg(errorCode.FE34)\r\n : \"\",\r\n })\r\n }\r\n onChange={(val) => setMotherName(capitalizeWords(val))}\r\n errorText={errors.motherName}\r\n placeholder=\"Eg. Ankita Agrawal\"\r\n type=\"text\"\r\n />\r\n
\r\n {/* Secondary Details End */}\r\n {/* Professional Details Start */}\r\n
\r\n \r\n
\r\n
\r\n \r\n item.value === eduQualification\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n setEduQulification(val[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={educationList}\r\n onBlur={(val) => dropDownBlur(\"eduQualification\", val)}\r\n searchKey=\"display\"\r\n placeholder=\"Select Your Education Qualification\"\r\n noDataMsg=\"Qualification with similar name not found\"\r\n errorText={errors.eduQualification}\r\n isDownArrow={true}\r\n />\r\n
\r\n
\r\n \r\n item.value === occupation)\r\n ?.display\r\n }\r\n onOptionSelect={(val) =>\r\n setOccupation(val[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={occupationList}\r\n onBlur={(val) => dropDownBlur(\"occupation\", val)}\r\n searchKey=\"display\"\r\n placeholder=\"Select Your Occupation\"\r\n noDataMsg=\"Occupation with similar name not found\"\r\n errorText={errors.occupation}\r\n isDownArrow={true}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n setShowExplain(true)}\r\n onMouseLeave={() => setShowExplain(false)}\r\n >\r\n Explain\r\n \r\n {showExplain && (\r\n \r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n ChangePoliticalVal(\"1\")}\r\n name=\"politicalParty\"\r\n label=\"I am a Politically Exposed Person\"\r\n //disabled={true}\r\n />\r\n ChangePoliticalVal(\"2\")}\r\n name=\"politicalParty\"\r\n label=\"I am Related to Politically Exposed Person\"\r\n //disabled={true}\r\n />\r\n ChangePoliticalVal(\"0\")}\r\n name=\"politicalParty\"\r\n label=\"None\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n const {\r\n country,\r\n idTypeOther,\r\n idTypeValue,\r\n ...newErrors\r\n } = errors;\r\n setErrors(newErrors);\r\n setIndianResident(true);\r\n }}\r\n name=\"taxResident\"\r\n label=\"Yes\"\r\n />\r\n
\r\n
\r\n setIndianResident(false)}\r\n name=\"taxResident\"\r\n label=\"No\"\r\n />\r\n
\r\n
\r\n
\r\n {!indianResident && (\r\n \r\n )}\r\n
\r\n \r\n item.value === annualIncome)\r\n ?.display\r\n }\r\n onOptionSelect={(val) =>\r\n setAnnualIncome(val[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={incomeList}\r\n searchKey=\"display\"\r\n placeholder=\"Select Your Annual Income Bracket\"\r\n noDataMsg=\"Annual Income with similar name not found\"\r\n errorText={errors.annualIncome}\r\n onBlur={(val) => dropDownBlur(\"annualIncome\", val)}\r\n isDownArrow={true}\r\n />\r\n
\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n netWorth:\r\n error.required || error.min\r\n ? // ? 'Please Enter Amount More Than Rs 1000'\r\n errorMsg(errorCode.FE22)\r\n : \"\",\r\n })\r\n }\r\n errorText={errors.netWorth}\r\n onChange={(val) => setNetWorth(val)}\r\n placeholder=\"Eg. 30,00,000\"\r\n // helpText='Maximum 100 Cr.'\r\n />\r\n
\r\n
\r\n \r\n \r\n onChange(\"city\", value[\"CityName\"] as string)\r\n }\r\n searchLength={3}\r\n options={cities}\r\n onBlur={handleCityBlur}\r\n searchKey=\"CityName\"\r\n placeholder=\"Eg. Mumbai\"\r\n noDataMsg=\"City with similar name not found\"\r\n errorText={errors.placeOfBirth}\r\n isDownArrow={false}\r\n autoSelectOff={true}\r\n defaultValue={placeOfBirth}\r\n />\r\n {/* \r\n setErrors({\r\n ...errors,\r\n placeOfBirth: error.required ? 'Please Enter Place of Birth' : '',\r\n })\r\n }\r\n errorText={errors.placeOfBirth}\r\n onChange={(val) => setPlaceOfBirth(val)}\r\n placeholder=\"Eg. Mumbai, Maharashtra\"\r\n type=\"text\"\r\n /> */}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n togSettlementclick()}\r\n />\r\n
\r\n
\r\n {togSettlement && (\r\n
\r\n
\r\n setPeriodicSettlement(\"1\")}\r\n name=\"periodicSettlement\"\r\n label=\"Monthly\"\r\n />\r\n
\r\n
\r\n setPeriodicSettlement(\"2\")}\r\n name=\"periodicSettlement\"\r\n label=\"Quarterly\"\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 if (POAType == true) {\r\n setPOAType(false);\r\n } else {\r\n setPOAType(true);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n {defaultSetting && (\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 setDefaultSetting(!defaultSetting)}\r\n className=\"defaultHeading\"\r\n >\r\n Read {defaultSetting ? \"Less\" : \"More\"}\r\n \r\n
\r\n \r\n
\r\n
\r\n {/* Permanent Address Proof */}\r\n \r\n item.display === defaultAccountType\r\n )?.display\r\n }\r\n onOptionSelect={(val) => setDefaultAccountType(val.display)}\r\n searchLength={0}\r\n options={bankAccountType}\r\n onBlur={(val) =>\r\n handleAccountTypeBlur(\"defaultAccountType\", val)\r\n }\r\n errorText={errors.defaultAccountType}\r\n searchKey=\"display\"\r\n placeholder=\"Select Account Type\"\r\n isDownArrow={true}\r\n />\r\n

Additional default settings for Online Account

\r\n {defaultAccountType !== null &&\r\n defaultAccountType !== undefined &&\r\n defaultAccountType?.length > 0 &&\r\n defaultAccountType ==\r\n \"BSDA Resident Demat and Trading Account\" && (\r\n

\r\n You are eligible for BSDA only if this is your first demat\r\n account across all depositories. To be eligible under the\r\n scheme you should not have a demat asset value should not\r\n be more than Rs. 10 Lakh at any point. If you select this\r\n option and do not meet the required criteria of BSDA you\r\n would be charged as per ordinary resident demat account\r\n holder.\r\n

\r\n )}\r\n setAccountTypeToggle(!accountTypeToggle)}\r\n className=\"defaultHeading\"\r\n >\r\n {accountTypeToggle ? \"Read Less\" : \"Read More\"}\r\n \r\n
\r\n {accountTypeToggle && (\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 {/* Professional Details End */}\r\n {!isSeniorCitizen && (\r\n
\r\n
\r\n \r\n

\r\n \r\n
\r\n
\r\n {\r\n const {\r\n guardAnnualIncome,\r\n guardEduQualification,\r\n guardFullName,\r\n guardOccupation,\r\n guardPlaceOfBirth,\r\n guardRelation,\r\n guardTitle,\r\n nomFullName,\r\n nomRelation,\r\n nomTitle,\r\n numOfNominee,\r\n ...newErrors\r\n } = errors;\r\n const existingNominee = showNominee;\r\n if (existingNominee === true) {\r\n setNomiDetails([]);\r\n setNumOfNominee(0);\r\n }\r\n setErrors(newErrors);\r\n setShowNominee(!existingNominee);\r\n setGlobalError(\"\");\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n {/* Below div is for temp purpose. We need to remove it once multiple nominee we implement it. */}\r\n {/*
\r\n \r\n

\r\n \r\n Click here\r\n {' '}\r\n to Download Add Nomination form\r\n

\r\n
*/}\r\n {/* Nominee Details Start */}\r\n {showNominee && (\r\n <>\r\n
\r\n \r\n {\r\n const totalNomineeCount = Number(val[\"value\"]);\r\n const existingNomineeCount = Number(numOfNominee);\r\n const countForNeedToAddBlankNomine =\r\n totalNomineeCount - existingNomineeCount;\r\n\r\n const existingNomineeDetails = JSON.parse(\r\n JSON.stringify(nomiDetails)\r\n );\r\n\r\n const nomineeEquaPerSharing = (\r\n 100 / totalNomineeCount\r\n ).toFixed(2);\r\n console.log(\r\n \"nomineeEquaPerSharing\",\r\n nomineeEquaPerSharing\r\n );\r\n\r\n const nomineeSharePer: any = {\r\n 1:\r\n totalNomineeCount === 3\r\n ? 33\r\n : Number(nomineeEquaPerSharing),\r\n 2:\r\n totalNomineeCount === 3\r\n ? 33\r\n : Number(nomineeEquaPerSharing),\r\n 3:\r\n totalNomineeCount === 3\r\n ? 34\r\n : Number(nomineeEquaPerSharing),\r\n };\r\n\r\n console.log(\"nomineeSharePer\", nomineeSharePer);\r\n\r\n for (let i = 0; i < countForNeedToAddBlankNomine; i++) {\r\n existingNomineeDetails.push({\r\n error: {},\r\n nomineeAddress: initialAddressObj,\r\n });\r\n }\r\n\r\n for (let i = 0; i < totalNomineeCount; i++) {\r\n existingNomineeDetails[i][\"nomPerSharing\"] =\r\n nomineeSharePer[i + 1];\r\n }\r\n\r\n // If there are 3 nominee and user is going to remove last one and new select for 2 nominee then we need to remove last nominee\r\n let numOfNomineeRemove =\r\n existingNomineeCount - totalNomineeCount;\r\n console.log(\r\n \"numOfNomineeRemove ---->\",\r\n numOfNomineeRemove\r\n );\r\n if (numOfNomineeRemove > 0) {\r\n for (let i = 0; i < numOfNomineeRemove; i++) {\r\n console.log(\"Inside the while loop\", i);\r\n existingNomineeDetails.pop();\r\n }\r\n }\r\n\r\n setNomiDetails(existingNomineeDetails);\r\n setNumOfNominee(val[\"value\"] as number);\r\n }}\r\n defaultValue={\r\n nomineeList.find((d) => d.value === numOfNominee)\r\n ?.display\r\n }\r\n options={nomineeList}\r\n onBlur={(val) => dropDownBlur(\"numOfNominee\", val)}\r\n errorText={errors.numOfNominee}\r\n searchKey=\"display\"\r\n searchLength={0}\r\n isDownArrow\r\n placeholder=\"One\"\r\n disableTick\r\n />\r\n
\r\n {numOfNominee > 0 &&\r\n nomineeList.slice(0, numOfNominee).map((data, index) => {\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n item.value ===\r\n nomiDetails[index]?.nomTitle\r\n )?.display\r\n }\r\n onOptionSelect={(val) => {\r\n handleAddNomineeValue(\r\n \"nomTitle\",\r\n index,\r\n val[\"value\"] as string\r\n );\r\n }}\r\n options={titlePrefixList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"nomTitle\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.nomTitle\r\n }\r\n searchKey=\"display\"\r\n searchLength={0}\r\n isDownArrow\r\n placeholder=\"Mr.\"\r\n disableTick\r\n />\r\n
\r\n
\r\n \r\n handleAddNomineeError(\r\n index,\r\n \"nomFullName\",\r\n error.required\r\n ? // ? 'Please Enter Nominee Name'\r\n errorMsg(errorCode.FE35)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.nomFullName\r\n }\r\n defaultValue={nomiDetails[index]?.nomFullName}\r\n onChange={(val) => {\r\n console.log(\"inputs for name@@@\", val);\r\n\r\n handleAddNomineeValue(\r\n \"nomFullName\",\r\n index,\r\n capitalizeWords(val)\r\n );\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. Name\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index]?.nomRelation\r\n )?.display\r\n }\r\n onOptionSelect={(val) => {\r\n handleAddNomineeValue(\r\n \"nomRelation\",\r\n index,\r\n val[\"value\"] as string\r\n );\r\n }}\r\n searchLength={0}\r\n options={relationshipList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"nomRelation\",\r\n typeof val !== \"object\"\r\n ? // ? 'Please select from dropdown'\r\n errorMsg(errorCode.FE24)\r\n : undefined\r\n )\r\n }\r\n errorText={nomiDetails[index]?.error?.nomRelation}\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Father\"\r\n noDataMsg=\"Relation with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n {nomRelation === \"13\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"nomOtherRelation\",\r\n error.required\r\n ? errorMsg(errorCode.FE37)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.nomOtherRelation\r\n }\r\n onChange={(value) =>\r\n handleAddNomineeValue(\r\n \"nomOtherRelation\",\r\n index,\r\n value\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. Niece\"\r\n />\r\n
\r\n )}\r\n {/* Nominee Address Start */}\r\n \r\n handleAddNomineeValue(\r\n \"nomineeAddress\",\r\n index,\r\n value\r\n )\r\n }\r\n onAddressBlur={setNomErrorObj}\r\n handleSameAsAbove={() => {}}\r\n />\r\n {/* Nominee Address End */}\r\n\r\n {/* Nominee sharing per start */}\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"nomPerSharing\",\r\n error.required || error.min || error.max\r\n ? // ? 'Please Enter percentage from 0 to 100'\r\n errorMsg(errorCode.FE26)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.nomPerSharing\r\n ? nomiDetails[index]?.error?.nomPerSharing\r\n : nomiDetails[index]?.nomPerSharing == 0\r\n ? errorMsg(errorCode.FE26)\r\n : \"\"\r\n }\r\n onChange={(value) => {\r\n setGlobalError(\"\");\r\n handleAddNomineeValue(\r\n \"nomPerSharing\",\r\n index,\r\n value\r\n );\r\n }}\r\n type=\"text\"\r\n placeholder=\"100\"\r\n defaultValue={nomiDetails[index]?.nomPerSharing}\r\n />\r\n
\r\n {/* Nominee sharing per end */}\r\n\r\n {/* start nominee upload photo */}\r\n
\r\n \r\n \r\n item.display ===\r\n nomiDetails[index]?.identificationDetail\r\n ?.name\r\n )?.display\r\n }\r\n onOptionSelect={\r\n (val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetail\",\r\n index,\r\n val as number\r\n )\r\n\r\n // setNomIdentification(val['value'] as number)\r\n }\r\n searchLength={0}\r\n options={nomineeIdentificationList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"identificationDetail\",\r\n typeof val !== \"object\"\r\n ? // ? 'Please select from dropdown'\r\n errorMsg(errorCode.FE25)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.identificationDetail\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Adhar\"\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n {/* {nomiDetails[index]?.identificationDetail?.name ===\r\n \"Photo and Signature of the Nominee/guardian\" && (\r\n
\r\n

Photo

\r\n \r\n {!isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n false\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n {(nomineeDocumentsArray[index]?.photo\r\n ?.uploadPer == 100 ||\r\n nomineeDocumentsArray[index]?.photo\r\n ?.uploadPer == 0) &&\r\n isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n false\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n

Signature

\r\n {!isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n false\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n {(nomineeDocumentsArray[index]?.signature\r\n ?.uploadPer == 100 ||\r\n nomineeDocumentsArray[index]?.signature\r\n ?.uploadPer == 0) &&\r\n isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n false\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n )} */}\r\n\r\n {nomiDetails[index]?.identificationDetail?.name ===\r\n \"Aadhar Card no\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"identificationDetailValue\",\r\n error.required ||\r\n nomiDetails[index]?.identificationDetail\r\n ?.value?.length < 4\r\n ? // ? 'Please Enter last four digit of Adhar number'\r\n errorMsg(errorCode.FE25)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.identificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.identificationDetail\r\n ?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n />\r\n
\r\n )}\r\n {nomiDetails[index]?.identificationDetail?.name ===\r\n \"Saving Bank account no.\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"identificationDetailValue\",\r\n error.required ||\r\n nomiDetails[index]?.identificationDetail\r\n ?.value?.length < 8\r\n ? // ? 'Please enter minimum 8 or maximum 18'\r\n errorMsg(errorCode.FE25)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.identificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.identificationDetail\r\n ?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n placeholder=\"Eg. 18273946573849\"\r\n />\r\n
\r\n )}\r\n {nomiDetails[index]?.identificationDetail?.name ===\r\n \"Demat Account ID\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"identificationDetailValue\",\r\n error.required ||\r\n nomiDetails[index]?.identificationDetail\r\n ?.value?.length < 8\r\n ? // ? 'Please enter minimum 8 or maximum 18'\r\n errorMsg(errorCode.FE25)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.identificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.identificationDetail\r\n ?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n placeholder=\"Eg. 18273946573849\"\r\n />\r\n
\r\n )}\r\n {nomiDetails[index]?.identificationDetail?.name ===\r\n \"PAN Card no\" && (\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.identificationDetail\r\n ?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeValue(\r\n \"identificationDetailValue\",\r\n index,\r\n val.toUpperCase()\r\n )\r\n }\r\n onBlur={(error) =>\r\n onBlurPan(\r\n error,\r\n index,\r\n \"identificationDetailValue\"\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. ABCDE1234F\"\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.identificationDetailValue\r\n }\r\n />\r\n
\r\n )}\r\n {/* nominee upload photo end */}\r\n\r\n
\r\n \r\n {/* DOB start */}\r\n\r\n {\r\n console.log(\"on select called\", date);\r\n handleAddNomineeValue(\"nomDob\", index, date);\r\n }}\r\n defaultDate={\r\n nomiDetails[index]?.nomDob\r\n ? new Date(nomiDetails[index]?.nomDob)\r\n : undefined\r\n }\r\n placeholderText={\"Select Date of Birth\"}\r\n maxDate={new Date()}\r\n minDate={\r\n new Date(\r\n new Date().setFullYear(\r\n new Date().getFullYear() - 100\r\n )\r\n )\r\n }\r\n onBlur={(e) => {\r\n console.log(\"on blur called\", e);\r\n handleAddNomineeError(\r\n index,\r\n \"nomDob\",\r\n errorMsg(errorCode.FE27)\r\n );\r\n }}\r\n isError={\r\n nomiDetails[index]?.error?.nomDob ? true : false\r\n }\r\n />\r\n {nomiDetails[index]?.error?.nomDob && (\r\n \r\n )}\r\n {/* DOB end */}\r\n
\r\n\r\n {/* Guardian Details Start */}\r\n {nomiDetails[index]?.isNomineeMinor && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n item.value ===\r\n nomiDetails[index][\r\n \"guardianDetails\"\r\n ]?.guardTitle\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardTitle\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n options={titlePrefixList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardTitle\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardTitle\r\n }\r\n searchKey=\"display\"\r\n searchLength={0}\r\n isDownArrow\r\n placeholder=\"Mr.\"\r\n disableTick\r\n />\r\n
\r\n
\r\n \r\n handleAddNomineeError(\r\n index,\r\n \"guardFullName\",\r\n error.required\r\n ? // ? 'Please Enter Guardian Name'\r\n errorMsg(errorCode.FE36)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardFullName\r\n }\r\n defaultValue={\r\n nomiDetails[index]?.guardianDetails\r\n ?.guardFullName\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardFullName\",\r\n index,\r\n capitalizeWords(val)\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. Rajesh Agarwal\"\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardRelation\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n // setGuardRelation(val['value'] as string)\r\n handleAddNomineeGuardianValue(\r\n \"guardRelation\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n searchLength={0}\r\n options={relationshipList}\r\n onBlur={(val) =>\r\n // dropDownBlur('guardRelation', val)\r\n handleAddNomineeError(\r\n index,\r\n \"guardRelation\",\r\n typeof val !== \"object\"\r\n ? // ? 'Please select from dropdown'\r\n errorMsg(errorCode.FE24)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardRelation\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Father\"\r\n noDataMsg=\"Relation with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n {guardRelation === \"13\" && (\r\n
\r\n \r\n \r\n // setErrors({\r\n // ...errors,\r\n // guardOtherRelation: error.required\r\n // ? 'Please Enter Relation'\r\n // : '',\r\n // })\r\n handleAddNomineeError(\r\n index,\r\n \"guardOtherRelation\",\r\n error.required\r\n ? errorMsg(errorCode.FE42)\r\n : \"\"\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardOtherRelation\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardOtherRelation\",\r\n index,\r\n val\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. Niece\"\r\n />\r\n
\r\n )}\r\n {/* Guardian’s Address Start */}\r\n \r\n handleAddNomineeGuardianValue(\r\n \"guardianAddress\",\r\n index,\r\n val\r\n )\r\n }\r\n onAddressBlur={setGuardErrorObj}\r\n showSameAsAbove\r\n sameAsAbove={\r\n nomiDetails[index]?.guardianDetails\r\n ?.sameAsNominee\r\n }\r\n handleSameAsAbove={(event) =>\r\n handleSameAsAboveForGaurdian(event, index)\r\n }\r\n />\r\n {/* Guardian’s Address End */}\r\n\r\n {/* start nominee upload photo */}\r\n
\r\n \r\n \r\n item.display ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"identificationDetail\",\r\n index,\r\n val as number\r\n )\r\n }\r\n searchLength={0}\r\n options={nomineeIdentificationList}\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardidentificationDetail\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardidentificationDetail\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Adhar\"\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n {/* {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"Photo and Signature of the Nominee/guardian\" && (\r\n
\r\n

Photo

\r\n {!isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n true\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}{\" \"}\r\n {(nomineeDocumentsArray[index]\r\n ?.guardianDetails?.photo?.uploadPer ==\r\n 100 ||\r\n nomineeDocumentsArray[index]\r\n ?.guardianDetails?.photo?.uploadPer ==\r\n 0) &&\r\n isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n true\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n

Signature

\r\n {!isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n true\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}{\" \"}\r\n {(nomineeDocumentsArray[index]\r\n ?.guardianDetails?.signature?.uploadPer ==\r\n 100 ||\r\n nomineeDocumentsArray[index]\r\n ?.guardianDetails?.signature?.uploadPer ==\r\n 0) &&\r\n isEditMode && (\r\n \r\n onPanDocUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index,\r\n true\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n )} */}\r\n {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"Aadhar Card no\" && (\r\n
\r\n \r\n \r\n handleAddNomineeError(\r\n index,\r\n \"guardIdentificationDetailValue\",\r\n !val.pattern\r\n ? errorMsg(errorCode.FE41)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardIdentificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardIdentificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n />\r\n
\r\n )}\r\n {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"Saving Bank account no.\" && (\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue:\r\n error.required ||\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n ?.length < 8\r\n ? errorMsg(errorCode.FE40)\r\n : \"\",\r\n })\r\n }\r\n errorText={\r\n errors.guardIdentificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardIdentificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n placeholder=\"Eg. 18273946573849\"\r\n />\r\n
\r\n )}\r\n {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"Demat Account ID\" && (\r\n
\r\n \r\n \r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue:\r\n error.required ||\r\n nomiDetails[index]\r\n ?.identificationDetail?.value\r\n ?.length < 8\r\n ? errorMsg(errorCode.FE40)\r\n : \"\",\r\n })\r\n }\r\n errorText={\r\n errors.guardIdentificationDetailValue\r\n }\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardIdentificationDetailValue\",\r\n index,\r\n val\r\n )\r\n }\r\n placeholder=\"Eg. 18273946573849\"\r\n />\r\n
\r\n )}\r\n {nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.name ===\r\n \"PAN Card no\" && (\r\n
\r\n \r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.identificationDetail?.value\r\n }\r\n onChange={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardIdentificationDetailValue\",\r\n index,\r\n val.toUpperCase()\r\n )\r\n }\r\n onBlur={(error) =>\r\n onBlurPan(\r\n error,\r\n index,\r\n \"guardIdentificationDetailValue\"\r\n )\r\n }\r\n type=\"text\"\r\n placeholder=\"Eg. ABCDE1234F\"\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardIdentificationDetailValue\r\n }\r\n />\r\n
\r\n )}\r\n\r\n
\r\n \r\n {/* DOB start */}\r\n\r\n {\r\n console.log(\"on select called\", date);\r\n if (guardianMinororMajor(date)) {\r\n setIsGuardiaMinor(false);\r\n handleAddNomineeGuardianValue(\r\n \"dob\",\r\n index,\r\n date\r\n );\r\n } else setIsGuardiaMinor(true);\r\n \r\n }}\r\n defaultDate={\r\n nomiDetails[index]?.guardianDetails?.dob\r\n ? new Date(\r\n nomiDetails[\r\n index\r\n ]?.guardianDetails?.dob\r\n )\r\n : undefined\r\n }\r\n placeholderText={\"Select Date of Birth\"}\r\n maxDate={new Date()}\r\n minDate={\r\n new Date(\r\n new Date().setFullYear(\r\n new Date().getFullYear() - 100\r\n )\r\n )\r\n }\r\n onBlur={(e) => {\r\n console.log(\"on blur called\", e);\r\n handleAddNomineeError(\r\n index,\r\n \"dob\",\r\n errorMsg(errorCode.FE27)\r\n );\r\n }}\r\n isError={\r\n isGuardianMinor?true:nomiDetails[index]?.error?.guardianDetails\r\n ?.dob\r\n ? true\r\n : false\r\n }\r\n />\r\n {nomiDetails[index]?.error?.guardianDetails\r\n ?.dob && (\r\n \r\n )}\r\n {isGuardianMinor && \r\n \r\n }\r\n {/* DOB end */}\r\n
\r\n {/* nominee upload photo end */}\r\n\r\n {/* Guardian Professional Details Start */}\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardEduQualification\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n // setGuardEduQulification(val['value'] as string)\r\n handleAddNomineeGuardianValue(\r\n \"guardEduQualification\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n searchLength={0}\r\n options={educationList}\r\n onBlur={(val) =>\r\n // dropDownBlur('guardRelation', val)\r\n handleAddNomineeError(\r\n index,\r\n \"guardEduQualification\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error\r\n ?.guardEduQualification\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Select Guardian’s Education Qualification\"\r\n noDataMsg=\"Qualification with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardOccupation\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n // setGuardOccupation(val['value'] as string)\r\n handleAddNomineeGuardianValue(\r\n \"guardOccupation\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n searchLength={0}\r\n options={occupationList}\r\n onBlur={(val) =>\r\n // dropDownBlur('guardRelation', val)\r\n handleAddNomineeError(\r\n index,\r\n \"guardOccupation\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardOccupation\r\n }\r\n searchKey=\"display\"\r\n placeholder=\"Select Guardian’s Occupation\"\r\n noDataMsg=\"Occupation with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n setShowExplain(true)}\r\n onMouseLeave={() => setShowExplain(false)}\r\n >\r\n Explain\r\n \r\n {showExplain && (\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 // setGuardPoliticalVal('1')\r\n handleAddNomineeGuardianValue(\r\n \"guardPoliticalVal\",\r\n index,\r\n \"1\"\r\n )\r\n }\r\n name={\"guardPoliticalParty\" + index}\r\n label=\"I am a Politically Exposed Person\"\r\n />\r\n \r\n // setGuardPoliticalVal('2')\r\n handleAddNomineeGuardianValue(\r\n \"guardPoliticalVal\",\r\n index,\r\n \"2\"\r\n )\r\n }\r\n name={\"guardPoliticalParty\" + index}\r\n label=\"I am Related to Politically Exposed Person\"\r\n />\r\n \r\n // setGuardPoliticalVal('0')\r\n handleAddNomineeGuardianValue(\r\n \"guardPoliticalVal\",\r\n index,\r\n \"0\"\r\n )\r\n }\r\n name={\"guardPoliticalParty\" + index}\r\n label=\"None\"\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n item.value ===\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardAnnualIncome\r\n )?.display\r\n }\r\n onOptionSelect={(val) =>\r\n handleAddNomineeGuardianValue(\r\n \"guardAnnualIncome\",\r\n index,\r\n val[\"value\"] as string\r\n )\r\n }\r\n onBlur={(val) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardAnnualIncome\",\r\n typeof val !== \"object\"\r\n ? errorMsg(errorCode.FE20)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardAnnualIncome\r\n }\r\n searchLength={0}\r\n options={incomeList}\r\n searchKey=\"display\"\r\n placeholder=\"Select Guardian’s Annual Income Bracket\"\r\n noDataMsg=\"Annual Income with similar name not found\"\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n handleAddNomineeGuardianValue(\r\n \"guardNetWorth\",\r\n index,\r\n val\r\n )\r\n }\r\n onBlur={(error) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardNetWorth\",\r\n error.required || error.min\r\n ? errorMsg(errorCode.FE28)\r\n : \"\"\r\n )\r\n }\r\n placeholder=\"Eg. 30,00,000\"\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n handleAddNomineeGuardianValue(\r\n \"guardPlaceOfBirth\",\r\n index,\r\n val[\"CityName\"] as string\r\n )\r\n }\r\n searchLength={3}\r\n options={cities}\r\n // onBlur={handleCityBlur}\r\n onBlur={(value) =>\r\n handleAddNomineeError(\r\n index,\r\n \"guardPlaceOfBirth\",\r\n typeof value !== \"object\"\r\n ? errorMsg(errorCode.FE29)\r\n : undefined\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardPlaceOfBirth\r\n }\r\n searchKey=\"CityName\"\r\n placeholder=\"Eg. Mumbai\"\r\n noDataMsg=\"City with similar name not found\"\r\n // errorText={errors.placeOfBirth}\r\n isDownArrow={false}\r\n autoSelectOff={true}\r\n defaultValue={\r\n nomiDetails[index][\"guardianDetails\"]\r\n ?.guardPlaceOfBirth\r\n }\r\n />\r\n {/* \r\n handleAddNomineeGuardianValue(\r\n 'guardPlaceOfBirth',\r\n index,\r\n val\r\n )\r\n }\r\n onBlur={(error) =>\r\n handleAddNomineeError(\r\n index,\r\n 'guardPlaceOfBirth',\r\n error.required\r\n ? 'Please Enter Place of Birth'\r\n : ''\r\n )\r\n }\r\n errorText={\r\n nomiDetails[index]?.error?.guardPlaceOfBirth\r\n }\r\n placeholder=\"Eg. Mumbai, Maharashtra\"\r\n type=\"text\"\r\n /> */}\r\n
\r\n {/*Guardian Professional Details End */}\r\n \r\n )}\r\n {/* Guardian Details End */}\r\n
\r\n );\r\n })}\r\n \r\n )}\r\n

\r\n {/* Nominee Details End */}\r\n {/* Error Msg Start*/}\r\n {errCode && politicalVal == \"0\" && (\r\n
\r\n {/* {{ errCode }} */}\r\n \r\n \r\n {/* \r\n */}\r\n \r\n
\r\n )}\r\n {errCode && politicalVal != \"0\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {globalError && (\r\n
\r\n {globalError}\r\n
\r\n )}\r\n {errorMatchDetails && (\r\n
\r\n {errorMatchDetails}\r\n
\r\n )}\r\n {genderError && (\r\n
\r\n {genderError}\r\n
\r\n )}\r\n {SettlementError && (\r\n
\r\n {SettlementError}\r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n
\r\n 0 \r\n ) || isGuardianMinor\r\n }\r\n />\r\n
\r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ProfileForm;\r\n","import GlobalStore from \"../../store/globalStore\";\r\n\r\nexport const nomineeMatch=(showNominee:boolean,nomiDetails:any)=>{\r\n if (showNominee && nomiDetails && nomiDetails.length > 0) {\r\n const nomiDetailsOne = nomiDetails[0];\r\n const nomiDetailsTwo = nomiDetails[1];\r\n const nomiDetailThree = nomiDetails[2];\r\n \r\n if (\r\n (nomiDetailsOne && Object.keys(nomiDetailsOne)) ||\r\n (nomiDetailsTwo && Object.keys(nomiDetailsTwo)) ||\r\n (nomiDetailThree && Object.keys(nomiDetailThree))\r\n ) {\r\n // name check start\r\n if (\r\n (nomiDetailsOne?.nomFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase())\r\n ) {\r\n return (\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase()) ||\r\n (nomiDetailThree?.guardianDetails?.guardFullName &&\r\n GlobalStore.personaldetails?.PANName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n GlobalStore?.personaldetails?.PANName?.toLowerCase())\r\n ) {\r\n return(\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.nomFullName &&\r\n nomiDetailsTwo?.nomFullName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.nomFullName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n nomiDetailThree?.nomFullName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n nomiDetailThree?.nomFullName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n nomiDetailsOne?.nomFullName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n nomiDetailsOne?.nomFullName?.toLowerCase())\r\n ) {\r\n return(\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.nomFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsOne?.nomFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsOne?.nomFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.nomFullName?.toLowerCase() ===\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsTwo?.nomFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.nomFullName?.toLowerCase() ===\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailThree?.nomFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.nomFullName?.toLowerCase() ===\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase())\r\n ) {\r\n return(\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n nomiDetailsTwo?.guardianDetails?.guardFullName.toLowerCase()) ||\r\n (nomiDetailsTwo?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailsTwo?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n nomiDetailThree[\r\n \"guardianDetails\"\r\n ]?.guardFullName?.toLowerCase()) ||\r\n (nomiDetailsOne?.guardianDetails?.guardFullName &&\r\n nomiDetailThree?.guardianDetails?.guardFullName &&\r\n nomiDetailsOne?.guardianDetails?.guardFullName?.toLowerCase() ===\r\n nomiDetailThree?.guardianDetails?.guardFullName?.toLowerCase())\r\n ) {\r\n return(\r\n \"ClientName,NomineeName and guardianName must be different\"\r\n );\r\n }\r\n //name check end\r\n // pan no check start\r\n else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.pan) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.pan) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.pan)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.pan) ||\r\n (nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore?.personaldetails?.pan) ||\r\n (nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n GlobalStore.personaldetails?.pan &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore?.personaldetails?.pan)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsTwo?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailThree?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsOne?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"PAN Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"PAN Card no\") &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientPanNo,NomineePanNo and guardianPanNo must be different\"\r\n );\r\n }\r\n // pan no check end\r\n // addhar no check start\r\n else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.aadharNo) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.aadharNo) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.aadharNo)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore.personaldetails?.aadharNo) ||\r\n (nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore?.personaldetails?.aadharNo) ||\r\n (nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n GlobalStore.personaldetails?.aadharNo &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value ===\r\n GlobalStore?.personaldetails?.aadharNo)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsTwo?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailThree?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsOne?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsOne?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailThree?.identificationDetail?.name?.includes(\r\n \"Aadhar Card no\"\r\n ) &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n } else if (\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value) ||\r\n (nomiDetailsTwo?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsTwo?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail\r\n ?.value) ||\r\n (nomiDetailsOne?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.name?.includes(\"Aadhar Card no\") &&\r\n nomiDetailsOne?.guardianDetails?.identificationDetail?.value ===\r\n nomiDetailThree?.guardianDetails?.identificationDetail?.value)\r\n ) {\r\n return(\r\n \"ClientAadharNo,NomineeAadharNo and guardianAadharNo must be different\"\r\n );\r\n }\r\n // addhar no check end\r\n else {\r\n return(\"\");\r\n }\r\n }\r\n }\r\n}","import { dashboardUrl, ILeftNavBarArray } from \"../utils/constants\";\r\nimport { IUserObj } from \"../types/genericTypes\";\r\nimport { leftNavBarArray } from \"../utils/constants\";\r\nimport {\r\n CkycAddressFormat,\r\n IAddressFormat,\r\n} from \"../Profile/AddressField/AddressField\";\r\nimport {\r\n ckycAddressObj,\r\n initialAddressObj,\r\n} from \"../Profile/ProfileForm/ProfileForm\";\r\n\r\ninterface IPersonaldetails {\r\n firstname?: string;\r\n lastname?: string;\r\n middlename?: string;\r\n mobile?: string;\r\n emailId?: string;\r\n aadhaar?: string;\r\n pan: string;\r\n panDetails?: string;\r\n gender?: \"M\" | \"F\" | string;\r\n dob?: string;\r\n additionalemail?: string;\r\n additionalmobile?: string;\r\n PANName?: string;\r\n adrLine1?: string;\r\n adrLine2?: string;\r\n city?: string;\r\n state?: string;\r\n pincode?: string;\r\n}\r\n\r\ninterface IStageStatus {\r\n isregistrationcompleted?: boolean;\r\n ispersonaldetailscompleted: boolean;\r\n isprofiledetailscompleted: boolean;\r\n isnewdpnomineecompleted?: boolean;\r\n isnewdpguardiancompleted?: boolean;\r\n isbankdetailscompleted: boolean;\r\n isbrokeragesegmentcompleted?: boolean;\r\n isuploaddocumentscompleted: boolean;\r\n isipvarificationcompleted?: boolean;\r\n isbrokerageschemecompleted?: boolean;\r\n isagentvisitcompleted?: boolean;\r\n isesigncompleted: boolean;\r\n isdigilockercompleted?: boolean;\r\n isaddressstagecompleted: boolean;\r\n bpm_pd_status: number;\r\n bpm_nsb_status: number;\r\n applicationstatus: number;\r\n iskra: boolean;\r\n iskyc: boolean;\r\n ckycnumber: string;\r\n iskraesigncompleted: boolean;\r\n ispanlinkedwithaadhar: boolean;\r\n checkpanaaddharflag: boolean;\r\n dpaccounttype: any;\r\n dpaccountchanged: boolean;\r\n dob:string;\r\n isPCGSubLob:boolean;\r\n panfirstname?:string;\r\n panmiddletname?:string;\r\n panlastname?:string;\r\n}\r\n\r\nexport default class GlobalStore {\r\n static user: IUserObj = {\r\n firstname: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n city: \"\",\r\n rmCode: \"\",\r\n UCC_Code:\"\"\r\n };\r\n static isPartialFilledClient: boolean = false;\r\n static leadForDsa: boolean = false;\r\n static SaveKYCResponse: any = {};\r\n static personaldetails: any = {};\r\n static profileDetails: any = {};\r\n static LeadIdMsg: string;\r\n static createLeadDudupeParam: any = {};\r\n static leadId: string;\r\n static sessionId: string;\r\n static dateofbirth: string = \"\";\r\n static dob: string = \"\";\r\n static birthDate: string = \"\";\r\n static applicationID: string = \"\";\r\n static aadharLinkedChoice: boolean = false;\r\n static clientPrimaryDetailId: string = \"\";\r\n static clientStageStatus: any = {};\r\n static dashboardDefaultUrl = dashboardUrl.profile;\r\n static dashboardActivetUrl = dashboardUrl.profile;\r\n static leftNavBarState: Array = [...leftNavBarArray];\r\n static stageStatus: IStageStatus = {\r\n isregistrationcompleted: false,\r\n ispersonaldetailscompleted: false,\r\n isprofiledetailscompleted: false,\r\n isnewdpnomineecompleted: false,\r\n isnewdpguardiancompleted: false,\r\n isbankdetailscompleted: false,\r\n isbrokeragesegmentcompleted: false,\r\n isuploaddocumentscompleted: false,\r\n isipvarificationcompleted: false,\r\n isbrokerageschemecompleted: false,\r\n isagentvisitcompleted: false,\r\n isesigncompleted: false,\r\n isdigilockercompleted: false,\r\n isaddressstagecompleted: false,\r\n bpm_pd_status: 0,\r\n bpm_nsb_status: 0,\r\n applicationstatus: 0,\r\n iskra: false,\r\n iskyc: false,\r\n ckycnumber: \"\",\r\n iskraesigncompleted: false,\r\n ispanlinkedwithaadhar: false,\r\n checkpanaaddharflag: false,\r\n dpaccounttype: \"\",\r\n dpaccountchanged: false,\r\n dob:\"\",\r\n isPCGSubLob:false\r\n };\r\n static isDigiLocker: boolean = false;\r\n static isKRA: boolean = false;\r\n static isKYC: boolean = false;\r\n static isManual: boolean = false;\r\n static isNormalClient: boolean = false;\r\n static isPANVerified: boolean = false;\r\n static isSeniorCitizen: boolean = false;\r\n static panOCRObj: any = {};\r\n static chequeOCRObj: any = {};\r\n static aadhaarOCRObj: any = {};\r\n static passportOCRObj: any = {};\r\n static dlOCRObj: any = {};\r\n static voterIdOCRObj: any = {};\r\n static corrAadhaarOCRObj: any = {};\r\n static corrPassportOCRObj: any = {};\r\n static corrDlOCRObj: any = {};\r\n static corrVoterIdOCRObj: any = {};\r\n static accountHolderName: string = \"\";\r\n static isSeeding: boolean = false;\r\n static selfieUrl: string = \"\";\r\n static nextIncompleteStage: string = \"\";\r\n static kraInfoObject: CkycAddressFormat = { ...ckycAddressObj };\r\n static ckycInfoObject: CkycAddressFormat = { ...ckycAddressObj };\r\n static ckycNo: string = \"\";\r\n static token: string = \"\";\r\n static account_no: string = \"\";\r\n static ifsc_code: string = \"\";\r\n static location: any = \"\";\r\n static KRA_mobile?: string;\r\n static KRA_email?: string;\r\n static KRA_mode?: number;\r\n static fieldErrorBank: Array = [\r\n // errCode1: \"test errror\",\r\n ];\r\n}\r\n","//import React, { useState } from 'react';\r\nimport indexer, { IListObj, initialIListObj } from \"../types/genericTypes\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport {\r\n ILeftNavBarArray,\r\n days,\r\n containerUrl,\r\n dashboardUrl,\r\n} from \"../utils/constants\";\r\nimport { AUpdateUtmDetails } from \"./registration/panDobApiService\";\r\nimport { xhrApiService } from \"./xhrApiServices\";\r\nimport { apiService } from \"./apiServices\";\r\nimport servicesList from \"./serviceList\";\r\nimport config from \"../../config/domain\";\r\n\r\nexport function clientContinue() {\r\n const clientDetails = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n const partner = JSON.parse(window.sessionStorage.getItem(\"partner\") || \"{}\");\r\n console.log(\"Partner: \", partner);\r\n\r\n if (\r\n clientDetails.applicationId &&\r\n clientDetails.applicationId !== \"\" &&\r\n clientDetails.panDetails &&\r\n clientDetails.panDetails !== \"\" &&\r\n !partner &&\r\n !(clientDetails.isNormalClient && !clientDetails.isPANVerified)\r\n )\r\n return containerUrl.continue;\r\n}\r\n\r\nexport function clientPartialDetailsToStore(initialObj?: {\r\n applicationID: string;\r\n}) {\r\n const clientPartialDetails_ao =\r\n initialObj ||\r\n JSON.parse(window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\");\r\n if (Object.keys(clientPartialDetails_ao).length > 0) {\r\n GlobalStore.clientPrimaryDetailId =\r\n clientPartialDetails_ao.clientPrimaryDetailId || \"\";\r\n GlobalStore.token = clientPartialDetails_ao.token || \"\";\r\n GlobalStore.applicationID = clientPartialDetails_ao.applicationId || \"\";\r\n GlobalStore.dob = clientPartialDetails_ao.dob || \"\";\r\n GlobalStore.birthDate = clientPartialDetails_ao.birthDate || \"\";\r\n GlobalStore.personaldetails.pan = clientPartialDetails_ao.pan || \"\";\r\n GlobalStore.leadId = clientPartialDetails_ao.leadID || \"\";\r\n GlobalStore.isSeeding = clientPartialDetails_ao.isSeeding || false;\r\n GlobalStore.selfieUrl = clientPartialDetails_ao.selfieUrl || \"\";\r\n GlobalStore.user.email = clientPartialDetails_ao.emailID || \"\";\r\n GlobalStore.user.mobile = clientPartialDetails_ao.mobile || \"\";\r\n GlobalStore.personaldetails.panDetails =\r\n clientPartialDetails_ao.panDetails || \"\";\r\n GlobalStore.personaldetails.PANName = clientPartialDetails_ao.PANName || \"\";\r\n GlobalStore.isDigiLocker = clientPartialDetails_ao.isDigiLocker || false;\r\n GlobalStore.isKRA = clientPartialDetails_ao.isKRA || false;\r\n GlobalStore.isKYC = clientPartialDetails_ao.isKYC || false;\r\n GlobalStore.isNormalClient =\r\n clientPartialDetails_ao.isNormalClient || false;\r\n GlobalStore.isPANVerified = clientPartialDetails_ao.isPANVerified || false;\r\n GlobalStore.isSeniorCitizen =\r\n clientPartialDetails_ao.isSeniorCitizen || false;\r\n GlobalStore.aadharLinkedChoice =\r\n clientPartialDetails_ao.aadharLinkedChoice || false;\r\n GlobalStore.kraInfoObject.addressLine1 =\r\n clientPartialDetails_ao.kraAddressLine1 || \"\";\r\n GlobalStore.kraInfoObject.pincode =\r\n clientPartialDetails_ao.kraPincode || \"\";\r\n GlobalStore.ckycNo = clientPartialDetails_ao.ckycNo || \"\";\r\n GlobalStore.personaldetails.fsfullName =\r\n clientPartialDetails_ao.fsfullName || \"\";\r\n GlobalStore.personaldetails.motherfullName =\r\n clientPartialDetails_ao.motherfullName || \"\";\r\n }\r\n return clientPartialDetails_ao;\r\n}\r\n\r\nexport function calculateCompletePercentage(): string {\r\n const percent =\r\n (GlobalStore.leftNavBarState.filter((stage) => stage.isComplete).length /\r\n GlobalStore.leftNavBarState.length) *\r\n 100;\r\n return percent.toFixed();\r\n}\r\n\r\n/*Convert Pan Details string name to Client Name;\r\n@para str - String, response of PanUti api, need be parse\r\n@return - Array of strings as First Name, Middle Name and Last Name\r\n*/\r\nexport function splitFullName(fullName: string): Array {\r\n const fullNameArr: Array = fullName\r\n .split(\" \")\r\n .filter((name) => name !== \"\");\r\n const fullNameArrLength: number = fullNameArr.length;\r\n let PANFirstName = \"\",\r\n PANMiddleName = \"\",\r\n PANlastName = \"\";\r\n switch (true) {\r\n case fullNameArrLength >= 3:\r\n PANFirstName = fullNameArr.slice(0, fullNameArrLength - 2).join(\" \");\r\n PANMiddleName = fullNameArr[fullNameArrLength - 2];\r\n PANlastName = fullNameArr[fullNameArrLength - 1];\r\n return [PANFirstName, PANMiddleName, PANlastName];\r\n case fullNameArrLength === 2:\r\n PANFirstName = fullNameArr[0];\r\n PANlastName = fullNameArr[1];\r\n return [PANFirstName, PANMiddleName, PANlastName];\r\n case fullNameArrLength === 1:\r\n PANFirstName = fullNameArr[0];\r\n PANlastName = \".\";\r\n return [PANFirstName, PANMiddleName, PANlastName];\r\n default:\r\n return [fullName];\r\n }\r\n}\r\n\r\nexport function capitalizeWords(str: string) {\r\n return str.replace(/(?:^|\\s)\\S/g, (a) => a.toUpperCase());\r\n}\r\n\r\nexport function parseQuery(queryString: string) {\r\n const query = queryString.substring(1);\r\n const vars = query.split(\"&\");\r\n\r\n return vars.reduce((acc: indexer, element: string) => {\r\n const pair: Array = element.split(\"=\");\r\n acc[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);\r\n return acc;\r\n }, {});\r\n}\r\n\r\nexport function utmDurationInfoObj(startTime: Date, key: string) {\r\n const objUTM_Info = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const elapsed: number = new Date().getTime() - startTime.getTime();\r\n objUTM_Info[key] = elapsed / 60000; //in minutes\r\n if (window.innerWidth <= 800 && window.innerHeight <= 600)\r\n objUTM_Info.devicetype = \"Mobile\";\r\n else objUTM_Info.devicetype = \"Desktop\";\r\n return objUTM_Info;\r\n}\r\n\r\nexport function updateUtmInfo(callback: CallableFunction) {\r\n const objUTM_Info: any = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const utmObj = {\r\n applicationid: GlobalStore.applicationID,\r\n utmcontent: objUTM_Info.utm_content || \"\",\r\n utmcreative: objUTM_Info.utm_creative || \"\",\r\n };\r\n AUpdateUtmDetails(callback, utmObj);\r\n}\r\n\r\nexport function setStageData(apiResponseObj: any) {\r\n GlobalStore.stageStatus = {\r\n isregistrationcompleted: apiResponseObj.isregistrationcompleted,\r\n ispersonaldetailscompleted: apiResponseObj.ispersonaldetailscompleted,\r\n isprofiledetailscompleted: apiResponseObj.isprofiledetailscompleted,\r\n isnewdpnomineecompleted: apiResponseObj.isnewdpnomineecompleted,\r\n isnewdpguardiancompleted: apiResponseObj.isnewdpguardiancompleted,\r\n isbankdetailscompleted: apiResponseObj.isbankdetailscompleted,\r\n isbrokeragesegmentcompleted: apiResponseObj.isbrokeragesegmentcompleted,\r\n isuploaddocumentscompleted: apiResponseObj.isuploaddocumentscompleted,\r\n isipvarificationcompleted: apiResponseObj.isipvarificationcompleted,\r\n isbrokerageschemecompleted: apiResponseObj.isbrokerageschemecompleted,\r\n isagentvisitcompleted: apiResponseObj.isagentvisitcompleted,\r\n isesigncompleted: apiResponseObj.isesigncompleted,\r\n isdigilockercompleted: apiResponseObj.isdigilockercompleted,\r\n bpm_pd_status: apiResponseObj.bpm_pd_status,\r\n bpm_nsb_status: apiResponseObj.bpm_nsb_status,\r\n applicationstatus: apiResponseObj.applicationstatus,\r\n iskra: apiResponseObj.iskra,\r\n iskyc: apiResponseObj.iskyc,\r\n ckycnumber: apiResponseObj.ckycnumber,\r\n iskraesigncompleted: apiResponseObj.iskraesigncompleted,\r\n isaddressstagecompleted: apiResponseObj.isaddressstagecompleted,\r\n ispanlinkedwithaadhar: apiResponseObj.ispanlinkedwithaadhar,\r\n checkpanaaddharflag: apiResponseObj.checkpanaaddharflag,\r\n dpaccounttype: apiResponseObj.dpaccounttype,\r\n dpaccountchanged: apiResponseObj.dpaccountchanged,\r\n dob:apiResponseObj.dob,\r\n isPCGSubLob:apiResponseObj.ispcgsublob,\r\n panfirstname:apiResponseObj?.panfirstname,\r\n panmiddletname:apiResponseObj?.panmiddletname,\r\n panlastname:apiResponseObj?.panlastname,\r\n };\r\n}\r\n\r\nexport function redirectToEntryPoint() {\r\n if (Object.keys(clientPartialDetailsToStore()).length === 0)\r\n return containerUrl.registration;\r\n return containerUrl.continue;\r\n}\r\n\r\nexport function isSafariBrowser(): boolean {\r\n // Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n let isSafari =\r\n /constructor/i.test((window as any).HTMLElement) ||\r\n (function (p) {\r\n return p.toString() === \"[object SafariRemoteNotification]\";\r\n })(\r\n !(window as any)[\"safari\"] || (window as any)[\"safari\"].pushNotification\r\n );\r\n return isSafari;\r\n}\r\n\r\nexport function guid() {\r\n return (\r\n s4() +\r\n s4() +\r\n \"-\" +\r\n s4() +\r\n \"-\" +\r\n s4() +\r\n \"-\" +\r\n s4() +\r\n \"-\" +\r\n s4() +\r\n s4() +\r\n s4()\r\n );\r\n}\r\n\r\nexport function s4() {\r\n return Math.floor((1 + Math.random()) * 0x10000)\r\n .toString(16)\r\n .substring(1);\r\n}\r\n\r\nexport interface enumObj {\r\n EnumName: string;\r\n ValueItem: string;\r\n DisplayItem: string;\r\n DisplayItem2?: string;\r\n}\r\n\r\nexport function convertEnumIntoIObj(\r\n enumArr: Array,\r\n key: Array\r\n) {\r\n let resultArr: Array> = [];\r\n key.forEach((k) => {\r\n let arr: Array = [];\r\n enumArr.forEach((element) => {\r\n if (k === element.EnumName) {\r\n let obj: IListObj = { ...initialIListObj };\r\n obj.display = element.DisplayItem;\r\n obj.value = element.ValueItem;\r\n arr.push(obj);\r\n }\r\n });\r\n resultArr.push(arr);\r\n });\r\n return resultArr;\r\n}\r\n\r\nexport function ageCalculator(dob: Date): number {\r\n //extract the year, month, and date from user date input\r\n let dobYear = dob.getFullYear(),\r\n dobMonth = dob.getMonth(),\r\n dobDate = dob.getDate();\r\n\r\n //get the current date from the system\r\n let now = new Date();\r\n //extract the year, month, and date from current date\r\n let currentYear = now.getFullYear();\r\n let currentMonth = now.getMonth();\r\n let currentDate = now.getDate();\r\n\r\n //declare a variable to collect the age in year, month, and days\r\n let age: any = {};\r\n\r\n //get years\r\n let yearAge: number = currentYear - dobYear;\r\n let monthAge: number;\r\n let dateAge: number;\r\n //get months\r\n if (currentMonth >= dobMonth)\r\n //get months when current month is greater\r\n monthAge = currentMonth - dobMonth;\r\n else {\r\n yearAge--;\r\n monthAge = 12 + currentMonth - dobMonth;\r\n }\r\n\r\n //get days\r\n if (currentDate >= dobDate)\r\n //get days when the current date is greater\r\n dateAge = currentDate - dobDate;\r\n else {\r\n monthAge--;\r\n dateAge = 31 + currentDate - dobDate;\r\n if (monthAge < 0) {\r\n monthAge = 11;\r\n yearAge--;\r\n }\r\n }\r\n //group the age in a single variable\r\n age = {\r\n years: yearAge,\r\n months: monthAge,\r\n days: dateAge,\r\n };\r\n\r\n return age.years;\r\n}\r\n\r\nexport function getFirstMiddleLastName(name: Array) {\r\n const nameArr = [];\r\n nameArr[0] = name[0];\r\n if (name.length > 1) {\r\n nameArr[1] = name[name.length - 1];\r\n nameArr[2] = \"\";\r\n for (let i = 1; i <= name.length - 2; i++) {\r\n nameArr[2] = nameArr[2] + \" \" + name[i];\r\n }\r\n nameArr[2] = nameArr[2].trim();\r\n }\r\n return nameArr;\r\n}\r\n\r\nexport function completeModuleStatus(navUrl: string) {\r\n let moduleArr: Array = GlobalStore.leftNavBarState;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n GlobalStore.isKRA ||\r\n clientPartialDetails_ao.isKRA ||\r\n GlobalStore.isKYC ||\r\n clientPartialDetails_ao.isKYC ||\r\n GlobalStore.isDigiLocker ||\r\n clientPartialDetails_ao.isDigiLocker\r\n ) {\r\n moduleArr = GlobalStore.leftNavBarState.filter(\r\n (item) => item.name !== \"Personal Documents\"\r\n );\r\n }\r\n for (let element of moduleArr) {\r\n if (element.navUrl === navUrl) {\r\n if (navUrl == \"/esign\") {\r\n if (\r\n GlobalStore.stageStatus.isesigncompleted &&\r\n GlobalStore.stageStatus.iskraesigncompleted\r\n ) {\r\n element.isComplete = true;\r\n continue;\r\n } else {\r\n element.isComplete = false;\r\n continue;\r\n }\r\n }\r\n element.isComplete = true;\r\n break;\r\n }\r\n }\r\n GlobalStore.leftNavBarState = moduleArr;\r\n}\r\n\r\n//It return next imcomplete Stage Url\r\nexport function incompleteStageNavigation(currentPage?: string) {\r\n let returnUrl: string = dashboardUrl.eSign;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n if (\r\n (GlobalStore.applicationID || clientPartialDetails_ao.applicationId) &&\r\n !GlobalStore.isDigiLocker\r\n ) {\r\n if (\r\n GlobalStore.isKRA ||\r\n clientPartialDetails_ao.isKRA ||\r\n GlobalStore.isKYC ||\r\n clientPartialDetails_ao.isKYC\r\n ) {\r\n const filteredLeftNavBar = GlobalStore.leftNavBarState.filter(\r\n (item) => item.name !== \"Personal Documents\"\r\n );\r\n if (filteredLeftNavBar && filteredLeftNavBar.length > 0) {\r\n GlobalStore.leftNavBarState = filteredLeftNavBar;\r\n }\r\n }\r\n }\r\n for (let i = 0; i < GlobalStore.leftNavBarState.length; i++) {\r\n if (\r\n !GlobalStore.leftNavBarState[i].isComplete &&\r\n GlobalStore.leftNavBarState[i].navUrl !== currentPage\r\n ) {\r\n returnUrl = GlobalStore.leftNavBarState[i].navUrl;\r\n break;\r\n }\r\n }\r\n return returnUrl;\r\n}\r\n\r\n// Convert base64 into Blob\r\nexport const base64toBlob = (\r\n b64Data: string,\r\n contentType: string,\r\n sliceSize: number = 512\r\n) => {\r\n const byteCharacters = window.atob(b64Data);\r\n const byteArrays = [];\r\n\r\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n const slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n const byteArray = new Uint8Array(byteNumbers);\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n const blob = new Blob(byteArrays, { type: contentType });\r\n return blob;\r\n};\r\n\r\nexport function stringToDate(dateStr: string, mmDDYYYY?: boolean): string {\r\n const dateObj = new Date(dateStr);\r\n const day = dateObj\r\n .getDate()\r\n .toLocaleString(\"en-US\", { minimumIntegerDigits: 2, useGrouping: false });\r\n const month = (dateObj.getMonth() + 1).toLocaleString(\"en-US\", {\r\n minimumIntegerDigits: 2,\r\n useGrouping: false,\r\n }); //months from 1-12\r\n const year = dateObj.getUTCFullYear();\r\n if (mmDDYYYY) return month + \"/\" + day + \"/\" + year;\r\n return day + \"/\" + month + \"/\" + year;\r\n}\r\n\r\nexport function dateStringToDay(dateStr: string): string {\r\n const d = new Date(dateStr);\r\n const dayName = days[d.getDay()];\r\n return dayName;\r\n}\r\n\r\nexport const ACreateApplicationTicket = (\r\n callback: CallableFunction,\r\n stageInfoObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/CreateApplicationTicket\",\r\n body: {\r\n ApplicationId: stageInfoObj.applicationid,\r\n ClientPrimaryDetailId: stageInfoObj.clientprimarydetailid,\r\n StageInfoId: stageInfoObj.stageinfoid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.createApplicationTicket,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: \"eco/create-application-ticket\",\r\n // body: stageInfoObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetRsaPublicKey = (callback: CallableFunction) => {\r\n apiService(\r\n {\r\n url: \"eco/get-public-key\",\r\n method: \"GET\",\r\n },\r\n callback\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport InputWithLabel from \"../../UI/InputWithLabel/InputWithLabel\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport { Verify } from \"../../UI/Button/Button\";\r\nimport {\r\n AGetCities,\r\n AValidateMobileOtp,\r\n ACreateLead,\r\n ACreateLeadSource,\r\n ASearchLeadByName,\r\n AGetMobileOtp,\r\n AWhatsappNotify,\r\n AGetEmployeeDetails,\r\n AGetEmailOtp,\r\n AValidateEmailOtp,\r\n CreateUCCRegCode,\r\n AGetOtpNew,\r\n AValidateOtpNew,\r\n} from \"../../Services/registration/registrationApiService\";\r\nimport \"./RegistrationForm.scss\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport {\r\n alphabetExp,\r\n integerExp,\r\n phoneNo,\r\n emailRegex,\r\n forbiddenWordsRegex,\r\n} from \"../../utils/regex\";\r\nimport RegOtp from \"../RegOtp/RegOtp\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n productCode,\r\n assignedTo,\r\n containerUrl,\r\n loginUrl,\r\n statusUrl,\r\n emailVerificationBody,\r\n} from \"../../utils/constants\";\r\nimport { clientContinue } from \"../../Services/globalService\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { rmCodeValues } from \"./rmCode\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport { getLeadSourceId } from \"./leadSource\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport {\r\n ACheckRAAccount,\r\n AGetRelationshipData,\r\n} from \"../../Services/dashboard/profileApiService\";\r\n\r\nimport { debug } from \"console\";\r\nexport interface ILeadFormFields {\r\n firstname: string;\r\n lastName: string;\r\n email: string;\r\n mobile: string;\r\n city: string | number;\r\n rmCode: string;\r\n rmCodeAssisted: string;\r\n}\r\n\r\nlet timer: any;\r\n\r\nconst RegistrationForm = (props: any) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n const UTM_PLACEMENT = quryParams.get(\"utm_placement\")\r\n ? quryParams.get(\"utm_placement\")\r\n : \"\";\r\n const [showRmCode, setShowRmCode] = React.useState(false);\r\n const [cities, setCities] = React.useState([]);\r\n\r\n const [values, setValues] = React.useState({\r\n firstname: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n city: \"\",\r\n });\r\n const [rmCode, setRmCode] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [showMobileBtn, setShowMobileBtn] = React.useState(true);\r\n const [showMobileMailBtn, setShowMobileMailBtn] =\r\n React.useState(true);\r\n const [showMobileOtp, setShowMobileOtp] = React.useState(false);\r\n const [disableOtp, setDisableOtp] = React.useState(false);\r\n var CreateNewUCC: any;\r\n\r\n // to stop auto check email and mobile verification\r\n // const [isEmailVerified, setIsEmailVerified] = React.useState(true);\r\n // const [isMobileVerified, setIsMobileVerified] =\r\n // React.useState(true);\r\n const [isMobileVerified, setIsMobileVerified] =\r\n React.useState(false);\r\n const [isEmailVerified, setIsEmailVerified] = React.useState(false);\r\n\r\n const [invalidOtp, setInvalidOtp] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [whatsappMsgSuccess, setWhatsappMsgSuccess] =\r\n React.useState(false);\r\n const [beingAssistedCheckbox, setBeingAssistedCheckbox] =\r\n React.useState(false);\r\n const [rmCodeAssisted, setRmCodeAssisted] = React.useState(\"\");\r\n const [rmCodeAssistedName, setRmCodeAssistedName] = React.useState(\"\");\r\n const [utmCampaignCode, setUtmCampaignCode] = React.useState(null);\r\n const [sourceNames, setSourceNames] = React.useState(\"\");\r\n const [planAsPerSource, setPlanAsPerSource] = React.useState(\"\");\r\n\r\n const [isAssistedDataValid, setIsAssistedDataValid] =\r\n React.useState(false);\r\n const [showEmailOtp, setShowEmailOtp] = React.useState(false);\r\n const [disableEmailOtp, setDisableEmailOtp] = React.useState(false);\r\n const [invalidEmailOtp, setInvalidEmailOtp] = React.useState(false);\r\n const [otpIds, setOtpIds] = React.useState<{\r\n emailOtpId?: string;\r\n mobileOtpId?: string;\r\n }>({\r\n emailOtpId: undefined,\r\n mobileOtpId: undefined,\r\n });\r\n const [relationShipTagError, setRelationShipTagError] =\r\n React.useState(\"\");\r\n const [searchLeadFlag, setSearchLeadFlag] = React.useState(\"\");\r\n const [isVerified, setIsVerified] = React.useState(false);\r\n const [\r\n email_mobile_verificationCheckFlag,\r\n setEmail_mobile_verificationCheckFlag,\r\n ] = React.useState(false);\r\n const [skipCreateLead, setSkipCreateLead] = React.useState(false);\r\n const [mobileVerifiedFE, setMobileVerifiedFE] =\r\n React.useState(false);\r\n const [mailVerifiedFE, setMailVerifiedFE] = React.useState(false);\r\n const [isButtonDisabled, setIsButtonDisabled] = React.useState(false);\r\n const [hideAreBeingSection, setHideAreBeingSection] = React.useState(false);\r\n // used to store the field wise errors\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof ILeadFormFields]?: string;\r\n }>({\r\n firstname: undefined,\r\n lastName: undefined,\r\n email: undefined,\r\n mobile: undefined,\r\n city: undefined,\r\n rmCodeAssisted: undefined,\r\n });\r\n\r\n const [allreadyExistMobOrEmail, setAllreadyExistMobOrEmail] = useState({\r\n mob: false,\r\n email: false,\r\n });\r\n const [createNewUCC, setCreateNewUCC] = React.useState(\"\");\r\n\r\n const partner = JSON.parse(window.sessionStorage.getItem(\"partner\") || \"{}\");\r\n var CreateNewUCC: any;\r\n\r\n React.useEffect(() => {\r\n if (\r\n containerUrl.continue === clientContinue() &&\r\n !GlobalStore.isPartialFilledClient\r\n ) {\r\n props.history.push(containerUrl.continue);\r\n } else {\r\n AGetCities(getCities);\r\n }\r\n }, []);\r\n\r\n // Clervertap event: personal details screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.personalDetailsPage.PAGE_LOADED,\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n function getCities(res: any) {\r\n if (!res || res.error) setErrCode(res.error);\r\n //setErrCode('113 - Failed to fetch the list of cities, please reload.');\r\n else {\r\n if (res.data && res.data.city) {\r\n setCities(res.data.city);\r\n setErrCode(\"\");\r\n }\r\n }\r\n }\r\n\r\n function onChange(key: keyof ILeadFormFields, value: string) {\r\n if (\r\n (key === \"firstname\" && !alphabetExp.test(value)) ||\r\n (key === \"lastName\" && !alphabetExp.test(value)) ||\r\n (key === \"mobile\" && !integerExp.test(value))\r\n ) {\r\n value = values[key];\r\n }\r\n\r\n key === \"rmCode\"\r\n ? setRmCode(value)\r\n : setValues({ ...values, [key]: value });\r\n\r\n if (key === \"mobile\") {\r\n if (\r\n GlobalStore.user.mobile !== \"\" &&\r\n GlobalStore.user.mobile === value &&\r\n isMobileVerified\r\n ) {\r\n setShowMobileBtn(false);\r\n } else {\r\n setShowMobileBtn(true);\r\n }\r\n }\r\n if (key === \"email\") {\r\n if (\r\n GlobalStore.user.email !== \"\" &&\r\n GlobalStore.user.email === value &&\r\n isEmailVerified\r\n ) {\r\n setShowMobileMailBtn(false);\r\n } else {\r\n setShowMobileMailBtn(true);\r\n }\r\n }\r\n setErrors({ ...errors, [key]: \"\" });\r\n return value;\r\n }\r\n\r\n function handleCityBlur(value: any) {\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, city: \"\" });\r\n } else {\r\n // setErrors({ ...errors, city: 'Please select a city from dropdown' });\r\n setErrors({ ...errors, city: errorMsg(errorCode.FE02) });\r\n }\r\n }\r\n\r\n function debounce(value: string, timeout = 1000) {\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n timer = setTimeout(() => {\r\n checkRMCodeValue(value);\r\n }, timeout);\r\n }\r\n\r\n function checkRMCodeValue(value: string) {\r\n if (value !== \"\") {\r\n AGetEmployeeDetails(checkEmployeesDetails, { username: value });\r\n } else {\r\n setErrors({ ...errors, rmCodeAssisted: errorMsg(errorCode.FE06) });\r\n setRmCodeAssistedName(\"\");\r\n setSourceNames(\"\");\r\n setUtmCampaignCode(null);\r\n setPlanAsPerSource(\"\");\r\n }\r\n }\r\n\r\n function checkEmployeesDetails(res: any) {\r\n if (res.error) {\r\n // setErrCode('115');\r\n // setErrCode(errorMessage.mobValidateOtp);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data._employeedetail) {\r\n if (Object.keys(res.data._employeedetail).length > 0) {\r\n const rmCodeName = res.data._employeedetail;\r\n // setRmCodeAssistedName(rmCodeName?.EmpName ?? rmCodeName.UserName);\r\n setRmCodeAssistedName(\r\n rmCodeName?.EmpName == \"\" ? rmCodeName.UserName : rmCodeName.EmpName\r\n );\r\n setUtmCampaignCode(rmCodeName?.EmpCode);\r\n setSourceNames(rmCodeName?.Source);\r\n setPlanAsPerSource(rmCodeName.Plan);\r\n setErrors({ ...errors, rmCodeAssisted: undefined });\r\n setIsAssistedDataValid(false);\r\n }\r\n } else {\r\n setErrors({\r\n ...errors,\r\n rmCodeAssisted: \"Please Enter correct RM code\",\r\n });\r\n setRmCodeAssistedName(\"\");\r\n setUtmCampaignCode(null);\r\n setSourceNames(\"\");\r\n setPlanAsPerSource(\"\");\r\n }\r\n setErrCode(\"\");\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n // function checkEmployeesDetails(res: any) {\r\n // if (res.error) {\r\n // // setErrCode('115');\r\n // // setErrCode(errorMessage.mobValidateOtp);\r\n // setErrCode(res.error);\r\n // setIsLoading(false);\r\n // } else {\r\n // if (res.data && res.data._employeedetail) {\r\n // if (Object.keys(res.data._employeedetail).length > 0) {\r\n // const rmCodeName = res.data._employeedetail;\r\n // setRmCodeAssistedName(rmCodeName?.EmpName ?? rmCodeName.UserName);\r\n // setUtmCampaignCode(rmCodeName?.EmpCode);\r\n // setSourceNames(rmCodeName?.Source);\r\n // setErrors({ ...errors, rmCodeAssisted: undefined });\r\n // setIsAssistedDataValid(false);\r\n // }\r\n // }\r\n // else {\r\n // setErrors({\r\n // ...errors,\r\n // rmCodeAssisted: errorMsg(errorCode.FE06),\r\n // });\r\n // setRmCodeAssistedName(\"\");\r\n // setUtmCampaignCode(null);\r\n // setSourceNames(\"\");\r\n // }\r\n // }\r\n // setErrCode(\"\");\r\n // setIsLoading(false);\r\n // }\r\n // }\r\n\r\n function sendOtp() {\r\n setIsLoading(true);\r\n //AGetMobileOtp(otpSent, values.mobile);\r\n AGetOtpNew(\r\n (res: any) => {\r\n console.log(\"MON\", res);\r\n mobileOtpSentNew(res);\r\n },\r\n values.mobile,\r\n \"SMS\"\r\n );\r\n }\r\n /* .. res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\" */\r\n function otpSent(res: any) {\r\n console.log(res);\r\n if (res.data && res.data.Success) {\r\n setIsLoading(false);\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n setErrCode(\"\");\r\n } else {\r\n //setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n function mobileOtpSentNew(res: any) {\r\n // console.log(res);\r\n\r\n if (\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpIds((otpIds) => {\r\n otpIds.mobileOtpId = res?.data?.data?.OTPId;\r\n return otpIds;\r\n });\r\n setIsLoading(false);\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n setErrCode(\"\");\r\n } else {\r\n if (res?.error) {\r\n setErrCode(res.error);\r\n } else {\r\n setErrCode(\"Failed to send OTP, please retry.\");\r\n }\r\n setIsLoading(false);\r\n setShowMobileOtp(false);\r\n }\r\n // else {\r\n // //setErrCode('114 - Failed to send OTP, please retry.');\r\n // setErrCode(res.error);\r\n // }\r\n }\r\n\r\n function validateOtp(otpType: \"email\" | \"mobile\", val: string) {\r\n if (invalidOtp) {\r\n setInvalidOtp(false);\r\n }\r\n if (invalidEmailOtp) {\r\n setInvalidEmailOtp(false);\r\n }\r\n if (val.length === 4) {\r\n setIsLoading(true);\r\n if (otpType === \"email\") {\r\n setDisableEmailOtp(true);\r\n } else if (otpType === \"mobile\") {\r\n setDisableOtp(true);\r\n }\r\n AValidateOtpNew(\r\n (res: any) => {\r\n if (otpType === \"email\") {\r\n checkEmailValidateOtpNew(res);\r\n } else {\r\n checkMobileValidateOtpNew(res);\r\n }\r\n },\r\n otpType == \"email\" ? otpIds?.emailOtpId : otpIds?.mobileOtpId,\r\n val\r\n );\r\n }\r\n\r\n // if (val.length === 4) {\r\n // if (otpType === \"email\") {\r\n // setDisableEmailOtp(true);\r\n // AValidateEmailOtp(\r\n // (res: any) => checkEmailValidateOtp(res),\r\n // values.email,\r\n // val\r\n // );\r\n // } else if (otpType === \"mobile\") {\r\n // setDisableOtp(true);\r\n // AValidateMobileOtp(\r\n // checkMobileValidateOtp,\r\n // values.mobile.toString(),\r\n // val\r\n // );\r\n // }\r\n // }\r\n }\r\n function checkEmailValidateOtpNew(res: any) {\r\n setDisableEmailOtp(false);\r\n if (!res || res.error) {\r\n //setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setErrCode(res.error);\r\n } else {\r\n console.log(res, \"works\");\r\n if (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\r\n GlobalStore.user.email = values.email;\r\n setIsEmailVerified(true);\r\n setShowEmailOtp(false);\r\n setMailVerifiedFE(true);\r\n } else {\r\n setInvalidEmailOtp(true);\r\n // if (res.data && res.data !== \"false\") {\r\n // GlobalStore.user.email = values.email;\r\n // setIsEmailVerified(true);\r\n // setShowEmailOtp(false);\r\n // setMailVerifiedFE(true);\r\n // // if (GlobalStore.user.mobile !== values.mobile) {\r\n // // // setShowMobileBtn(true);\r\n // // }\r\n // } else setInvalidEmailOtp(true);\r\n }\r\n\r\n setErrCode(\"\");\r\n }\r\n setIsLoading(false);\r\n }\r\n function checkMobileValidateOtpNew(res: any) {\r\n setIsLoading(false);\r\n setDisableOtp(false);\r\n if (res.error) {\r\n //setErrCode('115 - Failed to validate OTP, please retry.');\r\n setErrCode(res.error);\r\n } else {\r\n if (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (\r\n utmObj &&\r\n utmObj.utm_source &&\r\n utmObj.utm_source.toUpperCase() === \"PLATFORM\"\r\n ) {\r\n setShowRmCode(true);\r\n }\r\n GlobalStore.user.mobile = values.mobile;\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n setMobileVerifiedFE(true);\r\n } else {\r\n setInvalidOtp(true);\r\n }\r\n setErrCode(\"\");\r\n // if (res.data == \"true\") {\r\n // const utmObj = JSON.parse(\r\n // window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n // );\r\n // if (\r\n // utmObj &&\r\n // utmObj.utm_source &&\r\n // utmObj.utm_source.toUpperCase() === \"PLATFORM\"\r\n // ) {\r\n // setShowRmCode(true);\r\n // }\r\n // GlobalStore.user.mobile = values.mobile;\r\n // setIsMobileVerified(true);\r\n // setShowMobileOtp(false);\r\n // setMobileVerifiedFE(true);\r\n // } else setInvalidOtp(true);\r\n }\r\n }\r\n function checkEmailValidateOtp(res: any) {\r\n setDisableEmailOtp(false);\r\n if (!res || res.error) {\r\n //setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setErrCode(res.error);\r\n } else {\r\n console.log(res, \"works\");\r\n if (res.data && res.data !== \"false\") {\r\n GlobalStore.user.email = values.email;\r\n setIsEmailVerified(true);\r\n setShowEmailOtp(false);\r\n setMailVerifiedFE(true);\r\n // if (GlobalStore.user.mobile !== values.mobile) {\r\n // // setShowMobileBtn(true);\r\n // }\r\n } else setInvalidEmailOtp(true);\r\n setErrCode(\"\");\r\n }\r\n setIsLoading(false);\r\n }\r\n function checkMobileValidateOtp(res: any) {\r\n setIsLoading(false);\r\n setDisableOtp(false);\r\n if (res.error) {\r\n //setErrCode('115 - Failed to validate OTP, please retry.');\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data == \"true\") {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (\r\n utmObj &&\r\n utmObj.utm_source &&\r\n utmObj.utm_source.toUpperCase() === \"PLATFORM\"\r\n ) {\r\n setShowRmCode(true);\r\n }\r\n GlobalStore.user.mobile = values.mobile;\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n setMobileVerifiedFE(true);\r\n } else setInvalidOtp(true);\r\n setErrCode(\"\");\r\n }\r\n }\r\n\r\n function handleSubmit(e: React.FormEvent) {\r\n setIsButtonDisabled(true);\r\n if (Object.values(values).every((value) => value)) {\r\n setIsLoading(true);\r\n\r\n GlobalStore.user = {\r\n firstname: values.firstname,\r\n lastName: values.lastName,\r\n email: values.email,\r\n mobile: values.mobile,\r\n city: values.city,\r\n // rmCode: rmCode\r\n };\r\n if (whatsappMsgSuccess) {\r\n searchLeadByName();\r\n } else {\r\n const msgReq = {\r\n type: \"optin\",\r\n recipients: [\r\n {\r\n recipient: values.mobile,\r\n source: \"edel-web\",\r\n user_agent: navigator.appName,\r\n },\r\n ],\r\n };\r\n\r\n AWhatsappNotify(whatsappNotify, msgReq);\r\n }\r\n }\r\n }\r\n\r\n function whatsappNotify(res: any) {\r\n if (res && res.status) {\r\n // setErrCode('101 - Failed to provide consent for WhatsApp Notifications.');\r\n // setErrCode(errorMessage.whatsAppNotify);\r\n // setErrCode(\"here is the error\");\r\n\r\n // changes code\r\n // setWhatsappMsgSuccess(false);\r\n setIsLoading(false);\r\n setWhatsappMsgSuccess(true);\r\n searchLeadByName();\r\n } else {\r\n setIsLoading(false);\r\n setWhatsappMsgSuccess(true);\r\n searchLeadByName();\r\n // if (!res || res.error) {\r\n // setErrCode(res.error);\r\n // }\r\n }\r\n // else {\r\n // setWhatsappMsgSuccess(true);\r\n // searchLeadByName();\r\n // }\r\n }\r\n\r\n function getRelationshipData(res: any) {\r\n let availableMobileTagSum: any;\r\n let availableEmailTagSum: any;\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode('132 - Failed to fetch relationship data');\r\n // setErrCode(errorMessage.getRelationshipData);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n console.log(\"count log\", res.data);\r\n if (\r\n res.data.emailMatchedList.length !== 0 ||\r\n res.data.mobileMatchedList.length !== 0\r\n ) {\r\n let AvailableRelationshipTagEmail: object =\r\n res.data.AvailableRelationshipTagEmail;\r\n let AvailableRelationshipTagMobile: object =\r\n res.data.AvailableRelationshipTagMobile;\r\n //logic for sum\r\n availableEmailTagSum = Object.values(\r\n AvailableRelationshipTagEmail\r\n ).reduce((a: number, b: number) => a + b, 0);\r\n availableMobileTagSum = Object.values(\r\n AvailableRelationshipTagMobile\r\n ).reduce((a: number, b: number) => a + b, 0);\r\n //logic for sum end\r\n if (availableMobileTagSum === 0 || availableEmailTagSum === 0) {\r\n // console.log(\"here\");\r\n setRelationShipTagError(errorMsg(errorCode.BE384));\r\n }\r\n }\r\n } else {\r\n // setErrCode('132 - Failed to fetch relationship data');\r\n setErrCode(res.error);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n React.useEffect(() => {\r\n if (isEmailVerified && isMobileVerified) setIsVerified(true);\r\n }, [isEmailVerified, isMobileVerified]);\r\n\r\n function searchLeadByName() {\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n const viewLeadObj = {\r\n assignedTo: assignedTo,\r\n emailId: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n mobile: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n };\r\n window.localStorage.setItem(\r\n \"clientName\",\r\n values.firstname.trim() + \" \" + values.lastName.trim()\r\n );\r\n GlobalStore.LeadIdMsg = \"\";\r\n\r\n ASearchLeadByName(searchedLead, viewLeadObj);\r\n console.log(\"viewLeadObj\", viewLeadObj);\r\n }\r\n\r\n React.useEffect(() => {\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n const viewLeadObj = {\r\n assignedTo: assignedTo,\r\n emailId: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n mobile: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n };\r\n window.localStorage.setItem(\r\n \"clientName\",\r\n values.firstname.trim() + \" \" + values.lastName.trim()\r\n );\r\n GlobalStore.LeadIdMsg = \"\";\r\n values.mobile &&\r\n values.email &&\r\n ASearchLeadByName(searchedLeadCheck, viewLeadObj);\r\n }, [email_mobile_verificationCheckFlag]);\r\n\r\n React.useEffect(() => {\r\n if (allreadyExistMobOrEmail.email || allreadyExistMobOrEmail.mob) {\r\n setIsButtonDisabled(false);\r\n\r\n if (allreadyExistMobOrEmail.mob) {\r\n setShowMobileBtn(true);\r\n\r\n setIsMobileVerified(false);\r\n } else if (allreadyExistMobOrEmail.email) {\r\n setShowMobileMailBtn(true);\r\n\r\n setIsEmailVerified(false);\r\n }\r\n }\r\n }, [allreadyExistMobOrEmail]);\r\n\r\n function searchLeadByName_Check() {\r\n setEmail_mobile_verificationCheckFlag(true);\r\n }\r\n\r\n function searchedLeadCheck(res: any) {\r\n if (email_mobile_verificationCheckFlag) {\r\n console.log(\"lead logger 4-\", email_mobile_verificationCheckFlag);\r\n if (!res || res.error) {\r\n console.log(\"lead logger 5-\");\r\n //setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setErrCode(res.error);\r\n setAllreadyExistMobOrEmail({\r\n ...res?.existedFieldDetails,\r\n });\r\n } else if (email_mobile_verificationCheckFlag) {\r\n console.log(\"lead logger 6-\");\r\n setErrCode(\"\");\r\n if (res.data) {\r\n console.log(\"lead logger 7\");\r\n let responseObj = JSON.parse(res.data);\r\n console.log(\"SEARCHLEAD\", responseObj);\r\n if (\r\n responseObj &&\r\n responseObj.leadList &&\r\n responseObj.leadList.length > 0\r\n ) {\r\n console.log(\"lead logger 8\");\r\n GlobalStore.user.UCC_Code = responseObj.leadList[0].UCCCode;\r\n if (responseObj.leadList[0].IsMobileVerified) {\r\n setIsMobileVerified(true);\r\n GlobalStore.user.mobile = values.mobile;\r\n } else {\r\n setIsMobileVerified(false);\r\n }\r\n\r\n if (responseObj.leadList[0].IsEmailVerified) {\r\n setIsEmailVerified(true);\r\n GlobalStore.user.email = values.email;\r\n } else {\r\n setIsEmailVerified(false);\r\n }\r\n if (\r\n responseObj.leadList[0].ApplicationId.slice(0, 2) != \"80\" &&\r\n responseObj.leadList[0].ApplicationId !== null\r\n ) {\r\n console.log(\"lead logger 3\");\r\n GlobalStore.leadId = responseObj.leadList[0].LeadId;\r\n GlobalStore.LeadIdMsg = \"duplicateLeadId\";\r\n\r\n // dudpe implemetation from here //\r\n\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n const createLeadObj = {\r\n assignedTo: responseObj.leadList[0].AssignTeam,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n rmCode: rmCode,\r\n // sourceId: sourceId,\r\n // subSourceId: subSourceId,\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign: objUtm.utm_campaign || \"\",\r\n sourceName: objUtm.utm_source || \"\",\r\n utm_content: objUtm.utm_content || \"\",\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source: objUtm.utm_source || \"\",\r\n subSourceName: objUtm.utm_campaign || \"\",\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n GlobalStore.createLeadDudupeParam = createLeadObj;\r\n\r\n // New lead is created. We need to register with clevertap event\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.personalDetailsPage\r\n .CLICK_ON_PROCEED,\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // CleverTap event end\r\n\r\n // Apps flyer event for click on proceed on personal details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.personalDetailsPage\r\n .CLICK_ON_PROCEED\r\n );\r\n\r\n // ends//\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n props.history.push(containerUrl.pan);\r\n }\r\n }\r\n if (responseObj.leadList.length == 0) {\r\n setIsMobileVerified(false);\r\n setIsEmailVerified(false);\r\n }\r\n }\r\n if (email_mobile_verificationCheckFlag) {\r\n setEmail_mobile_verificationCheckFlag(false);\r\n }\r\n }\r\n }\r\n }\r\n const checkRAAccountResp = (resp: any) => {\r\n if (resp == null || resp == undefined) {\r\n setHideAreBeingSection(false);\r\n } else {\r\n if (!resp || resp.error) {\r\n setHideAreBeingSection(false);\r\n setErrCode(resp.error);\r\n } else {\r\n if (resp && resp?.data) {\r\n if (\r\n resp?.data &&\r\n resp?.data?.IsRAExists !== null &&\r\n resp?.data?.IsRAExists !== undefined &&\r\n resp?.data?.IsRAExists\r\n ) {\r\n setHideAreBeingSection(true);\r\n } else {\r\n setHideAreBeingSection(false);\r\n }\r\n } else {\r\n setHideAreBeingSection(false);\r\n }\r\n }\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n if (isMobileVerified && isEmailVerified && values.email && values.mobile) {\r\n AGetRelationshipData(\r\n getRelationshipData,\r\n \"N/A\",\r\n values.email,\r\n values.mobile.toString()\r\n );\r\n ACheckRAAccount(checkRAAccountResp, {\r\n EmailId: values.email,\r\n MobileNo: values.mobile,\r\n PanNo: \"\",\r\n });\r\n }\r\n }, [isMobileVerified, isEmailVerified]);\r\n const handleCreateUcc = () => {\r\n let reqObj = {\r\n mobile: values.mobile,\r\n\r\n email: values.email,\r\n\r\n oldMobile: \"\",\r\n\r\n oldEmail: \"\",\r\n\r\n leadId: GlobalStore.leadId,\r\n\r\n isMobileVerify: mobileVerifiedFE,\r\n\r\n isEmailVerify: mailVerifiedFE,\r\n\r\n firstName: values.firstname,\r\n\r\n lastName: values.lastName,\r\n };\r\n\r\n if (!GlobalStore.user.UCC_Code) {\r\n CreateUCCRegCode((req: any) => {\r\n props.history.push(containerUrl.pan);\r\n }, reqObj);\r\n }\r\n };\r\n function searchedLead(res: any) {\r\n setSkipCreateLead(false);\r\n if (!res || res.error) {\r\n //setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setAllreadyExistMobOrEmail({\r\n ...res.existedFieldDetails,\r\n });\r\n\r\n setErrCode(res.error);\r\n\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(\"\");\r\n if (res.data) {\r\n let responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj &&\r\n responseObj.leadList &&\r\n responseObj.leadList.length > 0\r\n ) {\r\n console.log(\"lead logger 8\");\r\n GlobalStore.leadId = responseObj.leadList[0].LeadId;\r\n if (responseObj.leadList[0].UCCCode) {\r\n GlobalStore.user.UCC_Code = responseObj.leadList[0].UCCCode;\r\n } else {\r\n handleCreateUcc();\r\n }\r\n if (responseObj.leadList[0].ApplicationId.slice(0, 2) != \"80\") {\r\n console.log(\"lead logger 3\");\r\n GlobalStore.leadId = responseObj.leadList[0].LeadId;\r\n GlobalStore.LeadIdMsg = \"duplicateLeadId\";\r\n\r\n if (responseObj.leadList[0].IsMobileVerified) {\r\n setIsMobileVerified(true);\r\n }\r\n\r\n if (responseObj.leadList[0].IsEmailVerified) {\r\n setIsEmailVerified(true);\r\n }\r\n\r\n // dudpe implemetation from here //\r\n\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n // let sourceId = 0;\r\n // let subSourceId = 1;\r\n // if (objUtm.utm_source) {\r\n // const res = getLeadId(objUtm.utm_campaign);\r\n // sourceId = res ? res.sourceId : 0;\r\n // subSourceId = res ? res.subSourceId : 1;\r\n // }\r\n // console.log('WWWWWWWWWWWWWDDDDDLLL', sourceId, subSourceId, objUtm.utm_source);\r\n\r\n const createLeadObj = {\r\n assignedTo: responseObj.leadList[0].AssignTeam,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n rmCode: rmCode,\r\n // sourceId: sourceId,\r\n // subSourceId: subSourceId,\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign: objUtm.utm_campaign || \"\",\r\n sourceName: objUtm.utm_source || \"\",\r\n utm_content: objUtm.utm_content || \"\",\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source: objUtm.utm_source || \"\",\r\n subSourceName: objUtm.utm_campaign || \"\",\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n GlobalStore.createLeadDudupeParam = createLeadObj;\r\n\r\n // New lead is created. We need to register with clevertap event\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.personalDetailsPage\r\n .CLICK_ON_PROCEED,\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // CleverTap event end\r\n\r\n // Apps flyer event for click on proceed on personal details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.personalDetailsPage.CLICK_ON_PROCEED\r\n );\r\n\r\n // ends//\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n props.history.push(containerUrl.pan);\r\n } else if (!email_mobile_verificationCheckFlag) {\r\n createLead();\r\n // else {\r\n // console.log(\"load logger 10\");\r\n // // let foundLeadObject = {\r\n // // Response: \"Success\",\r\n // // ResponseDescription: \"Lead Created Successfully\",\r\n // // LeadId: responseObj.leadList[0].LeadId,\r\n // // TaskId: \"6421813457de712a0835455b\",\r\n // // Exist: \"Y\",\r\n // // };\r\n // setSkipCreateLead(true);\r\n // }\r\n }\r\n } else {\r\n console.log(\"lead logger-- 2\", email_mobile_verificationCheckFlag);\r\n if (!email_mobile_verificationCheckFlag) createLead();\r\n else if (\r\n !res?.existedFieldDetails?.mob &&\r\n !res?.existedFieldDetails?.email\r\n ) {\r\n console.log(\"lead logger 11\");\r\n setSkipCreateLead(true);\r\n }\r\n }\r\n }\r\n }\r\n console.log(\"lead logger 12\", isMobileVerified, \"||\", isEmailVerified);\r\n if (!isMobileVerified && !isEmailVerified) createLead();\r\n else {\r\n console.log(\"lead logger 13\");\r\n setSkipCreateLead(true);\r\n }\r\n\r\n //CleverTap log\r\n // var data = {\r\n // CurrentPage: '/Registration',\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'email_stage_success',\r\n // CTA: 'Confirm',\r\n // FirstName: values.firstname,\r\n // LastName: values.lastName\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n }\r\n\r\n React.useEffect(() => {\r\n if (\r\n skipCreateLead &&\r\n values.mobile &&\r\n values.city &&\r\n values.email &&\r\n values.firstname &&\r\n values.lastName &&\r\n !errCode\r\n ) {\r\n console.log(\"lead logger 14\");\r\n createLead();\r\n }\r\n }, [skipCreateLead]);\r\n\r\n function createLead() {\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n let utm_source = objUtm.utm_source || \"\";\r\n let utm_content = objUtm.utm_content || \"\";\r\n let utm_campaign = objUtm.utm_campaign || \"\";\r\n let isReferral = false;\r\n let sourceName = \"\";\r\n let subSourceName = \"\";\r\n\r\n // Check if we user entered RM code\r\n if (beingAssistedCheckbox && rmCodeAssisted) {\r\n utm_source = sourceNames;\r\n utm_content = planAsPerSource;\r\n utm_campaign = utmCampaignCode ? utmCampaignCode.toString() : \"\";\r\n isReferral = true;\r\n sourceName = sourceNames;\r\n subSourceName = utmCampaignCode ? utmCampaignCode.toString() : \"\";\r\n window.sessionStorage.setItem(\r\n \"objUTM_Info\",\r\n JSON.stringify({\r\n ...objUtm,\r\n utm_source,\r\n utm_content,\r\n utm_campaign,\r\n })\r\n );\r\n }\r\n\r\n // let sourceId = 0;\r\n // let subSourceId = 1;\r\n\r\n // if (objUtm.utm_campaign) {\r\n // const res = getLeadSourceId(objUtm.utm_campaign);\r\n // sourceId = res ? res.sourceId : 0;\r\n // subSourceId = res ? res.subSourceId : 1;\r\n // }\r\n\r\n let createLead = {\r\n assignedTo: isReferral ? \"0\" : assignedTo,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n rmCode: rmCode,\r\n // sourceId: sourceId,\r\n // subSourceId: subSourceId,\r\n sourceName: sourceName || objUtm.utm_source,\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign,\r\n utm_content,\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source,\r\n subSourceName: subSourceName || objUtm.utm_campaign,\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n\r\n // ACreateLead((res: any) => leadCreated(res, createLead), createLead);\r\n if (!skipCreateLead) {\r\n ACreateLeadSource((res: any) => leadCreated(res, createLead), createLead);\r\n // CreateNewUCC=false;\r\n } else {\r\n //CreateNewUCC=true;\r\n console.log(\"CreateNewUCC 1\", CreateNewUCC);\r\n leadCreated({ LeadId: GlobalStore.leadId }, createLead);\r\n }\r\n }\r\n\r\n function leadCreated(res: any, leadObj: any) {\r\n let respData;\r\n // console.log(res, \"leadCreated res\");\r\n if (!res?.status) {\r\n // console.log(\"RES::\", res, \"||\", JSON.parse(res?.data));\r\n respData = res.error;\r\n }\r\n\r\n setIsLoading(false);\r\n if (!res) {\r\n //setErrCode('103 - Error in generating new Lead.');\r\n // setErrCode(errorMessage.leadCreated);\r\n setErrCode(res.error);\r\n } else if (respData) {\r\n setErrCode(respData);\r\n } else {\r\n if ((res && res.data) || res.LeadId) {\r\n console.log(\"here 1\", skipCreateLead);\r\n // New lead is created. We need to register with clevertap event\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.personalDetailsPage.CLICK_ON_PROCEED,\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // CleverTap event end\r\n let responseObj;\r\n if (!skipCreateLead) {\r\n console.log(\"here 2\");\r\n responseObj = JSON.parse(res.data);\r\n }\r\n if ((responseObj && responseObj.LeadId) || res.LeadId) {\r\n console.log(\"here 3\");\r\n if (!skipCreateLead) {\r\n console.log(\"here 4\");\r\n GlobalStore.leadId = responseObj.LeadId;\r\n GlobalStore.createLeadDudupeParam = leadObj;\r\n }\r\n setErrCode(\"\");\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n // let reqObj = {\r\n // mobile: values.mobile,\r\n // email: values.email,\r\n // oldMobile: \"\",\r\n // oldEmail: \"\",\r\n // leadId: GlobalStore.leadId,\r\n // isMobileVerify: mobileVerifiedFE,\r\n // isEmailVerify: mailVerifiedFE,\r\n // firstName: values.firstname,\r\n // lastName: values.lastName,\r\n // };\r\n // if(CreateNewUCC && (GlobalStore.user.UCC_Code==\"\" || GlobalStore.user.UCC_Code==null || GlobalStore.user.UCC_Code==undefined))\r\n // {\r\n // CreateUCCRegCode((req: any) => {\r\n // props.history.push(containerUrl.pan);\r\n // }, reqObj);\r\n // }\r\n props.history.push(containerUrl.pan);\r\n } else {\r\n // setErrCode('Technical Issue - Error in generating new Lead.');\r\n setErrCode(res.error);\r\n }\r\n } else {\r\n // setErrCode('104 - Error in generating new Lead.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n window.onload = () => {\r\n localStorage.setItem(\"currentURL\", window.btoa(window.location.href));\r\n };\r\n function userLogin() {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"LOGIN\" });\r\n window.location.href = loginUrl;\r\n }\r\n\r\n const checkStatus = () => {\r\n props.history.push(statusUrl.statusHome);\r\n };\r\n\r\n function handleRmCodeCheckBox() {\r\n const currentRmCheckBoxStatus = !beingAssistedCheckbox;\r\n setRmCodeAssisted(\"\");\r\n setRmCodeAssistedName(\"\");\r\n setErrors({ ...errors, rmCodeAssisted: undefined });\r\n setUtmCampaignCode(null);\r\n setBeingAssistedCheckbox(currentRmCheckBoxStatus);\r\n setIsAssistedDataValid(currentRmCheckBoxStatus);\r\n setSourceNames(\"\");\r\n }\r\n function sendEmailOtp() {\r\n setIsLoading(true);\r\n let emlObj = {\r\n mailBody: emailVerificationBody.mailBody,\r\n mailFrom: emailVerificationBody.mailFrom,\r\n mailSource: emailVerificationBody.mailSource,\r\n mailSubject: emailVerificationBody.mailSubject,\r\n mailTo: values.email,\r\n };\r\n // AGetEmailOtp((res: any) => emailOtpRes(res), emlObj);\r\n AGetOtpNew(\r\n (res: any) => {\r\n emailOtpResNew(res);\r\n },\r\n values.email,\r\n \"EMAIL\"\r\n );\r\n // AGetMobileOtp(emailOtpSent, '9770308828');\r\n }\r\n function emailOtpResNew(res: any) {\r\n if (res.data && res.status) {\r\n if (\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpIds((otpIds) => {\r\n otpIds.emailOtpId = res?.data?.data?.OTPId;\r\n return otpIds;\r\n });\r\n setShowEmailOtp(true);\r\n setShowMobileMailBtn(false);\r\n setErrCode(\"\");\r\n } else {\r\n setErrCode(\"Failed to send OTP, please retry.\");\r\n }\r\n } else {\r\n // setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n function emailOtpRes(res: any) {\r\n if (res.data && res.status) {\r\n setShowEmailOtp(true);\r\n setShowMobileMailBtn(false);\r\n setErrCode(\"\");\r\n } else {\r\n // setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n // console.log(\r\n // \"lead logger - disable\",\r\n // Object.values(errors).some((error) => error),\r\n // \"||\",\r\n // Object.values(values).some((value) => !value),\r\n // \"||\",\r\n // GlobalStore.user.mobile !== values.mobile,\r\n // \"||\",\r\n // GlobalStore.user.mobile === \"\",\r\n // \"||\",\r\n // GlobalStore.user.email !== values.email,\r\n // \"||\",\r\n // GlobalStore.user.email === \"\",\r\n // \"||\",\r\n // !isMobileVerified,\r\n // \"||\",\r\n // !isEmailVerified,\r\n // \"||\",\r\n // isAssistedDataValid\r\n // );\r\n\r\n // console.log(\r\n // \"lead logger - '\",\r\n // Object.values(errors).some((error) => error) ||\r\n // Object.values(values).some((value) => !value) ||\r\n // GlobalStore.user.mobile !== values.mobile ||\r\n // GlobalStore.user.mobile === \"\" ||\r\n // GlobalStore.user.email !== values.email ||\r\n // GlobalStore.user.email === \"\" ||\r\n // isAssistedDataValid ||\r\n // isVerified\r\n // );\r\n\r\n console.log(\"skipLead\", isMobileVerified, \"||\", isEmailVerified);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* Name Start*/}\r\n
\r\n {/*First Name*/}\r\n
\r\n \r\n onChange(\"firstname\", value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n firstname: error.required ? errorMsg(errorCode.FE01) : \"\",\r\n })\r\n }\r\n placeholder=\"Eg. Prateek\"\r\n errorText={errors.firstname}\r\n type=\"text\"\r\n />\r\n
\r\n {/*Last Name*/}\r\n
\r\n \r\n onChange(\"lastName\", value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n // lastName: error.required ? 'This field is required ' : '',\r\n lastName: error.required ? errorMsg(errorCode.FE01) : \"\",\r\n })\r\n }\r\n placeholder=\"Eg. Jain\"\r\n errorText={errors.lastName}\r\n type=\"text\"\r\n />\r\n
\r\n
\r\n {/* Name End*/}\r\n {/* City Start*/}\r\n
\r\n \r\n \r\n onChange(\"city\", value[\"CityCode\"] as string)\r\n }\r\n // onChange={value => onChange(\"city\", value)}\r\n searchLength={3}\r\n options={cities}\r\n onBlur={handleCityBlur}\r\n searchKey=\"CityName\"\r\n placeholder=\"Eg. Mumbai\"\r\n noDataMsg=\"City with similar name not found\"\r\n errorText={errors.city}\r\n isDownArrow={false}\r\n autoSelectOff={true}\r\n autoComplete={\"off\"}\r\n />\r\n
\r\n {/* City End*/}\r\n {/* Email Start*/}\r\n
\r\n
\r\n \r\n {\r\n console.log(\r\n \"forbiddenWordsRegex.test(value)\",\r\n forbiddenWordsRegex.test(value)\r\n );\r\n if (forbiddenWordsRegex.test(value)) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: errorMsg(errorCode.FE48),\r\n });\r\n } else {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: \"\",\r\n });\r\n onChange(\"email\", value);\r\n }\r\n }}\r\n onBlur={(error: any, e) => {\r\n if (\r\n e?.target?.value !== undefined &&\r\n e?.target?.value !== null &&\r\n e?.target?.value !== \"\" &&\r\n forbiddenWordsRegex.test(e?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: errorMsg(errorCode.FE48),\r\n });\r\n } else\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: error.pattern ? \"\" : errorMsg(errorCode.FE03),\r\n });\r\n }}\r\n placeholder=\"Eg. example@email.com\"\r\n errorText={errors.email}\r\n type=\"email\"\r\n suffix={\r\n GlobalStore.user.email === values.email &&\r\n values.email !== \"\" &&\r\n isEmailVerified ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n hiddenText=\"I am aware that my contact details will be used for all future communications by Nuvama, including communications through WhatsApp.\"\r\n />\r\n
\r\n {showMobileMailBtn && !isEmailVerified && (\r\n
\r\n error) ||\r\n Object.values([\r\n values.firstname,\r\n values.lastName,\r\n values.city,\r\n values.email,\r\n // values.mobile,\r\n ]).some((value) => !value)\r\n }\r\n onClick={() => {\r\n gtmService({\r\n action: \"LEAD_PAGE\",\r\n label: \"MOB_VERIFY\",\r\n });\r\n\r\n sendEmailOtp();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {showEmailOtp && !showMobileMailBtn ? (\r\n
\r\n validateOtp(\"email\", val)}\r\n resendClicked={sendEmailOtp}\r\n disableOtp={disableEmailOtp}\r\n invalidOtp={invalidEmailOtp}\r\n />\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {/* */}\r\n {/* Email End*/}\r\n {/* Mobile Phone Start*/}\r\n <>\r\n
\r\n
\r\n \r\n onChange(\"mobile\", value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n // mobile: error.pattern ? '' : 'Please enter valid phone number',\r\n mobile: error.pattern ? \"\" : errorMsg(errorCode.FE04),\r\n })\r\n }\r\n placeholder=\"Eg. 9876543210\"\r\n errorText={errors.mobile}\r\n type=\"tel\"\r\n suffix={\r\n GlobalStore.user.mobile === values.mobile &&\r\n values.mobile !== \"\" &&\r\n isMobileVerified ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n maxLength={10}\r\n />\r\n
\r\n {showMobileBtn && !isMobileVerified && (\r\n
\r\n error) ||\r\n Object.values([\r\n values.firstname,\r\n values.lastName,\r\n values.city,\r\n // values.email,\r\n values.mobile,\r\n ]).some((value) => !value)\r\n }\r\n onClick={() => {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"MOB_VERIFY\" });\r\n\r\n sendOtp();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {showMobileOtp && !showMobileBtn && (\r\n
\r\n validateOtp(\"mobile\", val)}\r\n resendClicked={() => {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"OTP_RESEND\" });\r\n sendOtp();\r\n }}\r\n disableOtp={disableOtp}\r\n invalidOtp={invalidOtp}\r\n />\r\n
\r\n )}\r\n \r\n {/* Mobile Phone End*/}\r\n {isMobileVerified && showRmCode && (\r\n <>\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n onChange(\"rmCode\", value)}\r\n label=\"Enter Code (Optional)\"\r\n placeholder=\"Eg. ABC1234\"\r\n type=\"text\"\r\n onBlur={() => {}}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n {relationShipTagError && (\r\n
\r\n \r\n \r\n {/* */}\r\n \r\n
\r\n )}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n \r\n {/* */}\r\n {/* */}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n {/* Error Msg End*/}\r\n {isMobileVerified && (\r\n <>\r\n {!partner && (\r\n <>\r\n {isMobileVerified &&\r\n isEmailVerified &&\r\n !hideAreBeingSection && (\r\n
\r\n handleRmCodeCheckBox()}\r\n >\r\n \r\n If you are being assisted by nuvama representative\r\n or referred by existing account holder\r\n \r\n \r\n
\r\n )}\r\n \r\n )}\r\n {beingAssistedCheckbox && (\r\n <>\r\n
\r\n \r\n {\r\n setRmCodeAssisted(value);\r\n debounce(value);\r\n }}\r\n onBlur={() => {}}\r\n placeholder=\"Eg. ABC123\"\r\n errorText={errors.rmCodeAssisted}\r\n type=\"text\"\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Enter the employee / partner / EP / client code to\r\n identify the code
\r\n {/* manager */}\r\n

\r\n
\r\n \r\n )}\r\n
\r\n

\r\n By signing up you agree to receive communication on WhatsApp\r\n

\r\n
\r\n {!(\r\n Object.values(errors).some((error) => error) ||\r\n Object.values(values).some((value) => !value) ||\r\n GlobalStore.user.mobile !== values.mobile ||\r\n GlobalStore.user.mobile === \"\" ||\r\n GlobalStore.user.email !== values.email ||\r\n GlobalStore.user.email === \"\" ||\r\n isAssistedDataValid\r\n ) && isVerified ? (\r\n
\r\n error) ||\r\n Object.values(values).some((value) => !value) ||\r\n GlobalStore.user.mobile !== values.mobile ||\r\n GlobalStore.user.mobile === \"\" ||\r\n GlobalStore.user.email !== values.email ||\r\n GlobalStore.user.email === \"\" ||\r\n !isMobileVerified ||\r\n !isEmailVerified ||\r\n isAssistedDataValid ||\r\n isButtonDisabled\r\n }\r\n isLoading={isLoading}\r\n type=\"submit\"\r\n />\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n )}\r\n {/* to stop auto check email and mobile verification\r\n */}\r\n\r\n {/* {Object.values(errors).some((error) => error) ||\r\n Object.values(values).some((value) => !value) ||\r\n GlobalStore.user.mobile !== values.mobile ||\r\n GlobalStore.user.mobile === \"\" ||\r\n GlobalStore.user.email !== values.email ||\r\n GlobalStore.user.email === \"\" ||\r\n isAssistedDataValid ? (\r\n
\r\n error) ||\r\n Object.values(values).some((value) => !value) ||\r\n isAssistedDataValid ||\r\n !values.firstname ||\r\n !values.lastName ||\r\n !values.city ||\r\n !values.email ||\r\n !values.mobile\r\n }\r\n isLoading={isLoading}\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\nexport default RegistrationForm;\r\n","import React from \"react\";\r\nimport EdelLogoCenter from \"../../UI/EdelLogoCenter/EdelLogoCenter\";\r\nimport \"./Layout.scss\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport {\r\n parseQuery,\r\n redirectToEntryPoint,\r\n clientPartialDetailsToStore,\r\n setStageData,\r\n} from \"../../Services/globalService\";\r\nimport { containerUrl, dashboardUrl,statusUrl } from \"../../utils/constants\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\n\r\nexport interface RegistrationLayoutProps {\r\n isSubmissionRoute?: boolean;\r\n supportNeeded?: boolean;\r\n}\r\n\r\nconst RegistrationLayout: React.FC = (props) => {\r\n const history = useHistory();\r\n const location = useLocation();\r\n const [isSubmit, setIsSubmit] = React.useState(false);\r\n props.isSubmissionRoute && clientPartialDetailsToStore();\r\n\r\n React.useEffect(() => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n console.log(GlobalStore.applicationID, \"glo works\");\r\n console.log(clientPartialDetails_ao.applicationId, \"local works\");\r\n if (\r\n GlobalStore.applicationID !== \"\" ||\r\n clientPartialDetails_ao.applicationId\r\n ) {\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID || clientPartialDetails_ao.applicationId\r\n );\r\n }\r\n\r\n // if (props.isSubmissionRoute && history.action === 'POP')\r\n // history.push(redirectToEntryPoint());\r\n // else {\r\n // const queryObject = parseQuery(location.search);\r\n // if (queryObject && queryObject.applicationid && !queryObject.type) {\r\n // setIsSubmit(true);\r\n // if (queryObject.isPOA === 'true')\r\n // history.replace(containerUrl.poa);\r\n // else if(GlobalStore.stageStatus.isesigncompleted && !GlobalStore.stageStatus.iskraesigncompleted){\r\n // history.replace(dashboardUrl.eSign);\r\n // }\r\n // else\r\n // history.replace(containerUrl.submit);\r\n // }\r\n // }\r\n }, []);\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n if (props.isSubmissionRoute && history.action === \"POP\")\r\n history.push(redirectToEntryPoint());\r\n else {\r\n const queryObject = parseQuery(location.search);\r\n if (queryObject && queryObject.applicationid && !queryObject.type) {\r\n setIsSubmit(true);\r\n if (queryObject.isPOA === \"true\") history.replace(containerUrl.poa);\r\n else if (queryObject.isEsign === \"K\") {\r\n history.replace(containerUrl.submit);\r\n } else if (queryObject.isEsign === \"A\" && !responseObj.iskraesigncompleted) {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n //history.replace(statusUrl.docVerificationInProgress);\r\n }else if (queryObject.isEsign === \"A\" && responseObj.iskraesigncompleted) {\r\n history.replace(containerUrl.submit);\r\n } else if (!queryObject.isEsign) {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {!isSubmit && (\r\n
\r\n \r\n {props.children}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RegistrationLayout;\r\n","import React from 'react';\r\nimport { required, isValidRegex, grtrThanEqTo, lessThanEqTo } from \"../../utils/validation\";\r\nimport { integerExp, alphaNumExp } from \"../../utils/regex\";\r\nimport './InputWithLabel.scss'\r\n\r\nexport interface InputFields {\r\n defaultValue?: string; // The defaultValue in input field (pass only if required)\r\n placeholder?: string; // placeholder\r\n prefix?: React.ReactChild; // text/element to show before the input field\r\n suffix?: React.ReactChild; // text/element to show after the input field\r\n helpText?: string; // help text\r\n helpTextColor?: \"grey\" | \"blue\"; // the color of help text, takes gray as default\r\n errorText?: string | null; // error text\r\n required?: boolean; // true if is required\r\n integer?: boolean; // true if only integer can be entered\r\n alphanum?: boolean; // true if only alphanumeric can be entered\r\n float?: RegExp; // number of digits after decimal\r\n min?: number; // minimum number\r\n max?: number; // maximum number\r\n className?: string; // extra classname if needed for module specific style\r\n type?: string | 'text' | 'email' | 'number' | 'tel'; // type of input\r\n maxLength?: number; // if there is a max length for the input\r\n pattern?: RegExp; // validate any regExp\r\n id?: string;\r\n autoComplete?: \"on\" | \"off\"; // used for switching on/off autocomplete\r\n onChange: (value: string) => string | void; // function to be called on change. Return string if value needs to be changed from outside\r\n onBlur: (error: any) => void; // function to be called on blur, all errors will be available in error object\r\n label?: string;\r\n}\r\n\r\nconst InputWithLabel: React.FC = (props) => {\r\n const [value, setValue] = React.useState(props.defaultValue || \"\");\r\n\r\n React.useEffect(() => {\r\n if (props.defaultValue !== undefined && value !== props.defaultValue) {\r\n setValue(props.defaultValue);\r\n }\r\n }, [props.defaultValue]);\r\n\r\n /**\r\n\t * @param value The string that needs to be checked for integer\r\n\t * @returns If integer need not be checked, then return true.\r\n\t * - If integer needs to be checked, then\r\n\t * - If value is valid integer, then return true; otherwise, return false\r\n\t */\r\n function isValidInteger(value: string): boolean {\r\n return !props.integer || (props.integer && !isValidRegex(value, integerExp));\r\n }\r\n\r\n\t/**\r\n\t * @param value The string that needs to be checked for float\r\n\t * @returns If float need not be checked, then return true.\r\n\t * - If float needs to be checked, then\r\n\t * - if value is valid float, then return true; otherwise, return false\r\n\t */\r\n function isValidFloat(value: string): boolean {\r\n return !props.float || (props.float && !isValidRegex(value, props.float));\r\n }\r\n\r\n\t/**\r\n\t * @param value The string that needs to be checked for alphanumeric characters\r\n\t * @returns If alphanum need not be checked, then return true.\r\n\t * - If alphanum needs to be checked, then\r\n\t * - if value is valid alphanum, then return true; otherwise, return false\r\n\t */\r\n function isValidAlphaNum(value: string): boolean {\r\n return !props.alphanum || (props.alphanum && !isValidRegex(value, alphaNumExp));\r\n }\r\n\r\n\t/**\r\n\t * @param value The string that needs to be checked for maxlength\r\n\t * @returns If maxlength need not be checked, then return true.\r\n\t * - If maxlength needs to be checked, then\r\n\t * - if value has less characters than maxlength, then return true; otherwise, return false\r\n\t */\r\n function isValidMaxLength(value: string): boolean {\r\n return props.maxLength === undefined || value.length <= props.maxLength;\r\n }\r\n\r\n\t/**\r\n\t * @param value The value that is required\r\n\t * @returns If required need not be checked, then return true.\r\n\t * - If required needs to be checked, return true if value is not present; false if value is present\r\n\t */\r\n function isRequired(value: any): boolean {\r\n return !props.required || (props.required && !!required(value));\r\n }\r\n\r\n\t/**\r\n\t * @param value The value that is to be validated\r\n\t * @returns If min need not be checked, then return true.\r\n\t * - If min needs to be checked,\r\n\t * - throw error if value is string\r\n\t * - return true if value < min; false if value >= min\r\n\t */\r\n function isLessThanMin(value: string): boolean {\r\n if (props.min === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for min\");\r\n }\r\n return !!grtrThanEqTo(+value, props.min);\r\n }\r\n\r\n\t/**\r\n\t * @param value The value that is to be validated\r\n\t * @returns If max need not be checked, then return true.\r\n\t * - If max needs to be checked,\r\n\t * - throw error if value is string\r\n\t * - return true if value > max; false if value <= min\r\n\t */\r\n function isGrtrThanMax(value: string): boolean {\r\n if (props.max === undefined) {\r\n return true;\r\n }\r\n if (isNaN(+value)) {\r\n throw Error(\"Can't validate non-numerical value for max\");\r\n }\r\n return !!lessThanEqTo(+value, props.max);\r\n }\r\n\r\n\t/**\r\n\t * @param value The string that needs to be checked for the pattern\r\n\t * @returns If pattern need not be checked, then return true.\r\n\t * - If pattern needs to be checked, then\r\n\t * - if value is valid pattern, then return true; otherwise, return false\r\n\t */\r\n function isValidPattern(value: string): boolean {\r\n return !props.pattern || (props.pattern && !isValidRegex(value, props.pattern));\r\n }\r\n\r\n\t/**\r\n\t * This function runs on blur.\r\n\t * This removes the focus class on input_field_cont and removes commas.\r\n\t * This function calls the onBlur callback function with all the errors.\r\n\t */\r\n function handleBlur() {\r\n\r\n let errorObj: any = {};\r\n\r\n if (props.required) {\r\n errorObj = { ...errorObj, required: isRequired(value) }; // set isRequired error\r\n }\r\n if (props.min) {\r\n errorObj = { ...errorObj, min: isLessThanMin(value) }; // set error for min\r\n }\r\n if (props.max) {\r\n errorObj = { ...errorObj, max: isGrtrThanMax(value) }; // set error for max\r\n }\r\n if (props.pattern) {\r\n errorObj = { ...errorObj, pattern: isValidPattern(value) }; // set error for pattern\r\n }\r\n props.onBlur(errorObj);\r\n }\r\n\r\n /**\r\n\t * Checks for all the validations and then changes value accordingly\r\n\t * @param e The input event\r\n\t */\r\n function handleChange(e: React.FocusEvent) {\r\n let resolvedValue: string;\r\n\r\n if (\r\n (e.target.value || e.target.value === \"\" || e.target.value === \"0\") &&\r\n isValidInteger(e.target.value) &&\r\n isValidFloat(e.target.value) &&\r\n isValidAlphaNum(e.target.value) &&\r\n isValidMaxLength(e.target.value)\r\n ) {\r\n // if value needs to be changed then process the new value\r\n resolvedValue = e.target.value;\r\n } else {\r\n // otherwise process the previous state\r\n resolvedValue = value;\r\n }\r\n\r\n const newValue = props.onChange(resolvedValue || \"\"); // call onchange callback\r\n\r\n if (newValue !== undefined) {\r\n setValue(newValue); // set the new value\r\n } else {\r\n setValue(resolvedValue || \"\"); // set the new value\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n {props.errorText &&

{props.errorText}

}\r\n
\r\n )\r\n}\r\n\r\nexport default InputWithLabel","import React, { Component } from \"react\";\r\nimport RegistrationForm from \"../RegistrationForm/RegistrationForm\";\r\nimport regbanner from \"../../../assets/icons/regBanner.jpeg\";\r\nimport { parseQuery } from \"../../Services/globalService\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport \"./RegistrationHome.scss\";\r\nimport { RouteChildrenProps } from \"react-router-dom\";\r\n\r\nclass Registration extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.init();\r\n }\r\n\r\n init = () => {\r\n let queryObject = parseQuery(this.props.location.search);\r\n if (\r\n queryObject &&\r\n queryObject.utm_source &&\r\n queryObject.utm_source.toUpperCase() === \"LEADFORDSA\"\r\n )\r\n GlobalStore.leadForDsa = true;\r\n\r\n this.setUTMParams(queryObject);\r\n\r\n if (\r\n typeof queryObject.refno !== \"undefined\" &&\r\n queryObject.refno &&\r\n queryObject.refno !== \"\"\r\n )\r\n if (\r\n typeof queryObject.applicationid !== \"undefined\" &&\r\n queryObject.applicationid &&\r\n queryObject.applicationid !== \"\"\r\n ) {\r\n // this.getClientDetails(queryObject.refno.replace(\" \", '+'));\r\n // if (typeof (queryObject.type) !== \"undefined\" && queryObject.type && queryObject.type === \"resume\")\r\n // this.getRedisDocumentDetails(queryObject.applicationid.replace(/ /g, \"+\"));\r\n // else\r\n // this.getClientDetAfterEsign(queryObject.applicationid.replace(/ /g, \"+\"));\r\n }\r\n // this.checkforSiteMaintainence(queryObject);\r\n this.onlyDematParam(queryObject);\r\n // GlobalStore.sessionId = guid()\r\n };\r\n\r\n setUTMParams = (queryObject: any) => {\r\n if (Object.keys(queryObject).length > 0) {\r\n let objUTM_Info = {\r\n modeofapplication: \"E\",\r\n utm_source: queryObject.utm_source,\r\n utm_medium: queryObject.utm_medium,\r\n utm_term: queryObject.utm_term,\r\n utm_creative: queryObject.utm_creative,\r\n utm_campaign: queryObject.utm_campaign,\r\n utm_adgroup: queryObject.utm_adgroup,\r\n utm_placement: queryObject.utm_placement,\r\n utm_device: queryObject.utm_device,\r\n utm_content: queryObject.utm_content,\r\n referralcode: \"\",\r\n couponcode: \"\",\r\n stageinfo: \"\",\r\n signupdropout: \"\",\r\n registrationdur: \"\",\r\n devicetype: \"\",\r\n clientip: \"\",\r\n diysource: \"W\",\r\n };\r\n const partner = this.props.match?.path === \"/partner\" ? true : false;\r\n window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify(objUTM_Info));\r\n window.sessionStorage.setItem(\"partner\", JSON.stringify(partner));\r\n } else {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (!utmObj && Object.keys(utmObj).length === 0) {\r\n let objUTM_Info = {\r\n modeofapplication: \"E\",\r\n utm_source: queryObject.utm_source,\r\n utm_medium: queryObject.utm_medium,\r\n utm_term: queryObject.utm_term,\r\n utm_creative: queryObject.utm_creative,\r\n utm_campaign: queryObject.utm_campaign,\r\n utm_adgroup: queryObject.utm_adgroup,\r\n utm_placement: queryObject.utm_placement,\r\n utm_device: queryObject.utm_device,\r\n utm_content: queryObject.utm_content,\r\n referralcode: \"\",\r\n couponcode: \"\",\r\n stageinfo: \"\",\r\n signupdropout: \"\",\r\n registrationdur: \"\",\r\n devicetype: \"\",\r\n clientip: \"\",\r\n diysource: \"W\",\r\n };\r\n window.sessionStorage.setItem(\r\n \"objUTM_Info\",\r\n JSON.stringify(objUTM_Info)\r\n );\r\n }\r\n }\r\n };\r\n\r\n // getClientDetails = (refNo: string) => {\r\n // var clientObj = {\r\n // clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // applicationId: refNo\r\n // };\r\n // window.sessionStorage.setItem('clientDetails', JSON.stringify(clientObj));\r\n // $http({\r\n // method: \"POST\",\r\n // url: config.baseUrl + \"/api/REST/GetClientDetails\",\r\n // headers: { \"Content-type\": \"application/json\" },\r\n // data: clientObj,\r\n // }).then(function (res) {\r\n // $scope.ClientDetails = JSON.parse(res.data);\r\n // $scope.kraLoader = false;\r\n // $window.sessionStorage.setItem(\"isEnabled\", true);\r\n // $('#panvarify').modal('hide');\r\n // if ($scope.ClientDetails.personal.length == 0) {\r\n // $state.go('personal-details');\r\n // $window.sessionStorage.setItem(\"isEnabled\", false);\r\n // } else if ($scope.ClientDetails.bank.length == 0) {\r\n // $state.go('bank-details');\r\n // } else if ($scope.ClientDetails.profile.length == 0 && $scope.ClientDetails.nominee.length == 0) {\r\n // $rootScope.personaldetails = {};\r\n // $rootScope.profileDetails = {};\r\n // $state.go('profile-details');\r\n // } else if ($scope.ClientDetails.brokeragesegment.length == 0) {\r\n // $state.go('brokerage-segment');\r\n // }\r\n // //else if ($scope.ClientDetails.documents.length == 0) {\r\n // else if ($scope.ClientDetails.documents.length > 1) { // '1' is given here, because user will have already uploaded aadhar from digilocker.\r\n // if ($scope.ClientDetails.registration[0].bpm_pd_status != 2) {\r\n // $rootScope.uploadedDocList = $scope.ClientDetails.documents;\r\n // if ($scope.ClientDetails.personal[0].corrsaddraspermanent)\r\n // $rootScope.isPermAddressProof = false;\r\n // else\r\n // $rootScope.isPermAddressProof = true;\r\n\r\n // for (i = 0; i < $scope.ClientDetails.documents.length; i++) {\r\n // if ($scope.ClientDetails.documents[i].documentid == 365 && $scope.ClientDetails.documents[i].documentcategoryid == 62) { // it means video ipv is done and uploaeded on ftp server\r\n // $rootScope.videoIpvStatus = true;\r\n // $state.go('documentVerification');\r\n // break;\r\n // }\r\n // $rootScope.videoIpvStatus = false;\r\n // $state.go('documents-upload');\r\n // }\r\n // } else\r\n // $state.go('documentVerification');\r\n // } else {\r\n // $state.go('documents-upload');\r\n // }\r\n // },\r\n // function (res) {\r\n // console.log(res);\r\n // errorMsg(\"errorcode: 106\");\r\n // });\r\n // }\r\n\r\n // getRedisDocumentDetails = (appId: any) => {\r\n\r\n // // let digiobj = {\r\n // // applicationId: appId\r\n // // };\r\n\r\n // // $http({\r\n // // method: \"POST\",\r\n // // url: config.baseUrl + \"/api/REST/RedisDigilockerDoc\",\r\n // // headers: { \"Content-type\": \"application/json\" },\r\n // // data: digiobj\r\n // // }).then(function (res) {\r\n // // if (res.data != 'No Data') {\r\n // // getProfileDetailsFromAadhar(res.data);\r\n // // $scope.digiStepsCompleted = true;\r\n // // } else {\r\n // // $scope.digiStepsCompleted = false;\r\n // // }\r\n // // getclientprimarydetailsId(appId);\r\n // // }, function (res) {\r\n // // errorMsg(\"errorcode: 108\");\r\n // // });\r\n // }\r\n\r\n // getClientDetAfterEsign = (appId: any) => {\r\n // // $scope.loader = true;\r\n // // let clientObj = {\r\n // // clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // // applicationId: appId\r\n // // };\r\n // // $http({\r\n // // method: \"POST\",\r\n // // url: config.baseUrl + \"/api/REST/GetClientDetails\",\r\n // // headers: { \"Content-type\": \"application/json\" },\r\n // // data: clientObj,\r\n // // }).then(function (res) {\r\n // // $scope.ClientDetails = JSON.parse(res.data);\r\n // // $scope.kraLoader = false;\r\n // // $('#panvarify').modal('hide');\r\n // // $window.sessionStorage.setItem(\"isEnabled\", true);\r\n // // $rootScope.personaldetails = {};\r\n // // $rootScope.personaldetails = angular.copy($scope.ClientDetails.personal[0]);\r\n // // $rootScope.personaldetails.pan = $scope.ClientDetails.profile[0].pan;\r\n\r\n // // $rootScope.personaldetails.firstname = $scope.ClientDetails.personal[0].holder_first_name;\r\n // // $rootScope.personaldetails.lastname = $scope.ClientDetails.personal[0].holder_last_name;\r\n // // $rootScope.personaldetails.middlename = $scope.ClientDetails.personal[0].holder_middle_name;\r\n\r\n // // $rootScope.SaveKYCResponse = {};\r\n // // $rootScope.SaveKYCResponse.ApplicationID = appId;\r\n\r\n // // if ($scope.ClientDetails.registration.length > 0) { $rootScope.personaldetails.mobile = $scope.ClientDetails.registration[0].mobileno; } // fetching mobile number when user clicks on continue.\r\n\r\n // // if ($scope.ClientDetails.personal.length > 0) {\r\n // // $rootScope.personaldetails.adrLine1 = $scope.ClientDetails.personal[0].correspondence_address_1 + $scope.ClientDetails.personal[0].correspondence_address_2 + $scope.ClientDetails.personal[0].correspondence_address_3;\r\n // // $rootScope.personaldetails.city = $scope.ClientDetails.personal[0].correspondance_city;\r\n // // $rootScope.personaldetails.state = $scope.ClientDetails.personal[0].correspondance_state;\r\n // // $rootScope.personaldetails.pincode = $scope.ClientDetails.personal[0].correspondance_pincode;\r\n // // }\r\n\r\n // // if ($scope.ClientDetails.esignurl.length > 0) {\r\n // // for (i = 0; i < $scope.ClientDetails.documents.length; i++) {\r\n // // if ($scope.ClientDetails.documents[i].documentid == 21 && $scope.ClientDetails.documents[i].documentcategoryid == 9) { // it means cheque leaf is submitted\r\n // // $rootScope.isChequeLeafSubmitted = true;\r\n // // }\r\n // // }\r\n // // if ($scope.ClientDetails.esignurl[0].esginstatus == \"PENDING\") {\r\n // // $state.go(\"documentVerification\");\r\n // // } else {\r\n // // $state.go(\"poascheduler\");\r\n // // }\r\n // // } else {\r\n // // $state.go(\"documentVerification\");\r\n // // }\r\n // // }, function (res) {\r\n // // console.log(res);\r\n // // errorMsg(\"errorcode: 106\");\r\n // // });\r\n // }\r\n\r\n // checkforSiteMaintainence = (queryObject: any) => {\r\n // $http({\r\n // method: \"GET\",\r\n // url: config.baseUrl + \"/api/REST/Diymaintainance\",\r\n // headers: { \"Content-type\": \"application/json\" }\r\n // }).then(function (res) {\r\n // var date = new Date();\r\n // if (typeof (res.data.data) != \"undefined\" && res.data.data.Status && res.data.data.DIY_Maintainance_From <= $filter('date')(new Date(), 'dd-MM-yyyy HH:mm:ss') &&\r\n // res.data.data.DIY_Maintainance_To >= $filter('date')(new Date(), 'dd-MM-yyyy HH:mm:ss')) {\r\n // $scope.maintainenceMsg = res.data.data.DIY_Maintainance_Msg;\r\n // $scope.isMaintainence = true;\r\n // } else {\r\n // $scope.isMaintainence = false;\r\n // if (typeof (queryObject.leadid) != \"undefined\" && typeof (queryObject.firstname) != \"undefined\" &&\r\n // typeof (queryObject.lastname) != \"undefined\" && typeof (queryObject.city) != \"undefined\" && typeof (queryObject.mobile) != \"undefined\" &&\r\n // typeof (queryObject.email) != \"undefined\") {\r\n\r\n // $rootScope.LeadID = queryObject.leadid;\r\n // $rootScope.details = {\r\n // firstname: queryObject.firstname,\r\n // lastname: queryObject.lastname,\r\n // city: queryObject.city,\r\n // mobile: queryObject.mobile,\r\n // emailId: queryObject.email,\r\n // };\r\n // $state.go('aadhaar');\r\n // return false;\r\n // }\r\n // if (!$rootScope.isPartialFilledClient && typeof ($location.search().refno) == \"undefined\" && typeof (queryObject.applicationid) == \"undefined\")\r\n // resumeAccountCreation();\r\n // }\r\n // }, function (res) {\r\n // console.log(res);\r\n // errorMsg(\"errorcode: 105\");\r\n // });\r\n // }\r\n\r\n onlyDematParam = (queryObject: any) => {\r\n let objAccType;\r\n if (Object.keys(queryObject).length !== 0)\r\n objAccType = queryObject.accType === \"DMT\" ? \"DMT\" : \"EQTY\";\r\n else objAccType = \"EQTY\";\r\n window.sessionStorage.setItem(\"objAccType\", objAccType);\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"banner\"\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Registration;\r\n","import { apiService } from \"../apiServices\";\r\nimport config from \"../../../config/domain\";\r\nimport servicesList from \"../serviceList\";\r\nimport { isGetAccessor } from \"typescript\";\r\n\r\nexport const APendingUploadList = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: applicationid,\r\n InputDataType: 1,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-pending-document-list\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const APendingApprovalList = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetDocumentDetails\",\r\n body: {\r\n ApplicationId: applicationid,\r\n InputDataType: 3,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDocumentDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-doc-status\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AValidateServicableCityPincode = (\r\n callback: CallableFunction,\r\n pincode: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/validate-servicable-city-pincode\",\r\n body: {\r\n Pincode: pincode,\r\n },\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AAgentDatesList = (callback: CallableFunction) => {\r\n apiService(\r\n {\r\n url: \"eco/date-for-agent-visit\",\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AAgentTimesList = (callback: CallableFunction) => {\r\n apiService(\r\n {\r\n url: \"eco/time-for-agent-visit\",\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ASaveAgentVisitDetails = (\r\n callback: CallableFunction,\r\n agentVisitObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/save-agent-visit-details\",\r\n body: agentVisitObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetAgentVisitDetails = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/get-agent-visit-details\",\r\n body: {\r\n applicationid: applicationid,\r\n },\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ACreateHelpTicket = (callback: CallableFunction, reqObj: any) => {\r\n apiService(\r\n {\r\n url: \"eco/create-help-ticket\",\r\n body: reqObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetEsignUrlDetails = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n esigndocumenttype: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetEsignLink\",\r\n body: {\r\n ApplicationId: applicationid,\r\n esigndocumenttype: esigndocumenttype,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getEsignLink,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-esign-link\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetClientAccountCode = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetAccountcodeData\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getAccountcodeData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-client-account-code\",\r\n // body: {\r\n // applicationId: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AValidatePoaServicableCityPincode = (\r\n callback: CallableFunction,\r\n pincode: string\r\n) => {\r\n apiService(\r\n {\r\n url: `eco/checkPincodeJavaMW?pincode=${pincode}`,\r\n method: \"GET\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ASavePoaDetails = (callback: CallableFunction, reqObj: any) => {\r\n apiService(\r\n {\r\n url: \"eco/SavePoaScheduleJavaMW\",\r\n body: reqObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ADownloadForm = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n isFullPdf: boolean\r\n) => {\r\n let body: any = {\r\n ApplicationId: applicationid,\r\n };\r\n if (isFullPdf) {\r\n body.EsignFlag = 1;\r\n }\r\n apiService(\r\n {\r\n url: \"DIYAPI/GenerateKYCPdf\",\r\n body: body,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.generateKYCPdf,\r\n },\r\n callback\r\n );\r\n // let url = isFullPdf ? \"saveKycFullFormJavaMW\" : \"DownLoadAndCourierJavaMW\";\r\n // apiService(\r\n // {\r\n // url: `eco/${url}?applicationId=${applicationid}`,\r\n // method: \"GET\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AUpdatePanAddharLinkStatus = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n ispanaadhaarlinked: boolean\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/UpdatePanAddharLinkStatus\",\r\n body: {\r\n ApplicationId: applicationid,\r\n ispanaadhaarlinked: ispanaadhaarlinked,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.updatePanAddharLinkStatus,\r\n },\r\n callback\r\n );\r\n};\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const ACheckClientProfilingData = (\r\n callback: CallableFunction,\r\n appID: string,\r\n sourceId: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetClientProfilingQuestion\",\r\n body: {\r\n ClientId: appID,\r\n SourceId: sourceId,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getClientProfilingDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/check-client-profiling-data\",\r\n // body: {\r\n // clientId: appID,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetClientProfilingQuestion = (\r\n callback: CallableFunction,\r\n appId: string,\r\n sourceId: string\r\n) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-client-profiling-question\",\r\n // method: \"GET\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetClientProfilingQuestion\",\r\n body: {\r\n ClientId: appId,\r\n SourceId: sourceId,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getClientProfilingQuestion,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ASaveClientProfilingQuestion = (\r\n callback: CallableFunction,\r\n appId: string,\r\n sourceId: string,\r\n saveQuestion: Array\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveClientProfilingQuestion\",\r\n body: {\r\n ClientId: appId,\r\n SourceId: sourceId,\r\n ListQuestionDetails: saveQuestion,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveClientProfilingQuestion,\r\n },\r\n callback\r\n );\r\n\r\n // apiService(\r\n // {\r\n // url: \"eco/save-client-profiling-question\",\r\n // body: saveQuestion,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n","import React from 'react'\r\nimport './NavBarTile.scss'\r\nimport Loader from '../../../UI/Loader/Loader'\r\n\r\nexport interface NavBarTileProps {\r\n name: string;\r\n time: any;\r\n isActive: boolean;\r\n isComplete: boolean;\r\n navUrl: string;\r\n logo: string;\r\n logoNew?:string;\r\n isClickable?: boolean,\r\n isLoading?: boolean\r\n onNavTileClick: () => void\r\n}\r\n\r\nconst NavBarTile: React.FC = (props) => {\r\n return (\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 props.isLoading ?\r\n \r\n :\r\n props.isComplete ?\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\nexport default NavBarTile;","export function compareValues(key: string, order: string = \"asc\") {\r\n\treturn function innerSort(a: any, b: any) {\r\n\t\tif (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {\r\n\t\t\t// property doesn't exist on either object\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tconst varA = isNaN(parseFloat(a[key])) ? a[key].toUpperCase() : parseFloat(a[key]);\r\n\t\tconst varB = isNaN(parseFloat(a[key])) ? b[key].toUpperCase() : parseFloat(b[key]);\r\n\r\n\t\tlet comparison = 0;\r\n\t\tif (varA > varB) {\r\n\t\t\tcomparison = 1;\r\n\t\t} else if (varA < varB) {\r\n\t\t\tcomparison = -1;\r\n\t\t}\r\n\t\treturn order === \"desc\" ? comparison * -1 : comparison;\r\n\t};\r\n}\r\n","import React from \"react\";\r\nimport NavBarTile from \"./NavBarTile/NavBarTile\";\r\nimport \"./ProfileNavBar.scss\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport { compareValues } from \"../../utils/sortingUtils\";\r\nimport {\r\n dashboardUrl,\r\n ILeftNavBarArray,\r\n ipvNavBarObj,\r\n leftNavBarArray,\r\n} from \"../../utils/constants\";\r\nimport { completeModuleStatus } from \"../../Services/globalService\";\r\n\r\nexport interface ProfileNavBarProps {\r\n isLoading?: boolean;\r\n}\r\n\r\nexport function checkModuleCompleteness(isUploadDocumentsCompleted: boolean) {\r\n if (GlobalStore.stageStatus.isaddressstagecompleted) {\r\n completeModuleStatus(dashboardUrl.personalIfo);\r\n }\r\n if (\r\n GlobalStore.stageStatus.isprofiledetailscompleted &&\r\n GlobalStore.stageStatus.ispersonaldetailscompleted\r\n )\r\n completeModuleStatus(dashboardUrl.profile);\r\n if (isUploadDocumentsCompleted) completeModuleStatus(dashboardUrl.doc);\r\n if (GlobalStore.stageStatus.isbankdetailscompleted)\r\n completeModuleStatus(dashboardUrl.bank);\r\n if (\r\n GlobalStore.stageStatus.isbrokeragesegmentcompleted &&\r\n GlobalStore.stageStatus.isbrokerageschemecompleted\r\n )\r\n completeModuleStatus(dashboardUrl.plan);\r\n if (GlobalStore.stageStatus.isipvarificationcompleted) {\r\n if (GlobalStore.leftNavBarState.length === leftNavBarArray.length)\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n completeModuleStatus(dashboardUrl.ipv);\r\n }\r\n if (GlobalStore.stageStatus.isesigncompleted)\r\n completeModuleStatus(dashboardUrl.eSign);\r\n}\r\n\r\nconst ProfileNavBar: React.FC = (props) => {\r\n const history = useHistory();\r\n const location = useLocation();\r\n const [urlPath, setUrlPath] = React.useState();\r\n const [leftNavBarState, setLeftNavBarState] = React.useState<\r\n ILeftNavBarArray[]\r\n >(GlobalStore.leftNavBarState);\r\n\r\n React.useEffect(() => {\r\n setLeftNavBarState(GlobalStore.leftNavBarState)\r\n if (DeviceContext().isDesktop) {\r\n setUrlPath(location.pathname);\r\n GlobalStore.dashboardActivetUrl = location.pathname;\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (GlobalStore.applicationID || clientPartialDetails_ao.applicationId) {\r\n if (\r\n GlobalStore.isKRA ||\r\n clientPartialDetails_ao.isKRA ||\r\n GlobalStore.isKYC ||\r\n clientPartialDetails_ao.isKYC ||\r\n GlobalStore.isDigiLocker ||\r\n clientPartialDetails_ao.isDigiLocker\r\n ) {\r\n const filteredLeftNavBar = GlobalStore.leftNavBarState.filter(\r\n (item) => item.name !== \"Personal Documents\"\r\n );\r\n if (filteredLeftNavBar && filteredLeftNavBar.length > 0) {\r\n setLeftNavBarState(filteredLeftNavBar);\r\n GlobalStore.leftNavBarState=filteredLeftNavBar\r\n }\r\n }\r\n }\r\n }, [location.pathname]);\r\n\r\n function onNavTileClick(navUrl: string, index: any) {\r\n const sidebarOptions = leftNavBarState.sort(compareValues(\"priority\"));\r\n if (\r\n index !== 0 &&\r\n sidebarOptions[index - 1] &&\r\n !sidebarOptions[index - 1][\"isComplete\"]\r\n ) {\r\n return false;\r\n }\r\n GlobalStore.dashboardActivetUrl = navUrl;\r\n setUrlPath(navUrl);\r\n history.push(navUrl);\r\n }\r\n console.log(GlobalStore.leftNavBarState, \"GlobalStore.leftNavBarState works\");\r\n console.log(leftNavBarState, \"state works\");\r\n\r\n return (\r\n
\r\n {leftNavBarState.sort(compareValues(\"priority\")).map((tile, index) => (\r\n onNavTileClick(tile.navUrl, index)}\r\n />\r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default ProfileNavBar;\r\n","import * as React from \"react\";\r\nimport \"./ESignForm.scss\";\r\nimport DocStatus from \"../DocStatus/DocStatus\";\r\nimport Button, { TransparentButton } from \"../../UI/Button/Button\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport ScheduleAgentVisit from \"../ScheduleAgentVisit/ScheduleAgentVisit\";\r\nimport {\r\n APendingUploadList,\r\n APendingApprovalList,\r\n AGetEsignUrlDetails,\r\n} from \"../../Services/dashboard/eSignApiServices\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { AGetUploadedDocument } from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { downloadForm } from \"../../POA/Poa\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { setStageData } from \"../../Services/globalService\";\r\nimport blueTick from \"../../../assets/icons/blueTick.svg\";\r\nimport EsignInfoMsg from \"../EsignInfoMsg/EsignInfoMsg\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport isSeeding from \"../../../assets/icons/seeding.png\";\r\nimport { AGetPanUtiData } from \"../../Services/registration/panDobApiService\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nexport interface ESignFormProps {}\r\nlet intervalTimer: any;\r\nconst ESignForm: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [errCode, setErrCode] = React.useState();\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [showResult, setShowResult] = React.useState(false);\r\n const [isPendingUpload, setIsPendingUpload] = React.useState(true);\r\n const [isPendingApproval, setIsPendingApproval] =\r\n React.useState(true);\r\n const [pendingUploadList, setPendingUploadList] = React.useState>(\r\n []\r\n );\r\n const [pendingApprovalList, setPendingApprovalList] = React.useState<\r\n Array\r\n >([]);\r\n const [showLink, setShowLink] = React.useState(true);\r\n const [esignCompleted, setEsignCompleted] = React.useState(false);\r\n const [seedingPopup, setSeedingPopup] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (GlobalStore.stageStatus.bpm_pd_status === 1) {\r\n setIsPendingUpload(false);\r\n setIsPendingApproval(false);\r\n setShowResult(true);\r\n setIsLoading(false);\r\n } else {\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n }\r\n\r\n return () => {\r\n clearInterval(intervalTimer);\r\n };\r\n }, []);\r\n\r\n function checkPendingUpload(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"\");\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR115\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data) {\r\n // let list: Array = JSON.parse(JSON.parse(res.data)).filter((item: any) => item.documentcategoryid !== 36 && item.documentcategoryid !== 30 && item.documentcategoryid !== 62);\r\n let list: Array = JSON.parse(res.data).filter(\r\n (item: any) =>\r\n // Prev api response\r\n // item.mandatory\r\n\r\n // Cureent Response\r\n item.Mandatory\r\n );\r\n if (list.length === 0) {\r\n setIsLoading(true);\r\n setIsPendingUpload(false);\r\n if (GlobalStore.stageStatus.bpm_pd_status === 0)\r\n AGetUploadedDocument(getUploadedDocList, GlobalStore.applicationID);\r\n if (GlobalStore.stageStatus.bpm_pd_status === 1) {\r\n setIsPendingUpload(false);\r\n setShowResult(true);\r\n setIsPendingApproval(false);\r\n setIsLoading(false);\r\n }\r\n if (\r\n GlobalStore.stageStatus.bpm_pd_status === 2 ||\r\n GlobalStore.stageStatus.bpm_pd_status === 3\r\n )\r\n APendingApprovalList(\r\n checkPendingApproval,\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n // const arr: Array<{\r\n // contenttype: string;\r\n // status: string;\r\n // documenttype: string;\r\n // }> = [];\r\n // for (let i = 0; i < list.length; i++) {\r\n // let obj: {\r\n // contenttype: string;\r\n // status: string;\r\n // documenttype: string;\r\n // } = {\r\n // contenttype: list[i].DocumentCategory,\r\n // status: \"Pending Approval\",\r\n // documenttype: list[i].DocumentName,\r\n // };\r\n // arr.push(obj);\r\n // }\r\n // setPendingApprovalList(arr);\r\n setPendingUploadList(list);\r\n setIsLoading(false);\r\n setShowResult(true);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function checkPendingApproval(res: any) {\r\n setIsLoading(false);\r\n if (!res || res.error) {\r\n setErrCode(\"\");\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR116\" });\r\n } else {\r\n if (res && res.data) {\r\n let list: Array = JSON.parse(res.data).filter(\r\n (item: any) => item.DocumentType\r\n );\r\n let showList: boolean = false;\r\n for (let i = 0; i < list.length; i++) {\r\n if (list[i].Status !== \"Approved\") {\r\n showList = true;\r\n break;\r\n }\r\n }\r\n if (showList) setPendingApprovalList(list);\r\n else setIsPendingApproval(false);\r\n setShowResult(true);\r\n }\r\n }\r\n }\r\n\r\n function checkPdStatus() {\r\n const timer = setInterval(() => {\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n }, 10000);\r\n intervalTimer = timer;\r\n }\r\n\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR119\",\r\n });\r\n } else if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n setStageData(responseObj);\r\n if (responseObj.bpm_pd_status === 1) {\r\n setIsPendingUpload(false);\r\n setShowResult(true);\r\n setIsPendingApproval(false);\r\n setIsLoading(false);\r\n clearInterval(intervalTimer);\r\n }\r\n if (\r\n responseObj.bpm_pd_status === 2 ||\r\n GlobalStore.stageStatus.bpm_pd_status === 3\r\n ) {\r\n APendingApprovalList(checkPendingApproval, GlobalStore.applicationID);\r\n clearInterval(intervalTimer);\r\n }\r\n if (responseObj.isesigncompleted === true) {\r\n setEsignCompleted(true);\r\n }\r\n }\r\n }\r\n\r\n function getUploadedDocList(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(\"\");\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR118\" });\r\n } else {\r\n const responseObj = JSON.parse(res.data);\r\n if (responseObj) {\r\n const list: Array = responseObj.filter(\r\n (item: any) => item.DocumentName\r\n );\r\n const arr: Array<{\r\n contenttype: string;\r\n status: string;\r\n documenttype: string;\r\n }> = [];\r\n for (let i = 0; i < list.length; i++) {\r\n let obj: {\r\n contenttype: string;\r\n status: string;\r\n documenttype: string;\r\n } = {\r\n contenttype: list[i].DocumentCategory,\r\n status: list[i].WsdlFlag,\r\n documenttype: list[i].DocumentName,\r\n };\r\n arr.push(obj);\r\n }\r\n setPendingApprovalList(arr);\r\n setShowResult(true);\r\n // checkPdStatus();\r\n } else {\r\n setErrCode(\"\");\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function esignSubmit() {\r\n //redirect to NSDL website for esign\r\n setIsLoading(true);\r\n window.alert(\"You will be redirected here after Completion of Esign\");\r\n AGetEsignUrlDetails(getEsignUrl, GlobalStore.applicationID, 1);\r\n }\r\n\r\n function getEsignUrl(res: any) {\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetEsignLink\", label: \"ERROR || ERR117\" });\r\n setIsLoading(false);\r\n } else {\r\n if (\r\n (res.data.Code == 200 || res.data.Code == 201) &&\r\n res.data.Data.EsignLink !== null\r\n ) {\r\n const encryptedUrl = res.data.Data.EsignLink;\r\n gtmService({ action: \"E_SIGN | E_SIGN\", label: \"Step_Complete\" });\r\n\r\n // Clevertap event while user choose for e-sign\r\n esignCleverTapEvent(true);\r\n // Clevertap ends\r\n\r\n const eSignCall = {\r\n applicationId: GlobalStore.applicationID,\r\n isESignSubmitted: true,\r\n };\r\n\r\n localStorage.setItem(\r\n \"isESignSubmitted\",\r\n btoa(JSON.stringify(eSignCall))\r\n );\r\n\r\n window.location.href = encryptedUrl;\r\n } else if (\r\n res.data.Data.FormValidationSummary[0].FormValidations &&\r\n res.data.Data.FormValidationSummary[0].FormValidations ===\r\n \"Aadhaar seeding is unsuccessful.\"\r\n ) {\r\n setSeedingPopup(true);\r\n setIsLoading(false);\r\n } else {\r\n var allErrorsString = \"\";\r\n if (res.data.Data.FormValidationSummary.length > 0) {\r\n res.data.Data.FormValidationSummary.forEach(\r\n (element: any, i: number) => {\r\n if (i === 0) allErrorsString = element.FormValidations;\r\n else allErrorsString += `, ${element.FormValidations}`;\r\n }\r\n );\r\n }\r\n console.log(\"Error from Esign api\", allErrorsString);\r\n setErrCode(res.data.Data.FormValidationSummary[0].FormValidations);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n // Clevertap event\r\n const esignCleverTapEvent = (isEsign: boolean) => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.eSignPage.CLICK_ON_ESIGN,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n IS_ESIGN: isEsign,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n\r\n // Apps flyer event for click on proceed on bank details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.eSignPage.CLICK_ON_ESIGN\r\n );\r\n };\r\n // Clevertap ends\r\n\r\n const reCheck = () => {\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n AGetPanUtiData(getSeedingData, clientPartialDetails_ao.pan);\r\n };\r\n\r\n // const getSeedingData = (res: any) => {\r\n // if (!res || res.error) {\r\n // // setErrCode(\"170 - Error in fetching Pan details from PAN UTI system.\");\r\n // console.log(res.errMsg);\r\n // setErrCode(res.error);\r\n // } else {\r\n // if (res.data) {\r\n // setIsLoading(false);\r\n // let responseObj = res.data.panDetails;\r\n // // if (!responseObj?.IsValid) {\r\n // // GlobalStore.isSeeding = false;\r\n // // setSeedingPopup(true);\r\n // // } else if (responseObj?.IsValid) {\r\n // // GlobalStore.isSeeding = true;\r\n // // setSeedingPopup(false);\r\n // // }\r\n // if (responseObj?.AadharSeedingStatus.includes(\"Aadhaar not Seeded\")) {\r\n // GlobalStore.isSeeding = false;\r\n // setSeedingPopup(true);\r\n // } else if (\r\n // responseObj?.AadharSeedingStatus.includes(\r\n // \"Aadhaar Seeding is Successful\"\r\n // )\r\n // ) {\r\n // GlobalStore.isSeeding = true;\r\n // setSeedingPopup(false);\r\n // }\r\n // }\r\n // }\r\n // };\r\n const getSeedingData = (res: any) => {\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR120\" });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n if (res.data.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n setSeedingPopup(true);\r\n } else if (\r\n res.data.IsAadharSeeded == \"Y\" ||\r\n res.data.IsAadharSeeded == \"NA\"\r\n ) {\r\n // } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n GlobalStore.isSeeding = true;\r\n setSeedingPopup(false);\r\n }\r\n }\r\n }\r\n };\r\n const navToLink = () => {\r\n window.open(\r\n \"https://eportal.incometax.gov.in/iec/foservices/#/pre-login/bl-link-aadhaar\",\r\n \"_blank\"\r\n );\r\n };\r\n return (\r\n <>\r\n {isPendingApproval &&\r\n pendingApprovalList.length > 0 &&\r\n pendingApprovalList.some((data: any) => data.status === \"PENDING\") && (\r\n
\r\n
Verification in progress
\r\n
{`It will take upto 30 mins on working days (between 9 AM to 6 PM). You can wait or we will update you when verified, by Email/Whatsapp.`}
\r\n
\r\n )}\r\n
\r\n \r\n {/* */}\r\n {/*
*/}\r\n {/* {DeviceContext().isMobile && } */}\r\n {/* \"isSeeding\"\r\n \r\n \r\n
\r\n
\r\n reCheck()}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
*/}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n {!isPendingUpload && showResult && (\r\n <>\r\n {/* */}\r\n {!isPendingApproval && (\r\n
\r\n \"ok\"\r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n )}\r\n {/* {!isPendingUpload && showResult && !isPendingApproval && (\r\n <>\r\n {GlobalStore.isDigiLocker ? (\r\n <>\r\n {showLink ? (\r\n {\r\n esignCleverTapEvent(false);\r\n setShowLink(false);\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 gtmService({\r\n action: 'E-SIGN | DOWNLOAD_&_COURIER',\r\n label: 'Step_Complete',\r\n });\r\n downloadForm(\r\n `Esign_${GlobalStore.applicationID}`,\r\n setIsLoading,\r\n setErrCode,\r\n true\r\n );\r\n }}\r\n isLoading={false}\r\n disabled={isPendingApproval}\r\n prefix={}\r\n />\r\n
\r\n
\r\n )}\r\n \r\n ) : (\r\n <>\r\n {showLink ? (\r\n {\r\n esignCleverTapEvent(false);\r\n setShowLink(false);\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\nexport default ESignForm;\r\n","import React from \"react\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport \"./WelcomeBack.scss\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { dashboardUrl, containerUrl, statusUrl } from \"../../utils/constants\";\r\nimport {\r\n clientPartialDetailsToStore,\r\n completeModuleStatus,\r\n updateUtmInfo,\r\n setStageData,\r\n} from \"../../Services/globalService\";\r\nimport { APendingUploadList } from \"../../Services/dashboard/eSignApiServices\";\r\nimport welcomeBack from \"../../../assets/icons/welcomeBack.jpg\";\r\nimport { ACheckClientProfilingData } from \"../../Services/dashboard/profilerApiServices\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport { AGetClientDetailsByLeadId } from \"../../Services/registration/panDobApiService\";\r\nimport config from \"../../../config/domain\";\r\n\r\nexport interface WelcomeBackProps {}\r\n\r\nconst WelcomeBack: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [clientName, setClientName] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState();\r\n const [isUploadDocumentsCompleted, setIsUploadDocumentsCompleted] =\r\n React.useState(false);\r\n const history = useHistory();\r\n\r\n React.useEffect(() => {\r\n if (Object.keys(clientPartialDetailsToStore()).length === 0) {\r\n history.push(containerUrl.registration);\r\n } else if (GlobalStore.isNormalClient && !GlobalStore.isPANVerified) {\r\n history.push(containerUrl.registration);\r\n } else {\r\n setIsLoading(true);\r\n if (\r\n GlobalStore.clientPrimaryDetailId === \"\" ||\r\n GlobalStore.clientPrimaryDetailId === \"0\" ||\r\n GlobalStore.clientPrimaryDetailId === null\r\n ) {\r\n console.log(\"Wrong clientPrimaryDetailId\");\r\n }\r\n AGetClientDetailsByLeadId(searchByLeadId, GlobalStore.leadId);\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\r\n const clientFullName =\r\n GlobalStore.personaldetails.PANName.toLowerCase() ||\r\n window.localStorage.getItem(\"clientName\");\r\n setClientName(\r\n clientFullName.replace(/(^\\w|\\s\\w)/g, (m: string) => m.toUpperCase()) ||\r\n \"\"\r\n );\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n }\r\n }, []);\r\n\r\n function searchByLeadId(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"119 - Error in fetching Client details from our system.\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data != null) {\r\n if (\r\n GlobalStore.personaldetails.pan.toUpperCase().trim() ===\r\n res.data.PAN.toUpperCase().trim()\r\n ) {\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n }\r\n } else {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function populateSavedData() {\r\n const panDetails = GlobalStore.personaldetails.panDetails;\r\n console.log(\"panDetails\", GlobalStore.personaldetails);\r\n if (typeof panDetails !== \"undefined\" && panDetails && panDetails !== \"\") {\r\n console.log(\"Line No 97 If call \");\r\n setIsLoading(true);\r\n updateUtmInfo(updateUtmDetails); // here updating utmcreative and content.\r\n\r\n ACheckClientProfilingData(\r\n getProfilerStatus,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n }\r\n }\r\n\r\n function getProfilerStatus(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"1231- Failed to fetch client profiling data.\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res.hasOwnProperty(\"data\")) {\r\n if (res.data === true) completeModuleStatus(dashboardUrl.profiler);\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n\r\n function updateUtmDetails(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(123);\r\n }\r\n }\r\n\r\n function checkPendingUpload(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n let resultObj = JSON.parse(res.data);\r\n let list: Array = resultObj.filter(\r\n (item: any) =>\r\n // prev api types\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // item.documentcategoryid !== 62\r\n // item.DocumentCategoryId !== 36 &&\r\n // item.DocumentCategoryId !== 30 &&\r\n // item.DocumentCategoryId !== 62\r\n item.Mandatory == true\r\n );\r\n if (list.length === 0 || list[0].count === 0)\r\n setIsUploadDocumentsCompleted(true);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function getClientStageDetails(res: any) {\r\n // console.log(\"AGetStageCompletionStatus\", res);\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n \r\n GlobalStore.personaldetails.fsfullName = GlobalStore.personaldetails\r\n .fsfullName\r\n ? GlobalStore.personaldetails.fsfullName\r\n : responseObj?.fatherspousename;\r\n //set stage api data to GlobalStore\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n console.log(clientPartialDetails_ao, \"clientPartialDetails_ao\");\r\n\r\n if (!clientPartialDetails_ao.mobile) {\r\n clientPartialDetails_ao.mobile = responseObj.mobileno;\r\n }\r\n\r\n if (!clientPartialDetails_ao.emailID) {\r\n clientPartialDetails_ao.emailID = responseObj.emailid;\r\n }\r\n if (responseObj?.fatherspousename!=null && responseObj?.fatherspousename!=undefined && responseObj?.fatherspousename!==\"\") {\r\n clientPartialDetails_ao.fsfullName =\r\n responseObj?.fatherspousename;\r\n }\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n checkModuleCompleteness(isUploadDocumentsCompleted);\r\n\r\n //route according to stage api response\r\n if (\r\n !responseObj.isdigilockercompleted &&\r\n GlobalStore.aadharLinkedChoice &&\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA\r\n ) {\r\n history.push(containerUrl.dgLocker);\r\n return;\r\n }\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n history.push(dashboardUrl.profile);\r\n return;\r\n }\r\n if (!responseObj.isbankdetailscompleted) {\r\n history.push(dashboardUrl.bank);\r\n return;\r\n }\r\n if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n ) {\r\n history.push(dashboardUrl.plan);\r\n return;\r\n }\r\n if (!isUploadDocumentsCompleted) {\r\n history.push(dashboardUrl.doc);\r\n return;\r\n }\r\n if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n ) {\r\n history.push(dashboardUrl.ipv);\r\n return;\r\n }\r\n if (responseObj.isagentvisitcompleted) {\r\n history.push(containerUrl.ocv);\r\n return;\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=e\");\r\n return;\r\n }\r\n if (responseObj.isesigncompleted && !responseObj.iskraesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=k\");\r\n return;\r\n }\r\n if (responseObj.bpm_pd_status === 0) {\r\n history.push(statusUrl.docVerificationInProgress);\r\n return;\r\n }\r\n if (responseObj.bpm_pd_status === 1) {\r\n history.push(containerUrl.poa);\r\n return;\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function newAccountRedirect() {\r\n GlobalStore.isPartialFilledClient = true;\r\n clientPartialDetailsToStore({ applicationID: \"\" });\r\n history.replace(containerUrl.registration);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \"Welcome\"\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\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\nexport default WelcomeBack;\r\n","import React from 'react';\r\nimport ProfileImage from '../../UI/ProfileImage/ProfileImage'\r\nimport './MailVerified.scss'\r\n\r\nconst MailVerified = () => (\r\n
\r\n
\r\n \r\n
\r\n

Verification Mail Sent

\r\n

We have sent a verification link to your email id a********@g***.com . Kindly check your inbox.

\r\n
\r\n)\r\n\r\nexport default MailVerified;","import React from 'react';\r\nimport ProfileImage from '../../UI/ProfileImage/ProfileImage'\r\nimport './NRI.scss'\r\n\r\nconst NRI = () => (\r\n
\r\n
\r\n \r\n
\r\n

Non Resident of India?

\r\n

Seems like you are a resident of United Kingdom. Someone from our team would be in touch with you shortly for opening account

\r\n

Back to Home

\r\n
\r\n)\r\n\r\nexport default NRI;","import React, { Component } from \"react\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport OtpField from \"../../UI/otpField/otpField\";\r\nimport OtpTimer from \"../../UI/OtpTimer/OtpTimer\";\r\nimport \"./OTP.scss\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { AValidateMobileOtp } from \"../../Services/registration/registrationApiService\";\r\nimport { IUserObj } from \"../../types/genericTypes\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\n\r\nexport interface IProps {}\r\nexport interface IState {\r\n otp: string;\r\n isResend: boolean;\r\n timer: number;\r\n reloadKey: any;\r\n user: IUserObj;\r\n}\r\nclass OTP extends Component {\r\n state = {\r\n otp: \"\",\r\n isResend: false,\r\n timer: 15,\r\n reloadKey: Math.random(),\r\n user: GlobalStore.user,\r\n };\r\n\r\n enableResend = () => {\r\n let resendTimer = setInterval(() => {\r\n let temp = this.state.timer - 1;\r\n if (temp === 0) {\r\n clearInterval(resendTimer);\r\n this.setState({ timer: 15, isResend: true });\r\n } else {\r\n this.setState({ timer: temp });\r\n }\r\n }, 1000);\r\n };\r\n\r\n componentDidMount() {\r\n this.enableResend();\r\n }\r\n\r\n setOtp = (value: any) => {\r\n this.setState({ otp: value });\r\n };\r\n\r\n resendClicked = () => {\r\n this.setState({ reloadKey: Math.random(), isResend: false });\r\n this.enableResend();\r\n };\r\n\r\n checkValidateOtp = (res: any) => {};\r\n\r\n validateOtp = () => {\r\n AValidateMobileOtp(\r\n this.checkValidateOtp,\r\n this.state.user.mobile.toString(),\r\n this.state.otp\r\n );\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Enter OTP

\r\n

\r\n We have sent you an OTP on your mobile no. ending 3462\r\n

\r\n
\r\n \r\n
\r\n {false && }\r\n {false && }\r\n
\r\n {this.state.isResend ? (\r\n
\r\n \r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {false && (\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\nexport default OTP;\r\n","import React from 'react';\r\nimport ProfileImage from '../../UI/ProfileImage/ProfileImage';\r\nimport Button from '../../UI/Button/Button'\r\nimport './AccExists.scss'\r\nimport { useHistory } from 'react-router-dom';\r\nimport { loginUrl, containerUrl } from '../../utils/constants';\r\nimport useDiffPan from '../../../assets/icons/useDiffPan.svg'\r\nimport gtmService from '../../Services/gtmService';\r\n\r\nexport interface AccExistsProps {\r\n}\r\n\r\nconst AccExists: React.FC = () => {\r\n\r\n const history = useHistory();\r\n\r\n return (\r\n
\r\n\r\n
\r\n \r\n useDiffPan\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 gtmService({ action: 'USE_DIFF_PAN', label: 'DIFF_PAN' });\r\n history.push(containerUrl.pan)\r\n }} />\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AccExists;","import React from \"react\";\r\nimport \"./Backdrop.scss\";\r\n// import 'cropperjs/dist/cropper.css';\r\nexport interface BackdropProps {\r\n children: any;\r\n isShow: boolean;\r\n isCloseIcon: boolean;\r\n onClose?: () => void;\r\n width?: string;\r\n}\r\n\r\nconst Backdrop: React.FC = (props) => {\r\n return (\r\n \r\n {props.isShow && (\r\n
\r\n
\r\n {props.isCloseIcon && (\r\n \r\n )}\r\n {props.children}\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport const FullBackdrop: React.FC = (props) => {\r\n return (\r\n \r\n {props.isShow && (\r\n
\r\n
\r\n {props.isCloseIcon && (\r\n \r\n )}\r\n {props.children}\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\nexport default Backdrop;\r\n","import React from 'react';\r\nimport './ProgressBar.scss'\r\n\r\nexport interface ProgressBarProps {\r\n percent: string;\r\n width: string;\r\n height: string;\r\n isBlueColor?: boolean;\r\n}\r\n\r\nconst ProgressBar: React.FC = (props) => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ProgressBar;","import React from \"react\";\r\nimport \"./DocumentBrowse.scss\";\r\nimport ErrMsg from \"../ErrMsg/ErrMsg\";\r\nimport ProgressBar from \"../ProgressBar/ProgressBar\";\r\nimport pngIcon from \"../../../assets/icons/png.png\";\r\nimport jpgIcon from \"../../../assets/icons/jpg.png\";\r\nimport pdfIcon from \"../../../assets/icons/pdf.png\";\r\nimport Backdrop from \"../Backdrop/Backdrop\";\r\nimport prevIcon from \"../../../assets/icons/eye.png\";\r\nimport cropIcon from \"../../../assets/icons/crop.png\";\r\nimport Cropper from \"react-cropper\";\r\nimport \"cropperjs/dist/cropper.css\";\r\nimport Button from \"../Button/Button\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport Loader from \"./../Loader/Loader\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\n\r\nexport interface DocDetailFormat {\r\n id: string;\r\n disable?: boolean;\r\n isImageOnly?: boolean;\r\n uploadPer: number;\r\n hideProgress: boolean;\r\n fileName: string;\r\n showFile: boolean;\r\n imgUrl: any;\r\n documentCategoryId?: string;\r\n documentId?: number;\r\n mimeType?: string;\r\n documentcategory?: string;\r\n base64?: string;\r\n iscropped?: boolean;\r\n isWatsappFlag?: boolean;\r\n}\r\nexport interface DocumentBrowseProps {\r\n id: string;\r\n docObj: DocDetailFormat;\r\n onDocUploadComplete?: (\r\n value: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => void;\r\n isRemove?: (docObj: DocDetailFormat) => void;\r\n removePanImg?: boolean;\r\n previewImageexternalClassName?: string;\r\n mandateRemove?: boolean;\r\n disableRemove?: boolean;\r\n}\r\n\r\nconst DocumentBrowse: React.FC = (props) => {\r\n const [cropper, setCropper] = React.useState();\r\n const [docErrorMsg, setDocErrorMsg] = React.useState(\"\");\r\n // const [prevImage, setPrevImage] = React.useState(props.docObj.imgUrl);\r\n const [prevImage, setPrevImage] = React.useState();\r\n const [loadingFlag, setLoadingFlag] = React.useState(\r\n props.docObj.showFile\r\n );\r\n const [docName, setDocName] = React.useState(props.docObj.fileName);\r\n // const [ext, setExt] = React.useState(props.docObj.mimeType === \"application/pdf\" ? \"PDF\" : \"\");\r\n const [ext, setExt] = React.useState(\"\");\r\n const isCroppingRef = React.useRef(null);\r\n const isPreviewRef = React.useRef(null);\r\n\r\n const minContainerWidth: number = DeviceContext().isMobile ? 300 : 500;\r\n const minContainerHeight: number = DeviceContext().isMobile ? 150 : 250;\r\n const minCanvasWidth: number = DeviceContext().isMobile ? 200 : 400;\r\n const minCanvasHeight: number = DeviceContext().isMobile ? 200 : 400;\r\n const minCropBoxWidth: number = DeviceContext().isMobile ? 100 : 100;\r\n const minCropBoxHeight: number = DeviceContext().isMobile ? 100 : 100;\r\n\r\n React.useEffect(() => {\r\n isPreviewRef.current!.hidden = true;\r\n isCroppingRef.current!.hidden = true;\r\n if (props.docObj.mimeType === \"application/pdf\") {\r\n setExt(\"PDF\");\r\n }\r\n }, []);\r\n React.useEffect(() => {\r\n setLoadingFlag(props.docObj.showFile);\r\n }, [props.docObj.showFile, props.docObj]);\r\n\r\n React.useEffect(() => {\r\n if (props.removePanImg) {\r\n console.log(\"props.removePanImg\", props.removePanImg);\r\n removeDoc();\r\n }\r\n }, [props.removePanImg]);\r\n\r\n function onFileUpload(event: React.ChangeEvent) {\r\n if(props?.disableRemove){\r\n\r\n }else{\r\n const elem = event.target;\r\n const file = elem.files && elem.files[0];\r\n if (file) {\r\n setDocName(file.name);\r\n }\r\n \r\n if (file && file.size > 5242880) {\r\n setDocErrorMsg(errorMsg(errorCode.FE12));\r\n return;\r\n }\r\n if (file && file.name.split(\".\").length === 2) {\r\n let extensions = file.name.split(\".\");\r\n if (props.docObj.documentId === 305) {\r\n if (file.size > 1048576) {\r\n setDocErrorMsg(errorMsg(errorCode.FE47));\r\n return;\r\n } else if (extensions[1].toUpperCase() === \"PDF\") {\r\n setDocErrorMsg(errorMsg(errorCode.FE13));\r\n return;\r\n }\r\n }\r\n if (\r\n extensions[1].toUpperCase() === \"JPG\" ||\r\n extensions[1].toUpperCase() === \"JPEG\" ||\r\n extensions[1].toUpperCase() === \"PDF\"\r\n ) {\r\n setExt(extensions[1].toUpperCase());\r\n \r\n if (elem.files && elem.files[0]) {\r\n setDocErrorMsg(\"\");\r\n let data = new FormData();\r\n data.append(\"file\", elem.files[0]);\r\n const reader = new FileReader();\r\n setLoadingFlag(true);\r\n \r\n reader.onload = function (e) {\r\n const images = (e.target && e.target.result)?.toString();\r\n if (images) {\r\n setPrevImage(images);\r\n }\r\n setLoadingFlag(false);\r\n props.onDocUploadComplete &&\r\n props.onDocUploadComplete(images, file.name, props.id, file.type);\r\n };\r\n reader.readAsDataURL(elem.files[0]);\r\n }\r\n } else {\r\n if (props.docObj.id !== \"signature\") {\r\n setDocErrorMsg(errorMsg(errorCode.FE14));\r\n } else {\r\n setDocErrorMsg(errorMsg(errorCode.FE13));\r\n }\r\n return;\r\n }\r\n } else {\r\n setDocErrorMsg(errorMsg(errorCode.FE15));\r\n return;\r\n }\r\n // if (props.id === 'signature' || file.name.split(\".\")[1].toUpperCase() === \"JPG\" || file.name.split(\".\")[1].toUpperCase() === \"JPEG\") {\r\n // handleCropping(file.type);\r\n // }\r\n if (props.id === \"signature\") {\r\n handleCropping(file.type);\r\n }\r\n }\r\n }\r\n \r\n\r\n const removeDoc = () => {\r\n setLoadingFlag(true);\r\n // let updateProps = {...props};\r\n props.docObj.uploadPer = 0;\r\n props.isRemove && props.isRemove(props.docObj);\r\n // setPrevImage(undefined);\r\n // setExt(\"\");\r\n // props.docObj.hideProgress = true;\r\n };\r\n\r\n const closeSample = (props: any) => {\r\n isPreviewRef.current!.hidden = true;\r\n isCroppingRef.current!.hidden = true;\r\n };\r\n\r\n const handleCropping = (mimetype?: string) => {\r\n // if (mimetype === \"application/pdf\" || (!mimetype && props.docObj.mimeType === \"application/pdf\")) {\r\n if (props.id !== \"signature\") {\r\n isPreviewRef.current!.hidden = false;\r\n isCroppingRef.current!.hidden = true;\r\n } else {\r\n isPreviewRef.current!.hidden = true;\r\n // isCroppingRef.current!.hidden = false;\r\n }\r\n };\r\n\r\n const getCropData = () => {\r\n if (typeof cropper !== \"undefined\") {\r\n setPrevImage(cropper.getCroppedCanvas().toDataURL(props.docObj.mimeType));\r\n props.docObj.iscropped = true;\r\n props.docObj.base64 = cropper\r\n .getCroppedCanvas()\r\n .toDataURL(props.docObj.mimeType);\r\n saveCroppedImage();\r\n }\r\n };\r\n\r\n const saveCroppedImage = () => {\r\n props.docObj.imgUrl = prevImage;\r\n if (prevImage !== undefined) {\r\n const cropImgtype = prevImage.substring(\r\n \"data:image/\".length,\r\n prevImage.indexOf(\";base64\")\r\n );\r\n // props.onDocUploadComplete && props.onDocUploadComplete(cropper.getCroppedCanvas().toDataURL(), props.docObj.fileName, props.id, cropImgtype);\r\n props.onDocUploadComplete &&\r\n props.onDocUploadComplete(\r\n prevImage,\r\n props.docObj.fileName,\r\n props.id,\r\n cropImgtype\r\n );\r\n isPreviewRef.current!.hidden = true;\r\n isCroppingRef.current!.hidden = true;\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n closeSample(props)}\r\n >\r\n <>\r\n {ext === \"PDF\" ? (\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n
\r\n closeSample(props)}\r\n >\r\n
\r\n {prevImage || props.docObj.imgUrl ? (\r\n {\r\n setCropper(instance);\r\n }}\r\n />\r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n\r\n {loadingFlag ? (\r\n \r\n \r\n \r\n
\r\n {props.id === \"signature\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n {props.docObj.uploadPer !== 100 ? (\r\n (ext === \"PDF\" && \"\") ||\r\n (ext === \"JPG\" && (\r\n handleCropping()} alt=\"\" />\r\n ))\r\n ) : (\r\n
handleCropping()}>\r\n {ext === \"PDF\" ||\r\n props.docObj.mimeType === \"application/pdf\" ? (\r\n \"\"\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n {props.id !== \"signature\" ? (\r\n \"prevImg\"\r\n ) : (\r\n \"prevImg\"\r\n )}\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n {props.docObj.hideProgress && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n {(!props.docObj.disable || props.mandateRemove) && (\r\n {\r\n if (props?.disableRemove) {\r\n } else {\r\n removeDoc();\r\n }\r\n }}\r\n >\r\n \r\n
\r\n
\r\n )}\r\n
\r\n \r\n )}\r\n {/* Error Msg Start*/}\r\n {docErrorMsg && (\r\n
\r\n \r\n {typeof docErrorMsg === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n \r\n );\r\n};\r\n\r\nexport default DocumentBrowse;\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const AGetIpvOtp = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetIPVOTP\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getIPVOTP,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ivp-otp\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AUploadIpv = (callback: CallableFunction, uploadObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/UploadIPVMerge\",\r\n body: {\r\n ClientPrimaryDetailId: uploadObj.clientprimarydetailid,\r\n ApplicationId: uploadObj.applicationid,\r\n LeadId: uploadObj.leadid,\r\n ImageName: uploadObj.imageName,\r\n Image: uploadObj.image,\r\n ContentType: uploadObj.contentType,\r\n PanNo: uploadObj.panno,\r\n IsUpload: 1,\r\n UtmInfoDetails: uploadObj,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.uploadIPVMerge,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/UploadIPVMerge\",\r\n // body: uploadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AUploadIpvSafari = (\r\n callback: CallableFunction,\r\n uploadObj: any\r\n) => {\r\n console.log(\"AUploadIpvSafari called\");\r\n\r\n apiService(\r\n {\r\n url: \"DIYAPI/ImagetoVideoIpv\",\r\n body: {\r\n ClientPrimaryDetailId: uploadObj.clientprimarydetailid,\r\n ApplicationId: uploadObj.applicationid,\r\n LeadId: uploadObj.leadid,\r\n ContentType: uploadObj.contentType,\r\n PanNo: uploadObj.panno,\r\n image64: uploadObj.image64,\r\n Width: uploadObj.width,\r\n Height: uploadObj.height,\r\n IsUpload: 1,\r\n UtmInfoDetails: \"\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.imagetoVideoIpv,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/ImagetoVideoIpv\",\r\n // body: uploadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASendSms = (callback: CallableFunction, uploadObj: any) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SelfieLink\",\r\n body: {\r\n MobNo: uploadObj.mobNo,\r\n SelfieLink: uploadObj.selfieLinkText,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.selfieLink,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/selfielink\",\r\n // body: uploadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const ASaveIPVerificationDetails = (\r\n callback: CallableFunction,\r\n uploadObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveIpverificationDetailsVer1\",\r\n body: {\r\n LeadId: uploadObj.leadid,\r\n ClientPrimaryDetailId: uploadObj.clientprimarydetailid,\r\n ApplicationId: uploadObj.applicationid,\r\n PlaceOfDeclaration: uploadObj.placeofDeclaration,\r\n EmpName: uploadObj.empName,\r\n Designation: uploadObj.designation,\r\n Branch: uploadObj.branch,\r\n EmpCode: uploadObj.empCode,\r\n Organization: uploadObj.organization,\r\n OrganizationCode: uploadObj.organizationCode,\r\n GeoLocation: uploadObj.geo_location,\r\n IpAddress: uploadObj.ipaddress,\r\n Is_AllDocUploaded: true,\r\n IpvLink: uploadObj.ipvlink ? uploadObj.ipvlink : \"\",\r\n latitude: uploadObj.latitude,\r\n longitude: uploadObj.longitude,\r\n source:uploadObj.source\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveIpverificationDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-ipverification-details\",\r\n // body: uploadObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport { geoLocationConfig } from \"../components/utils/constants\";\r\n\r\nconst useGeoLocation = () => {\r\n const [location, setLocation] = useState({\r\n loaded: false,\r\n coordinates: { lat: \"\", lng: \"\" },\r\n error: false,\r\n });\r\n\r\n const onSuccess = (location) => {\r\n setLocation({\r\n loaded: true,\r\n coordinates: {\r\n lat: location.coords.latitude,\r\n lng: location.coords.longitude,\r\n },\r\n error: false,\r\n });\r\n };\r\n\r\n const onError = (error) => {\r\n setLocation({\r\n loaded: true,\r\n coordinates: { lat: \"\", lng: \"\" },\r\n error,\r\n error: true,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (!(\"geolocation\" in navigator)) {\r\n onError({\r\n code: 0,\r\n message: \"Geolocation not supported\",\r\n });\r\n }\r\n\r\n navigator.geolocation.getCurrentPosition(onSuccess, onError, {\r\n timeout: geoLocationConfig.timeout,\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n });\r\n }, []);\r\n\r\n return location;\r\n};\r\n\r\nexport default useGeoLocation;\r\n","const nomineeDocIdsUAT = {\r\n nomineeOne: {\r\n photo: {\r\n documentId: 191,\r\n documentCategoryId: 19,\r\n },\r\n signature: {\r\n documentId: 623,\r\n documentCategoryId: 93,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 219,\r\n documentCategoryId: 23,\r\n },\r\n signature: {\r\n documentId: 382,\r\n documentCategoryId: 69,\r\n },\r\n },\r\n },\r\n nomineeTwo: {\r\n photo: {\r\n documentId: 501,\r\n documentCategoryId: 75,\r\n },\r\n signature: {\r\n documentId: 624,\r\n documentCategoryId: 94,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 561,\r\n documentCategoryId: 83,\r\n },\r\n signature: {\r\n documentId: 621,\r\n documentCategoryId: 91,\r\n },\r\n },\r\n },\r\n nomineeThree: {\r\n photo: {\r\n documentId: 531,\r\n documentCategoryId: 79,\r\n },\r\n signature: {\r\n documentId: 625,\r\n documentCategoryId: 95,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 591,\r\n documentCategoryId: 87,\r\n },\r\n signature: {\r\n documentId: 622,\r\n documentCategoryId: 92,\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst nomineeDocIdsPreprod = {\r\n nomineeOne: {\r\n photo: {\r\n documentId: 191,\r\n documentCategoryId: 19,\r\n },\r\n signature: {\r\n documentId: 623,\r\n documentCategoryId: 93,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 219,\r\n documentCategoryId: 23,\r\n },\r\n signature: {\r\n documentId: 382,\r\n documentCategoryId: 69,\r\n },\r\n },\r\n },\r\n nomineeTwo: {\r\n photo: {\r\n documentId: 501,\r\n documentCategoryId: 75,\r\n },\r\n signature: {\r\n documentId: 624,\r\n documentCategoryId: 94,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 561,\r\n documentCategoryId: 83,\r\n },\r\n signature: {\r\n documentId: 621,\r\n documentCategoryId: 91,\r\n },\r\n },\r\n },\r\n nomineeThree: {\r\n photo: {\r\n documentId: 531,\r\n documentCategoryId: 79,\r\n },\r\n signature: {\r\n documentId: 625,\r\n documentCategoryId: 95,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 591,\r\n documentCategoryId: 87,\r\n },\r\n signature: {\r\n documentId: 622,\r\n documentCategoryId: 92,\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst nomineeDocIdsProd = {\r\n nomineeOne: {\r\n photo: {\r\n documentId: 191,\r\n documentCategoryId: 19,\r\n },\r\n signature: {\r\n documentId: 623,\r\n documentCategoryId: 93,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 219,\r\n documentCategoryId: 23,\r\n },\r\n signature: {\r\n documentId: 382,\r\n documentCategoryId: 69,\r\n },\r\n },\r\n },\r\n nomineeTwo: {\r\n photo: {\r\n documentId: 501,\r\n documentCategoryId: 75,\r\n },\r\n signature: {\r\n documentId: 624,\r\n documentCategoryId: 94,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 561,\r\n documentCategoryId: 83,\r\n },\r\n signature: {\r\n documentId: 621,\r\n documentCategoryId: 91,\r\n },\r\n },\r\n },\r\n nomineeThree: {\r\n photo: {\r\n documentId: 531,\r\n documentCategoryId: 79,\r\n },\r\n signature: {\r\n documentId: 625,\r\n documentCategoryId: 95,\r\n },\r\n guardianDetails: {\r\n photo: {\r\n documentId: 591,\r\n documentCategoryId: 87,\r\n },\r\n signature: {\r\n documentId: 622,\r\n documentCategoryId: 92,\r\n },\r\n },\r\n },\r\n};\r\n\r\nconst nomineeDocsIds =\r\n process.env.REACT_APP_ENV === \"production\"\r\n ? nomineeDocIdsProd\r\n : process.env.REACT_APP_ENV === \"preprod\"\r\n ? nomineeDocIdsPreprod\r\n : nomineeDocIdsUAT;\r\n\r\nexport default nomineeDocsIds;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport \"./Selfie.scss\";\r\n\r\ninterface INewSelfie {\r\n callback: Function;\r\n onFailedToOpenSdk: Function;\r\n}\r\n\r\nconst NewSelfie = (props: INewSelfie) => {\r\n const [token, setToken] = useState(\"\");\r\n const [sdkData, setSdkData] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleSDKData = (data?: any) => {\r\n props?.callback(data);\r\n setSdkData(data);\r\n };\r\n\r\n const handleGetTokenAndSDKInit = () => {\r\n setLoading(true);\r\n\r\n const apiUrl =\r\n \"https://1d037ckgu4.execute-api.ap-south-1.amazonaws.com/default/nuvama-uat-token?RefId=124\";\r\n\r\n const requestOptions = {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n body: JSON.stringify({ RefId: \"1234\" }),\r\n };\r\n\r\n fetch(apiUrl, requestOptions)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setToken(data.Token);\r\n let token = data.Token;\r\n if ((window as any).AinxtSDK && !!token) {\r\n (window as any).AinxtSDK.Initialize(token, handleSDKData);\r\n } else {\r\n props?.onFailedToOpenSdk(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching token:\", error);\r\n props?.onFailedToOpenSdk(false);\r\n })\r\n .finally(() => {\r\n setLoading(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://d1qpv0waqdbwtx.cloudfront.net/FaceNuvSpec.js\";\r\n script.async = true;\r\n\r\n document.head.appendChild(script);\r\n\r\n return () => {\r\n document.head.removeChild(script);\r\n setSdkData(null);\r\n };\r\n }, []);\r\n\r\n return (\r\n
\r\n {!loading ? (\r\n <>\r\n {sdkData !== null && sdkData?.is_valid == \"1\" ? (\r\n
\r\n {\r\n setSdkData(null);\r\n handleGetTokenAndSDKInit();\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 {loading ? \"Loading...\" : \"Get Token & Initialize AinxtSDK\"}\r\n */}\r\n\r\n {/* {sdkData && (\r\n
\r\n

\r\n Data from SDK:\r\n

\r\n
\r\n            {JSON.stringify(sdkData, null, 2)}\r\n          
\r\n
\r\n )} */}\r\n
\r\n );\r\n};\r\n\r\nexport default NewSelfie;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport \"../../UI/DocumentBrowse/DocumentBrowse.scss\";\r\n\r\nimport Button, {\r\n SubmitButton,\r\n TransparentButton,\r\n} from \"../../UI/Button/Button\";\r\nimport \"./DocVerificationForm.scss\";\r\nimport watsAppIcon from \"../../../assets/icons/watsapp.png\";\r\nimport watsIcon from \"../../../assets/icons/Whatsapp_blue.png\";\r\nimport uploadIcon from \"../../../assets/icons/Upload _Blue.png\";\r\nimport {\r\n AGetDocumentList,\r\n AGetPendingDocument,\r\n AGetUploadedDocument,\r\n AGetDocStatus,\r\n ADownloadDocument,\r\n ASaveDocumentDetails,\r\n AextractPan,\r\n AextractCheque,\r\n AextractAadhaar,\r\n AextractPassport,\r\n AextractVoterid,\r\n AextractDl,\r\n Afacecompare,\r\n AgetPdf,\r\n AcreateApplicationTicket,\r\n AmaskAadhaar,\r\n AgetDocumentAutoQcDetails,\r\n AextractBankStatement,\r\n ACheckLocation,\r\n ACheckPhotoLiveness,\r\n} from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AUploadDocument } from \"../../Services/dashboard/brokerageServices\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport {\r\n aadhaarDocumnetId,\r\n firstChequeDocumnetId,\r\n secondChequeDocumnetId,\r\n thirdChequeDocumnetId,\r\n fourthChequeDocumnetId,\r\n fifthChequeDocumnetId,\r\n firstBankStatementDocumnetId,\r\n secondBankStatementDocumnetId,\r\n thirdBankStatementDocumnetId,\r\n fourthBankStatementDocumnetId,\r\n fifthBankStatementDocumnetId,\r\n DIY,\r\n dlDocumentId,\r\n panDocumentId,\r\n passportDocumnetId,\r\n voterIdDocumentId,\r\n dashboardUrl,\r\n corrAadhaarDocumnetId,\r\n corrPassportDocumnetId,\r\n corrVoterIdDocumentId,\r\n corrDlDocumentId,\r\n watsappNo,\r\n geoLocationConfig,\r\n photographId,\r\n DocumentCategoryIdForphotographId,\r\n signatureDocumentId,\r\n ipvNavBarObj,\r\n} from \"../../utils/constants\";\r\nimport {\r\n completeModuleStatus,\r\n utmDurationInfoObj,\r\n incompleteStageNavigation,\r\n} from \"../../Services/globalService\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport isSeeding from \"../../../assets/icons/seeding.png\";\r\nimport { AgetBeneficiaryName } from \"../../Services/dashboard/bankApiServices\";\r\nimport EdelLogoCenter from \"../../UI/EdelLogoCenter/EdelLogoCenter\";\r\nimport {\r\n AGetPanUtiData,\r\n APanLinkedWithAadhar,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport { error } from \"console\";\r\nimport { ASaveIPVerificationDetails } from \"../../Services/dashboard/ipvApiServices\";\r\nimport useGeoLocation from \"../../../customHooks/useGeoLocation\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport moment from \"moment\";\r\nimport nomineeDocsIds from \"../../../config/nomineeDocsId\";\r\n\r\n//import SignatureCanvas from \"react-signature-canvas\";\r\nimport prevIcon from \"../../../assets/icons/eye.png\";\r\nimport cropIcon from \"../../../assets/icons/crop.png\";\r\nimport NewSelfie from \"../../Selfie/NewSelfie\";\r\nimport { checkESignSubmitted } from \"../../utils/eSignSubmitHandler\";\r\nexport interface DocVerifcationFormProps {\r\n UTM_SOURCE: string;\r\n UTM_MEDIUM?: string;\r\n UTM_CAMPAIGN?: string;\r\n}\r\n\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\n\r\nexport interface uploadDocObj {\r\n applicationid: string;\r\n base64document: string;\r\n filename: string;\r\n}\r\n\r\nexport const initialDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: true,\r\n uploadPer: 0,\r\n hideProgress: false,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n isWatsappFlag: false,\r\n};\r\n\r\nexport const initialPanDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: false,\r\n uploadPer: 0,\r\n hideProgress: true,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n iscropped: false,\r\n isWatsappFlag: false,\r\n};\r\n\r\nconst DocVerifcationForm: React.FC = (props) => {\r\n const history = useHistory();\r\n\r\n const [captureSigPad, setCaptureSigPad] = React.useState(false);\r\n let sigPad: any = {};\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [uploadDocFlag, setUploadDocFlag] = useState(false);\r\n const [uploadVaiWatsAppFlag, setUploadViaWatsAppFlag] =\r\n useState(false);\r\n const [togPAN, setTogPAN] = useState(false);\r\n const [togFirstBank, setTogFirstBank] = useState(false);\r\n const [togSecondBank, setTogSecondBank] = useState(false);\r\n const [togThirdBank, setTogThirdBank] = useState(false);\r\n const [togFourthBank, setTogFourthBank] = useState(false);\r\n const [togFifthBank, setTogFifthBank] = useState(false);\r\n\r\n const [togPermAdd, setTogPermAdd] = useState(false);\r\n const [togCorrAdd, setTogCorrAdd] = useState(false);\r\n const [togSig, setTogSig] = useState(false);\r\n const [togIncome, setTogIncome] = useState(false);\r\n const [firstBankList, setFirstBankList] = useState([]);\r\n const [secondBankList, setSecondBankList] = useState([]);\r\n const [thirdBankList, setThirdBankList] = useState([]);\r\n const [fourthBankList, setFourthBankList] = useState([]);\r\n const [fifthBankList, setFifthBankList] = useState([]);\r\n const [permAddList, setPermAddList] = useState([]);\r\n const [corrAddList, setCorrAddList] = useState([]);\r\n const [incomeList, setIncomeList] = useState([]);\r\n const [secondDoc, setSecondDoc] = useState(false);\r\n const [corrSecondDoc, setCorrSecondDoc] = useState(false);\r\n const [pendingDocObj, setPendingDocObj] = useState();\r\n const [photoObj, setPhotoObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [panObj, setPanObj] = useState({\r\n ...initialPanDocObj,\r\n });\r\n const [firstBankObj, setFirstBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [secondBankObj, setSecondBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [thirdBankObj, setThirdBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [fourthBankObj, setFourthBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [fifthBankObj, setFifthBankObj] = useState({\r\n ...initialDocObj,\r\n });\r\n\r\n const [permSecondAddressObj, setPermSecondAddressObj] =\r\n useState({ ...initialPanDocObj });\r\n const [corrSecondAddressObj, setCorrSecondAddressObj] =\r\n useState({ ...initialPanDocObj });\r\n const [permAddressObj, setPermAddressObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [corrAddressObj, setCorrAddressObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [signatureObj, setSignatureObj] = useState({\r\n ...initialPanDocObj,\r\n });\r\n const [incomeObj, setIncomeObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [defaultAddress, setDefaultAddress] = useState(\"\");\r\n const [defaultCorrAddress, setDefaultCorrAddress] = useState(\"\");\r\n const [defaultFirstBankDoc, setDefaultFirstBankDoc] = useState(\"\");\r\n const [defaultSecondBankDoc, setDefaultSecondBankDoc] = useState(\"\");\r\n const [defaultThirdBankDoc, setDefaultThirdBankDoc] = useState(\"\");\r\n const [defaultFourthBankDoc, setDefaultFourthBankDoc] = useState(\"\");\r\n const [defaultFifthBankDoc, setDefaultFifthBankDoc] = useState(\"\");\r\n const [defaultIncomeDoc, setDefaultIncomeDoc] = useState(\"\");\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [showRetake, setShowRetake] = useState(false);\r\n const videoRefElement = React.useRef(null);\r\n const canvasRefElement = React.useRef(null);\r\n const uploadedPhotoRefElement = React.useRef(null);\r\n const [mediaRecorder, setMediaRecorder] = React.useState();\r\n const [turnOfCamera, setTurnOfCamera] = React.useState();\r\n const [showVidPerm, setShowVidPerm] = React.useState(false);\r\n\r\n const [autoQc, setAutoQc] = React.useState(false);\r\n const [photoBase64, setPhotoBase64] = React.useState(\"\");\r\n const [panBase64, setPanBase64] = React.useState(\"\");\r\n const [bankStage, setBankStage] = React.useState(false);\r\n const [anotherFile, setAnotherFile] = React.useState(false);\r\n const [corrAnotherFile, setCorrAnotherFile] = React.useState(false);\r\n const [panName, setPanName] = React.useState(\"\");\r\n const [firstBankName, setFirstBankName] = React.useState(\"\");\r\n const [secondBankName, setSecondBankName] = React.useState(\"\");\r\n const [thirdBankName, setThirdBankName] = React.useState(\"\");\r\n const [fourthBankName, setFourthBankName] = React.useState(\"\");\r\n const [fifthBankName, setFifthBankName] = React.useState(\"\");\r\n\r\n const [firstBankDetails, setFirstBankDetails] = React.useState(\"\");\r\n const [secondBankDetails, setSecondBankDetails] = React.useState(\"\");\r\n const [thirdBankDetails, setThirdBankDetails] = React.useState(\"\");\r\n const [fourthBankDetails, setFourthBankDetails] = React.useState(\"\");\r\n const [fifthBankDetails, setFifthBankDetails] = React.useState(\"\");\r\n\r\n const [addressName, setAddressName] = React.useState(\"\");\r\n const [corrAddressName, setCorrAddressName] = React.useState(\"\");\r\n const [signatureName, setSignatureName] = React.useState(\"\");\r\n const [incomeName, setIncomeName] = React.useState(\"\");\r\n const [isPhotoPendingFlag, setIsPhotoPendingFlag] =\r\n React.useState(false);\r\n\r\n const [isNewPhoto, setIsNewPhoto] = useState(false);\r\n const [isNewPan, setIsNewPan] = useState(false);\r\n const [isNewFirstBank, setIsNewFirstBank] = useState(false);\r\n const [isNewSecondBank, setIsNewSecondBank] = useState(false);\r\n const [isNewThirdBank, setIsNewThirdBank] = useState(false);\r\n const [isNewFourthBank, setIsNewFourthBank] = useState(false);\r\n const [isNewFifthBank, setIsNewFifthBank] = useState(false);\r\n\r\n const [isNewPermAddress, setIsNewPermAddress] = useState(false);\r\n const [isNewCorrAddress, setIsNewCorrAddress] = useState(false);\r\n const [isNewSignature, setIsNewSignature] = useState(false);\r\n const [isNewIncome, setIsNewIncome] = useState(false);\r\n const [loaderSign, setLoaderSign] = React.useState(false);\r\n const [showCorr, setShowCorr] = React.useState(false);\r\n const [isPanAndDobMatch, setIsPanAndDobMatch] = useState(true);\r\n const [seedingPopup, setSeedingPopup] = React.useState(\r\n !GlobalStore.isSeeding\r\n );\r\n const [regectedDocStatus, setRegectedDocStatus] = React.useState<\r\n Array\r\n >([{}]);\r\n const [aadharAddress, setAadharAddress] = React.useState(true);\r\n const [corrAadharAddress, setCorrAadharAddress] =\r\n React.useState(true);\r\n const [location, setLocation] = useState(\"\");\r\n const geoLoc: iGeoLocation = useGeoLocation();\r\n const [isGeoError, setIsGeoError] = React.useState(false);\r\n const [isGeoErrorTimeFlag, setIsGeoErrorTimeFlag] =\r\n React.useState(false);\r\n\r\n const [removePanImg, setRemovePanImg] = React.useState(false);\r\n const [isManual, setIsManual] = React.useState(false);\r\n\r\n let watchPositionId: number;\r\n\r\n //File specific error msg state\r\n\r\n const [panCardError, setPanCardError] = useState(\"\");\r\n const [firstBankListError, setFirstBankListError] = useState(\"\");\r\n const [secondBankListError, setSecondBankListError] = useState(\"\");\r\n const [thirdBankListError, setThirdBankListError] = useState(\"\");\r\n const [fourthBankListError, setFourthBankListError] = useState(\"\");\r\n const [fifthBankListError, setFifthBankListError] = useState(\"\");\r\n const [permAddListError, setPermAddListError] = useState(\"\");\r\n const [corrAddListError, setCorrAddListError] = useState(\"\");\r\n const [incomeListError, setIncomeListError] = useState(\"\");\r\n const [secondDocError, setSecondDocError] = useState(\"\");\r\n const [corrSecondDocError, setCorrSecondDocError] = useState(\"\");\r\n const [signatureListError, setSignatureListError] = useState(\"\");\r\n const [showBrowserPermissionModal, setsShowBrowserPermissionModal] =\r\n useState(false);\r\n const [isSdkSelfie, setIsSdkSelfie] = useState(true);\r\n const [browserPermission, setBrowserPermission] = useState(true);\r\n const [locationPermission, setLocationPermission] = useState(true);\r\n const [cameraPermission, setCameraPermission] = useState(true);\r\n // To check if a default permanent address is available for the application\r\n const [defaultPermAddressProof, setDefaultPermAddressProof] = useState(false);\r\n //permAddButDisable\r\n\r\n const [nomineeFirstObj, setNomineeFirstObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [nomineeSecondObj, setNomineeSecondObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [nomineeThirdObj, setNomineeThirdObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [guardianFirstObj, setGuardianFirstObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [guardianSecondObj, setGuardianSecondObj] = useState(\r\n [\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]\r\n );\r\n const [guardianThirdObj, setGuardianThirdObj] = useState([\r\n {\r\n ...initialDocObj,\r\n disable: false,\r\n },\r\n { ...initialDocObj, disable: false },\r\n ]);\r\n const [nomineeFirstList, setNomineeFirstList] = useState([]);\r\n const [nomineeSecondList, setNomineeSecondList] = useState([]);\r\n const [nomineeThirdList, setNomineeThirdList] = useState([]);\r\n const [guardianFirstList, setGuardianFirstList] = useState([]);\r\n const [guardianSecondList, setGuardianSecondList] = useState([]);\r\n const [guardianThirdList, setGuardianThirdList] = useState([]);\r\n const [nomineeGuardianTog, setNomineeGuardianTog] = useState({\r\n nomineeFirst: false,\r\n nomineeSecond: false,\r\n nomineeThree: false,\r\n guardianFirst: false,\r\n guardianSecond: false,\r\n guardianThird: false,\r\n });\r\n const [nomineeGuardianError, setNomineeGuardianError] = useState({\r\n nomFirstPhotoId: \"\",\r\n nomFirstSignature: \"\",\r\n nomSecondPhotoId: \"\",\r\n nomSecondSignature: \"\",\r\n nomThirdPhotoId: \"\",\r\n nomThirdSignature: \"\",\r\n guardianFirstPhotoId: \"\",\r\n guardianFirstSignature: \"\",\r\n guardianSecondPhotoId: \"\",\r\n guardianSecondSignature: \"\",\r\n guardianThirdPhotoId: \"\",\r\n guardianThirdSignature: \"\",\r\n });\r\n\r\n const [isNomineeGuardian, setIsNomineeGuardian] = useState({\r\n isNomFirstPhoto: false,\r\n isNomFirstSignature: false,\r\n isNomSecondPhoto: false,\r\n isNomSecondSignature: false,\r\n isNomThirdPhoto: false,\r\n isNomThirdSignature: false,\r\n isGuardianFirstPhoto: false,\r\n isGuardianFirstSignature: false,\r\n isGuardianSecondPhoto: false,\r\n isGuardianSecondSignature: false,\r\n isGuardianThirdPhoto: false,\r\n isGuardianThirdSignature: false,\r\n });\r\n\r\n const [nomineeDisable, setNomineeDisable] = useState(false);\r\n const [guardianDisable, setGuardianDisable] = useState(false);\r\n\r\n //permAddButDisable\r\n const [panCardImageFound, setPanCardImageFound] = useState(true);\r\n const [permAddButDisable, setPermAddButDisable] = useState(false);\r\n const [panButDisable, setPanButDisable] = useState(false);\r\n const [liveLocationCheck, setLiveLocationCheck] = useState({\r\n checkPhotoLiveness: false,\r\n checkLocation: false,\r\n });\r\n const [photoErrorMsg, setPhotoErrorMsg] = React.useState(\"\");\r\n\r\n const [blockAadhar, setBlockAadhar] = React.useState(false);\r\n const [checkLocationCalled, setCheckLocationCalled] =\r\n React.useState(false);\r\n\r\n const [ShowCanvas, setShowCanvas] = useState(true);\r\n\r\n let isPanLinkedToAadhar: boolean;\r\n\r\n React.useEffect(() => {\r\n // console.log(\"loca222\", GlobalStore.location);\r\n window.scrollTo(0, 0);\r\n if (GlobalStore.location) {\r\n setLocation(GlobalStore.location);\r\n } else {\r\n setTimeout(() => {\r\n navigator.geolocation.getCurrentPosition(saveLocation, errorLocation, {\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n timeout: geoLocationConfig.timeout,\r\n });\r\n setIsGeoErrorTimeFlag(true);\r\n }, geoLocationConfig.errorTimer);\r\n }\r\n\r\n // setIsLoading(true);\r\n AGetStageCompletionStatus(getClientStageDetails, GlobalStore.applicationID);\r\n // if kra Client to hide address logic\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.isKRA || clientPartialDetails_ao.isKRA\r\n ? setBlockAadhar(true)\r\n : setBlockAadhar(false);\r\n\r\n // turnOnCamera();\r\n // showPhotoPreview(false);\r\n uploadedPhotoRefElement.current!.hidden = true;\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (location && !checkLocationCalled && !isSdkSelfie) {\r\n GlobalStore.location = location;\r\n setIsGeoError(false);\r\n setIsGeoErrorTimeFlag(false);\r\n // const locationString;\r\n const locationObj = {\r\n lat: location.lat,\r\n lng: location.long,\r\n };\r\n ACheckLocation((res: any) => checkLocationRes(res), locationObj);\r\n }\r\n }, [location]);\r\n\r\n React.useEffect(() => {\r\n if (nomineeFirstList.length > 0) {\r\n let nomineeOne = [...nomineeFirstObj];\r\n for (let i = 0; i < nomineeOne.length; i++) {\r\n if (nomineeOne[i].imgUrl === \"\" || nomineeOne[i].fileName === \"\") {\r\n setNomineeDisable(true);\r\n break;\r\n } else {\r\n setNomineeDisable(false);\r\n }\r\n }\r\n }\r\n\r\n if (nomineeSecondList.length > 0) {\r\n let nomineeTwo = [...nomineeSecondObj];\r\n for (let i = 0; i < nomineeTwo.length; i++) {\r\n if (nomineeTwo[i].imgUrl === \"\" || nomineeTwo[i].fileName === \"\") {\r\n setNomineeDisable(true);\r\n break;\r\n } else {\r\n setNomineeDisable(false);\r\n }\r\n }\r\n }\r\n if (nomineeThirdList.length > 0) {\r\n let nomineeThree = [...nomineeThirdObj];\r\n for (let i = 0; i < nomineeThree.length; i++) {\r\n if (nomineeThree[i].imgUrl === \"\" || nomineeThree[i].fileName === \"\") {\r\n setNomineeDisable(true);\r\n break;\r\n } else {\r\n setNomineeDisable(false);\r\n }\r\n }\r\n }\r\n\r\n if (guardianFirstList.length > 0) {\r\n let guardianOne = [...guardianFirstObj];\r\n for (let i = 0; i < guardianOne.length; i++) {\r\n if (guardianOne[i].imgUrl === \"\" || guardianOne[i].fileName === \"\") {\r\n setGuardianDisable(true);\r\n break;\r\n } else {\r\n setGuardianDisable(false);\r\n }\r\n }\r\n }\r\n if (guardianSecondList.length > 0) {\r\n let guardianTwo = [...guardianSecondObj];\r\n for (let i = 0; i < guardianTwo.length; i++) {\r\n if (guardianTwo[i].imgUrl === \"\" || guardianTwo[i].fileName === \"\") {\r\n setGuardianDisable(true);\r\n break;\r\n } else {\r\n setGuardianDisable(false);\r\n }\r\n }\r\n }\r\n if (guardianThirdList.length > 0) {\r\n let guardianThree = [...guardianThirdObj];\r\n for (let i = 0; i < guardianThree.length; i++) {\r\n if (\r\n guardianThree[i].imgUrl === \"\" ||\r\n guardianThree[i].fileName === \"\"\r\n ) {\r\n setGuardianDisable(true);\r\n break;\r\n } else {\r\n setGuardianDisable(false);\r\n }\r\n }\r\n }\r\n }, [\r\n nomineeFirstList,\r\n nomineeSecondList,\r\n nomineeThirdList,\r\n guardianFirstList,\r\n guardianSecondList,\r\n guardianThirdList,\r\n nomineeFirstObj,\r\n nomineeSecondObj,\r\n nomineeThirdObj,\r\n guardianFirstObj,\r\n guardianSecondObj,\r\n guardianThirdObj,\r\n ]);\r\n\r\n React.useEffect(() => {\r\n console.log(\"UseEffect called\");\r\n if (!isSdkSelfie) {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n if (locationPermission === true && cameraPermission === true) {\r\n console.log(\"inside setter \");\r\n setBrowserPermission(true);\r\n setsShowBrowserPermissionModal(false);\r\n setIsGeoError(false);\r\n } else {\r\n console.log(\"inside setter else\");\r\n setBrowserPermission(false);\r\n setsShowBrowserPermissionModal(true);\r\n setIsGeoError(true);\r\n }\r\n }\r\n // getLocation();\r\n }, [geoLoc, locationPermission, cameraPermission, isSdkSelfie]);\r\n\r\n React.useEffect(() => {\r\n if (photoObj.imgUrl && !isSdkSelfie) {\r\n ACheckPhotoLiveness(\r\n (res: any) => getExtractPhotoLiveness(res),\r\n photoObj.imgUrl.split(\",\")[1],\r\n GlobalStore.leadId\r\n );\r\n }\r\n }, [photoObj, isSdkSelfie]);\r\n\r\n React.useEffect(() => {\r\n return () => {\r\n turnOfCamera && turnOfCamera.getVideoTracks()[0].stop();\r\n };\r\n }, [turnOfCamera]);\r\n\r\n const getLocation = () => {\r\n if (geoLoc.loaded && geoLoc.error == false) {\r\n console.log(\"I'm here-\", geoLoc);\r\n // setLocation(`${geoLoc.coordinates.lat}, ${geoLoc.coordinates.lng}`);\r\n setLocation({\r\n lat: geoLoc.coordinates.lat,\r\n long: geoLoc.coordinates.lng,\r\n });\r\n } else {\r\n if (navigator && navigator.geolocation) {\r\n console.log(\"I'm here in else-\", navigator);\r\n navigator.geolocation.getCurrentPosition(saveLocation, errorLocation, {\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n timeout: geoLocationConfig.timeout,\r\n });\r\n navigator.geolocation.getCurrentPosition(saveLocation);\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n } else {\r\n alert(\"Geo location is not supported by this browser\");\r\n }\r\n }\r\n };\r\n\r\n const errorLocation = (err: any) => {\r\n if (!location && !GlobalStore.location) {\r\n console.log(location, \"errorLoaction function log\");\r\n console.log(`ERROR(${err.code}): ${err.message}`);\r\n geoLoc.error = true;\r\n setIsLoading(true);\r\n setIsGeoError(true);\r\n // getLocation()\r\n }\r\n };\r\n\r\n const saveLocation = (position: { coords: any }) => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n // setLocation(`${position.coords.latitude}, ${position.coords.longitude}`);\r\n setLocation({\r\n lat: position.coords.latitude,\r\n long: position.coords.longitude,\r\n });\r\n geoLoc.coordinates.lat = position.coords.latitude;\r\n geoLoc.coordinates.lng = position.coords.longitude;\r\n geoLoc.error = false;\r\n setIsGeoError(false);\r\n setIsGeoErrorTimeFlag(false);\r\n setIsLoading(false);\r\n console.log(\"In saveLocation\", geoLoc);\r\n // GlobalStore.location = location;\r\n };\r\n\r\n function successPosition(data: any) {\r\n console.log(\"successPosition\");\r\n setIsLoading(false);\r\n setLocationPermission(true);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n // setLocation(`${data.coords.latitude}, ${data.coords.longitude}`);\r\n setLocation({\r\n lat: data.coords.latitude,\r\n long: data.coords.longitude,\r\n });\r\n navigator.geolocation.clearWatch(watchPositionId);\r\n // GlobalStore.location = location;\r\n }\r\n\r\n function errorPosition(data: any) {\r\n console.log(\"errorPosition\");\r\n setIsLoading(true);\r\n setLocationPermission(false);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n\r\n // if (!browserPermission) {\r\n // getLocation();\r\n // }\r\n }\r\n const checkLocationRes = (res: any) => {\r\n if (!res || res.error) {\r\n console.log(\"LIVE\", res);\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n if (errCode !== res.error) setErrCode(errCode ? errCode : \"\" + res.error);\r\n setIsLoading(false);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n gtmService({ action: \"CheckLocation\", label: \"ERROR || ERR999\" });\r\n } else {\r\n setCheckLocationCalled(true);\r\n if (res.data && res.data.LocationInIndia) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: false,\r\n });\r\n } else if (!res.data.LocationInIndia) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n if (errCode !== res.data.Message)\r\n setErrCode(errCode ? errCode : \"\" + res.data.Message);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"106- Failed to fetch stage completion data.\");\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR141\",\r\n });\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n if (GlobalStore.isKRA || responseObj.iskra) {\r\n permAddressObj.disable = true;\r\n setPermAddressObj(permAddressObj);\r\n setBlockAadhar(true);\r\n } else {\r\n setBlockAadhar(false);\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isKYC = responseObj.iskyc;\r\n clientPartialDetails_ao.isKRA = responseObj.iskra;\r\n\r\n setIsManual(clientPartialDetails_ao.isManual);\r\n clientPartialDetails_ao.isDigiLocker =\r\n responseObj.isdigilockercompleted;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n if (responseObj.isbankdetailscompleted) {\r\n setBankStage(true);\r\n } else {\r\n setBankStage(false);\r\n }\r\n\r\n if (responseObj.ispanlinkedwithaadhar === true) {\r\n GlobalStore.isSeeding = true;\r\n setSeedingPopup(false);\r\n } else if (responseObj.ispanlinkedwithaadhar === false) {\r\n GlobalStore.isSeeding = false;\r\n setSeedingPopup(true);\r\n }\r\n } else {\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR141-S\",\r\n });\r\n }\r\n }\r\n\r\n AGetDocumentList(getDocList, GlobalStore.applicationID); //2\r\n AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID); //4\r\n AGetPendingDocument(getPendingDoc, GlobalStore.applicationID); //1\r\n AGetDocStatus(getDocumentStatus, GlobalStore.applicationID); //3\r\n }\r\n\r\n function showPhotoPreview(showPhotoPreview: boolean) {\r\n videoRefElement.current!.hidden = showPhotoPreview;\r\n canvasRefElement.current!.hidden = !showPhotoPreview;\r\n }\r\n\r\n async function turnOnCamera() {\r\n getLocation();\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n function handleSuccess(turnOfCamera: MediaStream) {\r\n console.log(\"HANDLE success\", turnOfCamera);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setCameraPermission(true);\r\n setIsLoading(false);\r\n videoRefElement.current!.srcObject = turnOfCamera;\r\n setMediaRecorder(new MediaRecorder(turnOfCamera));\r\n setTurnOfCamera(turnOfCamera);\r\n setShowVidPerm(false);\r\n }\r\n\r\n function handleError(error: any) {\r\n console.log(\"HANDLE ERROR\", error);\r\n setIsLoading(true);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n setCameraPermission(false);\r\n console.log(\"handle error line end\");\r\n // if (!browserPermission) {\r\n // turnOnCamera();\r\n // }\r\n setShowVidPerm(true);\r\n }\r\n\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then(handleSuccess)\r\n .catch(handleError);\r\n }\r\n\r\n const getDocumentStatus = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"164- Failed to get the document status for the application.\");\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR125\" });\r\n } else {\r\n if (res.data) {\r\n const regectedDoc = JSON.parse(res.data).filter(\r\n (item: any) => item.Status === \"Rejected\"\r\n );\r\n setRegectedDocStatus(regectedDoc);\r\n } else {\r\n gtmService({\r\n action: \"GetDocumentDetails\",\r\n label: \"ERROR || ERR125-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getDocList = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR121\" });\r\n } else {\r\n if (res.data) {\r\n let listObj = JSON.parse(res.data);\r\n const photoData = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Photograph\"\r\n );\r\n const panData = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"PAN Card\"\r\n );\r\n const firstBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 9\r\n );\r\n const SecondBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 60\r\n );\r\n const thirdBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 61\r\n );\r\n const fourthBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 70\r\n );\r\n const fifthBankObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategoryId === 71\r\n );\r\n const corrAddObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Correspondence\"\r\n );\r\n const permAddObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Permanent\"\r\n );\r\n const incomeObjlist = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Income Proof\"\r\n );\r\n const signatureData = listObj.filter(\r\n (x: any) => x.DocumentCategory === \"Signature\"\r\n );\r\n\r\n const nomineeFirstList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.signature.documentCategoryId\r\n );\r\n const nomineeSecondList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.signature.documentCategoryId\r\n );\r\n const nomineeThirdList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.signature.documentCategoryId\r\n );\r\n const guardianFirstList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo\r\n .documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature\r\n .documentCategoryId\r\n );\r\n\r\n const guardianSecondList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo\r\n .documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature\r\n .documentCategoryId\r\n );\r\n const guardianThirdList = listObj.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo\r\n .documentCategoryId ||\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature\r\n .documentCategoryId\r\n );\r\n if (photoData.length) {\r\n let photoCopy = { ...photoObj };\r\n photoCopy.documentCategoryId = photoData[0].DocumentCategoryId;\r\n photoCopy.documentId = photoData[0].DocumentId;\r\n photoCopy.documentcategory = photoData[0].DocumentCategory;\r\n setPhotoObj(photoCopy);\r\n }\r\n\r\n if (panData.length) {\r\n let panCopy = { ...panObj };\r\n panCopy.documentCategoryId = panData[0].DocumentCategoryId;\r\n panCopy.documentId = panData[0].DocumentId;\r\n panCopy.documentcategory = panData[0].DocumentCategory;\r\n setPanObj(panCopy);\r\n }\r\n\r\n if (firstBankObjlist.length) {\r\n let firstBankCopy = { ...firstBankObj };\r\n firstBankCopy.documentCategoryId =\r\n firstBankObjlist[0].DocumentCategoryId;\r\n firstBankCopy.documentcategory = firstBankObjlist[0].DocumentCategory;\r\n setFirstBankObj(firstBankCopy);\r\n }\r\n\r\n if (SecondBankObjlist.length) {\r\n let secondBankCopy = { ...secondBankObj };\r\n secondBankCopy.documentCategoryId =\r\n SecondBankObjlist[0].DocumentCategoryId;\r\n secondBankCopy.documentcategory =\r\n SecondBankObjlist[0].DocumentCategory;\r\n setSecondBankObj(secondBankCopy);\r\n }\r\n\r\n if (thirdBankObjlist.length) {\r\n let thirdBankCopy = { ...thirdBankObj };\r\n thirdBankCopy.documentCategoryId =\r\n thirdBankObjlist[0].DocumentCategoryId;\r\n thirdBankCopy.documentcategory = thirdBankObjlist[0].DocumentCategory;\r\n setThirdBankObj(thirdBankCopy);\r\n }\r\n\r\n if (fourthBankObjlist.length) {\r\n let fourthBankCopy = { ...fourthBankObj };\r\n fourthBankCopy.documentCategoryId =\r\n fourthBankObjlist[0].DocumentCategoryId;\r\n fourthBankCopy.documentcategory =\r\n fourthBankObjlist[0].DocumentCategory;\r\n setFourthBankObj(fourthBankCopy);\r\n }\r\n\r\n if (fifthBankObjlist.length) {\r\n let fifthBankCopy = { ...fifthBankObj };\r\n fifthBankCopy.documentCategoryId =\r\n fifthBankObjlist[0].DocumentCategoryId;\r\n fifthBankCopy.documentcategory = fifthBankObjlist[0].DocumentCategory;\r\n setFifthBankObj(fifthBankCopy);\r\n }\r\n\r\n if (permAddObjlist.length) {\r\n let permAddressCopy = { ...permAddressObj };\r\n permAddressCopy.documentcategory = \"Address Proof Permanent\";\r\n permAddressCopy.documentCategoryId =\r\n permAddObjlist[0].DocumentCategoryId;\r\n setPermAddressObj(permAddressCopy);\r\n }\r\n\r\n if (corrAddObjlist.length) {\r\n let corrAddressCopy = { ...corrAddressObj };\r\n corrAddressCopy.documentcategory = \"Address Proof Correspondance\";\r\n corrAddressCopy.documentCategoryId =\r\n corrAddObjlist[0].DocumentCategoryId;\r\n setCorrAddressObj(corrAddressCopy);\r\n }\r\n\r\n if (signatureData.length) {\r\n let signatureCopy = { ...signatureObj };\r\n signatureCopy.documentcategory = \"Signature\";\r\n signatureCopy.documentCategoryId =\r\n signatureData[0].DocumentCategoryId;\r\n signatureCopy.documentId = signatureData[0].DocumentId;\r\n setSignatureObj(signatureCopy);\r\n }\r\n\r\n if (incomeObjlist.length) {\r\n let incomeCopy = { ...incomeObj };\r\n incomeCopy.documentcategory = \"Income Proof\";\r\n incomeCopy.documentCategoryId = incomeObjlist[0].DocumentCategoryId;\r\n incomeCopy.documentId = incomeObjlist[0].DocumentId;\r\n setIncomeObj(incomeCopy);\r\n }\r\n setErrCode(errCode);\r\n setFirstBankList(firstBankObjlist);\r\n setSecondBankList(SecondBankObjlist);\r\n setThirdBankList(thirdBankObjlist);\r\n setFourthBankList(fourthBankObjlist);\r\n setFifthBankList(fifthBankObjlist);\r\n setPermAddList(permAddObjlist);\r\n setCorrAddList(corrAddObjlist);\r\n setIncomeList(incomeObjlist);\r\n setNomineeFirstList(nomineeFirstList);\r\n setNomineeSecondList(nomineeSecondList);\r\n setNomineeThirdList(nomineeThirdList);\r\n setGuardianFirstList(guardianFirstList);\r\n setGuardianSecondList(guardianSecondList);\r\n setGuardianThirdList(guardianThirdList);\r\n } else {\r\n // setErrCode(164)\r\n gtmService({\r\n action: \"GetDocumentDetails\",\r\n label: \"ERROR || ERR121-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getUploadedDoc = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124\" });\r\n } else if (res.data) {\r\n const uplDoc = JSON.parse(res.data);\r\n const isPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategory === \"Photograph\" && x.DocumentId === photographId\r\n );\r\n\r\n const isPANCard = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"PAN Card\"\r\n );\r\n const isFirstBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 9\r\n );\r\n const isSecondBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 60\r\n );\r\n const isThirdBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 61\r\n );\r\n const isFourthBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 70\r\n );\r\n const isFifthBankDocument = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 71\r\n );\r\n const isCorrAddressProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Correspondence\"\r\n );\r\n const isPermAddressProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Permanent\"\r\n );\r\n const isSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategory === \"Signature\" &&\r\n x.DocumentId == signatureDocumentId\r\n );\r\n const isIncomeProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Income Proof\"\r\n );\r\n const isNomineeFirstPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId\r\n );\r\n const isNomineeFirstSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.signature.documentCategoryId\r\n );\r\n const isNomineeSecondPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId\r\n );\r\n const isNomineeSecondSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.signature.documentCategoryId\r\n );\r\n const isNomineeThirdPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId\r\n );\r\n const isNomineeThirdSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.signature.documentCategoryId\r\n );\r\n const isGuardianFirstPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentCategoryId\r\n );\r\n const isGuardianFirstSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentCategoryId\r\n );\r\n const isGuardianSecondPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentCategoryId\r\n );\r\n const isGuardianSecondSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentCategoryId\r\n );\r\n const isGuardianThirdPhoto = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentCategoryId\r\n );\r\n\r\n const isGuardianThirdSignature = uplDoc.filter(\r\n (x: any) =>\r\n x.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature\r\n .documentCategoryId\r\n );\r\n\r\n if (isNomineeFirstPhoto.length > 0) {\r\n setIsLoading(true);\r\n let nomineeFirstPhoto = [...nomineeFirstObj];\r\n nomineeFirstPhoto[0].id = \"photo\";\r\n nomineeFirstPhoto[0].disable = false;\r\n nomineeFirstPhoto[0].uploadPer = 100;\r\n nomineeFirstPhoto[0].fileName = isNomineeFirstPhoto[0].FileName;\r\n nomineeFirstPhoto[0].showFile = false;\r\n nomineeFirstPhoto[0].hideProgress = false;\r\n nomineeFirstPhoto[0].mimeType = isNomineeFirstPhoto[0].MimeType;\r\n nomineeFirstPhoto[0].documentCategoryId =\r\n isNomineeFirstPhoto[0].DocumentCategoryId;\r\n nomineeFirstPhoto[0].documentId = isNomineeFirstPhoto[0].DocumentId;\r\n nomineeFirstPhoto[0].documentcategory =\r\n isNomineeFirstPhoto[0].DocumentCategory;\r\n setNomineeFirstObj(nomineeFirstPhoto);\r\n ADownloadDocument(\r\n (res: any) => NomineeFirstImage(res, \"photo\"),\r\n isNomineeFirstPhoto[0].FileName,\r\n isNomineeFirstPhoto[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeFirstSignature.length > 0) {\r\n setIsLoading(true);\r\n let nomineeFirstSignature = [...nomineeFirstObj];\r\n\r\n nomineeFirstSignature[1].id = \"signature\";\r\n nomineeFirstSignature[1].disable = false;\r\n nomineeFirstSignature[1].uploadPer = 100;\r\n nomineeFirstSignature[1].fileName = isNomineeFirstSignature[0].FileName;\r\n nomineeFirstSignature[1].showFile = false;\r\n nomineeFirstSignature[1].hideProgress = false;\r\n nomineeFirstSignature[1].mimeType = isNomineeFirstSignature[0].MimeType;\r\n nomineeFirstSignature[1].documentCategoryId =\r\n isNomineeFirstSignature[0].DocumentCategoryId;\r\n nomineeFirstSignature[1].documentId =\r\n isNomineeFirstSignature[0].DocumentId;\r\n nomineeFirstSignature[1].documentcategory =\r\n isNomineeFirstSignature[0].DocumentCategory;\r\n setNomineeFirstObj(nomineeFirstSignature);\r\n ADownloadDocument(\r\n (res: any) => NomineeFirstImage(res, \"signature\"),\r\n isNomineeFirstSignature[0].FileName,\r\n isNomineeFirstSignature[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeSecondPhoto.length > 0) {\r\n setIsLoading(true);\r\n let nomineeSecondPhoto = [...nomineeSecondObj];\r\n\r\n nomineeSecondPhoto[0].id = \"photo\";\r\n nomineeSecondPhoto[0].disable = false;\r\n nomineeSecondPhoto[0].uploadPer = 100;\r\n nomineeSecondPhoto[0].fileName = isNomineeSecondPhoto[0].FileName;\r\n nomineeSecondPhoto[0].showFile = false;\r\n nomineeSecondPhoto[0].hideProgress = false;\r\n nomineeSecondPhoto[0].mimeType = isNomineeSecondPhoto[0].MimeType;\r\n nomineeSecondPhoto[0].documentCategoryId =\r\n isNomineeSecondPhoto[0].DocumentCategoryId;\r\n nomineeSecondPhoto[0].documentId = isNomineeSecondPhoto[0].DocumentId;\r\n nomineeSecondPhoto[0].documentcategory =\r\n isNomineeSecondPhoto[0].DocumentCategory;\r\n setNomineeSecondObj(nomineeSecondPhoto);\r\n ADownloadDocument(\r\n (res: any) => NomineeSecondImage(res, \"photo\"),\r\n isNomineeSecondPhoto[0].FileName,\r\n isNomineeSecondPhoto[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeSecondSignature.length > 0) {\r\n setIsLoading(true);\r\n let nomineeSecondSignature = [...nomineeSecondObj];\r\n\r\n nomineeSecondSignature[1].id = \"signature\";\r\n nomineeSecondSignature[1].disable = false;\r\n nomineeSecondSignature[1].uploadPer = 100;\r\n nomineeSecondSignature[1].fileName =\r\n isNomineeSecondSignature[0].FileName;\r\n nomineeSecondSignature[1].showFile = false;\r\n nomineeSecondSignature[1].hideProgress = false;\r\n nomineeSecondSignature[1].mimeType =\r\n isNomineeSecondSignature[0].MimeType;\r\n nomineeSecondSignature[1].documentCategoryId =\r\n isNomineeSecondSignature[0].DocumentCategoryId;\r\n nomineeSecondSignature[1].documentId =\r\n isNomineeSecondSignature[0].DocumentId;\r\n nomineeSecondSignature[1].documentcategory =\r\n isNomineeSecondSignature[0].DocumentCategory;\r\n setNomineeSecondObj(nomineeSecondSignature);\r\n ADownloadDocument(\r\n (res: any) => NomineeSecondImage(res, \"signature\"),\r\n isNomineeSecondSignature[0].FileName,\r\n isNomineeSecondSignature[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeThirdPhoto.length > 0) {\r\n setIsLoading(true);\r\n let nomineeThirdPhoto = [...nomineeThirdObj];\r\n\r\n nomineeThirdPhoto[0].id = \"photo\";\r\n nomineeThirdPhoto[0].disable = false;\r\n nomineeThirdPhoto[0].uploadPer = 100;\r\n nomineeThirdPhoto[0].fileName = isNomineeThirdPhoto[0].FileName;\r\n nomineeThirdPhoto[0].showFile = false;\r\n nomineeThirdPhoto[0].hideProgress = false;\r\n nomineeThirdPhoto[0].mimeType = isNomineeThirdPhoto[0].MimeType;\r\n nomineeThirdPhoto[0].documentCategoryId =\r\n isNomineeThirdPhoto[0].DocumentCategoryId;\r\n nomineeThirdPhoto[0].documentId = isNomineeThirdPhoto[0].DocumentId;\r\n nomineeThirdPhoto[0].documentcategory =\r\n isNomineeThirdPhoto[0].DocumentCategory;\r\n setNomineeThirdObj(nomineeThirdPhoto);\r\n ADownloadDocument(\r\n (res: any) => NomineeThirdImage(res, \"photo\"),\r\n isNomineeThirdPhoto[0].FileName,\r\n isNomineeThirdPhoto[0].UploadedDocPath\r\n );\r\n }\r\n if (isNomineeThirdSignature.length > 0) {\r\n setIsLoading(true);\r\n let nomineeThirdSignature = [...nomineeThirdObj];\r\n\r\n nomineeThirdSignature[1].id = \"signature\";\r\n nomineeThirdSignature[1].disable = false;\r\n nomineeThirdSignature[1].uploadPer = 100;\r\n nomineeThirdSignature[1].fileName = isNomineeThirdSignature[0].FileName;\r\n nomineeThirdSignature[1].showFile = false;\r\n nomineeThirdSignature[1].hideProgress = false;\r\n nomineeThirdSignature[1].mimeType = isNomineeThirdSignature[0].MimeType;\r\n nomineeThirdSignature[1].documentCategoryId =\r\n isNomineeThirdSignature[0].DocumentCategoryId;\r\n nomineeThirdSignature[1].documentId =\r\n isNomineeThirdSignature[0].DocumentId;\r\n nomineeThirdSignature[1].documentcategory =\r\n isNomineeThirdSignature[0].DocumentCategory;\r\n setNomineeThirdObj(nomineeThirdSignature);\r\n ADownloadDocument(\r\n (res: any) => NomineeThirdImage(res, \"signature\"),\r\n isNomineeThirdSignature[0].FileName,\r\n isNomineeThirdSignature[0].UploadedDocPath\r\n );\r\n }\r\n\r\n // guardian start\r\n if (isGuardianFirstPhoto.length > 0) {\r\n setIsLoading(true);\r\n let guardianFirstPhoto = [...guardianFirstObj];\r\n\r\n guardianFirstPhoto[0].id = \"photo\";\r\n guardianFirstPhoto[0].disable = false;\r\n guardianFirstPhoto[0].uploadPer = 100;\r\n guardianFirstPhoto[0].fileName = isGuardianFirstPhoto[0].FileName;\r\n guardianFirstPhoto[0].showFile = false;\r\n guardianFirstPhoto[0].hideProgress = false;\r\n guardianFirstPhoto[0].mimeType = isGuardianFirstPhoto[0].MimeType;\r\n guardianFirstPhoto[0].documentCategoryId =\r\n isGuardianFirstPhoto[0].DocumentCategoryId;\r\n guardianFirstPhoto[0].documentId = isGuardianFirstPhoto[0].DocumentId;\r\n guardianFirstPhoto[0].documentcategory =\r\n isGuardianFirstPhoto[0].DocumentCategory;\r\n setGuardianFirstObj(guardianFirstPhoto);\r\n ADownloadDocument(\r\n (res: any) => GuardianFirstImage(res, \"photo\"),\r\n isGuardianFirstPhoto[0].FileName,\r\n isGuardianFirstPhoto[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isGuardianFirstSignature.length > 0) {\r\n setIsLoading(true);\r\n let guardianFirstSignature = [...guardianFirstObj];\r\n\r\n guardianFirstSignature[1].id = \"signature\";\r\n guardianFirstSignature[1].disable = false;\r\n guardianFirstSignature[1].uploadPer = 100;\r\n guardianFirstSignature[1].fileName =\r\n isGuardianFirstSignature[0].FileName;\r\n guardianFirstSignature[1].showFile = false;\r\n guardianFirstSignature[1].hideProgress = false;\r\n guardianFirstSignature[1].mimeType =\r\n isGuardianFirstSignature[0].MimeType;\r\n guardianFirstSignature[1].documentCategoryId =\r\n isGuardianFirstSignature[0].DocumentCategoryId;\r\n guardianFirstSignature[1].documentId =\r\n isGuardianFirstSignature[0].DocumentId;\r\n guardianFirstSignature[1].documentcategory =\r\n isGuardianFirstSignature[0].DocumentCategory;\r\n setGuardianFirstObj(guardianFirstSignature);\r\n ADownloadDocument(\r\n (res: any) => GuardianFirstImage(res, \"signature\"),\r\n isGuardianFirstSignature[0].FileName,\r\n isGuardianFirstSignature[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isGuardianSecondPhoto.length > 0) {\r\n setIsLoading(true);\r\n let guardianSecondPhoto = [...guardianSecondObj];\r\n\r\n guardianSecondPhoto[0].id = \"photo\";\r\n guardianSecondPhoto[0].disable = false;\r\n guardianSecondPhoto[0].uploadPer = 100;\r\n guardianSecondPhoto[0].fileName = isGuardianSecondPhoto[0].FileName;\r\n guardianSecondPhoto[0].showFile = false;\r\n guardianSecondPhoto[0].hideProgress = false;\r\n guardianSecondPhoto[0].mimeType = isGuardianSecondPhoto[0].MimeType;\r\n guardianSecondPhoto[0].documentCategoryId =\r\n isGuardianSecondPhoto[0].DocumentCategoryId;\r\n guardianSecondPhoto[0].documentId = isGuardianSecondPhoto[0].DocumentId;\r\n guardianSecondPhoto[0].documentcategory =\r\n isGuardianSecondPhoto[0].DocumentCategory;\r\n setGuardianSecondObj(guardianSecondPhoto);\r\n ADownloadDocument(\r\n (res: any) => GuardianSecondImage(res, \"photo\"),\r\n isGuardianSecondPhoto[0].FileName,\r\n isGuardianSecondPhoto[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isGuardianSecondSignature.length > 0) {\r\n setIsLoading(true);\r\n let guardianSecondSignature = [...guardianSecondObj];\r\n\r\n guardianSecondSignature[1].id = \"signature\";\r\n guardianSecondSignature[1].disable = false;\r\n guardianSecondSignature[1].uploadPer = 100;\r\n guardianSecondSignature[1].fileName =\r\n isGuardianSecondSignature[0].FileName;\r\n guardianSecondSignature[1].showFile = false;\r\n guardianSecondSignature[1].hideProgress = false;\r\n guardianSecondSignature[1].mimeType =\r\n isGuardianSecondSignature[0].MimeType;\r\n guardianSecondSignature[1].documentCategoryId =\r\n isGuardianSecondSignature[0].DocumentCategoryId;\r\n guardianSecondSignature[1].documentId =\r\n isGuardianSecondSignature[0].DocumentId;\r\n guardianSecondSignature[1].documentcategory =\r\n isGuardianSecondSignature[0].DocumentCategory;\r\n setGuardianSecondObj(guardianSecondSignature);\r\n ADownloadDocument(\r\n (res: any) => GuardianSecondImage(res, \"signature\"),\r\n isGuardianSecondSignature[0].FileName,\r\n isGuardianSecondSignature[0].UploadedDocPath\r\n );\r\n }\r\n if (isGuardianThirdPhoto.length > 0) {\r\n setIsLoading(true);\r\n let guardianThirdPhoto = [...guardianThirdObj];\r\n\r\n guardianThirdPhoto[0].id = \"photo\";\r\n guardianThirdPhoto[0].disable = false;\r\n guardianThirdPhoto[0].uploadPer = 100;\r\n guardianThirdPhoto[0].fileName = isGuardianThirdPhoto[0].FileName;\r\n guardianThirdPhoto[0].showFile = false;\r\n guardianThirdPhoto[0].hideProgress = false;\r\n guardianThirdPhoto[0].mimeType = isGuardianThirdPhoto[0].MimeType;\r\n guardianThirdPhoto[0].documentCategoryId =\r\n isGuardianThirdPhoto[0].DocumentCategoryId;\r\n guardianThirdPhoto[0].documentId = isGuardianThirdPhoto[0].DocumentId;\r\n guardianThirdPhoto[0].documentcategory =\r\n isGuardianThirdPhoto[0].DocumentCategory;\r\n setGuardianThirdObj(guardianThirdPhoto);\r\n ADownloadDocument(\r\n (res: any) => GuardianThirdImage(res, \"photo\"),\r\n isGuardianThirdPhoto[0].FileName,\r\n isGuardianThirdPhoto[0].UploadedDocPath\r\n );\r\n }\r\n if (isGuardianThirdSignature.length > 0) {\r\n setIsLoading(true);\r\n let guardianThirdSignature = [...guardianThirdObj];\r\n\r\n guardianThirdSignature[1].id = \"signature\";\r\n guardianThirdSignature[1].disable = false;\r\n guardianThirdSignature[1].uploadPer = 100;\r\n guardianThirdSignature[1].fileName =\r\n isGuardianThirdSignature[0].FileName;\r\n guardianThirdSignature[1].showFile = false;\r\n guardianThirdSignature[1].hideProgress = false;\r\n guardianThirdSignature[1].mimeType =\r\n isGuardianThirdSignature[0].MimeType;\r\n guardianThirdSignature[1].documentCategoryId =\r\n isGuardianThirdSignature[0].DocumentCategoryId;\r\n guardianThirdSignature[1].documentId =\r\n isGuardianThirdSignature[0].DocumentId;\r\n guardianThirdSignature[1].documentcategory =\r\n isGuardianThirdSignature[0].DocumentCategory;\r\n setGuardianThirdObj(guardianThirdSignature);\r\n ADownloadDocument(\r\n (res: any) => GuardianThirdImage(res, \"signature\"),\r\n isGuardianThirdSignature[0].FileName,\r\n isGuardianThirdSignature[0].UploadedDocPath\r\n );\r\n }\r\n\r\n // guardian end\r\n if (isPhoto.length > 0) {\r\n setIsLoading(true);\r\n photoObj.id = \"photo\";\r\n photoObj.disable = false;\r\n photoObj.uploadPer = 100;\r\n photoObj.fileName = isPhoto[0].FileName;\r\n photoObj.showFile = false;\r\n photoObj.hideProgress = false;\r\n photoObj.mimeType = isPhoto[0].MimeType;\r\n photoObj.documentCategoryId = isPhoto[0].DocumentCategoryId;\r\n photoObj.documentId = isPhoto[0].DocumentId;\r\n photoObj.documentcategory = isPhoto[0].DocumentCategory;\r\n setPhotoObj(photoObj);\r\n ADownloadDocument(\r\n getPhotoImage,\r\n isPhoto[0].FileName,\r\n isPhoto[0].UploadedDocPath\r\n );\r\n }\r\n console.log(\"isPANCARD\", isPANCard);\r\n if (isPANCard.length > 0) {\r\n setIsLoading(true);\r\n panObj.id = \"panCard\";\r\n panObj.disable = false;\r\n panObj.uploadPer = 100;\r\n panObj.fileName = `${GlobalStore.applicationID}_Pan Card`;\r\n panObj.showFile = false;\r\n panObj.hideProgress = false;\r\n panObj.mimeType = isPANCard[0].MimeType;\r\n panObj.documentCategoryId = isPANCard[0].DocumentCategoryId;\r\n panObj.documentId = isPANCard[0].DocumentId;\r\n panObj.documentcategory = isPANCard[0].DocumentCategory;\r\n setPanObj(panObj);\r\n ADownloadDocument(\r\n getPanImage,\r\n isPANCard[0].FileName,\r\n isPANCard[0].UploadedDocPath\r\n );\r\n }\r\n if (isPANCard?.length == 0) {\r\n setPanCardImageFound(false);\r\n }\r\n\r\n if (isFirstBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isFirstBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultFirstBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isFirstBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultFirstBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n firstBankObj.id = \"firstBankDoc\";\r\n firstBankObj.disable = false;\r\n firstBankObj.uploadPer = 100;\r\n firstBankObj.fileName = `${GlobalStore.applicationID}_First Bank`;\r\n firstBankObj.showFile = false;\r\n firstBankObj.hideProgress = false;\r\n firstBankObj.documentId = isFirstBankDocument[0].DocumentId;\r\n firstBankObj.mimeType = isFirstBankDocument[0].MimeType;\r\n firstBankObj.documentcategory = isFirstBankDocument[0].DocumentCategory;\r\n firstBankObj.documentCategoryId =\r\n isFirstBankDocument[0].DocumentCategoryId;\r\n setFirstBankObj(firstBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isFirstBankDocument[0].FileName,\r\n isFirstBankDocument[0].UploadedDocPath\r\n );\r\n let firstBankDetails: any = {};\r\n firstBankDetails.BankName = isFirstBankDocument[0].BankName;\r\n firstBankDetails.AccountType = isFirstBankDocument[0].AccountType;\r\n setFirstBankDetails(firstBankDetails);\r\n }\r\n\r\n if (isSecondBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isSecondBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultSecondBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isSecondBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultSecondBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n secondBankObj.id = \"secondBankDoc\";\r\n secondBankObj.disable = false;\r\n secondBankObj.uploadPer = 100;\r\n secondBankObj.fileName = `${GlobalStore.applicationID}_Second Bank`;\r\n secondBankObj.showFile = false;\r\n secondBankObj.hideProgress = false;\r\n secondBankObj.documentId = isSecondBankDocument[0].DocumentId;\r\n secondBankObj.mimeType = isSecondBankDocument[0].MimeType;\r\n secondBankObj.documentcategory =\r\n isSecondBankDocument[0].DocumentCategory;\r\n secondBankObj.documentCategoryId =\r\n isSecondBankDocument[0].DocumentCategoryId;\r\n setSecondBankObj(secondBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isSecondBankDocument[0].FileName,\r\n isSecondBankDocument[0].UploadedDocPath\r\n );\r\n let secondBankDetails: any = {};\r\n secondBankDetails.BankName = isSecondBankDocument[0].BankName;\r\n secondBankDetails.AccountType = isSecondBankDocument[0].AccountType;\r\n setSecondBankDetails(secondBankDetails);\r\n }\r\n\r\n if (isThirdBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isThirdBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultThirdBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isThirdBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultThirdBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n\r\n thirdBankObj.id = \"thirdBankDoc\";\r\n thirdBankObj.disable = false;\r\n thirdBankObj.uploadPer = 100;\r\n thirdBankObj.fileName = `${GlobalStore.applicationID}_Third Bank`;\r\n thirdBankObj.showFile = false;\r\n thirdBankObj.hideProgress = false;\r\n thirdBankObj.documentId = isThirdBankDocument[0].DocumentId;\r\n thirdBankObj.mimeType = isThirdBankDocument[0].MimeType;\r\n thirdBankObj.documentcategory = isThirdBankDocument[0].DocumentCategory;\r\n thirdBankObj.documentCategoryId =\r\n isThirdBankDocument[0].DocumentCategoryId;\r\n setThirdBankObj(thirdBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isThirdBankDocument[0].FileName,\r\n isThirdBankDocument[0].UploadedDocPath\r\n );\r\n let thirdBankDetails: any = {};\r\n thirdBankDetails.BankName = isThirdBankDocument[0].BankName;\r\n thirdBankDetails.AccountType = isThirdBankDocument[0].AccountType;\r\n setThirdBankDetails(thirdBankDetails);\r\n }\r\n\r\n if (isFourthBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isFourthBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultFourthBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isFourthBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultFourthBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n\r\n fourthBankObj.id = \"fourthBankDoc\";\r\n fourthBankObj.disable = false;\r\n fourthBankObj.uploadPer = 100;\r\n fourthBankObj.fileName = `${GlobalStore.applicationID}_Fourth Bank`;\r\n fourthBankObj.showFile = false;\r\n fourthBankObj.hideProgress = false;\r\n fourthBankObj.documentId = isFourthBankDocument[0].DocumentId;\r\n fourthBankObj.mimeType = isFourthBankDocument[0].MimeType;\r\n fourthBankObj.documentcategory =\r\n isFourthBankDocument[0].DocumentCategory;\r\n fourthBankObj.documentCategoryId =\r\n isFourthBankDocument[0].DocumentCategoryId;\r\n setFourthBankObj(fourthBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isFourthBankDocument[0].FileName,\r\n isFourthBankDocument[0].UploadedDocPath\r\n );\r\n let fourthBankDetails: any = {};\r\n fourthBankDetails.BankName = isFourthBankDocument[0].BankName;\r\n fourthBankDetails.AccountType = isFourthBankDocument[0].AccountType;\r\n setFourthBankDetails(fourthBankDetails);\r\n }\r\n\r\n if (isFifthBankDocument.length > 0) {\r\n setIsLoading(true);\r\n if (isFifthBankDocument[0].DocumentName === \"Cancelled Cheque\") {\r\n setDefaultFifthBankDoc(\"Cancelled Cheque\");\r\n } else if (\r\n isFifthBankDocument[0].DocumentName ===\r\n \"Bank Account Statement / Passbook\"\r\n ) {\r\n setDefaultFifthBankDoc(\"Bank Account Statement / Passbook\");\r\n }\r\n\r\n fifthBankObj.id = \"fifthBankDoc\";\r\n fifthBankObj.disable = false;\r\n fifthBankObj.uploadPer = 100;\r\n fifthBankObj.fileName = `${GlobalStore.applicationID}_Fifth Bank`;\r\n fifthBankObj.showFile = false;\r\n fifthBankObj.hideProgress = false;\r\n fifthBankObj.documentId = isFifthBankDocument[0].DocumentId;\r\n fifthBankObj.mimeType = isFifthBankDocument[0].MimeType;\r\n fifthBankObj.documentcategory = isFifthBankDocument[0].DocumentCategory;\r\n fifthBankObj.documentCategoryId =\r\n isFifthBankDocument[0].DocumentCategoryId;\r\n setFifthBankObj(fifthBankObj);\r\n ADownloadDocument(\r\n getBankImage,\r\n isFifthBankDocument[0].FileName,\r\n isFifthBankDocument[0].UploadedDocPath\r\n );\r\n let fifthBankDetails: any = {};\r\n fifthBankDetails.BankName = isFifthBankDocument[0].BankName;\r\n fifthBankDetails.AccountType = isFifthBankDocument[0].AccountType;\r\n setFifthBankDetails(fifthBankDetails);\r\n }\r\n\r\n if (isPermAddressProof.length > 0) {\r\n setIsLoading(true);\r\n setDefaultPermAddressProof(true);\r\n if (isPermAddressProof[0].DocumentName === \"Aadhaar Card\") {\r\n setDefaultAddress(\"Aadhaar Card\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Passport\") {\r\n setDefaultAddress(\"Passport\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Voter ID\") {\r\n setDefaultAddress(\"Voter ID\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Driving License\") {\r\n setDefaultAddress(\"Driving License\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Nrega Job Card\") {\r\n setDefaultAddress(\"Nrega Job Card\");\r\n }\r\n\r\n permAddressObj.id = \"permAddress\";\r\n permAddressObj.disable = blockAadhar;\r\n permAddressObj.uploadPer = 100;\r\n permAddressObj.fileName = `${GlobalStore.applicationID}_Permanent Address`;\r\n permAddressObj.showFile = false;\r\n permAddressObj.hideProgress = false;\r\n permAddressObj.documentCategoryId =\r\n isPermAddressProof[0].DocumentCategoryId;\r\n permAddressObj.documentcategory =\r\n isPermAddressProof[0].DocumentCategory;\r\n permAddressObj.documentId = isPermAddressProof[0].DocumentId;\r\n permAddressObj.mimeType = isPermAddressProof[0].MimeType;\r\n permAddressObj.documentCategoryId =\r\n isPermAddressProof[0].DocumentCategoryId;\r\n setPermAddressObj(permAddressObj);\r\n ADownloadDocument(\r\n getAddressImage,\r\n isPermAddressProof[0].FileName,\r\n isPermAddressProof[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isCorrAddressProof.length > 0) {\r\n setIsLoading(true);\r\n if (isCorrAddressProof[0].DocumentName === \"Aadhaar Card\") {\r\n setDefaultCorrAddress(\"Aadhaar Card\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Passport\") {\r\n setDefaultCorrAddress(\"Passport\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Voter ID\") {\r\n setDefaultCorrAddress(\"Voter ID\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Driving License\") {\r\n setDefaultCorrAddress(\"Driving License\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Nrega Job Card\") {\r\n setDefaultCorrAddress(\"Nrega Job Card\");\r\n }\r\n\r\n corrAddressObj.id = \"corrAddress\";\r\n corrAddressObj.disable = false;\r\n corrAddressObj.uploadPer = 100;\r\n corrAddressObj.fileName = `${GlobalStore.applicationID}_Corrospondance Address`;\r\n corrAddressObj.showFile = false;\r\n corrAddressObj.hideProgress = false;\r\n corrAddressObj.documentCategoryId =\r\n isCorrAddressProof[0].DocumentCategoryId;\r\n corrAddressObj.documentcategory =\r\n isCorrAddressProof[0].DocumentCategory;\r\n corrAddressObj.documentId = isCorrAddressProof[0].DocumentId;\r\n corrAddressObj.mimeType = isCorrAddressProof[0].MimeType;\r\n corrAddressObj.documentCategoryId =\r\n isCorrAddressProof[0].DocumentCategoryId;\r\n setCorrAddressObj(corrAddressObj);\r\n ADownloadDocument(\r\n getCorrAddressImage,\r\n isCorrAddressProof[0].FileName,\r\n isCorrAddressProof[0].UploadedDocPath\r\n );\r\n }\r\n console.log(\"isSignature\", isSignature);\r\n if (isSignature.length > 0) {\r\n setIsLoading(true);\r\n setShowCanvas(false);\r\n signatureObj.id = \"signature\";\r\n signatureObj.disable = false;\r\n signatureObj.uploadPer = 100;\r\n signatureObj.fileName = `${GlobalStore.applicationID}_Signature`;\r\n signatureObj.showFile = false;\r\n signatureObj.hideProgress = false;\r\n signatureObj.mimeType = isSignature[0].MimeType;\r\n signatureObj.documentCategoryId = isSignature[0].DocumentCategoryId;\r\n signatureObj.documentId = isSignature[0].DocumentId;\r\n setSignatureObj(signatureObj);\r\n ADownloadDocument(\r\n getSignatureImage,\r\n isSignature[0].FileName,\r\n isSignature[0].UploadedDocPath\r\n );\r\n }\r\n\r\n if (isIncomeProof.length > 0) {\r\n setIsLoading(true);\r\n if (isIncomeProof[0].DocumentName === \"Form 16\") {\r\n setDefaultIncomeDoc(\"Form 16\");\r\n } else if (isIncomeProof[0].DocumentName === \"Salary Slip\") {\r\n setDefaultIncomeDoc(\"Salary Slip\");\r\n } else if (isIncomeProof[0].DocumentName === \"ITR Acknowledgement\") {\r\n setDefaultIncomeDoc(\"ITR Acknowledgement\");\r\n } else if (isIncomeProof[0].DocumentName === \"Bank Statement\") {\r\n setDefaultIncomeDoc(\"Bank Statement\");\r\n } else if (\r\n isIncomeProof[0].DocumentName === \"Demat Holding Statement\"\r\n ) {\r\n setDefaultIncomeDoc(\"Demat Holding Statement\");\r\n } else if (isIncomeProof[0].DocumentName === \"Networth Certificate\") {\r\n setDefaultIncomeDoc(\"Networth Certificate\");\r\n }\r\n\r\n incomeObj.id = \"incomeDoc\";\r\n incomeObj.disable = false;\r\n incomeObj.uploadPer = 100;\r\n incomeObj.fileName = `${GlobalStore.applicationID}_Income`;\r\n incomeObj.showFile = false;\r\n incomeObj.hideProgress = false;\r\n incomeObj.mimeType = isIncomeProof[0].MimeType;\r\n incomeObj.documentId = isIncomeProof[0].DocumentId;\r\n incomeObj.documentCategoryId = isIncomeProof[0].DocumentCategoryId;\r\n setIncomeObj(incomeObj);\r\n ADownloadDocument(\r\n getIncomeImage,\r\n isIncomeProof[0].FileName,\r\n isIncomeProof[0].UploadedDocPath\r\n );\r\n }\r\n } else {\r\n setPanObj(panObj);\r\n setFirstBankObj(firstBankObj);\r\n setPermAddressObj(permAddressObj);\r\n setCorrAddressObj(corrAddressObj);\r\n setSignatureObj(signatureObj);\r\n setIncomeObj(incomeObj);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124-S\" });\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n function getbase64(dataString: string, obj: DocDetailFormat) {\r\n return (\r\n \"data:\" +\r\n (obj.mimeType === \"application/pdf\" ? \"application/pdf\" : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\r\n }\r\n // NomineeSecondImage\r\n const NomineeFirstImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(res.data.base64document, nomineeFirstObj[0]);\r\n let imageOBJ = [...nomineeFirstObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setNomineeFirstObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(res.data.base64document, nomineeFirstObj[1]);\r\n let imageOBJ = [...nomineeFirstObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setNomineeFirstObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n const NomineeSecondImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n nomineeSecondObj[0]\r\n );\r\n let imageOBJ = [...nomineeSecondObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setNomineeSecondObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n nomineeSecondObj[1]\r\n );\r\n let imageOBJ = [...nomineeSecondObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setNomineeSecondObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n const NomineeThirdImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(res.data.base64document, nomineeThirdObj[0]);\r\n let imageOBJ = [...nomineeThirdObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setNomineeThirdObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(res.data.base64document, nomineeThirdObj[1]);\r\n let imageOBJ = [...nomineeThirdObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setNomineeThirdObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n const GuardianFirstImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianFirstObj[0]\r\n );\r\n let imageOBJ = [...guardianFirstObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setGuardianFirstObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianFirstObj[1]\r\n );\r\n let imageOBJ = [...guardianFirstObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setGuardianFirstObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n const GuardianSecondImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianSecondObj[0]\r\n );\r\n let imageOBJ = [...guardianSecondObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setGuardianSecondObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianSecondObj[1]\r\n );\r\n let imageOBJ = [...guardianSecondObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setGuardianSecondObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n const GuardianThirdImage = (res: any, documentType: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126\",\r\n // });\r\n } else {\r\n if (res.data) {\r\n if (documentType === \"photo\") {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianThirdObj[0]\r\n );\r\n let imageOBJ = [...guardianThirdObj];\r\n imageOBJ[0].imgUrl = base64;\r\n setGuardianThirdObj(imageOBJ);\r\n } else {\r\n const base64 = getbase64(\r\n res.data.base64document,\r\n guardianThirdObj[1]\r\n );\r\n let imageOBJ = [...guardianThirdObj];\r\n imageOBJ[1].imgUrl = base64;\r\n setGuardianThirdObj(imageOBJ);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"DownloadDocumentFromS3\",\r\n // label: \"ERROR || ERR126-S\",\r\n // });\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n const getPhotoImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR126\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setPhotoBase64(res.data.base64document);\r\n const base64 = getbase64(res.data.base64document, photoObj);\r\n let imageOBJ = { ...photoObj };\r\n imageOBJ.imgUrl = base64;\r\n setPhotoObj(imageOBJ);\r\n uploadedPhotoRefElement.current!.hidden = false;\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR126-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getPanImage = (res: any) => {\r\n console.log(\"getPanImage called\", res);\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR127\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setPanBase64(res.data.base64document);\r\n if (\r\n !!res?.data?.base64document &&\r\n res?.data?.base64document !== \"\" &&\r\n res?.data?.base64document?.length > 0\r\n ) {\r\n setPanCardImageFound(true);\r\n } else {\r\n setPanCardImageFound(false);\r\n }\r\n setPanButDisable(false);\r\n const base64 = getbase64(res.data.base64document, panObj);\r\n panObj.imgUrl = base64;\r\n //panObj.imgUrl = base64;\r\n console.log(\"base64 of PAN\", base64);\r\n setPanObj(panObj);\r\n console.log(\"getPanImage base64\", panObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR127-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getBankImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR128\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, firstBankObj);\r\n firstBankObj.imgUrl = base64;\r\n setFirstBankObj(firstBankObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR128-S\",\r\n });\r\n }\r\n }\r\n };\r\n const getAddressImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR129\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, permAddressObj);\r\n permAddressObj.imgUrl = base64;\r\n permAddressObj.base64 = base64!.split(\",\")[1];\r\n\r\n setPermAddressObj(permAddressObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR129-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getCorrAddressImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR130\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, corrAddressObj);\r\n corrAddressObj.imgUrl = base64;\r\n setCorrAddressObj(corrAddressObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR130-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getSignatureImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR131\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, signatureObj);\r\n signatureObj.imgUrl = base64;\r\n setSignatureObj(signatureObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR131-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n console.log(\"isLoading\", isLoading, loaderSign);\r\n\r\n const getIncomeImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR132\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, incomeObj);\r\n incomeObj.imgUrl = base64;\r\n setIncomeObj(incomeObj);\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR132-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getPendingDoc = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR122\" });\r\n } else {\r\n if (res.data) {\r\n const penDoc = JSON.parse(res.data);\r\n const isPhotoPending = penDoc.filter(\r\n // prev api response\r\n // (x: any) => x.documentcategory === \"Photograph\"\r\n (x: any) =>\r\n x.DocumentCategory == \"Photograph\" &&\r\n x.DocumentCategoryId == DocumentCategoryIdForphotographId\r\n );\r\n const isCorrPending = penDoc.filter(\r\n // (x: any) => x.documentcategory === \"Address Proof Correspondence\"\r\n (x: any) => x.DocumentCategory == \"Address Proof Correspondence\"\r\n );\r\n\r\n const firstBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 9\r\n );\r\n const secondBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 60\r\n );\r\n const thirdBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 61\r\n );\r\n const fourthBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 70\r\n );\r\n const fifthBankDetails = penDoc.filter(\r\n (x: any) => x.DocumentCategoryId == 71\r\n );\r\n console.log(firstBankDetails);\r\n setFirstBankDetails(firstBankDetails[0]);\r\n console.log(secondBankDetails);\r\n setSecondBankDetails(secondBankDetails[0]);\r\n console.log(thirdBankDetails);\r\n setThirdBankDetails(thirdBankDetails[0]);\r\n console.log(fourthBankDetails);\r\n setFourthBankDetails(fourthBankDetails[0]);\r\n console.log(fifthBankDetails);\r\n setFifthBankDetails(fifthBankDetails[0]);\r\n\r\n if (isCorrPending.length > 0) {\r\n setShowCorr(true);\r\n }\r\n if (isPhotoPending.length === 0) {\r\n setIsPhotoPendingFlag(true);\r\n videoRefElement.current!.hidden = true;\r\n uploadedPhotoRefElement.current!.hidden = false;\r\n turnOfCamera && turnOfCamera.getVideoTracks()[0].stop();\r\n setShowRetake(true);\r\n } else {\r\n uploadedPhotoRefElement.current!.hidden = true;\r\n turnOnCamera();\r\n }\r\n if (penDoc.length > 0) {\r\n if (penDoc[0].Count === 0 && signatureObj.iscropped === true) {\r\n // const sendDataObjForQC = {\r\n // \"applicationid\": GlobalStore.applicationID\r\n // }\r\n // ASendApplicationForQC(postQCData, sendDataObjForQC);\r\n } else {\r\n // const appTicketObj = {\r\n // applicationid: GlobalStore.applicationID,\r\n // clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n // stageinfoid: 6,\r\n // };\r\n // AcreateApplicationTicket(applicationTicketforDocuments, appTicketObj);\r\n }\r\n }\r\n const mandPenDoc = penDoc.filter(\r\n (x: any) =>\r\n // x.mandatory === true && x.documentcategory !== \"Photograph\"\r\n (x.Mandatory === true && x.DocumentCategory === \"Photograph\") ||\r\n (x.Mandatory === true && x.DocumentCategory === \"Signature\")\r\n );\r\n\r\n setPendingDocObj(\r\n mandPenDoc.filter(\r\n (y: any) => y.DocumentCategory !== \"In Person Verification\"\r\n )\r\n );\r\n if (GlobalStore.isDigiLocker) {\r\n setPendingDocObj(\r\n mandPenDoc.filter(\r\n (y: any) => y.DocumentCategory !== \"Address Proof Permanent\"\r\n )\r\n );\r\n }\r\n } else {\r\n // setErrCode(164)\r\n gtmService({\r\n action: \"GetDocumentDetails\",\r\n label: \"ERROR || ERR122-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const applicationTicketforDocuments = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(148);\r\n setIsLoading(false);\r\n } else if (res.data) {\r\n console.log(res.data);\r\n }\r\n };\r\n\r\n const HandleNewSDKSelfieRes = (data: any) => {\r\n if (data && data.errMsg) {\r\n setBrowserPermission(true);\r\n } else if (data.is_valid == \"1\" && data.Latitude && data.Longitude) {\r\n setIsLoading(true);\r\n setIsNewPhoto(true);\r\n const new_File = new File(\r\n [Blob as unknown as BlobPart],\r\n \"personalPhoto.jpeg\",\r\n {\r\n type: \"image/jpeg\",\r\n lastModified: Date.now(),\r\n }\r\n );\r\n\r\n uploadedPhotoRefElement.current!.hidden = false;\r\n let base64 = data?.cropped_image;\r\n photoObj.imgUrl = `data:image/jpeg;base64, ${base64}`;\r\n setPhotoObj(photoObj);\r\n setPhotoBase64(base64);\r\n\r\n if (data?.Country && data?.Country.toLowerCase() == \"india\") {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: false,\r\n checkPhotoLiveness: false,\r\n });\r\n\r\n if (base64?.toString()) {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: base64,\r\n filename: new_File.name,\r\n };\r\n setIsLoading(true);\r\n setLoaderSign(true);\r\n\r\n // ACheckPhotoLiveness(\r\n // (res: any) => getExtractPhotoLiveness(res),\r\n // base64,\r\n // GlobalStore.leadId\r\n // );\r\n\r\n AUploadDocument(\r\n (res: any) => getFetchResponse(res, new_File.name),\r\n uploadObj\r\n );\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd\",\r\n organizationCode: \"2\",\r\n // geo_location: location,\r\n latitude: data.Latitude,\r\n longitude: data.Longitude,\r\n ipaddress: \"192.168.200.80\",\r\n source: \"DocVerification\",\r\n };\r\n ASaveIPVerificationDetails(\r\n (res: any) => iPVerificationSaved(res, ipvObj),\r\n ipvObj\r\n );\r\n }\r\n } else {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n\r\n setErrCode(\r\n errCode\r\n ? errCode\r\n : \"\" +\r\n \"Oops, you are not in permitted range of account opening as per regulatory guidelines.\"\r\n );\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const getscreenShotURL = async (blob: Blob) => {\r\n const new_File = new File([blob as BlobPart], \"personalPhoto.jpeg\", {\r\n type: \"image/jpeg\",\r\n lastModified: Date.now(),\r\n });\r\n if (new_File.size > 50000000) {\r\n alert(\"video size exceeds maximum limit. Please upload it again\");\r\n return false;\r\n }\r\n if (new_File.size < 1000) {\r\n alert(\"video size should be greater than 1KB. Please upload it again\");\r\n return false;\r\n }\r\n const fileReader = new FileReader();\r\n fileReader.onload = function (e) {\r\n let base64 = (e.target && e.target.result)?.toString();\r\n photoObj.imgUrl = \"\";\r\n setPhotoObj(photoObj);\r\n setPhotoBase64(base64!.split(\",\")[1]);\r\n if (base64?.toString()) {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: base64!.split(\",\")[1],\r\n filename: new_File.name,\r\n };\r\n setIsLoading(true);\r\n setLoaderSign(true);\r\n\r\n ACheckPhotoLiveness(\r\n (res: any) => getExtractPhotoLiveness(res),\r\n base64!.split(\",\")[1],\r\n GlobalStore.leadId\r\n );\r\n AUploadDocument(\r\n (res: any) => getFetchResponse(res, new_File.name),\r\n uploadObj\r\n );\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd\",\r\n organizationCode: \"2\",\r\n // geo_location: location,\r\n latitude: location.lat,\r\n longitude: location.long,\r\n ipaddress: \"192.168.200.80\",\r\n source: \"DocVerification\",\r\n };\r\n ASaveIPVerificationDetails(\r\n (res: any) => iPVerificationSaved(res, ipvObj),\r\n ipvObj\r\n );\r\n }\r\n };\r\n fileReader.readAsDataURL(new_File);\r\n };\r\n\r\n const capturePhoto = () => {\r\n if (\r\n location !== \"\" &&\r\n location !== undefined &&\r\n location.lat !== \"\" &&\r\n location.lat !== undefined &&\r\n location.long !== \"\" &&\r\n location.long !== undefined\r\n ) {\r\n setIsLoading(true);\r\n setIsNewPhoto(true);\r\n setShowRetake(true);\r\n showPhotoPreview(true);\r\n let canvasPic: HTMLCanvasElement = document.getElementById(\r\n \"capture\"\r\n ) as HTMLCanvasElement;\r\n let videoPic: HTMLVideoElement = document.getElementById(\r\n \"videoPersonal\"\r\n ) as HTMLVideoElement;\r\n captureScreenShot(canvasPic, videoPic, getscreenShotURL);\r\n turnOfCamera && turnOfCamera.getVideoTracks()[0].stop();\r\n } else {\r\n setBrowserPermission(true);\r\n }\r\n };\r\n\r\n function captureScreenShot(\r\n canvas: HTMLCanvasElement,\r\n video: HTMLVideoElement,\r\n callback: CallableFunction\r\n ) {\r\n canvas.width = video.videoWidth;\r\n canvas.height = video.videoHeight;\r\n canvas\r\n .getContext(\"2d\")!\r\n .drawImage(video, 0, 0, video.videoWidth, video.videoHeight);\r\n canvas.toBlob((blob) => {\r\n callback(blob);\r\n });\r\n }\r\n\r\n const retakePhoto = () => {\r\n if (\r\n location !== undefined &&\r\n location !== \"\" &&\r\n location.lat !== \"\" &&\r\n location.lat !== undefined &&\r\n location.long !== \"\" &&\r\n location.long !== undefined\r\n ) {\r\n setIsNewPhoto(false);\r\n turnOnCamera();\r\n showPhotoPreview(false);\r\n setShowRetake(false);\r\n setIsPhotoPendingFlag(false);\r\n videoRefElement.current!.hidden = false;\r\n uploadedPhotoRefElement.current!.hidden = true;\r\n } else {\r\n setBrowserPermission(true);\r\n }\r\n };\r\n\r\n const iPVerificationSaved = async (res: any, ipvObj: any) => {\r\n console.log(\"CALLEDDDDD\");\r\n if (!res || res.error) {\r\n //setErrCode('Error in saving geo-location details');\r\n //setIsLoading(false);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR143\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR143-S\",\r\n });\r\n }\r\n };\r\n const getExtractPhotoLiveness = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n if (errCode !== res.error) setErrCode(errCode ? errCode : \"\" + res.error);\r\n setPhotoErrorMsg(\"\");\r\n setLoaderSign(false);\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: true,\r\n });\r\n setIsLoading(false);\r\n gtmService({ action: \"checkPhotoLiveness\", label: \"ERROR || ERR998\" });\r\n } else {\r\n if (res.data && res.data.IsLive) {\r\n setPhotoErrorMsg(res.data.Message);\r\n liveLocationCheck.checkPhotoLiveness = false;\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: false,\r\n });\r\n } else if (!res.data.IsLive) {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkPhotoLiveness: true,\r\n });\r\n console.log(\"res.data.Message\", res.data.Message);\r\n setPhotoErrorMsg(res.data.Message);\r\n // if (errCode !== res.data.Message)\r\n // setErrCode(errCode ? errCode : \"\" + res.data.Message);\r\n }\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n }\r\n };\r\n\r\n const getFetchResponse = (res: any, fileName: string) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"1361- Error in uploading the file.\");\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR139\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n console.log(\"getFetchResponse\", res.data);\r\n setIsLoading(false);\r\n photoObj.fileName = res.data.Guid;\r\n photoObj.mimeType = res.data.Guid.split(\".\")[1];\r\n if (photoBase64 !== undefined && panBase64 !== undefined) {\r\n // setErrCode(errCode);\r\n }\r\n } else {\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"UploadDocumentToS3\",\r\n label: \"ERROR || ERR139-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n function onRemove(doc: any, docType: string) {\r\n if (docType === \"panObj\") {\r\n panObj.base64 = \"\";\r\n panObj.imgUrl = \"\";\r\n setPanObj(panObj);\r\n setPanBase64(\"\");\r\n setPanButDisable(true);\r\n } else if (docType === \"permAddressObj\") {\r\n console.log(\"perm call\");\r\n permAddressObj.base64 = \"\";\r\n permAddressObj.imgUrl = \"\";\r\n setPermAddressObj(permAddressObj);\r\n setPermAddButDisable(true);\r\n }\r\n }\r\n function onPanDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n // console.log(\"current panObj\", panObj);\r\n console.log(\"Response from Browse document val\", val);\r\n // console.log(\"Response from Browse document val\", fileName);\r\n // console.log(\"Response from Browse document val\", id);\r\n // console.log(\"Response from Browse document val\", type);\r\n setIsLoading(true);\r\n panObj.imgUrl = \"\";\r\n setPanObj(panObj);\r\n setPanBase64(val!.split(\",\")[1]);\r\n setPanButDisable(false);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onFirstBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n firstBankObj.imgUrl = \"\";\r\n setFirstBankObj(firstBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onSecondBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n secondBankObj.imgUrl = \"\";\r\n setSecondBankObj(secondBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onThirdBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n thirdBankObj.imgUrl = \"\";\r\n setThirdBankObj(thirdBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onFourthBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n fourthBankObj.imgUrl = \"\";\r\n setFourthBankObj(fourthBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onFifthBankDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n fifthBankObj.imgUrl = \"\";\r\n setFifthBankObj(fifthBankObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function onFirstPermAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n permAddressObj.imgUrl = val;\r\n permAddressObj.base64 = val!.split(\",\")[1];\r\n permAddressObj.fileName = fileName;\r\n setPermAddressObj(permAddressObj);\r\n console.log(permAddressObj, \"==>PERM-ADD-OBJ\");\r\n if (fileName.split(\".\")[1] !== \"pdf\" && permAddressObj.documentId !== 125) {\r\n setSecondDoc(true);\r\n // permAddressObj.base64 = val!.split(',')[1];\r\n // permAddressObj.fileName = fileName;\r\n\r\n if (\r\n permAddressObj.documentId === aadhaarDocumnetId ||\r\n permAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // if PDF\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n\r\n if (\r\n permAddressObj.documentId === aadhaarDocumnetId ||\r\n permAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar PDF Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n }\r\n\r\n function onSecondPermAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n permSecondAddressObj.imgUrl = \"\";\r\n permSecondAddressObj.fileName = fileName;\r\n permSecondAddressObj.base64 = val!.split(\",\")[1];\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n permSecondAddressObj.documentId !== 125\r\n ) {\r\n setSecondDoc(true);\r\n if (\r\n permAddressObj.documentId === aadhaarDocumnetId ||\r\n permAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permSecondAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n setIsLoading(false);\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n }\r\n }\r\n\r\n function onFirstCorrAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n corrAddressObj.imgUrl = \"\";\r\n corrAddressObj.base64 = val!.split(\",\")[1];\r\n corrAddressObj.fileName = fileName;\r\n setCorrAddressObj(corrAddressObj);\r\n if (fileName.split(\".\")[1] !== \"pdf\" && corrAddressObj.documentId !== 133) {\r\n setCorrSecondDoc(true);\r\n\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: \"Corr Address Proof Permanent\",\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // if PDF\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: \"Corr Address Proof Permanent\",\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar PDF Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n }\r\n\r\n function onSecondCorrAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n corrSecondAddressObj.imgUrl = \"\";\r\n corrSecondAddressObj.fileName = fileName;\r\n corrSecondAddressObj.base64 = val!.split(\",\")[1];\r\n setCorrSecondAddressObj(corrSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n corrSecondAddressObj.documentId !== 133\r\n ) {\r\n setCorrSecondDoc(true);\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: corrSecondAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n }\r\n }\r\n\r\n const maskedAadhar = (\r\n res: any,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"Aadhar number masking failed\");\r\n setIsLoading(false);\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR138\" });\r\n if (res.data.error) {\r\n setErrCode(errCode + \"Aadhar Masking failed: \" + res.error);\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n } else if (res.data) {\r\n if (res.data.error) {\r\n setErrCode(errCode + \"Aadhar Masking failed: \" + res.error);\r\n setIsLoading(false);\r\n } else {\r\n // Masking API returns only JPG images, even if input is PDF.\r\n let uploadObj: uploadDocObj;\r\n if (id === \"permAddress\") {\r\n if (res.data.result.id_number_found) {\r\n permAddressObj.base64 = res.data.result.base64_image;\r\n permAddressObj.mimeType = \"image/jpeg\";\r\n permAddressObj.fileName =\r\n permAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setPermAddressObj(permAddressObj);\r\n setPermAddButDisable(false);\r\n }\r\n\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64 || \"\",\r\n filename: permAddressObj.fileName,\r\n };\r\n } else if (id === \"permSecondAddress\") {\r\n if (res.data.result.id_number_found) {\r\n permSecondAddressObj.base64 = res.data.result.base64_image;\r\n permSecondAddressObj.mimeType = \"image/jpeg\";\r\n permSecondAddressObj.fileName =\r\n permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64 || \"\",\r\n filename: permSecondAddressObj.fileName,\r\n };\r\n } else if (id === \"corrAddress\") {\r\n if (res.data.result.id_number_found) {\r\n corrAddressObj.base64 = res.data.result.base64_image;\r\n corrAddressObj.mimeType = \"image/jpeg\";\r\n corrAddressObj.fileName =\r\n corrAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setCorrAddressObj(corrAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n };\r\n } else {\r\n if (res.data.result.id_number_found) {\r\n corrSecondAddressObj.base64 = res.data.result.base64_image;\r\n corrSecondAddressObj.mimeType = \"image/jpeg\";\r\n corrSecondAddressObj.fileName =\r\n corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setCorrSecondAddressObj(corrSecondAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n };\r\n }\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadRes(res, id, uploadObj.base64document, uploadObj.filename),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n gtmService({\r\n action: \"ExtractDocumentData\",\r\n label: \"ERROR || ERR138-S\",\r\n });\r\n }\r\n };\r\n\r\n const getPDFData = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(137);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR136\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setAddressName(res.data.Guid);\r\n permAddressObj.mimeType = \"application/pdf\";\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: res.data.Mergedimagespdfbase64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else {\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR136-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getCorrPDFData = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(137);\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR137\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setCorrAddressName(res.data.Guid);\r\n corrAddressObj.mimeType = \"application/pdf\";\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: res.data.Mergedimagespdfbase64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else {\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR137-S\",\r\n });\r\n }\r\n }\r\n };\r\n function onNomineeUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string,\r\n index: number\r\n ) {\r\n switch (id) {\r\n case \"nomFirstPhotoId\":\r\n console.log(\"filename:\", fileName);\r\n let fnpext = fileName.split(\".\").pop();\r\n console.log(\"extension:\", fnpext);\r\n let fnpnewfileName = \"firstNominee_Photo.\" + fnpext;\r\n console.log(\"newfileName:\", fnpnewfileName);\r\n let nomFirstPhotCopy = [...nomineeFirstObj];\r\n nomFirstPhotCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId.toString();\r\n nomFirstPhotCopy[0].documentId =\r\n nomineeDocsIds.nomineeOne.photo.documentId;\r\n nomFirstPhotCopy[0].documentcategory = \"Photograph\";\r\n nomFirstPhotCopy[0].imgUrl = val;\r\n setNomineeFirstObj(nomFirstPhotCopy);\r\n let nomFirstPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fnpnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomFirstPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomFirstSignature\":\r\n let fnsext = fileName.split(\".\").pop();\r\n let fnsnewfileName = \"firstNominee_Signature.\" + fnsext;\r\n let nomFirstSignatureCopy = [...nomineeFirstObj];\r\n nomFirstSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeOne.signature.documentCategoryId.toString();\r\n nomFirstSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeOne.signature.documentId;\r\n nomFirstSignatureCopy[1].documentcategory = \"Signature\";\r\n nomFirstSignatureCopy[1].imgUrl = val;\r\n setNomineeFirstObj(nomFirstSignatureCopy);\r\n let nomFirstSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fnsnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomFirstSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomSecondPhotoId\":\r\n let snpext = fileName.split(\".\").pop();\r\n let snpnewfileName = \"secondNominee_Photo.\" + snpext;\r\n let nomSecondPhotoCopy = [...nomineeSecondObj];\r\n nomSecondPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId.toString();\r\n nomSecondPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeTwo.photo.documentId;\r\n nomSecondPhotoCopy[0].documentcategory = \"Photograph\";\r\n nomSecondPhotoCopy[0].imgUrl = val;\r\n setNomineeSecondObj(nomSecondPhotoCopy);\r\n let nomSecondPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: snpnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomSecondPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomSecondSignature\":\r\n let nssext = fileName.split(\".\").pop();\r\n let nssnewfileName = \"secondNominee_Signature.\" + nssext;\r\n let nomSecondSignatureCopy = [...nomineeSecondObj];\r\n nomSecondSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeTwo.signature.documentCategoryId.toString();\r\n nomSecondSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeTwo.signature.documentId;\r\n nomSecondSignatureCopy[1].documentcategory = \"Signature\";\r\n nomSecondSignatureCopy[1].imgUrl = val;\r\n setNomineeSecondObj(nomSecondSignatureCopy);\r\n let nomSecondSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: nssnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomSecondSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomThirdPhotoId\":\r\n let ntpext = fileName.split(\".\").pop();\r\n let ntpnewfileName = \"thirdNominee_Photo.\" + ntpext;\r\n let nomThirdPhotoCopy = [...nomineeThirdObj];\r\n nomThirdPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId.toString();\r\n nomThirdPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeThree.photo.documentId;\r\n nomThirdPhotoCopy[0].documentcategory = \"Photograph\";\r\n nomThirdPhotoCopy[0].imgUrl = val;\r\n setNomineeThirdObj(nomThirdPhotoCopy);\r\n let nomThirdPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: ntpnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomThirdPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"nomThirdSignature\":\r\n let ntsext = fileName.split(\".\").pop();\r\n let ntsnewfileName = \"thirdNominee_Signature.\" + ntsext;\r\n let nomThirdSignatureCopy = [...nomineeThirdObj];\r\n nomThirdSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeThree.signature.documentCategoryId.toString();\r\n nomThirdSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeThree.signature.documentId;\r\n nomThirdSignatureCopy[1].documentcategory = \"Signature\";\r\n nomThirdSignatureCopy[1].imgUrl = val;\r\n setNomineeThirdObj(nomThirdSignatureCopy);\r\n let nomThirdSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: ntsnewfileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n nomThirdSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n\r\n case \"guardianFirstPhotoId\":\r\n let guardFirstPhotoCopy = [...guardianFirstObj];\r\n guardFirstPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentCategoryId.toString();\r\n guardFirstPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentId;\r\n guardFirstPhotoCopy[0].documentcategory = \"Photograph\";\r\n guardFirstPhotoCopy[0].imgUrl = val;\r\n setGuardianFirstObj(guardFirstPhotoCopy);\r\n let guardianFirstPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianFirstPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianFirstSignature\":\r\n let guardFirstSignatureCopy = [...guardianFirstObj];\r\n guardFirstSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentCategoryId.toString();\r\n guardFirstSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentId;\r\n guardFirstSignatureCopy[1].documentcategory = \"Signature\";\r\n guardFirstSignatureCopy[1].imgUrl = val;\r\n setGuardianFirstObj(guardFirstSignatureCopy);\r\n let guardianFirstSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianFirstSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianSecondPhotoId\":\r\n let guardSecondPhotoCopy = [...guardianSecondObj];\r\n guardSecondPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentCategoryId.toString();\r\n guardSecondPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentId;\r\n guardSecondPhotoCopy[0].documentcategory = \"Photograph\";\r\n guardSecondPhotoCopy[0].imgUrl = val;\r\n setGuardianSecondObj(guardSecondPhotoCopy);\r\n let guardianSecondPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianSecondPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianSecondSignature\":\r\n let guardSecondSignatureCopy = [...guardianSecondObj];\r\n guardSecondSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentCategoryId.toString();\r\n guardSecondSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentId;\r\n guardSecondSignatureCopy[1].documentcategory = \"Signature\";\r\n guardSecondSignatureCopy[1].imgUrl = val;\r\n setGuardianSecondObj(guardSecondSignatureCopy);\r\n let guardianSecondSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianSecondSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianThirdPhotoId\":\r\n let guardThirdPhotoCopy = [...guardianThirdObj];\r\n guardThirdPhotoCopy[0].documentCategoryId =\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentCategoryId.toString();\r\n guardThirdPhotoCopy[0].documentId =\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentId;\r\n guardThirdPhotoCopy[0].documentcategory = \"Photograph\";\r\n guardThirdPhotoCopy[0].imgUrl = val;\r\n setGuardianThirdObj(guardThirdPhotoCopy);\r\n let guardianThirdPhotoObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianThirdPhotoObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n case \"guardianThirdSignature\":\r\n let guardThirdSignatureCopy = [...guardianThirdObj];\r\n guardThirdSignatureCopy[1].documentCategoryId =\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature.documentCategoryId.toString();\r\n guardThirdSignatureCopy[1].documentId =\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature.documentId;\r\n guardThirdSignatureCopy[1].documentcategory = \"Signature\";\r\n guardThirdSignatureCopy[1].imgUrl = val;\r\n setGuardianThirdObj(guardThirdSignatureCopy);\r\n let guardianThirdSignatureObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n guardianThirdSignatureObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n function handleRemoveDoc(index: number, id: string, docObj: any) {\r\n switch (id) {\r\n case \"nomFirstPhotoId\":\r\n let nomFirstPhotCopy = [...nomineeFirstObj];\r\n nomFirstPhotCopy[0].imgUrl = \"\";\r\n nomFirstPhotCopy[0].fileName = \"\";\r\n setNomineeFirstObj(nomFirstPhotCopy);\r\n break;\r\n case \"nomFirstSignature\":\r\n let nomFirstSignatureCopy = [...nomineeFirstObj];\r\n nomFirstSignatureCopy[1].imgUrl = \"\";\r\n nomFirstSignatureCopy[1].fileName = \"\";\r\n\r\n setNomineeFirstObj(nomFirstSignatureCopy);\r\n break;\r\n case \"nomSecondPhotoId\":\r\n let nomSecondPhotoCopy = [...nomineeSecondObj];\r\n nomSecondPhotoCopy[0].imgUrl = \"\";\r\n nomSecondPhotoCopy[0].fileName = \"\";\r\n\r\n setNomineeSecondObj(nomSecondPhotoCopy);\r\n break;\r\n case \"nomSecondSignature\":\r\n let nomSecondSignatureCopy = [...nomineeSecondObj];\r\n nomSecondSignatureCopy[1].imgUrl = \"\";\r\n nomSecondSignatureCopy[1].fileName = \"\";\r\n\r\n setNomineeSecondObj(nomSecondSignatureCopy);\r\n break;\r\n case \"nomThirdPhotoId\":\r\n let nomThirdPhotoCopy = [...nomineeThirdObj];\r\n\r\n nomThirdPhotoCopy[0].imgUrl = \"\";\r\n nomThirdPhotoCopy[0].fileName = \"\";\r\n\r\n setNomineeThirdObj(nomThirdPhotoCopy);\r\n break;\r\n case \"nomThirdSignature\":\r\n let nomThirdSignatureCopy = [...nomineeThirdObj];\r\n nomThirdSignatureCopy[1].documentCategoryId =\r\n nomThirdSignatureCopy[1].imgUrl = \"\";\r\n nomThirdSignatureCopy[1].fileName = \"\";\r\n\r\n setNomineeThirdObj(nomThirdSignatureCopy);\r\n break;\r\n case \"guardianFirstPhotoId\":\r\n let guardFirstPhotoCopy = [...guardianFirstObj];\r\n guardFirstPhotoCopy[0].imgUrl = \"\";\r\n guardFirstPhotoCopy[0].fileName = \"\";\r\n\r\n setGuardianFirstObj(guardFirstPhotoCopy);\r\n break;\r\n case \"guardianFirstSignature\":\r\n let guardFirstSignatureCopy = [...guardianFirstObj];\r\n guardFirstSignatureCopy[1].imgUrl = \"\";\r\n guardFirstSignatureCopy[1].fileName = \"\";\r\n\r\n setGuardianFirstObj(guardFirstSignatureCopy);\r\n break;\r\n case \"guardianSecondPhotoId\":\r\n let guardSecondPhotoCopy = [...guardianSecondObj];\r\n guardSecondPhotoCopy[0].imgUrl = \"\";\r\n guardSecondPhotoCopy[0].fileName = \"\";\r\n\r\n setGuardianSecondObj(guardSecondPhotoCopy);\r\n break;\r\n case \"guardianSecondSignature\":\r\n let guardSecondSignatureCopy = [...guardianSecondObj];\r\n guardSecondSignatureCopy[1].imgUrl = \"\";\r\n guardSecondSignatureCopy[1].fileName = \"\";\r\n\r\n setGuardianSecondObj(guardSecondSignatureCopy);\r\n break;\r\n case \"guardianThirdPhotoId\":\r\n let guardThirdPhotoCopy = [...guardianThirdObj];\r\n guardThirdPhotoCopy[0].imgUrl = \"\";\r\n guardThirdPhotoCopy[0].fileName = \"\";\r\n\r\n setGuardianThirdObj(guardThirdPhotoCopy);\r\n break;\r\n case \"guardianThirdSignature\":\r\n let guardThirdSignatureCopy = [...guardianThirdObj];\r\n guardThirdSignatureCopy[1].imgUrl = \"\";\r\n guardThirdSignatureCopy[1].fileName = \"\";\r\n\r\n setGuardianThirdObj(guardThirdSignatureCopy);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n console.log(\"signatureObj\", signatureObj);\r\n function onSignatureUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n console.log(\"onSignatureUploadComplete\", val);\r\n setIsLoading(true);\r\n signatureObj.imgUrl = \"\";\r\n setSignatureObj(signatureObj);\r\n let fileNameCheck = fileName.includes(\".\") ? true : false;\r\n let typeCreater = type.includes(\"/\") ? type.split(\"/\")[1] : type;\r\n\r\n if (signatureObj.base64 !== (undefined || \"\")) {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: signatureObj.base64!.split(\",\")[1],\r\n filename: fileNameCheck\r\n ? `${GlobalStore.applicationID}_Signature.${typeCreater}`\r\n : `${GlobalStore.applicationID}_Signature}.${typeCreater}`,\r\n DocType: \"1\",\r\n QltyByPassFlag: \"0\",\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: `${GlobalStore.applicationID}_Signature.${\r\n type!.split(\"/\")[1]\r\n }`,\r\n DocType: \"1\",\r\n QltyByPassFlag: \"0\",\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n\r\n function onIncomeUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n incomeObj.imgUrl = \"\";\r\n setIncomeObj(incomeObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n function handErrorForFileUpload(id: string, res: any) {\r\n if (id === \"firstBankDoc\") {\r\n setFirstBankListError(res.error);\r\n }\r\n if (id === \"secondBankDoc\") {\r\n setSecondBankListError(res.error);\r\n }\r\n if (id === \"thirdBankDoc\") {\r\n setThirdBankListError(res.error);\r\n }\r\n if (id === \"fourthBankDoc\") {\r\n setFourthBankListError(res.error);\r\n }\r\n if (id === \"fifthBankDoc\") {\r\n setFifthBankListError(res.error);\r\n }\r\n if (id === \"permAddress\") {\r\n setPermAddListError(res.error);\r\n }\r\n if (id === \"corrAddress\") {\r\n setCorrAddListError(res.error);\r\n }\r\n if (id === \"signature\") {\r\n setSignatureListError(res.error);\r\n }\r\n if (id === \"incomeDoc\") {\r\n setIncomeListError(res.error);\r\n }\r\n if (id === \"permSecondAddress\") {\r\n setSecondDocError(res.error);\r\n }\r\n if (id === \"corrSecondAddress\") {\r\n setCorrSecondDocError(res.error);\r\n }\r\n\r\n if (id === \"nomFirstPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomFirstPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"nomFirstSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomFirstSignature: res.error,\r\n });\r\n }\r\n if (id === \"nomSecondPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomSecondPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"nomSecondSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomSecondSignature: res.error,\r\n });\r\n }\r\n if (id === \"nomThirdPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomThirdPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"nomThirdSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomThirdSignature: res.error,\r\n });\r\n }\r\n if (id === \"guardianFirstPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianFirstPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"guardianFirstSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianFirstSignature: res.error,\r\n });\r\n }\r\n if (id === \"guardianSecondPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianSecondPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"guardianSecondSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianSecondSignature: res.error,\r\n });\r\n }\r\n if (id === \"guardianThirdPhotoId\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianThirdPhotoId: res.error,\r\n });\r\n }\r\n if (id === \"guardianThirdSignature\") {\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianThirdSignature: res.error,\r\n });\r\n }\r\n }\r\n\r\n const getUploadRes = (res: any, id: string, val: any, fileName: string) => {\r\n if (!res || res.error) {\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n setIsLoading(false);\r\n // setErrCode(\"1361- Error in uploading the file.\");\\\r\n handErrorForFileUpload(id, res);\r\n if (\r\n !res?.errorCode?.includes(\"C11BE292\") &&\r\n !res?.errorCode?.includes(\"C11BE422\")\r\n ) {\r\n setErrCode(errCode + res.error);\r\n }\r\n } else {\r\n if (res.data) {\r\n setErrCode(errCode);\r\n if (id === \"panCard\") {\r\n setIsLoading(true);\r\n setIsNewPan(true);\r\n setPanName(res.data.Guid);\r\n panObj.documentId = panDocumentId;\r\n const panOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: \"PAN Card\",\r\n documentid: panObj.documentId,\r\n source: DIY,\r\n };\r\n\r\n AextractPan((res: any) => storeOcrData(res, panOCR), panOCR);\r\n if (photoBase64 !== undefined && panBase64 !== undefined) {\r\n setErrCode(errCode);\r\n }\r\n } else if (id === \"firstBankDoc\") {\r\n setIsLoading(false);\r\n setFirstBankListError(\"\");\r\n setIsNewFirstBank(true);\r\n setFirstBankName(res.data.Guid);\r\n\r\n const firstBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: firstBankObj.documentcategory,\r\n documentid: firstBankObj.documentId,\r\n source: DIY,\r\n bankName: firstBankDetails.BankName,\r\n accountType: firstBankDetails.AccountType,\r\n };\r\n if (firstBankObj.documentId === firstChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, firstBankOCR),\r\n firstBankOCR\r\n );\r\n } else if (firstBankObj.documentId === firstBankStatementDocumnetId) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, firstBankOCR),\r\n firstBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"secondBankDoc\") {\r\n setIsLoading(false);\r\n setSecondBankListError(\"\");\r\n setIsNewSecondBank(true);\r\n setSecondBankName(res.data.Guid);\r\n\r\n const secondBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: secondBankObj.documentcategory,\r\n documentid: secondBankObj.documentId,\r\n source: DIY,\r\n bankName: secondBankDetails.BankName,\r\n accountType: secondBankDetails.AccountType,\r\n };\r\n if (secondBankObj.documentId === secondChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, secondBankOCR),\r\n secondBankOCR\r\n );\r\n } else if (\r\n secondBankObj.documentId === secondBankStatementDocumnetId\r\n ) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, secondBankOCR),\r\n secondBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"thirdBankDoc\") {\r\n setIsLoading(false);\r\n setThirdBankListError(\"\");\r\n setIsNewThirdBank(true);\r\n setThirdBankName(res.data.Guid);\r\n\r\n const thirdBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: thirdBankObj.documentcategory,\r\n documentid: thirdBankObj.documentId,\r\n source: DIY,\r\n bankName: thirdBankDetails.BankName,\r\n accountType: thirdBankDetails.AccountType,\r\n };\r\n if (thirdBankObj.documentId === thirdChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, thirdBankOCR),\r\n thirdBankOCR\r\n );\r\n } else if (thirdBankObj.documentId === thirdBankStatementDocumnetId) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, thirdBankOCR),\r\n thirdBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"fourthBankDoc\") {\r\n setIsLoading(false);\r\n setFourthBankListError(\"\");\r\n setIsNewFourthBank(true);\r\n setFourthBankName(res.data.Guid);\r\n const fourthBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: fourthBankObj.documentcategory,\r\n documentid: fourthBankObj.documentId,\r\n source: DIY,\r\n bankName: fourthBankDetails.BankName,\r\n accountType: fourthBankDetails.AccountType,\r\n };\r\n if (fourthBankObj.documentId === fourthChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, fourthBankOCR),\r\n fourthBankOCR\r\n );\r\n } else if (\r\n fourthBankObj.documentId === fourthBankStatementDocumnetId\r\n ) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, fourthBankOCR),\r\n fourthBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"fifthBankDoc\") {\r\n setIsLoading(false);\r\n setFifthBankListError(\"\");\r\n setIsNewFifthBank(true);\r\n setFifthBankName(res.data.Guid);\r\n const fifthBankOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: fifthBankObj.documentcategory,\r\n documentid: fifthBankObj.documentId,\r\n source: DIY,\r\n bankName: fifthBankDetails.BankName,\r\n accountType: fifthBankDetails.AccountType,\r\n };\r\n if (fifthBankObj.documentId === fifthChequeDocumnetId) {\r\n setIsLoading(true);\r\n AextractCheque(\r\n (res: any) => storeOcrData(res, fifthBankOCR),\r\n fifthBankOCR\r\n );\r\n } else if (fifthBankObj.documentId === fifthBankStatementDocumnetId) {\r\n setIsLoading(true);\r\n AextractBankStatement(\r\n (res: any) => storeOcrData(res, fifthBankOCR),\r\n fifthBankOCR\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n } else if (id === \"permAddress\" && fileName.split(\".\")[1] === \"pdf\") {\r\n setIsLoading(false);\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else if (id === \"permAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n const aadharOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, aadharOCR),\r\n aadharOCR\r\n );\r\n } else setIsLoading(false);\r\n } else if (id === \"permSecondAddress\") {\r\n setSecondDocError(\"\");\r\n setIsLoading(true);\r\n setIsNewPermAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: permAddressObj.base64,\r\n image2: permSecondAddressObj.base64,\r\n imagename1: permAddressObj.fileName,\r\n imagename2: permSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getPDFData, uploadImageObj);\r\n } else if (id === \"corrAddress\" && fileName.split(\".\")[1] === \"pdf\") {\r\n setIsLoading(false);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n setCorrAddressName(res.data.Guid);\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else if (id === \"corrAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setIsNewCorrAddress(true);\r\n setCorrAddListError(\"\");\r\n setCorrAddressName(res.data.Guid);\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n const aadharOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, aadharOCR),\r\n aadharOCR\r\n );\r\n } else setIsLoading(false);\r\n } else if (\r\n id === \"corrAddress\" &&\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n corrSecondAddressObj.base64 !== undefined\r\n ) {\r\n setIsLoading(true);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: corrAddressObj.base64,\r\n image2: corrSecondAddressObj.base64,\r\n imagename1: corrAddressObj.fileName,\r\n imagename2: corrSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getCorrPDFData, uploadImageObj);\r\n } else if (id === \"corrSecondAddress\") {\r\n setIsLoading(true);\r\n setCorrSecondDocError(\"\");\r\n setIsNewCorrAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: corrAddressObj.base64,\r\n image2: corrSecondAddressObj.base64,\r\n imagename1: corrAddressObj.fileName,\r\n imagename2: corrSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getCorrPDFData, uploadImageObj);\r\n } else if (id === \"signature\") {\r\n setIsLoading(false);\r\n setSignatureListError(\"\");\r\n\r\n setIsNewSignature(true);\r\n setSignatureName(res.data.Guid);\r\n signatureObj.documentId = signatureDocumentId;\r\n } else if (id === \"incomeDoc\") {\r\n setIsLoading(false);\r\n setIncomeListError(\"\");\r\n setIsNewIncome(true);\r\n setIncomeName(res.data.Guid);\r\n } else if (id === \"nomFirstPhotoId\") {\r\n let nomineeOneCopy = [...nomineeFirstObj];\r\n nomineeOneCopy[0].fileName = res.data.Guid;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomFirstPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomFirstPhoto: true,\r\n });\r\n } else if (id === \"nomFirstSignature\") {\r\n let nomineeOneCopy = [...nomineeFirstObj];\r\n nomineeOneCopy[1].fileName = res.data.Guid;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomFirstSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomFirstSignature: true,\r\n });\r\n } else if (id === \"nomSecondPhotoId\") {\r\n let nomineeTwoCopy = [...nomineeSecondObj];\r\n nomineeTwoCopy[0].fileName = res.data.Guid;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomSecondPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomSecondPhoto: true,\r\n });\r\n } else if (id === \"nomSecondSignature\") {\r\n let nomineeTwoCopy = [...nomineeSecondObj];\r\n nomineeTwoCopy[1].fileName = res.data.Guid;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomSecondSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomSecondSignature: true,\r\n });\r\n } else if (id === \"nomThirdPhotoId\") {\r\n let nomineeThreeCopy = [...nomineeThirdObj];\r\n nomineeThreeCopy[0].fileName = res.data.Guid;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomThirdPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomThirdPhoto: true,\r\n });\r\n } else if (id === \"nomThirdSignature\") {\r\n let nomineeThreeCopy = [...nomineeThirdObj];\r\n nomineeThreeCopy[1].fileName = res.data.Guid;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n nomThirdSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isNomThirdSignature: true,\r\n });\r\n } else if (id === \"guardianFirstPhotoId\") {\r\n let GuardianOneCopy = [...guardianFirstObj];\r\n GuardianOneCopy[0].fileName = res.data.Guid;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianFirstPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianFirstPhoto: true,\r\n });\r\n } else if (id === \"guardianFirstSignature\") {\r\n let GuardianOneCopy = [...guardianFirstObj];\r\n GuardianOneCopy[1].fileName = res.data.Guid;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianFirstSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianFirstSignature: true,\r\n });\r\n } else if (id === \"guardianSecondPhotoId\") {\r\n let GuardianTwoCopy = [...guardianSecondObj];\r\n GuardianTwoCopy[0].fileName = res.data.Guid;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianSecondPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianSecondPhoto: true,\r\n });\r\n } else if (id === \"guardianSecondSignature\") {\r\n setIsLoading(false);\r\n let GuardianTwoCopy = [...guardianSecondObj];\r\n GuardianTwoCopy[1].fileName = res.data.Guid;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianSecondSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianSecondSignature: true,\r\n });\r\n } else if (id === \"guardianThirdPhotoId\") {\r\n let GuardianThreeCopy = [...guardianThirdObj];\r\n GuardianThreeCopy[0].fileName = res.data.Guid;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianThirdPhotoId: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianThirdPhoto: true,\r\n });\r\n } else if (id === \"guardianThirdSignature\") {\r\n let GuardianThreeCopy = [...guardianThirdObj];\r\n GuardianThreeCopy[1].fileName = res.data.Guid;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n setIsLoading(false);\r\n setNomineeGuardianError({\r\n ...nomineeGuardianError,\r\n guardianThirdSignature: \"\",\r\n });\r\n setIsNomineeGuardian({\r\n ...isNomineeGuardian,\r\n isGuardianThirdSignature: true,\r\n });\r\n }\r\n } else {\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"UploadDocumentToS3\",\r\n label: \"ERROR || ERR140-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let panCopy = { ...panObj };\r\n let firstBankCopy = { ...firstBankObj };\r\n let secondBankCopy = { ...secondBankObj };\r\n let thirdBankCopy = { ...thirdBankObj };\r\n let fourthBankCopy = { ...fourthBankObj };\r\n let fifthBankCopy = { ...fifthBankObj };\r\n let permAddressCopy = { ...permAddressObj };\r\n let permSecondAddressCopy = { ...permSecondAddressObj };\r\n let corrAddressCopy = { ...corrAddressObj };\r\n let corrSecondAddressCopy = { ...corrSecondAddressObj };\r\n let signatureCopy = { ...signatureObj };\r\n let incomeCopy = { ...incomeObj };\r\n let nomineeOneCopy = [...nomineeFirstObj];\r\n let nomineeTwoCopy = [...nomineeSecondObj];\r\n let nomineeThreeCopy = [...nomineeThirdObj];\r\n let GuardianOneCopy = [...guardianFirstObj];\r\n let GuardianTwoCopy = [...guardianSecondObj];\r\n let GuardianThreeCopy = [...guardianThirdObj];\r\n\r\n if (percentage < 100) {\r\n if (id === \"panCard\") {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.hideProgress = true;\r\n panCopy.showFile = false;\r\n setPanObj(panCopy);\r\n } else if (id === \"firstBankDoc\") {\r\n firstBankCopy.id = id;\r\n firstBankCopy.disable = false;\r\n firstBankCopy.uploadPer = percentage;\r\n firstBankCopy.hideProgress = true;\r\n firstBankCopy.showFile = false;\r\n setFirstBankObj(firstBankCopy);\r\n } else if (id === \"secondBankDoc\") {\r\n secondBankCopy.id = id;\r\n secondBankCopy.disable = false;\r\n secondBankCopy.uploadPer = percentage;\r\n secondBankCopy.hideProgress = true;\r\n secondBankCopy.showFile = false;\r\n setSecondBankObj(secondBankCopy);\r\n } else if (id === \"thirdBankDoc\") {\r\n thirdBankCopy.id = id;\r\n thirdBankCopy.disable = false;\r\n thirdBankCopy.uploadPer = percentage;\r\n thirdBankCopy.hideProgress = true;\r\n thirdBankCopy.showFile = false;\r\n setThirdBankObj(thirdBankCopy);\r\n } else if (id === \"fourthBankDoc\") {\r\n fourthBankCopy.id = id;\r\n fourthBankCopy.disable = false;\r\n fourthBankCopy.uploadPer = percentage;\r\n fourthBankCopy.hideProgress = true;\r\n fourthBankCopy.showFile = false;\r\n setFourthBankObj(fourthBankCopy);\r\n } else if (id === \"fifthBankDoc\") {\r\n fifthBankCopy.id = id;\r\n fifthBankCopy.disable = false;\r\n fifthBankCopy.uploadPer = percentage;\r\n fifthBankCopy.hideProgress = true;\r\n fifthBankCopy.showFile = false;\r\n setFifthBankObj(fifthBankCopy);\r\n } else if (id === \"permAddress\") {\r\n permAddressCopy.id = id;\r\n permAddressCopy.disable = false;\r\n permAddressCopy.uploadPer = percentage;\r\n permAddressCopy.hideProgress = true;\r\n permAddressCopy.showFile = false;\r\n setPermAddressObj(permAddressCopy);\r\n } else if (id === \"permSecondAddress\") {\r\n permSecondAddressCopy.id = id;\r\n permSecondAddressCopy.disable = false;\r\n permSecondAddressCopy.uploadPer = percentage;\r\n permSecondAddressCopy.hideProgress = true;\r\n permSecondAddressCopy.showFile = false;\r\n setPermSecondAddressObj(permSecondAddressCopy);\r\n } else if (id === \"corrAddress\") {\r\n corrAddressCopy.id = id;\r\n corrAddressCopy.disable = false;\r\n corrAddressCopy.uploadPer = percentage;\r\n corrAddressCopy.hideProgress = true;\r\n corrAddressCopy.showFile = false;\r\n setCorrAddressObj(corrAddressCopy);\r\n } else if (id === \"corrSecondAddress\") {\r\n corrSecondAddressCopy.id = id;\r\n corrSecondAddressCopy.disable = false;\r\n corrSecondAddressCopy.uploadPer = percentage;\r\n corrSecondAddressCopy.hideProgress = true;\r\n corrSecondAddressCopy.showFile = false;\r\n setCorrSecondAddressObj(corrSecondAddressCopy);\r\n } else if (id === \"signature\") {\r\n signatureCopy.id = id;\r\n signatureCopy.disable = false;\r\n signatureCopy.uploadPer = percentage;\r\n signatureCopy.hideProgress = true;\r\n signatureCopy.showFile = false;\r\n setSignatureObj({ ...signatureCopy });\r\n } else if (id === \"incomeDoc\") {\r\n incomeCopy.id = id;\r\n incomeCopy.disable = false;\r\n incomeCopy.uploadPer = percentage;\r\n incomeCopy.hideProgress = true;\r\n incomeCopy.showFile = false;\r\n setIncomeObj(incomeCopy);\r\n } else if (id === \"nomFirstPhotoId\") {\r\n nomineeOneCopy[0].disable = false;\r\n nomineeOneCopy[0].uploadPer = percentage;\r\n nomineeOneCopy[0].hideProgress = true;\r\n nomineeOneCopy[0].showFile = false;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n } else if (id === \"nomFirstSignature\") {\r\n nomineeOneCopy[1].disable = false;\r\n nomineeOneCopy[1].uploadPer = percentage;\r\n nomineeOneCopy[1].hideProgress = true;\r\n nomineeOneCopy[1].showFile = false;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n } else if (id === \"nomSecondPhotoId\") {\r\n nomineeTwoCopy[0].disable = false;\r\n nomineeTwoCopy[0].uploadPer = percentage;\r\n nomineeTwoCopy[0].hideProgress = true;\r\n nomineeTwoCopy[0].showFile = false;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n } else if (id === \"nomSecondSignature\") {\r\n nomineeTwoCopy[1].disable = false;\r\n nomineeTwoCopy[1].uploadPer = percentage;\r\n nomineeTwoCopy[1].hideProgress = true;\r\n nomineeTwoCopy[1].showFile = false;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n } else if (id === \"nomThirdPhotoId\") {\r\n nomineeThreeCopy[0].disable = false;\r\n nomineeThreeCopy[0].uploadPer = percentage;\r\n nomineeThreeCopy[0].hideProgress = true;\r\n nomineeThreeCopy[0].showFile = false;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n } else if (id === \"nomThirdSignature\") {\r\n nomineeThreeCopy[1].disable = false;\r\n nomineeThreeCopy[1].uploadPer = percentage;\r\n nomineeThreeCopy[1].hideProgress = true;\r\n nomineeThreeCopy[1].showFile = false;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n } else if (id === \"guardianFirstPhotoId\") {\r\n GuardianOneCopy[0].disable = false;\r\n GuardianOneCopy[0].uploadPer = percentage;\r\n GuardianOneCopy[0].hideProgress = true;\r\n GuardianOneCopy[0].showFile = false;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n } else if (id === \"guardianFirstSignature\") {\r\n GuardianOneCopy[1].disable = false;\r\n GuardianOneCopy[1].uploadPer = percentage;\r\n GuardianOneCopy[1].hideProgress = true;\r\n GuardianOneCopy[1].showFile = false;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n } else if (id === \"guardianSecondPhotoId\") {\r\n GuardianTwoCopy[0].disable = false;\r\n GuardianTwoCopy[0].uploadPer = percentage;\r\n GuardianTwoCopy[0].hideProgress = true;\r\n GuardianTwoCopy[0].showFile = false;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n } else if (id === \"guardianSecondSignature\") {\r\n GuardianTwoCopy[1].disable = false;\r\n GuardianTwoCopy[1].uploadPer = percentage;\r\n GuardianTwoCopy[1].hideProgress = true;\r\n GuardianTwoCopy[1].showFile = false;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n } else if (id === \"guardianThirdPhotoId\") {\r\n GuardianThreeCopy[0].disable = false;\r\n GuardianThreeCopy[0].uploadPer = percentage;\r\n GuardianThreeCopy[0].hideProgress = true;\r\n GuardianThreeCopy[0].showFile = false;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n } else if (id === \"guardianThirdSignature\") {\r\n GuardianThreeCopy[1].disable = false;\r\n GuardianThreeCopy[1].uploadPer = percentage;\r\n GuardianThreeCopy[1].hideProgress = true;\r\n GuardianThreeCopy[1].showFile = false;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n }\r\n } else if (percentage === 100) {\r\n if (id === \"panCard\") {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.showFile = false;\r\n panCopy.hideProgress = false;\r\n panCopy.fileName = fileName;\r\n panCopy.mimeType = type;\r\n setPanObj(panCopy);\r\n } else if (id === \"firstBankDoc\") {\r\n firstBankCopy.id = id;\r\n firstBankCopy.disable = false;\r\n firstBankCopy.uploadPer = percentage;\r\n firstBankCopy.fileName = fileName;\r\n firstBankCopy.showFile = false;\r\n firstBankCopy.hideProgress = false;\r\n firstBankCopy.mimeType = type;\r\n setFirstBankObj(firstBankCopy);\r\n } else if (id === \"secondBankDoc\") {\r\n secondBankCopy.id = id;\r\n secondBankCopy.disable = false;\r\n secondBankCopy.uploadPer = percentage;\r\n secondBankCopy.fileName = fileName;\r\n secondBankCopy.showFile = false;\r\n secondBankCopy.hideProgress = false;\r\n secondBankCopy.mimeType = type;\r\n setSecondBankObj(secondBankCopy);\r\n } else if (id === \"thirdBankDoc\") {\r\n thirdBankCopy.id = id;\r\n thirdBankCopy.disable = false;\r\n thirdBankCopy.uploadPer = percentage;\r\n thirdBankCopy.fileName = fileName;\r\n thirdBankCopy.showFile = false;\r\n thirdBankCopy.hideProgress = false;\r\n thirdBankCopy.mimeType = type;\r\n setThirdBankObj(thirdBankCopy);\r\n } else if (id === \"fourthBankDoc\") {\r\n fourthBankCopy.id = id;\r\n fourthBankCopy.disable = false;\r\n fourthBankCopy.uploadPer = percentage;\r\n fourthBankCopy.fileName = fileName;\r\n fourthBankCopy.showFile = false;\r\n fourthBankCopy.hideProgress = false;\r\n fourthBankCopy.mimeType = type;\r\n setFourthBankObj(fourthBankCopy);\r\n } else if (id === \"fifthBankDoc\") {\r\n fifthBankCopy.id = id;\r\n fifthBankCopy.disable = false;\r\n fifthBankCopy.uploadPer = percentage;\r\n fifthBankCopy.fileName = fileName;\r\n fifthBankCopy.showFile = false;\r\n fifthBankCopy.hideProgress = false;\r\n fifthBankCopy.mimeType = type;\r\n setFifthBankObj(fifthBankCopy);\r\n } else if (id === \"permAddress\") {\r\n permAddressCopy.id = id;\r\n permAddressCopy.disable = false;\r\n permAddressCopy.uploadPer = percentage;\r\n permAddressCopy.showFile = false;\r\n permAddressCopy.hideProgress = false;\r\n permAddressCopy.mimeType = type;\r\n permAddressCopy.fileName = fileName;\r\n setPermAddressObj(permAddressCopy);\r\n } else if (id === \"permSecondAddress\") {\r\n permSecondAddressCopy.id = id;\r\n permSecondAddressCopy.disable = false;\r\n permSecondAddressCopy.uploadPer = percentage;\r\n permSecondAddressCopy.showFile = false;\r\n permSecondAddressCopy.hideProgress = false;\r\n permSecondAddressCopy.mimeType = type;\r\n permSecondAddressCopy.fileName = fileName;\r\n setPermSecondAddressObj(permSecondAddressCopy);\r\n } else if (id === \"corrAddress\") {\r\n corrAddressCopy.id = id;\r\n corrAddressCopy.disable = false;\r\n corrAddressCopy.uploadPer = percentage;\r\n corrAddressCopy.showFile = false;\r\n corrAddressCopy.hideProgress = false;\r\n corrAddressCopy.mimeType = type;\r\n corrAddressCopy.fileName = fileName;\r\n setCorrAddressObj(corrAddressCopy);\r\n } else if (id === \"corrSecondAddress\") {\r\n corrSecondAddressCopy.id = id;\r\n corrSecondAddressCopy.disable = false;\r\n corrSecondAddressCopy.uploadPer = percentage;\r\n corrSecondAddressCopy.showFile = false;\r\n corrSecondAddressCopy.hideProgress = false;\r\n corrSecondAddressCopy.mimeType = type;\r\n corrSecondAddressCopy.fileName = fileName;\r\n setCorrSecondAddressObj(corrSecondAddressCopy);\r\n } else if (id === \"signature\") {\r\n signatureCopy.id = id;\r\n signatureCopy.disable = false;\r\n signatureCopy.uploadPer = percentage;\r\n signatureCopy.showFile = false;\r\n signatureCopy.hideProgress = false;\r\n signatureCopy.mimeType = type;\r\n signatureCopy.fileName = fileName;\r\n setSignatureObj(signatureCopy);\r\n } else if (id === \"incomeDoc\") {\r\n incomeCopy.id = id;\r\n incomeCopy.disable = false;\r\n incomeCopy.uploadPer = percentage;\r\n incomeCopy.showFile = false;\r\n incomeCopy.hideProgress = false;\r\n incomeCopy.mimeType = type;\r\n incomeCopy.fileName = fileName;\r\n setIncomeObj(incomeCopy);\r\n } else if (id === \"nomFirstPhotoId\") {\r\n nomineeOneCopy[0].disable = false;\r\n nomineeOneCopy[0].uploadPer = percentage;\r\n nomineeOneCopy[0].showFile = false;\r\n nomineeOneCopy[0].hideProgress = false;\r\n nomineeOneCopy[0].mimeType = type;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n } else if (id === \"nomFirstSignature\") {\r\n nomineeOneCopy[1].disable = false;\r\n nomineeOneCopy[1].uploadPer = percentage;\r\n nomineeOneCopy[1].showFile = false;\r\n nomineeOneCopy[1].hideProgress = false;\r\n nomineeOneCopy[1].mimeType = type;\r\n setNomineeFirstObj(nomineeOneCopy);\r\n } else if (id === \"nomSecondPhotoId\") {\r\n nomineeTwoCopy[0].disable = false;\r\n nomineeTwoCopy[0].uploadPer = percentage;\r\n nomineeTwoCopy[0].showFile = false;\r\n nomineeTwoCopy[0].hideProgress = false;\r\n nomineeTwoCopy[0].mimeType = type;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n } else if (id === \"nomSecondSignature\") {\r\n nomineeTwoCopy[1].disable = false;\r\n nomineeTwoCopy[1].uploadPer = percentage;\r\n nomineeTwoCopy[1].showFile = false;\r\n nomineeTwoCopy[1].hideProgress = false;\r\n nomineeTwoCopy[1].mimeType = type;\r\n setNomineeSecondObj(nomineeTwoCopy);\r\n } else if (id === \"nomThirdPhotoId\") {\r\n nomineeThreeCopy[0].disable = false;\r\n nomineeThreeCopy[0].uploadPer = percentage;\r\n nomineeThreeCopy[0].showFile = false;\r\n nomineeThreeCopy[0].hideProgress = false;\r\n nomineeThreeCopy[0].mimeType = type;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n } else if (id === \"nomThirdSignature\") {\r\n nomineeThreeCopy[1].disable = false;\r\n nomineeThreeCopy[1].uploadPer = percentage;\r\n nomineeThreeCopy[1].showFile = false;\r\n nomineeThreeCopy[1].hideProgress = false;\r\n nomineeThreeCopy[1].mimeType = type;\r\n setNomineeThirdObj(nomineeThreeCopy);\r\n } else if (id === \"guardianFirstPhotoId\") {\r\n GuardianOneCopy[0].disable = false;\r\n GuardianOneCopy[0].uploadPer = percentage;\r\n GuardianOneCopy[0].showFile = false;\r\n GuardianOneCopy[0].hideProgress = false;\r\n GuardianOneCopy[0].mimeType = type;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n } else if (id === \"guardianFirstSignature\") {\r\n GuardianOneCopy[1].disable = false;\r\n GuardianOneCopy[1].uploadPer = percentage;\r\n GuardianOneCopy[1].showFile = false;\r\n GuardianOneCopy[1].hideProgress = false;\r\n GuardianOneCopy[1].mimeType = type;\r\n setGuardianFirstObj(GuardianOneCopy);\r\n } else if (id === \"guardianSecondPhotoId\") {\r\n GuardianTwoCopy[0].disable = false;\r\n GuardianTwoCopy[0].uploadPer = percentage;\r\n GuardianTwoCopy[0].showFile = false;\r\n GuardianTwoCopy[0].hideProgress = false;\r\n GuardianTwoCopy[0].mimeType = type;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n } else if (id === \"guardianSecondSignature\") {\r\n GuardianTwoCopy[1].disable = false;\r\n GuardianTwoCopy[1].uploadPer = percentage;\r\n GuardianTwoCopy[1].showFile = false;\r\n GuardianTwoCopy[1].hideProgress = false;\r\n GuardianTwoCopy[1].mimeType = type;\r\n setGuardianSecondObj(GuardianTwoCopy);\r\n } else if (id === \"guardianThirdPhotoId\") {\r\n GuardianThreeCopy[0].disable = false;\r\n GuardianThreeCopy[0].uploadPer = percentage;\r\n GuardianThreeCopy[0].showFile = false;\r\n GuardianThreeCopy[0].hideProgress = false;\r\n GuardianThreeCopy[0].mimeType = type;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n } else if (id === \"guardianThirdSignature\") {\r\n GuardianThreeCopy[1].disable = false;\r\n GuardianThreeCopy[1].uploadPer = percentage;\r\n GuardianThreeCopy[1].showFile = false;\r\n GuardianThreeCopy[1].hideProgress = false;\r\n GuardianThreeCopy[1].mimeType = type;\r\n setGuardianThirdObj(GuardianThreeCopy);\r\n }\r\n }\r\n };\r\n\r\n const storeOcrData = (res: any, id: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"Invalid Image\");\r\n setRemovePanImg(true);\r\n setIsNewPan(false);\r\n // setErrCode(res.data.message);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR134\" });\r\n setIsLoading(false);\r\n } else if (res.data) {\r\n setErrCode(errCode);\r\n setIsLoading(false);\r\n if (id.documentid === panDocumentId) {\r\n setRemovePanImg(false);\r\n setIsNewPan(true);\r\n setPanCardError(\"\");\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n clientPartialDetails_ao.pan !==\r\n res.data.result.extraction_output.id_number &&\r\n moment(clientPartialDetails_ao.birthDate).format(\"YYYY-MM-DD\") !==\r\n res.data.result.extraction_output.date_of_birth\r\n ) {\r\n setIsPanAndDobMatch(false);\r\n setErrCode(errorMessage.imgNotMatchWithPan);\r\n setPanCardError(errorMessage.imgNotMatchWithPan);\r\n } else {\r\n setIsPanAndDobMatch(true);\r\n setPanCardError(\"\");\r\n setErrCode(\"\");\r\n }\r\n\r\n GlobalStore.panOCRObj = res.data.result.extraction_output;\r\n } else if (\r\n id.documentid === firstChequeDocumnetId ||\r\n id.documentid === firstBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (\r\n id.documentid === secondChequeDocumnetId ||\r\n id.documentid === secondBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (\r\n id.documentid === thirdChequeDocumnetId ||\r\n id.documentid === thirdBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (\r\n id.documentid === fourthChequeDocumnetId ||\r\n id.documentid === fourthBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (\r\n id.documentid === fifthChequeDocumnetId ||\r\n id.documentid === fifthBankStatementDocumnetId\r\n ) {\r\n if (!bankStage) {\r\n GlobalStore.chequeOCRObj = res.data.result.extraction_output;\r\n }\r\n } else if (id.documentid === aadhaarDocumnetId) {\r\n setAadharAddress(false);\r\n // if (anotherFile)\r\n // GlobalStore.aadhaarOCRObj = { ...GlobalStore.aadhaarOCRObj, ...res.data.result.extraction_output };\r\n // else\r\n GlobalStore.aadhaarOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n // console.log('GlobalStore.aadhaarOCRObj: ', GlobalStore.aadhaarOCRObj);\r\n if (!GlobalStore.aadhaarOCRObj.address) {\r\n alert(\r\n // \"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n } else {\r\n setAadharAddress(true);\r\n }\r\n } else if (id.documentid === passportDocumnetId) {\r\n GlobalStore.passportOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === voterIdDocumentId) {\r\n GlobalStore.voterIdOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === dlDocumentId) {\r\n GlobalStore.dlOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === corrAadhaarDocumnetId) {\r\n setCorrAadharAddress(false);\r\n // if (corrAnotherFile)\r\n // GlobalStore.corrAadhaarOCRObj = {\r\n // ...GlobalStore.corrAadhaarOCRObj,\r\n // ...res.data.result.extraction_output,\r\n // };\r\n // else\r\n GlobalStore.corrAadhaarOCRObj = res.data.result.extraction_output;\r\n // console.log('GlobalStore.corrAadhaarOCRObj: ', GlobalStore.corrAadhaarOCRObj);\r\n if (!GlobalStore.corrAadhaarOCRObj.address) {\r\n alert(\r\n //\"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n } else {\r\n setCorrAadharAddress(true);\r\n }\r\n } else if (id.documentid === corrPassportDocumnetId) {\r\n GlobalStore.corrPassportOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === corrVoterIdDocumentId) {\r\n GlobalStore.corrVoterIdOCRObj = res.data.result.extraction_output;\r\n } else if (id.documentid === corrDlDocumentId) {\r\n GlobalStore.corrDlOCRObj = res.data.result.extraction_output;\r\n }\r\n } else {\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR134-S\" });\r\n }\r\n };\r\n\r\n const uploadDoc = () => {\r\n gtmService({\r\n action: \"DOCUMENT_VERIFICATION\",\r\n label: \"DOCUMENT_UPLOAD | UPLOAD\",\r\n });\r\n setUploadDocFlag(true);\r\n setUploadViaWatsAppFlag(false);\r\n };\r\n\r\n const uploadViaWatsApp = () => {\r\n gtmService({\r\n action: \"DOCUMENT_VERIFICATION\",\r\n label: \"DOCUMENT_UPLOAD | WHATSAPP\",\r\n });\r\n setUploadDocFlag(false);\r\n setUploadViaWatsAppFlag(true);\r\n };\r\n\r\n const saveViaWatsApp = () => {\r\n const saveDetails = [];\r\n if (photoObj && photoObj.fileName === \"\") {\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: autoQc,\r\n iskycdocument: false,\r\n isWatsappFlag: true,\r\n };\r\n saveDetails.push(savePhotoObj);\r\n }\r\n\r\n if (\r\n photoObj &&\r\n isNewPhoto &&\r\n (photoObj.fileName !== \"\" || photoObj.fileName !== undefined)\r\n ) {\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: photoObj.fileName,\r\n isfilecropped: true,\r\n mimeType: photoObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: autoQc,\r\n iskycdocument: false,\r\n isWatsappFlag: false,\r\n };\r\n saveDetails.push(savePhotoObj);\r\n }\r\n if (panObj && panObj.fileName === \"\") {\r\n console.log(\"panObj && panObj.fileName === \");\r\n let savePanObj = {\r\n documentCategoryId: panObj.documentCategoryId?.toString(),\r\n documentId: panObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(savePanObj);\r\n console.log(\"savePanObj\", savePanObj);\r\n }\r\n\r\n if (\r\n firstBankObj &&\r\n firstBankObj.fileName === \"\" &&\r\n firstBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let firstBanObj = {\r\n documentCategoryId: firstBankObj.documentCategoryId?.toString(),\r\n documentId: firstBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(firstBanObj);\r\n }\r\n\r\n if (\r\n secondBankObj &&\r\n secondBankObj.fileName === \"\" &&\r\n secondBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveSecondBankObj = {\r\n documentCategoryId: secondBankObj.documentCategoryId?.toString(),\r\n documentId: secondBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveSecondBankObj);\r\n }\r\n\r\n if (\r\n thirdBankObj &&\r\n thirdBankObj.fileName === \"\" &&\r\n thirdBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveThirdBankObj = {\r\n documentCategoryId: thirdBankObj.documentCategoryId?.toString(),\r\n documentId: thirdBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveThirdBankObj);\r\n }\r\n\r\n if (\r\n fourthBankObj &&\r\n fourthBankObj.fileName === \"\" &&\r\n fourthBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveFourthBankObj = {\r\n documentCategoryId: fourthBankObj.documentCategoryId?.toString(),\r\n documentId: fourthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveFourthBankObj);\r\n }\r\n\r\n if (\r\n fifthBankObj &&\r\n fifthBankObj.fileName === \"\" &&\r\n fifthBankObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveFifthBankObj = {\r\n documentCategoryId: fifthBankObj.documentCategoryId?.toString(),\r\n documentId: fifthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveFifthBankObj);\r\n }\r\n\r\n if (\r\n permAddressObj &&\r\n permAddressObj.fileName === \"\" &&\r\n permAddressObj.documentCategoryId !== \"\"\r\n ) {\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(savepermAddressObj);\r\n }\r\n if (\r\n corrAddressObj &&\r\n corrAddressObj.fileName === \"\" &&\r\n corrAddressObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveCorrAddressObj);\r\n }\r\n\r\n if (\r\n signatureObj &&\r\n signatureObj.fileName === \"\" &&\r\n signatureObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveSignatureObj = {\r\n documentCategoryId: signatureObj.documentCategoryId?.toString(),\r\n documentId: signatureObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveSignatureObj);\r\n }\r\n\r\n if (\r\n incomeObj &&\r\n incomeObj.fileName === \"\" &&\r\n incomeObj.documentCategoryId !== \"\"\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: incomeObj.documentCategoryId?.toString(),\r\n documentId: incomeObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: \".\",\r\n isfilecropped: true,\r\n mimeType: \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n console.log(\"LineNO-2698 saveObj\", saveObj);\r\n ASaveDocumentDetails(getSaveStatus, saveObj);\r\n };\r\n\r\n const sendViaWatsapp = (val: string) => {\r\n if (val === \"Pan\") {\r\n if (togPAN === true) {\r\n setTogPAN(false);\r\n } else {\r\n panObj.isWatsappFlag = true;\r\n panObj.fileName = \".\";\r\n panObj.mimeType = \".\";\r\n setTogPAN(true);\r\n }\r\n } else if (val === \"FirstBank\") {\r\n if (togFirstBank === true) {\r\n setTogFirstBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogFirstBank(true);\r\n }\r\n } else if (val === \"SecondBank\") {\r\n if (togSecondBank === true) {\r\n setTogSecondBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogSecondBank(true);\r\n }\r\n } else if (val === \"ThirdBank\") {\r\n if (togFirstBank === true) {\r\n setTogThirdBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogThirdBank(true);\r\n }\r\n } else if (val === \"FourthBank\") {\r\n if (togFourthBank === true) {\r\n setTogFourthBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogFourthBank(true);\r\n }\r\n } else if (val === \"FifthBank\") {\r\n if (togFifthBank === true) {\r\n setTogFirstBank(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogFifthBank(true);\r\n }\r\n } else if (val === \"PermAddress\") {\r\n if (togPermAdd === true) {\r\n setTogPermAdd(false);\r\n } else {\r\n permAddressObj.isWatsappFlag = true;\r\n permAddressObj.fileName = \".\";\r\n permAddressObj.mimeType = \".\";\r\n setTogPermAdd(true);\r\n }\r\n } else if (val === \"CorrAddress\") {\r\n if (togCorrAdd === true) {\r\n setTogCorrAdd(false);\r\n } else {\r\n corrAddressObj.isWatsappFlag = true;\r\n corrAddressObj.fileName = \".\";\r\n corrAddressObj.mimeType = \".\";\r\n setTogCorrAdd(true);\r\n }\r\n } else if (val === \"Signature\") {\r\n if (togSig === true) {\r\n setTogSig(false);\r\n } else {\r\n signatureObj.isWatsappFlag = true;\r\n signatureObj.fileName = \".\";\r\n signatureObj.mimeType = \".\";\r\n setTogSig(true);\r\n }\r\n } else if (val === \"Income\") {\r\n if (togIncome === true) {\r\n setTogIncome(false);\r\n } else {\r\n incomeObj.isWatsappFlag = true;\r\n incomeObj.fileName = \".\";\r\n incomeObj.mimeType = \".\";\r\n setTogIncome(true);\r\n }\r\n } else if (val === \"nomineeFirst\") {\r\n if (nomineeGuardianTog.nomineeFirst === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeFirst: false });\r\n } else {\r\n let nomineeFirst = [...nomineeFirstObj];\r\n nomineeFirst[0].isWatsappFlag = true;\r\n nomineeFirst[0].fileName = \".\";\r\n nomineeFirst[0].mimeType = \".\";\r\n nomineeFirst[1].isWatsappFlag = true;\r\n nomineeFirst[1].fileName = \".\";\r\n nomineeFirst[1].mimeType = \".\";\r\n setNomineeFirstObj(nomineeFirst);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeFirst: true });\r\n }\r\n } else if (val === \"nomineeSecond\") {\r\n if (nomineeGuardianTog.nomineeSecond === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeSecond: false });\r\n } else {\r\n let nomineeSecond = [...nomineeSecondObj];\r\n nomineeSecond[0].isWatsappFlag = true;\r\n nomineeSecond[0].fileName = \".\";\r\n nomineeSecond[0].mimeType = \".\";\r\n nomineeSecond[1].isWatsappFlag = true;\r\n nomineeSecond[1].fileName = \".\";\r\n nomineeSecond[1].mimeType = \".\";\r\n setNomineeSecondObj(nomineeSecond);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeSecond: true });\r\n }\r\n } else if (val === \"nomineeThree\") {\r\n if (nomineeGuardianTog.nomineeThree === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeThree: false });\r\n } else {\r\n let nomineeThree = [...nomineeSecondObj];\r\n nomineeThree[0].isWatsappFlag = true;\r\n nomineeThree[0].fileName = \".\";\r\n nomineeThree[0].mimeType = \".\";\r\n nomineeThree[1].isWatsappFlag = true;\r\n nomineeThree[1].fileName = \".\";\r\n nomineeThree[1].mimeType = \".\";\r\n setNomineeSecondObj(nomineeThree);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, nomineeThree: true });\r\n }\r\n } else if (val === \"guardianFirst\") {\r\n if (nomineeGuardianTog.guardianFirst === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianFirst: false });\r\n } else {\r\n let guardianFirst = [...guardianFirstObj];\r\n guardianFirst[0].isWatsappFlag = true;\r\n guardianFirst[0].fileName = \".\";\r\n guardianFirst[0].mimeType = \".\";\r\n guardianFirst[1].isWatsappFlag = true;\r\n guardianFirst[1].fileName = \".\";\r\n guardianFirst[1].mimeType = \".\";\r\n setGuardianFirstObj(guardianFirst);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianFirst: true });\r\n }\r\n } else if (val === \"guardianSecond\") {\r\n if (nomineeGuardianTog.guardianSecond === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianSecond: false });\r\n } else {\r\n let guardianSecond = [...guardianSecondObj];\r\n guardianSecond[0].isWatsappFlag = true;\r\n guardianSecond[0].fileName = \".\";\r\n guardianSecond[0].mimeType = \".\";\r\n guardianSecond[1].isWatsappFlag = true;\r\n guardianSecond[1].fileName = \".\";\r\n guardianSecond[1].mimeType = \".\";\r\n setGuardianSecondObj(guardianSecond);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianSecond: true });\r\n }\r\n } else if (val === \"guardianThird\") {\r\n if (nomineeGuardianTog.guardianThird === true) {\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianThird: false });\r\n } else {\r\n let guardianThird = [...guardianSecondObj];\r\n guardianThird[0].isWatsappFlag = true;\r\n guardianThird[0].fileName = \".\";\r\n guardianThird[0].mimeType = \".\";\r\n guardianThird[1].isWatsappFlag = true;\r\n guardianThird[1].fileName = \".\";\r\n guardianThird[1].mimeType = \".\";\r\n setGuardianThirdObj(guardianThird);\r\n setNomineeGuardianTog({ ...nomineeGuardianTog, guardianThird: true });\r\n }\r\n }\r\n };\r\n const handleBankDoc = (val: any) => {\r\n console.log(\"handleBankDoc\", val);\r\n if (val) {\r\n if (val.DocumentCategoryId === 9) {\r\n firstBankObj.disable = false;\r\n firstBankObj.documentId = val.DocumentId;\r\n setFirstBankObj(firstBankObj);\r\n setDefaultFirstBankDoc(val.DocumentName);\r\n } else if (val.DocumentCategoryId === 60) {\r\n secondBankObj.disable = false;\r\n secondBankObj.documentId = val.DocumentId;\r\n setSecondBankObj(secondBankObj);\r\n setDefaultSecondBankDoc(val.DocumentName);\r\n } else if (val.DocumentCategoryId === 61) {\r\n thirdBankObj.disable = false;\r\n thirdBankObj.documentId = val.DocumentId;\r\n setThirdBankObj(thirdBankObj);\r\n setDefaultThirdBankDoc(val.DocumentName);\r\n } else if (val.DocumentCategoryId === 70) {\r\n fourthBankObj.disable = false;\r\n fourthBankObj.documentId = val.DocumentId;\r\n setFourthBankObj(fourthBankObj);\r\n setDefaultFourthBankDoc(val.DocumentName);\r\n } else if (val.DocumentCategoryId === 71) {\r\n fifthBankObj.disable = false;\r\n fifthBankObj.documentId = val.DocumentId;\r\n setFifthBankObj(fifthBankObj);\r\n setDefaultFifthBankDoc(val.DocumentName);\r\n }\r\n }\r\n };\r\n\r\n const handlePermanentAddress = (val: any) => {\r\n console.log(\"handlePermanentAddress\", val);\r\n if (val) {\r\n if (\r\n val.DocumentId === 125 ||\r\n permAddressObj.mimeType === \"application/pdf\"\r\n ) {\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n } else {\r\n setSecondDoc(true);\r\n }\r\n // setIsFirstAdd(false);\r\n permAddressObj.disable = blockAadhar;\r\n permAddressObj.documentId = val.DocumentId;\r\n setPermAddressObj(permAddressObj);\r\n setDefaultAddress(val.DocumentName);\r\n }\r\n };\r\n\r\n const handleCorrespondenceAddress = (val: any) => {\r\n if (val) {\r\n if (\r\n val.DocumentId === 133 ||\r\n corrAddressObj.mimeType === \"application/pdf\"\r\n ) {\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n } else {\r\n setCorrSecondDoc(true);\r\n }\r\n corrAddressObj.disable = false;\r\n corrAddressObj.documentId = val.DocumentId;\r\n setCorrAddressObj(corrAddressObj);\r\n setDefaultCorrAddress(val.DocumentName);\r\n }\r\n };\r\n\r\n const handleIncomeProof = (val: any) => {\r\n console.log(\"handleIncomeProof\", val);\r\n if (val !== \"\") {\r\n incomeObj.disable = false;\r\n incomeObj.documentId = val.DocumentId;\r\n setIncomeObj(incomeObj);\r\n setDefaultIncomeDoc(val.DocumentName);\r\n }\r\n };\r\n\r\n const addDocument = () => {\r\n if (secondDoc) {\r\n setAnotherFile(true);\r\n } else {\r\n setAnotherFile(false);\r\n }\r\n };\r\n\r\n const addCorrDocument = () => {\r\n if (corrSecondDoc) {\r\n setCorrAnotherFile(true);\r\n } else {\r\n setCorrAnotherFile(false);\r\n }\r\n };\r\n\r\n const handleSubmit = () => {\r\n setLoaderSign(true);\r\n setIsLoading(true);\r\n // let listOfAutoQcDocumentObj: any = [];\r\n // if (photoObj && (photoObj.imgUrl || photoBase64)) {\r\n // listOfAutoQcDocumentObj.push({\r\n // Base64Document: photoObj.imgUrl\r\n // ? photoObj.imgUrl.val!.split(\",\")[1]\r\n // : photoBase64,\r\n // DocumentId: photographId,\r\n // });\r\n // }\r\n // if (panObj && (panObj.imgUrl || panBase64)) {\r\n // listOfAutoQcDocumentObj.push({\r\n // Base64Document: panObj.imgUrl ? panObj.imgUrl.split(\",\")[1] : panBase64,\r\n // DocumentId: panDocumentId,\r\n // });\r\n // }\r\n // if (permAddressObj && (permAddressObj.imgUrl || permAddressObj.base64)) {\r\n // listOfAutoQcDocumentObj.push({\r\n // Base64Document: permAddressObj.imgUrl\r\n // ? permAddressObj.imgUrl.split(\",\")[1]\r\n // : permAddressObj.base64,\r\n // DocumentId: permAddressObj.documentId,\r\n // });\r\n // }\r\n saveDocument();\r\n\r\n // AgetDocumentAutoQcDetails(\r\n // (res: any) => getDocumentAutoQcRes(res),\r\n // listOfAutoQcDocumentObj,\r\n // GlobalStore.applicationID,\r\n // \"Selfie\"\r\n // );\r\n // }\r\n\r\n // if (location !== undefined && location !== \"\") {\r\n // if (\r\n // photoBase64 !== undefined &&\r\n // photoBase64 !== \"\" &&\r\n // panBase64 !== undefined &&\r\n // panBase64 !== \"\"\r\n // ) {\r\n // const faceObj = {\r\n // base64document1: photoBase64,\r\n // base64document2: panBase64,\r\n // source: \"DIY\",\r\n // };\r\n // if (!isPhotoPendingFlag) {\r\n // Afacecompare(getFaceCompareResponse, faceObj);\r\n // } else {\r\n // saveDocument();\r\n // }\r\n // } else {\r\n // saveDocument();\r\n // }\r\n // } else {\r\n // setBrowserPermission(false);\r\n // }\r\n };\r\n\r\n const getDocumentAutoQcRes = (res: any) => {\r\n // saveDocument(true,\"1\");\r\n if (!res || res.error) {\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR135\" });\r\n setIsLoading(false);\r\n if (!panObj.isWatsappFlag) {\r\n // setErrCode(\"Please Upload Pan Card and take selfie\");\r\n setErrCode(errCode + res.error);\r\n }\r\n setLoaderSign(false);\r\n } else {\r\n let resObj = res.data;\r\n if (resObj && resObj.IsAutoQC) {\r\n saveDocument(resObj.IsAutoQC, res.data.AutoQcWithDocumentId);\r\n } else {\r\n setErrCode(res.data.Message);\r\n }\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n }\r\n };\r\n // const getFaceCompareResponse = (res: any) => {\r\n // if (!res || res.error) {\r\n // gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR135\" });\r\n // setIsLoading(false);\r\n // if (!panObj.isWatsappFlag) {\r\n // // setErrCode(\"Please Upload Pan Card and take selfie\");\r\n // setErrCode(res.error);\r\n // }\r\n // setLoaderSign(false);\r\n // saveDocument();\r\n // //setErrCode(155);\r\n // } else {\r\n // if (res.data) {\r\n // if (res.data.result !== undefined) {\r\n // if (res.data.result.match_score > 60) {\r\n // setAutoQc(true);\r\n // saveDocument();\r\n // } else if (\r\n // res.data.result.match_score > 40 &&\r\n // res.data.result.match_score <= 60\r\n // ) {\r\n // setAutoQc(false);\r\n // saveDocument();\r\n // } else {\r\n // setAutoQc(false);\r\n // saveDocument();\r\n // }\r\n // } else {\r\n // setAutoQc(false);\r\n // saveDocument();\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR135-S\",\r\n // });\r\n // }\r\n // }\r\n // }\r\n // };\r\n const saveDocument = (autoQc?: boolean, autoQcWithDocumentId?: string) => {\r\n const saveDetails = [];\r\n if (photoObj && isNewPhoto) {\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: photoObj.fileName,\r\n isfilecropped: true,\r\n mimeType: photoObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n isWatsappFlag: false,\r\n // \"autoqc\": autoQc\r\n AutoQcWithDocumentId: autoQcWithDocumentId,\r\n };\r\n if (!autoQcWithDocumentId) {\r\n delete savePhotoObj.AutoQcWithDocumentId;\r\n }\r\n saveDetails.push(savePhotoObj);\r\n }\r\n\r\n if ((panObj.uploadPer === 100 && isNewPan) || panObj.isWatsappFlag) {\r\n let savePanObj = {\r\n documentCategoryId: panObj.documentCategoryId?.toString(),\r\n documentId: panObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: panName || panObj.fileName,\r\n isfilecropped: true,\r\n mimeType: panObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: panObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n if (isPanAndDobMatch == false) {\r\n savePanObj.autoqc = false;\r\n }\r\n saveDetails.push(savePanObj);\r\n }\r\n console.log(\"LineNo-2977 saveDetails\", saveDetails);\r\n\r\n if (\r\n (firstBankObj.uploadPer === 100 && isNewFirstBank) ||\r\n firstBankObj.isWatsappFlag\r\n ) {\r\n let firstBanObj = {\r\n documentCategoryId: firstBankObj.documentCategoryId?.toString(),\r\n documentId: firstBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: firstBankName || firstBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: firstBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: firstBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(firstBanObj);\r\n }\r\n\r\n if (\r\n (secondBankObj.uploadPer === 100 && isNewSecondBank) ||\r\n secondBankObj.isWatsappFlag\r\n ) {\r\n let saveSecondBankObj = {\r\n documentCategoryId: secondBankObj.documentCategoryId?.toString(),\r\n documentId: secondBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: secondBankName || secondBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: secondBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: secondBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveSecondBankObj);\r\n }\r\n\r\n if (\r\n (thirdBankObj.uploadPer === 100 && isNewThirdBank) ||\r\n thirdBankObj.isWatsappFlag\r\n ) {\r\n let saveThirdBankObj = {\r\n documentCategoryId: thirdBankObj.documentCategoryId?.toString(),\r\n documentId: thirdBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: thirdBankName || thirdBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: thirdBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: thirdBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveThirdBankObj);\r\n }\r\n\r\n if (\r\n (fourthBankObj.uploadPer === 100 && isNewFourthBank) ||\r\n fourthBankObj.isWatsappFlag\r\n ) {\r\n let saveFourthBankObj = {\r\n documentCategoryId: fourthBankObj.documentCategoryId?.toString(),\r\n documentId: fourthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fourthBankName || fourthBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: fourthBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: fourthBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveFourthBankObj);\r\n }\r\n\r\n if (\r\n (fifthBankObj.uploadPer === 100 && isNewFifthBank) ||\r\n fifthBankObj.isWatsappFlag\r\n ) {\r\n let saveFifthBankObj = {\r\n documentCategoryId: fifthBankObj.documentCategoryId?.toString(),\r\n documentId: fifthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fifthBankName || fifthBankObj.fileName,\r\n isfilecropped: true,\r\n mimeType: fifthBankObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: fifthBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveFifthBankObj);\r\n }\r\n console.log(\"LineNo-3072 saveDetails\", saveDetails);\r\n\r\n if (\r\n (permAddressObj.uploadPer === 100 && isNewPermAddress) ||\r\n permAddressObj.isWatsappFlag\r\n ) {\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: addressName || permAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: permAddressObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(savepermAddressObj);\r\n }\r\n if (\r\n (corrAddressObj.uploadPer === 100 && isNewCorrAddress) ||\r\n corrAddressObj.isWatsappFlag\r\n ) {\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrAddressName || corrAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: corrAddressObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveCorrAddressObj);\r\n }\r\n console.log(\"LineNo-3110 saveDetails\", saveDetails);\r\n\r\n if (\r\n (signatureObj.uploadPer === 100 && isNewSignature) ||\r\n signatureObj.isWatsappFlag\r\n ) {\r\n let saveSignatureObj = {\r\n documentCategoryId: signatureObj.documentCategoryId?.toString(),\r\n documentId: signatureObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: signatureName || signatureObj.fileName,\r\n isfilecropped: true,\r\n mimeType: signatureObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: signatureObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveSignatureObj);\r\n }\r\n console.log(\"LineNo-3130 saveDetails\", saveDetails);\r\n\r\n if (\r\n (incomeObj.uploadPer === 100 && isNewIncome) ||\r\n incomeObj.isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: incomeObj.documentCategoryId?.toString(),\r\n documentId: incomeObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: incomeName || incomeObj.fileName,\r\n isfilecropped: true,\r\n mimeType: incomeObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: incomeObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeFirstObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isNomFirstPhoto) ||\r\n nomineeFirstObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeFirstObj[0].documentCategoryId?.toString(),\r\n documentId: nomineeFirstObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeFirstObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeFirstObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeFirstObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeFirstObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isNomFirstSignature) ||\r\n nomineeFirstObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeFirstObj[1].documentCategoryId?.toString(),\r\n documentId: nomineeFirstObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeFirstObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeFirstObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeFirstObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeSecondObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isNomSecondPhoto) ||\r\n nomineeSecondObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeSecondObj[0].documentCategoryId?.toString(),\r\n documentId: nomineeSecondObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeSecondObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeSecondObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeSecondObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeSecondObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isNomSecondSignature) ||\r\n nomineeSecondObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeSecondObj[1].documentCategoryId?.toString(),\r\n documentId: nomineeSecondObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeSecondObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeSecondObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeSecondObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeThirdObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isNomThirdPhoto) ||\r\n nomineeThirdObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeThirdObj[0].documentCategoryId?.toString(),\r\n documentId: nomineeThirdObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeThirdObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeThirdObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeThirdObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (nomineeThirdObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isNomThirdSignature) ||\r\n nomineeThirdObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: nomineeThirdObj[1].documentCategoryId?.toString(),\r\n documentId: nomineeThirdObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: nomineeThirdObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: nomineeThirdObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: nomineeThirdObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianFirstObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianFirstPhoto) ||\r\n guardianFirstObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianFirstObj[0].documentCategoryId?.toString(),\r\n documentId: guardianFirstObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianFirstObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianFirstObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianFirstObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianFirstObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianFirstSignature) ||\r\n guardianFirstObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianFirstObj[1].documentCategoryId?.toString(),\r\n documentId: guardianFirstObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianFirstObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianFirstObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianFirstObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianSecondObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianSecondPhoto) ||\r\n guardianSecondObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianSecondObj[0].documentCategoryId?.toString(),\r\n documentId: guardianSecondObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianSecondObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianSecondObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianSecondObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianSecondObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianSecondSignature) ||\r\n guardianSecondObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianSecondObj[1].documentCategoryId?.toString(),\r\n documentId: guardianSecondObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianSecondObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianSecondObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianSecondObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n\r\n if (\r\n (guardianThirdObj[0].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianThirdPhoto) ||\r\n guardianSecondObj[0].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianThirdObj[0].documentCategoryId?.toString(),\r\n documentId: guardianThirdObj[0].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianThirdObj[0].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianThirdObj[0].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianThirdObj[0].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n if (\r\n (guardianThirdObj[1].uploadPer === 100 &&\r\n isNomineeGuardian.isGuardianThirdSignature) ||\r\n guardianSecondObj[1].isWatsappFlag\r\n ) {\r\n let saveIncomeObj = {\r\n documentCategoryId: guardianThirdObj[1].documentCategoryId?.toString(),\r\n documentId: guardianThirdObj[1].documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: guardianThirdObj[1].fileName,\r\n isfilecropped: true,\r\n mimeType: guardianThirdObj[1].mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: guardianThirdObj[1].isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n }\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n setIsLoading(true);\r\n ASaveDocumentDetails(getSaveStatus, saveObj);\r\n };\r\n\r\n const getSaveStatus = (res: any) => {\r\n if (!res || res.error) {\r\n //setErrCode(1641)\r\n setErrCode(errCode + res.error);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR133\",\r\n });\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(true);\r\n // Clevertap event: submit documents data\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.documentVerificationPage\r\n .CLICK_ON_SUBMIT,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: props.UTM_SOURCE || \"\",\r\n UTM_MEDIUM: props.UTM_MEDIUM || \"\",\r\n UTM_CAMPAIGN: props.UTM_CAMPAIGN || \"\",\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: \"\",\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADDRESS_PROOF_SUBMITTED_VIA: uploadVaiWatsAppFlag\r\n ? \"whattsapp\"\r\n : \"upload_now\",\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on plan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.documentVerificationPage.CLICK_ON_SUBMIT\r\n );\r\n\r\n AGetPendingDocument(pendingDocQC, GlobalStore.applicationID);\r\n } else {\r\n setIsLoading(false);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR133-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n function pendingDocQC(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"1456- Error in fetching pending documents list.\");\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR123\" });\r\n setIsLoading(false);\r\n } else {\r\n const responseObj = JSON.parse(res.data);\r\n if (responseObj && responseObj.length > 0) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n if (\r\n GlobalStore.isDigiLocker ||\r\n clientPartialDetails_ao.isDigiLocker ||\r\n GlobalStore.isKRA ||\r\n clientPartialDetails_ao.isKRA\r\n ) {\r\n gtmService({\r\n action: \"DOCUMENT_VERIFICATION\",\r\n label: \"Step_Complete\",\r\n });\r\n completeModuleStatus(dashboardUrl.doc);\r\n history.push(incompleteStageNavigation(dashboardUrl.doc));\r\n } else {\r\n const onlyIpvPending: Array = responseObj.filter(\r\n (item: any) =>\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // // item.documentcategoryid !== 62\r\n // item.DocumentCategoryId !== 36 &&\r\n // item.DocumentCategoryId !== 30 &&\r\n // item.DocumentCategoryId !== 62\r\n item.Mandatory === true\r\n );\r\n if (onlyIpvPending.length === 0) {\r\n gtmService({\r\n action: \"DOCUMENT_VERIFICATION\",\r\n label: \"Step_Complete\",\r\n });\r\n } else if (onlyIpvPending.length > 0) {\r\n let isIpvExist = GlobalStore.leftNavBarState.filter(\r\n (data: any) => data.navUrl === \"/ipv\"\r\n );\r\n if (isIpvExist.length === 0) {\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n }\r\n }\r\n completeModuleStatus(dashboardUrl.doc);\r\n history.push(incompleteStageNavigation(dashboardUrl.doc));\r\n }\r\n } else {\r\n gtmService({\r\n action: \"GetDocumentDetails\",\r\n label: \"ERROR || ERR123-S\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n const checkFilledForm = () => {\r\n // Check if photo is taken\r\n if (!photoObj.imgUrl && !isNewPhoto) {\r\n return true;\r\n } else if ((!panObj.imgUrl && !isNewPan) || !isPanAndDobMatch) {\r\n return true;\r\n }\r\n if (!permAddressObj.base64 || !permAddressObj.imgUrl) {\r\n return true;\r\n }\r\n\r\n // Checking if Address field is present in the uploaded Aadhar files\r\n else if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n return aadharAddress ? false : true;\r\n } else if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n return corrAadharAddress ? false : true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n const closeSeedingPopup = () => {\r\n setSeedingPopup(false);\r\n // saveDocument();\r\n };\r\n\r\n const reCheck = () => {\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n // const actObj = {\r\n // applicationid: GlobalStore.applicationID,\r\n // account_number: GlobalStore.account_no || clientPartialDetails_ao.account_no,\r\n // ifsc: GlobalStore.ifsc_code || clientPartialDetails_ao.ifsc_code,\r\n // name: GlobalStore.personaldetails.PANName\r\n // };\r\n // const actObj = {\r\n // \"panno\": clientPartialDetails_ao.pan\r\n // }\r\n AGetPanUtiData(getSeedingData, clientPartialDetails_ao.pan);\r\n // AgetBeneficiaryName(getAccountHolderName, actObj);\r\n };\r\n\r\n // const getSeedingData = (res: any) => {\r\n // if (!res || res.error) {\r\n // // setErrCode(\"170 - Error in fetching Pan details from PAN UTI system.\");\r\n // console.log(res.errMsg);\r\n // setErrCode(res.error);\r\n // } else {\r\n // if (res.data) {\r\n // setIsLoading(false);\r\n // let responseObj = res.data.panDetails;\r\n\r\n // if (responseObj?.AadharSeedingStatus.includes(\"Aadhaar not Seeded\")) {\r\n // GlobalStore.isSeeding = false;\r\n // setSeedingPopup(true);\r\n // } else if (\r\n // responseObj?.AadharSeedingStatus.includes(\r\n // \"Aadhaar Seeding is Successful\"\r\n // )\r\n // ) {\r\n // GlobalStore.isSeeding = true;\r\n // setSeedingPopup(false);\r\n // }\r\n // }\r\n // }\r\n // };\r\n const getSeedingData = (res: any) => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(errCode + res.error);\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR142\" });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n //if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n if (res.data.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n isPanLinkedToAadhar = false;\r\n APanLinkedWithAadhar(\r\n APanLinkedWithAadharRes,\r\n clientPartialDetails_ao.pan,\r\n clientPartialDetails_ao.aadharNo\r\n );\r\n setSeedingPopup(true);\r\n // } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n } else if (\r\n res.data.IsAadharSeeded == \"Y\" ||\r\n res.data.IsAadharSeeded == \"NA\"\r\n ) {\r\n GlobalStore.isSeeding = true;\r\n isPanLinkedToAadhar = true;\r\n setSeedingPopup(false);\r\n }\r\n } else {\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR142-S\" });\r\n }\r\n }\r\n };\r\n\r\n function APanLinkedWithAadharRes(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data?.isvalid == true) {\r\n isPanLinkedToAadhar = res.data.islinked == true ? true : false;\r\n if (res.data.islinked) {\r\n setIsLoading(true);\r\n setSeedingPopup(false);\r\n } else {\r\n setSeedingPopup(true);\r\n setIsLoading(false);\r\n }\r\n // AIsPANExists(isPANExists, values.pan);\r\n } else {\r\n // alert(res.data?.message);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n const navToLink = () => {\r\n window.open(\r\n \"https://eportal.incometax.gov.in/iec/foservices/#/pre-login/bl-link-aadhaar\",\r\n \"_blank\"\r\n );\r\n };\r\n\r\n console.log(nomineeFirstObj, \"nomineeFirstObj works\");\r\n console.log(nomineeSecondObj, \"nomineeSecondObj works\");\r\n console.log(nomineeThirdObj, \"nomineeThirdObj works\");\r\n console.log(guardianFirstObj, \"guardianFirstObj works\");\r\n console.log(guardianSecondObj, \"guardianSecondObj works\");\r\n console.log(guardianThirdObj, \"guardianThirdObj works\");\r\n console.log(isNomineeGuardian, \"key works\");\r\n console.log(isManual, \"Manual check\");\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n {showBrowserPermissionModal && (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n turnOnCamera();\r\n // setsShowBrowserPermissionModal(false);\r\n }}\r\n >\r\n OK\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {/* closeSeedingPopup()}\r\n isCloseIcon={false}\r\n >\r\n
*/}\r\n {/* {DeviceContext().isMobile && } */}\r\n {/* \"isSeeding\"\r\n \r\n \r\n
\r\n
\r\n reCheck()}\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 {isSdkSelfie ? (\r\n {\r\n HandleNewSDKSelfieRes(data);\r\n }}\r\n onFailedToOpenSdk={setIsSdkSelfie}\r\n />\r\n ) : (\r\n <>\r\n \r\n {!showRetake &&
}\r\n {!showRetake &&
}\r\n {!showBrowserPermissionModal && (\r\n
\r\n {!showRetake && !isGeoError ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n {showRetake && !isGeoError ? (\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 \"photograph\"\r\n
\r\n
\r\n {/* {isGeoError && !isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There is a delay in loading the contents, please wait for a\r\n moment !!\r\n

\r\n
\r\n \r\n ) : null} */}\r\n\r\n {/* {photoErrorMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )} */}\r\n\r\n {/* {isGeoError && isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There was a delay in loading the contents, refresh the\r\n page!!{\" \"}\r\n

\r\n
\r\n \r\n ) : null} */}\r\n \r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any, index: number) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentType === \"PHOTOGRAPH\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n {uploadDocFlag ? (\r\n <>\r\n
\r\n {firstBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {firstBankListError != \"\" ? (\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 {/* sendViaWatsapp(\"FirstBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togFirstBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n firstBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n {secondBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {secondBankListError != \"\" ? (\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 {/* sendViaWatsapp(\"SecondBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togSecondBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n secondBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n {thirdBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {thirdBankListError != \"\" ? (\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 {/* sendViaWatsapp(\"ThirdBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togThirdBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n thirdBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n {fourthBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {fourthBankListError != \"\" ? (\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 {/* sendViaWatsapp(\"FourthBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togFourthBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n fourthBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n\r\n {fifthBankList.length !== 0 ? (\r\n
\r\n \r\n handleBankDoc(val)}\r\n />\r\n \r\n
\r\n \r\n {fifthBankListError != \"\" ? (\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 {/* sendViaWatsapp(\"FifthBank\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togFifthBank && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n fifthBankObj.documentcategory && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n ) : null}\r\n
\r\n {panObj !== null && panObj !== undefined && (\r\n
\r\n \r\n
\r\n onRemove(docOj, \"panCard\")}\r\n />\r\n
\r\n
\r\n )}\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType === \"PROOF OF IDENTITY\"&& item?.DocumentType==\"PAN CARD\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n {/* {!GlobalStore.isDigiLocker && ( */}\r\n {!GlobalStore.isDigiLocker &&\r\n // For full CKYC cases without permenant address document\r\n (!GlobalStore.isKYC ||\r\n !GlobalStore.isKRA ||\r\n !defaultPermAddressProof) &&\r\n !isManual && (\r\n
\r\n \r\n handlePermanentAddress(val)}\r\n />\r\n \r\n
\r\n {(permAddressObj.disable = blockAadhar)}\r\n \r\n onRemove(docOj, \"permAddressObj\")\r\n }\r\n />\r\n {permAddListError != \"\" ? (\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 {anotherFile && (\r\n
\r\n
\r\n \r\n {secondDocError != \"\" ? (\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 addDocument()}\r\n >\r\n Add Document\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"PermAddress\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togPermAdd && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n \"PROOF OF ADDRESS PERMANENT\" && (\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 {corrAddList.length !== 0 && showCorr ? (\r\n
\r\n \r\n handleCorrespondenceAddress(val)}\r\n />\r\n \r\n
\r\n \r\n {corrAddListError != \"\" ? (\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 {corrAnotherFile && (\r\n
\r\n
\r\n \r\n {corrSecondDocError != \"\" ? (\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 addCorrDocument()}\r\n >\r\n Add Document\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* sendViaWatsapp(\"CorrAddress\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togCorrAdd && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n ) : null}\r\n\r\n {incomeList.length !== 0 ? (\r\n
\r\n \r\n handleIncomeProof(val)}\r\n />\r\n \r\n
\r\n \r\n {incomeListError != \"\" ? (\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 {/* sendViaWatsapp(\"Income\")}\r\n /> */}\r\n {}} />\r\n
\r\n
\r\n
\r\n {togIncome && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType === \"PROOF OF INCOME\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\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 {signatureListError != \"\" ? (\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 sendViaWatsapp(\"Signature\")}\r\n />\r\n {}} />\r\n
\r\n
*/}\r\n
\r\n {togSig && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n
\r\n {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentType === \"SIGNATURE\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n
\r\n {/* nomineefirst Start */}\r\n {nomineeFirstList && nomineeFirstList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {nomineeFirstList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomFirstPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomFirstPhotoId != \"\" ? (\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomFirstSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomFirstSignature !=\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.signature\r\n .documentCategoryId && (\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 sendViaWatsapp(\"nomineeFirst\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.nomineeFirst && (\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 {/* nomineeFirst End */}\r\n {/* GuardianFirst Start */}\r\n\r\n {guardianFirstList && guardianFirstList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {guardianFirstList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianFirstPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianFirstPhotoId !=\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne\r\n .guardianDetails.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianFirstSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianFirstSignature !=\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeOne\r\n .guardianDetails.signature\r\n .documentCategoryId && (\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 sendViaWatsapp(\"guardianFirst\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.guardianFirst && (\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 {/* GuardianFirst End */}\r\n\r\n {/* nomineeSecond start */}\r\n {nomineeSecondList && nomineeSecondList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {nomineeSecondList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomSecondPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomSecondPhotoId != \"\" ? (\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomSecondSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomSecondSignature !=\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.signature\r\n .documentCategoryId && (\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 sendViaWatsapp(\"nomineeSecond\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.nomineeSecond && (\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 {/* nomineeSecond End */}\r\n {/* GuardianSecond Start */}\r\n {guardianSecondList && guardianSecondList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {guardianSecondList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianSecondPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianSecondPhotoId !=\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo\r\n .guardianDetails.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianSecondSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianSecondSignature !=\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeTwo\r\n .guardianDetails.signature\r\n .documentCategoryId && (\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 sendViaWatsapp(\"guardianSecond\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.guardianSecond && (\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 {/* GuardianSecond End */}\r\n {/* nomineeThird */}\r\n {nomineeThirdList && nomineeThirdList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {nomineeThirdList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomThirdPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.nomThirdPhotoId != \"\" ? (\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.signature\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"nomThirdSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n\r\n {nomineeGuardianError.nomThirdSignature !=\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.signature\r\n .documentCategoryId && (\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 sendViaWatsapp(\"nomineeThree\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.nomineeThree && (\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 {/* NomineeThird Start */}\r\n\r\n {/* GuardianThird Start */}\r\n {guardianThirdList && guardianThirdList.length > 0 && (\r\n <>\r\n
\r\n \r\n
\r\n {guardianThirdList.map((data: any, index: number) => {\r\n if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo\r\n .documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Photo

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianThirdPhotoId\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n {nomineeGuardianError.guardianThirdPhotoId !=\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree\r\n .guardianDetails.photo\r\n .documentCategoryId && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n } else if (\r\n data.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree.guardianDetails\r\n .signature.documentCategoryId\r\n ) {\r\n return (\r\n <>\r\n

Signature

\r\n \r\n onNomineeUploadComplete(\r\n val,\r\n fileName,\r\n id,\r\n type,\r\n index\r\n )\r\n }\r\n isRemove={(removeDocObj) =>\r\n handleRemoveDoc(\r\n index,\r\n \"guardianThirdSignature\",\r\n removeDocObj\r\n )\r\n }\r\n />\r\n\r\n {nomineeGuardianError.guardianThirdSignature !=\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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.DocumentCategoryId ===\r\n nomineeDocsIds.nomineeThree\r\n .guardianDetails.signature\r\n .documentCategoryId && (\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 sendViaWatsapp(\"guardianThird\")}\r\n />\r\n
\r\n
\r\n
\r\n {nomineeGuardianTog.guardianThird && (\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 {/* GuardianThird End */}\r\n\r\n {/* {DeviceContext().isMobile && (togPAN || togFirstBank || togSecondBank || togThirdBank || togFourthBank || togFifthBank || togPermAdd || togCorrAdd || togSig || togIncome) &&
\r\n \r\n
\r\n \r\n \r\n
\r\n
} */}\r\n\r\n {/* Rejection Error Msg Start*/}\r\n {/* {\r\n regectedDocStatus && regectedDocStatus.map((item: any, index: number) =>
\r\n \r\n <>\r\n \r\n \r\n \r\n
)\r\n } */}\r\n {/* Rejection Error Msg End*/}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n {/* Photo Error Msg Start*/}\r\n {photoErrorMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Photo Error Msg End*/}\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n ) : uploadVaiWatsAppFlag ? (\r\n <>\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n saveViaWatsApp()}\r\n />\r\n
\r\n \r\n ) : (\r\n \r\n \r\n \r\n
    \r\n {pendingDocObj &&\r\n pendingDocObj.map((item: any, index: number) => {\r\n return
  • {item.DocumentCategory}
  • ;\r\n })}\r\n
\r\n
\r\n {/*
\r\n uploadViaWatsApp()}\r\n isWhatsapp={true}Nomi\r\n />\r\n
*/}\r\n
\r\n uploadDoc()}\r\n isUpload={true}\r\n />\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DocVerifcationForm;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport regbanner from \"../../../assets/icons/panDob.svg\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport Button, {\r\n TransparentButton,\r\n SubmitButton,\r\n} from \"../../UI/Button/Button\";\r\nimport watsAppIcon from \"../../../assets/icons/watsapp.png\";\r\nimport Radio from \"../../UI/Radio/Radio\";\r\nimport isSeeding from \"../../../assets/icons/seeding.png\";\r\nimport {\r\n aadhaarDocumnetId,\r\n containerUrl,\r\n corrAadhaarDocumnetId,\r\n dashboardUrl,\r\n DIY,\r\n employeeAccCategory,\r\n retailAccCategory,\r\n statusUrl,\r\n watsappNo,\r\n geoLocationConfig,\r\n} from \"../../utils/constants\";\r\n\r\nimport { pan, alphaNumExp, betweenNChars } from \"../../utils/regex\";\r\nimport \"./PANInfo.scss\";\r\nimport {\r\n ACheckPanIbeats,\r\n AGetPanUtiData,\r\n AGetClientDetailsByPan,\r\n AGetClientDetailsByLeadId,\r\n AWhatsappCom,\r\n AIsPANExists,\r\n ASavePanDobDetails,\r\n AGetCkycNumber,\r\n AGetKraDetails,\r\n AGetEmployeeByPan,\r\n AGetCkycDetails,\r\n APanLinkedWithAadhar,\r\n ACheckUCCExists,\r\n APanVerification,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport {\r\n ACreateLead,\r\n ACreateLeadSource,\r\n} from \"../../Services/registration/registrationApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n clientContinue,\r\n utmDurationInfoObj,\r\n updateUtmInfo,\r\n setStageData,\r\n ageCalculator,\r\n splitFullName,\r\n} from \"../../Services/globalService\";\r\nimport { APendingUploadList } from \"../../Services/dashboard/eSignApiServices\";\r\nimport {\r\n AGetCacheData,\r\n AGetStageCompletionStatus,\r\n} from \"../../Services/registration/continueApiService\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport { ARedisDigilockerDoc } from \"../../Services/dashboard/profileApiService\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport CheckDigilockerPopup from \"./CheckDigilockerPopup/CheckDigilockerPopup\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport Calender from \"../../UI/Calender/Calender\";\r\nimport moment from \"moment\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport {\r\n initialDocObj,\r\n initialPanDocObj,\r\n} from \"../../DocumentVerification/DocVerificationForm/DocVerificationForm\";\r\nimport {\r\n ACheckLocation,\r\n ACheckPhotoLiveness,\r\n AextractAadhaar,\r\n AextractPan,\r\n AextractPanNew,\r\n AmaskAadhaar,\r\n ASaveDocumentDetails,\r\n} from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { AUploadDocument } from \"../../Services/dashboard/brokerageServices\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport config from \"../../../config/domain\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport {\r\n ASaveIPVerificationDetails,\r\n ASendSms,\r\n} from \"../../Services/dashboard/ipvApiServices\";\r\nimport useGeoLocation from \"../../../customHooks/useGeoLocation\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport Loader from \"../../UI/Loader/Loader\";\r\nimport { getProfileDetailsFromAadhar } from \"../ShareAdd/ShareAdd\";\r\n\r\nexport interface IPanDobFields {\r\n pan: string;\r\n dob: Date | null;\r\n aadharLinked: \"No\" | \"Yes\" | \"Not Sure\";\r\n aadhaarNo?: string;\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n fatherName?: string;\r\n}\r\n\r\nconst panValidationKeyList: any = {\r\n PanStatus: \"PanStatusMsg\",\r\n Name: \"NameMsg\",\r\n Dob: \"DobMsg\",\r\n SeedingStatus: \"SeedingStatusMsg\",\r\n};\r\n\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\n\r\nexport type saveDocumentObj = {\r\n documentCategoryId?: string;\r\n documentId?: string;\r\n fileName: string;\r\n isfilecropped: boolean;\r\n mimeType: string | undefined;\r\n panno: string;\r\n personaldetailsid: string;\r\n autoqc: boolean;\r\n iskycdocument: boolean;\r\n documentNumber?: string;\r\n};\r\n\r\nexport interface PANInfoProps {}\r\nlet isPanLinkedToAadhar: boolean;\r\nconst PANInfo: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n let localURL = localStorage.getItem(\"currentURL\"),\r\n navigateURL: string = \"\";\r\n if (\r\n localURL !== null &&\r\n localURL !== undefined &&\r\n localURL !== \"\" &&\r\n localURL?.length > 0\r\n ) {\r\n navigateURL = window.atob(localURL);\r\n localURL = window.atob(localURL);\r\n }\r\n const [values, setValues] = React.useState({\r\n pan: \"\",\r\n aadharLinked: \"No\",\r\n dob: null,\r\n //aadhaarNo: \"\",\r\n firstName: \"\",\r\n middleName: \"\",\r\n lastName: \"\",\r\n fatherName: \"\",\r\n });\r\n const [validPan, setValidPan] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [showExplain, setShowExplain] = React.useState(false);\r\n const [showDigiRedirection, setShowDigiRedirection] =\r\n React.useState(false);\r\n let isEmployee: boolean = false;\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof IPanDobFields]?: string;\r\n }>({\r\n pan: undefined,\r\n dob: undefined,\r\n aadharLinked: undefined,\r\n aadhaarNo: undefined,\r\n firstName: undefined,\r\n middleName: undefined,\r\n lastName: undefined,\r\n });\r\n const history = useHistory();\r\n const [removePanImg, setRemovePanImg] = React.useState(false);\r\n const [utmObj, setUtmObj] = React.useState(null);\r\n const [panObj, setPanObj] = React.useState({\r\n ...initialPanDocObj,\r\n });\r\n const [signatureObj, setSignatureObj] = React.useState({\r\n ...initialPanDocObj,\r\n });\r\n const [photoObj, setPhotoObj] = React.useState({\r\n ...initialDocObj,\r\n });\r\n const [permAddressObj, setPermAddressObj] = React.useState({\r\n ...initialDocObj,\r\n });\r\n const [consent, setConsent] = React.useState(true);\r\n const videoRefElement = React.useRef(null);\r\n const canvasRefElement = React.useRef(null);\r\n const [showRetake, setShowRetake] = React.useState(false);\r\n const [panBase64, setPanBase64] = React.useState(\"\");\r\n const [togPhoto, setTogPhoto] = React.useState(false);\r\n const [streams, setStreams] = React.useState();\r\n const [hasPhoto, setHasPhoto] = React.useState(false);\r\n const [panNumberMatched, setPanNumberMatched] = React.useState(false);\r\n const [dobChecked, setDobChecked] = React.useState(false);\r\n const [isNormalClient, setIsNormalClient] = React.useState(false);\r\n const [panDobState, setPanDobState] = React.useState(\"\");\r\n const [panValState, setPanValState] = React.useState(\"\");\r\n const [location, setLocation] = useState(\"\");\r\n const geoLoc: iGeoLocation = useGeoLocation();\r\n const [isGeoError, setIsGeoError] = React.useState(false);\r\n const [isGeoErrorTimeFlag, setIsGeoErrorTimeFlag] =\r\n React.useState(false);\r\n const [showBrowserPermissionModal, setsShowBrowserPermissionModal] =\r\n useState(false);\r\n const [browserPermission, setBrowserPermission] = useState(true);\r\n const [locationPermission, setLocationPermission] = useState(true);\r\n const [cameraPermission, setCameraPermission] = useState(true);\r\n const [errorFoundInPanValidation, setErrorFoundInPanValidation] =\r\n useState(false);\r\n const [cacheResponse, setCacheResponse] = React.useState(null);\r\n //setModalDisplayText\r\n\r\n const [panUploadObject, setPanUploadObject] = React.useState(\"\");\r\n const [panUploaded, setPanUploaded] = React.useState(false);\r\n\r\n const [liveLocationCheck, setLiveLocationCheck] = useState({\r\n checkPhotoLiveness: false,\r\n checkLocation: false,\r\n });\r\n const [stageBooleanFlags, setStageBooleanFlags] = React.useState<{\r\n isPersonalStage: boolean;\r\n isProfileStage: boolean;\r\n }>({\r\n isPersonalStage: false,\r\n isProfileStage: false,\r\n });\r\n const [photoErrorMsg, setPhotoErrorMsg] = React.useState(\"\");\r\n const [seedingPopup, setSeedingPopup] = React.useState(false);\r\n const [checkpanaaddharflag, setCheckpanaaddharflag] = React.useState(\r\n GlobalStore.stageStatus.checkpanaaddharflag === false ? true : false\r\n );\r\n const [panOCR, setPanOCR] = useState(null);\r\n const [willDoLater, setWillDoLater] = useState(false);\r\n const [panFileUploaded, setPanFileUploaded] = useState(false);\r\n const [panFileUploadedLoader, setPanFileUploadedLoader] =\r\n useState(false);\r\n const [invalidPanFieldUploadedMsg, setInvalidPanFileUploadedMsg] =\r\n React.useState(\"\");\r\n const [applicationModeType, setApplicationModeType] = useState(\"\");\r\n const [modalDisplayText, setModalDisplayText] = useState(\"\");\r\n const [showSubmitModal, setShowSubmitModal] = useState(false);\r\n const [panInvalidMsg, setPanInvalidMsg] = React.useState(\"\");\r\n // const [panValidationResp,setPanValidationResp]=React.useState();\r\n let panValidationResp: any;\r\n const [applicationInitializedFlag, setApplicationInitializedFlag] =\r\n useState(false);\r\n const [submitFlag, setSubmitFlag] = useState(false);\r\n const [extractPanResponse, setExtractPanResponse] = React.useState<{\r\n age: number;\r\n date_of_birth: string;\r\n date_of_issue: string;\r\n fathers_name: string;\r\n id_number: string;\r\n is_scanned: boolean;\r\n minor: boolean;\r\n name_on_card: string;\r\n pan_type: string;\r\n }>();\r\n const [isSelfieCaptured, setisSelfieCaptured] =\r\n React.useState(false); //Added By Ravi\r\n const [panVerificationMatch, setPanVerificationMatched] =\r\n React.useState(false);\r\n\r\n const [documentsInfo, setDocumentInfo] = useState({\r\n totalDocs: [],\r\n totalDocsCount: 0,\r\n uploadedDocsCount: 0,\r\n });\r\n\r\n let watchPositionId: number;\r\n let panDob: string;\r\n const saveDetails: saveDocumentObj[] = [];\r\n const saveKraDetails: saveDocumentObj[] = [];\r\n\r\n let base64String: string;\r\n let docCount = 0;\r\n let ckycDocs = 0;\r\n let kraDocCount = 0;\r\n let kraDocs = 0;\r\n // let totalDocs: Array = [];\r\n // let totalDocsCount = 0;\r\n // let uploadedDocsCount = 0;\r\n\r\n let isPanLinkedToAadhar: boolean;\r\n\r\n const checkAutoQcForPan = () => {\r\n let name =\r\n (values.firstName as string) + values.middleName + values.lastName;\r\n\r\n if (\r\n values.pan === extractPanResponse?.id_number &&\r\n moment(values.dob).format(\"YYYY-MM-DD\") ===\r\n extractPanResponse?.date_of_birth &&\r\n name === extractPanResponse?.name_on_card.replace(/\\s/g, \"\")\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n // Assign utm object into local state\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n setUtmObj(objUtm);\r\n\r\n if (\r\n containerUrl.continue === clientContinue() &&\r\n !GlobalStore.isPartialFilledClient\r\n ) {\r\n console.log(\"showSubmitModal2\", showSubmitModal);\r\n history.push(containerUrl.continue);\r\n } else {\r\n console.log(\"GlobalStore.leadId check =\", GlobalStore.leadId);\r\n if (!GlobalStore.leadId || GlobalStore.leadId === \"\") {\r\n console.log(\"registration push\");\r\n // history.push(containerUrl.registration);\r\n } else {\r\n init();\r\n window.scroll(0, 0);\r\n }\r\n }\r\n if (!GlobalStore.user.email || !GlobalStore.user.mobile) {\r\n if (!!navigateURL) {\r\n window.location.href = navigateURL;\r\n }\r\n }\r\n }, []);\r\n\r\n // React.useEffect(() => {\r\n // if (\r\n // moment(values.dob).format(\"YYYY-MM-DD\") == panDobState &&\r\n // values.pan == panValState\r\n // ) {\r\n // GlobalStore.dateofbirth = moment(values.dob).format(\"MM/DD/YYYY\");\r\n // GlobalStore.dob = moment(values.dob).format(\"DD/MM/YYYY\");\r\n // GlobalStore.birthDate = moment(values.dob).format(\"MM/DD/YYYY\");\r\n\r\n // if (panUploaded == false) {\r\n // setRemovePanImg(false);\r\n // setDobChecked(true);\r\n // panUploadObject.savePanObj.autoqc = true;\r\n // AUploadDocument(\r\n // (res: any) => getPanUploadRes(res, panUploadObject.savePanObj),\r\n // panUploadObject.uploadObj,\r\n // (event: ProgressEvent) =>\r\n // onUploadProgress(\r\n // event,\r\n // panUploadObject.id,\r\n // panUploadObject.fileName,\r\n // panUploadObject.type\r\n // )\r\n // );\r\n // }\r\n\r\n // const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n // let objAccType = window.sessionStorage.getItem(\"objAccType\") || \"\"; // only demat getting parameter type\r\n // const panDobObj = {\r\n // leadId: GlobalStore.leadId,\r\n // emailID: GlobalStore.user.email,\r\n // mobileno: GlobalStore.user.mobile,\r\n // isemployeepan: isEmployee,\r\n // panNo: values.pan,\r\n // dob: GlobalStore.dateofbirth,\r\n // aadhaar: values.aadhaarNo,\r\n // ispanaadhaarlinked: isPanLinkedToAadhar,\r\n // platform: 1,\r\n // relationship: false,\r\n // relationName: \"\",\r\n // others: \"\",\r\n // objUTM_Info: objUTM_Info,\r\n // response: \"\",\r\n // TransactionId: \"\",\r\n // kycverified: \"\",\r\n // product: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n // panFName: values?.firstName,\r\n // panMName: values?.middleName,\r\n // panLName: values?.lastName,\r\n // SendSelfieLink: togPhoto, //((photoObj.base64==null || photoObj.base64==\"\") && togPhoto==false) ? true:\r\n // diyReferralLink: localURL,\r\n // };\r\n // console.log(\"called here ===>\");\r\n // ASavePanDobDetails((res: any) => {\r\n // if (res && res.data) {\r\n // localStorage.removeItem(\"currentURL\");\r\n // GlobalStore.token = res.data?.token;\r\n // }\r\n // }, panDobObj);\r\n // const clientPartialDetails_ao = JSON.parse(\r\n // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // );\r\n // clientPartialDetails_ao.dob = GlobalStore.dob;\r\n // clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n // clientPartialDetails_ao.token = GlobalStore.token;\r\n // window.localStorage.setItem(\r\n // \"clientPartialDetails_ao\",\r\n // JSON.stringify(clientPartialDetails_ao)\r\n // );\r\n // }\r\n // }, [values.dob, values.pan]);\r\n\r\n // Clervertap event: pan screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.panPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: \"\",\r\n };\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n console.log(\"applicationModeType\", applicationModeType);\r\n if (applicationModeType === \"isKRA\") {\r\n setModalDisplayText(\r\n \"As per SEBI Regulations, under the Income Tax Guidelines we have successfully verified your Name on the Income Tax Website. Your application is pre-filled since you are an existing KRA Validated Customer.\"\r\n );\r\n } else if (applicationModeType === \"isDigiLocker\") {\r\n setModalDisplayText(\r\n \"As per SEBI Regulations, under the Income Tax Guidelines we have successfully verified your Name on the Income Tax Website. We suggest completing your journey using Digilocker. For Using Digilocker your Aadhar and Mobile should be linked. It is not mandatory to have a Digilocker account. This will help you to speed up your activation process.\"\r\n );\r\n }\r\n }, [applicationModeType]);\r\n\r\n function errorPosition(data: any) {\r\n setIsLoading(true);\r\n setLocationPermission(false);\r\n\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n // if (!browserPermission) {\r\n // getLocation();\r\n // }\r\n }\r\n\r\n const registerCleverTapEventAfterProceed = () => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.panPage.CLICK_ON_PROCEED,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n };\r\n ClevertapService.pushEvent(data);\r\n\r\n // Apps flyer event for click on proceed on pan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.panPage.CLICK_ON_PROCEED\r\n );\r\n };\r\n\r\n function init() {\r\n //CleverTap log start\r\n /*\r\n var data = {\r\n CurrentPage: $location.path(),\r\n Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n EventName: 'Pan_dob_view'\r\n };\r\n clevertap.event.push(data.EventName, data);\r\n */\r\n //CleverTap log end\r\n\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\r\n window.localStorage.removeItem(\"isAadhaarVerified\");\r\n GlobalStore.personaldetails = {\r\n firstname: GlobalStore.user.firstname,\r\n lastname: GlobalStore.user.lastName,\r\n middlename: \"\",\r\n mobile: GlobalStore.user.mobile,\r\n emailId: GlobalStore.user.email,\r\n aadhaar: \"\",\r\n pan: \"\",\r\n gender: \"\",\r\n dob: \"\",\r\n additionalemail: \"\",\r\n additionalmobile: \"\",\r\n PANName: \"\",\r\n adrLine1: \"\",\r\n adrLine2: \"\",\r\n city: \"\",\r\n state: \"\",\r\n pincode: \"\",\r\n };\r\n }\r\n\r\n function onChange(key: keyof IPanDobFields, value: string | Date) {\r\n if (\r\n key === \"pan\" &&\r\n typeof value === \"string\" &&\r\n !alphaNumExp.test(value)\r\n ) {\r\n value = values[key];\r\n }\r\n if (key === \"pan\") setValidPan(false);\r\n if (key === \"aadharLinked\" && typeof value === \"string\")\r\n gtmService({\r\n action: \"PAN_DOB\",\r\n label: `AADHAR_LINK | ${value.toUpperCase()}`,\r\n });\r\n if (key === \"dob\" && typeof value !== \"string\") {\r\n console.log(\"onChange 1\");\r\n setErrCode(errCode);\r\n if (ageCalculator(value) >= 60)\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"true\");\r\n else window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\r\n console.log(moment(value).format(\"YYYY-MM-DD\"), \" || \", panDobState);\r\n if (moment(value).format(\"YYYY-MM-DD\") === panDobState) {\r\n setDobChecked(true);\r\n setRemovePanImg(false);\r\n setErrCode(\"\");\r\n console.log(\"onChange 2\");\r\n } else {\r\n console.log(\"onChange 3\");\r\n setDobChecked(false);\r\n }\r\n }\r\n console.log(\"errors\", errors);\r\n setErrors({ ...errors, [key]: \"\" });\r\n setValues({ ...values, [key]: value });\r\n }\r\n\r\n function onBlurPan(error: any) {\r\n setErrors({\r\n ...errors,\r\n pan: error.pattern ? \"\" : errorMsg(errorCode.FE07),\r\n });\r\n setErrors({\r\n ...errors,\r\n pan: error.pattern ? \"\" : errorMsg(errorCode.FE09),\r\n });\r\n if (error.pattern) {\r\n setValidPan(true);\r\n } else {\r\n setValidPan(false);\r\n }\r\n }\r\n\r\n function onBlurDob(event: React.FocusEvent) {\r\n if (!values.dob) {\r\n // setErrors({ ...errors, dob: 'Please select a valid date' });\r\n setErrors({ ...errors, dob: errorMsg(errorCode.FE10) });\r\n }\r\n }\r\n\r\n function onBlurAadhaar(error: any) {\r\n setErrors({\r\n ...errors,\r\n aadhaarNo: error.pattern ? \"\" : errorMsg(errorCode.FE46),\r\n });\r\n }\r\n\r\n function handleSubmit() {\r\n //GA Code\r\n /*\r\n var data = {\r\n category: 'ACCOUNT_OPENING',\r\n action: 'STEP-2',\r\n label: 'CONTINUE',\r\n event: 'event account opening'\r\n }\r\n \r\n dataLayer.push(data);\r\n */\r\n setErrCode(\"\");\r\n setIsLoading(true);\r\n setSubmitFlag(false);\r\n\r\n let isValidPan = pan.test(values.pan);\r\n if ((values.pan !== \"\" || values.pan !== undefined) && isValidPan) {\r\n console.log(\"values\", values);\r\n AGetEmployeeByPan(checkIsPanEmployee, values.pan);\r\n // ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n let panFullName = values.firstName + \" \";\r\n if (values?.middleName !== undefined && values.middleName?.length > 0) {\r\n panFullName += values.middleName?.split(\" \").join(\" \");\r\n }\r\n panFullName += values?.lastName ?? \"\";\r\n panValidation(\r\n {\r\n panNo: values.pan,\r\n name:\r\n values.firstName +\r\n \" \" +\r\n (values?.middleName ?? \"\" + \" \") +\r\n values.lastName,\r\n dob: moment(values.dob).format(\"DD/MM/YYYY\"),\r\n source: \"DIY\",\r\n },\r\n () => {\r\n AIsPANExists(isPANExists, values.pan);\r\n }\r\n );\r\n // if(values?.pan?.length > 0 && extractPanResponse && extractPanResponse?.id_number?.length > 0 && values.pan===extractPanResponse.id_number){\r\n // setPanInvalidMsg(\"\");\r\n\r\n // }else{\r\n // setPanInvalidMsg(\"Oops!! Pan Number is incorrect\");\r\n // setIsLoading(false);\r\n // }\r\n // panValidation({panNo:values.pan,name:values.firstName+\" \"+values?.middleName??\"\"+\r\n // values.lastName,dob:moment(values.dob).format(\"DD/MM/YYYY\"),source:\"DIY\"}, ()=>{AIsPANExists(isPANExists, values.pan)});\r\n } else {\r\n setsShowBrowserPermissionModal(true);\r\n }\r\n }\r\n\r\n function CheckUCCExists(res: any) {\r\n if (!res || res.error) {\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n\r\n setIsLoading(false);\r\n gtmService({ action: \"CheckUCCExists\", label: \"ERROR || ERR105\" });\r\n } else {\r\n console.log(\"UCC Check 3\");\r\n\r\n savePanDob();\r\n }\r\n }\r\n\r\n function checkIsPanEmployee(res: any) {\r\n if (res && res.status) {\r\n const responseDataObj = res.data;\r\n if (responseDataObj.result.Flag === \"Y\") isEmployee = true;\r\n } else {\r\n if (!res || res.error) {\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({\r\n action: \"GetEmployeeDetailsByPAN\",\r\n label: \"ERROR || ERR109\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n function checkedPanInIbeats(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n\r\n gtmService({ action: \"CheckPanInSystem\", label: \"ERROR || ERR100\" });\r\n } else {\r\n if (res.data) {\r\n registerCleverTapEventAfterProceed();\r\n gtmService({ action: \"PAN_DOB\", label: \"Step_Complete\" });\r\n history.push(containerUrl.accexists);\r\n setIsLoading(false);\r\n } else {\r\n if (isPanLinkedToAadhar != true) {\r\n // APanLinkedWithAadhar(\r\n // APanLinkedWithAadharRes,\r\n // values.pan,\r\n // values.aadhaarNo\r\n // );\r\n // isPanLinkedToAadhar = false;\r\n // AIsPANExists(isPANExists, values.pan);\r\n } else {\r\n AGetClientDetailsByPan(searchByPan, values.pan);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function APanLinkedWithAadharRes(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n } else {\r\n if (res.data?.isvalid == true) {\r\n isPanLinkedToAadhar = res.data.islinked == true ? true : false;\r\n if (res.data.islinked) {\r\n setIsLoading(true);\r\n setSeedingPopup(false);\r\n } else {\r\n setSeedingPopup(true);\r\n setIsLoading(false);\r\n }\r\n // AIsPANExists(isPANExists, values.pan);\r\n } else {\r\n // alert(res.data?.message);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function isPANExists(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('117 - Error in fetching Pan details from our system.');\r\n // setErrCode(errorMessage.panExist);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n\r\n gtmService({ action: \"CheckPanInSystem\", label: \"ERROR || ERR105\" });\r\n } else {\r\n let isValidPan = pan.test(values.pan);\r\n if (\r\n res.data !== undefined &&\r\n (values.pan !== \"\" || values.pan !== undefined) &&\r\n isValidPan\r\n ) {\r\n if (res.data == false) {\r\n validatePANNew(\r\n panValidationResp?.SeedingStatus,\r\n panValidationResp?.SeedingStatusMsg,\r\n panValidationResp?.PanStatus\r\n );\r\n // AGetPanUtiData(validatePAN, values.pan);\r\n } else if (res.data == true) {\r\n setErrCode(errorMessage.ApplicationInProcess);\r\n setIsLoading(false);\r\n }\r\n } else {\r\n setErrors({\r\n ...errors,\r\n pan: isValidPan ? \"\" : errorMsg(errorCode.FE09),\r\n });\r\n }\r\n }\r\n }\r\n const validatePANNew = (\r\n seedingStatus?: string,\r\n SeedingStatusMsg?: string,\r\n PanStatus?: string\r\n ) => {\r\n let PANFirstName = values?.firstName;\r\n let PANMiddleName = values.middleName ?? \"\";\r\n let PANlastName = values?.lastName ?? \"\";\r\n\r\n if (PANFirstName === \"\" && PANlastName !== \"\") {\r\n PANFirstName = PANlastName;\r\n GlobalStore.personaldetails.PANName = PANFirstName;\r\n PANlastName = \"\";\r\n if (PANMiddleName !== \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n }\r\n } else if (\r\n PANFirstName === \"\" &&\r\n PANMiddleName === \"\" &&\r\n PANlastName === \"\"\r\n ) {\r\n GlobalStore.personaldetails.PANName = \"\";\r\n } else if (PANMiddleName === \"\") {\r\n GlobalStore.personaldetails.PANName = PANFirstName + \" \" + PANlastName;\r\n PANMiddleName = \"\";\r\n } else {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n }\r\n\r\n //Modify personal details based on this response.\r\n console.log(\r\n \"PAN DETails\",\r\n GlobalStore?.personaldetails?.panDetails,\r\n SeedingStatusMsg,\r\n PanStatus\r\n );\r\n GlobalStore.personaldetails.firstname = PANFirstName;\r\n GlobalStore.personaldetails.lastname = PANlastName;\r\n GlobalStore.personaldetails.middlename = PANMiddleName;\r\n GlobalStore.personaldetails.panDetails = {\r\n PanNo: values.pan,\r\n Firstname: PANFirstName,\r\n Middlename: PANMiddleName,\r\n Lastname: PANlastName,\r\n PANIssueDate: \"\",\r\n AadharSeedingStatus: SeedingStatusMsg,\r\n VendorName: \"\",\r\n IsValid: PanStatus === \"Y\" ? true : false,\r\n IsAadharSeeded: seedingStatus,\r\n };\r\n console.log(\"PAN DETails\", GlobalStore?.personaldetails?.panDetails);\r\n if (seedingStatus === \"N\") {\r\n GlobalStore.isSeeding = false;\r\n } else {\r\n GlobalStore.isSeeding = true;\r\n }\r\n ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n };\r\n function validatePAN(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR101\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data && res.data.PanNo && res.data.IsValid == true) {\r\n //CleverTap log Start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_success',\r\n // CTA: 'Continue'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log End\r\n\r\n let PANFirstName = res.data.Firstname ? res.data.Firstname : \"\";\r\n let PANMiddleName = res.data.Middlename ? res.data.Middlename : \"\";\r\n let PANlastName = res.data.Lastname ? res.data.Lastname : \"\";\r\n\r\n if (PANFirstName === \"\" && PANlastName !== \"\") {\r\n PANFirstName = PANlastName;\r\n GlobalStore.personaldetails.PANName = PANFirstName;\r\n PANlastName = \"\";\r\n if (PANMiddleName !== \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n }\r\n } else if (\r\n PANFirstName === \"\" &&\r\n PANMiddleName === \"\" &&\r\n PANlastName === \"\"\r\n ) {\r\n GlobalStore.personaldetails.PANName = \"\";\r\n } else if (PANMiddleName === \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANlastName;\r\n PANMiddleName = \"\";\r\n } else {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n }\r\n\r\n //Modify personal details based on this response.\r\n\r\n GlobalStore.personaldetails.firstname = PANFirstName;\r\n GlobalStore.personaldetails.lastname = PANlastName;\r\n GlobalStore.personaldetails.middlename = PANMiddleName;\r\n GlobalStore.personaldetails.panDetails = res.data;\r\n\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n console.log(responseObj, \" RESP }}\");\r\n setIsLoading(true);\r\n if (res.data.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n isPanLinkedToAadhar = false;\r\n setSeedingPopup(!isPanLinkedToAadhar);\r\n setIsLoading(false);\r\n ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n }\r\n // else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n else if (\r\n res.data.IsAadharSeeded == \"Y\" ||\r\n res.data.IsAadharSeeded == \"NA\"\r\n ) {\r\n GlobalStore.isSeeding = true;\r\n isPanLinkedToAadhar = true;\r\n setSeedingPopup(!isPanLinkedToAadhar);\r\n ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n }\r\n // ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n //-------- After Pan validation Navigate to DigiLocker Page -------\r\n\r\n //Dudupe Logic here//\r\n // AGetClientDetailsByPan(searchByPan, values.pan);\r\n } else if (\r\n res &&\r\n res.data &&\r\n res.data.PanNo &&\r\n res.data.IsValid == false\r\n ) {\r\n // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + (res.error || \"\"));\r\n }\r\n // setErrCode(errCode + (res.error || \"\"));\r\n setIsLoading(false);\r\n\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf('Not in ITD Database') === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n // setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n } else {\r\n // setErrCode('PAN UTI server down');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + (res.error || \"\"));\r\n }\r\n //setErrCode(errCode + (res.error || \"\"));\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n // function validatePAN(res: any) {\r\n // if (!res || res.error) {\r\n // // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n // // setErrCode(errorMessage.validatePAN);\r\n // setErrCode(res.error);\r\n // console.log(res.errMsg);\r\n // setIsLoading(false);\r\n // } else {\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Existing and Valid\"\r\n // ) !== -1\r\n // ) {\r\n // //CleverTap log Start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_success',\r\n // // CTA: 'Continue'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log End\r\n\r\n // let PANFirstName = res.data.panDetails.Firstname\r\n // ? res.data.panDetails.Firstname\r\n // : \"\";\r\n // let PANMiddleName = res.data.panDetails.Middlename\r\n // ? res.data.panDetails.Middlename\r\n // : \"\";\r\n // let PANlastName = res.data.panDetails.Lastname\r\n // ? res.data.panDetails.Lastname\r\n // : \"\";\r\n\r\n // if (PANFirstName === \"null\" && PANlastName !== \"null\") {\r\n // PANFirstName = PANlastName;\r\n // GlobalStore.personaldetails.PANName = PANFirstName;\r\n // PANlastName = \"\";\r\n // if (PANMiddleName !== \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n // }\r\n // } else if (\r\n // PANFirstName === \"null\" &&\r\n // PANMiddleName === \"null\" &&\r\n // PANlastName === \"null\"\r\n // ) {\r\n // GlobalStore.personaldetails.PANName = \"\";\r\n // } else if (PANMiddleName === \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANlastName;\r\n // PANMiddleName = \"\";\r\n // } else {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n // }\r\n\r\n // //Modify personal details based on this response.\r\n\r\n // GlobalStore.personaldetails.firstname = PANFirstName;\r\n // GlobalStore.personaldetails.lastname = PANlastName;\r\n // GlobalStore.personaldetails.middlename = PANMiddleName;\r\n // GlobalStore.personaldetails.panDetails = res.data.panDetails;\r\n\r\n // let responseObj = res.data.panDetails;\r\n\r\n // if (responseObj?.AadharSeedingStatus.includes(\"Aadhaar not Seeded\")) {\r\n // GlobalStore.isSeeding = false;\r\n // } else if (\r\n // responseObj?.AadharSeedingStatus.includes(\r\n // \"Aadhaar Seeding is Successful\"\r\n // )\r\n // ) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n\r\n // //-------- After Pan validation Navigate to DigiLocker Page-------\r\n\r\n // //Dudupe Logic here//\r\n // AGetClientDetailsByPan(searchByPan, values.pan);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\"Invalid PAN\") === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n // setErrCode(errorMessage.newPanUtiError);\r\n\r\n // setIsLoading(false);\r\n // //CleverTap log start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_failure',\r\n // // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Not in ITD Database\"\r\n // ) === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // //CleverTap log start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_failure',\r\n // // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log end\r\n // } else {\r\n // // setErrCode('PAN UTI server down');\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // }\r\n // }\r\n // }\r\n // function validatePAN(res: any) {\r\n // console.log(\"validatePAN\", res);\r\n // if (!res || res.error) {\r\n // // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n // setErrCode(errorMessage.validatePAN);\r\n // setIsLoading(false);\r\n // } else {\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf(\"Existing and Valid\") !== -1\r\n // ) {\r\n // //CleverTap log Start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_success',\r\n // // CTA: 'Continue'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log End\r\n\r\n // let PANFirstName =\r\n // res.data.panDetails.split(\"^\")[1].trim() !== null &&\r\n // res.data.panDetails.split(\"^\")[1].trim() !== \"\"\r\n // ? res.data.panDetails.split(\"^\")[1].trim()\r\n // : \"\";\r\n // let PANMiddleName =\r\n // res.data.panDetails.split(\"^\")[2].trim() !== null &&\r\n // res.data.panDetails.split(\"^\")[2].trim() !== \"\"\r\n // ? res.data.panDetails.split(\"^\")[2].trim()\r\n // : \"\";\r\n // let PANlastName =\r\n // res.data.panDetails.split(\"^\")[3].trim() !== null &&\r\n // res.data.panDetails.split(\"^\")[3].trim() !== \"\"\r\n // ? res.data.panDetails.split(\"^\")[3].trim()\r\n // : \"\";\r\n\r\n // if (PANFirstName === \"null\" && PANlastName !== \"null\") {\r\n // PANFirstName = PANlastName;\r\n // GlobalStore.personaldetails.PANName = PANFirstName;\r\n // PANlastName = \"\";\r\n // if (PANMiddleName !== \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n // }\r\n // } else if (\r\n // PANFirstName === \"null\" &&\r\n // PANMiddleName === \"null\" &&\r\n // PANlastName === \"null\"\r\n // ) {\r\n // GlobalStore.personaldetails.PANName = \"\";\r\n // } else if (PANMiddleName === \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANlastName;\r\n // PANMiddleName = \"\";\r\n // } else {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n // }\r\n\r\n // //Modify personal details based on this response.\r\n\r\n // GlobalStore.personaldetails.firstname = PANFirstName;\r\n // GlobalStore.personaldetails.lastname = PANlastName;\r\n // GlobalStore.personaldetails.middlename = PANMiddleName;\r\n // GlobalStore.personaldetails.panDetails = res.data.panDetails;\r\n\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n // GlobalStore.isSeeding = false;\r\n // } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n\r\n // //-------- After Pan validation Navigate to DigiLocker Page-------\r\n\r\n // //Dudupe Logic here//\r\n // AGetClientDetailsByPan(searchByPan, values.pan);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf(\"Invalid PAN\") === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n\r\n // setIsLoading(false);\r\n // //CleverTap log start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_failure',\r\n // // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf(\"Not in ITD Database\") === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n // setIsLoading(false);\r\n // //CleverTap log start\r\n // // var data = {\r\n // // CurrentPage: $location.path(),\r\n // // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // // EventName: 'pan_dob_failure',\r\n // // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // // };\r\n // // clevertap.event.push(data.EventName, data);\r\n // //CleverTap log end\r\n // } else {\r\n // // setErrCode('PAN UTI server down');\r\n // setErrCode(errorMessage.clientDetailsByPanServerDown);\r\n // setIsLoading(false);\r\n // }\r\n // }\r\n // }\r\n\r\n function searchByPan(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('118 - Error in fetching Client details from our system.');\r\n // setErrCode(errorMessage.searchByPan);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({\r\n action: \"GetClientDataByPanOrLead\",\r\n label: \"ERROR || ERR102\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n if (res.data && res.data != \"Records Not Found\") {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n\r\n // GlobalStore.personaldetails.pan = res.data.data.pan;\r\n // GlobalStore.token = res.data.data.token;\r\n // GlobalStore.applicationID = res.data.data.applicatoinId;\r\n // GlobalStore.leadId = res.data.data.leadId;\r\n // GlobalStore.clientPrimaryDetailId =\r\n // res.data.data.clientprimarydetailid;\r\n // console.log(\"GlobalStore====> \", GlobalStore);\r\n\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n } else if (res.data == \"Records Not Found\") {\r\n AGetClientDetailsByLeadId(searchByLeadId, GlobalStore.leadId);\r\n }\r\n } else {\r\n // setErrCode('1182 - Error in fetching Client details from our system.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function searchByLeadId(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('119 - Error in fetching Client details from our system.');\r\n // setErrCode(errorMessage.searchByLeadId);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({\r\n action: \"GetClientDataByPanOrLead\",\r\n label: \"ERROR || ERR103\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n console.log(\"UCC Check 1\");\r\n if (res.data && res.data != null) {\r\n if (\r\n GlobalStore.personaldetails.pan.toUpperCase().trim() ===\r\n res.data.PAN.toUpperCase().trim()\r\n ) {\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n } else {\r\n console.log(\"DUP block\");\r\n // create Lead without dudupe\r\n // GlobalStore.createLeadDudupeParam.byPassDedupe = true;\r\n // ACreateLead(leadCreated, GlobalStore.createLeadDudupeParam);\r\n ACreateLeadSource(leadCreated, GlobalStore.createLeadDudupeParam);\r\n // savePanDob();\r\n }\r\n } else if (res.data == null) {\r\n console.log(\"UCC Check 2\");\r\n ACheckUCCExists(\r\n CheckUCCExists,\r\n values.pan,\r\n GlobalStore.user.mobile,\r\n GlobalStore.user.email,\r\n GlobalStore.leadId\r\n );\r\n //savePanDob();\r\n } else {\r\n // setErrCode('1192 - Error in fetching Client details from our system.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function leadCreated(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('103 - Error in generating new Lead.');\r\n // setErrCode(errorMessage.leadCreated);\r\n setErrCode(res.error);\r\n gtmService({ action: \"CreateLead\", label: \"ERROR || ERR111\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data) {\r\n const response = JSON.parse(res.data);\r\n if (response && response.LeadId) {\r\n GlobalStore.leadId = response.LeadId;\r\n savePanDob();\r\n }\r\n } else {\r\n // setErrCode('104 - Error in generating new Lead.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n const cacheKRAFunction = (responseObj: any) => {\r\n GlobalStore.isKRA = true;\r\n if (applicationModeType !== \"isKRA\") {\r\n console.log(\"setApplicationModeType 4\");\r\n setApplicationModeType(\"isKRA\");\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.KRA_email = responseObj.KraEmail ? responseObj.KraEmail : \"\";\r\n GlobalStore.KRA_mobile = responseObj.KraMobile ? responseObj.KraMobile : \"\";\r\n GlobalStore.KRA_mode = responseObj.kra_mode ? responseObj.kra_mode : 0;\r\n\r\n // if (!GlobalStore.isKYC) {\r\n const resultObj = responseObj;\r\n GlobalStore.kraInfoObject.addressLine1 = `${resultObj.AppPerAdd1} ${\r\n resultObj.AppPerAdd2 || \"\"\r\n } ${resultObj.AppPerAdd3 || \"\"}`;\r\n GlobalStore.kraInfoObject.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1; //.replace(/[^a-zA-Z0-9 ]/g, \" \")\r\n\r\n GlobalStore.kraInfoObject.corrAddress = `${resultObj.AppCorAdd1} ${\r\n resultObj.AppCorAdd2 || \"\"\r\n } ${resultObj.AppCorAdd3 || \"\"}`;\r\n GlobalStore.kraInfoObject.corrAddress =\r\n GlobalStore.kraInfoObject.corrAddress; //.replace(/[^a-zA-Z0-9 ]/g, \" \")\r\n GlobalStore.kraInfoObject.pincode = resultObj.AppPerPincd;\r\n GlobalStore.kraInfoObject.corrPincode = resultObj.AppCorPincd;\r\n GlobalStore.personaldetails.fsfullName = resultObj.FatherName\r\n ? resultObj.FatherName\r\n : GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1;\r\n clientPartialDetails_ao.pincode = GlobalStore.kraInfoObject.pincode;\r\n clientPartialDetails_ao.corrAddress = GlobalStore.kraInfoObject.corrAddress;\r\n clientPartialDetails_ao.corrPincode = GlobalStore.kraInfoObject.corrPincode;\r\n clientPartialDetails_ao.fsfullName = GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : false;\r\n // } else {\r\n // clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n // }\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n GlobalStore.dateofbirth = moment(values.dob).format(\"MM/DD/YYYY\");\r\n dobMatched({}, true, true);\r\n // getKraDocumentUpload(responseObj, true);\r\n // setTimeout(()=>{\r\n\r\n // },3000)\r\n };\r\n const originalSavePANDOB = (applicationIdExists?: boolean) => {\r\n if (\r\n applicationIdExists &&\r\n (GlobalStore.stageStatus.ispersonaldetailscompleted ||\r\n GlobalStore.stageStatus.isprofiledetailscompleted)\r\n ) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n clientPartialDetails_ao.PANName = GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.aadharLinkedChoice =\r\n GlobalStore.aadharLinkedChoice;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n clientPartialDetails_ao.ckycNo = GlobalStore.stageStatus.ckycnumber;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.isDigiLocker = GlobalStore.isDigiLocker;\r\n clientPartialDetails_ao.isKRA = GlobalStore.stageStatus.iskra;\r\n clientPartialDetails_ao.isKYC = GlobalStore.stageStatus.iskyc;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = values.pan;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.isSeeding = GlobalStore.isSeeding;\r\n // if(GlobalStore?.applicationID && GlobalStore?.isDigiLocker){\r\n // setShowSubmitModal(true);\r\n // }\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n registerCleverTapEventAfterProceed();\r\n gtmService({ action: \"PAN_DOB\", label: \"Step_Complete\" });\r\n if (GlobalStore?.applicationID && GlobalStore?.isDigiLocker) {\r\n history.push(GlobalStore?.nextIncompleteStage);\r\n } else navigate(applicationIdExists);\r\n } else {\r\n GlobalStore.dateofbirth = moment(values.dob).format(\"MM/DD/YYYY\");\r\n GlobalStore.dob = moment(values.dob).format(\"DD/MM/YYYY\");\r\n GlobalStore.birthDate = moment(values.dob).format(\"MM/DD/YYYY\");\r\n\r\n if (isPanLinkedToAadhar == true) {\r\n dobMatched({});\r\n // AGetCkycNumber(\r\n // (res: any) => getCkycNumber(res, applicationIdExists),\r\n // values.pan\r\n // );\r\n } else {\r\n GlobalStore.isKYC = false;\r\n GlobalStore.isKRA = false;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n dobMatched({});\r\n }\r\n }\r\n };\r\n const CalledCkycFunctionNew = (applicationIdExists?: boolean) => {\r\n AGetCkycNumber(\r\n (res: any) => getCkycNumber(res, applicationIdExists),\r\n values.pan\r\n );\r\n };\r\n function savePanDob(applicationIdExists?: boolean) {\r\n if (\r\n GlobalStore?.applicationID &&\r\n GlobalStore.stageStatus.ispersonaldetailscompleted !== true &&\r\n GlobalStore.stageStatus.isprofiledetailscompleted !== true\r\n ) {\r\n AGetCacheData(\r\n (res: any) => {\r\n if (res && res.data && res.data?.IsTaggingPresent) {\r\n let cacheResponse = res?.data;\r\n if (\r\n GlobalStore?.applicationID &&\r\n GlobalStore.stageStatus.ispersonaldetailscompleted !== true &&\r\n GlobalStore.stageStatus.isprofiledetailscompleted !== true &&\r\n cacheResponse !== null &&\r\n cacheResponse?.IsTaggingPresent\r\n ) {\r\n if (cacheResponse?.TaggingMode == \"1\") {\r\n cacheKRAFunction(cacheResponse?.data);\r\n } else if (cacheResponse?.TaggingMode == \"2\") {\r\n GlobalStore.isDigiLocker = true;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.PANName =\r\n GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.aadharLinkedChoice =\r\n GlobalStore.aadharLinkedChoice;\r\n clientPartialDetails_ao.applicationId =\r\n GlobalStore.applicationID;\r\n clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n clientPartialDetails_ao.ckycNo =\r\n GlobalStore.stageStatus.ckycnumber;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.isDigiLocker = GlobalStore.isDigiLocker;\r\n clientPartialDetails_ao.isKRA = GlobalStore.stageStatus.iskra;\r\n clientPartialDetails_ao.isKYC = GlobalStore.stageStatus.iskyc;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = values.pan;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.isSeeding = GlobalStore.isSeeding;\r\n clientPartialDetails_ao.signzydt = \"\";\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n getProfileDetailsFromAadhar(cacheResponse?.data);\r\n history.push(dashboardUrl.profile);\r\n } else if (cacheResponse?.TaggingMode == \"3\") {\r\n GlobalStore.isNormalClient = true;\r\n GlobalStore.isKYC = false;\r\n GlobalStore.isKRA = false;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.PANName =\r\n GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.aadharLinkedChoice =\r\n GlobalStore.aadharLinkedChoice;\r\n clientPartialDetails_ao.applicationId =\r\n GlobalStore.applicationID;\r\n clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n clientPartialDetails_ao.ckycNo =\r\n GlobalStore.stageStatus.ckycnumber;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.isDigiLocker = GlobalStore.isDigiLocker;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = values.pan;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.isSeeding = GlobalStore.isSeeding;\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n }\r\n } else {\r\n originalSavePANDOB(applicationIdExists);\r\n }\r\n\r\n setCacheResponse(res?.data);\r\n } else {\r\n originalSavePANDOB(applicationIdExists);\r\n setCacheResponse(null);\r\n }\r\n },\r\n {\r\n uniqueID: GlobalStore?.applicationID,\r\n key: `AOPDROPOFF-${GlobalStore?.applicationID}`,\r\n }\r\n );\r\n } else {\r\n originalSavePANDOB(applicationIdExists);\r\n }\r\n\r\n console.log(\"panlink log\", isPanLinkedToAadhar);\r\n }\r\n\r\n function getCkycNumber(res: any, applicationIdExists?: boolean) {\r\n if (!res || res.error) {\r\n // setErrCode('1223 - Error in fetching CKYC Number.');\r\n // setErrCode(errorMessage.getCkycNumber);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"GetCkycNumber\", label: \"ERROR || ERR107\" });\r\n navigate(applicationIdExists);\r\n } else {\r\n if (res.data) {\r\n // const responseObj = JSON.parse(res.data);\r\n const reqObj = {\r\n dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n panno: values.pan,\r\n applicationId: GlobalStore.applicationID,\r\n };\r\n\r\n AGetKraDetails(\r\n (res: any) => kraDobCheckNew(res, applicationIdExists),\r\n reqObj\r\n );\r\n // if (responseObj?.CKYC_NO !== \"\") {\r\n // // const reqObj = {\r\n // // applicationid: values.pan,\r\n // // dob: `${moment(values.dob).format(\"DD-MM-YYYY\")}`,\r\n // // panno: values.pan,\r\n // // };\r\n // // AGetCkycDetails(\r\n // // (res: any) => getCkycDetails(res, applicationIdExists),\r\n // // reqObj\r\n // // );\r\n // const reqObj = {\r\n // dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n // panno: values.pan,\r\n // applicationId: GlobalStore.applicationID,\r\n // };\r\n // AGetKraDetails(\r\n // (res: any) => kraDobCheck(res, applicationIdExists),\r\n // reqObj\r\n // );\r\n // } else {\r\n // const reqObj = {\r\n // dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n // panno: values.pan,\r\n // applicationId: GlobalStore.applicationID,\r\n // };\r\n // AGetKraDetails(\r\n // (res: any) => kraDobCheck(res, applicationIdExists),\r\n // reqObj\r\n // );\r\n // // dobMatched(res.data, applicationIdExists); //By passing DoB check\r\n // }\r\n } else {\r\n // setErrCode('1224 - Error in fetching CKYC Number.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n navigate(applicationIdExists);\r\n }\r\n }\r\n }\r\n\r\n // function getCkycDetails(res: any, applicationIdExists?: boolean) {\r\n // if (!res || res.error) {\r\n\r\n // setErrCode(res.error);\r\n // setIsLoading(false);\r\n // gtmService({ action: \"GetCKYCDetails\", label: \"ERROR || ERR110\" });\r\n // navigate(applicationIdExists);\r\n // } else {\r\n // if (res.data && res.data.PersonalDetails) {\r\n // dobMatched(res.data, applicationIdExists);\r\n // } else {\r\n // setIsLoading(false);\r\n // alert(\"Date of Birth is not matching with the PAN.\");\r\n // GlobalStore.isKYC = false;\r\n // const clientPartialDetails_ao = JSON.parse(\r\n // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // );\r\n // clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n // window.localStorage.setItem(\r\n // \"clientPartialDetails_ao\",\r\n // JSON.stringify(clientPartialDetails_ao)\r\n // );\r\n // dobMatched(res.data, applicationIdExists);\r\n // }\r\n // }\r\n // }\r\n const kraDobCheckNew = (res: any, applicationIdExists?: boolean) => {\r\n if (!res || res.error) {\r\n // setErrCode(1227);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"GetKraDetails\", label: \"ERROR || ERR108\" });\r\n navigate(applicationIdExists);\r\n } else {\r\n const responseObj = res.data;\r\n if (responseObj.AppErrorDesc?.includes(\"INVALID DOB\")) {\r\n setIsLoading(false);\r\n\r\n // setErrCode('Date of Birth is not matching with the PAN');\r\n setErrCode(errCode ? errCode : \"\" + (res.error || \"\"));\r\n setErrors({ ...errors, dob: errorMsg(errorCode.FE11) });\r\n } else {\r\n getKraDetails(responseObj, applicationIdExists);\r\n }\r\n }\r\n };\r\n const kraDobCheck = (res: any, applicationIdExists?: boolean) => {\r\n if (!res || res.error) {\r\n // setErrCode(1227);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"GetKraDetails\", label: \"ERROR || ERR108\" });\r\n navigate(applicationIdExists);\r\n } else {\r\n const responseObj = res.data;\r\n if (responseObj.AppErrorDesc?.includes(\"INVALID DOB\")) {\r\n setIsLoading(false);\r\n\r\n // setErrCode('Date of Birth is not matching with the PAN');\r\n setErrCode(errCode ? errCode : \"\" + (res.error || \"\"));\r\n setErrors({ ...errors, dob: errorMsg(errorCode.FE11) });\r\n } else {\r\n dobMatched(responseObj, applicationIdExists);\r\n }\r\n }\r\n };\r\n\r\n function dobMatched(\r\n kycobj: any,\r\n applicationIdExists?: boolean,\r\n cacheResonse?: boolean\r\n ) {\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n let objAccType = window.sessionStorage.getItem(\"objAccType\") || \"\"; // only demat getting parameter type\r\n const panDobObj = {\r\n leadId: GlobalStore.leadId,\r\n emailID: GlobalStore.user.email,\r\n mobileno: GlobalStore.user.mobile,\r\n isemployeepan: isEmployee,\r\n panNo: values.pan,\r\n dob: GlobalStore.dateofbirth,\r\n // static data need to remove later\r\n aadhaar: values.aadhaarNo,\r\n ispanaadhaarlinked: isPanLinkedToAadhar,\r\n relationship: false,\r\n relationName: \"\",\r\n others: \"\",\r\n objUTM_Info: objUTM_Info,\r\n response: \"\",\r\n TransactionId: \"\",\r\n kycverified: \"\",\r\n product: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n platform: 1,\r\n panFName: values?.firstName,\r\n panMName: values?.middleName,\r\n panLName: values?.lastName,\r\n PanFSName: values.fatherName,\r\n SendSelfieLink: togPhoto, //((photoObj.base64==null || photoObj.base64==\"\") && togPhoto==false) ? true:\r\n diyReferralLink: localURL,\r\n };\r\n console.log(\"called here ===> 2\");\r\n ASavePanDobDetails(\r\n (res: any) =>\r\n applicationInitialized(res, kycobj, applicationIdExists, cacheResonse),\r\n panDobObj\r\n );\r\n }\r\n\r\n function applicationInitialized(\r\n res: any,\r\n kycobj: any,\r\n applicationIdExists?: boolean,\r\n cacheResponse?: boolean\r\n ) {\r\n console.log(\"function applicationInitialized : \", kycobj, \"||\", res);\r\n if (!res || res.error) {\r\n console.log(\"applicationInitialized 00\");\r\n // setErrCode('121 - Error in Application initialization.');\r\n // setErrCode(errorMessage.applicationInitialized);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"SavePanDobDetails\", label: \"ERROR || ERR106\" });\r\n setIsLoading(false);\r\n } else {\r\n console.log(\"applicationInitialized 11\");\r\n if (res.data && res.data.LeadId) {\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicationID;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n GlobalStore.aadharLinkedChoice =\r\n values.aadharLinked === \"Yes\" ? true : false;\r\n GlobalStore.personaldetails.pan = values.pan;\r\n // GlobalStore.personaldetails.aadharNo = values.aadhaarNo.slice(-4);\r\n // Create link for capturing selfie from mobile\r\n const encodedPan = btoa(`${values.pan}`);\r\n const stringParams = `selfie?id=${encodedPan}`;\r\n const selfieUrl = `${config.root}${stringParams}`;\r\n GlobalStore.selfieUrl = selfieUrl;\r\n const clientObj = {\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId,\r\n applicationId: GlobalStore.applicationID,\r\n };\r\n window.sessionStorage.setItem(\r\n \"clientDetails\",\r\n JSON.stringify(clientObj)\r\n );\r\n\r\n //extract pan\r\n console.log(\"applicationInitialized 22\", GlobalStore);\r\n if (cacheResponse == true) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n clientPartialDetails_ao.birthDate = GlobalStore.birthDate;\r\n clientPartialDetails_ao.pan = values.pan;\r\n clientPartialDetails_ao.aadharLinkedChoice =\r\n GlobalStore.aadharLinkedChoice;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.PANName = GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.isSeeding = GlobalStore.isSeeding;\r\n clientPartialDetails_ao.selfieUrl = GlobalStore.selfieUrl;\r\n clientPartialDetails_ao.isManual = false;\r\n clientPartialDetails_ao.aadharNo =\r\n GlobalStore.personaldetails.aadharNo;\r\n window.localStorage.setItem(\r\n \"aadharNumber\",\r\n GlobalStore.personaldetails.aadharNo\r\n );\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n } else {\r\n if (!willDoLater) {\r\n let panOCRval = panOCR;\r\n panOCRval.PayloadObj.applicationid = GlobalStore.applicationID;\r\n setPanOCR(panOCRval);\r\n uploadPanFile(panOCR.val, panOCR.fileName, panOCR.id, panOCR.type);\r\n // AextractPan(\r\n // (res: any) =>\r\n // storeOcrData(\r\n // res,\r\n // panOCR.val,\r\n // panOCR.fileName,\r\n // panOCR.id,\r\n // panOCR.type\r\n // ),\r\n // panOCR.PayloadObj\r\n // );\r\n }\r\n const clientPartialDetails_ao = {\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId,\r\n token: GlobalStore.token,\r\n applicationId: GlobalStore.applicationID,\r\n dob: GlobalStore.dob,\r\n birthDate: GlobalStore.birthDate,\r\n pan: values.pan,\r\n aadharLinkedChoice: GlobalStore.aadharLinkedChoice,\r\n leadID: GlobalStore.leadId,\r\n emailID: GlobalStore.user.email,\r\n mobile: GlobalStore.user.mobile,\r\n panDetails: GlobalStore.personaldetails.panDetails,\r\n PANName: GlobalStore.personaldetails.PANName,\r\n isSeniorCitizen:\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false,\r\n isDigiLocker: GlobalStore.isDigiLocker,\r\n isKRA: false,\r\n isKYC: false,\r\n isSeeding: GlobalStore.isSeeding,\r\n selfieUrl: GlobalStore.selfieUrl,\r\n isManual: false,\r\n aadharNo: GlobalStore.personaldetails.aadharNo,\r\n };\r\n window.localStorage.setItem(\r\n \"aadharNumber\",\r\n GlobalStore.personaldetails.aadharNo\r\n );\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n nextprocess(kycobj);\r\n }\r\n\r\n // updateUtmInfo(() => {}); // here updating utmcreative and content.\r\n // //commented due to whatsapp diable requirements on 20-1-23\r\n // // AWhatsappCom(whatsappCom, whatsappReq);\r\n\r\n // // Send link for capturing selfie from mobile\r\n // if (togPhoto) {\r\n // debugger;\r\n // const smsBody = {\r\n // mobNo: GlobalStore.user.mobile,\r\n // // selfieLinkText: `Give a Smile and complete your Selfie process for Online Account Opening, click here ${selfieUrl} to complete the process. Regards, Nuvama`,\r\n // selfieLinkText: selfieUrl,\r\n // };\r\n // ASendSms((res: any) => {\r\n // if (!res || res.error) {\r\n // setErrCode(errCode + res.error);\r\n // } else {\r\n // if (res && res.data) {\r\n // }\r\n // }\r\n // }, smsBody);\r\n // }\r\n\r\n // // Storing CKYC details & Documents begin here\r\n // // if (kycobj.PersonalDetails) {\r\n // // // AGetCkycNumber((res: any) => getCkycNumber(res, applicationIdExists), values.pan);\r\n // // const kycDetails = kycobj.PersonalDetails;\r\n\r\n // // GlobalStore.ckycNo = kycDetails.CkycNumber;\r\n // // GlobalStore.isKYC = true;\r\n // // GlobalStore.personaldetails.fsfullName = `${kycDetails.FatherFName} ${kycDetails.FatherMName} ${kycDetails.FatherLName}`;\r\n // // GlobalStore.personaldetails.motherfullName = `${kycDetails.MotherFName} ${kycDetails.MotherMName} ${kycDetails.MotherLName}`;\r\n // // if (GlobalStore.personaldetails.fsfullName.trim() === \"\")\r\n // // GlobalStore.personaldetails.fsfullName = \"\";\r\n // // if (GlobalStore.personaldetails.motherfullName.trim() === \"\")\r\n // // GlobalStore.personaldetails.motherfullName = \"\";\r\n // // GlobalStore.ckycInfoObject.addressLine1 =\r\n // // `${kycDetails.PermLine1}` +\r\n // // \" \" +\r\n // // `${kycDetails.PermLine2 || \"\"}` +\r\n // // \" \" +\r\n // // `${kycDetails.PermLine3 || \"\"}`;\r\n // // GlobalStore.ckycInfoObject.sameAsPermanent =\r\n // // kycDetails.PermanentSameAsCorrespondaceFlag === \"N\" ? false : true;\r\n // // GlobalStore.ckycInfoObject.corrAddress =\r\n // // `${kycDetails.CorresLine1}` +\r\n // // \" \" +\r\n // // `${kycDetails.CorresLine2 || \"\"}` +\r\n // // \" \" +\r\n // // `${kycDetails.CorresLine3 || \"\"}`;\r\n // // GlobalStore.ckycInfoObject.pincode = kycDetails.PermPin;\r\n // // GlobalStore.ckycInfoObject.corrPincode = kycDetails.CorresPin;\r\n // // GlobalStore.personaldetails.gender = kycDetails.Gender;\r\n // // const clientPartialDetails_ao = JSON.parse(\r\n // // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // // );\r\n // // clientPartialDetails_ao.ckycNo = GlobalStore.ckycNo;\r\n // // clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n // // clientPartialDetails_ao.fsfullName =\r\n // // GlobalStore.personaldetails.fsfullName;\r\n // // clientPartialDetails_ao.motherfullName =\r\n // // GlobalStore.personaldetails.motherfullName;\r\n // // clientPartialDetails_ao.addressLine1 =\r\n // // GlobalStore.ckycInfoObject.addressLine1;\r\n // // clientPartialDetails_ao.sameAsPermanent =\r\n // // GlobalStore.ckycInfoObject.sameAsPermanent;\r\n // // clientPartialDetails_ao.corrAddress =\r\n // // GlobalStore.ckycInfoObject.corrAddress;\r\n // // clientPartialDetails_ao.pincode = GlobalStore.ckycInfoObject.pincode;\r\n // // clientPartialDetails_ao.corrPincode =\r\n // // GlobalStore.ckycInfoObject.corrPincode;\r\n // // window.localStorage.setItem(\r\n // // \"clientPartialDetails_ao\",\r\n // // JSON.stringify(clientPartialDetails_ao)\r\n // // );\r\n // // // If no images from CKYC\r\n // // }\r\n // if (isPanLinkedToAadhar == true) {\r\n // // const reqObj = {\r\n // // applicationid: GlobalStore.applicationID,\r\n // // dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n // // panno: values.pan,\r\n // // };\r\n // // AGetKraDetails(\r\n // // (res: any) => getKraDetails(res, applicationIdExists),\r\n // // reqObj\r\n // // );\r\n // getKraDetails(kycobj);\r\n // } else {\r\n // setIsNormalClient(true);\r\n // GlobalStore.isNormalClient = true;\r\n // const clientPartialDetails_ao = JSON.parse(\r\n // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // );\r\n // clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n // window.localStorage.setItem(\r\n // \"clientPartialDetails_ao\",\r\n // JSON.stringify(clientPartialDetails_ao)\r\n // );\r\n // setIsLoading(false);\r\n // }\r\n } else {\r\n // setErrCode('120 - Error in Application initialization.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n //setApplicationInitializedFlag(true);\r\n }\r\n\r\n React.useEffect(() => {\r\n if (applicationInitializedFlag && applicationModeType === \"isDigiLocker\") {\r\n setShowSubmitModal(true);\r\n }\r\n }, [applicationInitializedFlag, applicationModeType]);\r\n\r\n function checkPendingUpload(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('1221 - Error in fetching pending document upload list.');\r\n // setErrCode(errorMessage.checkPendingUpload);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR112\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data) {\r\n const list: Array = JSON.parse(res.data).filter(\r\n (item: any) =>\r\n // Prev api response\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // item.documentcategoryid !== 62\r\n\r\n // Current Api response\r\n item.Mandatory == true\r\n );\r\n let isUploadDocumentsCompleted: boolean = false;\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n const redisReqObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailsId: GlobalStore.clientPrimaryDetailId,\r\n };\r\n // ARedisDigilockerDoc(\r\n // (res: any) => getRedisData(res, isUploadDocumentsCompleted),\r\n // redisReqObj\r\n // );\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res, isUploadDocumentsCompleted),\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n // setErrCode('1222 - Error in fetching pending document upload list.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function getRedisData(res: any, isUploadDocumentsCompleted: boolean) {\r\n if (!res || res.error) {\r\n // setErrCode('66341- Error in fetching Digilocker document.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({\r\n action: \"SavePersonalProfileDetails\",\r\n label: \"ERROR || ERR114\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.coresAddress) {\r\n GlobalStore.isDigiLocker = true;\r\n console.log(\"setApplicationModeType\");\r\n setApplicationModeType(\"isDigiLocker\");\r\n } else {\r\n GlobalStore.isDigiLocker = false;\r\n }\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res, isUploadDocumentsCompleted),\r\n GlobalStore.applicationID\r\n );\r\n }\r\n }\r\n\r\n function getClientStageDetails(\r\n res: any,\r\n isUploadDocumentsCompleted: boolean\r\n ) {\r\n if (!res || res.error) {\r\n // setErrCode('1061 - Error in fetching stage completion details.');\r\n // setErrCode(errorMessage.getClientStageDetails);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR113\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n let cacheData = null;\r\n //check completeness of stages\r\n checkModuleCompleteness(isUploadDocumentsCompleted);\r\n setCheckpanaaddharflag(responseObj.checkpanaaddharflag);\r\n setStageBooleanFlags((stageBooleanFlags) => {\r\n stageBooleanFlags.isPersonalStage =\r\n responseObj?.ispersonaldetailscompleted;\r\n stageBooleanFlags.isProfileStage =\r\n responseObj?.isprofiledetailscompleted;\r\n return stageBooleanFlags;\r\n });\r\n if (responseObj.isdigilockercompleted) {\r\n GlobalStore.isDigiLocker = true;\r\n console.log(\"setApplicationModeType 2\");\r\n setApplicationModeType(\"isDigiLocker\");\r\n }\r\n if (responseObj.iskra) {\r\n GlobalStore.isKRA = true;\r\n console.log(\"setApplicationModeType 3\");\r\n setApplicationModeType(\"isKRA\");\r\n }\r\n if (responseObj.iskyc) GlobalStore.isKYC = true;\r\n //route according to stage api response\r\n // if (\r\n // !responseObj.isdigilockercompleted &&\r\n // values.aadharLinked === 'Yes' &&\r\n // !GlobalStore.isDigiLocker &&\r\n // !responseObj.ispersonaldetailscompleted\r\n // )\r\n // GlobalStore.nextIncompleteStage = containerUrl.dgLocker;\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.profile;\r\n else if (!responseObj.isbankdetailscompleted) {\r\n GlobalStore.nextIncompleteStage = dashboardUrl.bank;\r\n } else if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.plan;\r\n else if (!isUploadDocumentsCompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.doc;\r\n else if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.ipv;\r\n else if (responseObj.isagentvisitcompleted)\r\n GlobalStore.nextIncompleteStage = containerUrl.ocv;\r\n else if (!responseObj.isesigncompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.eSign;\r\n else if (responseObj.bpm_pd_status === 0)\r\n history.push(statusUrl.docVerificationInProgress);\r\n else if (responseObj.bpm_pd_status === 1)\r\n history.push(containerUrl.poa);\r\n\r\n savePanDob(true);\r\n } else {\r\n // setErrCode('1062 - Error in fetching stage completion details.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n const cacheFunction = (applicationID: string) => {};\r\n function whatsappCom(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('1241 - Failed to provide consent for WhatsApp Notifications.');\r\n // setErrCode(errorMessage.whatsAppNotify);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({\r\n action: \"WhatsUpAppInitiateCommunication\",\r\n label: \"ERROR || ERR104\",\r\n });\r\n } else {\r\n if (res.data) {\r\n } else {\r\n // setErrCode('1242 - Failed to provide consent for WhatsApp Notifications.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n }\r\n }\r\n }\r\n\r\n const maskedAadhar = (\r\n res: any,\r\n savePermAddressObj: any,\r\n aadharOCR: any,\r\n applicationIdExists?: boolean\r\n ) => {\r\n if (!res || res.error) {\r\n // setErrCode('Error in masking Aadhar number of the uploaded file.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR114-4\" });\r\n // setErrCode(res.error);\r\n } else if (res.data) {\r\n if (res.data.result.id_number_found) {\r\n // Masking API returns only JPG images, even if input is PDF.\r\n aadharOCR.base64document = res.data.result.base64_image;\r\n savePermAddressObj.mimeType = \"image/jpeg\";\r\n savePermAddressObj.fileName = permAddressObj.fileName + \".jpg\";\r\n }\r\n AextractAadhaar(\r\n (res: any) =>\r\n storeAadharData(\r\n res,\r\n savePermAddressObj,\r\n aadharOCR,\r\n applicationIdExists\r\n ),\r\n aadharOCR\r\n );\r\n }\r\n };\r\n\r\n const storeAadharData = (\r\n res: any,\r\n savePermAddressObj: any,\r\n aadharOCR: any,\r\n applicationIdExists?: boolean\r\n ) => {\r\n if (!res || res.error) {\r\n // setErrCode('Error in reading Aadhar details of the uploaded file.');\r\n // setErrCode(errorMessage.storeAadharData);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR114-2\" });\r\n } else if (res.data) {\r\n if (res.data.result)\r\n GlobalStore.aadhaarOCRObj = res.data.result.extraction_output;\r\n const addressUploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: aadharOCR.base64document,\r\n filename: savePermAddressObj.fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadResponse(res, savePermAddressObj, applicationIdExists),\r\n addressUploadObj\r\n );\r\n }\r\n };\r\n\r\n\r\n const getUploadResponse = (\r\n res: any,\r\n uploadObj: saveDocumentObj,\r\n applicationIdExists?: boolean\r\n ) => {\r\n if (!res || res.error) {\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n // setErrCode(\"1361- Error in uploading the file.\");\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR114-6\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.Result == true) {\r\n uploadObj.fileName = res.data.Guid;\r\n docCount += 1;\r\n } else {\r\n // setErrCode('1361- Error in uploading the file.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n }\r\n }\r\n saveDetails.push(uploadObj);\r\n const saveobjUTM_Info = utmDurationInfoObj(startTime, \"panInfoDuration\");\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n if (ckycDocs === docCount) {\r\n ASaveDocumentDetails(\r\n () => documentDetailsSaved(res, applicationIdExists),\r\n saveObj\r\n );\r\n }\r\n };\r\n const getUploadKraResponse = (\r\n res: any,\r\n uploadObj: saveDocumentObj,\r\n applicationIdExists?: boolean\r\n ) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n // setErrCode(\"1361- Error in uploading the file.\");\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR114-6\" });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.Result == true) {\r\n uploadObj.fileName = res.data.Guid;\r\n kraDocCount += 1;\r\n } else {\r\n // setErrCode('1361- Error in uploading the file.');\r\n setErrCode(errorMessage.getUploadResponse);\r\n }\r\n }\r\n saveKraDetails.push(uploadObj);\r\n const saveobjUTM_Info = utmDurationInfoObj(startTime, \"panInfoDuration\");\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveKraDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n\r\n if (kraDocs === kraDocCount) {\r\n ASaveDocumentDetails(\r\n (res: any) =>\r\n kraDocumentDetailsSaved(res, applicationIdExists, uploadObj),\r\n saveObj\r\n );\r\n }\r\n };\r\n const kraDocumentDetailsSaved = (\r\n res: any,\r\n applicationIdExists?: boolean,\r\n uploadObj?: saveDocumentObj\r\n ) => {\r\n console.log(\"SaveUploadedDocumentDetails\", kraDocs, kraDocCount);\r\n\r\n if (!res || res.error) {\r\n // setErrCode('1641- Error in saving document details of the application.');\r\n // setErrCode(errorMessage.documentDetailsSaved);\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR114-5\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n setDocumentInfo((prev) => {\r\n console.log(\r\n \"prev.totalDocs\",\r\n prev.totalDocs,\r\n uploadObj?.fileName,\r\n prev.totalDocs.filter((x) => x != uploadObj?.fileName)\r\n );\r\n return {\r\n ...prev,\r\n uploadedDocsCount: prev.uploadedDocsCount + 1,\r\n totalDocs: prev.totalDocs.filter((x) => x !== uploadObj?.fileName),\r\n };\r\n });\r\n setShowSubmitModal(true);\r\n // setIsLoading(false);\r\n // setShowSubmitModal(true);\r\n }\r\n };\r\n const documentDetailsSaved = (\r\n res: any,\r\n applicationIdExists?: boolean,\r\n uploadObj?: saveDocumentObj\r\n ) => {\r\n if (!res || res.error) {\r\n // setErrCode('1641- Error in saving document details of the application.');\r\n // setErrCode(errorMessage.documentDetailsSaved);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR114-5\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n const reqObj = {\r\n applicationid: GlobalStore.applicationID,\r\n createdby: 0,\r\n dbo: `${moment(values.dob).format(\"DD/MM/YYYY\")}`,\r\n panno: values.pan,\r\n };\r\n setDocumentInfo((prev) => {\r\n console.log(\r\n \"prev.totalDocs\",\r\n prev.totalDocs,\r\n uploadObj?.fileName,\r\n prev.totalDocs.filter((x) => x !== uploadObj?.fileName)\r\n );\r\n return {\r\n ...prev,\r\n uploadedDocsCount: prev.uploadedDocsCount + 1,\r\n totalDocs: prev.totalDocs.filter((x) => x != uploadObj?.fileName),\r\n };\r\n });\r\n\r\n AGetKraDetails(\r\n (res: any) => getKraDetails(res, applicationIdExists),\r\n reqObj\r\n );\r\n }\r\n };\r\n function getKraDocumentUpload(kraRes: any, applicationIdExists?: boolean) {\r\n kraDocs = kraRes.ImageDetails.length;\r\n\r\n const images = kraRes?.ImageDetails?.map((image: any) => {\r\n switch (image.ImageCode) {\r\n case \"31\":\r\n case \"00\":\r\n const savePermAddressObj: saveDocumentObj = {\r\n documentCategoryId: image.DocumentCategoryId?.toString(),\r\n documentId: image.DocumentId?.toString(),\r\n fileName:\r\n `${GlobalStore.applicationID}_Permanent_Address` +\r\n (image.MimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: true,\r\n mimeType: image.MimeType || \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: true,\r\n iskycdocument: false,\r\n documentNumber: image.DocumentNumber,\r\n };\r\n const addressUploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: image.Image,\r\n filename: savePermAddressObj.fileName,\r\n QltyByPassFlag: 1,\r\n };\r\n\r\n setDocumentInfo((prev: any) => {\r\n let isDocsAvailable = !prev.totalDocs.includes(\r\n savePermAddressObj.fileName\r\n );\r\n return {\r\n ...prev,\r\n totalDocsCount: isDocsAvailable\r\n ? prev.totalDocsCount + 1\r\n : prev.totalDocsCount,\r\n totalDocs: isDocsAvailable\r\n ? [...prev.totalDocs, savePermAddressObj.fileName]\r\n : [...prev.totalDocs],\r\n };\r\n });\r\n\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadKraResponse(\r\n res,\r\n savePermAddressObj,\r\n applicationIdExists\r\n ),\r\n addressUploadObj\r\n );\r\n break;\r\n\r\n default:\r\n const savePermAddressDefaultObj: saveDocumentObj = {\r\n documentCategoryId: image.DocumentCategoryId?.toString(),\r\n documentId: image.DocumentId?.toString(),\r\n fileName:\r\n `${GlobalStore.applicationID}_Permanent_Address` +\r\n (image.MimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: true,\r\n mimeType: image.MimeType || \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: true,\r\n iskycdocument: false,\r\n documentNumber: image.DocumentNumber,\r\n };\r\n const addressUploadDefaultObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: image.Image,\r\n filename: savePermAddressDefaultObj.fileName,\r\n QltyByPassFlag: 1,\r\n };\r\n\r\n setDocumentInfo((prev: any) => {\r\n let isDocsAvailable = !prev.totalDocs.includes(\r\n savePermAddressDefaultObj.fileName\r\n );\r\n return {\r\n ...prev,\r\n totalDocsCount: isDocsAvailable\r\n ? prev.totalDocsCount + 1\r\n : prev.totalDocsCount,\r\n totalDocs: isDocsAvailable\r\n ? [...prev.totalDocs, savePermAddressDefaultObj.fileName]\r\n : [...prev.totalDocs],\r\n };\r\n });\r\n\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadKraResponse(\r\n res,\r\n savePermAddressDefaultObj,\r\n applicationIdExists\r\n ),\r\n addressUploadDefaultObj\r\n );\r\n\r\n break;\r\n }\r\n });\r\n }\r\n function getKraDetails(res: any, applicationIdExists?: boolean) {\r\n console.log(\"KRA console\", res);\r\n if (!res || res.error) {\r\n // setErrCode('1227- Error in fetching details from KRA portal.');\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"GetKraDetails\", label: \"ERROR || ERR108-1\" });\r\n navigate(applicationIdExists);\r\n } else {\r\n const responseObj = res.data ? res.data : res;\r\n if (\r\n responseObj &&\r\n !responseObj.ErrorCode &&\r\n responseObj.AppStatus === \"07\" //responseObj.AppStatus === \"02\" ||\r\n ) {\r\n GlobalStore.isKRA = true;\r\n if (applicationModeType !== \"isKRA\") {\r\n setApplicationModeType(\"isKRA\");\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n GlobalStore.KRA_email = responseObj.KraEmail\r\n ? responseObj.KraEmail\r\n : \"\";\r\n GlobalStore.KRA_mobile = responseObj.KraMobile\r\n ? responseObj.KraMobile\r\n : \"\";\r\n GlobalStore.KRA_mode = responseObj.kra_mode ? responseObj.kra_mode : 0;\r\n\r\n // if (!GlobalStore.isKYC) {\r\n const resultObj = responseObj;\r\n GlobalStore.kraInfoObject.addressLine1 = `${resultObj.AppPerAdd1} ${\r\n resultObj.AppPerAdd2 || \"\"\r\n } ${resultObj.AppPerAdd3 || \"\"}`;\r\n GlobalStore.kraInfoObject.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1; //.replace(/[^a-zA-Z0-9 ]/g, \" \")\r\n\r\n GlobalStore.kraInfoObject.corrAddress = `${resultObj.AppCorAdd1} ${\r\n resultObj.AppCorAdd2 || \"\"\r\n } ${resultObj.AppCorAdd3 || \"\"}`;\r\n GlobalStore.kraInfoObject.corrAddress =\r\n GlobalStore.kraInfoObject.corrAddress; //.replace(/[^a-zA-Z0-9 ]/g, \" \")\r\n GlobalStore.kraInfoObject.pincode = resultObj.AppPerPincd;\r\n GlobalStore.kraInfoObject.corrPincode = resultObj.AppCorPincd;\r\n GlobalStore.personaldetails.fsfullName = resultObj.FatherName\r\n ? resultObj.FatherName\r\n : GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1;\r\n clientPartialDetails_ao.pincode = GlobalStore.kraInfoObject.pincode;\r\n clientPartialDetails_ao.corrAddress =\r\n GlobalStore.kraInfoObject.corrAddress;\r\n clientPartialDetails_ao.corrPincode =\r\n GlobalStore.kraInfoObject.corrPincode;\r\n clientPartialDetails_ao.fsfullName =\r\n GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : false;\r\n // } else {\r\n // clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n // }\r\n\r\n getKraDocumentUpload(responseObj);\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n registerCleverTapEventAfterProceed();\r\n gtmService({ action: \"PAN_DOB\", label: \"Step_Complete\" });\r\n\r\n //if (applicationIdExists) history.push(GlobalStore.nextIncompleteStage);\r\n // else {\r\n // // history.push(dashboardUrl.profile);\r\n // // setIsLoading(false);\r\n // setShowSubmitModal(true);\r\n // }\r\n } else {\r\n if (!GlobalStore.isKRA) {\r\n console.log(\"setApplicationModeType 5\");\r\n setApplicationModeType(\"isDigiLocker\");\r\n setIsNormalClient(true);\r\n GlobalStore.isNormalClient = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n setIsLoading(false);\r\n navigate(applicationIdExists);\r\n } else navigate(applicationIdExists);\r\n }\r\n }\r\n }\r\n\r\n const checkPanValidationMsgs = (response: any) => {\r\n let result = \"\";\r\n Object.keys(panValidationKeyList).forEach((x) => {\r\n if (response[x] === \"N\") {\r\n // console.log(data[panValidationKeyList[x]])\r\n result = result + \"\\n\" + response[panValidationKeyList[x]];\r\n }\r\n });\r\n return result;\r\n };\r\n\r\n const panValidationCallback = (res: any, callBackFunction: Function) => {\r\n if (!res || res.error) {\r\n if (panInvalidMsg?.includes(res.error)) {\r\n setPanInvalidMsg(panInvalidMsg);\r\n } else {\r\n setPanInvalidMsg(panInvalidMsg + res.error);\r\n }\r\n setIsLoading(false);\r\n } else {\r\n /*\r\n new api added for a pan api check\r\n */\r\n if (res && res.data) {\r\n panValidationResp = res.data;\r\n if (\r\n res &&\r\n res.data &&\r\n (res.data?.Dob === \"N\" ||\r\n res.data?.Name === \"N\" ||\r\n res.data?.PanStatus === \"N\" ||\r\n res.data?.SeedingStatus === \"N\")\r\n ) {\r\n setErrorFoundInPanValidation(false);\r\n\r\n setPanInvalidMsg(checkPanValidationMsgs(res.data));\r\n // if (panInvalidMsg?.includes(res.data?.DobMsg)) {\r\n // setPanInvalidMsg(panInvalidMsg);\r\n // } else {\r\n // setPanInvalidMsg(panInvalidMsg + res.data?.DobMsg);\r\n // }\r\n }\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.Name?.length > 0 &&\r\n // res.data?.Name === \"N\"\r\n // ) {\r\n // setErrorFoundInPanValidation(false);\r\n // if (panInvalidMsg?.includes(res.data?.NameMsg)) {\r\n // setPanInvalidMsg(panInvalidMsg);\r\n // } else {\r\n // setPanInvalidMsg(panInvalidMsg + res.data?.NameMsg);\r\n // }\r\n // }\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.PanStatus?.length > 0 &&\r\n // res.data?.PanStatus === \"N\"\r\n // ) {\r\n // setErrorFoundInPanValidation(false);\r\n\r\n // if (panInvalidMsg?.includes(res.data?.PanStatusMsg)) {\r\n // setPanInvalidMsg(panInvalidMsg);\r\n // } else {\r\n // setPanInvalidMsg(panInvalidMsg + res.data?.PanStatusMsg);\r\n // }\r\n // }\r\n\r\n if (res?.data?.SeedingStatus === \"Y\") {\r\n isPanLinkedToAadhar = true;\r\n } else {\r\n isPanLinkedToAadhar = false;\r\n }\r\n if (\r\n (res && res.data && res.data?.Dob === \"N\") ||\r\n res.data?.Name === \"N\" ||\r\n res.data?.PanStatus === \"N\" ||\r\n res.data?.SeedingStatus === \"N\"\r\n ) {\r\n setIsLoading(false);\r\n } else {\r\n setErrorFoundInPanValidation(true);\r\n // console.log(\"values.dob===extractPanResponse?.date_of_birth\",values.dob===extractPanResponse?.date_of_birth,values,extractPanResponse)\r\n if (\r\n values.pan === extractPanResponse?.id_number &&\r\n moment(values.dob).format(\"YYYY-MM-DD\") ===\r\n extractPanResponse?.date_of_birth\r\n ) {\r\n setDobChecked(true);\r\n } else {\r\n setDobChecked(false);\r\n }\r\n\r\n callBackFunction();\r\n }\r\n }\r\n }\r\n };\r\n const panValidation = (\r\n panObject: {\r\n panNo: string;\r\n name: string;\r\n dob: string;\r\n source: string;\r\n },\r\n callBackFunction: Function\r\n ) => {\r\n APanVerification((res: any) => {\r\n panValidationCallback(res, callBackFunction);\r\n }, panObject);\r\n };\r\n function navigate(applicationIdExists: boolean | undefined) {\r\n registerCleverTapEventAfterProceed();\r\n gtmService({ action: \"PAN_DOB\", label: \"Step_Complete\" });\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n console.log(\r\n \"ckyc,kra-values-\",\r\n clientPartialDetails_ao.ckycNo,\r\n \"||\",\r\n clientPartialDetails_ao.isKRA\r\n );\r\n console.log(\"showSubmitModal\", showSubmitModal);\r\n if (showSubmitModal) {\r\n if (\r\n !clientPartialDetails_ao.ckycNo ||\r\n clientPartialDetails_ao.ckycNo === \"\" ||\r\n !clientPartialDetails_ao.isKRA\r\n ) {\r\n console.log(\"oabove ddglocker\");\r\n history.push(containerUrl.dgLocker);\r\n } else if (applicationIdExists) {\r\n console.log(\"oabove ddglocker 1\");\r\n history.push(GlobalStore.nextIncompleteStage);\r\n }\r\n // else if (values.aadharLinked !== 'No') history.push(containerUrl.dgLocker);\r\n else {\r\n console.log(\"oabove ddglocker 2\");\r\n if (!errCode && errCode.length === 0)\r\n history.push(dashboardUrl.profile);\r\n }\r\n }\r\n if (!showSubmitModal) {\r\n setShowSubmitModal(true);\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n const handleConsent = () => {\r\n // console.log('Checked');\r\n // setConsent(!consent);\r\n };\r\n\r\n const sendFromMobile = (val: string) => {\r\n if (val === \"Photo\") {\r\n if (togPhoto === true) {\r\n setTogPhoto(false);\r\n } else {\r\n photoObj.isWatsappFlag = true;\r\n photoObj.fileName = \".\";\r\n photoObj.mimeType = \".\";\r\n setTogPhoto(true);\r\n }\r\n }\r\n };\r\n\r\n // This function reads the browsed file and returns the base64 string and other details\r\n function onPanDocUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setPanFileUploadedLoader(true);\r\n setIsLoading(true);\r\n panObj.imgUrl = \"\";\r\n panObj.documentId = 1;\r\n panObj.uploadPer = 100;\r\n setPanObj(panObj);\r\n\r\n const panOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: \"PAN Card\",\r\n documentid: panObj.documentId,\r\n source: DIY,\r\n };\r\n\r\n setPanOCR({\r\n PayloadObj: panOCR,\r\n val: val,\r\n fileName: fileName,\r\n id: id,\r\n type: type,\r\n });\r\n\r\n // AextractPan(\r\n // (res: any) => storeOcrData(res, val, fileName, id, type),\r\n // panOCR\r\n // );\r\n AextractPanNew((res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode('Invalid Image');\r\n // setErrCode(errorMessage.imgNotMatchWithPan);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n setPanFileUploaded(true);\r\n setPanFileUploadedLoader(false);\r\n // alert('Pan Card number entered and the uploaded image do not match. Please upload correct PAN');\r\n } else {\r\n if (res && res?.data?.result) {\r\n setExtractPanResponse(res?.data?.result?.extraction_output);\r\n if (\r\n res?.data?.result?.extraction_output?.id_number === \"\" ||\r\n res?.data?.result?.extraction_output?.id_number === null ||\r\n res?.data?.result?.extraction_output?.id_number === undefined\r\n ) {\r\n setInvalidPanFileUploadedMsg(\r\n \"Oops!! You seem to have uploaded the wrong document. Please upload Pan Card!!\"\r\n );\r\n setPanFileUploaded(false);\r\n setPanFileUploadedLoader(false);\r\n } else {\r\n setInvalidPanFileUploadedMsg(\"\");\r\n }\r\n setValues((values) => {\r\n values.pan = res?.data?.result?.extraction_output?.id_number;\r\n values.dob = new Date(\r\n res?.data?.result?.extraction_output?.date_of_birth\r\n );\r\n let fullName =\r\n res?.data?.result?.extraction_output?.name_on_card?.split(\" \");\r\n values.firstName = fullName?.length > 0 ? fullName[0] ?? \"\" : \"\";\r\n values.lastName =\r\n fullName?.length > 0 ? fullName[fullName?.length - 1] ?? \"\" : \"\";\r\n console.log(\"splice\", fullName);\r\n fullName.splice(0, 1);\r\n fullName.splice(fullName?.length - 1);\r\n values.middleName = fullName.join(\" \");\r\n values.fatherName =\r\n res?.data?.result?.extraction_output?.fathers_name;\r\n return values;\r\n });\r\n\r\n GlobalStore.personaldetails.fsfullName =\r\n res?.data?.result?.extraction_output?.fathers_name;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.fsfullName =\r\n GlobalStore.personaldetails.fsfullName;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n setPanFileUploadedLoader(false);\r\n if (\r\n val !== null &&\r\n val !== undefined &&\r\n fileName?.length > 0 &&\r\n id?.length > 0\r\n ) {\r\n setPanFileUploaded(true);\r\n } else {\r\n setPanFileUploaded(false);\r\n }\r\n }\r\n }\r\n }, panOCR);\r\n setIsLoading(false);\r\n }\r\n const uploadPanFile = (\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n const savePanObj: saveDocumentObj = {\r\n documentCategoryId: panObj.documentCategoryId?.toString(),\r\n documentId: panObj.documentId?.toString(),\r\n fileName:\r\n panObj.fileName + (type === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: false,\r\n mimeType: type,\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n let PanUploadObject = {\r\n savePanObj: savePanObj,\r\n uploadObj: uploadObj,\r\n id: id,\r\n fileName: fileName,\r\n type: type,\r\n };\r\n setPanUploadObject(PanUploadObject);\r\n GlobalStore.panOCRObj = extractPanResponse;\r\n if (checkAutoQcForPan()) {\r\n savePanObj.autoqc = true;\r\n } else {\r\n savePanObj.autoqc = false;\r\n }\r\n\r\n setDocumentInfo((prev: any) => {\r\n return {\r\n ...prev,\r\n totalDocsCount: prev.totalDocsCount + 1,\r\n totalDocs: !prev.totalDocs.includes(savePanObj.fileName)\r\n ? [...prev.totalDocs, savePanObj.fileName]\r\n : [...prev.totalDocs],\r\n };\r\n });\r\n\r\n AUploadDocument(\r\n (res: any) => getPanUploadRes(res, savePanObj),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n };\r\n\r\n const storeOcrData = (\r\n res: any,\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode('Invalid Image');\r\n // setErrCode(errorMessage.imgNotMatchWithPan);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n // alert('Pan Card number entered and the uploaded image do not match. Please upload correct PAN');\r\n gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR114-3\" });\r\n alert(\r\n \"Entered Pan do not match with Pan Image. Rectify the Pan Entry or Image\"\r\n );\r\n } else if (res.data) {\r\n // Checking if PAN number extracted matches with PAN number entered\r\n if (\r\n res.data.result != null &&\r\n res.data.result.extraction_output.id_number === values.pan\r\n ) {\r\n setPanNumberMatched(true);\r\n let panVal = res.data.result.extraction_output.id_number;\r\n panDob = res.data.result.extraction_output.date_of_birth;\r\n setPanDobState(panDob);\r\n setPanValState(panVal);\r\n\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n\r\n const savePanObj: saveDocumentObj = {\r\n documentCategoryId: panObj.documentCategoryId?.toString(),\r\n documentId: panObj.documentId?.toString(),\r\n fileName:\r\n panObj.fileName + (type === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: false,\r\n mimeType: type,\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n\r\n let PanUploadObject = {\r\n savePanObj: savePanObj,\r\n uploadObj: uploadObj,\r\n id: id,\r\n fileName: fileName,\r\n type: type,\r\n };\r\n console.log(\"panObj.fileName\", savePanObj.fileName);\r\n\r\n setPanUploadObject(PanUploadObject);\r\n GlobalStore.panOCRObj = res.data.result.extraction_output;\r\n\r\n if (panDob === moment(values.dob).format(\"YYYY-MM-DD\")) {\r\n setRemovePanImg(false);\r\n setDobChecked(true);\r\n savePanObj.autoqc = true;\r\n\r\n setDocumentInfo((prev: any) => {\r\n return {\r\n ...prev,\r\n totalDocsCount: prev.totalDocsCount + 1,\r\n totalDocs: !prev.totalDocs.includes(savePanObj.fileName)\r\n ? [...prev.totalDocs, savePanObj.fileName]\r\n : [...prev.totalDocs],\r\n };\r\n });\r\n\r\n AUploadDocument(\r\n (res: any) => getPanUploadRes(res, savePanObj),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type)\r\n );\r\n GlobalStore.panOCRObj = res.data.result.extraction_output;\r\n setErrCode(\"\");\r\n setShowSubmitModal(true);\r\n } else {\r\n // setIsNormalClient(true);\r\n // GlobalStore.isNormalClient = true;\r\n // const clientPartialDetails_ao = JSON.parse(\r\n // window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n // );\r\n // clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n // window.localStorage.setItem(\r\n // \"clientPartialDetails_ao\",\r\n // JSON.stringify(clientPartialDetails_ao)\r\n // );\r\n console.log(\"HERE------ \");\r\n setRemovePanImg(true);\r\n setDobChecked(false);\r\n setIsLoading(false);\r\n // setErrCode('DoB entered does not match with that on PAN. Please enter correct DoB.');\r\n setShowSubmitModal(false);\r\n setErrCode(errorMessage.imgNotMatchWithPan);\r\n }\r\n } else {\r\n setPanNumberMatched(false);\r\n setIsLoading(false);\r\n // setErrCode('Pan Card number entered and the uploaded image do not match. Please upload correct PAN.');\r\n setShowSubmitModal(false);\r\n setErrCode(errorMessage.imgNotMatchWithPan);\r\n }\r\n }\r\n };\r\n\r\n // This function takes care of waiting till the uploading of file is completed b4 getPanUploadRes fn is called\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let panCopy = { ...panObj };\r\n if (percentage < 100) {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.hideProgress = true;\r\n panCopy.showFile = false;\r\n setPanObj(panCopy);\r\n } else if (percentage === 100) {\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = percentage;\r\n panCopy.showFile = false;\r\n panCopy.hideProgress = false;\r\n panCopy.fileName = fileName;\r\n panCopy.mimeType = type;\r\n setPanObj(panCopy);\r\n }\r\n };\r\n\r\n // This fn is called after uploading of file is completed\r\n const getPanUploadRes = (res: any, savePanObj: saveDocumentObj) => {\r\n if (!res || res.error) {\r\n // setErrCode('1361- Error in uploading the file.');\r\n // setErrCode(errorMessage.getUploadResponse);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR114-8\" });\r\n setIsLoading(false);\r\n setPanUploaded(false);\r\n } else {\r\n if (res.data && res.data.Result) {\r\n savePanObj.fileName = res.data.Guid;\r\n }\r\n GlobalStore.isPANVerified = true;\r\n setPanUploaded(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isPANVerified = GlobalStore.isPANVerified;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n setIsLoading(false);\r\n saveDetails.push(savePanObj);\r\n const saveobjUTM_Info = utmDurationInfoObj(startTime, \"panInfoDuration\");\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n ASaveDocumentDetails((res: any) => {\r\n if (!res || res.error) {\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n if (isPanLinkedToAadhar !== true) {\r\n setApplicationInitializedFlag(true);\r\n }\r\n } else {\r\n if (res && res.data) {\r\n if (isPanLinkedToAadhar !== true) {\r\n setApplicationInitializedFlag(true);\r\n }\r\n setDocumentInfo((prev: any) => {\r\n console.log(\r\n \"prev.totalDocs\",\r\n prev.totalDocs,\r\n savePanObj.fileName,\r\n prev.totalDocs.filter((x: string) => x != savePanObj.fileName)\r\n );\r\n return {\r\n ...prev,\r\n uploadedDocsCount: prev.uploadedDocsCount + 1,\r\n totalDocs: prev.totalDocs.filter(\r\n (x: string) => x != savePanObj.fileName\r\n ),\r\n };\r\n });\r\n }\r\n }\r\n }, saveObj);\r\n }\r\n };\r\n\r\n const handleContinue = () => {\r\n setErrCode(\"\");\r\n if (!GlobalStore.leadId || GlobalStore.leadId === \"\") navigate(false);\r\n console.log(\r\n \" Object.values(errors).some((error) => error)\",\r\n Object.values(errors).some((error) => error)\r\n );\r\n };\r\n\r\n const closeSeedingPopup = () => {\r\n setSeedingPopup(false);\r\n // saveDocument();\r\n };\r\n\r\n const reCheck = () => {\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n AGetPanUtiData(getSeedingData, values.pan);\r\n };\r\n\r\n const getSeedingData = (res: any) => {\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n if (errCode?.includes(res.error)) {\r\n setErrCode(errCode);\r\n } else {\r\n setErrCode(errCode + res.error);\r\n }\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR142\" });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n if (res.data.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n isPanLinkedToAadhar = false;\r\n setSeedingPopup(true);\r\n // APanLinkedWithAadhar(\r\n // APanLinkedWithAadharRes,\r\n // values.pan,\r\n // values.aadhaarNo\r\n // );\r\n }\r\n // else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n else if (\r\n res.data.IsAadharSeeded == \"Y\" ||\r\n res.data.IsAadharSeeded == \"NA\"\r\n ) {\r\n GlobalStore.isSeeding = true;\r\n isPanLinkedToAadhar = true;\r\n setSeedingPopup(false);\r\n }\r\n } else {\r\n gtmService({ action: \"GetPanDetails\", label: \"ERROR || ERR142-S\" });\r\n }\r\n if (GlobalStore.applicationID)\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n }\r\n };\r\n\r\n const navToLink = () => {\r\n window.open(\r\n \"https://eportal.incometax.gov.in/iec/foservices/#/pre-login/bl-link-aadhaar\",\r\n \"_blank\"\r\n );\r\n };\r\n\r\n console.log(\r\n \"isNormalClient =\",\r\n isNormalClient,\r\n \"|| panNumberMatched =\",\r\n panNumberMatched,\r\n \"|| dobChecked=,\",\r\n dobChecked,\r\n \"|| removePanImg=\",\r\n removePanImg\r\n );\r\n\r\n const doItLaterFlag = () => {\r\n setWillDoLater(true);\r\n clear_Error();\r\n };\r\n\r\n const handleRemove = () => {\r\n setPanFileUploaded(false);\r\n setPanFileUploadedLoader(false);\r\n setPanInvalidMsg(\"\");\r\n setInvalidPanFileUploadedMsg(\"\");\r\n setPanOCR(null);\r\n setErrors({\r\n pan: undefined,\r\n dob: undefined,\r\n aadharLinked: undefined,\r\n aadhaarNo: undefined,\r\n firstName: undefined,\r\n middleName: undefined,\r\n lastName: undefined,\r\n });\r\n };\r\n\r\n React.useEffect(() => {\r\n if (submitFlag && errCode == \"\") {\r\n handleSubmit();\r\n }\r\n }, [submitFlag, errCode]);\r\n\r\n const clear_Error = () => {\r\n setErrCode(\"\");\r\n setSubmitFlag(true);\r\n };\r\n\r\n // disabled={\r\n // Object.values(errors).some((error) => error) ||\r\n // Object.values(values).some((value) => !value) ||\r\n // (isNormalClient &&\r\n // (!panNumberMatched || !dobChecked || removePanImg)) ||\r\n // !consent ||\r\n // !panOCR\r\n // }\r\n\r\n function nextprocess(kycobj: any) {\r\n updateUtmInfo(() => {});\r\n\r\n if (false) {\r\n //togPhoto\r\n const smsBody = {\r\n mobNo: GlobalStore.user.mobile,\r\n // selfieLinkText: `Give a Smile and complete your Selfie process for Online Account Opening, click here ${selfieUrl} to complete the process. Regards, Nuvama`,\r\n //selfieLinkText: selfieUrl,\r\n selfieLinkText: GlobalStore.selfieUrl,\r\n };\r\n ASendSms((res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(errCode + res.error);\r\n } else {\r\n if (res && res.data) {\r\n }\r\n }\r\n }, smsBody);\r\n }\r\n if (isPanLinkedToAadhar == true) {\r\n CalledCkycFunctionNew(\r\n GlobalStore?.applicationID !== null &&\r\n GlobalStore?.applicationID !== undefined\r\n ? true\r\n : false\r\n );\r\n // getKraDetails(kycobj);\r\n } else {\r\n setIsNormalClient(true);\r\n GlobalStore.isNormalClient = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n setIsLoading(false);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {/* setShowDigiRedirection(false)}>\r\n \r\n */}\r\n
\r\n
\r\n \"banner\"\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n Please upload a PAN Card to verify your details on Pan Card.\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 {panFileUploadedLoader && (\r\n
\r\n \r\n
\r\n )}\r\n {invalidPanFieldUploadedMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {panFileUploaded &&\r\n !panFileUploadedLoader &&\r\n invalidPanFieldUploadedMsg == \"\" && (\r\n <>\r\n
\r\n
\r\n \r\n onChange(\"firstName\", value)}\r\n required={true}\r\n onBlur={(error: any) => {\r\n if (error.required) {\r\n setErrors({\r\n ...errors,\r\n firstName: \"This field is required\",\r\n });\r\n } else if (\r\n !!values?.firstName &&\r\n (values.firstName as string).slice(-1) == \" \"\r\n ) {\r\n setErrors({\r\n ...errors,\r\n firstName: \"only spaces are not allowed\",\r\n });\r\n }\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. Pranav\"\r\n // pattern={pan}\r\n errorText={errors.firstName}\r\n maxLength={20}\r\n // suffix={validPan ? : <>}\r\n />\r\n
\r\n
\r\n \r\n onChange(\"middleName\", value)}\r\n onBlur={(error: any) => {\r\n if (\r\n !!values?.middleName &&\r\n (values.middleName as string).slice(-1) == \" \"\r\n ) {\r\n setErrors({\r\n ...errors,\r\n middleName: \"only spaces are not allowed\",\r\n });\r\n }\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. Prashant\"\r\n // pattern={pan}\r\n errorText={errors.middleName}\r\n maxLength={20}\r\n // suffix={validPan ? : <>}\r\n />\r\n
\r\n
\r\n \r\n onChange(\"lastName\", value)}\r\n onBlur={(error) => {}}\r\n type=\"text\"\r\n placeholder=\"Eg. Joshi\"\r\n // pattern={pan}\r\n errorText={errors.lastName}\r\n maxLength={20}\r\n // suffix={validPan ? : <>}\r\n />\r\n
\r\n {/* Pan Field start */}\r\n
\r\n \r\n {\r\n setPanInvalidMsg(\"\");\r\n onChange(\"pan\", value.toUpperCase());\r\n }}\r\n onBlur={(error) => onBlurPan(error)}\r\n type=\"text\"\r\n placeholder=\"Eg. ABCDE1234F\"\r\n pattern={pan}\r\n errorText={errors.pan}\r\n maxLength={10}\r\n suffix={\r\n validPan ? : <>\r\n }\r\n />\r\n
\r\n {/* Pan Field end */}\r\n\r\n {/* DOB start */}\r\n
\r\n \r\n onChange(\"dob\", val)}\r\n defaultDate={values?.dob ? values.dob : undefined}\r\n placeholderText={\"Select Date of Birth\"}\r\n maxDate={\r\n new Date(\r\n new Date().setFullYear(\r\n new Date().getFullYear() - 18\r\n )\r\n )\r\n }\r\n minDate={\r\n new Date(\r\n new Date().setFullYear(\r\n new Date().getFullYear() - 100\r\n )\r\n )\r\n }\r\n onBlur={onBlurDob}\r\n isError={errors.dob ? true : false}\r\n />\r\n
\r\n\r\n {errors.dob && (\r\n

{errors.dob}

\r\n )}\r\n {/* DOB end */}\r\n
\r\n\r\n {/* Aadhar no. field start*/}\r\n {/*
\r\n \r\n onChange(\"aadhaarNo\", val)}\r\n pattern={betweenNChars(12, 12)}\r\n placeholder=\"Eg. 1234\"\r\n name=\"aadhaarNo\"\r\n maxLength={12}\r\n integer={true}\r\n type=\"password\"\r\n onBlur={(error) => onBlurAadhaar(error)}\r\n errorText={errors.aadhaarNo}\r\n />\r\n
*/}\r\n {/* Aadhar no. field end*/}\r\n\r\n {/*
\r\n \r\n
\r\n setShowExplain(true)}\r\n onMouseLeave={() => setShowExplain(false)}\r\n >\r\n Why?\r\n \r\n {showExplain && (\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n onChange('aadharLinked', 'Yes')}\r\n name=\"aadharLinked\"\r\n label=\"Yes\"\r\n />\r\n
\r\n
\r\n onChange('aadharLinked', 'No')}\r\n name=\"aadharLinked\"\r\n label=\"No\"\r\n />\r\n
\r\n
\r\n onChange('aadharLinked', 'Not Sure')}\r\n name=\"aadharLinked\"\r\n label=\"Not Sure\"\r\n />\r\n
\r\n
\r\n
\r\n {values.aadharLinked !== 'Yes' && (\r\n
\r\n {\r\n gtmService({ action: 'PAN_DOB', label: 'Aadhar_Mobile_Link_Click' });\r\n setShowDigiRedirection(true);\r\n }}\r\n >\r\n Check if your Aadhar and mobile are linked\r\n \r\n
\r\n )} */}\r\n {showSubmitModal && dobChecked && (\r\n \r\n \r\n

Please Note!

\r\n
\r\n {modalDisplayText ? (\r\n \r\n {modalDisplayText}\r\n
\r\n ) : (\r\n \"Loading...\"\r\n )}\r\n
\r\n
\r\n {\r\n if (applicationModeType === \"isKRA\")\r\n history.push(dashboardUrl.profile);\r\n if (applicationModeType === \"isDigiLocker\")\r\n history.push(containerUrl.dgLocker);\r\n }}\r\n type=\"submit\"\r\n disabled={\r\n documentsInfo.totalDocsCount !==\r\n documentsInfo.uploadedDocsCount\r\n }\r\n >\r\n {documentsInfo.totalDocsCount !==\r\n documentsInfo.uploadedDocsCount\r\n ? \"Please Wait\"\r\n : \"OK, Proceed\"}\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 handleConsent()}\r\n />\r\n \r\n
\r\n\r\n {utmObj &&\r\n Object.keys(utmObj).length &&\r\n utmObj.utm_source &&\r\n utmObj.utm_content &&\r\n utmObj.utm_campaign && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n {/* Pan Matching Error Msg Start */}\r\n {panInvalidMsg !== \"\" && panInvalidMsg?.length > 0 && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Pan Matching Error Msg End */}\r\n {/* Photo Error Msg Start*/}\r\n {photoErrorMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Photo Error Msg End*/}\r\n\r\n
\r\n error) ||\r\n // Object.values(values).some((value) => !value) ||\r\n !(\r\n errors?.dob != null ||\r\n (errors?.dob != undefined &&\r\n errors.firstName != null) ||\r\n errors.firstName != undefined ||\r\n (errors.firstName !== \"\" && errors?.pan != null) ||\r\n errors?.pan != undefined ||\r\n errors?.pan !== \"\"\r\n ) ||\r\n values?.firstName == \"\" ||\r\n values?.firstName == undefined ||\r\n values.firstName == null ||\r\n (values?.firstName?.length == 0 &&\r\n values?.pan?.length == 0 &&\r\n values?.dob === null) ||\r\n values?.dob === undefined ||\r\n (errCode == \"\" &&\r\n isNormalClient &&\r\n (!panNumberMatched || !dobChecked)) ||\r\n !consent ||\r\n liveLocationCheck.checkPhotoLiveness ||\r\n liveLocationCheck.checkLocation ||\r\n !panOCR ||\r\n errCode\r\n }\r\n isLoading={isLoading}\r\n type=\"submit\"\r\n />\r\n
\r\n \r\n )}\r\n \r\n \r\n {/* {false ? (\r\n \"\"\r\n ) : (\r\n
\r\n I am not handy with the document.\r\n {\r\n doItLaterFlag();\r\n clear_Error();\r\n }}\r\n >\r\n I will do it later\r\n \r\n
\r\n )} */}\r\n \r\n \r\n
\r\n closeSeedingPopup()}\r\n isCloseIcon={false}\r\n >\r\n
\r\n {/* {DeviceContext().isMobile && } */}\r\n \"isSeeding\"\r\n \r\n \r\n
\r\n
\r\n reCheck()}\r\n disabled={!checkpanaaddharflag}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n {\r\n setIsLoading(true);\r\n ACheckPanIbeats(checkedPanInIbeats, values.pan);\r\n }}\r\n />\r\n
*/}\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PANInfo;\r\n","import React from 'react'\r\nimport ProfileImage from '../ProfileImage/ProfileImage'\r\nimport './ErrorScreen.scss'\r\n\r\n\r\nconst ErrorScreen = (props: any) => (\r\n
\r\n
\r\n \r\n
\r\n

An Error Occured

\r\n

Sorry! We are facing technical issues.

\r\n

Try Again

\r\n
\r\n)\r\n\r\nexport default ErrorScreen","import * as React from \"react\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport \"./DocStatusList.scss\";\r\nimport AdhaarSample from \"../../../assets/docSampleImages/Adhaar_Sample.png\";\r\nimport DrivingLicense from \"../../../assets/docSampleImages/DLSample.jpg\";\r\nimport Passport from \"../../../assets/docSampleImages/passportSample.jpg\";\r\nimport VoterID from \"../../../assets/docSampleImages/VoterID_Sample.jpg\";\r\n\r\nexport interface DocStatusListProps {\r\n docName: string;\r\n // docStatus: \"Pending Upload\" | \"Pending Approval\" | \"Approved\";\r\n docInfo: string;\r\n}\r\n\r\nconst OptionDocumentList: React.FC = (props) => {\r\n const [showExplain, setShowExplain] = React.useState(false);\r\n\r\n let InfomodalReturn = (doctype: string) => {\r\n switch (doctype) {\r\n case \"Adhaar\":\r\n return (\r\n \r\n );\r\n case \"Driving License\":\r\n return (\r\n \r\n );\r\n case \"Voter Id\":\r\n return (\r\n \r\n );\r\n case \"Passport\":\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n setShowExplain(true)}\r\n onMouseLeave={() => setShowExplain(false)}\r\n >\r\n
\r\n \r\n {showExplain && (\r\n \r\n
\r\n {InfomodalReturn(props.docName)}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default OptionDocumentList;\r\n","import React from \"react\";\r\nimport \"./DgLocker.scss\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport dgLocker from \"../../../assets/icons/panDob.svg\";\r\nimport Button, { LightBlueButton } from \"../../UI/Button/Button\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport domain from \"../../../config/domain\";\r\nimport { digiLockerUrl, dashboardUrl } from \"../../utils/constants\";\r\nimport arrowPoint from \"../../../assets/icons/arrow_point.png\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport OptionDocumentList from \"./OptionDocumentList\";\r\nimport { AGetDigiLink } from \"../../Services/registration/digiLockerApiService\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\n\r\nexport interface DgLockerProps {}\r\n\r\nconst DgLocker: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const history = useHistory();\r\n // const [consentChecked, setConsentChecked] = React.useState(false);\r\n const [showDigiExplain, setShowDigiExplain] = React.useState(false);\r\n const [DGLToggle, setDGLToggle] = React.useState(false);\r\n const [uploadDocToggle, setUploadDocToggle] = React.useState(false);\r\n const documentArray = [\"Adhaar\", \"Driving License\", \"Voter Id\", \"Passport\"];\r\n const [dgLockerLinkUrl, setdgLockerLinkUrl] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n\r\n // const dgLockerLinkUrl =\r\n // digiLockerUrl +\r\n // \"?client_id=\" +\r\n // domain.clientId +\r\n // \"&response_type=code&redirect_uri=\" +\r\n // domain.redirectUri +\r\n // \"?&state=\" +\r\n // JSON.stringify({});\r\n\r\n const handleAppendedStage = async () => {\r\n const clientPartialDetails_ao = await JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n localStorage.setItem(\r\n \"appendedStage\",\r\n JSON.stringify({\r\n applicationId: clientPartialDetails_ao.applicationId,\r\n showDigiLockerPage: true,\r\n showPersonalDocPage: false,\r\n })\r\n );\r\n };\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"9\");\r\n window.scroll(0, 0);\r\n\r\n handleAppendedStage();\r\n }, []);\r\n\r\n // Get Digilocker link\r\n React.useEffect(() => {\r\n if (domain.digiLockerSource == 1) {\r\n const dgLockerLinkUrlLocal =\r\n digiLockerUrl +\r\n \"?client_id=\" +\r\n domain.clientId +\r\n \"&response_type=code&redirect_uri=\" +\r\n domain.redirectUri +\r\n \"?&state=\" +\r\n JSON.stringify({});\r\n setdgLockerLinkUrl(dgLockerLinkUrlLocal);\r\n }\r\n if (domain.digiLockerSource == 2) {\r\n const getDigiLinkObj: any = {};\r\n getDigiLinkObj.ApplicationId = \"\";\r\n AGetDigiLink(\r\n (res: any) => getDigilockerLink(res, getDigiLinkObj),\r\n getDigiLinkObj\r\n );\r\n }\r\n }, []);\r\n\r\n // Clervertap event: DigiLocker screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.digiLockerPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: \"NO\",\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: \"YES\",\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n const cleverTapConnectDLEvent = () => {\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.digiLockerPage\r\n .CLICK_ON_CONNECT_TO_DIGILOCKER,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: \"NO\",\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: \"YES\",\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n\r\n // Apps flyer event for click on proceed on pan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.digiLockerPage.CLICK_ON_CONNECT_TO_DIGILOCKER\r\n );\r\n };\r\n\r\n function handleContinue(\r\n event: React.MouseEvent\r\n ) {\r\n event.preventDefault();\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.aadharLinkedChoice = false;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n }\r\n\r\n //new code\r\n let DgLockerToggle = () => {\r\n console.log(\"DGL\");\r\n setDGLToggle(true);\r\n setUploadDocToggle(false);\r\n };\r\n\r\n let uploadDocumentsToggle = () => {\r\n console.log(\"UD\");\r\n setUploadDocToggle(true);\r\n setDGLToggle(false);\r\n };\r\n\r\n function getDigilockerLink(res: any, getDigiLinkObj: any) {\r\n if (domain.digiLockerSource == 2) {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n if (res.data.access_token) {\r\n setdgLockerLinkUrl(res.data.url);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.signzydt = res.data.access_token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n } else {\r\n setErrCode(errorMessage.newDigilockerError);\r\n }\r\n } else {\r\n // setIsLoading(false);\r\n setErrCode(errorMessage.newDigilockerError);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \"dgLocker\"\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 {DGLToggle ? (\r\n
\r\n
\r\n \r\n
\r\n
Benefits
\r\n
\r\n \"=\" className=\"pointer_img\" />\r\n \r\n
\r\n
\r\n \"=\" className=\"pointer_img\" />\r\n \r\n
\r\n
\r\n \"=\" className=\"pointer_img\" />\r\n \r\n
\r\n
\r\n \"=\" className=\"pointer_img\" />\r\n \r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n {uploadDocToggle ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {documentArray.map((item, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n
\r\n
\r\n {\r\n gtmService({ action: \"DIGI_LOCKER\", label: \"Step_Complete\" });\r\n cleverTapConnectDLEvent();\r\n if (DGLToggle) {\r\n localStorage.removeItem(\"appendedStage\");\r\n window.location.href = dgLockerLinkUrl;\r\n }\r\n if (uploadDocToggle) {\r\n // localStorage.setItem(\r\n // \"appendedStage\",\r\n // JSON.stringify({\r\n // applicationId: GlobalStore.applicationID,\r\n // showDigiLockerPage: false,\r\n // showPersonalDocPage: true,\r\n // })\r\n // );\r\n history.push(dashboardUrl.personalIfo);\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DgLocker;\r\n","import React from \"react\";\r\nimport Button from \"../Button/Button\";\r\nimport \"./ChatText.scss\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport callSupport from \"../../../assets/icons/call.png\";\r\nimport InfoModal from \"../InfoModal/InfoModal\";\r\nimport PanSample from \"../../../assets/pan_sample.jpg\";\r\nimport { pan } from \"../../utils/regex\";\r\n\r\nexport interface ChatTextProps {\r\n className?: string;\r\n panPageFlag?: boolean;\r\n}\r\n\r\nconst ChatText: React.FC = (props) => {\r\n const [instantHelpReadMoreFlag, setInstantHelpReadMoreFlag] =\r\n React.useState(false);\r\n\r\n React.useEffect(() => {\r\n console.log(DeviceContext().isMobile);\r\n }, [DeviceContext().isMobile]);\r\n\r\n let readMoreFlagToggle = () => {\r\n console.log(\"click\");\r\n if (!instantHelpReadMoreFlag) setInstantHelpReadMoreFlag(true);\r\n else setInstantHelpReadMoreFlag(false);\r\n };\r\n\r\n console.log(DeviceContext().isMobile, \"HELLO\");\r\n\r\n return (\r\n
\r\n {props.panPageFlag ? (\r\n
\r\n {DeviceContext().isMobile ? (\r\n
\r\n {instantHelpReadMoreFlag ? (\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Instant Help!!!\r\n

\r\n
\r\n \r\n x\r\n
\r\n
\r\n

\r\n We hope you're ready to begin your onboarding journey\r\n with us using your PAN Card. Follow these simple steps\r\n to ensure a smooth process:\r\n

Are you handy with your PAN Card:

\r\n
    \r\n
  • Have your PAN card handy.
  • \r\n
  • \r\n Make sure to upload it in a horizontal format for\r\n clear visibility, as it will be shared with the KYC\r\n Registration Agency (KRA) if not KRA.\r\n
  • \r\n
\r\n

Why do we require PAN Card?

\r\n
    \r\n
  • \r\n  Your PAN card is needed to verify your name with\r\n the Income Tax website.\r\n
  • \r\n
\r\n

How to Upload a PAN Card?

\r\n
    \r\n
  • \r\n Upload a color image copy of your PAN card, ensure\r\n that it is properly cropped in a horizontal format.\r\n
  • \r\n
  • \r\n Our system will automatically read and fill in your\r\n First Name, Middle Name, Last Name, Date of Birth,\r\n and PAN Card Number.\r\n
  • \r\n
  • \r\n If any information is incorrect, you can edit it\r\n before submitting.\r\n
  • \r\n
\r\n

Information Verification:

\r\n

\r\n The data will be sent to the Income Tax Department for\r\n verification. Verification is necessary to open your\r\n account.\r\n

\r\n

Handling Name Mismatch Errors:

\r\n
    \r\n
  • \r\n If you get a \"Name not Matched\" error, you can\r\n verify your name using this link:{\" \"}\r\n \r\n Verify Your PAN\r\n \r\n
  • \r\n
  • \r\n {\" \"}\r\n Enter the Name as per Aadhar / Bank / Name that you\r\n have entered while entering PAN Card.\r\n
  • \r\n
\r\n

\r\n  Note: This may happen only if you have changed your\r\n Name Post Marriage or Pan Card is issued prior to 2012\r\n as per Income Tax Authorities.\r\n

\r\n

Tips for Smooth Processing:

\r\n
    \r\n
  • \r\n Always upload the original or a colour scanned image\r\n of your PAN card.\r\n
  • \r\n
  • \r\n Ensure that the Name, Date of Birth, and Photo on\r\n your PAN card are clearly visible.\r\n
  • \r\n
\r\n {/*
\r\n \r\n
\r\n
    \r\n
  • \r\n Make sure the following details are clear on your\r\n pan card\r\n
  • \r\n
\r\n
\r\n
    \r\n
  • \r\n Always upload Original or Colored Scanned Pan Card\r\n Image\r\n
  • \r\n
  • PAN card number
  • \r\n
  • Date of birth
  • \r\n
  • Photo
  • \r\n
\r\n
*/}\r\n

\r\n
\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {/*
\r\n

Can't see your face?

\r\n
*/}\r\n
\r\n \r\n ? instant help!!\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n {instantHelpReadMoreFlag ? (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Instant Help!!!\r\n

\r\n
\r\n \r\n x\r\n
\r\n
\r\n

\r\n We hope you're ready to begin your onboarding journey\r\n with us using your PAN Card. Follow these simple steps\r\n to ensure a smooth process:\r\n

Are you handy with your PAN Card:

\r\n
    \r\n
  • Have your PAN card handy.
  • \r\n
  • \r\n Make sure to upload it in a horizontal format for\r\n clear visibility, as it will be shared with the KYC\r\n Registration Agency (KRA) if not KRA.\r\n
  • \r\n
\r\n

Why do we require PAN Card?

\r\n
    \r\n
  • \r\n  Your PAN card is needed to verify your name with\r\n the Income Tax website.\r\n
  • \r\n
\r\n

How to Upload a PAN Card?

\r\n
    \r\n
  • \r\n Upload a color image copy of your PAN card, ensure\r\n that it is properly cropped in a horizontal format.\r\n
  • \r\n
  • \r\n Our system will automatically read and fill in your\r\n First Name, Middle Name, Last Name, Date of Birth,\r\n and PAN Card Number.\r\n
  • \r\n
  • \r\n If any information is incorrect, you can edit it\r\n before submitting.\r\n
  • \r\n
\r\n

Information Verification:

\r\n

\r\n The data will be sent to the Income Tax Department for\r\n verification. Verification is necessary to open your\r\n account.\r\n

\r\n

Handling Name Mismatch Errors:

\r\n
    \r\n
  • \r\n If you get a \"Name not Matched\" error, you can\r\n verify your name using this link:{\" \"}\r\n \r\n Verify Your PAN\r\n \r\n
  • \r\n
  • \r\n {\" \"}\r\n Enter the Name as per Aadhar / Bank / Name that you\r\n have entered while entering PAN Card.\r\n
  • \r\n
\r\n

\r\n  Note: This may happen only if you have changed your\r\n Name Post Marriage or Pan Card is issued prior to 2012\r\n as per Income Tax Authorities.\r\n

\r\n

Tips for Smooth Processing:

\r\n
    \r\n
  • \r\n Always upload the original or a colour scanned image\r\n of your PAN card.\r\n
  • \r\n
  • \r\n Ensure that the Name, Date of Birth, and Photo on\r\n your PAN card are clearly visible.\r\n
  • \r\n
\r\n {/*
\r\n \r\n
\r\n
    \r\n
  • \r\n Make sure the following details are clear on your\r\n pan card\r\n
  • \r\n
\r\n
\r\n
    \r\n
  • \r\n Always upload Original or Colored Scanned Pan Card\r\n Image\r\n
  • \r\n
  • PAN card number
  • \r\n
  • Date of birth
  • \r\n
  • Photo
  • \r\n
\r\n
*/}\r\n

\r\n {/*

\r\n We hope you're ready to begin your onboarding journey\r\n with us using your PAN Card. Follow these simple steps\r\n to ensure a smooth process:\r\n

    \r\n
  • Click on selfie console
  • \r\n
  • \r\n You will be prompted to give access to your camera\r\n and location-allow when asked.\r\n
  • \r\n
  • \r\n If your laptop or desktop doesn't have a camera\r\n don't worry! Enable the toggle button below the\r\n selfie console and you'll get a link to your selfie\r\n via SMS on your registered mobile device.\r\n
  • \r\n
  • \r\n Enter your PAN and Aadhaar details to validate your\r\n PAN-Aadhaar seeding check.\r\n
  • \r\n
  • \r\n Remember to keep your PAN card handy. You'll need to\r\n upload it in horizontal format so that it's clear\r\n and can be shared with KRA.\r\n
  • \r\n
\r\n
\r\n \r\n
\r\n
    \r\n
  • \r\n Make sure the following details are clear on your\r\n pan card\r\n
  • \r\n
\r\n
\r\n
    \r\n
  • \r\n Always upload Original or Colored Scanned Pan Card\r\n Image\r\n
  • \r\n
  • PAN card number
  • \r\n
  • Date of birth
  • \r\n
  • Photo
  • \r\n
\r\n
\r\n

*/}\r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n

Instant Help!!!

\r\n

\r\n\r\n

\r\n We hope you're ready to begin your onboarding journey with us\r\n using your PAN Card. Follow these simple steps to ensure a\r\n smooth process.\r\n

\r\n\r\n

\r\n Read More\r\n

\r\n \r\n )}\r\n \r\n ) : (\r\n
\r\n {DeviceContext().isMobile ? (\r\n
\r\n
\r\n \r\n \"Call\r\n \r\n
\r\n
Call
\r\n
\r\n

\r\n \r\n 1800 102 3335\r\n \r\n

\r\n

Monday to Saturday : 10:00 AM - 6:00 PM

\r\n {/*

Saturday 10 AM - 4 PM

*/}\r\n
\r\n
\r\n ) : (\r\n
\r\n

For any queries contact us:

\r\n

\r\n \r\n 1800 102 3335\r\n \r\n

\r\n

*Weekdays 10:00 AM - 6:00 PM

\r\n

*Saturday 10:00 AM - 5:00 PM

\r\n

(*Except on 1st Saturday and Trading Holidays.)

\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n );\r\n};\r\nexport default ChatText;\r\n","import React, { useState } from \"react\";\r\nimport ChatText from \"../UI/ChatText/ChatText\";\r\n\r\nconst InstanHelp = (props: any) => {\r\n // Fetch query params for clervertap\r\n\r\n return (\r\n
\r\n {props.children}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default InstanHelp;\r\n","import React, { useEffect } from \"react\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport RegLayout from \"../components/Registration/Layout/Layout\";\r\nimport RegistrationHome from \"../components/Registration/RegistrationHome/RegistrationHome\";\r\nimport WelcomeBack from \"../components/Registration/WelcomeBack/WelcomeBack\";\r\nimport MailVerified from \"../components/Registration/MailVerified/MailVerified\";\r\nimport NRI from \"../components/Registration/NRI/NRI\";\r\nimport OTP from \"../components/Registration/OTP/OTP\";\r\nimport AccExists from \"../components/Registration/AccExists/AccExists\";\r\nimport PANInfo from \"../components/Registration/PANInfo/PANInfo\";\r\nimport Error from \"../components/UI/ErrorScreen/ErrorScreen\";\r\nimport ShareAdd from \"../components/Registration/ShareAdd/ShareAdd\";\r\nimport DgLocker from \"../components/Registration/DgLocker/DgLocker\";\r\nimport { containerUrl } from \"../components/utils/constants\";\r\nimport useQuery from \"../customHooks/useQuery\";\r\nimport { ClevertapService } from \"../components/Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../components/Services/appsFlyerService\";\r\nimport InstanHelp from \"../components/InstantHelp/InstantHelp\";\r\n\r\nconst RegistrationRoutes = () => {\r\n const quryParams = useQuery();\r\n const utm_placement = quryParams.get(\"utm_placement\")\r\n ? quryParams.get(\"utm_placement\")\r\n : \"\";\r\n\r\n useEffect(() => {\r\n getCleverTapIDFromService();\r\n }, []);\r\n\r\n const getCleverTapIDFromService = async () => {\r\n // const id = utm_placement || await ClevertapService.getCleverTapID();\r\n // const utmObj = JSON.parse(window.sessionStorage.getItem(\"objUTM_Info\") || '{}');\r\n // window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify({\r\n // ...utmObj,\r\n // ...{\r\n // utm_placement: id\r\n // }\r\n // }));\r\n // // Now we need to initilise CUID with AppsFlyer\r\n // AppsFlyerService.setCUID(id);\r\n };\r\n\r\n return (\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 \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\nexport default RegistrationRoutes;\r\n","import React from \"react\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport \"./ProfileHeader.scss\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport ProgressBar from \"../../UI/ProgressBar/ProgressBar\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { calculateCompletePercentage } from \"../../Services/globalService\";\r\nimport logo from \"../../../assets/icons/edel_icons/Nuvama_Identity_RGB_Positive.jpg\";\r\n\r\nexport interface ProfileHeaderProps {}\r\n\r\nconst ProfileHeader: React.FC = () => {\r\n const isDesktop = DeviceContext().isDesktop;\r\n const history = useHistory();\r\n\r\n function openMenu() {\r\n GlobalStore.dashboardActivetUrl = history.location.pathname;\r\n history.push(\"/menu\");\r\n }\r\n\r\n const percentageComplete: string = calculateCompletePercentage();\r\n\r\n return (\r\n
\r\n {isDesktop ? (\r\n
\r\n {/* */}\r\n \"logo\"\r\n
\r\n {percentageComplete}% complete\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\nexport default ProfileHeader;\r\n","import React from \"react\";\r\nimport ProfileNavBar, {\r\n checkModuleCompleteness,\r\n} from \"../ProfileNavBar/ProfileNavBar\";\r\nimport ProfileHeader from \"../ProfileHeader/ProfileHeader\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport \"./ProfileLayout.scss\";\r\nimport {\r\n clientPartialDetailsToStore,\r\n ACreateApplicationTicket,\r\n setStageData,\r\n redirectToEntryPoint,\r\n completeModuleStatus,\r\n} from \"../../Services/globalService\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n AGetEsignUrlDetails,\r\n APendingUploadList,\r\n} from \"../../Services/dashboard/eSignApiServices\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport {\r\n containerUrl,\r\n dashboardUrl,\r\n leftNavBarArray,\r\n ipvNavBarObj,\r\n statusUrl,\r\n} from \"../../utils/constants\";\r\nimport { ASendApplicationForQC } from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { ACheckClientProfilingData } from \"../../Services/dashboard/profilerApiServices\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport config from \"../../../config/domain\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\n\r\nexport interface ProfileLayoutProps {}\r\n\r\nconst ProfileLayout: React.FC = (props) => {\r\n clientPartialDetailsToStore();\r\n const isDesktop = DeviceContext().isDesktop;\r\n const history = useHistory();\r\n const [isLoading, setIsLoading] = React.useState(true);\r\n\r\n React.useEffect(() => {\r\n if (history.action === \"POP\") history.push(redirectToEntryPoint());\r\n else if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n GlobalStore.leftNavBarState.length === leftNavBarArray.length\r\n )\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n }, [GlobalStore.isKYC, GlobalStore.isKRA]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(true);\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n }, [history.location.pathname]);\r\n\r\n function checkPendingUpload(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res && res.data) {\r\n const list: Array = JSON.parse(res.data).filter(\r\n (item: any) =>\r\n // Prev Api response\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // item.documentcategoryid !== 62\r\n item.Mandatory == true\r\n );\r\n let isUploadDocumentsCompleted: boolean = false;\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n ACheckClientProfilingData(\r\n getProfilerStatus,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res, isUploadDocumentsCompleted),\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function getProfilerStatus(res: any) {\r\n if (res.data) {\r\n completeModuleStatus(dashboardUrl.profiler);\r\n }\r\n }\r\n\r\n function getClientStageDetails(\r\n res: any,\r\n isUploadDocumentsCompleted: boolean\r\n ) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n\r\n GlobalStore.personaldetails.fsfullName = GlobalStore.personaldetails\r\n .fsfullName\r\n ? GlobalStore.personaldetails.fsfullName\r\n : responseObj?.fatherspousename;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n console.log(clientPartialDetails_ao, \"clientPartialDetails_ao\");\r\n\r\n if (!clientPartialDetails_ao.mobile) {\r\n clientPartialDetails_ao.mobile = responseObj.mobileno;\r\n }\r\n\r\n if (!clientPartialDetails_ao.emailID) {\r\n clientPartialDetails_ao.emailID = responseObj.emailid;\r\n }\r\n if (responseObj?.fatherspousename!=null && responseObj?.fatherspousename!=undefined && responseObj?.fatherspousename!==\"\") {\r\n clientPartialDetails_ao.fsfullName =\r\n responseObj?.fatherspousename;\r\n }\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n checkModuleCompleteness(isUploadDocumentsCompleted);\r\n\r\n if (responseObj.isdigilockercompleted) GlobalStore.isDigiLocker = true;\r\n //route according to stage api response\r\n if (\r\n (!responseObj.isdigilockercompleted &&\r\n GlobalStore.aadharLinkedChoice &&\r\n !GlobalStore.isDigiLocker) ||\r\n responseObj.iskyc === null ||\r\n responseObj.iskra === null\r\n )\r\n GlobalStore.nextIncompleteStage = containerUrl.dgLocker;\r\n else if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.profile;\r\n else if (!responseObj.isbankdetailscompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.bank;\r\n else if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.plan;\r\n else if (!isUploadDocumentsCompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.doc;\r\n else if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.ipv;\r\n else if (responseObj.isagentvisitcompleted)\r\n GlobalStore.nextIncompleteStage = containerUrl.ocv;\r\n else if (!responseObj.isesigncompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.eSign;\r\n else if (\r\n (responseObj.applicationstatus === 0 ||\r\n responseObj.bpm_pd_status === 2 ||\r\n responseObj.bpm_pd_status === 3) &&\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted &&\r\n responseObj.isbankdetailscompleted &&\r\n responseObj.isbrokerageschemecompleted &&\r\n isUploadDocumentsCompleted &&\r\n (GlobalStore.isDigiLocker ||\r\n GlobalStore.isKRA ||\r\n GlobalStore.isKYC ||\r\n responseObj.isipvarificationcompleted)\r\n ) {\r\n AGetEsignUrlDetails(getEsignUrl, GlobalStore.applicationID, 1);\r\n } else GlobalStore.nextIncompleteStage = containerUrl.poa;\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function getEsignUrl(res: any) {\r\n if (!res || res.error) {\r\n console.log(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data.Data) {\r\n if (res.data.Data.ConvertToPhysical === true)\r\n history.push(statusUrl.docVerificationInProgress);\r\n } else {\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function createApplicationTicket(e?: any) {\r\n var message = \"not refreshed\";\r\n\r\n if ((window as any).refreshKeyPressed) {\r\n message = \"refreshed\";\r\n }\r\n console.log(\"message\", message);\r\n\r\n if (message !== \"refreshed\") {\r\n const stageInfoId: number = parseInt(\r\n window.sessionStorage.getItem(\"stageInfoId\") || \"\"\r\n );\r\n if (\r\n stageInfoId &&\r\n (stageInfoId === 1 ||\r\n stageInfoId === 2 ||\r\n stageInfoId === 5 ||\r\n stageInfoId === 6 ||\r\n stageInfoId === 7 ||\r\n stageInfoId === 9 ||\r\n stageInfoId === 10)\r\n ) {\r\n const appIdlocalStorage = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n let applicationId = \"\";\r\n let clientPrimaryDetailId = \"\";\r\n if (\r\n GlobalStore.applicationID != undefined ||\r\n GlobalStore.applicationID != \"\"\r\n ) {\r\n applicationId = GlobalStore.applicationID;\r\n } else if (\r\n appIdlocalStorage.applicationId != \"\" ||\r\n appIdlocalStorage.applicationId != undefined\r\n ) {\r\n applicationId = appIdlocalStorage.applicationId;\r\n }\r\n\r\n if (\r\n GlobalStore.clientPrimaryDetailId != undefined ||\r\n GlobalStore.clientPrimaryDetailId != \"\"\r\n ) {\r\n clientPrimaryDetailId = GlobalStore.clientPrimaryDetailId;\r\n } else if (\r\n appIdlocalStorage.clientPrimaryDetailId != \"\" ||\r\n appIdlocalStorage.clientPrimaryDetailId != undefined\r\n ) {\r\n clientPrimaryDetailId = appIdlocalStorage.clientPrimaryDetailId;\r\n }\r\n const stageInfoObj = {\r\n applicationid: applicationId,\r\n clientprimarydetailid: parseInt(clientPrimaryDetailId),\r\n stageinfoid: stageInfoId,\r\n };\r\n ACreateApplicationTicket(() => {}, stageInfoObj);\r\n e.returnValue = message;\r\n return message;\r\n }\r\n }\r\n\r\n // e.preventDefault();\r\n // window.alert(\"closing the window\")\r\n // e.returnValue = '';\r\n // const stageInfoId: number = parseInt(window.sessionStorage.getItem('stageInfoId') || '');\r\n // if (\r\n // stageInfoId &&\r\n // (stageInfoId === 1 ||\r\n // stageInfoId === 2 ||\r\n // stageInfoId === 5 ||\r\n // stageInfoId === 6 ||\r\n // stageInfoId === 7 ||\r\n // stageInfoId === 9 ||\r\n // stageInfoId === 10)\r\n // ) {\r\n // const stageInfoObj = {\r\n // applicationid: GlobalStore.applicationID,\r\n // clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // stageinfoid: stageInfoId,\r\n // };\r\n\r\n // ACreateApplicationTicket(() => { }, stageInfoObj);\r\n // }\r\n }\r\n\r\n window.onbeforeunload = createApplicationTicket;\r\n\r\n //check for Navigation Timing API support\r\n if (window.performance) {\r\n console.info(\"window.performance works fine on this browser\");\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n {isDesktop && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n {props.children}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ProfileLayout;\r\n","import React from 'react';\r\nimport profileBanner from '../../../assets/icons/profileBanner.jpeg'\r\nimport ProfileForm from '../ProfileForm/ProfileForm';\r\nimport './ProfileHome.scss';\r\n\r\nexport interface ProfileHomeProps {\r\n\r\n}\r\n\r\nconst ProfileHome: React.FC = (props) => {\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem('stageInfoId', '1');\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n Profile\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default ProfileHome;","import React from 'react';\r\nimport ProfileNavBar from '../ProfileNavBar/ProfileNavBar';\r\nimport './ProfileMenu.scss';\r\nimport DeviceContext from '../../Services/identifyDevice';\r\nimport { useHistory } from 'react-router-dom';\r\nimport GlobalStore from '../../store/globalStore';\r\nimport ProgressBar from '../../UI/ProgressBar/ProgressBar';\r\nimport { dashboardUrl } from '../../utils/constants';\r\nimport { calculateCompletePercentage } from '../../Services/globalService';\r\n\r\nexport interface ProfileMenuProps {\r\n}\r\n\r\nconst ProfileMenu: React.FC = () => {\r\n\r\n const history = useHistory();\r\n\r\n React.useEffect(() => {\r\n if (DeviceContext().isDesktop) {\r\n if (GlobalStore.dashboardDefaultUrl)\r\n history.replace(GlobalStore.dashboardDefaultUrl);\r\n else\r\n history.replace(dashboardUrl.profile);\r\n }\r\n }, [history.location.pathname]);\r\n\r\n const percentageComplete: string = calculateCompletePercentage();\r\n\r\n return (\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\nexport default ProfileMenu;","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const getIFSCDetails = (callback: CallableFunction, ifsc: string) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetails\",\r\n body: {\r\n Type: \"IFSC\",\r\n BankName: \"\",\r\n BankCity: \"\",\r\n Ifsc: ifsc,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBankDetailsFromIfsc,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-bank-list-for-ifsc\",\r\n // body: {\r\n // ifsccode: ifsc,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const SaveBankDetails = (\r\n callback: CallableFunction,\r\n listsObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveBankDetails\",\r\n body: listsObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveBankDetails,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/save-bank-details\",\r\n // body: listsObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const getbankList = (callback: CallableFunction) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-distinct-bank-list\",\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetails\",\r\n body: {\r\n Type: \"All\",\r\n BankName: \"\",\r\n BankCity: \"\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDistinctBankList,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const getbankCity = (callback: CallableFunction, bankName: string) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-bank-cities\",\r\n // body: {\r\n // bankname: bankName,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetails\",\r\n body: {\r\n Type: \"city\",\r\n BankName: bankName,\r\n BankCity: \"\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBankCities,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const getbankBranch = (\r\n callback: CallableFunction,\r\n bankCity: string,\r\n bankName: string\r\n) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-bank-branch\",\r\n // body: {\r\n // bankcity: bankCity,\r\n // bankname: bankName,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetails\",\r\n body: {\r\n Type: \"branch\",\r\n BankName: bankName,\r\n BankCity: bankCity,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBankBranch,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetBankDetails = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n // apiService(\r\n // {\r\n // url: \"eco/get-bank-details\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetBankDetailsByAppId\",\r\n body: {\r\n ApplicationId: applicationid,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getBankDetails,\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AGetBankMandateDetails = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/get-Bank-Mandate-Details\",\r\n body: {\r\n Applicationid: applicationid,\r\n },\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const ASaveBankMandateDetails = (\r\n callback: CallableFunction,\r\n mandateObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"eco/save-MultiBank-Mandate-Details\",\r\n body: mandateObj,\r\n method: \"POST\",\r\n },\r\n callback\r\n );\r\n};\r\n\r\nexport const AgetBeneficiaryName = (\r\n callback: CallableFunction,\r\n beneficiaryObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Pichain/GetPichainBeneficiaryName\",\r\n method: \"POST\",\r\n body: {\r\n ApplicationId: beneficiaryObj.applicationid,\r\n AccountNumber: beneficiaryObj.account_number,\r\n Ifsc: beneficiaryObj.ifsc,\r\n Name: beneficiaryObj.name,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getPichainBeneficiaryName,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-beneficiary-name-pichain\",\r\n // body: beneficiaryObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AgetOcrResponseDetails = (\r\n callback: CallableFunction,\r\n ocrResponseObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetOCRDocumentResponseData\",\r\n method: \"POST\",\r\n body: {\r\n ApplicationId: ocrResponseObj.applicationId,\r\n DocumentCategory: ocrResponseObj.documentCategory,\r\n DocumentId: ocrResponseObj.documentId,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getOCRDocumentResponseData,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ocr-response-details\",\r\n // body: ocrResponseObj,\r\n // method: \"POST\",\r\n // },\r\n // callback\r\n // );\r\n};\r\n\r\nexport const AGetBeneficiaryNamePichainV1 = (\r\n callback: CallableFunction,\r\n req: object,\r\n headers: object\r\n) => {\r\n // apiService(\r\n // {\r\n // url: \"DIYAPI/GetPichainBeneficiaryName\",\r\n // method: \"POST\",\r\n // body: {\r\n //\r\n // },\r\n // apiBaseUrl: config.diyNewApiUrl,\r\n // tempToken: config.tempToken,\r\n // serviceName: servicesList.getBeneficiaryNamePichainV1,\r\n // },\r\n // callback\r\n // );\r\n apiService(\r\n {\r\n url: \"eco/get-beneficiary-name-pichain/v1\",\r\n body: req,\r\n method: \"POST\",\r\n headers: headers,\r\n },\r\n callback\r\n );\r\n};\r\n","import React from \"react\";\r\nimport \"./Loader.scss\";\r\n\r\nexport interface IPennyDropLoaderProps {\r\n color?: \"grey\" | \"blue\";\r\n size?: 18 | 20 | 100;\r\n}\r\n\r\nconst PennyDropLoader: React.FC = (\r\n props: IPennyDropLoaderProps\r\n) => {\r\n const color = props.color || \"grey\";\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PennyDropLoader;\r\n","import React, { useState } from \"react\";\r\nimport \"./BankForm.scss\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport Tag from \"../../UI/Tag/Tag\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport Button, {\r\n DashedButton,\r\n TransparentButton,\r\n} from \"../../UI/Button/Button\";\r\nimport SubmitButton from \"../../UI/Button/Button\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n getIFSCDetails,\r\n SaveBankDetails,\r\n getbankList,\r\n getbankCity,\r\n getbankBranch,\r\n AGetBankDetails,\r\n AgetBeneficiaryName,\r\n AgetOcrResponseDetails,\r\n AGetBeneficiaryNamePichainV1,\r\n} from \"../../Services/dashboard/bankApiServices\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport micr from \"../../../assets/icons/micr.jpg\";\r\nimport { AGetEnumList } from \"../../Services/dashboard/profileApiService\";\r\nimport {\r\n AGetRsaPublicKey,\r\n completeModuleStatus,\r\n convertEnumIntoIObj,\r\n incompleteStageNavigation,\r\n utmDurationInfoObj,\r\n} from \"../../Services/globalService\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\n// import MandateDetails from \"../MandateDetails/MandateDetails\";\r\nimport { dashboardUrl } from \"../../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport {\r\n aesDecryptMessage,\r\n aesEncryptMessage,\r\n exportAesCryptoKey,\r\n exportRsaCryptoKey,\r\n generateAesKey,\r\n generateRsaKey,\r\n importAesKey,\r\n importRsaKey,\r\n rsaDecryptMessage,\r\n rsaEncryptMessage,\r\n} from \"./encryption\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport InfoModal from \"../../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport PennyDropLoader from \"../../UI/Loader/PennyDropLoader\";\r\nimport { tr } from \"date-fns/locale\";\r\nimport { checkESignSubmitted } from \"../../utils/eSignSubmitHandler\";\r\n\r\nexport interface IBankDetails {\r\n branch: string;\r\n ifsccode: string;\r\n micr: string;\r\n}\r\nexport interface MICRdata {\r\n bankpincode: string;\r\n bankaddr1: string;\r\n bankcity: string;\r\n bankcode: string;\r\n bankname: string;\r\n branch: string;\r\n contact: string;\r\n district: string;\r\n ifsccode: string;\r\n micr: string;\r\n state: string;\r\n bankAddress1: string;\r\n bankAddress2?: string;\r\n bankAddress3?: string;\r\n}\r\n\r\nexport interface BankFormFields {\r\n accountholdername: string;\r\n applicationid: string;\r\n accountno: string;\r\n bankaddr1: string;\r\n bankAddr2?: string;\r\n bankAddr3?: string;\r\n bankcity: string;\r\n bankdetailsid: number;\r\n bankpincode: string;\r\n reaccountno: string;\r\n ifsccode: string;\r\n bankacctype: string;\r\n isdefaultaccount: boolean;\r\n branch: string;\r\n bankname: string;\r\n state: string;\r\n micr: string;\r\n clientprimarydetailid: number;\r\n empcode: number;\r\n payinpriority: number;\r\n qcapproved: boolean;\r\n micrcodeList: Array<{ value: string; name: string }>;\r\n}\r\n\r\nconst BankForm = (props: any) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [maxBank, setMaxBank] = React.useState(0);\r\n const [accountnoErrors, setaccountnoErrors] = React.useState>(\r\n []\r\n );\r\n const [bankNameOnIFSCCode, setBankNameOnIFSCCode] = useState(\"\");\r\n const [bankCityOnIFSCCode, setBankCityOnIFSCCode] = useState(\"\");\r\n const [pryAccount, setPryAccount] = useState(false);\r\n const [micrModalFlag, setMicrModalFlag] = useState(false);\r\n const [ifscModalFlag, setIfscModalFlag] = useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [noBankFound, setNoBankFound] = React.useState(false);\r\n const [bankList, setBankList] = useState([]);\r\n const [cityList, setCityList] = useState([]);\r\n const [BranchList, setBranchList] = useState([]);\r\n const [hideSearch, setHideSearch] = useState(true);\r\n const [ismatched, setIsmatched] = useState(false);\r\n const [branchDetail, setBranchDetail] = useState();\r\n const [bankListOnIFSC, setBankListOnIFSC] = useState([]);\r\n const [bankacctypeList, setbankacctypeList] = useState>([]);\r\n const [lists, setLists] = useState>([\r\n {\r\n accountholdername: GlobalStore.accountHolderName,\r\n applicationid: GlobalStore.applicationID,\r\n accountno: \"\",\r\n bankaddr1: \"\",\r\n bankAddr2: \"\",\r\n bankAddr3: \"\",\r\n reaccountno: \"\",\r\n bankdetailsid: 0,\r\n bankpincode: \"\",\r\n ifsccode: \"\",\r\n bankacctype: \"10\",\r\n branch: \"\",\r\n isdefaultaccount: true,\r\n bankcity: \"\",\r\n bankname: \"\",\r\n state: \"\",\r\n micr: \"\",\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n payinpriority: 1,\r\n empcode: 0,\r\n qcapproved: false,\r\n micrcodeList: [{ value: \"\", name: \"\" }],\r\n },\r\n ]);\r\n const [showMandate, setShowMandate] = React.useState(false);\r\n const [uploadedBankList, setUploadedBankList] = React.useState>(\r\n []\r\n );\r\n const [loaderSign, setLoaderSign] = React.useState(false);\r\n const [allowOnlyAddBank, setAllowOnlyAddBank] =\r\n React.useState(false);\r\n const [isSbi, setIsSbi] = useState(false);\r\n const [showPennyDropModal, setShowPennyDropModal] =\r\n React.useState(false);\r\n let serverPublicKey: string;\r\n let rsaAoepKeyPair: CryptoKeyPair;\r\n let exportRsaPublicKey: string;\r\n\r\n const history = useHistory();\r\n\r\n React.useEffect(() => {\r\n window.scrollTo(0, 0);\r\n setIsLoading(true);\r\n AGetEnumList(getEnumList, \"bankacctype\");\r\n AGetBankDetails(getBankDetails, GlobalStore.applicationID);\r\n // AGetRsaPublicKey(encryptData);\r\n }, []);\r\n\r\n const encryptData = async (res: any, bankObj: any, isAddition?: boolean) => {\r\n if (!res || res.error) {\r\n setErrCode(\"Error in capturing bank details\");\r\n } else {\r\n // Get Server RSA public key for encryting client side UUID, Symmetric key, AES from the response\r\n serverPublicKey = res.data.key;\r\n window.sessionStorage.setItem(\"serverPublicKey\", res.data.key);\r\n const importedRsaCryptoKeyObj = await importRsaKey(res.data.key);\r\n const aesGcmKey = await generateAesKey();\r\n const exportAesSecretKey = await exportAesCryptoKey(aesGcmKey);\r\n\r\n const { aesCipheredText, ivBase64 } = await aesEncryptMessage(\r\n aesGcmKey,\r\n JSON.stringify(bankObj)\r\n );\r\n\r\n const headerPayload = {\r\n reqId: Date.now(),\r\n clSy: exportAesSecretKey,\r\n clIv: ivBase64,\r\n };\r\n\r\n const cipheredheaderPayload = await rsaEncryptMessage(\r\n importedRsaCryptoKeyObj,\r\n JSON.stringify(headerPayload)\r\n );\r\n\r\n if (window.sessionStorage.getItem(\"clientPublicKey\")) {\r\n console.log(\"Client public key exists\");\r\n }\r\n rsaAoepKeyPair = await generateRsaKey();\r\n exportRsaPublicKey = await exportRsaCryptoKey(rsaAoepKeyPair.publicKey);\r\n window.sessionStorage.setItem(\"clientPublicKey\", exportRsaPublicKey);\r\n\r\n const header = {\r\n SEPRK: cipheredheaderPayload,\r\n CPK: exportRsaPublicKey,\r\n };\r\n\r\n const reqObj = {\r\n req: aesCipheredText,\r\n };\r\n\r\n // const aesDecrytedText = await aesDecryptMessage(aesGcmKey, ivBase64, aesCipheredText);\r\n\r\n AGetBeneficiaryNamePichainV1(\r\n (res: any, CEPRK: string) => newPichainResponse(res, CEPRK, isAddition),\r\n reqObj,\r\n header\r\n );\r\n }\r\n };\r\n\r\n const newPichainResponse = async (\r\n res: any,\r\n CEPRK: string,\r\n isAddition?: Boolean\r\n ) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n const rsaDecrytedText = await rsaDecryptMessage(\r\n rsaAoepKeyPair.privateKey,\r\n CEPRK\r\n );\r\n const rsaDecrytedobj = JSON.parse(rsaDecrytedText);\r\n const importedAesCryptoKeyObj = await importAesKey(rsaDecrytedobj.srSym);\r\n const aesDecrytedText = await aesDecryptMessage(\r\n importedAesCryptoKeyObj,\r\n rsaDecrytedobj.rsIv,\r\n res.res\r\n );\r\n if (isAddition) getAccountHolderForSaveOnAdd(aesDecrytedText);\r\n else getAccountHolderForSave(aesDecrytedText);\r\n }\r\n };\r\n\r\n const getAccountHolderName = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"170 - Failed to fetch Beneficiary name details\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n GlobalStore.accountHolderName = responseObj.registered_name;\r\n // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n // else {\r\n // GlobalStore.isSeeding = false;\r\n // }\r\n if (responseObj.score == 100) {\r\n setIsmatched(true);\r\n }\r\n }\r\n }\r\n };\r\n\r\n function getEnumList(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('164 - Failed to fetch the category lists, please reload.')\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.enumlist && res.data.enumlist.length > 0) {\r\n const [bankacctypeList] = convertEnumIntoIObj(res.data.enumlist, [\r\n \"BankAccType\",\r\n ]);\r\n const filterBankacctypeList = bankacctypeList.filter(\r\n (item: any) =>\r\n item.display !== \"Others\" && item.display !== \"Cash Credit\"\r\n );\r\n setbankacctypeList(filterBankacctypeList);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n\r\n function getBankDetails(res: any) {\r\n console.log(\"&& res.data !== Record Not Found\", res);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else if (res.data) {\r\n let responseObj;\r\n if (res.data != \"Record Not Found\") {\r\n responseObj = JSON.parse(res.data);\r\n } else {\r\n responseObj = res.data;\r\n }\r\n\r\n if (responseObj.length > 0 && responseObj !== \"Record Not Found\") {\r\n GlobalStore.accountHolderName = responseObj[0].accountholdername;\r\n setUploadedBankList(responseObj);\r\n setShowMandate(true);\r\n updateLists(responseObj);\r\n setLists(responseObj);\r\n } else {\r\n if (\r\n GlobalStore.chequeOCRObj.ifsc_code &&\r\n GlobalStore.chequeOCRObj.account_no\r\n ) {\r\n const actObj = {\r\n applicationid: GlobalStore.applicationID,\r\n account_number: GlobalStore.chequeOCRObj.account_no,\r\n ifsc: GlobalStore.chequeOCRObj.ifsc_code,\r\n name: GlobalStore.personaldetails.PANName,\r\n };\r\n lists[0].accountno = GlobalStore.chequeOCRObj.account_no;\r\n lists[0].reaccountno = GlobalStore.chequeOCRObj.account_no;\r\n lists[0].ifsccode = GlobalStore.chequeOCRObj.ifsc_code;\r\n lists[0].micr = GlobalStore.chequeOCRObj.micr_code;\r\n\r\n setLists(lists);\r\n AgetBeneficiaryName(getAccountHolderName, actObj);\r\n // AGetRsaPublicKey((res: any) => encryptData(res, actObj));\r\n if (GlobalStore.chequeOCRObj.ifsc_code != \"\") {\r\n getIFSCDetails(\r\n (res: any) => getData(res, 0),\r\n GlobalStore.chequeOCRObj.ifsc_code\r\n );\r\n }\r\n }\r\n const sendOcrObj = {\r\n applicationId: GlobalStore.applicationID,\r\n documentCategory: \"Bank Proof\",\r\n documentId: 21,\r\n };\r\n AgetOcrResponseDetails(getOcrResponse, sendOcrObj);\r\n }\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n\r\n function getBankDetailsMandate(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(1362);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(JSON.parse(res.data));\r\n if (responseObj.length > 0 && responseObj !== \"Record Not Found\") {\r\n setUploadedBankList(responseObj);\r\n //setShowMandate(true);\r\n completeModuleStatus(dashboardUrl.bank);\r\n gtmService({ action: \"BANK_DETAILS\", label: \"Step_Complete\" });\r\n history.push(incompleteStageNavigation());\r\n }\r\n }\r\n }\r\n }\r\n\r\n const getOcrResponse = (res: any) => {\r\n if (!res || res.error) {\r\n //setErrCode(1361);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data !== \"Record Not Found\") {\r\n const ocrResponseObj = JSON.parse(res.data);\r\n let values: Array = [...lists];\r\n values[0].accountno =\r\n ocrResponseObj.ocrdata.result.extraction_output.account_no;\r\n values[0].reaccountno =\r\n ocrResponseObj.ocrdata.result.extraction_output.account_no;\r\n values[0].ifsccode =\r\n ocrResponseObj.ocrdata.result.extraction_output.ifsc_code;\r\n setLists(values);\r\n getIFSCDetails(\r\n (res: any) => getData(res, 0),\r\n ocrResponseObj.ocrdata.result.extraction_output.ifsc_code\r\n );\r\n }\r\n }\r\n };\r\n\r\n function getData(res: any, index: number) {\r\n setErrCode(\"\");\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(`1363 - No bank found for the IFSC code entered`);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.ecoIBeatsBank.length > 0) {\r\n setNoBankFound(false);\r\n let values: Array = [...lists];\r\n let result = res.data;\r\n values[index].bankcity = result.ecoIBeatsBank[0].bankcity;\r\n values[index].bankname = result.ecoIBeatsBank[0].bankname;\r\n values[index].state = result.ecoIBeatsBank[0].state;\r\n if (values[index].bankname === \"STATE BANK OF INDIA\") {\r\n if (values[index].reaccountno.length < 11) {\r\n alert(\"SBI account number should have more than 10 digits\");\r\n let setAccError = { ...accountnoErrors };\r\n setAccError[\r\n index\r\n ] = `SBI account number should have more than 10 digits`;\r\n setaccountnoErrors(setAccError);\r\n }\r\n setIsSbi(true);\r\n } else {\r\n setIsSbi(false);\r\n }\r\n\r\n const micrData = result.ecoIBeatsBank.map(\r\n (item: any, index: number) => ({\r\n value: index + 1,\r\n name: item.micr,\r\n })\r\n );\r\n\r\n values[index].micrcodeList = micrData;\r\n //if only one MICR is in the list, it will selected by default instead of showing dropwdown list\r\n if (micrData.length === 1) {\r\n values[index].micr = micrData[0].name;\r\n values[index].bankaddr1= res?.data?.ecoIBeatsBank[0].bankAddress1;\r\n values[index].bankAddr2=res?.data?.ecoIBeatsBank[0].bankAddress2;\r\n values[index].bankAddr3=res?.data?.ecoIBeatsBank[0].bankAddress3;\r\n } else if (micrData.length > 1) {\r\n values[0].micr = micrData[0].name;\r\n values[0].bankaddr1= res?.data?.ecoIBeatsBank[0].bankAddress1;\r\n values[0].bankAddr2=res?.data?.ecoIBeatsBank[0].bankAddress2;\r\n values[0].bankAddr3=res?.data?.ecoIBeatsBank[0].bankAddress3;\r\n } else {\r\n values[index].micr = \"\";\r\n }\r\n\r\n setBankListOnIFSC(result.ecoIBeatsBank);\r\n setLists(values);\r\n setIsLoading(false);\r\n } else {\r\n let values: Array = [...lists];\r\n values[index].bankcity = \"\";\r\n values[index].bankname = \"\";\r\n values[index].state = \"\";\r\n values[index].micr = \"\";\r\n values[index].micrcodeList = [];\r\n setLists(values);\r\n setNoBankFound(true);\r\n setErrCode(\"No bank found for the IFSC code entered\");\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const updateLists = (listObj: any) => {\r\n let values: Array = [...lists];\r\n if (listObj.length > 0) {\r\n values = listObj.map((item: any) => {\r\n let item2 = listObj.find(\r\n (i2: any) => i2.bankdetailsid === item.bankdetailsid\r\n );\r\n item2.micrcodeList = [{ value: \"\", name: \"\" }];\r\n item2.reaccountno = item.accountno;\r\n return item2 ? { ...item, ...item2 } : item;\r\n });\r\n }\r\n setLists(values);\r\n };\r\n\r\n const handleChange = (\r\n name: keyof BankFormFields,\r\n index: number,\r\n val: string\r\n ): void => {\r\n let values: Array = [...lists];\r\n if (name === \"isdefaultaccount\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n }\r\n if (name === \"qcapproved\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n } else if (name === \"ifsccode\") {\r\n if (val.length === 11) {\r\n setIsLoading(true);\r\n values[index][name] = val;\r\n //if only one MICR is in the list, it will selected by default instead of showing dropwdown list\r\n if (values[index].micrcodeList.length === 1) {\r\n values[index].micr = values[index].micrcodeList[0].name;\r\n } else {\r\n values[index].micr = \"\";\r\n }\r\n getIFSCDetails((res: any) => getData(res, index), val);\r\n }\r\n } else if (name === \"accountno\") {\r\n if (val !== \"\") {\r\n values[index][name] = val;\r\n } else {\r\n }\r\n } else if (name === \"reaccountno\") {\r\n if (val !== \"\") {\r\n values[index][name] = val;\r\n }\r\n }\r\n setLists(values);\r\n };\r\n\r\n const handleTag = (name: keyof BankFormFields, index: number, val: any) => {\r\n let values: Array = [...lists];\r\n if (name === \"bankacctype\") {\r\n values[index][name] = val;\r\n } else if (name === \"qcapproved\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n } else if (name === \"isdefaultaccount\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n }\r\n setLists(values);\r\n };\r\n\r\n const handleDefaultAccount = (\r\n name: keyof BankFormFields,\r\n index: number,\r\n val: string | boolean\r\n ) => {\r\n let values: Array = [...lists];\r\n if (name === \"isdefaultaccount\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n } else if (name === \"qcapproved\") {\r\n if (typeof val === \"boolean\") values[index][name] = val;\r\n }\r\n setLists(values);\r\n };\r\n\r\n const checkMatch = (index: number, val: any) => {\r\n let values: Array = [...lists];\r\n if (isSbi && values[index].reaccountno.length < 11) {\r\n let setAccError = { ...accountnoErrors };\r\n setAccError[index] = errorMsg(errorCode.FE32);\r\n setaccountnoErrors(setAccError);\r\n } else if (!isSbi && values[index].reaccountno.length < 6) {\r\n let setAccError = { ...accountnoErrors };\r\n setAccError[index] = errorMsg(errorCode.FE30);\r\n setaccountnoErrors(setAccError);\r\n } else if (values[index].accountno !== values[index].reaccountno) {\r\n let setAccError = { ...accountnoErrors };\r\n // setAccError[index] = 'Account numbers entered do not match';\r\n setAccError[index] = errorMsg(errorCode.FE31);\r\n setaccountnoErrors(setAccError);\r\n } else {\r\n let setAccError = { ...accountnoErrors };\r\n delete setAccError[index];\r\n setaccountnoErrors(setAccError);\r\n }\r\n };\r\n\r\n const handleDropdown = (val: string, index: number) => {\r\n let values: Array = [...lists];\r\n values[index].micr = val;\r\n if (bankListOnIFSC && bankListOnIFSC.length > 0) {\r\n let filterDataOnMICR: Array = bankListOnIFSC.filter(\r\n (item: any) => item.micr === val\r\n );\r\n values[index].bankpincode = filterDataOnMICR[0].bankpincode;\r\n values[index].bankaddr1 = filterDataOnMICR[0].bankAddress1;\r\n values[index].bankAddr2 = filterDataOnMICR[0].bankAddress2;\r\n values[index].bankAddr3 = filterDataOnMICR[0].bankAddress3;\r\n values[index].bankcity = filterDataOnMICR[0].bankcity;\r\n values[index].bankname = filterDataOnMICR[0].bankname;\r\n values[index].branch = filterDataOnMICR[0].branch;\r\n values[index].state = filterDataOnMICR[0].state;\r\n setLists(values);\r\n } else {\r\n setLists(values);\r\n }\r\n };\r\n\r\n const handleSubmit = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n setIsLoading(true);\r\n setLoaderSign(true);\r\n setShowPennyDropModal(true);\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.account_no = lists[0].accountno;\r\n clientPartialDetails_ao.ifsc_code = lists[0].ifsccode;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n GlobalStore.account_no = clientPartialDetails_ao.account_no;\r\n GlobalStore.ifsc_code = clientPartialDetails_ao.ifsc_code;\r\n\r\n if (\r\n GlobalStore.accountHolderName === \"\" ||\r\n lists[lists.length - 1].bankdetailsid === 0\r\n ) {\r\n const actObj = {\r\n applicationid: GlobalStore.applicationID,\r\n account_number: lists[lists.length - 1].accountno,\r\n ifsc: lists[lists.length - 1].ifsccode,\r\n name: GlobalStore.personaldetails.PANName,\r\n };\r\n AgetBeneficiaryName(getAccountHolderForSave, actObj);\r\n // AGetRsaPublicKey((res: any) => encryptData(res, actObj));\r\n } else {\r\n // setIsLoading(false);\r\n // setLoaderSign(false);\r\n // To avaid calling APIs unless a new bank's details are added\r\n const res = {\r\n data: true,\r\n };\r\n saveDetailsRes(res);\r\n }\r\n };\r\n\r\n // const getAccountHolderForSave = (res: any) => {\r\n // if (!res || res.error) {\r\n // setErrCode(\"170 - Failed to fetch Beneficiary name details\");\r\n // setIsLoading(false);\r\n // setLoaderSign(false);\r\n // } else {\r\n // const parsedRes = JSON.parse(res);\r\n // if (parsedRes.data) {\r\n // const responseObj = JSON.parse(JSON.parse(parsedRes.data));\r\n // // if (lists.length === 1) {\r\n // // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // // GlobalStore.isSeeding = true;\r\n // // }\r\n // // else {\r\n // // GlobalStore.isSeeding = false;\r\n // // }\r\n // // }\r\n // if (responseObj.score == 100) {\r\n // setIsmatched(true);\r\n // }\r\n\r\n // if (responseObj.code === 200) {\r\n // GlobalStore.accountHolderName = responseObj.registered_name;\r\n // const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n // const saveBankAccount = {\r\n // accountHolderName: responseObj.registered_name,\r\n // accountNo: lists[lists.length - 1].accountno,\r\n // applicationId: lists[lists.length - 1].applicationid,\r\n // bankAccType: parseInt(lists[lists.length - 1].bankacctype),\r\n // bankAddr1: lists[lists.length - 1].bankaddr1,\r\n // bankCity: lists[lists.length - 1].bankcity,\r\n // bankDetailsId: lists[lists.length - 1].bankdetailsid,\r\n // bankName: lists[lists.length - 1].bankname,\r\n // bankPinCode: lists[lists.length - 1].bankpincode,\r\n // branch: lists[lists.length - 1].branch,\r\n // clientPrimaryDetailId:\r\n // lists[lists.length - 1].clientprimarydetailid,\r\n // contactNo: \"\",\r\n // district: \"\",\r\n // empCode: lists[lists.length - 1].empcode,\r\n // ifscCode: lists[lists.length - 1].ifsccode,\r\n // isDefaultAccount: lists[lists.length - 1].isdefaultaccount,\r\n // leadId: \"\",\r\n // micr: lists[lists.length - 1].micr,\r\n // qcapproved: false,\r\n // state: lists[lists.length - 1].state,\r\n // ismatched: responseObj.score >= 85 ? true : false,\r\n // objUTM_info: objUTM_Info,\r\n // match_score: responseObj.score,\r\n // };\r\n // SaveBankDetails(saveDetailsRes, saveBankAccount);\r\n // } else {\r\n // const res = {\r\n // data: true,\r\n // };\r\n // saveDetailsRes(res);\r\n // }\r\n // }\r\n // }\r\n // };\r\n\r\n //Sending data as Per JAVA MW parameter as MOUI parameter types are different from JAVA MW API parameter: Getting 500 response\r\n const getAccountHolderForSave = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"170 - Failed to fetch Beneficiary name details\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n } else {\r\n const parsedRes = JSON.parse(res.data);\r\n if (parsedRes) {\r\n const responseObj = parsedRes;\r\n // if (lists.length === 1) {\r\n // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n // else {\r\n // GlobalStore.isSeeding = false;\r\n // }\r\n // }\r\n let score = 0;\r\n if (responseObj.score) score = responseObj.score;\r\n if (responseObj.score && responseObj.score == 100) {\r\n setIsmatched(true);\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (responseObj.registered_name)\r\n GlobalStore.accountHolderName = responseObj.registered_name;\r\n if (\r\n GlobalStore.accountHolderName === \"\" ||\r\n GlobalStore.accountHolderName === null\r\n )\r\n GlobalStore.accountHolderName = clientPartialDetails_ao.PANName;\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n const saveBankAccount = {\r\n accountHolderName: GlobalStore.accountHolderName,\r\n accountNo: lists[lists.length - 1].accountno,\r\n applicationId: lists[lists.length - 1].applicationid,\r\n bankAccType: parseInt(lists[lists.length - 1].bankacctype),\r\n bankAddr1: lists[lists.length - 1].bankaddr1,\r\n bankAddr2: lists[lists.length - 1].bankAddr2,\r\n bankAddr3: lists[lists.length - 1].bankAddr3,\r\n bankCity: lists[lists.length - 1].bankcity,\r\n bankDetailsId: lists[lists.length - 1].bankdetailsid,\r\n bankName: lists[lists.length - 1].bankname,\r\n bankPinCode: lists[lists.length - 1].bankpincode,\r\n branch: lists[lists.length - 1].branch,\r\n clientPrimaryDetailId: lists[lists.length - 1].clientprimarydetailid,\r\n contactNo: \"\",\r\n district: \"\",\r\n empCode: lists[lists.length - 1].empcode,\r\n ifscCode: lists[lists.length - 1].ifsccode,\r\n isDefaultAccount: lists[lists.length - 1].isdefaultaccount,\r\n leadId: GlobalStore.leadId,\r\n micr: lists[lists.length - 1].micr,\r\n qcApproved: false,\r\n state: lists[lists.length - 1].state,\r\n isMatched: score >= 85 ? true : false,\r\n utmInfoDetails: objUTM_Info,\r\n matchScore: score,\r\n };\r\n SaveBankDetails(saveDetailsRes, saveBankAccount);\r\n }\r\n }\r\n setShowPennyDropModal(false);\r\n };\r\n\r\n const handleAddForm = () => {\r\n let values: Array = [...lists];\r\n setIsLoading(true);\r\n if (maxBank < 6) {\r\n setMaxBank(maxBank + 1);\r\n }\r\n if (lists.length === 1 && lists[lists.length - 1].bankdetailsid === 0) {\r\n const actObj = {\r\n applicationid: GlobalStore.applicationID,\r\n account_number: lists[0].accountno,\r\n ifsc: lists[0].ifsccode,\r\n name: GlobalStore.personaldetails.PANName,\r\n };\r\n AgetBeneficiaryName(getAccountHolderForSaveOnAdd, actObj);\r\n // AGetRsaPublicKey((res: any) => encryptData(res, actObj, true));\r\n }\r\n if (lists[lists.length - 1].bankdetailsid === 0 && allowOnlyAddBank) {\r\n const actObj = {\r\n applicationid: GlobalStore.applicationID,\r\n account_number: lists[lists.length - 1].accountno,\r\n ifsc: lists[lists.length - 1].ifsccode,\r\n name: GlobalStore.personaldetails.PANName,\r\n };\r\n AgetBeneficiaryName(getAccountHolderForSaveOnAdd, actObj);\r\n // AGetRsaPublicKey((res: any) => encryptData(res, actObj, true));\r\n } else {\r\n setAllowOnlyAddBank(true);\r\n let values: Array = [...lists];\r\n setLists([\r\n ...values,\r\n {\r\n accountholdername: GlobalStore.accountHolderName,\r\n accountno: \"\",\r\n applicationid: GlobalStore.applicationID,\r\n bankaddr1: \"\",\r\n bankdetailsid: 0,\r\n bankpincode: \"\",\r\n branch: \"\",\r\n reaccountno: \"\",\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n ifsccode: \"\",\r\n bankacctype: \"10\",\r\n isdefaultaccount: pryAccount,\r\n bankcity: \"\",\r\n bankname: \"\",\r\n state: \"\",\r\n micr: \"\",\r\n empcode: 0 || lists[0].empcode,\r\n payinpriority: 1,\r\n qcapproved: false,\r\n bankAddr2:\"\",\r\n bankAddr3:\"\",\r\n micrcodeList: [{ value: \"\", name: \"\" }],\r\n },\r\n ]);\r\n setIsLoading(false);\r\n setIfscModalFlag(false);\r\n if (hideSearch === false) {\r\n setHideSearch(true);\r\n }\r\n }\r\n };\r\n\r\n // const getAccountHolderForSaveOnAdd = (res: any) => {\r\n // if (!res || res.error) {\r\n // setIsLoading(false);\r\n // setErrCode(\"170 - Failed to fetch the IFSC Details\");\r\n // } else {\r\n // const parsedRes = JSON.parse(res);\r\n // if (parsedRes.data) {\r\n // const responseObj = JSON.parse(JSON.parse(parsedRes.data));\r\n // // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // // GlobalStore.isSeeding = true;\r\n // // }\r\n // // else {\r\n // // GlobalStore.isSeeding = false;\r\n // // }\r\n\r\n // if (responseObj.score == 100) {\r\n // setIsmatched(true);\r\n // }\r\n\r\n // const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n // const saveBankAccount = {\r\n // accountHolderName: responseObj.registered_name,\r\n // accountNo: lists[lists.length - 1].accountno,\r\n // applicationId: lists[lists.length - 1].applicationid,\r\n // bankAccType: parseInt(lists[lists.length - 1].bankacctype),\r\n // bankAddr1: lists[lists.length - 1].bankaddr1,\r\n // bankCity: lists[lists.length - 1].bankcity,\r\n // bankDetailsId: lists[lists.length - 1].bankdetailsid,\r\n // bankName: lists[lists.length - 1].bankname,\r\n // bankPinCode: lists[lists.length - 1].bankpincode,\r\n // branch: lists[lists.length - 1].branch,\r\n // clientPrimaryDetailId: lists[lists.length - 1].clientprimarydetailid,\r\n // contactNo: \"\",\r\n // district: \"\",\r\n // empCode: lists[lists.length - 1].empcode,\r\n // ifscCode: lists[lists.length - 1].ifsccode,\r\n // isDefaultAccount: lists[lists.length - 1].isdefaultaccount,\r\n // leadId: \"\",\r\n // micr: lists[lists.length - 1].micr,\r\n // qcapproved: lists[lists.length - 1].qcapproved,\r\n // state: lists[lists.length - 1].state,\r\n // ismatched: responseObj.score >= 85 ? true : false,\r\n // objUTM_info: objUTM_Info,\r\n // match_score: responseObj.score,\r\n // };\r\n // if (lists[lists.length - 1].bankdetailsid === 0) {\r\n // SaveBankDetails(saveDetailsResponse, saveBankAccount);\r\n // } else {\r\n // let values: Array = [...lists];\r\n // setLists([\r\n // ...values,\r\n // {\r\n // accountholdername: GlobalStore.accountHolderName,\r\n // accountno: \"\",\r\n // applicationid: GlobalStore.applicationID,\r\n // bankaddr1: \"\",\r\n // bankdetailsid: 0,\r\n // bankpincode: \"\",\r\n // branch: \"\",\r\n // reaccountno: \"\",\r\n // clientprimarydetailid: parseInt(\r\n // GlobalStore.clientPrimaryDetailId\r\n // ),\r\n // ifsccode: \"\",\r\n // bankacctype: \"10\",\r\n // isdefaultaccount: pryAccount,\r\n // bankcity: \"\",\r\n // bankname: \"\",\r\n // state: \"\",\r\n // micr: \"\",\r\n // empcode: 0 || lists[0].empcode,\r\n // payinpriority: 1,\r\n // qcapproved: false,\r\n // micrcodeList: [{ value: \"\", name: \"\" }],\r\n // },\r\n // ]);\r\n // setIsLoading(false);\r\n // }\r\n // setIfscModalFlag(false);\r\n // if (hideSearch === false) {\r\n // setHideSearch(true);\r\n // }\r\n // }\r\n // }\r\n // };\r\n const getAccountHolderForSaveOnAdd = (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n const parsedRes = JSON.parse(res.data);\r\n if (parsedRes) {\r\n const responseObj = parsedRes;\r\n // if (responseObj.message === \"SUCCESS\" && responseObj.score == 100) {\r\n // GlobalStore.isSeeding = true;\r\n // }\r\n // else {\r\n // GlobalStore.isSeeding = false;\r\n // }\r\n let score = 0;\r\n if (responseObj.score) score = responseObj.score;\r\n if (responseObj.score && responseObj.score == 100) {\r\n setIsmatched(true);\r\n }\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n GlobalStore.accountHolderName === \"\" ||\r\n GlobalStore.accountHolderName === null\r\n )\r\n GlobalStore.accountHolderName = clientPartialDetails_ao.PANName;\r\n\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n const saveBankAccount = {\r\n accountHolderName: responseObj.registered_name\r\n ? responseObj.registered_name\r\n : GlobalStore.accountHolderName,\r\n accountNo: lists[lists.length - 1].accountno,\r\n applicationId: lists[lists.length - 1].applicationid,\r\n bankAccType: parseInt(lists[lists.length - 1].bankacctype),\r\n bankAddr1: lists[lists.length - 1].bankaddr1,\r\n bankAddr2:lists[lists.length - 1].bankAddr2,\r\n bankAddr3:lists[lists.length-1].bankAddr3,\r\n bankCity: lists[lists.length - 1].bankcity,\r\n bankDetailsId: lists[lists.length - 1].bankdetailsid,\r\n bankName: lists[lists.length - 1].bankname,\r\n bankPinCode: lists[lists.length - 1].bankpincode,\r\n branch: lists[lists.length - 1].branch,\r\n clientPrimaryDetailId: lists[lists.length - 1].clientprimarydetailid,\r\n contactNo: \"\",\r\n district: \"\",\r\n empCode: lists[lists.length - 1].empcode,\r\n ifscCode: lists[lists.length - 1].ifsccode,\r\n isDefaultAccount: lists[lists.length - 1].isdefaultaccount,\r\n leadId: GlobalStore.leadId,\r\n micr: lists[lists.length - 1].micr,\r\n qcApproved: lists[lists.length - 1].qcapproved,\r\n state: lists[lists.length - 1].state,\r\n isMatched: score >= 85 ? true : false,\r\n utmInfoDetails: objUTM_Info,\r\n matchScore: score,\r\n };\r\n if (lists[lists.length - 1].bankdetailsid === 0) {\r\n console.log(\"saveBankAccountAdd\", saveBankAccount);\r\n SaveBankDetails(saveDetailsResponse, saveBankAccount);\r\n } else {\r\n let values: Array = [...lists];\r\n setLists([\r\n ...values,\r\n {\r\n accountholdername: GlobalStore.accountHolderName,\r\n accountno: \"\",\r\n applicationid: GlobalStore.applicationID,\r\n bankaddr1: \"\",\r\n bankAddr2:\"\",\r\n bankAddr3:\"\",\r\n bankdetailsid: 0,\r\n bankpincode: \"\",\r\n branch: \"\",\r\n reaccountno: \"\",\r\n clientprimarydetailid: parseInt(\r\n GlobalStore.clientPrimaryDetailId\r\n ),\r\n ifsccode: \"\",\r\n bankacctype: \"10\",\r\n isdefaultaccount: pryAccount,\r\n bankcity: \"\",\r\n bankname: \"\",\r\n state: \"\",\r\n micr: \"\",\r\n empcode: 0 || lists[0].empcode,\r\n payinpriority: 1,\r\n qcapproved: false,\r\n micrcodeList: [{ value: \"\", name: \"\" }],\r\n },\r\n ]);\r\n setIsLoading(false);\r\n }\r\n setIfscModalFlag(false);\r\n if (hideSearch === false) {\r\n setHideSearch(true);\r\n }\r\n }\r\n }\r\n };\r\n function saveDetailsResponse(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('135 - Failed to save the Bank Details provided.');\r\n // setErrCode(errorMessage.saveBankDetails);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n //AGetBankDetails(getBankDetails, GlobalStore.applicationID);\r\n // Code of Mandate update start\r\n let values: Array = [...lists];\r\n setLists([\r\n ...values,\r\n {\r\n accountholdername: GlobalStore.accountHolderName,\r\n accountno: \"\",\r\n applicationid: GlobalStore.applicationID,\r\n bankaddr1: \"\",\r\n bankAddr2:\"\",\r\n bankAddr3:\"\",\r\n bankdetailsid: 0,\r\n bankpincode: \"\",\r\n branch: \"\",\r\n reaccountno: \"\",\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n ifsccode: \"\",\r\n bankacctype: \"10\",\r\n isdefaultaccount: pryAccount,\r\n bankcity: \"\",\r\n bankname: \"\",\r\n state: \"\",\r\n micr: \"\",\r\n empcode: 0 || lists[0].empcode,\r\n payinpriority: 1,\r\n qcapproved: false,\r\n micrcodeList: [{ value: \"\", name: \"\" }],\r\n },\r\n ]);\r\n // AGetBankDetails(getBankDetailsMandate, GlobalStore.applicationID);\r\n // Code of Mandate update end\r\n } else {\r\n // setErrCode('135 - Failed to save the Bank Details provided.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n function saveDetailsRes(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('135 - Failed to save the Bank Details provided.');\r\n // setErrCode(errorMessage.saveBankDetails);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n setAllowOnlyAddBank(false);\r\n // Code of Mandate update start\r\n // AGetBankDetails(getBankDetailsMandate, GlobalStore.applicationID);\r\n // Code of Mandate update end\r\n completeModuleStatus(dashboardUrl.bank);\r\n gtmService({ action: \"BANK_DETAILS\", label: \"Step_Complete\" });\r\n\r\n // Clevertap event for save bank details\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.bankPage.CLICK_ON_SUBMIT_BANK_DETAILS,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: props.UTM_SOURCE,\r\n UTM_MEDIUM: props.UTM_MEDIUM,\r\n UTM_CAMPAIGN: props.UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends\r\n\r\n // Apps flyer event for click on proceed on bank details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.bankPage.CLICK_ON_SUBMIT_BANK_DETAILS\r\n );\r\n\r\n history.push(incompleteStageNavigation());\r\n } else {\r\n // setErrCode('135 - Failed to save the Bank Details provided.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const closeSample = () => {\r\n setMicrModalFlag(false);\r\n };\r\n\r\n const closeIFSC = () => {\r\n setIfscModalFlag(false);\r\n };\r\n\r\n const openIfscModal = (index: number) => {\r\n let values = { ...lists };\r\n if (values[index].bankdetailsid === 0 && index === lists.length - 1) {\r\n setIsLoading(true);\r\n setIfscModalFlag(true);\r\n getbankList((res: any) => getBankData(res));\r\n }\r\n };\r\n\r\n const getBankData = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setBankList(res.data.banknames);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n };\r\n\r\n const getCityData = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n setCityList(res.data.bankcities);\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n }\r\n };\r\n\r\n const handlebanknameDropdown = (val: string, index: number) => {\r\n setIsLoading(true);\r\n setBankNameOnIFSCCode(val);\r\n getbankCity((res: any) => getCityData(res), val);\r\n };\r\n\r\n const handleCityDropdown = (val: string, index: number) => {\r\n setIsLoading(true);\r\n setBankCityOnIFSCCode(val);\r\n getbankBranch((res: any) => getBranchData(res), val, bankNameOnIFSCCode);\r\n };\r\n\r\n const getBranchData = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n const sortBranch = res.data.bankbranches.sort(dynamicSort(\"branch\"));\r\n setBranchList(sortBranch);\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n function dynamicSort(property: string) {\r\n var sortOrder = 1;\r\n\r\n if (property[0] === \"-\") {\r\n sortOrder = -1;\r\n property = property.substr(1);\r\n }\r\n\r\n return function (a: any, b: any) {\r\n if (sortOrder == -1) {\r\n return b[property].localeCompare(a[property]);\r\n } else {\r\n return a[property].localeCompare(b[property]);\r\n }\r\n };\r\n }\r\n\r\n const handleBranchDropdown = (val: any, index: number) => {\r\n setBranchDetail(val);\r\n };\r\n\r\n const searchIFSC = (index: number) => {\r\n let values: Array = [...lists];\r\n if (\r\n bankNameOnIFSCCode &&\r\n bankCityOnIFSCCode &&\r\n branchDetail &&\r\n branchDetail.branch !== \"\"\r\n ) {\r\n setHideSearch(false);\r\n }\r\n };\r\n\r\n const closeSearchModal = (index: number) => {\r\n setBankCityOnIFSCCode(\"\");\r\n setBankNameOnIFSCCode(\"\");\r\n setHideSearch(!hideSearch);\r\n };\r\n\r\n const handleSelect = (index: number, selectedBranch: any) => {\r\n let values: Array = [...lists];\r\n if (selectedBranch) {\r\n values[index].branch = selectedBranch.branch;\r\n values[index].bankaddr1 = selectedBranch.branch;\r\n values[index].ifsccode = selectedBranch.ifsccode;\r\n values[index].micr = selectedBranch.micr;\r\n values[index].bankname = bankNameOnIFSCCode;\r\n values[index].bankcity = bankCityOnIFSCCode;\r\n const reMICR = [\r\n {\r\n value: (index + 1).toString(),\r\n name: selectedBranch.micr,\r\n },\r\n ];\r\n values[index].micrcodeList = reMICR;\r\n setLists(values);\r\n setIfscModalFlag(false);\r\n }\r\n };\r\n\r\n const checkDisabled = () => {\r\n if (\r\n Object.values(accountnoErrors).includes(\r\n \"SBI account number has more than 10 digits\"\r\n ) ||\r\n noBankFound\r\n ) {\r\n return true;\r\n } else if (\r\n lists[lists.length - 1].bankdetailsid !== 0 ||\r\n (lists[lists.length - 1].accountno !== \"\" &&\r\n lists[lists.length - 1].reaccountno !== \"\" &&\r\n lists[lists.length - 1].accountno.length !== 1 &&\r\n lists[lists.length - 1].reaccountno.length !== 1 &&\r\n // accountnoErrors[accountnoErrors.length - 1] !== 'Account numbers entered do not match' &&\r\n accountnoErrors[accountnoErrors.length - 1] !==\r\n \"Bank inputs do not match\" &&\r\n accountnoErrors[accountnoErrors.length - 1] !==\r\n \"SBI account number has more than 10 digits\" &&\r\n lists[lists.length - 1].ifsccode !== \"\") ||\r\n !noBankFound\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const checkAddAnotherBankDisabled = () => {\r\n if (lists.length >= 5) {\r\n return true;\r\n } else if (\r\n lists[lists.length - 1].bankdetailsid !== 0 ||\r\n (lists[lists.length - 1].accountno !== \"\" &&\r\n lists[lists.length - 1].reaccountno !== \"\" &&\r\n lists[lists.length - 1].accountno.length !== 1 &&\r\n lists[lists.length - 1].reaccountno.length !== 1 &&\r\n lists[lists.length - 1].ifsccode !== \"\")\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n const removeBank = (i: number) => {\r\n let removeLast: Array = [...lists];\r\n removeLast = lists.slice(0, lists.length - 1);\r\n setLists(removeLast);\r\n };\r\n\r\n console.log(\"lists\", lists);\r\n\r\n return (\r\n
\r\n
\r\n closeSample()}\r\n >\r\n
\r\n \"micr\"\r\n
\r\n \r\n {/* */}\r\n\r\n {lists.map((list, index: number) => {\r\n return (\r\n
\r\n
\r\n closeIFSC()}\r\n >\r\n {hideSearch ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handlebanknameDropdown(\r\n val[\"bankname\"] as string,\r\n index\r\n )\r\n }\r\n />\r\n
\r\n
\r\n \r\n \r\n handleCityDropdown(val[\"bankcity\"] as string, index)\r\n }\r\n />\r\n
\r\n
\r\n \r\n \r\n handleBranchDropdown(val, index)\r\n }\r\n />\r\n
\r\n
\r\n searchIFSC(index)}\r\n btnName=\"Search\"\r\n />\r\n
\r\n
\r\n closeIFSC()}\r\n btnName=\"Cancel\"\r\n />\r\n
\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\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 handleSelect(index, branchDetail)}\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n closeSearchModal(index)}\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 handleTag(\"bankacctype\", index, val)}\r\n />\r\n
\r\n
\r\n \r\n handleChange(\"accountno\", index, val)}\r\n disabled={list.bankdetailsid !== 0}\r\n placeholder=\"Eg. 18273946573849\"\r\n name=\"accountno\"\r\n maxLength={18}\r\n min={isSbi ? 10 : 6}\r\n integer={true}\r\n type=\"password\"\r\n defaultValue={list.accountno}\r\n />\r\n
\r\n\r\n
\r\n \r\n handleChange(\"reaccountno\", index, val)}\r\n onBlur={(val) => checkMatch(index, val)}\r\n errorText={accountnoErrors[index]}\r\n disabled={list.bankdetailsid !== 0}\r\n placeholder=\"Eg. 18273946573849\"\r\n name=\"reaccountno\"\r\n maxLength={18}\r\n min={isSbi ? 10 : 6}\r\n integer={true}\r\n defaultValue={list.reaccountno}\r\n />\r\n
\r\n {showPennyDropModal ? (\r\n \r\n \r\n

Penny drop validation

\r\n
\r\n \r\n
We are crediting account with Rs. 1
\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 IFSC Code\r\n openIfscModal(index)}\r\n >\r\n Search IFSC Code\r\n \r\n \r\n handleChange(\"ifsccode\", index, val)}\r\n onBlur={() => {}}\r\n disabled={list.bankdetailsid !== 0}\r\n placeholder=\"Eg. HDFC0000234\"\r\n name=\"ifsccode\"\r\n maxLength={11}\r\n defaultValue={list.ifsccode}\r\n isCaps\r\n />\r\n
\r\n {list.bankname && (\r\n
\r\n

\r\n {list.bankname}\r\n {\", \" + list.bankcity}\r\n {\", \" + list.state}\r\n

\r\n
\r\n )}\r\n\r\n {(list.micr || list.micrcodeList.length > 1) && (\r\n
\r\n \r\n 1\r\n }\r\n onOptionSelect={(val) =>\r\n handleDropdown(val[\"name\"] as string, index)\r\n }\r\n />\r\n
\r\n )}\r\n\r\n {index !== 0 ? (\r\n
\r\n \r\n
\r\n \r\n handleDefaultAccount(\r\n \"isdefaultaccount\",\r\n index,\r\n !lists[index].isdefaultaccount\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 {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n
\r\n handleAddForm()}\r\n />\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n {/* */}\r\n {/* {\r\n showMandate &&\r\n \r\n } */}\r\n \r\n );\r\n};\r\n\r\nexport default BankForm;\r\n","import React from 'react';\r\nimport './BankHome.scss';\r\nimport BankForm from \"../BankForm/BankForm\";\r\nimport cleverTapEvents from '../../../config/cleverTapEvents';\r\nimport useQuery from '../../../customHooks/useQuery';\r\nimport { ClevertapService } from '../../Services/clevertapService';\r\nimport GlobalStore from '../../store/globalStore';\r\n\r\nexport interface BankHomeProps {\r\n\r\n}\r\n\r\nconst BankHome: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get('utm_source') ? quryParams.get('utm_source') : '';\r\n const UTM_MEDIUM = quryParams.get('utm_medium') ? quryParams.get('utm_medium') : '';\r\n const UTM_CAMPAIGN = quryParams.get('utm_campaign') ? quryParams.get('utm_campaign') : '';\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem('stageInfoId', '2');\r\n }, []);\r\n\r\n // Clervertap event: Bank screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.bankPage.PAGE_LOAD,\r\n InitiationPlatform: '',\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n Bank Details\r\n
\r\n
\r\n Provide your bank details through which you would like to conduct transactions.\r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default BankHome;","import * as React from 'react';\r\nimport { Component } from 'react';\r\nimport Backdrop from '../Backdrop/Backdrop';\r\nimport './PdfContainer.scss';\r\n\r\nexport interface PdfContainerProps {\r\n src: any;\r\n onClose?: () => void;\r\n showModal: boolean;\r\n}\r\n\r\nconst PdfContainer: React.FC = (props) => {\r\n return (\r\n \r\n \r\n \r\n\r\n );\r\n}\r\n\r\nexport default PdfContainer;","import React, { useState } from \"react\";\r\nimport Backdrop, { FullBackdrop } from \"../UI/Backdrop/Backdrop\";\r\nimport \"./SelectPlan.scss\";\r\nimport Button, {\r\n SubmitButton,\r\n TransparentButton,\r\n Verify,\r\n} from \"../../components/UI/Button/Button\";\r\nimport planOne from \"../../assets/icons/new_lite.png\";\r\nimport mobPlanOne from \"../../assets/icons/mob_new_lite.png\";\r\nimport planTwo from \"../../assets/icons/new_elite.png\";\r\nimport mobPlanTwo from \"../../assets/icons/mob_new_elite.png\";\r\nimport arrowPoint from \"../../assets/icons/arrow_point.png\";\r\nimport Toggle from \"../UI/Toggle/Toggle\";\r\nimport Checkbox from \"../UI/Checkbox/Checkbox\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\nimport {\r\n incomeProofList,\r\n dashboardUrl,\r\n edelweissElite,\r\n edelweissLite,\r\n} from \"../utils/constants\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../UI/DocumentBrowse/DocumentBrowse\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport { AGetEmployeeByPan } from \"../Services/registration/panDobApiService\";\r\nimport DropdownSearch from \"../UI/DropdownSearch/DropdownSearch\";\r\nimport {\r\n AGetBrokerage,\r\n AGetBrokerageDetails,\r\n ASaveBrokerageDetails,\r\n AGetBrokerageSegmentDetails,\r\n ASaveBrokerageSegmentDetiails,\r\n AUploadDocument,\r\n} from \"../Services/dashboard/brokerageServices\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport PdfContainer from \"../UI/PdfContainer/PdfContainer\";\r\nimport bp from \"../../assets/pdf/T&C_BrokeragePlan.pdf\";\r\nimport SMTF_PDF from \"../../assets/pdf/SMTF.pdf\";\r\nimport ao from \"../../assets/pdf/NWIL-Booklet-A5-Nov 2022.pdf\";\r\nimport dc from \"../../assets/pdf/Disclaimer_DIY.pdf\";\r\nimport {\r\n ADownloadDocument,\r\n AGetUploadedDocument,\r\n ASaveDocumentDetails,\r\n} from \"../Services/dashboard/docVerificationAPIServices\";\r\nimport {\r\n completeModuleStatus,\r\n utmDurationInfoObj,\r\n incompleteStageNavigation,\r\n} from \"../Services/globalService\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { ACheckClientProfilingData } from \"../Services/dashboard/profilerApiServices\";\r\nimport { AGetStageCompletionStatus } from \"../Services/registration/continueApiService\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nimport { errorMessage } from \"../utils/errorMessage\";\r\nimport config from \"../../config/domain\";\r\nimport { pan } from \"../utils/regex\";\r\nimport { errorCode, errorMsg } from \"../../ErrorCode/ErrorCode\";\r\nimport { checkESignSubmitted } from \"../utils/eSignSubmitHandler\";\r\n\r\nexport interface SelectPlanprops {}\r\n\r\nexport const initialDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: true,\r\n uploadPer: 0,\r\n hideProgress: true,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentCategoryId: \"8\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n};\r\n\r\nconst SelectPlan: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [eliteCard, setEliteCard] = useState(false);\r\n const [liteCard, setLiteCard] = useState(false);\r\n const [liteData, setliteData] = useState();\r\n const [eliteData, setEliteData] = useState();\r\n const [openPlanModal, setOpenPlanModal] = useState(false);\r\n const [showModal, setShowModal] = useState(false);\r\n const [segTog, setSegTog] = useState(false);\r\n const [checkedDerNSE, setCheckedDerNSE] = useState(false);\r\n const [checkedCurrNSE, setCheckedCurrNSE] = useState(false);\r\n const [termOne, setTermOne] = useState(true);\r\n const [checkedComMCXnNCXDX, setCheckedComMCXnNCXDX] =\r\n useState(false);\r\n const [termTwo, setTermTwo] = useState(false);\r\n const [termThree, setTermThree] = useState(false);\r\n const [isLite, setIsLite] = useState(true);\r\n const [isElite, setIsElite] = useState(false);\r\n const [openLite, setOpenLite] = useState(false);\r\n const [isEmployee, setIsEmployee] = useState(false);\r\n const [isUpload, setIsUpload] = useState(true);\r\n const [errCode, setErrCode] = React.useState();\r\n const [showPdfModal, setShowPdfModal] = useState(false);\r\n const [pdfName, setPdfName] = useState();\r\n const [incomeObj, setIncomeObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [defaultIncomeDoc, setDefaultIncomeDoc] = useState(\"\");\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const history = useHistory();\r\n const [liteResponse, setliteResponse] = React.useState>([]);\r\n const [eliteResponse, setEliteResponse] = React.useState>([]);\r\n const [active, setActive] = React.useState(false);\r\n const [showPopup, setShowPopup] = React.useState(false);\r\n const [incomeProofErr, setIncomeProofErr] = React.useState(\"\");\r\n const [accountType, setAccountType] = React.useState(\r\n GlobalStore.stageStatus.dpaccounttype\r\n );\r\n const [accTypeToggle, setAccTypeToggle] = React.useState(false);\r\n const [accountTypeChangeCount, setAccountTypeChangeCount] =\r\n React.useState(0);\r\n const [SMTF, setSMTF] = useState(true); //Added By Ravi\r\n const [isEmployeePAN, setisEmployeePAN] = useState(false); //Added By Ravi\r\n\r\n const [checkedEquityCashNSEBSE, setCheckedEquityCashNSEBSE] =\r\n useState(true);\r\n const [checkedMutualFundsBSE, setCheckedMutualFundsBSE] =\r\n useState(true);\r\n const [checkedDebtFundsNSEBSE, setCheckedDebtFundsNSEBSE] =\r\n useState(true);\r\n const [NoSegSelected, setNoSegSelected] = useState(false);\r\n const [eSignSummited, setESignSummited] = useState(false);\r\n\r\n React.useEffect(() => {\r\n window.scrollTo(0, 0);\r\n window.sessionStorage.setItem(\"stageInfoId\", \"5\");\r\n setESignSummited(checkESignSubmitted(GlobalStore.applicationID));\r\n setIsLoading(true);\r\n AGetBrokerage(getBrokerage, GlobalStore.applicationID);\r\n AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID);\r\n AGetBrokerageDetails(getBrokerageDetails, GlobalStore.applicationID);\r\n AGetBrokerageSegmentDetails(\r\n getBrokerageSegmentDetailsRes,\r\n GlobalStore.applicationID\r\n );\r\n\r\n const panFromLocalStorage = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let panNum = \"\";\r\n if (\r\n GlobalStore.personaldetails.pan != undefined ||\r\n GlobalStore.personaldetails.pan != \"\"\r\n ) {\r\n panNum = GlobalStore.personaldetails.pan;\r\n } else if (panFromLocalStorage.pan != \"\") {\r\n panNum = panFromLocalStorage.pan != \"\" ? panFromLocalStorage.pan : \"\";\r\n }\r\n let isValidPan = pan.test(panNum);\r\n if (isValidPan) {\r\n AGetEmployeeByPan(checkIsPanEmployee, panNum);\r\n }\r\n AGetStageCompletionStatus(getClientStageDetails, GlobalStore.applicationID);\r\n }, []);\r\n\r\n // Clervertap event: Plan screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.planPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(155);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const response = JSON.parse(res.data);\r\n if (response.isbrokerageschemecompleted) {\r\n setTermOne(true);\r\n setTermTwo(true);\r\n setTermThree(true);\r\n }\r\n }\r\n }\r\n }\r\n function getBrokerage(res: any) {\r\n if (!res || res.error) {\r\n //setErrCode(155);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n if (\r\n res.data.Liteplan != null &&\r\n Object.keys(res.data.Liteplan).length !== 0\r\n ) {\r\n setliteData(res.data.Liteplan);\r\n }\r\n if (\r\n res.data.Eliteplan != null &&\r\n Object.keys(res.data.Eliteplan).length !== 0\r\n ) {\r\n setEliteData(res.data.Eliteplan);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function getBrokerageDetails(res: any) {\r\n if (!res || res.error) {\r\n //setErrCode(159325);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const resdata = res.data.brokerageDetails;\r\n const liteResdata = resdata.filter(\r\n (x: any) => x.ct_display_name === edelweissLite\r\n );\r\n const eliteResData = resdata.filter(\r\n (x: any) => x.ct_display_name === edelweissElite\r\n );\r\n liteResdata ? setliteResponse(liteResdata) : setliteResponse([]);\r\n eliteResData ? setEliteResponse(eliteResData) : setEliteResponse([]);\r\n if (liteResdata[0]?.is_selected_scheme) {\r\n setIsLite(true);\r\n setIsElite(false);\r\n setEliteCard(false);\r\n setLiteCard(true);\r\n } else if (eliteResData[0]?.is_selected_scheme) {\r\n setIsLite(false);\r\n setIsElite(true);\r\n setEliteCard(true);\r\n setLiteCard(false);\r\n } else if (liteResdata.length > 0) {\r\n setIsLite(true);\r\n setIsElite(false);\r\n setEliteCard(false);\r\n setLiteCard(true);\r\n } else if (eliteResData.length > 0) {\r\n setIsLite(false);\r\n setIsElite(true);\r\n setEliteCard(true);\r\n setLiteCard(false);\r\n } else {\r\n setIsLite(true);\r\n setIsElite(false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function getBrokerageSegmentDetailsRes(res: any) {\r\n if (!res || res.error) {\r\n //setErrCode(15500);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n setCheckedComMCXnNCXDX(false);\r\n //setCheckedEquityCashNSEBSE(false);\r\n //setCheckedMutualFundsBSE(false);\r\n setCheckedDebtFundsNSEBSE(false);\r\n\r\n const ischeckedData = res.data.dbelist.filter(\r\n (item: any) => item.Checked === true\r\n );\r\n if (ischeckedData.length > 0) {\r\n setSMTF(ischeckedData[0].SMTF); //Added By Ravi\r\n }\r\n\r\n if (\r\n ischeckedData.map((item: any) => {\r\n if (item.CBEList === \"EBL-EQ-N\") {\r\n setCheckedEquityCashNSEBSE(item.Checked);\r\n } else if (item.CBEList === \"EBL-MF-BSE\") {\r\n setCheckedMutualFundsBSE(item.Checked);\r\n } else if (item.CBEList === \"EBL-Debt-NSE\") {\r\n setCheckedDebtFundsNSEBSE(item.Checked);\r\n } else if (item.CBEList === \"EBL-FO-N\") {\r\n setCheckedDerNSE(true);\r\n setSegTog(true);\r\n } else if (item.CBEList === \"EBL-CDS-N\") {\r\n setCheckedCurrNSE(true);\r\n setSegTog(true);\r\n } else if (\r\n item.CBEList === \"CX-NCDEX\" ||\r\n item.CBEList === \"CX-MCX\"\r\n ) {\r\n setCheckedComMCXnNCXDX(true);\r\n setSegTog(true);\r\n }\r\n })\r\n ) {\r\n }\r\n }\r\n }\r\n }\r\n\r\n function checkIsPanEmployee(res: any) {\r\n if (!res || res.error) {\r\n // AIsPANExists(isPANExists, values.pan)\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseDataObj = res.data;\r\n if (responseDataObj.result.Flag === \"Y\") {\r\n setIsEmployee(false);\r\n setIsElite(true);\r\n setSMTF(false); //Added By Ravi\r\n setisEmployeePAN(true); //Added By Ravi\r\n } else {\r\n setIsEmployee(true);\r\n setisEmployeePAN(false); //Added By Ravi\r\n }\r\n } else {\r\n // AIsPANExists(isPANExists, values.pan)\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n const getUploadedDoc = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(15514);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else if (res.data && res.data !== \"Record Not Found\") {\r\n const uplDoc = JSON.parse(res.data);\r\n const isIncomeProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Income Proof\"\r\n );\r\n if (isIncomeProof.length > 0) {\r\n if (isIncomeProof[0].DocumentName === \"Form 16\") {\r\n setDefaultIncomeDoc(\"Form 16\");\r\n } else if (isIncomeProof[0].DocumentName === \"Salary Slip\") {\r\n setDefaultIncomeDoc(\"Salary Slip\");\r\n } else if (isIncomeProof[0].DocumentName === \"ITR Acknowledgement\") {\r\n setDefaultIncomeDoc(\"ITR Acknowledgement\");\r\n } else if (isIncomeProof[0].DocumentName === \"Bank Statement\") {\r\n setDefaultIncomeDoc(\"Bank Statement\");\r\n } else if (\r\n isIncomeProof[0].DocumentName === \"Demat Holding Statement\"\r\n ) {\r\n setDefaultIncomeDoc(\"Demat Holding Statement\");\r\n } else if (isIncomeProof[0].DocumentName === \"Networth Certificate\") {\r\n setDefaultIncomeDoc(\"Networth Certificate\");\r\n }\r\n incomeObj.id = \"incomeDoc\";\r\n incomeObj.disable = false;\r\n incomeObj.uploadPer = 100;\r\n incomeObj.hideProgress = true;\r\n incomeObj.fileName = isIncomeProof[0].FileName;\r\n incomeObj.showFile = false;\r\n incomeObj.hideProgress = false;\r\n incomeObj.mimeType = isIncomeProof[0].MimeType;\r\n incomeObj.documentId = isIncomeProof[0].DocumentId;\r\n setIncomeObj(incomeObj);\r\n ADownloadDocument(\r\n getIncomeImage,\r\n isIncomeProof[0].FileName,\r\n isIncomeProof[0].UploadedDocPath\r\n );\r\n }\r\n } else if (!res || res.error || res.data === \"Record Not Found\") {\r\n setErrCode(res.error);\r\n } else {\r\n setIncomeObj(incomeObj);\r\n }\r\n };\r\n\r\n const getIncomeImage = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"162 - Failed to fetch the document.\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n const base64 = \"data:image/jpg;base64,\" + res.data.base64document;\r\n let fetchImage = { ...incomeObj };\r\n fetchImage.imgUrl = base64;\r\n setIncomeObj(fetchImage);\r\n }\r\n }\r\n };\r\n function dropDownBlur(value: any) {\r\n typeof value !== \"object\"\r\n ? setIncomeProofErr(errorMsg(errorCode.FE20))\r\n : setIncomeProofErr(\"\");\r\n }\r\n\r\n const handleIncomeProof = (val: any) => {\r\n //val.preventDefault();\r\n if (val !== \"\") {\r\n incomeObj.disable = false;\r\n incomeObj.documentId = val.documentid;\r\n setIncomeObj(incomeObj);\r\n setDefaultIncomeDoc(val.documentname);\r\n }\r\n };\r\n\r\n function onIncomeUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n incomeObj.imgUrl = \"\";\r\n\r\n setIncomeObj(incomeObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(getUploadRes, uploadObj, (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let changeIncomeObj = { ...incomeObj };\r\n if (percentage < 100) {\r\n if (id === \"incomeProof\") {\r\n changeIncomeObj.id = id;\r\n changeIncomeObj.disable = false;\r\n changeIncomeObj.uploadPer = percentage;\r\n changeIncomeObj.showFile = false;\r\n changeIncomeObj.hideProgress = true;\r\n setIncomeObj(changeIncomeObj);\r\n }\r\n } else if (percentage === 100) {\r\n if (id === \"incomeProof\") {\r\n changeIncomeObj.id = id;\r\n changeIncomeObj.disable = false;\r\n changeIncomeObj.uploadPer = percentage;\r\n changeIncomeObj.showFile = false;\r\n changeIncomeObj.hideProgress = false;\r\n changeIncomeObj.mimeType = type;\r\n changeIncomeObj.fileName = fileName;\r\n setIncomeObj(changeIncomeObj);\r\n setActive(false);\r\n }\r\n }\r\n };\r\n\r\n const getUploadRes = (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode('150- Error in uploading the file.');\r\n // setErrCode(\"Document Uploaded is invalid. Upload correct document.\");\r\n setErrCode(res.error);\r\n } else if (res.data && res.data.Result) {\r\n setIsLoading(false);\r\n let updateIncomeObj = { ...incomeObj };\r\n let saveDetails = [];\r\n let saveIncomeObj = {\r\n documentCategoryId: updateIncomeObj.documentCategoryId,\r\n documentId: updateIncomeObj.documentId,\r\n documentexpirydate: \"\",\r\n fileName: res.data.Guid,\r\n isfilecropped: true,\r\n mimeType: res.data.Guid.split(\".\")[1],\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n };\r\n saveDetails.push(saveIncomeObj);\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n ASaveDocumentDetails(saveIncome, saveObj);\r\n } else {\r\n // setErrCode('150- Error in uploading the file.');\r\n setErrCode(res.error);\r\n }\r\n };\r\n\r\n const saveIncome = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n }\r\n }\r\n };\r\n\r\n const closeCharges = () => {\r\n setShowModal(false);\r\n setOpenPlanModal(false);\r\n };\r\n\r\n const openCharges = (val: string) => {\r\n if (val === \"lite\") {\r\n setOpenLite(true);\r\n } else if (val === \"elite\") {\r\n setOpenLite(false);\r\n }\r\n setShowModal(true);\r\n setOpenPlanModal(true);\r\n };\r\n\r\n const openPDF = (fileName: any) => {\r\n setPdfName(fileName);\r\n setShowPdfModal(true);\r\n };\r\n\r\n const handleTog = () => {\r\n setSegTog(!segTog);\r\n if (segTog === false) {\r\n setCheckedDerNSE(true);\r\n setCheckedCurrNSE(true);\r\n setCheckedComMCXnNCXDX(true);\r\n } else if (segTog === true) {\r\n setCheckedDerNSE(false);\r\n setCheckedCurrNSE(false);\r\n setCheckedComMCXnNCXDX(false);\r\n }\r\n };\r\n\r\n // const showInfo = (e: any) => {\r\n // e.preventDefault();\r\n // setShowPopup(true);\r\n // };\r\n\r\n // const closePopup = () => {\r\n // setShowPopup(false);\r\n // handleSubmit();\r\n // };\r\n\r\n const handleSubmit = (e: any) => {\r\n if (\r\n !checkedEquityCashNSEBSE &&\r\n !checkedMutualFundsBSE &&\r\n !checkedDebtFundsNSEBSE &&\r\n !checkedDerNSE &&\r\n !checkedCurrNSE &&\r\n !checkedComMCXnNCXDX\r\n ) {\r\n setNoSegSelected(true);\r\n } else {\r\n setIsLoading(true);\r\n e.preventDefault();\r\n setShowPopup(true);\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"productsdur\");\r\n if (isElite && eliteResponse.length > 0) {\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n cash: true,\r\n cashDeliveryActual: eliteResponse[0].cash_delivery_std,\r\n cashDeliveryMin: eliteResponse[0].cash_delivery_min,\r\n cashDeliverySide: \"BOTH\",\r\n cashIntradayActual: eliteResponse[0].cash_intraday_std,\r\n cashIntradayMin: eliteResponse[0].cash_intraday_min,\r\n cashIntradaySide: \"BOTH\",\r\n cds: true,\r\n cdsFutureActual: eliteResponse[0].cds_future_std,\r\n cdsFutureMin: eliteResponse[0].cds_future_min,\r\n cdsFutureSide: \"BOTH\",\r\n cdsOptionActual: eliteResponse[0].cds_options_std,\r\n cdsOptionSide: \"BOTH\",\r\n cdsOptionsMin: eliteResponse[0].cds_options_min,\r\n cdsBrokCode: \"\",\r\n clientPrimaryDetailId:\r\n parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n clientType: \"\",\r\n cxBrokCode: \"\",\r\n eqBrokCode: \"\",\r\n fo: true,\r\n foFutureActual: eliteResponse[0].fo_future_std,\r\n foFutureMin: eliteResponse[0].fo_future_min,\r\n foFutureSide: \"BOTH\",\r\n foOptionActual: eliteResponse[0].cds_options_std,\r\n foOptionSide: \"BOTH\",\r\n foOptionsMin: eliteResponse[0].cds_options_min,\r\n foBrokCode: \"\",\r\n isActive: true,\r\n isStandard: true,\r\n leadId: GlobalStore.leadId,\r\n objUTMInfo: objUTM_Info,\r\n schemeName: \"\",\r\n schemeId: eliteResponse[0].scheme_id,\r\n };\r\n // const saveObj = {\r\n // applicationId: GlobalStore.applicationID,\r\n // cash: true,\r\n // cash_Delivery_Actual: eliteResponse[0].cash_delivery_std,\r\n // cash_Delivery_Min: eliteResponse[0].cash_delivery_min,\r\n // cash_Delivery_Side: \"BOTH\",\r\n // cash_Intraday_Actual: eliteResponse[0].cash_intraday_std,\r\n // cash_Intraday_Min: eliteResponse[0].cash_intraday_min,\r\n // cash_Intraday_Side: \"BOTH\",\r\n // cds: true,\r\n // cds_Future_Actual: eliteResponse[0].cds_future_std,\r\n // cds_Future_Min: eliteResponse[0].cds_future_min,\r\n // cds_Future_Side: \"BOTH\",\r\n // cds_Option_Actual: eliteResponse[0].cds_options_std,\r\n // cds_Option_Side: \"BOTH\",\r\n // cds_options_min: eliteResponse[0].cds_options_min,\r\n // cdsbrokcode: \"\",\r\n // clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n // clienttype: \"\",\r\n // cxbrokcode: \"\",\r\n // eqbrokcode: \"\",\r\n // fo: true,\r\n // fo_Future_Actual: eliteResponse[0].fo_future_std,\r\n // fo_Future_Min: eliteResponse[0].fo_future_min,\r\n // fo_Future_Side: \"BOTH\",\r\n // fo_Option_Actual: eliteResponse[0].cds_options_std,\r\n // fo_Option_Side: \"BOTH\",\r\n // fo_options_min: eliteResponse[0].cds_options_min,\r\n // fobrokcode: \"\",\r\n // is_active: true,\r\n // isstandard: true,\r\n // leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n // scheme_name: \"\",\r\n // schemeid: eliteResponse[0].scheme_id,\r\n // };\r\n ASaveBrokerageDetails(saveBrokerageDetailsRes, saveObj);\r\n } else if (isLite && liteResponse.length > 0) {\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n cash: true,\r\n cashDeliveryActual: liteResponse[0].cash_delivery_std,\r\n cashDeliveryMin: liteResponse[0].cash_delivery_min,\r\n cashDeliverySide: \"BOTH\",\r\n cashIntradayActual: liteResponse[0].cash_intraday_std,\r\n cashIntradayMin: liteResponse[0].cash_intraday_min,\r\n cashIntradaySide: \"BOTH\",\r\n cds: true,\r\n cdsFutureActual: liteResponse[0].cds_future_std,\r\n cdsFutureMin: liteResponse[0].cds_future_min,\r\n cdsFutureSide: \"BOTH\",\r\n cdsOptionActual: liteResponse[0].cds_options_std,\r\n cdsOptionSide: \"BOTH\",\r\n cdsOptionsMin: liteResponse[0].cds_options_min,\r\n cdsBrokCode: \"\",\r\n clientPrimaryDetailId:\r\n parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n clientType: \"\",\r\n cxBrokCode: \"\",\r\n eqBrokCode: \"\",\r\n fo: true,\r\n foFutureActual: liteResponse[0].fo_future_std,\r\n foFutureMin: liteResponse[0].fo_future_min,\r\n foFutureSide: \"BOTH\",\r\n foOptionActual: liteResponse[0].fo_options_std,\r\n foOptionSide: \"BOTH\",\r\n foOptionsMin: liteResponse[0].fo_options_min,\r\n foBrokCode: \"\",\r\n isActive: true,\r\n isStandard: true,\r\n leadId: GlobalStore.leadId,\r\n objUTMInfo: objUTM_Info,\r\n schemeName: \"\",\r\n schemeId: liteResponse[0].scheme_id,\r\n };\r\n // const saveObj = {\r\n // applicationid: GlobalStore.applicationID,\r\n // cash: true,\r\n // cash_Delivery_Actual: liteResponse[0].cash_delivery_std,\r\n // cash_Delivery_Min: liteResponse[0].cash_delivery_min,\r\n // cash_Delivery_Side: \"BOTH\",\r\n // cash_Intraday_Actual: liteResponse[0].cash_intraday_std,\r\n // cash_Intraday_Min: liteResponse[0].cash_intraday_min,\r\n // cash_Intraday_Side: \"BOTH\",\r\n // cds: true,\r\n // cds_Future_Actual: liteResponse[0].cds_future_std,\r\n // cds_Future_Min: liteResponse[0].cds_future_min,\r\n // cds_Future_Side: \"BOTH\",\r\n // cds_Option_Actual: liteResponse[0].cds_options_std,\r\n // cds_Option_Side: \"BOTH\",\r\n // cds_options_min: liteResponse[0].cds_options_min,\r\n // cdsbrokcode: \"\",\r\n // clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n // clienttype: \"\",\r\n // cxbrokcode: \"\",\r\n // eqbrokcode: \"\",\r\n // fo: true,\r\n // fo_Future_Actual: liteResponse[0].fo_future_std,\r\n // fo_Future_Min: liteResponse[0].fo_future_min,\r\n // fo_Future_Side: \"BOTH\",\r\n // fo_Option_Actual: liteResponse[0].fo_options_std,\r\n // fo_Option_Side: \"BOTH\",\r\n // fo_options_min: liteResponse[0].fo_options_min,\r\n // fobrokcode: \"\",\r\n // is_active: true,\r\n // isstandard: true,\r\n // leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n // scheme_name: \"\",\r\n // schemeid: liteResponse[0].scheme_id,\r\n // };\r\n ASaveBrokerageDetails(saveBrokerageDetailsRes, saveObj);\r\n }\r\n }\r\n };\r\n\r\n function saveBrokerageDetailsRes(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('157- Failed to save brokerage details.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n // Clevertap event: Select plan\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.planPage.CLICK_ON_SUBMIT_SELECTED_PLAN,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n PLAN_SELECTED: \"\",\r\n };\r\n\r\n if (isElite && eliteResponse.length > 0) {\r\n data[\"PLAN_SELECTED\"] = \"ELITE\";\r\n } else if (isLite && liteResponse.length > 0) {\r\n data[\"PLAN_SELECTED\"] = \"LITE\";\r\n }\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on plan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.planPage.CLICK_ON_SUBMIT_SELECTED_PLAN\r\n );\r\n\r\n const CBEListVM = [\r\n {\r\n cbeList_Value: \"12111100\",\r\n cbeList: \"EBL-EQ-N\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n //checked: checkedEquityCashNSEBSE,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"12111200\",\r\n cbeList: \"EBL-EQ-B\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n //checked: checkedEquityCashNSEBSE,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"12201200\",\r\n cbeList: \"EBL-MF-BSE\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n //checked: checkedMutualFundsBSE,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"12161100\",\r\n cbeList: \"EBL-Debt-NSE\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedDebtFundsNSEBSE,\r\n },\r\n {\r\n cbeList_Value: \"12161200\",\r\n cbeList: \"EBL-Debt-BSE\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedDebtFundsNSEBSE,\r\n },\r\n {\r\n cbeList_Value: \"12121100\",\r\n cbeList: \"EBL-FO-N\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedDerNSE,\r\n },\r\n {\r\n cbeList_Value: \"12131100\",\r\n cbeList: \"EBL-CDS-N\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedCurrNSE,\r\n },\r\n {\r\n cbeList_Value: \"12717200\",\r\n cbeList: \"EBL-KRA-CVL\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n },\r\n {\r\n cbeList_Value: \"12717300\",\r\n cbeList: \"EBL-CKYCR\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n },\r\n // according to new BRS\\\r\n {\r\n cbeList_Value: \"12141600\",\r\n cbeList: \"CX-NCDEX\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedComMCXnNCXDX,\r\n // checked: false,\r\n },\r\n {\r\n cbeList_Value: \"12141700\",\r\n cbeList: \"CX-MCX\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: checkedComMCXnNCXDX,\r\n // checked: false,\r\n },\r\n ];\r\n if (accountType == 1) {\r\n CBEListVM.push({\r\n cbeList_Value: \"63616200\",\r\n cbeList: \"ESLDP_CDSL\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n });\r\n } else {\r\n CBEListVM.push({\r\n cbeList_Value: \"62616100\",\r\n cbeList: \"ESLDP_NSDL\",\r\n cbeListName: \"\",\r\n isReadOnly: true,\r\n checked: true,\r\n });\r\n }\r\n\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"segmentsdur\");\r\n const saveSegData = {\r\n applicationid: GlobalStore.applicationID,\r\n bankcbe: \"\",\r\n cbelistVM: CBEListVM,\r\n clientprimarydetailid:\r\n parseInt(GlobalStore.clientPrimaryDetailId) || 0,\r\n leadid: GlobalStore.leadId,\r\n createddate: \"\",\r\n objUTM_Info: objUTM_Info,\r\n //sebi_mtf: true,\r\n sebi_mtf: SMTF, //Added By Ravi\r\n changeDematAccountType:\r\n GlobalStore.stageStatus.dpaccounttype === accountType\r\n ? false\r\n : true,\r\n dematAccountType: accountType,\r\n };\r\n ASaveBrokerageSegmentDetiails(saveBrokerageSegDetailsRes, saveSegData);\r\n } else {\r\n // setErrCode('157- Failed to save brokerage details.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n }\r\n\r\n function saveBrokerageSegDetailsRes(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('156- Failed to save brokerage segment details.');\r\n setErrCode(res.error);\r\n // setErrCode(errorMessage.saveBrokerageSegDetailsRes);\r\n } else {\r\n if (res.data) {\r\n completeModuleStatus(dashboardUrl.plan);\r\n gtmService({\r\n action: \"PLAN_SEGMENT\",\r\n label: `Step_Complete | ${isLite ? \"LITE\" : \"ELITE\"}`,\r\n });\r\n\r\n ACheckClientProfilingData(\r\n getResForNav,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n } else {\r\n // setErrCode('156- Failed to save brokerage segment details.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n const getResForNav = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode('156- Failed to fetch client profiling data.');\r\n // setErrCode(errorMessage.saveBrokerageSegDetailsRes);\r\n setErrCode(res.error);\r\n } else {\r\n history.push(incompleteStageNavigation());\r\n }\r\n };\r\n\r\n const handleEquityCashNSEBSE = () => {\r\n setCheckedEquityCashNSEBSE(!checkedEquityCashNSEBSE);\r\n setNoSegSelected(false);\r\n };\r\n\r\n const handleMutualFundsBSE = () => {\r\n setCheckedMutualFundsBSE(!checkedMutualFundsBSE);\r\n setNoSegSelected(false);\r\n };\r\n\r\n const handleDebtFundsNSEBSE = () => {\r\n setCheckedDebtFundsNSEBSE(!checkedDebtFundsNSEBSE);\r\n setNoSegSelected(false);\r\n };\r\n\r\n const handleDerNSE = () => {\r\n setCheckedDerNSE(!checkedDerNSE);\r\n setNoSegSelected(false);\r\n };\r\n\r\n const handleCurrNSE = () => {\r\n setCheckedCurrNSE(!checkedCurrNSE);\r\n setNoSegSelected(false);\r\n };\r\n\r\n const handleTermOne = () => {\r\n setTermOne(!termOne);\r\n };\r\n\r\n const handleTermTwo = () => {\r\n setTermTwo(!termTwo);\r\n };\r\n\r\n const handleTermThree = () => {\r\n setTermThree(!termThree);\r\n };\r\n\r\n const handleLiteTick = () => {\r\n setIsLite(true);\r\n setIsElite(false);\r\n };\r\n\r\n const handleEliteTick = () => {\r\n setIsLite(false);\r\n setIsElite(true);\r\n };\r\n\r\n const checkTNC = () => {\r\n if (segTog) {\r\n if (!(checkedDerNSE || checkedCurrNSE || checkedComMCXnNCXDX)) {\r\n setSegTog(!segTog);\r\n } else if (\r\n termOne &&\r\n !incomeObj.hideProgress &&\r\n !active &&\r\n incomeProofErr === \"\"\r\n ) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else if (!segTog && termOne) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n const handleRemove = (val: any) => {\r\n if (val.uploadPer === 0) {\r\n setActive(true);\r\n checkTNC();\r\n }\r\n };\r\n\r\n // according to new DRS\r\n const handleComNCXDX = () => {\r\n setCheckedComMCXnNCXDX(!checkedComMCXnNCXDX);\r\n };\r\n\r\n //Added By Ravi\r\n const handleSMTF = () => {\r\n setSMTF(!SMTF);\r\n };\r\n // const handleComMCX = () => {\r\n // setCheckedComMCX(!checkedComMCX);\r\n // };\r\n\r\n React.useEffect(() => {\r\n console.log(\"ACC-T = called\");\r\n if (accountTypeChangeCount !== 0) {\r\n if (accountType === 1) {\r\n setAccountType(2);\r\n } else if (accountType === 2) {\r\n setAccountType(1);\r\n }\r\n }\r\n }, [accountTypeChangeCount, accTypeToggle]);\r\n\r\n const handleTogAccountType = () => {\r\n if (accountTypeChangeCount < 2) {\r\n setAccountTypeChangeCount(accountTypeChangeCount + 1);\r\n setAccTypeToggle(!accTypeToggle);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n setShowPdfModal(false)}\r\n showModal={showPdfModal}\r\n />\r\n closeCharges()}\r\n >\r\n {DeviceContext().isDesktop ? (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Nuvama Lite Plus

\r\n

\r\n Light on pocket, rich on features\r\n

\r\n
\r\n {isLite ? (\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n ) : (\r\n
\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Nuvama Elite

\r\n

\r\n Rich on features, high on privileges\r\n

\r\n
\r\n {isElite ? (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n ) : (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Key Features

\r\n
\r\n
\r\n {liteData && liteData.KeyFeatures[0]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[0]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {liteData && liteData.KeyFeatures[1]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[1]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n {liteData && liteData.KeyFeatures[2]}\r\n
*/}\r\n
\r\n {eliteData && eliteData.KeyFeatures[2]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[3]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[4]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[5]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Broking Charges*

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Equity Delivery
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityDelivery}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityDelivery}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Equity Intraday
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityIntraday}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityIntraday}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Equity Futures
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityFutures}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityFutures}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Equity Options
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityOptions}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityOptions}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CUR Futures
\r\n
\r\n {liteData && liteData.BrokingCharges.CurFutures}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.CurFutures}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CUR Options
\r\n
\r\n {liteData && liteData.BrokingCharges.CurOptions}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.CurOptions}\r\n
\r\n
\r\n
\r\n {/*
\r\n
\r\n
Commodity Intraday
\r\n
\r\n {liteData && liteData.BrokingCharges.ComIntraday\r\n ? liteData.BrokingCharges.ComIntraday\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComIntraday\r\n ? eliteData.BrokingCharges.ComIntraday\r\n : \"00\"}\r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n
Commodity Delivery
\r\n
\r\n {liteData && liteData.BrokingCharges.ComDelivery\r\n ? liteData.BrokingCharges.ComDelivery\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComDelivery\r\n ? eliteData.BrokingCharges.ComDelivery\r\n : \"00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Commodity Futures
\r\n
\r\n {liteData && liteData.BrokingCharges.ComFuture\r\n ? liteData.BrokingCharges.ComFuture\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComFuture\r\n ? eliteData.BrokingCharges.ComFuture\r\n : \"00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Commodity Carry Forward
\r\n
\r\n {liteData && liteData.BrokingCharges.ComCarryForward\r\n ? liteData.BrokingCharges.ComCarryForward\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComCarryForward\r\n ? eliteData.BrokingCharges.ComCarryForward\r\n : \"00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Commodity Option Slab
\r\n
\r\n {liteData && liteData.BrokingCharges.ComCarryOptionSlab\r\n ? liteData.BrokingCharges.ComCarryOptionSlab\r\n : \"00\"}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.ComCarryOptionSlab\r\n ? eliteData.BrokingCharges.ComCarryOptionSlab\r\n : \"00\"}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Other Charges

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Margin / Funding (Leverage)\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.MarginFunding}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.MarginFunding}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Delayed Payment Interest (Normal)\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.DpInterestNormal}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.DpInterestNormal}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Delayed Payment Interest (MTF)\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.DpInterestMTF}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.DpInterestMTF}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Switching Charges (Only 2 switches allowed)\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.SwitchingCharges}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.SwitchingCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Manual Support

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Call and Trade (Advisory, Trading)\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.CallAndTrade}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.CallAndTrade}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
RM / Advisor
\r\n
\r\n {liteData && liteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Special Situation Trades Assistance\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.SplTrdAssistance}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.SplTrdAssistance}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Tools & Features

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Auto Collateral
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.AutoCollateral}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.AutoCollateral}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Standard Tools{\" \"}\r\n {/* Standard Tools (Watchlist, Screene₹, Alerts etc.) */}\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.StandardTools}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.StandardTools}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Advanced Charting
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.AdvancedCharting}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.AdvancedCharting}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Market Info
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.MarketInfo}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.MarketInfo}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Research
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Research}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Research}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
News
\r\n {/*
News (Live, Details)
*/}\r\n
\r\n {liteData && liteData.ToolsAndFeatures.News}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.News}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Content
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Content}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Content}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Notifications (Whatsapp)
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Notifications}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Notifications}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Portfolio Organizer
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.PortfolioOrganizer}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.PortfolioOrganizer}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Guided Portfolios
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.GuidedPortfolios}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.GuidedPortfolios}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Investology
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Investology}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Investology}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Trade Point
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.TradePoint}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.TradePoint}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Smallcase
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.SmallCase}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.SmallCase}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Ancillary Charges

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
DP AMC
\r\n
\r\n {liteData && liteData.AncillaryCharges.DpAmc}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.DpAmc}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n DP Fees (Trf Out / Sell) / Inter-settlement Fees\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.DpFees}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.DpFees}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Payin
\r\n
\r\n {liteData && liteData.AncillaryCharges.Payin}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.Payin}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Payout
\r\n
\r\n {liteData && liteData.AncillaryCharges.Payout}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.Payout}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Physical CML Request
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhyCMLreq}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhyCMLreq}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Physical Contract Notes
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhyContractNotes}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhyContractNotes}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Cheque payment
\r\n
\r\n {liteData && liteData.AncillaryCharges.ChqPayment}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.ChqPayment}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Margin Pledge/Unpledge charges\r\n
\r\n
\r\n {liteData &&\r\n liteData.AncillaryCharges.MarginPledgeUnpledgeCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.MarginPledgeUnpledgeCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
MTF Pledge/Unpledge charge
\r\n
\r\n {liteData &&\r\n liteData.AncillaryCharges.MTFPledgeUnpledgeCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.MTFPledgeUnpledgeCharges}\r\n
\r\n
\r\n
\r\n {/*
\r\n
\r\n
Pledge Charges
\r\n
\r\n {liteData && liteData.AncillaryCharges.PledgeCharges}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PledgeCharges}\r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n Physical Statement Charges (Ledger, PNL, Tax etc.)\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhysicalStmtCharges}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhysicalStmtCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
MTF Pledge closure
\r\n
\r\n {liteData && liteData.AncillaryCharges.MTFPledgeClosure}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.MTFPledgeClosure}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CUSPA Pledge
\r\n
\r\n {liteData && liteData.AncillaryCharges.CUSPAPledge}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.CUSPAPledge}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
CUSPA UnPledge
\r\n
\r\n {liteData && liteData.AncillaryCharges.CUSPAUnpledge}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.CUSPAUnpledge}\r\n
\r\n
\r\n
\r\n
\r\n

NOTE:

\r\n

\r\n {/* *For Nuvama Lite Plus, the lower value in between the maximum\r\n order amount and 0.01% will be considered as the brokerage\r\n applicable on equity cash & future order. */}\r\n *For Lite Plus plan, the brokerage applicable to equity cash\r\n (Delivery) and Futures & Options orders will be determined by\r\n taking 2% of the value or the maximum order amount, which is ₹20\r\n per order, whichever is lower\r\n

\r\n

\r\n *For Nuvama Elite plan, equity Cash transactions brokerage rates\r\n shown above are additionally subject to a minimum brokerage\r\n rate. Final brokerage will be calculated as the maximum between\r\n existing brokerage rate as per plan and a minimum brokerage\r\n rate. This minimum brokerage rate is the lower between ₹25 and\r\n 2.5% of transaction value.\r\n

\r\n

\r\n In case where the sale / purchase value of a share is Rs.10/- or\r\n less, a maximum brokerage of 25 paise per share shall be\r\n collected for trades executed in capital market segment.\r\n

\r\n
\r\n
\r\n ) : DeviceContext().isMobile ? (\r\n openLite ? (\r\n
\r\n
\r\n
\r\n

Nuvama Lite Plus

\r\n

\r\n Light on pocket, rich on features\r\n

\r\n
\r\n {isLite ? (\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n ) : (\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Key Features

\r\n

\r\n {liteData && liteData.KeyFeatures[0]}\r\n

\r\n

\r\n {liteData && liteData.KeyFeatures[1]}\r\n

\r\n {/*

\r\n {liteData && liteData.KeyFeatures[2]}\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 \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
\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 \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

Nuvama Elite

\r\n

\r\n Light on pocket, rich on features\r\n

\r\n
\r\n {isElite ? (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n ) : (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Key Features

\r\n

\r\n {eliteData && eliteData.KeyFeatures[0]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[1]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[2]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[3]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[4]}\r\n

\r\n

\r\n {eliteData && eliteData.KeyFeatures[5]}\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 \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
\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 \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
\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 {liteData && liteData.KeyFeatures[0]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[0]}\r\n
\r\n
\r\n
\r\n
\r\n {liteData && liteData.KeyFeatures[1]}\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[1]}\r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n {liteData && liteData.KeyFeatures[2]}\r\n
*/}\r\n
\r\n {eliteData && eliteData.KeyFeatures[2]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[3]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[4]}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {eliteData && eliteData.KeyFeatures[5]}\r\n
\r\n
\r\n
\r\n
\r\n

Broking Charges*

\r\n
\r\n
\r\n
\r\n
\r\n
Equity Delivery
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityDelivery}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityDelivery}\r\n
\r\n
\r\n
\r\n
\r\n
Equity Intraday
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityIntraday}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityIntraday}\r\n
\r\n
\r\n
\r\n
\r\n
Equity Futures
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityFutures}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityFutures}\r\n
\r\n
\r\n
\r\n
\r\n
Equity options
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.EquityOptions}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.EquityOptions}\r\n
\r\n
\r\n
\r\n
\r\n
CUR Futures
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.CurFutures}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.CurFutures}\r\n
\r\n
\r\n
\r\n
\r\n
CUR Options
\r\n
\r\n
\r\n {liteData && liteData.BrokingCharges.CurOptions}\r\n
\r\n
\r\n {eliteData && eliteData.BrokingCharges.CurOptions}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Other Charges

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Margin / Funding (Leverage)\r\n
\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.MarginFunding}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.MarginFunding}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Delayed Payment Interest (Normal)\r\n
\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.DpInterestNormal}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.DpInterestNormal}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Delayed Payment Interest (MTF)\r\n
\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.DpInterestMTF}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.DpInterestMTF}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Switching Charges (Only 2 switches allowed)\r\n
\r\n
\r\n
\r\n {liteData && liteData.OtherCharges.SwitchingCharges}\r\n
\r\n
\r\n {eliteData && eliteData.OtherCharges.SwitchingCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Manual Support

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Call and Trade (Advisory, Trading)\r\n
\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.CallAndTrade}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.CallAndTrade}\r\n
\r\n
\r\n
\r\n
\r\n
RM / Advisor
\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Special Situation Trades Assistance\r\n
\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.SplTrdAssistance}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.SplTrdAssistance}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Tools & Features

\r\n
\r\n
\r\n
\r\n
\r\n
Auto Collateral
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.AutoCollateral}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.AutoCollateral}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Standard Tools\r\n {/* Standard Tools (Watchlist, Screene₹, Alerts etc.) */}\r\n
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.StandardTools}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.StandardTools}\r\n
\r\n
\r\n
\r\n
\r\n
Advanced Charting
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.AdvancedCharting}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.AdvancedCharting}\r\n
\r\n
\r\n
\r\n
\r\n
Market Info
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.MarketInfo}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.MarketInfo}\r\n
\r\n
\r\n
\r\n
\r\n
Research
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Research}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Research}\r\n
\r\n
\r\n
\r\n
\r\n {/*
News (Live, Details)
*/}\r\n
News
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.News}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.News}\r\n
\r\n
\r\n
\r\n
\r\n
Content
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Content}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Content}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Notifications (Whatsapp)\r\n
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Notifications}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Notifications}\r\n
\r\n
\r\n
\r\n
\r\n
Portfolio Organizer
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.PortfolioOrganizer}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.PortfolioOrganizer}\r\n
\r\n
\r\n
\r\n
\r\n
Guided Portfolios
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.GuidedPortfolios}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.GuidedPortfolios}\r\n
\r\n
\r\n
\r\n
\r\n
Investology
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.Investology}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.Investology}\r\n
\r\n
\r\n
\r\n
\r\n
Trade Point
\r\n
\r\n
\r\n {liteData && liteData.ToolsAndFeatures.TradePoint}\r\n
\r\n
\r\n {eliteData && eliteData.ToolsAndFeatures.TradePoint}\r\n
\r\n
\r\n
\r\n
\r\n
Smallcase
\r\n
\r\n
\r\n {liteData && liteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n {eliteData && eliteData.ManualSupport.RmAdvisor}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Ancillary Charges

\r\n
\r\n
\r\n
\r\n
\r\n
DP AMC
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.DpAmc}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.DpAmc}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n DP Fees (Trf Out / Sell) / Inter-settlement Fees\r\n
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.DpFees}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.DpFees}\r\n
\r\n
\r\n
\r\n
\r\n
Payin
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.Payin}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.Payin}\r\n
\r\n
\r\n
\r\n
\r\n
Payout
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.Payout}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.Payout}\r\n
\r\n
\r\n
\r\n
\r\n
Physical CML Request
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhyCMLreq}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhyCMLreq}\r\n
\r\n
\r\n
\r\n
\r\n
Physical Contract Notes
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhyContractNotes}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PhyContractNotes}\r\n
\r\n
\r\n
\r\n
\r\n
Cheque payment
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.ChqPayment}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.ChqPayment}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Margin Pledge/Unpledge charges\r\n
\r\n
\r\n
\r\n {liteData &&\r\n liteData.AncillaryCharges.MarginPledgeUnpledgeCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.MarginPledgeUnpledgeCharges}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n MTF Pledge/Unpledge charges\r\n
\r\n
\r\n
\r\n {liteData &&\r\n liteData.AncillaryCharges.MTFPledgeUnpledgeCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.MTFPledgeUnpledgeCharges}\r\n
\r\n
\r\n
\r\n {/*
\r\n
Pledge Charges
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PledgeCharges}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.PledgeCharges}\r\n
\r\n
\r\n
*/}\r\n
\r\n
\r\n Physical Statement Charges (Ledger, PNL, Tax etc.)\r\n
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.PhysicalStmtCharges}\r\n
\r\n
\r\n {eliteData &&\r\n eliteData.AncillaryCharges.PhysicalStmtCharges}\r\n
\r\n
\r\n
\r\n
\r\n
MTF Pledge closure
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.MTFPledgeClosure}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.MTFPledgeClosure}\r\n
\r\n
\r\n
\r\n
\r\n
CUSPA Pledge
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.CUSPAPledge}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.CUSPAPledge}\r\n
\r\n
\r\n
\r\n
\r\n
CUSPA UnPledge
\r\n
\r\n
\r\n {liteData && liteData.AncillaryCharges.CUSPAUnpledge}\r\n
\r\n
\r\n {eliteData && eliteData.AncillaryCharges.CUSPAUnpledge}\r\n
\r\n
\r\n
\r\n
\r\n

NOTE:

\r\n

\r\n {/* *For Nuvama Lite Plus, the lower value in between the maximum\r\n order amount and 0.01% will be considered as the brokerage\r\n applicable on equity cash & future order. */}\r\n *For Lite Plus plan, the brokerage applicable to equity cash\r\n (Delivery) and Futures & Options orders will be determined by\r\n taking 2% of the value or the maximum order amount, which is\r\n ₹20 per order, whichever is lower\r\n

\r\n

\r\n *For Nuvama Elite plan, equity Cash transactions brokerage\r\n rates shown above are additionally subject to a minimum\r\n brokerage rate. Final brokerage will be calculated as the\r\n maximum between existing brokerage rate as per plan and a\r\n minimum brokerage rate. This minimum brokerage rate is the\r\n lower between ₹25 and 2.5% of transaction value.\r\n

\r\n

\r\n In case where the sale / purchase value of a share is Rs.10/-\r\n or less, a maximum brokerage of 25 paise per share shall be\r\n collected for trades executed in capital market segment.\r\n

\r\n
\r\n
\r\n
\r\n )}\r\n \r\n {!showModal && (\r\n
\r\n {isEmployee && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {liteResponse.length > 0 &&\r\n liteResponse[0].client_type === \"Online\" && (\r\n
\r\n
\r\n
\r\n {DeviceContext().isDesktop ? (\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 {isLite ? (\r\n {\r\n handleLiteTick();\r\n }}\r\n />\r\n ) : (\r\n
\r\n {\r\n handleLiteTick();\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 {eliteResponse.length > 0 &&\r\n eliteResponse[0].client_type === \"Premium\" && (\r\n
\r\n
\r\n
\r\n {DeviceContext().isDesktop ? (\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 {isElite ? (\r\n {\r\n handleEliteTick();\r\n }}\r\n />\r\n ) : (\r\n
\r\n {\r\n handleEliteTick();\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 handleTogAccountType()}\r\n disabled={\r\n accountTypeChangeCount === 2 ||\r\n GlobalStore.stageStatus.dpaccountchanged ||\r\n eSignSummited\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n handleTog()} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n handleEquityCashNSEBSE()}\r\n checked={true}\r\n disabled={true}\r\n onChange={() => {}}\r\n />\r\n
\r\n
\r\n
\r\n

Equity Cash

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n handleMutualFundsBSE()}\r\n checked={true}\r\n disabled={true}\r\n onChange={() => {}}\r\n />\r\n
\r\n
\r\n
\r\n

Mutual Funds

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n handleDebtFundsNSEBSE()}\r\n />\r\n
\r\n
\r\n
\r\n

Debt Funds

\r\n
\r\n
\r\n {segTog && (\r\n
\r\n
\r\n
\r\n
\r\n handleDerNSE()}\r\n />\r\n
\r\n
\r\n
\r\n

Equity Derivatives

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n handleCurrNSE()}\r\n />\r\n
\r\n
\r\n
\r\n

Currency Derivatives

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n handleComNCXDX()}\r\n />\r\n
\r\n
\r\n
\r\n

Commodity

\r\n
\r\n
\r\n
\r\n )}\r\n {segTog && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n handleIncomeProof(val)}\r\n errorText={incomeProofErr}\r\n onBlur={(val) => dropDownBlur(val)}\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 {/* closePopup()} isCloseIcon={true}>\r\n
\r\n \r\n
\r\n
*/}\r\n\r\n {!isEmployeePAN && (\r\n
\r\n handleSMTF()}\r\n />\r\n \r\n
\r\n )}\r\n
\r\n handleTermOne()}\r\n />\r\n \r\n
\r\n {/*
\r\n handleTermTwo()} />\r\n \r\n
\r\n
\r\n handleTermThree()} />\r\n \r\n
*/}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n {!termOne ? (\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n ) : null}\r\n {NoSegSelected && (\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\nexport default SelectPlan;\r\n","import React from \"react\";\r\nimport \"./DocVerificationHome.scss\";\r\nimport DocVerifcationForm from \"../DocVerificationForm/DocVerificationForm\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\n\r\nexport interface DocVerificationHomeProps {}\r\n\r\nconst DocVerificationHome: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"6\");\r\n }, []);\r\n\r\n // Clervertap event: Profiler/Investment screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.documentVerificationPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n return (\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\nexport default DocVerificationHome;\r\n","import * as React from \"react\";\r\nimport \"./DocStatusList.scss\";\r\n\r\nexport interface DocStatusListProps {\r\n docName: string;\r\n docStatus: \"Pending Upload\" | \"Approved\" | \"AUTO APPROVED\" | \"PENDING\";\r\n docInfo: string;\r\n}\r\n\r\nconst DocStatusList: React.FC = (props) => (\r\n
\r\n \r\n \r\n {props.docStatus}\r\n \r\n \r\n
\r\n);\r\n\r\nexport default DocStatusList;\r\n","import React from \"react\";\r\nimport \"./DocStatus.scss\";\r\nimport DocStatusList from \"./DocStatusList/DocStatusList\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { dashboardUrl } from \"../../utils/constants\";\r\n\r\nexport interface DocStatusProps {\r\n isPendingUpload: boolean;\r\n isPendingApproval: boolean;\r\n showResult: boolean;\r\n pendingUploadList: Array;\r\n pendingApprovalList: Array;\r\n}\r\n\r\nconst DocStatus: React.FC = (props: DocStatusProps) => {\r\n const history = useHistory();\r\n\r\n function uploadPendingDoc() {\r\n history.push(dashboardUrl.doc);\r\n }\r\n\r\n return (\r\n <>\r\n {props.showResult &&\r\n (props.isPendingUpload ? (\r\n <>\r\n \r\n
\r\n {props.pendingUploadList.map((item, index) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n ) : props.isPendingApproval ? (\r\n
\r\n {props.pendingApprovalList.map((item, index) => (\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\nexport default DocStatus;\r\n","import React from 'react';\r\nimport './PendingModule.scss'\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nexport interface PendingModuleProps {\r\n moduleName: string;\r\n moduleLink: string;\r\n}\r\n\r\nconst PendingModule: React.FC = (props) => {\r\n\r\n const history = useHistory();\r\n\r\n function redirectToUrl() {\r\n history.push(props.moduleLink);\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default PendingModule;","import React from 'react';\r\nimport './PendingModulesList.scss';\r\nimport PendingModule from './PendingModule/PendingModule';\r\n\r\nexport interface PendingModulesListProps {\r\n pendingModulesList: Array<{ name: string, navUrl: string }>;\r\n}\r\n\r\nconst PendingModulesList: React.FC = (props) => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n {\r\n props.pendingModulesList.map((module, index) => (\r\n \r\n ))\r\n }\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default PendingModulesList;","import * as React from \"react\";\r\nimport \"../ESignForm/ESignForm.scss\";\r\nimport DocStatus from \"../DocStatus/DocStatus\";\r\nimport Button, { TransparentButton } from \"../../UI/Button/Button\";\r\nimport esignBanner from \"../../../assets/icons/esignBanner.jpeg\";\r\nimport { AGetEsignUrlDetails } from \"../../Services/dashboard/eSignApiServices\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport { setStageData } from \"../../Services/globalService\";\r\nvar timeLeft = 4;\r\nconst clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n);\r\nconst EsignKra: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [isEsign, setIsEsign] = React.useState(\r\n GlobalStore.stageStatus.isesigncompleted\r\n );\r\n React.useEffect(() => {\r\n var timerId = setInterval(countdown, 5000);\r\n function countdown() {\r\n if (timeLeft == -1 || GlobalStore.stageStatus.isesigncompleted) {\r\n clearInterval(timerId);\r\n } else {\r\n timeLeft--;\r\n if (\r\n GlobalStore.applicationID !== \"\" ||\r\n clientPartialDetails_ao.applicationId\r\n ) {\r\n setIsLoading(true);\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID || clientPartialDetails_ao.applicationId\r\n );\r\n }\r\n }\r\n }\r\n return () => {\r\n clearInterval(timerId);\r\n };\r\n }, []);\r\n function esignKraSubmit() {\r\n //redirect to NSDL website for esign\r\n setIsLoading(true);\r\n window.alert(\"You will be redirected here after Completion of Esign\");\r\n AGetEsignUrlDetails(getEsignKraUrl, GlobalStore.applicationID, 2);\r\n }\r\n function getEsignKraUrl(res: any) {\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetEsignKraLink\", label: \"ERROR || ERR117\" });\r\n setIsLoading(false);\r\n } else {\r\n if (\r\n (res.data.Code == 200 || res.data.Code == 201) &&\r\n res.data.Data.EsignLink !== null\r\n ) {\r\n const encryptedUrl = res.data.Data.EsignLink;\r\n // gtmService({ action: \"E_SIGN_KRA | E_SIGN_KRA\", label: \"Step_Complete\" });\r\n\r\n // Clevertap event while user choose for e-sign\r\n // esignCleverTapEvent(true);\r\n // Clevertap ends\r\n\r\n window.location.href = encryptedUrl;\r\n } else {\r\n var allErrorsString = \"\";\r\n if (res.data.Data.FormValidationSummary.length > 0) {\r\n res.data.Data.FormValidationSummary.forEach(\r\n (element: any, i: number) => {\r\n if (i === 0) allErrorsString = element.FormValidations;\r\n else allErrorsString += `, ${element.FormValidations}`;\r\n }\r\n );\r\n }\r\n setErrCode(errorMessage.newEsignError);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n function handleChangeStatus() {\r\n if (\r\n GlobalStore.applicationID !== \"\" ||\r\n clientPartialDetails_ao.applicationId\r\n ) {\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID || clientPartialDetails_ao.applicationId\r\n );\r\n }\r\n }\r\n\r\n function getClientStageDetails(res: any) {\r\n setIsLoading(false);\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n\r\n setStageData(responseObj);\r\n setIsEsign(responseObj.isesigncompleted);\r\n //check completeness of stages\r\n }\r\n }\r\n }\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"ESign\"\r\n
\r\n
\r\n
\r\n

KRA Registration Request

\r\n
\r\n
\r\n
    \r\n
  • \r\n I hereby declare that the details fumished are true and correct to\r\n the best of my knowledge and belief and I undertake to inform you\r\n of any changes therein, immediately. In case any of the\r\n information is found to be false or untrue or misleading or\r\n misrepresenting, I am aware that I may be held liable for it.\r\n
  • \r\n
  • \r\n {\" \"}\r\n I hereby consent to receiving information from Central KYC\r\n Registry and / or KRA through SMS/Email on the above registered\r\n number / email address.{\" \"}\r\n
  • \r\n
  • \r\n I am also aware that for Aadhaar OVD based KYC, my KYC request\r\n shall be validated against Aadhaar details. I hereby consent to\r\n sharing my masked Aadhaar card with readable QR code or my Aadhaar\r\n XML/Digilocker XML file, along with passcode and as applicable,\r\n with KRA and other Intermediaries with whom I have a business\r\n relationship for KYC purposes only.\r\n
  • \r\n
\r\n
\r\n
\r\n {isEsign ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n E-Sign Confirmation is pending for previous signature. Click on\r\n above button to Retry and E-Sign\r\n
\r\n
\r\n )}\r\n
\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\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\nexport default EsignKra;\r\n","import React from \"react\";\r\nimport esignBanner from \"../../../assets/icons/esignBanner.jpeg\";\r\nimport ESignForm from \"../ESignForm/ESignForm\";\r\nimport PendingModules from \"../PendingModulesList/PendingModulesList\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport EsignKra from \"../ESignKra/ESignKra\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { parseQuery } from \"../../Services/globalService\";\r\nimport Button, { TransparentButton } from \"../../UI/Button/Button\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport {\r\n AGetPanUtiData,\r\n APanLinkedWithAadhar,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport isSeeding from \"../../../assets/icons/seeding.png\";\r\nimport { AUpdatePanAddharLinkStatus } from \"../../Services/dashboard/eSignApiServices\";\r\nexport interface ESignHomeProps {}\r\n\r\nconst ESignHome: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const location = useLocation();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n const [isEsign, setisEsign] = React.useState(\r\n GlobalStore.stageStatus.isesigncompleted\r\n );\r\n const [isEsignKra, setEsignKra] = React.useState(\r\n GlobalStore.stageStatus.iskraesigncompleted\r\n );\r\n\r\n const [ispanlinkedwithaadhar, setIspanlinkedwithaadhar] =\r\n React.useState(GlobalStore.stageStatus.ispanlinkedwithaadhar);\r\n const [checkpanaaddharflag, setCheckpanaaddharflag] = React.useState(\r\n GlobalStore.stageStatus.checkpanaaddharflag\r\n );\r\n const [pendingModules, setPendingModules] =\r\n React.useState>();\r\n const queryObject = parseQuery(location.search);\r\n React.useEffect(() => {\r\n checkPendingModules();\r\n window.sessionStorage.setItem(\"stageInfoId\", \"10\");\r\n }, []);\r\n React.useEffect(() => {\r\n setEsignKra(GlobalStore.stageStatus.iskraesigncompleted);\r\n setisEsign(GlobalStore.stageStatus.isesigncompleted);\r\n }, [\r\n GlobalStore.stageStatus.isesigncompleted,\r\n GlobalStore.stageStatus.iskraesigncompleted,\r\n isEsign,\r\n isEsignKra,\r\n ]);\r\n const [seedingPopup, setSeedingPopup] = React.useState(\r\n !GlobalStore.stageStatus.ispanlinkedwithaadhar\r\n );\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n\r\n // Clervertap event: Profiler/Investment screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.eSignPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n function checkPendingModules(): Array<{ name: string; navUrl: string }> {\r\n let arr: Array<{ name: string; navUrl: string }> = [];\r\n GlobalStore.leftNavBarState.forEach((module) => {\r\n if (!module.isComplete && module.isRequired) {\r\n arr.push({ name: module.name, navUrl: module.navUrl });\r\n }\r\n });\r\n setPendingModules(arr);\r\n return arr;\r\n }\r\n\r\n const closeSeedingPopup = () => {\r\n setSeedingPopup(false);\r\n // saveDocument();\r\n };\r\n\r\n const reCheck = () => {\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n AGetPanUtiData(getSeedingData, clientPartialDetails_ao.pan);\r\n };\r\n\r\n const getSeedingData = (res: any) => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (!res || res.error) {\r\n console.log(res.errMsg);\r\n setErrCode(errCode + res.error);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n // let responseObj = JSON.parse(res.data.panDetails);\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n // if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n if (responseObj.IsAadharSeeded == \"N\") {\r\n GlobalStore.isSeeding = false;\r\n setSeedingPopup(true);\r\n setIspanlinkedwithaadhar(false);\r\n APanLinkedWithAadhar(\r\n APanLinkedWithAadharRes,\r\n clientPartialDetails_ao.pan,\r\n clientPartialDetails_ao.aadharNo\r\n );\r\n }\r\n // else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n else if (\r\n responseObj.IsAadharSeeded == \"Y\" ||\r\n responseObj.IsAadharSeeded == \"NA\"\r\n ) {\r\n GlobalStore.isSeeding = true;\r\n setSeedingPopup(false);\r\n setIspanlinkedwithaadhar(true);\r\n AUpdatePanAddharLinkStatus(\r\n panAdhaarLinkStatusUpdated,\r\n GlobalStore.applicationID,\r\n true\r\n );\r\n }\r\n }\r\n }\r\n };\r\n function APanLinkedWithAadharRes(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data?.isvalid == true) {\r\n if (res.data.islinked) {\r\n setIsLoading(true);\r\n setSeedingPopup(false);\r\n AUpdatePanAddharLinkStatus(\r\n panAdhaarLinkStatusUpdated,\r\n GlobalStore.applicationID,\r\n true\r\n );\r\n } else {\r\n setSeedingPopup(true);\r\n setIsLoading(false);\r\n }\r\n // AIsPANExists(isPANExists, values.pan);\r\n } else {\r\n // alert(res.data?.message);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const panAdhaarLinkStatusUpdated = (res: any) => {\r\n console.log(\"AUpdatePanAddharLinkStatus\", res);\r\n };\r\n\r\n const navToLink = () => {\r\n window.open(\r\n \"https://eportal.incometax.gov.in/iec/foservices/#/pre-login/bl-link-aadhaar\",\r\n \"_blank\"\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n {!isEsign && queryObject.sc !== \"k\" && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"ESign\"\r\n
\r\n {pendingModules && (\r\n <>\r\n {pendingModules.length > 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n
\r\n )}\r\n {queryObject.sc === \"k\" && !isEsignKra && }\r\n
\r\n
\r\n {/* closeSeedingPopup()}\r\n isCloseIcon={false}\r\n >\r\n
*/}\r\n {/* {DeviceContext().isMobile && } */}\r\n {/* \"isSeeding\"\r\n \r\n \r\n
\r\n
\r\n reCheck()}\r\n disabled={!checkpanaaddharflag}\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\nexport default ESignHome;\r\n","import React from \"react\";\r\nimport \"./VideoPlayerIpv.scss\";\r\nimport OtpTimer from \"../OtpTimer/OtpTimer\";\r\nimport Button from \"../Button/Button\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n isSafariBrowser,\r\n utmDurationInfoObj,\r\n} from \"../../Services/globalService\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport { checkESignSubmitted } from \"../../utils/eSignSubmitHandler\";\r\n\r\nexport interface VideoPlayerIpvProps {\r\n ipvUploaded: (uploadObj: any, isSafari: boolean) => void;\r\n isGeoError?: boolean;\r\n isLocationPermission?: boolean;\r\n checkGeoLocation?: Function;\r\n}\r\n\r\nexport function captureScreenShot(\r\n video: HTMLVideoElement,\r\n callback: CallableFunction\r\n) {\r\n let canvas: HTMLCanvasElement = document.createElement(\r\n \"canvas\"\r\n ) as HTMLCanvasElement;\r\n canvas.width = video.videoWidth;\r\n canvas.height = video.videoHeight;\r\n canvas\r\n .getContext(\"2d\")!\r\n .drawImage(video, 0, 0, video.videoWidth, video.videoHeight);\r\n canvas.toBlob((blob) => {\r\n const new_File = new File([blob as BlobPart], \"safariVideoIPV.webm\", {\r\n type: \"video/webm\",\r\n lastModified: Date.now(),\r\n });\r\n const fileReader = new FileReader();\r\n fileReader.onload = function (e) {\r\n const base64 = (e.target && e.target.result)?.toString();\r\n callback(\r\n base64?.split(\",\")[1],\r\n blob,\r\n video.videoWidth,\r\n video.videoHeight\r\n );\r\n };\r\n fileReader.readAsDataURL(new_File);\r\n });\r\n}\r\n\r\nconst VideoPlayerIpv: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [showStartBtn, setShowStartBtn] = React.useState(true);\r\n const [showVidPerm, setShowVidPerm] = React.useState(false);\r\n const [showRecordTimer, setShowRecordTimer] = React.useState(false);\r\n const [showUploadBtn, setShowUploadBtn] = React.useState(false);\r\n const [stream, setStream] = React.useState();\r\n const [webBlob, setWebBlob] = React.useState();\r\n const isSafari: boolean = isSafariBrowser();\r\n const [frames, setFrames] = React.useState>([]);\r\n const [mediaRecorder, setMediaRecorder] = React.useState();\r\n const videoRefElement = React.useRef(null);\r\n const previewRefElement = React.useRef(null);\r\n const imageRefElement = React.useRef(null);\r\n const [imgSrcSafari, setImgSrcSafari] = React.useState();\r\n const [videoWidth, setVideoWidth] = React.useState();\r\n const [videoHeight, setVideoHeight] = React.useState();\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n\r\n React.useEffect(() => {\r\n console.log(props.isGeoError);\r\n turnOnCamera();\r\n showPreview(false);\r\n return () => {};\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n return () => {\r\n stream && stream.getVideoTracks()[0].stop();\r\n };\r\n }, [stream]);\r\n\r\n function showPreview(showPreview: boolean) {\r\n videoRefElement.current!.hidden = showPreview;\r\n if (isSafari) imageRefElement.current!.hidden = !showPreview;\r\n else previewRefElement.current!.hidden = !showPreview;\r\n }\r\n\r\n function turnOnCamera() {\r\n setIsLoading(true);\r\n\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n function handleSuccess(stream: MediaStream) {\r\n videoRefElement.current!.srcObject = stream;\r\n try {\r\n setMediaRecorder(new MediaRecorder(stream));\r\n } catch (ex) {}\r\n setStream(stream);\r\n setShowVidPerm(false);\r\n setIsLoading(false);\r\n }\r\n\r\n function handleError(error: any) {\r\n setShowVidPerm(true);\r\n setIsLoading(false);\r\n }\r\n\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then(handleSuccess)\r\n .catch(handleError);\r\n }\r\n const startFinalRecording = () => {\r\n if (!!props?.checkGeoLocation) {\r\n props?.checkGeoLocation();\r\n }\r\n setTimeout(() => {\r\n record();\r\n }, 3000);\r\n };\r\n function record() {\r\n setShowStartBtn(false);\r\n setShowRecordTimer(true);\r\n gtmService({ action: \"VIDEO_IPV\", label: \"START_RECORDING\" });\r\n let interval: NodeJS.Timeout;\r\n const arr: Array = [];\r\n if (isSafari) {\r\n interval = setInterval(\r\n () =>\r\n captureScreenShot(\r\n videoRefElement.current!,\r\n (\r\n base64: string,\r\n blob: Blob,\r\n videoWidth: number,\r\n videoHeight: number\r\n ) => {\r\n setImgSrcSafari(window.URL.createObjectURL(blob));\r\n setVideoWidth(videoWidth);\r\n setVideoHeight(videoHeight);\r\n arr.push(base64);\r\n }\r\n ),\r\n 500\r\n );\r\n } else {\r\n mediaRecorder && mediaRecorder.start();\r\n }\r\n setTimeout(() => {\r\n setShowRecordTimer(false);\r\n setShowUploadBtn(true);\r\n isSafari && interval && clearInterval(interval);\r\n stop(arr);\r\n }, 5200);\r\n }\r\n\r\n if (mediaRecorder) {\r\n mediaRecorder.ondataavailable = function (event: any) {\r\n setFrames([event.data]);\r\n };\r\n\r\n mediaRecorder.onstop = (ev) => {\r\n const blob = new Blob(frames, { type: \"video/webm\" });\r\n previewRefElement.current!.src = window.URL.createObjectURL(blob);\r\n setWebBlob(blob);\r\n showPreview(true);\r\n };\r\n }\r\n\r\n function stop(framesArr?: Array) {\r\n showPreview(true);\r\n if (isSafari && framesArr) {\r\n setFrames(framesArr);\r\n } else {\r\n mediaRecorder && mediaRecorder.stop();\r\n }\r\n stream && stream.getVideoTracks()[0].stop();\r\n }\r\n\r\n function retryVideo() {\r\n setFrames([]);\r\n showPreview(false);\r\n setShowUploadBtn(false);\r\n setShowRecordTimer(false);\r\n setShowStartBtn(true);\r\n setImgSrcSafari(\"\");\r\n turnOnCamera();\r\n }\r\n\r\n function uploadVideo() {\r\n if(props?.isLocationPermission==false){\r\n\r\n }else{\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"bankdur\");\r\n if (isSafari) {\r\n const uploadObj = {\r\n image64: frames,\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n applicationid: GlobalStore.applicationID,\r\n leadid: GlobalStore.leadId,\r\n contentType: \"video/webm\",\r\n panno: GlobalStore.personaldetails.pan,\r\n width: videoWidth,\r\n height: videoHeight,\r\n utmObj: objUTM_Info,\r\n };\r\n props.ipvUploaded(uploadObj, isSafari);\r\n } else {\r\n const new_File = new File([webBlob as BlobPart], \"videoIPV.webm\", {\r\n type: \"video/webm\",\r\n lastModified: Date.now(),\r\n });\r\n if (new_File.size > 50000000) {\r\n alert(\"video size exceeds maximum limit. Please upload it again\");\r\n return false;\r\n }\r\n if (new_File.size <= 8192) {\r\n alert(\r\n \"video size is less then minimum required size. Please upload it again\"\r\n );\r\n return false;\r\n }\r\n const fileReader = new FileReader();\r\n fileReader.onload = function (e) {\r\n const base64 = (e.target && e.target.result)?.toString();\r\n if (base64?.toString()) {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n clientprimarydetailid: parseInt(GlobalStore.clientPrimaryDetailId),\r\n contentType: new_File.type,\r\n image: base64!.split(\",\")[1],\r\n imageName: `${GlobalStore.applicationID}_${new_File.name}`,\r\n leadid: GlobalStore.leadId,\r\n panno: GlobalStore.personaldetails.pan,\r\n utmObj: objUTM_Info,\r\n };\r\n props.ipvUploaded(uploadObj, isSafari);\r\n }\r\n };\r\n fileReader.readAsDataURL(new_File);\r\n }\r\n }\r\n \r\n }\r\n\r\n return (\r\n
\r\n {showVidPerm && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n {isSafari ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {/* Start Recording Button Start */}\r\n {showStartBtn && !props.isGeoError && props?.isLocationPermission && (\r\n {} : () => startFinalRecording()\r\n }\r\n >\r\n \r\n \r\n
\r\n )}\r\n {/* Start Recording Button End */}\r\n\r\n {/* Recording Timer Start */}\r\n {showRecordTimer && (\r\n
\r\n \r\n
\r\n )}\r\n {/* Recording Timer End */}\r\n\r\n {/* Upload Btn Start */}\r\n {showUploadBtn && (\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n )}\r\n {/* Upload Btn End */}\r\n \r\n );\r\n};\r\n\r\nexport default VideoPlayerIpv;\r\n","import React, { useState } from \"react\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\nimport Button from \"../UI/Button/Button\";\r\nimport \"./VideoVerification.scss\";\r\nimport VideoPlayerIpv from \"../UI/VideoPlayerIpv/VideoPlayerIpv\";\r\nimport Backdrop from \"../UI/Backdrop/Backdrop\";\r\nimport ipvDemo from \"../../assets/icons/ipv_demo.jpg\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport {\r\n AGetIpvOtp,\r\n ASaveIPVerificationDetails,\r\n ASendSms,\r\n AUploadIpv,\r\n AUploadIpvSafari,\r\n} from \"../Services/dashboard/ipvApiServices\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport {\r\n completeModuleStatus,\r\n incompleteStageNavigation,\r\n setStageData,\r\n} from \"../Services/globalService\";\r\nimport { dashboardUrl, watsappNo, geoLocationConfig } from \"../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nimport { AGetClientDetailsByPan } from \"../Services/registration/panDobApiService\";\r\nimport Toggle from \"../UI/Toggle/Toggle\";\r\nimport watsAppIcon from \"../../assets/icons/watsapp.png\";\r\nimport { AGetStageCompletionStatus } from \"../Services/registration/continueApiService\";\r\nimport config from \"../../config/domain\";\r\nimport useGeoLocation from \"../../customHooks/useGeoLocation\";\r\nimport InfoModal from \"../UI/InfoModal/InfoModal\";\r\n\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\n\r\nexport interface VideoVerificationProps {}\r\n\r\nconst VideoVerification: React.FC = () => {\r\n // Fetch query params for clervertap\r\n const queryParams = useQuery();\r\n const UTM_SOURCE = queryParams.get(\"utm_source\")\r\n ? queryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = queryParams.get(\"utm_medium\")\r\n ? queryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = queryParams.get(\"utm_campaign\")\r\n ? queryParams.get(\"utm_campaign\")\r\n : \"\";\r\n const id = queryParams.get(\"id\") ? queryParams.get(\"id\") : \"\";\r\n\r\n const [errCode, setErrCode] = React.useState();\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [showSample, setShowSample] = React.useState(false);\r\n const [otp, setOtp] = React.useState(\"\");\r\n const [enableLink, setEnableLink] = React.useState(false);\r\n const [eSignCompleted, setESignCompleted] = useState(false);\r\n const [lat, setLat] = useState(\"\");\r\n const [long, setLong] = useState(\"\");\r\n const [retryLocation, setRetryLocation] = useState(false);\r\n const history = useHistory();\r\n let intervalTimer: any;\r\n\r\n const geoLoc: iGeoLocation = useGeoLocation();\r\n const [isGeoError, setIsGeoError] = React.useState(false);\r\n const [isGeoErrorTimeFlag, setIsGeoErrorTimeFlag] =\r\n React.useState(false);\r\n const [showBrowserPermissionModal, setsShowBrowserPermissionModal] =\r\n useState(false);\r\n const [browserPermission, setBrowserPermission] = useState(true);\r\n const [locationPermission, setLocationPermission] = useState(true);\r\n const [cameraPermission, setCameraPermission] = useState(true);\r\n let watchPositionId: number;\r\n\r\n React.useEffect(() => {\r\n window.sessionStorage.setItem(\"stageInfoId\", \"7\");\r\n setTimeout(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n setIsGeoErrorTimeFlag(true);\r\n }, geoLocationConfig.errorTimer);\r\n setIsLoading(true);\r\n if (!id) AGetIpvOtp(getIpvOtp, GlobalStore.applicationID);\r\n else {\r\n const pan = atob(id);\r\n console.log(pan);\r\n setIsLoading(true);\r\n AGetClientDetailsByPan(searchByPan, pan);\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n if (locationPermission === true && cameraPermission === true) {\r\n console.log(\"inside setter \");\r\n setBrowserPermission(true);\r\n setsShowBrowserPermissionModal(false);\r\n setIsGeoError(false);\r\n } else {\r\n console.log(\"inside setter else\");\r\n setBrowserPermission(false);\r\n setsShowBrowserPermissionModal(true);\r\n setIsGeoError(true);\r\n }\r\n // getLocation();\r\n }, [geoLoc, locationPermission, cameraPermission]);\r\n\r\n // React.useEffect(() => {\r\n // // navigator.geolocation.watchPosition(successPosition, errorPosition)\r\n // }, [lat, long]);\r\n\r\n // Clervertap event: Profiler/Investment screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.ipvPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n const searchByPan = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n if (res.data != null) {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n }\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID\r\n );\r\n AGetIpvOtp(getIpvOtp, GlobalStore.applicationID);\r\n } else {\r\n setErrCode(\"1182 - Error in fetching Client details from our system.\");\r\n setIsLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const getLocation = () => {\r\n if (geoLoc.loaded && geoLoc.error == false) {\r\n console.log(\"I'm here\");\r\n setLat(`${geoLoc.coordinates.lat}`);\r\n setLong(`${geoLoc.coordinates.lng}`);\r\n } else {\r\n if (navigator && navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(setLocation, errorLocation, {\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n timeout: geoLocationConfig.timeout,\r\n });\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n }\r\n }\r\n };\r\n\r\n const setLocation = (position: { coords: any }) => {\r\n console.log(\"Set Location\", position.coords);\r\n setLat(position.coords.latitude);\r\n setLong(position.coords.longitude);\r\n\r\n geoLoc.coordinates.lat = position.coords.latitude;\r\n geoLoc.coordinates.lng = position.coords.longitude;\r\n geoLoc.error = false;\r\n setIsGeoError(false);\r\n setIsGeoErrorTimeFlag(false);\r\n setIsLoading(false);\r\n console.log(\"In saveLocation\", geoLoc);\r\n };\r\n\r\n const errorLocation = (err: any) => {\r\n console.log(`ERROR(${err.code}): ${err.message}`);\r\n geoLoc.error = true;\r\n setIsLoading(true);\r\n setIsGeoError(true);\r\n // getLocation();\r\n };\r\n\r\n const iPVerificationSaved = (res: any,isFromSMS?:string) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"Error in saving geo-location details\");\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR150\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR150-S\",\r\n });\r\n if(isFromSMS==\"fromSMS\")\r\n {\r\n checkPdStatus();\r\n }\r\n else\r\n {\r\n completeModuleStatus(dashboardUrl.ipv);\r\n gtmService({ action: \"VIDEO_IPV\", label: \"Step_Complete\" });\r\n // Clevertap event: submit documents data\r\n const data = {\r\n EventName: cleverTapEvents.registration.ipvPage.CLICK_ON_SUBMIT,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: UTM_SOURCE || \"\",\r\n UTM_MEDIUM: UTM_MEDIUM || \"\",\r\n UTM_CAMPAIGN: UTM_CAMPAIGN || \"\",\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on bank details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.ipvPage.CLICK_ON_SUBMIT\r\n );\r\n\r\n if (!id) history.push(incompleteStageNavigation());\r\n else\r\n alert(\r\n \"IPV uploaded successfully, please close this browser window and continue with your Account Opening process\"\r\n );\r\n }\r\n\r\n\r\n\r\n }\r\n };\r\n\r\n function successPosition(data: any) {\r\n setIsLoading(false);\r\n setLocationPermission(true);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setLat(data.coords.latitude);\r\n setLong(data.coords.longitude);\r\n navigator.geolocation.clearWatch(watchPositionId);\r\n }\r\n\r\n function saveIpvDetails(data: any) {\r\n console.log(\"CALLED HHH\");\r\n console.log(\"lat\",lat);\r\n console.log(\"long\",long);\r\n if (lat !== \"\" && lat !== undefined && long !== \"\" && long !== undefined) {\r\n var latitude = lat;\r\n var longitude = long;\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd\",\r\n organizationCode: \"2\",\r\n geo_location: `${latitude}, ${longitude}`,\r\n ipaddress: \"192.168.200.80\",\r\n ipvlink: \"\",\r\n latitude: `${latitude}`,\r\n longitude: `${longitude}`,\r\n source:\"VideoVerification\"\r\n };\r\n \r\n console.log(\"Called in success\");\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n ASaveIPVerificationDetails((response:any) => iPVerificationSaved(response), ipvObj);\r\n } else {\r\n setsShowBrowserPermissionModal(true);\r\n }\r\n }\r\n\r\n function errorPosition(data: any) {\r\n setIsLoading(true);\r\n setLocationPermission(false);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n // if (!browserPermission) {\r\n // getLocation();\r\n // }\r\n }\r\n async function turnOnCamera() {\r\n getLocation();\r\n\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n function handleSuccess(turnOfCamera: MediaStream) {\r\n console.log(\"HANDLE success\", turnOfCamera);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setCameraPermission(true);\r\n setIsLoading(false);\r\n }\r\n\r\n function handleError(error: any) {\r\n console.log(\"HANDLE ERROR\", error);\r\n setIsLoading(true);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n setCameraPermission(false);\r\n console.log(\"handle error line end\");\r\n // if (!browserPermission) {\r\n // turnOnCamera();\r\n // }\r\n }\r\n\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then((stream) => {\r\n console.log(stream, \"then\");\r\n handleSuccess(stream);\r\n })\r\n .catch((stream) => {\r\n console.log(stream, \"catch\");\r\n handleError(stream);\r\n });\r\n }\r\n function getIpvOtp(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"456 - Error in getting IPV OTP\");\r\n setErrCode(res.error);\r\n gtmService({ action: \"GetIPVOTP\", label: \"ERROR || ERR149\" });\r\n } else {\r\n if (res.data && res.data.OTP) {\r\n setOtp(res.data.OTP);\r\n getLocation();\r\n } else {\r\n gtmService({ action: \"GetIPVOTP\", label: \"ERROR || ERR149-S\" });\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function ipvUploaded(uploadObj: any, isSafari: boolean) {\r\n console.log(\"lat\",lat);\r\n console.log(\"long\",long);\r\n if (lat !== \"\" && lat !== undefined && long !== \"\" && long !== undefined)\r\n {\r\n console.log(\"uploadObj\", uploadObj);\r\n setIsLoading(true);\r\n if (isSafari) {\r\n AUploadIpvSafari(videoUploaded, uploadObj);\r\n } else {\r\n AUploadIpv(videoUploaded, uploadObj);\r\n }\r\n }\r\n else\r\n {\r\n setsShowBrowserPermissionModal(true);\r\n }\r\n }\r\n\r\n function videoUploaded(res: any) {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(\"980 - Error in uploading video\");\r\n gtmService({ action: \"UploadIPVMerge\", label: \"ERROR || ERR151\" });\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n \r\n saveIpvDetails({ coords: {} });\r\n // completeModuleStatus(dashboardUrl.ipv);\r\n // gtmService({ action: \"VIDEO_IPV\", label: \"Step_Complete\" });\r\n // // Clevertap event: submit documents data\r\n // const data = {\r\n // EventName: cleverTapEvents.registration.ipvPage.CLICK_ON_SUBMIT,\r\n // InitiationPlatform: \"\",\r\n // UTM_SOURCE: UTM_SOURCE || \"\",\r\n // UTM_MEDIUM: UTM_MEDIUM || \"\",\r\n // UTM_CAMPAIGN: UTM_CAMPAIGN || \"\",\r\n // KRA: GlobalStore.isKRA,\r\n // DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n // ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n // LEAD_ID: GlobalStore.leadId,\r\n // REF_ID: GlobalStore.applicationID,\r\n // };\r\n\r\n // ClevertapService.pushEvent(data);\r\n // // Clevertap ends here\r\n\r\n // // Apps flyer event for click on proceed on bank details page\r\n // AppsFlyerService.pushEvent(\r\n // appsFlyerEvents.registration.ipvPage.CLICK_ON_SUBMIT\r\n // );\r\n\r\n // if (!id) history.push(incompleteStageNavigation());\r\n // else\r\n // alert(\r\n // \"IPV uploaded successfully, please close this browser window and continue with your Account Opening process\"\r\n // );\r\n } else {\r\n setIsLoading(false);\r\n setErrCode(\"981 - Error in uploading video\");\r\n gtmService({ action: \"UploadIPVMerge\", label: \"ERROR || ERR151-S\" });\r\n }\r\n }\r\n }\r\n\r\n const sendSms = (val: string) => {\r\n console.log(\"lat\",lat);\r\n console.log(\"long\",long);\r\n if (lat !== \"\" && lat !== undefined && long !== \"\" && long !== undefined) {\r\n if (enableLink === true) {\r\n setEnableLink(false);\r\n } else {\r\n setEnableLink(true);\r\n // Create and send link for capturing IPV from mobile\r\n const encodedPan = btoa(`${GlobalStore.personaldetails.pan}`);\r\n const stringParams = `ipvLink?id=${encodedPan}`;\r\n const ipvUrl = `${config.root}${stringParams}`;\r\n\r\n console.log(ipvUrl);\r\n const smsBody = {\r\n mobNo: GlobalStore.user.mobile,\r\n selfieLinkText: ipvUrl,\r\n // selfieLinkText: `Give a Smile and complete your IPV process for Online Account Opening, click here ${ipvUrl} to complete the process. Regards, Nuvama`,\r\n };\r\n ASendSms(() => {}, smsBody);\r\n\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd\",\r\n organizationCode: \"2\",\r\n geo_location: `${lat}, ${long}`,\r\n ipaddress: \"192.168.200.80\",\r\n ipvlink: ipvUrl,\r\n latitude: `${lat}`,\r\n longitude: `${long}`,\r\n source:\"VideoVerification 2\"\r\n\r\n };\r\n console.log(\"called here in send SMS\");\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n ASaveIPVerificationDetails((response:any) => iPVerificationSaved(response,\"fromSMS\"), ipvObj);\r\n \r\n }\r\n } else {\r\n setsShowBrowserPermissionModal(true);\r\n }\r\n };\r\n\r\n function checkPdStatus() {\r\n const timer = setInterval(() => {\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n }, 10000);\r\n intervalTimer = timer;\r\n }\r\n\r\n function getClientStageDetails(res: any) {\r\n if (!res || res.error) {\r\n } else if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n setStageData(responseObj);\r\n if (responseObj.isesigncompleted) {\r\n setIsLoading(false);\r\n console.log(\"Esign Completed\");\r\n setESignCompleted(true);\r\n } else if (responseObj.isipvarificationcompleted) {\r\n setIsLoading(false);\r\n clearInterval(intervalTimer);\r\n // history.push(incompleteStageNavigation());\r\n if (!id) history.push(dashboardUrl.profiler);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {showBrowserPermissionModal && (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n setsShowBrowserPermissionModal(false);\r\n turnOnCamera();\r\n // setsShowBrowserPermissionModal(false);\r\n }}\r\n >\r\n OK\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n setShowSample(false)}\r\n >\r\n
\r\n \"ipvDemo\"\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 {otp && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {isGeoError && !isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There is a delay in loading the contents, please wait for a\r\n moment !!\r\n

\r\n
\r\n \r\n ) : null}\r\n\r\n {isGeoError && isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There was a delay in loading the contents, refresh the page!!{\" \"}\r\n

\r\n
\r\n \r\n ) : null}\r\n\r\n {!id && (\r\n
\r\n \r\n
\r\n sendSms(\"Photo\")} />\r\n
\r\n
\r\n )}\r\n
\r\n {enableLink && (\r\n
\r\n \r\n {/*
\r\n \r\n
\r\n \r\n
*/}\r\n
\r\n )}\r\n
\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default VideoVerification;\r\n","import React, { Component } from \"react\";\r\nimport down from \"../../../assets/icons/down.svg\";\r\nimport \"./Dropdown.scss\";\r\n\r\nexport interface IProps {\r\n options: any;\r\n searchKey: string;\r\n placeholder?: string;\r\n noDataMsg?: string;\r\n isDownArrow?: boolean;\r\n name?: string;\r\n disabled?: boolean;\r\n errorText?: string;\r\n autoComplete?: string;\r\n searchLength: number;\r\n className?: string;\r\n defaultValue?: string;\r\n onChange?: (value: string) => void;\r\n onOptionSelect?: (value: any) => void;\r\n onBlur?: (value: any) => void;\r\n}\r\n\r\nexport interface IState {\r\n isShowSuggestions: boolean;\r\n value: string;\r\n selectedObj?: object | undefined;\r\n}\r\n\r\nclass Dropdown extends Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n isShowSuggestions: false,\r\n value: props.defaultValue || \"\",\r\n selectedObj: undefined\r\n };\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps: IProps, prevState: IState) {\r\n if (nextProps.defaultValue !== prevState.value && nextProps.defaultValue !== undefined) {\r\n this.setState({ value: nextProps.defaultValue });\r\n }\r\n }\r\n\r\n onFocus = () => {\r\n if (this.props.searchLength === 0 || this.state.value.length >= this.props.searchLength) {\r\n this.setState({ isShowSuggestions: true });\r\n } else {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n };\r\n\r\n onChange = (value: any) => {\r\n this.setState({ value: value, selectedObj: undefined });\r\n this.props.onChange && this.props.onChange(value);\r\n };\r\n\r\n onOptionSelect = (item: any) => {\r\n this.setState({ value: item[this.props.searchKey], selectedObj: item, isShowSuggestions: false });\r\n if (this.props.onOptionSelect) {\r\n this.props.onOptionSelect(item);\r\n }\r\n };\r\n handleBlur = () => {\r\n setTimeout(() => {\r\n if (this.state.isShowSuggestions) {\r\n this.setState({ isShowSuggestions: false });\r\n }\r\n this.props.onBlur && this.props.onBlur(this.state.selectedObj);\r\n }, 300);\r\n };\r\n\r\n render() {\r\n const { isShowSuggestions } = this.state;\r\n let ddCount = 0;\r\n\r\n const noData = (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n\r\n let showSuggestions = this.props.options.map((item: any, i: any) => {\r\n // const dropdownData = item[this.props.searchKey].replace(new RegExp(this.state.value, \"i\"), \"$&\");\r\n const dropdownData = item[this.props.searchKey];\r\n ddCount++;\r\n return (\r\n
this.onOptionSelect(item)}>\r\n
\r\n \r\n
\r\n
\r\n );\r\n });\r\n\r\n return (\r\n
\r\n this.onChange(e.target.value)}\r\n onBlur={this.handleBlur}\r\n onFocus={this.onFocus}\r\n value={this.state.value}\r\n disabled={this.props.disabled}\r\n placeholder={this.props.placeholder}\r\n autoComplete={this.props.autoComplete ? this.props.autoComplete : \"off\"}\r\n style={this.props.isDownArrow ? { backgroundImage: `url(${down})` } : {}}\r\n />\r\n {isShowSuggestions && (showSuggestions || this.props.noDataMsg) ? (\r\n
{ddCount ? showSuggestions : noData}
\r\n ) : null}\r\n {this.props.errorText &&

{this.props.errorText}

}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Dropdown;\r\n","import React, { useState } from \"react\";\r\nimport {\r\n ACheckClientProfilingData,\r\n AGetClientProfilingQuestion,\r\n ASaveClientProfilingQuestion,\r\n} from \"../Services/dashboard/profilerApiServices\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport Radio from \"../../components/UI/Radio/Radio\";\r\nimport { MultiSelectCheckBox } from \"../UI/Checkbox/Checkbox\";\r\nimport \"./Profiler.scss\";\r\nimport { SubmitButton } from \"../UI/Button/Button\";\r\nimport { dashboardUrl, subsource_ID } from \"../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n completeModuleStatus,\r\n incompleteStageNavigation,\r\n} from \"../Services/globalService\";\r\nimport { isTemplateTail } from \"typescript\";\r\nimport Dropdown from \"../UI/Dropdown/Dropdown\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport config from \"../../config/domain\";\r\n\r\nexport interface OptionProps {\r\n option_ID: number;\r\n question_ID: number;\r\n isChecked?: boolean;\r\n}\r\n\r\nconst Profiler = (props: any) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [loaderSign, setLoaderSign] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [checkClientProfilingData, setCheckClientProfilingData] =\r\n React.useState(false);\r\n const [optionId, setOptionId] = React.useState();\r\n const [singleAns, setSingleAns] = React.useState>([]);\r\n const [questionLists, setQuestionLists] = React.useState();\r\n\r\n const [lists, setLists] = React.useState>([]);\r\n const history = useHistory();\r\n\r\n React.useEffect(() => {\r\n setIsLoading(true);\r\n ACheckClientProfilingData(\r\n getCheckClientkProfilingData,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n }, []);\r\n\r\n // Clervertap event: Profiler/Investment screen is loaded\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.investmentPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n }, []);\r\n\r\n const getCheckClientkProfilingData = (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // setErrCode(\"180- Failed to fetch client profiling data.\");\r\n setErrCode(res.error);\r\n } else if (res.data === false) {\r\n setIsLoading(false);\r\n setCheckClientProfilingData(res.data);\r\n if (!res.data) {\r\n AGetClientProfilingQuestion(\r\n getClientProfilingQuestion,\r\n GlobalStore.applicationID,\r\n // sourceId\r\n config.clientQuesttionSourceId\r\n );\r\n }\r\n } else {\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const getClientProfilingQuestion = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error)\r\n } else if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n console.log(\"getClientProfilingQuestion responseObj\", responseObj);\r\n if (responseObj) {\r\n setQuestionLists(responseObj.QuestionList);\r\n }\r\n const multiAnswerList = responseObj.QuestionList.filter(\r\n (x: any) => x.IsMultiple === \"Y\"\r\n );\r\n const remultiAnswerList = multiAnswerList.map((i: any, index: number) =>\r\n i.QuestionOptions.map((item: any) =>\r\n Object.assign({}, item, { checked: false })\r\n )\r\n );\r\n setLists([...remultiAnswerList]);\r\n }\r\n };\r\n\r\n const handleSelection = (e: any) => {\r\n const single = [...singleAns];\r\n let isPresent = singleAns.some(function (o: any) {\r\n return o[\"QuestionID\"] === e.QuestionID;\r\n });\r\n if (!isPresent) {\r\n single.push(e);\r\n } else {\r\n const objIndex = singleAns.findIndex(\r\n (obj: any) => obj.QuestionID == e.QuestionID\r\n );\r\n single[objIndex] = e;\r\n }\r\n setSingleAns(single);\r\n };\r\n\r\n const handleSubmit = () => {\r\n const updatelist: any = [];\r\n const saveQuestion: any = [];\r\n\r\n const filterSingleAnswer = singleAns.filter((j: any) => j.QuestionID != 0);\r\n\r\n const filterMultiAnser = lists.map((item: any) =>\r\n updatelist.push(item.filter((x: any) => x.checked === true))\r\n );\r\n const mergedmultiAnswerObj = [].concat.apply([], updatelist);\r\n\r\n if (filterSingleAnswer.length != 0) {\r\n filterSingleAnswer.map((item: any) =>\r\n saveQuestion.push({\r\n clientId: GlobalStore.applicationID,\r\n createdBy: 0,\r\n optionId: item.OptionId,\r\n questionId: item.QuestionID,\r\n versions: 0,\r\n sourceId: config.clientQuesttionSourceId,\r\n })\r\n );\r\n }\r\n\r\n if (mergedmultiAnswerObj.length !== 0) {\r\n mergedmultiAnswerObj.map((item: any) =>\r\n saveQuestion.push({\r\n // prev request types\r\n\r\n // client_ID: GlobalStore.applicationID,\r\n // createdby: 0,\r\n // option_ID: item.OptionId,\r\n // question_ID: item.QuestionID,\r\n // versions: 0,\r\n clientId: GlobalStore.applicationID,\r\n createdBy: 0,\r\n optionId: item.OptionId,\r\n questionId: item.QuestionID,\r\n versions: 0,\r\n sourceId: config.clientQuesttionSourceId,\r\n })\r\n );\r\n }\r\n\r\n ASaveClientProfilingQuestion(\r\n getSaveResonse,\r\n GlobalStore.applicationID,\r\n config.clientQuesttionSourceId,\r\n saveQuestion\r\n );\r\n setIsLoading(true);\r\n };\r\n\r\n const getSaveResonse = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"111 - Failed to fetch client profiling question details\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else if (res.data) {\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n completeModuleStatus(dashboardUrl.profiler);\r\n gtmService({ action: \"INVESTMENT_SETUP\", label: \"Step_Complete\" });\r\n\r\n // Clevertap event: submit investment data\r\n const data = {\r\n EventName: cleverTapEvents.registration.investmentPage.CLICK_ON_SUBMIT,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE,\r\n UTM_MEDIUM,\r\n UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on investmentPage details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.investmentPage.CLICK_ON_SUBMIT\r\n );\r\n\r\n history.push(incompleteStageNavigation());\r\n }\r\n };\r\n\r\n const handleChange = (list: any, index: number) => {\r\n const newList = [...lists];\r\n newList[index] = list;\r\n setLists(newList);\r\n };\r\n\r\n return (\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 {questionLists &&\r\n questionLists.map((list: any, index: number) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {list.IsMultiple === \"N\" ? (\r\n \r\n handleSelection(val)}\r\n />\r\n
\r\n ) : (\r\n
\r\n {lists &&\r\n lists.map((multiOption: any, index: number) => {\r\n if (\r\n multiOption[index].QuestionID === list.QuestionId\r\n ) {\r\n return (\r\n
\r\n handleChange(list, index)}\r\n />\r\n
\r\n );\r\n }\r\n })}\r\n
\r\n )}\r\n
\r\n );\r\n })}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Profiler;\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\n\r\n\r\nexport const ASaveAddressDetails = (\r\n callback: CallableFunction,\r\n saveAddressPayload: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveAddressDetails\",\r\n method: \"POST\",\r\n body: saveAddressPayload,\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveAddressDetails,\r\n },\r\n callback\r\n );\r\n}\r\nexport const AVerifyDocumentData = (\r\n callback: CallableFunction,\r\n verifyDocumentPayload: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"Idfy/VerifyDocumentData\",\r\n method: \"POST\",\r\n body: verifyDocumentPayload,\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveAddressDetails,\r\n },\r\n callback\r\n );\r\n}\r\nexport const GetAddressDetails = (\r\n callback: CallableFunction,\r\n applicationId: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetAddressDetails\",\r\n method: \"POST\",\r\n body:{\r\n applicationId: applicationId,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getAddressDetails,\r\n },\r\n callback\r\n );\r\n}\r\nexport const ASaveDocumentDetails = (\r\n callback: CallableFunction,\r\n applicationId: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/GetAddressDetails\",\r\n method: \"POST\",\r\n body:{\r\n applicationId: applicationId,\r\n },\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getAddressDetails,\r\n },\r\n callback\r\n );\r\n}\r\nfunction sortDocumentInfo(documents: any) {\r\n let sortedDocuments: Array = [];\r\n for (let doc of documents) {\r\n let docObj: any = {};\r\n docObj.FileName = doc.fileName;\r\n docObj.DocumentId = doc.documentId;\r\n docObj.MimeType = doc.mimeType;\r\n docObj.PanNo = doc.panno;\r\n docObj.PersonalDetailsId = doc.personaldetailsid;\r\n docObj.DocumentCategoryId = doc.documentCategoryId;\r\n docObj.DocumentExpiryDate = doc.documentexpirydate;\r\n docObj.IsFileappFlag = doc.isWatsappFlag;\r\n docObj.DocumenCropped = doc.isfilecropped;\r\n docObj.AutoQc = doc.autoqc;\r\n docObj.IsQRVerified = doc.IsQRVerified;\r\n docObj.DocumentIssueDate = doc.DocumentIssueDate;\r\n docObj.DocumentName = doc.DocumentName;\r\n docObj.IsDocumentVerified = doc.IsDocumentVerified;\r\n docObj.documentNumber = doc.documentNumber;\r\n sortedDocuments.push(docObj);\r\n }\r\n return sortedDocuments;\r\n}\r\nexport const ASavePersonalDocument = (\r\n callback: CallableFunction,\r\n saveObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DIYAPI/SaveUploadedDocumentDetails\",\r\n body: {\r\n ClientPrimaryDetailId: saveObj.clientPrimaryDetailId,\r\n ApplicationId: saveObj.applicationId,\r\n LeadId: saveObj.leadId,\r\n DocumentInfo: saveObj.documentInfo\r\n ? sortDocumentInfo(saveObj.documentInfo)\r\n : [],\r\n UtmInfoDetails: saveObj.objUTM_Info,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.saveUploadedDocumentDetails,\r\n },\r\n callback\r\n );\r\n \r\n};","import React, { useState } from \"react\";\r\nimport \"./PersonalInfo.scss\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport Tag from \"../../UI/Tag/Tag\";\r\nimport DropdownSearch from \"../../UI/DropdownSearch/DropdownSearch\";\r\nimport Button, {\r\n DashedButton,\r\n TransparentButton,\r\n} from \"../../UI/Button/Button\";\r\nimport SubmitButton from \"../../UI/Button/Button\";\r\nimport Toggle from \"../../UI/Toggle/Toggle\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport Backdrop from \"../../UI/Backdrop/Backdrop\";\r\nimport micr from \"../../../assets/icons/micr.jpg\";\r\nimport { AGetKycDetails } from \"../../Services/dashboard/profileApiService\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport moment from \"moment\";\r\n\r\nimport {\r\n aadhaarDocumnetId,\r\n addressType,\r\n corrAadhaarDocumnetId,\r\n corrDlDocumentId,\r\n corrPassportDocumnetId,\r\n corrVoterIdDocumentId,\r\n dashboardUrl,\r\n DIY,\r\n dlDocumentId,\r\n panDocumentId,\r\n passportDocumnetId,\r\n voterIdDocumentId,\r\n} from \"../../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport cleverTapEvents from \"../../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../../config/appsFlyerEvents\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport AddressField, {\r\n IAddressFormat,\r\n addressErrorObj,\r\n CkycAddressFormat,\r\n} from \"../../Profile/AddressField/AddressField\";\r\nimport DocumentBrowse, {\r\n DocDetailFormat,\r\n} from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport {\r\n AextractAadhaar,\r\n AextractDl,\r\n AextractPassport,\r\n AextractVoterid,\r\n AgetPdf,\r\n AGetUploadedDocument,\r\n AmaskAadhaar,\r\n ADownloadDocument,\r\n ASaveDocumentDetails,\r\n} from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { AUploadDocument } from \"../../Services/dashboard/brokerageServices\";\r\nimport { uploadDocObj } from \"../../DocumentVerification/DocVerificationForm/DocVerificationForm\";\r\nimport Checkbox from \"../../UI/Checkbox/Checkbox\";\r\nimport {\r\n ASaveAddressDetails,\r\n AVerifyDocumentData,\r\n GetAddressDetails,\r\n ASavePersonalDocument,\r\n} from \"../../Services/registration/manualFlowService\";\r\nimport { repairAddressWithConditions } from \"../../utils/validation\";\r\nimport {\r\n completeModuleStatus,\r\n incompleteStageNavigation,\r\n utmDurationInfoObj,\r\n} from \"../../Services/globalService\";\r\nimport Calender from \"../../UI/Calender/Calender\";\r\nimport AddressInfoField, {\r\n addressInfoErrorObj,\r\n IAddressInfoFormat,\r\n} from \"./AddressInfoField\";\r\n\r\nconst identificationListPerm = [\r\n {\r\n display: \"Aadhaar Card\",\r\n value: 117,\r\n },\r\n {\r\n display: \"Driving License\",\r\n value: 118,\r\n },\r\n {\r\n display: \"Voter ID\",\r\n value: 116,\r\n },\r\n {\r\n display: \"Passport\",\r\n value: 114,\r\n },\r\n];\r\nconst identificationListCorr = [\r\n {\r\n display: \"Aadhaar Card\",\r\n value: 10,\r\n },\r\n {\r\n display: \"Driving License\",\r\n value: 13,\r\n },\r\n {\r\n display: \"Voter ID\",\r\n value: 12,\r\n },\r\n {\r\n display: \"Passport\",\r\n value: 11,\r\n },\r\n];\r\n\r\nexport const initialAddressObj: any = {\r\n addressLine1: \"\",\r\n City: \"\",\r\n Country: \"\",\r\n District: \"\",\r\n PinCode: \"\",\r\n State: \"\",\r\n Area: \"\",\r\n CountryCode: 0,\r\n StateCode: 0,\r\n clientName: \"\",\r\n};\r\n\r\nexport const initialDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: true,\r\n uploadPer: 0,\r\n hideProgress: false,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n isWatsappFlag: false,\r\n};\r\nexport const initialPanDocObj: DocDetailFormat = {\r\n id: \"\",\r\n disable: false,\r\n uploadPer: 0,\r\n hideProgress: true,\r\n fileName: \"\",\r\n showFile: true,\r\n imgUrl: \"\",\r\n documentcategory: \"\",\r\n documentCategoryId: \"\",\r\n documentId: 0,\r\n mimeType: \"\",\r\n base64: \"\",\r\n iscropped: false,\r\n isWatsappFlag: false,\r\n};\r\nlet localAadharNo: any;\r\nconst PersoanlInfo = (props: any) => {\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [permAddListError, setPermAddListError] = useState(\"\");\r\n const [permSecAddListError, setPermSecAddListError] = useState(\"\");\r\n const [corrAddListError, setCorrAddListError] = useState(\"\");\r\n const [corrSecAddListError, setCorrSecAddListError] = useState(\"\");\r\n const [anotherFile, setAnotherFile] = React.useState(false);\r\n const [secondDoc, setSecondDoc] = useState(false);\r\n const [corrSecondDoc, setCorrSecondDoc] = useState(false);\r\n const [corrAnotherFile, setCorrAnotherFile] = React.useState(false);\r\n\r\n const [permAddList, setPermAddList] = useState([]);\r\n const [defaultAddress, setDefaultAddress] = useState(\"\");\r\n const [defaultCorrAddress, setDefaultCorrAddress] = useState(\"\");\r\n\r\n const [permAddressObj, setPermAddressObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [permSecondAddressObj, setPermSecondAddressObj] =\r\n useState({ ...initialPanDocObj });\r\n const [corrAddressObj, setCorrAddressObj] = useState({\r\n ...initialDocObj,\r\n });\r\n const [corrSecondAddressObj, setCorrSecondAddressObj] = useState({\r\n ...initialPanDocObj,\r\n });\r\n const [permanentAddress, setPermanentAddress] = React.useState({\r\n ...initialAddressObj,\r\n });\r\n const [correspondanceAddress, setCorrespondanceAddress] = React.useState(\r\n { ...initialAddressObj }\r\n );\r\n const [permErrorObj, setPermErrorObj] = React.useState<{\r\n [key in keyof IAddressInfoFormat]?: string;\r\n }>({\r\n ...addressInfoErrorObj,\r\n });\r\n const [corrErrorObj, setCorrErrorObj] = React.useState<{\r\n [key in keyof IAddressInfoFormat]?: string;\r\n }>({\r\n ...addressInfoErrorObj,\r\n });\r\n const [isNewPermAddress, setIsNewPermAddress] = useState(false);\r\n const [isNewCorrAddress, setIsNewCorrAddress] = useState(false);\r\n const [addressName, setAddressName] = React.useState(\"\");\r\n const [corrAddressName, setCorrAddressName] = React.useState(\"\");\r\n const [sameAsPermanent, setSameAsPermanent] = React.useState(true);\r\n const [errors, setErrors] = React.useState({\r\n permanentAddress: \"\",\r\n correspondanceAddress: \"\",\r\n });\r\n const [drivingFlag, setDrivingFlag] = React.useState(false);\r\n const [corrsDrivingFlag, SetCorrsDrivingFlag] =\r\n React.useState(false);\r\n const [qrVerifiedAadhar, setQrVerifiedAadhar] =\r\n React.useState(false);\r\n const [autoQCFlagPer, setAutQcFlagPer] = React.useState(false);\r\n const [autoQCFlagCor, setAutQcFlagCor] = React.useState(false);\r\n const [qrVerifiedCorrsAadhar, setQrVerifiedCorrsAadhar] =\r\n React.useState(false);\r\n // const [aadharNo, setAadharNo] = React.useState(\"\");\r\n const history = useHistory();\r\n React.useEffect(() => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n // localAadharNo = JSON.parse(\r\n // window.localStorage.getItem(\"aadharNumber\") || \"\"\r\n // );\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n GetAddressDetails(getKycDetails, GlobalStore.applicationID);\r\n AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID);\r\n }, []);\r\n\r\n function getKycDetails(res: any) {\r\n try {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n let responseObj = JSON.parse(res.data);\r\n if (responseObj.AddressDetails) {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n responseObj.ClientPrimaryDetailID;\r\n clientPartialDetails_ao.addressLine1 =\r\n responseObj.AddressDetails.objPermanentAddressDetails.permanentaddressline1;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n responseObj.corrsaddraspermanent\r\n ? responseObj.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n responseObj.AddressDetails.objCorrespondenceAddressDetails.correspondenceaddressline1;\r\n if (responseObj?.DocumentNumber?.length === 4) {\r\n clientPartialDetails_ao.aadharNo = responseObj.DocumentNumber\r\n ? responseObj.DocumentNumber.slice(-4)\r\n : \"\";\r\n GlobalStore.personaldetails.aadharNo =\r\n window.localStorage.setItem(\r\n \"aadharNumber\",\r\n GlobalStore.personaldetails.aadharNo\r\n );\r\n localAadharNo = responseObj.DocumentNumber.slice(-4);\r\n window.localStorage.setItem(\"aadharNumber\", localAadharNo);\r\n }\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n let permResultObj =\r\n responseObj.AddressDetails.objPermanentAddressDetails;\r\n if (permResultObj) {\r\n const permAddObj = { ...permanentAddress };\r\n permAddObj.addressLine1 =\r\n (permResultObj.permanentaddressline1 || \"\") +\r\n (permResultObj.permanentaddressline2 || \"\") +\r\n (permResultObj.permanentaddressline3 || \"\") +\r\n (permResultObj.permanentaddressline4 || \"\");\r\n permAddObj.Area = permResultObj.permanentarea;\r\n permAddObj.City = permResultObj.permanentcity;\r\n permAddObj.PinCode = permResultObj.permanentpincode;\r\n permAddObj.District = permResultObj.permanentdistrict;\r\n permAddObj.State = permResultObj.permanentstate;\r\n permAddObj.StateCode = permResultObj.permanentstatecode;\r\n permAddObj.Country = permResultObj.permanentcountry;\r\n permAddObj.CountryCode = permResultObj.permanentcountrycode;\r\n permAddObj.clientName = permResultObj.documentname;\r\n permAddObj.documentNumber = permResultObj.documentnumber;\r\n permAddObj.dateOfIssue = permResultObj?.documentissuedate\r\n ? permResultObj?.documentissuedate\r\n ?.split(\"-\")\r\n ?.reverse()\r\n ?.join(\"/\")\r\n : \"\";\r\n permAddObj.dateOfExpiry = permResultObj?.documentexpirydate\r\n ? permResultObj?.documentexpirydate\r\n ?.split(\"-\")\r\n ?.reverse()\r\n ?.join(\"/\")\r\n : \"\";\r\n if (\r\n permResultObj?.documentnumber?.length === 4 ||\r\n permResultObj?.documentnumber?.includes(\"XXXX\")\r\n ) {\r\n permAddObj.documentNumber =\r\n permResultObj?.documentnumber?.length === 4\r\n ? `XXXX XXXX ${permResultObj.documentnumber}`\r\n : permResultObj?.documentnumber;\r\n delete permAddObj.dateOfExpiry;\r\n delete permAddObj.dateOfIssue;\r\n }\r\n if (permResultObj?.documentnumber?.length === 10) {\r\n delete permAddObj.dateOfExpiry;\r\n }\r\n\r\n setPermanentAddress(permAddObj);\r\n // for AO-1395 KYC/KRA address proof reject\r\n }\r\n let corrsResultObj =\r\n responseObj.AddressDetails.objCorrespondenceAddressDetails;\r\n if (corrsResultObj) {\r\n const corrAddObj = { ...correspondanceAddress };\r\n corrAddObj.addressLine1 =\r\n corrsResultObj.correspondenceaddressline1 +\r\n corrsResultObj.correspondenceaddressline2 +\r\n (corrsResultObj.correspondenceaddressline3 || \"\") +\r\n (corrsResultObj.correspondenceaddressline4 || \"\");\r\n corrAddObj.Area = corrsResultObj.correspondancearea;\r\n corrAddObj.City = corrsResultObj.correspondancecity;\r\n corrAddObj.PinCode = corrsResultObj.correspondancepincode;\r\n corrAddObj.District = corrsResultObj.correspondancedistrict;\r\n corrAddObj.State = corrsResultObj.correspondancestate;\r\n corrAddObj.StateCode = corrsResultObj.correspondancestatecode;\r\n corrAddObj.Country = corrsResultObj.correspondancecountry;\r\n corrAddObj.CountryCode = corrsResultObj.correspondancecountrycode;\r\n corrAddObj.clientName = corrsResultObj.documentname;\r\n corrAddObj.documentNumber = corrsResultObj.documentnumber;\r\n corrAddObj.dateOfIssue = corrsResultObj?.documentissuedate\r\n ? corrsResultObj?.documentissuedate\r\n ?.split(\"-\")\r\n ?.reverse()\r\n ?.join(\"/\")\r\n : \"\";\r\n corrAddObj.dateOfExpiry = corrsResultObj?.documentexpirydate\r\n ? corrsResultObj?.documentexpirydate\r\n ?.split(\"-\")\r\n ?.reverse()\r\n ?.join(\"/\")\r\n : \"\";\r\n if (\r\n corrsResultObj?.documentnumber?.length === 4 ||\r\n corrsResultObj?.documentnumber?.includes(\"XXXX\")\r\n ) {\r\n corrAddObj.documentNumber =\r\n corrsResultObj?.documentnumber?.length === 4\r\n ? `XXXX XXXX ${corrsResultObj.documentnumber}`\r\n : corrsResultObj?.documentnumber;\r\n delete corrAddObj.dateOfIssue;\r\n delete corrAddObj.dateOfExpiry;\r\n }\r\n if (corrsResultObj?.documentnumber?.length === 10) {\r\n delete corrAddObj.dateOfExpiry;\r\n }\r\n setCorrespondanceAddress(corrAddObj);\r\n }\r\n setSameAsPermanent(\r\n responseObj.corrsaddraspermanent === false ? false : true\r\n );\r\n }\r\n setSameAsPermanent(\r\n responseObj.Corrsaddraspermanent === false ? false : true\r\n );\r\n }\r\n\r\n setIsLoading(false);\r\n }\r\n } catch (error) {\r\n console.log(\"error in catch\", error);\r\n }\r\n }\r\n const getUploadedDoc = async (res: any) => {\r\n console.log(\"getUploadedDoc || ==\", res);\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124\" });\r\n } else if (res.data) {\r\n const uplDoc = JSON.parse(res.data);\r\n console.log(\"getUploadedDoc\", uplDoc);\r\n\r\n const isCorrAddressProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Correspondence\"\r\n );\r\n const isPermAddressProof = uplDoc.filter(\r\n (x: any) => x.DocumentCategory === \"Address Proof Permanent\"\r\n );\r\n if (isCorrAddressProof.length > 0) {\r\n setIsLoading(true);\r\n if (isCorrAddressProof[0].DocumentName === \"Aadhaar Card\") {\r\n setDefaultCorrAddress(\"Aadhaar Card\");\r\n setQrVerifiedCorrsAadhar(true);\r\n } else if (isCorrAddressProof[0].DocumentName === \"Passport\") {\r\n setDefaultCorrAddress(\"Passport\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Voter ID\") {\r\n setDefaultCorrAddress(\"Voter ID\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Driving License\") {\r\n setDefaultCorrAddress(\"Driving License\");\r\n } else if (isCorrAddressProof[0].DocumentName === \"Nrega Job Card\") {\r\n setDefaultCorrAddress(\"Nrega Job Card\");\r\n }\r\n\r\n corrAddressObj.id = \"corrAddress\";\r\n corrAddressObj.disable = false;\r\n corrAddressObj.uploadPer = 100;\r\n corrAddressObj.fileName = `${GlobalStore.applicationID}_Corrospondance Address`;\r\n corrAddressObj.showFile = false;\r\n corrAddressObj.hideProgress = false;\r\n corrAddressObj.documentCategoryId =\r\n isCorrAddressProof[0].DocumentCategoryId;\r\n corrAddressObj.documentcategory =\r\n isCorrAddressProof[0].DocumentCategory;\r\n corrAddressObj.documentId = isCorrAddressProof[0].DocumentId;\r\n corrAddressObj.mimeType = isCorrAddressProof[0].MimeType;\r\n corrAddressObj.documentCategoryId =\r\n isCorrAddressProof[0].DocumentCategoryId;\r\n setCorrAddressObj(corrAddressObj);\r\n ADownloadDocument(\r\n getCorrAddressImage,\r\n isCorrAddressProof[0].FileName,\r\n isCorrAddressProof[0].UploadedDocPath\r\n );\r\n }\r\n if (isPermAddressProof.length > 0) {\r\n setIsLoading(true);\r\n // setDefaultPermAddressProof(true);\r\n if (isPermAddressProof[0].DocumentName === \"Aadhaar Card\") {\r\n setDefaultAddress(\"Aadhaar Card\");\r\n setQrVerifiedAadhar(true);\r\n } else if (isPermAddressProof[0].DocumentName === \"Passport\") {\r\n setDefaultAddress(\"Passport\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Voter ID\") {\r\n setDefaultAddress(\"Voter ID\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Driving License\") {\r\n setDefaultAddress(\"Driving License\");\r\n } else if (isPermAddressProof[0].DocumentName === \"Nrega Job Card\") {\r\n setDefaultAddress(\"Nrega Job Card\");\r\n }\r\n\r\n permAddressObj.id = \"permAddress\";\r\n permAddressObj.disable = false;\r\n permAddressObj.uploadPer = 100;\r\n permAddressObj.fileName = `${GlobalStore.applicationID}_Permanent Address`;\r\n permAddressObj.showFile = false;\r\n permAddressObj.hideProgress = false;\r\n permAddressObj.documentCategoryId =\r\n isPermAddressProof[0].DocumentCategoryId;\r\n permAddressObj.documentcategory =\r\n isPermAddressProof[0].DocumentCategory;\r\n permAddressObj.documentId = isPermAddressProof[0].DocumentId;\r\n permAddressObj.mimeType = isPermAddressProof[0].MimeType;\r\n permAddressObj.documentCategoryId =\r\n isPermAddressProof[0].DocumentCategoryId;\r\n setPermAddressObj(permAddressObj);\r\n ADownloadDocument(\r\n getAddressImage,\r\n isPermAddressProof[0].FileName,\r\n isPermAddressProof[0].UploadedDocPath\r\n );\r\n }\r\n } else {\r\n setPermAddressObj(permAddressObj);\r\n setCorrAddressObj(corrAddressObj);\r\n gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124-S\" });\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n const getAddressImage = async (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR129\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, permAddressObj);\r\n permAddressObj.imgUrl = base64;\r\n setPermAddressObj(permAddressObj);\r\n console.log(\"-perm-BASE64\");\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR129-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n function getbase64(dataString: string, obj: DocDetailFormat) {\r\n return (\r\n \"data:\" +\r\n (obj.mimeType === \"application/pdf\" ? \"application/pdf\" : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\r\n }\r\n\r\n const getCorrAddressImage = async (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR130\",\r\n });\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n const base64 = getbase64(res.data.base64document, corrAddressObj);\r\n corrAddressObj.imgUrl = base64;\r\n // corrAddressObj.base64 = base64;\r\n setCorrAddressObj(corrAddressObj);\r\n console.log(\"-corr-BASE64\");\r\n } else {\r\n gtmService({\r\n action: \"DownloadDocumentFromS3\",\r\n label: \"ERROR || ERR130-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const handlePermanentAddress = (val: any) => {\r\n if (val && val.value) {\r\n permAddressObj.disable = false;\r\n permAddressObj.documentId = val.value;\r\n setPermAddressObj(permAddressObj);\r\n setDefaultAddress(val.display);\r\n setDrivingFlag(false);\r\n setQrVerifiedAadhar(false);\r\n // setAadharNo(\"\");\r\n switch (val.display) {\r\n case \"Aadhaar Card\":\r\n setPermanentAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n documentNumber: undefined,\r\n });\r\n break;\r\n case \"Driving License\":\r\n setPermanentAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n dateOfExpiry: \"\",\r\n });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n dateOfExpiry: undefined,\r\n });\r\n break;\r\n case \"Voter ID\":\r\n setPermanentAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n });\r\n break;\r\n case \"Passport\":\r\n setPermanentAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n dateOfExpiry: \"\",\r\n });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n dateOfExpiry: undefined,\r\n });\r\n break;\r\n default:\r\n setPermanentAddress({ ...initialAddressObj });\r\n setPermErrorObj({\r\n ...permErrorObj,\r\n });\r\n break;\r\n }\r\n }\r\n };\r\n const handleAddressBlur = (value: any, identificationDetailType: string) => {\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, [identificationDetailType]: \"\" });\r\n } else {\r\n setErrors({\r\n ...errors,\r\n [identificationDetailType]: \"Please select from dropdown'\",\r\n });\r\n }\r\n };\r\n const handleCorrespondenceAddress = (val: any) => {\r\n if (val && val.value) {\r\n corrAddressObj.disable = false;\r\n corrAddressObj.documentId = val.value;\r\n setCorrAddressObj(corrAddressObj);\r\n setDefaultCorrAddress(val.display);\r\n setQrVerifiedCorrsAadhar(false);\r\n SetCorrsDrivingFlag(false);\r\n // setAadharNo(\"\");\r\n switch (val.display) {\r\n case \"Aadhaar Card\":\r\n setCorrespondanceAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n documentNumber: undefined,\r\n });\r\n break;\r\n case \"Driving License\":\r\n setCorrespondanceAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n dateOfExpiry: \"\",\r\n });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n dateOfExpiry: undefined,\r\n });\r\n break;\r\n case \"Voter ID\":\r\n setCorrespondanceAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n });\r\n break;\r\n case \"Passport\":\r\n setCorrespondanceAddress({\r\n ...initialAddressObj,\r\n documentNumber: \"\",\r\n dateOfIssue: \"\",\r\n dateOfExpiry: \"\",\r\n });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n documentNumber: undefined,\r\n dateOfIssue: undefined,\r\n dateOfExpiry: undefined,\r\n });\r\n break;\r\n default:\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n setCorrErrorObj({\r\n ...corrErrorObj,\r\n });\r\n break;\r\n }\r\n }\r\n };\r\n\r\n function onFirstPermAddressRemove(val: any) {\r\n setPermAddressObj({\r\n ...initialDocObj,\r\n disable: false,\r\n documentId: permAddressObj.documentId,\r\n });\r\n setPermanentAddress({ ...initialAddressObj });\r\n }\r\n function onSecondPermAddressRemove(val: any) {\r\n setPermSecondAddressObj({ ...initialPanDocObj });\r\n setPermanentAddress({ ...initialAddressObj });\r\n }\r\n function onFirstPermAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n permAddressObj.imgUrl = \"\";\r\n permAddressObj.base64 = val!.split(\",\")[1];\r\n permAddressObj.fileName = fileName;\r\n setPermAddressObj(permAddressObj);\r\n if (fileName.split(\".\")[1] !== \"pdf\" && permAddressObj.documentId !== 125) {\r\n setSecondDoc(true);\r\n\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // if PDF\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar PDF Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n }\r\n function onSecondPermAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n permSecondAddressObj.imgUrl = \"\";\r\n permSecondAddressObj.fileName = fileName;\r\n permSecondAddressObj.base64 = val!.split(\",\")[1];\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n permSecondAddressObj.documentId !== 125\r\n ) {\r\n setSecondDoc(true);\r\n if (\r\n permAddressObj.documentId === aadhaarDocumnetId ||\r\n permAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permSecondAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n setIsLoading(false);\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n }\r\n }\r\n\r\n function onFirstCorrAddressRemove(val: any) {\r\n setCorrAddressObj({\r\n ...initialDocObj,\r\n disable: false,\r\n documentId: corrAddressObj.documentId,\r\n });\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n }\r\n function onSecondCorrAddressRemove(val: any) {\r\n setCorrSecondAddressObj({ ...initialPanDocObj });\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n }\r\n function onFirstCorrAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n corrAddressObj.imgUrl = \"\";\r\n corrAddressObj.base64 = val!.split(\",\")[1];\r\n corrAddressObj.fileName = fileName;\r\n setCorrAddressObj(corrAddressObj);\r\n if (fileName.split(\".\")[1] !== \"pdf\" && corrAddressObj.documentId !== 133) {\r\n setCorrSecondDoc(true);\r\n\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: \"Corr Address Proof Permanent\",\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // if PDF\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: \"Corr Address Proof Permanent\",\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n }\r\n }\r\n\r\n function onSecondCorrAddressUploadComplete(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n corrSecondAddressObj.imgUrl = \"\";\r\n corrSecondAddressObj.fileName = fileName;\r\n corrSecondAddressObj.base64 = val!.split(\",\")[1];\r\n setCorrSecondAddressObj(corrSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n corrSecondAddressObj.documentId !== 133\r\n ) {\r\n setCorrSecondDoc(true);\r\n if (\r\n corrAddressObj.documentId === aadhaarDocumnetId ||\r\n corrAddressObj.documentId === corrAadhaarDocumnetId\r\n ) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64,\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: corrSecondAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(\"Aadhar Detected\");\r\n AmaskAadhaar(\r\n (res: any) => maskedAadhar(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n };\r\n AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n }\r\n }\r\n\r\n const addDocument = () => {\r\n if (secondDoc) {\r\n setAnotherFile(true);\r\n } else {\r\n setAnotherFile(false);\r\n }\r\n };\r\n const addCorrDocument = () => {\r\n if (corrSecondDoc) {\r\n setCorrAnotherFile(true);\r\n } else {\r\n setCorrAnotherFile(false);\r\n }\r\n };\r\n const maskedAadhar = (\r\n res: any,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR138\" });\r\n if (res.data.error) {\r\n setErrCode(\"Aadhar Masking failed: \" + res.data.error);\r\n setIsLoading(false);\r\n } else {\r\n setErrCode(res.error);\r\n }\r\n } else if (res.data) {\r\n if (res.data.error) {\r\n setErrCode(\"Aadhar Masking failed: \" + res.data.error);\r\n setIsLoading(false);\r\n } else {\r\n let uploadObj: uploadDocObj;\r\n if (id === \"permAddress\") {\r\n if (res.data.result.id_number_found) {\r\n permAddressObj.base64 = res.data.result.base64_image;\r\n permAddressObj.mimeType = \"image/jpeg\";\r\n permAddressObj.fileName =\r\n permAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setPermAddressObj(permAddressObj);\r\n }\r\n\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64 || \"\",\r\n filename: permAddressObj.fileName,\r\n };\r\n } else if (id === \"permSecondAddress\") {\r\n if (res.data.result.id_number_found) {\r\n permSecondAddressObj.base64 = res.data.result.base64_image;\r\n permSecondAddressObj.mimeType = \"image/jpeg\";\r\n permSecondAddressObj.fileName =\r\n permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64 || \"\",\r\n filename: permSecondAddressObj.fileName,\r\n };\r\n } else if (id === \"corrAddress\") {\r\n if (res.data.result.id_number_found) {\r\n corrAddressObj.base64 = res.data.result.base64_image;\r\n corrAddressObj.mimeType = \"image/jpeg\";\r\n corrAddressObj.fileName =\r\n corrAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setCorrAddressObj(corrAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n };\r\n } else {\r\n if (res.data.result.id_number_found) {\r\n corrSecondAddressObj.base64 = res.data.result.base64_image;\r\n corrSecondAddressObj.mimeType = \"image/jpeg\";\r\n corrSecondAddressObj.fileName =\r\n corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\";\r\n type = \"image/jpeg\";\r\n setCorrSecondAddressObj(corrSecondAddressObj);\r\n }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n };\r\n }\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadRes(res, id, uploadObj.base64document, uploadObj.filename),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type)\r\n );\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR138-S\",\r\n // });\r\n }\r\n };\r\n function handErrorForFileUpload(id: string, res: any) {\r\n if (id === \"permAddress\") {\r\n setPermAddListError(res.error);\r\n }\r\n if (id === \"permSecondAddress\") {\r\n setPermSecAddListError(res.error);\r\n }\r\n if (id === \"corrAddress\") {\r\n setCorrAddListError(res.error);\r\n }\r\n\r\n if (id === \"corrSecondAddress\") {\r\n setCorrSecAddListError(res.error);\r\n }\r\n }\r\n const getUploadRes = (res: any, id: string, val: any, fileName: string) => {\r\n if (!res || res.error) {\r\n // gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n setIsLoading(false);\r\n handErrorForFileUpload(id, res);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n setErrCode(\"\");\r\n if (id === \"permAddress\" && fileName.split(\".\")[1] === \"pdf\") {\r\n setIsLoading(false);\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else if (id === \"permAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n const extractPermOCRObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n console.log(res.data.Guid, \"check 1\");\r\n\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, extractPermOCRObj),\r\n extractPermOCRObj,\r\n \"OCR\"\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, extractPermOCRObj),\r\n extractPermOCRObj\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, extractPermOCRObj),\r\n extractPermOCRObj\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl(\r\n (res: any) => storeOcrData(res, extractPermOCRObj),\r\n extractPermOCRObj\r\n );\r\n } else setIsLoading(false);\r\n } else if (id === \"permSecondAddress\") {\r\n setPermSecAddListError(\"\");\r\n setIsLoading(true);\r\n setIsNewPermAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: permAddressObj.base64,\r\n image2: permSecondAddressObj.base64,\r\n imagename1: permAddressObj.fileName,\r\n imagename2: permSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getPDFData, uploadImageObj);\r\n } else if (id === \"corrAddress\" && fileName.split(\".\")[1] === \"pdf\") {\r\n setIsLoading(false);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n setCorrAddressName(res.data.Guid);\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else if (id === \"corrAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setIsNewCorrAddress(true);\r\n setCorrAddListError(\"\");\r\n setCorrAddressName(res.data.Guid);\r\n const extractCorrsOCRObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, extractCorrsOCRObj),\r\n extractCorrsOCRObj,\r\n \"OCR\"\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, extractCorrsOCRObj),\r\n extractCorrsOCRObj\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, extractCorrsOCRObj),\r\n extractCorrsOCRObj\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl(\r\n (res: any) => storeOcrData(res, extractCorrsOCRObj),\r\n extractCorrsOCRObj\r\n );\r\n } else setIsLoading(false);\r\n } else if (\r\n id === \"corrAddress\" &&\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n corrSecondAddressObj.base64 !== undefined\r\n ) {\r\n setIsLoading(true);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: corrAddressObj.base64,\r\n image2: corrSecondAddressObj.base64,\r\n imagename1: corrAddressObj.fileName,\r\n imagename2: corrSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getCorrPDFData, uploadImageObj);\r\n } else if (id === \"corrSecondAddress\") {\r\n setIsLoading(true);\r\n setCorrSecAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n let uploadImageObj = {\r\n applicationId: GlobalStore.applicationID,\r\n image1: corrAddressObj.base64,\r\n image2: corrSecondAddressObj.base64,\r\n imagename1: corrAddressObj.fileName,\r\n imagename2: corrSecondAddressObj.fileName,\r\n };\r\n AgetPdf(getCorrPDFData, uploadImageObj);\r\n }\r\n } else {\r\n setErrCode(\"1365- Error in uploading the file.\");\r\n // gtmService({\r\n // action: \"UploadDocumentToS3\",\r\n // label: \"ERROR || ERR140-S\",\r\n // });\r\n }\r\n }\r\n };\r\n const storeOcrData = (res: any, id: any) => {\r\n if (!res || res.error) {\r\n if (res?.data?.error) {\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR134-E\",\r\n // });\r\n } else {\r\n setErrCode(res.error);\r\n // gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR134\" });\r\n }\r\n setIsLoading(false);\r\n } else if (res.data) {\r\n setErrCode(\"\");\r\n\r\n setIsLoading(false);\r\n if (id.documentid === aadhaarDocumnetId) {\r\n GlobalStore.aadhaarOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.aadhaarOCRObj.address) {\r\n alert(\r\n //\"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n setPermanentAddress({ ...initialAddressObj });\r\n } else {\r\n let permExtractionData = res?.data?.result?.extraction_output;\r\n setPermanentAddress({\r\n ...permanentAddress,\r\n addressLine1: permExtractionData?.address,\r\n City: permExtractionData?.district,\r\n State: permExtractionData?.state,\r\n PinCode: permExtractionData.pincode,\r\n clientName: permExtractionData?.name_on_card,\r\n documentNumber:\r\n permExtractionData?.id_number?.length > 4\r\n ? `XXXX XXXX ${permExtractionData?.id_number?.slice(-4)}`\r\n : permExtractionData?.id_number\r\n ? `XXXX XXXX ${permExtractionData?.id_number}`\r\n : \"\",\r\n });\r\n // setAadharNo(permExtractionData?.id_number);\r\n //if (res?.data?.result?.qr_detected) {\r\n if (\r\n res?.data?.result?.qr_detected &&\r\n res?.data?.result?.qr_encoded &&\r\n res?.data?.result?.qr_scannable\r\n ) {\r\n setAutQcFlagPer(true);\r\n } else {\r\n setAutQcFlagPer(false);\r\n }\r\n\r\n if (res?.data?.result?.qr_detected) {\r\n setQrVerifiedAadhar(true);\r\n setErrCode(\"\");\r\n } else {\r\n setQrVerifiedAadhar(false);\r\n setErrCode(\"Please upload a valid Document\");\r\n }\r\n if (\r\n permExtractionData?.id_number === null ||\r\n permExtractionData?.id_number === \"\"\r\n ) {\r\n alert(\"please Upload front side of Adhaar as well\");\r\n }\r\n }\r\n } else if (id.documentid === passportDocumnetId) {\r\n GlobalStore.passportOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n\r\n if (!GlobalStore.passportOCRObj.address) {\r\n alert(\r\n //\"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n setPermanentAddress({ ...initialAddressObj });\r\n } else {\r\n let permExtractionData = res?.data?.result?.extraction_output;\r\n setPermanentAddress({\r\n ...permanentAddress,\r\n addressLine1: permExtractionData?.address,\r\n City: permExtractionData?.district,\r\n State: permExtractionData?.state,\r\n PinCode: permExtractionData.pincode,\r\n clientName: permExtractionData?.name_on_card,\r\n documentNumber: permExtractionData?.id_number,\r\n // dateOfIssue: typeof permExtractionData?.date_of_issue == \"string\" ? permExtractionData?.date_of_issue : undefined,\r\n // dateOfExpiry: typeof permExtractionData?.date_of_expiry == \"string\" ? permExtractionData?.date_of_expiry : undefined,\r\n dateOfIssue: permExtractionData?.date_of_issue,\r\n dateOfExpiry: permExtractionData?.date_of_expiry,\r\n });\r\n console.log(\r\n typeof permExtractionData.date_of_issue == \"string\",\r\n \"||\",\r\n typeof permExtractionData.date_of_expiry,\r\n \"===?\",\r\n new Date() < permExtractionData?.date_of_expiry\r\n );\r\n if (\r\n permExtractionData.id_number === null ||\r\n permExtractionData.id_number === \"\"\r\n ) {\r\n alert(\"please Upload other side of Passport as well\");\r\n }\r\n }\r\n } else if (id.documentid === voterIdDocumentId) {\r\n GlobalStore.voterIdOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n\r\n if (!GlobalStore.voterIdOCRObj.address) {\r\n alert(\r\n //\"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n setPermanentAddress({ ...initialAddressObj });\r\n } else {\r\n let permExtractionData = res?.data?.result?.extraction_output;\r\n setPermanentAddress({\r\n ...permanentAddress,\r\n addressLine1: permExtractionData?.address,\r\n City: permExtractionData?.district,\r\n State: permExtractionData?.state,\r\n PinCode: permExtractionData.pincode,\r\n clientName: permExtractionData?.name_on_card,\r\n documentNumber: permExtractionData?.id_number,\r\n });\r\n\r\n if (\r\n permExtractionData.id_number === null ||\r\n permExtractionData.id_number === \"\"\r\n ) {\r\n alert(\"Please upload the other side of the Voter ID as well.\");\r\n }\r\n }\r\n } else if (id.documentid === dlDocumentId) {\r\n GlobalStore.dlOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.dlOCRObj.address) {\r\n alert(\r\n //\"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n setPermanentAddress({ ...initialAddressObj });\r\n } else {\r\n let permExtractionData = res?.data?.result?.extraction_output;\r\n\r\n setPermanentAddress({\r\n ...permanentAddress,\r\n addressLine1: permExtractionData?.address,\r\n City: permExtractionData?.district,\r\n State: permExtractionData?.state,\r\n PinCode: permExtractionData.pincode,\r\n documentNumber: permExtractionData?.id_number,\r\n clientName: permExtractionData?.name_on_card,\r\n dateOfIssue:\r\n moment(\r\n moment(permExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n ? undefined\r\n : moment(\r\n moment(permExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n ).format(\"DD/MM/YYYY\"),\r\n dateOfExpiry:\r\n moment(\r\n moment(permExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n ? undefined\r\n : moment(\r\n moment(permExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n ).format(\"DD/MM/YYYY\"),\r\n });\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: permExtractionData?.date_of_birth,\r\n DocumentType: \"ind_driving_license\",\r\n Source: \"DIY\",\r\n //IdNumber: permExtractionData?.id_number ? null : permExtractionData?.id_number.replace(\" \", \"\"),\r\n IdNumber:\r\n permExtractionData?.id_number !== null\r\n ? permExtractionData.id_number\r\n : \"\",\r\n };\r\n AVerifyDocumentData(\r\n (res: any) => verifyDocumentRes(res),\r\n verifyDrivingObj\r\n );\r\n }\r\n } else if (id.documentid === corrAadhaarDocumnetId) {\r\n GlobalStore.corrAadhaarOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.corrAadhaarOCRObj.address) {\r\n alert(\r\n //\"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n } else {\r\n let corrsExtractionData = res?.data?.result?.extraction_output;\r\n setCorrespondanceAddress({\r\n ...correspondanceAddress,\r\n addressLine1: corrsExtractionData?.address,\r\n City: corrsExtractionData?.district,\r\n State: corrsExtractionData?.state,\r\n PinCode: corrsExtractionData.pincode,\r\n clientName: corrsExtractionData?.name_on_card,\r\n documentNumber:\r\n corrsExtractionData?.id_number?.length > 4\r\n ? `XXXX XXXX ${corrsExtractionData?.id_number?.slice(-4)}`\r\n : corrsExtractionData?.id_number\r\n ? `XXXX XXXX ${corrsExtractionData?.id_number}`\r\n : \"\",\r\n });\r\n if (\r\n corrsExtractionData.id_number === null ||\r\n corrsExtractionData.id_number === \"\"\r\n ) {\r\n alert(\"please Upload front side of Adhaar as well\");\r\n }\r\n // setAadharNo(corrsExtractionData?.id_number);\r\n //if (res?.data?.result?.qr_detected) {\r\n\r\n if (\r\n res?.data?.result?.qr_detected &&\r\n res?.data?.result?.qr_encoded &&\r\n res?.data?.result?.qr_scannable\r\n ) {\r\n setAutQcFlagCor(true);\r\n } else {\r\n setAutQcFlagCor(false);\r\n }\r\n\r\n if (res?.data?.result?.qr_detected) {\r\n setQrVerifiedCorrsAadhar(true);\r\n setErrCode(\"\");\r\n } else {\r\n setQrVerifiedCorrsAadhar(false);\r\n setErrCode(\"Please upload a valid Document\");\r\n }\r\n }\r\n } else if (id.documentid === corrPassportDocumnetId) {\r\n GlobalStore.corrPassportOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.corrPassportOCRObj.address) {\r\n alert(\r\n //\"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n } else {\r\n let corrsExtractionData = res?.data?.result?.extraction_output;\r\n setCorrespondanceAddress({\r\n ...correspondanceAddress,\r\n addressLine1: corrsExtractionData?.address,\r\n City: corrsExtractionData?.district,\r\n State: corrsExtractionData?.state,\r\n PinCode: corrsExtractionData.pincode,\r\n clientName: corrsExtractionData?.name_on_card,\r\n documentNumber: corrsExtractionData?.id_number,\r\n dateOfIssue: corrsExtractionData?.date_of_issue,\r\n dateOfExpiry: corrsExtractionData?.date_of_expiry,\r\n });\r\n }\r\n } else if (id.documentid === corrVoterIdDocumentId) {\r\n GlobalStore.corrVoterIdOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.corrVoterIdOCRObj.address) {\r\n alert(\r\n //\"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n } else {\r\n let corrsExtractionData = res?.data?.result?.extraction_output;\r\n setCorrespondanceAddress({\r\n ...correspondanceAddress,\r\n addressLine1: corrsExtractionData?.address,\r\n City: corrsExtractionData?.district,\r\n State: corrsExtractionData?.state,\r\n PinCode: corrsExtractionData.pincode,\r\n clientName: corrsExtractionData?.name_on_card,\r\n documentNumber: corrsExtractionData?.id_number,\r\n });\r\n }\r\n } else if (id.documentid === corrDlDocumentId) {\r\n GlobalStore.corrDlOCRObj =\r\n res.data.result !== null ? res.data.result.extraction_output : \"\";\r\n if (!GlobalStore.corrDlOCRObj.address) {\r\n alert(\r\n //\"Address is not present in the uploaded file, upload back side of the Aadhar as well.\"\r\n \"Address is not available, please ensure that you upload the 2nd Side of Aadhar\"\r\n );\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n } else {\r\n let corrsExtractionData = res?.data?.result?.extraction_output;\r\n setCorrespondanceAddress({\r\n ...correspondanceAddress,\r\n addressLine1: corrsExtractionData?.address,\r\n City: corrsExtractionData?.district,\r\n State: corrsExtractionData?.state,\r\n PinCode: corrsExtractionData.pincode,\r\n documentNumber: corrsExtractionData?.id_number,\r\n clientName: corrsExtractionData?.name_on_card,\r\n dateOfIssue:\r\n moment(\r\n moment(corrsExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n ? undefined\r\n : moment(\r\n moment(corrsExtractionData?.issue_dates, \"DD/MM/YYYY\")\r\n ).format(\"DD/MM/YYYY\"),\r\n\r\n dateOfExpiry:\r\n moment(\r\n moment(corrsExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n ).format(\"YYYY/MM/DD\") == \"Invalid date\"\r\n ? undefined\r\n : moment(\r\n moment(corrsExtractionData?.date_of_validity, \"DD/MM/YYYY\")\r\n ).format(\"DD/MM/YYYY\"),\r\n });\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: corrsExtractionData?.date_of_birth,\r\n DocumentType: \"ind_driving_license\",\r\n Source: \"DIY\",\r\n // IdNumber: corrsExtractionData?.id_number ? null : corrsExtractionData?.id_number.replace(\" \", \"\"),\r\n IdNumber:\r\n corrsExtractionData?.id_number !== null\r\n ? corrsExtractionData.id_number\r\n : \"\",\r\n };\r\n AVerifyDocumentData(\r\n (res: any) => corrsVerifyDocumentRes(res),\r\n verifyDrivingObj\r\n );\r\n }\r\n }\r\n } else {\r\n // gtmService({ action: \"ExtractDocumentData\", label: \"ERROR || ERR134-S\" });\r\n }\r\n };\r\n const corrsVerifyDocumentRes = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res?.data.verified) {\r\n setErrCode(\"\");\r\n SetCorrsDrivingFlag(true);\r\n } else {\r\n setErrCode(res?.data?.Message);\r\n SetCorrsDrivingFlag(false);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n const verifyDocumentRes = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res?.data.verified) {\r\n setErrCode(\"\");\r\n setDrivingFlag(true);\r\n } else {\r\n setErrCode(res?.data?.Message);\r\n setDrivingFlag(false);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n const getPDFData = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n // gtmService({\r\n // action: \"MargeMultipleImagestoPDF\",\r\n // label: \"ERROR || ERR136\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setAddressName(res.data.Guid);\r\n permAddressObj.mimeType = \"application/pdf\";\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: res.data.Mergedimagespdfbase64,\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"MargeMultipleImagestoPDF\",\r\n // label: \"ERROR || ERR136-S\",\r\n // });\r\n }\r\n }\r\n };\r\n const getCorrPDFData = (res: any) => {\r\n if (!res || res.error) {\r\n gtmService({\r\n action: \"MargeMultipleImagestoPDF\",\r\n label: \"ERROR || ERR137\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n setIsLoading(false);\r\n setCorrAddressName(res.data.Guid);\r\n corrAddressObj.mimeType = \"application/pdf\";\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: res.data.Mergedimagespdfbase64,\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrAadhaarDocumnetId) {\r\n setIsLoading(true);\r\n AextractAadhaar(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) => storeOcrData(res, addressOCR),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n AextractDl((res: any) => storeOcrData(res, addressOCR), addressOCR);\r\n }\r\n } else {\r\n // gtmService({\r\n // action: \"MargeMultipleImagestoPDF\",\r\n // label: \"ERROR || ERR137-S\",\r\n // });\r\n }\r\n }\r\n };\r\n const onUploadProgress = (\r\n event: ProgressEvent,\r\n id: string,\r\n fileName: string,\r\n type: string\r\n ) => {\r\n const { loaded, total } = event;\r\n let percentage = Math.floor((loaded * 100) / total);\r\n let permAddressCopy = { ...permAddressObj };\r\n let permSecondAddressCopy = { ...permSecondAddressObj };\r\n let corrAddressCopy = { ...corrAddressObj };\r\n let corrSecondAddressCopy = { ...corrSecondAddressObj };\r\n console.log(fileName, \"fileName check 2\");\r\n if (percentage < 100) {\r\n if (id === \"permAddress\") {\r\n permAddressCopy.id = id;\r\n permAddressCopy.disable = false;\r\n permAddressCopy.uploadPer = percentage;\r\n permAddressCopy.hideProgress = true;\r\n permAddressCopy.showFile = false;\r\n setPermAddressObj(permAddressCopy);\r\n } else if (id === \"permSecondAddress\") {\r\n permSecondAddressCopy.id = id;\r\n permSecondAddressCopy.disable = false;\r\n permSecondAddressCopy.uploadPer = percentage;\r\n permSecondAddressCopy.hideProgress = true;\r\n permSecondAddressCopy.showFile = false;\r\n setPermSecondAddressObj(permSecondAddressCopy);\r\n } else if (id === \"corrAddress\") {\r\n corrAddressCopy.id = id;\r\n corrAddressCopy.disable = false;\r\n corrAddressCopy.uploadPer = percentage;\r\n corrAddressCopy.hideProgress = true;\r\n corrAddressCopy.showFile = false;\r\n setCorrAddressObj(corrAddressCopy);\r\n } else if (id === \"corrSecondAddress\") {\r\n corrSecondAddressCopy.id = id;\r\n corrSecondAddressCopy.disable = false;\r\n corrSecondAddressCopy.uploadPer = percentage;\r\n corrSecondAddressCopy.hideProgress = true;\r\n corrSecondAddressCopy.showFile = false;\r\n setCorrSecondAddressObj(corrSecondAddressCopy);\r\n }\r\n } else if (percentage === 100) {\r\n if (id === \"permAddress\") {\r\n permAddressCopy.id = id;\r\n permAddressCopy.disable = false;\r\n permAddressCopy.uploadPer = percentage;\r\n permAddressCopy.showFile = false;\r\n permAddressCopy.hideProgress = false;\r\n permAddressCopy.mimeType = type;\r\n permAddressCopy.fileName = fileName;\r\n setPermAddressObj(permAddressCopy);\r\n } else if (id === \"permSecondAddress\") {\r\n permSecondAddressCopy.id = id;\r\n permSecondAddressCopy.disable = false;\r\n permSecondAddressCopy.uploadPer = percentage;\r\n permSecondAddressCopy.showFile = false;\r\n permSecondAddressCopy.hideProgress = false;\r\n permSecondAddressCopy.mimeType = type;\r\n permSecondAddressCopy.fileName = fileName;\r\n setPermSecondAddressObj(permSecondAddressCopy);\r\n } else if (id === \"corrAddress\") {\r\n corrAddressCopy.id = id;\r\n corrAddressCopy.disable = false;\r\n corrAddressCopy.uploadPer = percentage;\r\n corrAddressCopy.showFile = false;\r\n corrAddressCopy.hideProgress = false;\r\n corrAddressCopy.mimeType = type;\r\n corrAddressCopy.fileName = fileName;\r\n setCorrAddressObj(corrAddressCopy);\r\n } else if (id === \"corrSecondAddress\") {\r\n corrSecondAddressCopy.id = id;\r\n corrSecondAddressCopy.disable = false;\r\n corrSecondAddressCopy.uploadPer = percentage;\r\n corrSecondAddressCopy.showFile = false;\r\n corrSecondAddressCopy.hideProgress = false;\r\n corrSecondAddressCopy.mimeType = type;\r\n corrSecondAddressCopy.fileName = fileName;\r\n setCorrSecondAddressObj(corrSecondAddressCopy);\r\n }\r\n }\r\n };\r\n function handleSameAsAbove(event: React.ChangeEvent) {\r\n if (event.target.name === \"sameAscorrespondance\") {\r\n sameAsPermanent && setCorrespondanceAddress({ ...initialAddressObj });\r\n !sameAsPermanent && setCorrespondanceAddress({ ...permanentAddress });\r\n if (!sameAsPermanent) {\r\n setCorrErrorObj({});\r\n }\r\n setSameAsPermanent(!sameAsPermanent);\r\n setCorrAddressObj({ ...initialDocObj });\r\n setCorrSecondAddressObj({ ...initialPanDocObj });\r\n setErrors({ ...errors, correspondanceAddress: \"\" });\r\n setDefaultCorrAddress(\"\");\r\n setQrVerifiedCorrsAadhar(false);\r\n SetCorrsDrivingFlag(false);\r\n }\r\n }\r\n const removeSpclCracters = (value: string) => {\r\n if (value) {\r\n return value; //.replace(/[^a-zA-Z0-9 ]/g, \" \");\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n const handleSubmit = async () => {\r\n setIsLoading(true);\r\n saveAddressDetails();\r\n };\r\n const saveAddressDetails = () => {\r\n const correspondanceAddressLine = repairAddressWithConditions(\r\n correspondanceAddress.addressLine1,\r\n correspondanceAddress.City\r\n );\r\n const permanentAddressLine = repairAddressWithConditions(\r\n permanentAddress.addressLine1,\r\n permanentAddress.City\r\n );\r\n let saveAddressPayload = {\r\n ApplicationId: GlobalStore.applicationID,\r\n corrsaddraspermanent: sameAsPermanent,\r\n CorrespondenceAddressDetails: {\r\n CorrespondenceAddressLine1:\r\n removeSpclCracters(correspondanceAddressLine.addLine1) || \"\",\r\n CorrespondenceAddressLine2:\r\n removeSpclCracters(correspondanceAddressLine.addLine2) || \"\",\r\n CorrespondenceAddressLine3:\r\n removeSpclCracters(correspondanceAddressLine.addLine3) || \"\",\r\n CorrespondenceAddressLine4:\r\n removeSpclCracters(correspondanceAddressLine.addLine4) || \"\",\r\n CorrespondencePincode: correspondanceAddress.PinCode,\r\n CorrespondenceCountry: correspondanceAddress.Country,\r\n CorrespondenceState: correspondanceAddress.State,\r\n CorrespondenceCity: correspondanceAddress.City,\r\n CorrespondenceDistrict: correspondanceAddress.District,\r\n CorrespondenceArea: correspondanceAddress.Area,\r\n CorrespondenceStatecode: Number(correspondanceAddress.StateCode),\r\n CorrespondenceCountryCode: Number(correspondanceAddress.CountryCode),\r\n CorrespondenceAddressType: addressType,\r\n autoQC: true,\r\n documentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue?.split(\"/\").reverse()?.join(\"-\")\r\n : null,\r\n\r\n documentExpiryDate: correspondanceAddress?.dateOfExpiry\r\n ? correspondanceAddress?.dateOfExpiry?.split(\"/\").reverse()?.join(\"-\")\r\n : null,\r\n\r\n documentName: correspondanceAddress.clientName\r\n ? correspondanceAddress.clientName\r\n : \"\",\r\n documentNumber:\r\n defaultCorrAddress === \"Aadhaar Card\"\r\n ? correspondanceAddress.documentNumber.slice(-4)\r\n : correspondanceAddress.documentNumber,\r\n DocumentId: corrAddressObj.documentId\r\n ? Number(corrAddressObj.documentId)\r\n : sameAsPermanent\r\n ? Number(permAddressObj.documentId)\r\n : \"\",\r\n },\r\n PermanentAddressDetails: {\r\n PermanentAddressLine1:\r\n removeSpclCracters(permanentAddressLine.addLine1) || \"\",\r\n PermanentAddressLine2:\r\n removeSpclCracters(permanentAddressLine.addLine2) || \"\",\r\n PermanentAddressLine3:\r\n removeSpclCracters(permanentAddressLine.addLine3) || \"\",\r\n PermanentAddressLine4:\r\n removeSpclCracters(permanentAddressLine.addLine4) || \"\",\r\n PermanentPincode: permanentAddress.PinCode,\r\n PermanentCountry: permanentAddress.Country,\r\n PermanentState: permanentAddress.State,\r\n PermanentCity: permanentAddress.City,\r\n PermanentDistrict: permanentAddress.District,\r\n Permanentarea: permanentAddress.Area,\r\n Permanentstatecode: Number(permanentAddress.StateCode),\r\n Permanentcountrycode: Number(permanentAddress.CountryCode),\r\n PermanentAddresstype: addressType,\r\n autoQC: true,\r\n documentIssueDate: permanentAddress?.dateOfIssue\r\n ? permanentAddress?.dateOfIssue?.split(\"/\").reverse()?.join(\"-\")\r\n : null,\r\n documentExpiryDate: permanentAddress?.dateOfExpiry\r\n ? permanentAddress?.dateOfExpiry?.split(\"/\").reverse()?.join(\"-\")\r\n : null,\r\n documentName: permanentAddress.clientName\r\n ? permanentAddress.clientName\r\n : \"\",\r\n documentNumber:\r\n defaultAddress === \"Aadhaar Card\"\r\n ? permanentAddress.documentNumber.slice(-4)\r\n : permanentAddress.documentNumber,\r\n DocumentId: permAddressObj.documentId\r\n ? Number(permAddressObj.documentId)\r\n : \"\",\r\n },\r\n };\r\n ASaveAddressDetails((res: any) => saveAddressRes(res), saveAddressPayload);\r\n };\r\n const saveDocument = () => {\r\n setIsLoading(true);\r\n const saveDetails = [];\r\n console.log(\r\n \"PO=\",\r\n permAddressObj,\r\n \"==||==\",\r\n permanentAddress,\r\n \" || CO=\",\r\n corrAddressObj,\r\n \"==||==\",\r\n correspondanceAddress\r\n );\r\n if (\r\n (permAddressObj.uploadPer === 100 && isNewPermAddress) ||\r\n permAddressObj.isWatsappFlag\r\n ) {\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: addressName || permAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: permAddressObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n //autoqc: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n autoqc: autoQCFlagPer,\r\n DocumentIssueDate: permanentAddress?.dateOfIssue\r\n ? permanentAddress?.dateOfIssue?.split(\"/\")?.reverse()?.join(\"-\")\r\n : null,\r\n DocumentName: permanentAddress?.clientName,\r\n documentNumber:\r\n defaultAddress === \"Aadhaar Card\"\r\n ? permanentAddress.documentNumber.slice(-4)\r\n : permanentAddress.documentNumber,\r\n IsDocumentVerified: drivingFlag ? drivingFlag : false,\r\n IsQRVerified: qrVerifiedAadhar ? qrVerifiedAadhar : false,\r\n };\r\n saveDetails.push(savepermAddressObj);\r\n }\r\n if (\r\n (corrAddressObj.uploadPer === 100 && isNewCorrAddress) ||\r\n corrAddressObj.isWatsappFlag\r\n ) {\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrAddressName || corrAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: corrAddressObj.mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue?.split(\"/\")?.reverse()?.join(\"-\")\r\n : null,\r\n DocumentName: correspondanceAddress?.clientName,\r\n documentNumber:\r\n defaultAddress === \"Aadhaar Card\"\r\n ? correspondanceAddress.documentNumber.slice(-4)\r\n : correspondanceAddress.documentNumber,\r\n IsDocumentVerified: corrsDrivingFlag ? corrsDrivingFlag : false,\r\n IsQRVerified: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n };\r\n saveDetails.push(saveCorrAddressObj);\r\n }\r\n\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n ASavePersonalDocument(getSaveStatus, saveObj);\r\n };\r\n\r\n const getSaveStatus = (res: any) => {\r\n if (!res || res.error) {\r\n //setErrCode(1641)\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR133\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n // Clevertap event: submit documents data\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.documentVerificationPage\r\n .CLICK_ON_SUBMIT,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: props.UTM_SOURCE || \"\",\r\n UTM_MEDIUM: props.UTM_MEDIUM || \"\",\r\n UTM_CAMPAIGN: props.UTM_CAMPAIGN || \"\",\r\n KRA: GlobalStore.isKRA,\r\n ADHAR_LINKED_WITH_MOBILE: \"\",\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADDRESS_PROOF_SUBMITTED_VIA: \"upload_now\",\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends here\r\n\r\n // Apps flyer event for click on proceed on plan details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.documentVerificationPage.CLICK_ON_SUBMIT\r\n );\r\n // AGetPendingDocument(pendingDocQC, GlobalStore.applicationID);\r\n } else {\r\n setIsLoading(false);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR133-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const saveAddressRes = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"164- Failed to get the document status for the application.\");\r\n setErrCode(res.error);\r\n } else {\r\n if (res?.data && res?.data?.result) {\r\n saveDocument();\r\n completeModuleStatus(dashboardUrl.personalIfo);\r\n // gtmService({ action: \"PROFILE_DETAILS\", label: \"Step_Complete\" });\r\n\r\n history.push(incompleteStageNavigation());\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.personaldetails.pincode = permanentAddress.PinCode;\r\n GlobalStore.isManual = true;\r\n clientPartialDetails_ao.PinCode = permanentAddress.PinCode;\r\n clientPartialDetails_ao.isManual = true;\r\n clientPartialDetails_ao.sameAsPermanent = sameAsPermanent;\r\n clientPartialDetails_ao.addressLine1 = permanentAddress.addressLine1;\r\n if (!sameAsPermanent) {\r\n clientPartialDetails_ao.corrAddress =\r\n correspondanceAddress.addressLine1;\r\n clientPartialDetails_ao.corrPincode = correspondanceAddress.PinCode;\r\n }\r\n localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n localStorage.removeItem(\"appendedStage\");\r\n } else {\r\n setErrCode(res?.data?.message);\r\n }\r\n }\r\n setIsLoading(false);\r\n };\r\n\r\n return (\r\n
\r\n
Personal Documents
\r\n
\r\n Provide your personal details and address to recieve important letters\r\n and emails.\r\n
\r\n
\r\n
\r\n {/* Permanent Address Proof */}\r\n \r\n item.display === defaultAddress\r\n )?.display\r\n }\r\n onOptionSelect={(val) => handlePermanentAddress(val)}\r\n searchLength={0}\r\n options={identificationListPerm}\r\n onBlur={(val) => handleAddressBlur(val, \"permanentAddress\")}\r\n errorText={errors.permanentAddress}\r\n searchKey=\"display\"\r\n placeholder=\"Select Personal Address Proof\"\r\n isDownArrow={true}\r\n />\r\n \r\n {defaultAddress && (\r\n
\r\n
\r\n \r\n {permAddListError != \"\" ? (\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 {anotherFile && (\r\n
\r\n
\r\n \r\n {permSecAddListError != \"\" ? (\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 addDocument()}\r\n >\r\n Add Document\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n <>\r\n {(permanentAddress.addressLine1 ||\r\n permanentAddress.PinCode ||\r\n permanentAddress.City ||\r\n permanentAddress.State) && (\r\n <>\r\n {\r\n setPermanentAddress(obj);\r\n sameAsPermanent && setCorrespondanceAddress(obj);\r\n }}\r\n onAddressInfoBlur={setPermErrorObj}\r\n qrVerified={\r\n qrVerifiedAadhar || defaultAddress === \"Aadhaar Card\"\r\n }\r\n />\r\n {\r\n setPermanentAddress(obj);\r\n sameAsPermanent && setCorrespondanceAddress(obj);\r\n }}\r\n onAddressBlur={setPermErrorObj}\r\n handleSameAsAbove={() => {}}\r\n />\r\n \r\n )}\r\n {!sameAsPermanent && (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n item.display === defaultCorrAddress\r\n )?.display\r\n }\r\n onOptionSelect={(val) => handleCorrespondenceAddress(val)}\r\n searchLength={0}\r\n options={identificationListCorr}\r\n onBlur={(val) =>\r\n handleAddressBlur(val, \"correspondanceAddress\")\r\n }\r\n errorText={errors.correspondanceAddress}\r\n searchKey=\"display\"\r\n placeholder=\"Select Personal Address Proof\"\r\n isDownArrow={true}\r\n />\r\n\r\n
\r\n \r\n {defaultCorrAddress && (\r\n <>\r\n
\r\n \r\n {corrAddListError != \"\" ? (\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 {corrAnotherFile && (\r\n
\r\n
\r\n \r\n {corrAddListError != \"\" ? (\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 addCorrDocument()}\r\n >\r\n Add\r\n Document\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n\r\n {(sameAsPermanent ||\r\n correspondanceAddress.addressLine1 ||\r\n correspondanceAddress.PinCode ||\r\n correspondanceAddress.City ||\r\n correspondanceAddress.State) && (\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 {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* {aadharNo && localAadharNo && localAadharNo != aadharNo && (\r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n
\r\n )} */}\r\n
\r\n !value) ||\r\n Object.values(correspondanceAddress).some(\r\n (value) => !value\r\n ) ||\r\n Object.values(permErrorObj).some((error) => error) ||\r\n Object.values(corrErrorObj).some((error) => error) ||\r\n Object.values(errors).some((error) => error) ||\r\n (defaultAddress === \"Driving License\" && !drivingFlag) ||\r\n (defaultCorrAddress === \"Driving License\" &&\r\n !corrsDrivingFlag) ||\r\n (defaultAddress === \"Aadhaar Card\" && !qrVerifiedAadhar) ||\r\n (defaultCorrAddress === \"Aadhaar Card\" &&\r\n !qrVerifiedCorrsAadhar)\r\n // ((defaultAddress === \"Aadhaar Card\" ||\r\n // defaultCorrAddress === \"Aadhaar Card\") &&\r\n // aadharNo &&\r\n // localAadharNo &&\r\n // localAadharNo != aadharNo)\r\n }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PersoanlInfo;\r\n","import React, { useState } from \"react\";\r\nimport \"./PersonalInfo.scss\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport moment from \"moment\";\r\nimport Calender from \"../../UI/Calender/Calender\";\r\n// import { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport { DocDetailFormat } from \"../../UI/DocumentBrowse/DocumentBrowse\";\r\nimport { alphaNumExp } from \"../../utils/regex\";\r\nimport { format } from \"date-fns\";\r\nexport interface DocumentBrowseProps {\r\n defaultAddress: string;\r\n addressObj: IAddressInfoFormat;\r\n addressErrorObj: any;\r\n onAddressInfoChange: (addressObj: IAddressInfoFormat) => void;\r\n onAddressInfoBlur: (addressObj: {\r\n [key in keyof IAddressInfoFormat]?: string;\r\n }) => void;\r\n qrVerified?: boolean;\r\n}\r\nexport interface IAddressInfoFormat {\r\n addressLine1: string;\r\n City: string;\r\n Country: string;\r\n District: string;\r\n PinCode: string;\r\n State: string;\r\n Area?: string;\r\n CountryCode?: number;\r\n StateCode?: number;\r\n clientName?: string;\r\n documentNumber?: string;\r\n dateOfIssue?: any;\r\n dateOfExpiry?: any;\r\n}\r\nexport const addressInfoErrorObj = {\r\n addressLine1: undefined,\r\n pincode: undefined,\r\n area: undefined,\r\n clientName: undefined,\r\n};\r\nlet time = \"00:00:00\";\r\nconst PermanentAddressField: React.FC = (props) => {\r\n const [defaultAddress, setDefaultAddress] = useState(\r\n props.defaultAddress\r\n );\r\n const [addressObj, setAddressObj] = React.useState(\r\n props.addressObj\r\n );\r\n\r\n const [errors, setErrors] = React.useState({\r\n ...props.addressErrorObj,\r\n });\r\n\r\n React.useEffect(() => {\r\n if (\r\n JSON.stringify(addressObj) !== JSON.stringify(props?.addressObj) ||\r\n JSON.stringify(errors) !== JSON.stringify(props?.addressErrorObj)\r\n ) {\r\n console.log(\"||=======\", props?.addressObj);\r\n let addObj = props?.addressObj;\r\n\r\n setAddressObj(addObj);\r\n setErrors(props.addressErrorObj);\r\n }\r\n setDefaultAddress(props.defaultAddress);\r\n }, [props.defaultAddress, props.addressObj]);\r\n\r\n function handleChangeAddress(key: keyof IAddressInfoFormat, value: any) {\r\n // props.onAddressInfoBlur({ ...errors, [key]: undefined });\r\n switch (key) {\r\n case \"clientName\":\r\n props.onAddressInfoChange({\r\n ...addressObj,\r\n [`${key}`]: value.length > 0 ? value : \"\",\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: undefined,\r\n });\r\n break;\r\n case \"documentNumber\":\r\n props.onAddressInfoChange({\r\n ...addressObj,\r\n [`${key}`]: value.length > 0 ? value : \"\",\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: undefined,\r\n });\r\n break;\r\n case \"dateOfIssue\":\r\n props.onAddressInfoChange({\r\n ...addressObj,\r\n [`${key}`]: value ? moment(value).format(\"DD/MM/YYYY\") : \"\",\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: undefined,\r\n });\r\n break;\r\n case \"dateOfExpiry\":\r\n props.onAddressInfoChange({\r\n ...addressObj,\r\n [`${key}`]: value ? moment(value).format(\"DD/MM/YYYY\") : \"\",\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: undefined,\r\n });\r\n break;\r\n }\r\n }\r\n function handleBlurAddress(key: string, error: any) {\r\n switch (key) {\r\n case \"clientName\":\r\n setErrors({\r\n ...errors,\r\n clientName: error?.required\r\n ? \"Client Name cannot have special characters or cannot be null\"\r\n : undefined,\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: error?.required\r\n ? \"Client Name cannot have special characters or cannot be null\"\r\n : undefined,\r\n });\r\n break;\r\n case \"documentNumber\":\r\n setErrors({\r\n ...errors,\r\n [key]: error?.required\r\n ? \"Document No cannot have special characters or cannot be null\"\r\n : undefined,\r\n });\r\n props.onAddressInfoBlur({\r\n ...errors,\r\n [key]: error?.required\r\n ? \"Client Name cannot have special characters or cannot be null\"\r\n : undefined,\r\n });\r\n break;\r\n }\r\n }\r\n function onBlurDoi(event: React.FocusEvent) {\r\n if (!addressObj.dateOfIssue) {\r\n setErrors({ ...errors, dateOfIssue: \"DOI as per Document\" });\r\n }\r\n }\r\n function onBlurDoe(event: React.FocusEvent) {\r\n if (!addressObj.dateOfExpiry) {\r\n setErrors({ ...errors, dateOfExpiry: \"DOE as per Document\" });\r\n }\r\n }\r\n const getMonthName = (monthDate: any) => {\r\n switch (monthDate) {\r\n case \"01\":\r\n return \"January\";\r\n case \"02\":\r\n return \"Febrauary\";\r\n case \"03\":\r\n return \"March\";\r\n case \"04\":\r\n return \"April\";\r\n case \"05\":\r\n return \"May\";\r\n case \"06\":\r\n return \"June\";\r\n case \"07\":\r\n return \"July\";\r\n case \"08\":\r\n return \"August\";\r\n case \"09\":\r\n return \"September\";\r\n case \"10\":\r\n return \"October\";\r\n case \"11\":\r\n return \"November\";\r\n case \"12\":\r\n return \"December\";\r\n }\r\n };\r\n\r\n // console.log(\r\n // \"Date===\",\r\n // new Date(`${\r\n // addressObj?.dateOfIssue &&\r\n // getMonthName(addressObj?.dateOfIssue?.split(\"/\")[1])\r\n // }\r\n // ${\r\n // addressObj?.dateOfIssue &&\r\n // addressObj?.dateOfIssue?.split(\"/\")[0]\r\n // }\r\n // ,${\r\n // addressObj?.dateOfIssue &&\r\n // addressObj?.dateOfIssue?.split(\"/\")[2]\r\n // } ${addressObj?.dateOfIssue && time}`)\r\n // );\r\n\r\n return (\r\n
\r\n <>\r\n
\r\n {/* Aadhar start */}\r\n {defaultAddress.length > 0 && (\r\n
\r\n \r\n handleChangeAddress(\"clientName\", value)}\r\n onBlur={(error) => handleBlurAddress(\"clientName\", error)}\r\n errorText={errors.clientName}\r\n />\r\n
\r\n )}\r\n {defaultAddress === \"Aadhaar Card\" && (\r\n <>\r\n
\r\n \r\n \r\n handleChangeAddress(\"documentNumber\", value)\r\n }\r\n onBlur={(error) => handleBlurAddress(\"documentNumber\", error)}\r\n errorText={errors.documentNumber}\r\n />\r\n
\r\n \r\n )}\r\n {/* Aadhar End*/}\r\n\r\n {/* Driving License Start */}\r\n {defaultAddress === \"Driving License\" && (\r\n <>\r\n
\r\n \r\n \r\n handleChangeAddress(\"documentNumber\", value)\r\n }\r\n onBlur={(error) => handleBlurAddress(\"documentNumber\", error)}\r\n errorText={errors.documentNumber}\r\n />\r\n
\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfIssue\", val)\r\n }\r\n placeholderText={\"Select Date of Issue\"}\r\n maxDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoi}\r\n isError={errors.dateOfIssue ? true : false}\r\n />\r\n
\r\n {errors.dateOfIssue && (\r\n

{errors.dateOfIssue}

\r\n )}\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfExpiry\", val)\r\n }\r\n placeholderText={\"Select Date of Expiry\"}\r\n minDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoe}\r\n isError={errors.dateOfExpiry ? true : false}\r\n />\r\n
\r\n {errors.dateOfExpiry && (\r\n

{errors.dateOfExpiry}

\r\n )}\r\n \r\n )}\r\n {/* Driving License End */}\r\n {/* Voter Id start*/}\r\n {defaultAddress === \"Voter ID\" && (\r\n <>\r\n {\" \"}\r\n
\r\n \r\n \r\n handleChangeAddress(\"documentNumber\", value)\r\n }\r\n onBlur={(error) => handleBlurAddress(\"documentNumber\", error)}\r\n errorText={errors.documentNumber}\r\n />\r\n
\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfIssue\", val)\r\n }\r\n placeholderText={\"Select Date of Issue\"}\r\n maxDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoi}\r\n isError={errors.dateOfIssue ? true : false}\r\n />\r\n
\r\n {errors.dateOfIssue && (\r\n

{errors.dateOfIssue}

\r\n )}\r\n \r\n )}\r\n {/* Voter Id end*/}\r\n {/* PassPort start */}\r\n {defaultAddress === \"Passport\" && (\r\n <>\r\n
\r\n \r\n \r\n handleChangeAddress(\"documentNumber\", value)\r\n }\r\n onBlur={(error) => handleBlurAddress(\"documentNumber\", error)}\r\n errorText={errors.documentNumber}\r\n />\r\n
\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfIssue\", val)\r\n }\r\n placeholderText={\"Select Date of Issue\"}\r\n maxDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoi}\r\n isError={errors.dateOfIssue ? true : false}\r\n />\r\n
\r\n {errors.dateOfIssue && (\r\n

{errors.dateOfIssue}

\r\n )}\r\n
\r\n \r\n \r\n handleChangeAddress(\"dateOfExpiry\", val)\r\n }\r\n placeholderText={\"Select Date of Expiry\"}\r\n minDate={\r\n new Date(new Date().setFullYear(new Date().getFullYear()))\r\n }\r\n onBlur={onBlurDoe}\r\n isError={errors.dateOfExpiry ? true : false}\r\n />\r\n
\r\n {errors.dateOfExpiry && (\r\n

{errors.dateOfExpiry}

\r\n )}\r\n \r\n )}\r\n {/* PassPort end */}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default PermanentAddressField;\r\n","import React from \"react\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport ProfileLayout from \"../components/Profile/ProfileLayout/ProfileLayout\";\r\nimport ProfileHome from \"../components/Profile/ProfileHome/ProfileHome\";\r\nimport ProfileMenu from \"../components/Profile/ProfileMenu/ProfileMenu\";\r\nimport BankHome from \"../components/Bank/BankHome/BankHome\";\r\nimport { dashboardUrl } from \"../components/utils/constants\";\r\nimport SelectPlan from \"../components/SelectPlan/SelectPlan\";\r\nimport DocVerificationHome from \"../components/DocumentVerification/DocVerificationHome/DocVerificationHome\";\r\nimport ESignHome from \"../components/ESign/ESignHome/ESignHome\";\r\nimport VideoVerification from \"../components/VideoVerification/VideoVerification\";\r\nimport Profiler from \"../components/Profiler/Profiler\";\r\nimport EsignKra from \"../components/ESign/ESignKra/ESignKra\";\r\nimport PersoanlInfo from \"../components/Registration/PersonalInformation/PersonalInfo\";\r\n// import { dashboardUrl } from \"../components/utils/constants\";\r\n// import SelectPlan from \"../components/SelectPlan/SelectPlan\";\r\n// import DocVerificationHome from \"../components/DocumentVerification/DocVerificationHome/DocVerificationHome\";\r\n// import ESignHome from \"../components/ESign/ESignHome/ESignHome\";\r\n// import VideoVerification from \"../components/VideoVerification/VideoVerification\";\r\n// import Profiler from \"../components/Profiler/Profiler\";\r\nimport InstanHelp from \"../components/InstantHelp/InstantHelp\";\r\n\r\nexport interface DashboardRoutesProps {}\r\n\r\nconst DashboardRoutes: React.FC = (props) => {\r\n return (\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 \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\nexport default DashboardRoutes;\r\n","import React from \"react\";\r\nimport \"./AgentVisitForm.scss\";\r\nimport InputField from \"../../../UI/InputField/InputField\";\r\nimport { betweenNChars } from \"../../../utils/regex\";\r\nimport DropdownSearch from \"../../../UI/DropdownSearch/DropdownSearch\";\r\nimport { EsignTag } from \"../../../UI/Tag/Tag\";\r\nimport Button from \"../../../UI/Button/Button\";\r\nimport {\r\n IAddressFormat,\r\n addressErrorObj,\r\n addressErrorMsg,\r\n} from \"../../../Profile/AddressField/AddressField\";\r\nimport { IListObj, IListInfoObj } from \"../../../types/genericTypes\";\r\nimport {\r\n AGetArea,\r\n AGetFullAddress,\r\n} from \"../../../Services/dashboard/profileApiService\";\r\nimport {\r\n AAgentDatesList,\r\n AAgentTimesList,\r\n ASaveAgentVisitDetails,\r\n} from \"../../../Services/dashboard/eSignApiServices\";\r\nimport { stringToDate, dateStringToDay } from \"../../../Services/globalService\";\r\nimport GlobalStore from \"../../../store/globalStore\";\r\nimport { containerUrl } from \"../../../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport gtmService from \"../../../Services/gtmService\";\r\n\r\nexport interface AgentVisitFormProps {\r\n addressObj: IAddressFormat;\r\n ocvDate: string;\r\n ocvTime: string;\r\n agentTimesList?: Array;\r\n setErrCode: (value: number | string) => void;\r\n ocvDateAndTimeChange: (type: \"date\" | \"time\", value: any) => void;\r\n onAddressChange: (addressObj: IAddressFormat) => void;\r\n setIsLoading: (value: boolean) => void;\r\n handleSubmit?: () => void;\r\n isLoading: boolean;\r\n registerCleverTapScheduleAgentEvent?: (isInitial: boolean) => void;\r\n}\r\n\r\nconst AgentVisitForm: React.FC = (props) => {\r\n const history = useHistory();\r\n const [addressObj, setAddressObj] = React.useState(\r\n props.addressObj\r\n );\r\n const [areaList, setAreaList] = React.useState>([]);\r\n const [agentDatesList, setAgentDatesList] = React.useState<\r\n Array\r\n >([]);\r\n const [agentTimesList, setAgentTimesList] = React.useState>(\r\n []\r\n );\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof IAddressFormat]?: string;\r\n }>({ ...addressErrorObj });\r\n\r\n React.useEffect(() => {\r\n props.setIsLoading(true);\r\n AGetArea(getAreaList, addressObj.PinCode);\r\n AAgentDatesList(getAgentDates);\r\n !props.agentTimesList && AAgentTimesList(getAgentTimes);\r\n document.getElementById(\"OcvAddress\")?.focus();\r\n }, [addressObj.PinCode]);\r\n\r\n function getAgentDates(res: any) {\r\n props.setIsLoading(true);\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data && res.data.ecoAgentVisitDates) {\r\n const arr: Array = [];\r\n res.data.ecoAgentVisitDates.forEach((date: any) => {\r\n let obj: any = {};\r\n obj.value = date.agentVisitDate;\r\n obj.display = stringToDate(date.agentVisitDate);\r\n obj.info = dateStringToDay(date.agentVisitDate);\r\n arr.push(obj);\r\n });\r\n setAgentDatesList(arr);\r\n }\r\n }\r\n props.setIsLoading(false);\r\n }\r\n\r\n function getAgentTimes(res: any) {\r\n props.setIsLoading(true);\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data && res.data.ecoAgentVisitTimes) {\r\n const arr: Array = [];\r\n res.data.ecoAgentVisitTimes.forEach((date: any) => {\r\n let obj: any = {};\r\n obj.display = date.agentVisitTime;\r\n obj.value = date.agentVisitTime;\r\n arr.push(obj);\r\n });\r\n setAgentTimesList(arr);\r\n }\r\n }\r\n props.setIsLoading(false);\r\n }\r\n\r\n function handleChangeAddress(key: keyof IAddressFormat, value: string) {\r\n if (key === \"Area\") {\r\n AGetFullAddress(getFullAddress, value, addressObj.PinCode);\r\n }\r\n setErrors({ ...errors, [key]: undefined });\r\n setAddressObj({ ...addressObj, [key]: value });\r\n props.onAddressChange({ ...addressObj, [key]: value });\r\n }\r\n\r\n function getAreaList(res: any) {\r\n props.setIsLoading(true);\r\n if (!res || res.error) {\r\n props.setErrCode(res.error);\r\n } else {\r\n if (res.data && res.data.areas) {\r\n const arr: Array = [];\r\n res.data.areas.forEach((item: string) => {\r\n let obj: IListObj = {\r\n value: item,\r\n display: item,\r\n };\r\n arr.push(obj);\r\n });\r\n setAreaList(arr);\r\n } else {\r\n props.setErrCode(\"130 - Failed to fetch the area list for the pincode\");\r\n }\r\n }\r\n props.setIsLoading(false);\r\n }\r\n\r\n function getFullAddress(res: any) {\r\n if (!res || res.error) {\r\n // props.setErrCode(\r\n // \"131 - Failed to fetch details corresponding to pincode and area\"\r\n // );\r\n props.setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n let obj: any = {};\r\n obj.pincode = res.data.pinCode;\r\n obj.area = res.data.area;\r\n obj.district = res.data.district;\r\n obj.country = res.data.country;\r\n obj.city = res.data.city;\r\n obj.state = res.data.state;\r\n obj.statecode = res.data.stateCode;\r\n obj.countrycode = res.data.countryCode;\r\n setAddressObj({ ...addressObj, ...obj });\r\n props.onAddressChange({ ...addressObj, ...obj });\r\n } else {\r\n props.setErrCode(\r\n \"131 - Failed to fetch details corresponding to pincode and area\"\r\n );\r\n }\r\n }\r\n }\r\n\r\n function handleBlurAddress(key: keyof IAddressFormat, value: any) {\r\n switch (key) {\r\n case \"addressLine1\":\r\n setErrors({\r\n ...errors,\r\n addressLine1: value.pattern\r\n ? undefined\r\n : addressErrorMsg.addressLine1,\r\n });\r\n break;\r\n case \"Area\":\r\n if (typeof value === \"object\") {\r\n setErrors({ ...errors, Area: undefined });\r\n } else {\r\n setErrors({ ...errors, Area: addressErrorMsg.area });\r\n }\r\n break;\r\n }\r\n }\r\n\r\n function submitOcv() {\r\n const agentVisitObj = {\r\n address: addressObj.addressLine1,\r\n applicationid: GlobalStore.applicationID,\r\n area: addressObj.Area,\r\n city: addressObj.City,\r\n created_by: 0,\r\n date_for_visit: props.ocvDate,\r\n pincode: addressObj.PinCode,\r\n state: addressObj.State,\r\n statecode: 0,\r\n time_for_visit: props.ocvTime,\r\n };\r\n props.setIsLoading(true);\r\n if (props.handleSubmit) props.handleSubmit();\r\n else {\r\n gtmService({ action: \"AGENT_VISIT\", label: \"Step_Complete\" });\r\n ASaveAgentVisitDetails(agentVisitScheduled, agentVisitObj);\r\n }\r\n }\r\n\r\n function agentVisitScheduled(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n if (props.registerCleverTapScheduleAgentEvent)\r\n props.registerCleverTapScheduleAgentEvent(false);\r\n history.replace(containerUrl.ocv);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n
\r\n \r\n handleBlurAddress(\"addressLine1\", error)}\r\n placeholder=\"Eg. Address\"\r\n onChange={(value) => handleChangeAddress(\"addressLine1\", value)}\r\n errorText={errors.addressLine1}\r\n name={`OcvAddress`}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n handleChangeAddress(\"Area\", value[\"value\"] as string)\r\n }\r\n searchLength={0}\r\n options={areaList}\r\n onBlur={(val) => handleBlurAddress(\"Area\", val)}\r\n searchKey=\"display\"\r\n placeholder=\"Eg. Thane\"\r\n noDataMsg=\"Area with similar name not found\"\r\n errorText={errors.Area}\r\n isDownArrow={true}\r\n />\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n props.ocvDateAndTimeChange(\"date\", val)}\r\n tagList={agentDatesList}\r\n />\r\n
\r\n\r\n
\r\n \r\n props.ocvDateAndTimeChange(\"time\", val)}\r\n tagList={props.agentTimesList || agentTimesList}\r\n />\r\n
\r\n\r\n
\r\n error) ||\r\n Object.values(addressObj).some((value) => !value) ||\r\n props.ocvTime === \"\" ||\r\n props.ocvDate === \"\"\r\n }\r\n />\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default AgentVisitForm;\r\n","import * as React from \"react\";\r\nimport {\r\n AValidatePoaServicableCityPincode,\r\n ASavePoaDetails,\r\n ADownloadForm,\r\n} from \"../Services/dashboard/eSignApiServices\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport ocvCalender from \"../../assets/icons/ocvCalenderNew.jpg\";\r\nimport ProfileImage from \"../UI/ProfileImage/ProfileImage\";\r\nimport { IAddressFormat } from \"../Profile/AddressField/AddressField\";\r\nimport { initialAddressObj } from \"../Profile/ProfileForm/ProfileForm\";\r\nimport Button, { Verify } from \"../UI/Button/Button\";\r\nimport { integerExp } from \"../utils/regex\";\r\nimport \"./Poa.scss\";\r\nimport \"../ESign/ScheduleAgentVisit/ScheduleAgentVisit.scss\";\r\nimport AgentVisitForm from \"../ESign/ScheduleAgentVisit/AgentVisitForm/AgentVisitForm\";\r\nimport {\r\n ecomAgentTimeList,\r\n edelweissOfficeName,\r\n edelweissOfficeAddress,\r\n containerUrl,\r\n} from \"../utils/constants\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { stringToDate, base64toBlob } from \"../Services/globalService\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nexport interface PoaProps {}\r\n\r\nexport const downloadForm = (\r\n documentName: string,\r\n setIsLoading: Function,\r\n setErrCode: Function,\r\n isFullPdf?: boolean\r\n) => {\r\n setIsLoading(true);\r\n setErrCode(\"\");\r\n ADownloadForm(\r\n (res: any) => getDownloadForm(res, documentName, setIsLoading, setErrCode),\r\n GlobalStore.applicationID,\r\n isFullPdf || false\r\n );\r\n};\r\n\r\nfunction getDownloadForm(\r\n res: any,\r\n documentName: string,\r\n setIsLoading: Function,\r\n setErrCode: Function\r\n) {\r\n if (!res || res.error) {\r\n setErrCode(\"7345 - Failed to download form\");\r\n } else {\r\n if (res.data) {\r\n const base64 = res.data;\r\n if (base64 && base64 !== \"\") {\r\n const blob = base64toBlob(base64, \"application/pdf\");\r\n const link: HTMLAnchorElement = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = documentName;\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n } else {\r\n setErrCode(\"7345 - Failed to download form\");\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n}\r\n\r\nconst Poa: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [enablePinCheck, setEnablePinCheck] = React.useState(false);\r\n const [clientAddressOcv, setClientAddressOcv] =\r\n React.useState({ ...initialAddressObj });\r\n const [ocvDate, setOcvDate] = React.useState(\"\");\r\n const [ocvTime, setOcvTime] = React.useState(\"\");\r\n const [showAgentVisitForm, setShowAgentVisitForm] =\r\n React.useState(false);\r\n const [showDownload, setShowDownload] = React.useState(true); // for disabling POA scheduling default value is true\r\n const [disablePOASchedule, setDisablePOASchedule] = React.useState(true); // disable POA download\r\n const history = useHistory();\r\n\r\n function checkPincodeServiceability() {\r\n setIsLoading(true);\r\n setShowAgentVisitForm(false);\r\n AValidatePoaServicableCityPincode(\r\n validatePincode,\r\n clientAddressOcv.PinCode\r\n );\r\n }\r\n\r\n function validatePincode(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(\"926 - Failed to check servicability of the pincode\");\r\n } else {\r\n if (res.data && res.data.state && res.data.drop_Vendor_Code) {\r\n setShowDownload(false);\r\n setShowAgentVisitForm(true);\r\n } else {\r\n setShowDownload(true);\r\n setTimeout(() => {\r\n document.getElementById(\"addressInfoId\")?.scrollIntoView({\r\n behavior: \"smooth\",\r\n });\r\n }, 300);\r\n setShowAgentVisitForm(false);\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n function pincodeChange(event: React.ChangeEvent) {\r\n let value = event.target.value;\r\n if (event.target.name === \"pincode\" && !integerExp.test(value)) {\r\n value = clientAddressOcv.PinCode;\r\n }\r\n setClientAddressOcv({ ...clientAddressOcv, PinCode: value });\r\n\r\n if (value && value.length === 6) {\r\n setEnablePinCheck(true);\r\n } else {\r\n setEnablePinCheck(false);\r\n if (showAgentVisitForm) {\r\n setShowAgentVisitForm(false);\r\n setClientAddressOcv(initialAddressObj);\r\n setOcvDate(\"\");\r\n setOcvTime(\"\");\r\n }\r\n }\r\n }\r\n\r\n function handleAddressChange(addressObj: IAddressFormat) {\r\n setClientAddressOcv({ ...clientAddressOcv, ...addressObj });\r\n }\r\n\r\n function ocvDateAndTimeChange(type: \"date\" | \"time\", value: string) {\r\n if (type === \"date\") setOcvDate(value);\r\n else setOcvTime(value);\r\n }\r\n\r\n function handlePoaSchedule() {\r\n setIsLoading(true);\r\n const reqObj = {\r\n addr: {\r\n line1: clientAddressOcv.addressLine1,\r\n line2: clientAddressOcv.Area,\r\n city: clientAddressOcv.City,\r\n state: clientAddressOcv.State,\r\n },\r\n scheduledDate: stringToDate(ocvDate, true),\r\n selectedTimeSlot: ocvTime,\r\n customerName: GlobalStore.personaldetails.PANName,\r\n customerMobile: GlobalStore.user.mobile,\r\n applicationId: GlobalStore.applicationID,\r\n selectedPincode: clientAddressOcv.PinCode,\r\n defaultPinCode: \"\",\r\n vendorResponse: \"yes\",\r\n isChequeLeafSubmitted: \"false\",\r\n emailurl: \"\",\r\n };\r\n ASavePoaDetails(vendorResponse, reqObj);\r\n }\r\n\r\n function vendorResponse(res: any) {\r\n if (!res || res.error) {\r\n setErrCode(\"9102 - Failed to fetch vendor response\");\r\n } else {\r\n const [responseObj] = JSON.parse(JSON.parse(res.data));\r\n if (responseObj && responseObj.awb_number && responseObj.success)\r\n history.push(containerUrl.submit);\r\n else if (\r\n responseObj &&\r\n responseObj.reason &&\r\n responseObj.reason\r\n .toString()\r\n .indexOf(\"There is a lead already open with the same Order Id\") !== -1\r\n ) {\r\n setErrCode(\"Request Already Exists\");\r\n } else {\r\n setErrCode(\"9872 - Failed to fetch vendor response\");\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n React.useEffect(() => {\r\n registerCleverTapScheduleAgentEvent(true);\r\n });\r\n\r\n const registerCleverTapScheduleAgentEvent = (isInitial: boolean) => {\r\n // Clevertap event while user choose for e-sign\r\n const data = {\r\n EventName: cleverTapEvents.registration.agentVisit.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: UTM_SOURCE,\r\n UTM_MEDIUM: UTM_MEDIUM,\r\n UTM_CAMPAIGN: UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n };\r\n\r\n if (!isInitial) {\r\n data[\"EventName\"] =\r\n cleverTapEvents.registration.agentVisit.CLICK_ON_SUBMIT;\r\n // Apps flyer event for click on proceed on Agent visit details page\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.agentVisit.CLICK_ON_SUBMIT\r\n );\r\n }\r\n\r\n ClevertapService.pushEvent(data);\r\n // Clevertap ends\r\n };\r\n\r\n return (\r\n
\r\n { !disablePOASchedule && \r\n \"\"\r\n }\r\n { !disablePOASchedule && ( <>\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {showAgentVisitForm && (\r\n \r\n )}\r\n
) }\r\n {showDownload && (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n downloadForm(\r\n `EsignPoa_${GlobalStore.applicationID}`,\r\n setIsLoading,\r\n setErrCode\r\n )\r\n }\r\n btnName=\"Download and Courier\"\r\n isLoading={isLoading}\r\n prefix={}\r\n />\r\n
\r\n
\r\n )}\r\n {(showDownload || showAgentVisitForm) && (\r\n history.push(containerUrl.submit)}\r\n >\r\n Continue Without POA\r\n
\r\n )}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n \r\n );\r\n};\r\n\r\nexport default Poa;\r\n","import * as React from \"react\";\r\nimport \"./ExitScreen.scss\";\r\nimport ProfileImage from \"../ProfileImage/ProfileImage\";\r\nimport { IListObj } from \"../../types/genericTypes\";\r\nimport Button from \"../Button/Button\";\r\nimport Loader from \"../Loader/Loader\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport { isSafariBrowser } from \"../../Services/globalService\";\r\nimport { downloadForm } from \"../../POA/Poa\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport gtmService from \"../../Services/gtmService\";\r\nimport { loginUrl } from \"../../../components/utils/constants\";\r\n\r\nexport interface ExitScreenProps {\r\n heading: string;\r\n info?: string;\r\n time?: string;\r\n displayInfoList: Array;\r\n logo: string;\r\n}\r\n\r\nconst ExitScreen: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n\r\n function getStarted() {\r\n gtmService({ action: \"FINAL_STATUS\", label: \"Get_Started\" });\r\n if (DeviceContext().isDesktop) {\r\n window.location.href = loginUrl + \"user-guide/web\";\r\n } else {\r\n if (isSafariBrowser()) {\r\n window.location.href =\r\n \"https://app.appsflyer.com/id1031657545?pid=newEW\";\r\n } else {\r\n window.location.href = \"https://edel.onelink.me/3126852515/a4df843a\";\r\n }\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n window.scroll(0, 0);\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n \"\"\r\n \r\n
\r\n \r\n \r\n {props.time && (\r\n \r\n )}\r\n
\r\n {props.displayInfoList.length > 0 ? (\r\n props.displayInfoList.map((itemObj, index) => (\r\n
\r\n \r\n \r\n
\r\n ))\r\n ) : (\r\n \r\n )}\r\n
\r\n {props.children}\r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n gtmService({ action: \"FINAL_STATUS\", label: \"Download_form\" });\r\n downloadForm(\r\n `EsignPoa_${GlobalStore.applicationID}`,\r\n setIsLoading,\r\n () => {}\r\n );\r\n }}\r\n >\r\n here\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ExitScreen;\r\n","import * as React from \"react\";\r\nimport ExitScreen from \"../UI/ExitScreen/ExitScreen\";\r\nimport { IListObj } from \"../types/genericTypes\";\r\nimport { AGetAgentVisitDetails } from \"../Services/dashboard/eSignApiServices\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport { stringToDate } from \"../Services/globalService\";\r\nimport ocvCalender from \"../../assets/icons/ocvCalenderNew.jpg\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\nexport interface OcvScheduledProps {}\r\n\r\nconst OcvScheduled: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [visitDate, setVisitDate] = React.useState(\"\");\r\n const [visitTime, setVisitTime] = React.useState(\"\");\r\n const [displayInfoList, setDisplayInfoList] = React.useState>(\r\n []\r\n );\r\n\r\n React.useEffect(() => {\r\n AGetAgentVisitDetails(agentVisitDetails, GlobalStore.applicationID);\r\n }, []);\r\n\r\n // Clevertap event while final page load\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.finalPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: UTM_SOURCE,\r\n UTM_MEDIUM: UTM_MEDIUM,\r\n UTM_CAMPAIGN: UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n STATUS_ON_FINAL_SCREEN: \"AGENT VISIT SCHEDULED\",\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Apps flyer event for When Final Status screen is viewed\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.finalPage.PAGE_LOAD\r\n );\r\n }, []);\r\n // Clevertap ends\r\n\r\n function agentVisitDetails(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n if (res.data) {\r\n let responseObj = JSON.parse(JSON.parse(res.data));\r\n if (responseObj && responseObj.date_for_visit && responseObj.dpid) {\r\n let arr: Array = [\r\n {\r\n display: \"Date & Time\",\r\n value: `${stringToDate(responseObj.date_for_visit)}. ${\r\n responseObj.time_for_visit\r\n }`,\r\n },\r\n { display: \"Name\", value: GlobalStore.personaldetails.PANName },\r\n { display: \"Email ID\", value: GlobalStore.user.email },\r\n {\r\n display: \"Mobile Number\",\r\n value: `+91 ${GlobalStore.user.mobile}`,\r\n },\r\n {\r\n display: \"Address\",\r\n value: `${responseObj.address} ${responseObj.area} ${responseObj.city} ${responseObj.state} ${responseObj.pincode}`,\r\n },\r\n ];\r\n setDisplayInfoList(arr);\r\n setVisitDate(stringToDate(responseObj.date_for_visit));\r\n setVisitTime(responseObj.time_for_visit);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default OcvScheduled;\r\n","import * as React from \"react\";\r\nimport arrowPoint from \"../../assets/icons/arrow_point.png\";\r\nimport \"./StepsInfo.scss\";\r\nexport interface StepsInfoProps {}\r\n\r\nconst StepsInfo: React.SFC = () => {\r\n const [viewBtn, setViewBtn] = React.useState(false);\r\n return (\r\n <>\r\n
\r\n
\r\n {/* Complete Quality Check process and upload your details at Exchanges. */}\r\n Here are the things that we will do at our end:\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
Lets Know more about DDPI:
\r\n
\r\n As per SEBI regulation POA is now replaced by Demat and Pledge\r\n instruction (DDPI). DDPI is an authorization to access your demat\r\n account to meet pay-in obligations for settlement of trades executed\r\n by you.\r\n
\r\n {viewBtn ? (\r\n <>\r\n
\r\n Purpose of DDPI is limited only for two purposes:\r\n
\r\n\r\n
\r\n
    \r\n
  1. \r\n To transfer securities held in your account toward exchange\r\n related deliveries or settlement obligations.\r\n
  2. \r\n
  3. To pledge / repledge securities
  4. \r\n
\r\n
\r\n\r\n
DDPI doesn’t support:
\r\n
\r\n
Corporate Actions (Buy Back, TakeOver, Delisting, etc).
\r\n
Mutual Fund Transactions.
\r\n
\r\n To execute any transactions above either you submit the\r\n prefilled POA on the below address or the settlement would be\r\n done through e-DIS.\r\n
\r\n
\r\n
\r\n Address: NUVAMA WEALTH & INVESTMENT LTD., 201 to 203, Zodiac\r\n Plaza, Xavier College Road, Off C G Road, Ahmedabad, Gujrat-380009\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {viewBtn ? (\r\n setViewBtn(false)}>View Less\r\n ) : (\r\n setViewBtn(true)}>View More\r\n )}\r\n
\r\n
\r\n\r\n
\r\n While the above steps are under process, why not get comfortable with\r\n our platforms.\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default StepsInfo;\r\n","import * as React from \"react\";\r\nimport { IListObj } from \"../types/genericTypes\";\r\nimport ExitScreen from \"../UI/ExitScreen/ExitScreen\";\r\nimport finalTick from \"../../assets/icons/finalTick.svg\";\r\nimport { AGetClientAccountCode } from \"../Services/dashboard/eSignApiServices\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport StepsInfo from \"./StepsInfo\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { AppsFlyerService } from \"../Services/appsFlyerService\";\r\nimport appsFlyerEvents from \"../../config/appsFlyerEvents\";\r\n\r\nexport interface SubmitAOProps {}\r\n\r\nconst SubmitAO: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n\r\n const [displayInfoList, setDisplayInfoList] = React.useState>(\r\n []\r\n );\r\n const [time, setTime] = React.useState(\"\");\r\n React.useEffect(() => {\r\n AGetClientAccountCode(getClientDetails, GlobalStore.applicationID);\r\n }, []);\r\n\r\n // Clevertap event while final page load\r\n React.useEffect(() => {\r\n const data = {\r\n EventName: cleverTapEvents.registration.finalPage.PAGE_LOAD,\r\n InitiationPlatform: \"\",\r\n UTM_SOURCE: UTM_SOURCE,\r\n UTM_MEDIUM: UTM_MEDIUM,\r\n UTM_CAMPAIGN: UTM_CAMPAIGN,\r\n KRA: GlobalStore.isKRA,\r\n DIGILOCKER_PROCESS: GlobalStore.isDigiLocker,\r\n ADHAR_LINKED_WITH_MOBILE: GlobalStore.aadharLinkedChoice,\r\n LEAD_ID: GlobalStore.leadId,\r\n REF_ID: GlobalStore.applicationID,\r\n STATUS_ON_FINAL_SCREEN: \"ACCOUNT OPENING COMPLETED\",\r\n };\r\n\r\n ClevertapService.pushEvent(data);\r\n // Apps flyer event for When Final Status screen is viewed\r\n AppsFlyerService.pushEvent(\r\n appsFlyerEvents.registration.finalPage.PAGE_LOAD\r\n );\r\n }, []);\r\n // Clevertap ends\r\n\r\n function getClientDetails(res: any) {\r\n if (!res || res.error) {\r\n } else {\r\n const responseObj = JSON.parse(res.data);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (responseObj && responseObj.dpid) {\r\n let holderName = responseObj.holderfullname\r\n ? responseObj.holderfullname\r\n : clientPartialDetails_ao.PANName\r\n ? clientPartialDetails_ao.PANName\r\n : \"\";\r\n let mobile = responseObj.mobileno\r\n ? responseObj.mobileno\r\n : clientPartialDetails_ao.mobile\r\n ? clientPartialDetails_ao.mobile\r\n : \"\";\r\n let email = responseObj.emailid\r\n ? responseObj.emailid\r\n : clientPartialDetails_ao.emailID\r\n ? clientPartialDetails_ao.emailID\r\n : \"\";\r\n const displayInfo: Array = [\r\n {\r\n display: \"Trading Account Details\",\r\n value: responseObj.applicationid,\r\n },\r\n { display: \"Name\", value: holderName },\r\n {\r\n display: \"Email ID\",\r\n value: email,\r\n },\r\n {\r\n display: \"Mobile Number\",\r\n value: `+91 ${mobile}`,\r\n },\r\n { display: \"Demat Account Number\", value: responseObj.dpid },\r\n ];\r\n setTime(responseObj.esigncompletedtime);\r\n setDisplayInfoList(displayInfo);\r\n }\r\n }\r\n }\r\n\r\n React.useEffect(() => {\r\n if (displayInfoList.length > 0) {\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n }\r\n }, [displayInfoList]);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SubmitAO;\r\n","import React from \"react\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport { containerUrl } from \"../components/utils/constants\";\r\nimport OcvScheduled from \"../components/OcvScheduled/OcvScheduled\";\r\nimport RegistrationLayout from \"../components/Registration/Layout/Layout\";\r\nimport SubmitAO from \"../components/SubmitAO/SubmitAO\";\r\nimport Poa from \"../components/POA/Poa\";\r\nimport InstanHelp from \"../components/InstantHelp/InstantHelp\";\r\n\r\nexport interface SubmissionRoutesProps {}\r\n\r\nconst SubmissionRoutes: React.FC = (props) => (\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\nexport default SubmissionRoutes;\r\n","import React from 'react'\r\nimport EdelLogoCenter from '../../UI/EdelLogoCenter/EdelLogoCenter'\r\nimport './Layout.scss'\r\n\r\nexport interface StatusLayoutProps {}\r\n\r\nconst RegistrationLayout: React.FC = (props) => {\r\n return (\r\n <>\r\n
\r\n \r\n {props.children}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default RegistrationLayout","import React from \"react\";\r\nimport InputWithLabel from \"../../../UI/InputWithLabel/InputWithLabel\";\r\nimport InputField from \"../../../UI/InputField/InputField\";\r\nimport Button from \"../../../UI/Button/Button\";\r\nimport DropdownSearch from \"../../../UI/DropdownSearch/DropdownSearch\";\r\nimport { Verify } from \"../../../UI/Button/Button\";\r\nimport {\r\n AValidateMobileOtp,\r\n AGetMobileOtp,\r\n AGetOtpNew,\r\n AValidateOtpNew,\r\n} from \"../../../Services/registration/registrationApiService\";\r\nimport \"./CheckStatusForm.scss\";\r\nimport {\r\n alphabetExp,\r\n integerExp,\r\n phoneNo,\r\n emailRegex,\r\n pan,\r\n} from \"../../../utils/regex\";\r\nimport RegOtp from \"../../../Registration/RegOtp/RegOtp\";\r\nimport ErrMsg from \"../../../UI/ErrMsg/ErrMsg\";\r\nimport GlobalStore from \"../../../store/globalStore\";\r\nimport {\r\n productCode,\r\n assignedTo,\r\n containerUrl,\r\n loginUrl,\r\n statusUrl,\r\n dashboardUrl,\r\n} from \"../../../utils/constants\";\r\nimport { clientContinue, setStageData } from \"../../../Services/globalService\";\r\nimport gtmService from \"../../../Services/gtmService\";\r\nimport { ClevertapService } from \"../../../Services/clevertapService\";\r\nimport { AppsFlyerService } from \"../../../Services/appsFlyerService\";\r\nimport cleverTapEvents from \"../../../../config/cleverTapEvents\";\r\nimport appsFlyerEvents from \"../../../../config/appsFlyerEvents\";\r\nimport useQuery from \"../../../../customHooks/useQuery\";\r\nimport { AGetApplicationStatusForKnowStatus } from \"../../../Services/knowYourStatus/knowYourStatusApiService\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { AGetClientDetailsByPan } from \"../../../Services/registration/panDobApiService\";\r\nimport { AGetStageCompletionStatus } from \"../../../Services/registration/continueApiService\";\r\nimport { checkModuleCompleteness } from \"../../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport { APendingUploadList } from \"../../../Services/dashboard/eSignApiServices\";\r\nimport { errorMessage } from \"../../../utils/errorMessage\";\r\nimport { errorCode, errorMsg } from \"../../../../ErrorCode/ErrorCode\";\r\nexport interface ILeadFormFields {\r\n pan: string;\r\n mobile: string;\r\n rmCode: string;\r\n}\r\n\r\nconst RegistrationForm = (props: any) => {\r\n const history = useHistory();\r\n // Fetch query params for clervertap\r\n const quryParams = useQuery();\r\n const UTM_SOURCE = quryParams.get(\"utm_source\")\r\n ? quryParams.get(\"utm_source\")\r\n : \"\";\r\n const UTM_MEDIUM = quryParams.get(\"utm_medium\")\r\n ? quryParams.get(\"utm_medium\")\r\n : \"\";\r\n const UTM_CAMPAIGN = quryParams.get(\"utm_campaign\")\r\n ? quryParams.get(\"utm_campaign\")\r\n : \"\";\r\n const UTM_PLACEMENT = quryParams.get(\"utm_placement\")\r\n ? quryParams.get(\"utm_placement\")\r\n : \"\";\r\n\r\n const [showRmCode, setShowRmCode] = React.useState(false);\r\n const [cities, setCities] = React.useState([]);\r\n\r\n const [values, setValues] = React.useState({ pan: \"\", mobile: \"\" });\r\n const [rmCode, setRmCode] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [showMobileBtn, setShowMobileBtn] = React.useState(true);\r\n const [showMobileOtp, setShowMobileOtp] = React.useState(false);\r\n const [otpId, setOtpId] = React.useState(\"\");\r\n const [disableOtp, setDisableOtp] = React.useState(false);\r\n const [isMobileVerified, setIsMobileVerified] =\r\n React.useState(false);\r\n const [invalidOtp, setInvalidOtp] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [whatsappMsgSuccess, setWhatsappMsgSuccess] =\r\n React.useState(false);\r\n const [panDetails, setPanDetails] = React.useState();\r\n let isUploadDocumentsCompleted = false;\r\n\r\n // used to store the field wise errors\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof ILeadFormFields]?: string;\r\n }>({\r\n pan: undefined,\r\n mobile: undefined,\r\n });\r\n const setPanDetailsinLoal = () => {\r\n const panFromLocalStorage = window.localStorage.getItem(\r\n \"clientPartialDetails_ao\"\r\n );\r\n if (\r\n panFromLocalStorage !== null &&\r\n panFromLocalStorage !== undefined &&\r\n panFromLocalStorage !== \"\"\r\n ) {\r\n let panDetailsLocal = JSON.parse(panFromLocalStorage);\r\n if (panDetailsLocal !== null && panDetailsLocal !== undefined) {\r\n setPanDetails(panDetailsLocal.panDetails);\r\n }\r\n }\r\n };\r\n React.useEffect(() => {\r\n setPanDetailsinLoal();\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n }, []);\r\n\r\n // Field onchange method\r\n function onChange(key: keyof ILeadFormFields, value: string) {\r\n if (key === \"mobile\" && !integerExp.test(value)) {\r\n value = values[key];\r\n }\r\n\r\n key === \"rmCode\"\r\n ? setRmCode(value)\r\n : setValues({ ...values, [key]: value });\r\n\r\n if (key === \"mobile\") {\r\n if (\r\n GlobalStore.user.mobile !== \"\" &&\r\n GlobalStore.user.mobile === value &&\r\n isMobileVerified\r\n ) {\r\n setShowMobileBtn(false);\r\n } else {\r\n setShowMobileBtn(true);\r\n }\r\n }\r\n setErrors({ ...errors, [key]: \"\" });\r\n return value;\r\n }\r\n\r\n // OTP send method\r\n function sendOtp() {\r\n setIsLoading(true);\r\n // AGetMobileOtp(otpSent, values.mobile);\r\n AGetOtpNew(\r\n (res: any) => {\r\n console.log(\"MON\", res);\r\n otpSentNew(res);\r\n },\r\n values.mobile,\r\n \"SMS\"\r\n );\r\n }\r\n function otpSentNew(res: any) {\r\n if (\r\n res.data &&\r\n res.data.success &&\r\n res?.data?.data !== null &&\r\n res?.data?.data !== undefined &&\r\n !!res?.data?.data?.OTPId &&\r\n res?.data?.data?.OTPId !== \"\"\r\n ) {\r\n setOtpId(res?.data?.data?.OTPId);\r\n setIsLoading(false);\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n setErrCode(\"\");\r\n } else {\r\n // setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n\r\n function otpSent(res: any) {\r\n if (res.data && res.data.Success) {\r\n setIsLoading(false);\r\n setShowMobileBtn(false);\r\n setShowMobileOtp(true);\r\n setErrCode(\"\");\r\n } else {\r\n // setErrCode('114 - Failed to send OTP, please retry.');\r\n setErrCode(res.error);\r\n }\r\n }\r\n\r\n // OTP validation method\r\n function validateOtp(val: string) {\r\n if (invalidOtp) {\r\n setInvalidOtp(false);\r\n }\r\n if (val.length === 4) {\r\n setIsLoading(true);\r\n setDisableOtp(true);\r\n AValidateOtpNew(\r\n (res: any) => {\r\n checkMobileValidateOtpNew(res);\r\n },\r\n otpId,\r\n val\r\n );\r\n // AValidateMobileOtp(checkMobileValidateOtp, values.mobile.toString(), val);\r\n }\r\n }\r\n function checkMobileValidateOtpNew(res: any) {\r\n setIsLoading(false);\r\n setDisableOtp(false);\r\n if (res.error) {\r\n // setErrCode('115 - Failed to validate OTP, please retry.');\r\n // setErrCode(errorMessage.mobValidateOtp);\r\n setErrCode(res.error);\r\n } else {\r\n if (\r\n res.data &&\r\n res?.data?.data &&\r\n !!res?.data?.success &&\r\n res?.data?.success == true\r\n ) {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (\r\n utmObj &&\r\n utmObj.utm_source &&\r\n utmObj.utm_source.toUpperCase() === \"PLATFORM\"\r\n ) {\r\n setShowRmCode(true);\r\n }\r\n // GlobalStore.user.mobile = values.mobile;\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n } else setInvalidOtp(true);\r\n setErrCode(\"\");\r\n }\r\n }\r\n\r\n function checkMobileValidateOtp(res: any) {\r\n setIsLoading(false);\r\n setDisableOtp(false);\r\n if (res.error) {\r\n // setErrCode('115 - Failed to validate OTP, please retry.');\r\n // setErrCode(errorMessage.mobValidateOtp);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data == \"true\") {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (\r\n utmObj &&\r\n utmObj.utm_source &&\r\n utmObj.utm_source.toUpperCase() === \"PLATFORM\"\r\n ) {\r\n setShowRmCode(true);\r\n }\r\n // GlobalStore.user.mobile = values.mobile;\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n } else setInvalidOtp(true);\r\n setErrCode(\"\");\r\n }\r\n }\r\n\r\n function handleSubmit(e: React.FormEvent) {\r\n e.preventDefault();\r\n setIsLoading(true);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = values.pan;\r\n clientPartialDetails_ao.panDetails = panDetails;\r\n // clientPartialDetails_ao.mobile = values.mobile;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n GlobalStore.personaldetails.pan = values.pan;\r\n // GlobalStore.user.mobile = values.mobile;\r\n // GlobalStore.user.email = 'example@email.com';\r\n AGetClientDetailsByPan(checkApplicationStatus, values.pan);\r\n }\r\n\r\n function checkApplicationStatus(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode(\"701- Error in fetching Client details from our system.\");\r\n setErrCode(res.error);\r\n\r\n setIsLoading(false);\r\n } else {\r\n setIsLoading(false);\r\n if (res?.data == null || res?.data == \"Records Not Found\")\r\n history.push(statusUrl.accountNotFound);\r\n else if (res?.data !== null) {\r\n GlobalStore.applicationID = !GlobalStore.applicationID\r\n ? res?.data?.ApplicatoinId\r\n : GlobalStore.applicationID;\r\n GlobalStore.token = !GlobalStore.token\r\n ? res?.data?.Token\r\n : GlobalStore.token;\r\n\r\n GlobalStore.personaldetails.pan = !GlobalStore.personaldetails.pan\r\n ? res?.data?.PAN\r\n : GlobalStore.personaldetails.pan;\r\n\r\n // GlobalStore.dob = GlobalStore?.\r\n\r\n history.push(statusUrl.statusContinue);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* Email Start*/}\r\n
\r\n
\r\n \r\n onChange(\"pan\", value.toUpperCase())}\r\n placeholder=\"Eg. ABCDE1234F\"\r\n pattern={pan}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n pan: error.pattern ? \"\" : errorMsg(errorCode.FE07),\r\n })\r\n }\r\n errorText={errors.pan}\r\n type=\"text\"\r\n maxLength={10}\r\n // defaultValue=\"CWLPA4946C\" //To be removed\r\n />\r\n
\r\n
\r\n {/* */}\r\n\r\n {/* Email End*/}\r\n\r\n {/* Mobile Phone Start*/}\r\n <>\r\n
\r\n
\r\n \r\n onChange(\"mobile\", value)}\r\n onBlur={(error) =>\r\n setErrors({\r\n ...errors,\r\n mobile: error.pattern ? \"\" : errorMsg(errorCode.FE08),\r\n })\r\n }\r\n placeholder=\"Eg. 9876543210\"\r\n errorText={errors.mobile}\r\n type=\"tel\"\r\n suffix={\r\n GlobalStore.user.mobile === values.mobile &&\r\n values.mobile !== \"\" &&\r\n isMobileVerified ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n maxLength={10}\r\n // defaultValue=\"987654321\" //To be removed\r\n />\r\n
\r\n {showMobileBtn && (\r\n
\r\n error\r\n ) ||\r\n Object.values([values.pan, values.mobile]).some(\r\n (value) => !value\r\n )\r\n }\r\n onClick={() => {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"MOB_VERIFY\" });\r\n sendOtp();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {showMobileOtp && !showMobileBtn && (\r\n
\r\n {\r\n gtmService({ action: \"LEAD_PAGE\", label: \"OTP_RESEND\" });\r\n sendOtp();\r\n }}\r\n disableOtp={disableOtp}\r\n invalidOtp={invalidOtp}\r\n />\r\n
\r\n )}\r\n \r\n {/* Mobile Phone End*/}\r\n\r\n {isMobileVerified && showRmCode && (\r\n <>\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n onChange(\"rmCode\", value)}\r\n label=\"Enter Code (Optional)\"\r\n placeholder=\"Eg. ABC1234\"\r\n type=\"text\"\r\n onBlur={() => {}}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n\r\n {isMobileVerified && (\r\n <>\r\n
\r\n

\r\n By signing up you agree to receive communication on WhatsApp\r\n

\r\n
\r\n
\r\n error) ||\r\n Object.values(values).some((value) => !value) ||\r\n !isMobileVerified\r\n }\r\n isLoading={isLoading}\r\n type=\"submit\"\r\n />\r\n
\r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default RegistrationForm;\r\n","import React, { Component } from \"react\";\r\nimport CheckStatusForm from \"./CheckStatusForm/CheckStatusForm\";\r\nimport regbanner from \"../../../assets/icons/regBanner.jpeg\"; //'../../../assets/icons/regBanner.jpeg'\r\nimport { parseQuery } from \"../../Services/globalService\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport \"./CheckStatusHome.scss\";\r\nimport { RouteChildrenProps } from \"react-router-dom\";\r\n\r\nclass CheckStatusHome extends Component {\r\n // constructor(props: any) {\r\n // super(props);\r\n // this.init()\r\n // }\r\n\r\n // init = () => {\r\n // let queryObject = parseQuery(this.props.location.search);\r\n // if (queryObject && queryObject.utm_source && queryObject.utm_source.toUpperCase() === \"LEADFORDSA\")\r\n // GlobalStore.leadForDsa = true;\r\n\r\n // this.setUTMParams(queryObject);\r\n\r\n // if (typeof (queryObject.refno) !== \"undefined\" && queryObject.refno && queryObject.refno !== '')\r\n // // this.getClientDetails(queryObject.refno.replace(\" \", '+'));\r\n\r\n // if (typeof (queryObject.applicationid) !== \"undefined\" && queryObject.applicationid && queryObject.applicationid !== '') {\r\n // // if (typeof (queryObject.type) !== \"undefined\" && queryObject.type && queryObject.type === \"resume\")\r\n // // this.getRedisDocumentDetails(queryObject.applicationid.replace(/ /g, \"+\"));\r\n // // else\r\n // // this.getClientDetAfterEsign(queryObject.applicationid.replace(/ /g, \"+\"));\r\n // }\r\n // // this.checkforSiteMaintainence(queryObject);\r\n // this.onlyDematParam(queryObject);\r\n // // GlobalStore.sessionId = guid()\r\n // }\r\n\r\n // setUTMParams = (queryObject: any) => {\r\n // if (Object.keys(queryObject).length > 0) {\r\n // let objUTM_Info = {\r\n // modeofapplication: \"E\",\r\n // utm_source: queryObject.utm_source,\r\n // utm_medium: queryObject.utm_medium,\r\n // utm_term: queryObject.utm_term,\r\n // utm_creative: queryObject.utm_creative,\r\n // utm_campaign: queryObject.utm_campaign,\r\n // utm_adgroup: queryObject.utm_adgroup,\r\n // utm_placement: queryObject.utm_placement,\r\n // utm_device: queryObject.utm_device,\r\n // utm_content: queryObject.utm_content,\r\n // referralcode: \"\",\r\n // couponcode: \"\",\r\n // stageinfo: \"\",\r\n // signupdropout: \"\",\r\n // registrationdur: \"\",\r\n // devicetype: \"\",\r\n // clientip: \"\",\r\n // diysource: \"W\"\r\n // }\r\n // window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify(objUTM_Info));\r\n // } else {\r\n // const utmObj = JSON.parse(window.sessionStorage.getItem(\"objUTM_Info\") || '{}')\r\n // if (!utmObj && Object.keys(utmObj).length === 0) {\r\n // let objUTM_Info = {\r\n // modeofapplication: \"E\",\r\n // utm_source: queryObject.utm_source,\r\n // utm_medium: queryObject.utm_medium,\r\n // utm_term: queryObject.utm_term,\r\n // utm_creative: queryObject.utm_creative,\r\n // utm_campaign: queryObject.utm_campaign,\r\n // utm_adgroup: queryObject.utm_adgroup,\r\n // utm_placement: queryObject.utm_placement,\r\n // utm_device: queryObject.utm_device,\r\n // utm_content: queryObject.utm_content,\r\n // referralcode: \"\",\r\n // couponcode: \"\",\r\n // stageinfo: \"\",\r\n // signupdropout: \"\",\r\n // registrationdur: \"\",\r\n // devicetype: \"\",\r\n // clientip: \"\",\r\n // diysource: \"W\"\r\n // }\r\n // window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify(objUTM_Info));\r\n // }\r\n // }\r\n // }\r\n\r\n // // getClientDetails = (refNo: string) => {\r\n // // var clientObj = {\r\n // // clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // // applicationId: refNo\r\n // // };\r\n // // window.sessionStorage.setItem('clientDetails', JSON.stringify(clientObj));\r\n // // $http({\r\n // // method: \"POST\",\r\n // // url: config.baseUrl + \"/api/REST/GetClientDetails\",\r\n // // headers: { \"Content-type\": \"application/json\" },\r\n // // data: clientObj,\r\n // // }).then(function (res) {\r\n // // $scope.ClientDetails = JSON.parse(res.data);\r\n // // $scope.kraLoader = false;\r\n // // $window.sessionStorage.setItem(\"isEnabled\", true);\r\n // // $('#panvarify').modal('hide');\r\n // // if ($scope.ClientDetails.personal.length == 0) {\r\n // // $state.go('personal-details');\r\n // // $window.sessionStorage.setItem(\"isEnabled\", false);\r\n // // } else if ($scope.ClientDetails.bank.length == 0) {\r\n // // $state.go('bank-details');\r\n // // } else if ($scope.ClientDetails.profile.length == 0 && $scope.ClientDetails.nominee.length == 0) {\r\n // // $rootScope.personaldetails = {};\r\n // // $rootScope.profileDetails = {};\r\n // // $state.go('profile-details');\r\n // // } else if ($scope.ClientDetails.brokeragesegment.length == 0) {\r\n // // $state.go('brokerage-segment');\r\n // // }\r\n // // //else if ($scope.ClientDetails.documents.length == 0) {\r\n // // else if ($scope.ClientDetails.documents.length > 1) { // '1' is given here, because user will have already uploaded aadhar from digilocker.\r\n // // if ($scope.ClientDetails.registration[0].bpm_pd_status != 2) {\r\n // // $rootScope.uploadedDocList = $scope.ClientDetails.documents;\r\n // // if ($scope.ClientDetails.personal[0].corrsaddraspermanent)\r\n // // $rootScope.isPermAddressProof = false;\r\n // // else\r\n // // $rootScope.isPermAddressProof = true;\r\n\r\n // // for (i = 0; i < $scope.ClientDetails.documents.length; i++) {\r\n // // if ($scope.ClientDetails.documents[i].documentid == 365 && $scope.ClientDetails.documents[i].documentcategoryid == 62) { // it means video ipv is done and uploaeded on ftp server\r\n // // $rootScope.videoIpvStatus = true;\r\n // // $state.go('documentVerification');\r\n // // break;\r\n // // }\r\n // // $rootScope.videoIpvStatus = false;\r\n // // $state.go('documents-upload');\r\n // // }\r\n // // } else\r\n // // $state.go('documentVerification');\r\n // // } else {\r\n // // $state.go('documents-upload');\r\n // // }\r\n // // },\r\n // // function (res) {\r\n // // console.log(res);\r\n // // errorMsg(\"errorcode: 106\");\r\n // // });\r\n // // }\r\n\r\n // // getRedisDocumentDetails = (appId: any) => {\r\n\r\n // // // let digiobj = {\r\n // // // applicationId: appId\r\n // // // };\r\n\r\n // // // $http({\r\n // // // method: \"POST\",\r\n // // // url: config.baseUrl + \"/api/REST/RedisDigilockerDoc\",\r\n // // // headers: { \"Content-type\": \"application/json\" },\r\n // // // data: digiobj\r\n // // // }).then(function (res) {\r\n // // // if (res.data != 'No Data') {\r\n // // // getProfileDetailsFromAadhar(res.data);\r\n // // // $scope.digiStepsCompleted = true;\r\n // // // } else {\r\n // // // $scope.digiStepsCompleted = false;\r\n // // // }\r\n // // // getclientprimarydetailsId(appId);\r\n // // // }, function (res) {\r\n // // // errorMsg(\"errorcode: 108\");\r\n // // // });\r\n // // }\r\n\r\n // // getClientDetAfterEsign = (appId: any) => {\r\n // // // $scope.loader = true;\r\n // // // let clientObj = {\r\n // // // clientPrimaryDetailId: parseInt(GlobalStore.clientPrimaryDetailId),\r\n // // // applicationId: appId\r\n // // // };\r\n // // // $http({\r\n // // // method: \"POST\",\r\n // // // url: config.baseUrl + \"/api/REST/GetClientDetails\",\r\n // // // headers: { \"Content-type\": \"application/json\" },\r\n // // // data: clientObj,\r\n // // // }).then(function (res) {\r\n // // // $scope.ClientDetails = JSON.parse(res.data);\r\n // // // $scope.kraLoader = false;\r\n // // // $('#panvarify').modal('hide');\r\n // // // $window.sessionStorage.setItem(\"isEnabled\", true);\r\n // // // $rootScope.personaldetails = {};\r\n // // // $rootScope.personaldetails = angular.copy($scope.ClientDetails.personal[0]);\r\n // // // $rootScope.personaldetails.pan = $scope.ClientDetails.profile[0].pan;\r\n\r\n // // // $rootScope.personaldetails.firstname = $scope.ClientDetails.personal[0].holder_first_name;\r\n // // // $rootScope.personaldetails.lastname = $scope.ClientDetails.personal[0].holder_last_name;\r\n // // // $rootScope.personaldetails.middlename = $scope.ClientDetails.personal[0].holder_middle_name;\r\n\r\n // // // $rootScope.SaveKYCResponse = {};\r\n // // // $rootScope.SaveKYCResponse.ApplicationID = appId;\r\n\r\n // // // if ($scope.ClientDetails.registration.length > 0) { $rootScope.personaldetails.mobile = $scope.ClientDetails.registration[0].mobileno; } // fetching mobile number when user clicks on continue.\r\n\r\n // // // if ($scope.ClientDetails.personal.length > 0) {\r\n // // // $rootScope.personaldetails.adrLine1 = $scope.ClientDetails.personal[0].correspondence_address_1 + $scope.ClientDetails.personal[0].correspondence_address_2 + $scope.ClientDetails.personal[0].correspondence_address_3;\r\n // // // $rootScope.personaldetails.city = $scope.ClientDetails.personal[0].correspondance_city;\r\n // // // $rootScope.personaldetails.state = $scope.ClientDetails.personal[0].correspondance_state;\r\n // // // $rootScope.personaldetails.pincode = $scope.ClientDetails.personal[0].correspondance_pincode;\r\n // // // }\r\n\r\n // // // if ($scope.ClientDetails.esignurl.length > 0) {\r\n // // // for (i = 0; i < $scope.ClientDetails.documents.length; i++) {\r\n // // // if ($scope.ClientDetails.documents[i].documentid == 21 && $scope.ClientDetails.documents[i].documentcategoryid == 9) { // it means cheque leaf is submitted\r\n // // // $rootScope.isChequeLeafSubmitted = true;\r\n // // // }\r\n // // // }\r\n // // // if ($scope.ClientDetails.esignurl[0].esginstatus == \"PENDING\") {\r\n // // // $state.go(\"documentVerification\");\r\n // // // } else {\r\n // // // $state.go(\"poascheduler\");\r\n // // // }\r\n // // // } else {\r\n // // // $state.go(\"documentVerification\");\r\n // // // }\r\n // // // }, function (res) {\r\n // // // console.log(res);\r\n // // // errorMsg(\"errorcode: 106\");\r\n // // // });\r\n // // }\r\n\r\n // // checkforSiteMaintainence = (queryObject: any) => {\r\n // // $http({\r\n // // method: \"GET\",\r\n // // url: config.baseUrl + \"/api/REST/Diymaintainance\",\r\n // // headers: { \"Content-type\": \"application/json\" }\r\n // // }).then(function (res) {\r\n // // var date = new Date();\r\n // // if (typeof (res.data.data) != \"undefined\" && res.data.data.Status && res.data.data.DIY_Maintainance_From <= $filter('date')(new Date(), 'dd-MM-yyyy HH:mm:ss') &&\r\n // // res.data.data.DIY_Maintainance_To >= $filter('date')(new Date(), 'dd-MM-yyyy HH:mm:ss')) {\r\n // // $scope.maintainenceMsg = res.data.data.DIY_Maintainance_Msg;\r\n // // $scope.isMaintainence = true;\r\n // // } else {\r\n // // $scope.isMaintainence = false;\r\n // // if (typeof (queryObject.leadid) != \"undefined\" && typeof (queryObject.firstname) != \"undefined\" &&\r\n // // typeof (queryObject.lastname) != \"undefined\" && typeof (queryObject.city) != \"undefined\" && typeof (queryObject.mobile) != \"undefined\" &&\r\n // // typeof (queryObject.email) != \"undefined\") {\r\n\r\n // // $rootScope.LeadID = queryObject.leadid;\r\n // // $rootScope.details = {\r\n // // firstname: queryObject.firstname,\r\n // // lastname: queryObject.lastname,\r\n // // city: queryObject.city,\r\n // // mobile: queryObject.mobile,\r\n // // emailId: queryObject.email,\r\n // // };\r\n // // $state.go('aadhaar');\r\n // // return false;\r\n // // }\r\n // // if (!$rootScope.isPartialFilledClient && typeof ($location.search().refno) == \"undefined\" && typeof (queryObject.applicationid) == \"undefined\")\r\n // // resumeAccountCreation();\r\n // // }\r\n // // }, function (res) {\r\n // // console.log(res);\r\n // // errorMsg(\"errorcode: 105\");\r\n // // });\r\n // // }\r\n\r\n // onlyDematParam = (queryObject: any) => {\r\n // let objAccType;\r\n // if (Object.keys(queryObject).length !== 0)\r\n // objAccType = queryObject.accType === 'DMT' ? 'DMT' : 'EQTY';\r\n // else\r\n // objAccType = 'EQTY';\r\n // window.sessionStorage.setItem(\"objAccType\", objAccType);\r\n // }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \"banner\"\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default CheckStatusHome;\r\n","import React, { Component } from 'react';\r\nimport { RouteChildrenProps } from 'react-router-dom';\r\nimport regbanner from '../../../assets/icons/account-not-found.png';\r\nimport config from '../../../config/domain';\r\nimport Button from '../../UI/Button/Button';\r\nimport { containerUrl, dashboardUrl, statusUrl } from '../../utils/constants';\r\n\r\n// import './AccountNotFound.scss';\r\n\r\nclass AccountNotFound extends Component {\r\n checkStatus = () => {\r\n window.location.href = config.root + statusUrl.statusHome.replace(\"/\", \"\");\r\n };\r\n newAccount = () => {\r\n window.location.href = config.root;\r\n };\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n

No Account Found

\r\n \r\n We didn't have any account with the given
\r\n details.Would you like to open an account
with us?\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\nexport default AccountNotFound;\r\n","import React, { Component } from 'react';\r\nimport { RouteChildrenProps } from 'react-router-dom';\r\nimport regbanner from '../../../assets/icons/accountAlreadyExists.png';\r\nimport Button from '../../UI/Button/Button';\r\nimport { statusUrl } from '../../utils/constants';\r\n\r\nimport './StatusVerified.scss';\r\n\r\nclass StatusVerified extends Component {\r\n checkStatus = () => {\r\n window.location.href = statusUrl.statusHome;\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n

Account Already Exists

\r\n \r\n An account already exists with this PAN\r\n
and mobile information.\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\nexport default StatusVerified;\r\n","import React, { Component } from 'react';\r\nimport { RouteChildrenProps } from 'react-router-dom';\r\nimport regbanner from '../../../assets/icons/verificationInProgress.png';\r\nimport Button from '../../UI/Button/Button';\r\n\r\nimport './DocsVerificationInProgress.scss';\r\n\r\nclass DocsVerificationInProgress extends Component { \r\n render() {\r\n \r\n return (\r\n
\r\n \r\n
\r\n

Document Verification in Process

\r\n \r\n Your documents are getting verified by our
\r\n agents.This process usually take 1-2
business days\r\n
\r\n
We will notify you of the update via WhatsApp/Email
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default DocsVerificationInProgress\r\n","import React from \"react\";\r\nimport { RouteChildrenProps } from \"react-router-dom\";\r\nimport regbanner from \"../../../assets/icons/docsRejected.png\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { AGetStageCompletionStatus } from \"../../Services/registration/continueApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { dashboardUrl, containerUrl } from \"../../utils/constants\";\r\nimport { setStageData } from \"../../Services/globalService\";\r\nimport welcomeBack from \"../../../assets/icons/welcomeBack.jpg\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport {\r\n AGetClientDetailsByPan,\r\n AGetPanUtiData,\r\n} from \"../../Services/registration/panDobApiService\";\r\n\r\nimport \"./DocumentReject.scss\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\n\r\nexport interface DocumentRejectProps {}\r\n\r\nconst DocumentReject: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [clientName, setClientName] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState();\r\n const history = useHistory();\r\n\r\n const handleContinue = () => {\r\n // e.preventDefault();\r\n console.log(\"Continue....\");\r\n setIsLoading(true);\r\n const panFromLocalStorage = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let panNum = GlobalStore.personaldetails.pan;\r\n if (\r\n GlobalStore.personaldetails.pan != undefined ||\r\n GlobalStore.personaldetails.pan != \"\"\r\n ) {\r\n panNum = GlobalStore.personaldetails.pan;\r\n } else if (panFromLocalStorage.pan != \"\") {\r\n panNum = panFromLocalStorage.pan != \"\" ? panFromLocalStorage.pan : \"\";\r\n }\r\n AGetPanUtiData(validatePAN, panNum);\r\n };\r\n\r\n // function validatePAN(res: any) {\r\n // if (!res || res.error) {\r\n // // setErrCode(107);\r\n // // setErrCode(errorMessage.validatePAN);\r\n // console.log(res.errMsg);\r\n // setErrCode(res.error);\r\n // setIsLoading(false);\r\n // } else {\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Existing and Valid\"\r\n // ) !== -1\r\n // ) {\r\n // let PANFirstName = res.data.panDetails.Firstname\r\n // ? res.data.panDetails.Firstname\r\n // : \"\";\r\n // let PANMiddleName = res.data.panDetails.Middlename\r\n // ? res.data.panDetails.Middlename\r\n // : \"\";\r\n // let PANlastName = res.data.panDetails.Lastname\r\n // ? res.data.panDetails.Lastname\r\n // : \"\";\r\n\r\n // if (PANFirstName === \"null\" && PANlastName !== \"null\") {\r\n // PANFirstName = PANlastName;\r\n // GlobalStore.personaldetails.PANName = PANFirstName;\r\n // PANlastName = \"\";\r\n // if (PANMiddleName !== \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n // }\r\n // } else if (\r\n // PANFirstName === \"null\" &&\r\n // PANMiddleName === \"null\" &&\r\n // PANlastName === \"null\"\r\n // ) {\r\n // GlobalStore.personaldetails.PANName = \"\";\r\n // } else if (PANMiddleName === \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANlastName;\r\n // PANMiddleName = \"\";\r\n // } else {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n // }\r\n\r\n // //Modify personal details based on this response.\r\n\r\n // GlobalStore.personaldetails.firstname = PANFirstName;\r\n // GlobalStore.personaldetails.lastname = PANlastName;\r\n // GlobalStore.personaldetails.middlename = PANMiddleName;\r\n // GlobalStore.personaldetails.panDetails = res.data.panDetails;\r\n // AGetClientDetailsByPan(searchByPan, GlobalStore.personaldetails.pan);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\"Invalid PAN\") === -1\r\n // ) {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Not in ITD Database\"\r\n // ) === -1\r\n // ) {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // } else {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // }\r\n // }\r\n // }\r\n\r\n function validatePAN(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n setErrCode(res.error);\r\n console.log(res.errMsg);\r\n setIsLoading(false);\r\n } else {\r\n if (res && res.data && res.data.PanNo && res.data.IsValid == true) {\r\n //CleverTap log Start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_success',\r\n // CTA: 'Continue'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log End\r\n\r\n let PANFirstName = res.data.Firstname ? res.data.Firstname : \"\";\r\n let PANMiddleName = res.data.Middlename ? res.data.Middlename : \"\";\r\n let PANlastName = res.data.Lastname ? res.data.Lastname : \"\";\r\n\r\n if (PANFirstName === \"\" && PANlastName !== \"\") {\r\n PANFirstName = PANlastName;\r\n GlobalStore.personaldetails.PANName = PANFirstName;\r\n PANlastName = \"\";\r\n if (PANMiddleName !== \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n }\r\n } else if (\r\n PANFirstName === \"\" &&\r\n PANMiddleName === \"\" &&\r\n PANlastName === \"\"\r\n ) {\r\n GlobalStore.personaldetails.PANName = \"\";\r\n } else if (PANMiddleName === \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANlastName;\r\n PANMiddleName = \"\";\r\n } else {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n }\r\n\r\n //Modify personal details based on this response.\r\n\r\n GlobalStore.personaldetails.firstname = PANFirstName;\r\n GlobalStore.personaldetails.lastname = PANlastName;\r\n GlobalStore.personaldetails.middlename = PANMiddleName;\r\n GlobalStore.personaldetails.panDetails = res.data;\r\n\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n\r\n if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n GlobalStore.isSeeding = false;\r\n } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n GlobalStore.isSeeding = true;\r\n }\r\n\r\n //-------- After Pan validation Navigate to DigiLocker Page -------\r\n AGetClientDetailsByPan(searchByPan, GlobalStore.personaldetails.pan);\r\n //Dudupe Logic here//\r\n } else if (\r\n res &&\r\n res.data &&\r\n res.data.PanNo &&\r\n res.data.IsValid == false\r\n ) {\r\n // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf('Not in ITD Database') === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n // setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n } else {\r\n // setErrCode('PAN UTI server down');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const searchByPan = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(118);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n if (res.data != null) {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.PANName = GlobalStore.personaldetails.PANName;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n AGetStageCompletionStatus(\r\n getClientStageDetails,\r\n GlobalStore.applicationID\r\n );\r\n } else if (res.data == null) {\r\n setErrCode(\"No records found\");\r\n }\r\n } else {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n };\r\n\r\n function getClientStageDetails(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode(106);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n checkModuleCompleteness(responseObj.isuploaddocumentscompleted);\r\n\r\n //route according to stage api response\r\n if (\r\n !responseObj.isdigilockercompleted &&\r\n GlobalStore.aadharLinkedChoice &&\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA\r\n ) {\r\n history.push(containerUrl.dgLocker);\r\n return;\r\n }\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n history.push(dashboardUrl.profile);\r\n return;\r\n }\r\n if (!responseObj.isbankdetailscompleted) {\r\n history.push(dashboardUrl.bank);\r\n return;\r\n }\r\n if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n ) {\r\n history.push(dashboardUrl.plan);\r\n return;\r\n }\r\n if (!responseObj.isuploaddocumentscompleted) {\r\n history.push(dashboardUrl.doc);\r\n return;\r\n }\r\n if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n // !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n ) {\r\n history.push(dashboardUrl.ipv);\r\n return;\r\n }\r\n if (responseObj.isagentvisitcompleted) {\r\n history.push(containerUrl.ocv);\r\n return;\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign);\r\n return;\r\n }\r\n if (responseObj.isesigncompleted) {\r\n history.push(containerUrl.poa);\r\n return;\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n

Document Rejected

\r\n {/* Please reupload the following documents\r\n
    \r\n
  • Correspondence Address Proof
  • \r\n
  • Signature
  • \r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\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\nexport default DocumentReject;\r\n","import React from \"react\";\r\nimport ProfileImage from \"../../UI/ProfileImage/ProfileImage\";\r\nimport Button from \"../../UI/Button/Button\";\r\n// import './StatusContinue.scss';\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n AGetCacheData,\r\n AGetStageCompletionStatus,\r\n} from \"../../Services/registration/continueApiService\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { dashboardUrl, containerUrl, statusUrl } from \"../../utils/constants\";\r\nimport { setStageData } from \"../../Services/globalService\";\r\nimport welcomeBack from \"../../../assets/icons/welcomeBack.jpg\";\r\nimport { checkModuleCompleteness } from \"../../Profile/ProfileNavBar/ProfileNavBar\";\r\nimport {\r\n AGetClientDetailsByPan,\r\n AGetPanUtiData,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport { APendingUploadList } from \"../../Services/dashboard/eSignApiServices\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport { pan } from \"../../utils/regex\";\r\nimport { getProfileDetailsFromAadhar } from \"../../Registration/ShareAdd/ShareAdd\";\r\nexport interface StatusContinueProps {}\r\n\r\nconst StatusContinue: React.FC = (props) => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [clientName, setClientName] = React.useState(\"\");\r\n const [errCode, setErrCode] = React.useState();\r\n // const [isUploadDocumentsCompleted, setIsUploadDocumentsCompleted] = React.useState(false);\r\n let isUploadDocumentsCompleted = false;\r\n const history = useHistory();\r\n const cacheKRAFunction = (responseObj: any) => {\r\n GlobalStore.isKRA = true;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.KRA_email = responseObj.KraEmail ? responseObj.KraEmail : \"\";\r\n GlobalStore.KRA_mobile = responseObj.KraMobile ? responseObj.KraMobile : \"\";\r\n GlobalStore.KRA_mode = responseObj.kra_mode ? responseObj.kra_mode : 0;\r\n\r\n // if (!GlobalStore.isKYC) {\r\n const resultObj = responseObj;\r\n GlobalStore.kraInfoObject.addressLine1 = `${resultObj.AppPerAdd1} ${\r\n resultObj.AppPerAdd2 || \"\"\r\n } ${resultObj.AppPerAdd3 || \"\"}`;\r\n GlobalStore.kraInfoObject.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1; //.replace(/[^a-zA-Z0-9 ]/g, \" \")\r\n\r\n GlobalStore.kraInfoObject.corrAddress = `${resultObj.AppCorAdd1} ${\r\n resultObj.AppCorAdd2 || \"\"\r\n } ${resultObj.AppCorAdd3 || \"\"}`;\r\n GlobalStore.kraInfoObject.corrAddress =\r\n GlobalStore.kraInfoObject.corrAddress; //.replace(/[^a-zA-Z0-9 ]/g, \" \")\r\n GlobalStore.kraInfoObject.pincode = resultObj.AppPerPincd;\r\n GlobalStore.kraInfoObject.corrPincode = resultObj.AppCorPincd;\r\n GlobalStore.personaldetails.fsfullName = resultObj.FatherName\r\n ? resultObj.FatherName\r\n : GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.isKRA = true;\r\n clientPartialDetails_ao.addressLine1 =\r\n GlobalStore.kraInfoObject.addressLine1;\r\n clientPartialDetails_ao.pincode = GlobalStore.kraInfoObject.pincode;\r\n clientPartialDetails_ao.corrAddress = GlobalStore.kraInfoObject.corrAddress;\r\n clientPartialDetails_ao.corrPincode = GlobalStore.kraInfoObject.corrPincode;\r\n clientPartialDetails_ao.fsfullName = GlobalStore.personaldetails.fsfullName;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n GlobalStore.kraInfoObject.addressLine1 ==\r\n GlobalStore.kraInfoObject.corrAddress\r\n ? true\r\n : false;\r\n // } else {\r\n // clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n // }\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n // getKraDocumentUpload(responseObj, true);\r\n // setTimeout(()=>{\r\n\r\n // },3000)\r\n };\r\n const handleContinue = async () => {\r\n // e.preventDefault();\r\n console.log(\"function called\");\r\n\r\n setIsLoading(true);\r\n const panFromLocalStorage = await JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n let panNum = GlobalStore.personaldetails.pan;\r\n\r\n if (\r\n GlobalStore.personaldetails.pan != undefined ||\r\n GlobalStore.personaldetails.pan != \"\"\r\n ) {\r\n panNum = GlobalStore.personaldetails.pan;\r\n } else if (panFromLocalStorage.pan != \"\") {\r\n panNum = panFromLocalStorage.pan != \"\" ? panFromLocalStorage.pan : \"\";\r\n }\r\n let isValidPan = pan.test(panNum);\r\n\r\n console.log(\r\n \"panNum\",\r\n { panNum, isValidPan },\r\n panNum !== \"\" && panNum !== undefined && isValidPan\r\n );\r\n if (panNum !== \"\" && panNum !== undefined && isValidPan) {\r\n AGetPanUtiData(validatePAN, panNum);\r\n } else {\r\n alert(\r\n \"Please restart or check your status to continue with your Account Opening process as current session is expired.\"\r\n );\r\n history.push(containerUrl.registration);\r\n return;\r\n }\r\n };\r\n\r\n // function validatePAN(res: any) {\r\n // if (!res || res.error) {\r\n // // setErrCode(107);\r\n // // setErrCode(errorMessage.validatePAN);\r\n // console.log(res.errMsg);\r\n // setErrCode(res.error);\r\n\r\n // setIsLoading(false);\r\n // } else {\r\n // if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Existing and Valid\"\r\n // ) !== -1\r\n // ) {\r\n // let PANFirstName = res.data.panDetails.Firstname\r\n // ? res.data.panDetails.Firstname\r\n // : \"\";\r\n // let PANMiddleName = res.data.panDetails.Middlename\r\n // ? res.data.panDetails.Middlename\r\n // : \"\";\r\n // let PANlastName = res.data.panDetails.Lastname\r\n // ? res.data.panDetails.Lastname\r\n // : \"\";\r\n\r\n // if (PANFirstName === \"null\" && PANlastName !== \"null\") {\r\n // PANFirstName = PANlastName;\r\n // GlobalStore.personaldetails.PANName = PANFirstName;\r\n // PANlastName = \"\";\r\n // if (PANMiddleName !== \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n // }\r\n // } else if (\r\n // PANFirstName === \"null\" &&\r\n // PANMiddleName === \"null\" &&\r\n // PANlastName === \"null\"\r\n // ) {\r\n // GlobalStore.personaldetails.PANName = \"\";\r\n // } else if (PANMiddleName === \"null\") {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANlastName;\r\n // PANMiddleName = \"\";\r\n // } else {\r\n // GlobalStore.personaldetails.PANName =\r\n // PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n // }\r\n\r\n // //Modify personal details based on this response.\r\n\r\n // GlobalStore.personaldetails.firstname = PANFirstName;\r\n // GlobalStore.personaldetails.lastname = PANlastName;\r\n // GlobalStore.personaldetails.middlename = PANMiddleName;\r\n // GlobalStore.personaldetails.panDetails = res.data.panDetails;\r\n // AGetClientDetailsByPan(searchByPan, GlobalStore.personaldetails.pan);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\"Invalid PAN\") === -1\r\n // ) {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails?.AadharSeedingStatus.indexOf(\r\n // \"Not in ITD Database\"\r\n // ) === -1\r\n // ) {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // } else {\r\n // setErrCode(errorMessage.newPanUtiError);\r\n // setIsLoading(false);\r\n // }\r\n // }\r\n // }\r\n\r\n function validatePAN(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('107 - Error in fetching Pan details from PAN UTI system.');\r\n setErrCode(res.error);\r\n console.log(res.errMsg);\r\n setIsLoading(false);\r\n } else {\r\n console.log(\"PANlastName\", res.data);\r\n\r\n if (res && res.data && res.data.PanNo && res.data.IsValid == true) {\r\n //CleverTap log Start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_success',\r\n // CTA: 'Continue'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log End\r\n\r\n let PANFirstName = res.data.Firstname ? res.data.Firstname : \"\";\r\n let PANMiddleName = res.data.Middlename ? res.data.Middlename : \"\";\r\n let PANlastName = res.data.Lastname ? res.data.Lastname : \"\";\r\n\r\n if (PANFirstName === \"\" && PANlastName !== \"\") {\r\n PANFirstName = PANlastName;\r\n GlobalStore.personaldetails.PANName = PANFirstName;\r\n PANlastName = \"\";\r\n if (PANMiddleName !== \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n GlobalStore.personaldetails.PANName + \" \" + PANMiddleName;\r\n }\r\n } else if (\r\n PANFirstName === \"\" &&\r\n PANMiddleName === \"\" &&\r\n PANlastName === \"\"\r\n ) {\r\n GlobalStore.personaldetails.PANName = \"\";\r\n } else if (PANMiddleName === \"\") {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANlastName;\r\n PANMiddleName = \"\";\r\n } else {\r\n GlobalStore.personaldetails.PANName =\r\n PANFirstName + \" \" + PANMiddleName + \" \" + PANlastName;\r\n }\r\n\r\n //Modify personal details based on this response.\r\n\r\n GlobalStore.personaldetails.firstname = PANFirstName;\r\n GlobalStore.personaldetails.lastname = PANlastName;\r\n GlobalStore.personaldetails.middlename = PANMiddleName;\r\n GlobalStore.personaldetails.panDetails = res.data;\r\n\r\n let responseObj = res.data.AadharSeedingStatus\r\n ? res.data.AadharSeedingStatus\r\n : \"\";\r\n\r\n if (responseObj.includes(\"Aadhaar not Seeded\")) {\r\n GlobalStore.isSeeding = false;\r\n } else if (responseObj.includes(\"Aadhaar Seeding is Successful\")) {\r\n GlobalStore.isSeeding = true;\r\n }\r\n\r\n //-------- After Pan validation Navigate to DigiLocker Page -------\r\n\r\n //Dudupe Logic here//\r\n AGetClientDetailsByPan(searchByPan, GlobalStore.personaldetails.pan);\r\n } else if (\r\n res &&\r\n res.data &&\r\n res.data.PanNo &&\r\n res.data.IsValid == false\r\n ) {\r\n // setErrCode('Not in ITD Database. Please enter valid PAN.');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n // } else if (\r\n // res &&\r\n // res.data &&\r\n // res.data.panDetails &&\r\n // res.data.panDetails.indexOf('Not in ITD Database') === -1\r\n // ) {\r\n // // setErrCode('Not in ITD Database.Please enter valid PAN.');\r\n // setErrCode(errorMessage.clientDetailsByPan);\r\n // setIsLoading(false);\r\n //CleverTap log start\r\n // var data = {\r\n // CurrentPage: $location.path(),\r\n // Platform: angular.element($window).width() > 767 ? 'Website_Desktop' : 'Website_Mobile',\r\n // EventName: 'pan_dob_failure',\r\n // Error: 'Not in ITD Database.Please enter valid PAN'\r\n // };\r\n // clevertap.event.push(data.EventName, data);\r\n //CleverTap log end\r\n } else {\r\n // setErrCode('PAN UTI server down');\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n\r\n const searchByPan = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(118);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data) {\r\n if (res.data != null) {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n // AGetStageCompletionStatus(getClientStageDetails, GlobalStore.applicationID);\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n } else if (res.data == null) {\r\n setErrCode(\"No records found\");\r\n }\r\n } else {\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n }\r\n }\r\n };\r\n\r\n function checkPendingUpload(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n let list: Array = JSON.parse(res.data).filter(\r\n (item: any) =>\r\n // Prev api response\r\n // item.documentcategoryid !== 36 &&\r\n // item.documentcategoryid !== 30 &&\r\n // item.documentcategoryid !== 62\r\n item.Mandatory == true\r\n );\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n }\r\n }\r\n setIsLoading(false);\r\n AGetStageCompletionStatus(getClientStageDetails, GlobalStore.applicationID);\r\n }\r\n const CacheFunction = (callBackFunction: Function) => {\r\n AGetCacheData(\r\n (res: any) => {\r\n if (res && res.data && res.data?.IsTaggingPresent) {\r\n let cacheResponse = res?.data;\r\n if (\r\n GlobalStore?.applicationID &&\r\n GlobalStore.stageStatus.ispersonaldetailscompleted !== true &&\r\n GlobalStore.stageStatus.isprofiledetailscompleted !== true &&\r\n cacheResponse !== null &&\r\n cacheResponse?.IsTaggingPresent\r\n ) {\r\n if (cacheResponse?.TaggingMode == \"1\") {\r\n cacheKRAFunction(cacheResponse?.data);\r\n setIsLoading(false);\r\n } else if (cacheResponse?.TaggingMode == \"2\") {\r\n GlobalStore.isDigiLocker = true;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n clientPartialDetails_ao.isDigiLocker = true;\r\n clientPartialDetails_ao.signzydt = \"\";\r\n\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n getProfileDetailsFromAadhar(cacheResponse?.data);\r\n history.push(dashboardUrl.profile);\r\n setIsLoading(false);\r\n } else if (cacheResponse?.TaggingMode == \"3\") {\r\n GlobalStore.isNormalClient = true;\r\n GlobalStore.isKYC = false;\r\n GlobalStore.isKRA = false;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(dashboardUrl.profile);\r\n setIsLoading(false);\r\n } else {\r\n callBackFunction();\r\n }\r\n }\r\n } else {\r\n callBackFunction();\r\n }\r\n },\r\n {\r\n uniqueID: GlobalStore?.applicationID,\r\n key: `AOPDROPOFF-${GlobalStore?.applicationID}`,\r\n }\r\n );\r\n };\r\n function getClientStageDetails(res: any) {\r\n setIsLoading(true);\r\n if (!res || res.error) {\r\n // setErrCode(106);\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n \r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n //check completeness of stages\r\n checkModuleCompleteness(isUploadDocumentsCompleted);\r\n GlobalStore.personaldetails.fsfullName = GlobalStore.personaldetails\r\n .fsfullName\r\n ? GlobalStore.personaldetails.fsfullName\r\n : responseObj?.fatherspousename;\r\n if (responseObj.isdigilockercompleted) GlobalStore.isDigiLocker = true;\r\n if (responseObj.iskra) GlobalStore.isKRA = true;\r\n if (responseObj.iskyc) GlobalStore.isKYC = true;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.PANName = GlobalStore.personaldetails.PANName;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.isDigiLocker = GlobalStore.isDigiLocker;\r\n clientPartialDetails_ao.isKRA = GlobalStore.stageStatus.iskra;\r\n clientPartialDetails_ao.isKYC = GlobalStore.stageStatus.iskyc;\r\n clientPartialDetails_ao.mobile = responseObj?.mobileno;\r\n clientPartialDetails_ao.dob = GlobalStore.stageStatus.dob; //moment(values.dob).format(\"DD/MM/YYYY\");\r\n if (responseObj?.fatherspousename!=null && responseObj?.fatherspousename!=undefined && responseObj?.fatherspousename!==\"\") {\r\n clientPartialDetails_ao.fsfullName =\r\n responseObj?.fatherspousename;\r\n }\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n\r\n //route according to stage api response\r\n if (\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 0\r\n ) {\r\n history.push(statusUrl.docVerificationInProgress);\r\n return;\r\n }\r\n if (!isUploadDocumentsCompleted && responseObj.bpm_pd_status === 2) {\r\n history.push(statusUrl.documentReject);\r\n return;\r\n }\r\n if (\r\n !responseObj.isdigilockercompleted &&\r\n GlobalStore.aadharLinkedChoice &&\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA\r\n ) {\r\n history.push(containerUrl.dgLocker);\r\n return;\r\n }\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n CacheFunction(() => {\r\n alert(\"Please restart/continue with your Account Opening process\");\r\n history.push(containerUrl.registration);\r\n });\r\n return;\r\n // alert(\"Please restart/continue with your Account Opening process\");\r\n // history.push(containerUrl.registration);\r\n // return;\r\n }\r\n if (!responseObj.isbankdetailscompleted) {\r\n history.push(dashboardUrl.bank);\r\n return;\r\n }\r\n if (\r\n !responseObj.isbrokeragesegmentcompleted ||\r\n !responseObj.isbrokerageschemecompleted\r\n ) {\r\n history.push(dashboardUrl.plan);\r\n return;\r\n }\r\n if (!isUploadDocumentsCompleted) {\r\n history.push(dashboardUrl.doc);\r\n return;\r\n }\r\n if (\r\n !GlobalStore.isDigiLocker &&\r\n !GlobalStore.isKRA &&\r\n !GlobalStore.isKYC &&\r\n !responseObj.isipvarificationcompleted\r\n ) {\r\n history.push(dashboardUrl.ipv);\r\n return;\r\n }\r\n if (responseObj.isagentvisitcompleted) {\r\n history.push(containerUrl.ocv);\r\n return;\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=e\");\r\n return;\r\n }\r\n if (responseObj.isesigncompleted && !responseObj.iskraesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=k\");\r\n return;\r\n }\r\n if (responseObj.bpm_pd_status === 1) {\r\n history.push(containerUrl.poa);\r\n return;\r\n }\r\n }\r\n }\r\n setIsLoading(false);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n \"Welcome\"\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default StatusContinue;\r\n","import React, { useEffect } from \"react\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\nimport StatusLayout from \"../components/Status/Layout/Layout\";\r\nimport WelcomeBack from \"../components/Registration/WelcomeBack/WelcomeBack\";\r\nimport MailVerified from \"../components/Registration/MailVerified/MailVerified\";\r\nimport NRI from \"../components/Registration/NRI/NRI\";\r\nimport OTP from \"../components/Registration/OTP/OTP\";\r\nimport AccExists from \"../components/Registration/AccExists/AccExists\";\r\nimport PANInfo from \"../components/Registration/PANInfo/PANInfo\";\r\nimport Error from \"../components/UI/ErrorScreen/ErrorScreen\";\r\nimport ShareAdd from \"../components/Registration/ShareAdd/ShareAdd\";\r\nimport CheckStatusHome from \"../components/Status/CheckStatus/CheckStatusHome\";\r\nimport AccountNotFound from \"../components/Status/AccountNotFound/AccountNotFound\";\r\nimport StatusVerified from \"../components/Status/StatusVerified/StatusVerified\";\r\nimport DocsVerificationInProgress from \"../components/Status/DocsVerificationInProgress/DocsVerificationInProgress\";\r\nimport DocumentReject from \"../components/Status/DocumentReject/DocumentReject\";\r\nimport { statusUrl } from \"../components/utils/constants\";\r\nimport StatusContinue from \"../components/Status/StatusContinue/StatusContinue\";\r\nimport InstanHelp from \"../components/InstantHelp/InstantHelp\";\r\n\r\nconst StatusRoutes = () => {\r\n return (\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 );\r\n};\r\n\r\nexport default StatusRoutes;\r\n","import React from \"react\";\r\nimport { Redirect } from \"react-router-dom\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { ClevertapService } from \"../Services/clevertapService\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport {\r\n ACreateLead,\r\n ACreateLeadSource,\r\n ASearchLeadByName,\r\n AWhatsappNotify,\r\n} from \"../Services/registration/registrationApiService\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport { assignedTo, containerUrl, productCode } from \"../utils/constants\";\r\nimport { errorMessage } from \"../utils/errorMessage\";\r\nimport \"./Marketing.scss\";\r\n\r\nconst Marketing = () => {\r\n const queryParams = useQuery();\r\n let utm_source = \"\";\r\n let utm_medium = \"\";\r\n let utm_campaign = \"\";\r\n\r\n const [values, setValues] = React.useState({\r\n firstname: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n city: \"\",\r\n });\r\n const [whatsappMsgSuccess, setWhatsappMsgSuccess] =\r\n React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [isComplete, setIsComplete] = React.useState(false);\r\n const [improperData, setImproperData] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n utm_source = queryParams.get(\"utm_source\") || \"\";\r\n utm_medium = queryParams.get(\"utm_medium\") || \"\";\r\n utm_campaign = queryParams.get(\"utm_campaign\") || \"\";\r\n const utm_term = queryParams.get(\"utm_term\") || \"\";\r\n const utm_creative = queryParams.get(\"utm_creative\") || \"\";\r\n const utm_adgroup = queryParams.get(\"utm_adgroup\") || \"\";\r\n const utm_placement = queryParams.get(\"utm_placement\") || \"\";\r\n const utm_device = queryParams.get(\"utm_device\") || \"\";\r\n const utm_content = queryParams.get(\"utm_content\") || \"\";\r\n const firstname = queryParams.get(\"fname\") || \"\";\r\n const lastName = queryParams.get(\"lname\") || \"\";\r\n const email = queryParams.get(\"email\") || \"\";\r\n const mobile = queryParams.get(\"mobile\") || \"\";\r\n const city = queryParams.get(\"city\") || \"\";\r\n const utmParams = {\r\n utm_source,\r\n utm_medium,\r\n utm_campaign,\r\n utm_term,\r\n utm_creative,\r\n utm_adgroup,\r\n utm_placement,\r\n utm_device,\r\n utm_content,\r\n };\r\n\r\n if (utm_source && utm_source.toUpperCase() === \"LEADFORDSA\")\r\n GlobalStore.leadForDsa = true;\r\n setUTMParams(utmParams);\r\n // init();\r\n\r\n if (\r\n firstname !== \"\" &&\r\n lastName !== \"\" &&\r\n email !== \"\" &&\r\n mobile !== \"\" &&\r\n city !== \"\"\r\n ) {\r\n setValues({ firstname, lastName, email, mobile, city });\r\n } else {\r\n setImproperData(true);\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (Object.values(values).every((value) => value !== \"\")) {\r\n handleSubmit();\r\n }\r\n }, [values]);\r\n\r\n // New Start\r\n\r\n const setUTMParams = (queryObject: any) => {\r\n if (Object.keys(queryObject).length > 0) {\r\n let objUTM_Info = {\r\n modeofapplication: \"E\",\r\n utm_source: queryObject.utm_source,\r\n utm_medium: queryObject.utm_medium,\r\n utm_term: queryObject.utm_term,\r\n utm_creative: queryObject.utm_creative,\r\n utm_campaign: queryObject.utm_campaign,\r\n utm_adgroup: queryObject.utm_adgroup,\r\n utm_placement: queryObject.utm_placement,\r\n utm_device: queryObject.utm_device,\r\n utm_content: queryObject.utm_content,\r\n referralcode: \"\",\r\n couponcode: \"\",\r\n stageinfo: \"\",\r\n signupdropout: \"\",\r\n registrationdur: \"\",\r\n devicetype: \"\",\r\n clientip: \"\",\r\n diysource: \"W\",\r\n };\r\n window.sessionStorage.setItem(\"objUTM_Info\", JSON.stringify(objUTM_Info));\r\n } else {\r\n const utmObj = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n if (!utmObj && Object.keys(utmObj).length === 0) {\r\n let objUTM_Info = {\r\n modeofapplication: \"E\",\r\n utm_source: queryObject.utm_source,\r\n utm_medium: queryObject.utm_medium,\r\n utm_term: queryObject.utm_term,\r\n utm_creative: queryObject.utm_creative,\r\n utm_campaign: queryObject.utm_campaign,\r\n utm_adgroup: queryObject.utm_adgroup,\r\n utm_placement: queryObject.utm_placement,\r\n utm_device: queryObject.utm_device,\r\n utm_content: queryObject.utm_content,\r\n referralcode: \"\",\r\n couponcode: \"\",\r\n stageinfo: \"\",\r\n signupdropout: \"\",\r\n registrationdur: \"\",\r\n devicetype: \"\",\r\n clientip: \"\",\r\n diysource: \"W\",\r\n };\r\n window.sessionStorage.setItem(\r\n \"objUTM_Info\",\r\n JSON.stringify(objUTM_Info)\r\n );\r\n }\r\n }\r\n };\r\n\r\n // New End\r\n\r\n function handleSubmit() {\r\n if (Object.values(values).every((value) => value)) {\r\n GlobalStore.user = {\r\n firstname: values.firstname,\r\n lastName: values.lastName,\r\n email: values.email,\r\n mobile: values.mobile,\r\n city: values.city,\r\n // rmCode: rmCode\r\n };\r\n if (whatsappMsgSuccess) {\r\n searchLeadByName();\r\n } else {\r\n const msgReq = {\r\n type: \"optin\",\r\n recipients: [\r\n {\r\n recipient: values.mobile,\r\n source: \"edel-web\",\r\n user_agent: navigator.appName,\r\n },\r\n ],\r\n };\r\n AWhatsappNotify(whatsappNotify, msgReq);\r\n }\r\n }\r\n }\r\n\r\n function whatsappNotify(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('101 - Failed to provide consent for WhatsApp Notifications.');\r\n // setErrCode(errorMessage.whatsAppNotify);\r\n setErrCode(res.error);\r\n setWhatsappMsgSuccess(false);\r\n } else {\r\n setWhatsappMsgSuccess(true);\r\n searchLeadByName();\r\n }\r\n }\r\n\r\n function searchLeadByName() {\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n const viewLeadObj = {\r\n assignedTo: assignedTo,\r\n emailId: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n mobile: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n };\r\n window.localStorage.setItem(\r\n \"clientName\",\r\n values.firstname.trim() + \" \" + values.lastName.trim()\r\n );\r\n GlobalStore.LeadIdMsg = \"\";\r\n ASearchLeadByName(searchedLead, viewLeadObj);\r\n }\r\n\r\n function searchedLead(res: any) {\r\n if (!res || res.error) {\r\n // setErrCode('102 - Failed to fetch existing Leads');\r\n // setErrCode(errorMessage.searchLead);\r\n setErrCode(res.error);\r\n } else {\r\n setErrCode(\"\");\r\n if (res.data) {\r\n let responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj &&\r\n responseObj.leadList &&\r\n responseObj.leadList.length > 0\r\n ) {\r\n if (responseObj?.leadList[0]?.ApplicationId?.slice(0, 2) != \"80\") {\r\n GlobalStore.leadId = responseObj.leadList[0].LeadId;\r\n GlobalStore.LeadIdMsg = \"duplicateLeadId\";\r\n\r\n // dudpe implemetation from here //\r\n\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n const createLeadObj = {\r\n assignedTo: responseObj.leadList[0].AssignTeam,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n // rmCode: rmCode,\r\n // sourceId: 0,\r\n // subSourceId: '1',\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign: objUtm.utm_campaign || \"\",\r\n sourceName: objUtm.utm_source || \"\",\r\n utm_content: objUtm.utm_content || \"\",\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source: objUtm.utm_source || \"\",\r\n subSourceName: objUtm.utm_campaign || \"\",\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n GlobalStore.createLeadDudupeParam = createLeadObj;\r\n\r\n // ends//\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n setIsComplete(true);\r\n } else {\r\n createLead();\r\n }\r\n } else {\r\n createLead();\r\n }\r\n }\r\n }\r\n }\r\n\r\n function createLead() {\r\n const objUtm = JSON.parse(\r\n window.sessionStorage.getItem(\"objUTM_Info\") || \"{}\"\r\n );\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n GlobalStore.createLeadDudupeParam = null;\r\n\r\n let createLead = {\r\n assignedTo: assignedTo,\r\n byPassDedupe: false,\r\n city: values.city,\r\n email: values.email,\r\n firstName: values.firstname,\r\n lastName: values.lastName,\r\n phone: values.mobile,\r\n productCode: objAccType === \"DMT\" ? \"D\" : \"TD\",\r\n // rmCode: rmCode,\r\n // sourceId: 0,\r\n // subSourceId: '1',\r\n utm_adgroup: objUtm.utm_adgroup || \"\",\r\n utm_campaign: objUtm.utm_campaign || \"\",\r\n sourceName: objUtm.utm_source || \"\",\r\n utm_content: objUtm.utm_content || \"\",\r\n utm_creative: objUtm.utm_creative || \"\",\r\n utm_device: objUtm.utm_device || \"\",\r\n utm_medium: objUtm.utm_medium || \"\",\r\n utm_placement: objUtm.utm_placement || \"\",\r\n utm_source: objUtm.utm_source || \"\",\r\n subSourceName: objUtm.utm_campaign || \"\",\r\n utm_term: objUtm.utm_term || \"\",\r\n };\r\n // ACreateLead((res: any) => leadCreated(res, createLead), createLead);\r\n ACreateLeadSource((res: any) => leadCreated(res, createLead), createLead);\r\n }\r\n\r\n function leadCreated(res: any, leadObj: any) {\r\n if (!res) {\r\n // setErrCode('103 - Error in generating new Lead.');\r\n // setErrCode(errorMessage.leadCreated);\r\n setErrCode(res.error);\r\n } else {\r\n if (res && res.data) {\r\n // New lead is created. We need to register with clevertap event\r\n const data = {\r\n EventName:\r\n cleverTapEvents.registration.personalDetailsPage.CLICK_ON_PROCEED,\r\n InitiationPlatform: \"\",\r\n utm_source,\r\n utm_medium,\r\n utm_campaign,\r\n };\r\n ClevertapService.pushEvent(data);\r\n // CleverTap event end\r\n\r\n let responseObj = JSON.parse(res.data);\r\n if (responseObj && responseObj.LeadId) {\r\n GlobalStore.leadId = responseObj.LeadId;\r\n GlobalStore.createLeadDudupeParam = leadObj;\r\n setErrCode(\"\");\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n gtmService({ action: \"LEAD_PAGE\", label: \"Step_Complete\" });\r\n setIsComplete(true);\r\n } else {\r\n setErrCode(\"Technical Issue\");\r\n }\r\n } else {\r\n setErrCode(\"104 - Error in generating new Lead.\");\r\n setErrCode(errorMessage.leadCreated);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {isComplete && }\r\n {!improperData && !errCode && }\r\n {improperData && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n
\r\n );\r\n};\r\n\r\nexport default Marketing;\r\n","import React from 'react';\r\nimport { Route } from 'react-router-dom';\r\nimport Marketing from '../components/Marketing/Marketing';\r\n\r\nconst MarketingRoute = () => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default MarketingRoute;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\n\r\nimport regbanner from \"../../assets/icons/regBanner.jpeg\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { initialDocObj } from \"../DocumentVerification/DocVerificationForm/DocVerificationForm\";\r\nimport { saveDocumentObj } from \"../Registration/PANInfo/PANInfo\";\r\nimport { AUploadDocument } from \"../Services/dashboard/brokerageServices\";\r\nimport {\r\n ACheckLocation,\r\n ACheckPhotoLiveness,\r\n ASaveDocumentDetails,\r\n} from \"../Services/dashboard/docVerificationAPIServices\";\r\nimport { ASaveIPVerificationDetails } from \"../Services/dashboard/ipvApiServices\";\r\nimport { AGetStageCompletionStatus } from \"../Services/registration/continueApiService\";\r\nimport { AGetClientDetailsByPan } from \"../Services/registration/panDobApiService\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport Button from \"../UI/Button/Button\";\r\nimport { DocDetailFormat } from \"../UI/DocumentBrowse/DocumentBrowse\";\r\nimport { errorMessage } from \"../utils/errorMessage\";\r\nimport { geoLocationConfig } from \"../utils/constants\";\r\nimport useGeoLocation from \"../../customHooks/useGeoLocation\";\r\nimport InfoModal from \"../UI/InfoModal/InfoModal\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\n\r\nimport \"./Selfie.scss\";\r\nimport { utmDurationInfoObj } from \"../Services/globalService\";\r\nimport gtmService from \"../Services/gtmService\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport { NewLineKind } from \"typescript\";\r\nimport NewSelfie from \"./NewSelfie\";\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\n\r\nconst Selfie = () => {\r\n const queryParams = useQuery();\r\n const id = queryParams.get(\"id\") ? queryParams.get(\"id\") : \"\";\r\n const [hasPhoto, setHasPhoto] = useState(false);\r\n const [photoObj, setPhotoObj] = React.useState({\r\n ...initialDocObj,\r\n });\r\n const [showRetake, setShowRetake] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [eSignCompleted, setESignCompleted] = useState(false);\r\n const [streams, setStreams] = useState();\r\n const [lat, setLat] = useState(\"\");\r\n const [long, setLong] = useState(\"\");\r\n const [startTime, setStartTime] = React.useState(new Date());\r\n\r\n const videoRef = useRef(null);\r\n const canvasRef = useRef(null);\r\n\r\n const geoLoc: iGeoLocation = useGeoLocation();\r\n const [isGeoError, setIsGeoError] = React.useState(false);\r\n const [isGeoErrorTimeFlag, setIsGeoErrorTimeFlag] =\r\n React.useState(false);\r\n const [showBrowserPermissionModal, setsShowBrowserPermissionModal] =\r\n useState(false);\r\n const [isSdkSelfie, setIsSdkSelfie] = useState(true);\r\n const [browserPermission, setBrowserPermission] = useState(true);\r\n const [locationPermission, setLocationPermission] = useState(true);\r\n const [cameraPermission, setCameraPermission] = useState(true);\r\n const [liveLocationCheck, setLiveLocationCheck] = useState({\r\n checkPhotoLiveness: true,\r\n checkLocation: true,\r\n });\r\n const [photoErrorMsg, setPhotoErrorMsg] = React.useState(\"\");\r\n let watchPositionId: number;\r\n\r\n let base64String: string;\r\n let saveDetails: saveDocumentObj[] = [];\r\n\r\n useEffect(() => {\r\n if (id) {\r\n const pan = atob(id);\r\n console.log(\"pan\", pan);\r\n AGetClientDetailsByPan(searchByPan, pan);\r\n }\r\n }, [id]);\r\n\r\n useEffect(() => {\r\n console.log(\"Use effect called\");\r\n if (!isSdkSelfie) {\r\n setTimeout(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n setIsGeoErrorTimeFlag(true);\r\n }, geoLocationConfig.errorTimer);\r\n\r\n canvasRef.current!.hidden = true;\r\n }\r\n\r\n // intiateCamera();\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (!isSdkSelfie) {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n if (locationPermission === true && cameraPermission === true) {\r\n console.log(\"inside setter \");\r\n setBrowserPermission(true);\r\n setsShowBrowserPermissionModal(false);\r\n setIsGeoError(false);\r\n setIsLoading(false);\r\n } else {\r\n console.log(\"inside setter else\");\r\n setBrowserPermission(false);\r\n setsShowBrowserPermissionModal(true);\r\n setIsGeoError(true);\r\n setIsLoading(true);\r\n }\r\n }\r\n // getLocation();\r\n }, [geoLoc, locationPermission, cameraPermission, isSdkSelfie]);\r\n\r\n React.useEffect(() => {\r\n // initiateCamera();\r\n if (lat && long && !isSdkSelfie) {\r\n const locationObj = {\r\n lat: lat,\r\n lng: long,\r\n };\r\n ACheckLocation((res: any) => checkLocationRes(res), locationObj);\r\n }\r\n }, [lat, long, isSdkSelfie]);\r\n\r\n const checkLocationRes = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n setLiveLocationCheck((prev: any) => {\r\n return {\r\n ...prev,\r\n checkLocation: true,\r\n };\r\n });\r\n gtmService({ action: \"CheckLocation\", label: \"ERROR || ERR999\" });\r\n } else {\r\n if (res.data && res.data.LocationInIndia) {\r\n setLiveLocationCheck((prev: any) => {\r\n return {\r\n ...prev,\r\n checkLocation: false,\r\n };\r\n });\r\n setErrCode(\"\");\r\n } else if (!res.data.LocationInIndia) {\r\n setLiveLocationCheck((prev: any) => {\r\n return {\r\n ...prev,\r\n checkLocation: true,\r\n };\r\n });\r\n setErrCode(res.data.Message);\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const getLocation = () => {\r\n if (geoLoc.loaded && geoLoc.error == false) {\r\n console.log(\"I'm here\");\r\n setLat(`${geoLoc.coordinates.lat}`);\r\n setLong(`${geoLoc.coordinates.lng}`);\r\n } else {\r\n if (navigator && navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(setLocation, errorLocation, {\r\n enableHighAccuracy: geoLocationConfig.enableHighAccuracy,\r\n maximumAge: geoLocationConfig.maximumAge,\r\n timeout: geoLocationConfig.timeout,\r\n });\r\n } else {\r\n alert(\"Geo location is not supported by this browser\");\r\n }\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n }\r\n };\r\n\r\n function successPosition(data: any) {\r\n setIsLoading(false);\r\n setLocationPermission(true);\r\n\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setLat(data.coords.latitude);\r\n setLong(data.coords.longitude);\r\n navigator.geolocation.clearWatch(watchPositionId);\r\n }\r\n\r\n function errorPosition(data: any) {\r\n setIsLoading(true);\r\n setLocationPermission(false);\r\n\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n // if (!browserPermission) {\r\n // getLocation();\r\n // }\r\n }\r\n\r\n function errorLocation(err: any) {\r\n console.log(`ERROR(${err.code}): ${err.message}`);\r\n geoLoc.error = true;\r\n setIsLoading(true);\r\n setIsGeoError(true);\r\n // getLocation();\r\n }\r\n\r\n const setLocation = (position: { coords: any }) => {\r\n console.log(position.coords);\r\n setLat(position.coords.latitude);\r\n setLong(position.coords.longitude);\r\n geoLoc.coordinates.lat = position.coords.latitude;\r\n geoLoc.coordinates.lng = position.coords.longitude;\r\n geoLoc.error = false;\r\n setIsGeoError(false);\r\n setIsGeoErrorTimeFlag(false);\r\n setIsLoading(false);\r\n console.log(\"In saveLocation\", geoLoc);\r\n };\r\n\r\n function saveIPVerification(data: any, uploadObj: saveDocumentObj, res: any) {\r\n let latitude = lat;\r\n let longitude = long;\r\n const ipvObj = {\r\n leadid: GlobalStore.leadId,\r\n clientprimarydetailid: GlobalStore.clientPrimaryDetailId,\r\n applicationid: GlobalStore.applicationID,\r\n placeofDeclaration: \"mumbai\",\r\n empName: \"diy user\",\r\n designation: \"online rm\",\r\n branch: \"mumbai\",\r\n empCode: \"0\",\r\n organization: \"Nuvama Wealth & investment Ltd.\",\r\n organizationCode: \"2\",\r\n // geo_location: `${latitude}, ${longitude}`,\r\n latitude: latitude,\r\n longitude: longitude,\r\n ipaddress: \"192.168.200.80\",\r\n source: \"Selfie\",\r\n };\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n\r\n ASaveIPVerificationDetails(\r\n (response: any) => iPVerificationSaved(response, uploadObj, res),\r\n ipvObj\r\n );\r\n }\r\n\r\n const iPVerificationSaved = (\r\n res: any,\r\n uploadObj: saveDocumentObj,\r\n prevres: any\r\n ) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"Error in saving geo-location details\");\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR146\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n gtmService({\r\n action: \"SaveIpverificationDetails\",\r\n label: \"ERROR || ERR146-S\",\r\n });\r\n\r\n uploadObj.fileName = prevres.data.Guid;\r\n saveDetails.push(uploadObj);\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n objUTM_Info: objUTM_Info,\r\n };\r\n\r\n ASaveDocumentDetails(() => documentDetailsSaved(res), saveObj);\r\n }\r\n };\r\n\r\n const searchByPan = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"GetClientDataByPanOrLead\",\r\n label: \"ERROR || ERR148\",\r\n });\r\n setIsLoading(false);\r\n } else {\r\n setIsLoading(true);\r\n if (res.data) {\r\n if (res.data != null) {\r\n GlobalStore.personaldetails.pan = res.data.PAN;\r\n GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n if (!isSdkSelfie) {\r\n getLocation();\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID\r\n );\r\n } else {\r\n setIsLoading(false);\r\n }\r\n }\r\n } else {\r\n setErrCode(\"1182 - Error in fetching Client details from our system.\");\r\n setIsLoading(false);\r\n gtmService({\r\n action: \"GetClientDataByPanOrLead\",\r\n label: \"ERROR || ERR148-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n function getClientStageDetails(res: any) {\r\n setIsLoading(false);\r\n if (!res || res.error) {\r\n // setErrCode('1061 - Error in fetching stage completion details.');\r\n // setErrCode(errorMessage.getClientStageDetails);\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR147\",\r\n });\r\n setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n if (responseObj.isesigncompleted) {\r\n console.log(\"Esign Completed\");\r\n setESignCompleted(true);\r\n }\r\n } else {\r\n gtmService({\r\n action: \"GetStageCompletionStatus\",\r\n label: \"ERROR || ERR147-S\",\r\n });\r\n }\r\n }\r\n }\r\n\r\n const HandleNewSDKSelfieRes = (data: any) => {\r\n if (data && data.errMsg) {\r\n setBrowserPermission(true);\r\n } else if (data.is_valid == \"1\" && data.Latitude && data.Longitude) {\r\n // setIsLoading(true);\r\n const new_File = new File(\r\n [Blob as unknown as BlobPart],\r\n \"personalPhoto.jpeg\",\r\n {\r\n type: \"image/jpeg\",\r\n lastModified: Date.now(),\r\n }\r\n );\r\n\r\n setHasPhoto(true);\r\n\r\n let base64 = data?.cropped_image;\r\n base64String = base64;\r\n setPhotoObj((prev: any) => {\r\n return {\r\n ...prev,\r\n base64: base64String,\r\n imgUrl: `data:image/jpeg;base64, ${base64}`,\r\n };\r\n });\r\n\r\n if (data?.Country && data?.Country.toLowerCase() == \"india\") {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: false,\r\n checkPhotoLiveness: false,\r\n });\r\n\r\n setLat(data.Latitude);\r\n setLong(data.Longitude);\r\n } else {\r\n setLiveLocationCheck({\r\n ...liveLocationCheck,\r\n checkLocation: true,\r\n });\r\n\r\n setErrCode(\r\n errCode\r\n ? errCode\r\n : \" \" +\r\n \"Oops, you are not in permitted range of account opening as per regulatory guidelines.\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n const intiateCamera = async () => {\r\n canvasRef.current!.hidden = true;\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n try {\r\n const userMedia = await navigator.mediaDevices.getUserMedia(constraints);\r\n const video = videoRef.current;\r\n if (video) {\r\n video.srcObject = userMedia;\r\n await video.play();\r\n setStreams(userMedia);\r\n }\r\n } catch (err) {\r\n alert(err);\r\n }\r\n setShowRetake(true);\r\n };\r\n\r\n const takePhoto = async () => {\r\n canvasRef.current!.hidden = false;\r\n\r\n let video = videoRef.current;\r\n let canvas = canvasRef.current;\r\n\r\n if (canvas && video) {\r\n // console.log('If canvas');\r\n const width = video.videoWidth;\r\n const height = video.videoHeight;\r\n canvas.width = width;\r\n canvas.height = height;\r\n let ctx = canvas.getContext(\"2d\");\r\n\r\n videoRef.current!.hidden = true;\r\n ctx?.drawImage(video, 0, 0, width, height);\r\n\r\n canvas.toBlob((blob) => storePhoto(blob));\r\n\r\n closePhoto();\r\n }\r\n setHasPhoto(true);\r\n };\r\n\r\n const closePhoto = () => {\r\n streams?.getTracks().forEach((track: { stop(): any }) => {\r\n track.stop();\r\n });\r\n };\r\n\r\n const storePhoto = (blob: Blob | null) => {\r\n const new_File = new File([blob as BlobPart], \"personalPhoto.jpeg\", {\r\n type: \"image/jpeg\",\r\n lastModified: Date.now(),\r\n });\r\n if (new_File.size > 50000000) {\r\n alert(\"video size exceeds maximum limit. Please upload it again\");\r\n return false;\r\n }\r\n if (new_File.size < 1000) {\r\n alert(\"video size should be greater than 1KB. Please upload it again\");\r\n return false;\r\n }\r\n\r\n const fileReader = new FileReader();\r\n fileReader.readAsDataURL(new_File);\r\n fileReader.onload = function (event) {\r\n const base64 = (event.target && event.target.result)?.toString();\r\n base64String = base64!.split(\",\")[1];\r\n photoObj.base64 = base64String;\r\n // console.log(base64String);\r\n setIsLoading(true);\r\n ACheckPhotoLiveness(\r\n (res: any) => getExtractPhotoLiveness(res),\r\n base64String,\r\n GlobalStore.leadId\r\n );\r\n };\r\n };\r\n const getExtractPhotoLiveness = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(\"116 - Error in fetching Pan details from our system.\");\r\n // setErrCode(errorMessage.panDetailsFailed);\r\n setErrCode(res.error);\r\n setPhotoErrorMsg(\"\");\r\n setIsLoading(false);\r\n setLiveLocationCheck((prev: any) => {\r\n return {\r\n ...prev,\r\n checkPhotoLiveness: true,\r\n };\r\n });\r\n gtmService({ action: \"checkPhotoLiveness\", label: \"ERROR || ERR998\" });\r\n } else {\r\n if (res.data && res.data.IsLive) {\r\n setPhotoErrorMsg(res.data.Message);\r\n setLiveLocationCheck((prev: any) => {\r\n return {\r\n ...prev,\r\n checkPhotoLiveness: false,\r\n };\r\n });\r\n setErrCode(\"\");\r\n } else if (!res.data.IsLive) {\r\n setLiveLocationCheck((prev: any) => {\r\n return {\r\n ...prev,\r\n checkPhotoLiveness: true,\r\n };\r\n });\r\n setPhotoErrorMsg(res.data.Message);\r\n // if (errCode !== res.data.Message) {\r\n // setErrCode(res.data.Message);\r\n // }\r\n }\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n const uploadSelfie = () => {\r\n console.log(\"lat\", lat);\r\n console.log(\"long\", long);\r\n if (lat !== \"\" && lat !== undefined && long !== \"\" && long !== undefined) {\r\n if (photoObj.base64 !== \"\" || photoObj.base64 !== undefined) {\r\n photoObj.id = \"photo\";\r\n photoObj.disable = false;\r\n photoObj.uploadPer = 100;\r\n photoObj.fileName = `${GlobalStore.applicationID}_Photo`;\r\n photoObj.showFile = false;\r\n photoObj.hideProgress = false;\r\n photoObj.mimeType = \"image/jpeg\";\r\n photoObj.documentId = 2;\r\n setPhotoObj(photoObj);\r\n const savePhotoObj: saveDocumentObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n fileName:\r\n photoObj.fileName +\r\n (photoObj.mimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n isfilecropped: false,\r\n mimeType: photoObj.mimeType || \".\",\r\n panno: GlobalStore.personaldetails.pan,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n const selfie = true;\r\n const photoUploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: photoObj.base64,\r\n filename:\r\n photoObj.fileName +\r\n (photoObj.mimeType === \"application/pdf\" ? \".pdf\" : \".jpg\"),\r\n };\r\n\r\n AUploadDocument(\r\n (res: any) => getUploadResponse(res, savePhotoObj),\r\n photoUploadObj\r\n );\r\n } else {\r\n setErrCode(\"Error in uploading the file...\");\r\n }\r\n } else {\r\n setsShowBrowserPermissionModal(true);\r\n }\r\n };\r\n\r\n const getUploadResponse = (res: any, uploadObj: saveDocumentObj) => {\r\n saveDetails = [];\r\n if (!res || res.error) {\r\n // setErrCode(\"1361- Error in uploading the file.\");\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else {\r\n if (res.data && res.data.Result) {\r\n saveIPVerification({ coords: {} }, uploadObj, res);\r\n // uploadObj.fileName = res.data.Guid;\r\n // saveDetails.push(uploadObj);\r\n // const objUTM_Info = utmDurationInfoObj(startTime, \"documentsdur\");\r\n\r\n // const saveObj = {\r\n // applicationId: GlobalStore.applicationID,\r\n // clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n // documentInfo: saveDetails,\r\n // leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n // };\r\n\r\n // ASaveDocumentDetails(() => documentDetailsSaved(res), saveObj);\r\n } else {\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"UploadDocumentToS3\",\r\n label: \"ERROR || ERR144-S\",\r\n });\r\n }\r\n }\r\n };\r\n\r\n const documentDetailsSaved = (res: any) => {\r\n if (!res || res.error) {\r\n setErrCode(res.error);\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR145\",\r\n });\r\n setIsLoading(false);\r\n saveDetails = [];\r\n } else if (res) {\r\n saveDetails = [];\r\n alert(\r\n \"Selfie captured successfully, please close this browser window and continue with your Account Opening process\"\r\n );\r\n } else {\r\n gtmService({\r\n action: \"SaveUploadedDocumentDetails\",\r\n label: \"ERROR || ERR145-S\",\r\n });\r\n }\r\n };\r\n async function turnOnCamera() {\r\n getLocation();\r\n\r\n const constraints = {\r\n audio: false,\r\n video: {\r\n facingMode: \"user\",\r\n },\r\n };\r\n\r\n function handleSuccess(turnOfCamera: MediaStream) {\r\n console.log(\"HANDLE success\", turnOfCamera);\r\n // setBrowserPermission(true);\r\n // setsShowBrowserPermissionModal(false);\r\n setCameraPermission(true);\r\n setIsLoading(false);\r\n }\r\n\r\n function handleError(error: any) {\r\n console.log(\"HANDLE ERROR\", error);\r\n setIsLoading(true);\r\n // setBrowserPermission(false);\r\n // setsShowBrowserPermissionModal(true);\r\n setCameraPermission(false);\r\n console.log(\"handle error line end\");\r\n // if (!browserPermission) {\r\n // turnOnCamera();\r\n // }\r\n }\r\n\r\n navigator.mediaDevices\r\n .getUserMedia(constraints)\r\n .then((stream) => {\r\n console.log(stream, \"then\");\r\n handleSuccess(stream);\r\n })\r\n .catch((stream) => {\r\n console.log(stream, \"catch\");\r\n handleError(stream);\r\n });\r\n }\r\n\r\n console.log(\r\n \"hasPhoto\",\r\n !hasPhoto,\r\n isGeoError,\r\n liveLocationCheck.checkPhotoLiveness,\r\n liveLocationCheck.checkLocation\r\n );\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {showBrowserPermissionModal && (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n turnOnCamera();\r\n // setsShowBrowserPermissionModal(false);\r\n }}\r\n >\r\n OK\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/*
\r\n \"banner\"\r\n
*/}\r\n \r\n
\r\n \r\n
\r\n {isSdkSelfie ? (\r\n <>\r\n {\r\n HandleNewSDKSelfieRes(data);\r\n }}\r\n onFailedToOpenSdk={setIsSdkSelfie}\r\n />\r\n {photoObj.base64 && (\r\n
\r\n \"photograph\"\r\n
\r\n )}\r\n \r\n ) : (\r\n <>\r\n \r\n {!hasPhoto &&
}\r\n {!hasPhoto &&
}\r\n {!showBrowserPermissionModal && (\r\n
\r\n {\" \"}\r\n {!showRetake ? (\r\n
\r\n \r\n Ready?\r\n \r\n
\r\n ) : hasPhoto ? (\r\n
\r\n {\r\n videoRef.current!.hidden = false;\r\n setHasPhoto(false);\r\n intiateCamera();\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 {isGeoError && !isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There is a delay in loading the contents, please wait for a\r\n moment !!\r\n

\r\n
\r\n \r\n ) : null}\r\n\r\n {isGeoError && isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There was a delay in loading the contents, refresh the page!!{\" \"}\r\n

\r\n
\r\n \r\n ) : null}\r\n {/* Error Msg Start*/}\r\n {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )}\r\n {/* Error Msg End*/}\r\n {isGeoError && isGeoErrorTimeFlag ? (\r\n <>\r\n
\r\n

\r\n {\" \"}\r\n There was a delay in loading the contents, refresh the page!!{\" \"}\r\n

\r\n
\r\n \r\n ) : null}\r\n {/* Error Msg Start*/}\r\n\r\n {/* Photo Error Msg Start*/}\r\n {photoErrorMsg != \"\" && (\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {/* Photo Error Msg End*/}\r\n\r\n {/* {errCode && (\r\n
\r\n \r\n {typeof errCode === \"number\" ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
\r\n )} */}\r\n {/* Error Msg End*/}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Selfie;\r\n","import React from 'react';\r\nimport regbanner from '../../assets/icons/regBanner.jpeg';\r\nimport DeviceContext from '../Services/identifyDevice';\r\nimport { clientPartialDetailsToStore } from '../Services/globalService';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport './SmsLinksLayout.scss';\r\n\r\nexport interface SmsLinksLayoutProps {}\r\n\r\nconst SmsLinksLayout: React.FC = (props) => {\r\n clientPartialDetailsToStore();\r\n const isDesktop = DeviceContext().isDesktop;\r\n const history = useHistory();\r\n\r\n return (\r\n
\r\n
\r\n \"banner\"\r\n
\r\n
\r\n
{props.children}
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SmsLinksLayout;\r\n","import React from 'react';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport Selfie from '../components/Selfie/Selfie';\r\nimport { containerUrl, dashboardUrl } from '../components/utils/constants';\r\nimport RegLayout from '../components/Registration/Layout/Layout';\r\nimport VideoVerification from '../components/VideoVerification/VideoVerification';\r\nimport SmsLinksLayout from '../components/SmsLinksLayout/SmsLinksLayout';\r\nimport InstanHelp from '../components/InstantHelp/InstantHelp';\r\n\r\nconst SmsRoutes = () => (\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\nexport default SmsRoutes;\r\n","import React, { useEffect } from \"react\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport RegistrationRoutes from \"./containers/RegistrationRoutes\";\r\nimport DashboardRoutes from \"./containers/DashboardRoutes\";\r\nimport SubmissionRoutes from \"./containers/SubmissionRoutes\";\r\nimport StatusRoutes from \"./containers/StatusRoutes\";\r\nimport \"./assets/icons/edel_icons/style.scss\";\r\nimport \"./assets/scss/variables/fontFamily.scss\";\r\nimport \"./assets/scss/variables/ffVar.scss\";\r\nimport \"./App.scss\";\r\nimport ChatText from \"./components/UI/ChatText/ChatText\";\r\nimport Downtime from \"./components/UI/Downtime/Downtime\";\r\nimport Backdrop from \"./components/UI/Backdrop/Backdrop\";\r\nimport MarketingRoute from \"./containers/MarketingRoute\";\r\nimport config from \"./config/domain\";\r\nimport SmsRoutes from \"./containers/SmsRoutes\";\r\nimport { GetErrorBank } from \"./components/Services/dashboard/errorBankServices\";\r\nimport GlobalStore from \"./components/store/globalStore\";\r\nimport DeviceContext from \"./components/Services/identifyDevice\";\r\nimport CacheBuster from \"react-cache-buster\";\r\n\r\nconst ReactZenDeskChat = require(\"@inlightmedia/react-zendesk-chat\").default;\r\n\r\nconst enable_CacheBuster =\r\n process.env.REACT_APP_ENV === \"production\"\r\n ? true\r\n : process.env.REACT_APP_ENV === \"preprod\"\r\n ? false\r\n : process.env.REACT_APP_ENV === \"uat\"\r\n ? true\r\n : true;\r\n\r\ndeclare global {\r\n interface Window {\r\n ymConfig?: any;\r\n YellowMessenger?: any;\r\n }\r\n}\r\n\r\nfunction App() {\r\n const [panPageFlag, setPanPageFlag] = React.useState(false);\r\n useEffect(() => {\r\n GetErrorBank(getErrorMsg);\r\n (window as any).clevertap.account.push({ id: config.cleverTapId });\r\n (window as any).clevertap.privacy.push({ optOut: false }); //set the flag to true, if the user of the device opts out of sharing their data\r\n (window as any).clevertap.privacy.push({ useIP: false }); //set the flag to true, if the user agrees to share their IP data\r\n (function () {\r\n var wzrk = document.createElement(\"script\");\r\n wzrk.type = \"text/javascript\";\r\n wzrk.async = true;\r\n // wzrk.src = \"lib/clevertap.js\";\r\n wzrk.src =\r\n (\"https:\" == document.location.protocol\r\n ? \"https://d2r1yp2w7bby2u.cloudfront.net\"\r\n : \"http://static.clevertap.com\") + \"/js/clevertap.min.js\";\r\n var s = document.getElementsByTagName(\"script\")[0];\r\n (s as any).parentNode.insertBefore(wzrk, s);\r\n })();\r\n\r\n (window as any).clevertap.notifications.push({\r\n titleText: \"Would you like to receive Push Notifications?\",\r\n bodyText:\r\n \"We promise to only send you relevant content and give you updates on your transactions\",\r\n okButtonText: \"Sign me up!\",\r\n rejectButtonText: \"No thanks\",\r\n okButtonColor: \"#f28046\",\r\n askAgainTimeInSeconds: 172800,\r\n serviceWorkerPath: \"/serviceworker.js\",\r\n });\r\n }, []);\r\n function getErrorMsg(res: any) {\r\n if (res.data && res.data.length > 0) {\r\n GlobalStore.fieldErrorBank = res.data;\r\n }\r\n }\r\n useEffect(() => {\r\n console.log(window.location.href, \"Location\", window.location.pathname);\r\n if (\r\n window.location.pathname == \"/marketing\" ||\r\n window.location.pathname == \"/pan\"\r\n ) {\r\n console.log(\"chattext condition match\");\r\n setPanPageFlag(true);\r\n } else {\r\n setPanPageFlag(false);\r\n }\r\n }, [window.location.href]);\r\n\r\n useEffect(() => {\r\n const script = document.createElement(\"script\");\r\n script.type = \"text/javascript\";\r\n script.async = true;\r\n script.src =\r\n \"https://cdn.yellowmessenger.com/plugin/widget-v2/latest/dist/main.min.js\";\r\n document.getElementsByTagName(\"head\")[0].appendChild(script);\r\n\r\n window.ymConfig = {\r\n bot: \"x1648725853798\",\r\n host: \"https://cloud.yellow.ai\",\r\n payload: {},\r\n };\r\n window.YellowMessenger?.update?.(window.ymConfig);\r\n\r\n return () => {\r\n document.getElementsByTagName(\"head\")[0].removeChild(script);\r\n };\r\n }, []);\r\n\r\n return (\r\n } //If not pass, nothing appears at the time of new version check.\r\n metaFileDirectory={\".\"} //If public assets are hosted somewhere other than root on your server.\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 {DeviceContext().isMobile ? (\r\n \"\"\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","import config from \"../../../config/domain\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\n\r\nexport const GetErrorBank = (\r\n callback: CallableFunction,\r\n) => {\r\n apiService(\r\n {\r\n url: \"MastersData/Errormessages\",\r\n body: {\r\n ErrorCode: null,\r\n ProductId: \"1\",\r\n SourceId: \"1\",\r\n Type: \"C\",\r\n Datasource: \"FE\",\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getIPVOTP,\r\n },\r\n callback\r\n );\r\n // apiService(\r\n // {\r\n // url: \"eco/get-ivp-otp\",\r\n // body: {\r\n // applicationid: applicationid,\r\n // },\r\n // method: \"POST\",\r\n // },\r\n // callback\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.0/8 are 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\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: 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(\r\n process.env.PUBLIC_URL,\r\n window.location.href\r\n );\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: string, config?: 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: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\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\r\n .then(registration => {\r\n registration.unregister();\r\n })\r\n .catch(error => {\r\n console.error(error.message);\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":""}