{"version":3,"sources":["assets/icons/watsapp.png","assets/icons/arrow_point.png","assets/icons/regBanner.jpeg","assets/icons/esignBanner.jpeg","assets/icons/finalTick.svg","assets/icons/edel_icons/Nuvama_Identity_RGB_Positive.jpg","assets/icons/down.svg","assets/icons/welcomeBack.jpg","assets/icons/panDob.svg","assets/icons/blueTick.svg","assets/icons/profileNavLogo.svg","assets/icons/esignNavLogo.svg","assets/icons/esignNavLogoNew.svg","assets/icons/pdf.png","assets/icons/bankNavLogo.svg","assets/icons/planNavLogo.svg","assets/icons/docNavLogo.svg","assets/icons/ipvNavLogo.svg","assets/icons/investNavLogo.svg","assets/icons/profileNavLogoNew.svg","assets/icons/bankNavLogoNew.svg","assets/icons/planNavLogoNew.svg","assets/icons/docNavLogoNew.svg","assets/icons/investNavLogoNew.svg","assets/icons/dematAccount.svg","assets/icons/shareAdd.jpg","assets/icons/useDiffPan.svg","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/ipv_demo.jpg","assets/icons/foldUploadIcon.jpg","assets/icons/ocvCalenderNew.jpg","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/encryptionNew.ts","components/Services/dashboard/brokerageServices.ts","components/Services/dashboard/docVerificationAPIServices.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/utils/eSignSubmitHandler.ts","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","components/Registration/AccountType/AccountTypeNew.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","components/DematSelection/DematSelectionForm.tsx","components/DematSelection/DematSelection.tsx","components/ESign/ScheduleAgentVisit/AgentVisitForm/AgentVisitForm.tsx","components/POA/Poa.tsx","components/KRAAuthenticate/KRAAuthenticateForm.tsx","components/KRAAuthenticate/KraAuthenticateHome.tsx","containers/DashboardRoutes.tsx","components/UI/ExitScreen/ExitScreen.tsx","components/SubmitAO/SubmitAO.tsx","components/Status/Layout/Layout.tsx","components/ESign/NewEsign/EsignNewForm.tsx","components/ESign/NewEsign/EsignMainPage.tsx","components/EsignSubmit/EsignSubmit.tsx","components/KYCSubmit/KYCSubmit.tsx","containers/SubmissionRoutes.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","props","className","headerLogoClassName","src","logo","alt","initialIListObj","value","display","emailVerificationBody","days","dashboardUrl","personalIfo","profile","bank","plan","profiler","doc","ipv","menu","eSign","demat","authenticate","geoLocationConfig","ipvNavBarObj","name","time","isComplete","navUrl","priority","percentWeight","ipvNavLogo","isRequired","dematNavBarObj","dematAccount","authenticateNavBarObj","esignNavLogo","logoNew","esignNavLogoNew","leftNavBarArray","profileNavLogo","profileNavLogoNew","bankNavLogo","bankNavLogoNew","planNavLogo","planNavLogoNew","investNavLogo","investNavLogoNew","docNavLogo","docNavLogoNew","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","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","inputPattern","onKeyPress","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","_","TransparentButton","isWhatsapp","isUpload","isLoading","isTick","btnName","SubmitButton","Verify","LightBlueButton","clicked","Button","isSecondary","isLightBlue","parentClassName","InfoModal","width","DeviceContext","isMobile","document","body","offsetWidth","isTablet","isDesktop","config","root","aopNewApiUrl","diyNewApiUrl","piChainNewApiUrl","tempToken","diyApiUrl","apiUrl","javaComUrl","whatsappBearerToken","clientQuesttionSourceId","ClientProfilingDataSourseId","clientId","redirectUri","cleverTapId","apiKey","digiLockerSource","pricingPage","publicKey","secretKey","hideInvestment","errorMessage","servicesList","getCities","getEnumList","getEmployeeDetailsByPan","getPanUtiDetails","getDocumentDetails","QcTaskCreation","getArea","getFullAddress","getRelationshipData","getKYCDetails","saveKYCDetails","getStageCompletionStatus","updateStageStatus","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","knowYourStatus","getClientDataByPanOrLead","checkPanInSystem","panLinkedWithAadhar","saveIpverificationDetails","saveUploadedDocumentDetails","margeMultipleImagestoPDF","getPichainBeneficiaryName","getCKYCDetails","savePanDobDetails","getKraDetails","redisDigilockerDoc","getEmployeeDetails","searchLeadByName","createLead","fetchLeadInfo","emailUpdate","uploadIPVMerge","imagetoVideoIpv","generateAccessTokenForDigilockerJavaMW","getDocListFromDigilocker","getSelectedDocument","selfieLink","getEsignLink","getEsignRMVerificationLink","getRMAssitedEsignLink","updateUtmInfo","getAccountcodeData","createApplicationTicket","whatsUpAppInitiateCommunication","whatsUpAppConsent","generateKYCPdf","getIPVOTP","ErrorBank","getDocumentAutoQcDetails","saveAddressDetails","getCityByPincode","verifyDocumentData","getAddressDetails","saveArea","checkPhotoLiveness","checkLocation","updatePanAddharLinkStatus","createUCCRegCode","CheckRAAccount","APanVerification","SaveDematDetailsRes","DPverification","getDPdetails","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","updateStatusMapping","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","fetchLeadInformation","emailUpdateResponse","uploadIPVMergeMapping","imagetoVideoIpvMapping","generateAccessTokenForDigilockerJavaMWMapping","getDocListFromDigilockerMapping","getSelectedDocumentMapping","selfieLinkMapping","getEsignLinkMapping","getEsignRMVerificationLinkMapping","getRMAssitedEsignLinkMapping","updateUtmInfoMapping","getAccountcodeDataMapping","createApplicationTicketMapping","whatsUpAppInitiateCommunicationMapping","whatsUpAppConsentMapping","generateKYCPdfMapping","getIPVOTPMapping","ProductId","DataSource","getDocumentAutoQcDetailsMapping","saveAddressDetailsMapping","getCityByPincodeMapping","verifyDocumentDataMapping","getAddressDetailsMapping","saveAreaMapping","checkPhotoLivenessMapping","checkLocationMapping","updatePanAddharLinkStatusMapping","createUCCRegCodeMapping","checkRARelationShipMapper","panVerificationMapper","saveDematDetailsMapping","saveDpVerificationMapping","getDPDetailsInfo","knowYourStatusMapping","QCTaskCreationMapping","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","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","ALeadFetchApi","stageFlag","CreateUCCRegCode","TextArea","MultiSelectCheckBox","updatedList","checkbox","OptionDescription","QuestionID","OptionId","Checkbox","addressErrorObj","addressLine1","addressErrorMsg","AddressField","addressObj","setAddressObj","setAreaList","validPincode","setValidPincode","errors","setErrors","handleChangeAddress","setErrCode","PinCode","onAddressChange","onAddressBlur","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","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","isKRA","isNormalClient","aadharLinkedChoice","leftNavBarState","adharArr","uri","adharNo","utmObj","aadharNo","fileUri","filename","applicationId","applicationID","clientPrimaryDetailId","leadId","panno","Token","dataObj","FileUri","FileName","ClientPrimaryDetailId","LeadId","PanNo","AadharNo","utmInfoDetails","AGetStageCompletionStatus","esigndocumenttype","AUpdateStageCompletionStatus","reaObj","accountCagtegory","stageOrderId","UserId","rmassisted","AGetCacheData","AGetEmployeeByPan","panNo","AGetPanUtiData","panDetails","Firstname","panfirstname","Middlename","panmiddletname","Lastname","panlastname","PANIssueDate","AadharSeedingStatus","VendorName","IsValid","IsAadharSeeded","AGetClientDetailsByPan","accountType","userId","PanNumber","RequestFrom","accountCategory","AGetKraDetails","reqObj","Dob","dbo","CreatedBy","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","disable","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","decryptJwtToken","encryptedToken","CryptoJS","enc","Utf8","iv","DES","decrypt","decodeURIComponent","keySize","CBC","padding","pad","Pkcs7","sortDocumentInfo","documents","sortedDocuments","docObj","fileName","DocumentId","documentId","MimeType","mimeType","PersonalDetailsId","personaldetailsid","DocumentCategoryId","documentCategoryId","DocumentExpiryDate","documentexpirydate","IsFileCropped","isfilecropped","IsWatsappFlag","isWatsappFlag","DocumentNumber","documentNumber","AutoQc","autoqc","IsKycDocument","iskycdocument","AutoQcWithDocumentId","AUploadDocument","uploadObj","saveObj","docReqPayLoad","Base64Document","base64document","DocumentInfo","documentInfo","createdBy","DocType","QltyByPassFlag","tokenObj","tokenMainObj","ASaveBrokerageDetails","AGetDocumentList","appID","AGetUploadedDocument","QCServiceTaskCreation","AGetPendingDocument","AGetDocStatus","ADownloadDocument","filePath","FilePath","ASaveDocumentDetails","AextractAadhaar","aadhaarObj","OCR","Base64Document1","Base64Document2","ActionName","DocumentType","Source","DocumentCategory","documentcategory","AextractPassport","passportObj","AextractVoterid","voterIdObj","AextractDl","dlObj","AgetPdf","pdfObj","UploadFlag","Images","Base64DocumentImage","image1","Imagename","imagename1","image2","imagename2","DropOffLogAPI","appTicketObj","rmAssisted","AmaskAadhaar","ACheckPhotoLiveness","ACheckLocation","locationObj","latitude","lat","longitude","lng","initialAddressObj","ckycAddressObj","corrAddress","sameAsPermanent","district","corrPincode","countrycode","statecode","nomineeIdentificationList","bankAccountType","initialDocObj","uploadPer","hideProgress","showFile","imgUrl","base64","ProfileForm","quryParams","UTM_SOURCE","UTM_MEDIUM","UTM_CAMPAIGN","startTime","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","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","permAddLocal","corrsAddLocal","isManual","scroll","isKYC","panFromLocalStorage","panNum","checkIsPanEmployee","InitiationPlatform","KRA","ADHAR_LINKED_WITH_MOBILE","DIGILOCKER_PROCESS","LEAD_ID","getDocumentStatus","ContentType","convertEnumIntoIObj","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","getCorrAddress","mobNumber","sameAsPermanen","sameAsPerman","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","validateNominees","isValidate","nomRelationOther","values","some","guardRelationOther","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","holderFirstname","stageStatus","holderMiddleName","holderLastName","clientPrimaryDetailID","isGuardian","isNominee","persoanlDetails","KraEmail","KraMobile","Kra_mode","aadhaar","aadhaarName","additionalEmail","additionalMobile","ckycNumber","createdby","fatherOrSpouseFirstname","fatherOrSpouseMiddleName","fatherOrSpouseLastName","fatherOrSpouseTitle","flagFS","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","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","accountcategory","saveKycDetails","toCheckString","ele","completeModuleStatus","incompleteStageNavigation","handleAddNomineeValue","objNomineeDocs","imgOfAddlIdentDtls","signature","remainigPer","removeItem","handleAddNomineeGuardianValue","ChangePoliticalVal","Value","panFullName","capitalizeWords","onMouseOver","onMouseLeave","newErrors","localShow","showSectionOrHide","dpaccounttype","existingNominee","totalNomineeCount","existingNomineeCount","countForNeedToAddBlankNomine","existingNomineeDetails","nomineeEquaPerSharing","toFixed","nomineeSharePer","1","2","3","numOfNomineeRemove","pop","d","slice","Fragment","nomOtherRelation","identificationDetailValue","setFullYear","guardOtherRelation","nomineeAdd","handleSameAsAboveForGaurdian","guardidentificationDetail","guardIdentificationDetailValue","today","selectedDate","age","monthDifference","getMonth","getDate","guardianMinororMajor","first_esign_initiated","shouldDisable","validateSubmit","clientContinue","clientDetails","partner","isPANVerified","initialObj","isSeeding","kraAddressLine1","kraPincode","calculateCompletePercentage","stage","fullName","fullNameArr","fullNameArrLength","PANMiddleName","str","queryParameter","searchstring","parseQuery","queryString","reduce","acc","pair","objUTM_Info","elapsed","getTime","innerHeight","devicetype","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","dp_account_type","accounttype","isdpcompleted","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","pennyDropCount","clientStageStatus","dashboardDefaultUrl","dashboardActivetUrl","dpid","clientid","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","quryMainParams","skipUrl","isSubmit","setIsSubmit","isSubmissionRoute","getData","userid","queryobject","ApplicatoinId","AccountCategory","PAN","isEsign","getClientStageDetails","Applicationid","searchByLeadId","isPOA","queryObject2","atob","skipOption","Pan","Ac","uid","regOutNewClassName","InputWithLabel","RegistrationForm","UTM_TERM","showRmCode","setShowRmCode","localProductCode","setValues","setRmCode","showMobileMailBtn","setShowMobileMailBtn","whatsappMsgSuccess","beingAssistedCheckbox","setBeingAssistedCheckbox","rmCodeAssisted","setRmCodeAssisted","rmCodeAssistedName","setRmCodeAssistedName","multipleRMCodesFound","setMultipleRMCodesFound","utmCampaignCode","setUtmCampaignCode","sourceNames","setSourceNames","planAsPerSource","setPlanAsPerSource","rmCodeList","setRmCodeList","rmCodeListDisplay","setRmCodeListDisplay","isAssistedDataValid","setIsAssistedDataValid","showEmailOtp","disableEmailOtp","setDisableEmailOtp","invalidEmailOtp","setInvalidEmailOtp","emailOtpId","mobileOtpId","otpIds","setOtpIds","relationShipTagError","setRelationShipTagError","isVerified","setIsVerified","email_mobile_verificationCheckFlag","setEmail_mobile_verificationCheckFlag","skipCreateLead","setSkipCreateLead","setMobileVerifiedFE","setMailVerifiedFE","isButtonDisabled","setIsButtonDisabled","hideAreBeingSection","setHideAreBeingSection","allreadyExistMobOrEmail","setAllreadyExistMobOrEmail","checkRMCodeValue","UserName","username","checkEmployeesDetails","getProductCode","productCodeNew","objAccType","_employeedetail","rmCodeName","EmpName","Plan","rmList","rmcodeRecord","OTPId","mobileOtpSentNew","success","checkEmailValidateOtpNew","checkMobileValidateOtpNew","availableEmailTagSum","viewLeadObj","searchedLead","searchedLeadCheck","leadList","UCCCode","IsMobileVerified","IsEmailVerified","objUtm","createLeadObj","AssignTeam","checkRAAccountResp","IsRAExists","checkRAAccountPayloadObj","MobileNo","CreateNewUCC","leadCreated","respData","onload","btoa","sendEmailOtp","emailOtpResNew","keyEvent","preventDefault","currentRmCheckBoxStatus","handleRmCodeCheckBox","timeout","clearTimeout","debounce","rmCodeFound","every","navigator","appName","Registration","init","setUTMParams","refno","onlyDematParam","modeofapplication","referralcode","couponcode","stageinfo","signupdropout","registrationdur","clientip","diysource","match","path","accType","regbanner","APendingUploadList","APendingApprovalList","AGetEsignUrlDetails","AGetClientAccountCode","ACheckClientProfilingData","NavBarTile","isActive","isClickable","onNavTileClick","compareValues","order","varA","parseFloat","varB","comparison","checkModuleCompleteness","isUploadDocumentsCompleted","dematAccountFound","intervalTimer","ProfileNavBar","urlPath","setUrlPath","setLeftNavBarState","pathname","filterNavIndexForProfiler","splice","filterNavIndex","filterNavIndex2","tile","sidebarOptions","WelcomeBack","setDematAccountFound","clientName","setClientName","setIsUploadDocumentsCompleted","getProfilerStatus","checkPendingUpload","Mandatory","listObjFound","listObj","count","clientFullName","m","convertDate","dateString","padStart","CacheFunction","callBackFunction","Result","IsTaggingPresent","cacheResponse","TaggingMode","kra_mode","AppPerAdd1","AppPerAdd2","AppPerAdd3","AppCorAdd1","AppCorAdd2","AppCorAdd3","AppPerPincd","AppCorPincd","FatherName","cacheKRAFunction","PermanentAddressDetails","PermanentAddressLine1","PermanentAddressLine2","PermanentAddressLine3","PermanentAddressLine4","CorrespondenceAddressDetails","CorrespondenceAddressLine1","CorrespondenceAddressLine2","CorrespondenceAddressLine3","CorrespondenceAddressLine4","PermanentPincode","CorrespondencePincode","KraCheckApi","uniqueID","kraDobCheckNew","AppErrorDesc","AppStatus","mobileno","emailid","toDate","startOf","record","auth_ver","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","docTypeArray","extensionTypes","errorMsgCode","FormData","append","reader","FileReader","images","readAsDataURL","accept","docType","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","disabledClick","checkESignSubmitted","isESignSubmitted","getStateFromLs","initialPhotoDocObj","initialPanDocObj","DocVerifcationForm","watchPositionId","showPhotographBrowseOption","uploadDocFlag","setUploadDocFlag","uploadVaiWatsAppFlag","setUploadViaWatsAppFlag","togFirstBank","togSecondBank","togThirdBank","togFourthBank","togFifthBank","togPermAdd","togCorrAdd","togSig","togIncome","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","setPhotoBase64","panBase64","setPanBase64","setBankStage","anotherFile","setAnotherFile","corrAnotherFile","setCorrAnotherFile","panName","setFirstBankName","setSecondBankName","setThirdBankName","setFourthBankName","setFifthBankName","setFirstBankDetails","secondBankDetails","setSecondBankDetails","thirdBankDetails","setThirdBankDetails","fourthBankDetails","setFourthBankDetails","fifthBankDetails","setFifthBankDetails","setAddressName","setCorrAddressName","setSignatureName","incomeName","setIncomeName","setIsPhotoPendingFlag","isNewPhoto","setIsNewPhoto","isNewPan","setIsNewPan","setIsNewFirstBank","setIsNewSecondBank","setIsNewThirdBank","setIsNewFourthBank","setIsNewFifthBank","setIsNewPermAddress","setIsNewCorrAddress","setIsNewSignature","setIsNewIncome","loaderSign","setLoaderSign","showCorr","setShowCorr","isPanAndDobMatch","setSeedingPopup","regectedDocStatus","setRegectedDocStatus","aadharAddress","corrAadharAddress","geoLoc","isGeoError","setIsGeoError","setIsGeoErrorTimeFlag","setIsManual","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","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","getbase64","long","checkLocationRes","guardianOne","guardianTwo","guardianThree","watchPosition","successPosition","errorPosition","getLocation","getExtractPhotoLiveness","getVideoTracks","stop","err","position","clearWatch","LocationInIndia","Message","getDocList","getUploadedDoc","getPendingDoc","showPhotoPreview","turnOnCamera","handleSuccess","handleError","srcObject","MediaRecorder","constraints","audio","video","facingMode","mediaDevices","getUserMedia","regectedDoc","photoData","panData","firstBankObjlist","SecondBankObjlist","thirdBankObjlist","fourthBankObjlist","fifthBankObjlist","corrAddObjlist","permAddObjlist","incomeObjlist","signatureData","photoCopy","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","panObjNew","DocumentName","getBankImage","firstBankDetails","BankName","AccountType","getAddressImage","getCorrAddressImage","getSignatureImage","getIncomeImage","popularSignatures","JVBERi0","R0lGODdh","R0lGODlh","iVBORw0KGgo","Qk02U","detectMimeType","entries","startsWith","dataString","documentType","imageOBJ","penDoc","isPhotoPending","isCorrPending","Count","mandPenDoc","y","getscreenShotURL","blob","new_File","File","lastModified","fileReader","getFetchResponse","ipvObj","iPVerificationSaved","IsLive","onRemove","getMimeType","base64String","onFirstPermAddressUploadComplete","aadharObj","maskedAadhar","savepermAddressObj","getUploadRes","onUploadProgress","onSecondPermAddressUploadComplete","id_number_found","base64_image","saveAddressObj","getPDFData","Guid","Mergedimagespdfbase64","getCorrPDFData","onNomineeUploadComplete","fnpext","fnpnewfileName","nomFirstPhotCopy","nomFirstPhotoObj","saveDocuments","saveDocObj","fnsnewfileName","nomFirstSignatureCopy","nomFirstSignatureObj","saveTwoDocuments","saveTwpDocObj","savetwoObj","snpnewfileName","nomSecondPhotoCopy","nomSecondPhotoObj","saveThreeDocuments","saveThreeDocObj","savethreeObj","nssnewfileName","nomSecondSignatureCopy","nomSecondSignatureObj","savefourthDocuments","savefourthDocObj","savefourthObj","ntpnewfileName","nomThirdPhotoCopy","nomThirdPhotoObj","savefiveDocuments","savefiveDocObj","savefiveObj","ntsnewfileName","nomThirdSignatureCopy","nomThirdSignatureObj","savesixDocuments","savesixDocObj","savesixObj","guardFirstPhotoCopy","guardianFirstPhotoObj","savesevenDocuments","savesevenDocObj","savesevenObj","guardFirstSignatureCopy","guardianFirstSignatureObj","save8Documents","save8DocObj","save8Obj","guardSecondPhotoCopy","guardianSecondPhotoObj","save9Documents","save9DocObj","save9Obj","guardSecondSignatureCopy","guardianSecondSignatureObj","save10Documents","save10DocObj","save10Obj","guardThirdPhotoCopy","guardianThirdPhotoObj","save11Documents","save11DocObj","save11Obj","guardThirdSignatureCopy","guardianThirdSignatureObj","save12Documents","save12DocObj","save12Obj","handleRemoveDoc","handErrorForFileUpload","uploadImageObj","nomineeOneCopy","nomineeTwoCopy","nomineeThreeCopy","GuardianOneCopy","GuardianTwoCopy","GuardianThreeCopy","total","panCopy","permSecondAddressCopy","corrSecondAddressCopy","handleBankDoc","handlePermanentAddress","addDocument","getSaveStatusNew","onlyIpvPending","getSaveStatus","ADDRESS_PROOF_SUBMITTED_VIA","pendingDocQC","disableSelfieCapture","checkFilledForm","selfieSkipIfAPI","justifyContent","alignItems","hideSeflieOption","saveDocumentInfor","savePhotoObj","Latitude","Longitude","Blob","cropped_image","HandleNewSDKSelfieRes","autoPlay","playsInline","canvasPic","videoPic","canvas","videoWidth","videoHeight","getContext","drawImage","toBlob","capturePhoto","RejectionReason","savebankDetails","firstBanObj","watsAppIcon","secondBanObj","thirdBank","foruthBank","saveBank","panOCR","saveDetails","savePanObj","AextractPan","docOj","handleCorrespondenceAddress","saveCorrAddressObj","handleIncomeProof","saveIncomeObj","fileNameCheck","typeCreater","saveSignatureObj","removeDocObj","saveSecondBankObj","saveThirdBankObj","saveFourthBankObj","saveFifthBankObj","saveViaWatsApp","panValidationKeyList","PanStatus","Name","SeedingStatus","PANInfo","localURL","navigateURL","isPanLinkedToAadhar","prodObj","setProdObj","aadharLinked","fatherName","isEmployee","aadhaarNo","setRemovePanImg","setUtmObj","consent","togPhoto","panNumberMatched","dobChecked","setDobChecked","setIsNormalClient","panDobState","skipUrlBoolean","setSkipUrlBoolean","errorFoundInPanValidation","setErrorFoundInPanValidation","setCacheResponse","setPanUploadObject","setPanUploaded","isPersonalStage","isProfileStage","setStageBooleanFlags","setCheckpanaaddharflag","setPanOCR","willDoLater","setWillDoLater","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","additionalemail","additionalmobile","adrLine1","adrLine2","isArray","productObj","PANFirstName","PANlastName","rmId","newReqObj","rmid","AgetClientDetailsByPANNew","encodeURIComponent","registerCleverTapEventAfterProceed","panFunction","panValidation","handleSubmit","isValidPan","IbeatsCheck","UccCheck","UccCheckNewCalled","mobileNo","getClientStageDetailsNew","dematAccountFoundLocaL","dpclientid","stageBooleanFlags","isKra","savePanDob","dematAccountFoundLocal","checkPendingUploadNew","validatePANNew","seedingStatus","SeedingStatusMsg","searchByPan","menuOption","redirctTo","filterLeftBar","filterNavIndex3","filterNavIndex4","originalSavePANDOB","applicationIdExists","skipSavePANDOB","navigate","dobMatched","getAccountCategory","kycobj","cacheResonse","panDobObj","isemployeepan","product","platform","panFName","panMName","panLName","PanFSName","SendSelfieLink","diyReferralLink","IsEmployeePan","KycVerified","kycverified","ASavePanDobDetails","ApplicationID","AccountObj","accountObjString","encodedPan","stringParams","clientObj","panOCRval","PayloadObj","uploadPanFile","nextprocess","applicationInitialized","monthDiff","dayDiff","filterNavIndex1","panValidationCallback","checkPanValidationMsgs","id_number","date_of_birth","panObject","PanUploadObject","name_on_card","checkAutoQcForPan","prev","getPanUploadRes","AextractPanNew","extraction_output","fathers_name","fontSize","ErrorScreen","OptionDocumentList","doctype","AdhaarSample","DrivingLicense","VoterID","Passport","InfomodalReturn","DgLocker","DGLToggle","setDGLToggle","uploadDocToggle","setUploadDocToggle","dgLockerLinkUrl","setdgLockerLinkUrl","handleAppendedStage","showDigiLockerPage","showPersonalDocPage","setStageCompletionStatus","dgLockerLinkUrlLocal","digiLockerUrl","getDigiLinkObj","AGetDigiLink","getDigilockerLink","dgLocker","arrowPoint","docInfo","cleverTapConnectDLEvent","ChatText","instantHelpReadMoreFlag","setInstantHelpReadMoreFlag","readMoreFlagToggle","panPageFlag","marginBottom","cursor","callSupport","InstanHelp","AccountTypeNew","accounType","selectAccount","setSelectAccount","setInvestmentProductCode","setAOPProductCode","marginTop","buttonText","getButtonText","buttonClass","getButtonClass","RegistrationRoutes","getCleverTapIDFromService","exact","render","supportNeeded","ProfileHeader","percentageComplete","ProfileLayout","isDematAccountFound","pennydropcount","getEsignUrl","ConvertToPhysical","onbeforeunload","refreshKeyPressed","stageInfoId","appIdlocalStorage","returnValue","performance","ProfileHome","stageInfoObj","dropOffObj","profileBanner","ProfileMenu","getIFSCDetails","ifsc","Type","BankCity","Ifsc","SaveBankDetails","listsObj","PennyDropLoader","BankForm","accountnoErrors","setaccountnoErrors","bankNameOnIFSCCode","setBankNameOnIFSCCode","bankCityOnIFSCCode","setBankCityOnIFSCCode","micrModalFlag","setMicrModalFlag","ifscModalFlag","setIfscModalFlag","noBankFound","setNoBankFound","bankList","setBankList","cityList","setCityList","BranchList","setBranchList","hideSearch","setHideSearch","setIsmatched","matchScore","setMatchScore","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","setAllowOnlyAddBank","isSbi","setIsSbi","showPennyDropModal","setShowPennyDropModal","getAccountHolderName","registered_name","score","filterBankacctypeList","updateLists","match_score","actObj","account_number","micr_code","beneficiaryObj","AccountNumber","setAccError","micrData","bankAddress1","bankAddress2","bankAddress3","item2","i2","saveBankDetailsNew","saveBankAccount","accountNo","bankAccType","bankAddr1","bankCity","bankDetailsId","bankName","bankPinCode","contactNo","ifscCode","isDefaultAccount","qcApproved","isMatched","saveDetailsRes","closeIFSC","openIfscModal","getBankData","handlebanknameDropdown","getCityData","handleCityDropdown","getBranchData","sortBranch","property","sortOrder","substr","localeCompare","dynamicSort","checkDisabled","handleBranchDropdown","searchIFSC","selectedBranch","reMICR","handleSelect","handleTag","checkMatch","filterDataOnMICR","handleDropdown","handleDefaultAccount","BankHome","PdfContainer","showModal","SelectPlan","getDpAccountType","dpAcountType","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","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","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","ondataavailable","onstop","ev","controls","controlsList","isLocationPermission","image64","contentType","ipvUploaded","image","imageName","VideoVerification","queryParams","showSample","setShowSample","enableLink","setEnableLink","eSignCompleted","setESignCompleted","setLat","setLong","isGeoErrorTimeFlag","errorTimer","getIpvOtp","isFromSMS","checkPdStatus","videoUploaded","saveIpvDetails","sendSms","ipvUrl","smsBody","selfieLinkText","SelfieLink","ipvDemo","uploadNewObj","imageToVideo","AUploadIpvNew","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","optionId","questionId","versions","ListQuestionDetails","ASaveClientProfilingQuestion","AVerifyDocumentData","verifyDocumentPayload","localAadharNo","addressInfoErrorObj","PermanentAddressField","onAddressInfoChange","onAddressInfoBlur","onBlurDoi","dateOfIssue","onBlurDoe","dateOfExpiry","addObj","qrVerified","reverse","identificationListPerm","identificationListCorr","PersoanlInfo","dlExtractData","setDlExtractData","dlUploadInformation","setDLUploadInformation","corrDLExtractData","setCorrDLExtractData","corrDlUploadInformation","setCorrDLUploadInformation","permSecAddListError","setPermSecAddListError","setCorrSecAddListError","drivingFlag","setDrivingFlag","corrsDrivingFlag","SetCorrsDrivingFlag","qrVerifiedAadhar","setQrVerifiedAadhar","autoQCFlagPer","setAutQcFlagPer","autoQCFlagCor","setAutQcFlagCor","qrVerifiedCorrsAadhar","setQrVerifiedCorrsAadhar","AddressDetails","Corrsaddraspermanent","permResultObj","documentnumber","documentissuedate","corrsResultObj","handleAddressBlur","identificationDetailType","maskedAadharNew","addressOCR","uploadAadhar","uploadId","storeOcrData","getPDFDataNew","idObj","mergeBase64","res1","getCorrPDFDataNew","isSecondFileUpload","isPermanent","margeBase64","callbackFunction","localObj","detectMimeTypeVar","DocumentIssueDate","IsDocumentVerified","IsQRVerified","getUploadResNew","permExtractionData","corrAddres","qr_detected","qr_encoded","qr_scannable","date_of_issue","date_of_expiry","issue_dates","date_of_validity","corrsExtractionData","corrsVerifyDocumentRes","verified","verifyDocumentRes","verifyDrivingObj","DateOfBirth","IdNumber","saveAddressPayload","ASaveAddressDetails","saveAddressRes","CorrespondenceCountry","CorrespondenceState","CorrespondenceCity","CorrespondenceDistrict","CorrespondenceArea","CorrespondenceStatecode","CorrespondenceCountryCode","CorrespondenceAddressType","autoQC","documentIssueDate","documentExpiryDate","documentName","PermanentCountry","PermanentState","PermanentDistrict","Permanentarea","Permanentstatecode","Permanentcountrycode","PermanentAddresstype","AddressInfoField","DematSelectionForm","radioSelection","setRadioSelection","dpId","formData","setFormData","uploadedMaxFile","setUploadedMaxFile","fileLoader","setFileLoader","dpLoader","setDpLoader","dpIdType","setDpIdType","showAutoIfVerifyFail","setShowAutoVerifyFail","foundVerificationFail","setFoundVerficationFail","setCdslFlowFind","dpIsVerified","setDpIsVerified","showUploadSection","setShowUploadSection","onChanges","form","getDPDetails","determineDepository","dpavailable","SaveDematDetails","dpVerify","saveDpObj","dpAvailable","dPid","IsDPVerified","Dpverify","stopSaveApi","dpVerifyAutoObj","uploadDocumentFile","saveUploadObj","validateDPID","byGet","fromApi","dematPattern","dpType","fileUploadEvent","onFileUpload","foldUploadIcon","disabledButtonCo","disabledButton","DematSelection","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","isKycDownload","accounteCategory","isKYCDownload","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","KRAAuthenticateForm","isVerify","rmAssited","setRmAssited","setLeadDetails","proceedToAutheticate","setProceedToAutheticate","GetLeadDetails","createTask","showMobile","generateEsignFields","KraAuthenticateHome","DashboardRoutes","component","ExitScreen","heading","displayInfoList","itemObj","SubmitAO","accountId","setAccountId","setDisplayInfoList","setTime","getClientDetails","holderName","holderfullname","displayInfo","esigncompletedtime","STATUS_ON_FINAL_SCREEN","finalTick","StatusLayout","statusClassName","edelLogoClass","EsignNewForm","setAuthenticate","completionStatus","setCompletionStatus","uccCode","setUccCode","setFirstName","setLastName","setDob","mailVerifiedFE","leadDetails","mobileVerifiedFE","showMobileRadio","setIsKRA","AEmailUpdate","checkDisableForm","hideEmailVerifyButton","hideMobileVerifyButton","showEmailField","showMobileField","esignDocumentType","AGetRMEsignUrlDetails","oldMobile","oldEmail","isMobileVerify","isEmailVerify","requestStage","leadSource","isPanVerify","handleCreateUcc","showEmail","hideMpbileVerify","hideEmaileVerify","showRadio","EsignMainPage","setPan","setUserId","EsignSubmit","displayTitleList","setDisplayTitleList","KYCSubmit","linkSend","setLinkSend","sendToAPILink","esignVendorType","AGetRMEsignVerificationUrlDetails","SubmissionRoutes","setRes","setOtpId","setPanDetails","otpSentNew","panDetailsLocal","setPanDetailsinLoal","sendToContinueUrl","checkApplicationStatus","resNew","showApprovalPending","approvalPendingObj","approvalPending","apporvalPendingStatus","isTrading","resultObject","AppStatusFlag","ApplicationStatus","resObj","CheckStatusHome","AccountNotFound","checkStatus","newAccount","StatusVerified","DocsVerificationInProgress","DocumentReject","validatePAN","redirectToDematPage","StatusContinue","panValue","setPanValue","handleContinue","StatusRoutes","Marketing","setIsComplete","improperData","setImproperData","utmParams","to","MarketingRoute","Selfie","esignGenerated","setEsignGenerated","hasPhoto","setHasPhoto","streams","setStreams","videoRef","canvasRef","setCreatedBy","accountCategoryNo","prevres","intiateCamera","userMedia","play","takePhoto","ctx","storePhoto","closePhoto","getTracks","track","getUploadResponse","saveIPVerification","margin","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,mBCAjBD,EAAOC,QAAU,0pB,qBCAjBD,EAAOC,QAAU,IAA0B,wC,yBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,uC,qBCA3CD,EAAOC,QAAU,IAA0B,0D,gBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,oC,gBCA3CD,EAAOC,QAAU,IAA0B,sC,mBCA3CD,EAAOC,QAAU,IAA0B,4C,4CCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,6C,gBCA3CD,EAAOC,QAAU,80G,6FCAjBD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,yC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,gBCA3CD,EAAOC,QAAU,IAA0B,wC,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,8C,gBCA3CD,EAAOC,QAAU,IAA0B,0C,gBCA3CD,EAAOC,QAAU,IAA0B,sC,oBCA3CD,EAAOC,QAAU,IAA0B,wC,cCA3CD,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,cCA3CD,EAAOC,QAAU,22C,cCAjBD,EAAOC,QAAU,uzN,cCAjBD,EAAOC,QAAU,0qI,cCAjBD,EAAOC,QAAU,skO,cCAjBD,EAAOC,QAAU,0xP,cCAjBD,EAAOC,QAAU,swN,inDC6DLC,E,mHC5CGC,EAXQ,SAACC,GACtB,OACE,yBAAKC,UAAU,iBACb,yBAAKA,WAAgB,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOE,qBAAP,OAA2BF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAOE,oBAAoB,cAEpE,yBAAKD,UAAU,YAAYE,IAAKC,IAAMC,IAAI,Y,kCDkDtCP,K,UAAAA,E,aAAAA,M,KAcL,IAAMQ,EAA4B,CACxCC,MAAO,GACPC,QAAS,I,6PE7DGC,EACD,0BADCA,EAED,qBAFCA,EAGC,MAHDA,EAIE,gDAGFC,GAAO,CAClB,SACA,SACA,UACA,YACA,WACA,SACA,YAgEWC,GAAe,CAC1BC,YAAa,uBACbC,QAAS,WACTC,KAAM,QACNC,KAAM,QACNC,SAAU,YACVC,IAAK,6BACLC,IAAK,OACLC,KAAM,QACNC,MAAO,SACPC,MAAO,SACPC,aAAc,iBAGHC,GACF,IADEA,IAES,EAFTA,GAGC,EAHDA,GAIC,IAeDC,GAAiC,CAC5CC,KAAM,YACNC,KAAM,SACNC,YAAY,EACZC,OAAQjB,GAAaO,IACrBW,SAAU,EACVC,cAAe,EACf1B,KAAM2B,IACNC,YAAY,GAIDC,GAAmC,CAC9CR,KAAM,gBACNC,KAAM,SACNC,YAAY,EACZC,OAAQjB,GAAaU,MACrBQ,SAAU,EACVC,cAAe,GACf1B,KAAM8B,IACNF,YAAY,GAGDG,GAA0C,CACrDV,KAAM,wBACNC,KAAM,SACNC,YAAY,EACZC,OAAQjB,GAAaW,aACrBO,SAAU,EACVC,cAAe,GACf1B,KAAMgC,IACNC,QAASC,IACTN,YAAY,GAaDO,IAHLC,IAGgD,CACtD,CACEf,KAAM,qBACNC,KAAM,SACNC,YAAY,EACZC,OAAQjB,GAAaC,YACrBiB,SAAU,EACVC,cAAe,GACf1B,KAAMoC,IACNR,YAAY,GAEd,CACEP,KAAM,UACNC,KAAM,SACNC,YAAY,EACZC,OAAQjB,GAAaE,QACrBgB,SAAU,EACVC,cAAe,GACf1B,KAAMoC,IACNH,QAASI,IACTT,YAAY,GAEd,CACEP,KAAM,eACNC,KAAM,SACNC,YAAY,EACZC,OAAQjB,GAAaG,KACrBe,SAAU,EACVC,cAAe,GACf1B,KAAMsC,IACNL,QAASM,IACTX,YAAY,GAEd,CACEP,KAAM,oBACNC,KAAM,SACNC,YAAY,EACZC,OAAQjB,GAAaI,KACrBc,SAAU,EACVC,cAAe,GACf1B,KAAMwC,IACNP,QAASQ,IACTb,YAAY,GAEd,CACEP,KAAM,iCACNC,KAAM,QACNC,YAAY,EACZC,OAAQjB,GAAaK,SACrBa,SAAU,EACVC,cAAe,GACf1B,KAAM0C,IACNT,QAASU,IACTf,YAAY,GAEd,CACEP,KAAM,4BACNC,KAAM,SACNC,YAAY,EACZC,OAAQjB,GAAaM,IACrBY,SAAU,EACVC,cAAe,GACf1B,KAAM4C,IACNX,QAASY,IACTjB,YAAY,GAEd,CACEP,KAAM,SACNC,KAAM,SACNC,YAAY,EACZC,OAAQjB,GAAaS,MACrBS,SAAU,EACVC,cAAe,GACf1B,KAAMgC,IACNC,QAASC,IACTN,YAAY,KAIHkB,GAA2B,CACtC,CAAE3C,MAAO,KAAMC,QAAS,UACxB,CAAED,MAAO,KAAMC,QAAS,WAGb2C,GACG,IADHA,GAED,YAFCA,GAGN,OAHMA,GAIN,OAJMA,GAKA,aALAA,GAMD,YANCA,GAOI,iBAPJA,GAQG,gBARHA,GASJ,SATIA,GAUN,OAVMA,GAWN,OAXMA,GAYH,UAZGA,GAaE,eAbFA,GAcD,aAdCA,GAeN,OAfMA,GAgBF,WAhBEA,GAiBH,UAjBGA,GAkBH,UAlBGA,GAmBC,cAKDC,GAAY,CACvBC,WAAY,UACZC,eAAgB,yBAChBC,gBAAiB,oBACjBC,0BAA2B,uCAC3BC,eAAgB,qBAChBC,eAAgB,oBAeLC,GAAW,gCAgBXC,GAAkB,CAC7B,CAAErD,MAAO,mBAAoBkB,KAAM,cAAeoC,WAAY,OAC9D,CAAEtD,MAAO,eAAgBkB,KAAM,UAAWoC,WAAY,OACtD,CAAEtD,MAAO,oBAAqBkB,KAAM,qBAAsBoC,WAAY,OACtE,CAAEtD,MAAO,gBAAiBkB,KAAM,iBAAkBoC,WAAY,OAC9D,CACEtD,MAAO,wBACPkB,KAAM,0BACNoC,WAAY,OAEd,CACEtD,MAAO,qBACPkB,KAAM,uBACNoC,WAAY,QAIHC,GAA6B,CACxC,CAAEvD,MAAO,MAAOC,QAAS,OACzB,CAAED,MAAO,SAAUC,QAAS,WAGjBuD,GAAqC,CAChD,CAAExD,MAAO,IAAKC,QAAS,gBACvB,CAAED,MAAO,IAAKC,QAAS,gBACvB,CAAED,MAAO,IAAKC,QAAS,iBAyCZwD,GAAM,MAQNC,GAAY,a,+BC9XlB,SAASC,GAAa3D,EAAe4D,GAC1C,OAAOA,EAAMC,KAAK7D,GAAS,KAAO,uBAO7B,SAAS8D,GAAS9D,GACvB,YAAiB+D,IAAV/D,GAAiC,OAAVA,GAA4B,KAAVA,EAC5C,oBACA,KAQC,SAASgE,GAAahE,EAAeiE,GAC1C,YAAiBF,IAAV/D,GAAiC,OAAVA,GAAkBA,GAASiE,EACrD,KACA,0BAQC,SAASC,GAAalE,EAAemE,GAC1C,YAAiBJ,IAAV/D,GAAiC,OAAVA,GAAkBA,GAASmE,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,uBC8HpBC,GA5PgC,SAACpG,GAAU,MAI9BqG,WAAerG,EAAMsG,cAAgB,IAJP,mBAIjD/F,EAJiD,KAI1CgG,EAJ0C,OAK1BF,WAAerG,EAAMwG,WALK,mBAKxCC,GALwC,WAQxDJ,aAAgB,gBACa/B,IAAvBtE,EAAMsG,cAA8B/F,IAAUP,EAAMsG,cACtDC,EAASvG,EAAMsG,gBAEhB,CAACtG,EAAMsG,eAEVD,aAAgB,WACdI,EAAWzG,EAAMwG,aAChB,CAACxG,EAAMwG,YAhB8C,MAmBpBH,WAAe,IAnBK,mBAmBjDK,EAnBiD,KAmBrCC,EAnBqC,KAwFxD,SAAS3E,EAAWzB,GAClB,OAAQP,EAAMqE,UAAarE,EAAMqE,YAAcA,GAAS9D,GAU1D,SAASqG,EAAcrG,GACrB,QAAkB+D,IAAdtE,EAAMwE,IACR,OAAO,EAET,GAAIc,OAAO/E,GACT,MAAMsG,MAAM,8CAEd,QAAStC,IAAchE,EAAOP,EAAMwE,KAUtC,SAASsC,EAAcvG,GACrB,QAAkB+D,IAAdtE,EAAM0E,IACR,OAAO,EAET,GAAIY,OAAO/E,GACT,MAAMsG,MAAM,8CAEd,QAASpC,IAAclE,EAAOP,EAAM0E,KAStC,SAASqC,EAAexG,GACtB,OACGP,EAAMgH,SAAYhH,EAAMgH,UAAY9C,GAAa3D,EAAOP,EAAMgH,SAmEnE,OACE,uBAAK/G,UAAW,uBAAyBD,EAAMC,WAC7C,uBACEA,UACE,mBAAqByG,GAAc1G,EAAMwG,UAAY,SAAW,KAGjExG,EAAMiH,QAAU,uBAAKhH,UAAU,gBAAgBD,EAAMiH,QACtD,uCACE1G,MAAOA,EACP2G,SA5CR,SAAsBC,GACpB,IAAIC,EAoBJ,IAjBGD,EAAEE,OAAO9G,OAA4B,KAAnB4G,EAAEE,OAAO9G,OAAmC,MAAnB4G,EAAEE,OAAO9G,QAhJzD,SAAwBA,GACtB,OACGP,EAAMsH,SAAYtH,EAAMsH,UAAYpD,GAAa3D,EAAOkF,IA+IzD8B,CAAeJ,EAAEE,OAAO9G,QArI5B,SAAsBA,GACpB,OAAQP,EAAMwH,OAAUxH,EAAMwH,QAAUtD,GAAa3D,EAAOP,EAAMwH,OAqIhEC,CAAaN,EAAEE,OAAO9G,QA5H1B,SAAyBA,GACvB,OACGP,EAAM0H,UAAa1H,EAAM0H,WAAaxD,GAAa3D,EAAOoF,IA2H3DgC,CAAgBR,EAAEE,OAAO9G,QA/F7B,SAA0BA,GACxB,YAA2B+D,IAApBtE,EAAM4H,WAA2BrH,EAAMyE,QAAUhF,EAAM4H,UA+F5DC,CAAiBV,EAAEE,OAAO9G,QA5G9B,SAA0BA,GACxB,OACGP,EAAM8H,WAAc9H,EAAM8H,YAAc5D,GAAa3D,EAAOmF,IA2G7DqC,CAAiBZ,EAAEE,OAAO9G,QA1H9B,SAAgCA,GAC9B,OACGP,EAAM4F,iBACN5F,EAAM4F,kBAAoB1B,GAAa3D,EAAOqF,IAwH/CoC,CAAuBb,EAAEE,OAAO9G,QAGd6G,EAAdpH,EAAMiI,OAAwBd,EAAEE,OAAO9G,MAAM2H,cAC5Bf,EAAEE,OAAO9G,MAC9BkG,EAAW,KAGXW,EAAgB7G,EAGdP,EAAMkH,SAAU,CAClB,IAAMiB,EAAWnI,EAAMkH,SAASE,GAAiB,IAG/Cb,OADejC,IAAb6D,EACOA,EAEAf,GAAiB,MAkBxBgB,YAAapI,EAAMoI,YACnBnI,UAAU,cACVoI,QAAS,kBAAM1B,EAAc,WAC7B2B,OAAQ,SAACnB,GAAD,OAxEhB,SAAoBA,GAClBR,EAAc,IAEd,IAAI4B,EAAoB,GAEpBvI,EAAMqE,WACRkE,EAAQ,2BAAQA,GAAR,IAAkBlE,SAAUrC,EAAWzB,MAE7CP,EAAMwE,MACR+D,EAAQ,2BAAQA,GAAR,IAAkB/D,IAAKoC,EAAcrG,MAE3CP,EAAM0E,MACR6D,EAAQ,2BAAQA,GAAR,IAAkB7D,IAAKoC,EAAcvG,MAE3CP,EAAMgH,UACRuB,EAAQ,2BAAQA,GAAR,IAAkBvB,QAASD,EAAexG,MAEpDP,EAAMsI,QAAUtI,EAAMsI,OAAOC,EAAUpB,GAuDlBqB,CAAWrB,IAC1BsB,KAAMzI,EAAMyI,KACZC,GAAI1I,EAAM0I,GACVC,aAAc3I,EAAM2I,aACpBC,SAAU5I,EAAM4I,SAChBnH,KAAMzB,EAAMyB,KACZuF,QAAO,OAAEhH,QAAF,IAAEA,OAAF,EAAEA,EAAO6I,mBACUvE,IAArBtE,EAAM8I,WACP,CACEA,WAAY,SAAC3B,QACe7C,KAAjB,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAO8I,aACT9I,EAAM8I,WAAW3B,KAIvB,KAELnH,EAAM+I,cAA+B,WAAfrC,GACrB,uBAAKzG,UAAU,gBACb,qBAAGA,UAAU,kBAAkB+I,QAnCzC,gBAsCOhJ,EAAMiJ,QAAU,uBAAKhJ,UAAU,gBAAgBD,EAAMiJ,SAEvDjJ,EAAMwG,WAAa,qBAAGvG,UAAU,iBAAiBD,EAAMwG,WACvDxG,EAAMkJ,aAAexC,GAAcnG,IAClC,qBAAGN,UAAU,kBAAkBD,EAAMkJ,YAEtClJ,EAAMmJ,UACL,qBAAGlJ,UAAS,oBAAeD,EAAMoJ,eAAiB,SAC/CpJ,EAAMmJ,Y,+CCCFE,I,2DA1Qb,WAAYrJ,GAAa,IAAD,8BACtB,cAAMA,IAkCRsJ,aAAe,SAACC,EAAkBC,GAChC,IAAMC,EAAgBF,EAAKG,QAAO,SAACC,GAAc,IAAD,EAC9C,OACE,UAAAA,EAAI,EAAK3J,MAAM4J,kBAAf,eAA2BC,kBAA3B,OAA6CL,QAA7C,IAA6CA,OAA7C,EAA6CA,EAASK,gBACtDtE,OAAOiE,KAAajE,OAAOoE,EAAI,EAAK3J,MAAM4J,eAG9C,OAA6B,IAAzBH,EAAczE,OACTyE,EAAc,GAEd,MA7Ca,EAgExBpB,QAAU,WAEsB,IAA5B,EAAKrI,MAAM8J,cACX,EAAKC,MAAMxJ,MAAMyE,QAAU,EAAKhF,MAAM8J,aAEtC,EAAKE,SAAS,CAAEC,mBAAmB,IAEnC,EAAKD,SAAS,CAAEC,mBAAmB,KAvEf,EA2ExB/C,SAAW,SAAC3G,GACNA,EAAMwE,OAAOC,QAAU,EAAKhF,MAAM8J,aACpC,EAAKE,SAAS,CAAEC,mBAAmB,IAEnC,EAAKD,SAAS,CAAEC,mBAAmB,IAErC,EAAKD,SAAS,CAAEzJ,MAAOA,EAAO2J,iBAAa5F,IAC3C,EAAKtE,MAAMkH,UAAY,EAAKlH,MAAMkH,SAAS3G,IAlFrB,EAqFxBiI,WAAa,WACX2B,YAAW,WACL,EAAKJ,MAAME,mBACb,EAAKD,SAAS,CAAEC,mBAAmB,IAErC,EAAKjK,MAAMsI,QAAU,EAAKtI,MAAMsI,OAAO,EAAKyB,MAAMG,eACjD,MA3FmB,EA8FxBE,eAAiB,SAACC,GAChB,EAAKL,SAAS,CACZzJ,MAAO8J,EAAK,EAAKrK,MAAM4J,WACvBM,YAAaG,EACbJ,mBAAmB,IAEjB,EAAKjK,MAAMoK,gBACb,EAAKpK,MAAMoK,eAAeC,IArGN,EAyGxBC,YAAc,SAACC,GACb,IAAK,EAAKvK,MAAMwK,iBACb,EAAKxK,MAAMyK,gBAAkBF,EAAMlD,OAAOqD,SAE3CH,EAAMlD,OAAOsD,eAAe,CAAEC,SAAU,SAAUC,MAAO,WAErD,EAAK7K,MAAM8K,QAAQC,QAAQ,EAAKhB,MAAMG,cAAgB,GAAG,CAC3D,IAAIc,EAAQ,EAAKhL,MAAM8K,QAAQG,WAAU,SAACtB,GAAD,OACvCA,EAAI,EAAK3J,MAAM4J,WACZC,cACAqB,SAAS,EAAKnB,MAAMxJ,MAAMsJ,kBAG3BmB,GAAS,GAAKT,EAAMlD,OAAO8D,aAC7BZ,EAAMlD,OAAO8D,YAAYC,SAAS,EAAW,GAARJ,KArH3C,EAAKjB,MAAQ,CACXE,mBAAmB,EACnB1J,MAAOP,EAAMsG,cAAgB,GAC7B4D,YACG,EAAKlK,MAAMsG,cACV,EAAKgD,aAAa,EAAKtJ,MAAM8K,QAAS,EAAK9K,MAAMsG,oBACnDhC,GARkB,E,gEAYL+G,GAIjB,GADAC,QAAQC,IAAIC,KAAKxL,MAAM8K,UAEpBO,EAAUP,QAAQ9F,QACnBwG,KAAKxL,MAAM8K,QAAQ9F,SAClBwG,KAAKzB,MAAMG,cACXsB,KAAKxL,MAAMwK,eACZgB,KAAKxL,MAAMsG,cACgB,OAA3BkF,KAAKzB,MAAMG,YACX,CACA,IAAMuB,EAAcD,KAAKlC,aACvBkC,KAAKxL,MAAM8K,QACXU,KAAKxL,MAAMsG,cAEbmF,GACED,KAAKxB,SAAS,CACZE,YAAauB,O,uDAyBYC,EAAmBC,GAEhDD,EAAUpF,eAAiBqF,EAAUpL,YACV+D,IAA3BoH,EAAUpF,cAEVkF,KAAKxB,SAAS,CAAEzJ,MAAOmL,EAAUpF,iB,+BAiE3B,IAAD,OACC2D,EAAsBuB,KAAKzB,MAA3BE,kBACJ2B,EAAU,EAERC,EACJ,yBAAK5L,UAAU,YACb,yBAAKA,UAAU,aACb,2BAAOA,UAAU,cAAcuL,KAAKxL,MAAM8L,aAI5CC,EACFP,KAAKzB,MAAME,oBACVuB,KAAKxL,MAAMgM,eACZR,KAAKzB,MAAMxJ,MAAMyE,QAAUwG,KAAKxL,MAAM8J,aAClC0B,KAAKxL,MAAM8K,QAAQpB,QAAO,SAACW,EAAW4B,GACpC,GACE5B,EAAK,EAAKrK,MAAM4J,WACbC,cACAqB,SAAS,EAAKnB,MAAMxJ,MAAMsJ,gBAC5B,EAAK7J,MAAM8K,QAAQC,QAAQ,EAAKhB,MAAMG,cAAgB,IACpD,EAAKlK,MAAMwK,cAGd,OADAoB,IACOvB,KAGXmB,KAAKxL,MAAMgM,cACXR,KAAKxL,MAAM8K,QAAQoB,KAAI,SAAC7B,GAEtB,OADAuB,IACOvB,KAET,KAiBN0B,GACEA,EAAYI,MAAK,SAACC,EAAQC,GAAT,OACfD,EAAE,EAAKpM,MAAM4J,WACVC,cACAkB,QAAQ,EAAKhB,MAAMxJ,MAAMsJ,eAC5BwC,EAAE,EAAKrM,MAAM4J,WACVC,cACAkB,QAAQ,EAAKhB,MAAMxJ,MAAMsJ,gBACvB,EACDwC,EAAE,EAAKrM,MAAM4J,WACVC,cACAkB,QAAQ,EAAKhB,MAAMxJ,MAAMsJ,eAC5BuC,EAAE,EAAKpM,MAAM4J,WACVC,cACAkB,QAAQ,EAAKhB,MAAMxJ,MAAMsJ,eAC5B,EACA,KAER,IAAIyC,EACFP,GAAeA,EAAY/G,OAAS,EAChC+G,EAAYG,KAAI,SAAC7B,EAAW4B,GAC1B,IAAIM,EAAelC,EAAK,EAAKrK,MAAM4J,WACnC,OACE,yBACE4C,IAAKP,EACLhM,UAAU,WACV+I,QAAS,kBAAM,EAAKoB,eAAeC,KAEnC,yBAAKpK,UAAU,aACb,2BACEA,UACE,EAAKD,MAAMyM,YAAc,iBAAmB,UAG5C,EAAKzM,MAAMyM,aACZ,EAAK1C,MAAMG,cAAgBG,GAC1BkC,IAAiB,EAAKvM,MAAMsG,aAG5B,4BAFA,uBAAGrG,UAAU,mBAIf,0BACEA,UAAU,aACVyM,wBAAyB,CAAEC,OAAQJ,WAO/C,KAEN,OACE,yBAAKtM,UAAU,WACb,2BACEwB,KAAM+J,KAAKxL,MAAMyB,KACjBiH,GAAI8C,KAAKxL,MAAMyB,KACfgH,KAAK,OACLxI,UACE,OACAuL,KAAKxL,MAAMC,WACVuL,KAAKxL,MAAMwG,UAAY,SAAW,IAErCwC,QAASwC,KAAKlB,YACdpD,SAAU,SAACC,GAAD,OAAO,EAAKD,SAASC,EAAEE,OAAO9G,QACxC8H,QAASmD,KAAKnD,QACdC,OAAQkD,KAAKhD,WACbjI,MAAOiL,KAAKzB,MAAMxJ,MAClBqM,WAAWpB,KAAKxL,MAAMyK,eACtB7B,SAAU4C,KAAKxL,MAAM4I,SACrBR,YAAaoD,KAAKxL,MAAMoI,YACxBO,aACE6C,KAAKxL,MAAM2I,aAAe6C,KAAKxL,MAAM2I,aAAe,MAEtDkE,MACErB,KAAKxL,MAAM8M,YAAc,CAAEC,gBAAgB,OAAD,OAASC,KAAT,MAAqB,MAGjExB,KAAKxL,MAAMyK,gBACbR,IACCqC,GAAmBd,KAAKxL,MAAM8L,WAC7B,yBAAK7L,UAAU,cAAc2L,EAAUU,EAAkBT,GACvD,KACHL,KAAKxL,MAAMwG,WACV,uBAAGvG,UAAU,iBAAiBuL,KAAKxL,MAAMwG,gB,GAnQtByG,cCkEdC,I,OArEmC,SAAClN,GAAW,IAAD,IAC7BqG,IAAM8G,UAAkB,GADK,mBACpDC,EADoD,UAsB3D,IAAI9G,EAAuB,GAU3B,OATK,OAALtG,QAAK,IAALA,GAAA,UAAAA,EAAOqN,4BAAP,SAA6BC,SAAQ,SAACC,GAElCC,SAASD,EAAShN,MAAMkN,cACxBD,SAASxN,EAAM0N,OAAOC,oBAEtBrH,EAAeiH,EAAS/M,YAK1B,yBAAKP,UAAU,gBACb,2BAAOA,UAAU,WAAWD,EAAM0N,OAAOE,aACzC,yBAAK3N,UAAU,SACb,2BAAOA,UAAU,WAjCvB,WACE,OAAQD,EAAMyI,MACZ,IAAK,QACH,MAAO,mBACT,IAAK,SACH,MAAO,wBACT,IAAK,OACH,MAAO,sCA0BqBoF,KAE9B,yBAAK5N,UAAU,SACb,2BAAOA,UAAU,UAAjB,YACA,kBAAC,GAAD,CACEwB,KAAI,uBAAkBzB,EAAMyI,KAAxB,YAAgCzI,EAAMgL,OAC1CZ,eAAgB,SAAC7J,GAAD,OA5BEoJ,EA4B0BpJ,OAtBlDP,EAAMkH,SAASyC,EAAIpJ,OANrB,IAA0BoJ,GA6BlBrD,aAAcA,EACdwD,aAAc,EACdgB,QAAS9K,EAAM8N,aAEflE,UAAU,UACVxB,YAAY,SACZ0D,UAAU,uCAEVgB,aAAa,KAGhBM,GACC,yBAAKnN,UAAU,SACb,2BAAOA,UAAU,YAAjB,SACA,kBAAC,GAAD,CACEqI,OAAQ,aACRpB,SAAU,aACVuB,KAAK,OACLL,YAAY,kBCvCX2F,I,OAAqC,SAAC/N,GAAW,IAAD,EAEfmN,mBAASnN,EAAMsG,cAFA,mBAElD0H,EAFkD,KAEnCC,EAFmC,KAazD,OATA5H,IAAM6H,WAAU,WACZD,EAAiBjO,EAAMsG,gBACxB,CAACtG,EAAMsG,eAQN,wBAAIrG,UAAU,gBACTD,EAAMmO,QAAQjC,KAAI,SAACkC,GAChB,OACI,wBAAInO,UAAW,YAAcmO,EAAI7N,QAAUyN,EAAgB,kBAAoB,IAC3ExB,IAAK4B,EAAI7N,MACTyI,QAAS,kBAXRzI,EAW0B6N,EAAI7N,MAV/C0N,EAAiB1N,GACVP,EAAMqO,SAAS9N,GAF1B,IAAqBA,IAaAP,EAAMsO,QACH,0BAAMrO,UAAU,WAAWmO,EAAIG,MAEnC,0BAAMtO,UAAU,cACXmO,EAAI5N,gBASlBgO,GAxEkB,SAACxO,GAAqB,MAMTmN,mBAASnN,EAAMsG,cANN,mBAM5C0H,EAN4C,KAM7BC,EAN6B,KAqBnD,OAbA5H,IAAM6H,WAAU,WACZD,EAAiBjO,EAAMsG,gBACxB,CAACtG,EAAMsG,eAYN,wBAAIrG,UAAW,2BAA6BD,EAAMC,UAAYD,EAAMC,UAAY,KAC3ED,EAAMmO,QAAQjC,KAAI,SAACkC,GAAD,OACf,wBAAInO,UAAW,OAASmO,EAAI7N,MAAMkN,cAAgBO,GAAiBA,EAAcP,YAAc,UAAY,KAAOzN,EAAMyO,MAAQzO,EAAMyO,KAAKC,KAAO1O,EAAMyO,KAAKE,MAAQP,EAAI7N,MAAQP,EAAMyO,KAAKxO,UAAY,IACpMuM,IAAK4B,EAAI7N,MACTyI,QAAS,kBAVJzI,EAUsB6N,EAAI7N,MAT3C0N,EAAiB1N,GACVP,EAAMqO,SAAS9N,GAF1B,IAAqBA,IAWJ6N,EAAI5N,cCTVoO,I,OAlBqB,SAAC5O,GACjC,OACI,2BAAOC,UAAW,YAAcD,EAAMC,WAClC,2BAAOA,UAAU,aACZD,EAAM6O,MACP,2BACIpG,KAAK,QACLhH,KAAMzB,EAAMyB,KACZyF,SAAUlH,EAAMkH,SAChB4H,QAAS9O,EAAM8O,QACflG,SAAU5I,EAAM4I,WAEpB,0BAAM3I,UAAU,kBCOjB8O,I,OApBwB,SAAC/O,GACpC,OACI,2BAAOC,UAAU,UACZD,EAAMgP,UACH,0BAAM/O,UAAU,YAAYD,EAAMgP,UAEtC,0BAAM/O,UAAU,gBACZ,2BACIwI,KAAK,WACLhH,KAAMzB,EAAMyB,KACZqN,QAAS9O,EAAMiP,KACf/H,SAAUlH,EAAMkH,SAChB0B,SAAU5I,EAAM4I,WAEpB,0BAAM3I,UAAU,qBCNjBiP,I,aAXwB,SAAClP,GACvC,IAAMmP,EAAQnP,EAAMmP,OAAS,OAC7B,OACC,yBAAKlP,UAAS,sBAAiBD,EAAMoP,KAAvB,cAAiCD,IAC7CE,MAAMC,KAAKD,MAAM,IAAIE,QAAQ,SAACC,EAAGvD,GAAJ,OAC7B,yBAAKO,IAAKP,UCyDDwD,GAA4C,SAACzP,GAAD,OACvD,4BACEC,UAAW,WAAaD,EAAM4I,SAC9BA,SAAU5I,EAAM4I,SAChBI,QAAShJ,EAAMgJ,QACfP,KAAMzI,EAAMyI,MAAQ,UAEnBzI,EAAMiH,QAAUjH,EAAMiH,OACtBjH,EAAM0P,WACL,oCACG,IACD,0BAAMzP,UAAU,uBAAwB,KAExC,KACHD,EAAM2P,SACL,oCACG,IACD,0BAAM1P,UAAU,qBAAsB,KAEtC,KACHD,EAAM4P,UACL,kBAAC,GAAD,CAAQR,KAAM,KACZpP,EAAM6P,OACR,oCACG,IACD,0BAAM5P,UAAU,mBAFlB,IAEuCD,EAAM8P,SAH3C,UAMC9P,EAAM8P,WAKFC,GAAuC,SAAC/P,GAAD,OAClD,4BACEC,UAAW,cAAgBD,EAAM4I,SAAW,UAAY,UACxDA,SAAU5I,EAAM4I,SAChBI,QAAShJ,EAAMgJ,QACfP,KAAMzI,EAAMyI,MAAQ,UAEnBzI,EAAM4P,UACL,kBAAC,GAAD,CAAQR,KAAM,KACZpP,EAAM6P,OACR,oCACG,IACD,0BAAM5P,UAAU,mBAFlB,IAEuCD,EAAM8P,SAH3C,UAMC9P,EAAM8P,WAKFE,GAAiC,SAAChQ,GAAD,OAC5C,4BACEC,UACE,gBACCD,EAAM4I,UAAY5I,EAAM4P,UAAY,UAAY,UAEnDhH,SAAU5I,EAAM4I,SAChBI,QAAShJ,EAAMgJ,QACfP,KAAMzI,EAAMyI,MAEXzI,EAAM4P,UACL,kBAAC,GAAD,CAAQR,KAAM,KACZpP,EAAM6P,OACR,oCACG,IACD,0BAAM5P,UAAU,mBACfD,EAAM8P,SAJP,UAOC9P,EAAM8P,WAKFG,GAA0C,SAACjQ,GAAD,OACrD,4BACEC,UACE,+BAAiCD,EAAMkQ,QAAU,WAAa,IAEhEtH,SAAU5I,EAAM4I,SAChBI,QAAShJ,EAAMgJ,QACfP,KAAMzI,EAAMyI,MAAQ,UAEnBzI,EAAMiH,QAAUjH,EAAMiH,OACtBjH,EAAM0P,WACL,oCACG,IACD,0BAAMzP,UAAU,uBAAwB,KAExC,KACHD,EAAM2P,SACL,oCACG,IACD,0BAAM1P,UAAU,qBAAsB,KAEtC,KACHD,EAAM4P,UACL,kBAAC,GAAD,CAAQR,KAAM,KACZpP,EAAM6P,OACR,oCACG,IACD,0BAAM5P,UAAU,mBAFlB,IAEuCD,EAAM8P,SAH3C,UAMC9P,EAAM8P,WAKAK,GAjKwB,SAACnQ,GAAD,OACrC,4BACEC,UACE,QACCD,EAAMoQ,YAAc,eAAiB,KACrCpQ,EAAMqQ,YAAc,eAAiB,KACrCrQ,EAAM4I,UAAY5I,EAAM4P,UAAY,UAAY,YAC3C,OAAL5P,QAAK,IAALA,OAAA,EAAAA,EAAOsQ,iBAAP,OAAwBtQ,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAOsQ,gBAAkB,IAEpD1H,SAAU5I,EAAM4I,SAChBI,QAAShJ,EAAMgJ,QACfP,KAAMzI,EAAMyI,MAAQ,UAEnBzI,EAAMiH,QAAUjH,EAAMiH,OACtBjH,EAAM4P,UACL,kBAAC,GAAD,CAAQR,KAAM,KACZpP,EAAM6P,OACR,oCACG,IACD,0BAAM5P,UAAU,mBAFlB,IAEuCD,EAAM8P,SAH3C,UAMC9P,EAAM8P,WC3BAS,I,OAR6B,SAACvQ,GACzC,OACI,yBAAKC,UAAU,YAAY4M,MAAO,CAAE2D,MAAOxQ,EAAMwQ,QAC5CxQ,EAAMgP,YCKJyB,GAdO,WAWrB,MARU,CACRC,SAAUC,SAASC,KAAKC,aAAe,IACvCC,SAAUH,SAASC,KAAKC,YAAc,KAAOF,SAASC,KAAKC,aAAe,KAC1EE,UAAWJ,SAASC,KAAKC,YAAc,OC2I3BG,GArCO,CACpBC,KAAM,uCAENC,aAAc,4CACdC,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,YAAa,2CACbC,UAAW,WACXC,UAAW,mBACXC,gBAAe,GCvIJC,GAMT,qEANSA,GAgDW,oCAhDXA,GA4DT,oLA5DSA,GAgET,kGAhESA,GAkET,8GAlESA,GAoET,2GC0BWC,GA9FM,CACnBC,UAAW,YACXC,YAAa,cACbC,wBAAyB,0BACzBC,iBAAkB,mBAClBC,mBAAoB,qBACpBC,eAAgB,iBAChBC,QAAS,UACTC,eAAgB,iBAChBC,oBAAqB,sBACrBC,cAAe,gBACfC,eAAgB,iBAChBC,yBAA0B,2BAC1BC,kBAAmB,oBACnBC,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,eAAgB,iBAChBC,aAAc,eACdC,oBAAqB,sBACrBC,qBAAsB,uBACtBC,2BAA4B,6BAC5BC,4BAA6B,8BAC7BC,mBAAoB,qBACpBC,uBAAwB,yBACxBC,sBAAuB,wBACvBC,eAAgB,iBAChBC,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,cAAe,gBACfC,YAAa,cACbC,eAAgB,iBAChBC,gBAAiB,kBACjBC,uCACE,yCACFC,yBAA0B,2BAC1BC,oBAAqB,sBACrBC,WAAY,aACZC,aAAc,eACdC,2BAA4B,6BAC5BC,sBAAuB,wBACvBC,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,mBAClBC,oBAAqB,sBACrBC,eAAgB,iBAChBC,aAAc,gBCpFhB,SAASC,GAAYC,GACnB,GAAIA,EAAO,CAET,IADA,IAAIC,EAAS,GACJlM,EAAI,EAAGA,EAAIiM,EAAMlT,OAAQiH,IACtB,IAANA,EAASkM,EAASD,EAAMjM,GAAGmM,aACrBD,EAAOjN,SAASgN,EAAMjM,GAAGmM,gBACjCD,GAAM,YAASD,EAAMjM,GAAGmM,eAG5B,OAAOD,GAIX,SAASE,GAAgBH,GACvB,GAAIA,EAAO,CAET,IADA,IAAIC,EAAS,GACJlM,EAAI,EAAGA,EAAIiM,EAAMlT,OAAQiH,IACtB,IAANA,EAASkM,EAASD,EAAMjM,GAAGqM,UACrBH,EAAOjN,SAASgN,EAAMjM,GAAGqM,aACjCH,GAAM,YAASD,EAAMjM,GAAGqM,YAE5B,OAAOH,GAaI,SAASI,GAAcC,EAAeC,GACnD,IAg/DoBC,EA/+DpB,OAAQD,GACN,KAAKE,GAAYpG,UAEf,OA0TN,SAA0BmG,GACxB,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJtU,KAAM6T,EAAIU,cAIL,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAvVjB,MA4VP,OAAON,EAhVMU,CAAiBd,GAE5B,KAAKG,GAAYnG,YAEf,OA+UN,SAA4BkG,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,UA/WjB,MAoXP,OAAON,EArWMY,CAAmBhB,GAE9B,KAAKG,GAAYlG,wBAEf,OAoWN,SAAwCiG,GACtC,IAAIE,EAAS,GAC8B,KAAvCF,EAAIG,cAAcC,OAAOC,YAC3BzN,QAAQC,IAAI,uBAAwBmN,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,UAtYjB,MA0YP,OAAON,EAxXMa,CAA+BjB,GAE1C,KAAKG,GAAYjG,iBAEf,OAsXN,SAAiCgG,GAC/B,IAAIE,EAAS,GAC8B,KAAvCF,EAAIG,cAAcC,OAAOC,YAC3BzN,QAAQC,IAAI,uBAAwBmN,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,UA5ZjB,MAgaP,OAAON,EA3YMc,CAAwBlB,GAEnC,KAAKG,GAAYhG,mBAEf,OA0YN,SAAmC+F,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,UAjbjB,MAsbP,OAAON,EA9ZMe,CAA0BnB,GAErC,KAAKG,GAAY9F,QAEf,OA6ZN,SAAwB6F,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,UAzcjB,MA8cP,OAAON,EAnbMiB,CAAerB,GAE1B,KAAKG,GAAY7F,eAEf,OAkbN,SAA+B4F,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,UA/djB,MAoeP,OAAON,EAtcMkB,CAAsBtB,GAEjC,KAAKG,GAAY5F,oBAEf,OAqcN,SAAoC2F,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,UA9fjB,MAmgBP,OAAON,EAleM2B,CAA2B/B,GAEtC,KAAKG,GAAY3F,cAEf,OAieN,SAA8B0F,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,UAphBjB,MAyhBP,OAAON,EArfM4B,CAAqBhC,GAEhC,KAAKG,GAAY1F,eAEf,OAofN,SAA+ByF,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,UA1iBjB,MA+iBP,OAAON,EAxgBM6B,CAAsBjC,GAEjC,KAAKG,GAAYzF,yBAEf,OAugBN,SAAyCwF,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,UAhkBjB,MAqkBP,OAAON,EA3hBM8B,CAAgClC,GAE3C,KAAKG,GAAYxF,kBAEf,OA0hBN,SAA6BuF,GAC3B,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,UAtlBjB,MA2lBP,OAAON,EA9iBM+B,CAAoBnC,GAE/B,KAAKG,GAAYvF,aAEf,OA4iBN,SAA6BsF,GAC3B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAK,2BACAT,EAAIU,aADL,IAEFD,KAAMT,EAAIU,YAAYwB,QAIjB,CACP5B,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA9mBjB,MAmnBP,OAAON,EAnkBMiC,CAAoBrC,GAE/B,KAAKG,GAAYtF,yBAEf,OAkkBN,SAAyCqF,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,UApoBjB,MAyoBP,OAAON,EAtlBMkC,CAAgCtC,GAE3C,KAAKG,GAAYrF,2BAEf,OAqlBN,SAA2CoF,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,UA1pBjB,MA+pBP,OAAON,EAzmBMmC,CAAkCvC,GAE7C,KAAKG,GAAYpF,4BAEf,OAumBN,SAA4CmF,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,UA/qBjB,MAorBP,OAAON,EA3nBMoC,CAAmCxC,GAE9C,KAAKG,GAAYnF,0BAEf,OAynBN,SAA0CkF,GACxC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM8B,KAAKC,MAAMxC,EAAIU,aAAa+B,4BAG3B,CACPnC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UApsBjB,MAysBP,OAAON,EA7oBMwC,CAAiC5C,GAE5C,KAAKG,GAAYlF,2BAEf,OA2oBN,SAA2CiF,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,UAztBjB,MA8tBP,OAAON,EA/pBMyC,CAAkC7C,GAE7C,KAAKG,GAAYjF,oBAEf,OA6pBN,SAAoCgF,GAClC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJmC,UAAW5C,EAAIU,cAIV,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAhvBjB,MAqvBP,OAAON,EAnrBM2C,CAA2B/C,GAEtC,KAAKG,GAAYhF,cAEf,OAirBN,SAA8B+E,GAC5B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJqC,WAAY9C,EAAIU,cAIX,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAvwBjB,MA4wBP,OAAON,EAvsBM6C,CAAqBjD,GAEhC,KAAKG,GAAY/E,cAEf,OAqsBN,SAA8B8E,GAC5B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJuC,aAAchD,EAAIU,cAIb,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA9xBjB,MAmyBP,OAAON,EA3tBM+C,CAAqBnD,GAEhC,KAAKG,GAAY9E,uBAEf,OAytBN,SAAuC6E,GACrC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJyC,cAAelD,EAAIU,cAId,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UArzBjB,MA0zBP,OAAON,EA/uBMiD,CAA8BrD,GAEzC,KAAKG,GAAY7E,eAEf,OA6uBN,SAA+B4E,GAC7B,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAA0B,OAApBT,EAAIU,YAAuBV,EAAIU,YAAc,mBACnD0C,cAAepD,EAAIG,cAAcC,QAG1B,CACPE,QAAQ,EACR8C,cAAepD,EAAIG,cAAcC,OACjCG,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA50BjB,MAi1BP,OAAON,EAnwBMmD,CAAsBvD,GAEjC,KAAKG,GAAY5E,gBAEf,OAkwBN,SAAgC2E,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,UAl2BjB,MAu2BP,OAAON,EAtxBMoD,CAAuBxD,GAElC,KAAKG,GAAY3E,uBAEf,OAqxBN,SAAuC0E,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,UAx3BjB,MA63BP,OAAON,EAzyBMqD,CAA8BzD,GAEzC,KAAKG,GAAY1E,mBAEf,OAwyBN,SAAmCyE,GACjC,IAAIE,EAAS,GACbtN,QAAQC,IAAI,4BAA6BmN,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,GACN+C,UAAU,GAAD,OAAK7D,GAAgBK,EAAIG,cAAcQ,SAChDnB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAh5BjB,MAq5BP,OAAON,EA9zBMuD,CAA0B3D,GAErC,KAAKG,GAAYzE,oBAEf,OA4zBN,SAAoCwE,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,UAr6BjB,MA06BP,OAAON,EAh1BMwD,CAA2B5D,GAEtC,KAAKG,GAAYxE,wBAEf,OA80BN,SAAwCuE,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,UA17BjB,MA+7BP,OAAON,EAl2BMyD,CAA+B7D,GAE1C,KAAKG,GAAYnE,aAEf,OAg2BN,SAA6BkE,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,UA/8BjB,MAo9BP,OAAON,EAp3BM0D,CAAoB9D,GAE/B,KAAKG,GAAYlE,oBAEf,OAu4BN,SAAoCiE,GAClC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJoD,iBAAkB7D,EAAIU,cAIjB,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA3/BjB,MAggCP,OAAON,EA75BM4D,CAA2BhE,GAEtC,KAAKG,GAAYjE,qBAEf,OA09BN,SAAqCgE,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,UA/kCjB,MAolCP,OAAON,EA9+BM6D,CAA4BjE,GAEvC,KAAKG,GAAYhE,2BAEf,OA4+BN,SAA2C+D,GACzC,IAAIE,EAAS,GAEXA,EADyC,KAAvCF,EAAIG,cAAcC,OAAOC,WAClB,CACPC,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,CACJuD,QAAShE,EAAIU,cAIR,CACPJ,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UAtmCjB,MA2mCP,OAAON,EAlgCM+D,CAAkCnE,GAE7C,KAAKG,GAAY/D,4BAEf,OAggCN,SAA4C8D,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,UA3nCjB,MAgoCP,OAAON,EAphCMgE,CAAmCpE,GAE9C,KAAKG,GAAY9D,mBAEf,OAkhCN,SAAmC6D,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,UAhpCjB,MAqpCP,OAAON,EAtiCMiE,CAA0BrE,GAErC,KAAKG,GAAY7D,uBAEf,OAoiCN,SAAuC4D,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,UArqCjB,MA0qCP,OAAON,EAxjCMkE,CAA8BtE,GAEzC,KAAKG,GAAYvE,OAEf,OAujCN,SAAuBsE,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,UA3rCjB,MAgsCP,OAAON,EA3kCMmE,CAAcvE,GAEzB,KAAKG,GAAYtE,UAEf,OAykCN,SAA0BqE,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,UAhtCjB,MAqtCP,OAAON,EA7lCMoE,CAAiBxE,GAE5B,KAAKG,GAAYrE,aA6lCrB,SAA4BoE,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,UAruCjB,MAyuCP,OAAON,GA9mCMqE,CAAmBzE,GAC9B,KAAKG,GAAYpE,eAEf,OA6mCN,SAA+BmE,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,UAzvCjB,MA6vCP,OAAON,EAhoCMsE,CAAsB1E,GAEjC,KAAKG,GAAY5D,sBAEf,OA8nCN,SAAsC2D,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,UA7wCjB,MAixCP,OAAON,EAjpCMuE,CAA6B3E,GAExC,KAAKG,GAAY1D,yBAEf,OA+qCN,SAAyCyD,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,UAj0CjB,MAq0CP,OAAON,EAlsCMwE,CAAgC5E,GAE3C,KAAKG,GAAYzD,iBAEf,OAisCN,SAAiCwD,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,UAt1CjB,MA21CP,OAAON,EArtCMyE,CAAwB7E,GAEnC,KAAKG,GAAYxD,oBAEf,OAmtCN,SAAoCuD,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,UA32CjB,MAg3CP,OAAON,EAvuCM0E,CAA2B9E,GAEtC,KAAKG,GAAYvD,0BAEf,OAsuCN,SAA0CsD,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,UAj4CjB,MAs4CP,OAAON,EA1vCM2E,CAAiC/E,GAE5C,KAAKG,GAAYtD,4BAEf,OAwvCN,SAA4CqD,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,UAt5CjB,MA25CP,OAAON,EA5wCM4E,CAAmChF,GAE9C,KAAKG,GAAYrD,yBAEf,OA2wCN,SAAyCoD,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,UA56CjB,MAi7CP,OAAON,EA/xCM6E,CAAgCjF,GAE3C,KAAKG,GAAYpD,0BAEf,OA6xCN,SAA0CmD,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,UAj8CjB,MAs8CP,OAAON,EAjzCM8E,CAAiClF,GAE5C,KAAKG,GAAYnD,eAEf,OA+yCN,SAA+BkD,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,MAAO7F,GACP8F,OAAO,GAAD,OAAKF,GAAYS,EAAIG,cAAcQ,SAAnC,QACJX,EAAIG,cAAcK,UAv9CjB,MA49CP,OAAON,EAp0CM+E,CAAsBnF,GAEjC,KAAKG,GAAYlD,kBAEf,OAk0CN,SAAkCiD,GAChCpN,QAAQC,IAAI,2BAA4BmN,GACxC,IAAIE,EAAS,GAC8B,KAAvCF,EAAIG,cAAcC,OAAOC,YAC3BH,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAMT,EAAIU,aAEZ9N,QAAQC,IAAIqN,IAEZA,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA9+CjB,MAm/CP,OAAON,EAx1CMgF,CAAyBpF,GAEpC,KAAKG,GAAYjD,cAEf,OAu1CN,SAA8BgD,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,MAAO7F,GACP8F,OAAO,GAAD,OAAKF,GAAYS,EAAIG,cAAcQ,SAAnC,QACJX,EAAIG,cAAcK,UArgDjB,MA0gDP,OAAON,EA52CMiF,CAAqBrF,GAEhC,KAAKG,GAAYhD,mBAEf,OA22CN,SAAmC+C,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,UA3hDjB,MAgiDP,OAAON,EA/3CMkF,CAA0BtF,GAErC,KAAKG,GAAY/C,mBAEf,OA83CN,SAAmC8C,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,UAjjDjB,MAsjDP,OAAON,EAl5CMmF,CAA0BvF,GAErC,KAAKG,GAAY9C,iBAEf,OAu6CN,SAAiC6C,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,GACN6E,oBAAqB,CACnBC,OAAQ,OAAHvF,QAAG,IAAHA,GAAA,UAAAA,EAAKG,qBAAL,mBAAoBQ,cAApB,eAA4B6E,MAAK,SAACC,GAAD,MAAuB,YAAXA,EAAEC,UAGpDC,SAAU,OAAH3F,QAAG,IAAHA,GAAA,UAAAA,EAAKG,qBAAL,eAAoBQ,OAAO6E,MAAK,SAACC,GAAD,MAAuB,SAAXA,EAAEC,WAIvDlG,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UArmDjB,MA0mDP,OAAON,EAn8CM0F,CAAwB9F,GAEnC,KAAKG,GAAY7C,WAEf,OAk8CN,SAA2B4C,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,UA3nDjB,MAgoDP,OAAON,EAt9CM2F,CAAkB/F,GAE7B,KAAKG,GAAY5C,cAEf,OAo9CN,SAA8B2C,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,UAhpDjB,MAqpDP,OAAON,EAx+CM4F,CAAqBhG,GAEhC,KAAKG,GAAY3C,YAEf,OAs+CN,SAA6B0C,GAC3B,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,UArqDjB,MA0qDP,OAAON,EA1/CM6F,CAAoBjG,GAG/B,KAAKG,GAAY1C,eAEf,OAw/CN,SAA+ByC,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,UA3rDjB,MAgsDP,OAAON,EA5gDM8F,CAAsBlG,GAEjC,KAAKG,GAAYzC,gBAEf,OA2gDN,SAAgCwC,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,UAjtDjB,MAstDP,OAAON,EA/hDM+F,CAAuBnG,GAElC,KAAKG,GAAYxC,uCAEf,OA8hDN,SAAuDuC,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,MAAO7F,GACP8F,OAAO,GAAD,OAAKF,GAAYS,EAAIG,cAAcQ,SAAnC,QACJX,EAAIG,cAAcK,UAxuDjB,MA6uDP,OAAON,EAnjDMgG,CAA8CpG,GAEzD,KAAKG,GAAYvC,yBAEf,OAijDN,SAAyCsC,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,MAAO7F,GACP8F,OAAO,GAAD,OAAKF,GAAYS,EAAIG,cAAcQ,SAAnC,QACJX,EAAIG,cAAcK,UA9vDjB,MAmwDP,OAAON,EAtkDMiG,CAAgCrG,GAE3C,KAAKG,GAAYtC,oBAEf,OAokDN,SAAoCqC,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,UApxDjB,MAyxDP,OAAON,EAzlDMkG,CAA2BtG,GAEtC,KAAKG,GAAYrC,WAEf,OAulDN,SAA2BoC,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,UAzyDjB,MA8yDP,OAAON,EA3mDMmG,CAAkBvG,GAE7B,KAAKG,GAAYpC,aAEf,OAioDN,SAA6BmC,GAC3BpN,QAAQC,IAAImN,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,UAx1DjB,MA61DP,OAAON,EAvpDMoG,CAAoBxG,GAE/B,KAAKG,GAAYnC,2BAEf,OAqpDN,SAA2CkC,GACzCpN,QAAQC,IAAImN,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,UA/2DjB,MAo3DP,OAAON,EA3qDMqG,CAAkCzG,GAE7C,KAAKG,GAAYlC,sBAEf,OAmmDN,SAAsCiC,GACpCpN,QAAQC,IAAImN,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,UAh0DjB,MAq0DP,OAAON,EAznDMsG,CAA6B1G,GAExC,KAAKG,GAAYjC,cAEf,OAuqDN,SAA8BgC,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,UAr4DjB,MA04DP,OAAON,EA3rDMuG,CAAqB3G,GAEhC,KAAKG,GAAYhC,mBAEf,OAs2CN,SAAmC+B,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,UAvkDjB,MA4kDP,OAAON,EA13CMwG,CAA0B5G,GAErC,KAAKG,GAAY/B,wBAEf,OAurDN,SAAwC8B,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,UA35DjB,MAg6DP,OAAON,EA3sDMyG,CAA+B7G,GAE1C,KAAKG,GAAY9B,gCAEf,OAysDN,SAAgD6B,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,UAh7DjB,MAq7DP,OAAON,EA7tDM0G,CAAuC9G,GAElD,KAAKG,GAAY7B,kBAEf,OA2tDN,SAAkC4B,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,UAr8DjB,MA08DP,OAAON,EA/uDM2G,CAAyB/G,GAEpC,KAAKG,GAAY5B,eAEf,OA8uDN,SAA+B2B,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,UA39DjB,KA69DHf,OAAQ,IAIZ,OAAOS,EAnwDM4G,CAAsBhH,GAEjC,KAAKG,GAAY3B,UAEf,OAiwDN,SAA0B0B,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,UAj/DjB,MAs/DP,OAAON,EArxDM6G,CAAiBjH,GAE5B,KAAKG,GAAY1B,eAwxDG,OAFFyB,EArxDMF,GAuxDlBkH,UAGQhH,EAAIiH,WAMV,GAAD,OAAK1H,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UArgEjB,MAqOL,KAAKP,GAAYzB,yBAEf,OAmyDN,SAAyCwB,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,UAxhEjB,MA6hEP,OAAON,EAvzDMgH,CAAgCpH,GAE3C,KAAKG,GAAYxB,mBAEf,OA00DN,SAAmCuB,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,UAlkEjB,MAukEP,OAAON,EA91DMiH,CAA0BrH,GAErC,KAAKG,GAAYvB,iBAEf,OA61DN,SAAiCsB,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,UAxlEjB,MA4lEP,OAAON,EAh3DMkH,CAAwBtH,GAEnC,KAAKG,GAAYtB,mBAEf,OA82DN,SAAmCqB,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,UA5mEjB,MAgnEP,OAAON,EAj4DMmH,CAA0BvH,GAErC,KAAKG,GAAYrB,kBAEf,OA+3DN,SAAkCoB,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,UAhoEjB,MAooEP,OAAON,EAl5DMoH,CAAyBxH,GAEpC,KAAKG,GAAYpB,SAEf,OAyyDN,SAAyBmB,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,UA7iEjB,MAkjEP,OAAON,EA7zDMqH,CAAgBzH,GAG3B,KAAKG,GAAYnB,mBAEf,OAi6DN,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,UAzqEjB,MA6qEP,OAAON,EAp7DMsH,CAA0B1H,GAErC,KAAKG,GAAYlB,cAEf,OA04DN,SAA8BiB,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,UArpEjB,MAypEP,OAAON,EA75DMuH,CAAqB3H,GAEhC,KAAKG,GAAYjB,0BAEf,OAg7DN,SAA0CgB,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,UA9rEjB,MAmsEP,OAAON,EAp8DMwH,CAAiC5H,GAE5C,KAAKG,GAAYhB,iBAEf,OAm8DN,SAAiCe,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,UAptEjB,MAytEP,OAAON,EAv9DMyH,CAAwB7H,GAEnC,KAAKG,GAAYf,eAEf,OA4CN,SAAmCc,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,UAhUjB,MAoUP,OAAON,EA/DM0H,CAA0B9H,GAErC,KAAKG,GAAYd,iBAEf,OAqBN,SAA+Ba,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,UA5SjB,MAgTP,OAAON,EAxCM2H,CAAsB/H,GAEjC,KAAKG,GAAYb,oBAEf,OAuvBN,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,UAjhCjB,MAqhCP,OAAON,EA1wBM4H,CAAwBhI,GAEnC,KAAKG,GAAYZ,eAEf,OA4xBN,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,UAzjCjB,MA8jCP,OAAON,EAhzBM6H,CAA0BjI,GAErC,KAAKG,GAAYX,aAEf,OAosBN,SAA0BU,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,UAp+BjB,MAy+BP,OAAON,EAxtBM8H,CAAiBlI,GAE5B,KAAKG,GAAY3D,eAEf,OA8/BN,SAA+B0D,GAC7B,IAAIE,EAAS,GACb,GAA2C,KAAvCF,EAAIG,cAAcC,OAAOC,WAAmB,CAC9C,IAGO,EAC4B,IAJrBL,EAAIU,YAClB,GAAuB,MAAnBV,EAAIU,YACI,yBAEV,IAAI,UAAAV,EAAIU,mBAAJ,eAAiBpU,QAAS,EACG,IAA3B,UAAA0T,EAAIU,mBAAJ,eAAiBpU,QACZ,OAAG0T,QAAH,IAAGA,OAAH,EAAGA,EAAKU,YAAY,IAClB,UAAAV,EAAIU,mBAAJ,eAAiBpU,QAAS,IAC5B,OAAG0T,QAAH,IAAGA,OAAH,EAAGA,EAAKU,aAIrBR,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAyB,MAAnBT,EAAIU,YAAsBV,EAAIU,YAAc,0BAGpDR,EAAS,CACPI,QAAQ,EACRC,MAAOP,EAAIG,cAAcK,UACzBC,KAAM,GACNjB,MAAM,GAAD,OAAKD,GAAYS,EAAIG,cAAcQ,SAAnC,QACHX,EAAIG,cAAcK,UA7yCjB,MAizCP,OAAON,EA7hCM+H,CAAsBnI,GAEjC,KAAKG,GAAY/F,eAEf,OA+vBN,SAA+B8F,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,UAriCjB,MAyiCP,OAAON,EAlxBMgI,CAAsBpI,ICrS9B,ICPFqI,GDOQC,GAAU,uCAAG,WAAOC,EAAcC,GAArB,2BAAA5U,EAAA,6DAClB6U,EAAc,CAClBC,OAAQH,EAAIG,OACZC,QAAS,CACP,eAAgB,mBAChB,UAAWnQ,GAAOe,SAIlBgP,EAAIK,WACNH,EAAOE,QAAP,SAA6BJ,EAAIK,UAG/BL,EAAII,UAASF,EAAOE,QAAP,2BAAsBF,EAAOE,SAAYJ,EAAII,UAIpC,KAAtBE,GAAYC,QAAkC,IAAlBP,EAAI1P,YAClC4P,EAAOE,QAAP,2BACKF,EAAOE,SADZ,IAEEI,cAAe,UAAYF,GAAYC,SAGvCE,EAAuBvG,KAAKC,MAC9BuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAGzDN,GAAYC,YAA+Bhd,GAArB+c,GAAYC,OAA4C,OAAX,OAAXD,SAAW,IAAXA,QAAA,EAAAA,GAAaC,QAAuC,KAAX,OAAXD,SAAW,IAAXA,QAAA,EAAAA,GAAaC,SACpGE,EAAqBF,QACH,IAAlBP,EAAI1P,YAEJ4P,EAAOE,QAAP,2BACKF,EAAOE,SADZ,IAEEI,cAAe,UAAYC,EAAqBF,SAIjC,SAAfP,EAAIG,QAAoC,QAAfH,EAAIG,QAAmC,WAAfH,EAAIG,SACvDD,EAAM,KAAWhG,KAAK2G,UAAUb,EAAInQ,OAtCd,SAyClBiR,EAAMd,EAAIe,WAAaf,EAAIe,WAAa9Q,GAAOO,OAzC7B,UA0CHwQ,MAAMF,EAAMd,EAAIiB,IAAKf,GA1ClB,eA0ChBgB,EA1CgB,iBA2CAA,EAAKC,OA3CL,WA6CyB,OAFzCC,EA3CgB,QA6CVtJ,cAAcC,OAAOC,aAC/BqJ,MAAMD,EAAQtJ,cAAcQ,OAAO,GAAGjB,cACtCqJ,OAAOY,SAASC,KAAOtR,GAAOC,KAAO7N,GAAUC,WAAWmC,QAAQ,IAAK,MAErEyc,EAAKd,QAAQoB,IAAI,SAjDC,iBAkDdC,EAAQP,EAAKd,QAAQoB,IAAI,SAC/BvB,EAASmB,EAASK,GAnDE,4BAuDhBzB,EAAItI,aAAmC,KAApBsI,EAAItI,YAvDP,kCAwDFF,GAAc4J,EAASpB,EAAItI,aAxDzB,QAwDdC,EAxDc,OAyDlBsI,EAAStI,GAzDS,wBA2DlBsI,EAASmB,GA3DS,0DA6EtB7W,QAAQC,IAAI,kBAAmBwV,EAAKA,EAAItI,aACxCuI,GACEA,EAAS,CACP9I,MAAO,GACPC,OAAO,EAAD,KAjFY,0DAAH,wDEfVsK,GAAe,SAACzB,EAA4B0B,GACvD5B,GACE,CACEkB,IAAK,0BACLd,OAAQ,OACRtQ,KAAM,CACJ+R,SAAUD,GAEZZ,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaE,aAE5BwO,IAoJS4B,GAAuB,SAClC5B,EACA6B,EACAxE,EACAyE,GAEAhC,GACE,CACEkB,IAAK,kCACLpR,KAAM,CACJmS,cAAeF,EACfG,MAAO3E,EACP4E,OAAQH,GAEV5B,OAAQ,OACRY,WAAY9Q,GAAOE,aACnBG,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaS,qBAE5BiO,IAkDSkC,GAAkB,SAC7BlC,EACAmC,EACAC,GAGAtC,GACE,CACEkB,IAAK,mCACLpR,KAAM,CACJyS,QAASD,EACTE,KAAMH,EACNI,cAAe,GAEjBrC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaQ,gBAE5BkO,IA8CSwC,GAAkB,SAACxC,EAA4ByC,GAC1D3C,GACE,CACEkB,IAAK,oBACLpR,KAAM6S,EACNvC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaW,gBAE5B+N,IA8BW0C,GAAoB,SAAC1C,EAA4B2C,GAC5D7C,GACE,CACEkB,IAAK,mCACLpR,KAAM,CACJyS,QAASM,EACTL,KAAM,GACNM,KAAK,GACLL,cAAe,EACfM,MAAM,IAER3C,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa8E,kBAE5B4J,ICrVS8C,I,OAVA,SAAC9jB,GAAD,OACX,yBAAKC,UAAU,UACX,yBAAKA,UAAU,UACX,2BAAOA,UAAU,OACZD,EAAMgP,c,iBFKlB6R,O,yBAAAA,I,4BAAAA,I,+BAAAA,Q,KAML,IGXIkD,GCSAC,GJ8EWC,GA5EuB,SAAAjkB,GAAS,MAEpBqG,WAAe,CAAC,GAAI,GAAI,GAAI,KAFR,mBAEvC9F,EAFuC,KAEhCgG,EAFgC,OAKVF,WAAe,IALL,mBAKvCK,EALuC,KAK3BC,EAL2B,KAyC9C,SAASud,EAAY/c,GAChBA,EAAEgd,UAAYtD,GAAUuD,WAAajd,EAAEgd,UAAYtD,GAAUwD,WAhBlE,SAAsB9Z,GACrB,IAAM+Z,EAAQ/Z,EAAMlD,OAAOqB,GAAG6b,MAAM,KAC9BC,EAASF,EAAM,GAAK,KAAO9W,SAAS8W,EAAM,IAAM,GAChDG,EAAU9T,SAAS+T,eAAeF,GACxCC,GAAWA,EAAQE,QAclBC,CAAazd,IACFA,EAAEgd,SAAW,IAAMhd,EAAEgd,SAAW,IAAOhd,EAAEgd,UAAYtD,GAAUgE,cAX5E,SAAkBta,GACjB,IAAM+Z,EAAQ/Z,EAAMlD,OAAOqB,GAAG6b,MAAM,KAC9BO,EAASR,EAAM,GAAK,KAAO9W,SAAS8W,EAAM,IAAM,GAChDS,EAAUpU,SAAS+T,eAAeI,GACxCC,GAAWA,EAAQJ,QASlBK,CAAS7d,GAIX,OA5CAd,aAAgB,WACf,IAAI4e,EAAUtU,SAASuU,uBAAuBllB,EAAMmlB,OAAO,GAC3Dhb,YAAW,WAAO,IAAD,EAChB,UAAAwG,SAAS+T,eAAeO,EAAQvc,WAAhC,SAAqCic,UACnC,KACHM,EAAQta,mBACN,IAuCF,uBAAK1K,UAAU,eACbM,EAAM2L,KAAI,SAACsD,EAAGvD,GAAJ,OACV,yBACCO,IAAKP,EACL7D,YAAW,UAAK6D,EAAI,GACpB1L,MAAOA,EAAM0L,GACb/E,SAAU,SAAAC,GAAC,OA3Cf,SAAsBie,EAAWnZ,GAChC,GAAIxG,GAAWrB,KAAKghB,GAAI,CACvB,IAAMC,EAAS,YAAO9kB,GACtB8kB,EAAUpZ,GAAKmZ,EAEf7e,EAAS8e,GACTrlB,EAAMkH,SAASme,EAAUC,KAAK,MAqCbC,CAAape,EAAEE,OAAO9G,MAAO0L,IAC5C5D,QAAS,kBAAM1B,EAAc,WAC7B2B,OAAQ,kBAAM3B,EAAc,KAC5B1G,UAAW,kBAAoBD,EAAMmlB,MAAQze,GAAc1G,EAAMwlB,WAAa,WAAa,IAC3F/c,KAAK,MACLjE,IAAK,EACLE,IAAK,EACLkD,UAAW,EACX6d,QAAS,SAAAte,GAAC,OAAI+c,EAAY/c,IAC1BwB,aAAa,MACbD,GAAI1I,EAAMmlB,MAAQ,OAASlZ,EAC3BrD,SAAU5I,EAAM0lB,kBGpBNC,I,qNAzDX5b,MAAQ,CACJga,MAAO,EAAK/jB,MAAM+jB,O,EAGtB6B,WAAa,WACT7B,GAAQ8B,aAAY,WAChB,IAAIC,EAAO,EAAK/b,MAAMga,MAAQ,EACjB,IAAT+B,GACA,EAAK9b,SAAS,CAAE+Z,MAAO,EAAK/jB,MAAM+jB,QAClCgC,cAAchC,KAEd,EAAK/Z,SAAS,CAAE+Z,MAAO+B,MAE5B,M,mEAIHta,KAAKoa,e,6CAILG,cAAchC,M,+BAKd,OACI,yBAAK9jB,UAAU,YACX,yBAAKA,UAAU,UAEf,yBAAKA,UAAU,UAEf,yBAAKA,UAAU,QACVuL,KAAKzB,MAAMga,OAEhB,yBAAK9jB,UAAU,UACX,yBAAKA,UAAU,aACX,yBAAKA,UAAU,WACX4M,MAAO,CACHmZ,UAAU,QAAD,OAAWxa,KAAKxL,MAAM+jB,MAAS,EAA/B,iBACTkC,eAAe,GAAD,OAAMza,KAAKxL,MAAM+jB,MAAS,EAA1B,SAI1B,yBAAK9jB,UAAU,YACX,yBAAKA,UAAU,WACX4M,MAAO,CACHmZ,UAAU,QAAD,OAAWxa,KAAKxL,MAAM+jB,MAAS,EAA/B,2B,GAjDlB9W,cEPViP,GACL,UADKA,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,UA/FKA,GAiGN,UAjGMA,GAqGN,UArGMA,GAuGN,UAvGMA,GAyGN,UAzGMA,GA2GN,UA3GMA,GA6GN,UA7GMA,GA+GN,UA/GMA,GAiHN,UAIMgK,GAAW,SAACC,GACvB,IAI+C,EAJ3C3f,EAAY,uBACZ4f,EAAgB/E,GAAYgF,eAAe3c,QAC7C,SAACyP,GAAD,OAAUA,EAAKb,YAAc6N,KAE3BC,GAAiBA,EAAcphB,OAAS,IAC1CwB,EAAS,UAAG4f,EAAc,UAAjB,aAAG,EAAkBhO,cAEhC,OAAO5R,GD1CM8f,I,qNAjEXvc,MAAQ,CACJwc,IAAK,GACLC,UAAU,EACVzC,MAAO,EAAK/jB,MAAMymB,U,EAEtBC,YAAc,WACV1C,GAAc6B,aAAY,WACtB,IAAIC,EAAO,EAAK/b,MAAMga,MAAQ,EACjB,IAAT+B,GACAC,cAAc/B,IACd,EAAKha,SAAS,CAAE+Z,MAAO,EAAK/jB,MAAMymB,SAAUD,UAAU,KAEtD,EAAKxc,SAAS,CAAE+Z,MAAO+B,MAE5B,M,EAWPa,OAAS,SAACpmB,GACN,EAAKyJ,SAAS,CAAEuc,IAAKhmB,IACrB,EAAKP,MAAMkH,SAAS3G,I,EAGxBqmB,cAAgB,WACZ,EAAK5c,SAAS,CAAEwc,UAAU,IAC1B,EAAKxmB,MAAM4mB,gBACXzc,YAAW,kBAAM,EAAKuc,gBAAe,M,sEAfrCX,cAAc/B,M,0CAIdxY,KAAKkb,gB,+BAcC,IAAD,OACL,OACI,yBAAKzmB,UAAU,UACX,uBAAGA,UAAU,UAAUuL,KAAKxL,MAAM6O,OAClC,yBAAK5O,UAAU,YACX,kBAAC,GAAD,CACIiH,SAAU,SAAC3G,GAAD,OAAW,EAAKomB,OAAOpmB,IACjC4kB,MAAO3Z,KAAKxL,MAAMmlB,MAClBO,WAAYla,KAAKxL,MAAM0lB,WACvBF,WAAYha,KAAKxL,MAAMwlB,aAG1Bha,KAAKxL,MAAMwlB,YAAc,uBAAGvlB,UAAU,YAAYimB,GAAShK,MAE/D1Q,KAAKzB,MAAMyc,SACR,yBAAKvmB,UAAU,iBACX,2BAAOA,UAAU,cAAjB,gCACA,2BAAOA,UAAU,gBAAgB+I,QAASwC,KAAKob,eAA/C,eAGJ,yBAAK3mB,UAAU,YACX,kBAAC,GAAD,CAAU8jB,MAAOvY,KAAKxL,MAAMymB,iB,GA1D/BxZ,cEdR4Z,GAAa,SAAC7F,GAUzBF,GACE,CACEkB,IAAK,sBACLd,OAAQ,MACRY,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAaC,WAE5ByO,IA6BS8F,GAAa,SAAC9F,EAA4B+F,EAAkBC,GACvElG,GACE,CACEkB,IAAK,UACLpR,KAAM,CACJmW,YAAaA,EACbC,KAAMA,GAER9F,OAAQ,OACRY,WAAY9Q,GAAOE,aACnBG,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa+B,WAE5B2M,IAuESiG,GAAqB,SAChCjG,EACAkG,EACAX,GAEAzF,GACE,CACEkB,IAAK,qBACLpR,KAAM,CACJuW,MAAOD,EACPE,IAAKb,GAEPrF,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAagC,aAE5B0M,IAcSqG,GAAkB,SAC7BrG,EACAsG,EACAf,GAEAzF,GACE,CACEkB,IAAK,YACLpR,KAAM,CACJ0W,MAAOA,EACPf,IAAKA,GAEPrF,OAAQ,OACRY,WAAY9Q,GAAOE,aACnBG,WAAW,EACXoH,YAAanG,GAAaiC,gBAE5ByM,IA0CSuG,GAAoB,SAACvG,EAA4BwG,GAC5D1G,GACE,CACEkB,IAAK,iBACLpR,KAAM,CACJ6W,WAAYD,EAAQE,WACpBC,UAAWH,EAAQI,UACnBC,SAAUL,EAAQM,SAClB7E,OAAQuE,EAAQ1E,OAChBiF,QAASP,EAAQQ,QACjBC,YAAaT,EAAQU,YACrBC,SAAU,wBACVC,OAAQ,OAEVlH,OAAQ,OACRY,WAAY9Q,GAAOE,aACnBG,WAAW,EACXoH,YAAanG,GAAauD,kBAE5BmL,IAuBSqH,GAAoB,SAACrH,EAA4BwG,GAC5D1G,GACE,CACEkB,IAAK,cACLpR,KAAM,CACJoS,MAAOwE,EAAQnJ,MACfsJ,UAAWH,EAAQI,UACnBC,SAAUL,EAAQM,SAClBQ,MAAOd,EAAQe,MACf3E,KAAM4D,EAAQ3iB,KACd4iB,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,eAEzBnJ,OAAQ,OACRY,WAAY9Q,GAAOE,aACnBG,WAAW,EACXoH,YAAanG,GAAawD,YAE5BkL,IAWSsJ,GAAgB,SAACtJ,EAA4BwG,GACxD1G,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJlI,GAAE,OAAE8e,QAAF,IAAEA,OAAF,EAAEA,EAAS9e,GACbjH,KAAI,OAAE+lB,QAAF,IAAEA,OAAF,EAAEA,EAAS/lB,KACf8oB,UAAS,OAAE/C,QAAF,IAAEA,OAAF,EAAEA,EAAS+C,WAEtBrJ,OAAQ,OACRY,WAAY9Q,GAAOE,aACnBG,WAAW,EACXoH,YAAanG,GAAayD,eAE5BiL,IAoESwJ,GAAmB,SAACxJ,EAA4BD,GAC3DzV,QAAQC,IAAI,QAASwV,GACrBD,GACE,CACEkB,IAAK,oBACLpR,KAAMmQ,EACNG,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAaqF,kBAE5BqJ,ICnHWyJ,I,OAlP4B,SAACzqB,GAAU,MAI1BqG,WAAerG,EAAMsG,cAAgB,IAJX,mBAI7C/F,EAJ6C,KAItCgG,EAJsC,OAKtBF,WAAerG,EAAMwG,WALC,mBAKpCC,GALoC,WAQpDJ,aAAgB,gBACa/B,IAAvBtE,EAAMsG,cAA8B/F,IAAUP,EAAMsG,cACtDC,EAASvG,EAAMsG,gBAEhB,CAACtG,EAAMsG,eAEVD,aAAgB,WACdI,EAAWzG,EAAMwG,aAChB,CAACxG,EAAMwG,YAhB0C,MAmBhBH,WAAe,IAnBC,mBAmB7CK,EAnB6C,KAmBjCC,EAnBiC,KAwFpD,SAAS3E,EAAWzB,GAClB,OAAQP,EAAMqE,UAAarE,EAAMqE,YAAcA,GAAS9D,GAU1D,SAASqG,EAAcrG,GACrB,QAAkB+D,IAAdtE,EAAMwE,IACR,OAAO,EAET,GAAIc,OAAO/E,GACT,MAAMsG,MAAM,8CAEd,QAAStC,IAAchE,EAAOP,EAAMwE,KAUtC,SAASsC,EAAcvG,GACrB,QAAkB+D,IAAdtE,EAAM0E,IACR,OAAO,EAET,GAAIY,OAAO/E,GACT,MAAMsG,MAAM,8CAEd,QAASpC,IAAclE,EAAOP,EAAM0E,KAStC,SAASqC,EAAexG,GACtB,OACGP,EAAMgH,SAAYhH,EAAMgH,UAAY9C,GAAa3D,EAAOP,EAAMgH,SAmEnE,OACE,uBAAK/G,UAAW,uBAAyBD,EAAMC,WAC7C,uBACEA,UACE,mBAAqByG,GAAc1G,EAAMwG,UAAY,SAAW,KAGjExG,EAAMiH,QAAU,uBAAKhH,UAAU,gBAAgBD,EAAMiH,QACtD,4BACE1G,MAAOA,EACP2G,SA5CR,SAAsBC,GACpB,IAAIC,EAoBJ,IAjBGD,EAAEE,OAAO9G,OAA4B,KAAnB4G,EAAEE,OAAO9G,OAAmC,MAAnB4G,EAAEE,OAAO9G,QAhJzD,SAAwBA,GACtB,OACGP,EAAMsH,SAAYtH,EAAMsH,UAAYpD,GAAa3D,EAAOkF,IA+IzD8B,CAAeJ,EAAEE,OAAO9G,QArI5B,SAAsBA,GACpB,OAAQP,EAAMwH,OAAUxH,EAAMwH,QAAUtD,GAAa3D,EAAOP,EAAMwH,OAqIhEC,CAAaN,EAAEE,OAAO9G,QA5H1B,SAAyBA,GACvB,OACGP,EAAM0H,UAAa1H,EAAM0H,WAAaxD,GAAa3D,EAAOoF,IA2H3DgC,CAAgBR,EAAEE,OAAO9G,QA/F7B,SAA0BA,GACxB,YAA2B+D,IAApBtE,EAAM4H,WAA2BrH,EAAMyE,QAAUhF,EAAM4H,UA+F5DC,CAAiBV,EAAEE,OAAO9G,QA5G9B,SAA0BA,GACxB,OACGP,EAAM8H,WAAc9H,EAAM8H,YAAc5D,GAAa3D,EAAOmF,IA2G7DqC,CAAiBZ,EAAEE,OAAO9G,QA1H9B,SAAgCA,GAC9B,OACGP,EAAM4F,iBACN5F,EAAM4F,kBAAoB1B,GAAa3D,EAAOqF,IAwH/CoC,CAAuBb,EAAEE,OAAO9G,QAGd6G,EAAdpH,EAAMiI,OAAwBd,EAAEE,OAAO9G,MAAM2H,cAC5Bf,EAAEE,OAAO9G,MAC9BkG,EAAW,KAGXW,EAAgB7G,EAGdP,EAAMkH,SAAU,CAClB,IAAMiB,EAAWnI,EAAMkH,SAASE,GAAiB,IAG/Cb,OADejC,IAAb6D,EACOA,EAEAf,GAAiB,MAkBxBgB,YAAapI,EAAMoI,YACnBnI,UAAU,cACVoI,QAAS,kBAAM1B,EAAc,WAC7B2B,OAxER,WACE3B,EAAc,IAEd,IAAI4B,EAAoB,GAEpBvI,EAAMqE,WACRkE,EAAQ,2BAAQA,GAAR,IAAkBlE,SAAUrC,EAAWzB,MAE7CP,EAAMwE,MACR+D,EAAQ,2BAAQA,GAAR,IAAkB/D,IAAKoC,EAAcrG,MAE3CP,EAAM0E,MACR6D,EAAQ,2BAAQA,GAAR,IAAkB7D,IAAKoC,EAAcvG,MAE3CP,EAAMgH,UACRuB,EAAQ,2BAAQA,GAAR,IAAkBvB,QAASD,EAAexG,MAEpDP,EAAMsI,QAAUtI,EAAMsI,OAAOC,IAyDvBG,GAAI1I,EAAM0I,GACVC,aAAc3I,EAAM2I,aACpBC,SAAU5I,EAAM4I,SAChBnH,KAAMzB,EAAMyB,OAEbzB,EAAM+I,cAA+B,WAAfrC,GACrB,uBAAKzG,UAAU,gBACb,qBAAGA,UAAU,kBAAkB+I,QAzBzC,gBA4BOhJ,EAAMiJ,QAAU,uBAAKhJ,UAAU,gBAAgBD,EAAMiJ,SAEvDjJ,EAAMwG,WAAa,qBAAGvG,UAAU,iBAAiBD,EAAMwG,WACvDxG,EAAMkJ,aAAexC,GAAcnG,IAClC,qBAAGN,UAAU,kBAAkBD,EAAMkJ,YAEtClJ,EAAMmJ,UACL,qBAAGlJ,UAAS,oBAAeD,EAAMoJ,eAAiB,SAC/CpJ,EAAMmJ,aC3OJuhB,I,OAA2D,SACtE1qB,GAEA,SAASkH,EAASqD,GAChB,IAAIogB,EAAiC3qB,EAAMuJ,KAAK2C,KAAI,SAAC0e,GACnD,OAAIA,EAASC,oBAAsBtgB,EAAMlD,OAAO5F,KACvC,CACLopB,kBAAmBD,EAASC,kBAC5BC,WAAYF,EAASE,WACrBC,SAAUH,EAASG,SACnBjc,QAASvE,EAAMlD,OAAOyH,SAGnB8b,KAET5qB,EAAMkH,SAASyjB,GAGjB,OACE,oCACG3qB,EAAMuJ,KAAK2C,KAAI,SAAC0e,GAAD,OACd,2BACEpe,IAAKoe,EAASC,kBACd5qB,UACE,wBACCD,EAAM4I,UAAYgiB,EAAShiB,SAAW,YAAc,KAGvD,2BACEH,KAAK,WACLvB,SAAUA,EACV4H,QAAS8b,EAAS9b,UAAW,EAC7BrN,KAAMmpB,EAASC,oBAEjB,0BAAM5qB,UAAU,2BACf2qB,EAASC,mBACR,0BAAM5qB,UAAU,kBAAkB2qB,EAASC,0BAQxCG,GA7D4B,SAAChrB,GAC1C,OACE,2BAAOC,UAAW,YAAcD,EAAM4I,SAAW,YAAc,KAC7D,2BACEH,KAAK,WACLvB,SAAUlH,EAAMkH,SAChB4H,QAAS9O,EAAM8O,UAAW,EAC1BrN,KAAMzB,EAAMyB,OAEd,0BAAMxB,UAAU,2BACfD,EAAMgP,UACL,0BAAM/O,UAAU,kBAAkBD,EAAMgP,YCoBnCic,GAAkB,CAC7BC,kBAAc5mB,EACdqf,aAASrf,EACT6e,UAAM7e,GAGK6mB,GAIT,sFAJSA,GAQL,kCA6TOC,GA1TmC,SAACprB,GAAW,IAAD,QACvBqG,IAAM8G,SACxCnN,EAAMqrB,YAFmD,mBACpDA,EADoD,KACxCC,EADwC,OAI3BjlB,IAAM8G,SAA0B,IAJL,mBAI1Coe,GAJ0C,aAKnBllB,IAAM8G,SAAiB,IALJ,mBAKpDqe,EALoD,KAKtCC,EALsC,OAM/BplB,IAAM8G,SAAN,eAEpB8d,KARmD,mBAMpDS,EANoD,KAM5CC,EAN4C,KAgE3D,SAASC,EAAoBpf,EAA2BjM,GAC1C,YAARiM,GAAsC,IAAjBjM,EAAMyE,SAC7BumB,EAAY,IAIP,OAALvrB,QAAK,IAALA,KAAO6rB,WAAW,IAClBnI,IAAkB,SAAChL,GAAD,OAAc5F,EAAe4F,KAAMnY,GACrDorB,EAAU,2BAAKD,GAAN,mBAAelf,OAAMlI,KAC9BmnB,EAAgB,KAEN,SAARjf,IACF0W,GAAgBpQ,EAAgBvS,EAAjB,OAAwB8qB,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAYS,SACnDH,EAAU,2BAAKD,GAAN,mBAAelf,OAAMlI,MAEhCgnB,EAAc,2BAAKD,GAAN,mBAAmB7e,EAAMjM,KACtCP,EAAM+rB,gBAAN,2BAA2BV,GAA3B,mBAAwC7e,EAAMjM,KAClC,YAARiM,GAA6B,SAARA,GACvBxM,EAAMgsB,cAAN,2BAAyBN,GAAzB,mBAAkClf,OAAMlI,KAG9B,iBAARkI,IACFlB,QAAQC,IAAI,wBACRrF,GAAmB9B,KAAK7D,IAE1BorB,EAAU,2BACLD,GADI,IAEPR,aAAchF,GAAShK,OAEzBlc,EAAMgsB,cAAN,2BACKN,GADL,IAEER,aAAchF,GAAShK,SAczB5Q,QAAQC,IAAI,aACZogB,EAAU,2BAAKD,GAAN,IAAcR,kBAAc5mB,KACrCtE,EAAMgsB,cAAN,2BAAyBN,GAAzB,IAAiCR,kBAAc5mB,OAiCrD,SAASwO,EAAe4F,GAGtB,GAFApN,QAAQC,IAAI,iBAAkBmN,IAEzBA,GAAOA,EAAIR,MAIdlY,EAAM6rB,WAAWnT,EAAIR,YAErB,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKnU,OAAS,EAAG,CACnC,IAAMinB,EAAW,GACjBA,EAAIH,QAAUpT,EAAIS,KAAK,GAAG2S,QAC1BG,EAAI3I,KAAO5K,EAAIS,KAAK,GAAGyK,KACvBqI,EAAIC,SACsB,IAAxBxT,EAAIS,KAAK,GAAG+S,SAAiBxT,EAAIS,KAAK,GAAGyK,KAAOlL,EAAIS,KAAK,GAAG+S,SAC9DD,EAAIE,QAAUzT,EAAIS,KAAK,GAAGgT,QAC1BF,EAAIrI,KAAOlL,EAAIS,KAAK,GAAGyK,KACvBqI,EAAIpI,MAAQnL,EAAIS,KAAK,GAAG0K,MACxBoI,EAAIG,UAAY1T,EAAIS,KAAK,GAAGiT,UAC5BH,EAAII,YAAc3T,EAAIS,KAAK,GAAGkT,YAC9Bf,EAAc,2BAAKtrB,EAAMqrB,YAAeY,IACxCjsB,EAAM+rB,gBAAN,2BAA2B/rB,EAAMqrB,YAAeY,QAC3C,CACL,IAAMA,EAAW,CACjBA,KAAW,GACXA,SAAe,GACfA,QAAc,GACdA,KAAW,GACXA,MAAY,GACZA,UAAgB,GAChBA,YAAkB,IAClBX,EAAc,2BAAKtrB,EAAMqrB,YAAeY,IACxCjsB,EAAM+rB,gBAAN,2BAA2B/rB,EAAMqrB,YAAeY,IAChDjsB,EAAM6rB,WACJ,oEAwCR,OAhNAxlB,IAAM6H,WAAU,WAAO,IAAD,EAOY,MAkBvB,MAvBP+M,KAAK2G,UAAUyJ,KAAgBpQ,KAAK2G,UAAL,OAAe5hB,QAAf,IAAeA,OAAf,EAAeA,EAAOqrB,cAC3C,OAAVA,QAAU,IAAVA,OAAA,EAAAA,EAAYS,YAAZ,OAAwB9rB,QAAxB,IAAwBA,GAAxB,UAAwBA,EAAOqrB,kBAA/B,aAAwB,EAAmBS,WAE3CR,EAActrB,EAAMqrB,iBACK/mB,KAAX,OAAV+mB,QAAU,IAAVA,OAAA,EAAAA,EAAY/H,OAA2C,QAAX,OAAV+H,QAAU,IAAVA,OAAA,EAAAA,EAAY/H,MACxB,KAAV,OAAV+H,QAAU,IAAVA,OAAA,EAAAA,EAAY/H,QAEP,OAALtjB,QAAK,IAALA,GAAA,UAAAA,EAAOqrB,kBAAP,eAAmBS,UAEoB,KAAlC,OAAL9rB,QAAK,IAALA,GAAA,UAAAA,EAAOqrB,kBAAP,mBAAmBS,eAAnB,eAA4B9mB,UAE5BumB,EAAY,IACZE,EAAgB,IAKhB/H,IACE,SAAChL,GAAD,OAAc5F,EAAe4F,KAC7B1Y,EAAMqrB,WAAWS,WAMhB,OAAL9rB,QAAK,IAALA,GAAA,UAAAA,EAAOqrB,kBAAP,eAAmBS,UAEoB,KAAlC,OAAL9rB,QAAK,IAALA,GAAA,UAAAA,EAAOqrB,kBAAP,mBAAmBS,eAAnB,eAA4B9mB,UAE5BumB,EAAY,IACZE,EAAgB,IAKhB/H,IACE,SAAChL,GAAD,OAAc5F,EAAe4F,KAC7B1Y,EAAMqrB,WAAWS,aAKxB,EACI,OAAL9rB,QAAK,IAALA,GAAA,UAAAA,EAAOqrB,kBAAP,eAAmBH,gBAAnB,OAAmCG,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAYH,eAC1C,OAALlrB,QAAK,IAALA,GAAA,UAAAA,EAAOqrB,kBAAP,eAAmBS,YAAnB,OAA+BT,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAYS,WAE7CxgB,QAAQC,IAAR,OACEvL,QADF,IACEA,GADF,UACEA,EAAOqrB,kBADT,aACE,EAAmBH,aACnB,0CAEF5f,QAAQC,IAAR,OAAY8f,QAAZ,IAAYA,OAAZ,EAAYA,EAAYH,aAAc,kCA6JpC,oCACE,yBAAKjrB,UAAU,SACb,2BAAOA,UAAU,cAAcD,EAAMssB,cACpCtsB,EAAMusB,iBACL,2BAAOtsB,UAAU,cACf,2BAAOA,UAAU,iBAAjB,iBACA,yBAAKA,UAAU,gCACb,kBAAC,GAAD,CACE6O,QAAS9O,EAAMwsB,cAAe,EAC9B/qB,KAAI,gBAAWzB,EAAMysB,aACrBvlB,SAAUlH,EAAM0sB,0BAMA,mBAAtB1sB,EAAMysB,eAAsCzsB,EAAMwsB,cACpD,oCACE,yBAAKvsB,UAAU,SACb,2BAAOA,UAAU,YAAjB,WACA,kBAAC,GAAD,CAMEqG,aAAY,OAAE+kB,QAAF,IAAEA,OAAF,EAAEA,EAAYH,aAC1B9iB,YAAY,cACZlB,SAAU,SAAC3G,GAAD,OAAWqrB,EAAoB,eAAgBrrB,IACzDqI,SAAU5I,EAAM2sB,UAChBnmB,UAAWklB,EAAOR,aAClBzpB,KAAI,iBAAYzB,EAAMysB,aACtB7kB,UAAW,OAIf,yBAAK3H,UAAU,SACb,2BAAOA,UAAU,YAAjB,YACA,kBAAC,GAAD,CACE+G,QAASlB,GAAc,GACvBwC,OAAQ,SAAC4P,GAAD,OA3EpB,SAA2B1L,EAA2BjM,GACpD,OAAQiM,GACN,IAAK,eACHmf,EAAU,2BACLD,GADI,IAEPR,aAAc3qB,EAAMyG,aAAU1C,EAAY4hB,GAAShK,OAErDlc,EAAMgsB,cAAN,2BACKN,GADL,IAEER,aAAc3qB,EAAMyG,aAAU1C,EAAY4hB,GAAShK,OAErD,MACF,IAAK,UACHyP,EAAU,2BACLD,GADI,IAEPI,QAASvrB,EAAMyG,aAAU1C,EAAY4hB,GAAShK,OAEhDlc,EAAMgsB,cAAN,2BACKN,GADL,IAEEI,QAASvrB,EAAMyG,aAAU1C,EAAY4hB,GAAShK,OAEhD,MACF,IAAK,OACkB,kBAAV3b,GACTorB,EAAU,2BAAKD,GAAN,IAAcpI,UAAMhf,KAC7BtE,EAAMgsB,cAAN,2BAAyBN,GAAzB,IAAiCpI,UAAMhf,OAEvCqnB,EAAU,2BAAKD,GAAN,IAAcpI,KAAM4C,GAAShK,OACtClc,EAAMgsB,cAAN,2BAAyBN,GAAzB,IAAiCpI,KAAM4C,GAAShK,SA+CzB0Q,CAAkB,UAAW1U,IAChD5R,aAAY,OAAE+kB,QAAF,IAAEA,OAAF,EAAEA,EAAYS,QAC1B1jB,YAAY,aACZlB,SAAU,SAAC3G,GACJ,OAALP,QAAK,IAALA,KAAO6rB,WAAW,IAClBD,EAAoB,UAAWrrB,IAEjCqI,SAAU5I,EAAM2sB,UAChBrlB,SAAO,EACPM,UAAW,EACXpB,UAAWklB,EAAOI,SAAWN,EAC7B/pB,KAAI,iBAAYzB,EAAMysB,gBAwB1B,yBAAKxsB,UAAU,SACb,2BAAOA,UAAU,YAAjB,cACA,kBAAC,GAAD,CACEqG,cACY,OAAV+kB,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,GAENzb,YAAY,yBACZQ,UAAU,EACVH,KAAK,OACLhH,KAAI,mBAAczB,EAAMysB,mBCjSvBI,I,cA1E6B,SAAC7sB,GAEzC,SAASkH,EAASsF,EAA4BjM,GAC1C,IAAI0rB,EAAoB,eAAQjsB,EAAM8sB,eACtCb,EAAIzf,GAAOjM,EACXP,EAAM+sB,mBAAmBd,GAS7B,OACI,uBAAKhsB,UAAU,IAEX,uBAAKA,UAAU,SACX,yBAAOA,UAAU,YAAjB,WACA,gBAAC,GAAD,CACIqG,aAActG,EAAM8sB,cAAcE,QAClCvrB,KAAI,iBAAYzB,EAAMgL,OACtBZ,eAAgB,SAACT,GAAD,OAASzC,EAAS,UAAWyC,EAAG,UAChDG,aAAc,EACdgB,QAAS9K,EAAMitB,YACf3kB,OAAQ,SAACqB,GAAD,OAjBJ6C,EAiBwB,eAhBvB,kBAgBkC7C,EAf/C3J,EAAM2rB,UAAN,2BAAqB3rB,EAAM0rB,QAA3B,mBAAoClf,EAAM0Z,GAAShK,OACnDlc,EAAM2rB,UAAN,2BAAqB3rB,EAAM0rB,QAA3B,mBAAoClf,OAAMlI,MAHlD,IAAoBkI,GAkBJ5C,UAAU,UACVxB,YAAY,qBACZ0D,UAAU,sCACVtF,UAAWxG,EAAM0rB,OAAOsB,QACxBlgB,aAAa,KAGrB,uBAAK7M,UAAU,SACX,yBAAOA,UAAU,YAAjB,uBACA,gBAAC,GAAD,CACIqG,aAActG,EAAM8sB,cAAcI,OAClC/e,QAASrK,GACTuK,SAAU,SAAC1E,GAAD,OAASzC,EAAS,SAAUyC,IACtC1J,UAAU,aAIiB,WAA/BD,EAAM8sB,cAAcI,QACpB,uBAAKjtB,UAAU,SACX,yBAAOA,UAAU,YAAjB,+BACA,gBAAC,GAAD,CACIqG,aAActG,EAAM8sB,cAAcK,YAClCjmB,SAAU,SAACyC,GAAD,OAASzC,EAAS,cAAeyC,IAC3CrB,OAAQ,SAAA4P,GAAK,OAAIlY,EAAM2rB,UAAN,2BAAqB3rB,EAAM0rB,QAA3B,IAAmCyB,YAAajV,EAAM7T,SAAW6hB,GAAShK,IAAkB,OAC7G9T,YAAY,iBACZ5B,UAAWxG,EAAM0rB,OAAOyB,YACxB1kB,KAAK,OACLpE,UAAQ,KAKpB,uBAAKpE,UAAU,SACX,yBAAOA,UAAU,YAAjB,yBACA,gBAAC,GAAD,CACIqG,aAActG,EAAM8sB,cAAcM,YAClClmB,SAAU,SAACyC,GAAD,OAASzC,EAAS,cAAeyC,IAC3CrB,OAAQ,SAAA4P,GAAK,OAAIlY,EAAM2rB,UAAN,2BAAqB3rB,EAAM0rB,QAA3B,IAAmC0B,YAAalV,EAAM7T,SAAW6hB,GAAShK,IAAkB,OAC7G9T,YAAY,kBACZ5B,UAAWxG,EAAM0rB,OAAO0B,YACxB3kB,KAAK,OACLpE,UAAQ,QClEfgpB,GAAmB,CAC5BL,QAAS,GACTG,YAAa,GACbD,OAAQppB,GAAU,GAAGvD,MACrB6sB,YAAa,IAgBFE,GAbqC,SAACttB,GAAD,OAChD,uBAAKC,UAAU,iBACX,yBAAOA,UAAU,WAAjB,+GACA,gBAAC,GAAD,CACIgtB,YAAajtB,EAAMitB,YACnBH,cAAe9sB,EAAM8sB,cACrBC,mBAAoB/sB,EAAM+sB,mBAC1BrB,OAAQ1rB,EAAM0rB,OACdC,UAAW3rB,EAAM2rB,cCjBd4B,I,cAXmC,SAACvtB,GAC/C,OACI,yBAAKC,UAAS,wBAAmBD,EAAMC,YACnC,yBAAKA,UAAS,YAAe4M,MAAO,CAAE2gB,gBAAgB,GAAD,OAAKxtB,EAAMmP,SAC3DnP,EAAMgP,aC2BVye,GAA4B,SACvCzM,EACA0M,GAEA5M,GACE,CACEkB,IAAK,kBACLd,OAAQ,OACRtQ,KAAM,CACJ+c,aAAcD,EAAcC,aAC5BjE,SAAUkE,GAAO5b,kBAEnB8P,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa8D,0BAE5B4K,I,oBC3BG,SAAS6M,GAA4BrV,GAAgB,IAAD,IACzD6I,GAAYyM,gBAAgBC,WAAavV,EAASwV,WAClD3M,GAAYyM,gBAAgB5C,aAAe1S,EAASyV,aACpD5M,GAAYyM,gBAAgBjpB,KAAO2T,EAAS0V,cAC5C7M,GAAYyM,gBAAgBnK,QAAUnL,EAAS2V,aAC/C9M,GAAYyM,gBAAgBM,OAAS5V,EAAS6V,OAC9C,IAAMC,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBpD,aACtB7J,GAAYyM,gBAAgB5C,aAC9BoD,EAAwB3K,QAAxB,UACEtC,GAAYyM,uBADd,iBACE,EAA6BnK,eAD/B,aACE,EAAsClW,WACxC6gB,EAAwBP,WAAxB,OAAqCvV,QAArC,IAAqCA,OAArC,EAAqCA,EAAUwV,WAC/CM,EAAwBF,OAAS5V,EAAS6V,OAC1C5M,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAInB,ICZKE,GDySUC,GA7R2B,SAACzuB,GAAW,IAAD,EACrBqG,IAAM8G,SAA0B,IADX,mBAC5CuhB,EAD4C,KACnC7C,EADmC,OAEHxlB,IAAM8G,WAFH,mBAE5CwhB,EAF4C,KAE1BC,EAF0B,OAGbvoB,IAAM8G,SAAiB,IAHV,mBAG5C0hB,EAH4C,KAG/BC,EAH+B,OAIjBzoB,IAAM8G,UAAkB,GAJP,mBAI5CyC,EAJ4C,KAIjCmf,EAJiC,KAK7C1M,EAAW2M,cACXC,EAAUC,cACVC,EAAS9oB,IAAM+oB,OAAuB,MAuF5C,SAAShZ,EAAyBsC,GAChC,IAAKA,GAAOA,EAAIR,MACd6W,GAAa,GAEbzjB,QAAQC,IAAImN,EAAIP,QAChB0T,EAAWnT,EAAIR,WACV,CACL,GAAIQ,EAAIS,KAAM,CAEZ,IAAMkW,EAAQ3W,EAAIS,KAAKmW,MAAM5lB,QAC3B,SAACyU,GAAD,MAAuB,iBAAXA,EAAE1c,QAEZ4tB,EAAMrqB,OAAS,GACjB4pB,EAAoBS,EAAM,SAEvBxD,EAAWnT,EAAIR,OACtB6W,GAAa,IAyCjB,SAAS1Y,EAAoBqC,GAC3B,IAAKA,GAAOA,EAAIR,MAMd,OAFA2T,EAAWnT,EAAIR,YACf6W,GAAa,GAGb,GAAIrW,EAAIS,KAAM,CAEZ,GADA4V,GAAa,GACI,wBAAbrW,EAAIS,KAEN,OADA0S,EAAWnT,EAAIR,QACR,EAET,GAAiB,qBAAbQ,EAAIS,KAGN,OAFA0S,EAAW,IACXoD,EAAQM,KAAK5uB,GAAaE,UACnB,EAETgtB,GAA4BnV,EAAIS,MAChC,IAAMmV,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D2M,EAAwBkB,cAAe,EACvClB,EAAwBmB,SAAW,GAEnChO,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAK5uB,GAAaE,UAmChC,OAjNAwF,IAAM6H,WAAU,WAEd,GADAwhB,KAC+B,GAA3B9B,GAAO5b,iBAAuB,CAChCyP,OAAOkO,eAAepB,QAAQ,cAAe,KAC7C,IAAMqB,EAAcC,OAAOC,YACzB,IAAIC,gBAAgB1N,EAAS2N,SAE/B,GAC8B,qBAArBJ,EAAYzJ,MACG,cAAtByJ,EAAY7lB,MACZ,CACA,IAAIkmB,EAAsB,GAC1BA,EAAe9J,KAAOyJ,EAAYzJ,KAClC8J,EAAeC,YAActC,GAAO/b,YAAc,IAClDoe,EAAeE,UAAYvC,GAAOhc,SAClCqe,EAAevG,SAAWkE,GAAO5b,iBDlEL,SAClCgP,EACAiP,GAEAnP,GACE,CACEkB,IAAK,gBACLd,OAAQ,OACRtQ,KAAM,CACJiT,MAAO,GACPuM,KAAMH,EAAe9J,KACrBkK,YAAaJ,EAAeC,YAC5BI,SAAUL,EAAeE,UACzBI,YAAa,GACb7G,SAAUkE,GAAO5b,kBAEnB8P,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa6D,wCAE5B6K,GC+CIwP,EACE,SAAC9X,GAAD,OAsCR,SAAwBA,EAAUuX,GAChC,IAAKvX,GAAOA,EAAIR,MACd6W,GAAa,GAEblD,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CAEZ,IAAIsX,EAAc/X,EAAIS,KACtB,GAAIsX,EAAY9C,aAAc,CAC5B,IAAM+C,EAAW,eAAQT,GACzBS,EAAY/C,aAAe8C,EAAY9C,aACvC+C,EAAYhH,SAAWkE,GAAO5b,iBAC9B8c,EAAe2B,EAAY9C,cAC3BF,GAA0BrX,EAA0Bsa,OAE1B,MAAtBhY,EAAIS,KAAKwX,UACX9E,EAAWxZ,SAMf0c,GAAa,GACblD,EAAWxZ,IA9DKue,CAAelY,EAAKuX,KAClCA,GAEFlB,GAAa,QAEblD,EAAW,OAGf,GAA+B,GAA3B+B,GAAO5b,iBAAuB,CAChCyP,OAAOkO,eAAepB,QAAQ,cAAe,KAC7C,IAAMD,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAExDkP,EAAmB,OAAGvC,QAAH,IAAGA,OAAH,EAAGA,EAAyBmB,SACnD,GAAIoB,EAAqB,CACvB,IAAIH,EAAmB,GACvBA,EAAY/C,aAAekD,EAC3B/B,EAAe+B,GACfpD,GAA0BrX,EAA0Bsa,QAEpD7E,EAAWxZ,OAId,IAEHhM,IAAM6H,WAAU,WACA,IAAD,EAATwgB,IACF,UAAAS,EAAO2B,eAAP,SAAgBnmB,oBAEjB,CAAC+jB,IAmKF,yBAAKzuB,UAAW,UAAY2P,EAAY,QAAU,KAChD,kBAAC,GAAD,KACE,yBAAKzP,IAAK4wB,KAAU1wB,IAAI,gBAAgBJ,UAAU,WAEpD,yBAAKA,UAAU,cACb,uBAAGA,UAAU,cAAb,kCAEF,yBAAKA,UAAU,cACb,uBAAGA,UAAU,WAAb,gFAIA,uBAAGA,UAAU,eACX,0BAAM4M,MAAO,CAAEsC,MAAO,UAAtB,gBADF,mEAODuf,GACC,yBAAKzuB,UAAU,aAAa+wB,IAAK7B,GAC/B,kBAAC,GAAD,KACsB,kBAAZT,EACN,kJAKA,+BAAQA,KAOfA,EACC,oCACE,yBAAKzuB,UAAU,UACb,kBAAC,GAAD,CACE6P,QAAQ,YACRF,UAAWA,EACX5G,QAxEZ,WACEimB,EAAQM,KAAKpsB,QA0EP,yBAAKlD,UAAU,cAAc+I,QAvErC,WACEqY,GAAY4P,OAAQ,EACpB5P,GAAYmO,cAAe,EAC3BnO,GAAY6P,gBAAiB,EAC7B,IAAM5C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB6C,oBAAqB,EAC7C7C,EAAwBkB,cAAe,EACvClB,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4C,gBAAiB,EACzCzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjB,IAAI/rB,EAAe,OAAG8e,SAAH,IAAGA,QAAH,EAAGA,GAAa+P,gBAOnC/P,GAAY+P,gBAAkB7uB,EAC9B0sB,EAAQM,KAAK5uB,GAAaC,eAgDpB,gCAKF,yBAAKX,UAAU,UACb,kBAAC,GAAD,CACE6P,QAAQ,UACRlH,SACEgH,GACqB,OAArB+e,QACqBrqB,IAArBqqB,EAEF/e,UAAWA,EACX5G,QAnKV,WACE,GAAyB,OAArB2lB,QAAkDrqB,IAArBqqB,EAAgC,CAE/DI,GAAa,GAEb,IAAMsC,EAA0B1C,EAAiB2C,IAAI/M,MAAM,KACvDgN,EAAU,GACd,GAAwB,IAApBF,EAASrsB,OAGTusB,EAFU,IAAIxrB,OAAO,YACf3B,KAAKitB,EAAS,IACVA,EAAS,GAET,oBAGZE,EAAU,eAEZ,IAAMC,EAASvW,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAG9CxI,EAAO,CACTsY,SAAUF,EACVG,QAAS/C,EAAiB2C,IAC1BK,SAAU,GACVrQ,MAAOuN,EACP+C,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,sBACnCC,OAAQ1Q,GAAY0Q,OACpBC,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCwrB,OAAQA,GD7HdxQ,ECgIyB3K,ED7HzByK,GACE,CACEkB,IAAK,cACLd,OAAQ,OACRtQ,KAAM,CACJqhB,OAPNC,EC+H8C/Y,GDxHzBmI,MACf6Q,QAASD,EAAQR,QACjB3O,cAAemP,EAAQN,cACvBQ,SAAUF,EAAQP,SAClBU,sBAAuBH,EAAQJ,sBAC/BQ,OAAQJ,EAAQH,OAChBQ,MAAOL,EAAQF,MACfQ,SAAUN,EAAQT,SAClBgB,eAAgBP,EAAQV,OACxB9H,SAAUkE,GAAO5b,kBA6BnB8P,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa+D,qBAE5B2K,GAnDgC,IAClCA,EACAkR,QGjEWQ,GAA4B,SACvC1R,EACA6B,GAEA/B,GACE,CACEkB,IAAK,wBACLpR,KAAM,CACJmS,cAAeF,EACf8P,kBAAmB,GAErBzR,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaY,0BAE5B8N,IAcS4R,GAA+B,SAC1C5R,EACA6R,GAEA/R,GACE,CACEkB,IAAK,qBACLpR,KAAM,CACJghB,cAAa,OAAEiB,QAAF,IAAEA,OAAF,EAAEA,EAAQjB,cACvBkB,iBAAgB,OAAED,QAAF,IAAEA,OAAF,EAAEA,EAAQC,iBAC1BC,aAAY,OAAEF,QAAF,IAAEA,OAAF,EAAEA,EAAQE,aACtBC,QAAc,OAANH,QAAM,IAANA,OAAA,EAAAA,EAAQG,QAAR,OAAiBH,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAQG,OAAS,IAC1CC,cAAkB,OAANJ,QAAM,IAANA,OAAA,EAAAA,EAAQI,cAAR,OAAqBJ,QAArB,IAAqBA,OAArB,EAAqBA,EAAQI,aAE3C/R,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaY,0BAE5B8N,IAcSkS,GAAgB,SAC3BlS,EACAkR,GAKApR,GACE,CACEkB,IAAK,YACLpR,KAAMshB,EACNhR,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAac,cAE5B4N,IC9BSmS,GAAoB,SAC/BnS,EACAoS,GAEAtS,GACE,CACEkB,IAAK,gCACLd,OAAQ,OACRtQ,KAAM,CACJ2hB,MAAOa,GAETtR,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAaG,yBAE5BuO,IAyCSqS,GAAiB,SAACrS,EAA4BoS,GACzD,IAAIE,EAAajS,GAAYyM,gBAAgBwF,WAC7ChoB,QAAQC,IAAI,+BAAgC+nB,GA4B5ChoB,QAAQC,IAAI,aAAc+nB,SAAmBA,GAEjB7R,OAAOC,aAAaC,QAC9C,2BAmBF+Q,IAhDgB,SAACha,GACf,GAAIA,GAAOA,EAAIS,KAAM,CACnB,IAAIA,EAAO8B,KAAKC,MAAMxC,EAAIS,MAC1Bma,EAAa,CACXf,MAAOlR,GAAYyM,gBAAgB9nB,IACnCutB,UAAS,OAAEpa,QAAF,IAAEA,OAAF,EAAEA,EAAMqa,aACjBC,WAAU,OAAEta,QAAF,IAAEA,OAAF,EAAEA,EAAMua,eAClBC,SAAQ,OAAExa,QAAF,IAAEA,OAAF,EAAEA,EAAMya,YAChBC,aAAc,GACdC,oBAAqB,GACrBC,WAAY,GACZC,SAAS,EACTC,eAAgB,IAWlBjT,EARa,CACXhI,QAAQ,EACRC,MAAO,GACPE,KAAMma,EAENpb,MAAO,QA4BsBmJ,GAAYwQ,gBAyEpCqC,GAAyB,SACpClT,EACAoS,EAAee,EAAsBC,GAErCtT,GACE,CACEkB,IAAK,2BACLd,OAAQ,OACRtQ,KAAM,CACJyjB,UAAWjB,EACXkB,YAAa,EACbC,gBAAiBJ,GAA4B,EAC7CC,OAAQA,EAAS5mB,SAAS4mB,GAAU,GAEtCtS,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAayC,uBAE5BiM,IAiNSwT,GAAiB,SAACxT,EAA4ByT,GACzD3T,GACE,CACEkB,IAAK,kCACLd,OAAQ,OACRtQ,KAAM,CACJ2hB,MAAOkC,EAAOzC,MACd0C,IAAKD,EAAOE,IACZ5R,cAAe0R,EAAO7C,cACtBS,sBAAqB,OAAEoC,QAAF,IAAEA,OAAF,EAAEA,EAAQ3C,sBAC/BQ,OAAM,OAAEmC,QAAF,IAAEA,OAAF,EAAEA,EAAQ1C,OAChB6C,UAAS,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAQG,WAErB9S,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaoD,eAE5BsL,I,gEFzbCwN,O,eAAAA,I,iBAAAA,I,gBAAAA,Q,KAML,IA8NeqG,GA9N4B,SAAC70B,GAAU,MAI5BqG,WACtBrG,EAAM80B,aAAe,MAL6B,mBAI7CC,EAJ6C,KAIvCC,EAJuC,OAWhB3uB,WAClCmoB,GAAYyG,MAZsC,mBAW7CC,EAX6C,KAWjCC,EAXiC,KAoBpD,SAASC,EAAaL,GAGhBG,IAAe1G,GAAYyG,MAC7BE,EAAcD,EAAa,KAExBl1B,EAAMq1B,SAAYN,GAAQO,GAAcP,IAAS,KACpDC,EAAQD,GACRA,GAAQ/0B,EAAMo1B,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,uBAAKx1B,UAAU,sBACZu1B,EAAYO,yBACbb,IAAe1G,GAAYwH,MAEzB,4BAGA,0BACEvtB,KAAK,SACLxI,UAAU,eACV+I,QAAS,WACP,GAAIksB,IAAe1G,GAAYyG,KAC7B,OAAOO,EAAYS,gBAGnB,IAAK,IAAIhqB,EAAI,EAAGA,EAAI,GAAIA,IAAKupB,EAAYU,iBAR/C,KAgBF,2BAEGhB,IAAe1G,GAAYyG,MAC1B,0BACExsB,KAAK,SACLxI,UAAU,2CACV+I,QAAS,kBAAMmsB,EAAc3G,GAAYwH,SAExCG,KAAOX,EAAYT,MAAMqB,OAAO,QAIpClB,IAAe1G,GAAY6H,MAC1B,0BACE5tB,KAAK,SACLxI,UAAU,0CACV+I,QAAS,kBAAMmsB,EAAc3G,GAAY6H,QAExCnB,IAAe1G,GAAYyG,KACxBkB,KAAOX,EAAYT,MAAMqB,OAAO,QAChCZ,EAAYT,KAAKW,eAIxBR,IAAe1G,GAAY6H,MAC1B,uBAAKp2B,UAAU,iCACZ21B,EAAU,GADb,IACkBA,IAKrBJ,EAAYc,yBACbpB,IAAe1G,GAAYwH,MAEzB,4BAGA,0BACEvtB,KAAK,SACLxI,UAAU,eACV+I,QAAS,WACP,GAAIksB,IAAe1G,GAAYyG,KAC7B,OAAOO,EAAYe,gBAEnB,IAAK,IAAItqB,EAAI,EAAGA,EAAI,GAAIA,IAAKupB,EAAYgB,iBAI5C,MAMNtB,IAAe1G,GAAY6H,MAC1B,uBAAKp2B,UAAU,2BAxGC,CACpB,CAAC,GAAI,GAAI,GACT,CAAC,EAAG,EAAG,GACP,CAAC,EAAG,EAAG,GACP,CAAC,EAAG,EAAG,IAqGciM,KAAI,SAACuqB,GAAD,OACjB,uBAAKx2B,UAAU,WAAWuM,IAAKiqB,EAAS,IACrCA,EAASvqB,KAAI,SAACwqB,GAAD,OACZ,0BACEjuB,KAAK,SACL+D,IAAKkqB,EACLz2B,UACE,YACC21B,EAAUc,KAAV,OAAoB3B,QAApB,IAAoBA,OAApB,EAAoBA,EAAMW,eAAgB,UAAY,IAEzD1sB,QAAS,kBAjGJ2tB,EAiGsBf,EAAUc,EAhGnDprB,QAAQC,IAAI,eACZ6pB,EAAa,IAAIH,KAAK0B,EAAI,EAAG,SAC7BnB,EAAYoB,WAAWD,GAHzB,IAAqBA,IAmGJf,EAAUc,aAmC7B,OACE,uBAAKz2B,UAAU,eACb,gBAAC,KAAD,CACE42B,SAAU72B,EAAM80B,aAAeC,EAC/BM,QAASr1B,EAAMq1B,QACfyB,QAAS92B,EAAM82B,QACfluB,cACqBtE,KAAd,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAO+2B,UAA4C,QAAd,OAAL/2B,QAAK,IAALA,OAAA,EAAAA,EAAO+2B,WAAvC,OACI/2B,QADJ,IACIA,OADJ,EACIA,EAAO+2B,SAGbC,mBAAiB,EACjB1uB,OAAQtI,EAAMsI,OACdpB,SAAU,SAAC6tB,GAAD,OAAuBK,EAAaL,IAC9CkC,gBAAiBj3B,EAAMi3B,gBACvBC,iBAAiB,EACjBC,YAAa,gBAAC,GAAD,CAAaC,QAASp3B,EAAMo3B,UACzCC,oBAAqBnC,IAAe1G,GAAYwH,MAChDsB,oBAAqBpC,IAAe1G,GAAYyG,KAChDsC,mBAAoB,SAAC/B,GAAD,OAAiBD,EAAaC,IAClDgC,kBAAmB,SAACC,GAAD,OAvCC,SAACA,GACzB,OAAOvC,IAAe1G,GAAY6H,KAChC,uBAAKp2B,UAAU,4CAEb,uBAAKA,UAAU,4BACZw3B,EAAezoB,SAAS,IACtByoB,EAAezoB,SAAS,GAAW,GAAGhP,OACtCy3B,EAAezoB,SAAS,GAAW,GAAGhP,MAAMgP,SAAS,IACrDyoB,EAAezoB,SAAS,GAAW,GAAGhP,MAAMgP,SAAS,GAAGhP,MACtDgP,SAAS,KAKlB,uBAAK/O,UAAWw3B,EAAex3B,WAAYw3B,EAAezoB,UA0BtDwoB,CAAkBC,IAEpBC,gBAAiB,kBAAMvC,EAAc3G,GAAYyG,WAsBnD0C,G,0KAEF,OACE,uBAAK13B,UAAU,uBACb,0BACEA,UAAW,oBAAsBuL,KAAKxL,MAAMo3B,QAAU,SAAW,IACjE3uB,KAAK,SACLO,QAASwC,KAAKxL,MAAMgJ,QACpBV,OAAQkD,KAAKxL,MAAMsI,OACnBpB,SAAUsE,KAAKxL,MAAMgJ,QACrBX,QAASmD,KAAKxL,MAAMqI,SAGnBmD,KAAKxL,MAAMO,MACV,wBAAMN,UAAU,0BACbk2B,KAAO3qB,KAAKxL,MAAMO,OAAO61B,OAAO,gBAGnC,wBAAMn2B,UAAU,2BACbuL,KAAKxL,MAAMoI,aAKhB,qBAAGnI,UAAU,0C,GAxBGoG,aGxQX,SAASuxB,GAAWC,GAClC,IAAM1e,EAAyB,CAC9B5O,MAAOstB,EAAOC,UAAY,4BAC1BA,SAAUD,EAAOC,UAAY,sBAC7BC,OAAQF,EAAOE,OACflpB,MAAOgpB,EAAOhpB,OAEXwS,GAAY0Q,SACf5Y,EAAK6e,QAAU3W,GAAY0Q,QAExB1Q,GAAYwQ,gBACf1Y,EAAK8e,OAAS5W,GAAYwQ,eAE3BvmB,QAAQC,IAAI4N,GACZ+e,UAAU3I,KAAKpW,GC7BhB,IAEegf,GAFE,kBAAM,IAAIpI,gBAAgBf,cAAcgB,SCiD1CoI,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,SAAUxgB,GACpBygB,UAAUrvB,MAAMglB,KACfpW,EAAK0gB,UADN,2BAGK1gB,GAHL,IAIE2gB,YAAarY,OAAOY,SAASC,KAC7ByX,SAAUtY,OAAOuY,WAAa,IAAM,kBAAoB,qBAP/CL,GAyBI,WACf,OAAO,IAAIM,SAAQ,SAACC,GACnB/vB,YAAW,WACV,OAAO+vB,EAAQN,UAAUO,oBACvB,SClFOC,GAAmB,CAC5BC,UAAU,WAAD,4BAAE,WAAgBC,GAAhB,iBAAAluB,EAAA,0DACHqV,QAAwC,oBAAtBA,OAAe8Y,GAD9B,sBAEG/I,EAASvW,KAAKC,MAAMuG,OAAOkO,eAAehO,QAAQ,gBAAkB,SAE5D6P,EAAOnI,cAJlB,gBAKCmR,EAAOhJ,EAAOnI,cALf,sCAOcsQ,KAPd,OAOCa,EAPD,cAUF/Y,OAAe8Y,GAAG,MAAO,QAAS,CAC/BE,UAAW,QACXH,YACAE,OACAE,WAAY,CACRJ,YACAE,UAhBL,4CAAF,mDAAC,GAqBVG,QAAS,SAAUH,GACX/Y,QAAwC,oBAAtBA,OAAe8Y,IAChC9Y,OAAe8Y,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,WAC3B9Z,EACAC,EACA8Z,EACA5Z,EACAY,EACArJ,EACApH,EACA0pB,GAR2B,mBAAA3uB,EAAA,uDAUvB4uB,EAAM,IAAIC,gBAGVC,OAAOC,WAAa,SAAU5wB,GAChCuwB,GAAcA,EAAWvwB,IAI3BywB,EAAII,UAAJ,uCAAgB,WAAgB1iB,GAAhB,SAAAtM,EAAA,sDACdivB,EAAc3iB,GADA,2CAAhB,sDAeM2iB,EAjCqB,+BAAAjvB,EAAA,MAiCL,WAAOsM,GAAP,eAAAtM,EAAA,yDACpBd,QAAQC,IAAI,gBAAiBkN,EAAaC,EAAI4iB,cAAcC,eACxD7iB,EAAI4iB,cAFY,qBAGd5iB,EAAI4iB,cAAcC,aAHJ,gCAIGhjB,GACjB0C,KAAKC,MAAMxC,EAAI4iB,cAAcC,cAC7BjpB,GAAa2B,oBANC,QAIZ2E,EAJY,SASdoI,EAASpI,GATK,uBAYhBoI,EAAStI,EAAI4iB,eAZG,4CAjCK,sDAkD3BN,EAAIQ,KAAKta,GAAkB,OAA3B,UAAsClQ,GAAOG,cAA7C,OAA4D4P,EAAIiB,MAChEgZ,EAAIS,iBAAiB,eAAgB,oBACrCT,EAAIS,iBAAiB,UAAWzqB,GAAOe,QACnCyP,EAAuBvG,KAAKC,MAC9BuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAElC,KAAtBN,GAAYC,OACd0Z,EAAIS,iBAAiB,gBAArB,iBAAgDpa,GAAYC,SAGzDD,GAAYC,OAASE,EAAqBF,OAC7C0Z,EAAIS,iBACF,gBADF,iBAEYja,EAAqBF,QAGnC0Z,EAAIU,KAAKzgB,KAAK2G,UAAUb,EAAInQ,OAlED,4CAAH,oE,oBCZb+qB,GAAkB,SAACC,GAC5B,IAAM1pB,EAAS,OAAGlB,SAAH,IAAGA,QAAH,EAAGA,GAAQkB,UACpBC,EAAS,OAAGnB,SAAH,IAAGA,QAAH,EAAGA,GAAQmB,UAGpB3F,EAAMqvB,KAASC,IAAIC,KAAK7gB,MAAM/I,GAC9B6pB,EAAKH,KAASC,IAAIC,KAAK7gB,MAAMhJ,GAanC,OAXmB2pB,KAASI,IAAIC,QAC5BC,mBAAmBA,mBAAmBP,IACtCpvB,EACA,CACI4vB,QAAS,GACTJ,GAAIA,EACJhV,KAAM6U,KAAS7U,KAAKqV,IACpBC,QAAST,KAASU,IAAIC,QAIV/uB,SAASouB,KAASC,IAAIC,OCb9C,SAASU,GAAiBC,GACxB,IADwC,EACpCC,EAAiC,GADG,cAExBD,GAFwB,IAExC,2BAA2B,CAAC,IAAnBz7B,EAAkB,QACrB27B,EAAc,GAClBA,EAAOxK,SAAWnxB,EAAI47B,SACtBD,EAAOE,WAAa77B,EAAI87B,WACxBH,EAAOI,SAAW/7B,EAAIg8B,SACtBL,EAAOrK,MAAQtxB,EAAI+wB,MACnB4K,EAAOM,kBAAoBj8B,EAAIk8B,kBAC/BP,EAAOQ,mBAAqBn8B,EAAIo8B,mBAChCT,EAAOU,mBAAqBr8B,EAAIs8B,mBAChCX,EAAOY,cAAgBv8B,EAAIw8B,cAC3Bb,EAAOc,cAAgBz8B,EAAI08B,cAC3Bf,EAAOgB,eAAiB38B,EAAI48B,eAC5BjB,EAAOkB,OAAS78B,EAAI88B,OACpBnB,EAAOoB,cAAgB/8B,EAAIg9B,cACvBh9B,EAAIi9B,uBACNtB,EAAOsB,qBAAuBj9B,EAAIi9B,sBAEpCvB,EAAgBpN,KAAKqN,IAnBiB,8BAqBxC,OAAOD,EAGF,IAAMwB,GAAkB,SAC7Bnd,EACAod,EACAtD,EACAuD,GAEA,IAAMC,EAAqB,CACzBvb,cAAeqb,EAAUvb,cACzBuP,SAAUgM,EAAUzM,SACpB4M,eAAgBH,EAAUI,eAC1BnM,sBAAqB,OAAEgM,QAAF,IAAEA,OAAF,EAAEA,EAASvM,sBAChCQ,OAAM,OAAE+L,QAAF,IAAEA,OAAF,EAAEA,EAAStM,OACjB0M,cAAqB,OAAPJ,QAAO,IAAPA,OAAA,EAAAA,EAASK,cACnBjC,GAAgB,OAAC4B,QAAD,IAACA,OAAD,EAACA,EAASK,cAC1B,GACJtL,MAAK,OAAEgL,QAAF,IAAEA,OAAF,EAAEA,EAAWhL,MAClBuL,UAAU,GAIe,QAAd,OAATP,QAAS,IAATA,OAAA,EAAAA,EAAWQ,eAA2Ct6B,KAAd,OAAT85B,QAAS,IAATA,OAAA,EAAAA,EAAWQ,WAC5CN,EAAcM,QAAUR,EAAUQ,SAGJ,QAArB,OAATR,QAAS,IAATA,OAAA,EAAAA,EAAWS,sBACmBv6B,KAArB,OAAT85B,QAAS,IAATA,OAAA,EAAAA,EAAWS,kBAEXP,EAAcO,eAAiBT,EAAUS,iBAGzCT,EAAUzM,SAASzmB,SAAS,WACL,uBAAvBkzB,EAAUzM,YAGV2M,EAAcO,eAAiB,GAEjB,OAAZR,QAAgC/5B,IAAZ+5B,IACtBC,EAAcjM,sBAAd,OAAsCgM,QAAtC,IAAsCA,OAAtC,EAAsCA,EAASvM,sBAC/CwM,EAAchM,OAAd,OAAuB+L,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAStM,OAChCuM,EAAcG,cAAsB,OAAPJ,QAAO,IAAPA,OAAA,EAAAA,EAASK,cAClCjC,GAAgB,OAAC4B,QAAD,IAACA,OAAD,EAACA,EAASK,cAC1B,IAGN,IAAItK,EAAO,EACL0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAE1C6wB,EAAcK,UAAUvK,EACxByG,GACE,CACE7Y,IAAK,kBACLpR,KAAM0tB,EACNpd,OAAQ,OACRY,WAAY9Q,GAAOG,aACnB4pB,UAAU,EACV1pB,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa2B,oBAE5B+M,EACA8Z,IAsESkE,GAAwB,SACnChe,EACAqd,GAEAvd,GACE,CACEkB,IAAK,YACLpR,KAAMytB,EACNnd,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaoC,sBAE5BsM,IC9KSie,GAAmB,SAACje,EAA4Bke,GAC3Dpe,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJmS,cAAemc,EACf3b,cAAe,GAEjBrC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaK,oBAE5BqO,IAcSme,GAAuB,SAClCne,EACAke,GAEApe,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJmS,cAAemc,EACf3b,cAAe,GAEjBrC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaK,oBAE5BqO,IAaSoe,GAAwB,SACnCpe,EACAke,EAAe3K,GAEfzT,GACE,CACEkB,IAAK,gBACLpR,KAAM,CACJghB,cAAesN,EACfvM,kBAAmB,EACnB4B,gBAAiBA,GAEnBrT,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaM,gBAE5BoO,IAcSqe,GAAsB,SACjCre,EACAke,GAEApe,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJmS,cAAemc,EACf3b,cAAe,GAEjBrC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaK,oBAE5BqO,IAcSse,GAAgB,SAACte,EAA4Bke,GACxDpe,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJmS,cAAemc,EACf3b,cAAe,GAEjBrC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaK,oBAE5BqO,IAcSue,GAAoB,SAC/Bve,EACA6b,EACA2C,GAEA1e,GACE,CACEkB,IAAK,oBACLpR,KAAM,CACJwhB,SAAUyK,EACV4C,SAAUD,GAEZte,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAawC,wBAE5BkM,IAeS0e,GAAuB,SAClC1e,EACAqd,GAEAvd,GACE,CACEkB,IAAK,kBACLpR,KAAM,CACJyhB,sBAAuBgM,EAAQvM,sBAC/B/O,cAAesb,EAAQzM,cACvBU,OAAQ+L,EAAQtM,OAChB0M,aAAcJ,EAAQK,aAClBjC,GAAiB4B,EAAQK,cACzB,GACJtL,MAAK,OAAEiL,QAAF,IAAEA,OAAF,EAAEA,EAASjL,OAGlBlS,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa+C,6BAE5B2L,IA0ES2e,GAAkB,SAC7B3e,EACA4e,EACAC,GAEA/e,GACE,CACEkB,IAAK,2BACLpR,KAAM,CACJkvB,gBAAiBF,EAAWpB,eAC5BuB,gBAAiB,GACjBC,WAAY,UACZC,aAAcJ,EAAM,mBAAqB,cACzCK,OAAQN,EAAWxX,OACnBrF,cAAe6c,EAAW/c,cAC1Bsd,iBAAkBN,EAAM,UAAYD,EAAWQ,iBAC/CtD,WAAY8C,EAAW/7B,YAEzBqd,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa0B,wBAE5BgN,IA+ESqf,GAAmB,SAC9Brf,EACAsf,GAEAxf,GACE,CACEkB,IAAK,2BACLpR,KAAM,CACJkvB,gBAAiBQ,EAAY9B,eAC7BuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,eACdC,OAAQI,EAAYlY,OACpBrF,cAAeud,EAAYzd,cAC3Bsd,iBAAkBG,EAAYF,iBAC9BtD,WAAYwD,EAAYz8B,YAE1Bqd,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa0B,wBAE5BgN,IAYSuf,GAAkB,SAC7Bvf,EACAwf,GAEA1f,GACE,CACEkB,IAAK,2BACLpR,KAAM,CACJkvB,gBAAiBU,EAAWhC,eAC5BuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,eACdC,OAAQM,EAAWpY,OACnBrF,cAAeyd,EAAW3d,cAC1Bsd,iBAAkBK,EAAWJ,iBAC7BtD,WAAY0D,EAAW38B,YAEzBqd,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa0B,wBAE5BgN,IAYSyf,GAAa,SAACzf,EAA4B0f,GACrD5f,GACE,CACEkB,IAAK,2BACLpR,KAAM,CACJkvB,gBAAiBY,EAAMlC,eACvBuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,sBACdC,OAAQQ,EAAMtY,OACdrF,cAAe2d,EAAM7d,cACrBsd,iBAAkBO,EAAMN,iBACxBtD,WAAY4D,EAAM78B,YAEpBqd,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa0B,wBAE5BgN,IAwCS2f,GAAU,SAAC3f,EAA4B4f,GAClD9f,GACE,CACEkB,IAAK,oCACLpR,KAAM,CACJmS,cAAe6d,EAAOhP,cACtBiP,WAAY,EACZ/O,sBAAqB,OAAE8O,QAAF,IAAEA,OAAF,EAAEA,EAAQ9O,sBAC/BsB,MAAK,OAAEwN,QAAF,IAAEA,OAAF,EAAEA,EAAQxN,MACfrB,OAAM,OAAE6O,QAAF,IAAEA,OAAF,EAAEA,EAAQ7O,OAChBgL,WAAU,OAAE6D,QAAF,IAAEA,OAAF,EAAEA,EAAQ7D,WACpBM,mBAAkB,OAAEuD,QAAF,IAAEA,OAAF,EAAEA,EAAQvD,mBAC5BQ,eAAc,OAAE+C,QAAF,IAAEA,OAAF,EAAEA,EAAQ/C,eACxBiD,OAAQ,CACN,CACEC,oBAAqBH,EAAOI,OAC5BC,UAAWL,EAAOM,YAEpB,CACEH,oBAAqBH,EAAOO,OAC5BF,UAAWL,EAAOQ,cAIxBlgB,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAagD,0BAE5B0L,IAuDSqgB,GAAgB,SAC3BrgB,EACAsgB,GAEAxgB,GACE,CACEkB,IAAK,yBACLpR,KAAM,CACJghB,cAAe0P,EAAaze,cAC5BkQ,aAAcuO,EAAavO,aAC3BD,iBAAgB,OAAEwO,QAAF,IAAEA,OAAF,EAAEA,EAAcxO,iBAChCsB,OAAM,OAAEkN,QAAF,IAAEA,OAAF,EAAEA,EAAclN,OACtBmN,WAAU,OAAED,QAAF,IAAEA,OAAF,EAAEA,EAAcC,YAE5BrgB,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAasE,yBAE5BoK,IAYSwgB,GAAe,SAACxgB,EAA4B4e,GACvD9e,GACE,CACEkB,IAAK,2BACLpR,KAAM,CACJkvB,gBAAiBF,EAAWpB,eAC5BuB,gBAAiB,GACjBC,WAAY,OACZC,aAAc,cACdC,OAAQN,EAAWxX,OACnBrF,cAAe6c,EAAW/c,cAC1Bsd,iBAAkBP,EAAWQ,iBAC7BtD,WAAY8C,EAAW/7B,YAEzBqd,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa0B,wBAE5BgN,IAYJ,SAASyb,GAAiBC,GACxB,IADwC,EACpCC,EAAiC,GADG,cAExBD,GAFwB,IAExC,2BAA2B,CAAC,IAAnBz7B,EAAkB,QACrB27B,EAAc,GAClBA,EAAOxK,SAAWnxB,EAAI47B,SACtBD,EAAOE,WAAa77B,EAAI87B,WACxBH,EAAOI,SAAW/7B,EAAIg8B,SACtBL,EAAOrK,MAAQtxB,EAAI+wB,MACnB4K,EAAOM,kBAAoBj8B,EAAIk8B,kBAC/BP,EAAOQ,mBAAqBn8B,EAAIo8B,mBAChCT,EAAOU,mBAAqBr8B,EAAIs8B,mBAChCX,EAAOY,cAAgBv8B,EAAIw8B,cAC3Bb,EAAOc,cAAgBz8B,EAAI08B,cAC3Bf,EAAOgB,eAAiB38B,EAAI48B,eAC5BjB,EAAOkB,OAAS78B,EAAI88B,OACpBnB,EAAOoB,cAAgB/8B,EAAIg9B,cACvBh9B,EAAIi9B,uBACNtB,EAAOsB,qBAAuBj9B,EAAIi9B,sBAEpCvB,EAAgBpN,KAAKqN,IAnBiB,8BAqBxC,OAAOD,EAEF,IAuBM8E,GAAsB,SAACzgB,EAA4Bwd,EAAqBzM,GACnFjR,GACE,CACEkB,IAAK,0BACLpR,KAAM,CACJ2tB,eAAgBC,EAChBlM,OAASP,GAAmB,IAE9B7Q,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAakF,oBAE5BwJ,IAGS0gB,GAAiB,SAAC1gB,EAA4B2gB,GACzD7gB,GACE,CACEkB,IAAK,qBACLpR,KAAM,CACJgxB,SAAUD,EAAYE,IACtBC,UAAWH,EAAYI,KAEzB7gB,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAamF,eAE5BuJ,IClnBSghB,GAAoC,CAC/C9W,aAAc,GACdtH,KAAM,GACNuI,QAAS,GACTD,SAAU,GACVJ,QAAS,GACTjI,MAAO,GACPP,KAAM,GACN+I,YAAa,EACbD,UAAW,GAGA6V,GAAoC,CAC/C/W,aAAc,GACdgX,YAAa,GACbC,iBAAiB,EACjBt9B,KAAM,GACNmoB,QAAS,GACToV,SAAU,GACVze,QAAS,GACT0e,YAAa,GACbt4B,MAAO,GACPoZ,KAAM,GACNmf,YAAa,EACbC,UAAW,GAGPC,GAA4B,CAGhC,CACEhiC,QAAS,cACTD,MAAO,GAET,CACEC,QAAS,iBACTD,MAAO,GAET,CACEC,QAAS,0BACTD,MAAO,GAET,CACEC,QAAS,mBACTD,MAAO,GAET,CACEC,QAAS,8CACTD,MAAO,IAGLkiC,GAAkB,CACtB,CACEjiC,QAAS,8CACTD,MAAO,GAET,CACEC,QAAS,0CACTD,MAAO,IAIEmiC,GAAiC,CAC5Ch6B,GAAI,GACJquB,SAAS,EACT4L,UAAW,EACXC,cAAc,EACd/F,SAAU,GACVgG,UAAU,EACVC,OAAQ,GACR1C,iBAAkB,GAClB/C,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV8F,OAAQ,GACRpF,eAAe,GAw+MFqF,GAj+MiC,WAAO,IAAD,sBAE9CC,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GAEE0M,EAAUC,cAboC,EAexB7oB,IAAM8G,SAE/B,IAjBiD,mBAe7Cue,EAf6C,KAerCC,EAfqC,OAkBtBtlB,IAAM8G,SAA0B,IAlBV,mBAkB7CuhB,EAlB6C,KAkBpC7C,EAlBoC,OAmBlBxlB,IAAM8G,UAAkB,GAnBN,mBAmB7CyC,EAnB6C,KAmBlCmf,EAnBkC,OAoBlB1oB,IAAM8G,SAAe,IAAI8nB,MApBP,mBAoB7CoO,EApB6C,aAqBhBh9B,IAAM8G,SAAS,CAAEvI,QAAS,MArBV,gCAuBNyB,IAAM8G,UAAkB,IAvBlB,mBAuB7Cm2B,EAvB6C,KAuB5BC,EAvB4B,OAwBRl9B,IAAM8G,SAChD,IAzBkD,mBAwB7Cq2B,EAxB6C,KAwB7BC,EAxB6B,KA2BhDrP,EAAS,IACb9oB,QAAQC,IAAI,oBAAqBowB,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,QAC9D,IAAMwd,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,GACrD+5B,GAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,SAAH,IAAGA,IAAH,WAAGA,GAAc/L,cAAjB,cAAG,GAAsBvlB,WAhCmB,OAkChBpH,IAAM8G,SAA0B,IAlChB,qBAkC7Cu2B,GAlC6C,MAkCjCC,GAlCiC,SAmCVt9B,IAAM8G,SAA0B,IAnCtB,qBAmC7Cy2B,GAnC6C,MAmC9BC,GAnC8B,SAoCFx9B,IAAM8G,SAEtD,IAtCkD,qBAoC7C22B,GApC6C,MAoC1BC,GApC0B,SAuChB19B,IAAM8G,SAA0B,IAvChB,qBAuC7C62B,GAvC6C,MAuCjCC,GAvCiC,SAwCJ59B,IAAM8G,SAEpD,IA1CkD,qBAwC7C+2B,GAxC6C,MAwC3BC,GAxC2B,SA2CA99B,IAAM8G,SAExD,IA7CkD,qBA2C7Ci3B,GA3C6C,MA2CzBC,GA3CyB,SA8CQh+B,IAAM8G,SAEhE,IAhDkD,qBA8C7Cm3B,GA9C6C,MA8CrBC,GA9CqB,SAiDIl+B,IAAM8G,SAE5D,IAnDkD,qBAiD7CE,GAjD6C,MAiDvBm3B,GAjDuB,SAoDNn+B,IAAM8G,SAClD,IArDkD,qBAoD7Cs3B,GApD6C,MAoD5BC,GApD4B,SAuDdr+B,IAAM8G,SAA0B,IAvDlB,qBAuD7C8f,GAvD6C,MAuDhC0X,GAvDgC,SA0DlDt+B,IAAM8G,SAA2B,IA1DiB,qBAyD7Cy3B,GAzD6C,MAyD3BC,GAzD2B,SA2DMx+B,IAAM8G,SAC9D,IA5DkD,qBA2D7C23B,GA3D6C,MA2DtBC,GA3DsB,SA+Dd1+B,IAAM8G,UAAkB,GA/DV,qBA+D7C63B,GA/D6C,MA+DhCC,GA/DgC,SAgEd5+B,IAAM8G,UAAkB,GAhEV,qBAgE7C+3B,GAhE6C,MAgEhCC,GAhEgC,SAiEZ9+B,IAAM8G,SAAiB,GAjEX,qBAiE7Ci4B,GAjE6C,MAiE/BC,GAjE+B,SAmE1Bh/B,IAAM8G,SAAiBkU,GAAYikB,KAAKjnB,OAnEd,qBAmE7CA,GAnE6C,MAmEtCknB,GAnEsC,SAoE1Bl/B,IAAM8G,SAAiBkU,GAAYikB,KAAKxiB,QApEd,qBAoE7CyF,GApE6C,MAoEtCid,GApEsC,SAqEZn/B,IAAM8G,UAAkB,GArEZ,qBAqE/Bs4B,IArE+B,gBAsEVp/B,IAAM8G,UAAkB,GAtEd,qBAsE7Cu4B,GAtE6C,MAsE9BC,GAtE8B,SAuEZt/B,IAAM8G,UAAkB,GAvEZ,qBAuE/By4B,IAvE+B,gBAwEVv/B,IAAM8G,UAAkB,GAxEd,qBAwE7C04B,GAxE6C,MAwE9BC,GAxE8B,SAyEhBz/B,IAAM8G,UAAkB,GAzER,qBAyE7CuY,GAzE6C,MAyEjCqgB,GAzEiC,SA0EN1/B,IAAM8G,UAAkB,GA1ElB,qBA0E7C64B,GA1E6C,MA0E5BC,GA1E4B,SA2EJ5/B,IAAM8G,UAAkB,GA3EpB,qBA2E7C+4B,GA3E6C,MA2E3BC,GA3E2B,SA4EhB9/B,IAAM8G,UAAkB,GA5ER,qBA4E7CqY,GA5E6C,MA4EjC4gB,GA5EiC,UA6E3B1kB,aAAaC,QAAQ,eACDtb,IAAM8G,UAAkB,IA9EjB,qBA8E7Ck5B,GA9E6C,MA8E5BC,GA9E4B,SAgFlDjgC,IAAM8G,SAAN,eAAoC60B,KAhFc,qBA+E7CuE,GA/E6C,MA+E3BC,GA/E2B,SAiFhBngC,IAAM8G,SAAN,eAC/B60B,KAlF+C,qBAiF7CyE,GAjF6C,MAiFjCC,GAjFiC,SAqFlDrgC,IAAM8G,SAAN,eAAoC60B,KArFc,qBAoF7C2E,GApF6C,MAoFtBC,GApFsB,SAsFRvgC,IAAM8G,SAAN,eACvC60B,KAvF+C,qBAsF7C6E,GAtF6C,MAsF7BC,GAtF6B,SAyFNzgC,IAAM8G,SAAN,eACzC60B,KA1F+C,qBAyF7C+E,GAzF6C,MAyF5BC,GAzF4B,SA4FJ3gC,IAAM8G,SAAc,CAClE85B,WAAY,GACZC,WAAY,GACZC,aAAc,KA/FoC,qBA4F7CC,GA5F6C,MA4F3BC,GA5F2B,SAiGMhhC,IAAM8G,SAC9D,IAlGkD,qBAiG7Cm6B,GAjG6C,gBAqGlBjhC,IAAM8G,SAAc,CACpD,CACEo6B,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,OAnHO,qCAuHZrhC,IAAM8G,SAAN,eAGnC8d,MA1H+C,qBAuH7C0c,GAvH6C,MAuH/BC,GAvH+B,SA4HZvhC,IAAM8G,SAAN,eAGnC8d,KA/H+C,qBA4H7C4c,GA5H6C,MA4H/BC,GA5H+B,SAiIdzhC,IAAM8G,SAAN,eAGjC8d,KApI+C,qBAiI7C8c,GAjI6C,MAiIhCC,GAjIgC,SAsIV3hC,IAAM8G,SAAN,eAGrC8d,KAzI+C,qBAsI7Cgd,GAtI6C,MAsI9BC,GAtI8B,SA4IN7hC,IAAM8G,UAAkB,GA5IlB,qBA4I7Cg1B,GA5I6C,MA4I5BgG,GA5I4B,SA6IV9hC,IAAM8G,UAAkB,GA7Id,qBA6I7Ci7B,GA7I6C,MA6I9BC,GA7I8B,SA+IRhiC,IAAM8G,UAAkB,GA/IhB,qBA+I7Bm7B,IA/I6B,gBAiJxBjiC,IAAM8G,SAChCkU,GAAYyM,gBAAgBM,QAAU,IAlJY,qBAiJ7CA,GAjJ6C,MAiJrCma,GAjJqC,SAoJVliC,IAAM8G,SAAiB,KApJb,qBAoJ7Cq7B,GApJ6C,MAoJ9BC,GApJ8B,SAqJRpiC,IAAM8G,SAAiB,MArJf,qBAqJ7Cu7B,GArJ6C,MAqJ7BC,GArJ6B,SAsJAtiC,IAAM8G,SACxDkU,GAAYyM,gBAAgB8a,YAAc,IAvJQ,qBAsJ7CC,GAtJ6C,MAsJzBC,GAtJyB,SAyJVziC,IAAM8G,SAAiB,IAzJb,qBAyJ7C47B,GAzJ6C,MAyJ9BC,GAzJ8B,SA0JhB3iC,IAAM8G,SACxCkU,GAAYyM,gBAAgBmb,gBAAkB,IA3JI,qBA0J7CC,GA1J6C,MA0JjCC,GA1JiC,SA8JL9iC,IAAM8G,SAAiB,IA9JlB,qBA8J7Ci8B,GA9J6C,MA8J3BC,GA9J2B,SA+JhBhjC,IAAM8G,SAAiB,IA/JP,qBA+J7Cm8B,GA/J6C,MA+JjCC,GA/JiC,SAgKZljC,IAAM8G,SAA0B,KAhKpB,qBAgK7Cq8B,GAhK6C,MAgK/BC,GAhK+B,SAiKRpjC,IAAM8G,UAAkB,GAjKhB,qBAiK7Cu8B,GAjK6C,MAiK7BC,GAjK6B,SAkKZtjC,IAAM8G,SAAiB,IAlKX,qBAkK7Cy8B,GAlK6C,MAkK/BC,GAlK+B,SAmKpBxjC,IAAM8G,SAAiB,IAnKH,qBAmK7C28B,GAnK6C,MAmKnCC,GAnKmC,SAoKZ1jC,IAAM8G,SAAiB,IApKX,qBAoK7C68B,GApK6C,MAoK/BC,GApK+B,SAqKA5jC,IAAM8G,SACxD,KAtKkD,qBAqK7C+8B,GArK6C,MAqKzBC,GArKyB,SAyKxB9jC,IAAM8G,WAzKkB,qBAyK7Ci9B,GAzK6C,MAyKrCC,GAzKqC,SA2KpBhkC,IAAM8G,SAAiB,IA3KH,qBA2KnCm9B,IA3KmC,gBA4KdjkC,IAAM8G,SAAiB,IA5KT,qBA4KhCo9B,IA5KgC,gBA6KdlkC,IAAM8G,SAAiB,IA7KT,qBA6K7Cq9B,GA7K6C,MA6KhCC,GA7KgC,SA8KJpkC,IAAM8G,SAAiB,IA9KnB,qCA+KpB9G,IAAM8G,SAAc,KA/KA,qBA+K7Cu9B,GA/K6C,MA+KnCC,GA/KmC,SAkLdtkC,IAAM8G,SAAc,IAlLN,qBAkL7Cy9B,GAlL6C,MAkLhCC,GAlLgC,SAoLhBxkC,IAAM8G,SAAiB,IApLP,qBAoLjC29B,IApLiC,gBAqLVzkC,IAAM8G,SAAiB,IArLb,qBAqL9B49B,IArL8B,gBAsLV1kC,IAAM8G,SAAiB,IAtLb,qBAsL7C69B,GAtL6C,MAsL9BC,GAtL8B,SAwLlD5kC,IAAM8G,SAAiB,IAxL2B,qCA2LlD9G,IAAM8G,SAAiB,KA3L2B,qBA0LtB+9B,IA1LsB,gBA4LN7kC,IAAM8G,SAAiB,IA5LjB,qBA4L5Bg+B,IA5L4B,gBA6LF9kC,IAAM8G,SAEtD,KA/LkD,qBA6L1Bi+B,IA7L0B,gBAgMF/kC,IAAM8G,SAAiB,IAhMrB,qBAgM1Bk+B,IAhM0B,gBAiMVhlC,IAAM8G,SAAiB,IAjMb,qBAiM9Bm+B,IAjM8B,gBAkMFjlC,IAAM8G,SAAiB,IAlMrB,qBAkM1Bo+B,IAlM0B,gBAoMVllC,IAAM8G,SAAN,eACrCkgB,KArM+C,qBAoM7CP,GApM6C,MAoM9B0e,GApM8B,SAyMdnlC,IAAM8G,UAAkB,GAzMV,qBAyM7Cs+B,GAzM6C,MAyMhCC,GAzMgC,SA2MlBrlC,IAAM8G,SAAiB,IA3ML,qBA2M7Cw+B,GA3M6C,MA2MlCC,GA3MkC,SA4MhBvlC,IAAM8G,SAAiB,IA5MP,qCA6MR9G,IAAM8G,UAAkB,IA7MhB,qCA8MF9G,IAAM8G,SAAiB,IA9MrB,qCA+MhB9G,IAAM8G,SAAN,eAC/Bu1B,MAhN+C,qBA+MjCmJ,IA/MiC,gBAkNdxlC,IAAM8G,SAAiB,IAlNT,qCAmNd9G,IAAM8G,SAAiB,KAnNT,qCAoNF9G,IAAM8G,SAAiB,KApNrB,qCAsNlD9G,IAAM8G,SAAiB,KAtN2B,qCAuNd9G,IAAM8G,SAAiB,KAvNT,qBAuN7C2+B,GAvN6C,MAuNhCC,GAvNgC,SAwNM5+B,oBAAS,GAxNf,qBAwNtB6+B,IAxNsB,gBAyNA3lC,IAAM8G,UAAS,GAzNf,qBAyN7C8+B,GAzN6C,MAyNzBC,GAzNyB,SA2NtB7lC,IAAM8G,UAAS,GA3NO,qBA2N7Cg/B,GA3N6C,MA2NpCC,GA3NoC,SA4NhB/lC,IAAM8G,S9CR1C,6H8CpNoD,qBA4N7Ck/B,GA5N6C,gBA6NAhmC,IAAM8G,SACxD,gDA9NkD,qBA6N7Cm/B,GA7N6C,MA6NzBC,GA7NyB,SAgORlmC,IAAM8G,UAAkB,GAhOhB,qBAgO7Cq/B,GAhO6C,MAgO7BC,GAhO6B,SAkOhBpmC,IAAM8G,UAAS,GAlOC,qBAkOjCu/B,IAlOiC,gBAmOFrmC,IAAM8G,SAAc,IAnOlB,qBAmO7Cw/B,GAnO6C,MAmO1BC,GAnO0B,SAqOlDvmC,IAAM8G,UAAkB,GArO0B,qBAoO7C0/B,GApO6C,MAoO1BC,GApO0B,MAuOhDC,IAAgB,EAvOgC,GAyOI1mC,IAAM8G,SAAc,CAC1E,CACE6/B,eAAgB,CAAEzF,SAAS,EAAMG,aAAa,GAC9CuF,gBAAiB,CAAE1F,SAAS,EAAMG,aAAa,IAEjD,CACEsF,eAAgB,CAAEzF,SAAS,EAAMG,aAAa,GAC9CuF,gBAAiB,CAAE1F,SAAS,EAAMG,aAAa,IAEjD,CACEsF,eAAgB,CAAEzF,SAAS,EAAMG,aAAa,GAC9CuF,gBAAiB,CAAE1F,SAAS,EAAMG,aAAa,MApPC,qBAyO/CwF,GAzO+C,MAyOxBC,GAzOwB,MAwPpD7hC,QAAQC,IACN,yCACA8V,GAAYyM,gBAAgB8a,YAG9B,IAAMwE,GAAc,CAClB,CACE5sC,QAAS,MACTD,MAAO,GAET,CACEC,QAAS,MACTD,MAAO,GAET,CACEC,QAAS,QACTD,MAAO,IAxQyC,GAyRxB8F,IAAM8G,SAAS,IAzRS,qBAyR7CkgC,GAzR6C,MAyRrCC,GAzRqC,SA0RdjnC,IAAM8G,SAAiB,IA1RT,qBA0R7CogC,GA1R6C,MA0RhCC,GA1RgC,SA2RNnnC,IAAM8G,SAAiB,IA3RjB,qBA2R7CsgC,GA3R6C,MA2R5BC,GA3R4B,SA4RVrnC,IAAM8G,UAAkB,GA5Rd,qBA4R7CwgC,GA5R6C,MA4R9BC,GA5R8B,MA8RpDvnC,IAAM6H,WAAU,WAEZs/B,GADEpf,GACa,GAEA,0BAEhB,CAACA,KApSgD,OAuSlD/nB,IAAM8G,SAAc,CAClB2V,OAAQ,CACN+qB,KAAM,EACNC,OAAQ,EACRC,eAAgB,EAChBC,iBAAkB,GAEpB3vB,MAAO,CACLwvB,KAAM,EACNC,OAAQ,EACRC,eAAgB,EAChBC,iBAAkB,KAlT4B,qBAsS7CC,GAtS6C,MAsSpBC,GAtSoB,MAsTpD7nC,IAAM6H,WAAU,WACd,GAAIg3B,IAAe0F,IAAeA,GAAY5lC,OAAS,EAAG,CACxD,IAAMkhB,EC5ec,SAACgf,EAAoB0F,GAC3C,GAAI1F,GAAe0F,GAAeA,EAAY5lC,OAAS,EAAG,CACtD,IAQE,+nCARImpC,GAAiBvD,EAAY,GAC7BwD,GAAiBxD,EAAY,GAC7ByD,GAAkBzD,EAAY,GAEpC,GACGuD,IAAkBte,OAAOtgB,KAAK4+B,KAC9BC,IAAkBve,OAAOtgB,KAAK6+B,KAC9BC,IAAmBxe,OAAOtgB,KAAK8+B,IAGhC,OACiB,OAAdF,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,UACCjtB,GAAYyM,uBADb,aACC,EAA6BygB,WACf,OAAdJ,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BzkC,kBAA7B,OACEwX,SADF,IACEA,IADF,UACEA,GAAayM,uBADf,iBACE,EAA8BygB,eADhC,aACE,EAAuC1kC,iBAC5B,OAAdukC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,UACCjtB,GAAYyM,uBADb,aACC,EAA6BygB,WACf,OAAdH,SAAc,IAAdA,IAAA,UAAAA,GAAgBE,mBAAhB,eAA6BzkC,kBAA7B,OACEwX,SADF,IACEA,IADF,UACEA,GAAayM,uBADf,iBACE,EAA8BygB,eADhC,aACE,EAAuC1kC,iBAC3B,OAAfwkC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,UACCjtB,GAAYyM,uBADb,aACC,EAA6BygB,WACd,OAAfF,SAAe,IAAfA,IAAA,UAAAA,GAAiBC,mBAAjB,eAA8BzkC,kBAA9B,OACEwX,SADF,IACEA,IADF,UACEA,GAAayM,uBADf,iBACE,EAA8BygB,eADhC,aACE,EAAuC1kC,iBAM5B,OAAdskC,SAAc,IAAdA,IAAA,UAAAA,GAAgBK,uBAAhB,eAAiCC,iBAAjC,UACCptB,GAAYyM,uBADb,aACC,EAA6BygB,WACf,OAAdJ,SAAc,IAAdA,IAAA,UAAAA,GAAgBK,uBAAhB,mBAAiCC,qBAAjC,eAAgD5kC,kBAAhD,OACEwX,SADF,IACEA,IADF,UACEA,GAAayM,uBADf,iBACE,EAA8BygB,eADhC,aACE,EAAuC1kC,iBAC5B,OAAdukC,SAAc,IAAdA,IAAA,UAAAA,GAAgBI,uBAAhB,eAAiCC,iBAAjC,UACCptB,GAAYyM,uBADb,aACC,EAA6BygB,WACf,OAAdH,SAAc,IAAdA,IAAA,UAAAA,GAAgBI,uBAAhB,mBAAiCC,qBAAjC,eAAgD5kC,kBAAhD,OACEwX,SADF,IACEA,IADF,UACEA,GAAayM,uBADf,iBACE,EAA8BygB,eADhC,aACE,EAAuC1kC,iBAC3B,OAAfwkC,SAAe,IAAfA,IAAA,UAAAA,GAAiBG,uBAAjB,eAAkCC,iBAAlC,UACCptB,GAAYyM,uBADb,aACC,EAA6BygB,WACd,OAAfF,SAAe,IAAfA,IAAA,UAAAA,GAAiBG,uBAAjB,mBAAkCC,qBAAlC,eAAiD5kC,kBAAjD,OACEwX,SADF,IACEA,IADF,UACEA,GAAayM,uBADf,iBACE,EAA8BygB,eADhC,aACE,EAAuC1kC,iBAM5B,OAAdskC,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,OACCF,SADD,IACCA,QADD,EACCA,GAAgBE,eACF,OAAdH,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BzkC,kBAA7B,OACEukC,SADF,IACEA,IADF,UACEA,GAAgBE,mBADlB,aACE,EAA6BzkC,iBAClB,OAAdukC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,OACCD,SADD,IACCA,QADD,EACCA,GAAiBC,eACH,OAAdF,SAAc,IAAdA,IAAA,UAAAA,GAAgBE,mBAAhB,eAA6BzkC,kBAA7B,OACEwkC,SADF,IACEA,IADF,UACEA,GAAiBC,mBADnB,aACE,EAA8BzkC,iBAClB,OAAfwkC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,OACCH,SADD,IACCA,QADD,EACCA,GAAgBG,eACD,OAAfD,SAAe,IAAfA,IAAA,UAAAA,GAAiBC,mBAAjB,eAA8BzkC,kBAA9B,OACEskC,SADF,IACEA,IADF,UACEA,GAAgBG,mBADlB,aACE,EAA6BzkC,iBAMlB,OAAdskC,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,OACCH,SADD,IACCA,IADD,UACCA,GAAgBK,uBADjB,aACC,EAAiCC,iBACnB,OAAdN,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BzkC,kBAA7B,OACEskC,SADF,IACEA,IADF,UACEA,GAAgBK,uBADlB,iBACE,EAAiCC,qBADnC,aACE,EAAgD5kC,iBACrC,OAAdskC,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,OACCF,SADD,IACCA,IADD,UACCA,GAAgBI,uBADjB,aACC,EAAiCC,iBACnB,OAAdN,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BzkC,kBAA7B,OACEukC,SADF,IACEA,IADF,UACEA,GAAgBI,uBADlB,iBACE,EAAiCC,qBADnC,aACE,EAAgD5kC,iBACrC,OAAdskC,SAAc,IAAdA,QAAA,EAAAA,GAAgBG,eAAhB,OACCD,SADD,IACCA,IADD,UACCA,GAAiBG,uBADlB,aACC,EAAkCC,iBACpB,OAAdN,SAAc,IAAdA,IAAA,UAAAA,GAAgBG,mBAAhB,eAA6BzkC,kBAA7B,OACEwkC,SADF,IACEA,IADF,UACEA,GAAiBG,uBADnB,iBACE,EAAkCC,qBADpC,aACE,EAAiD5kC,iBACtC,OAAdukC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,OACCH,SADD,IACCA,IADD,UACCA,GAAgBK,uBADjB,aACC,EAAiCC,iBACnB,OAAdL,SAAc,IAAdA,IAAA,UAAAA,GAAgBE,mBAAhB,eAA6BzkC,kBAA7B,OACEskC,SADF,IACEA,IADF,UACEA,GAAgBK,uBADlB,iBACE,EAAiCC,qBADnC,aACE,EAAgD5kC,iBACrC,OAAdukC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,OACCF,SADD,IACCA,IADD,WACCA,GAAgBI,uBADjB,cACC,GAAiCC,iBACnB,OAAdL,SAAc,IAAdA,IAAA,WAAAA,GAAgBE,mBAAhB,iBAA6BzkC,kBAA7B,OACEukC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCC,qBADnC,cACE,GAAgD5kC,iBACrC,OAAdukC,SAAc,IAAdA,QAAA,EAAAA,GAAgBE,eAAhB,OACCD,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,cACC,GAAkCC,iBACpB,OAAdL,SAAc,IAAdA,IAAA,WAAAA,GAAgBE,mBAAhB,iBAA6BzkC,kBAA7B,OACEwkC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCC,qBADpC,cACE,GAAiD5kC,iBACrC,OAAfwkC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,OACCH,SADD,IACCA,IADD,WACCA,GAAgBK,uBADjB,cACC,GAAiCC,iBAClB,OAAfJ,SAAe,IAAfA,IAAA,WAAAA,GAAiBC,mBAAjB,iBAA8BzkC,kBAA9B,OACEskC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCC,qBADnC,cACE,GAAgD5kC,iBACpC,OAAfwkC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,OACCF,SADD,IACCA,IADD,WACCA,GAAgBI,uBADjB,cACC,GAAiCC,iBAClB,OAAfJ,SAAe,IAAfA,IAAA,WAAAA,GAAiBC,mBAAjB,iBAA8BzkC,kBAA9B,OACEukC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCC,qBADnC,cACE,GAAgD5kC,iBACpC,OAAfwkC,SAAe,IAAfA,QAAA,EAAAA,GAAiBC,eAAjB,OACCD,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,cACC,GAAkCC,iBACnB,OAAfJ,SAAe,IAAfA,IAAA,WAAAA,GAAiBC,mBAAjB,iBAA8BzkC,kBAA9B,OACEwkC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCC,qBADpC,cACE,GAAiD5kC,iBAMtC,OAAdskC,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,iBAAgD5kC,kBAAhD,OACEukC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,cACE,GAAiCC,cAAc5kC,iBACpC,OAAdukC,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,iBAAgD5kC,kBAAhD,WACEwkC,GAAe,uBADjB,mBACE,GAEGI,qBAHL,cACE,GAEkB5kC,iBACP,OAAdskC,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,iBAAgD5kC,kBAAhD,OACEwkC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCC,qBADpC,cACE,GAAiD5kC,eA3FnD,6DAoGa,OAAdskC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,WAGCmW,GAAYyM,uBAHb,cAGC,GAA6B9nB,OACf,OAAdmoC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,WACE8gB,GAAYyM,uBADd,cACE,GAA6B9nB,OAClB,OAAdooC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,WAGCmW,GAAYyM,uBAHb,cAGC,GAA6B9nB,OACf,OAAdooC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,WACE8gB,GAAYyM,uBADd,cACE,GAA6B9nB,OACjB,OAAfqoC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,kBADD,WAGCmW,GAAYyM,uBAHb,cAGC,GAA6B9nB,OACd,OAAfqoC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,WACE8gB,GAAYyM,uBADd,cACE,GAA6B9nB,OAMlB,OAAdmoC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,kBAAtE,WACCmW,GAAYyM,uBADb,cACC,GAA6B9nB,OACf,OAAdmoC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,WACE8gB,GAAYyM,uBADd,cACE,GAA6B9nB,OAClB,OAAdooC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,kBAAtE,WACCmW,GAAYyM,uBADb,cACC,GAA6B9nB,OACf,OAAdooC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,OACE8gB,SADF,IACEA,IADF,WACEA,GAAayM,uBADf,cACE,GAA8B9nB,OAClB,OAAfqoC,SAAe,IAAfA,IAAA,WAAAA,GAAiBG,uBAAjB,sBAAkCE,4BAAlC,sBAAwDjtC,YAAxD,iBAA8DyJ,SAAS,kBAAvE,WACCmW,GAAYyM,uBADb,cACC,GAA6B9nB,OACd,OAAfqoC,SAAe,IAAfA,IAAA,WAAAA,GAAiBG,uBAAjB,sBAAkCE,4BAAlC,iBAAwDnuC,UAAxD,OACE8gB,SADF,IACEA,IADF,WACEA,GAAayM,uBADf,cACE,GAA8B9nB,OAMnB,OAAdmoC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,OAGCkjC,SAHD,IAGCA,IAHD,WAGCA,GAAgBM,4BAHjB,mBAGC,GAAsCjtC,YAHvC,cAGC,GAA4CyJ,SAC1C,kBAEY,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBM,4BADlB,cACE,GAAsCnuC,SAC3B,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,OAGCmjC,SAHD,IAGCA,IAHD,WAGCA,GAAiBK,4BAHlB,mBAGC,GAAuCjtC,YAHxC,cAGC,GAA6CyJ,SAC3C,kBAEY,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBK,4BADnB,cACE,GAAuCnuC,SAC3B,OAAf8tC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,kBADD,OAGCijC,SAHD,IAGCA,IAHD,WAGCA,GAAgBO,4BAHjB,mBAGC,GAAsCjtC,YAHvC,cAGC,GAA4CyJ,SAC1C,kBAEa,OAAfmjC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,OACE4tC,SADF,IACEA,IADF,WACEA,GAAgBO,4BADlB,cACE,GAAsCnuC,SAM3B,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,OAGCijC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,kBACxD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,OACE4tC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,OAGCkjC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,kBACxD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,OAGCmjC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDjtC,YAHzD,cAGC,GAA8DyJ,SAAS,kBACzD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACInuC,SACO,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,OAGCijC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,kBACxD,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,OACE4tC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,OAGCkjC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,kBACxD,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,kBADD,OAGCmjC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDjtC,YAHzD,cAGC,GAA8DyJ,SAAS,kBACzD,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACInuC,SACQ,OAAf8tC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,kBADD,OAGCijC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,kBACvD,OAAfmjC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,OACE4tC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC3C,OAAf8tC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,kBADD,OAGCkjC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,kBACvD,OAAfmjC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC3C,OAAf8tC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,kBADD,OAGCmjC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDjtC,YAHzD,cAGC,GAA8DyJ,SAAS,kBACxD,OAAfmjC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GAAwDnuC,SAM7C,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,kBAAtE,OACCkjC,SADD,IACCA,IADD,WACCA,GAAgBI,uBADjB,mBACC,GAAiCE,4BADlC,mBACC,GAAuDjtC,YADxD,cACC,GAA6DyJ,SAAS,kBACxD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,kBAAtE,OACCmjC,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,mBACC,GAAkCE,4BADnC,mBACC,GAAwDjtC,YADzD,cACC,GAA8DyJ,SAAS,kBACzD,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACInuC,SACO,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,kBAAtE,OACCmjC,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,mBACC,GAAkCE,4BADnC,mBACC,GAAwDjtC,YADzD,cACC,GAA8DyJ,SAAS,kBACzD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GAAwDnuC,OA1H1D,gEAmIa,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,WAGCmW,GAAYyM,uBAHb,cAGC,GAA6B2D,YACf,OAAd0c,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,WACE8gB,GAAYyM,uBADd,cACE,GAA6B2D,YAClB,OAAd2c,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,WAGCmW,GAAYyM,uBAHb,cAGC,GAA6B2D,YACf,OAAd2c,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,WACE8gB,GAAYyM,uBADd,cACE,GAA6B2D,YACjB,OAAf4c,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,qBADD,WAGCmW,GAAYyM,uBAHb,cAGC,GAA6B2D,YACd,OAAf4c,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,WACE8gB,GAAYyM,uBADd,cACE,GAA6B2D,YAMlB,OAAd0c,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,qBAAtE,WACCmW,GAAYyM,uBADb,cACC,GAA6B2D,YACf,OAAd0c,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,WACE8gB,GAAYyM,uBADd,cACE,GAA6B2D,YAClB,OAAd2c,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,qBAAtE,WACCmW,GAAYyM,uBADb,cACC,GAA6B2D,YACf,OAAd2c,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,OACE8gB,SADF,IACEA,IADF,WACEA,GAAayM,uBADf,cACE,GAA8B2D,YAClB,OAAf4c,SAAe,IAAfA,IAAA,WAAAA,GAAiBG,uBAAjB,sBAAkCE,4BAAlC,sBAAwDjtC,YAAxD,iBAA8DyJ,SAAS,qBAAvE,WACCmW,GAAYyM,uBADb,cACC,GAA6B2D,YACd,OAAf4c,SAAe,IAAfA,IAAA,WAAAA,GAAiBG,uBAAjB,sBAAkCE,4BAAlC,iBAAwDnuC,UAAxD,OACE8gB,SADF,IACEA,IADF,WACEA,GAAayM,uBADf,cACE,GAA8B2D,YAMnB,OAAd0c,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,OAGCkjC,SAHD,IAGCA,IAHD,WAGCA,GAAgBM,4BAHjB,mBAGC,GAAsCjtC,YAHvC,cAGC,GAA4CyJ,SAC1C,qBAEY,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBM,4BADlB,cACE,GAAsCnuC,SAC3B,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,OAGCmjC,SAHD,IAGCA,IAHD,WAGCA,GAAiBK,4BAHlB,mBAGC,GAAuCjtC,YAHxC,cAGC,GAA6CyJ,SAC3C,qBAEY,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBK,4BADnB,cACE,GAAuCnuC,SAC3B,OAAf8tC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,qBADD,OAGCijC,SAHD,IAGCA,IAHD,WAGCA,GAAgBO,4BAHjB,mBAGC,GAAsCjtC,YAHvC,cAGC,GAA4CyJ,SAC1C,qBAEa,OAAfmjC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,OACE4tC,SADF,IACEA,IADF,WACEA,GAAgBO,4BADlB,cACE,GAAsCnuC,SAM3B,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,OAGCijC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,qBACxD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,OACE4tC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,OAGCkjC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,qBACxD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,OAGCmjC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDjtC,YAHzD,cAGC,GAA8DyJ,SAAS,qBACzD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBO,4BAAhB,iBAAsCnuC,UAAtC,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACInuC,SACO,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,OAGCijC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,qBACxD,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,OACE4tC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,OAGCkjC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,qBACxD,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,sBAAsCjtC,YAAtC,iBAA4CyJ,SAC3C,qBADD,OAGCmjC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDjtC,YAHzD,cAGC,GAA8DyJ,SAAS,qBACzD,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBM,4BAAhB,iBAAsCnuC,UAAtC,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACInuC,SACQ,OAAf8tC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,qBADD,OAGCijC,SAHD,IAGCA,IAHD,WAGCA,GAAgBK,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,qBACvD,OAAfmjC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,OACE4tC,SADF,IACEA,IADF,WACEA,GAAgBK,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC3C,OAAf8tC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,qBADD,OAGCkjC,SAHD,IAGCA,IAHD,WAGCA,GAAgBI,uBAHjB,mBAGC,GAAiCE,4BAHlC,mBAGC,GAAuDjtC,YAHxD,cAGC,GAA6DyJ,SAAS,qBACvD,OAAfmjC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC3C,OAAf8tC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,sBAAuCjtC,YAAvC,iBAA6CyJ,SAC5C,qBADD,OAGCmjC,SAHD,IAGCA,IAHD,WAGCA,GAAiBG,uBAHlB,mBAGC,GAAkCE,4BAHnC,mBAGC,GAAwDjtC,YAHzD,cAGC,GAA8DyJ,SAAS,qBACxD,OAAfmjC,SAAe,IAAfA,IAAA,WAAAA,GAAiBK,4BAAjB,iBAAuCnuC,UAAvC,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GAAwDnuC,SAM7C,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,qBAAtE,OACCkjC,SADD,IACCA,IADD,WACCA,GAAgBI,uBADjB,mBACC,GAAiCE,4BADlC,mBACC,GAAuDjtC,YADxD,cACC,GAA6DyJ,SAAS,qBACxD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,OACE6tC,SADF,IACEA,IADF,WACEA,GAAgBI,uBADlB,mBACE,GAAiCE,4BADnC,cACE,GAAuDnuC,SAC5C,OAAd6tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,qBAAtE,OACCmjC,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,mBACC,GAAkCE,4BADnC,mBACC,GAAwDjtC,YADzD,cACC,GAA8DyJ,SAAS,qBACzD,OAAdkjC,SAAc,IAAdA,IAAA,WAAAA,GAAgBI,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GACInuC,SACO,OAAd4tC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,sBAAuDjtC,YAAvD,iBAA6DyJ,SAAS,qBAAtE,OACCmjC,SADD,IACCA,IADD,WACCA,GAAiBG,uBADlB,mBACC,GAAkCE,4BADnC,mBACC,GAAwDjtC,YADzD,cACC,GAA8DyJ,SAAS,qBACzD,OAAdijC,SAAc,IAAdA,IAAA,WAAAA,GAAgBK,uBAAhB,sBAAiCE,4BAAjC,iBAAuDnuC,UAAvD,OACE8tC,SADF,IACEA,IADF,WACEA,GAAiBG,uBADnB,mBACE,GAAkCE,4BADpC,cACE,GAAwDnuC,OA1H1D,wEAkIK,IDgEIouC,CAAazJ,GAAa0F,IAC3CgC,GAAqB1mB,MAEtB,CAAC0kB,KACJvkC,IAAM6H,WAAU,WACd/D,YAAW,WACT4kB,GAAa,GACbA,GAAa,KACZ,OACF,CAACuY,KAGJjhC,IAAM6H,WAAU,WAAO,IAAD,M3B7OtB8S,EACA6B,EADA7B,E2B+OiB4tB,G3B9OjB/rB,E2B8OgCxB,GAAYwQ,c3B5O5C/Q,GACE,CACEkB,IAAK,mBACLpR,KAAM,CACJmS,cAAeF,GAEjB3B,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaU,eAE5BgO,G2BkOA0R,IAA0B,SAACha,GACzB,UAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAKS,KAAM,CACb,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAEX,MAAtB0vB,SACsBvkC,GAAtBukC,IACsB,IAAtBA,IAGmC,OAAtB,OAAXpY,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,wBACoBvqC,IAAtB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,mBACqB,MAAvB,OAAXpe,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,mBAEb/F,QACoCxkC,KAAvB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,kBAAb,OACIpe,QADJ,IACIA,OADJ,EACIA,EAAaoe,iBACb,OAKXxtB,GAAYwQ,eACf,IAAMvD,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAM5D,GAJI2M,EAAwBgV,kBAC1BC,GAAmB,GACnB4B,IAAe,IAEF,MAAX/Q,GAA6B,OAAXA,QAA8B9vB,IAAX8vB,EAAsB,CAM7D,IALC/S,GAAY8gB,sBACiB79B,IAA5B+c,GAAY6gB,aACgB,OAA5B7gB,GAAY6gB,aACZ7gB,GAAY6J,eAAiB7J,GAAY6gB,aACzCiG,IAAmB,GACjB9mB,GAAY6J,cAAgB7J,GAAYyK,QAAS,CACnD,IAAIgjB,EAAY,eAAQvI,IACxBuI,EAAa5jB,aAAe7J,GAAY6J,aACxC4jB,EAAahjB,QAAUzK,GAAYyK,QACnC0a,GAAoBsI,GAEtB,IACGztB,GAAY8gB,iBACb9gB,GAAY6gB,aACZ7gB,GAAYghB,YACZ,CACA,IAAI0M,EAAa,eAAQpI,IACzBoI,EAAc7jB,aAAe7J,GAAY6gB,YACzC6M,EAAcjjB,QAAUzK,GAAYghB,YACpCuE,GAAyBmI,SAG3B,GAAIzgB,EAAwB0gB,SAAU,CACpC7G,GAAmB7Z,EAAwB6T,iBAC3C,IAAI2M,EAAY,eAAQvI,IAIxB,GAHAuI,EAAa5jB,aAAeoD,EAAwBpD,aACpD4jB,EAAahjB,QAAUwC,EAAwBxC,QAC/C0a,GAAoBsI,GAC2B,GAA3CxgB,EAAwB6T,gBAA0B,CACpD,IAAI4M,EAAa,eAAQpI,IACzBoI,EAAc7jB,aAAeoD,EAAwB4T,YACrD6M,EAAcjjB,QAAUwC,EAAwB+T,YAChDuE,GAAyBmI,QAEtB,CAOL,IANCzgB,EAAwB6T,sBACiB79B,IAAxCgqB,EAAwB4T,aACgB,OAAxC5T,EAAwB4T,aACxB5T,EAAwBpD,eACtBoD,EAAwB4T,aAC1BiG,IAAmB,GAEnB7Z,EAAwBpD,cACxBoD,EAAwBxC,QACxB,CACA,IAAIgjB,EAAY,eAAQvI,IACxBuI,EAAa5jB,aAAeoD,EAAwBpD,aACpD4jB,EAAahjB,QAAUwC,EAAwBxC,QAC/C0a,GAAoBsI,GAEtB,IAAKxgB,EAAwB6T,gBAAiB,CAC5C,IAAI4M,EAAa,eAAQpI,IACzBoI,EAAc7jB,aAAeoD,EAAwB4T,YACrD6M,EAAcjjB,QAAUwC,EAAwB+T,YAChDuE,GAAyBmI,IAMY,KAA7B,OAAX1tB,SAAW,IAAXA,IAAA,UAAAA,GAAayM,uBAAb,eAA8BM,SACW,OAA7B,OAAX/M,SAAW,IAAXA,IAAA,UAAAA,GAAayM,uBAAb,eAA8BM,cACU9pB,IAA7B,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAayM,uBAAb,eAA8BM,SACrB,IAAVA,IAA0B,MAAVA,SAA4B9pB,GAAV8pB,IACA,OAAnCE,EAAwBF,aACY9pB,KAAb,OAAvBgqB,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBF,SACW,MAAb,OAAvBE,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBF,UAEzB/M,GAAYyM,gBAAgBM,OAASE,EAAwBF,OAC7Dma,GAAUja,EAAwBF,SAEpC9iB,QAAQC,IACN+iB,EACA,yCACA/F,IAEGA,IACHid,GAASlX,EAAwBxL,UAElC,IAwBHzc,IAAM6H,WAAU,WACduT,OAAOwtB,OAAO,EAAG,GACjBlgB,GAAa,GACbtM,GAAajQ,GAAa,IAE1B,IAAM8b,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAY5D,GATAN,GAAY6tB,MAAQ5gB,EAAwB4gB,MAC5C7tB,GAAY4P,MAAQ3C,EAAwB2C,MAC5C5P,GAAYmO,aAAelB,EAAwBkB,cAClDlB,EAAwB6T,sBACiB79B,IAAxCgqB,EAAwB4T,aACgB,OAAxC5T,EAAwB4T,aACxB5T,EAAwBpD,eACtBoD,EAAwB4T,aAC1BiG,IAAmB,GAEnB7Z,EAAwBpD,cACxBoD,EAAwBxC,QACxB,CACA,IAAIgjB,EAAY,eAAQvI,IACxBuI,EAAa5jB,aAAeoD,EAAwBpD,aACpD4jB,EAAahjB,QAAUwC,EAAwBxC,QAC/C0a,GAAoBsI,GAEtB,IAAKxgB,EAAwB6T,gBAAiB,CAC5C,IAAI4M,EAAa,eAAQpI,IACzBoI,EAAc7jB,aAAeoD,EAAwB4T,YACrD6M,EAAcjjB,QAAUwC,EAAwB+T,YAChDuE,GAAyBmI,GAE3B,IAAMI,EAAsBl0B,KAAKC,MAC/BuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAExDytB,EAAS,QAEwB9qC,GAAnC+c,GAAYyM,gBAAgB9nB,KACO,IAAnCqb,GAAYyM,gBAAgB9nB,IAE5BopC,EAAS/tB,GAAYyM,gBAAgB9nB,IACD,IAA3BmpC,EAAoBnpC,MAC7BopC,EAAoC,IAA3BD,EAAoBnpC,IAAYmpC,EAAoBnpC,IAAM,IAEpDA,GAAI5B,KAAKgrC,IAExBjc,GAAkBkc,GAAoBD,KAEvC,CAACjN,KAEJ97B,IAAM6H,WAAU,gBACC5J,IAAX8lC,KACFA,IAAU9U,GAAc8U,KAAW,GAC/B9B,IAAkB,GAClBA,IAAkB,MAEvB,CAAC8B,KAGJ/jC,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaQ,YAAYH,UACpD4W,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBue,yBAA0BnuB,GAAY8P,mBACtCse,mBAAoBpuB,GAAYmO,aAChCkgB,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,GAC3B0N,GAAWtU,MACV,IAGH,IAAMo9B,GAAoB,SAACj3B,IACpBA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OAEXQ,EAAIS,MACc8B,KAAKC,MAAMxC,EAAIS,MAAMzP,QACvC,SAACW,GAAD,MAA+B,aAAhBA,EAAKyO,UAEV5M,KAAI,SAACjL,GACS,+BAApBA,EAAI2uC,cACN1D,IAAsB,GACtBR,IAAe,QAOzB,SAASn5B,GAAUmG,IACZA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OAEXQ,EAAIS,MAAQT,EAAIS,KAAKtU,OACvByoC,GAAU50B,EAAIS,KAAKtU,MACnBgnB,EAAW6C,IA0TjB,SAASlc,GAAYkG,GAEnB,GADAqW,GAAa,IACRrW,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKI,UAAYb,EAAIS,KAAKI,SAASvU,OAAS,EAAG,CAAC,IAAD,EAW7D6qC,GAAoBn3B,EAAIS,KAAKI,SAAU,CACzC,iBACA,WACA,YACA,oBACA,aACA,sBACA,SACA,0BACA,YApB+D,mBAE/DiqB,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/DnX,EAV+D,KAsBjEyW,EAA2BA,EAkBnBx3B,KAAI,SAAC/E,GAAD,mBAAC,eAAYA,GAAb,IAAgB3G,QAAS2G,EAAE3G,QAAQgF,QAAQ,OAAQ,SAjB/Di+B,EAAkBD,GAClBG,GAAcD,GACdG,GAAiBD,GACjBG,GAAqBD,GACrBG,GAAcD,GACdG,GAAoBD,GACpBQ,GAAmBD,GACnBJ,GAAsBD,GACtBG,GAA0BH,GAC1BI,GAAwBJ,GACxBO,GAAe1X,GAGnB8B,GAAa,GAoCf,SAAShc,GAAoB2F,GAE3B,GADAqW,GAAa,IACRrW,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ7N,QAAQC,IAAI,YAAamN,EAAIS,MAC7B,IAAIsX,EAAc/X,EAAIS,KACtB4rB,GAAyB,CACvB1qB,8BACEoW,EAAYpW,8BACdC,+BACEmW,EAAYnW,iCAEhBuqB,GAAoBpU,QAGpB5E,EAAWnT,EAAIR,OAGnB6W,GAAa,GAGf,SAASsgB,GAAmB32B,GAC1B,IAAKA,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CAEZ,IAAM22B,EAAkBp3B,EAAIS,KACQ,MAAhC22B,EAAgBl3B,OAAOm3B,MACzBnE,GAAakE,EAAgBl3B,OAAOo3B,eA/9BQ,SA6+BrCpB,GA7+BqC,iFA6+BpD,WAA6Bl2B,GAA7B,SAAAtM,EAAA,sDACE,IACE2iB,GAAa,IACRrW,GAAOA,EAAIR,OACd6W,GAAa,GACblD,EAAWnT,EAAIR,QAEXQ,EAAIS,MAAO,WACb,IAAI82B,EAAO,EACPxf,EAAcxV,KAAKC,MAAMxC,EAAIS,MAC7B+2B,EAAc,GAElB,GAAIzf,EAAY0f,4BAA6B,CAAC,IAAD,EACrC7hB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D2M,EAAwBpD,aACtBuF,EAAY0f,4BAA4BC,2BAA2BC,sBACrE/hB,EAAwB6T,gBACtB1R,EAAY0f,4BAA4BG,gCAAgCC,qBAC1EjiB,EAAwB4T,YACtBzR,EAAY0f,4BAA4BG,gCAAgCE,2BAC1E/uB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAGjBjN,GAAY4P,OAASya,IAAe,GACpCrqB,GAAY6tB,OAASxD,IAAe,GACpC,IAAI+E,EACFhgB,EAAY0f,4BACTC,2BACL,GAAIK,EAAW,CACb,IAAMC,EAAU,eAAQnK,IACxBmK,EAAWxlB,aACTulB,EAAUJ,sBACVI,EAAUE,uBACTF,EAAUG,uBAAyB,KACnCH,EAAUI,uBAAyB,IACtCH,EAAWptB,KAAOmtB,EAAUK,cAC5BJ,EAAW9sB,KAAO6sB,EAAUM,cAC5BL,EAAW5kB,QAAU2kB,EAAUO,iBAC/BN,EAAWxkB,SAAWukB,EAAUQ,kBAChCP,EAAW7sB,MAAQ4sB,EAAUS,eAC7BR,EAAWtkB,UAAYqkB,EAAUU,mBACjCT,EAAWvkB,QAAUskB,EAAUW,iBAC/BV,EAAWrkB,YAAcokB,EAAUY,qBACnC7K,GAAoBkK,GACpBplC,QAAQC,IAAIg7B,GAAkB,4BAMhC,GAHAkK,EACEhgB,EAAY0f,4BACTG,gCACU,CACb,IAAMgB,EAAU,eAAQ3K,IACxB2K,EAAWpmB,aACTulB,EAAUD,2BACVC,EAAUc,4BACTd,EAAUe,4BAA8B,KACxCf,EAAUgB,4BAA8B,IAC3CH,EAAWhuB,KAAOmtB,EAAUiB,mBAC5BJ,EAAW1tB,KAAO6sB,EAAUkB,mBAC5BL,EAAWxlB,QAAU2kB,EAAUmB,sBAC/BN,EAAWplB,SAAWukB,EAAUoB,uBAChCP,EAAWztB,MAAQ4sB,EAAUqB,oBAC7BR,EAAWllB,UAAYqkB,EAAUsB,wBACjCT,EAAWnlB,QAAUskB,EAAUuB,sBAC/BV,EAAWjlB,YAAcokB,EAAUwB,0BACnCrL,GAAyB0K,GACzBhmC,QAAQC,IACNo7B,GACA,iCAIJwB,GAAkB,OAChB1X,QADgB,IAChBA,GADgB,UAChBA,EAAa0f,mCADG,aAChB,EAA0CI,sBAG9C,GACE9f,EAAYyhB,sBACZzhB,EAAY0f,4BACZ,CAAC,IAAD,IACA,GACE1f,EAAY0hB,4BACZ1hB,EAAY0hB,2BAA2BntC,OAAS,EAChD,CACAmgC,IAAe,GACfuH,IAAc,GACdrH,GAAgB5U,EAAY0hB,2BAA2BntC,QAEvD,IADA,IAAMotC,EAAa,GAEbnmC,EAAI,EACRA,EAAIwkB,EAAY0hB,2BAA2BntC,OAC3CiH,IACA,CACA,IAAMgZ,EAAUwL,EAAY0hB,2BAA2BlmC,GACvD,GAEE,gDADO,OAAPgZ,QAAO,IAAPA,OAAA,EAAAA,EAASotB,oBAET,CACA3F,IAAc,GACd,IAAM4F,EAAa,CACjB5pC,GAAI,aACJquB,SAAS,EACT4L,UAAW,IACX9F,SAAQ,OAAE5X,QAAF,IAAEA,OAAF,EAAEA,EAASstB,yBACnBzP,OACE,yBACA7nB,KAAKC,MACHD,KAAK2G,UAAL,OAAeqD,QAAf,IAAeA,OAAf,EAAeA,EAASstB,2BACxB/T,eACJqE,UAAU,EACVD,cAAc,GAEhBiJ,GAAcyG,GAGhB,IAAIpnB,EACFjG,EAAQutB,2BAA2BnC,sBACjCoC,EACFxtB,EAAQutB,2BAA2B7B,sBACjC+B,EAAY,OACdztB,QADc,IACdA,OADc,EACdA,EAASutB,2BAA2B5B,sBAClC+B,EAAY,OACd1tB,QADc,IACdA,OADc,EACdA,EAASutB,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,UAjBnB1nB,EACkB,QAAhBA,GAA0C,MAAhBA,EACtBA,EACA,IAca,OAAqBunB,GAArB,OAAoCC,GAApC,OAAmDC,GAClEE,EACmB,MAArB5tB,EAAQ6tB,WAA0C,QAArB7tB,EAAQ6tB,UACjC7tB,EAAQ6tB,UACR,GACFC,EACoB,MAAtB9tB,EAAQ+tB,YAA4C,QAAtB/tB,EAAQ+tB,WAClC/tB,EAAQ+tB,WACR,GACFC,EACkB,MAApBhuB,EAAQiuB,UAAwC,QAApBjuB,EAAQiuB,SAChCjuB,EAAQiuB,SACR,GACF5E,EAAW,UAAMuE,EAAN,YAAoBE,EAApB,YAAmCE,GAE5CE,EAAqB,CACzBj7B,MAAO,GACPk7B,SAAUnuB,EAAQouB,MAClB/E,YAAaA,EACb9D,YAAavlB,EAAQquB,aACrBzM,eAAgB,CACd3b,aAAc0nB,EACdhvB,KAAMqB,EAAQutB,2BAA2BzB,cACzC5kB,QACElH,EAAQutB,2BAA2BpB,iBACrCllB,SACEjH,EAAQutB,2BAA2BvB,kBACrCnlB,QACE7G,EAAQutB,2BAA2BxB,iBACrCntB,MAAOoB,EAAQutB,2BAA2BtB,eAC1C5tB,KAAM2B,EAAQutB,2BAA2B1B,cACzCzkB,YACEpH,EAAQutB,2BAA2BnB,qBACrCjlB,UACEnH,EAAQutB,2BAA2BrB,oBAEvCoC,cAAetuB,EAAQuuB,WACvBpJ,OAAQnlB,EAAQwuB,IAAM,IAAIxe,KAAKhQ,EAAQwuB,KAAO,KAC9CC,eAAgBzuB,EAAQ0uB,QACxBjF,qBAAsB,CACpBjtC,KAAMwjB,EAAQotB,mBACd9xC,MAAO0kB,EAAQstB,2BAKnB,GAAIttB,EAAQ0uB,QAAS,CACnB,IAAMnF,EACJ/d,EAAYmjB,4BAA4B11B,MACtC,SAAC21B,GAAD,OACEA,EAAqBC,OAAS7D,KAGpC,GAAIzB,GAAmB3e,OAAOtgB,KAAKi/B,GAAiBxpC,OAAQ,CAC1DsG,QAAQC,IAAI,kBAAmBijC,GAC/B,IAAItjB,EAAY,OACdsjB,QADc,IACdA,OADc,EACdA,EAAiBgE,2BACdnC,sBACDoC,EAAY,OACdjE,QADc,IACdA,OADc,EACdA,EAAiBgE,2BACd7B,sBACD+B,EAAY,OACdlE,QADc,IACdA,OADc,EACdA,EAAiBgE,2BACd5B,sBACD+B,EAAY,OACdnE,QADc,IACdA,OADc,EACdA,EAAiBgE,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,UAxBnB1nB,EACmB,SAAjBA,GACiB,SAAjBA,GACiB,OAAjBA,EACIA,EACA,IAmBa,OAAqBunB,GAArB,OAAoCC,GAApC,OAAmDC,GAElEE,EAC4B,OAAf,OAAfrE,QAAe,IAAfA,OAAA,EAAAA,EAAiBsE,YACa,SAAf,OAAftE,QAAe,IAAfA,OAAA,EAAAA,EAAiBsE,WADjB,OAEItE,QAFJ,IAEIA,OAFJ,EAEIA,EAAiBsE,UACjB,GACFC,EAC6B,OAAhB,OAAfvE,QAAe,IAAfA,OAAA,EAAAA,EAAiBwE,aACc,SAAhB,OAAfxE,QAAe,IAAfA,OAAA,EAAAA,EAAiBwE,YADjB,OAEIxE,QAFJ,IAEIA,OAFJ,EAEIA,EAAiBwE,WACjB,GACFC,EAC2B,OAAd,OAAfzE,QAAe,IAAfA,OAAA,EAAAA,EAAiB0E,WACY,SAAd,OAAf1E,QAAe,IAAfA,OAAA,EAAAA,EAAiB0E,UADjB,OAEI1E,QAFJ,IAEIA,OAFJ,EAEIA,EAAiB0E,SACjB,GACF5E,EAAW,UAAMuE,EAAN,YAAoBE,EAApB,YAAmCE,GAElDE,EAAa,gBAAsB,CACjCY,kBAAmB,IACnBhN,gBAAiB,CACf7b,aAAc0nB,EACdhvB,KAAI,OAAE4qB,QAAF,IAAEA,OAAF,EAAEA,EAAiBgE,2BACpBzB,cACH5kB,QAAO,OACLqiB,QADK,IACLA,OADK,EACLA,EAAiBgE,2BACdpB,iBACLllB,SAAQ,OACNsiB,QADM,IACNA,OADM,EACNA,EAAiBgE,2BACdvB,kBACLnlB,QAAO,OACL0iB,QADK,IACLA,OADK,EACLA,EAAiBgE,2BACdxB,iBACLntB,MAAK,OACH2qB,QADG,IACHA,OADG,EACHA,EAAiBgE,2BACdtB,eACL5tB,KAAI,OAAEkrB,QAAF,IAAEA,OAAF,EAAEA,EAAiBgE,2BACpB1B,cACHzkB,YAAW,OACTmiB,QADS,IACTA,OADS,EACTA,EAAiBgE,2BACdnB,qBACLjlB,UAAS,OACPoiB,QADO,IACPA,OADO,EACPA,EAAiBgE,2BACdrB,oBAEP/I,eAAe,EACfqL,IAAG,OAAEjF,QAAF,IAAEA,OAAF,EAAEA,EAAiBiF,IACtBO,WAAU,OAAExF,QAAF,IAAEA,OAAF,EAAEA,EAAiB6E,MAC7B5E,cAAeH,EACftD,cAAa,OAAEwD,QAAF,IAAEA,OAAF,EAAEA,EAAiB8E,aAChC5E,qBAAsB,CACpBjtC,KAAI,OAAE+sC,QAAF,IAAEA,OAAF,EAAEA,EAAiB6D,mBACvB9xC,MAAK,OAAEiuC,QAAF,IAAEA,OAAF,EAAEA,EAAiB+D,0BAE1B0B,sBAAqB,OAAEzF,QAAF,IAAEA,OAAF,EAAEA,EAAiB0F,UACxCC,gBAAe,OAAE3F,QAAF,IAAEA,OAAF,EAAEA,EAAiBlF,WAClC8K,kBAAiB,OAAE5F,QAAF,IAAEA,OAAF,EAAEA,EAAiB6F,kBACpCC,cAAa,OAAE9F,QAAF,IAAEA,OAAF,EAAEA,EAAiB+F,sBAChCC,kBAAiB,OAAEhG,QAAF,IAAEA,OAAF,EAAEA,EAAiBiG,eAI1CxE,GAAQ,EACRmC,EAAM7iB,KAAK4jB,GAEb7nC,QAAQC,IAAI,kBAAgB6mC,GAC5BvH,GAAeuH,GAMjB/wB,GAAY0Q,OAAStB,EAAY6B,OACjCjR,GAAYqzB,UAAYjkB,EAAY0f,4BACjCwE,WACClkB,EAAY0f,4BAA4BwE,WACxC,GACJtzB,GAAYuzB,WAAankB,EAAY0f,4BAClC0E,YACCpkB,EAAY0f,4BAA4B0E,YACxC,GACJxzB,GAAYyzB,SAAWrkB,EAAY0f,4BAChC4E,QACCtkB,EAAY0f,4BAA4B4E,QACxC,EAEJ,IAAMzmB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBsD,cAAgBvQ,GAAYwQ,cACpDvD,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBwD,sBACtBrB,EAAYwkB,sBACd3mB,EAAwB4mB,QAAUzkB,EAC/B0f,4BAA4BntB,MAC3ByN,EAAY0f,4BAA4BntB,MACxCsL,EAAwB4mB,QAC5B5mB,EAAwB6mB,UACtB1kB,EAAY0f,4BAA4BiF,UAC1C9mB,EAAwB+mB,OACtB5kB,EAAY0f,4BAA4BmF,WAC1ChnB,EAAwBsa,WAAxB,UACEnY,EAAY0f,4BAA4BoF,wBACpC9kB,EAAY0f,4BACToF,wBACH,GAJN,YAME9kB,EAAY0f,4BAA4BqF,yBACpC/kB,EAAY0f,4BACTqF,yBACH,GATN,YAWE/kB,EAAY0f,4BAA4BsF,uBACpChlB,EAAY0f,4BAA4BsF,uBACxC,IAENnnB,EAAwB2a,eAAxB,UACExY,EAAY0f,4BAA4BuF,gBACpCjlB,EAAY0f,4BAA4BuF,gBACxC,GAHN,YAKEjlB,EAAY0f,4BAA4BwF,iBACpCllB,EAAY0f,4BAA4BwF,iBACxC,GAPN,YASEllB,EAAY0f,4BAA4ByF,eACpCnlB,EAAY0f,4BAA4ByF,eACxC,IAENtnB,EAAwBpD,aACtBuF,EAAY0f,4BAA4BC,2BAA2BC,sBACrE/hB,EAAwB6T,gBACtB1R,EAAY0f,4BAA4BG,gCAAgCC,qBAC1EjiB,EAAwB4T,YACtBzR,EAAY0f,4BAA4BG,gCAAgCE,2BAC1EliB,EAAwB4gB,MACtBze,EAAY0f,4BAA4B0F,MAC1CvnB,EAAwB2C,MACtBR,EAAY0f,4BAA4Blf,MAC1CxP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAGjBjN,GAAY4P,OAASya,IAAe,GACpCrqB,GAAY6tB,OAASxD,IAAe,GACpC,IAAI+E,EACFhgB,EAAY0f,4BACTC,2BACL,GAAIK,EAAW,CACb,IAAMC,EAAU,eAAQnK,IACxBmK,EAAWxlB,aACTulB,EAAUJ,sBACVI,EAAUE,uBACTF,EAAUG,uBAAyB,KACnCH,EAAUI,uBAAyB,IACtCH,EAAWptB,KAAOmtB,EAAUK,cAC5BJ,EAAW9sB,KAAO6sB,EAAUM,cAC5BL,EAAW5kB,QAAU2kB,EAAUO,iBAC/BN,EAAWxkB,SAAWukB,EAAUQ,kBAChCP,EAAW7sB,MAAQ4sB,EAAUS,eAC7BR,EAAWtkB,UAAYqkB,EAAUU,mBACjCT,EAAWvkB,QAAUskB,EAAUW,iBAC/BV,EAAWrkB,YAAcokB,EAAUY,qBACnC7K,GAAoBkK,GACpBplC,QAAQC,IAAIg7B,GAAkB,6BAG1BllB,GAAY6tB,OAAS7tB,GAAY4P,SACnCqO,GAAcqQ,GAAmBtuB,GAAYwQ,eAC7C6U,GAAcgK,GACd1H,GAAiB1a,EAAwBsa,aAO7C,GAHA6H,EACEhgB,EAAY0f,4BACTG,gCACU,CACb,IAAMgB,EAAU,eAAQ3K,IACxB2K,EAAWpmB,aACTulB,EAAUD,2BACVC,EAAUc,4BACTd,EAAUe,4BAA8B,KACxCf,EAAUgB,4BAA8B,IAC3CH,EAAWhuB,KAAOmtB,EAAUiB,mBAC5BJ,EAAW1tB,KAAO6sB,EAAUkB,mBAC5BL,EAAWxlB,QAAU2kB,EAAUmB,sBAC/BN,EAAWplB,SAAWukB,EAAUoB,uBAChCP,EAAWztB,MAAQ4sB,EAAUqB,oBAC7BR,EAAWllB,UAAYqkB,EAAUsB,wBACjCT,EAAWnlB,QAAUskB,EAAUuB,sBAC/BV,EAAWjlB,YAAcokB,EAAUwB,0BACnCrL,GAAyB0K,GACzBhmC,QAAQC,IACNo7B,GACA,iCAsCJ,IAnCA8J,EAAYhgB,EAAY0f,+BAEtBxH,GAAkB8H,EAAUqF,QAAU,MACtC5F,EAAc,GACdA,IACGO,EAAU8E,yBAA2B,IACtC,KACC9E,EAAU+E,0BAA4B,IACvC,KACC/E,EAAUgF,wBAA0B,IACvC3M,GAAsBoH,GAEtB/G,IACGsH,EAAUiF,iBAAmB,IAC5B,KACCjF,EAAUkF,kBAAoB,IAC/B,KACClF,EAAUmF,gBAAkB,KAEjCtqC,QAAQC,IACN,+BACA+iB,GAEFma,GAAiBgI,EAAUsF,eAC3BxN,GAAUkI,EAAUpiB,QACpBmf,GAAe,IACfrF,GAAmBsI,EAAUF,sBAC7BhL,GAASjX,EAAwB4mB,SACjC7zB,GAAYikB,KAAKjnB,MAAQiQ,EAAwB4mB,QACjDjP,IAAmB,GACnBR,IAAgB,GAChBD,GAASlX,EAAwBxL,QACjCzB,GAAYikB,KAAKxiB,OAASwL,EAAwBxL,SAEpD2tB,EAAYhgB,EAAYyhB,wBAEtB7I,GAAmBoH,EAAUyD,WAAa,IAC1C3K,GAAckH,EAAUnH,YAAc,IACtCG,GAAgBgH,EAAUuF,KAAO,KACjCnM,GAAgB4G,EAAU4D,mBAAqB,IAC/CpK,GAAgBwG,EAAUgE,cAAgB,IAC1C1K,GAAY0G,EAAUwF,oBACtB9L,GAAsBsG,EAAUyF,mBAAmBzoC,YACnDk8B,IAAmB8G,EAAU0F,2BAEF,GAAvB1F,EAAU2F,UAAgBhK,IAAW,GACpCA,IAAW,GACiB,GAA7BqE,EAAU4F,gBACZ9J,GACE,2CAGFA,GACE,+CAGFkE,EAAU0F,2BACV1F,EAAU6F,wBAAwBtxC,OAAS,GAC3C,CACA,IAAMuxC,EAA+B,CACnCvpB,QAASyjB,EAAU6F,wBAAwB,GAAGtpB,QAC9CE,OACEujB,EAAU6F,wBAAwB,GAAGE,oBACvCppB,YACEqjB,EAAU6F,wBAAwB,GAAGG,sBACvCtpB,YACEsjB,EAAU6F,wBAAwB,GAC/BI,2BAEPlL,GAAiB+K,GAMrB,GAFA9F,EAAS,UACPhgB,EAAYkmB,4BADL,aACP,EAAkCvG,2BACrB,CACb,IAAMwG,EAAS,eAAQ/P,IACvB+P,EAAU1rB,aACRulB,EAAUJ,sBACVI,EAAUE,uBACTF,EAAUG,uBAAyB,KACnCH,EAAUI,uBAAyB,IACtC+F,EAAUtzB,KAAOmtB,EAAUK,cAC3B8F,EAAUhzB,KAAO6sB,EAAUM,cAC3B6F,EAAU9qB,QAAU2kB,EAAUO,iBAC9B4F,EAAU1qB,SAAWukB,EAAUQ,kBAC/B2F,EAAUxqB,UAAYqkB,EAAUU,mBAChCyF,EAAUzqB,QAAUskB,EAAUW,iBAC9BwF,EAAUvqB,YAAcokB,EAAUY,qBAClCvK,GAAkB8P,GAClBzR,IAAe,GAkBjB,IAhBAsL,EAAYhgB,EAAYkmB,wBAEtBrM,GAAYmG,EAAUoG,OACtBtM,GACEkG,EAAU9oB,UACR,KACC8oB,EAAUqG,YAAc,IACzB,KACCrG,EAAU5oB,UAAY,KAE3B4iB,GAAegG,EAAU6C,cAAgB,IACzChL,GAAkBmI,EAAUkD,SAC5BtJ,GAAUoG,EAAUsG,MAEtBtG,EAAS,UACPhgB,EAAYumB,6BADL,aACP,EAAmC5G,2BACtB,CACb,IAAM6G,EAAW,eAAQlQ,IACzBkQ,EAAY/rB,aACVulB,EAAUJ,sBACVI,EAAUE,uBACTF,EAAUG,uBAAyB,KACnCH,EAAUI,uBAAyB,IACtCoG,EAAY3zB,KAAOmtB,EAAUK,cAC7BmG,EAAYrzB,KAAO6sB,EAAUM,cAC7BkG,EAAYnrB,QAAU2kB,EAAUO,iBAChCiG,EAAY/qB,SAAWukB,EAAUQ,kBACjCgG,EAAYpzB,MAAQ4sB,EAAUS,eAC9B+F,EAAY7qB,UAAYqkB,EAAUU,mBAClC8F,EAAY9qB,QAAUskB,EAAUW,iBAChC6F,EAAY5qB,YAAcokB,EAAUY,qBACpCrK,GAAmBiQ,GACnB3O,IAAkB,IAEpBmI,EAAYhgB,EAAYumB,yBAEtBlM,GAAc2F,EAAUoG,OACxB9L,GACE0F,EAAU9oB,UACR,KACC8oB,EAAUqG,YAAc,IACzB,KACCrG,EAAU5oB,UAAY,KAE3BojB,GAAiBwF,EAAU6C,cAAgB,IAC3CpI,GAAwBuF,EAAUyD,WAAa,IAC/C/I,GAAmBsF,EAAUnH,YAAc,IAC3C8B,GAAqBqF,EAAUuF,KAAO,KACtC3K,GAAqBoF,EAAU4D,mBAAqB,IACpD/I,GAAiBmF,EAAU8D,uBAAyB,IACpDhJ,GAAqBkF,EAAUgE,cAAgB,KAEjD1lB,GAAa,OACR,CACL,IAAMT,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAExDyB,EAAkB,GAmDtB,GAjDIkL,EAAwB3K,QAC1BP,EAAUkL,EAAwB3K,QAMlCtC,GAAY4P,OACZ5P,GAAY61B,cAAchsB,cAC1B7J,GAAY61B,cAAcvzB,QAE1BP,EAAU/B,GAAY61B,cAAcvzB,QAMpCtC,GAAY6tB,OACW,KAAvB7tB,GAAYg0B,QACZh0B,GAAY81B,eAAejsB,cAC3B7J,GAAY81B,eAAexzB,QAE3BP,EAAU/B,GAAY81B,eAAexzB,QAMrCtC,GAAYmO,cACZnO,GAAYyM,gBAAgB5C,cAC5B7J,GAAYyM,gBAAgBnK,UAE5BP,EAAU/B,GAAYyM,gBAAgBnK,SAMM,OAA5C2K,EAAwB6T,sBACoB79B,IAA5CgqB,EAAwB6T,iBACxB7T,EAAwB6T,iBACxB7T,EAAwB+T,aAExB3e,IACE,SAAChL,GAAD,OACE0+B,GAAe1+B,EAAK4V,EAAwB4T,eAC9C5T,EAAwB+T,aAGZ,OAAZjf,QAAgC9e,IAAZ8e,GAAqC,KAAZA,EAC/CM,GAAkB5Q,GAAgBsQ,QAGjB/B,GAAYwQ,cACHxQ,GAAYyQ,sBAM1C,IAAIulB,EAAYh2B,GAAYikB,KAAKxiB,OAC7BoyB,EAAU7zB,GAAYikB,KAAKjnB,MACzBiQ,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAS5D,IANC2M,EAAwB6T,sBACiB79B,IAAxCgqB,EAAwB4T,aACgB,OAAxC5T,EAAwB4T,aACxB5T,EAAwBpD,eACtBoD,EAAwB4T,aAC1BiG,IAAmB,GAEnB7Z,EAAwBpD,cACxBoD,EAAwBxC,QACxB,CACA,IAAIgjB,EAAY,eAAQvI,IACxBuI,EAAa5jB,aAAeoD,EAAwBpD,aACpD4jB,EAAahjB,QAAUwC,EAAwBxC,QAE/CpI,IAAkB,SAAChL,GAEd4V,EAAwB6T,sBACe79B,IAAxCgqB,EAAwB4T,aACgB,OAAxC5T,EAAwB4T,cAGtB5T,EAAwBpD,eACxBoD,EAAwB4T,YAExBpvB,GAAe4F,GAAK,GAEpB5F,GAAe4F,GAAK,MAGvB4V,EAAwBxC,SAG7B,GAC8C,OAA5CwC,EAAwB6T,sBACmB79B,IAA3CgqB,EAAwBgpB,iBACvBhpB,EAAwB6T,gBACzB,CACA,IAAI4M,EAAa,eAAQpI,IACzBoI,EAAc7jB,aAAeoD,EAAwB4T,YACrD6M,EAAcjjB,QAAUwC,EAAwB+T,YAMhDuE,GAAyBmI,GAGtBsI,IACHA,EAAY/oB,EAAwBxL,QAEjCoyB,IACHA,EAAU5mB,EAAwB4mB,SAErB,IAAXA,QAA4B5wC,GAAX4wC,GAAmC,MAAXA,IAC3CA,EAAU5mB,EAAwB4mB,SAGnB,IAAfhF,GACe,MAAfA,QACe5rC,GAAf4rC,IAG4C,IAA1C7uB,GAAYyM,gBAAgB8a,YACc,MAA1CvnB,GAAYyM,gBAAgB8a,iBACctkC,GAA1C+c,GAAYyM,gBAAgB8a,WAE5BE,QACyCxkC,IAAvCgqB,EAAwBsa,WACpBta,EAAwBsa,WACxB,IAGNE,GAAsBznB,GAAYyM,gBAAgB8a,aAGtDhmB,GACE7P,GACAsO,GAAYwQ,cACZqjB,EACAmC,EAAU5pC,YAttBC,GA8tBjB,MAAOyK,GACP5M,QAAQC,IAAI,iBAAkB2M,GAtuBlC,4CA7+BoD,sBAywDpD,SAASpF,GAAe4F,EAAU6+B,GAChC,IAAK7+B,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKnU,OAAS,EAAG,CACnC,IAAMspB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAExDsK,EAAW,GACfA,EAAIH,QAAUpT,EAAIS,KAAK,GAAG2S,QAC1BG,EAAIC,SAAWxT,EAAIS,KAAK,GAAG+S,SAC3BD,EAAIE,QAAUzT,EAAIS,KAAK,GAAGgT,QAC1BF,EAAIrI,KAAOlL,EAAIS,KAAK,GAAGyK,KACvBqI,EAAIpI,MAAQnL,EAAIS,KAAK,GAAG0K,MACxBoI,EAAIG,UAAY1T,EAAIS,KAAK,GAAGiT,UAC5BH,EAAII,YAAc3T,EAAIS,KAAK,GAAGkT,YAC9BJ,EAAIf,aAAeoD,EAAwBpD,aACvCoD,EAAwBpD,aACxB7J,GAAY81B,eAAejsB,aAC3B7J,GAAY81B,eAAejsB,aAC3B7J,GAAY61B,cAAchsB,aAC1B7J,GAAY61B,cAAchsB,aAC1B7J,GAAYyM,gBAAgB5C,aAEhCsb,GAAoBva,GAETvT,EAAIS,KAAK,GAAG2S,QACfpT,EAAIS,KAAK,GAAGyK,KACXlL,EAAIS,KAAK,GAAG0K,OAKF,OAAjB0zB,QAA0CjzC,IAAjBizC,EACrBA,EACApV,KAEJyE,GAAyB3a,GACzB3gB,QAAQC,IAAIo7B,GAAuB,iCAEnC5X,GAAa,IAETT,EAAwB+T,YAC1B3e,IACE,SAAChL,GAAD,OACE0+B,GAAe1+B,EAAK4V,EAAwB4T,eAC9C7gB,GAAY81B,eAAexzB,SAYxBoL,GAAa,QAItBlD,EAAWnT,EAAIR,OAyDrB,SAASk/B,GAAe1+B,EAAU9T,GAChC,IAAK8T,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKnU,OAAS,EAAG,CACnC,IAAIinB,EAAW,GACfA,EAAIH,QAAUpT,EAAIS,KAAK,GAAG2S,QAC1BG,EAAIC,SAAWxT,EAAIS,KAAK,GAAG+S,SAC3BD,EAAIE,QAAUzT,EAAIS,KAAK,GAAGgT,QAC1BF,EAAIrI,KAAOlL,EAAIS,KAAK,GAAGyK,KACvBqI,EAAIpI,MAAQnL,EAAIS,KAAK,GAAG0K,MAOxBoI,EAAIG,UAAY1T,EAAIS,KAAK,GAAGiT,UAC5BH,EAAII,YAAc3T,EAAIS,KAAK,GAAGkT,YAC9BJ,EAAIf,aAAetmB,EACnBgiC,GAAyB3a,GACzB3gB,QAAQC,IAAIo7B,GAAuB,iCAEnC5X,GAAa,IAKnB,SAASyoB,GAAQC,IACf1oB,GAAa,GACb6W,IAAgB,GAChBQ,IAAc,GACE,UAAZqR,GtBhkEoB,SAACz2B,EAA4B02B,GACvD52B,GACE,CACEkB,IAAK,uBACLpR,KAAM,CACJ+mC,OAAQD,EAAOE,OACfC,SAAUH,EAAOI,SACjBC,YAAaL,EAAOM,aAEtB92B,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa8B,QAE5B4M,GsB0jEEi3B,EAAa,SAACv/B,GAAD,OAAcw/B,GAAQx/B,EAAK,WAP3B,CACXy/B,SAAU13C,EACVq3C,SAAUr3C,EACV23C,WAAY33C,EACZu3C,YAAav3C,EACbm3C,OAAQv5B,KtBlhEdyC,GACE,CACEkB,IAAK,gBACLpR,KAAM,CACJuW,MsBmhEkDoB,ItBjhEpDrH,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAa8B,SsB8gEZ,SAACsE,GAAD,OAAcw/B,GAAQx/B,EAAK,aAI7C,SAASw/B,GAAQx/B,EAAU++B,GACrB/+B,EAAIS,MAAQT,EAAIM,QACdN,EAAIS,MAAoB,UAAZs+B,IACdhS,IAAgB,GAChBG,IAAgB,IAEdltB,EAAIS,KAAKk/B,SAAuB,WAAZZ,IACtB9R,IAAiB,GACjBG,IAAiB,IAEnBja,EAAW6C,IAGX7C,EAAWnT,EAAIR,OAEjB6W,GAAa,GAGf,SAASza,GAAYmjC,EAA6B9tC,GAC5C6b,IACF4gB,IAAc,GAEG,IAAfz8B,EAAI3E,SACN+pB,GAAa,GACbgX,IAAc,GACE,UAAZ0R,EtB3hEuB,SAC/Bz2B,EACA3C,EACAkI,GAEAzF,GACE,CACEkB,IAAK,0BACLpR,KAAM,CACJmX,QAAS1J,EACT+I,IAAKb,GAEPrF,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAagC,aAE5B0M,GsB2gEIs3B,EACE,SAAC5/B,GAAD,OAAc6/B,GAAiB7/B,EAAK,WACpC2F,GACA1U,GAGFsd,IACE,SAACvO,GAAD,OAAc6/B,GAAiB7/B,EAAK,YACpC6P,GAAM9a,WACN9D,IAKR,SAAS4uC,GAAiB7/B,EAAU++B,GAElC,GADA1R,IAAc,IACTrtB,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf6W,GAAa,OACR,CACL,GAAgB,GAAZrW,EAAIS,MAA4B,QAAZT,EAAIS,MAA8B,YAAZT,EAAIS,KAAoB,CAAC,IAAD,MACpD,UAAZs+B,IACFp2B,GAAYikB,KAAKjnB,MAAQA,GACzB4nB,IAAmB,GACnBL,IAAgB,IAEF,WAAZ6R,IACFp2B,GAAYikB,KAAKxiB,OAASyF,GAC1B4d,IAAoB,GACpBL,IAAiB,IAGnB,IAAIuR,EAAYh2B,GAAYikB,KAAKxiB,OAC7BoyB,EAAU7zB,GAAYikB,KAAKjnB,MACzBiQ,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAId,OAAjC,OAAXN,SAAW,IAAXA,IAAA,UAAAA,GAAayM,uBAAb,eAA8B8a,kBACctkC,IAAjC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAayM,uBAAb,eAA8B8a,aACc,KAAjC,OAAXvnB,SAAW,IAAXA,IAAA,UAAAA,GAAayM,uBAAb,eAA8B8a,aAE9BE,GAAsBxa,EAAwBsa,YAC9CvnB,GAAYyM,gBAAgB8a,WAC1Bta,EAAwBsa,YAE1BE,GAAsBznB,GAAYyM,gBAAgB8a,YAE/CyO,IACHA,EAAY/oB,EAAwBxL,QAEjCoyB,IACHA,EAAU5mB,EAAwB4mB,SAEpCtyB,GACE7P,GACAsO,GAAYwQ,cACZqjB,EACAmC,EAAU5pC,iBAGZ24B,IAAc,GAEhBva,EAAW6C,GAEbK,GAAa,GAqDf,SAASypB,GAAiB/vC,EAAcuC,EAAerB,GACrD,IAAIpJ,EAAgBiN,SAAS7D,GAAK8D,WAElC,OAAQhF,GACN,IAAK,QACH,IAAIgwC,EAAW7T,GAAiB7qB,iBAChC0+B,EAASztC,GAAO2C,iBAAmBpN,EACnCskC,GAAoB,2BACfD,IADc,IAEjB7qB,iBAAkB0+B,KAEpB,MACF,IAAK,SACH,IAAIC,EAAY9T,GAAiB3qB,kBACjCy+B,EAAU1tC,GAAO2C,iBAAmBpN,EACpCskC,GAAoB,2BACfD,IADc,IAEjB3qB,kBAAmBy+B,KAErB,MACF,IAAK,OACH,IAAIC,EAAU/T,GAAiBgU,gBAC/BD,EAAQ3tC,GAAO2C,iBAAmBpN,EAClCskC,GAAoB,2BAAKD,IAAN,IAAwBgU,gBAAiBD,MAyJlE,SAASE,GAAuBpwC,EAAcuC,EAAerB,GAC3D,IAAIpJ,EAAK,OAAGoJ,QAAH,IAAGA,OAAH,EAAGA,EAAKpJ,MAIjB,GADA+K,QAAQC,IAAI,eAAgB5B,GACf,WAATlB,EACF,GAAa,KAATlI,EAAc,CAChB+K,QAAQC,IAAI,WACZ,IAAIutC,EAAY,2BACX7K,GAAwBnrB,QADb,IAEd+qB,KAAMI,GAAwBnrB,OAAO+qB,KAAO,IAE9CK,GAA2B,2BACtBD,IADqB,IAExBnrB,OAAQg2B,UAEL,GAAa,KAATv4C,EAAc,CACvB+K,QAAQC,IAAI,WACZ,IAAIutC,EAAY,2BACX7K,GAAwBnrB,QADb,IAEdgrB,OAAQG,GAAwBnrB,OAAOgrB,OAAS,IAElDI,GAA2B,2BACtBD,IADqB,IAExBnrB,OAAQg2B,UAEL,GAAa,KAATv4C,EAAc,CACvB+K,QAAQC,IAAI,WACZ,IAAIutC,EAAY,2BACX7K,GAAwBnrB,QADb,IAEdirB,eAAgBE,GAAwBnrB,OAAOirB,eAAiB,IAElEG,GAA2B,2BACtBD,IADqB,IAExBnrB,OAAQg2B,UAEL,GAAa,KAATv4C,EAAc,CACvB+K,QAAQC,IAAI,WACZ,IAAIutC,EAAY,2BACX7K,GAAwBnrB,QADb,IAEdkrB,iBAAkBC,GAAwBnrB,OAAOkrB,iBAAmB,IAEtEE,GAA2B,2BACtBD,IADqB,IAExBnrB,OAAQg2B,KAId,GAAa,UAATrwC,EACF,GAAa,KAATlI,EAAc,CAChB+K,QAAQC,IAAI,WACZ,IAAIutC,EAAY,2BACX7K,GAAwB5vB,OADb,IAEdwvB,KAAMI,GAAwB5vB,MAAMwvB,KAAO,IAE7CK,GAA2B,2BACtBD,IADqB,IAExB5vB,MAAOy6B,UAEJ,GAAa,KAATv4C,EAAc,CACvB+K,QAAQC,IAAI,WACZ,IAAIutC,EAAY,2BACX7K,GAAwB5vB,OADb,IAEdyvB,OAAQG,GAAwB5vB,MAAMyvB,OAAS,IAEjDI,GAA2B,2BACtBD,IADqB,IAExB5vB,MAAOy6B,UAEJ,GAAa,KAATv4C,EAAc,CACvB+K,QAAQC,IAAI,WACZ,IAAIutC,EAAY,2BACX7K,GAAwB5vB,OADb,IAEd0vB,eAAgBE,GAAwB5vB,MAAM0vB,eAAiB,IAEjEG,GAA2B,2BACtBD,IADqB,IAExB5vB,MAAOy6B,UAEJ,GAAa,KAATv4C,EAAc,CACvB+K,QAAQC,IAAI,WACZ,IAAIutC,EAAY,2BACX7K,GAAwB5vB,OADb,IAEd2vB,iBAAkBC,GAAwB5vB,MAAM2vB,iBAAmB,IAErEE,GAA2B,2BACtBD,IADqB,IAExB5vB,MAAOy6B,MAMf,SAASC,GAAetwC,EAAcuC,EAAerB,GAEnD,OADA2B,QAAQC,IAAI,YAAa5B,GACjBlB,GACN,IAAK,QACH,IAAIgwC,EAAW7T,GAAiB7qB,iBAChC0+B,EAASztC,GAAOkN,MAASvO,EAAiC,GAA3Buc,GAAShK,IACxC2oB,GAAoB,2BACfD,IADc,IAEjB7qB,iBAAkB0+B,KAEpBI,GAAuBpwC,EAAMuC,EAAOrB,GACpC,MACF,IAAK,SACH,IAAI+uC,EAAY9T,GAAiB3qB,kBACjCy+B,EAAU1tC,GAAOkN,MAASvO,EAAiC,GAA3Buc,GAAShK,IACzC2oB,GAAoB,2BACfD,IADc,IAEjB3qB,kBAAmBy+B,KAErBG,GAAuBpwC,EAAMuC,EAAOrB,GACpC,MACF,IAAK,OACH,IAAIgvC,EAAU/T,GAAiBgU,gBAC/BD,EAAQ3tC,GAAO2C,iBAAoBhE,EAAiC,GAA3Buc,GAAShK,IAClD2oB,GAAoB,2BAAKD,IAAN,IAAwBgU,gBAAiBD,MA4BlE,SAASK,GAAaxsC,EAAajM,GAE7BorB,EADa,kBAAVprB,EACO,2BAAKmrB,GAAN,mBAAelf,EAAM0Z,GAAShK,MAC7B,2BAAKwP,GAAN,mBAAelf,OAAMlI,KAOpC,SAAS20C,KAELrU,GAAiB7qB,kBACjB6qB,GAAiB7qB,iBAAiB/U,OAAS,GAE3C4/B,GAAiB7qB,iBAAiB7N,KAAI,SAACwB,GACrC,IAAKA,EAAOwrC,eAAe,oBAGzB,OADArtB,EAAWxZ,IACJ,QAKXuyB,GAAiB3qB,mBACjB2qB,GAAiB3qB,kBAAkBjV,OAAS,GAE5C4/B,GAAiB3qB,kBAAkB/N,KAAI,SAACwB,GACtC,IAAKA,EAAOwrC,eAAe,oBAGzB,OADArtB,EAAWxZ,IACJ,QAIb,IAAI8mC,EAAsB,CACxBt2B,cAAexB,GAAYwQ,cAC3BunB,sBAAuB5rC,SAAS6T,GAAYyQ,uBAC5C/X,iBAAkB6qB,GAAiB7qB,iBACnCs/B,QAAS,EACTp/B,kBAAmB2qB,GAAiB3qB,mBAEtC8U,GAAa,G3B95EoB,SACnC/N,EACAm4B,GAEAr4B,GACE,CACEkB,IAAK,gCACLpR,KAAM,CACJmS,cAAeo2B,EAAoBt2B,cACnC3I,kBAAmBi/B,EAAoBl/B,kBACvCD,iBAAkBm/B,EAAoBp/B,iBACtCK,qBAAqB,EACrBD,0BAA0B,EAC1BkY,sBAAuB8mB,EAAoBC,sBAC3CE,QAASH,EAAoBE,SAE/Bn4B,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa6B,yBAE5B6M,G2B04EAu4B,CAAsBC,GAAoBL,GAG5C,SAASK,GAAmB9gC,IACrBA,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,OAEXQ,EAAIS,MACN7N,QAAQC,IAAI,wBAAyBmN,GAK3C,SAAS+gC,KACP,IACE,IAAIC,GAAa,EACjB,GAAIxU,IAAgC,IAAjBE,GACjBsU,GAAa,OACR,GAAIxU,IAAe0F,IAAeA,GAAY5lC,OAAS,EAC5D,IAAK,IAAIiH,EAAI,EAAGA,GAAC,OAAG2+B,SAAH,IAAGA,QAAH,EAAGA,GAAa5lC,QAAQiH,IAAK,CAAC,IAAD,wCACtCgZ,EAAU2lB,GAAY3+B,GA+B5B,GA7BAX,QAAQC,IACN,aACA0Z,GACE4K,OAAOtgB,KAAK0V,OACX,OAACA,QAAD,IAACA,OAAD,EAACA,EAASmuB,aACT,OAACnuB,QAAD,IAACA,OAAD,EAACA,EAASqpB,cACe,MAAlB,OAAPrpB,QAAO,IAAPA,OAAA,EAAAA,EAASqpB,gBACT,OAACrpB,QAAD,IAACA,OAAD,EAACA,EAASulB,cACe,MAAlB,OAAPvlB,QAAO,IAAPA,OAAA,EAAAA,EAASulB,cACiB,QAAlB,OAAPvlB,QAAO,IAAPA,OAAA,EAAAA,EAASulB,mBACsBlmC,KAAvB,OAAP2gB,QAAO,IAAPA,OAAA,EAAAA,EAAS00B,mBACqB,MAAvB,OAAP10B,QAAO,IAAPA,OAAA,EAAAA,EAAS00B,qBACX,OAAC10B,QAAD,IAACA,OAAD,EAACA,EAASmlB,SACe,GAAzBnlB,EAAQsuB,eACR1jB,OAAO+pB,OAAP,OAAc30B,QAAd,IAAcA,OAAd,EAAcA,EAAS/M,OAAO2hC,MAAK,SAAC3hC,GAAD,OAAWA,MAC9C2X,OAAO+pB,OAAP,OAAc30B,QAAd,IAAcA,OAAd,EAAcA,EAAS4hB,gBAAgBgT,MAAK,SAACt5C,GAAD,OAAYA,QAC5D,OAAC0kB,QAAD,IAACA,OAAD,EAACA,EAASmuB,YACV,OAACnuB,QAAD,IAACA,OAAD,EAACA,EAASqpB,aACe,MAAlB,OAAPrpB,QAAO,IAAPA,OAAA,EAAAA,EAASqpB,eACT,OAACrpB,QAAD,IAACA,OAAD,EAACA,EAASulB,aACe,MAAlB,OAAPvlB,QAAO,IAAPA,OAAA,EAAAA,EAASulB,aACgB,QAAlB,OAAPvlB,QAAO,IAAPA,OAAA,EAAAA,EAASulB,mBACuBlmC,KAAvB,OAAP2gB,QAAO,IAAPA,OAAA,EAAAA,EAAS00B,mBACqB,MAAvB,OAAP10B,QAAO,IAAPA,OAAA,EAAAA,EAAS00B,oBACX,OAAC10B,QAAD,IAACA,OAAD,EAACA,EAASmlB,QACe,GAAzBnlB,EAAQsuB,cACR1jB,OAAO+pB,OAAP,OAAc30B,QAAd,IAAcA,OAAd,EAAcA,EAAS/M,OAAO2hC,MAAK,SAAC3hC,GAAD,OAAWA,KAC9C2X,OAAO+pB,OAAP,OAAc30B,QAAd,IAAcA,OAAd,EAAcA,EAAS4hB,gBAAgBgT,MAAK,SAACt5C,GAAD,OAAYA,MAGxD0kB,GACA4K,OAAOtgB,KAAK0V,OACX,OAACA,QAAD,IAACA,OAAD,EAACA,EAASmuB,aACT,OAACnuB,QAAD,IAACA,OAAD,EAACA,EAASqpB,cACe,MAAlB,OAAPrpB,QAAO,IAAPA,OAAA,EAAAA,EAASqpB,gBACT,OAACrpB,QAAD,IAACA,OAAD,EAACA,EAASulB,cACe,MAAlB,OAAPvlB,QAAO,IAAPA,OAAA,EAAAA,EAASulB,cACiB,QAAlB,OAAPvlB,QAAO,IAAPA,OAAA,EAAAA,EAASulB,mBACsBlmC,KAAvB,OAAP2gB,QAAO,IAAPA,OAAA,EAAAA,EAAS00B,mBACqB,MAAvB,OAAP10B,QAAO,IAAPA,OAAA,EAAAA,EAAS00B,qBACX,OAAC10B,QAAD,IAACA,OAAD,EAACA,EAASmlB,SACe,GAAzBnlB,EAAQsuB,eACR1jB,OAAO+pB,OAAP,OAAc30B,QAAd,IAAcA,OAAd,EAAcA,EAAS/M,OAAO2hC,MAAK,SAAC3hC,GAAD,OAAWA,MAC9C2X,OAAO+pB,OAAP,OAAc30B,QAAd,IAAcA,OAAd,EAAcA,EAAS4hB,gBAAgBgT,MAAK,SAACt5C,GAAD,OAAYA,MAG1D,CACAm5C,GAAa,EACb,MAEF,GACEz0B,EAAQyuB,oBACP,UAACzuB,EAAO,uBAAR,aAAC,EAA4B+uB,aACe,MAA3C,UAAA/uB,EAAO,uBAAP,eAA4B+uB,cAC5B,UAAC/uB,EAAO,uBAAR,aAAC,EAA4BwpB,gBACiB,MAA9C,UAAAxpB,EAAO,uBAAP,eAA4BwpB,iBAC5B,UAACxpB,EAAO,uBAAR,aAAC,EAA4B+lB,gBACiB,MAA9C,UAAA/lB,EAAO,uBAAP,eAA4B+lB,iBACmB,QAA9C,UAAA/lB,EAAO,uBAAP,eAA4B+lB,gBACwB,MAAnD,UAAA/lB,EAAO,uBAAP,eAA4B60B,uBAC9B,UAAC70B,EAAO,uBAAR,aAAC,EAA4BgvB,wBACyB,MAAtD,UAAAhvB,EAAO,uBAAP,eAA4BgvB,yBAC5B,UAAChvB,EAAO,uBAAR,aAAC,EAA4BkvB,kBACmB,MAAhD,UAAAlvB,EAAO,uBAAP,eAA4BkvB,mBAC5B,UAAClvB,EAAO,uBAAR,aAAC,EAA4BmvB,oBACqB,MAAlD,UAAAnvB,EAAO,uBAAP,eAA4BmvB,qBAC5B,UAACnvB,EAAO,uBAAR,aAAC,EAA4BuvB,oBACqB,MAAlD,UAAAvvB,EAAO,uBAAP,eAA4BuvB,qBAC5B,UAACvvB,EAAO,uBAAR,aAAC,EAA4BqvB,gBACiB,MAA9C,UAAArvB,EAAO,uBAAP,eAA4BqvB,iBAC5B9mC,SAAQ,UAACyX,EAAO,uBAAR,aAAC,EAA4BqvB,eAAiB,KACtDzkB,OAAO+pB,OAAO30B,EAAQ/M,OAAO2hC,MAAK,SAAC3hC,GAAD,OAAWA,MAC7C2X,OAAO+pB,SAAO,UAAC30B,EAAO,uBAAR,aAAC,EAA4B8hB,kBAAiB8S,MAC1D,SAACt5C,GAAD,OAAYA,MAKhB,CACAm5C,GAAa,EACb,MAEAA,GAAa,OAKjBA,GAAa,EAGf,OAAOA,EACP,MAAOvyC,GACP,OAAO,GAgHX,SAAS4yC,GAAU7hC,EAAYlN,EAAevJ,GAC5C,IAAM2wC,EAAQn3B,KAAKC,MAAMD,KAAK2G,UAAU8oB,KACxCsP,GACEhvC,EACAvJ,EACAyW,EAAM7T,WAAa6T,EAAMlR,QAAUkf,GAAShK,IAAkB,IAE5DhE,EAAMlR,SACRorC,EAAMpnC,IAAS,EACf2/B,GAAYyH,KAEZA,EAAMpnC,IAAS,EACf2/B,GAAYyH,IA9jBhB/rC,IAAM6H,WAAU,WAAO,IAAD,gBACpB5C,QAAQC,IAAI,oCAAqC0iC,IACjD3iC,QAAQC,IAAI,mCAAoC+4B,IAChDh5B,QAAQC,IAAI,qCAAsCu5B,IAIlD,IAAImV,EAAqB3V,GACrB4V,EAAoB5V,GACpB6V,EAAiC,GACjCC,EAAgC,GAG+B,IAA1C,OAArBtV,SAAqB,IAArBA,IAAA,UAAAA,GAAuBxqB,sCAAvB,eAAuD+/B,OACzDF,EAAqB5qB,KAAK,KAK1B,IADqB,OAArBuV,SAAqB,IAArBA,IAAA,UAAAA,GAAuBxqB,sCAAvB,eAAuDggC,kBAGvDH,EAAqB5qB,KAAK,KAI+C,IAApD,OAArBuV,SAAqB,IAArBA,IAAA,UAAAA,GAAuBxqB,sCAAvB,eAAuDigC,iBAEvDJ,EAAqB5qB,KAAK,KAGyC,IAA5C,OAArBuV,SAAqB,IAArBA,IAAA,UAAAA,GAAuBxqB,sCAAvB,eAAuDkgC,SACzDL,EAAqB5qB,KAAK,KAKsC,IAAzC,OAArBuV,SAAqB,IAArBA,IAAA,UAAAA,GAAuBzqB,qCAAvB,eAAsDggC,OACxDD,EAAoB7qB,KAAK,KAIgD,IAApD,OAArBuV,SAAqB,IAArBA,IAAA,UAAAA,GAAuBzqB,qCAAvB,eAAsDigC,kBAEtDF,EAAoB7qB,KAAK,KAI+C,IAAnD,OAArBuV,SAAqB,IAArBA,IAAA,UAAAA,GAAuBzqB,qCAAvB,eAAsDkgC,iBAEtDH,EAAoB7qB,KAAK,KAGyC,IAA3C,OAArBuV,SAAqB,IAArBA,IAAA,UAAAA,GAAuBzqB,qCAAvB,eAAsDmgC,SACxDJ,EAAoB7qB,KAAK,KAI3B,IAAMkrB,EAAaR,EAAmBvwC,QACpC,SAACuC,GAAD,OAAakuC,EAAqBjvC,SAASe,EAAE1L,UAGzCm6C,EAAYR,EAAkBxwC,QAClC,SAACuC,GAAD,OAAamuC,EAAoBlvC,SAASe,EAAE1L,UAG9C+K,QAAQC,IAAI,QAAS6uC,EAAqBM,GAC1CpvC,QAAQC,IAAI,SAAU4uC,EAAsBM,GA8E5CpW,GAAsBoW,GACtBlW,GAA0BmW,KACzB,CAACzM,GAAyBnJ,KAgb7B,IAAM6V,GAA2B,uCAAG,WAClCxhC,EACAnO,EACAwB,GAHkC,yBAAAJ,EAAA,6DAK9BwM,EAL8B,UAKrBO,EAAKnO,UALgB,iBAKrB,EAAawjC,uBALQ,aAKrB,EAA8BE,qBAAqBliC,MAE1DouC,EAAa3/B,KAAKC,MACpBuG,OAAOC,aAAaC,QAAQ,eAAiB,MAE/C/I,EAAM,UAAGgiC,EAAW5vC,UAAd,iBAAG,EAAmBwjC,uBAAtB,aAAG,EAAoCE,qBAAqBliC,IAVlC,kBAY3BoM,GAZ2B,2CAAH,0DAe3BiiC,GAA0B,uCAAG,WACjC1hC,EACAnO,EACAwB,GAHiC,mBAAAJ,EAAA,6DAK7BwM,EAL6B,OAKpBO,QALoB,IAKpBA,OALoB,EAKpBA,EAAMu1B,qBAAqBliC,MAElCouC,EAAa3/B,KAAKC,MACpBuG,OAAOC,aAAaC,QAAQ,eAAiB,MAE/C/I,EAAM,UAAGgiC,EAAW5vC,UAAd,aAAG,EAAmB0jC,qBAAqBliC,IAVlB,kBAY1BoM,GAZ0B,2CAAH,0DAe1BkiC,GAAqB,SAACv6C,GAC1B,OAAIA,GAGK,IArsFyC,8CAotFpD,6PAAA6L,EAAA,sDAwBE,IAvBA2iB,GAAa,GAETkd,KAEAhxB,KAAK2G,UAAU2kB,MAAsBtrB,KAAK2G,UAAU6kB,KACpDsC,KAAkBF,KAElBxnB,GAAY4P,OAAQ,EACpB5P,GAAY6tB,OAAQ,EACpBnC,IAAgB,GACVze,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,OAEpCsP,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5CztB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,MAKjBysB,EAAW,EACN9uC,EAAI,EAAGA,EAAI2+B,GAAY5lC,OAAQiH,IACtC8uC,GAAYx1C,OAAM,UAACqlC,GAAY3+B,UAAb,aAAC,EAAgBsnC,eAzBvC,GA2BOrO,MAAgBA,IAA4B,MAAb6V,GA3BtC,kBA4BUzsB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,OAEpCq5B,eAAiB35B,GAAY0Q,OACrDtQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAGjBS,GAAa,KAEK,OAAhB6V,SAAgB,IAAhBA,IAAA,UAAAA,GAAkB7qB,wBAAlB,eAAoC/U,QAAS,IAC7B,OAAhB4/B,SAAgB,IAAhBA,IAAA,UAAAA,GAAkB3qB,yBAAlB,eAAqCjV,QAAS,IAE9Ci0C,KAEkBgC,GAAmB5X,EAAW,cAC5C6X,EAAsBC,GAActS,IACpCuS,EAAcD,GAAcjS,IACZiS,GAAcE,MAE9BC,EAA4B32C,GAChCgiC,GAAsBzb,aACtByb,GAAsB/iB,MAElB23B,EAAuB52C,GAC3B4hC,GAAiBrb,aACjBqb,GAAiB3iB,MAEf43B,EAzDR,OAyD0Bn6B,SAzD1B,IAyD0BA,IAzD1B,UAyD0BA,GAAao6B,mBAzDvC,aAyD0B,EAA0BjoB,aAC9CkoB,EA1DN,OA0DyBr6B,SA1DzB,IA0DyBA,IA1DzB,UA0DyBA,GAAao6B,mBA1DtC,aA0DyB,EAA0B/nB,eAC7CioB,EA3DN,OA2DuBt6B,SA3DvB,IA2DuBA,IA3DvB,UA2DuBA,GAAao6B,mBA3DpC,aA2DuB,EAA0B7nB,YACtB,IAAnB4nB,QAA4Cl3C,GAAnBk3C,IAC3BA,EAAe,OAAGltB,QAAH,IAAGA,GAAH,UAAGA,EAAyBgF,kBAA5B,aAAG,EAAqCC,WAEjC,IAApBmoB,QAA8Cp3C,GAApBo3C,IAC5BA,EAAgB,OAAGptB,QAAH,IAAGA,GAAH,UAAGA,EAAyBgF,kBAA5B,aAAG,EAAqCG,YAEpC,IAAlBkoB,QAA0Cr3C,GAAlBq3C,IAC1BA,EAAc,OAAGrtB,QAAH,IAAGA,GAAH,UAAGA,EAAyBgF,kBAA5B,aAAG,EAAqCK,UAGlDlQ,EAAc,CAClBoO,cAAexQ,GAAYwQ,cAC3B+pB,sBAAuBv6B,GAAYyQ,sBACnC+pB,YAAY,EACZC,UAAW5W,GACXnT,OAAQ1Q,GAAY0Q,OAEpBgqB,gBAAiB,CACfC,SAAU36B,GAAYqzB,UAAYrzB,GAAYqzB,UAAY,GAC1DuH,UAAW56B,GAAYuzB,WAAavzB,GAAYuzB,WAAa,GAC7DsH,SAAU76B,GAAYyzB,SAAWvvC,OAAO8b,GAAYyzB,UAAY,EAChEqH,QAAS,GACTC,YAAa,GACbC,gBAAiB/tB,EAAwB4mB,QACrC5mB,EAAwB4mB,QACxB72B,GACJi+B,iBAAkBhuB,EAAwBxL,OACtCwL,EAAwBxL,OACxByF,GAGJg0B,WAAYl7B,GAAYg0B,OACxB9E,qBAAsBpO,GACtBqa,UAAWhvC,SAAS4mB,GACpBqoB,wBAAyBvB,EAAoB,GAC7CwB,yBAA0BxB,EAAoB,GAC9CyB,uBAAwBzB,EAAoB,GAC5C0B,oBAAqB,KACrBC,OAAQnU,GACRE,WAAYC,GACZza,OAAQA,GACRotB,gBAAe,UAAEA,SAAF,QAAqB,GACpCE,iBAAgB,UAAEA,SAAF,QAAsB,GACtCC,eAAc,UAAEA,SAAF,QAAoB,GAClCmB,YAAwB,MAAX1uB,GAAiB,KAAO,KACrC6C,MAAO5P,GAAY4P,MACnB8rB,gBAAgB,EAEhBC,aAAc37B,GAAYmO,aAE1BytB,MAAO57B,GAAY6tB,MACnBgO,gBAAiB,GACjBC,eAAgB,GAChBC,iBAAkB,GAClB5U,cAAeA,GACf6U,YAAa,GACbC,gBAAiBlC,EAAY,GAC7BmC,iBAAkBnC,EAAY,GAC9BoC,eAAgBpC,EAAY,GAC5BqC,YAAa,MACbC,8BAA+B3Q,GAAgB9X,KAAK0oB,MAAQ,GAC5DC,WAAYv8B,GAAYw8B,UAExBC,6BAA8B,CAE5BC,0B9ChtFe,K8CitFfC,mBAAoBrX,GAAsB/iB,KAC1Cq6B,sBAAuBtX,GAAsBxa,QAC7C+xB,uBAAwBvX,GAAsBza,SAC9CiyB,sBAAuBxX,GAAsB7a,QAC7CsyB,oBAAqBzX,GAAsB9iB,MAE3Cw6B,mBAAoB1X,GAAsBrjB,KAE1Cg7B,0BAA2B/4C,OACzBohC,GAAsBta,aAGxBkyB,wBAAyBh5C,OAAOohC,GAAsBva,WACtDoyB,2BACE1D,GAAmBQ,EAA0Br2C,WAAa,GAC5Dw5C,2BACE3D,GAAmBQ,EAA0Bn2C,WAAa,GAC5Du5C,2BACE5D,GAAmBQ,EAA0Bl2C,WAAa,GAC5Du5C,2BACE7D,GAAmBQ,EAA0Bj2C,WAAa,GAC5Du5C,SAAQv9B,GAAY6tB,UAEhB7tB,GAAYyM,gBAAgBC,aAC5B1M,GAAYyM,gBAAgBC,WACzBlkB,cACAqB,SAASmW,GAAYyM,gBAAgBygB,QAAQ1kC,iBActDg1C,wBAAyB,CACvBC,sBACEhE,GAAmBS,EAAqBt2C,WAAa,GACvD85C,sBACEjE,GAAmBS,EAAqBp2C,WAAa,GACvD65C,sBACElE,GAAmBS,EAAqBn2C,WAAa,GACvD65C,sBACEnE,GAAmBS,EAAqBl2C,WAAa,GACvD65C,qB9ClwFe,K8CmwFfC,cAAe5Y,GAAiB3iB,KAChCw7B,iBAAkB7Y,GAAiBpa,QACnCkzB,kBAAmB9Y,GAAiBra,SACpCozB,iBAAkB/Y,GAAiBza,QACnCyzB,eAAgBhZ,GAAiB1iB,MACjCitB,cAAevK,GAAiBjjB,KAChC+tB,qBAAsB9rC,OAAOghC,GAAiBla,aAC9C8kB,mBAAoB5rC,OAAOghC,GAAiBna,WAC5CwyB,SAAQv9B,GAAY6tB,UAEhB7tB,GAAYyM,gBAAgBC,aAC5B1M,GAAYyM,gBAAgBC,WACzBlkB,cACAqB,SAASmW,GAAYyM,gBAAgBygB,QAAQ1kC,iBAQtD21C,OAAQ,GACR7xC,iBAAkB,GAClB8xC,uBAAwB,IAG1BC,mBAAoB,GAEpBC,eAAgB,CACdprB,gBAAiBoX,G9C7xFQ,K8C+xFrBtqB,GAAYo6B,YAAYmE,Y9C9xFR,KAFG,K8CmyFvBC,kBAAmBjW,GACnBkW,a9CryFkB,M8CsyFlB5L,UAAW9K,GACX2W,mBAAoBvyC,SAASs8B,IAC7BR,WAAYA,GACZ8M,UAAWjK,GAAU,EAAI,EACzB6T,gBACyB,gDAAvB1T,GACI,IACA,IACN0J,IAAKxM,GACLU,mBAAoB18B,SAAS08B,IAC7BuK,aAAczK,GACd2B,UAAWA,GACXsU,2BAA4BvW,GAC5BwW,uBAAyBxW,GASrB,KARA,CACE,CACEyW,qBAAsBrzB,GAAcM,YACpCgzB,mBAAoBtzB,GAAcI,OAClCmzB,yBAA0BvzB,GAAcK,aAAe,MACvDmzB,SAAUxzB,GAAcE,WAKlC2R,UAAWnxB,SAAS4mB,IAIhBmsB,EAA8B,GACzB,EACFt0C,EAAI,EAlPjB,aAkPoBA,EAAI2+B,GAAY5lC,QAlPpC,qBAmPU4lC,GAAY3+B,GAAGynC,iBAAkB9I,GAAY3+B,GAAGuiC,gBAnP1D,wBAoPcgS,GAAgBrF,GAAa,UACjCvQ,GAAY3+B,UADqB,iBACjC,EAAgBuiC,uBADiB,aACjC,EAAiCC,eAE7BgS,GAAsB97C,GAA2B,UACrDimC,GAAY3+B,UADyC,iBACrD,EAAgBuiC,uBADqC,aACrD,EAAiCzH,gBAAgB7b,aADI,UAErD0f,GAAY3+B,UAFyC,iBAErD,EAAgBuiC,uBAFqC,OAErD,EAAiCzH,gBAAgBliC,MAzP3D,KA4PQ07C,EA5PR,eA8PY3V,GAAY3+B,UA9PxB,iBA8PY,EAAgBuiC,uBA9P5B,aA8PY,EAAiC4F,kBA9P7C,KA+Peje,KAAM,UAACyU,GAAY3+B,UAAb,iBAAC,EAAgBuiC,uBAAjB,aAAC,EAAiCiF,KAAKrd,OAChD,cAhQZ,eAkQqBwU,GAAY3+B,UAlQjC,iBAkQqB,EAAgBuiC,uBAlQrC,aAkQqB,EAAiCyF,sBAlQtD,KAsQqBuM,GAAc,GAtQnC,KAuQsBA,GAAc,GAvQpC,KAwQoBA,GAAc,GAxQlC,KAyQ8BhzC,SAAQ,UAC1Bo9B,GAAY3+B,UADc,iBAC1B,EAAgBuiC,uBADU,aAC1B,EAAiC8F,eA1Q7C,KA4QwC,CAC5ByJ,0B9Ch2Fa,K8Ci2FbC,mBAAkB,UAChBpT,GAAY3+B,UADI,iBAChB,EAAgBuiC,uBADA,aAChB,EAAiCzH,gBAAgBnjB,KACnDq6B,sBAAqB,UACnBrT,GAAY3+B,UADO,iBACnB,EAAgBuiC,uBADG,aACnB,EAAiCzH,gBAAgB5a,QACnD+xB,uBAAsB,UACpBtT,GAAY3+B,UADQ,iBACpB,EAAgBuiC,uBADI,aACpB,EAAiCzH,gBAAgB7a,SACnDiyB,sBAAqB,UACnBvT,GAAY3+B,UADO,iBACnB,EAAgBuiC,uBADG,aACnB,EAAiCzH,gBAAgBjb,QACnDsyB,oBAAmB,WACjBxT,GAAY3+B,UADK,mBACjB,GAAgBuiC,uBADC,cACjB,GAAiCzH,gBAAgBljB,MACnDw6B,mBAAkB,WAChBzT,GAAY3+B,UADI,mBAChB,GAAgBuiC,uBADA,cAChB,GAAiCzH,gBAAgBzjB,KACnDg7B,0BAAyB,WACvB1T,GAAY3+B,UADW,mBACvB,GAAgBuiC,uBADO,cACvB,GAAiCzH,gBAAgB1a,YACnDkyB,wBAAuB,WACrB3T,GAAY3+B,UADS,mBACrB,GAAgBuiC,uBADK,cACrB,GAAiCzH,gBAAgB3a,UACnDoyB,2BAA4B1D,GAC1B2F,GAAoBx7C,UAEtBw5C,2BAA4B3D,GAC1B2F,GAAoBt7C,UAEtBu5C,2BAA4B5D,GAC1B2F,GAAoBr7C,UAEtBu5C,2BAA4B7D,GAC1B2F,GAAoBp7C,UAEtBu5C,QAAQ,GA1SpB,KA4SmC,CACvBE,sBAAuBhE,GACrB2F,GAAoBx7C,UAEtB85C,sBAAuBjE,GACrB2F,GAAoBt7C,UAEtB65C,sBAAuBlE,GACrB2F,GAAoBr7C,UAEtB65C,sBAAuBnE,GACrB2F,GAAoBp7C,UAEtB65C,qB9C54Fa,K8C64FbC,cAAa,WACXvU,GAAY3+B,UADD,mBACX,GAAgBuiC,uBADL,cACX,GAAiCzH,gBAAgBnjB,KACnDw7B,iBAAgB,WACdxU,GAAY3+B,UADE,mBACd,GAAgBuiC,uBADF,cACd,GAAiCzH,gBAAgB5a,QACnDkzB,kBAAiB,WACfzU,GAAY3+B,UADG,mBACf,GAAgBuiC,uBADD,cACf,GAAiCzH,gBAAgB7a,SACnDozB,iBAAgB,WACd1U,GAAY3+B,UADE,mBACd,GAAgBuiC,uBADF,cACd,GAAiCzH,gBAAgBjb,QACnDyzB,eAAc,WACZ3U,GAAY3+B,UADA,mBACZ,GAAgBuiC,uBADJ,cACZ,GAAiCzH,gBAAgBljB,MACnDitB,cAAa,WACXlG,GAAY3+B,UADD,mBACX,GAAgBuiC,uBADL,cACX,GAAiCzH,gBAAgBzjB,KACnD+tB,qBAAoB,WAClBzG,GAAY3+B,UADM,mBAClB,GAAgBuiC,uBADE,cAClB,GAAiCzH,gBAAgB1a,YACnD8kB,mBAAkB,WAChBvG,GAAY3+B,UADI,mBAChB,GAAgBuiC,uBADA,cAChB,GAAiCzH,gBAAgB3a,UACnDwyB,QAAQ,GA1UpB,iBA4UsBhU,GAAY3+B,UA5UlC,mBA4UsB,GAAgBuiC,uBA5UtC,cA4UsB,GAAiC2F,gBA5UvD,iBA6UevJ,GAAY3+B,UA7U3B,mBA6Ue,GAAgBuiC,uBA7U/B,cA6Ue,GAAiCuF,kBA7UhD,iBA8UwBnJ,GAAY3+B,UA9UpC,mBA8UwB,GAAgBuiC,uBA9UxC,cA8UwB,GAAiCgG,kBA9UzD,iBA+UwB5J,GAAY3+B,UA/UpC,mBA+UwB,GAAgBuiC,uBA/UxC,cA+UwB,GAAiCxD,cA/UzD,iBAgViBJ,GAAY3+B,UAhV7B,mBAgViB,GAAgBuiC,uBAhVjC,cAgViB,GAAiCwF,WAhVlD,UAiVmC2G,GACvB/P,GACA3+B,EACA,QApVZ,sCAwVkB0uC,GAA4B/P,GAAa3+B,EAAG,SAxV9D,uCAyV2BA,GAzV3B,MA2VgBA,EA3VhB,OA6PU4zC,kBA7PV,KA+PUpM,IA/PV,KAkQUS,UAlQV,KAmQUwM,SAAU,EACVC,wBAAwB,EACxBC,SAAS,EACTh5B,UAtQV,KAuQUi5B,WAvQV,KAwQU/4B,SAxQV,KAyQUi4B,mBAzQV,KA4QUjC,6BA5QV,KA4SUe,wBA5SV,KA4UUvV,WA5UV,MA6UU0M,IA7UV,MA8UUvB,aA9UV,MA+UUnB,aA/UV,MAgVUD,MAhVV,MAiVUyN,kBAjVV,MAsVUC,uBAtVV,MAyVUC,WAzVV,MA2VU/Q,KA3VV,YA4PoC1gB,KA5PpC,iBA6VgB,EA7VhB,QAkP4CtjB,IAlP5C,2BAgWIwX,EAAM,oBAA0B88B,EAE5BA,GAA+BA,EAA4Bv7C,SAC7Dye,EAAM,YAAiB,GAEnBw9B,GAA6B,KAC/B/b,IAAeE,GAAe,GAtWtC,iBAuWe8b,GAAI,EAvWnB,aAuWsBA,GAAItW,GAAY5lC,QAvWtC,wBAwWcm8C,GAAuBvW,GAAYsW,IACnCE,GAAejG,GAAa,OAACgG,SAAD,IAACA,QAAD,EAACA,GAAsB7S,aACnD+S,GAAqB18C,GACzBw8C,GAAqBta,eAAe3b,aACpCi2B,GAAqBta,eAAehiC,MA5W9C,MA+WQo8C,GA/WR,MAgXe9qB,KAAOgrB,GAAqB/W,QAAQhU,OAAO,cAhX1D,MAkXmB+qB,GAAqBzN,eAlXxC,MAmXqB0N,GAAa,GAnXlC,MAoXsBA,GAAa,GApXnC,MAqXoBA,GAAa,GArXjC,MAuXwC,CAC5BrD,0B9C38Fa,K8C48FbC,mBAAoBmD,GAAqBta,eAAejjB,KACxDq6B,sBACEkD,GAAqBta,eAAe1a,QACtC+xB,uBACEiD,GAAqBta,eAAe3a,SACtCiyB,sBACEgD,GAAqBta,eAAe/a,QACtCsyB,oBAAqB+C,GAAqBta,eAAehjB,MACzDw6B,mBAAoB8C,GAAqBta,eAAevjB,KACxDg7B,0BACE6C,GAAqBta,eAAexa,YACtCkyB,wBACE4C,GAAqBta,eAAeza,UACtCoyB,2BAA4B1D,GAC1BuG,GAAmBp8C,UAErBw5C,2BAA4B3D,GAC1BuG,GAAmBl8C,UAErBu5C,2BAA4B5D,GAC1BuG,GAAmBj8C,UAErBu5C,2BAA4B7D,GAC1BuG,GAAmBh8C,UAErBu5C,QAAQ,GAlZpB,MAoZmC,CACvBE,sBAAuBhE,GACrBuG,GAAmBp8C,UAErB85C,sBAAuBjE,GACrBuG,GAAmBl8C,UAErB65C,sBAAuBlE,GACrBuG,GAAmBj8C,UAErB65C,sBAAuBnE,GACrBuG,GAAmBh8C,UAErB65C,qB9Cp/Fa,K8Cq/FbC,cAAegC,GAAqBta,eAAejjB,KACnDw7B,iBAAkB+B,GAAqBta,eAAe1a,QACtDkzB,kBAAmB8B,GAAqBta,eAAe3a,SACvDozB,iBAAkB6B,GAAqBta,eAAe/a,QACtDyzB,eAAgB4B,GAAqBta,eAAehjB,MACpDitB,cAAeqQ,GAAqBta,eAAevjB,KACnD+tB,qBACE8P,GAAqBta,eAAexa,YACtC8kB,mBAAoBgQ,GAAqBta,eAAeza,UACxDwyB,QAAQ,GA3apB,MA6awBuC,GAAqB3W,YA7a7C,MA8aiB2W,GAAqB/N,SA9atC,UA+amCyH,GACvBsG,GACAD,GACA,QAlbZ,sCAubkBrG,GACJsG,GACAD,GACA,SA1bd,2BA6bgBA,GA7bhB,MA8b2B37C,OAAM,OAAC47C,SAAD,IAACA,QAAD,EAACA,GAAsB5N,eA9bxD,OAgXUE,IAhXV,MAiXUiN,SAAU,EACVE,QAlXV,MAmXUh5B,UAnXV,MAoXUi5B,WApXV,MAqXU/4B,SArXV,MAsXUi4B,mBAAoB,IACpBjC,6BAvXV,MAoZUe,wBApZV,MA6aUvL,aA7aV,MA8aUD,MA9aV,MA+aUyN,kBA/aV,MAqbUC,uBArbV,MA6bU9Q,KA7bV,MA8bUqR,gBA9bV,aA+WmC/xB,KA/WnC,0BAuW8C2xB,KAvW9C,wBAkcIz9B,EAAM,mBAAyBw9B,GAE/B31C,QAAQC,IAAI,6BAA2Bq/B,IAGnC2W,GACF99B,EAAM,gBAAN,6BACE+9B,GACF/9B,EAAM,gBAAN,wBAGC89B,GAA2B/C,4BAC1BgD,GAAsB1C,uBACtByC,GAA2B9C,4BACzB+C,GAAsBzC,uBACxBwC,GAA2B7C,4BACzB8C,GAAsBxC,uBACxBuC,GAA2B5C,4BACzB6C,GAAsBvC,uBACxBsC,GAA2BvD,oBACzBwD,GAAsBrC,eACxBoC,GAA2BtD,uBACzBuD,GAAsBpC,kBACxBmC,GAA2BrD,wBACzBsD,GAAsBnC,mBACxBkC,GAA2BpD,uBACzBqD,GAAsBlC,kBACxBiC,GAA2BnD,qBACzBoD,GAAsBjC,gBACxBgC,GAA2BlD,oBACzBmD,GAAsB1Q,eAC1BzvB,GAAYmO,aAEZ/L,EAAM,gBAAN,sBAAoD,EAGlDA,EAAM,gBAAN,uBADE0e,GAI4C,KAAnC,OAAX9gB,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,0BACrBh+B,EAAOymB,0BACPzmB,EAAO2yB,iBACP3yB,EAAOu8B,iBAGhBx8B,GAAgBk+B,GAAgBj+B,GA/epC,gCAifIsoB,GAAe,mCACfhd,GAAa,GAlfjB,iEAptFoD,sBA4sGpD,SAAS2yB,GAAehpC,GAGtB,GAFAqW,GAAa,GACbzjB,QAAQC,IAAI,oBACPmN,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,OACf6W,GAAa,QAEb,GAAIrW,EAAIS,KAAM,CAGZ,IAAIwoC,EAAgB,CAAC,+CAQfrzB,GAPasc,GAAYlhC,QAAO,SAACk4C,GAAD,OACpCD,EAAcz2C,SAAS02C,EAAIlT,qBAAqBjtC,SAMlBwZ,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,OAE5D2M,EAAwB4mB,QAAU72B,GAClCiQ,EAAwBxL,OAASyF,GACjC9G,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBuzB,GAAqBlhD,GAAaE,SAClCghD,GAAqBlhD,GAAaC,aAClCg3B,GAAW,CAAEG,OAAQ,kBAAmBlpB,MAAO,kBAG/C,IAAMsK,EAAO,CACX0gB,UACEzB,GAAgBC,aAAaQ,YAAYC,wBAC3CwW,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBue,yBAA0BnuB,GAAY8P,mBACtCse,mBAAoBpuB,GAAYmO,aAChCkgB,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,GAI3BihB,GAAiBC,UACfO,GAAgBvC,aAAaQ,YAAYC,yBAG3C7J,EAAQM,KAAKuyB,WAIbj2B,EAAWnT,EAAIR,OACf6W,GAAa,GAhkBnBzjB,QAAQC,IACN,kBACA8V,GAAYyM,gBAAgBwF,WAE5B,CACEkoB,gBAAe,iBAAEn6B,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0BjoB,oBAA5B,QAA4C,GAC3DkoB,iBAAgB,iBAAEr6B,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0B/nB,sBAA5B,QAA8C,GAC9DioB,eAAc,iBAAEt6B,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0B7nB,mBAA5B,QAA2C,KA0f7DtoB,QAAQC,IAAI,cAAe6hC,IA6Y3B,IAQM2U,GAAwB,SAACtgD,EAAcuJ,EAAezK,GAC1D,IACE,IAAM6xC,EAAQn3B,KAAKC,MAAMD,KAAK2G,UAAUgpB,KACxC,GAAa,yBAATnpC,EAAiC,CACnC2wC,EAAMpnC,GAAOvJ,GAAQ,CAAEA,KAAI,OAAElB,QAAF,IAAEA,OAAF,EAAEA,EAAOC,SAEb,iDAAd,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOC,WACT4xC,EAAMpnC,GAAOvJ,GAAQ,CACnBA,KAAI,OAAElB,QAAF,IAAEA,OAAF,EAAEA,EAAOC,QACbD,MAAO,WAAayK,EAAQ,KAGhC,IAAIg3C,EAAiB5a,GAErB,GAAoB,IAAX,OAAL7mC,QAAK,IAALA,OAAA,EAAAA,EAAOA,OAAY,CACrB,IAAI0hD,EAAqBhnC,KAAKC,MAC5BD,KAAK2G,UAAUsrB,KAEjB+U,EAAmBj3C,GAAnB,eAA8C,CAC5Cu8B,SAAS,EACTG,aAAa,GAEfyF,GAAyB8U,GACZ,GAATj3C,IACFg3C,EAAe/a,WAAWqL,MAA1B,eAAuC5P,IACvCsf,EAAe/a,WAAWib,UAA1B,eAA2Cxf,IAC3C2E,GAAoB2a,IAGT,GAATh3C,IACFg3C,EAAe9a,WAAWoL,MAA1B,eAAuC5P,IACvCsf,EAAe9a,WAAWgb,UAA1B,eAA2Cxf,IAC3C2E,GAAoB2a,IAGT,GAATh3C,IACFg3C,EAAe7a,aAAamL,MAA5B,eAAyC5P,IACzCsf,EAAe7a,aAAa+a,UAA5B,eAA6Cxf,IAC7C2E,GAAoB2a,QAEjB,CACL,IAAIC,EAAqBhnC,KAAKC,MAC5BD,KAAK2G,UAAUsrB,KAEjB+U,EAAmBj3C,GAAnB,eAA8C,CAC5Cu8B,SAAS,EACTG,aAAa,GAEfyF,GAAyB8U,GACZ,GAATj3C,WACKg3C,EAAe/a,WAAWqL,aAC1B0P,EAAe/a,WAAWib,UACjC7a,GAAoB2a,IAET,GAATh3C,WACKg3C,EAAe9a,WAAWoL,aAC1B0P,EAAe9a,WAAWgb,UACjC7a,GAAoB2a,IAET,GAATh3C,WACKg3C,EAAe7a,aAAamL,aAC5B0P,EAAe7a,aAAa+a,UACnC7a,GAAoB2a,IAGxBhW,IAAyB,OACP,8BAATvqC,GACT2wC,EAAMpnC,GAAN,2BAAgDzK,EAChDyrC,IAAyB,IAEzBoG,EAAMpnC,GAAOvJ,GAAQlB,EA8BvB,GA3BIA,GACE6xC,EAAMpnC,GAAN,OAAyBonC,EAAMpnC,GAAN,MAAsBvJ,KACjD6J,QAAQC,IAAI,uBAAwB6mC,EAAMpnC,GAAN,OAEpConC,EAAMpnC,GAAN,MAAsBvJ,QAAQ6C,GAIrB,WAAT7C,GAAqB6zB,GAAc/0B,GAAS,IAC9C6xC,EAAMpnC,GAAN,gBAAiC,EACjConC,EAAMpnC,GAAN,gBAAkC,GAClConC,EAAMpnC,GAAN,kCAAuD,IACvDonC,EAAMpnC,GAAN,+CACKg3B,IAELoQ,EAAMpnC,GAAN,+BAAmD,GACjC,WAATvJ,GAAqB6zB,GAAc/0B,IAAU,KACtD6xC,EAAMpnC,GAAN,wBAA6C,GAC7ConC,EAAMpnC,GAAN,oBAAyC,GACzConC,EAAMpnC,GAAN,sBAA2C,GAC3ConC,EAAMpnC,GAAN,wBAA6C,GAC7ConC,EAAMpnC,GAAN,oBAAyC,GACzConC,EAAMpnC,GAAN,iBAAsC,GAEtConC,EAAMpnC,GAAN,gBAAiC,GAGtB,kBAATvJ,GACmB,IAAjB2jC,GACF,IAAK,IAAIn5B,EAAI,EAAGA,EAAIm5B,GAAcn5B,IAChC,GAAIA,IAAMjB,EAAO,CACf,IAAMm3C,GAAe,IAAM58C,OAAOhF,KAAW6kC,GAAe,GAC5DgN,EAAMnmC,GAAN,cAA4Bk2C,EAMpCtX,GAAeuH,GAEf3wB,OAAOC,aAAa0gC,WAAW,cAC/B1gC,aAAa6M,QAAQ,aAActT,KAAK2G,UAAUwwB,IAClD,MAAOl6B,GACP5M,QAAQC,IAAI,sBAAuB2M,KAIjC8hC,GAAwB,SAAChvC,EAAevJ,EAAclB,GAC1D,IAAM6xC,EAAQn3B,KAAKC,MAAMD,KAAK2G,UAAUgpB,KAC3B,WAATnpC,GAAqB2wC,EAAMpnC,GAAOvJ,GACpC2wC,EAAMpnC,GAAN,MAAsBvJ,GAAQ,KAE9B2wC,EAAMpnC,GAAN,MAAsBvJ,GAAQlB,EAEhCsqC,GAAeuH,IAGXiQ,GAAgC,SACpC5gD,EACAuJ,EACAzK,GAEA,IAgFW,EAhFL6xC,EAAQn3B,KAAKC,MAAMD,KAAK2G,UAAUgpB,KACxC,GAAa,yBAATnpC,EASF,GARA2wC,EAAMpnC,GAAN,gBAAgCvJ,GAAQ,CAAEA,KAAI,OAAElB,QAAF,IAAEA,OAAF,EAAEA,EAAOC,SAChC,iDAAd,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOC,WACT4xC,EAAMpnC,GAAN,gBAAgCvJ,GAAQ,CACtCA,KAAI,OAAElB,QAAF,IAAEA,OAAF,EAAEA,EAAOC,QACbD,MAAO,YAAcyK,EAAQ,KAGjCghC,IAAyB,GACL,IAAX,OAALzrC,QAAK,IAALA,OAAA,EAAAA,EAAOA,OAAY,CACrB,IAAI0hD,EAAqBhnC,KAAKC,MAC5BD,KAAK2G,UAAUsrB,KAEjB+U,EAAmBj3C,GAAnB,gBAA+C,CAC7Cu8B,SAAS,EACTG,aAAa,GAEfyF,GAAyB8U,GACzB,IAAID,EAAiB5a,GACR,GAATp8B,IACFg3C,EAAe/a,WAAWuH,gBAAkB,GAC5CwT,EAAe/a,WAAWuH,gBAAgB8D,MAA1C,eACK5P,IAELsf,EAAe/a,WAAWuH,gBAAgB0T,UAA1C,eACKxf,IAEL2E,GAAoB2a,IAET,GAATh3C,IACFg3C,EAAe9a,WAAWsH,gBAAkB,GAC5CwT,EAAe9a,WAAWsH,gBAAgB8D,MAA1C,eACK5P,IAELsf,EAAe9a,WAAWsH,gBAAgB0T,UAA1C,eACKxf,IAEL2E,GAAoB2a,IAET,GAATh3C,IACFg3C,EAAe7a,aAAaqH,gBAAkB,GAC9CwT,EAAe7a,aAAaqH,gBAAgB8D,MAA5C,eACK5P,IAELsf,EAAe7a,aAAaqH,gBAAgB0T,UAA5C,eACKxf,IAEL2E,GAAoB2a,QAEjB,CACL,IAAIC,EAAqBhnC,KAAKC,MAC5BD,KAAK2G,UAAUsrB,KAEjB+U,EAAmBj3C,GAAnB,gBAA+C,CAC7Cu8B,SAAS,EACTG,aAAa,GAEfyF,GAAyB8U,GACrBD,EAAiB5a,GACR,GAATp8B,GAAcg3C,EAAe/a,WAAWuH,yBACnCwT,EAAe/a,WAAWuH,gBACjCnH,GAAoB2a,IAET,GAATh3C,GAAcg3C,EAAe9a,WAAWsH,yBACnCwT,EAAe9a,WAAWsH,gBACjCnH,GAAoB2a,IAET,GAATh3C,GAAcg3C,EAAe7a,aAAaqH,yBACrCwT,EAAe7a,aAAaqH,gBACnCnH,GAAoB2a,QAGN,mCAATvgD,GACT2wC,EAAMpnC,GAAN,2CAAmEzK,EACnEyrC,IAAyB,IAEzBoG,EAAMpnC,GAAN,gBAAgCvJ,GAAQlB,EAGtCA,IACE6xC,EAAMpnC,GAAN,kBAAyBonC,EAAMpnC,GAAN,aAAzB,aAAyB,EAAuBvJ,QAClD2wC,EAAMpnC,GAAN,MAAsBvJ,QAAQ6C,IAElCumC,GAAeuH,GAEf3wB,OAAOC,aAAa0gC,WAAW,cAC/B1gC,aAAa6M,QAAQ,aAActT,KAAK2G,UAAUwwB,KAUpD,SAASkQ,GAAmBC,GAC1B9Y,GAAgB8Y,GAChB12B,EAAW,IACX3F,GAAS,IALX5a,QAAQC,IAAI,mBAAoBq5B,GAAkB,KAAMR,IAOxD,IAAMiX,GAAiB,WAAO,IAAD,MACvBmH,EAAc,GAClB,QAC6Cl+C,KAAhC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BjoB,gBACf,OAAXnS,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,mBAA0BjoB,oBAA1B,eAAwCxuB,QAAS,EACjD,CAAC,IAAD,cAKE,EAQA,IAXF,GADAw9C,GAAyB,OAAXnhC,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BjoB,cAAe,SAERlvB,KAAlC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0B/nB,kBACf,OAAXrS,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,mBAA0B/nB,sBAA1B,eAA0C1uB,QAAS,EAEnDw9C,GAAW,OAAInhC,SAAJ,IAAIA,IAAJ,UAAIA,GAAao6B,mBAAjB,aAAI,EAA0B/nB,eACtCnP,MAAM,KACNe,KAAK,KAEV,QAC4ChhB,KAA/B,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0B7nB,eACf,OAAXvS,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,mBAA0B7nB,mBAA1B,eAAuC5uB,QAAS,EAEhDw9C,GAAyB,OAAXnhC,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0B7nB,aACpC4uB,EAAc,KAAd,OAAoBnhC,SAApB,IAAoBA,IAApB,UAAoBA,GAAao6B,mBAAjC,aAAoB,EAA0B7nB,aAC9C4uB,EAMR,OAHmB,MAAfA,QAAsCl+C,GAAfk+C,GAA2C,IAAfA,IACrDA,EAAcnhC,GAAYyM,gBAAgBygB,SAErCiU,GAET,OACE,yBAAKviD,UAAW,gBAAkB2P,EAAY,QAAU,KACtD,2BAAO3P,UAAU,mBAAjB,mBAEA,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,qBACA,kBAAC,GAAD,CACEqG,aAAc+0C,KACdzyC,UAAU,EACVH,KAAK,OACLU,SAAS,iCAGb,8BACE,8BAAUP,SAAUgH,IAChB67B,IACA,oCAEE,kBAAC,GAAD,CACEpgB,WAAYkb,GACZ5Z,WACGtL,GAAY6tB,OACX7tB,GAAY4P,OACZ5P,GAAYmO,gBACbyc,GAEH3f,aAAa,kBACbG,YAAY,YACZZ,WAAYA,EACZE,gBAAiB,SAACE,GAChBua,GAAoBva,GACpBkW,IAAmByE,GAAyB3a,GAC5C3gB,QAAQC,IACNo7B,GACA,kCAGJ3a,cAAe4b,GACflb,kBAAmB,WACjBphB,QAAQC,IAAI,mBAMd8V,GAAYmO,cACZ,kBAAC,GAAD,CACEnE,WAAYsb,GACZha,UACEtL,GAAY6tB,OACZ7tB,GAAY4P,OACZ5P,GAAYmO,aAEdlD,aAAa,uBACbG,YAAY,iBACZZ,WAAYA,EACZE,gBAAiB6a,GACjB5a,cAAe8b,GACfvb,iBAAe,EACfC,YAAa2V,GACbzV,kBAl5DhB,SAA2BniB,GACC,yBAAtBA,EAAMlD,OAAO5F,KAEZ4f,GAAYmO,cACZnO,GAAY4P,OACZ5P,GAAY6tB,QAEb/M,IAAmByE,GAAyB,eAAK5E,MAChDG,IAAmByE,GAAyB,eAAKL,KAC7CpE,IACH2F,GAAgB,IAElBK,IAAoBhG,OAGrBiG,IAAiBpB,GAAmB,eAAKH,KAC1CwB,IAAkBD,SA04Dd,yBAAKnoC,UAAU,2BACb,yBAAKA,UAAU,IACb,2BAAOA,UAAU,YAAjB,cACA,kBAAC,GAAD,CACEqG,aAAciiB,GACdvhB,QAASf,GACT2C,UAAU,EAEVN,OAAQ,SAAC4P,GAAD,OACNyT,EAAU,2BACLD,GADI,IAEPnD,MAAOrQ,EAAMlR,QAAU,GAAKkf,GAAShK,QAGzC9T,YAAY,iBACZ5B,UAAWklB,EAAOnD,MAClBjhB,SAAO,EACPmB,KAAK,MACLQ,OACEoY,GAAYikB,KAAKxiB,SAAWyF,IAClB,KAAVA,KACA2d,IACCL,IACAH,GAGC,qCAFA,uBAAGzlC,UAAU,mBAKjB2H,UAAW,MAGd89B,IACC,yBAAKzlC,UAAU,WACb,kBAAC,GAAD,CACEwI,KAAK,SACLqH,QAAQ,oBACRF,UAAWA,EACXhH,SACEinB,OAAO+pB,OAAO,CAACluB,EAAOnD,QAAQsxB,MAAK,SAAC3hC,GAAD,OAAWA,MACpC,KAAVqQ,GAEFvf,QAAS,kBAAMwuC,GAAQ,eAK9B3R,KAAkBH,IACjB,yBAAKzlC,UAAU,SACb,kBAAC,GAAD,CACE4O,MAAM,mBACN4X,SAAU,GACVtB,MAAM,OACNje,SAAU,SAACyC,GAAD,OAAS2K,GAAY,SAAU3K,IACzCid,cAAe,kBAAM4wB,GAAQ,WAC7B9xB,WAAYA,GACZF,WAAYA,MAmEjBwgB,IACC,oCAEGpB,GAAiB7qB,kBAChB6qB,GAAiB3qB,oBAChB2qB,GAAiB7qB,iBAAiB/U,OAAS,GAC1C4/B,GAAiB3qB,kBAAkBjV,OAAS,IAC5C,oCACE,yBAAK/E,UAAU,SACb,2BAAOA,UAAU,mBAAjB,uBAKF,yBAAKA,UAAU,SACb,2BAAOA,UAAU,eAAjB,+JAMD2kC,GAAiB7qB,kBAChB6qB,GAAiB7qB,iBAAiB7N,KAChC,SAAC7B,EAAqBW,GAAtB,OACE,oCACE,2BAAO/K,UAAU,QACjB,kBAAC,GAAD,CACEuM,IAAKxB,EACLA,MAAOA,EACPvC,KAAK,QACLiF,OAAQrD,EACRyD,aAAcw2B,GACdj3B,qBAAsBA,GACtBnG,SAAU,SAAC3G,GAAD,OACRi4C,GAAiB,QAASxtC,EAAOzK,IAEnC+H,OAAQ,SAAC/H,GAAD,OACNw4C,GAAe,QAAS/tC,EAAOzK,IAEjC2X,MAAK,OAAE7N,QAAF,IAAEA,OAAF,EAAEA,EAAM6N,YAKtB0sB,GAAiB3qB,mBAChB2qB,GAAiB3qB,kBAAkB/N,KACjC,SAAC7B,EAAqBW,GAAtB,OACE,kBAAC,GAAD,CACEwB,IAAKxB,EACLA,MAAOA,EACPvC,KAAK,SACLiF,OAAQrD,EACRyD,aAAcs2B,GACd/2B,qBAAsBA,GACtBnG,SAAU,SAAC3G,GAAD,OACRi4C,GAAiB,SAAUxtC,EAAOzK,IAEpC+H,OAAQ,SAAC/H,GAAD,OACNw4C,GAAe,SAAU/tC,EAAOzK,IAElC2X,MAAK,OAAE7N,QAAF,IAAEA,OAAF,EAAEA,EAAM6N,WAIpB0sB,GAAiBgU,iBAChBhU,GAAiBgU,gBAAgB1sC,KAC/B,SAAC7B,EAAqBW,GAAtB,OACE,kBAAC,GAAD,CACEwB,IAAKxB,EACLA,MAAOA,EACPvC,KAAK,OACLiF,OAAQrD,EACRyD,aAAcs2B,GACd/2B,qBAAsBA,GACtBnG,SAAU,SAAC3G,GAAD,OACRi4C,GAAiB,OAAQxtC,EAAOzK,IAElC+H,OAAQ,SAAC/H,GAAD,OACNw4C,GAAe,OAAQ/tC,EAAOzK,IAEhC2X,MAAK,OAAE7N,QAAF,IAAEA,OAAF,EAAEA,EAAM6N,YAQ3B,yBAAKjY,UAAU,SACb,2BAAOA,UAAU,mBAAjB,sBAEF,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,UACA,kBAAC,GAAD,CACEqG,aAAc8nB,GACdjgB,QAAS61B,GACT31B,SAAU,SAAC1E,GACT4+B,GAAU5+B,GACV6jC,GAAe,KAEjBvtC,UAAU,aAGd,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,kBACA,kBAAC,GAAD,CACEqG,aAAckiC,GACdr6B,QAAS21B,GACTz1B,SAAU,SAAC1E,GAAD,OAAS8+B,GAAiB9+B,IACpC1J,UAAU,aAGd,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,wDAGA,kBAAC,GAAD,CACEqG,aAAcoiC,GACdv6B,QAASjL,GACTmL,SAAU,SAAC1E,GAAD,OAASg/B,GAAkBh/B,IACrC1J,UAAU,UACVwO,KAAM,CACJC,IAAuB,MAAlB85B,IAAoC,MAAXpa,GAC9Bzf,IAAKzL,GAAyB,GAAG3C,MACjCN,UAAW,mBAIjB,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YACK,OAAnByoC,GAA0B,SAAW,SADxC,gBAGA,kBAAC,GAAD,CACErkC,UAAQ,EACRyD,WAAS,EACTxB,aAAcuiC,GACdjgC,WACGqjC,KACD5qB,GAAYyM,gBAAgB8a,aAC5BvnB,GAAYyM,gBAAgB8a,WAAW7jC,QAIzCuD,OAAQ,SAAC4P,GAAD,OACNyT,EAAU,2BACLD,GADI,IAGPgd,eAAgBxwB,EAAM7T,SAClB6hB,GAAShK,IACT,OAGRhV,SAAU,SAACyC,GAAD,OACRm/B,GAAsB2Z,GAAgB94C,KAExCnD,UAAWklB,EAAOgd,eAClBtgC,YAAY,oBACZK,KAAK,OACLU,SAAS,2BAGb,yBAAKlJ,UAAU,SACb,2BAAOA,UAAU,YAAjB,sBACA,kBAAC,GAAD,CACEoE,UAAQ,EACRyD,WAAS,EACTxB,aAAc4iC,GACdtgC,YACEyY,GAAY6tB,OACZ7tB,GAAYyM,gBAAgBmb,gBAC5B5nB,GAAYyM,gBAAgBmb,eAAelkC,QAI7CuD,OAAQ,SAAC4P,GAAD,OACNyT,EAAU,2BACLD,GADI,IAGPwd,WAAYhxB,EAAM7T,SACd6hB,GAAShK,IACT,OAGRhV,SAAU,SAACyC,GAAD,OAASw/B,GAAcsZ,GAAgB94C,KACjDnD,UAAWklB,EAAOwd,WAClB9gC,YAAY,qBACZK,KAAK,UAKT,yBAAKxI,UAAU,SACb,2BAAOA,UAAU,mBAAjB,yBAEF,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,kCAGA,kBAAC,GAAD,CACEwB,KAAK,mBACL6E,aAAY,UACVs9B,GAAc1lB,MACZ,SAAC7T,GAAD,OAAUA,EAAK9J,QAAU6oC,aAFjB,aACV,EAEG5oC,QAEL4J,eAAgB,SAACT,GAAD,OACd0/B,GAAmB1/B,EAAG,QAExBG,aAAc,EACdgB,QAAS84B,GACTt7B,OAAQ,SAACqB,GAAD,OAASqvC,GAAa,mBAAoBrvC,IAClDC,UAAU,UACVxB,YAAY,sCACZ0D,UAAU,4CACVtF,UAAWklB,EAAO0d,iBAClBt8B,aAAa,KAGjB,yBAAK7M,UAAU,SACb,2BAAOA,UAAU,YAAjB,mBACA,kBAAC,GAAD,CACEwB,KAAK,aACL6E,aAAY,UACVk9B,EAAetlB,MAAK,SAAC7T,GAAD,OAAUA,EAAK9J,QAAU+oC,aADnC,aACV,EACI9oC,QAEN4J,eAAgB,SAACT,GAAD,OACd4/B,GAAc5/B,EAAG,QAEnBG,aAAc,EACdgB,QAAS04B,EACTl7B,OAAQ,SAACqB,GAAD,OAASqvC,GAAa,aAAcrvC,IAC5CC,UAAU,UACVxB,YAAY,yBACZ0D,UAAU,yCACVtF,UAAWklB,EAAO4d,WAClBx8B,aAAa,KAGjB,yBAAK7M,UAAU,SACb,2BAAOA,UAAU,YAAjB,8BACA,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACb,2BACEA,UAAU,aACVyiD,YAAa,kBAAMzd,IAAe,IAClC0d,aAAc,kBAAM1d,IAAe,KAHrC,WAOCD,IACC,kBAAC,GAAD,CACEx0B,MAAOC,KAAgBC,SAAW,QAAU,SAE5C,yBAAKzQ,UAAU,eACb,qKAWZ,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE6O,QAA0B,MAAjB06B,GACTtiC,SAAU,kBAAMo7C,GAAmB,MACnC7gD,KAAK,iBACLoN,MAAM,sCAGR,kBAAC,GAAD,CACE5O,UAAU,QACV6O,QAA0B,MAAjB06B,GACTtiC,SAAU,kBAAMo7C,GAAmB,MACnC7gD,KAAK,iBACLoN,MAAM,+CAGR,kBAAC,GAAD,CACE5O,UAAU,QACV6O,QAA0B,MAAjB06B,GACTtiC,SAAU,kBAAMo7C,GAAmB,MACnC7gD,KAAK,iBACLoN,MAAM,UAGV,yBAAK5O,UAAU,SACb,2BAAOA,UAAU,YAAjB,gGACA,yBAAKA,UAAU,SACb,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACE6O,QAAS46B,GACTxiC,SAAU,WAMJwkB,EAJFsB,QAIEtB,EAHFyB,YAGEzB,EAFF0B,YAJa,IAKVw1B,EALS,aAMVl3B,EANU,yCAOdC,EAAUi3B,GACVjZ,IAAkB,IAEpBloC,KAAK,cACLoN,MAAM,SAGV,yBAAK5O,UAAU,qBACb,kBAAC,GAAD,CACE6O,SAAU46B,GACVxiC,SAAU,kBAAMyiC,IAAkB,IAClCloC,KAAK,cACLoN,MAAM,WAKZ66B,IACA,kBAAC,GAAD,CACEzc,YAAaA,GACbH,cAAeA,GACfC,mBAAoBye,GACpB9f,OAAQA,EACRC,UAAWA,IAGf,yBAAK1rB,UAAU,SACb,2BAAOA,UAAU,YAAjB,iBACA,kBAAC,GAAD,CACEwB,KAAK,eACL6E,aAAY,UACVo9B,GAAWxlB,MAAK,SAAC7T,GAAD,OAAUA,EAAK9J,QAAUqpC,aAD/B,aACV,EACIppC,QAEN4J,eAAgB,SAACT,GAAD,OACdkgC,GAAgBlgC,EAAG,QAErBG,aAAc,EACdgB,QAAS44B,GACT95B,UAAU,UACVxB,YAAY,oCACZ0D,UAAU,4CACVtF,UAAWklB,EAAOke,aAClBthC,OAAQ,SAACqB,GAAD,OAASqvC,GAAa,eAAgBrvC,IAC9CmD,aAAa,KAGjB,yBAAK7M,UAAU,SACb,2BAAOA,UAAU,YAAjB,aACA,kBAAC,GAAD,CACEqH,SAAO,EACPjD,UAAQ,EACRuD,UAAW,EACXpD,IAAK,KACL8B,aAAcwjC,GACdxhC,OAAQ,SAAC4P,GAAD,OACNyT,EAAU,2BACLD,GADI,IAEPoe,SACE5xB,EAAM7T,UAAY6T,EAAM1T,IAEpB0hB,GAAShK,IACT,OAGV1V,UAAWklB,EAAOoe,SAClB5iC,SAAU,SAACyC,GAAD,OAASogC,GAAYpgC,IAC/BvB,YAAY,mBAIhB,yBAAKnI,UAAU,SACb,2BAAOA,UAAU,YAAjB,kBACA,kBAAC,GAAD,CACEwB,KAAK,OACL2I,eAAgB,SAAC7J,GAAD,OA51BhC,SAAkBiM,EAAajM,GAC7B0pC,GAAgB1pC,GA41BA2G,CAAS,EAAQ3G,EAAK,WAExBuJ,aAAc,EACdgB,QAASuiC,GACT/kC,OA71BhB,SAAwB/H,GAEpBorB,EADmB,kBAAVprB,EACC,2BAAKmrB,GAAN,IAAcse,aAAc,KAE3B,2BACLte,GADI,IAEPse,aAAc9jB,GAAShK,QAw1BbtS,UAAU,WACVxB,YAAY,aACZ0D,UAAU,mCACVtF,UAAWklB,EAAOse,aAClBl9B,aAAa,EACbtC,eAAe,EACflE,aAAc0jC,MAz/HJ,WAAO,IAAD,MAC1B6Y,GAAqB,EAQzB,OANgD,QAAnC,OAAXxhC,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,uBACoBn9C,KAAnC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,kBACoB,KAAnC,OAAXpgC,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,mBAE1BoB,GAAY,GAEPA,EAigIIC,GACC,oCACE,yBAAK7iD,UAAU,iBACb,yBAAKA,UAAU,UACb,2BAAOA,UAAU,YAAjB,uFAKF,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEgP,KAAM0+B,GACNzmC,SAAU,YA1gIR,IAAlBymC,IACFD,GACE,+EAEFE,IAAiB,KAEjBF,GAAmB,IACnBE,IAAiB,SAugIJD,IACC,yBAAK1tC,UAAU,SACb,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACE6O,QAAgC,MAAvBo7B,GACThjC,SAAU,kBAAMijC,GAAsB,MACtC1oC,KAAK,qBACLoN,MAAM,aAGV,yBAAK5O,UAAU,qBACb,kBAAC,GAAD,CACE6O,QAAgC,MAAvBo7B,GACThjC,SAAU,kBAAMijC,GAAsB,MACtC1oC,KAAK,qBACLoN,MAAM,gBAKd,yBAAK5O,UAAU,iBACb,yBAAKA,UAAU,UACb,2BAAOA,UAAU,YAAjB,oEAOF,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEwB,KAAK,UACLwN,KAAMk9B,GACNvjC,SAAoD,IAA1CyY,GAAYo6B,YAAYsH,cAClC77C,SAAU,WAENklC,GADa,GAAXD,SASXK,IACC,oCACE,yBAAKvsC,UAAU,kBACb,kBAAC,GAAD,CACE6O,QAASq9B,GACT1qC,KAAK,iBACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,kOAQF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,QAASq9B,GACT1qC,KAAK,iBACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,oOAQF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,QAASq9B,GACT1qC,KAAK,iBACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,mFAKF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,QAASq9B,GACT1qC,KAAK,iBACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,uEAON,wBACE+I,QAAS,kBAAMyjC,IAAmBD,KAClCvsC,UAAU,kBAFZ,QAIQusC,GAAiB,OAAS,QAElC,yBAAKvsC,UAAU,SACb,2BAAOA,UAAU,0BACdosC,KAGL,yBAAKpsC,UAAU,SAEb,2BAAOA,UAAU,WAAjB,oBACA,kBAAC,GAAD,CACEwB,KAAK,qBACL6E,aAAY,UACVm8B,GAAgBvkB,MACd,SAAC7T,GAAD,OAAUA,EAAK7J,UAAY8rC,aAFnB,aACV,EAEG9rC,QAEL4J,eAAgB,SAACT,GAAD,OACd4iC,GAAsB5iC,EAAInJ,UAE5BsJ,aAAc,EACdgB,QAAS23B,GACTn6B,OAAQ,SAACqB,GAAD,OA5wBG6C,EA6wBa,0BA3wBtCmf,EADa,kBA4wB+ChiB,EA3wBlD,2BAAK+hB,GAAN,mBAAelf,EAAM,gCACpB,2BAAKkf,GAAN,mBAAelf,OAAMlI,KAHpC,IAA+BkI,GA+wBXhG,UAAWklB,EAAO4gB,mBAClB1iC,UAAU,UACVxB,YAAY,sBACZ0E,aAAa,IAEf,gFACwB,OAAvBw/B,SACwBhoC,IAAvBgoC,KACkB,OAAlBA,SAAkB,IAAlBA,QAAA,EAAAA,GAAoBtnC,QAAS,GAE3B,2CADFsnC,IAEE,wBAAIrsC,UAAU,gBAAd,qWAUJ,wBACE+I,QAAS,kBAAM8jC,IAAsBD,KACrC5sC,UAAU,kBAET4sC,GAAoB,YAAc,cAGtCA,IACC,oCACE,2BAAO5sC,UAAU,aAAjB,qGAIA,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,SAAS,EACTrN,KAAK,cACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,4EAKF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,SAAS,EACTrN,KAAK,cACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,oGAIK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,SAAS,EACTrN,KAAK,cACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,gCAGK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,SAAS,EACTrN,KAAK,cACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,4EAIK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,SAAS,EACTrN,KAAK,cACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,gFAIK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,SAAS,EACTrN,KAAK,cACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,oIAKK,IACP,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE6O,SAAS,EACTrN,KAAK,cACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,6hBAkBR,sCAIAqjC,GACA,yBAAKrjC,UAAU,iBACb,yBAAKA,UAAU,UACb,2BAAOA,UAAU,YAAjB,0DAGA,6BACA,2BAAOA,UAAU,cAAjB,wDAIF,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEwB,KAAK,cACLmH,SAAU06B,EACVr0B,KAAMi2B,GACNh+B,SAAU,WAcJwkB,EAZF0oB,kBAYE1oB,EAXFuoB,sBAWEvoB,EAVF+iB,cAUE/iB,EATFyoB,gBASEzoB,EARF8oB,kBAQE9oB,EAPFsf,cAOEtf,EANFsoB,WAMEtoB,EALF4iB,YAKE5iB,EAJF8e,YAIE9e,EAHF0nB,SAGE1nB,EAFF0Z,aAZa,IAaVwd,EAbS,aAcVl3B,EAdU,wLAeRs3B,EAAkB9d,IACA,IAApB8d,IACFnY,GAAe,IACfxF,GAAgB,IAElB1Z,EAAUi3B,GACVzd,IAAgB6d,GAChBjX,GAAe,SAqBxB7G,IACC,oCACE,yBAAKjlC,UAAU,SACb,2BAAOA,UAAU,YAAjB,iCAGA,kBAAC,GAAD,CACEwB,KAAK,eAEL2I,eAAgB,SAACT,GACf,IAAMs5C,EAAoB19C,OAAOoE,EAAG,OAC9Bu5C,EAAuB39C,OAAO6/B,IAC9B+d,EACJF,EAAoBC,EAEhBE,EAAyBnoC,KAAKC,MAClCD,KAAK2G,UAAUgpB,KAGXyY,GACJ,IAAMJ,GACNK,QAAQ,GACVh4C,QAAQC,IACN,wBACA83C,GAGF,IAAME,EAAuB,CAC3BC,EACwB,IAAtBP,EACI,GACA19C,OAAO89C,GACbI,EACwB,IAAtBR,EACI,GACA19C,OAAO89C,GACbK,EACwB,IAAtBT,EACI,GACA19C,OAAO89C,IAGf/3C,QAAQC,IAAI,kBAAmBg4C,GAE/B,IAAK,IAAIt3C,EAAI,EAAGA,EAAIk3C,EAA8Bl3C,IAChDm3C,EAAuB7zB,KAAK,CAC1BrX,MAAO,GACP2uB,eAAgB7E,KAIpB,IAAK,IAAI/1B,EAAI,EAAGA,EAAIg3C,EAAmBh3C,IACrCm3C,EAAuBn3C,GAAvB,cACEs3C,EAAgBt3C,EAAI,GAIxB,IAAI03C,EACFT,EAAuBD,EAKzB,GAJA33C,QAAQC,IACN,8BACAo4C,GAEEA,EAAqB,EACvB,IAAK,IAAI13C,EAAI,EAAGA,EAAI03C,EAAoB13C,IACtCX,QAAQC,IAAI,wBAAyBU,GACrCm3C,EAAuBQ,MAI3B/Y,GAAeuY,GACf/d,GAAgB17B,EAAG,QAErBrD,aAAY,UACV8mC,GAAYlvB,MAAK,SAAC2lC,GAAD,OAAOA,EAAEtjD,QAAU6kC,aAD1B,aACV,EACI5kC,QAENsK,QAASsiC,GACT9kC,OAAQ,SAACqB,GAAD,OAASqvC,GAAa,eAAgBrvC,IAC9CnD,UAAWklB,EAAO0Z,aAClBx7B,UAAU,UACVE,aAAc,EACdgD,aAAW,EACX1E,YAAY,MACZqE,aAAW,KAGd24B,GAAe,GACdgI,GAAY0W,MAAM,EAAG1e,IAAcl5B,KAAI,SAACiN,EAAMnO,GAAW,IAAD,8VACtD,OACE,kBAAC,IAAM+4C,SAAP,CAAgBv3C,IAAKxB,GACnB,yBAAK/K,UAAU,SACb,2BAAOA,UAAU,mBAAjB,WACW+K,EAAQ,EADnB,aAIF,yBAAK/K,UAAU,SACb,2BAAOA,UAAU,YAAjB,aACA,yBAAKA,UAAU,WACb,yBAAKA,UAAU,eACb,kBAAC,GAAD,CACEwB,KAAK,WACL6E,aAAY,UACVm+B,GAAgBvmB,MACd,SAAC7T,GAAD,aACEA,EAAK9J,SAAL,UACAqqC,GAAY5/B,UADZ,aACA,EAAoBooC,oBAJd,aACV,EAIG5yC,QAEL4J,eAAgB,SAACT,GACfo4C,GACE,WACA/2C,EACArB,EAAG,QAGPmB,QAAS25B,GACTn8B,OAAQ,SAACqB,GAAD,OACNqwC,GACEhvC,EACA,WACe,kBAARrB,EACHuc,GAAShK,SACT5X,IAGRkC,UAAS,UACPokC,GAAY5/B,UADL,iBACP,EAAoBkN,aADb,aACP,EAA2Bk7B,SAE7BxpC,UAAU,UACVE,aAAc,EACdgD,aAAW,EACX1E,YAAY,MACZqE,aAAW,KAGf,yBAAKxM,UAAU,WACb,kBAAC,GAAD,CACEoE,UAAQ,EACRyD,WAAS,EACTQ,OAAQ,SAAC4P,GAAD,OACN8hC,GACEhvC,EACA,cACAkN,EAAM7T,SAEF6hB,GAAShK,SACT5X,IAGRkC,UAAS,UACPokC,GAAY5/B,UADL,iBACP,EAAoBkN,aADb,aACP,EAA2Bo2B,YAE7BhoC,aAAY,UAAEskC,GAAY5/B,UAAd,aAAE,EAAoBsjC,YAClCpnC,SAAU,SAACyC,GACT2B,QAAQC,IAAI,qBAAsB5B,GAElCo4C,GACE,cACA/2C,EACAy3C,GAAgB94C,KAGpBlB,KAAK,OACLL,YAAY,gBAKpB,yBAAKnI,UAAU,SACb,2BAAOA,UAAU,YAAjB,YACA,kBAAC,GAAD,CACEwB,KAAK,cACL6E,aAAY,UACV49B,GAAiBhmB,MACf,SAAC7T,GAAD,aACEA,EAAK9J,SAAL,UACAqqC,GAAY5/B,UADZ,aACA,EAAoBw/B,uBAJd,aACV,EAIGhqC,QAEL4J,eAAgB,SAACT,GACfo4C,GACE,cACA/2C,EACArB,EAAG,QAGPG,aAAc,EACdgB,QAASo5B,GACT57B,OAAQ,SAACqB,GAAD,OACNqwC,GACEhvC,EACA,cACe,kBAARrB,EAEHuc,GAAShK,SACT5X,IAGRkC,UAAS,UAAEokC,GAAY5/B,UAAd,iBAAE,EAAoBkN,aAAtB,aAAE,EAA2BsyB,YACtC5gC,UAAU,UACVxB,YAAY,aACZ0D,UAAU,uCACVgB,aAAa,KAGA,OAAhB09B,IACC,yBAAKvqC,UAAU,SACb,2BAAOA,UAAU,YAAjB,SACA,kBAAC,GAAD,CACEoE,UAAQ,EACRiE,OAAQ,SAAC4P,GAAD,OACN8hC,GACEhvC,EACA,mBACAkN,EAAM7T,SACF6hB,GAAShK,IACT,KAGR1V,UAAS,UACPokC,GAAY5/B,UADL,iBACP,EAAoBkN,aADb,aACP,EAA2B8rC,iBAE7B98C,SAAU,SAAC3G,GAAD,OACRwhD,GACE,mBACA/2C,EACAzK,IAGJkI,KAAK,OACLL,YAAY,eAKlB,kBAAC,GAAD,CACEijB,WAAU,UAAEuf,GAAY5/B,UAAd,aAAE,EAAoB67B,eAChCla,WAAW,EACXL,aAAa,gBACbG,YAAY,UACZZ,WAAYA,EACZE,gBAAiB,SAACxrB,GAAD,OACfwhD,GACE,iBACA/2C,EACAzK,IAGJyrB,cAAegc,GACftb,kBAAmB,eAKrB,yBAAKzsB,UAAU,SACb,2BAAOA,UAAU,YAAjB,qBAGA,kBAAC,GAAD,CACEqH,SAAO,EACPM,UAAW,EACXpD,IAAK,EACLE,IAAK,IACLL,UAAQ,EACRiE,OAAQ,SAAC4P,GAAD,OACN8hC,GACEhvC,EACA,gBACAkN,EAAM7T,UAAY6T,EAAM1T,KAAO0T,EAAMxT,IAEjCwhB,GAAShK,IACT,KAGR1V,WACE,UAAAokC,GAAY5/B,UAAZ,mBAAoBkN,aAApB,eAA2Bq7B,eAA3B,UACI3I,GAAY5/B,UADhB,iBACI,EAAoBkN,aADxB,aACI,EAA2Bq7B,cACU,IAArC,UAAA3I,GAAY5/B,UAAZ,eAAoBuoC,eACpBrtB,GAAShK,IACT,GAENhV,SAAU,SAAC3G,GACTwrC,GAAe,IACfgW,GACE,gBACA/2C,EACAzK,IAGJkI,KAAK,OACLL,YAAY,MACZ9B,aAAY,UAAEskC,GAAY5/B,UAAd,aAAE,EAAoBuoC,iBAMtC,yBAAKtzC,UAAU,SACb,2BAAOA,UAAU,YAAjB,qCAGA,kBAAC,GAAD,CACEwB,KAAK,uBACL6E,aAAY,UACVk8B,GAA0BtkB,MACxB,SAAC7T,GAAD,eACEA,EAAK7J,WAAL,UACAoqC,GAAY5/B,UADZ,iBACA,EAAoB0jC,4BADpB,aACA,EACIjtC,gBALE,aACV,EAKGjB,QAEL4J,eACE,SAACT,GAAD,OACEo4C,GACE,uBACA/2C,EACArB,IAKNG,aAAc,EACdgB,QAAS03B,GACTl6B,OAAQ,SAACqB,GAAD,OACNqwC,GACEhvC,EACA,uBACe,kBAARrB,EAEHuc,GAAShK,SACT5X,IAGRkC,UAAS,UACPokC,GAAY5/B,UADL,iBACP,EAAoBkN,aADb,aACP,EAA2Bw2B,qBAE7B9kC,UAAU,UACVxB,YAAY,YACZ0E,aAAa,KAwIf,oBADD,UAAA89B,GAAY5/B,UAAZ,mBAAoB0jC,4BAApB,eAA0CjtC,OAEzC,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,YAAjB,6CAGA,kBAAC,GAAD,CACEqH,SAAO,EACPjD,UAAQ,EACRuD,UAAW,EACXZ,QAAS,UACTyB,KAAK,OACLL,YAAY,WACZE,OAAQ,SAAC4P,GAAD,iBACN8hC,GACEhvC,EACA,4BACAkN,EAAM7T,WACJ,UAAAumC,GAAY5/B,UAAZ,mBAAoB0jC,4BAApB,mBACInuC,aADJ,eACWyE,QAAS,EAElBkhB,GAAShK,SACT5X,IAGRkC,UAAS,UACPokC,GAAY5/B,UADL,iBACP,EAAoBkN,aADb,aACP,EACI+rC,0BAEN39C,aAAY,UACVskC,GAAY5/B,UADF,iBACV,EAAoB0jC,4BADV,aACV,EACInuC,MAEN2G,SAAU,SAACyC,GAAD,OACRo4C,GACE,4BACA/2C,EACArB,OAOR,6BADD,UAAAihC,GAAY5/B,UAAZ,mBAAoB0jC,4BAApB,eAA0CjtC,OAEzC,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,YAAjB,iCAGA,kBAAC,GAAD,CACEqH,SAAO,EACPjD,UAAQ,EACRoE,KAAK,OACLb,UAAW,GACXU,OAAQ,SAAC4P,GAAD,iBACN8hC,GACEhvC,EACA,4BACAkN,EAAM7T,WACJ,UAAAumC,GAAY5/B,UAAZ,mBAAoB0jC,4BAApB,mBACInuC,aADJ,eACWyE,QAAS,EAElBkhB,GAAShK,IACT,KAGR1V,UAAS,UACPokC,GAAY5/B,UADL,iBACP,EAAoBkN,aADb,aACP,EACI+rC,0BAEN39C,aAAY,UACVskC,GAAY5/B,UADF,iBACV,EAAoB0jC,4BADV,aACV,EACInuC,MAEN2G,SAAU,SAACyC,GAAD,OACRo4C,GACE,4BACA/2C,EACArB,IAGJvB,YAAY,wBAKhB,sBADD,UAAAwiC,GAAY5/B,UAAZ,mBAAoB0jC,4BAApB,eAA0CjtC,OAEzC,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,YAAjB,kCAGA,kBAAC,GAAD,CACEqH,SAAO,EACPjD,UAAQ,EACRoE,KAAK,OACLb,UAAW,GACXU,OAAQ,SAAC4P,GAAD,iBACN8hC,GACEhvC,EACA,4BACAkN,EAAM7T,WACJ,UAAAumC,GAAY5/B,UAAZ,mBAAoB0jC,4BAApB,mBACInuC,aADJ,eACWyE,QAAS,EAElBkhB,GAAShK,IACT,KAGR1V,UAAS,UACPokC,GAAY5/B,UADL,iBACP,EAAoBkN,aADb,aACP,EACI+rC,0BAEN39C,aAAY,UACVskC,GAAY5/B,UADF,iBACV,EAAoB0jC,4BADV,aACV,EACInuC,MAEN2G,SAAU,SAACyC,GAAD,OACRo4C,GACE,4BACA/2C,EACArB,IAGJvB,YAAY,wBAKhB,iBADD,UAAAwiC,GAAY5/B,UAAZ,mBAAoB0jC,4BAApB,eAA0CjtC,OAEzC,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,YAAjB,aACA,kBAAC,GAAD,CACEA,UAAU,YACVoE,UAAQ,EACR2C,QAAShB,GACT4B,UAAW,GACXqB,OACEyhC,GAAS1/B,IAEK,QADd,UAAA4/B,GAAY5/B,UAAZ,mBAAoB0jC,4BAApB,eACInuC,aAEU+D,KADd,UAAAsmC,GAAY5/B,UAAZ,mBAAoB0jC,4BAApB,eACInuC,OACF,uBAAGN,UAAU,mBAEb,qCAGJqG,aAAY,UACVskC,GAAY5/B,UADF,kBACV,EAAoB0jC,4BADV,cACV,GACInuC,MAEN2G,SAAU,SAACyC,GAAD,OACRo4C,GACE,4BACA/2C,EACArB,EAAIzB,gBAGRI,OAAQ,SAAC4P,GAAD,OACN6hC,GACE7hC,EACAlN,EACA,8BAGJvC,KAAK,OACLL,YAAY,iBACZ5B,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GACI+rC,6BAOZ,yBAAKhkD,UAAU,SACb,2BAAOA,UAAU,YAAjB,yBAKA,kBAAC,GAAD,CACEm1B,aAAc,SAACL,GACbzpB,QAAQC,IAAI,mBAAoBwpB,GAChCgtB,GAAsB,SAAU/2C,EAAO+pB,IAEzCD,aACE,WAAA8V,GAAY5/B,UAAZ,iBAAoBo/B,QAChB,IAAInV,KAAJ,WAAS2V,GAAY5/B,UAArB,cAAS,GAAoBo/B,aAC7B9lC,EAEN2yB,gBAAiB,uBACjB5B,QAAS,IAAIJ,KACb6B,QACE,IAAI7B,MACF,IAAIA,MAAOivB,aACT,IAAIjvB,MAAOS,cAAgB,MAIjCptB,OAAQ,SAACnB,GACPmE,QAAQC,IAAI,iBAAkBpE,GAC9B6yC,GACEhvC,EACA,SACAkb,GAAShK,MAGbkb,WACE,WAAAwT,GAAY5/B,UAAZ,sBAAoBkN,aAApB,iBAA2BkyB,WAG9B,WAAAQ,GAAY5/B,UAAZ,sBAAoBkN,aAApB,iBAA2BkyB,SAC1B,2BAAOnqC,UAAU,YAAjB,WACG2qC,GAAY5/B,UADf,mBACG,GAAoBkN,aADvB,cACG,GAA2BkyB,UAOjC,WAAAQ,GAAY5/B,UAAZ,iBAAoB0oC,iBACnB,oCACE,yBAAKzzC,UAAU,SACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,yBAAKA,UAAU,eACb,kBAAC,GAAD,CACEwB,KAAK,aACL6E,aAAY,WACVm+B,GAAgBvmB,MACd,SAAC7T,GAAD,aACEA,EAAK9J,SAAL,UACAqqC,GAAY5/B,GAAZ,uBADA,aACA,EAEGgpC,sBANG,cACV,GAMGxzC,QAEL4J,eAAgB,SAACT,GAAD,OACd04C,GACE,aACAr3C,EACArB,EAAG,QAGPmB,QAAS25B,GACTn8B,OAAQ,SAACqB,GAAD,OACNqwC,GACEhvC,EACA,aACe,kBAARrB,EACHuc,GAAShK,SACT5X,IAGRkC,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GAA2B87B,WAE7BpqC,UAAU,UACVE,aAAc,EACdgD,aAAW,EACX1E,YAAY,MACZqE,aAAW,KAGf,yBAAKxM,UAAU,WACb,kBAAC,GAAD,CACEoE,UAAQ,EACRyD,WAAS,EACTQ,OAAQ,SAAC4P,GAAD,OACN8hC,GACEhvC,EACA,gBACAkN,EAAM7T,SAEF6hB,GAAShK,IACT,KAGR1V,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GAA2Bu2B,cAE7BnoC,aAAY,WACVskC,GAAY5/B,UADF,mBACV,GAAoBwjC,uBADV,cACV,GACIC,cAENvnC,SAAU,SAACyC,GAAD,OACR04C,GACE,gBACAr3C,EACAy3C,GAAgB94C,KAGpBlB,KAAK,OACLL,YAAY,0BAMpB,yBAAKnI,UAAU,SACb,2BAAOA,UAAU,YAAjB,4BAGA,kBAAC,GAAD,CACEwB,KAAK,gBACL6E,aAAY,WACV49B,GAAiBhmB,MACf,SAAC7T,GAAD,aACEA,EAAK9J,SAAL,UACAqqC,GAAY5/B,GAAZ,uBADA,aACA,EACIggC,yBALE,cACV,GAKGxqC,QAEL4J,eAAgB,SAACT,GAAD,OAEd04C,GACE,gBACAr3C,EACArB,EAAG,QAGPG,aAAc,EACdgB,QAASo5B,GACT57B,OAAQ,SAACqB,GAAD,OAENqwC,GACEhvC,EACA,gBACe,kBAARrB,EAEHuc,GAAShK,SACT5X,IAGRkC,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GAA2B8yB,cAE7BphC,UAAU,UACVxB,YAAY,aACZ0D,UAAU,uCACVgB,aAAa,KAGE,OAAlBk+B,IACC,yBAAK/qC,UAAU,SACb,2BAAOA,UAAU,YAAjB,SACA,kBAAC,GAAD,CACEoE,UAAQ,EACRiE,OAAQ,SAAC4P,GAAD,OAON8hC,GACEhvC,EACA,qBACAkN,EAAM7T,SACF6hB,GAAShK,IACT,KAGR1V,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GACIisC,mBAENj9C,SAAU,SAACyC,GAAD,OACR04C,GACE,qBACAr3C,EACArB,IAGJlB,KAAK,OACLL,YAAY,eAKlB,kBAAC,GAAD,CACEijB,WAAU,WACRuf,GAAY5/B,UADJ,mBACR,GAAoBwjC,uBADZ,cACR,GACIzH,gBAENpa,WAAW,EACXL,aAAa,iBACbG,YAAY,WACZZ,WAAYA,EACZE,gBAAiB,SAACpiB,GAAD,OACf04C,GACE,kBACAr3C,EACArB,IAGJqiB,cAAekc,GACf3b,iBAAe,EACfC,YAAW,WACToe,GAAY5/B,UADH,mBACT,GAAoBwjC,uBADX,cACT,GACIpG,cAEN1b,kBAAmB,SAACniB,GAAD,OAllHjD,SACEA,EACAS,GAEA,IAI4C,EAIxC,EAREo5C,EAAanpC,KAAKC,MAAMD,KAAK2G,UAAUgpB,KAC7CwZ,EAAWp5C,GAAX,+BACGo5C,EAAWp5C,GAAX,8BACH6/B,GAAeuZ,GACW,mBAAtB75C,EAAMlD,OAAO5F,MAEb2iD,EAAWp5C,GAAX,0CACAo5C,EAAWp5C,UADX,aACA,EAAmB67B,iBAEnBud,EAAWp5C,GAAX,0CACEo5C,EAAWp5C,UADb,aACE,EAAmB67B,eACrBgE,GAAeuZ,KAQjBA,EAAWp5C,GAAX,+CACKg3B,IAEL6I,GAAeuZ,IAyjHaC,CAA6B95C,EAAOS,MAMxC,yBAAK/K,UAAU,SACb,2BAAOA,UAAU,YAAjB,qCAGA,kBAAC,GAAD,CACEwB,KAAK,4BACL6E,aAAY,WACVk8B,GAA0BtkB,MACxB,SAAC7T,GAAD,eACEA,EAAK7J,WAAL,UACAoqC,GAAY5/B,GAAZ,uBADA,iBACA,EACI0jC,4BAFJ,aACA,EAC0BjtC,gBALpB,cACV,GAKGjB,QAEL4J,eAAgB,SAACT,GAAD,OACd04C,GACE,uBACAr3C,EACArB,IAGJG,aAAc,EACdgB,QAAS03B,GACTl6B,OAAQ,SAACqB,GAAD,OACNqwC,GACEhvC,EACA,4BACe,kBAARrB,EACHuc,GAAShK,SACT5X,IAGRkC,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GACIosC,0BAEN16C,UAAU,UACVxB,YAAY,YACZ0E,aAAa,KAgJf,oBAFD,WAAA89B,GAAY5/B,GAAZ,6CACG0jC,4BADH,iBACyBjtC,OAExB,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,YAAjB,6CAGA,kBAAC,GAAD,CACEqH,SAAO,EACPM,UAAW,EACXZ,QAAS,UACTyB,KAAK,OACLL,YAAY,WACZE,OAAQ,SAACqB,GAAD,OACNqwC,GACEhvC,EACA,iCACCrB,EAAI3C,aAED1C,EADA4hB,GAAShK,MAIjB1V,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GACIqsC,+BAENj+C,aAAY,WACVskC,GAAY5/B,GAAZ,uBADU,mBACV,GACI0jC,4BAFM,cACV,GAC0BnuC,MAE5B2G,SAAU,SAACyC,GAAD,OACR04C,GACE,iCACAr3C,EACArB,OAQR,6BAFD,WAAAihC,GAAY5/B,GAAZ,6CACG0jC,4BADH,iBACyBjtC,OAExB,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,YAAjB,iCAGA,kBAAC,GAAD,CACEqH,SAAO,EACPjD,UAAQ,EACRoE,KAAK,OACLb,UAAW,GACXU,OAAQ,SAAC4P,GAAD,iBACNyT,EAAU,2BACLD,GADI,IAEP64B,+BACErsC,EAAM7T,WACN,UAAAumC,GAAY5/B,GAAZ,0CACI0jC,4BADJ,mBAC0BnuC,aAD1B,eAEIyE,QAAS,EACTkhB,GAAShK,IACT,OAGV1V,UACEklB,EAAO64B,+BAETj+C,aAAY,WACVskC,GAAY5/B,GAAZ,uBADU,mBACV,GACI0jC,4BAFM,cACV,GAC0BnuC,MAE5B2G,SAAU,SAACyC,GAAD,OACR04C,GACE,iCACAr3C,EACArB,IAGJvB,YAAY,wBAMhB,sBAFD,WAAAwiC,GAAY5/B,GAAZ,6CACG0jC,4BADH,iBACyBjtC,OAExB,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,YAAjB,kCAGA,kBAAC,GAAD,CACEqH,SAAO,EACPjD,UAAQ,EACRoE,KAAK,OACLb,UAAW,GACXU,OAAQ,SAAC4P,EAAO3N,GAAW,IAAD,cAYjB,eAVoBjG,KAApB,OAALiG,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,eAAe9G,QACU,QAApB,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,eAAe9G,QACU,MAApB,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,eAAe9G,SACV,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,IAC1B,OAALuF,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,GAE/B2mB,EAAU,2BACLD,GADI,IAEP64B,+BAAgC,MAG9BrsC,EAAM7T,eAOiBC,KAApB,OAALiG,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,eAAe9G,QACU,QAApB,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,eAAe9G,QACU,MAApB,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,eAAe9G,SACV,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,EAT/B2mB,EAAU,2BACLD,GADI,IAEP64B,+BACEr+B,GAAShK,OAcbyP,EAAU,2BACLD,GADI,IAEP64B,+BAAgC,OAKxC/9C,UACEklB,EAAO64B,+BAETj+C,aAAY,WACVskC,GAAY5/B,GAAZ,uBADU,mBACV,GACI0jC,4BAFM,cACV,GAC0BnuC,MAE5B2G,SAAU,SAACyC,GAAD,OACR04C,GACE,iCACAr3C,EACArB,IAGJvB,YAAY,wBAMhB,iBAFD,WAAAwiC,GAAY5/B,GAAZ,6CACG0jC,4BADH,iBACyBjtC,OAExB,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,YAAjB,aACA,kBAAC,GAAD,CACEA,UAAU,YACVoE,UAAQ,EACR2C,QAAShB,GACT4B,UAAW,GACXqB,OACEyhC,GAAS1/B,IAGP,QAFF,WAAA4/B,GAAY5/B,GAAZ,6CACI0jC,4BADJ,iBAC0BnuC,aAIxB+D,KAFF,WAAAsmC,GAAY5/B,GAAZ,6CACI0jC,4BADJ,iBAC0BnuC,OAExB,uBAAGN,UAAU,mBAEb,qCAGJqG,aAAY,WACVskC,GAAY5/B,GAAZ,uBADU,mBACV,GACI0jC,4BAFM,cACV,GAC0BnuC,MAE5B2G,SAAU,SAACyC,GAAD,OACR04C,GACE,iCACAr3C,EACArB,EAAIzB,gBAGRI,OAAQ,SAAC4P,GAAD,OACN6hC,GACE7hC,EACAlN,EACA,mCAGJvC,KAAK,OACLL,YAAY,iBACZ5B,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GACIqsC,kCAMZ,yBAAKtkD,UAAU,SACb,2BAAOA,UAAU,YAAjB,0BAKA,kBAAC,GAAD,CACEm1B,aAAc,SAACL,GACbzpB,QAAQC,IAAI,mBAAoBwpB,IA5vKrC,SAACA,GAC5B,IAAMyvB,EAAQ,IAAIvvB,KACZwvB,EAAe,IAAIxvB,KAAKF,GAC1B2vB,EAAMF,EAAM9uB,cAAgB+uB,EAAa/uB,cACvCivB,EAAkBH,EAAMI,WAAaH,EAAaG,WASxD,OALED,EAAkB,GACG,IAApBA,GAAyBH,EAAMK,UAAYJ,EAAaI,YAEzDH,IAEEA,GAAO,GAgvKyBI,CAAqB/vB,GAOlBuR,IAAkB,IANvBA,IAAkB,GAClB+b,GACE,MACAr3C,EACA+pB,KAIND,aACE,WAAA8V,GAAY5/B,UAAZ,sBAAoBwjC,uBAApB,iBAAqCiF,KACjC,IAAIxe,KAAJ,WACE2V,GACE5/B,UAFJ,mBACE,GAEGwjC,uBAHL,cACE,GAEoBiF,UAEtBnvC,EAEN2yB,gBAAiB,uBACjB5B,QAAS,IAAIJ,KACb6B,QACE,IAAI7B,MACF,IAAIA,MAAOivB,aACT,IAAIjvB,MAAOS,cAAgB,MAIjCptB,OAAQ,SAACnB,GACPmE,QAAQC,IAAI,iBAAkBpE,IAOhCiwB,UACEiP,OAEI,WAAAuE,GAAY5/B,UAAZ,sBAAoBkN,aAApB,sBACIs2B,uBADJ,iBACqBiF,QAK5B,WAAA7I,GAAY5/B,UAAZ,sBAAoBkN,aAApB,sBAA2Bs2B,uBAA3B,iBACGiF,MACF,2BAAOxzC,UAAU,YAAjB,WAEI2qC,GAAY5/B,UAFhB,mBAEI,GAAoBkN,aAFxB,mBAEI,GAA2Bs2B,uBAF/B,cAEI,GACIiF,KAITpN,IACC,2BAAOpmC,UAAU,YAAjB,6BASJ,yBAAKA,UAAU,SACb,2BAAOA,UAAU,mBAAjB,yCAKF,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,6CAGA,kBAAC,GAAD,CACEwB,KAAK,wBACL6E,aAAY,WACVs9B,GAAc1lB,MACZ,SAAC7T,GAAD,aACEA,EAAK9J,SAAL,UACAqqC,GAAY5/B,GAAZ,uBADA,aACA,EACIipC,iCALE,cACV,GAKGzzC,QAEL4J,eAAgB,SAACT,GAAD,OAEd04C,GACE,wBACAr3C,EACArB,EAAG,QAGPG,aAAc,EACdgB,QAAS84B,GACTt7B,OAAQ,SAACqB,GAAD,OAENqwC,GACEhvC,EACA,wBACe,kBAARrB,EACHuc,GAAShK,SACT5X,IAGRkC,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GACI+7B,sBAENrqC,UAAU,UACVxB,YAAY,iDACZ0D,UAAU,4CACVgB,aAAa,KAIjB,yBAAK7M,UAAU,SACb,2BAAOA,UAAU,YAAjB,8BAGA,kBAAC,GAAD,CACEwB,KAAK,kBACL6E,aAAY,WACVk9B,EAAetlB,MACb,SAAC7T,GAAD,aACEA,EAAK9J,SAAL,UACAqqC,GAAY5/B,GAAZ,uBADA,aACA,EACImpC,2BALE,cACV,GAKG3zC,QAEL4J,eAAgB,SAACT,GAAD,OAEd04C,GACE,kBACAr3C,EACArB,EAAG,QAGPG,aAAc,EACdgB,QAAS04B,EACTl7B,OAAQ,SAACqB,GAAD,OAENqwC,GACEhvC,EACA,kBACe,kBAARrB,EACHuc,GAAShK,SACT5X,IAGRkC,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GAA2Bi8B,gBAE7BvqC,UAAU,UACVxB,YAAY,oCACZ0D,UAAU,yCACVgB,aAAa,KAIjB,yBAAK7M,UAAU,SACb,2BAAOA,UAAU,YAAjB,8BAGA,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACb,2BACEA,UAAU,aACVyiD,YAAa,kBAAMzd,IAAe,IAClC0d,aAAc,kBAAM1d,IAAe,KAHrC,WAOCD,IACC,kBAAC,GAAD,CACEx0B,MACEC,KAAgBC,SACZ,QACA,SAGN,yBAAKzQ,UAAU,eACb,0PAgBZ,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE6O,QAE4B,OAD1B,WAAA87B,GAAY5/B,GAAZ,wCACI+oC,mBAEN7sC,SAAU,kBAERm7C,GACE,oBACAr3C,EACA,MAGJvJ,KAAM,sBAAwBuJ,EAC9B6D,MAAM,sCAER,kBAAC,GAAD,CACE5O,UAAU,QACV6O,QAE4B,OAD1B,WAAA87B,GAAY5/B,GAAZ,wCACI+oC,mBAEN7sC,SAAU,kBAERm7C,GACE,oBACAr3C,EACA,MAGJvJ,KAAM,sBAAwBuJ,EAC9B6D,MAAM,+CAER,kBAAC,GAAD,CACE5O,UAAU,QACV6O,QAE4B,OAD1B,WAAA87B,GAAY5/B,GAAZ,wCACI+oC,mBAEN7sC,SAAU,kBAERm7C,GACE,oBACAr3C,EACA,MAGJvJ,KAAM,sBAAwBuJ,EAC9B6D,MAAM,UAIV,yBAAK5O,UAAU,SACb,2BAAOA,UAAU,YAAjB,iCAGA,kBAAC,GAAD,CACEwB,KAAK,oBACL6E,aAAY,WACVo9B,GAAWxlB,MACT,SAAC7T,GAAD,aACEA,EAAK9J,SAAL,UACAqqC,GAAY5/B,GAAZ,uBADA,aACA,EACIopC,6BALE,cACV,GAKG5zC,QAEL4J,eAAgB,SAACT,GAAD,OACd04C,GACE,oBACAr3C,EACArB,EAAG,QAGPrB,OAAQ,SAACqB,GAAD,OACNqwC,GACEhvC,EACA,oBACe,kBAARrB,EACHuc,GAAShK,SACT5X,IAGRkC,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GAA2Bk8B,kBAE7BtqC,aAAc,EACdgB,QAAS44B,GACT95B,UAAU,UACVxB,YAAY,+CACZ0D,UAAU,4CACVgB,aAAa,KAIjB,yBAAK7M,UAAU,SACb,2BAAOA,UAAU,YAAjB,6BAGA,kBAAC,GAAD,CACEqH,SAAO,EACPjD,UAAQ,EACRuD,UAAW,EACXpD,IAAK,KACL8B,aAAY,WACVskC,GAAY5/B,GAAZ,uBADU,cACV,GACIspC,cAEN9tC,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GAA2Bo8B,cAE7BptC,SAAU,SAACyC,GAAD,OACR04C,GACE,gBACAr3C,EACArB,IAGJrB,OAAQ,SAAC4P,GAAD,OACN8hC,GACEhvC,EACA,gBACAkN,EAAM7T,UAAY6T,EAAM1T,IACpB0hB,GAAShK,IACT,KAGR9T,YAAY,mBAIhB,yBAAKnI,UAAU,SACb,2BAAOA,UAAU,YAAjB,kCAGA,kBAAC,GAAD,CACEwB,KAAK,OACL2I,eAAgB,SAACT,GAAD,OACd04C,GACE,oBACAr3C,EACArB,EAAG,WAGPG,aAAc,EACdgB,QAASuiC,GAET/kC,OAAQ,SAAC/H,GAAD,OACNy5C,GACEhvC,EACA,oBACiB,kBAAVzK,EACH2lB,GAAShK,SACT5X,IAGRkC,UAAS,WACPokC,GAAY5/B,UADL,mBACP,GAAoBkN,aADb,cACP,GAA2Bs8B,kBAE7B5qC,UAAU,WACVxB,YAAY,aACZ0D,UAAU,mCAEVgB,aAAa,EACbtC,eAAe,EACflE,aAAY,WACVskC,GAAY5/B,GAAZ,uBADU,cACV,GACIwpC,2BAsC1B,6BAGC9lB,GAA2B,KAAhB8a,IACV,yBAAKvpC,UAAU,cAEb,kBAAC,GAAD,KACE,+BAAQyuB,KAQbA,GAA2B,KAAhB8a,IACV,yBAAKvpC,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQyuB,KAIbod,IACC,yBAAK7rC,UAAU,cACb,kBAAC,GAAD,KAAS6rC,KAGZa,IACC,yBAAK1sC,UAAU,cACb,kBAAC,GAAD,KAAS0sC,KAGZY,IACC,yBAAKttC,UAAU,cACb,kBAAC,GAAD,KAASstC,KAGZE,IACC,yBAAKxtC,UAAU,cACb,kBAAC,GAAD,KAASwtC,KAIb,yBAAKxtC,UAAU,SACb,kBAAC,GAAD,CACEwI,KAAK,SACLqH,QAAQ,SACRF,UAAWA,EACX5G,QAv8MoC,4CAw8MpCJ,SA/4LM,WAAO,IAAD,MACtBA,GAAoB,EAQxB,OANsD,QAAzC,OAAXyY,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,6BAC0BzgD,KAAzC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,yBAD1B,OAEA1jC,SAFA,IAEAA,IAFA,UAEAA,GAAao6B,mBAFb,aAEA,EAA0BsJ,yBAE1Bn8C,GAAW,GAENA,EAu4LSo8C,KACCrX,IACAjf,GAA2B,KAAhB8a,IAp6H9B,WAAoC,IAAD,IA8DjC,OA7DAl+B,QAAQC,IACN,4BACA,OACAskB,OAAO+pB,OAAOjS,IAAckS,MAAK,SAAC3hC,GAAD,OAAWA,KAC5C,WACA2X,OAAO+pB,OAAO7R,IAAa8R,MAAK,SAAC3hC,GAAD,OAAWA,KAC3C,UACA2X,OAAO+pB,OAAO/R,IAAcgS,MAAK,SAAC3hC,GAAD,OAAWA,KAC5C,wDACA2X,OAAO+pB,OAAO3R,IAAe4R,MAAK,SAAC3hC,GAAD,OAAWA,KAC7C,2DACA2X,OAAO+pB,OAAOrT,IAAkBsT,MAAK,SAACt5C,GAAD,OAAYA,KACjD,+DACAsvB,OAAO+pB,OAAOjT,IAAuBkT,MAAK,SAACt5C,GAAD,OAAYA,KACtD,yCACAqkC,GAAiB3qB,mBACf2qB,GAAiB3qB,kBAAkB4/B,MACjC,SAACt5C,GAAD,OAAWA,EAAM2X,SAAS,OAAC3X,QAAD,IAACA,OAAD,EAACA,EAAOoN,qBAEtC,wCACAi3B,GAAiB7qB,kBACf6qB,GAAiB7qB,iBAAiB8/B,MAChC,SAACt5C,GAAD,OAAWA,EAAM2X,SAAS,OAAC3X,QAAD,IAACA,OAAD,EAACA,EAAOoN,qBAEtC,yCACgB,OAAhBi3B,SAAgB,IAAhBA,QAAA,EAAAA,GAAkBgU,mBAAlB,OACEhU,SADF,IACEA,IADF,UACEA,GAAkBgU,uBADpB,aACE,EAAmCiB,MACjC,SAACt5C,GAAD,OAAWA,EAAM2X,SAAS,OAAC3X,QAAD,IAACA,OAAD,EAACA,EAAOoN,sBAEtC,mBACA8rC,KACA,oBACCzT,GACD,sBACCE,GACD,QACU,KAAV7nB,GACA,QACU,KAAVkK,GACA,qBAC8B,KAA9BsgB,GAAmB9jC,OACnB,aACsB,KAAtBmkC,GAAWnkC,OACX,mBACqB,KAArBqkC,GACA,aACe,KAAfE,GACA,kBACEI,KAC2B,KAA1B5c,GAAcE,SACa,WAAzBF,GAAcI,QACiB,KAA9BJ,GAAcK,aACc,KAA9BL,GAAcM,cAChB,WACW,KAAb0c,IAAmB,YACnBt8B,SAASs8B,IAAY,KAAQ,eACZ,KAAjBF,IAAuB,eACN,KAAjBI,IAAuB,SACvBte,EACAmE,OAAO+pB,OAAOluB,GAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,SAGtC2X,OAAO+pB,OAAOjS,IAAckS,MAAK,SAAC3hC,GAAD,OAAWA,MAC5C2X,OAAO+pB,OAAO7R,IAAa8R,MAAK,SAAC3hC,GAAD,OAAWA,MAC3C2X,OAAO+pB,OAAO/R,IAAcgS,MAAK,SAAC3hC,GAAD,OAAWA,MAC5C2X,OAAO+pB,OAAO3R,IAAe4R,MAAK,SAAC3hC,GAAD,OAAWA,MAC7C2X,OAAO+pB,OAAOrT,IAAkBsT,MAAK,SAACt5C,GAAD,OAAYA,MACjDsvB,OAAO+pB,OAAOjT,IAAuBkT,MAAK,SAACt5C,GAAD,OAAYA,MACrDqkC,GAAiB3qB,mBAChB2qB,GAAiB3qB,kBAAkB4/B,MACjC,SAACt5C,GAAD,OAAWA,EAAM2X,SAAS,OAAC3X,QAAD,IAACA,OAAD,EAACA,EAAOoN,sBAErCi3B,GAAiB7qB,kBAChB6qB,GAAiB7qB,iBAAiB8/B,MAChC,SAACt5C,GAAD,OAAWA,EAAM2X,SAAS,OAAC3X,QAAD,IAACA,OAAD,EAACA,EAAOoN,uBAErB,OAAhBi3B,SAAgB,IAAhBA,QAAA,EAAAA,GAAkBgU,mBAAlB,OACChU,SADD,IACCA,IADD,UACCA,GAAkBgU,uBADnB,aACC,EAAmCiB,MACjC,SAACt5C,GAAD,OAAWA,EAAM2X,SAAS,OAAC3X,QAAD,IAACA,OAAD,EAACA,EAAOoN,uBAEtC8rC,OACCzT,KACAE,IACS,KAAV7nB,IACU,KAAVkK,IAC8B,KAA9BsgB,GAAmB9jC,QACG,KAAtBmkC,GAAWnkC,QACU,KAArBqkC,IACe,KAAfE,KACEI,KAC2B,KAA1B5c,GAAcE,SACa,WAAzBF,GAAcI,QACiB,KAA9BJ,GAAcK,aACc,KAA9BL,GAAcM,cACL,KAAb0c,IACAt8B,SAASs8B,IAAY,KACJ,KAAjBF,IACiB,KAAjBI,IACAna,OAAO+pB,OAAOluB,GAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,MAk0HxB+sC,IACAxX,IACAd,IACgB,KAAhBY,MACGrI,IACc,GAAfA,MACE4G,IACc,KAAhBA,KACW,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAa9mC,QAAS,GACxBqhC,WElkNChlB,G,kCCzDd,SAAS6jC,KACd,IAAMC,EAAgBlqC,KAAKC,MACzBuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAEtDyjC,EAAUnqC,KAAKC,MAAMuG,OAAOkO,eAAehO,QAAQ,YAAc,MAGvE,GAFArW,QAAQC,IAAI,YAAa65C,GAGvBD,EAAcvzB,eACkB,KAAhCuzB,EAAcvzB,eACduzB,EAAc7xB,YACe,KAA7B6xB,EAAc7xB,aACb8xB,KACCD,EAAcj0B,gBAAkD,OAAhCi0B,EAAcE,oBAA0D/gD,IAAhC6gD,EAAcE,eAAgCF,EAAcE,eAEtI,OAAOliD,GAGJ,SAASusB,GAA4B41B,GAG1C,IAAMh3B,EACJg3B,GACArqC,KAAKC,MAAMuG,OAAOC,aAAaC,QAAQ,4BAA8B,MA4CvE,OA3CIkO,OAAOtgB,KAAK+e,GAAyBtpB,OAAS,IAChDqc,GAAYyQ,sBACVxD,EAAwBwD,uBAAyB,GACnDzQ,GAAYC,MAAQgN,EAAwBhN,OAAS,GACrDD,GAAYwQ,cAAgBvD,EAAwBsD,eAAiB,GACrEvQ,GAAYoyB,IAAMnlB,EAAwBmlB,KAAO,GACP,OAAtCnlB,EAAwB6mB,gBAA4D7wC,IAAtCgqB,EAAwB6mB,WAAiE,KAAtC7mB,EAAwB6mB,UAC3H9zB,GAAY8zB,UAAY7mB,EAAwB6mB,WAAa,GAE7D9zB,GAAY8zB,UAAYhf,KAAO7H,EAAwBmlB,KAAKrd,OAAO,cAIrE/U,GAAYyM,gBAAgB9nB,IAAMsoB,EAAwBtoB,KAAO,GACjEqb,GAAY0Q,OAASzD,EAAwB0mB,QAAU,GACvD3zB,GAAYkkC,UAAYj3B,EAAwBi3B,YAAa,EAC7DlkC,GAAYw8B,UAAYvvB,EAAwBuvB,WAAa,GAC7Dx8B,GAAYikB,KAAKjnB,MAAQiQ,EAAwB4mB,SAAW,GAC5D7zB,GAAYikB,KAAKxiB,OAASwL,EAAwBxL,QAAU,GAC5DzB,GAAYyM,gBAAgBwF,WAC1BhF,EAAwBgF,YAAc,GACxCjS,GAAYyM,gBAAgBygB,QAAUjgB,EAAwBigB,SAAW,GACzEltB,GAAYmO,aAAelB,EAAwBkB,eAAgB,EACnEnO,GAAY4P,MAA0C,OAAlC3C,EAAwB2C,YAAoD3sB,IAAlCgqB,EAAwB2C,OAAsB3C,EAAwB2C,MACpI5P,GAAY6tB,MAAQ5gB,EAAwB4gB,QAAS,EACrD7tB,GAAY6P,eACV5C,EAAwB4C,iBAAkB,EAC5C7P,GAAYgkC,cAAgB/2B,EAAwB+2B,gBAAiB,EACrEhkC,GAAYiiB,gBACVhV,EAAwBgV,kBAAmB,EAC7CjiB,GAAY8P,mBACV7C,EAAwB6C,qBAAsB,EAChD9P,GAAY61B,cAAchsB,aACxBoD,EAAwBk3B,iBAAmB,GAC7CnkC,GAAY61B,cAAcvzB,QACxB2K,EAAwBm3B,YAAc,GACxCpkC,GAAYg0B,OAAS/mB,EAAwB+mB,QAAU,GACvDh0B,GAAYyM,gBAAgB8a,WAC1Bta,EAAwBsa,YAAc,GACxCvnB,GAAYyM,gBAAgBmb,eAC1B3a,EAAwB2a,gBAAkB,IAE9C39B,QAAQC,IAAI,0DAA2DskB,OAAOtgB,KAAK+e,GAAyBtpB,QACrGspB,EAIF,SAASo3B,KAKd,OAHGrkC,GAAY+P,gBAAgB1nB,QAAO,SAACi8C,GAAD,OAAWA,EAAMhkD,cAAYqD,OAC/Dqc,GAAY+P,gBAAgBpsB,OAC9B,KACas+C,UAOV,SAASnI,GAAcyK,GAC5B,IAAMC,EAA6BD,EAChCrhC,MAAM,KACN7a,QAAO,SAACjI,GAAD,MAAmB,KAATA,KACdqkD,EAA4BD,EAAY7gD,OAE5C+gD,EAAgB,GAElB,QAAQ,GACN,KAAKD,GAAqB,EAIxB,MAAO,CAHQD,EAAY/B,MAAM,EAAGgC,EAAoB,GAAGxgC,KAAK,KAChEygC,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,SAASnD,GAAgBuD,GAC9B,OAAOA,EAAIxgD,QAAQ,eAAe,SAAC4G,GAAD,OAAOA,EAAElE,iBAGtC,SAAS+9C,GAAeC,GAC7B,OAAO,IAAIn2B,gBAAgBm2B,GAGtB,SAASC,GAAWC,GAIzB,OAHcA,EAAYlhD,UAAU,GACjBqf,MAAM,KAEb8hC,QAAO,SAACC,EAAcrhC,GAChC,IAAMshC,EAAsBthC,EAAQV,MAAM,KAE1C,OADA+hC,EAAInqB,mBAAmBoqB,EAAK,KAAOpqB,mBAAmBoqB,EAAK,IACpDD,IACN,IAGE,SAASrL,GAAmB5X,EAAiB72B,GAClD,IAAMg6C,EAAcvrC,KAAKC,MACvBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAE5C8kC,GAAkB,IAAIxxB,MAAOyxB,UAAYrjB,EAAUqjB,UAKzD,OAJAF,EAAYh6C,GAAOi6C,EAAU,IACzBhlC,OAAOuY,YAAc,KAAOvY,OAAOklC,aAAe,IACpDH,EAAYI,WAAa,SACtBJ,EAAYI,WAAa,UACvBJ,EAeF,SAASK,GAAaC,GAC3BzlC,GAAYo6B,YAAc,CACxBsL,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,MACtBlS,MAAOiR,EAAejR,MACtBP,WAAYwR,EAAexR,WAC3B0S,oBAAqBlB,EAAekB,oBACpCC,wBAAyBnB,EAAemB,wBACxCC,sBAAuBpB,EAAeoB,sBACtCC,oBAAqBrB,EAAeqB,oBACpCpF,cAAe+D,EAAe/D,cAC9BqF,iBAAkBtB,EAAesB,iBACjC3U,IAAKqT,EAAerT,IACpBmM,YAAakH,EAAeuB,YAC5B70B,aAAY,OAAEszB,QAAF,IAAEA,OAAF,EAAEA,EAAgBtzB,aAC9BE,eAAc,OAAEozB,QAAF,IAAEA,OAAF,EAAEA,EAAgBpzB,eAChCE,YAAW,OAAEkzB,QAAF,IAAEA,OAAF,EAAEA,EAAgBlzB,YAC7B00B,gBAAe,OAAExB,QAAF,IAAEA,OAAF,EAAEA,EAAgBwB,gBACjCC,YAAW,OAAEzB,QAAF,IAAEA,OAAF,EAAEA,EAAgByB,YAC7B9G,gBAAe,OAAEqF,QAAF,IAAEA,OAAF,EAAEA,EAAgBrF,gBACjC+G,cAAa,OAAE1B,QAAF,IAAEA,OAAF,EAAEA,EAAgB0B,cAC/BzD,sBAAqB,OAAE+B,QAAF,IAAEA,OAAF,EAAEA,EAAgB/B,sBACvC9xB,WAAU,OAAC6zB,QAAD,IAACA,OAAD,EAACA,EAAgB7zB,YAIxB,SAASw1B,KACd,OAA0D,IAAtD54B,OAAOtgB,KAAKmgB,MAA+B1qB,OACtC7B,GAEFA,GAGF,SAASulD,KASd,MANE,eAAetkD,KAAMqd,OAAeknC,cAEV,wCAEtBlnC,OAAD,QAA8BA,OAAD,OAA0BmnC,kBAF/Cn7C,WAqCR,SAASoiC,GACdgZ,EACAr8C,GAEA,IAAIs8C,EAAoC,GAaxC,OAZAt8C,EAAIc,SAAQ,SAACy7C,GACX,IAAIC,EAAuB,GAC3BH,EAAQv7C,SAAQ,SAAC2X,GACf,GAAI8jC,IAAM9jC,EAAQtC,SAAU,CAC1B,IAAIsJ,EAAa,eAAQ3rB,GACzB2rB,EAAIzrB,QAAUykB,EAAQgkC,YACtBh9B,EAAI1rB,MAAQ0kB,EAAQikC,UACpBF,EAAIz5B,KAAKtD,OAGb68B,EAAUv5B,KAAKy5B,MAEVF,EAGF,SAASxzB,GAAcme,GAE5B,IAgBI0V,EACAC,EAjBAC,EAAU5V,EAAI/d,cAChB4zB,EAAW7V,EAAImR,WACf2E,EAAU9V,EAAIoR,UAGZlH,EAAM,IAAI1oB,KAEVU,EAAcgoB,EAAIjoB,cAClB8zB,EAAe7L,EAAIiH,WACnB6E,EAAc9L,EAAIkH,UAMlB6E,EAAkB/zB,EAAc0zB,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,EACRzoD,KAAM0oD,GAGGO,MAiBN,SAAS9H,GAAqBjgD,GACnC,IAAIioD,EAAqCxoC,GAAY+P,gBAC/C9C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,OAG1DN,GAAY4P,OACZ3C,EAAwB2C,OACxB5P,GAAY6tB,OACZ5gB,EAAwB4gB,OACxB7tB,GAAYmO,cACZlB,EAAwBkB,gBAExBq6B,EAAYxoC,GAAY+P,gBAAgB1nB,QACtC,SAACW,GAAD,MAAwB,uBAAdA,EAAK5I,SAdgC,oBAiB/BooD,GAjB+B,IAiBnD,2BAA+B,CAAC,IAAvB5kC,EAAsB,QAC7B,GAAIA,EAAQrjB,SAAWA,EAAQ,CAC7B,GAAc,UAAVA,EAAoB,CACtB,GACEyf,GAAYo6B,YAAYiM,kBACxBrmC,GAAYo6B,YAAYuM,oBACxB,CACA/iC,EAAQtjB,YAAa,EACrB,SAEAsjB,EAAQtjB,YAAa,EACrB,SAGJsjB,EAAQtjB,YAAa,EACrB,QAhC+C,8BAmCnD0f,GAAY+P,gBAAkBy4B,EAIzB,SAAS/H,GAA0BgI,GACxC,IAAIC,EAAoBppD,GAAaS,MAC/BktB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D,IACGN,GAAYwQ,eAAiBvD,EAAwBsD,iBACrDvQ,GAAYmO,eAGXnO,GAAY4P,OACZ3C,EAAwB2C,OACxB5P,GAAY6tB,OACZ5gB,EAAwB4gB,OACxB,CACA,IAAM8a,EAAqB3oC,GAAY+P,gBAAgB1nB,QACrD,SAACW,GAAD,MAAwB,uBAAdA,EAAK5I,QAEbuoD,GAAsBA,EAAmBhlD,OAAS,IACpDqc,GAAY+P,gBAAkB44B,GAIpC,IAAK,IAAI/9C,EAAI,EAAGA,EAAIoV,GAAY+P,gBAAgBpsB,OAAQiH,IACtD,IACGoV,GAAY+P,gBAAgBnlB,GAAGtK,YAChC0f,GAAY+P,gBAAgBnlB,GAAGrK,SAAWkoD,EAC1C,CACAC,EAAY1oC,GAAY+P,gBAAgBnlB,GAAGrK,OAC3C,MAGJ,OAAOmoD,EDvVY1oC,GACZikB,KAAiB,CACtBwN,UAAW,GACXhrB,SAAU,GACVzJ,MAAO,GACPyE,OAAQ,GACRje,KAAM,GACNolB,OAAQ,GACRggC,SAAU,GACV91B,YAAa,GACbC,OAAQ,GACRysB,WAAW,IAXMx/B,GAaZ6oC,uBAAiC,EAbrB7oC,GAcZ8oC,YAAsB,EAdV9oC,GAeZ+oC,gBAAuB,GAfX/oC,GAgBZyM,gBAAuB,GAhBXzM,GAiBZs+B,eAAsB,GAjBVt+B,GAkBZgpC,e,EAlBYhpC,GAmBZipC,sBAA6B,GAnBjBjpC,GAoBZ0Q,Y,EApBY1Q,GAqBZkpC,e,EArBYlpC,GAsBZmpC,YAAsB,GAtBVnpC,GAuBZoyB,IAAc,GAvBFpyB,GAwBZ8zB,UAAoB,GAxBR9zB,GAyBZwQ,cAAwB,GAzBZxQ,GA0BZ8P,oBAA8B,EA1BlB9P,GA2BZyQ,sBAAgC,GA3BpBzQ,GA4BZopC,eAAyB,GA5BbppC,GA6BZqpC,kBAAyB,GA7BbrpC,GA8BZspC,oBAAsBhqD,GAAaE,QA9BvBwgB,GA+BZupC,oBAAsBjqD,GAAaE,QA/BvBwgB,GAgCZ+P,gB,YAA+C7uB,IAhCnC8e,GAiCZwpC,KAAY,GAjCAxpC,GAkCZypC,SAAgB,GAlCJzpC,GAmCZo6B,YAA4B,CACjCsL,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,EACPlS,OAAO,EACPP,WAAY,GACZ0S,qBAAqB,EACrBE,uBAAuB,EACvBC,qBAAqB,EACrBpF,cAAe,GACfqF,kBAAkB,EAClB3U,IAAK,GACLmM,aAAa,EACb4I,eAAe,EACfzD,uBAAsB,EACtB9xB,YAAW,GAjEM5R,GAmEZogC,qB,EAnEYpgC,GAoEZmO,cAAwB,EApEZnO,GAqEZ4P,OAAiB,EArEL5P,GAsEZ6tB,OAAiB,EAtEL7tB,GAuEZ2tB,UAAoB,EAvER3tB,GAwEZ6P,gBAA0B,EAxEd7P,GAyEZgkC,eAAyB,EAzEbhkC,GA0EZiiB,iBAA2B,EA1EfjiB,GA2EZ0pC,UAAiB,GA3EL1pC,GA4EZ2pC,aAAoB,GA5ER3pC,GA6EZ4pC,cAAqB,GA7ET5pC,GA8EZ6pC,eAAsB,GA9EV7pC,GA+EZ8pC,SAAgB,GA/EJ9pC,GAgFZ+pC,cAAqB,GAhFT/pC,GAiFZgqC,kBAAyB,GAjFbhqC,GAkFZiqC,mBAA0B,GAlFdjqC,GAmFZkqC,aAAoB,GAnFRlqC,GAoFZmqC,kBAAyB,GApFbnqC,GAqFZoqC,kBAA4B,GArFhBpqC,GAsFZkkC,WAAqB,EAtFTlkC,GAuFZw8B,UAAoB,GAvFRx8B,GAwFZqqC,oBAA8B,GAxFlBrqC,GAyFZ61B,c,eAAwCjV,IAzF5B5gB,GA0FZ81B,e,eAAyClV,IA1F7B5gB,GA2FZg0B,OAAiB,GA3FLh0B,GA4FZC,MAAgB,GA5FJD,GA6FZsqC,WAAqB,GA7FTtqC,GA8FZuqC,UAAoB,GA9FRvqC,GA+FZgB,SAAgB,GA/FJhB,GAgGZuzB,gB,EAhGYvzB,GAiGZqzB,e,EAjGYrzB,GAkGZyzB,c,EAlGYzzB,GAmGZ6J,kB,EAnGY7J,GAoGZ8gB,qB,EApGY9gB,GAqGZ6gB,iB,EArGY7gB,GAsGZyK,a,EAtGYzK,GAuGZghB,iB,EAvGYhhB,GAwGZgF,eAA6B,GC2Q/B,SAASwlC,GAAaC,EAAiBC,GAC5C,IAAMC,EAAU,IAAI/2B,KAAK62B,GACnBG,EAAMD,EACTnH,UACAqH,eAAe,QAAS,CAAEC,qBAAsB,EAAGC,aAAa,IAC7DC,GAASL,EAAQpH,WAAa,GAAGsH,eAAe,QAAS,CAC7DC,qBAAsB,EACtBC,aAAa,IAETE,EAAON,EAAQO,iBACrB,OAAIR,EAAiBM,EAAQ,IAAMJ,EAAM,IAAMK,EACxCL,EAAM,IAAMI,EAAQ,IAAMC,EAS5B,IClYHvoC,GC8RWyoC,GAlU+C,SAACxsD,GAC7D,IAAMivB,EAAUC,cACV7M,EAAW2M,cACXy9B,EAAiBxG,GAAe5jC,EAAS2N,QAC3CtnB,EAAK+jD,EAAelqC,IAAI,MACxBmqC,EAAUD,EAAelqC,IAAI,WAC7B9Z,EAAYgkD,EAAelqC,IAAI,QANoC,EAOvClc,IAAM8G,UAAkB,GAPe,mBAOhEw/C,EAPgE,KAOtDC,EAPsD,UASzCtoD,IAA5BtE,EAAM6sD,mBACuB,QAAxB,OAAL7sD,QAAK,IAALA,OAAA,EAAAA,EAAO6sD,qBADP,OAEA7sD,QAFA,IAEAA,OAFA,EAEAA,EAAO6sD,oBAEP7sD,EAAM6sD,mBAAqBn9B,KAoD7B,IAAMo9B,EAAU,SACd15B,EACAquB,EACAsL,EACAC,GAEA94B,IACE,SAACxb,IAzDL,SAAwBA,EAAUkX,GAChC,IAAKlX,GAAOA,EAAIR,YAKd,GAAIQ,EAAIS,MAAoB,MAAZT,EAAIS,KAAc,CAAC,IAAD,EAChCkI,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYwQ,cAAgBnZ,EAAIS,KAAK8zC,cACrC5rC,GAAYogC,gBAAkB/oC,EAAIS,KAAK+zC,gBACvC7rC,GAAYyM,gBAAgB9nB,IAAM0S,EAAIS,KAAKg0C,IAC3C9rC,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAC9BjR,GAAYyQ,sBAAwBpZ,EAAIS,KAAKkZ,sBAC7C,IAAM/D,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwB0mB,OAASt8B,EAAIS,KAAKmZ,OAC1ChE,EAAwBtoB,IAAxB,UAA8B0S,EAAIS,YAAlC,aAA8B,EAAUg0C,IACxC7+B,EAAwBwD,sBACtBpZ,EAAIS,KAAKkZ,sBACX/D,EAAwBsD,cAAgBlZ,EAAIS,KAAK8zC,cACjD3+B,EAAwBmzB,gBAAkB/oC,EAAIS,KAAK+zC,gBACnD5+B,EAAwBhN,MAAQ5I,EAAIS,KAAK8Y,MACzCxQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,SAGChqB,IAAhBsrB,GACgB,OAAhBA,GACyB,QAAd,OAAXA,QAAW,IAAXA,OAAA,EAAAA,EAAaw9B,eACY9oD,KAAd,OAAXsrB,QAAW,IAAXA,OAAA,EAAAA,EAAaw9B,UACY,MAAd,OAAXx9B,QAAW,IAAXA,OAAA,EAAAA,EAAaw9B,UACY,OAAd,OAAXx9B,QAAW,IAAXA,OAAA,EAAAA,EAAaw9B,SAEbjjD,YAAW,WACTuoB,IACE,SAACha,GAAD,OAAc20C,EAAsB30C,KADb,OAEvBkX,QAFuB,IAEvBA,OAFuB,EAEvBA,EAAa09B,iBAEd,KACEr+B,EAAQM,KAAKnsB,GAAUM,iBAe9B6pD,CAAe70C,EAAKs0C,KAEtB55B,EACAquB,EACAsL,IA4IJ,SAASM,EAAsB30C,GAC7B,IAAKA,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAMnC,GAHA0tC,GAAap2B,GAGTzwB,EAAM6sD,mBAAwC,QAAnB59B,EAAQ8I,OACrCzsB,QAAQC,IAAI,cACZ0jB,EAAQM,KAAKk5B,UACR,CACL,IAAM74B,EAAcu2B,GAAW9jC,EAAS2N,QACxC,GAAIJ,GAAeA,EAAY/M,gBAAkB+M,EAAYnnB,KAC3DmkD,GAAY,GACc,SAAtBh9B,EAAY49B,MAAkBv+B,EAAQzpB,QAAQrC,IACjB,MAAxBysB,EAAYw9B,QACnBn+B,EAAQzpB,QAAQrC,IAEQ,MAAxBysB,EAAYw9B,SACX38B,EAAYu3B,oBAKW,MAAxBp4B,EAAYw9B,SACZ38B,EAAYu3B,oBAEZ/4B,EAAQzpB,QAAQrC,IACNysB,EAAYw9B,SACtBn+B,EAAQzpB,QAAQ7E,GAAaS,MAAQ,SARrC6tB,EAAQzpB,QAAQ7E,GAAaS,MAAQ,aAUlC,CACL,IACIsH,EADeu9C,GAAe5jC,EAAS2N,QACvBzN,IAAI,MACxB,GACS,OAAP7Z,QACOpE,IAAPoE,GACO,KAAPA,IACE,OAAFA,QAAE,IAAFA,OAAA,EAAAA,EAAI1D,QAAS,EACb,CACA,IAAIyoD,EAA6BxyC,KAAKC,MACpCuG,OAAOisC,KAAKhlD,KAEa,IAAvB+kD,EAAaD,MACfv+B,EAAQzpB,QAAQrC,IAEkB,QAAtB,OAAZsqD,QAAY,IAAZA,OAAA,EAAAA,EAAcP,uBACoB5oD,KAAtB,OAAZmpD,QAAY,IAAZA,OAAA,EAAAA,EAAcP,kBACmB,IAArB,OAAZO,QAAY,IAAZA,OAAA,EAAAA,EAAcP,iBAEdj+B,EAAQzpB,QAAQrC,IACkB,MAAzBsqD,EAAaL,QAEK,QAAb,OAAZK,QAAY,IAAZA,OAAA,EAAAA,EAAcz6B,cACW1uB,KAAb,OAAZmpD,QAAY,IAAZA,OAAA,EAAAA,EAAcz6B,SACdy6B,EAAaz6B,OAAS,EAEtB/D,EAAQzpB,QAAQrC,IACX8rB,EAAQzpB,QAAQrC,IAEE,MAAzBsqD,EAAaL,SACZ38B,EAAYu3B,oBAKY,MAAzByF,EAAaL,SACb38B,EAAYu3B,oBAEZ/4B,EAAQzpB,QAAQrC,IACNsqD,EAAaL,SACvBn+B,EAAQzpB,QAAQ7E,GAAaS,MAAQ,SARrC6tB,EAAQzpB,QAAQ7E,GAAaS,MAAQ,aAiBnD,OA3NAiF,IAAM6H,WAAU,WACd,IAAMogB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MA6B5D,GA3BArW,QAAQC,IAAI8V,GAAYwQ,cAAe,aACvCvmB,QAAQC,IAAI+iB,EAAwBsD,cAAe,eAElB,KAA9BvQ,GAAYwQ,gBACXvD,EAAwBsD,eACf,OAATnpB,QAA0BnE,IAATmE,GAA+B,KAATA,QAGXnE,IAA5BtE,EAAM6sD,mBACuB,QAAxB,OAAL7sD,QAAK,IAALA,OAAA,EAAAA,EAAO6sD,qBADP,OAEA7sD,QAFA,IAEAA,OAFA,EAEAA,EAAO6sD,yBAIiBvoD,KAAjB,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAO2tD,aACe,QAAjB,OAAL3tD,QAAK,IAALA,OAAA,EAAAA,EAAO2tD,cADP,OAEA3tD,QAFA,IAEAA,OAFA,EAEAA,EAAO2tD,cAGPriD,QAAQC,IAAI,aAAZ,OAA0BvL,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAO6sD,mBACjCn6B,IACE,SAACha,GAAD,OAAc20C,EAAsB30C,KACpC2I,GAAYwQ,eAAiBvD,EAAwBsD,gBAM/C,KAAZ86B,QACYpoD,IAAZooD,GAC0B,QAAnB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAAS7iD,qBAEJ,GAAa,OAATpB,QAA0BnE,IAATmE,GAA+B,KAATA,GAChD,GAAW,OAAPC,QAAsBpE,IAAPoE,GAA2B,KAAPA,IAAe,OAAFA,QAAE,IAAFA,OAAA,EAAAA,EAAI1D,QAAS,EAAG,CAClEsG,QAAQC,IAAI,cAAe7C,GAC3B,IAAI09C,EAAc3kC,OAAOisC,KAAKhlD,GAC1B+kD,EAA+BxyC,KAAKC,MACtCkrC,GAGsB,QAAV,OAAZqH,QAAY,IAAZA,OAAA,EAAAA,EAAcG,WACQtpD,KAAV,OAAZmpD,QAAY,IAAZA,OAAA,EAAAA,EAAcG,MACQ,MAAV,OAAZH,QAAY,IAAZA,OAAA,EAAAA,EAAcG,MAEdd,EAAO,OAACW,QAAD,IAACA,OAAD,EAACA,EAAcG,IAAf,OAAoBH,QAApB,IAAoBA,OAApB,EAAoBA,EAAcI,GAAlC,OAAsCJ,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAcK,WAM/D,QACwBxpD,KAAjB,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAO2tD,aACe,QAAjB,OAAL3tD,QAAK,IAALA,OAAA,EAAAA,EAAO2tD,cADP,OAEA3tD,QAFA,IAEAA,OAFA,EAEAA,EAAO2tD,kBAGP,GAAW,OAAPjlD,QAAsBpE,IAAPoE,GAA2B,KAAPA,IAAe,OAAFA,QAAE,IAAFA,OAAA,EAAAA,EAAI1D,QAAS,EAAG,CAClE,IAAIohD,EAAc3kC,OAAOisC,KAAKhlD,GAC1B+kD,EAA6BxyC,KAAKC,MACpCkrC,GAGgC,QAApB,OAAZqH,QAAY,IAAZA,OAAA,EAAAA,EAAcH,qBACkBhpD,KAApB,OAAZmpD,QAAY,IAAZA,OAAA,EAAAA,EAAcH,iBAEd5rC,aAAa0gC,WAAW,oBAGY,QAAtB,OAAZqL,QAAY,IAAZA,OAAA,EAAAA,EAAcP,uBACoB5oD,KAAtB,OAAZmpD,QAAY,IAAZA,OAAA,EAAAA,EAAcP,mBAGqB,IAArB,OAAZO,QAAY,IAAZA,OAAA,EAAAA,EAAcP,kBACU,KAAxBO,EAAaL,SACY,QAAb,OAAZK,QAAY,IAAZA,OAAA,EAAAA,EAAcz6B,cACW1uB,KAAb,OAAZmpD,QAAY,IAAZA,OAAA,EAAAA,EAAcz6B,SACdy6B,EAAaz6B,OAAS,GAEtB3R,GAAYwQ,cAAZ,OAA4B47B,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAcH,cAC1Cr+B,EAAQzpB,QAAQrC,KAGU,QAAZ,OAAZsqD,QAAY,IAAZA,OAAA,EAAAA,EAAcl7B,aACUjuB,KAAZ,OAAZmpD,QAAY,IAAZA,OAAA,EAAAA,EAAcl7B,QACU,MAAZ,OAAZk7B,QAAY,IAAZA,OAAA,EAAAA,EAAcl7B,SAEe,MAAzBk7B,EAAaL,QACfN,EAAO,OACLW,QADK,IACLA,OADK,EACLA,EAAcl7B,MADT,OAELk7B,QAFK,IAELA,OAFK,EAELA,EAAcP,gBAFT,OAGLO,QAHK,IAGLA,OAHK,EAGLA,EAAcz6B,OACdy6B,GAGFX,EAAO,OACLW,QADK,IACLA,OADK,EACLA,EAAcl7B,MADT,OAELk7B,QAFK,IAELA,OAFK,EAELA,EAAcP,gBAFT,OAGLO,QAHK,IAGLA,OAHK,EAGLA,EAAcz6B,UAKK,MAAzBy6B,EAAaL,SAEY,QAAb,OAAZK,QAAY,IAAZA,OAAA,EAAAA,EAAcz6B,cACW1uB,KAAb,OAAZmpD,QAAY,IAAZA,OAAA,EAAAA,EAAcz6B,SACdy6B,EAAaz6B,OAAS,GAEtB/D,EAAQzpB,QAAQrC,QAuB3B,IAqFD,qCACIwpD,GACA,yBACE1sD,WACO,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAO+tD,oBAAP,OAA4B/tD,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAO+tD,mBAAqB,aAG1D,kBAAC,EAAD,CACE7tD,qBACO,OAALF,QAAK,IAALA,OAAA,EAAAA,EAAOE,qBAAP,OACIF,QADJ,IACIA,OADJ,EACIA,EAAOE,oBACP,eAGPF,EAAMgP,YCvJFg/C,I,OAhL+B,SAAChuD,GAAW,IAAD,EAC3BqG,IAAM8G,SAASnN,EAAMsG,cAAgB,IADV,mBAC9C/F,EAD8C,KACvCgG,EADuC,KAsDrD,SAASvE,EAAWzB,GAChB,OAAQP,EAAMqE,UAAarE,EAAMqE,YAAcA,GAAS9D,GAU5D,SAASqG,EAAcrG,GACnB,QAAkB+D,IAAdtE,EAAMwE,IACN,OAAO,EAEX,GAAIc,OAAO/E,GACP,MAAMsG,MAAM,8CAEhB,QAAStC,IAAchE,EAAOP,EAAMwE,KAUxC,SAASsC,EAAcvG,GACnB,QAAkB+D,IAAdtE,EAAM0E,IACN,OAAO,EAEX,GAAIY,OAAO/E,GACP,MAAMsG,MAAM,8CAEhB,QAASpC,IAAclE,EAAOP,EAAM0E,KASxC,SAASqC,EAAexG,GACpB,OAAQP,EAAMgH,SAAYhH,EAAMgH,UAAY9C,GAAa3D,EAAOP,EAAMgH,SAyD1E,OAzJAX,IAAM6H,WAAU,gBACe5J,IAAvBtE,EAAMsG,cAA8B/F,IAAUP,EAAMsG,cACpDC,EAASvG,EAAMsG,gBAEpB,CAACtG,EAAMsG,eAsJN,yBAAKrG,UAAW,mBAAqBD,EAAMC,UAAYD,EAAMC,UAAY,KACrE,2BAAOA,UAAU,SAASD,EAAM6O,OAChC,6BACI,2BACItO,MAAOA,EACP2G,SAhChB,SAAsBC,GAClB,IAAIC,EAUAA,GAPCD,EAAEE,OAAO9G,OAA4B,KAAnB4G,EAAEE,OAAO9G,OAAmC,MAAnB4G,EAAEE,OAAO9G,QAvH7D,SAAwBA,GACpB,OAAQP,EAAMsH,SAAYtH,EAAMsH,UAAYpD,GAAa3D,EAAOkF,IAuH5D8B,CAAeJ,EAAEE,OAAO9G,QA9GhC,SAAsBA,GAClB,OAAQP,EAAMwH,OAAUxH,EAAMwH,QAAUtD,GAAa3D,EAAOP,EAAMwH,OA8G9DC,CAAaN,EAAEE,OAAO9G,QArG9B,SAAyBA,GACrB,OAAQP,EAAM0H,UAAa1H,EAAM0H,WAAaxD,GAAa3D,EAAOoF,IAqG9DgC,CAAgBR,EAAEE,OAAO9G,QA5FjC,SAA0BA,GACtB,YAA2B+D,IAApBtE,EAAM4H,WAA2BrH,EAAMyE,QAAUhF,EAAM4H,UA4F1DC,CAAiBV,EAAEE,OAAO9G,OAGV4G,EAAEE,OAAO9G,MAGTA,EAGpB,IAAM4H,EAAWnI,EAAMkH,SAASE,GAAiB,IAG7Cb,OADajC,IAAb6D,EACSA,EAEAf,GAAiB,KAWlBgB,YAAapI,EAAMoI,YACnBE,OAzDhB,WAEI,IAAIC,EAAgB,GAEhBvI,EAAMqE,WACNkE,EAAQ,2BAAQA,GAAR,IAAkBlE,SAAUrC,EAAWzB,MAE/CP,EAAMwE,MACN+D,EAAQ,2BAAQA,GAAR,IAAkB/D,IAAKoC,EAAcrG,MAE7CP,EAAM0E,MACN6D,EAAQ,2BAAQA,GAAR,IAAkB7D,IAAKoC,EAAcvG,MAE7CP,EAAMgH,UACNuB,EAAQ,2BAAQA,GAAR,IAAkBvB,QAASD,EAAexG,MAEtDP,EAAMsI,OAAOC,IA0CDG,GAAI1I,EAAM0I,GACVC,aAAc3I,EAAM2I,aACpB1I,UAAW,YAAcD,EAAMwG,UAAY,SAAW,IACtDiC,KAAMzI,EAAMyI,QAGnBzI,EAAMwG,WAAa,uBAAGvG,UAAU,iBAAiBD,EAAMwG,cF6zDrDynD,I,OAt7DU,SAACjuD,GAAgB,IAAD,IAEjCijC,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GAIE2rC,GAHcjrB,EAAW1gB,IAAI,gBAC/B0gB,EAAW1gB,IAAI,eAEF0gB,EAAW1gB,IAAI,YAAc0gB,EAAW1gB,IAAI,YAAc,IAfpC,GAgBjB0gB,EAAW1gB,IAAI,kBACjC0gB,EAAW1gB,IAAI,iBAEiBlc,IAAM8G,UAAS,IAnBZ,mBAmBhCghD,EAnBgC,KAmBpBC,EAnBoB,OAoBX/nD,IAAM8G,SAAS,IApBJ,mBAoBxBmgC,GApBwB,WAqBjC+gB,EAAmBprB,EAAW1gB,IAAI,eArBD,EAsBXlc,IAAM8G,SAAS,CACzC2lC,UAAW,GACXhrB,SAAU,GACVzJ,MAAO,GACPyE,OAAQ,GACRje,UAAMP,IA3B+B,mBAsBhCs1C,EAtBgC,KAsBxB0U,EAtBwB,OA6BXjoD,IAAM8G,SAAS,IA7BJ,mBA6BhC8c,EA7BgC,KA6BxBskC,EA7BwB,OA8BTloD,IAAM8G,SAAS,IA9BN,mBA8BhCuhB,EA9BgC,KA8BvB7C,EA9BuB,OA+BGxlB,IAAM8G,UAAkB,GA/B3B,mBA+BhCu4B,EA/BgC,KA+BjBC,EA/BiB,OAiCrCt/B,IAAM8G,UAAkB,GAjCa,mBAgChCqhD,EAhCgC,KAgCbC,EAhCa,OAkCGpoD,IAAM8G,UAAkB,GAlC3B,mBAkChC04B,EAlCgC,KAkCjBC,EAlCiB,OAmCHz/B,IAAM8G,UAAkB,GAnCrB,mBAmChCuY,EAnCgC,KAmCpBqgB,EAnCoB,OA2CrC1/B,IAAM8G,UAAkB,GA3Ca,mBA0ChC+4B,EA1CgC,KA0CdC,EA1Cc,OA4CO9/B,IAAM8G,UAAkB,GA5C/B,mBA4ChC64B,GA5CgC,KA4CfC,GA5Ce,QA8CH5/B,IAAM8G,UAAkB,GA9CrB,qBA8ChCqY,GA9CgC,MA8CpB4gB,GA9CoB,SA+CL//B,IAAM8G,UAAkB,GA/CnB,qBA+ChCyC,GA/CgC,MA+CrBmf,GA/CqB,SAiDrC1oB,IAAM8G,UAAkB,GAjDa,qBAgDhCuhD,GAhDgC,gBAmDrCroD,IAAM8G,UAAkB,IAnDa,qBAkDhCwhD,GAlDgC,MAkDTC,GAlDS,SAoDKvoD,IAAM8G,SAAS,IApDpB,qBAoDhC0hD,GApDgC,MAoDhBC,GApDgB,SAqDazoD,IAAM8G,SAAc,IArDjC,qBAqDhC4hD,GArDgC,MAqDZC,GArDY,SAuDrC3oD,IAAM8G,UAAkB,GAvDa,qBAsDhC8hD,GAtDgC,MAsDVC,GAtDU,SAwDO7oD,IAAM8G,SAAc,MAxD3B,qBAwDhCgiD,GAxDgC,MAwDfC,GAxDe,SAyDD/oD,IAAM8G,SAAc,IAzDnB,qBAyDhCkiD,GAzDgC,MAyDnBC,GAzDmB,SA0DOjpD,IAAM8G,SAAS,IA1DtB,qBA0DhCoiD,GA1DgC,MA0DfC,GA1De,SA2DHnpD,IAAM8G,SAA8B,IA3DjC,qBA2DhCsiD,GA3DgC,MA2DpBC,GA3DoB,SA4DWrpD,IAAM8G,SAAc,IA5D/B,qBA4DhCwiD,GA5DgC,MA4DbC,GA5Da,SA8DrCvpD,IAAM8G,UAAc,GA9DiB,qBA6DhC0iD,GA7DgC,MA6DXC,GA7DW,SA+DCzpD,IAAM8G,UAAkB,GA/DzB,qBA+DhC4iD,GA/DgC,MA+DlBnqB,GA/DkB,SAgEOv/B,IAAM8G,UAAkB,GAhE/B,qBAgEhC6iD,GAhEgC,MAgEfC,GAhEe,SAiEO5pD,IAAM8G,UAAkB,GAjE/B,qBAiEhC+iD,GAjEgC,MAiEfC,GAjEe,SAkEX9pD,IAAM8G,SAG/B,CACDijD,gBAAY9rD,EACZ+rD,iBAAa/rD,IAvEwB,qBAkEhCgsD,GAlEgC,MAkExBC,GAlEwB,SA0ErClqD,IAAM8G,SAAc,IA1EiB,qBAyEhCqjD,GAzEgC,MAyEVC,GAzEU,SA2EKpqD,IAAM8G,SAAc,IA3EzB,qCA4EH9G,IAAM8G,UAAkB,IA5ErB,qBA4EhCujD,GA5EgC,MA4EpBC,GA5EoB,SAgFnCtqD,IAAM8G,UAAkB,GAhFW,qBA8ErCyjD,GA9EqC,MA+ErCC,GA/EqC,SAiFKxqD,IAAM8G,UAAkB,GAjF7B,qBAiFhC2jD,GAjFgC,MAiFhBC,GAjFgB,SAmFrC1qD,IAAM8G,UAAkB,GAnFa,qBAkFd6jD,IAlFc,gBAoFK3qD,IAAM8G,UAAkB,GApF7B,qBAoFhB8jD,IApFgB,gBAqFS5qD,IAAM8G,UAAS,GArFxB,qBAqFhC+jD,GArFgC,MAqFdC,GArFc,SAsFe9qD,IAAM8G,UAAS,GAtF9B,qBAsFhCikD,GAtFgC,MAsFXC,GAtFW,SAwFXhrD,IAAM8G,SAE/B,CACD2lC,eAAWxuC,EACXwjB,cAAUxjB,EACV+Z,WAAO/Z,EACPwe,YAAQxe,EACRO,UAAMP,EACNuqD,oBAAgBvqD,IAhGqB,qBAwFhConB,GAxFgC,MAwFxBC,GAxFwB,SAmGuBxe,mBAAS,CACrE8Q,KAAK,EACLI,OAAO,IArG8B,qBAmGhCizC,GAnGgC,MAmGPC,GAnGO,SAuGClrD,IAAM8G,SAAS,IAvGhB,qBAyGjCi4C,IAzGiC,YAyGvBnqC,KAAKC,MAAMuG,OAAOkO,eAAehO,QAAQ,YAAc,OA0BvE,SAASpP,GAAUmG,IACZA,GAAOA,EAAIR,MAAO2T,EAAWnT,EAAIR,OAGhCQ,EAAIS,MAAQT,EAAIS,KAAKtU,OACvByoC,EAAU50B,EAAIS,KAAKtU,MACnBgnB,EAAW,KAKjB,SAAS3kB,GAASsF,EAA4BjM,GAoC5C,OAlCW,cAARiM,IAAwB9G,GAAYtB,KAAK7D,IACjC,aAARiM,IAAuB9G,GAAYtB,KAAK7D,IAChC,WAARiM,IAAqB/G,GAAWrB,KAAK7D,MAEtCA,EAAQq5C,EAAOptC,IAGT,WAARA,EACI+hD,EAAUhuD,GACV+tD,EAAU,2BAAK1U,GAAN,mBAAeptC,EAAMjM,KAEtB,WAARiM,IAE4B,KAA5B6U,GAAYikB,KAAKxiB,QACjBzB,GAAYikB,KAAKxiB,SAAWviB,GAC5B2lC,EAEAP,GAAiB,GAEjBA,GAAiB,IAGT,UAARn5B,IAE2B,KAA3B6U,GAAYikB,KAAKjnB,OACjBgD,GAAYikB,KAAKjnB,QAAU9d,GAC3BylC,GAEAyoB,GAAqB,GAErBA,GAAqB,IAGzB9iC,GAAU,2BAAKD,IAAN,mBAAelf,EAAM,MACvBjM,EAqBT,SAASixD,GAAiBjxD,GACxBmvD,GAAc,IACdV,GAAsB,IACtBM,GAAe,IACfE,GAAmB,IACL,KAAVjvD,E1BlFNugB,GACE,CACEkB,IAAK,iCACLpR,KAAM,CACJ6gD,S0B+EyC,CAAEC,SAAUnxD,G1B/EhCmxD,UAEvBxwC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAasD,oB0B0EN+7C,KAEpBhmC,GAAU,2BAAKD,IAAN,IAAcmjC,eAAgB3oC,GAAShK,OAChD8yC,GAAsB,IACtBM,GAAe,IACfF,GAAmB,MACnBI,GAAmB,KAvGvBnpD,IAAM6H,WAAU,WAEZ/K,KAA0B+hD,MACzB7jC,GAAY6oC,sBAIbrjC,GAAWtU,IAFXvS,EAAMivB,QAAQM,KAAKpsB,MAIpB,IAGHkD,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaC,oBAAoBC,YAC5D2K,aACAC,aACAC,gBAGFzJ,GAA2BxgB,KAC1B,IAqFH,IAAMy4C,GAAiB,WACrB,IAAIC,EAAyB,GACvBC,EACJrwC,OAAOkO,eAAehO,QAAQ,elDaT,KkDMvB,OAjBuB,OAArB0sC,QACqB/pD,IAArB+pD,GACqB,KAArBA,IACgB,OAAhBA,QAAgB,IAAhBA,OAAA,EAAAA,EAAkBrpD,QAAS,GAE3B6sD,EAAiBxD,GACP,OAANr9C,SAAM,IAANA,QAAA,EAAAA,GAAQoB,iBAAoC,KAAlBy/C,IAE5BA,EAAiB,OAIjBA,EADiB,QAAfC,EACe,IAEA,KAGdD,GAET,SAASF,GAAsBj5C,GAC7B,GAAIA,EAAIR,MAGN2T,EAAWnT,EAAIR,OACf6W,IAAa,OACR,CACL,GAAIrW,EAAIS,MAAQT,EAAIS,KAAK44C,gBACvB,GAAIr5C,EAAIS,KAAK44C,gBAAgB/sD,OAAS,GACpC,GAAwC,IAApC0T,EAAIS,KAAK44C,gBAAgB/sD,OAAc,CACzC,IAAMgtD,EAAat5C,EAAIS,KAAK44C,gBAAgB,GAC5C7C,IAAwB,GAEC,OAAb,OAAV8C,QAAU,IAAVA,OAAA,EAAAA,EAAYC,UACY,OAAd,OAAVD,QAAU,IAAVA,OAAA,EAAAA,EAAYP,WACW,OAAb,OAAVO,QAAU,IAAVA,OAAA,EAAAA,EAAY1Y,UACU,OAAZ,OAAV0Y,QAAU,IAAVA,OAAA,EAAAA,EAAY9xB,SACQ,OAAV,OAAV8xB,QAAU,IAAVA,OAAA,EAAAA,EAAYE,OAEZvmC,GAAU,2BAAKD,IAAN,IAAcmjC,eAAgB,oBACvCG,GAAsB,IACtBI,GAAmB,MACnBE,GAAe,IACfE,GAAmB,MAGnBR,GACyB,KAAb,OAAVgD,QAAU,IAAVA,OAAA,EAAAA,EAAYC,SACRD,EAAWP,SACXO,EAAWC,SAEjB7C,GAAkB,OAAC4C,QAAD,IAACA,OAAD,EAACA,EAAY1Y,SAC/BgW,GAAc,OAAC0C,QAAD,IAACA,OAAD,EAACA,EAAY9xB,QAC3BsvB,GAAmBwC,EAAWE,MAC9BvmC,GAAU,2BAAKD,IAAN,IAAcmjC,oBAAgBvqD,KACvCwrD,IAAuB,SAEpB,GAAIp3C,EAAIS,KAAK44C,gBAAgB/sD,OAAS,EAAG,CAAC,IAAD,EAC9C0qD,GAAch3C,EAAIS,KAAK44C,iBACvB,IAAII,EAAM,OAAGz5C,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,aAAG,EAAW44C,gBAAgB7lD,KAAI,SAACkmD,GAC3C,MAAO,CACL5xD,QAC2B,KAAb,OAAZ4xD,QAAY,IAAZA,OAAA,EAAAA,EAAcH,SACVG,EAAaX,SAAW,OAAxB,OAAgCW,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAclyB,QAC9CkyB,EAAaH,QAAU,OAAvB,OAA+BG,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAclyB,QACnD3/B,MAAK,OAAE6xD,QAAF,IAAEA,OAAF,EAAEA,EAAc9Y,YAGzBsW,GAAqBuC,GACrBjD,IAAwB,GACxBvjC,GAAU,2BAAKD,IAAN,IAAcmjC,oBAAgBvqD,WAGzCqnB,GAAU,2BAAKD,IAAN,IAAcmjC,eAAgB,oBACvCG,GAAsB,IACtBI,GAAmB,MACnBE,GAAe,IACfQ,IAAuB,GACvBN,GAAmB,SAGrB7jC,GAAU,2BACLD,IADI,IAEPmjC,eAAgB,kCAElBG,GAAsB,IACtBI,GAAmB,MACnBE,GAAe,IACfE,GAAmB,IACnBN,IAAwB,GAE1BrjC,EAAW,IACXkD,IAAa,IA6CjB,SAASyoB,KACPzoB,IAAa,GAEbjI,IACE,SAACpO,GACCpN,QAAQC,IAAI,MAAOmN,GAuBzB,SAA0BA,GAAW,IAAD,YAIZ,QAAjB,OAAHA,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS7U,KAAjB,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBk5C,QACQ,MAAxB,OAAH35C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBk5C,QAEjB9B,IAAU,SAACD,GAAY,IAAD,IAEpB,OADAA,EAAOD,YAAP,OAAqB33C,QAArB,IAAqBA,GAArB,UAAqBA,EAAKS,YAA1B,iBAAqB,EAAWA,YAAhC,aAAqB,EAAiBk5C,MAC/B/B,KAETvhC,IAAa,GACb4W,GAAiB,GACjBG,GAAiB,GACjBja,EAAW,OAEX,OAAInT,QAAJ,IAAIA,OAAJ,EAAIA,EAAKR,OACP2T,EAAWnT,EAAIR,OAEf2T,EAAW,qCAEbkD,IAAa,GACb+W,GAAiB,IA9CfwsB,CAAiB55C,KAEnBkhC,EAAO92B,OACP,OAmDJ,SAASxO,GAAYmjC,EAA6B9tC,GAC5C6b,IACF4gB,IAAc,GAEZ8pB,IACFC,IAAmB,GAEF,IAAfxmD,EAAI3E,SACN+pB,IAAa,GACG,UAAZ0oB,EACFwY,IAAmB,GACE,WAAZxY,GACT1R,GAAc,GAEhB1e,IACE,SAAC3O,GACiB,UAAZ++B,EA8BZ,SAAkC/+B,GAEhC,GADAu3C,IAAmB,IACdv3C,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,WACV,CAAC,IAAD,MACL5M,QAAQC,IAAImN,EAAK,SAEfA,EAAIS,OAAJ,OACAT,QADA,IACAA,GADA,UACAA,EAAKS,YADL,aACA,EAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWo5C,UACS,IAAnB,OAAH75C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWo5C,UAEXlxC,GAAYikB,KAAKjnB,MAAQu7B,EAAOv7B,MAChC4nB,IAAmB,GACnBL,IAAgB,GAChBqrB,IAAkB,IAElBd,IAAmB,GAYrBtkC,EAAW,IAEbkD,IAAa,GA9DLyjC,CAAyB95C,GAgEnC,SAAmCA,GAGjC,GAFAqW,IAAa,GACbgX,GAAc,GACVrtB,EAAIR,MAEN2T,EAAWnT,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,EAAWo5C,UACS,IAAnB,OAAH75C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWo5C,SACX,CACA,IAAM/gC,EAASvW,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAGhD6P,GACAA,EAAOjI,YAC6B,aAApCiI,EAAOjI,WAAWrhB,eAElBkmD,GAAc,GAEhB/sC,GAAYikB,KAAKxiB,OAAS82B,EAAO92B,OACjCqjB,GAAoB,GACpBL,GAAiB,GACjBkrB,IAAoB,QAEpB5qB,IAAc,GAEhBva,EAAW,KA5FL4mC,CAA0B/5C,KAGnB,SAAX++B,EAAA,OAAqB6Y,SAArB,IAAqBA,QAArB,EAAqBA,GAAQF,WAA7B,OAA0CE,SAA1C,IAA0CA,QAA1C,EAA0CA,GAAQD,YAClD1mD,IA4NN,SAASoJ,GAAoB2F,GAC3B,IACIg6C,EAEJ,GADA3jC,IAAa,IACRrW,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,MAEN,GADA7N,QAAQC,IAAI,YAAamN,EAAIS,MAEU,IAArCT,EAAIS,KAAKY,iBAAiB/U,QACY,IAAtC0T,EAAIS,KAAKc,kBAAkBjV,OAC3B,CACA,IAAIqV,EACF3B,EAAIS,KAAKkB,8BACPC,EACF5B,EAAIS,KAAKmB,+BAEXo4C,EAAuB7iC,OAAO+pB,OAC5Bv/B,GACAgsC,QAAO,SAACj6C,EAAWC,GAAZ,OAA0BD,EAAIC,IAAG,GAKZ,IAJNwjB,OAAO+pB,OAC7Bt/B,GACA+rC,QAAO,SAACj6C,EAAWC,GAAZ,OAA0BD,EAAIC,IAAG,IAEkB,IAAzBqmD,GAEjCjC,GAAwBvqC,GAAShK,WAKrC2P,EAAWnT,EAAIR,OAGnB6W,IAAa,GAMf,SAASlZ,KAEL4L,OAAOkO,eAAehO,QAAQ,cADhC,IAEMgxC,EAAc,CAClBjrC,WlD5doB,IkD6dpBM,QAAS4xB,EAAOv7B,MAChBuJ,UAAWgyB,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBhF,OAAQ82B,EAAO92B,OACfoF,YAAa0pC,MAEfnwC,OAAOC,aAAa6M,QAClB,aACAqrB,EAAO9G,UAAU/tC,OAAS,IAAM60C,EAAO9xB,SAAS/iB,QAElDsc,GAAYgpC,UAAY,GAExB9iC,GAAkBqrC,GAAcD,GAChCrnD,QAAQC,IAAI,cAAeonD,GAmE7B,SAASE,GAAkBn6C,GACzB,GAAIk4C,GAEF,GADAtlD,QAAQC,IAAI,iBAAkBqlD,KACzBl4C,GAAOA,EAAIR,MACd5M,QAAQC,IAAI,kBAGZsgB,EAAWnT,EAAIR,OACfq5C,GAA2B,eAAD,OACrB74C,QADqB,IACrBA,OADqB,EACrBA,EAAKsF,2BAEL,GAAI4yC,GAAoC,CAG7C,GAFAtlD,QAAQC,IAAI,kBACZsgB,EAAW,IACPnT,EAAIS,KAAM,CACZ7N,QAAQC,IAAI,iBACZ,IAAIklB,EAAcxV,KAAKC,MAAMxC,EAAIS,MAEjC,GADA7N,QAAQC,IAAI,aAAcklB,GAExBA,GACAA,EAAYqiC,UACZriC,EAAYqiC,SAAS9tD,OAAS,IAE9BsG,QAAQC,IAAI,iBACZ8V,GAAYikB,KAAK2kB,SAAWx5B,EAAYqiC,SAAS,GAAGC,QAChDtiC,EAAYqiC,SAAS,GAAGE,kBAC1B7sB,GAAoB,GACpB9kB,GAAYikB,KAAKxiB,OAAS82B,EAAO92B,QAEjCqjB,GAAoB,GAGlB1V,EAAYqiC,SAAS,GAAGG,iBAC1BhtB,IAAmB,GACnB5kB,GAAYikB,KAAKjnB,MAAQu7B,EAAOv7B,OAEhC4nB,IAAmB,GAGkC,MAArDxV,EAAYqiC,SAAS,GAAG/vC,cAAc+gC,MAAM,EAAG,IACL,OAA1CrzB,EAAYqiC,SAAS,GAAG/vC,eACxB,CACAzX,QAAQC,IAAI,iBACZ8V,GAAY0Q,OAAStB,EAAYqiC,SAAS,GAAGxgC,OAC7CjR,GAAYgpC,UAAY,kBAIxB,IAAM6I,EAASj4C,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAGhDF,OAAOkO,eAAehO,QAAQ,cAChCN,GAAYipC,sBAAwB,KAEpC,IAAM6I,EAAgB,CACpBzrC,WAAY+I,EAAYqiC,SAAS,GAAGM,WACpCrpC,cAAc,EACdllB,KAAM+0C,EAAO/0C,KACbwZ,MAAOu7B,EAAOv7B,MACduJ,UAAWgyB,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBS,MAAOqxB,EAAO92B,OACdoF,YAAa0pC,KACb3nC,OAAQA,EAGRxB,YAAayqC,EAAOzqC,aAAe,GACnCE,aAAcuqC,EAAOvqC,cAAgB,GACrCwB,WAAY+oC,EAAO3pC,YAAc,GACjCV,YAAaqqC,EAAOrqC,aAAe,GACnCE,aAAcmqC,EAAOnqC,cAAgB,GACrCE,WAAYiqC,EAAOjqC,YAAc,GACjCE,WAAY+pC,EAAO/pC,YAAc,GACjCE,cAAe6pC,EAAO7pC,eAAiB,GACvCE,WAAY2pC,EAAO3pC,YAAc,GACjCc,cAAe6oC,EAAOvqC,cAAgB,GACtCc,SAAUypC,EAAOzpC,UAAY,IAE/BpI,GAAYipC,sBAAwB6I,EAGpC,IAAMh6C,EAAO,CACX0gB,UACEzB,GAAgBC,aAAaC,oBAC1BE,iBACL0K,aACAC,aACAC,gBAEFzJ,GAA2BxgB,GAI3BihB,GAAiBC,UACfO,GAAgBvC,aAAaC,oBAC1BE,kBAIL/W,OAAOC,aAAa0gC,WAAW,2BAC/BxqB,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,kBACzC7O,EAAMivB,QAAQM,KACZpsB,GAAmB,gBAAkByuD,MAIR,GAA/BnhC,EAAYqiC,SAAS9tD,SACvBmhC,GAAoB,GACpBF,IAAmB,IAGnB2qB,IACFC,IAAsC,IA1M9CxqD,IAAM6H,WAAU,WACV83B,IAAmBE,GAAkByqB,IAAc,KACtD,CAAC3qB,GAAiBE,IAuBrB7/B,IAAM6H,WAAU,WACd,IAAM4jD,EACJrwC,OAAOkO,eAAehO,QAAQ,elD9eT,KkD+ejBgxC,EAAc,CAClBjrC,WlDjfoB,IkDkfpBM,QAAS4xB,EAAOv7B,MAChBuJ,UAAWgyB,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBhF,OAAQ82B,EAAO92B,OACfoF,YAA4B,QAAf4pC,EAAuB,IAAM,MAE5CrwC,OAAOC,aAAa6M,QAClB,aACAqrB,EAAO9G,UAAU/tC,OAAS,IAAM60C,EAAO9xB,SAAS/iB,QAElDsc,GAAYgpC,UAAY,GACxBzQ,EAAO92B,QACL82B,EAAOv7B,OACPkJ,GAAkBsrC,GAAmBF,KACtC,CAAC/B,KAEJvqD,IAAM6H,WAAU,YACVojD,GAAwBjzC,OAASizC,GAAwBrzC,OAC3DkzC,IAAoB,GAEhBG,GAAwBrzC,KAC1B0nB,GAAiB,GAEjBQ,GAAoB,IACXmrB,GAAwBjzC,QACjCowC,GAAqB,GAErBxoB,IAAmB,OAGtB,CAACqrB,KAKJhmD,QAAQC,IACN,gDACAskB,OAAO+pB,OAAOluB,IAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,MACpC2X,OAAO+pB,OAAOA,GAAQC,MAAK,SAACt5C,GAAD,OAAYA,MACvC8gB,GAAYikB,KAAKxiB,SAAW82B,EAAO92B,QACP,KAA5BzB,GAAYikB,KAAKxiB,QACjBzB,GAAYikB,KAAKjnB,QAAUu7B,EAAOv7B,OACP,KAA3BgD,GAAYikB,KAAKjnB,QAChB6nB,IACAF,IACD6pB,IACAqB,GACFhrB,EACAF,GACAnW,OAAO+pB,OAAOluB,IAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,KACtC23C,GACAqB,GACArhC,OAAO+pB,OAAOA,GAAQC,MAAK,SAACt5C,GAAD,OAAYA,KACvC8gB,GAAYikB,KAAKxiB,SAAW82B,EAAO92B,OAlBrC,OAmBEzB,SAnBF,IAmBEA,IAnBF,UAmBEA,GAAaikB,YAnBf,aAmBE,EAAmBxiB,OAnBrB,OAoBE82B,QApBF,IAoBEA,OApBF,EAoBEA,EAAQ92B,OApBV,OAqBEzB,SArBF,IAqBEA,IArBF,UAqBEA,GAAaikB,YArBf,aAqBE,EAAmBjnB,MArBrB,OAsBEu7B,QAtBF,IAsBEA,OAtBF,EAsBEA,EAAQv7B,OAwHV,IAAMg1C,GAAqB,SAACpxC,GAQG,IAAD,MAPhB,MAARA,QAAwB3d,GAAR2d,EAClBovC,IAAuB,IAElBpvC,GAAQA,EAAK/J,OAChBm5C,IAAuB,GACvBxlC,EAAW5J,EAAK/J,QAEZ+J,IAAI,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAM9I,QAEV,OAAJ8I,QAAI,IAAJA,OAAA,EAAAA,EAAM9I,OACqB,QAAvB,OAAJ8I,QAAI,IAAJA,GAAA,UAAAA,EAAM9I,YAAN,eAAYm6C,kBACehvD,KAAvB,OAAJ2d,QAAI,IAAJA,GAAA,UAAAA,EAAM9I,YAAN,eAAYm6C,cAFZ,OAGArxC,QAHA,IAGAA,GAHA,UAGAA,EAAM9I,YAHN,aAGA,EAAYm6C,YAEZjC,IAAuB,GAKzBA,IAAuB,IAM/BhrD,IAAM6H,WAAU,W/Bl2Ba,IAC7B8S,EACAuyC,E+Bi2BMrtB,GAAoBF,IAAmB4T,EAAOv7B,OAASu7B,EAAO92B,SAChEF,GACE7P,GACA,MACA6mC,EAAOv7B,MACPu7B,EAAO92B,OAAOrV,Y/Bv2BpBuT,E+By2BoBqyC,G/Bx2BpBE,E+Bw2BwC,CAClCxrC,QAAS6xB,EAAOv7B,MAChBm1C,SAAU5Z,EAAO92B,OACjByP,MAAO,I/Bz2BbzR,GACE,CACEkB,IAAK,2BACLpR,KAAM,CACJmX,QAAO,OAAEwrC,QAAF,IAAEA,OAAF,EAAEA,EAA0BxrC,QACnCyrC,SAAQ,OAAED,QAAF,IAAEA,OAAF,EAAEA,EAA0BC,SACpCjhC,MAAK,OAAEghC,QAAF,IAAEA,OAAF,EAAEA,EAA0BhhC,OAEnCrR,OAAQ,OACRY,WAAY9Q,GAAOE,aACnBG,UAAWL,GAAOK,UAClBoH,YAAanG,GAAasF,gBAE5BoJ,M+B+1BC,CAACklB,EAAkBF,KA8BtB,SAAS4sB,GAAal6C,GAEpB,GADAq4C,IAAkB,IACbr4C,GAAOA,EAAIR,MAGdq5C,GAA2B,eACtB74C,EAAIsF,sBAGT6N,EAAWnT,EAAIR,OAEf6W,IAAa,QAGb,GADAlD,EAAW,IACPnT,EAAIS,KAAM,CACZ,IA4GO,IA5GHsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACjC,GACEsX,GACAA,EAAYqiC,UACZriC,EAAYqiC,SAAS9tD,OAAS,EAU9B,GARAsG,QAAQC,IAAI,iBACZ8V,GAAY0Q,OAAStB,EAAYqiC,SAAS,GAAGxgC,OACzC7B,EAAYqiC,SAAS,GAAGC,UAC1B1xC,GAAYikB,KAAK2kB,SAAWx5B,EAAYqiC,SAAS,GAAGC,SAKG,MAArDtiC,EAAYqiC,SAAS,GAAG/vC,cAAc+gC,MAAM,EAAG,GAAY,CAC7Dx4C,QAAQC,IAAI,iBACZ8V,GAAY0Q,OAAStB,EAAYqiC,SAAS,GAAGxgC,OAC7CjR,GAAYgpC,UAAY,kBAEpB55B,EAAYqiC,SAAS,GAAGE,kBAC1B7sB,GAAoB,GAGlB1V,EAAYqiC,SAAS,GAAGG,iBAC1BhtB,IAAmB,GAKrB,IAAMitB,EAASj4C,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAE5CmwC,EACJrwC,OAAOkO,eAAehO,QAAQ,elDxxBjB,KkDyxBfN,GAAYipC,sBAAwB,KAWpC,IAAM6I,EAAgB,CACpBzrC,WAAY+I,EAAYqiC,SAAS,GAAGM,WACpCrpC,cAAc,EACdllB,KAAM+0C,EAAO/0C,KACbwZ,MAAOu7B,EAAOv7B,MACduJ,UAAWgyB,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBS,MAAOqxB,EAAO92B,OACdoF,YAA4B,QAAf4pC,EAAuB,IAAM,KAC1C7nC,OAAQA,EAGRxB,YAAayqC,EAAOzqC,aAAe,GACnCE,aAAcuqC,EAAOvqC,cAAgB,GACrCwB,WAAY+oC,EAAO3pC,YAAc,GACjCV,YAAaqqC,EAAOrqC,aAAe,GACnCE,aAAcmqC,EAAOnqC,cAAgB,GACrCE,WAAYiqC,EAAOjqC,YAAc,GACjCE,WAAY+pC,EAAO/pC,YAAc,GACjCE,cAAe6pC,EAAO7pC,eAAiB,GACvCE,WAAY2pC,EAAO3pC,YAAc,GACjCc,cAAe6oC,EAAOvqC,cAAgB,GACtCc,SAAUypC,EAAOzpC,UAAY,IAE/BpI,GAAYipC,sBAAwB6I,EAGpC,IAAMh6C,EAAO,CACX0gB,UACEzB,GAAgBC,aAAaC,oBAC1BE,iBACL0K,aACAC,aACAC,gBAEFzJ,GAA2BxgB,GAI3BihB,GAAiBC,UACfO,GAAgBvC,aAAaC,oBAAoBE,kBAInD/W,OAAOC,aAAa0gC,WAAW,2BAC/BxqB,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,kBACzC7O,EAAMivB,QAAQM,KACZpsB,GAAmB,gBAAkByuD,WAE7BhB,IACV96C,UAcFxK,QAAQC,IAAI,kBAAmBqlD,IAC1BA,IAEH,OAACl4C,QAAD,IAACA,GAAD,UAACA,EAAKsF,2BAAN,aAAC,EAA0BC,OAC3B,OAACvF,QAAD,IAACA,GAAD,UAACA,EAAKsF,2BAAN,aAAC,EAA0BK,SAE3B/S,QAAQC,IAAI,kBACZwlD,IAAkB,IANqBj7C,UAUtCowB,GAAqBF,IAExB16B,QAAQC,IAAI,kBACZwlD,IAAkB,IAHuBj7C,KAO/CxK,QAAQC,IAAI,iBAAkB26B,EAAkB,KAAMF,IA4BxD,SAASlwB,KACP,IAAMo9C,EAASj4C,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAGhDF,OAAOkO,eAAehO,QAAQ,cAChCN,GAAYipC,sBAAwB,KAEpC,IAAI/gC,EAAa2pC,EAAO3pC,YAAc,GAClCV,EAAcqqC,EAAOrqC,aAAe,GACpCF,EAAeuqC,EAAOvqC,cAAgB,GAEtCwB,EAAa,GACbE,EAAgB,GAGhBskC,IAAyBE,KAC3BtlC,EAAa8lC,GACbxmC,EAAc0mC,GACd5mC,EAAewmC,GAAkBA,GAAgB1hD,WAAa,IACjD,EACb0c,EAAaklC,GACbhlC,EAAgB8kC,GAAkBA,GAAgB1hD,WAAa,GAC/DgU,OAAOkO,eAAepB,QACpB,cACAtT,KAAK2G,UAAL,2BACKsxC,GADL,IAEE3pC,aACAV,cACAF,oBAKW,IAAdY,GAAkC,MAAdA,QAAoCjlB,GAAdilB,GAC5B,OAAf2Z,QACe5+B,IAAf4+B,GACe,KAAfA,IAEA3Z,EAAa2Z,GAGI,IAAhBva,GACiB,MAAhBA,QACgBrkB,GAAhBqkB,GACe,OAAjBya,QACiB9+B,IAAjB8+B,GACiB,KAAjBA,IAEAza,EAAeA,GAGC,IAAfE,GAAoC,MAAfA,QAAsCvkB,GAAfukB,GAC5B,OAAjBua,QACiB9+B,IAAjB8+B,GACiB,KAAjBA,IAEAza,EAAeA,GAUjB,IAAIc,EAAWypC,EAAOzpC,SAEP,IAAZA,GAA8B,MAAZA,QAAgCnlB,GAAZmlB,GAC1B,OAAbykC,QACa5pD,IAAb4pD,GACa,KAAbA,IAEAzkC,EAAWykC,GAEb,IAAI/kC,EAAa+pC,EAAO/pC,WAEP,IAAdA,GAAkC,MAAdA,QAAoC7kB,GAAd6kB,GAC5B,OAAfga,QACe7+B,IAAf6+B,GACe,KAAfA,IAEAha,EAAaga,GAGf,IAAIrtB,EAAa,CACf4R,WAAyB,IACzBqC,cAAc,EACdllB,KAAM+0C,EAAO/0C,KACbwZ,MAAOu7B,EAAOv7B,MACduJ,UAAWgyB,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBS,MAAOqxB,EAAO92B,OACdoF,YAAa0pC,KACb3nC,OAAQA,EAGRE,WAAYA,GAAc+oC,EAAO3pC,WACjCd,YAAayqC,EAAOzqC,aAAe,GACnCE,eACAE,cACAE,aAAcmqC,EAAOnqC,cAAgB,GACrCE,WAAYiqC,EAAOjqC,YAAc,GACjCE,WAAYA,IAA0B+pC,EAAO/pC,YAAc,IAC3DE,cAAe6pC,EAAO7pC,eAAiB,GACvCE,aACAc,cAAeA,GAAiB6oC,EAAOvqC,aACvCc,SAAUA,IAAsBypC,EAAOzpC,UAAY,KAIhDqnC,IAMHxlD,QAAQC,IAAI,sBA1sCZkoD,GA2sCAC,GAAY,CAAEphC,OAAQjR,GAAY0Q,QAAUjc,KAN5CxK,QAAQC,IAAI,aAAcuK,GAC1BuS,IAAkB,SAAC3P,GAAD,OAAcg7C,GAAYh7C,EAAK5C,KAAaA,IASlE,SAAS49C,GAAYh7C,EAAU8O,GAC7B,IAAImsC,EAOJ,IALI,OAACj7C,QAAD,IAACA,OAAD,EAACA,EAAKM,UAER26C,EAAWj7C,EAAIR,OAGZQ,EAKE,GAAIi7C,EACT9nC,EAAW8nC,GACX5kC,IAAa,QAEb,GAAKrW,GAAOA,EAAIS,MAAST,EAAI4Z,OAAQ,CACnChnB,QAAQC,IAAI,SAAUulD,IAEtB,IASIrgC,EATEtX,EAAO,CACX0gB,UACEzB,GAAgBC,aAAaC,oBAAoBE,iBACnD0K,aACAC,aACAC,gBAEFzJ,GAA2BxgB,GAGtB23C,KACHxlD,QAAQC,IAAI,UACZklB,EAAcxV,KAAKC,MAAMxC,EAAIS,OAE1BsX,GAAeA,EAAY6B,QAAW5Z,EAAI4Z,QAC7ChnB,QAAQC,IAAI,UACPulD,KACHxlD,QAAQC,IAAI,UACZ8V,GAAY0Q,OAAStB,EAAY6B,OACjCjR,GAAYipC,sBAAwB9iC,GAEtCqE,EAAW,IACXpK,OAAOC,aAAa0gC,WAAW,2BAC/BxqB,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,kBAkBzC7O,EAAMivB,QAAQM,KACZpsB,GAAmB,gBAAkByuD,MAEvC7iC,IAAa,IAGblD,EAAWnT,EAAIR,YAIjB2T,EAAWnT,EAAIR,OACf6W,IAAa,QA7DflD,EAAWnT,EAAIR,OACf6W,IAAa,GArJjB1oB,IAAM6H,WAAU,WAEZ4iD,IACAlX,EAAO92B,QACP82B,EAAOv7B,OACPu7B,EAAO9G,WACP8G,EAAO9xB,WACN4G,IAEDpjB,QAAQC,IAAI,kBACZuK,QAED,CAACg7C,KAyMJrvC,OAAOmyC,OAAS,WACdlyC,aAAa6M,QAAQ,aAAc9M,OAAOoyC,KAAKpyC,OAAOY,SAASC,QAsBjE,SAASwxC,KACP/kC,IAAa,GAMH6qB,EAAOv7B,MAGjByI,IACE,SAACpO,IAQL,SAAwBA,GACO,IAAD,YAAxBA,EAAIS,MAAQT,EAAIM,OAEI,QAAjB,OAAHN,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS7U,KAAjB,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBk5C,QACQ,MAAxB,OAAH35C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBk5C,QAEjB9B,IAAU,SAACD,GAAY,IAAD,IAEpB,OADAA,EAAOF,WAAP,OAAoB13C,QAApB,IAAoBA,GAApB,UAAoBA,EAAKS,YAAzB,iBAAoB,EAAWA,YAA/B,aAAoB,EAAiBk5C,MAC9B/B,KAET1qB,IAAgB,GAChB6oB,GAAqB,GACrB5iC,EAAW,KAEXA,EAAW,qCAIbA,EAAWnT,EAAIR,OAEjB6W,IAAa,GA7BTglC,CAAer7C,KAEjBkhC,EAAOv7B,MACP,SAwCJ,OACE,yBAAKpe,UAAW,oBAAsB2P,GAAY,QAAU,KAC1D,8BACE,8BAAU3P,UAAU,UAAU2I,SAAUgH,IACtC,yBAAK3P,UAAU,eACb,2BAAOA,UAAU,aAAa+I,QA3EpB,WAClBhJ,EAAMivB,QAAQM,KAAKnsB,GAAUC,cA0ErB,mCAKF,yBAAKpD,UAAU,OAEb,yBAAKA,UAAU,kBACb,2BAAOA,UAAU,WAAjB,cACA,kBAAC,GAAD,CACEoE,UAAQ,EAER6C,SAAU,SAAC3G,GAAD,OAAW2G,GAAS,YAAa3G,IAC3C+H,OAAQ,SAAC4P,EAAO3N,GAAW,IAAD,WAErB,OAACA,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,KAC/B,OAACuF,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,iBAAC,EAAe9G,aAAhB,aAAC,EAAsBiF,QAAQ,MAAO,IAAIR,QAE1C2mB,GAAU,2BACLD,IADI,IAGPonB,UAAW5sB,GAAShK,OAGtByP,GAAU,2BACLD,IADI,IAGPonB,UAAW56B,EAAM7T,SAAW6hB,GAAShK,IAAkB,OAG7D9T,YAAY,cACZ5B,UAAWklB,GAAOonB,UAClBrqC,KAAK,UAIT,yBAAKxI,UAAU,2BACb,2BAAOA,UAAU,WAAjB,aACA,kBAAC,GAAD,CACEoE,UAAQ,EAER6C,SAAU,SAAC3G,GAAD,OAAW2G,GAAS,WAAY3G,IAC1C+H,OAAQ,SAAC4P,EAAO3N,GAAW,IAAD,WAErB,OAACA,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,KAC/B,OAACuF,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,iBAAC,EAAe9G,aAAhB,aAAC,EAAsBiF,QAAQ,MAAO,IAAIR,QAE1C2mB,GAAU,2BACLD,IADI,IAEP5D,SAAU5B,GAAShK,OAGrByP,GAAU,2BACLD,IADI,IAGP5D,SAAU5P,EAAM7T,SAAW6hB,GAAShK,IAAkB,OAG5D9T,YAAY,WACZ5B,UAAWklB,GAAO5D,SAClBrf,KAAK,WA4BX,yBAAKxI,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,YACA,kBAAC,GAAD,CACE+G,QAASnB,GACTqB,SAAU,SAAC3G,GACL4F,GAAoB/B,KAAK7D,GAC3BorB,GAAU,2BACLD,IADI,IAGPrN,MAAO6H,GAAShK,QAGlBuyC,GAAqB,GACrBxoB,IAAmB,GACnBkrB,IAAoB,GACpBI,GAA2B,CAAElzC,OAAO,EAAOJ,KAAK,IAChD/W,GAAS,QAAS3G,GAClBorB,GAAU,2BACLD,IADI,IAGPrN,MAAO,MAETnX,GAAS,QAAS3G,KAGtB+H,OAAQ,SAAC4P,EAAO/Q,GAAO,IAAD,QAYb,aAVgB7C,KAApB,OAAD6C,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACU,QAApB,OAAD4G,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACU,MAApB,OAAD4G,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACX4F,GAAoB/B,KAApB,OAAyB+C,QAAzB,IAAyBA,GAAzB,UAAyBA,EAAGE,cAA5B,aAAyB,EAAW9G,OAEpCorB,GAAU,2BACLD,IADI,IAGPrN,MAAO6H,GAAShK,YAIK5X,KAApB,OAAD6C,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACU,QAApB,OAAD4G,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACU,MAApB,OAAD4G,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,SACVsF,GAAWzB,KAAX,OAAgB+C,QAAhB,IAAgBA,GAAhB,UAAgBA,EAAGE,cAAnB,aAAgB,EAAW9G,SAAU,OAAC2X,QAAD,IAACA,OAAD,EAACA,EAAOlR,SAQ9C2kB,GAAU,2BACLD,IADI,IAGPrN,MAAOnG,EAAMlR,QAAU,GAAKkf,GAAShK,OATvCyP,GAAU,2BACLD,IADI,IAGPrN,MAAOnG,EAAMlR,QAAU,GAAKkf,GAAShK,QAW7C9T,YAAY,wBACZ5B,UAAWklB,GAAOrN,MAClB5V,KAAK,QACLQ,OACEoY,GAAYikB,KAAKjnB,QAAUu7B,EAAOv7B,OACjB,KAAjBu7B,EAAOv7B,OACP2nB,GACE,uBAAG/lC,UAAU,mBAEb,qCAGJiJ,WAAW,gXAGdslD,IAAsBxoB,IACrB,yBAAK/lC,UAAU,WACb,kBAAC,GAAD,CACE6P,QAAQ,SACRlH,SACEinB,OAAO+pB,OAAO,CACZluB,GAAOonB,UACPpnB,GAAO5D,SACP4D,GAAOrN,QAENw7B,MAAK,SAAC3hC,GAAD,OAAWA,MACnB2X,OAAO+pB,OAAO,CACZA,EAAO9G,UACP8G,EAAO9xB,SACP8xB,EAAOv7B,QAENw7B,MAAK,SAACt5C,GAAD,OAAYA,KAEtByI,QAAS,WACP4uB,GAAW,CACTG,OAAQ,YACRlpB,MAAO,eAGTilD,UAMT/D,KAAiBvB,EAChB,yBAAKvuD,UAAU,cACb,kBAAC,GAAD,CACE4O,MAAM,kBACN4X,SAAU,GACVtB,MAAM,OACNje,SAAU,SAACyC,GAAD,OAAS2K,GAAY,QAAS3K,IACxCid,cAAektC,GACfpuC,WAAYsqC,GACZxqC,WAAY0qC,MAIhB,GAOF,oCACE,yBAAKjwD,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,cACA,kBAAC,GAAD,CACE+G,QAASf,GACTiB,SAAU,SAAC3G,GACTolC,GAAiB,GACjBwrB,IAAoB,GACpBhrB,GAAoB,GACpBorB,GAA2B,CAAElzC,OAAO,EAAOJ,KAAK,IAChD/W,GAAS,SAAU3G,IAErB+H,OAAQ,SAAC4P,EAAO3N,GAAW,IAAD,aAEGjG,KAApB,OAALiG,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,eAAe9G,QACU,QAApB,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,eAAe9G,QACU,MAApB,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,eAAe9G,SACd0F,GAAQ7B,KAAR,OAAamG,QAAb,IAAaA,GAAb,UAAaA,EAAOlD,cAApB,aAAa,EAAe9G,SAAU,OAAC2X,QAAD,IAACA,OAAD,EAACA,EAAOlR,SAQ/C2kB,GAAU,2BACLD,IADI,IAGP5I,OAAQ5K,EAAMlR,QAAU,GAAKkf,GAAShK,OATxCyP,GAAU,2BACLD,IADI,IAGP5I,OAAQ5K,EAAMlR,QAAU,GAAKkf,GAAShK,QAU5C9T,YAAY,iBACZ5B,UAAWklB,GAAO5I,OAClBra,KAAK,MACLI,aAAcpD,GACdwD,OACEoY,GAAYikB,KAAKxiB,SAAW82B,EAAO92B,QACjB,KAAlB82B,EAAO92B,QACPojB,EACE,uBAAGjmC,UAAU,mBAEb,qCAGJ2H,UAAW,GACXkB,WAAY,SACVkrD,GAEA,GAAIA,EAASxnD,KAAO,KAAOwnD,EAASxnD,KAAO,IACzC,OAAO,EAGY,cAAjBwnD,EAASxnD,KACQ,UAAjBwnD,EAASxnD,KAETwnD,EAASC,qBAKlBvuB,IAAkBQ,GACjB,yBAAKjmC,UAAU,WACb,kBAAC,GAAD,CACE6P,QAAQ,SACRlH,SACEinB,OAAO+pB,OAAO,CACZluB,GAAOonB,UACPpnB,GAAO5D,SAGP4D,GAAO5I,SACN+2B,MAAK,SAAC3hC,GAAD,OAAWA,MACnB2X,OAAO+pB,OAAO,CACZA,EAAO9G,UACP8G,EAAO9xB,SAGP8xB,EAAO92B,SACN+2B,MAAK,SAACt5C,GAAD,OAAYA,KAEtByI,QAAS,WACP4uB,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,eAEzC2oC,UAMT3R,IAAkBH,GACjB,yBAAKzlC,UAAU,cACb,kBAAC,GAAD,CACE4O,MAAM,mBACN4X,SAAU,GACVtB,MAAM,OACNje,SAAU,SAACyC,GAAD,OAAS2K,GAAY,SAAU3K,IACzCid,cAAe,WACbgR,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,eACzC2oC,MAEF9xB,WAAYA,EACZF,WAAYA,OAMnB0gB,GAAoBioB,GACnB,oCACE,yBAAKluD,UAAU,OACb,2BAAOA,UAAU,UAAjB,0BAGF,yBAAKA,UAAU,kBACb,2BAAOA,UAAU,gBACjB,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACEiH,SAAU,SAAC3G,GAAD,OAAW2G,GAAS,SAAU3G,IACxCsO,MAAM,wBACNzG,YAAY,cACZK,KAAK,OACLH,OAAQ,kBAMjBkoD,IACC,yBAAKvwD,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQuwD,MAMb9hC,GACC,yBAAKzuB,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQyuB,KAQbwX,GACC,qCACIkf,IACA,oCACGlf,GACCF,KACCorB,IACC,yBAAKnxD,UAAU,OACb,kBAAC,GAAD,CACEwB,KAAK,QACLqN,QAAS6/C,GACT/lD,SAAUw8C,GACVl+C,SAAU,SAACC,GAAD,OA9blC,WACE,IAAM+sD,GAA2BvF,GACjCG,GAAkB,IAClBE,GAAsB,IACtBrjC,GAAU,2BAAKD,IAAN,IAAcmjC,oBAAgBvqD,KACvC8qD,GAAmB,MACnBR,GAAyBsF,GACzBpE,GAAuBoE,GACvB5E,GAAe,IACfJ,IAAwB,GAqbeiF,KAEjB,0BAAMl0D,UAAU,aAAhB,gGASX0uD,IACC,oCACE,yBAAK1uD,UAAU,OACb,2BAAOA,UAAU,WAAjB,yBACA,kBAAC,GAAD,CACEoE,UAAQ,EAERqD,UAAQ,EACRR,SAAU,SAAC3G,GACTuuD,GAAkBvuD,GA/lDxC,SAAkBA,GAAgC,IAAjB6zD,EAAgB,uDAAN,IACrCrwC,IACFswC,aAAatwC,IAEfA,GAAQ5Z,YAAW,WACjBqnD,GAAiBjxD,KAChB6zD,GA0lDiBE,CAAS/zD,IAEX+H,OAAQ,aACRF,YAAY,aACZ5B,UAAWklB,GAAOmjC,eAClBpmD,KAAK,UAGT,yBAAKxI,UAAU,OACZwvD,KAAwB,OAAVA,SAAU,IAAVA,QAAA,EAAAA,GAAYzqD,QAAS,EAClC,oCACE,yBAAK/E,UAAU,cACb,wCACA,kBAAC,GAAD,CACEwB,KAAK,SACL6E,aAAcyoD,GACd3kD,eAAgB,SAAC7J,GACf,QACY+D,IAAV/D,GACU,OAAVA,IADA,OAEAA,QAFA,IAEAA,OAFA,EAEAA,EAAOA,OACP,CACA,IAAIg0D,EAAmB9E,GAAWvxC,MAChC,SAAC+L,GAAD,OAAYA,EAAOqvB,WAAP,OAAmB/4C,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAOA,UAGtB,OAAhBg0D,QACgBjwD,IAAhBiwD,IA//C9BvF,GACyB,KAAb,QAFcgD,EAkgDuBuC,SAhgDrC,IAAVvC,OAAA,EAAAA,EAAYC,SAAgBD,EAAWP,SAAWO,EAAWC,SAE/D7C,GAAkB,OAAC4C,QAAD,IAACA,OAAD,EAACA,EAAY1Y,SAC/BgW,GAAc,OAAC0C,QAAD,IAACA,OAAD,EAACA,EAAY9xB,QAC3BsvB,GAAmBwC,EAAWE,MAC9BhD,IAAwB,GACxBY,IAAuB,IARE,IAACkC,GAugDFloD,aAAc,EACdgB,QAAS6kD,GAET/lD,UAAU,UACVxB,YAAY,iBAGZ0E,aAAa,MAKnB,2BAAO7M,UAAU,WAAW8uD,KAGhC,yBAAK9uD,UAAU,OACb,uBAAGA,UAAU,WAAb,wEAEoB,gCAM1B,yBAAKA,UAAU,OACb,uBAAGA,UAAU,gBAAb,iEAKA4vB,OAAO+pB,OAAOluB,IAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,MACtC2X,OAAO+pB,OAAO,CACZA,EAAO9G,UACP8G,EAAO9xB,SACP8xB,EAAOv7B,MACPu7B,EAAO92B,SACN+2B,MAAK,SAACt5C,GAAD,OAAYA,MACpB8gB,GAAYikB,KAAKxiB,SAAW82B,EAAO92B,QACP,KAA5BzB,GAAYikB,KAAKxiB,QACjBzB,GAAYikB,KAAKjnB,QAAUu7B,EAAOv7B,OACP,KAA3BgD,GAAYikB,KAAKjnB,OACjBwxC,KACGa,GA4BH,GA3BA,yBAAKzwD,UAAU,kBACb,kBAAC,GAAD,CACE+I,QA5xClB,SAAsB7B,GAGpB,GAFAgqD,IAAoB,GACpBJ,IAAkB,GAEhBlhC,OAAO+pB,OAAO,CACZA,EAAO9G,UACP8G,EAAO9xB,SACP8xB,EAAO92B,OACP82B,EAAO92B,SACN0xC,OAAM,SAACj0D,GAAD,OAAWA,KAYpB,GAVAwuB,IAAa,GAEb1N,GAAYikB,KAAO,CACjBwN,UAAW8G,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBzJ,MAAOu7B,EAAOv7B,MACdyE,OAAQ82B,EAAO92B,OACfje,KAAM,IAGJ6pD,GACF74C,SACK,CAKY+jC,EAAO92B,OAEN2xC,UAAUC,QAI5B7+C,OA2vCY/F,QAAQ,UACRlH,SACEinB,OAAO+pB,OAAOluB,IAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,MACtC2X,OAAO+pB,OAAO,CACZA,EAAO9G,UACP8G,EAAO9xB,SACP8xB,EAAOv7B,MACPu7B,EAAO92B,SACN+2B,MAAK,SAACt5C,GAAD,OAAYA,MACpB8gB,GAAYikB,KAAKxiB,SAAW82B,EAAO92B,QACP,KAA5BzB,GAAYikB,KAAKxiB,QACjBzB,GAAYikB,KAAKjnB,QAAUu7B,EAAOv7B,OACP,KAA3BgD,GAAYikB,KAAKjnB,QAChB6nB,IACAF,IACD6pB,IACAqB,IACAjC,GAEFr/C,UAAWA,GACXnH,KAAK,aAsCf,yBAAKxI,UAAU,aACb,2BAAOA,UAAU,uBAAjB,2BAC2B,KAE3B,2BAAOA,UAAU,YAAY+I,QA1mBvC,WACE4uB,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,UACzC4S,OAAOY,SAASC,KAAO3e,KAwmBf,e,oBG3sDGgxD,I,2DAxSb,WAAY30D,GAAa,IAAD,8BACtB,cAAMA,IAIR40D,KAAO,WACL,IAAIhlC,EAAcu2B,GAAW,EAAKnmD,MAAMqiB,SAAS2N,QAE/CJ,GACAA,EAAYrG,YAC6B,eAAzCqG,EAAYrG,WAAWrhB,gBAEvBmZ,GAAY8oC,YAAa,GAE3B,EAAK0K,aAAajlC,GAGa,qBAAtBA,EAAYklC,OACnBllC,EAAYklC,OACU,KAAtBllC,EAAYklC,OAG2B,qBAA9BllC,EAAY/M,eACnB+M,EAAY/M,eACZ+M,EAAY/M,cAShB,EAAKkyC,eAAenlC,IAjCE,EAqCxBilC,aAAe,SAACjlC,GACd,GAAIC,OAAOtgB,KAAKqgB,GAAa5qB,OAAS,EAAG,CAAC,IAAD,EACnCwhD,EAAc,CAChBwO,kBAAmB,IACnBzrC,WAAYqG,EAAYrG,WACxBJ,WAAYyG,EAAYzG,WACxBM,SAAUmG,EAAYnG,SACtBV,aAAc6G,EAAY7G,aAC1BJ,aAAciH,EAAYjH,aAC1BF,YAAamH,EAAYnH,YACzBY,cAAeuG,EAAYvG,cAC3BJ,WAAY2G,EAAY3G,WACxBJ,YAAa+G,EAAY/G,YACzBosC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXC,cAAe,GACfC,gBAAiB,GACjBzO,WAAY,GACZ0O,SAAU,GACVC,UAAW,KAEPnQ,EAAqC,cAA3B,YAAKplD,MAAMw1D,aAAX,eAAkBC,MAClCh0C,OAAOkO,eAAepB,QAAQ,cAAetT,KAAK2G,UAAU4kC,IAC5D/kC,OAAOkO,eAAepB,QAAQ,UAAWtT,KAAK2G,UAAUwjC,QACnD,CACL,IAAM5zB,EAASvW,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAElD,IAAK6P,GAAyC,IAA/B3B,OAAOtgB,KAAKiiB,GAAQxsB,OAAc,CAC/C,IAAIwhD,EAAc,CAChBwO,kBAAmB,IACnBzrC,WAAYqG,EAAYrG,WACxBJ,WAAYyG,EAAYzG,WACxBM,SAAUmG,EAAYnG,SACtBV,aAAc6G,EAAY7G,aAC1BJ,aAAciH,EAAYjH,aAC1BF,YAAamH,EAAYnH,YACzBY,cAAeuG,EAAYvG,cAC3BJ,WAAY2G,EAAY3G,WACxBJ,YAAa+G,EAAY/G,YACzBosC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXC,cAAe,GACfC,gBAAiB,GACjBzO,WAAY,GACZ0O,SAAU,GACVC,UAAW,KAEb9zC,OAAOkO,eAAepB,QACpB,cACAtT,KAAK2G,UAAU4kC,OAzFC,EA8QxBuO,eAAiB,SAACnlC,GAChB,IAAIkiC,EAEFA,EADsC,IAApCjiC,OAAOtgB,KAAKqgB,GAAa5qB,QACU,QAAxB4qB,EAAY8lC,QAAoB,MAC7B,OAClBj0C,OAAOkO,eAAepB,QAAQ,aAAcujC,IAjR5C,EAAK8C,OAFiB,E,sDAuRtB,OACE,yBAAK30D,UAAU,gBACb,yBAAKA,UAAU,WACb,qIAKF,yBAAKA,UAAU,UACb,yBAAKA,UAAU,YAAYE,IAAKw1D,KAAWt1D,IAAI,YAEjD,kBAAC,GAAqBmL,KAAKxL,Y,GAnSRiN,cCHd2oD,I,OAAqB,SAChC50C,EACA6B,GAEA/B,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJmS,cAAeF,EACfU,cAAe,GAEjBrC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaK,oBAE5BqO,KAcS60C,GAAuB,SAClC70C,EACA6B,GAEA/B,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJmS,cAAeF,EACfU,cAAe,GAEjBrC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaK,oBAE5BqO,IA6HS80C,GAAsB,SACjC90C,EACA6B,EACA8P,EACA4B,EACAnB,GAEAtS,GACE,CACEkB,IAAK,gBACLpR,KAAM,CACJmS,cAAeF,EACf8P,kBAAmBA,EACnB4B,gBAAiBA,EACjBhC,MAAOa,GAETlS,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaiE,cAE5ByK,IAiDS+0C,GAAwB,SACnC/0C,EACA6B,GAEA/B,GACE,CACEkB,IAAK,oBACLpR,KAAM,CACJmS,cAAeF,GAEjB3B,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaqE,oBAE5BqK,I,oBCjQSg1C,GAA4B,SACvCh1C,EACAke,EACAvV,GAEA7I,GACE,CACEkB,IAAK,oCACLpR,KAAM,CACJ0f,SAAU4O,EACVxV,SAAUC,GAEZzI,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAakB,2BAE5BwN,IC8BWi1C,I,OAlC+B,SAACj2D,GAC3C,OACI,yBAAKC,UAAW,cAAgBD,EAAMk2D,SAAW,UAAY,KAAOl2D,EAAM2B,WAAa,QAAU,KAAQ3B,EAAMm2D,YAAgC,GAAlB,iBAAuBntD,QAAShJ,EAAMo2D,gBAC/J,yBAAKn2D,UAAU,eACX,yBAAKA,UAAU,mBAEX,yBAAKE,IAAKH,EAAMk2D,WAAal2D,EAAM2B,WAAW3B,EAAMqC,QAAQrC,EAAMI,KAAMC,IAAK,MAEjF,yBAAKJ,UAAU,eACX,yBAAKA,UAAU,cACX,2BAAOA,UAAU,iBAAiBD,EAAMyB,OAE5C,yBAAKxB,UAAU,cAEPD,EAAM4P,UACF,kBAAC,GAAD,CAAQR,KAAM,KAEdpP,EAAM2B,WACF,oCACI,0BAAM1B,UAAU,mBAChB,2BAAOA,UAAU,YAAjB,cAGJ,2BAAOA,UAAW,iBAAmBD,EAAMk2D,SAAW,QAAU,KAC3Dl2D,EAAMk2D,SAAW,cAAgBl2D,EAAM0B,Y,OCzCzE,SAAS20D,GAAc7pD,GAAqC,IAAxB8pD,EAAuB,uDAAP,MAC1D,OAAO,SAAmBlqD,EAAQC,GACjC,IAAKD,EAAE8sC,eAAe1sC,KAASH,EAAE6sC,eAAe1sC,GAE/C,OAAO,EAGR,IAAM+pD,EAAOjxD,MAAMkxD,WAAWpqD,EAAEI,KAASJ,EAAEI,GAAKtE,cAAgBsuD,WAAWpqD,EAAEI,IACvEiqD,EAAOnxD,MAAMkxD,WAAWpqD,EAAEI,KAASH,EAAEG,GAAKtE,cAAgBsuD,WAAWnqD,EAAEG,IAEzEkqD,EAAa,EAMjB,OALIH,EAAOE,EACVC,EAAa,EACHH,EAAOE,IACjBC,GAAc,GAEE,SAAVJ,GAAiC,EAAdI,EAAkBA,GCOvC,SAASC,GACdC,EACAC,GACC,IAAD,MAmCE,EAjCI/3B,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GAChCtxB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAkB1C,GAhBI4T,GAAYo6B,YAAYwM,yBAC1BpG,GAAqBlhD,GAAaC,aAGlCygB,GAAYo6B,YAAYwL,2BACxB5lC,GAAYo6B,YAAYuL,4BAExBnF,GAAqBlhD,GAAaE,SAChC+1D,GAA4B/U,GAAqBlhD,GAAaM,KAC9DogB,GAAYo6B,YAAY2L,wBAC1BvF,GAAqBlhD,GAAaG,MAElCugB,GAAYo6B,YAAY4L,6BACxBhmC,GAAYo6B,YAAY+L,4BAExB3F,GAAqBlhD,GAAaI,MAChCsgB,GAAYo6B,YAAY8L,0BAA2B,CACc,IAAD,EAAlE,GAAIlmC,GAAY+P,gBAAgBpsB,SAAWzC,GAAgByC,QACtD,UAACqc,GAAY+P,uBAAb,aAAC,EAA6BlmB,SAAS1J,MAC1C6f,GAAY+P,gBAAgB7B,KAAK/tB,IAEnCqgD,GAAqBlhD,GAAaO,KAGQ,OAA1CmgB,GAAYo6B,YAAY+M,oBACoBlkD,KAAjC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0B+M,gBACmB,IAAlC,OAAXnnC,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,mBAF1B,OAGApgC,SAHA,IAGAA,IAHA,UAGAA,GAAao6B,mBAHb,aAGA,EAA0B+M,kBAEtB,UAACnnC,GAAY+P,uBAAb,aAAC,EAA6BlmB,SAASjJ,MACzCof,GAAY+P,gBAAgB7B,KAAKttB,SACTqC,IAAtBuyD,GAAyD,OAAtBA,GAChChV,GAAqBlhD,GAAaU,QAEvCggB,GAAYo6B,YAAYiM,kBAC1B7F,GAAqBlhD,GAAaS,OAGtC,IC1CI01D,GDoOWC,GA1LqC,SAAC/2D,GACnD,IAAMivB,EAAUC,cACV7M,EAAW2M,cAF4C,EAG/B3oB,IAAM8G,WAHyB,mBAGtD6pD,EAHsD,KAG7CC,EAH6C,OAIf5wD,IAAM8G,SAElDkU,GAAY+P,iBAN+C,mBAItDA,EAJsD,KAIrC8lC,EAJqC,KAOzD9iC,EAAS,EACb9oB,QAAQC,IAAI,oBAAqBowB,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,QAC9D,IAAMwd,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YA8I1C,OA5IApH,IAAM6H,WAAU,WACdgpD,EAAmB71C,GAAY+P,iBAE3B3gB,KAAgBM,YAClBkmD,EAAW50C,EAAS80C,UACpB91C,GAAYupC,oBAAsBvoC,EAAS80C,UAE7C,IAAM7oC,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D,GAAIN,GAAYwQ,eAAiBvD,EAAwBsD,cACvD,GACEvQ,GAAY4P,OACZ3C,EAAwB2C,OACxB5P,GAAY6tB,OACZ5gB,EAAwB4gB,OACxB7tB,GAAYmO,cACZlB,EAAwBkB,aACxB,CAAC,IAAD,EACMw6B,EAAqB3oC,GAAY+P,gBAAgB1nB,QACrD,SAACW,GAAD,MAAwB,uBAAdA,EAAK5I,QAEjB,GAAiD,IAAlC,OAAX4f,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,iBAAsB,CAClD,IAAI2V,EAAyB,OAAGpN,QAAH,IAAGA,OAAH,EAAGA,EAAoB/+C,WAClD,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCo2D,EAA4B,IACZ,OAAlBpN,QAAkB,IAAlBA,KAAoBqN,OAAOD,EAA2B,IACxD,IAAIE,EAAc,OAAGtN,QAAH,IAAGA,OAAH,EAAGA,EAAoB/+C,WACvC,SAACvB,GAAD,MAA8B,UAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,WAEtB,GAAe,IAAXwyB,EAAc,CAChB,IAAIkjC,EAAc,OAAGtN,QAAH,IAAGA,OAAH,EAAGA,EAAoB/+C,WACvC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCk2D,EAAiB,IACD,OAAlBtN,QAAkB,IAAlBA,KAAoBqN,OAAOC,EAAgB,IAC7C,IAAIC,EAAe,OAAGvN,QAAH,IAAGA,OAAH,EAAGA,EAAoB/+C,WACxC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCu2D,EAAkB,IACF,OAAlBvN,QAAkB,IAAlBA,KAAoBqN,OAAOE,EAAiB,SAG9C,GACEl2C,GAAYmO,cACZlB,EAAwBkB,kBAEnB,CACL,IAAI8nC,EAAc,OAAGtN,QAAH,IAAGA,OAAH,EAAGA,EAAoB/+C,WACvC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCk2D,EAAiB,IACD,OAAlBtN,QAAkB,IAAlBA,KAAoBqN,OAAOC,EAAgB,KACzC,OAACtN,QAAD,IAACA,OAAD,EAACA,EAAoB9+C,SAAS/I,MAChC6nD,EAAmBz6B,KAAKptB,IAI1Bm1D,EAAiB,IAAqB,OAAlBtN,QAAkB,IAAlBA,KAAoBqN,OAAOC,EAAgB,KAC/D,OAACtN,QAAD,IAACA,OAAD,EAACA,EAAoB9+C,SAASjJ,MAChC+nD,EAAmBz6B,KAAKttB,IAExB+nD,GAAsBA,EAAmBhlD,OAAS,IACpDkyD,EAAmBlN,GACnB3oC,GAAY+P,gBAAkB44B,OAE3B,CAAC,IAAD,EACL,GAAiD,IAAlC,OAAX3oC,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,iBAAsB,CAAC,IAAD,QAC9CuI,EAAqB3oC,GAAY+P,gBACjCgmC,EAAyB,UAAGpN,SAAH,aAAG,EAAoB/+C,WAClD,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCo2D,EAA4B,IACZ,QAAlB,EAAApN,SAAA,SAAoBqN,OAAOD,EAA2B,IACxD,IAAIE,EAAc,UAAGtN,SAAH,aAAG,EAAoB/+C,WACvC,SAACvB,GAAD,MAA8B,UAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,WAGtB,GADI01D,EAAiB,IAAqB,QAAlB,EAAAtN,SAAA,SAAoBqN,OAAOC,EAAgB,IAE3C,OAAX,OAAXj2C,SAAW,IAAXA,QAAA,EAAAA,GAAa4P,QACoB,MAAjC3C,EAAwB2C,YACF3sB,IAAX,OAAX+c,SAAW,IAAXA,QAAA,EAAAA,GAAa4P,aACoB3sB,GAAjCgqB,EAAwB2C,OACF,IAAX,OAAX5P,SAAW,IAAXA,QAAA,EAAAA,GAAa4P,QACoB,GAAjC3C,EAAwB2C,OACK,OAA7B5P,GAAYmO,mBACgBlrB,GAA5B+c,GAAYmO,cACgB,GAA5BnO,GAAYmO,cAC4B,MAAxClB,EAAwBkB,mBACgBlrB,GAAxCgqB,EAAwBkB,cACgB,GAAxClB,EAAwBkB,aACxB,CAAC,IAAD,EACA,GAAc,GAAV4E,EAAa,CAAC,IAAD,KACf,UAAI41B,SAAJ,aAAI,EAAoB9+C,SAAS1J,MACR,QAAlB,EAAAwoD,SAAA,SAAoBz6B,KAAK/tB,IAChCwoD,EAAqBA,EAAmB79C,KACtCkqD,GAAc,iBAEX,CAAC,IAAD,QACDiB,EAAc,UAAGtN,SAAH,aAAG,EAAoB/+C,WACvC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCk2D,EAAiB,IACD,QAAlB,EAAAtN,SAAA,SAAoBqN,OAAOC,EAAgB,IAC7C,IAAIC,EAAe,UAAGvN,SAAH,aAAG,EAAoB/+C,WACxC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCu2D,EAAkB,IACF,QAAlB,EAAAvN,SAAA,SAAoBqN,OAAOE,EAAiB,KAG5C,UAACvN,SAAD,aAAC,EAAoB9+C,SAASjJ,MAChC+nD,EAAmBz6B,KAAKttB,IAExB+nD,GAAsBA,EAAmBhlD,OAAS,IACpDkyD,EAAmBlN,GACnB3oC,GAAY+P,gBAAkB44B,OAKrC,CAAC3nC,EAAS80C,WAeb7rD,QAAQC,IAAI8V,GAAY+P,gBAAiB,qCACzC9lB,QAAQC,IAAI6lB,EAAiB,eAG3B,yBAAKnxB,UAAU,cACZmxB,EAAgBjlB,KAAKkqD,GAAc,aAAanqD,KAAI,SAACsrD,EAAMxsD,GAAP,OACnD,kBAAC,GAAD,CACEwB,IAAKxB,EACL4E,UAAW5P,EAAM4P,UACjBnO,KAAM+1D,EAAK/1D,KACXC,KAAM81D,EAAK91D,KACXw0D,SACEc,IAAYQ,EAAK51D,QACjByf,GAAYupC,sBAAwB4M,EAAK51D,OAE3CD,WAAY61D,EAAK71D,WACjBC,OAAQ41D,EAAK51D,OACbxB,KAAMo3D,EAAKp3D,KACX+1D,YACY,IAAVnrD,MAEIomB,EAAgBjlB,KAAKkqD,GAAc,aAAarrD,EAAQ,KACxDomB,EAAgBjlB,KAAKkqD,GAAc,aAAarrD,EAAQ,GAAxD,YAMNorD,eAAgB,kBAzCxB,SAAwBx0D,EAAgBoJ,GACtC,IAAMysD,EAAiBrmC,EAAgBjlB,KAAKkqD,GAAc,aAC1D,GACY,IAAVrrD,GACAysD,EAAezsD,EAAQ,KACtBysD,EAAezsD,EAAQ,GAAvB,WAED,OAAO,EAETqW,GAAYupC,oBAAsBhpD,EAClCq1D,EAAWr1D,GACXqtB,EAAQM,KAAK3tB,GA8Bew0D,CAAeoB,EAAK51D,OAAQoJ,WE+hB7C0sD,GAhvBiC,SAAC13D,GAAW,IAAD,EACvBqG,IAAM8G,UAAkB,GADD,mBAClDyC,EADkD,KACvCmf,EADuC,OAEP1oB,IAAM8G,SAAc,MAFb,mBAElD0pD,EAFkD,KAE/Bc,EAF+B,OAGrBtxD,IAAM8G,SAAiB,IAHF,mBAGlDyqD,EAHkD,KAGtCC,EAHsC,OAI3BxxD,IAAM8G,WAJqB,mBAIlDuhB,EAJkD,KAIzC7C,EAJyC,OAMvDxlB,IAAM8G,UAAkB,GAN+B,mBAKlDypD,EALkD,KAKtBkB,EALsB,KAOnD7oC,EAAUC,cACZkF,EAAS,IAEP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,WAoDjC,SAAS8/C,EAAe70C,GACtB,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf6W,GAAa,QAEb,GAAIrW,EAAIS,MAAoB,MAAZT,EAAIS,MAClB,GACEkI,GAAYyM,gBAAgB9nB,IAAIkC,cAAcnD,SAC9C2T,EAAIS,KAAKg0C,IAAIjlD,cAAcnD,OAC3B,CACAsc,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYwQ,cAAgBnZ,EAAIS,KAAK8zC,cACrC5rC,GAAYyM,gBAAgB9nB,IAAM0S,EAAIS,KAAKg0C,IAC3C9rC,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAC9BjR,GAAYyQ,sBAAwBpZ,EAAIS,KAAKkZ,sBAC7C,IAAM/D,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdrQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,UAInBzC,EAAWnT,EAAIR,OACf6W,GAAa,GAqBnB,SAASgpC,EAAkBr/C,IACpBA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OAEXQ,EAAIwgC,eAAe,UACJ,IAAbxgC,EAAIS,MAAe0oC,GAAqBlhD,GAAaK,UACzD0xB,GACE26B,EACAhsC,GAAYwQ,gBAGdhG,EAAWnT,EAAIR,OAWrB,SAAS8/C,EAAmBt/C,GAE1B,GADAqW,GAAa,IACRrW,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,YAEf,GAAIQ,GAAOA,EAAIS,KAAM,CACnB,IACI5P,EADY0R,KAAKC,MAAMxC,EAAIS,MACEzP,QAC/B,SAACW,GAAD,OAQoB,GAAlBA,EAAK4tD,aAET,QACW3zD,IAATiF,GACS,OAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,GACE,KAAb,OAAJuE,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QACN,CACA,IAAIkzD,EAAe3uD,EAAK2U,MACtB,SAACi6C,GAAD,MAC+B,gBAAtB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASh4B,mBACsB,KAAxB,OAAPg4B,QAAO,IAAPA,OAAA,EAAAA,EAAS/6B,uBAEbu6B,EAAqBO,GACA,OAAjBA,QAA0C5zD,IAAjB4zD,GAC3BJ,GAA8B,GAId,IAAhBvuD,EAAKvE,QAAkC,IAAlBuE,EAAK,GAAG6uD,OAC/BN,GAA8B,GAGpC/oC,GAAa,GAhKf1oB,IAAM6H,WAAU,WACd,GAA0D,IAAtD2hB,OAAOtgB,KAAKmgB,MAA+B1qB,OAC7CiqB,EAAQM,KAAKpsB,SACR,QAC0BmB,IAA/B+c,GAAY6P,gBACoB,QAArB,OAAX7P,SAAW,IAAXA,QAAA,EAAAA,GAAa6P,kBADb,OAEA7P,SAFA,IAEAA,QAFA,EAEAA,GAAa6P,sBACiB5sB,IAA9B+c,GAAYgkC,eACmB,QAApB,OAAXhkC,SAAW,IAAXA,QAAA,EAAAA,GAAagkC,iBACZhkC,GAAYgkC,eACF,MAAXjxB,EAEA9oB,QAAQC,IACN,6BACA8V,GAAY6P,eACZ,4BACA7P,GAAYgkC,eAEdp2B,EAAQM,KAAKpsB,QACR,CAAC,IAAD,EACL4rB,GAAa,GAE2B,KAAtC1N,GAAYyQ,uBAC0B,MAAtCzQ,GAAYyQ,uBAC0B,OAAtCzQ,GAAYyQ,uBAEZxmB,QAAQC,IAAI,+BAEd,IAAI6nB,EAAK,OAAG/R,SAAH,IAAGA,IAAH,UAAGA,GAAayM,uBAAhB,aAAG,EAA8B9nB,IAC1C,GAAa,IAATotB,QAAwB9uB,GAAT8uB,GAA+B,MAATA,EAIvCA,EAHiCnY,KAAKC,MACpCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE3B3b,IAEnCkuB,GAAuBq5B,EAAgBn6B,GAEvC3R,OAAOkO,eAAepB,QAAQ,kBAAmB,SACjD,IAAM8pC,EACJh3C,GAAYyM,gBAAgBygB,QAAQ1kC,eACpC4X,OAAOC,aAAaC,QAAQ,cAC9Bk2C,EACEQ,EAAe7yD,QAAQ,eAAe,SAAC8yD,GAAD,OAAeA,EAAEpwD,kBACrD,IAEJ0tD,GAAmBoC,EAAoB32C,GAAYwQ,kBAEpD,IAmHH,IAAM0mC,EAAc,SAACC,GAAuB,MAEfA,EAAWj0C,MAAM,KAFF,mBAEnC0nC,EAFmC,KAE9BI,EAF8B,KAEvBC,EAFuB,KAKpCv3B,EAAO,IAAIE,KAAKznB,SAAS8+C,GAAO9+C,SAAS6+C,GAAS,EAAG7+C,SAASy+C,IAOpE,MAJmB,WAAOl3B,EAAK6vB,WAAa,GACzCn3C,WACAgrD,SAAS,EAAG,KAFI,YAEIxM,EAAIwM,SAAS,EAAG,KAFpB,YAE4BnM,IA0D3CoM,EAAgB,SACpBC,EACAllB,EACAztC,GAEAktB,IACE,SAACxa,GAAc,IAAD,IACZ,GACEA,GACAA,EAAIS,OADJ,OAEAT,QAFA,IAEAA,GAFA,UAEAA,EAAKS,YAFL,aAEA,EAAWy/C,UAFX,OAGAlgD,QAHA,IAGAA,GAHA,UAGAA,EAAKS,YAHL,aAGA,EAAWy/C,OAAOC,kBAClB,CAAC,IAAD,EACIC,EAAa,OAAGpgD,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,aAAG,EAAWy/C,OAC/B,IACa,OAAXv3C,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,iBAC0C,IAAvDxQ,GAAYo6B,YAAYuL,6BAC8B,IAAtD3lC,GAAYo6B,YAAYwL,2BACN,OAAlB6R,IAHA,OAIAA,QAJA,IAIAA,OAJA,EAIAA,EAAeD,kBAEf,GAAkC,MAAjB,OAAbC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,cA3EJ,SAACtoC,GACxBpP,GAAY4P,OAAQ,EAEpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAYqzB,UAAYjkB,EAAYurB,SAAWvrB,EAAYurB,SAAW,GACtE36B,GAAYuzB,WAAankB,EAAYwrB,UAAYxrB,EAAYwrB,UAAY,GACzE56B,GAAYyzB,SAAWrkB,EAAYuoC,SAAWvoC,EAAYuoC,SAAW,EAGrE,IAAMvoB,EAAYhgB,EAClBpP,GAAY61B,cAAchsB,aAA1B,UAA4CulB,EAAUwoB,WAAtD,YACExoB,EAAUyoB,YAAc,GAD1B,YAEIzoB,EAAU0oB,YAAc,IAC5B93C,GAAY61B,cAAchsB,aACxB7J,GAAY61B,cAAchsB,aAE5B7J,GAAY61B,cAAchV,YAA1B,UAA2CuO,EAAU2oB,WAArD,YACE3oB,EAAU4oB,YAAc,GAD1B,YAEI5oB,EAAU6oB,YAAc,IAC5Bj4C,GAAY61B,cAAchV,YACxB7gB,GAAY61B,cAAchV,YAC5B7gB,GAAY61B,cAAcvzB,QAAU8sB,EAAU8oB,YAC9Cl4C,GAAY61B,cAAc7U,YAAcoO,EAAU+oB,YAClDn4C,GAAYyM,gBAAgB8a,WAAa6H,EAAUgpB,WAC/ChpB,EAAUgpB,WACVp4C,GAAYyM,gBAAgB8a,WAChCta,EAAwB2C,OAAQ,EAChC3C,EAAwBpD,aACtB7J,GAAY61B,cAAchsB,aAC5BoD,EAAwB3K,QAAUtC,GAAY61B,cAAcvzB,QAC5D2K,EAAwB4T,YAAc7gB,GAAY61B,cAAchV,YAChE5T,EAAwB+T,YAAchhB,GAAY61B,cAAc7U,YAChE/T,EAAwBsa,WAAavnB,GAAYyM,gBAAgB8a,WACjEta,EAAwB6T,gBACtB9gB,GAAY61B,cAAchsB,cAC1B7J,GAAY61B,cAAchV,YAO5BzgB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAK5uB,GAAaE,SA4BhB64D,CAAgB,OAACZ,QAAD,IAACA,OAAD,EAACA,EAAel+C,MAChCmU,GAAa,QACR,GAAkC,MAAjB,OAAb+pC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAC5C13C,GAAYmO,cAAe,EAC3B,IAAMlB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D2M,EAAwBkB,cAAe,EACvClB,EAAwBmB,SAAW,GAEnChO,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBT,GAA2B,OAACirC,QAAD,IAACA,OAAD,EAACA,EAAel+C,MAC3CqU,EAAQM,KAAK5uB,GAAaE,SAC1BkuB,GAAa,QACR,GAAkC,MAAjB,OAAb+pC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAAC,IAAD,EAC5C13C,GAAY6P,gBAAiB,EAC7B7P,GAAY6tB,OAAQ,EACpB7tB,GAAY4P,OAAQ,EACpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5C5gB,EAAwBpD,aAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBC,sBAC9CtrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBE,sBAC9CvrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBG,sBAC9CxrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBI,sBAC9CzrC,EAAwB6T,gBACuB,QAAhC,OAAb22B,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,4BACyBjsC,KAAhC,OAAbw0D,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,wBADpB,OAEIuoB,QAFJ,IAEIA,OAFJ,EAEIA,EAAel+C,KAAK21B,sBAE1BjiB,EAAwB4T,YAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BC,2BACnD3rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BE,2BACnD5rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BG,2BACnD7rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BI,2BAEnD9rC,EAAwBgV,gBAC+B,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC2M,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBmlB,IAAMpyB,GAAYoyB,IAC1CnlB,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MAEnDiQ,EAAwBxC,QAAxB,OACEgtC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBU,iBAC9C/rC,EAAwB+T,YAAxB,OACEy2B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BM,sBACnDhsC,EAAwB4C,eACtB7P,GAAY6P,eACd5C,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBxL,OAASzB,GAAYikB,KAAKxiB,OAClDwL,EAAwBtoB,IAAxB,OAA8Bqb,SAA9B,IAA8BA,IAA9B,UAA8BA,GAAayM,uBAA3C,aAA8B,EAA8B9nB,IAC5DsoB,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwBi3B,UAAYlkC,GAAYkkC,UAChDj3B,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5C5gB,EAAwB4C,eACtB7P,GAAY6P,eACdzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAK5uB,GAAaE,SAC1BkuB,GAAa,OAGD,KAAVqF,QACQ9vB,IAARmvC,QACoCnvC,IAApC+c,GAAYyM,gBAAgB9nB,IAE5Bu0D,EAAY9mB,EAAKpyB,GAAYyM,gBAAgB9nB,KAE7C2yD,QAOM,KAAVvkC,QACQ9vB,IAARmvC,QACoCnvC,IAApC+c,GAAYyM,gBAAgB9nB,IAE5Bu0D,EAAY9mB,EAAKpyB,GAAYyM,gBAAgB9nB,KAE7C2yD,MAIN,CACE6B,SAAQ,OAAEn5C,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cACvBrlB,IAAI,cAAD,cAAgB6U,SAAhB,IAAgBA,QAAhB,EAAgBA,GAAawQ,kBAIhC0oC,EAAc,SAAC9mB,EAAaztC,GAChC,IAAMyuB,EAAS,CACb5R,cAAexB,GAAYwQ,cAC3B2qB,UAAW,EACX7nB,IAAI,GAAD,OAAKwB,KAAOoiC,EAAY9kB,IAAMrd,OAAO,eACxCpE,MAAOhsB,GAETwuB,IAAe,SAAC9b,GAAD,OAAc+hD,EAAe/hD,KAAM+b,IAE9CgmC,EAAiB,SAAC/hD,GAOd,IAAD,EANP,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf6W,GAAa,QAKb,aADoBrW,EAAIS,KACRuhD,oBAAhB,aAAI,EAA0BxvD,SAAS,eACrC6jB,GAAa,GAGblD,EAAW6C,GAAoB,IAAMhW,EAAIR,OAAS,SAE7C,CACL,IAAMuY,EAAc/X,EAAIS,KAAOT,EAAIS,KAAOT,EAC1C,GACE+X,GAC0B,OAA1BA,EAAYkqC,UAGZ,CACAt5C,GAAY4P,OAAQ,EACpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5DN,GAAYqzB,UAAYjkB,EAAYurB,SAChCvrB,EAAYurB,SACZ,GACJ36B,GAAYuzB,WAAankB,EAAYwrB,UACjCxrB,EAAYwrB,UACZ,GACJ56B,GAAYyzB,SAAWrkB,EAAYuoC,SAC/BvoC,EAAYuoC,SACZ,EAGJ,IAAMvoB,EAAYhgB,EAClBpP,GAAY61B,cAAchsB,aAA1B,UAA4CulB,EAAUwoB,WAAtD,YACExoB,EAAUyoB,YAAc,GAD1B,YAEIzoB,EAAU0oB,YAAc,IAC5B93C,GAAY61B,cAAchsB,aACxB7J,GAAY61B,cAAchsB,aAE5B7J,GAAY61B,cAAchV,YAA1B,UAA2CuO,EAAU2oB,WAArD,YACE3oB,EAAU4oB,YAAc,GAD1B,YAEI5oB,EAAU6oB,YAAc,IAC5Bj4C,GAAY61B,cAAchV,YACxB7gB,GAAY61B,cAAchV,YAC5B7gB,GAAY61B,cAAcvzB,QAAU8sB,EAAU8oB,YAC9Cl4C,GAAY61B,cAAc7U,YAAcoO,EAAU+oB,YAClDn4C,GAAYyM,gBAAgB8a,WAAa6H,EAAUgpB,WAC/ChpB,EAAUgpB,WACVp4C,GAAYyM,gBAAgB8a,WAChCta,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwBpD,aACtB7J,GAAY61B,cAAchsB,aAC5BoD,EAAwB3K,QAAUtC,GAAY61B,cAAcvzB,QAC5D2K,EAAwB4T,YACtB7gB,GAAY61B,cAAchV,YAC5B5T,EAAwB+T,YACtBhhB,GAAY61B,cAAc7U,YAC5B/T,EAAwBsa,WACtBvnB,GAAYyM,gBAAgB8a,WAC9Bta,EAAwB6T,gBACtB9gB,GAAY61B,cAAchsB,cAC1B7J,GAAY61B,cAAchV,YAQ5BzgB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAK5uB,GAAaE,SAC1BkuB,GAAa,OACR,CAAC,IAAD,EACL1N,GAAY6P,gBAAiB,EAC7B7P,GAAY6tB,OAAQ,EACpB7tB,GAAY4P,OAAQ,EACpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAE5C5gB,EAAwBgV,gBAC+B,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC2M,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBmlB,IAAMpyB,GAAYoyB,IAC1CnlB,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MAEnDiQ,EAAwB4C,eAAiB7P,GAAY6P,eACrD5C,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBxL,OAASzB,GAAYikB,KAAKxiB,OAClDwL,EAAwBtoB,IAAxB,OAA8Bqb,SAA9B,IAA8BA,IAA9B,UAA8BA,GAAayM,uBAA3C,aAA8B,EAA8B9nB,IAC5DsoB,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwBi3B,UAAYlkC,GAAYkkC,UAChDj3B,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5C5gB,EAAwB4C,eAAiB7P,GAAY6P,eACrDzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAKpsB,IACb4rB,GAAa,MAKrB,SAASs+B,EAAsB30C,GAG7B,GADAqW,GAAa,IACRrW,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAEnCkI,GAAYyM,gBAAgB8a,WAAavnB,GAAYyM,gBAClD8a,WACCvnB,GAAYyM,gBAAgB8a,WAFS,OAGrCnY,QAHqC,IAGrCA,OAHqC,EAGrCA,EAAaoe,iBAEjB,IAAMvgB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAmB5D,GAhBArW,QAAQC,IAAI+iB,EAAyB,2BAEhCA,EAAwBxL,SAC3BwL,EAAwBxL,OAAS2N,EAAYmqC,UAG1CtsC,EAAwB4mB,UAC3B5mB,EAAwB4mB,QAAUzkB,EAAYoqC,SAGb,OAAtB,OAAXpqC,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,wBACoBvqC,IAAtB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,mBACqB,MAAvB,OAAXpe,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,oBAEbvgB,EAAwBsa,WAAxB,OAAqCnY,QAArC,IAAqCA,OAArC,EAAqCA,EAAaoe,kBAE3B,QAAV,OAAXpe,QAAW,IAAXA,OAAA,EAAAA,EAAagjB,WAAqCnvC,KAAV,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAagjB,KAAmB,CAC/D,IAAI1e,EAAOoB,KAAOA,KAAOoiC,EAAW,OAAC9nC,QAAD,IAACA,OAAD,EAACA,EAAagjB,MAAMqnB,UACrDC,QAAQ,OACRD,SACU,OAAT/lC,QAA0BzwB,IAATywB,GAAsBO,GAAcP,GAAQ,GAC/DtT,OAAOkO,eAAepB,QAAQ,kBAAmB,QAEjD9M,OAAOkO,eAAepB,QAAQ,kBAAmB,SASrD,GANA9M,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBu4B,GAAap2B,GACbkmC,GAAwBC,EAA4BC,GAC1B,OAAtBA,QAAoDvyD,IAAtBuyD,EAAiC,CAAC,IAAD,EAE7DhN,EAAqCxoC,GAAY+P,gBAWrD,OAVa,QAAT,EAAAy4B,SAAA,eAAW7kD,QAAS,IACtB6kD,EAAYA,EAAU39C,KAAI,SAAC8uD,GAIzB,OAHU,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQp5D,UAAR,OAAkBjB,SAAlB,IAAkBA,QAAlB,EAAkBA,GAAcU,SAClC25D,EAAOr5D,YAAa,GAEfq5D,MAGX35C,GAAY+P,gBAAkBy4B,OACvB,OAAP56B,QAAO,IAAPA,KAASM,KAAT,OAAc5uB,SAAd,IAAcA,QAAd,EAAcA,GAAcU,QAO9B,IACGovB,EAAYk3B,uBACbtmC,GAAY8P,qBACX9P,GAAYmO,eACZnO,GAAY4P,MAGb,YADAhC,EAAQM,KAAKpsB,IAGf,IAEIstB,EAAYw2B,4BACZx2B,EAAYu2B,2BAQd,YALA0R,GAAc,YACiC,KAA9B,OAAXjoC,QAAW,IAAXA,OAAA,EAAAA,EAAaw3B,yBACfh5B,EAAQM,KAAR,OAAa5uB,SAAb,IAAaA,QAAb,EAAaA,GAAcC,aACtBquB,EAAQM,KAAK5uB,GAAaE,WAHtB,OAIV4vB,QAJU,IAIVA,OAJU,EAIVA,EAAagjB,KAGlB,IAAKhjB,EAAY22B,uBAEf,YADAn4B,EAAQM,KAAK5uB,GAAaG,MAG5B,GAAqC,KAAtB,OAAX2vB,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,oBAAyB,OAAChxB,QAAD,IAACA,OAAD,EAACA,EAAa+3B,eAEtD,YADAv5B,EAAQM,KAAK5uB,GAAaU,OAG5B,GACmC,KAAtB,OAAXovB,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,oBACXhxB,EAAY42B,8BACX52B,EAAY+2B,4BAGf,YADAv4B,EAAQM,KAAK5uB,GAAaI,MAG5B,IAAK61D,EAEH,YADA3nC,EAAQM,KAAK5uB,GAAaM,KAG5B,IACGogB,GAAYmO,eACZnO,GAAY4P,QACZ5P,GAAY6tB,QACZze,EAAY82B,0BAGb,YADAt4B,EAAQM,KAAK5uB,GAAaO,KAG5B,GAAIuvB,EAAYg3B,sBAEd,YADAx4B,EAAQM,KAAKpsB,IAGf,GACwB,OAAtBstB,EAAYs3B,YACUzjD,IAAtBmsB,EAAYs3B,OACZt3B,EAAYs3B,OACqB,KAAtB,OAAXt3B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,iBAEb,OACgC,IAA9BhxB,EAAYm3B,eACsB,IAAlCn3B,EAAYq3B,oBADZ,OAEAr3B,QAFA,IAEAA,OAFA,EAEAA,EAAawqC,eAEbhsC,EAAQM,KAAKpsB,IAIA,MAAXixB,GAC8B,IAA9B3D,EAAYm3B,eACsB,IAAlCn3B,EAAYq3B,uBAEZ74B,EAAQM,KAAK5uB,GAAaM,UAG1BguB,EAAQM,KAAK5uB,GAAaW,cAKhC,IAAKmvB,EAAYi3B,iBAEf,YADAz4B,EAAQM,KAAK5uB,GAAaS,MAAQ,SAGpC,IACa,OAAXqvB,QAAW,IAAXA,OAAA,EAAAA,EAAai3B,mBACoB,KAAtB,OAAXj3B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,iBAGb,YADAxyB,EAAQM,KAAKpsB,IAGf,GAAIstB,EAAYi3B,mBAAqBj3B,EAAYu3B,oBAE/C,YADA/4B,EAAQM,KAAK5uB,GAAaS,MAAQ,SAGpC,GAAkC,IAA9BqvB,EAAYm3B,cAEd,YADA34B,EAAQM,KAAKnsB,GAAUI,2BAGzB,GAAkC,IAA9BitB,EAAYm3B,cAEd,YADA34B,EAAQM,KAAKpsB,IAKnB4rB,GAAa,GAUf,OACE,yBAAK9uB,UAAU,MACb,yBAAKA,UAAU,UACb,kBAAC,GAAD,KACE,yBAAKE,IAAK+6D,KAAa76D,IAAI,UAAUJ,UAAU,YAGnD,yBAAKA,UAAU,aACb,+CAAqB23D,IAEvB,yBAAK33D,UAAU,UACb,2BAAOA,UAAU,YAAjB,2GAMDyuB,GACC,yBAAKzuB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEAA8CA,EAA9C,MAGF,+BAAQA,KAMhB,yBAAKzuB,UAAU,UACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACE6P,QAAQ,cACRlH,SAAUgH,EACVQ,aAAa,EACbR,UAAWA,EACX5G,QA9CV,WAA+B,IAAD,EAC5BqY,GAAY6oC,uBAAwB,EACpCx6B,GAA4B,CAAEmC,cAAe,KACjC,QAAZ,EAAAnQ,oBAAA,SAAc0gC,WAAW,2BACzBnzB,EAAQzpB,QAAQrC,QA6CZ,yBAAKlD,UAAU,gBACb,kBAAC,GAAD,CACE6P,QAAQ,WACRlH,SAAUgH,EACVA,UAAWA,EACX5G,QAtoBV,WACE,IAAMsqB,EAAajS,GAAYyM,gBAAgBwF,WAC/ChoB,QAAQC,IAAI,aAAc8V,GAAYyM,iBACZ,qBAAfwF,GAA8BA,GAA6B,KAAfA,IACrDhoB,QAAQC,IAAI,uBACZwjB,GAAa,GAGbinC,GACE+B,EACA12C,GAAYwQ,cACZ7gB,GAAOW,qCCxIAwpD,I,OAVM,kBACjB,yBAAKl7D,UAAU,WACX,yBAAKA,UAAU,eACX,kBAAC,GAAD,CAAckP,MAAM,2BAExB,uBAAGlP,UAAU,kBAAb,0BACA,uBAAGA,UAAU,eAAb,sGCKOm7D,I,OAXH,kBACR,yBAAKn7D,UAAU,OACX,yBAAKA,UAAU,WACX,kBAAC,GAAD,CAAckP,MAAM,2BAExB,uBAAGlP,UAAU,cAAb,0BACA,uBAAGA,UAAU,WAAb,iIACA,uBAAGA,UAAU,WAAb,mBCwGOo7D,I,qNAhGbtxD,MAAQ,CACNwc,IAAK,GACLC,UAAU,EACVzC,MAAO,GACPu3C,UAAWzlC,KAAK0lC,SAChBj2B,KAAMjkB,GAAYikB,M,EAGpBk2B,aAAe,WACb,IAAIx3C,EAAc6B,aAAY,WAC5B,IAAIC,EAAO,EAAK/b,MAAMga,MAAQ,EACjB,IAAT+B,GACFC,cAAc/B,GACd,EAAKha,SAAS,CAAE+Z,MAAO,GAAIyC,UAAU,KAErC,EAAKxc,SAAS,CAAE+Z,MAAO+B,MAExB,M,EAOLa,OAAS,SAACpmB,GACR,EAAKyJ,SAAS,CAAEuc,IAAKhmB,K,EAGvBqmB,cAAgB,WACd,EAAK5c,SAAS,CAAEsxD,UAAWzlC,KAAK0lC,SAAU/0C,UAAU,IACpD,EAAKg1C,gB,EAGPjjB,iBAAmB,SAAC7/B,K,EAEpBpE,YAAc,WACZ2S,GACE,EAAKsxB,iBACL,EAAKxuC,MAAMu7B,KAAKxiB,OAAOrV,WACvB,EAAK1D,MAAMwc,M,mEAlBb/a,KAAKgwD,iB,+BAuBL,OACE,yBAAKv7D,UAAU,OACb,8BACE,uBAAGA,UAAU,WAAb,aACA,uBAAGA,UAAU,QAAb,0DAGA,yBAAKA,UAAU,YACb,kBAAC,GAAD,CACEiH,SAAUsE,KAAKmb,OACfna,IAAKhB,KAAKzB,MAAMuxD,UAChBn2C,MAAM,gBAGT,GACA,EACD,yBAAKllB,UAAU,aACZuL,KAAKzB,MAAMyc,SACV,yBAAKvmB,UAAU,iBACb,2BAAOA,UAAU,cAAjB,gCACA,2BAAOA,UAAU,gBAAgB+I,QAASwC,KAAKob,eAA/C,eAKF,yBAAK3mB,UAAU,YACb,kBAAC,GAAD,CAAU8jB,MAAO,QAItB,EAQD,yBAAK9jB,UAAU,aACb,kBAAC,GAAD,CACE6P,QAAQ,SACR9G,QAASwC,KAAK8I,YACd1L,UAAU,EACVgH,WAAW,W,GAxFP3C,c,8BCsCHwuD,GA5C6B,WAExC,IAAMxsC,EAAUC,cAEhB,OACI,yBAAKjvB,UAAU,WAEX,yBAAKA,UAAU,eACX,kBAAC,GAAD,KACI,yBAAKE,IAAKu7D,KAAYr7D,IAAI,aAAaJ,UAAU,YAIzD,yBAAKA,UAAU,kBACX,uDAGJ,yBAAKA,UAAU,eACX,4EAGJ,yBAAKA,UAAU,eACX,kBAAC,GAAD,CACI6P,QAAQ,oBACRlH,UAAU,EACVgH,WAAW,EACX5G,QAAS,WACL4uB,GAAW,CAAEG,OAAQ,eAAgBlpB,MAAO,aAC5CogB,EAAQM,KAAKpsB,QAIzB,yBAAKlD,UAAU,gBACX,kEACA,2BAAOA,UAAU,YACb+I,QAAS,WACL4uB,GAAW,CAAEG,OAAQ,eAAgBlpB,MAAO,eAC5C4S,OAAOY,SAASC,KAAO3e,KAH/B,iB,oBCfHg4D,I,cAAwC,SAAC37D,GACpD,OACE,kBAAC,IAAM+jD,SAAP,KACG/jD,EAAM47D,QACL,yBAAK37D,UAAU,gBACb,yBAAKA,UAAU,iBACZD,EAAM67D,aACL,0BACE7yD,QAAShJ,EAAM87D,QACf77D,UAAU,8BAGbD,EAAMgP,cAOJ+sD,GAvC2B,SAAC/7D,GACzC,OACE,kBAAC,IAAM+jD,SAAP,KACG/jD,EAAM47D,QACL,yBAAK37D,UAAU,YACb,yBAAKA,UAAS,oBAAeD,EAAMwQ,MAAQxQ,EAAMwQ,MAAQ,KACtDxQ,EAAM67D,aACL,0BACE7yD,QAAShJ,EAAM87D,QACf77D,UAAU,8BAGbD,EAAMgP,aCJJgtD,I,aATiC,SAACh8D,GAC7C,OACI,yBAAKC,UAAU,cAAc4M,MAAO,CAAE2D,MAAM,GAAD,OAAKxQ,EAAMwQ,OAASyrD,OAAO,GAAD,OAAKj8D,EAAMi8D,UAC5E,yBAAKh8D,UAAW,OAASD,EAAMk8D,YAAc,UAAY,IAAKrvD,MAAO,CAAE2D,MAAM,GAAD,OAAKxQ,EAAMm8D,QAAX,W,6FCqbzEC,I,OA5YuC,SAACp8D,GAAW,IAAD,IACjCqG,IAAM8G,WAD2B,mBACxDkvD,EADwD,KAC/CC,EAD+C,OAEzBj2D,IAAM8G,SAA0B,IAFP,mBAExDovD,EAFwD,KAE3CC,EAF2C,OAI7Bn2D,IAAM8G,WAJuB,mBAIxDsvD,EAJwD,KAI7CC,EAJ6C,OAKzBr2D,IAAM8G,SAC1CnN,EAAM48B,OAAOiG,UANgD,mBAKxD85B,EALwD,KAK3CC,EAL2C,OAQjCv2D,IAAM8G,SAAiBnN,EAAM48B,OAAOC,UARH,mBAQxDggC,EARwD,KAQ/CC,EAR+C,OAUzCz2D,IAAM8G,SAAiB,IAVkB,mBAUxD4vD,EAVwD,KAUnDC,EAVmD,KAWzDC,EAAgB52D,IAAM+oB,OAAuB,MAC7C8tC,EAAe72D,IAAM+oB,OAAuB,MAE5C+tC,EAA4B1sD,KAAgBC,SAAW,IAAM,IAC7D0sD,EAA6B3sD,KAAgBC,SAAW,IAAM,IAC9D2sD,EAAyB5sD,KAAgBC,SAAW,IAAM,IAC1D4sD,EAA0B7sD,KAAgBC,SAAW,IAAM,IAC3D6sD,GAA0B9sD,KAAgBC,SAAW,KACrD8sD,GAA2B/sD,KAAgBC,SAAW,KAE5DrK,IAAM6H,WAAU,WAAO,IAAD,MAUlB,GATFgvD,EAAapsC,QAAS2sC,QAAS,EAC/BR,EAAcnsC,QAAS2sC,QAAS,EACF,oBAA1Bz9D,EAAM48B,OAAOK,UACf+/B,EAAO,OAGqB,QAAvB,OAALh9D,QAAK,IAALA,GAAA,UAAAA,EAAO48B,cAAP,eAAeC,gBACav4B,KAAvB,OAALtE,QAAK,IAALA,GAAA,UAAAA,EAAO48B,cAAP,eAAeC,WACa,MAAvB,OAAL78B,QAAK,IAALA,GAAA,UAAAA,EAAO48B,cAAP,eAAeC,YAEfigC,EAAU,OAAC98D,QAAD,IAACA,GAAD,UAACA,EAAO48B,cAAR,aAAC,EAAeC,YAE3B,IACHx2B,IAAM6H,WAAU,WACd0uD,EAAe58D,EAAM48B,OAAOiG,YAC3B,CAAC7iC,EAAM48B,OAAOiG,SAAU7iC,EAAM48B,SACjCv2B,IAAM6H,WAAU,WAAO,IAAD,MAKlB,EAH4B,QAAvB,OAALlO,QAAK,IAALA,GAAA,UAAAA,EAAO48B,cAAP,eAAeC,gBACav4B,KAAvB,OAALtE,QAAK,IAALA,GAAA,UAAAA,EAAO48B,cAAP,eAAeC,WACa,MAAvB,OAAL78B,QAAK,IAALA,GAAA,UAAAA,EAAO48B,cAAP,eAAeC,WAEfigC,EAAU,OAAC98D,QAAD,IAACA,GAAD,UAACA,EAAO48B,cAAR,aAAC,EAAeC,YAE3B,QAAC78B,QAAD,IAACA,GAAD,UAACA,EAAO48B,cAAR,aAAC,EAAeC,WACnBx2B,IAAM6H,WAAU,WACVlO,EAAM09D,eACRpyD,QAAQC,IAAI,qBAAsBvL,EAAM09D,cACxCC,OAED,CAAC39D,EAAM09D,eA+FV,IAAMC,EAAY,WAChBf,GAAe,GAEf58D,EAAM48B,OAAO+F,UAAY,EACzB3iC,EAAM49D,UAAY59D,EAAM49D,SAAS59D,EAAM48B,SAMnCihC,EAAc,SAAC79D,GACnBk9D,EAAapsC,QAAS2sC,QAAS,EAC/BR,EAAcnsC,QAAS2sC,QAAS,GAG5BK,EAAiB,SAACC,GAEL,cAAb/9D,EAAM0I,IACRw0D,EAAapsC,QAAS2sC,QAAS,EAC/BR,EAAcnsC,QAAS2sC,QAAS,GAEhCP,EAAapsC,QAAS2sC,QAAS,GAgB7BO,EAAmB,WAEvB,GADAh+D,EAAM48B,OAAOkG,OAAS25B,OACJn4D,IAAdm4D,EAAyB,CAC3B,IAAMwB,EAAcxB,EAAUv3D,UAC5B,cAAcF,OACdy3D,EAAU1xD,QAAQ,YAGpB/K,EAAMk+D,qBACJl+D,EAAMk+D,oBACJzB,EACAz8D,EAAM48B,OAAOC,SACb78B,EAAM0I,GACNu1D,GAEJf,EAAapsC,QAAS2sC,QAAS,EAC/BR,EAAcnsC,QAAS2sC,QAAS,IAIpC,OACE,yBAAKx9D,UAAU,mBACb,yBAAK+wB,IAAKksC,GACR,kBAAC,GAAD,CACEtB,QAAQ,EACRC,aAAa,EACbC,QAAS,kBAAM+B,MAEf,oCACW,QAARd,EACC,2BACE58D,IAAKs8D,GAAaz8D,EAAM48B,OAAOkG,OAC/B7iC,UAAU,eAGZ,yBAAKA,UAAU,IACb,yBACEA,WACO,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOm+D,+BAAP,OACIn+D,QADJ,IACIA,OADJ,EACIA,EAAOm+D,8BACP,UAENh+D,IAAKs8D,GAAaz8D,EAAM48B,OAAOkG,OAC/BziC,IAAKo8D,QAOjB,yBAAKzrC,IAAKisC,GACR,kBAAC,GAAD,CACErB,QAAQ,EACRC,aAAa,EACbC,QAAS,kBAAM+B,MAEf,yBAAK59D,UAAU,YACZw8D,GAAaz8D,EAAM48B,OAAOkG,OACzB,kBAAC,KAAD,CAEEs7B,mBAAoB,EACpBC,QAAQ,eACRl+D,IAAKs8D,GAAaz8D,EAAM48B,OAAOkG,OAC/Bw7B,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,CAAQzvD,KAAM,OAIpB,kBAAC,GAAD,CAAQU,QAAQ,kBAAkB9G,QAAS,WA/F1B,qBAAZqzD,IACTK,EAAaL,EAAQyC,mBAAmBC,UAAU/+D,EAAM48B,OAAOK,WAC/Dj9B,EAAM48B,OAAOoiC,WAAY,EACzBh/D,EAAM48B,OAAOmG,OAASs5B,EACnByC,mBACAC,UAAU/+D,EAAM48B,OAAOK,UAC1B+gC,UA6FCrB,EACC,yBACE18D,UAAW,cAAgBD,EAAM48B,OAAO7F,QAAU,WAAa,KAE/D,2BACEtuB,KAAK,OACLG,SAAU5I,EAAM48B,OAAO7F,QACvBruB,GAAI1I,EAAM48B,OAAOl0B,GACjBzI,UAAU,YACViH,SApOV,SAAsBqD,GACpB,UAAIvK,QAAJ,IAAIA,OAAJ,EAAIA,EAAOi/D,mBACJ,CACL,IAAMC,EAAO30D,EAAMlD,OACb83D,EAAOD,EAAKE,OAASF,EAAKE,MAAM,GAKtC,GAJID,GACFrC,EAAWqC,EAAK19D,MAGd09D,GAAQA,EAAK/vD,KAAO,QAEtB,YADAotD,EAAet2C,GAAShK,KAG1B,IAAIijD,GAAwC,IAAhCA,EAAK19D,KAAK8iB,MAAM,KAAKvf,OAqE/B,YADAw3D,EAAet2C,GAAShK,KApEsB,IAAD,EACzCmjD,EAAaF,EAAK19D,KAAK8iB,MAAM,KACjC,GAAgC,MAA5BvkB,EAAM48B,OAAOG,WAAoB,CACnC,GAAIoiC,EAAK/vD,KAAO,QAEd,YADAotD,EAAet2C,GAAShK,KAEnB,GAAoC,QAAhCmjD,EAAW,GAAGn3D,cAEvB,YADAs0D,EAAet2C,GAAShK,KAI5B,IAAIojD,EAAsB,GAQ1B,GAN4B,QAArB,OAALt/D,QAAK,IAALA,OAAA,EAAAA,EAAOu/D,sBACmBj7D,KAArB,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAOu/D,kBAEPD,EAAY,OAAGt/D,QAAH,IAAGA,OAAH,EAAGA,EAAOu/D,eAAeh7C,MAAM,QAIjB,QAArB,OAALvkB,QAAK,IAALA,OAAA,EAAAA,EAAOu/D,sBACmBj7D,KAArB,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAOu/D,kBACK,QAAZ,EAAAD,SAAA,eAAct6D,QAAS,EACnBq6D,EAAW,GAAGn3D,gBAAkBo3D,EAAa,IAC1CA,EAAa,IACM,KAApBA,EAAa,IACbD,EAAW,GAAGn3D,gBAAkBo3D,EAAa,GACf,QAAhCD,EAAW,GAAGn3D,eACkB,SAAhCm3D,EAAW,GAAGn3D,eACkB,QAAhCm3D,EAAW,GAAGn3D,eAoClB,YARuB,SAAnBlI,EAAM48B,OAAOl0B,IAAuC,MAAjB,OAAL1I,QAAK,IAALA,OAAA,EAAAA,EAAOw/D,gBAAsB,OAACx/D,QAAD,IAACA,OAAD,EAACA,EAAOw/D,eACrEl0D,QAAQC,IAAI,iBAAkB2a,GAAShK,KACvCsgD,EAAet2C,GAAShK,MACK,cAApBlc,EAAM48B,OAAOl0B,GACtB8zD,EAAet2C,GAAShK,KAExBsgD,EAAet2C,GAAShK,MA9B1B,GAFA8gD,EAAOqC,EAAW,GAAGn3D,eAEjBg3D,EAAKE,OAASF,EAAKE,MAAM,GAAI,CAC/B5C,EAAe,KACJ,IAAIiD,UACVC,OAAO,OAAQR,EAAKE,MAAM,IAC/B,IAAMO,EAAS,IAAIC,WACnBhD,GAAe,GAEf+C,EAAO/L,OAAS,SAAUzsD,GAAI,IAAD,EACrB04D,EAAM,UAAI14D,EAAEE,QAAUF,EAAEE,OAAOuR,cAAzB,aAAG,EAA+BnL,WAC1CoyD,GACFnD,EAAamD,GAEfjD,GAAe,GACf58D,EAAMk+D,qBACJl+D,EAAMk+D,oBACJ2B,EACAV,EAAK19D,KACLzB,EAAM0I,GACNy2D,EAAK12D,OAGXk3D,EAAOG,cAAcZ,EAAKE,MAAM,IAoBrB,cAAbp/D,EAAM0I,IACRo1D,EAAeqB,EAAK12D,QA6IhBs3D,YACqBz7D,KAAd,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAOggE,UAA4C,QAAd,OAALhgE,QAAK,IAALA,OAAA,EAAAA,EAAOggE,SAAvC,OACIhgE,QADJ,IACIA,OADJ,EACIA,EAAOggE,QACP,gCAGR,2BAAO//D,UAAU,WAAjB,oBACmB,0BAAMA,UAAU,kBAAhB,WAEnB,6BACc,cAAbD,EAAM0I,GACL,2BAAOzI,UAAU,WAAjB,6BAEA,yCACsBqE,KAAd,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAOggE,UAA4C,QAAd,OAALhgE,QAAK,IAALA,OAAA,EAAAA,EAAOggE,SACtC,2BAAO//D,UAAU,WAAjB,OACGD,QADH,IACGA,OADH,EACGA,EAAOggE,QADV,mBAIA,2BAAO//D,UAAU,WAAjB,oCAQR,yBAAKA,UAAU,aACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,UACe,MAA3BD,EAAM48B,OAAO+F,UACH,QAARo6B,GAAiB,yBAAK58D,IAAK8/D,KAAS5/D,IAAI,MAChC,QAAR08D,GACC,yBAAK58D,IAAK+/D,KAASl3D,QAAS,kBAAM80D,KAAkBz9D,IAAI,KAG1D,yBAAKJ,UAAU,YAAY+I,QAAS,kBAAM80D,MAC/B,QAARf,GACyB,oBAA1B/8D,EAAM48B,OAAOK,SACX,yBAAKh9B,UAAU,YAAYE,IAAK8/D,KAAS5/D,IAAI,KAE7C,yBACEJ,UAAU,YACVE,IAAKH,EAAM48B,OAAOkG,QAAU25B,EAC5Bp8D,IAAI,KAGR,yBAAKJ,UAAU,UACb,yBAAKA,UAAU,QACC,cAAbD,EAAM0I,GACL,yBAAKvI,IAAKggE,KAAU9/D,IAAI,YAExB,yBAAKF,IAAKigE,KAAU//D,IAAI,gBAOpC,yBAAKJ,UAAU,aACb,+BAAQ48D,GACP78D,EAAM48B,OAAOgG,cACZ,yBAAK3iC,UAAU,QACb,kBAAC,GAAD,CACEk8D,QAASn8D,EAAM48B,OAAO+F,UAAUl1B,WAChC+C,MAAM,QACNyrD,OAAO,MACPC,aAAW,QAKhBl8D,EAAM48B,OAAO7F,SAAW/2B,EAAMqgE,gBAC/B,yBACEpgE,UAAW,YACX+I,QAAS,YACP,OAAIhJ,QAAJ,IAAIA,OAAJ,EAAIA,EAAOi/D,gBAETtB,MAIJ,2BAAO19D,UAAU,aACdD,EAAM48B,OAAOgG,aAAe,SAAW,UAE1C,yBAAK3iC,UAAU,4CAOxBs8D,GACC,yBAAKt8D,UAAU,cACb,kBAAC,GAAD,KAC0B,kBAAhBs8D,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,Q,6BCjbT+D,GAAa,SACxBt/C,EACA6B,GAEA/B,GACE,CACEkB,IAAK,aACLpR,KAAM,CACJmS,cAAeF,EACf8P,kBAAmB,GAErBzR,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa0E,WAE5BgK,IAqJSu/C,GAA6B,SACxCv/C,EACAod,GAEAtd,GACE,CACEkB,IAAK,WACLpR,KAAM,CACJ0hB,OAAQ8L,EAAUoiC,OAClBnuC,sBAAuB+L,EAAUgb,sBACjCr2B,cAAeqb,EAAUvb,cACzB49C,mBAAoBriC,EAAUsiC,mBAC9BzO,QAAS7zB,EAAUuiC,QACnBC,YAAaxiC,EAAUyiC,YACvBC,OAAQ1iC,EAAU2iC,OAClBznB,QAASlb,EAAU4iC,QACnBC,aAAc7iC,EAAU8iC,aACxBC,iBAAkB/iC,EAAUgjC,iBAC5BC,YAAajjC,EAAUkjC,aACvBC,UAAWnjC,EAAUojC,UACrBC,mBAAmB,EACnBC,QAAStjC,EAAUujC,QAAUvjC,EAAUujC,QAAU,GACjD//B,SAAUxD,EAAUwD,SACpBE,UAAW1D,EAAU0D,UACrB1Z,OAAQgW,EAAUhW,OAClBuW,UAAS,OAACP,QAAD,IAACA,OAAD,EAACA,EAAWO,WAEvBzd,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa8C,2BAE5B4L,IC5JW4gD,GA7CQ,WAAO,IAAD,EACKz0D,mBAAS,CACvC00D,QAAQ,EACRC,YAAa,CAAEjgC,IAAK,GAAIE,IAAK,IAC7B7pB,OAAO,IAJkB,mBACpBmK,EADoB,KACV0/C,EADU,KAOrBC,EAAY,SAAC3/C,GACjB0/C,EAAY,CACVF,QAAQ,EACRC,YAAa,CACXjgC,IAAKxf,EAAS4/C,OAAOrgC,SACrBG,IAAK1f,EAAS4/C,OAAOngC,WAEvB5pB,OAAO,KAILgqD,EAAU,SAAChqD,GACf6pD,EAAY,cACVF,QAAQ,EACRC,YAAa,CAAEjgC,IAAK,GAAIE,IAAK,IAC7B7pB,SAHS,SAIF,KAmBX,OAfAhK,qBAAU,WACF,gBAAiBumD,WACrByN,EAAQ,CACN/7C,KAAM,EACNg8C,QAAS,8BAIb1N,UAAU2N,YAAYC,mBAAmBL,EAAWE,EAAS,CAC3D9N,QAAS7yD,GACT+gE,mBAAoB/gE,GACpBghE,WAAYhhE,OAEb,IAEI8gB,GCuJMmgD,GAtEW,CACxBv7B,WAAY,CACVqL,MAAO,CACLvV,WAAY,IACZM,mBAAoB,IAEtB6kB,UAAW,CACTnlB,WAAY,IACZM,mBAAoB,IAEtBmR,gBAAiB,CACf8D,MAAO,CACLvV,WAAY,IACZM,mBAAoB,IAEtB6kB,UAAW,CACTnlB,WAAY,IACZM,mBAAoB,MAI1B6J,WAAY,CACVoL,MAAO,CACLvV,WAAY,IACZM,mBAAoB,IAEtB6kB,UAAW,CACTnlB,WAAY,IACZM,mBAAoB,IAEtBmR,gBAAiB,CACf8D,MAAO,CACLvV,WAAY,IACZM,mBAAoB,IAEtB6kB,UAAW,CACTnlB,WAAY,IACZM,mBAAoB,MAI1B8J,aAAc,CACZmL,MAAO,CACLvV,WAAY,IACZM,mBAAoB,IAEtB6kB,UAAW,CACTnlB,WAAY,IACZM,mBAAoB,IAEtBmR,gBAAiB,CACf8D,MAAO,CACLvV,WAAY,IACZM,mBAAoB,IAEtB6kB,UAAW,CACTnlB,WAAY,IACZM,mBAAoB,OC3DbolC,I,MAlHG,SAACziE,GAAuB,IAAD,EACbmN,mBAAS,IADI,mBACzBu1D,GADyB,aAETv1D,mBAAc,MAFL,mBAEhCw1D,EAFgC,KAEvBC,EAFuB,OAGTz1D,oBAAS,GAHA,mBAGhC01D,EAHgC,KAGvBC,EAHuB,KAKjCC,EAAgB,SAAC5pD,GAChB,OAALnZ,QAAK,IAALA,KAAOghB,SAAS7H,GAChBypD,EAAWzpD,IAGP6pD,EAA2B,WAC/BF,GAAW,GAEX,IAGMG,EAAiB,CACrB/hD,OAAQ,OACRC,QAAS,CAAE,eAAgB,oBAC3BvQ,KAAMqK,KAAK2G,UAAU,CAAEshD,MAAO,UAGhCnhD,MARE,6FAQYkhD,GACXE,MAAK,SAAC3qD,GAAD,OAAcA,EAAS0J,UAC5BihD,MAAK,SAAChqD,GACLupD,EAASvpD,EAAK8Y,OACd,IAAI3Q,EAAQnI,EAAK8Y,MACZxQ,OAAe2hD,UAAc9hD,EAC/BG,OAAe2hD,SAASC,WAAW/hD,EAAOyhD,GAEtC,OAAL/iE,QAAK,IAALA,KAAOsjE,mBAAkB,MAG5BC,OAAM,SAACrrD,GACN5M,QAAQ4M,MAAM,wBAAyBA,GAClC,OAALlY,QAAK,IAALA,KAAOsjE,mBAAkB,MAE1BE,SAAQ,WACPV,GAAW,OAiBjB,OAbA50D,qBAAU,WACR,IAAMu1D,EAAS9yD,SAAS+yD,cAAc,UAMtC,OALAD,EAAOtjE,IAAM,uDACbsjE,EAAOE,OAAQ,EAEfhzD,SAASizD,KAAKC,YAAYJ,GAEnB,WACL9yD,SAASizD,KAAKE,YAAYL,GAC1Bb,EAAW,SAEZ,IAGD,yBAAK3iE,UAAU,eACX4iE,EA0BA,yBAAK5iE,UAAU,aACb,kBAAC,GAAD,CAAQmP,KAAM,MA1BhB,oCACe,OAAZuzD,GAAyC,MAAd,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASoB,UAC5B,yBAAK9jE,UAAU,aACb,0BACEA,UAAU,mBACV+I,QAAS,WACP45D,EAAW,WACet+D,IAAtBtE,EAAMgkE,eAA6BhkE,EAAMgkE,eACtChB,QAKb,yBAAK/iE,UAAU,aACb,0BACEA,UAAU,mBACV+I,QAAS,SAAC7B,QACkB7C,IAAtBtE,EAAMgkE,eAA6BhkE,EAAMgkE,eACtChB,YC3EZiB,GAAsB,SAACryC,GAClC,IAAM7nB,EAVsB,WAC5B,IAAIm6D,EAAmBxiD,aAAaC,QAAQ,oBAC5C,OAAyB,OAArBuiD,QAAkD5/D,IAArB4/D,GAAuD,KAArBA,EAC1DjpD,KAAKC,MAAMwyC,KAAKhsC,aAAaC,QAAQ,qBAAuB,KAE9D,KAKOwiD,GACd,QAAc,OAAVp6D,IAAkBA,GAASA,EAAM6nB,eAAiBA,IAAiB7nB,EAAMm6D,mBCmHlExhC,GAAiC,CAC5Ch6B,GAAI,GACJquB,SAAS,EACT4L,UAAW,EACXC,cAAc,EACd/F,SAAU,GACVgG,UAAU,EACVC,OAAQ,GACR1C,iBAAkB,GAClB/C,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV8F,OAAQ,GACRpF,eAAe,GAEJymC,GAAsC,CACjD17D,GAAI,GACJquB,SAAS,EACT4L,UAAW,EACXC,cAAc,EACd/F,SAAU,GACVgG,UAAU,EACVC,OAAQ,GACR1C,iBAAkB,GAClB/C,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV8F,OAAQ,GACRpF,eAAe,GAEJ0mC,GAAoC,CAC/C37D,GAAI,GACJquB,SAAS,EACT4L,UAAW,EACXC,cAAc,EACd/F,SAAU,GACVgG,UAAU,EACVC,OAAQ,GACR1C,iBAAkB,GAClB/C,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV8F,OAAQ,GACRi8B,WAAW,EACXrhC,eAAe,GA6tTF2mC,GA1tT+C,SAACtkE,GAC7D,IAAMivB,EAAUC,cACZkF,EAAS,IACb9oB,QAAQC,IAAI,oBAAqBowB,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,QAC9D,IAAMwd,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,WAEjC,IA8JI82D,EA9JEC,EAA6B,WAAO,IAAD,EACvC,QACa,MAAXpwC,MACY,OAAX/S,SAAW,IAAXA,QAAA,EAAAA,GAAa6P,iBACkB,IAAlB,OAAX7P,SAAW,IAAXA,QAAA,EAAAA,GAAamO,eAA+C,IAAX,OAAXnO,SAAW,IAAXA,QAAA,EAAAA,GAAa4P,SACT,IAAlC,OAAX5P,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,mBAdyC,EAoB7Bp7C,IAAM8G,UAAkB,GApBK,gCAsBrC9G,IAAM8G,UAAkB,IAtBa,mBAsBhEyC,EAtBgE,KAsBrDmf,EAtBqD,OAuBrC1oB,IAAM8G,SAAe,IAAI8nB,MAvBY,mBAuBhEoO,EAvBgE,aAwB7Bl2B,oBAAkB,IAxBW,mBAwBhEs3D,EAxBgE,KAwBjDC,EAxBiD,OA0BrEv3D,oBAAkB,GA1BmD,mBAyBhEw3D,EAzBgE,KAyB1CC,EAzB0C,OA2B3Cz3D,oBAAkB,GA3ByB,gCA4B/BA,oBAAkB,IA5Ba,mBA4BhE03D,EA5BgE,aA6B7B13D,oBAAkB,IA7BW,mBA6BhE23D,EA7BgE,aA8B/B33D,oBAAkB,IA9Ba,mBA8BhE43D,EA9BgE,aA+B7B53D,oBAAkB,IA/BW,mBA+BhE63D,EA/BgE,aAgC/B73D,oBAAkB,IAhCa,mBAgChE83D,EAhCgE,aAkCnC93D,oBAAkB,IAlCiB,mBAkChE+3D,EAlCgE,aAmCnC/3D,oBAAkB,IAnCiB,oBAmChEg4D,GAnCgE,gBAoC3Ch4D,oBAAkB,IApCyB,qBAoChEi4D,GApCgE,gBAqCrCj4D,oBAAkB,IArCmB,qBAqChEk4D,GArCgE,gBAsC7Bl4D,mBAAc,KAtCe,qBAsChEm4D,GAtCgE,MAsCjDC,GAtCiD,SAuC3Bp4D,mBAAc,IAvCa,qBAuChEq4D,GAvCgE,MAuChDC,GAvCgD,SAwC7Bt4D,mBAAc,IAxCe,qBAwChEu4D,GAxCgE,MAwCjDC,GAxCiD,SAyC3Bx4D,mBAAc,IAzCa,qBAyChEy4D,GAzCgE,MAyChDC,GAzCgD,SA0C7B14D,mBAAc,IA1Ce,qBA0ChE24D,GA1CgE,MA0CjDC,GA1CiD,SA2CjC54D,mBAAc,IA3CmB,qBA2ChE64D,GA3CgE,MA2CnDC,GA3CmD,SA4CjC94D,mBAAc,IA5CmB,qBA4ChE+4D,GA5CgE,MA4CnDC,GA5CmD,SA6CnCh5D,mBAAc,IA7CqB,qBA6ChEu2B,GA7CgE,MA6CpDC,GA7CoD,SA8CrCx2B,oBAAkB,GA9CmB,qBA8ChEi5D,GA9CgE,MA8CrDC,GA9CqD,SA+C7Bl5D,oBAAkB,GA/CW,qBA+ChEm5D,GA/CgE,MA+CjDC,GA/CiD,SAgD7Bp5D,qBAhD6B,qBAgDhEq5D,GAhDgE,MAgDjDC,GAhDiD,SAiDvCt5D,mBAC9Bq3D,IAA0B,eACjBJ,IADiB,eAGjB1hC,KArD4D,qBAiDhEgkC,GAjDgE,MAiDtDC,GAjDsD,SAwD3Cx5D,mBAAQ,eAC/B8N,KAAKC,MAAMD,KAAK2G,UAAUyiD,OAzDwC,qBAwDhEuC,GAxDgE,MAwDxDC,GAxDwD,SA2D/B15D,mBAAQ,eAC3Cu1B,KA5DkE,qBA2DhEokC,GA3DgE,MA2DlDC,GA3DkD,SA8D7B55D,mBAAQ,eAC7Cu1B,KA/DkE,qBA8DhEskC,GA9DgE,MA8DjDC,GA9DiD,SAiE/B95D,mBAAQ,eAC3Cu1B,KAlEkE,qBAiEhEwkC,GAjEgE,MAiElDC,GAjEkD,SAoE7Bh6D,mBAAQ,eAC7Cu1B,KArEkE,qBAoEhE0kC,GApEgE,MAoEjDC,GApEiD,SAuE/Bl6D,mBAAQ,eAC3Cu1B,KAxEkE,qBAuEhE4kC,GAvEgE,MAuElDC,GAvEkD,SA4ErEp6D,mBAAQ,eAAuBk3D,KA5EsC,qBA2EhEmD,GA3EgE,MA2E1CC,GA3E0C,SA8ErEt6D,mBAAQ,eAAuBk3D,KA9EsC,qBA6EhEqD,GA7EgE,MA6E1CC,GA7E0C,SA+E3Bx6D,mBAAQ,eAC/Cu1B,KAhFkE,qBA+EhEklC,GA/EgE,MA+EhDC,GA/EgD,SAkF3B16D,mBAAQ,eAC/Cu1B,KAnFkE,qBAkFhEolC,GAlFgE,MAkFhDC,GAlFgD,SAqF/B56D,mBAAQ,eAC3Ck3D,KAtFkE,qBAqFhE2D,GArFgE,MAqFlDC,GArFkD,SAwFrC96D,mBAAQ,eACrCu1B,KAzFkE,qBAwFhEwlC,GAxFgE,MAwFrDC,GAxFqD,SA2F3Bh7D,mBAAiB,IA3FU,qBA2FhEi7D,GA3FgE,MA2FhDC,GA3FgD,SA4FnBl7D,mBAAiB,IA5FE,qBA4FhEm7D,GA5FgE,MA4F5CC,GA5F4C,SA6FjBp7D,mBAAiB,IA7FA,qBA6FhEq7D,GA7FgE,MA6F3CC,GA7F2C,SA8Fft7D,mBAAiB,IA9FF,qBA8FhEu7D,GA9FgE,MA8F1CC,GA9F0C,SA+FjBx7D,mBAAiB,IA/FA,qBA+FhEy7D,GA/FgE,MA+F3CC,GA/F2C,SAgGf17D,mBAAiB,IAhGF,qBAgGhE27D,GAhGgE,MAgG1CC,GAhG0C,SAiGjB57D,mBAAiB,IAjGA,qBAiGhE67D,GAjGgE,MAiG3CC,GAjG2C,SAkGvB97D,mBAAiB,IAlGM,qBAkGhE+7D,GAlGgE,MAkG9CC,GAlG8C,SAmGzC9iE,IAAM8G,SAA0B,IAnGS,qBAmGhEuhB,GAnGgE,MAmGvD7C,GAnGuD,SAoGnC1e,oBAAkB,GApGiB,qBAoGhEi8D,GApGgE,MAoGpDC,GApGoD,MAqGjEC,GAAkBjjE,IAAM+oB,OAAyB,MACjDm6C,GAAmBljE,IAAM+oB,OAA0B,MACnDo6C,GAA0BnjE,IAAM+oB,OAAgC,MAvGC,GAwG7B/oB,IAAM8G,WAxGuB,qBAwGjDs8D,IAxGiD,gBAyG/BpjE,IAAM8G,WAzGyB,qBAyGhEu8D,GAzGgE,MAyGlDC,GAzGkD,SA0GjCtjE,IAAM8G,UAAkB,GA1GS,qBA0GnDy8D,IA1GmD,gBA4G3CvjE,IAAM8G,UAAkB,GA5GmB,qBA4GhEyxC,GA5GgE,gBA6GjCv4C,IAAM8G,SAAiB,KA7GU,qBA6GnD08D,IA7GmD,gBA8GrCxjE,IAAM8G,SAAiB,IA9Gc,qBA8GhE28D,GA9GgE,MA8GrDC,GA9GqD,SA+GrC1jE,IAAM8G,UAAkB,GA/Ga,qBA+GrD68D,IA/GqD,gBAgHjC3jE,IAAM8G,UAAkB,GAhHS,qBAgHhE88D,GAhHgE,MAgHnDC,GAhHmD,SAiHzB7jE,IAAM8G,UAAkB,GAjHC,qBAiHhEg9D,GAjHgE,MAiH/CC,GAjH+C,SAkHzC/jE,IAAM8G,SAAiB,IAlHkB,qBAkHhEk9D,GAlHgE,gBAmH7BhkE,IAAM8G,SAAiB,KAnHM,qBAmHjDm9D,IAnHiD,gBAoH3BjkE,IAAM8G,SAAiB,IApHI,qBAoHhDo9D,IApHgD,gBAqH7BlkE,IAAM8G,SAAiB,IArHM,qBAqHjDq9D,IArHiD,gBAsH3BnkE,IAAM8G,SAAiB,IAtHI,qBAsHhDs9D,IAtHgD,gBAuH7BpkE,IAAM8G,SAAiB,IAvHM,qBAuHjDu9D,IAvHiD,gBAyHvBrkE,IAAM8G,SAAc,IAzHG,qBAyH9Cw9D,IAzH8C,gBA0HrBtkE,IAAM8G,SAAc,IA1HC,qBA0HhEy9D,GA1HgE,MA0H7CC,GA1H6C,SA2HvBxkE,IAAM8G,SAAc,IA3HG,qBA2HhE29D,GA3HgE,MA2H9CC,GA3H8C,SA4HrB1kE,IAAM8G,SAAc,IA5HC,qBA4HhE69D,GA5HgE,MA4H7CC,GA5H6C,SA6HvB5kE,IAAM8G,SAAc,IA7HG,qBA6HhE+9D,GA7HgE,MA6H9CC,GA7H8C,SA+HjC9kE,IAAM8G,SAAiB,IA/HU,qBA+HnDi+D,IA/HmD,gBAgIzB/kE,IAAM8G,SAAiB,IAhIE,qBAgI/Ck+D,IAhI+C,gBAiI7BhlE,IAAM8G,SAAiB,IAjIM,qBAiIjDm+D,IAjIiD,gBAkInCjlE,IAAM8G,SAAiB,IAlIY,qBAkIhEo+D,GAlIgE,MAkIpDC,GAlIoD,SAoIrEnlE,IAAM8G,UAAkB,GApI6C,qBAmI5Cs+D,IAnI4C,gBAsInCt+D,oBAAkB,GAtIiB,qBAsIhEu+D,GAtIgE,MAsIpDC,GAtIoD,SAuIvCx+D,oBAAkB,GAvIqB,qBAuIhEy+D,GAvIgE,MAuItDC,GAvIsD,SAwI3B1+D,oBAAkB,GAxIS,qBAwIhD2+D,IAxIgD,gBAyIzB3+D,oBAAkB,GAzIO,qBAyI/C4+D,IAzI+C,gBA0I3B5+D,oBAAkB,GA1IS,qBA0IhD6+D,IA1IgD,gBA2IzB7+D,oBAAkB,GA3IO,qBA2I/C8+D,IA3I+C,gBA4I3B9+D,oBAAkB,GA5IS,qBA4IhD++D,IA5IgD,gBA8IvB/+D,oBAAkB,GA9IK,qBA8I9Cg/D,IA9I8C,gBA+IvBh/D,oBAAkB,GA/IK,qBA+I9Ci/D,IA/I8C,gBAgJ3Bj/D,oBAAkB,GAhJS,qBAgJhDk/D,IAhJgD,gBAiJjCl/D,oBAAkB,GAjJe,qBAiJnDm/D,IAjJmD,gBAkJnCjmE,IAAM8G,UAAkB,GAlJW,qBAkJhEo/D,GAlJgE,MAkJpDC,GAlJoD,SAmJvCnmE,IAAM8G,UAAkB,GAnJe,qBAmJhEs/D,GAnJgE,MAmJtDC,GAnJsD,SAoJvBv/D,oBAAkB,GApJK,qBAoJhEw/D,GApJgE,gBAqJ/BtmE,IAAM8G,UAC3CkU,GAAYkkC,YAtJwD,qBAqJlDqnB,IArJkD,gBAwJrBvmE,IAAM8G,SAEtD,CAAC,KA1JoE,qBAwJhE0/D,GAxJgE,MAwJ7CC,GAxJ6C,SA2J7BzmE,IAAM8G,UAAkB,GA3JK,qBA2JhE4/D,GA3JgE,gBA6JrE1mE,IAAM8G,UAAkB,IA7J6C,qBA4JhE6/D,GA5JgE,gBA8JvC7/D,mBAAc,KA9JyB,qBA8JhEkV,GA9JgE,MA8JtD0/C,GA9JsD,MA+JjEkL,GAAuBrL,KA/J0C,GAgKnCv7D,IAAM8G,UAAkB,GAhKW,qBAgKhE+/D,GAhKgE,MAgKpDC,GAhKoD,SAkKrE9mE,IAAM8G,UAAkB,GAlK6C,qBAiK5CigE,IAjK4C,gBAoK/B/mE,IAAM8G,UAAkB,GApKO,qCAqKvC9G,IAAM8G,UAAkB,IArKe,qBAqKhE6hC,GArKgE,MAqKtDq+B,GArKsD,SA2K/BlgE,mBAAc,IA3KiB,qCA4KnBA,mBAAc,KA5KK,qBA4KhEmgE,GA5KgE,MA4K5CC,GA5K4C,SA6KjBpgE,mBAAc,IA7KG,qBA6KhEqgE,GA7KgE,MA6K3CC,GA7K2C,SA8KnBtgE,mBAAc,IA9KK,qBA8KhEugE,GA9KgE,MA8K5CC,GA9K4C,SA+KjBxgE,mBAAc,IA/KG,qBA+KhEygE,GA/KgE,MA+K3CC,GA/K2C,SAgLnB1gE,mBAAc,IAhLK,qBAgLhE2gE,GAhLgE,MAgL5CC,GAhL4C,SAiLvB5gE,mBAAc,IAjLS,qBAiLhE6gE,GAjLgE,MAiL9CC,GAjL8C,SAkLvB9gE,mBAAc,IAlLS,qBAkLhE+gE,GAlLgE,MAkL9CC,GAlL8C,SAmLzBhhE,mBAAc,IAnLW,qBAmLhEihE,GAnLgE,MAmL/CC,GAnL+C,SAoL3BlhE,mBAAc,IApLa,qBAoLhEmhE,GApLgE,MAoLhDC,GApLgD,SAqLnBphE,mBAAc,IArLK,qBAqLhEqhE,GArLgE,MAqL5CC,GArL4C,SAsLnBthE,mBAAc,IAtLK,qBAsLhEuhE,GAtLgE,MAsL5CC,GAtL4C,SAwLrExhE,oBAAkB,GAxLmD,qBAuLhEyhE,GAvLgE,MAuLpCC,GAvLoC,SAyLjC1hE,oBAAkB,GAzLe,qBAyLhE2hE,GAzLgE,MAyLnDC,GAzLmD,SA0LrB5hE,oBAAkB,GA1LG,qBA0L7C6hE,IA1L6C,gBA2LnB7hE,oBAAkB,GA3LC,qBA2LhE8hE,GA3LgE,MA2L5CC,GA3L4C,SA4LvB/hE,oBAAkB,GA5LK,qBA4LhEgiE,GA5LgE,MA4L9CC,GA5L8C,SA8LTjiE,oBAAS,GA9LA,qBA8LhEkiE,GA9LgE,MA8LvCC,GA9LuC,SAiMzBniE,mBAA4B,CAAC,2BAEpEu1B,IAFmE,IAGtE3L,SAAS,IAH6D,2BAKnE2L,IALmE,IAKpD3L,SAAS,MAtMwC,qBAiMhEw4C,GAjMgE,MAiM/CC,GAjM+C,SAwMvBriE,mBAA4B,CAAC,2BAEtEu1B,IAFqE,IAGxE3L,SAAS,IAH+D,2BAKrE2L,IALqE,IAKtD3L,SAAS,MA7MwC,qBAwMhE04C,GAxMgE,MAwM9CC,GAxM8C,SA+MzBviE,mBAA4B,CAAC,2BAEpEu1B,IAFmE,IAGtE3L,SAAS,IAH6D,2BAKnE2L,IALmE,IAKpD3L,SAAS,MApNwC,qBA+MhE44C,GA/MgE,MA+M/CC,GA/M+C,SAsNvBziE,mBAA4B,CAAC,2BAEtEu1B,IAFqE,IAGxE3L,SAAS,IAH+D,2BAKrE2L,IALqE,IAKtD3L,SAAS,MA3NwC,qBAsNhE84C,GAtNgE,MAsN9CC,GAtN8C,SA6NrB3iE,mBAChD,CAAC,2BAEMu1B,IAFP,IAGI3L,SAAS,IAHb,2BAKO2L,IALP,IAKsB3L,SAAS,MAnOsC,qBA6NhEg5C,GA7NgE,MA6N7CC,GA7N6C,SAsOvB7iE,mBAA4B,CAAC,2BAEtEu1B,IAFqE,IAGxE3L,SAAS,IAH+D,2BAKrE2L,IALqE,IAKtD3L,SAAS,MA3OwC,qBAsOhEk5C,GAtOgE,MAsO9CC,GAtO8C,SA6OvB/iE,mBAAS,IA7Oc,qBA6OhEgjE,GA7OgE,MA6O9CC,GA7O8C,SA8OrBjjE,mBAAS,IA9OY,qBA8OhEkjE,GA9OgE,MA8O7CC,GA9O6C,SA+OvBnjE,mBAAS,IA/Oc,qBA+OhEojE,GA/OgE,MA+O9CC,GA/O8C,SAgPrBrjE,mBAAS,IAhPY,qBAgPhEsjE,GAhPgE,MAgP7CC,GAhP6C,SAiPnBvjE,mBAAS,IAjPU,qBAiPhEwjE,GAjPgE,MAiP5CC,GAjP4C,SAkPrBzjE,mBAAS,IAlPY,qBAkPhE0jE,GAlPgE,MAkP7CC,GAlP6C,SAmPnB3jE,mBAAS,CAC3D4jE,cAAc,EACdC,eAAe,EACf7pC,cAAc,EACd8pC,eAAe,EACfC,gBAAgB,EAChBC,eAAe,IAzPsD,qBAmPhEC,GAnPgE,gBA2PfjkE,mBAAS,CAC/DkkE,gBAAiB,GACjBC,kBAAmB,GACnBC,iBAAkB,GAClBC,mBAAoB,GACpBC,gBAAiB,GACjBC,kBAAmB,GACnBC,qBAAsB,GACtBC,uBAAwB,GACxBC,sBAAuB,GACvBC,wBAAyB,GACzBC,qBAAsB,GACtBC,uBAAwB,MAvQ6C,qBA2PhEC,GA3PgE,MA2P1CC,GA3P0C,SA0QrB/kE,mBAAS,CACzDglE,iBAAiB,EACjBC,qBAAqB,EACrBC,kBAAkB,EAClBC,sBAAsB,EACtBC,iBAAiB,EACjBC,qBAAqB,EACrBC,sBAAsB,EACtBC,0BAA0B,EAC1BC,uBAAuB,EACvBC,2BAA2B,EAC3BC,sBAAsB,EACtBC,0BAA0B,IAtR2C,qBA0QhEC,GA1QgE,MA0Q7CC,GA1Q6C,SAyR3B7lE,oBAAS,GAzRkB,qBAyRhD8lE,IAzRgD,gBA0RzB9lE,oBAAS,GA1RgB,qBA0R/C+lE,IA1R+C,gBA6RrB/lE,oBAAS,GA7RY,qBA6RhEgmE,GA7RgE,MA6R7CC,GA7R6C,SA8RrBjmE,oBAAS,GA9RY,qBA8RhEkmE,GA9RgE,MA8R7CC,GA9R6C,SA+R7BnmE,oBAAS,GA/RoB,qBA+RhEomE,GA/RgE,MA+RjDC,GA/RiD,SAgSrBrmE,mBAAc,CAC9DqK,oBAAoB,EACpBC,eAAe,IAlSsD,qBAgShEg8D,GAhSgE,MAgS7CC,GAhS6C,SAoS7BrtE,IAAM8G,SAAS,IApSc,qBAoShEwmE,GApSgE,MAoSjDC,GApSiD,SAsSjCvtE,IAAM8G,UAAS,GAtSkB,qBAsShE0mE,GAtSgE,MAsSnDC,GAtSmD,SAwSrEztE,IAAM8G,UAAkB,GAxS6C,qBAuShE4mE,GAvSgE,MAuS3CC,GAvS2C,SA0SnC7mE,oBAAS,GA1S0B,qBA0SpD8mE,IA1SoD,aAwTvE5tE,IAAM6H,WAAU,WAAO,IAAD,IAEpBuT,OAAOrW,SAAS,EAAG,IACJ,OAAXiW,SAAW,IAAXA,QAAA,EAAAA,GAAa4P,QAAsD,IAAlC,OAAX5P,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,kBAClD2tB,IAAoB,GAElB/tD,GAAYgB,SACd0/C,GAAY1gD,GAAYgB,UAExBlY,YAAW,WACTsqD,UAAU2N,YAAYC,mBAAmB6R,GAAcC,GAAe,CACpE7R,mBAAoB/gE,GACpBghE,WAAYhhE,GACZ6yD,QAAS7yD,KAEX6rE,IAAsB,KACrB7rE,IAILmxB,GAA0B26B,GAAuBhsC,GAAYwQ,eAE7D,IAAMvD,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAY4P,OAAS3C,EAAwB2C,MACzC6iD,IAAe,GACfA,IAAe,IAKN,OAAXzyD,SAAW,IAAXA,QAAA,EAAAA,GAAa4P,QACgC,IAAlC,OAAX5P,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,kBACE,OAA5B+nB,IACoC,OAApCA,GAAwB14C,UAExB04C,GAAwB14C,QAAS2sC,QAAS,KAC3C,IACHp3D,IAAM6H,WAAU,WAEE,OAAd47D,SACcxlE,IAAdwlE,IACc,KAAdA,IACmB,KAAZ,OAANlD,SAAM,IAANA,QAAA,EAAAA,GAAQ9jC,cACWx+B,IAAZ,OAANsiE,SAAM,IAANA,QAAA,EAAAA,GAAQ9jC,SACU,OAAZ,OAAN8jC,SAAM,IAANA,QAAA,EAAAA,GAAQ9jC,SAEV+jC,IAAU,SAACD,GAET,OADAA,EAAO9jC,OAASsxC,GAAUtK,GAAWlD,GAC9BA,OAGV,CAACkD,KACJzjE,IAAM6H,WAAU,WACd,GAAImU,KAAa0xD,KAAwBjF,GAAa,CACpDztD,GAAYgB,SAAWA,GACvB8qD,IAAc,GACdC,IAAsB,GAEtB,IAAMzrC,EAAc,CAClBE,IAAKxf,GAASwf,IACdE,IAAK1f,GAASgyD,MAEhB3yC,IAAe,SAAChpB,GAAD,OAAc47D,GAAiB57D,KAAMipB,MAErD,CAACtf,KAEJhc,IAAM6H,WAAU,WACd,GAAIiiE,GAAiBnrE,OAAS,EAE5B,IADA,IAAIiiC,EAAU,YAAOsoC,IACZtjE,EAAI,EAAGA,EAAIg7B,EAAWjiC,OAAQiH,IAAK,CAC1C,GAA6B,KAAzBg7B,EAAWh7B,GAAG62B,QAA4C,KAA3BmE,EAAWh7B,GAAG4wB,SAAiB,CAChEo2C,IAAkB,GAClB,MAEAA,IAAkB,GAKxB,GAAI5C,GAAkBrrE,OAAS,EAE7B,IADA,IAAIkiC,EAAU,YAAOuoC,IACZxjE,EAAI,EAAGA,EAAIi7B,EAAWliC,OAAQiH,IAAK,CAC1C,GAA6B,KAAzBi7B,EAAWj7B,GAAG62B,QAA4C,KAA3BoE,EAAWj7B,GAAG4wB,SAAiB,CAChEo2C,IAAkB,GAClB,MAEAA,IAAkB,GAIxB,GAAI1C,GAAiBvrE,OAAS,EAE5B,IADA,IAAImiC,EAAY,YAAOwoC,IACd1jE,EAAI,EAAGA,EAAIk7B,EAAaniC,OAAQiH,IAAK,CAC5C,GAA+B,KAA3Bk7B,EAAal7B,GAAG62B,QAA8C,KAA7BqE,EAAal7B,GAAG4wB,SAAiB,CACpEo2C,IAAkB,GAClB,MAEAA,IAAkB,GAKxB,GAAIxC,GAAkBzrE,OAAS,EAE7B,IADA,IAAIuvE,EAAW,YAAO1E,IACb5jE,EAAI,EAAGA,EAAIsoE,EAAYvvE,OAAQiH,IAAK,CAC3C,GAA8B,KAA1BsoE,EAAYtoE,GAAG62B,QAA6C,KAA5ByxC,EAAYtoE,GAAG4wB,SAAiB,CAClEq2C,IAAmB,GACnB,MAEAA,IAAmB,GAIzB,GAAIvC,GAAmB3rE,OAAS,EAE9B,IADA,IAAIwvE,EAAW,YAAOzE,IACb9jE,EAAI,EAAGA,EAAIuoE,EAAYxvE,OAAQiH,IAAK,CAC3C,GAA8B,KAA1BuoE,EAAYvoE,GAAG62B,QAA6C,KAA5B0xC,EAAYvoE,GAAG4wB,SAAiB,CAClEq2C,IAAmB,GACnB,MAEAA,IAAmB,GAIzB,GAAIrC,GAAkB7rE,OAAS,EAE7B,IADA,IAAIyvE,EAAa,YAAOxE,IACfhkE,EAAI,EAAGA,EAAIwoE,EAAczvE,OAAQiH,IAAK,CAC7C,GAC8B,KAA5BwoE,EAAcxoE,GAAG62B,QACa,KAA9B2xC,EAAcxoE,GAAG4wB,SACjB,CACAq2C,IAAmB,GACnB,MAEAA,IAAmB,MAIxB,CACD/C,GACAE,GACAE,GACAE,GACAE,GACAE,GACAtB,GACAE,GACAE,GACAE,GACAE,GACAE,KAGF5pE,IAAM6H,WAAU,WACd5C,QAAQC,IAAI,oBACPujE,KACHvK,EAAkB9P,UAAU2N,YAAYsS,cACtCC,GACAC,KAEyB,IAAvB3F,KAAoD,IAArBE,IACjC7jE,QAAQC,IAAI,kBACZyjE,IAAqB,GACrBH,IAA+B,GAC/B1B,IAAc,KAEd7hE,QAAQC,IAAI,sBACZyjE,IAAqB,GACrBH,IAA+B,GAC/B1B,IAAc,KAGlB0H,OACC,CAAC5H,GAAQgC,GAAoBE,GAAkBL,KAElDzoE,IAAM6H,WAAU,WACVw4D,GAAS5jC,SAAWgsC,IACtBrtC,IACE,SAAC/oB,GAAD,OAAco8D,GAAwBp8D,KACtCguD,GAAS5jC,OAAOve,MAAM,KAAK,GAC3BlD,GAAY0Q,UAGf,CAAC20C,GAAUoI,KAEdzoE,IAAM6H,WAAU,WACd,OAAO,WACLw7D,IAAgBA,GAAaqL,iBAAiB,GAAGC,UAElD,CAACtL,KAEJ,IAAMmL,GAAc,WACd5H,GAAOpL,QAA0B,GAAhBoL,GAAO/0D,OAC1B5M,QAAQC,IAAI,YAAa0hE,IAEzBlL,GAAY,CACVlgC,IAAKorC,GAAOnL,YAAYjgC,IACxBwyC,KAAMpH,GAAOnL,YAAY//B,OAGvB0yB,WAAaA,UAAU2N,aACzB92D,QAAQC,IAAI,oBAAqBkpD,WACjCA,UAAU2N,YAAYC,mBAAmB6R,GAAcC,GAAe,CACpE7R,mBAAoB/gE,GACpBghE,WAAYhhE,GACZ6yD,QAAS7yD,KAEXkzD,UAAU2N,YAAYC,mBAAmB6R,IACzC3P,EAAkB9P,UAAU2N,YAAYsS,cACtCC,GACAC,KAGFxyD,MAAM,kDAKN+xD,GAAgB,SAACc,GAChB5yD,IAAahB,GAAYgB,WAC5B/W,QAAQC,IAAI8W,GAAU,8BACtB/W,QAAQC,IAAR,gBAAqB0pE,EAAI9uD,KAAzB,cAAmC8uD,EAAI9S,UACvC8K,GAAO/0D,OAAQ,EACf6W,GAAa,GACbo+C,IAAc,KAKZ+G,GAAe,SAACgB,GACpB3Q,EAAkB9P,UAAU2N,YAAYsS,cACtCC,GACAC,IAGF7S,GAAY,CACVlgC,IAAKqzC,EAASjT,OAAOrgC,SACrByyC,KAAMa,EAASjT,OAAOngC,YAExBzgB,GAAYgB,SAAW,CACrBwf,IAAKqzC,EAASjT,OAAOrgC,SACrByyC,KAAMa,EAASjT,OAAOngC,WAExBmrC,GAAOnL,YAAYjgC,IAAMqzC,EAASjT,OAAOrgC,SACzCqrC,GAAOnL,YAAY//B,IAAMmzC,EAASjT,OAAOngC,UACzCmrC,GAAO/0D,OAAQ,EACfi1D,IAAc,GACdC,IAAsB,GACtBr+C,GAAa,GACbzjB,QAAQC,IAAI,kBAAmB0hE,KAIjC,SAAS0H,GAAgBx7D,GACvB7N,QAAQC,IAAI,mBACZwjB,GAAa,GACbmgD,IAAsB,GAItBnN,GAAY,CACVlgC,IAAK1oB,EAAK8oD,OAAOrgC,SACjByyC,KAAMl7D,EAAK8oD,OAAOngC,YAEpB2yB,UAAU2N,YAAY+S,WAAW5Q,GAInC,SAASqQ,GAAcz7D,GACrB7N,QAAQC,IAAI,iBACZwjB,GAAa,GACbmgD,IAAsB,GAQxB,IAAMoF,GAAmB,SAAC57D,IACnBA,GAAOA,EAAIR,OACd5M,QAAQC,IAAI,OAAQmN,GAGhBgW,KAAYhW,EAAIR,OAAO2T,GAAW6C,IAAoB,GAAKhW,EAAIR,OACnE6W,GAAa,GACb2kD,GAAqB,2BAChBD,IADe,IAElBh8D,eAAe,KAEjBmgB,GAAW,CAAEG,OAAQ,gBAAiBlpB,MAAO,sBAE7CmlE,IAAuB,GACnBt7D,EAAIS,MAAQT,EAAIS,KAAKi8D,gBACvB1B,GAAqB,2BAChBD,IADe,IAElBh8D,eAAe,KAEPiB,EAAIS,KAAKi8D,kBACnB1B,GAAqB,2BAChBD,IADe,IAElBh8D,eAAe,KAEbiX,KAAYhW,EAAIS,KAAKk8D,SACvBxpD,GAAW6C,IAAoB,GAAKhW,EAAIS,KAAKk8D,UAEjDtmD,GAAa,KAGjB,SAASs+B,GAAsB30C,GAC7B,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,yBAGT,GAAI6J,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAC/BkI,GAAY4P,OAASR,EAAYs3B,OACnC6f,GAAe7wC,SAAU,EACzB8wC,GAAkBD,IAClBkM,IAAe,IAEfA,IAAe,GAEjB,IAAMxlD,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB4gB,MAAQze,EAAYolB,MAC5CvnB,EAAwB2C,MAAQR,EAAYs3B,MAE5CslB,GAAY/+C,EAAwB0gB,UACpC1gB,EAAwBkB,aACtBiB,EAAYk3B,sBACdlmC,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEbmC,EAAY22B,uBACd4iB,IAAa,GAEbA,IAAa,IAG2B,IAAtCv5C,EAAYy3B,uBACd7mC,GAAYkkC,WAAY,EACxBqnB,IAAgB,KAC+B,IAAtCn8C,EAAYy3B,wBACrB7mC,GAAYkkC,WAAY,EACxBqnB,IAAgB,SAGlBh1C,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,sBAKbowB,GAAiBq2C,GAAYj0D,GAAYwQ,eACzCsN,GAAqBo2C,GAAgBl0D,GAAYwQ,eACjDwN,GAAoBm2C,GAAen0D,GAAYwQ,eAC/CyN,GAAcqQ,GAAmBtuB,GAAYwQ,eAG/C,SAAS4jD,GAAiBA,GACxBnM,GAAgBx4C,QAAS2sC,OAASgY,EAClClM,GAAiBz4C,QAAS2sC,QAAUgY,EA3qBiC,SA8qBxDC,KA9qBwD,8EA8qBvE,mBASWC,EAYAC,EArBX,SAAAxpE,EAAA,sDAqBWwpE,EArBX,SAqBuB19D,GACnB5M,QAAQC,IAAI,eAAgB2M,GAC5B6W,GAAa,GAGbqgD,IAAoB,GACpB9jE,QAAQC,IAAI,yBAIZq+D,IAAe,IAtBR+L,EATX,SASyBjM,GACrBp+D,QAAQC,IAAI,iBAAkBm+D,GAG9B0F,IAAoB,GACpBrgD,GAAa,GACbu6C,GAAgBx4C,QAAS+kD,UAAYnM,EACrCD,GAAiB,IAAIqM,cAAcpM,IACnCC,GAAgBD,GAChBE,IAAe,IAjBjBiL,KACMkB,EAAc,CAClBC,OAAO,EACPC,MAAO,CACLC,WAAY,SA6BhBzhB,UAAU0hB,aACPC,aAAaL,GACb5S,KAAKwS,GACLpS,MAAMqS,GArCX,4CA9qBuE,sBAstBvE,IAAMjmC,GAAoB,SAACj3B,GACzB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,yBAElD,GAAI6J,EAAIS,KAAM,CACZ,IAAMk9D,EAAcp7D,KAAKC,MAAMxC,EAAIS,MAAMzP,QACvC,SAACW,GAAD,MAA+B,aAAhBA,EAAKyO,UAEtBg0D,GAAqBuJ,QAErBz+C,GAAW,CACTG,OAAQ,qBACRlpB,MAAO,uBAMTymE,GAAa,SAAC58D,GAClB,IAAKA,GAAOA,EAAIR,MACd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,yBAElD,GAAI6J,EAAIS,KAAM,CACZ,IAAIg/C,EAAUl9C,KAAKC,MAAMxC,EAAIS,MACvBm9D,EAAYne,EAAQzuD,QACxB,SAACyU,GAAD,MAAmC,eAAvBA,EAAEgiB,oBAEVo2C,EAAUpe,EAAQzuD,QACtB,SAACyU,GAAD,MAAmC,aAAvBA,EAAEgiB,oBAEVq2C,EAAmBre,EAAQzuD,QAC/B,SAACyU,GAAD,OAAqC,IAAzBA,EAAEif,sBAEVq5C,EAAoBte,EAAQzuD,QAChC,SAACyU,GAAD,OAAqC,KAAzBA,EAAEif,sBAEVs5C,EAAmBve,EAAQzuD,QAC/B,SAACyU,GAAD,OAAqC,KAAzBA,EAAEif,sBAEVu5C,EAAoBxe,EAAQzuD,QAChC,SAACyU,GAAD,OAAqC,KAAzBA,EAAEif,sBAEVw5C,EAAmBze,EAAQzuD,QAC/B,SAACyU,GAAD,OAAqC,KAAzBA,EAAEif,sBAEVy5C,EAAiB1e,EAAQzuD,QAC7B,SAACyU,GAAD,MAAmC,iCAAvBA,EAAEgiB,oBAEV22C,EAAiB3e,EAAQzuD,QAC7B,SAACyU,GAAD,MAAmC,4BAAvBA,EAAEgiB,oBAEV42C,EAAgB5e,EAAQzuD,QAC5B,SAACyU,GAAD,MAAmC,iBAAvBA,EAAEgiB,oBAEV62C,EAAgB7e,EAAQzuD,QAC5B,SAACyU,GAAD,MAAmC,cAAvBA,EAAEgiB,oBAGVgwC,EAAmBhY,EAAQzuD,QAC/B,SAACyU,GAAD,OACEA,EAAEif,qBACAolC,GAAev7B,WAAWqL,MAAMjV,oBAClClf,EAAEif,qBACAolC,GAAev7B,WAAWib,UAAU7kB,sBAEpCgzC,EAAoBlY,EAAQzuD,QAChC,SAACyU,GAAD,OACEA,EAAEif,qBACAolC,GAAet7B,WAAWoL,MAAMjV,oBAClClf,EAAEif,qBACAolC,GAAet7B,WAAWgb,UAAU7kB,sBAEpCkzC,EAAmBpY,EAAQzuD,QAC/B,SAACyU,GAAD,OACEA,EAAEif,qBACAolC,GAAer7B,aAAamL,MAAMjV,oBACpClf,EAAEif,qBACAolC,GAAer7B,aAAa+a,UAAU7kB,sBAEtCozC,EAAoBtY,EAAQzuD,QAChC,SAACyU,GAAD,OACEA,EAAEif,qBACAolC,GAAev7B,WAAWuH,gBAAgB8D,MACvCjV,oBACLlf,EAAEif,qBACAolC,GAAev7B,WAAWuH,gBAAgB0T,UACvC7kB,sBAGHszC,EAAqBxY,EAAQzuD,QACjC,SAACyU,GAAD,OACEA,EAAEif,qBACAolC,GAAet7B,WAAWsH,gBAAgB8D,MACvCjV,oBACLlf,EAAEif,qBACAolC,GAAet7B,WAAWsH,gBAAgB0T,UACvC7kB,sBAEHwzC,EAAoB1Y,EAAQzuD,QAChC,SAACyU,GAAD,OACEA,EAAEif,qBACAolC,GAAer7B,aAAaqH,gBAAgB8D,MACzCjV,oBACLlf,EAAEif,qBACAolC,GAAer7B,aAAaqH,gBAAgB0T,UACzC7kB,sBAET,GAAIi5C,EAAUtxE,OAAQ,CACpB,IAAIiyE,EAAS,eAAQvQ,IACrBuQ,EAAU55C,mBAAqBi5C,EAAU,GAAGl5C,mBAC5C65C,EAAUl6C,WAAau5C,EAAU,GAAGx5C,WACpCm6C,EAAU72C,iBAAmBk2C,EAAU,GAAGn2C,iBAC1CwmC,GAAYsQ,GAiBd,GAdIV,EAAQvxE,QACV6hE,IAAU,SAACD,GAKT,OAJAA,EAAOvpC,mBAAqBk5C,EAAQ,GAAGn5C,mBACvCwpC,EAAO7pC,WAAaw5C,EAAQ,GAAGz5C,WAC/B8pC,EAAOxmC,iBAAmBm2C,EAAQ,GAAGp2C,iBACrCymC,EAAO/pC,SAAP,UAAqBxb,GAAYwQ,cAAjC,aACO+0C,KAQP4P,EAAiBxxE,OAAQ,CAC3B,IAAIkyE,EAAa,eAAQpQ,IACzBoQ,EAAc75C,mBACZm5C,EAAiB,GAAGp5C,mBACtB85C,EAAc92C,iBAAmBo2C,EAAiB,GAAGr2C,iBACrD4mC,GAAgBmQ,GAGlB,GAAIT,EAAkBzxE,OAAQ,CAC5B,IAAImyE,EAAc,eAAQnQ,IAC1BmQ,EAAe95C,mBACbo5C,EAAkB,GAAGr5C,mBACvB+5C,EAAe/2C,iBACbq2C,EAAkB,GAAGt2C,iBACvB8mC,GAAiBkQ,GAGnB,GAAIT,EAAiB1xE,OAAQ,CAC3B,IAAIoyE,EAAa,eAAQlQ,IACzBkQ,EAAc/5C,mBACZq5C,EAAiB,GAAGt5C,mBACtBg6C,EAAch3C,iBAAmBs2C,EAAiB,GAAGv2C,iBACrDgnC,GAAgBiQ,GAGlB,GAAIT,EAAkB3xE,OAAQ,CAC5B,IAAIqyE,EAAc,eAAQjQ,IAC1BiQ,EAAeh6C,mBACbs5C,EAAkB,GAAGv5C,mBACvBi6C,EAAej3C,iBACbu2C,EAAkB,GAAGx2C,iBACvBknC,GAAiBgQ,GAGnB,GAAIT,EAAiB5xE,OAAQ,CAC3B,IAAIsyE,EAAa,eAAQhQ,IACzBgQ,EAAcj6C,mBACZu5C,EAAiB,GAAGx5C,mBACtBk6C,EAAcl3C,iBAAmBw2C,EAAiB,GAAGz2C,iBACrDonC,GAAgB+P,GAGlB,GAAIR,EAAe9xE,OAAQ,CACzB,IAAIuyE,EAAe,eAAQ3P,IAC3B2P,EAAgBn3C,iBAAmB,0BACnCm3C,EAAgBl6C,mBACdy5C,EAAe,GAAG15C,mBACpByqC,GAAkB0P,GAGpB,GAAIV,EAAe7xE,OAAQ,CACzB,IAAIwyE,EAAe,eAAQ1P,IAC3B0P,EAAgBp3C,iBAAmB,+BACnCo3C,EAAgBn6C,mBACdw5C,EAAe,GAAGz5C,mBACpB2qC,GAAkByP,GAGpB,GAAIR,EAAchyE,OAAQ,CACxB,IAAIyyE,EAAa,eAAQzP,IACzByP,EAAcr3C,iBAAmB,YACjCq3C,EAAcp6C,mBACZ25C,EAAc,GAAG55C,mBACnBq6C,EAAc16C,WAAai6C,EAAc,GAAGl6C,WAC5CmrC,GAAgBwP,GAGlB,GAAIV,EAAc/xE,OAAQ,CACxB,IAAI0yE,EAAU,eAAQxP,IACtBwP,EAAWt3C,iBAAmB,eAC9Bs3C,EAAWr6C,mBAAqB05C,EAAc,GAAG35C,mBACjDs6C,EAAW36C,WAAag6C,EAAc,GAAGj6C,WACzCqrC,GAAauP,GAEf7rD,GAAW6C,IACX62C,GAAiBiR,GACjB/Q,GAAkBgR,GAClB9Q,GAAiB+Q,GACjB7Q,GAAkB8Q,GAClB5Q,GAAiB6Q,GAEjB3Q,GAAe6Q,GACf3Q,GAAe0Q,GACflzC,GAAcozC,GACd3G,GAAoBD,GACpBG,GAAqBD,GACrBG,GAAoBD,GACpBG,GAAqBD,GACrBG,GAAsBD,GACtBG,GAAqBD,QAGrBj5C,GAAW,CACTG,OAAQ,qBACRlpB,MAAO,uBAMT0mE,GAAiB,SAAC78D,GACtB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,yBAC7C,GAAI6J,EAAIS,KAAM,CACnB,IAAMw+D,EAAS18D,KAAKC,MAAMxC,EAAIS,MACxBouB,EAAUowC,EAAOjuE,QACrB,SAACyU,GAAD,MACyB,eAAvBA,EAAEgiB,kBzExxBgB,IyEwxBqBhiB,EAAE2e,cAGvC86C,EAAYD,EAAOjuE,QACvB,SAACyU,GAAD,MAAmC,aAAvBA,EAAEgiB,oBAEV03C,EAAsBF,EAAOjuE,QACjC,SAACyU,GAAD,OAAqC,IAAzBA,EAAEif,sBAEV06C,EAAuBH,EAAOjuE,QAClC,SAACyU,GAAD,OAAqC,KAAzBA,EAAEif,sBAEV26C,EAAsBJ,EAAOjuE,QACjC,SAACyU,GAAD,OAAqC,KAAzBA,EAAEif,sBAEV46C,EAAuBL,EAAOjuE,QAClC,SAACyU,GAAD,OAAqC,KAAzBA,EAAEif,sBAEV66C,EAAsBN,EAAOjuE,QACjC,SAACyU,GAAD,OAAqC,KAAzBA,EAAEif,sBAEV86C,EAAqBP,EAAOjuE,QAChC,SAACyU,GAAD,MAAmC,iCAAvBA,EAAEgiB,oBAEVg4C,EAAqBR,EAAOjuE,QAChC,SAACyU,GAAD,MAAmC,4BAAvBA,EAAEgiB,oBAEVuH,EAAciwC,EAAOjuE,QACzB,SAACyU,GAAD,MACyB,cAAvBA,EAAEgiB,kBzEhyBuB,KyEiyBzBhiB,EAAE2e,cAEAs7C,EAAgBT,EAAOjuE,QAC3B,SAACyU,GAAD,MAAmC,iBAAvBA,EAAEgiB,oBAEVk4C,EAAsBV,EAAOjuE,QACjC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAev7B,WAAWqL,MAAMjV,sBAE9Bi7C,EAA0BX,EAAOjuE,QACrC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAev7B,WAAWib,UAAU7kB,sBAElCk7C,EAAuBZ,EAAOjuE,QAClC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAet7B,WAAWoL,MAAMjV,sBAE9Bm7C,EAA2Bb,EAAOjuE,QACtC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAet7B,WAAWgb,UAAU7kB,sBAElCo7C,EAAsBd,EAAOjuE,QACjC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAer7B,aAAamL,MAAMjV,sBAEhCq7C,EAA0Bf,EAAOjuE,QACrC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAer7B,aAAa+a,UAAU7kB,sBAEpCo1C,EAAuBkF,EAAOjuE,QAClC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAev7B,WAAWuH,gBAAgB8D,MAAMjV,sBAE9Cq1C,EAA2BiF,EAAOjuE,QACtC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAev7B,WAAWuH,gBAAgB0T,UAAU7kB,sBAElDs1C,EAAwBgF,EAAOjuE,QACnC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAet7B,WAAWsH,gBAAgB8D,MAAMjV,sBAE9Cu1C,EAA4B+E,EAAOjuE,QACvC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAet7B,WAAWsH,gBAAgB0T,UAAU7kB,sBAElDw1C,EAAuB8E,EAAOjuE,QAClC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAer7B,aAAaqH,gBAAgB8D,MAAMjV,sBAGhDy1C,EAA2B6E,EAAOjuE,QACtC,SAACyU,GAAD,OACEA,EAAEif,qBACFolC,GAAer7B,aAAaqH,gBAAgB0T,UACzC7kB,sBAGP,GAAIg7C,EAAoBrzE,OAAS,EAAG,CAClC+pB,GAAa,GACb,IAAI4pD,EAAiB,YAAOpJ,IAC5BoJ,EAAkB,GAAGjwE,GAAK,QAC1BiwE,EAAkB,GAAG5hD,SAAU,EAC/B4hD,EAAkB,GAAGh2C,UAAY,IACjCg2C,EAAkB,GAAG97C,SAAWw7C,EAAoB,GAAGjmD,SACvDumD,EAAkB,GAAG91C,UAAW,EAChC81C,EAAkB,GAAG/1C,cAAe,EACpC+1C,EAAkB,GAAG17C,SAAWo7C,EAAoB,GAAGr7C,SACvD27C,EAAkB,GAAGt7C,mBACnBg7C,EAAoB,GAAGj7C,mBACzBu7C,EAAkB,GAAG57C,WAAas7C,EAAoB,GAAGv7C,WACzD67C,EAAkB,GAAGv4C,iBACnBi4C,EAAoB,GAAGl4C,iBACzBqvC,GAAmBmJ,GACnBp5C,IACE,SAAC7mB,GAAD,OAAckgE,GAAkBlgE,EAAK,WACrC2/D,EAAoB,GAAGjmD,SACvBimD,EAAoB,GAAGQ,iBAG3B,GAAIP,EAAwBtzE,OAAS,EAAG,CACtC+pB,GAAa,GACb,IAAI+pD,EAAqB,YAAOvJ,IAEhCuJ,EAAsB,GAAGpwE,GAAK,YAC9BowE,EAAsB,GAAG/hD,SAAU,EACnC+hD,EAAsB,GAAGn2C,UAAY,IACrCm2C,EAAsB,GAAGj8C,SAAWy7C,EAAwB,GAAGlmD,SAC/D0mD,EAAsB,GAAGj2C,UAAW,EACpCi2C,EAAsB,GAAGl2C,cAAe,EACxCk2C,EAAsB,GAAG77C,SAAWq7C,EAAwB,GAAGt7C,SAC/D87C,EAAsB,GAAGz7C,mBACvBi7C,EAAwB,GAAGl7C,mBAC7B07C,EAAsB,GAAG/7C,WACvBu7C,EAAwB,GAAGx7C,WAC7Bg8C,EAAsB,GAAG14C,iBACvBk4C,EAAwB,GAAGn4C,iBAC7BqvC,GAAmBsJ,GACnBv5C,IACE,SAAC7mB,GAAD,OAAckgE,GAAkBlgE,EAAK,eACrC4/D,EAAwB,GAAGlmD,SAC3BkmD,EAAwB,GAAGO,iBAG/B,GAAIN,EAAqBvzE,OAAS,EAAG,CACnC+pB,GAAa,GACb,IAAIgqD,EAAkB,YAAOtJ,IAE7BsJ,EAAmB,GAAGrwE,GAAK,QAC3BqwE,EAAmB,GAAGhiD,SAAU,EAChCgiD,EAAmB,GAAGp2C,UAAY,IAClCo2C,EAAmB,GAAGl8C,SAAW07C,EAAqB,GAAGnmD,SACzD2mD,EAAmB,GAAGl2C,UAAW,EACjCk2C,EAAmB,GAAGn2C,cAAe,EACrCm2C,EAAmB,GAAG97C,SAAWs7C,EAAqB,GAAGv7C,SACzD+7C,EAAmB,GAAG17C,mBACpBk7C,EAAqB,GAAGn7C,mBAC1B27C,EAAmB,GAAGh8C,WAAaw7C,EAAqB,GAAGz7C,WAC3Di8C,EAAmB,GAAG34C,iBACpBm4C,EAAqB,GAAGp4C,iBAC1BuvC,GAAoBqJ,GACpBx5C,IACE,SAAC7mB,GAAD,OAAcsgE,GAAmBtgE,EAAK,WACtC6/D,EAAqB,GAAGnmD,SACxBmmD,EAAqB,GAAGM,iBAG5B,GAAIL,EAAyBxzE,OAAS,EAAG,CACvC+pB,GAAa,GACb,IAAIkqD,EAAsB,YAAOxJ,IAEjCwJ,EAAuB,GAAGvwE,GAAK,YAC/BuwE,EAAuB,GAAGliD,SAAU,EACpCkiD,EAAuB,GAAGt2C,UAAY,IACtCs2C,EAAuB,GAAGp8C,SACxB27C,EAAyB,GAAGpmD,SAC9B6mD,EAAuB,GAAGp2C,UAAW,EACrCo2C,EAAuB,GAAGr2C,cAAe,EACzCq2C,EAAuB,GAAGh8C,SACxBu7C,EAAyB,GAAGx7C,SAC9Bi8C,EAAuB,GAAG57C,mBACxBm7C,EAAyB,GAAGp7C,mBAC9B67C,EAAuB,GAAGl8C,WACxBy7C,EAAyB,GAAG17C,WAC9Bm8C,EAAuB,GAAG74C,iBACxBo4C,EAAyB,GAAGr4C,iBAC9BuvC,GAAoBuJ,GACpB15C,IACE,SAAC7mB,GAAD,OAAcsgE,GAAmBtgE,EAAK,eACtC8/D,EAAyB,GAAGpmD,SAC5BomD,EAAyB,GAAGK,iBAGhC,GAAIJ,EAAoBzzE,OAAS,EAAG,CAClC+pB,GAAa,GACb,IAAImqD,EAAiB,YAAOvJ,IAE5BuJ,EAAkB,GAAGxwE,GAAK,QAC1BwwE,EAAkB,GAAGniD,SAAU,EAC/BmiD,EAAkB,GAAGv2C,UAAY,IACjCu2C,EAAkB,GAAGr8C,SAAW47C,EAAoB,GAAGrmD,SACvD8mD,EAAkB,GAAGr2C,UAAW,EAChCq2C,EAAkB,GAAGt2C,cAAe,EACpCs2C,EAAkB,GAAGj8C,SAAWw7C,EAAoB,GAAGz7C,SACvDk8C,EAAkB,GAAG77C,mBACnBo7C,EAAoB,GAAGr7C,mBACzB87C,EAAkB,GAAGn8C,WAAa07C,EAAoB,GAAG37C,WACzDo8C,EAAkB,GAAG94C,iBACnBq4C,EAAoB,GAAGt4C,iBACzByvC,GAAmBsJ,GACnB35C,IACE,SAAC7mB,GAAD,OAAcygE,GAAkBzgE,EAAK,WACrC+/D,EAAoB,GAAGrmD,SACvBqmD,EAAoB,GAAGI,iBAG3B,GAAIH,EAAwB1zE,OAAS,EAAG,CACtC+pB,GAAa,GACb,IAAIqqD,EAAqB,YAAOzJ,IAEhCyJ,EAAsB,GAAG1wE,GAAK,YAC9B0wE,EAAsB,GAAGriD,SAAU,EACnCqiD,EAAsB,GAAGz2C,UAAY,IACrCy2C,EAAsB,GAAGv8C,SAAW67C,EAAwB,GAAGtmD,SAC/DgnD,EAAsB,GAAGv2C,UAAW,EACpCu2C,EAAsB,GAAGx2C,cAAe,EACxCw2C,EAAsB,GAAGn8C,SAAWy7C,EAAwB,GAAG17C,SAC/Do8C,EAAsB,GAAG/7C,mBACvBq7C,EAAwB,GAAGt7C,mBAC7Bg8C,EAAsB,GAAGr8C,WACvB27C,EAAwB,GAAG57C,WAC7Bs8C,EAAsB,GAAGh5C,iBACvBs4C,EAAwB,GAAGv4C,iBAC7ByvC,GAAmBwJ,GACnB75C,IACE,SAAC7mB,GAAD,OAAcygE,GAAkBzgE,EAAK,eACrCggE,EAAwB,GAAGtmD,SAC3BsmD,EAAwB,GAAGG,iBAK/B,GAAIpG,EAAqBztE,OAAS,EAAG,CACnC+pB,GAAa,GACb,IAAIsqD,EAAkB,YAAOxJ,IAE7BwJ,EAAmB,GAAG3wE,GAAK,QAC3B2wE,EAAmB,GAAGtiD,SAAU,EAChCsiD,EAAmB,GAAG12C,UAAY,IAClC02C,EAAmB,GAAGx8C,SAAW41C,EAAqB,GAAGrgD,SACzDinD,EAAmB,GAAGx2C,UAAW,EACjCw2C,EAAmB,GAAGz2C,cAAe,EACrCy2C,EAAmB,GAAGp8C,SAAWw1C,EAAqB,GAAGz1C,SACzDq8C,EAAmB,GAAGh8C,mBACpBo1C,EAAqB,GAAGr1C,mBAC1Bi8C,EAAmB,GAAGt8C,WAAa01C,EAAqB,GAAG31C,WAC3Du8C,EAAmB,GAAGj5C,iBACpBqyC,EAAqB,GAAGtyC,iBAC1B2vC,GAAoBuJ,GACpB95C,IACE,SAAC7mB,GAAD,OAAc4gE,GAAmB5gE,EAAK,WACtC+5D,EAAqB,GAAGrgD,SACxBqgD,EAAqB,GAAGoG,iBAI5B,GAAInG,EAAyB1tE,OAAS,EAAG,CACvC+pB,GAAa,GACb,IAAI6iD,EAAsB,YAAO/B,IAEjC+B,EAAuB,GAAGlpE,GAAK,YAC/BkpE,EAAuB,GAAG76C,SAAU,EACpC66C,EAAuB,GAAGjvC,UAAY,IACtCivC,EAAuB,GAAG/0C,SACxB61C,EAAyB,GAAGtgD,SAC9Bw/C,EAAuB,GAAG/uC,UAAW,EACrC+uC,EAAuB,GAAGhvC,cAAe,EACzCgvC,EAAuB,GAAG30C,SACxBy1C,EAAyB,GAAG11C,SAC9B40C,EAAuB,GAAGv0C,mBACxBq1C,EAAyB,GAAGt1C,mBAC9Bw0C,EAAuB,GAAG70C,WACxB21C,EAAyB,GAAG51C,WAC9B80C,EAAuB,GAAGxxC,iBACxBsyC,EAAyB,GAAGvyC,iBAC9B2vC,GAAoB8B,GACpBryC,IACE,SAAC7mB,GAAD,OAAc4gE,GAAmB5gE,EAAK,eACtCg6D,EAAyB,GAAGtgD,SAC5BsgD,EAAyB,GAAGmG,iBAIhC,GAAIlG,EAAsB3tE,OAAS,EAAG,CACpC+pB,GAAa,GACb,IAAIwqD,EAAmB,YAAOxJ,IAE9BwJ,EAAoB,GAAG7wE,GAAK,QAC5B6wE,EAAoB,GAAGxiD,SAAU,EACjCwiD,EAAoB,GAAG52C,UAAY,IACnC42C,EAAoB,GAAG18C,SAAW81C,EAAsB,GAAGvgD,SAC3DmnD,EAAoB,GAAG12C,UAAW,EAClC02C,EAAoB,GAAG32C,cAAe,EACtC22C,EAAoB,GAAGt8C,SAAW01C,EAAsB,GAAG31C,SAC3Du8C,EAAoB,GAAGl8C,mBACrBs1C,EAAsB,GAAGv1C,mBAC3Bm8C,EAAoB,GAAGx8C,WAAa41C,EAAsB,GAAG71C,WAC7Dy8C,EAAoB,GAAGn5C,iBACrBuyC,EAAsB,GAAGxyC,iBAC3B6vC,GAAqBuJ,GACrBh6C,IACE,SAAC7mB,GAAD,OAAc8gE,GAAoB9gE,EAAK,WACvCi6D,EAAsB,GAAGvgD,SACzBugD,EAAsB,GAAGkG,iBAI7B,GAAIjG,EAA0B5tE,OAAS,EAAG,CACxC+pB,GAAa,GACb,IAAI+iD,EAAuB,YAAO/B,IAElC+B,EAAwB,GAAGppE,GAAK,YAChCopE,EAAwB,GAAG/6C,SAAU,EACrC+6C,EAAwB,GAAGnvC,UAAY,IACvCmvC,EAAwB,GAAGj1C,SACzB+1C,EAA0B,GAAGxgD,SAC/B0/C,EAAwB,GAAGjvC,UAAW,EACtCivC,EAAwB,GAAGlvC,cAAe,EAC1CkvC,EAAwB,GAAG70C,SACzB21C,EAA0B,GAAG51C,SAC/B80C,EAAwB,GAAGz0C,mBACzBu1C,EAA0B,GAAGx1C,mBAC/B00C,EAAwB,GAAG/0C,WACzB61C,EAA0B,GAAG91C,WAC/Bg1C,EAAwB,GAAG1xC,iBACzBwyC,EAA0B,GAAGzyC,iBAC/B6vC,GAAqB8B,GACrBvyC,IACE,SAAC7mB,GAAD,OAAc8gE,GAAoB9gE,EAAK,eACvCk6D,EAA0B,GAAGxgD,SAC7BwgD,EAA0B,GAAGiG,iBAGjC,GAAIhG,EAAqB7tE,OAAS,EAAG,CACnC+pB,GAAa,GACb,IAAI0qD,EAAkB,YAAOxJ,IAE7BwJ,EAAmB,GAAG/wE,GAAK,QAC3B+wE,EAAmB,GAAG1iD,SAAU,EAChC0iD,EAAmB,GAAG92C,UAAY,IAClC82C,EAAmB,GAAG58C,SAAWg2C,EAAqB,GAAGzgD,SACzDqnD,EAAmB,GAAG52C,UAAW,EACjC42C,EAAmB,GAAG72C,cAAe,EACrC62C,EAAmB,GAAGx8C,SAAW41C,EAAqB,GAAG71C,SACzDy8C,EAAmB,GAAGp8C,mBACpBw1C,EAAqB,GAAGz1C,mBAC1Bq8C,EAAmB,GAAG18C,WAAa81C,EAAqB,GAAG/1C,WAC3D28C,EAAmB,GAAGr5C,iBACpByyC,EAAqB,GAAG1yC,iBAC1B+vC,GAAoBuJ,GACpBl6C,IACE,SAAC7mB,GAAD,OAAcghE,GAAmBhhE,EAAK,WACtCm6D,EAAqB,GAAGzgD,SACxBygD,EAAqB,GAAGgG,iBAG5B,GAAI/F,EAAyB9tE,OAAS,EAAG,CACvC+pB,GAAa,GACb,IAAIijD,EAAsB,YAAO/B,IAEjC+B,EAAuB,GAAGtpE,GAAK,YAC/BspE,EAAuB,GAAGj7C,SAAU,EACpCi7C,EAAuB,GAAGrvC,UAAY,IACtCqvC,EAAuB,GAAGn1C,SACxBi2C,EAAyB,GAAG1gD,SAC9B4/C,EAAuB,GAAGnvC,UAAW,EACrCmvC,EAAuB,GAAGpvC,cAAe,EACzCovC,EAAuB,GAAG/0C,SACxB61C,EAAyB,GAAG91C,SAC9Bg1C,EAAuB,GAAG30C,mBACxBy1C,EAAyB,GAAG11C,mBAC9B40C,EAAuB,GAAGj1C,WACxB+1C,EAAyB,GAAGh2C,WAC9Bk1C,EAAuB,GAAG5xC,iBACxB0yC,EAAyB,GAAG3yC,iBAC9B+vC,GAAoB8B,GACpBzyC,IACE,SAAC7mB,GAAD,OAAcghE,GAAmBhhE,EAAK,eACtCo6D,EAAyB,GAAG1gD,SAC5B0gD,EAAyB,GAAG+F,iBA6FhC,GAxFItxC,EAAQviC,OAAS,IACnB+pB,GAAa,GACb23C,GAASh+D,GAAK,QACdg+D,GAAS3vC,SAAU,EACnB2vC,GAAS/jC,UAAY,IACrB+jC,GAAS7pC,SAAW0K,EAAQ,GAAGnV,SAC/Bs0C,GAAS7jC,UAAW,EACpB6jC,GAAS9jC,cAAe,EACxB8jC,GAASzpC,SAAWsK,EAAQ,GAAGvK,SAC/B0pC,GAASrpC,mBAAqBkK,EAAQ,GAAGnK,mBACzCspC,GAAS3pC,WAAawK,EAAQ,GAAGzK,WACjC4pC,GAAStmC,iBAAmBmH,EAAQ,GAAGpH,iBACvCwmC,GAAYD,IACZnnC,GACEo6C,GACApyC,EAAQ,GAAGnV,SACXmV,EAAQ,GAAGsxC,kBAGfvtE,QAAQC,IAAI,YAAaqsE,GACrBA,EAAU5yE,OAAS,IACrB+pB,GAAa,GACb83C,IAAU,SAACD,GACT,IAAIgT,EAAS,eAAQhT,GAwDrB,OAvDAgT,EAAUlxE,GAAK,UACfkxE,EAAU7iD,SAAU,EACpB6iD,EAAUj3C,UAAY,IACtBi3C,EAAU/8C,SAAV,UAAwBxb,GAAYwQ,cAApC,aACA+nD,EAAU/2C,UAAW,EACrB+2C,EAAUh3C,cAAe,EACzBg3C,EAAU38C,SAAW26C,EAAU,GAAG56C,SAClC48C,EAAUv8C,mBAAqBu6C,EAAU,GAAGx6C,mBAC5Cw8C,EAAU78C,WAAa66C,EAAU,GAAG96C,WACpC88C,EAAUx5C,iBAAmBw3C,EAAU,GAAGz3C,iBAC1CZ,IACE,SAAC7mB,GACC,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,yBAGT,GAAI6J,EAAIS,KAAM,CAAC,IAAD,QACZ4V,GAAa,GACbg7C,GAAarxD,EAAIS,KAAKqlB,iBAEnB,OAAC9lB,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWqlB,iBACiB,MAA3B,OAAH9lB,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWqlB,kBACR,OAAH9lB,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWqlB,sBAAX,eAA2Bx5B,QAAS,EAEpCouE,IAAqB,GAErBA,IAAqB,GAEvBI,IAAiB,GACjB,IAAMzwC,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgBooC,GAClDgT,EAAU92C,OAASC,EASnBz3B,QAAQC,IAAI,qBAAsBq7D,QAElChvC,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,wBAKf+oE,EAAU,GAAGxlD,SACbwlD,EAAU,GAAGiB,iBAERe,MAKc,IAAZ,OAAThC,QAAS,IAATA,OAAA,EAAAA,EAAW5yE,SACbouE,IAAqB,GAGnByE,EAAoB7yE,OAAS,EAAG,CAClC+pB,GAAa,GAC+B,qBAAxC8oD,EAAoB,GAAGgC,aACzBpR,GAAuB,oBAGvB,sCADAoP,EAAoB,GAAGgC,cAGvBpR,GAAuB,qCAEzB3B,GAAap+D,GAAK,eAClBo+D,GAAa/vC,SAAU,EACvB+vC,GAAankC,UAAY,IACzBmkC,GAAajqC,SAAb,UAA2Bxb,GAAYwQ,cAAvC,eACAi1C,GAAajkC,UAAW,EACxBikC,GAAalkC,cAAe,EAC5BkkC,GAAa/pC,WAAa86C,EAAoB,GAAG/6C,WACjDgqC,GAAa7pC,SAAW46C,EAAoB,GAAG76C,SAC/C8pC,GAAa1mC,iBAAmBy3C,EAAoB,GAAG13C,iBACvD2mC,GAAazpC,mBACXw6C,EAAoB,GAAGz6C,mBACzB2pC,GAAgBD,IAChBvnC,GACEu6C,GACAjC,EAAoB,GAAGzlD,SACvBylD,EAAoB,GAAGgB,iBAEzB,IAAIkB,EAAwB,GAC5BA,EAAiBC,SAAWnC,EAAoB,GAAGmC,SACnDD,EAAiBE,YAAcpC,EAAoB,GAAGoC,YACtDtP,GAAoBoP,GAGtB,GAAIjC,EAAqB9yE,OAAS,EAAG,CACnC+pB,GAAa,GACgC,qBAAzC+oD,EAAqB,GAAG+B,aAC1BlR,GAAwB,oBAGxB,sCADAmP,EAAqB,GAAG+B,cAGxBlR,GAAwB,qCAE1B3B,GAAct+D,GAAK,gBACnBs+D,GAAcjwC,SAAU,EACxBiwC,GAAcrkC,UAAY,IAC1BqkC,GAAcnqC,SAAd,UAA4Bxb,GAAYwQ,cAAxC,gBACAm1C,GAAcnkC,UAAW,EACzBmkC,GAAcpkC,cAAe,EAC7BokC,GAAcjqC,WAAa+6C,EAAqB,GAAGh7C,WACnDkqC,GAAc/pC,SAAW66C,EAAqB,GAAG96C,SACjDgqC,GAAc5mC,iBACZ03C,EAAqB,GAAG33C,iBAC1B6mC,GAAc3pC,mBACZy6C,EAAqB,GAAG16C,mBAC1B6pC,GAAiBD,IACjBznC,GACEu6C,GACAhC,EAAqB,GAAG1lD,SACxB0lD,EAAqB,GAAGe,iBAE1B,IAAIjO,EAAyB,GAC7BA,EAAkBoP,SAAWlC,EAAqB,GAAGkC,SACrDpP,EAAkBqP,YAAcnC,EAAqB,GAAGmC,YACxDpP,GAAqBD,GAGvB,GAAImN,EAAoB/yE,OAAS,EAAG,CAClC+pB,GAAa,GAC+B,qBAAxCgpD,EAAoB,GAAG8B,aACzBhR,GAAuB,oBAGvB,sCADAkP,EAAoB,GAAG8B,cAGvBhR,GAAuB,qCAGzB3B,GAAax+D,GAAK,eAClBw+D,GAAanwC,SAAU,EACvBmwC,GAAavkC,UAAY,IACzBukC,GAAarqC,SAAb,UAA2Bxb,GAAYwQ,cAAvC,eACAq1C,GAAarkC,UAAW,EACxBqkC,GAAatkC,cAAe,EAC5BskC,GAAanqC,WAAag7C,EAAoB,GAAGj7C,WACjDoqC,GAAajqC,SAAW86C,EAAoB,GAAG/6C,SAC/CkqC,GAAa9mC,iBAAmB23C,EAAoB,GAAG53C,iBACvD+mC,GAAa7pC,mBACX06C,EAAoB,GAAG36C,mBACzB+pC,GAAgBD,IAChB3nC,GACEu6C,GACA/B,EAAoB,GAAG3lD,SACvB2lD,EAAoB,GAAGc,iBAEzB,IAAI/N,EAAwB,GAC5BA,EAAiBkP,SAAWjC,EAAoB,GAAGiC,SACnDlP,EAAiBmP,YAAclC,EAAoB,GAAGkC,YACtDlP,GAAoBD,GAGtB,GAAIkN,EAAqBhzE,OAAS,EAAG,CACnC+pB,GAAa,GACgC,qBAAzCipD,EAAqB,GAAG6B,aAC1B9Q,GAAwB,oBAGxB,sCADAiP,EAAqB,GAAG6B,cAGxB9Q,GAAwB,qCAG1B3B,GAAc1+D,GAAK,gBACnB0+D,GAAcrwC,SAAU,EACxBqwC,GAAczkC,UAAY,IAC1BykC,GAAcvqC,SAAd,UAA4Bxb,GAAYwQ,cAAxC,gBACAu1C,GAAcvkC,UAAW,EACzBukC,GAAcxkC,cAAe,EAC7BwkC,GAAcrqC,WAAai7C,EAAqB,GAAGl7C,WACnDsqC,GAAcnqC,SAAW+6C,EAAqB,GAAGh7C,SACjDoqC,GAAchnC,iBACZ43C,EAAqB,GAAG73C,iBAC1BinC,GAAc/pC,mBACZ26C,EAAqB,GAAG56C,mBAC1BiqC,GAAiBD,IACjB7nC,GACEu6C,GACA9B,EAAqB,GAAG5lD,SACxB4lD,EAAqB,GAAGa,iBAE1B,IAAI7N,EAAyB,GAC7BA,EAAkBgP,SAAWhC,EAAqB,GAAGgC,SACrDhP,EAAkBiP,YAAcjC,EAAqB,GAAGiC,YACxDhP,GAAqBD,GAGvB,GAAIiN,EAAoBjzE,OAAS,EAAG,CAClC+pB,GAAa,GAC+B,qBAAxCkpD,EAAoB,GAAG4B,aACzB5Q,GAAuB,oBAGvB,sCADAgP,EAAoB,GAAG4B,cAGvB5Q,GAAuB,qCAGzB3B,GAAa5+D,GAAK,eAClB4+D,GAAavwC,SAAU,EACvBuwC,GAAa3kC,UAAY,IACzB2kC,GAAazqC,SAAb,UAA2Bxb,GAAYwQ,cAAvC,eACAy1C,GAAazkC,UAAW,EACxBykC,GAAa1kC,cAAe,EAC5B0kC,GAAavqC,WAAak7C,EAAoB,GAAGn7C,WACjDwqC,GAAarqC,SAAWg7C,EAAoB,GAAGj7C,SAC/CsqC,GAAalnC,iBAAmB63C,EAAoB,GAAG93C,iBACvDmnC,GAAajqC,mBACX46C,EAAoB,GAAG76C,mBACzBmqC,GAAgBD,IAChB/nC,GACEu6C,GACA7B,EAAoB,GAAG7lD,SACvB6lD,EAAoB,GAAGY,iBAEzB,IAAI3N,EAAwB,GAC5BA,EAAiB8O,SAAW/B,EAAoB,GAAG+B,SACnD9O,EAAiB+O,YAAchC,EAAoB,GAAGgC,YACtD9O,GAAoBD,GAGlBiN,EAAmBnzE,OAAS,IAC9B+pB,GAAa,GACbugD,IAA2B,GACgB,iBAAvC6I,EAAmB,GAAG0B,aACxBxR,GAAkB,gBAC8B,aAAvC8P,EAAmB,GAAG0B,aAC/BxR,GAAkB,YAC8B,aAAvC8P,EAAmB,GAAG0B,aAC/BxR,GAAkB,YAC8B,oBAAvC8P,EAAmB,GAAG0B,aAC/BxR,GAAkB,mBAC8B,mBAAvC8P,EAAmB,GAAG0B,cAC/BxR,GAAkB,kBAGpBT,GAAel/D,GAAK,cACpBk/D,GAAe7wC,QAAU88C,GACzBjM,GAAejlC,UAAY,IAC3BilC,GAAe/qC,SAAf,UAA6Bxb,GAAYwQ,cAAzC,sBACA+1C,GAAe/kC,UAAW,EAC1B+kC,GAAehlC,cAAe,EAC9BglC,GAAevqC,mBACb86C,EAAmB,GAAG/6C,mBACxBwqC,GAAexnC,iBACb+3C,EAAmB,GAAGh4C,iBACxBynC,GAAe7qC,WAAao7C,EAAmB,GAAGr7C,WAClD8qC,GAAe3qC,SAAWk7C,EAAmB,GAAGn7C,SAChD4qC,GAAevqC,mBACb86C,EAAmB,GAAG/6C,mBACxByqC,GAAkBD,IAClBroC,GACE26C,GACA/B,EAAmB,GAAG/lD,SACtB+lD,EAAmB,GAAGU,kBAItBX,EAAmBlzE,OAAS,IAC9B+pB,GAAa,GAC8B,iBAAvCmpD,EAAmB,GAAG2B,aACxBtR,GAAsB,gBAC0B,aAAvC2P,EAAmB,GAAG2B,aAC/BtR,GAAsB,YAC0B,aAAvC2P,EAAmB,GAAG2B,aAC/BtR,GAAsB,YAC0B,oBAAvC2P,EAAmB,GAAG2B,aAC/BtR,GAAsB,mBAC0B,mBAAvC2P,EAAmB,GAAG2B,cAC/BtR,GAAsB,kBAGxBT,GAAep/D,GAAK,cACpBo/D,GAAe/wC,SAAU,EACzB+wC,GAAenlC,UAAY,IAC3BmlC,GAAejrC,SAAf,UAA6Bxb,GAAYwQ,cAAzC,2BACAi2C,GAAejlC,UAAW,EAC1BilC,GAAellC,cAAe,EAC9BklC,GAAezqC,mBACb66C,EAAmB,GAAG96C,mBACxB0qC,GAAe1nC,iBACb83C,EAAmB,GAAG/3C,iBACxB2nC,GAAe/qC,WAAam7C,EAAmB,GAAGp7C,WAClDgrC,GAAe7qC,SAAWi7C,EAAmB,GAAGl7C,SAChD8qC,GAAezqC,mBACb66C,EAAmB,GAAG96C,mBACxB2qC,GAAkBD,IAClBvoC,GACE46C,GACAjC,EAAmB,GAAG9lD,SACtB8lD,EAAmB,GAAGW,kBAG1BvtE,QAAQC,IAAI,cAAem8B,GACvBA,EAAY1iC,OAAS,IACvB+pB,GAAa,GACbklD,IAAc,GACdjM,GAAat/D,GAAK,YAClBs/D,GAAajxC,SAAU,EACvBixC,GAAarlC,UAAY,IACzBqlC,GAAanrC,SAAb,UAA2Bxb,GAAYwQ,cAAvC,cACAm2C,GAAanlC,UAAW,EACxBmlC,GAAaplC,cAAe,EAC5BolC,GAAa/qC,SAAWyK,EAAY,GAAG1K,SACvCgrC,GAAa3qC,mBAAqBqK,EAAY,GAAGtK,mBACjD4qC,GAAajrC,WAAa2K,EAAY,GAAG5K,WACzCmrC,GAAgBD,IAChBzoC,GACE66C,GACA1yC,EAAY,GAAGtV,SACfsV,EAAY,GAAGmxC,kBAIfT,EAAcpzE,OAAS,IACzB+pB,GAAa,GACyB,YAAlCqpD,EAAc,GAAGyB,aACnB1Q,GAAoB,WACuB,gBAAlCiP,EAAc,GAAGyB,aAC1B1Q,GAAoB,eACuB,wBAAlCiP,EAAc,GAAGyB,aAC1B1Q,GAAoB,uBACuB,mBAAlCiP,EAAc,GAAGyB,aAC1B1Q,GAAoB,kBAEc,4BAAlCiP,EAAc,GAAGyB,aAEjB1Q,GAAoB,2BACuB,yBAAlCiP,EAAc,GAAGyB,cAC1B1Q,GAAoB,wBAGtBjB,GAAUx/D,GAAK,YACfw/D,GAAUnxC,SAAU,EACpBmxC,GAAUvlC,UAAY,IACtBulC,GAAUrrC,SAAV,UAAwBxb,GAAYwQ,cAApC,WACAq2C,GAAUrlC,UAAW,EACrBqlC,GAAUtlC,cAAe,EACzBslC,GAAUjrC,SAAWm7C,EAAc,GAAGp7C,SACtCkrC,GAAUnrC,WAAaq7C,EAAc,GAAGt7C,WACxCorC,GAAU7qC,mBAAqB+6C,EAAc,GAAGh7C,mBAChD+qC,GAAaD,IACb3oC,GACE86C,GACAjC,EAAc,GAAGhmD,SACjBgmD,EAAc,GAAGS,uBAIrBhS,IAAU,SAACD,GACT,OAAOA,KAETG,GAAgBD,IAChBe,GAAkBD,IAClBG,GAAkBD,IAClBG,GAAgBD,IAChBG,GAAaD,IACbtwC,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,sBAEpDkgB,GAAa,IAETurD,GAAoB,CACxBC,QAAS,kBACTC,SAAU,YACVC,SAAU,YACVC,YAAa,YACb,OAAQ,YACRC,MAAO,aAGT,SAASC,KACP,IADoC,IAAd73C,EAAa,uDAAJ,GAC/B,MAAgClT,OAAOgrD,QAAQP,IAA/C,eAAmE,CAAC,IAAD,sBAAvDp4B,EAAuD,KAA5Cz5C,EAA4C,KACjE,GAAIs6B,EAAO+3C,WAAW54B,GACpB,OAAOz5C,GAMb,SAAS2rE,GAAU2G,EAAoB9uD,GACrC,MAAqB,KAAjBA,EAAIgR,UAAmC,KAAhBhR,EAAIgR,SAEtB,QADQ29C,GAAeG,GACF,WAAaA,EAGvC,SACkB,oBAAjB9uD,EAAIgR,SACD,kBACA,cACJ,WACA89C,EAKN,IAAMnC,GAAoB,SAAClgE,EAAUsiE,GACnC,IAAKtiE,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB6hE,EAA0B,CAC5B,IAAMj4C,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgB+wC,GAAgB,IAC9D0L,EAAQ,YAAO1L,IACnB0L,EAAS,GAAGn4C,OAASC,EACrBysC,GAAmByL,OACd,CACL,IAAMl4C,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgB+wC,GAAgB,IAC9D0L,EAAQ,YAAO1L,IACnB0L,EAAS,GAAGn4C,OAASC,EACrBysC,GAAmByL,GASzBlsD,GAAa,IAETiqD,GAAqB,SAACtgE,EAAUsiE,GACpC,IAAKtiE,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB6hE,EAA0B,CAC5B,IAAMj4C,EAASqxC,GACb17D,EAAIS,KAAKqlB,eACTixC,GAAiB,IAEfwL,EAAQ,YAAOxL,IACnBwL,EAAS,GAAGn4C,OAASC,EACrB2sC,GAAoBuL,OACf,CACL,IAAMl4C,EAASqxC,GACb17D,EAAIS,KAAKqlB,eACTixC,GAAiB,IAEfwL,EAAQ,YAAOxL,IACnBwL,EAAS,GAAGn4C,OAASC,EACrB2sC,GAAoBuL,GAS1BlsD,GAAa,IAEToqD,GAAoB,SAACzgE,EAAUsiE,GACnC,IAAKtiE,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB6hE,EAA0B,CAC5B,IAAMj4C,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgBmxC,GAAgB,IAC9DsL,EAAQ,YAAOtL,IACnBsL,EAAS,GAAGn4C,OAASC,EACrB6sC,GAAmBqL,OACd,CACL,IAAMl4C,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgBmxC,GAAgB,IAC9DsL,EAAQ,YAAOtL,IACnBsL,EAAS,GAAGn4C,OAASC,EACrB6sC,GAAmBqL,GASzBlsD,GAAa,IAGTuqD,GAAqB,SAAC5gE,EAAUsiE,GACpC,IAAKtiE,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB6hE,EAA0B,CAC5B,IAAMj4C,EAASqxC,GACb17D,EAAIS,KAAKqlB,eACTqxC,GAAiB,IAEfoL,EAAQ,YAAOpL,IACnBoL,EAAS,GAAGn4C,OAASC,EACrB+sC,GAAoBmL,OACf,CACL,IAAMl4C,EAASqxC,GACb17D,EAAIS,KAAKqlB,eACTqxC,GAAiB,IAEfoL,EAAQ,YAAOpL,IACnBoL,EAAS,GAAGn4C,OAASC,EACrB+sC,GAAoBmL,GAS1BlsD,GAAa,IAGTyqD,GAAsB,SAAC9gE,EAAUsiE,GACrC,IAAKtiE,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB6hE,EAA0B,CAC5B,IAAMj4C,EAASqxC,GACb17D,EAAIS,KAAKqlB,eACTuxC,GAAkB,IAEhBkL,EAAQ,YAAOlL,IACnBkL,EAAS,GAAGn4C,OAASC,EACrBitC,GAAqBiL,OAChB,CACL,IAAMl4C,EAASqxC,GACb17D,EAAIS,KAAKqlB,eACTuxC,GAAkB,IAEhBkL,EAAQ,YAAOlL,IACnBkL,EAAS,GAAGn4C,OAASC,EACrBitC,GAAqBiL,GAS3BlsD,GAAa,IAET2qD,GAAqB,SAAChhE,EAAUsiE,GACpC,IAAKtiE,GAAOA,EAAIR,YAOd,GAAIQ,EAAIS,KACN,GAAqB,UAAjB6hE,EAA0B,CAC5B,IAAMj4C,EAASqxC,GACb17D,EAAIS,KAAKqlB,eACTyxC,GAAiB,IAEfgL,EAAQ,YAAOhL,IACnBgL,EAAS,GAAGn4C,OAASC,EACrBmtC,GAAoB+K,OACf,CACL,IAAMl4C,EAASqxC,GACb17D,EAAIS,KAAKqlB,eACTyxC,GAAiB,IAEfgL,EAAQ,YAAOhL,IACnBgL,EAAS,GAAGn4C,OAASC,EACrBmtC,GAAoB+K,GAS1BlsD,GAAa,IAGT4qD,GAAgB,SAACjhE,GACrB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,yBAGT,GAAI6J,EAAIS,KAAM,CACZ4V,GAAa,GACb86C,GAAenxD,EAAIS,KAAKqlB,gBACxB,IAAMuE,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgBkoC,IAC9CuU,EAAQ,eAAQvU,IACpBuU,EAASn4C,OAASC,EAClB4jC,GAAYsU,GACZzR,GAAwB14C,QAAS2sC,QAAS,OAE1C7lC,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,uBAgDTirE,GAAe,SAACphE,GACpB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,yBAGT,GAAI6J,EAAIS,KAAM,CACZ4V,GAAa,GACb,IAAMgU,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgBsoC,IAClDA,GAAahkC,OAASC,EACtBgkC,GAAgBD,SAEhBlvC,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,uBAKTqrE,GAAkB,SAACxhE,GACvB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,yBAGT,GAAI6J,EAAIS,KAAM,CACZ4V,GAAa,GACb,IAAMgU,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgBopC,IAClDA,GAAe9kC,OAASC,EACwB,oBAA5C63C,GAAeliE,EAAIS,KAAKqlB,gBAC1BopC,GAAe7kC,OAASA,EACnB6kC,GAAe7kC,OAASA,EAAQxe,MAAM,KAAK,GAElDsjD,GAAkBD,SAElBhwC,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,uBAMTsrE,GAAsB,SAACzhE,GAC3B,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,yBAGT,GAAI6J,EAAIS,KAAM,CACZ4V,GAAa,GACb,IAAMgU,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgBspC,IAClDA,GAAehlC,OAASC,EACxBglC,GAAkBD,SAElBlwC,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,uBAMTurE,GAAoB,SAAC1hE,GACzB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,yBAGT,GAAI6J,EAAIS,KAAM,CACZ4V,GAAa,GACb,IAAMgU,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgBwpC,IAClDA,GAAallC,OAASC,EACtBklC,GAAgBD,SAEhBpwC,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,uBAMfvD,QAAQC,IAAI,YAAaqE,EAAW28D,IAEpC,IAAM8N,GAAiB,SAAC3hE,GACtB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,yBAGT,GAAI6J,EAAIS,KAAM,CACZ4V,GAAa,GACb,IAAMgU,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgB0pC,IAClDA,GAAUplC,OAASC,EACnBolC,GAAaD,SAEbtwC,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,uBAMT2mE,GAAgB,SAAC98D,GACrB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,yBAElD,GAAI6J,EAAIS,KAAM,CACZ,IAAM+hE,EAASjgE,KAAKC,MAAMxC,EAAIS,MACxBgiE,EAAiBD,EAAOxxE,QAG5B,SAACyU,GAAD,MACwB,cAAtBA,EAAEgiB,kBzEl+DmC,GyEm+DrChiB,EAAEif,sBAEAg+C,EAAgBF,EAAOxxE,QAE3B,SAACyU,GAAD,MAAkC,gCAAtBA,EAAEgiB,oBAGV45C,EAAmBmB,EAAOxxE,QAC9B,SAACyU,GAAD,OAAoC,GAAxBA,EAAEif,sBAEVwtC,EAAoBsQ,EAAOxxE,QAC/B,SAACyU,GAAD,OAAoC,IAAxBA,EAAEif,sBAEV0tC,EAAmBoQ,EAAOxxE,QAC9B,SAACyU,GAAD,OAAoC,IAAxBA,EAAEif,sBAEV4tC,EAAoBkQ,EAAOxxE,QAC/B,SAACyU,GAAD,OAAoC,IAAxBA,EAAEif,sBAEV8tC,EAAmBgQ,EAAOxxE,QAC9B,SAACyU,GAAD,OAAoC,IAAxBA,EAAEif,sBAEhB9xB,QAAQC,IAAIwuE,GACZpP,GAAoBoP,EAAiB,IACrCzuE,QAAQC,IAAIq/D,GACZC,GAAqBD,EAAkB,IACvCt/D,QAAQC,IAAIu/D,GACZC,GAAoBD,EAAiB,IACrCx/D,QAAQC,IAAIy/D,GACZC,GAAqBD,EAAkB,IACvC1/D,QAAQC,IAAI2/D,GACZC,GAAoBD,EAAiB,IAEjCkQ,EAAcp2E,OAAS,GACzB0nE,IAAY,GAEgB,IAA1ByO,EAAen2E,QACjBymE,IAAsB,GACtBnC,GAAgBx4C,QAAS2sC,QAAS,EAClC+L,GAAwB14C,QAAS2sC,QAAS,EAC1CiM,IAAgBA,GAAaqL,iBAAiB,GAAGC,OACjD3L,IAAc,KAEdG,GAAwB14C,QAAS2sC,QAAS,EAC1CiY,MAEEwF,EAAOl2E,OAAS,GACM,IAApBk2E,EAAO,GAAGG,OAAerT,GAAahJ,UAc5C,IAAMsc,EAAaJ,EAAOxxE,QACxB,SAACyU,GAAD,OAEmB,IAAhBA,EAAE85C,WAA6C,eAAvB95C,EAAEgiB,mBACV,IAAhBhiB,EAAE85C,WAA6C,cAAvB95C,EAAEgiB,oBAG/BsmC,GACE6U,EAAW5xE,QACT,SAAC6xE,GAAD,MAAmC,2BAAvBA,EAAEp7C,qBAGd9e,GAAYmO,cACdi3C,GACE6U,EAAW5xE,QACT,SAAC6xE,GAAD,MAAmC,4BAAvBA,EAAEp7C,0BAMpBvI,GAAW,CACTG,OAAQ,qBACRlpB,MAAO,uBAyMT2sE,GAAgB,uCAAG,WAAOC,GAAP,iBAAArvE,EAAA,4DACjBsvE,EAAW,IAAIC,KAAK,CAACF,GAAmB,qBAAsB,CAClEhzE,KAAM,aACNmzE,aAAc3mD,KAAK0oB,SAERvuC,KAAO,KALG,uBAMrBgT,MAAM,4DANe,mBAOd,GAPc,YASnBs5D,EAAStsE,KAAO,KATG,uBAUrBgT,MAAM,iEAVe,mBAWd,GAXc,QAajBy5D,EAAa,IAAIjc,YACZhM,OAAS,SAAUzsD,GAAI,IAAD,EAC3B47B,EAAM,UAAI57B,EAAEE,QAAUF,EAAEE,OAAOuR,cAAzB,aAAG,EAA+BnL,WAI5C,GAHAi5D,GAAS5jC,OAAS,GAClB6jC,GAAYD,IACZmD,GAAe9mC,EAAQxe,MAAM,KAAK,IAClC,OAAIwe,QAAJ,IAAIA,OAAJ,EAAIA,EAAQt1B,WAAY,CACtB,IAAI2wB,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBuE,EAAQxe,MAAM,KAAK,GACnCoN,SAAU+pD,EAASj6E,KACnB2xB,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEtC+oB,GAAa,GACby9C,IAAc,GAEd/qC,IACE,SAAC/oB,GAAD,OAAco8D,GAAwBp8D,KACtCqqB,EAAQxe,MAAM,KAAK,GACnBlD,GAAY0Q,QAEdoM,IACE,SAACzlB,GAAD,OAAcojE,GAAiBpjE,EAAKgjE,EAASj6E,QAC7C28B,GAEF,IAAM29C,EAAS,CACbvb,OAAQn/C,GAAY0Q,OACpBqnB,sBAAuB/3B,GAAYyQ,sBACnCjP,cAAexB,GAAYwQ,cAC3B6uC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,iCACdE,iBAAkB,IAElBx/B,SAAUvf,GAASwf,IACnBC,UAAWzf,GAASgyD,KACpB7S,UAAW,iBACXp5C,OAAQ,kBACRuW,UAAWnxB,SAAS4mB,IAEtBmsC,IACE,SAAC7nD,GAAD,OAAcsjE,GAAoBtjE,EAAKqjE,KACvCA,KAINF,EAAW/b,cAAc4b,GA9DF,4CAAH,sDA0GtB,IAqBMM,GAAmB,uCAAG,WAAOtjE,EAAUqjE,GAAjB,SAAA3vE,EAAA,sDAC1Bd,QAAQC,IAAI,eACPmN,GAAOA,EAAIR,OAGd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,4BACRlpB,MAAO,oBAETkgB,GAAa,KAEbA,GAAa,GACby9C,IAAc,GACd50C,GAAW,CACTG,OAAQ,4BACRlpB,MAAO,uBAhBe,2CAAH,wDAoBnBimE,GAA0B,SAACp8D,IAC1BA,GAAOA,EAAIR,OAGVwW,KAAYhW,EAAIR,OAAO2T,GAAW6C,IAAoB,GAAKhW,EAAIR,OACnE07D,GAAiB,IACjBpH,IAAc,GACdkH,GAAqB,2BAChBD,IADe,IAElBj8D,oBAAoB,KAEtBuX,GAAa,GACb6I,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,sBAE9C6J,EAAIS,MAAQT,EAAIS,KAAK8iE,QACvBrI,GAAiBl7D,EAAIS,KAAKk8D,SAC1B5B,GAAkBj8D,oBAAqB,EACvCk8D,GAAqB,2BAChBD,IADe,IAElBj8D,oBAAoB,MAEZkB,EAAIS,KAAK8iE,SACnBvI,GAAqB,2BAChBD,IADe,IAElBj8D,oBAAoB,KAEtBlM,QAAQC,IAAI,mBAAoBmN,EAAIS,KAAKk8D,SACzCzB,GAAiBl7D,EAAIS,KAAKk8D,UAI5BtmD,GAAa,GACby9C,IAAc,KAIZsP,GAAmB,SAACpjE,EAAUmkB,IAC7BnkB,GAAOA,EAAIR,OAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,oBAClDkgB,GAAa,IAETrW,EAAIS,MACN7N,QAAQC,IAAI,mBAAoBmN,EAAIS,MACpC4V,GAAa,KAOblD,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,qBACRlpB,MAAO,wBAYf,SAASqtE,GAASj7E,EAAU++D,GACV,WAAZA,GACF6G,IAAU,SAACD,GAGT,OAFAA,EAAO7jC,OAAS,GAChB6jC,EAAO9jC,OAAS,GACT8jC,KAETmD,GAAa,IACbyJ,IAAiB,IACI,mBAAZxT,IACT10D,QAAQC,IAAI,aACZq8D,GAAe7kC,OAAS,GACxB6kC,GAAe9kC,OAAS,GACxB+kC,GAAkBD,IAClB0L,IAAqB,IAmZzB,SAAS6I,GAAYC,GAEnB,GAAqB,OAAjBA,QAA0C93E,IAAjB83E,EAA4B,CACvD,IAAMn/C,EAAWm/C,EAAa5mB,MAAM,yBAGpC,OAAOv4B,EAAWA,EAAS,GAAK,IAElC,MAAO,IAET,SAASo/C,GACP1yE,EACAkzB,EACAn0B,EACAD,GAQA,GANAsmB,GAAa,GACb64C,GAAe9kC,OAASn5B,EACxBi+D,GAAe7kC,OAASp5B,EAAK4a,MAAM,KAAK,GACxCqjD,GAAe/qC,SAAWA,EAC1BgrC,GAAkBD,IAClBt8D,QAAQC,IAAIq8D,GAAgB,mBACG,QAA3B/qC,EAAStY,MAAM,KAAK,IAA8C,MAA9BqjD,GAAe7qC,WAKrD,GAJAspC,IAAa,GzEx3Fc,MyE63FzBuB,GAAe7qC,YzEx3Fc,KyEy3F7B6qC,GAAe7qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBopC,GAAe7kC,OAC/B3C,iBAAkB,0BAClBv8B,WAAY+jE,GAAe7qC,WAC3B3U,OAAQpkB,IAEVsH,QAAQC,IAAI,mBACZi2B,IACE,SAAC9oB,GAAD,OAAc6jE,GAAa7jE,EAAKhQ,EAAIm0B,EAAUp0B,KAC9C6zE,OAEG,CAAC,IAAD,IACDl+C,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCmR,EAAqB,GACrBqlE,EAAqB,CACvBn/C,mBAAkB,UAAEuqC,GAAevqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE6qC,GAAe7qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAKitD,GACxB,IAAMn+C,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcvnB,EACd4a,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,QAQJ,GAHAgoC,IAAa,GACb6D,IAAe,GzEn7FY,MyEs7FzBtC,GAAe7qC,YzEj7Fc,KyEk7F7B6qC,GAAe7qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBopC,GAAe7kC,OAC/B3C,iBAAkB,0BAClBv8B,WAAY+jE,GAAe7qC,WAC3B3U,OAAQpkB,IAEVsH,QAAQC,IAAI,uBACZi2B,IACE,SAAC9oB,GAAD,OAAc6jE,GAAa7jE,EAAKhQ,EAAIm0B,EAAUp0B,KAC9C6zE,OAEG,CAAC,IAAD,IACDl+C,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCmR,EAAqB,GACrBqlE,EAAqB,CACvBn/C,mBAAkB,UAAEuqC,GAAevqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE6qC,GAAe7qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAKitD,GACxB,IAAMn+C,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcvnB,EACd4a,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,IAMR,SAASs+C,GACPhzE,EACAkzB,EACAn0B,EACAD,GAOA,GALAsmB,GAAa,GACby4C,GAAqB1kC,OAAS,GAC9B0kC,GAAqB3qC,SAAWA,EAChC2qC,GAAqBzkC,OAASp5B,EAAK4a,MAAM,KAAK,GAC9CkjD,GAAwBD,IAEK,QAA3B3qC,EAAStY,MAAM,KAAK,IACgB,MAApCijD,GAAqBzqC,WAGrB,GADAspC,IAAa,GzE3/Fc,MyE6/FzBuB,GAAe7qC,YzEx/Fc,KyEy/F7B6qC,GAAe7qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBgpC,GAAqBzkC,OACrC3C,iBAAkB,0BAClBv8B,WAAY2jE,GAAqBzqC,WACjC3U,OAAQpkB,IAEVsH,QAAQC,IAAI,mBACZi2B,IACE,SAAC9oB,GAAD,OAAc6jE,GAAa7jE,EAAKhQ,EAAIm0B,EAAUp0B,KAC9C6zE,OAEG,CAAC,IAAD,IACCl+C,EAAY,CAChBvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCmR,EAAqB,GACrBqlE,EAAqB,CACvBn/C,mBAAkB,UAAEuqC,GAAevqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE6qC,GAAe7qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAKitD,GACxB,IAAMn+C,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcvnB,EACd4a,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,QAIJtP,GAAa,GACbs3C,IAAa,GACb6D,IAAe,GA4MnB,IAAMqS,GAAe,SACnB7jE,EACAhQ,EACAm0B,EACAp0B,GAEA,IAAKiQ,GAAOA,EAAIR,MAEd6W,GAAa,GACb6I,GAAW,CAAEG,OAAQ,sBAAuBlpB,MAAO,oBAC/C6J,EAAIS,KAAKjB,OACX2T,GAAW6C,GAAU,0BAA4BhW,EAAIR,OACrD6W,GAAa,IAEblD,GAAW6C,GAAUhW,EAAIR,YAEtB,GAAIQ,EAAIS,KACb,GAAIT,EAAIS,KAAKjB,MACX2T,GAAW6C,GAAU,0BAA4BhW,EAAIR,OACrD6W,GAAa,OACR,CACL,IAGIqP,EAHAjnB,EAAqB,GAIzB,GAAW,gBAAPzO,EAAsB,CACxB,GAAIgQ,EAAIS,KAAKP,OAAOgkE,gBAAiB,CAAC,IAAD,IACnChV,GAAe7kC,OAASrqB,EAAIS,KAAKP,OAAOikE,aACxCjV,GAAe3qC,SAAW,aAC1B2qC,GAAe/qC,SACb+qC,GAAe/qC,SAAStY,MAAM,KAAK,GAAK,OAC1C9b,EAAO,aACP,IAAIq0E,EAAiB,CACnBz/C,mBAAkB,UAAEuqC,GAAevqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE6qC,GAAe7qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAU+qC,GAAe/qC,SAAStY,MAAM,KAAK,GAAK,OAClDkZ,eAAe,EACfR,SAAUk/C,GAAYzjE,EAAIS,KAAKP,OAAOikE,cACtC7qD,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAKutD,GACxBjV,GAAkBD,IAClB0L,IAAqB,GAGvBl1C,EAAY,CACVvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBopC,GAAe7kC,QAAU,GACzCpR,SAAUi2C,GAAe/qC,SACzBzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,UAEjC,GAAW,sBAAP0C,EAA4B,CAAC,IAAD,IACjCgQ,EAAIS,KAAKP,OAAOgkE,kBAClBpV,GAAqBzkC,OAASrqB,EAAIS,KAAKP,OAAOikE,aAC9CrV,GAAqBvqC,SAAW,aAChCuqC,GAAqB3qC,SACnB2qC,GAAqB3qC,SAAStY,MAAM,KAAK,GAAK,OAChD9b,EAAO,aACPg/D,GAAwBD,KAE1B,IAAIsV,EAAiB,CACnBz/C,mBAAkB,UAChBmqC,GAAqBnqC,0BADL,aAChB,EAAyC5vB,WAC3CsvB,WAAU,UAAEyqC,GAAqBzqC,kBAAvB,aAAE,EAAiCtvB,WAC7C8vB,mBAAoB,GACpBV,SAAU2qC,GAAqB3qC,SAAStY,MAAM,KAAK,GAAK,OACxDkZ,eAAe,EACfR,SAAUk/C,GAAYzjE,EAAIS,KAAKP,OAAOikE,cACtC7qD,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAKutD,GACxB1+C,EAAY,CACVvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBgpC,GAAqBzkC,QAAU,GAC/CpR,SAAU61C,GAAqB3qC,SAC/BzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,UAEjC,GAAW,gBAAP0C,EAAsB,CAAC,IAAD,IAC3BgQ,EAAIS,KAAKP,OAAOgkE,kBAClB9U,GAAe/kC,OAASrqB,EAAIS,KAAKP,OAAOikE,aACxC/U,GAAe7qC,SAAW,aAC1B6qC,GAAejrC,SACbirC,GAAejrC,SAAStY,MAAM,KAAK,GAAK,OAC1C9b,EAAO,aACPs/D,GAAkBD,KAEpB,IAAIgV,EAAiB,CACnBz/C,mBAAkB,UAAEyqC,GAAezqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE+qC,GAAe/qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAUirC,GAAejrC,SAAStY,MAAM,KAAK,GAAK,OAClDkZ,eAAe,EACfR,SAAUk/C,GAAYzjE,EAAIS,KAAKP,OAAOikE,cACtC7qD,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAKutD,GACxB1+C,EAAY,CACVvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBspC,GAAe/kC,QAAU,GACzCpR,SAAUm2C,GAAejrC,SACzBzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,SAEjC,CAAC,IAAD,IACD0S,EAAIS,KAAKP,OAAOgkE,kBAClBlV,GAAqB3kC,OAASrqB,EAAIS,KAAKP,OAAOikE,aAC9CnV,GAAqBzqC,SAAW,aAChCyqC,GAAqB7qC,SACnB6qC,GAAqB7qC,SAAStY,MAAM,KAAK,GAAK,OAChD9b,EAAO,aACPk/D,GAAwBD,KAE1B,IAAIoV,EAAiB,CACnBz/C,mBAAkB,UAChBqqC,GAAqBrqC,0BADL,aAChB,EAAyC5vB,WAC3CsvB,WAAU,UAAE2qC,GAAqB3qC,kBAAvB,aAAE,EAAiCtvB,WAC7C8vB,mBAAoB,GACpBV,SAAU6qC,GAAqB7qC,SAAStY,MAAM,KAAK,GAAK,OACxDkZ,eAAe,EACfR,SAAUk/C,GAAYzjE,EAAIS,KAAKP,OAAOikE,cACtC7qD,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAKutD,GACxB1+C,EAAY,CACVvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBkpC,GAAqB3kC,QAAU,GAC/CpR,SAAU+1C,GAAqB7qC,SAC/BzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAIxC,IAAMq4B,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcvnB,EACd4a,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OACE+jE,GAAa/jE,EAAKhQ,EAAI01B,EAAUI,eAAgBJ,EAAUzM,YAC5DyM,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,QAIJzG,GAAW,CACTG,OAAQ,sBACRlpB,MAAO,uBAKPkuE,GAAa,SAACrkE,GAClB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETkgB,GAAa,QAEb,GAAIrW,EAAIS,KAAM,CACZ4V,GAAa,GACbq8C,GAAe1yD,EAAIS,KAAK6jE,MACxBpV,GAAe3qC,SAAW,kBAET5b,GAAYwQ,cACXnZ,EAAIS,KAAK8jE,sBACPrV,GAAexnC,iBACrBwnC,GAAe7qC,WAG7BhO,GAAa,QAwBb6I,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,uBAMTquE,GAAiB,SAACxkE,GACtB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETkgB,GAAa,QAEb,GAAIrW,EAAIS,KAAM,CACZ4V,GAAa,GACbs8C,GAAmB3yD,EAAIS,KAAK6jE,MAC5BlV,GAAe7qC,SAAW,kBAET5b,GAAYwQ,cACXnZ,EAAIS,KAAK8jE,sBACPnV,GAAe1nC,iBACrB0nC,GAAe/qC,gBA0B7BnF,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,uBAKf,SAASsuE,GACPxzE,EACAkzB,EACAn0B,EACAD,EACAuC,GAEA,IAAIooB,EAKJ,OADAA,EAHiCnY,KAAKC,MACpCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE3B3b,IACzB0C,GACN,IAAK,kBACH4C,QAAQC,IAAI,YAAasxB,GACzB,IAAIugD,EAASvgD,EAAStY,MAAM,KAAKq/B,MACjCt4C,QAAQC,IAAI,aAAc6xE,GAC1B,IAAIC,EAAiB,sBAAwBD,EAC7C9xE,QAAQC,IAAI,eAAgB8xE,GAC5B,IAAIC,EAAgB,YAAO/N,IAC3B+N,EAAiB,GAAGjgD,mBAClBmlC,GAAev7B,WAAWqL,MAAMjV,mBAAmB5vB,WACrD6vE,EAAiB,GAAGvgD,WAClBylC,GAAev7B,WAAWqL,MAAMvV,WAClCugD,EAAiB,GAAGl9C,iBAAmB,aACvCk9C,EAAiB,GAAGx6C,OAASn5B,EAC7B6lE,GAAmB8N,GACnB,IAAIC,EAAmB,CACrB16D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAU0rD,EACVjqD,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCw3E,EAAgB,GAChBC,EAAa,CACfr9C,iBAAkB,aAClB/C,mBACEmlC,GAAev7B,WAAWqL,MAAMjV,mBAAmB5vB,WACrDsvB,WAAYylC,GAAev7B,WAAWqL,MAAMvV,WAC5CQ,mBAAoB,GACpBV,SAAUwgD,EACV5/C,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBu/C,EAAcjuD,KAAKkuD,GAEnB,IAAMp/C,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc8+C,EACdzrD,OAAQ1Q,GAAY0Q,QAItBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzC0gD,GACA,SAAChzE,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,GAEF,MACF,IAAK,oBACH,IACIq/C,EAAiB,0BADR7gD,EAAStY,MAAM,KAAKq/B,MAE7B+5B,EAAqB,YAAOpO,IAChCoO,EAAsB,GAAGtgD,mBACvBmlC,GAAev7B,WAAWib,UAAU7kB,mBAAmB5vB,WACzDkwE,EAAsB,GAAG5gD,WACvBylC,GAAev7B,WAAWib,UAAUnlB,WACtC4gD,EAAsB,GAAGv9C,iBAAmB,YAC5Cu9C,EAAsB,GAAG76C,OAASn5B,EAClC6lE,GAAmBmO,GACnB,IAAIC,EAAuB,CACzB/6D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAU+rD,EACVtqD,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAGlC63E,EAAmB,GACnBC,EAAgB,CAClB19C,iBAAkB,YAClB/C,mBACEmlC,GAAev7B,WAAWib,UAAU7kB,mBAAmB5vB,WACzDsvB,WAAYylC,GAAev7B,WAAWib,UAAUnlB,WAChDQ,mBAAoB,GACpBV,SAAU6gD,EACVjgD,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB4/C,EAAiBtuD,KAAKuuD,GAEtB,IAAMC,EAAa,CACjBnsD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcm/C,EACd9rD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzC+gD,GACA,SAACrzE,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChEs1E,GAEF,MACF,IAAK,mBACH,IACIC,EAAiB,uBADRnhD,EAAStY,MAAM,KAAKq/B,MAE7Bq6B,EAAkB,YAAOxO,IAC7BwO,EAAmB,GAAG5gD,mBACpBmlC,GAAet7B,WAAWoL,MAAMjV,mBAAmB5vB,WACrDwwE,EAAmB,GAAGlhD,WACpBylC,GAAet7B,WAAWoL,MAAMvV,WAClCkhD,EAAmB,GAAG79C,iBAAmB,aACzC69C,EAAmB,GAAGn7C,OAASn5B,EAC/B+lE,GAAoBuO,GACpB,IAAIC,EAAoB,CACtBr7D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUqsD,EACV5qD,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAGlCm4E,EAAqB,GACrBC,EAAkB,CACpBh+C,iBAAkB,aAClB/C,mBACEmlC,GAAet7B,WAAWoL,MAAMjV,mBAAmB5vB,WACrDsvB,WAAYylC,GAAet7B,WAAWoL,MAAMvV,WAC5CQ,mBAAoB,GACpBV,SAAUmhD,EACVvgD,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBkgD,EAAmB5uD,KAAK6uD,GAExB,IAAMC,EAAe,CACnBzsD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcy/C,EACdpsD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCqhD,GACA,SAAC3zE,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41E,GAEF,MACF,IAAK,qBACH,IACIC,EAAiB,2BADRzhD,EAAStY,MAAM,KAAKq/B,MAE7B26B,EAAsB,YAAO9O,IACjC8O,EAAuB,GAAGlhD,mBACxBmlC,GAAet7B,WAAWgb,UAAU7kB,mBAAmB5vB,WACzD8wE,EAAuB,GAAGxhD,WACxBylC,GAAet7B,WAAWgb,UAAUnlB,WACtCwhD,EAAuB,GAAGn+C,iBAAmB,YAC7Cm+C,EAAuB,GAAGz7C,OAASn5B,EACnC+lE,GAAoB6O,GACpB,IAAIC,EAAwB,CAC1B37D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAU2sD,EACVlrD,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAGlCy4E,EAAsB,GACtBC,EAAmB,CACrBt+C,iBAAkB,YAClB/C,mBACEmlC,GAAet7B,WAAWgb,UAAU7kB,mBAAmB5vB,WACzDsvB,WAAYylC,GAAet7B,WAAWgb,UAAUnlB,WAChDQ,mBAAoB,GACpBV,SAAUyhD,EACV7gD,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBwgD,EAAoBlvD,KAAKmvD,GAEzB,IAAMC,EAAgB,CACpB/sD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc+/C,EACd1sD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzC2hD,GACA,SAACj0E,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChEk2E,GAEF,MACF,IAAK,kBACH,IACIC,EAAiB,sBADR/hD,EAAStY,MAAM,KAAKq/B,MAE7Bi7B,EAAiB,YAAOlP,IAC5BkP,EAAkB,GAAGxhD,mBACnBmlC,GAAer7B,aAAamL,MAAMjV,mBAAmB5vB,WACvDoxE,EAAkB,GAAG9hD,WACnBylC,GAAer7B,aAAamL,MAAMvV,WACpC8hD,EAAkB,GAAGz+C,iBAAmB,aACxCy+C,EAAkB,GAAG/7C,OAASn5B,EAC9BimE,GAAmBiP,GACnB,IAAIC,EAAmB,CACrBj8D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUitD,EACVxrD,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElC+4E,EAAoB,GACpBC,EAAiB,CACnB5+C,iBAAkB,aAClB/C,mBACEmlC,GAAer7B,aAAamL,MAAMjV,mBAAmB5vB,WACvDsvB,WAAYylC,GAAer7B,aAAamL,MAAMvV,WAC9CQ,mBAAoB,GACpBV,SAAU+hD,EACVnhD,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB8gD,EAAkBxvD,KAAKyvD,GAEvB,IAAMC,EAAc,CAClBrtD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcqgD,EACdhtD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCiiD,GACA,SAACv0E,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChEw2E,GAEF,MACF,IAAK,oBACH,IACIC,EAAiB,0BADRriD,EAAStY,MAAM,KAAKq/B,MAE7Bu7B,EAAqB,YAAOxP,IAChCwP,EAAsB,GAAG9hD,mBACvBmlC,GAAer7B,aAAa+a,UAAU7kB,mBAAmB5vB,WAC3D0xE,EAAsB,GAAGpiD,WACvBylC,GAAer7B,aAAa+a,UAAUnlB,WACxCoiD,EAAsB,GAAG/+C,iBAAmB,YAC5C++C,EAAsB,GAAGr8C,OAASn5B,EAClCimE,GAAmBuP,GACnB,IAAIC,EAAuB,CACzBv8D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUutD,EACV9rD,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCq5E,EAAmB,GACnBC,EAAgB,CAClBl/C,iBAAkB,YAClB/C,mBACEmlC,GAAer7B,aAAa+a,UAAU7kB,mBAAmB5vB,WAC3DsvB,WAAYylC,GAAer7B,aAAa+a,UAAUnlB,WAClDQ,mBAAoB,GACpBV,SAAUqiD,EACVzhD,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBohD,EAAiB9vD,KAAK+vD,GAEtB,IAAMC,EAAa,CACjB3tD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc2gD,EACdttD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuiD,GACA,SAAC70E,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE82E,GAEF,MAEF,IAAK,uBACH,IAAIC,EAAmB,YAAO3P,IAC9B2P,EAAoB,GAAGniD,mBACrBmlC,GAAev7B,WAAWuH,gBAAgB8D,MAAMjV,mBAAmB5vB,WACrE+xE,EAAoB,GAAGziD,WACrBylC,GAAev7B,WAAWuH,gBAAgB8D,MAAMvV,WAClDyiD,EAAoB,GAAGp/C,iBAAmB,aAC1Co/C,EAAoB,GAAG18C,OAASn5B,EAChCmmE,GAAoB0P,GACpB,IAAIC,EAAwB,CAC1B58D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAGlC05E,EAAqB,GACrBC,EAAkB,CACpBv/C,iBAAkB,aAClB/C,mBACEmlC,GAAev7B,WAAWuH,gBAAgB8D,MAAMjV,mBAAmB5vB,WACrEsvB,WACEylC,GAAev7B,WAAWuH,gBAAgB8D,MAAMvV,WAClDQ,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjByhD,EAAmBnwD,KAAKowD,GAExB,IAAMC,EAAe,CACnBhuD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcghD,EACd3tD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzC4iD,GACA,SAACl1E,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChEm3E,GAEF,MACF,IAAK,yBACH,IAAIC,EAAuB,YAAOhQ,IAClCgQ,EAAwB,GAAGxiD,mBACzBmlC,GAAev7B,WAAWuH,gBAAgB0T,UAAU7kB,mBAAmB5vB,WACzEoyE,EAAwB,GAAG9iD,WACzBylC,GAAev7B,WAAWuH,gBAAgB0T,UAAUnlB,WACtD8iD,EAAwB,GAAGz/C,iBAAmB,YAC9Cy/C,EAAwB,GAAG/8C,OAASn5B,EACpCmmE,GAAoB+P,GACpB,IAAIC,EAA4B,CAC9Bj9D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAGlC+5E,EAAiB,GACjBC,EAAc,CAChB5/C,iBAAkB,YAClB/C,mBACEmlC,GAAev7B,WAAWuH,gBAAgB0T,UAAU7kB,mBAAmB5vB,WACzEsvB,WACEylC,GAAev7B,WAAWuH,gBAAgB0T,UAAUnlB,WACtDQ,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB8hD,EAAexwD,KAAKywD,GAEpB,IAAMC,EAAW,CACfruD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcqhD,EACdhuD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCijD,GACA,SAACv1E,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChEw3E,GAEF,MACF,IAAK,wBACH,IAAIC,GAAoB,YAAOnQ,IAC/BmQ,GAAqB,GAAG7iD,mBACtBmlC,GAAet7B,WAAWsH,gBAAgB8D,MAAMjV,mBAAmB5vB,WACrEyyE,GAAqB,GAAGnjD,WACtBylC,GAAet7B,WAAWsH,gBAAgB8D,MAAMvV,WAClDmjD,GAAqB,GAAG9/C,iBAAmB,aAC3C8/C,GAAqB,GAAGp9C,OAASn5B,EACjCqmE,GAAqBkQ,IACrB,IAAIC,GAAyB,CAC3Bt9D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCo6E,GAAiB,GACjBC,GAAc,CAChBjgD,iBAAkB,aAClB/C,mBACEmlC,GAAet7B,WAAWsH,gBAAgB8D,MAAMjV,mBAAmB5vB,WACrEsvB,WACEylC,GAAet7B,WAAWsH,gBAAgB8D,MAAMvV,WAClDQ,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBmiD,GAAe7wD,KAAK8wD,IAEpB,IAAMC,GAAW,CACf1uD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc0hD,GACdruD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCsjD,IACA,SAAC51E,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE63E,IAEF,MACF,IAAK,0BACH,IAAIC,GAAwB,YAAOxQ,IACnCwQ,GAAyB,GAAGljD,mBAC1BmlC,GAAet7B,WAAWsH,gBAAgB0T,UAAU7kB,mBAAmB5vB,WACzE8yE,GAAyB,GAAGxjD,WAC1BylC,GAAet7B,WAAWsH,gBAAgB0T,UAAUnlB,WACtDwjD,GAAyB,GAAGngD,iBAAmB,YAC/CmgD,GAAyB,GAAGz9C,OAASn5B,EACrCqmE,GAAqBuQ,IACrB,IAAIC,GAA6B,CAC/B39D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCy6E,GAAkB,GAClBC,GAAe,CACjBtgD,iBAAkB,YAClB/C,mBACEmlC,GAAet7B,WAAWsH,gBAAgB0T,UAAU7kB,mBAAmB5vB,WACzEsvB,WACEylC,GAAet7B,WAAWsH,gBAAgB0T,UAAUnlB,WACtDQ,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBwiD,GAAgBlxD,KAAKmxD,IAErB,IAAMC,GAAY,CAChB/uD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc+hD,GACd1uD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzC2jD,IACA,SAACj2E,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChEk4E,IAEF,MACF,IAAK,uBACH,IAAIC,GAAmB,YAAO3Q,IAC9B2Q,GAAoB,GAAGvjD,mBACrBmlC,GAAer7B,aAAaqH,gBAAgB8D,MAAMjV,mBAAmB5vB,WACvEmzE,GAAoB,GAAG7jD,WACrBylC,GAAer7B,aAAaqH,gBAAgB8D,MAAMvV,WACpD6jD,GAAoB,GAAGxgD,iBAAmB,aAC1CwgD,GAAoB,GAAG99C,OAASn5B,EAChCumE,GAAoB0Q,IACpB,IAAIC,GAAwB,CAC1Bh+D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElC86E,GAAkB,GAClBC,GAAe,CACjB3gD,iBAAkB,aAClB/C,mBACEmlC,GAAer7B,aAAaqH,gBAAgB8D,MAAMjV,mBAAmB5vB,WACvEsvB,WACEylC,GAAer7B,aAAaqH,gBAAgB8D,MAAMvV,WACpDQ,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB6iD,GAAgBvxD,KAAKwxD,IAErB,IAAMC,GAAY,CAChBpvD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcoiD,GACd/uD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCgkD,IACA,SAACt2E,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChEu4E,IAEF,MACF,IAAK,yBACH,IAAIC,GAAuB,YAAOhR,IAClCgR,GAAwB,GAAG5jD,mBACzBmlC,GAAer7B,aAAaqH,gBAAgB0T,UAAU7kB,mBAAmB5vB,WAC3EwzE,GAAwB,GAAGlkD,WACzBylC,GAAer7B,aAAaqH,gBAAgB0T,UAAUnlB,WACxDkkD,GAAwB,GAAG7gD,iBAAmB,YAC9C6gD,GAAwB,GAAGn+C,OAASn5B,EACpCumE,GAAoB+Q,IACpB,IAAIC,GAA4B,CAC9Br+D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCm7E,GAAkB,GAClBC,GAAe,CACjBhhD,iBAAkB,YAClB/C,mBACEmlC,GAAer7B,aAAaqH,gBAAgB0T,UAAU7kB,mBAAmB5vB,WAC3EsvB,WACEylC,GAAer7B,aAAaqH,gBAAgB0T,UAAUnlB,WACxDQ,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MACEoB,GAAmB,KAAVA,EAAeA,EAAQ/R,GAAYyM,gBAAgB9nB,IAC9D23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjBkjD,GAAgB5xD,KAAK6xD,IAErB,IAAMC,GAAY,CAChBzvD,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcyiD,GACdpvD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCqkD,IACA,SAAC32E,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE44E,KASR,SAASC,GAAgBt2E,EAAetC,EAAYk0B,GAClD,OAAQl0B,GACN,IAAK,kBACH,IAAI40E,EAAgB,YAAO/N,IAC3B+N,EAAiB,GAAGx6C,OAAS,GAC7Bw6C,EAAiB,GAAGzgD,SAAW,GAC/B2yC,GAAmB8N,GACnB,MACF,IAAK,oBACH,IAAIK,EAAqB,YAAOpO,IAChCoO,EAAsB,GAAG76C,OAAS,GAClC66C,EAAsB,GAAG9gD,SAAW,GAEpC2yC,GAAmBmO,GACnB,MACF,IAAK,mBACH,IAAIM,EAAkB,YAAOxO,IAC7BwO,EAAmB,GAAGn7C,OAAS,GAC/Bm7C,EAAmB,GAAGphD,SAAW,GAEjC6yC,GAAoBuO,GACpB,MACF,IAAK,qBACH,IAAIM,EAAsB,YAAO9O,IACjC8O,EAAuB,GAAGz7C,OAAS,GACnCy7C,EAAuB,GAAG1hD,SAAW,GAErC6yC,GAAoB6O,GACpB,MACF,IAAK,kBACH,IAAIM,EAAiB,YAAOlP,IAE5BkP,EAAkB,GAAG/7C,OAAS,GAC9B+7C,EAAkB,GAAGhiD,SAAW,GAEhC+yC,GAAmBiP,GACnB,MACF,IAAK,oBACH,IAAIM,EAAqB,YAAOxP,IAChCwP,EAAsB,GAAG9hD,mBACvB8hD,EAAsB,GAAGr8C,OAAS,GACpCq8C,EAAsB,GAAGtiD,SAAW,GAEpC+yC,GAAmBuP,GACnB,MACF,IAAK,uBACH,IAAIK,EAAmB,YAAO3P,IAC9B2P,EAAoB,GAAG18C,OAAS,GAChC08C,EAAoB,GAAG3iD,SAAW,GAElCizC,GAAoB0P,GACpB,MACF,IAAK,yBACH,IAAIK,EAAuB,YAAOhQ,IAClCgQ,EAAwB,GAAG/8C,OAAS,GACpC+8C,EAAwB,GAAGhjD,SAAW,GAEtCizC,GAAoB+P,GACpB,MACF,IAAK,wBACH,IAAIK,EAAoB,YAAOnQ,IAC/BmQ,EAAqB,GAAGp9C,OAAS,GACjCo9C,EAAqB,GAAGrjD,SAAW,GAEnCmzC,GAAqBkQ,GACrB,MACF,IAAK,0BACH,IAAIK,EAAwB,YAAOxQ,IACnCwQ,EAAyB,GAAGz9C,OAAS,GACrCy9C,EAAyB,GAAG1jD,SAAW,GAEvCmzC,GAAqBuQ,GACrB,MACF,IAAK,uBACH,IAAIK,EAAmB,YAAO3Q,IAC9B2Q,EAAoB,GAAG99C,OAAS,GAChC89C,EAAoB,GAAG/jD,SAAW,GAElCqzC,GAAoB0Q,GACpB,MACF,IAAK,yBACH,IAAIK,EAAuB,YAAOhR,IAClCgR,EAAwB,GAAGn+C,OAAS,GACpCm+C,EAAwB,GAAGpkD,SAAW,GAEtCqzC,GAAoB+Q,IAO1B31E,QAAQC,IAAI,eAAgBy8D,IAsP5B,IAAMyU,GAAe,SAAC/jE,EAAUhQ,EAAYiB,EAAUkzB,GAC5B,IAAD,IAAvB,IAAKnkB,GAAOA,EAAIR,MACd0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,oBAClDkgB,GAAa,GA/GjB,SAAgCrmB,EAAYgQ,GAC/B,iBAAPhQ,GACF6kE,GAAsB70D,EAAIR,OAEjB,kBAAPxP,GACF+kE,GAAuB/0D,EAAIR,OAElB,iBAAPxP,GACFilE,GAAsBj1D,EAAIR,OAEjB,kBAAPxP,GACFmlE,GAAuBn1D,EAAIR,OAElB,iBAAPxP,GACFqlE,GAAsBr1D,EAAIR,OAEjB,gBAAPxP,GACFulE,GAAoBv1D,EAAIR,OAEf,gBAAPxP,GACFylE,GAAoBz1D,EAAIR,OAEf,cAAPxP,GACFimE,GAAsBj2D,EAAIR,OAEjB,cAAPxP,GACF2lE,GAAmB31D,EAAIR,OAEd,sBAAPxP,GACF6lE,GAAkB71D,EAAIR,OAEb,sBAAPxP,GACF+lE,GAAsB/1D,EAAIR,OAGjB,oBAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBZ,gBAAiB34D,EAAIR,SAGd,sBAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBX,kBAAmB54D,EAAIR,SAGhB,qBAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBV,iBAAkB74D,EAAIR,SAGf,uBAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBT,mBAAoB94D,EAAIR,SAGjB,oBAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBR,gBAAiB/4D,EAAIR,SAGd,sBAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBP,kBAAmBh5D,EAAIR,SAGhB,yBAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBN,qBAAsBj5D,EAAIR,SAGnB,2BAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBL,uBAAwBl5D,EAAIR,SAGrB,0BAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBJ,sBAAuBn5D,EAAIR,SAGpB,4BAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBH,wBAAyBp5D,EAAIR,SAGtB,yBAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBF,qBAAsBr5D,EAAIR,SAGnB,2BAAPxP,GACFwpE,GAAwB,2BACnBD,IADkB,IAErBD,uBAAwBt5D,EAAIR,SAS9BqpE,CAAuB74E,EAAIgQ,IAEzB,OAACA,QAAD,IAACA,GAAD,UAACA,EAAKwD,iBAAN,aAAC,EAAgBhR,SAAS,eAC1B,OAACwN,QAAD,IAACA,GAAD,UAACA,EAAKwD,iBAAN,aAAC,EAAgBhR,SAAS,cAE1B2gB,GAAW6C,GAAUhW,EAAIR,YAG3B,GAAIQ,EAAIS,MAEN,GAAW,YAAPzQ,EAAkB,CACpBqmB,GAAa,GACb88C,IAAY,GAEZjF,GAAO7pC,WzE7/IY,EyE+/IF1b,GAAYwQ,cACXloB,EAAK4a,MAAM,KAAK,GAEpBqiD,GAAO7pC,gBAQhB,GAAW,iBAAPr0B,EACTqmB,GAAa,GACbw+C,GAAsB,IACtBzB,IAAkB,GAClBxB,GAAiB5xD,EAAIS,KAAK6jE,WA0BrB,GAAW,kBAAPt0E,EAAwB,CACjCqmB,GAAa,GACb0+C,GAAuB,IACvB1B,IAAmB,GACnBxB,GAAkB7xD,EAAIS,KAAK6jE,MAGV37D,GAAYwQ,cACXloB,EAAK4a,MAAM,KAAK,GACdyiD,GAAc5mC,iBACpB4mC,GAAcjqC,WAEhB6tC,GAAkBoP,SACfpP,GAAkBqP,YzEjjJL,MyEmjJxBjT,GAAcjqC,YzEviJiB,MyE8iJjCiqC,GAAcjqC,WANdhO,GAAa,GAcbA,GAAa,QAEV,GAAW,iBAAPrmB,EAAuB,CAChCqmB,GAAa,GACb4+C,GAAsB,IACtB3B,IAAkB,GAClBxB,GAAiB9xD,EAAIS,KAAK6jE,MAGT37D,GAAYwQ,cACXloB,EAAK4a,MAAM,KAAK,GACd2iD,GAAa9mC,iBACnB8mC,GAAanqC,WAEf+tC,GAAiBkP,SACdlP,GAAiBmP,YzEhlJL,MyEklJvB/S,GAAanqC,YzEtkJiB,MyE4kJvBmqC,GAAanqC,WALtBhO,GAAa,GAYbA,GAAa,QAEV,GAAW,kBAAPrmB,EAAwB,CACjCqmB,GAAa,GACb8+C,GAAuB,IACvB5B,IAAmB,GACnBxB,GAAkB/xD,EAAIS,KAAK6jE,MAEV37D,GAAYwQ,cACXloB,EAAK4a,MAAM,KAAK,GACd6iD,GAAchnC,iBACpBgnC,GAAcrqC,WAEhBiuC,GAAkBgP,SACfhP,GAAkBiP,YzE5mJL,MyE8mJxB7S,GAAcrqC,YzElmJiB,MyEymJjCqqC,GAAcrqC,WANdhO,GAAa,GAcbA,GAAa,QAEV,GAAW,iBAAPrmB,EAAuB,CAChCqmB,GAAa,GACbg/C,GAAsB,IACtB7B,IAAkB,GAClBxB,GAAiBhyD,EAAIS,KAAK6jE,MAET37D,GAAYwQ,cACXloB,EAAK4a,MAAM,KAAK,GACd+iD,GAAalnC,iBACnBknC,GAAavqC,WAEfmuC,GAAiB8O,SACd9O,GAAiB+O,YzE1oJL,MyE4oJvB3S,GAAavqC,YzEhoJiB,MyEsoJvBuqC,GAAavqC,WALtBhO,GAAa,GAYbA,GAAa,QAEV,GAAW,gBAAPrmB,GAAmD,QAA3Bm0B,EAAStY,MAAM,KAAK,GAAc,CACnEwK,GAAa,GACbk/C,GAAoB,IACpB9B,IAAoB,GACpBf,GAAe1yD,EAAIS,KAAK6jE,MAEP37D,GAAYwQ,cACX+1C,GAAe7kC,OACb6kC,GAAexnC,iBACrBwnC,GAAe7qC,gBAyBxB,GAAW,gBAAPr0B,GAAmD,QAA3Bm0B,EAAStY,MAAM,KAAK,GACrD0pD,GAAoB,IACpB9B,IAAoB,GACpBp9C,GAAa,QAgBR,GAAW,sBAAPrmB,EAA4B,CACrC6lE,GAAkB,IAClBx/C,GAAa,GACbo9C,IAAoB,GACpB,IAAIqV,EAAiB,CACnB5vD,cAAevQ,GAAYwQ,cAC3BmP,OAAQ4mC,GAAe7kC,OACvB5B,OAAQqmC,GAAqBzkC,OAC7B7B,WAAY0mC,GAAe/qC,SAC3BuE,WAAYomC,GAAqB3qC,UAEnC8D,GAAQo8C,GAAYyE,QACf,GAAW,gBAAP94E,GAAmD,QAA3Bm0B,EAAStY,MAAM,KAAK,GAAc,CACnEwK,GAAa,GACbo/C,GAAoB,IACpB/B,IAAoB,GACpBf,GAAmB3yD,EAAIS,KAAK6jE,MAEX37D,GAAYwQ,cACXi2C,GAAe/kC,OACb+kC,GAAe1nC,iBACrB0nC,GAAe/qC,gBAyBxB,GAAW,gBAAPr0B,GAAmD,QAA3Bm0B,EAAStY,MAAM,KAAK,GACrD6nD,IAAoB,GACpB+B,GAAoB,IACpB9C,GAAmB3yD,EAAIS,KAAK6jE,MAC5BjuD,GAAa,QAeR,GACE,gBAAPrmB,GAC2B,QAA3Bm0B,EAAStY,MAAM,KAAK,SACYjgB,IAAhCojE,GAAqB3kC,OACrB,CACAhU,GAAa,GACbo/C,GAAoB,IACpB/B,IAAoB,GACpB,IAAIoV,EAAiB,CACnB5vD,cAAevQ,GAAYwQ,cAC3BmP,OAAQ8mC,GAAe/kC,OACvB5B,OAAQumC,GAAqB3kC,OAC7B7B,WAAY4mC,GAAejrC,SAC3BuE,WAAYsmC,GAAqB7qC,UAEnC8D,GAAQu8C,GAAgBsE,QACnB,GAAW,sBAAP94E,EAA4B,CACrCqmB,GAAa,GACb0/C,GAAsB,IACtBrC,IAAoB,GACpB,IAAIoV,EAAiB,CACnB5vD,cAAevQ,GAAYwQ,cAC3BmP,OAAQ8mC,GAAe/kC,OACvB5B,OAAQumC,GAAqB3kC,OAC7B7B,WAAY4mC,GAAejrC,SAC3BuE,WAAYsmC,GAAqB7qC,UAEnC8D,GAAQu8C,GAAgBsE,QACnB,GAAW,cAAP94E,EACTqmB,GAAa,GACb4/C,GAAsB,IAEtBtC,IAAkB,GAClBf,GAAiB5yD,EAAIS,KAAK6jE,MAC1BhV,GAAajrC,WzEpyJY,SyEqyJpB,GAAW,cAAPr0B,EACTqmB,GAAa,GACbs/C,GAAmB,IACnB/B,IAAe,GACfd,GAAc9yD,EAAIS,KAAK6jE,WAClB,GAAW,oBAAPt0E,EAA0B,CACnC,IAAI+4E,EAAc,YAAOlS,IACzBkS,EAAe,GAAG5kD,SAAWnkB,EAAIS,KAAK6jE,KACtCxN,GAAmBiS,GACnB1yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBZ,gBAAiB,MAEnB2B,GAAqB,2BAChBD,IADe,IAElBZ,iBAAiB,UAEd,GAAW,sBAAPzpE,EAA4B,CACrC,IAAI+4E,EAAc,YAAOlS,IACzBkS,EAAe,GAAG5kD,SAAWnkB,EAAIS,KAAK6jE,KACtCxN,GAAmBiS,GACnB1yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBX,kBAAmB,MAErB0B,GAAqB,2BAChBD,IADe,IAElBX,qBAAqB,UAElB,GAAW,qBAAP1pE,EAA2B,CACpC,IAAIg5E,EAAc,YAAOjS,IACzBiS,EAAe,GAAG7kD,SAAWnkB,EAAIS,KAAK6jE,KACtCtN,GAAoBgS,GACpB3yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBV,iBAAkB,MAEpByB,GAAqB,2BAChBD,IADe,IAElBV,kBAAkB,UAEf,GAAW,uBAAP3pE,EAA6B,CACtC,IAAIg5E,EAAc,YAAOjS,IACzBiS,EAAe,GAAG7kD,SAAWnkB,EAAIS,KAAK6jE,KACtCtN,GAAoBgS,GACpB3yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBT,mBAAoB,MAEtBwB,GAAqB,2BAChBD,IADe,IAElBT,sBAAsB,UAEnB,GAAW,oBAAP5pE,EAA0B,CACnC,IAAIi5E,EAAgB,YAAOhS,IAC3BgS,EAAiB,GAAG9kD,SAAWnkB,EAAIS,KAAK6jE,KACxCpN,GAAmB+R,GACnB5yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBR,gBAAiB,MAEnBuB,GAAqB,2BAChBD,IADe,IAElBR,iBAAiB,UAEd,GAAW,sBAAP7pE,EAA4B,CACrC,IAAIi5E,EAAgB,YAAOhS,IAC3BgS,EAAiB,GAAG9kD,SAAWnkB,EAAIS,KAAK6jE,KACxCpN,GAAmB+R,GACnB5yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBP,kBAAmB,MAErBsB,GAAqB,2BAChBD,IADe,IAElBP,qBAAqB,UAElB,GAAW,yBAAP9pE,EAA+B,CACxC,IAAIk5E,EAAe,YAAO/R,IAC1B+R,EAAgB,GAAG/kD,SAAWnkB,EAAIS,KAAK6jE,KACvClN,GAAoB8R,GACpB7yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBN,qBAAsB,MAExBqB,GAAqB,2BAChBD,IADe,IAElBN,sBAAsB,UAEnB,GAAW,2BAAP/pE,EAAiC,CAC1C,IAAIk5E,EAAe,YAAO/R,IAC1B+R,EAAgB,GAAG/kD,SAAWnkB,EAAIS,KAAK6jE,KACvClN,GAAoB8R,GACpB7yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBL,uBAAwB,MAE1BoB,GAAqB,2BAChBD,IADe,IAElBL,0BAA0B,UAEvB,GAAW,0BAAPhqE,EAAgC,CACzC,IAAIm5E,EAAe,YAAO9R,IAC1B8R,EAAgB,GAAGhlD,SAAWnkB,EAAIS,KAAK6jE,KACvChN,GAAqB6R,GACrB9yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBJ,sBAAuB,MAEzBmB,GAAqB,2BAChBD,IADe,IAElBJ,uBAAuB,UAEpB,GAAW,4BAAPjqE,EAAkC,CAC3CqmB,GAAa,GACb,IAAI8yD,EAAe,YAAO9R,IAC1B8R,EAAgB,GAAGhlD,SAAWnkB,EAAIS,KAAK6jE,KACvChN,GAAqB6R,GACrB3P,GAAwB,2BACnBD,IADkB,IAErBH,wBAAyB,MAE3BkB,GAAqB,2BAChBD,IADe,IAElBH,2BAA2B,UAExB,GAAW,yBAAPlqE,EAA+B,CACxC,IAAIo5E,EAAiB,YAAO7R,IAC5B6R,EAAkB,GAAGjlD,SAAWnkB,EAAIS,KAAK6jE,KACzC9M,GAAoB4R,GACpB/yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBF,qBAAsB,MAExBiB,GAAqB,2BAChBD,IADe,IAElBF,sBAAsB,UAEnB,GAAW,2BAAPnqE,EAAiC,CAC1C,IAAIo5E,EAAiB,YAAO7R,IAC5B6R,EAAkB,GAAGjlD,SAAWnkB,EAAIS,KAAK6jE,KACzC9M,GAAoB4R,GACpB/yD,GAAa,GACbmjD,GAAwB,2BACnBD,IADkB,IAErBD,uBAAwB,MAE1BgB,GAAqB,2BAChBD,IADe,IAElBD,0BAA0B,WAI9BjnD,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,qBACRlpB,MAAO,uBAMT6tE,GAAmB,SACvBnyE,EACA7B,EACAm0B,EACAp0B,GACI,IACIo5D,EAAkBt3D,EAAlBs3D,OAAQkgB,EAAUx3E,EAAVw3E,MACZvuC,EAAa3d,KAAKC,MAAgB,IAAT+rC,EAAgBkgB,GACzCC,EAAO,eAAQpb,IACfsQ,EAAa,eAAQpQ,IACrBqQ,EAAc,eAAQnQ,IACtBoQ,EAAa,eAAQlQ,IACrBmQ,EAAc,eAAQjQ,IACtBkQ,EAAa,eAAQhQ,IACrBiQ,EAAe,eAAQ3P,IACvBqa,EAAqB,eAAQza,IAC7BgQ,EAAe,eAAQ1P,IACvBoa,EAAqB,eAAQxa,IAC7B+P,EAAa,eAAQzP,IACrB0P,EAAU,eAAQxP,IAClBuZ,EAAc,YAAOlS,IACrBmS,EAAc,YAAOjS,IACrBkS,EAAgB,YAAOhS,IACvBiS,EAAe,YAAO/R,IACtBgS,EAAe,YAAO9R,IACtB+R,EAAiB,YAAO7R,IAExBz8B,EAAa,IACJ,YAAP9qC,GACFs5E,EAAQt5E,GAAKA,EACbs5E,EAAQjrD,SAAU,EAClBirD,EAAQr/C,UAAY6Q,EACpBwuC,EAAQp/C,cAAe,EACvBo/C,EAAQn/C,UAAW,EACnBgkC,GAAUmb,IACM,iBAAPt5E,GACTwuE,EAAcxuE,GAAKA,EACnBwuE,EAAcngD,SAAU,EACxBmgD,EAAcv0C,UAAY6Q,EAC1B0jC,EAAct0C,cAAe,EAC7Bs0C,EAAcr0C,UAAW,EACzBkkC,GAAgBmQ,IACA,kBAAPxuE,GACTyuE,EAAezuE,GAAKA,EACpByuE,EAAepgD,SAAU,EACzBogD,EAAex0C,UAAY6Q,EAC3B2jC,EAAev0C,cAAe,EAC9Bu0C,EAAet0C,UAAW,EAC1BokC,GAAiBkQ,IACD,iBAAPzuE,GACT0uE,EAAc1uE,GAAKA,EACnB0uE,EAAcrgD,SAAU,EACxBqgD,EAAcz0C,UAAY6Q,EAC1B4jC,EAAcx0C,cAAe,EAC7Bw0C,EAAcv0C,UAAW,EACzBskC,GAAgBiQ,IACA,kBAAP1uE,GACT2uE,EAAe3uE,GAAKA,EACpB2uE,EAAetgD,SAAU,EACzBsgD,EAAe10C,UAAY6Q,EAC3B6jC,EAAez0C,cAAe,EAC9By0C,EAAex0C,UAAW,EAC1BwkC,GAAiBgQ,IACD,iBAAP3uE,GACT4uE,EAAc5uE,GAAKA,EACnB4uE,EAAcvgD,SAAU,EACxBugD,EAAc30C,UAAY6Q,EAC1B8jC,EAAc10C,cAAe,EAC7B00C,EAAcz0C,UAAW,EACzB0kC,GAAgB+P,IACA,gBAAP5uE,GACT6uE,EAAgB7uE,GAAKA,EACrB6uE,EAAgBxgD,SAAU,EAC1BwgD,EAAgB50C,UAAY6Q,EAC5B+jC,EAAgB30C,cAAe,EAC/B20C,EAAgB10C,UAAW,EAC3BglC,GAAkB0P,IACF,sBAAP7uE,GACTu5E,EAAsBv5E,GAAKA,EAC3Bu5E,EAAsBlrD,SAAU,EAChCkrD,EAAsBt/C,UAAY6Q,EAClCyuC,EAAsBr/C,cAAe,EACrCq/C,EAAsBp/C,UAAW,EACjC4kC,GAAwBwa,IACR,gBAAPv5E,GACT8uE,EAAgB9uE,GAAKA,EACrB8uE,EAAgBzgD,SAAU,EAC1BygD,EAAgB70C,UAAY6Q,EAC5BgkC,EAAgB50C,cAAe,EAC/B40C,EAAgB30C,UAAW,EAC3BklC,GAAkByP,IACF,sBAAP9uE,GACTw5E,EAAsBx5E,GAAKA,EAC3Bw5E,EAAsBnrD,SAAU,EAChCmrD,EAAsBv/C,UAAY6Q,EAClC0uC,EAAsBt/C,cAAe,EACrCs/C,EAAsBr/C,UAAW,EACjC8kC,GAAwBua,IACR,cAAPx5E,GACT+uE,EAAc/uE,GAAKA,EACnB+uE,EAAc1gD,SAAU,EACxB0gD,EAAc90C,UAAY6Q,EAC1BikC,EAAc70C,cAAe,EAC7B60C,EAAc50C,UAAW,EACzBolC,GAAgB,eAAKwP,KACL,cAAP/uE,GACTgvE,EAAWhvE,GAAKA,EAChBgvE,EAAW3gD,SAAU,EACrB2gD,EAAW/0C,UAAY6Q,EACvBkkC,EAAW90C,cAAe,EAC1B80C,EAAW70C,UAAW,EACtBslC,GAAauP,IACG,oBAAPhvE,GACT+4E,EAAe,GAAG1qD,SAAU,EAC5B0qD,EAAe,GAAG9+C,UAAY6Q,EAC9BiuC,EAAe,GAAG7+C,cAAe,EACjC6+C,EAAe,GAAG5+C,UAAW,EAC7B2sC,GAAmBiS,IACH,sBAAP/4E,GACT+4E,EAAe,GAAG1qD,SAAU,EAC5B0qD,EAAe,GAAG9+C,UAAY6Q,EAC9BiuC,EAAe,GAAG7+C,cAAe,EACjC6+C,EAAe,GAAG5+C,UAAW,EAC7B2sC,GAAmBiS,IACH,qBAAP/4E,GACTg5E,EAAe,GAAG3qD,SAAU,EAC5B2qD,EAAe,GAAG/+C,UAAY6Q,EAC9BkuC,EAAe,GAAG9+C,cAAe,EACjC8+C,EAAe,GAAG7+C,UAAW,EAC7B6sC,GAAoBgS,IACJ,uBAAPh5E,GACTg5E,EAAe,GAAG3qD,SAAU,EAC5B2qD,EAAe,GAAG/+C,UAAY6Q,EAC9BkuC,EAAe,GAAG9+C,cAAe,EACjC8+C,EAAe,GAAG7+C,UAAW,EAC7B6sC,GAAoBgS,IACJ,oBAAPh5E,GACTi5E,EAAiB,GAAG5qD,SAAU,EAC9B4qD,EAAiB,GAAGh/C,UAAY6Q,EAChCmuC,EAAiB,GAAG/+C,cAAe,EACnC++C,EAAiB,GAAG9+C,UAAW,EAC/B+sC,GAAmB+R,IACH,sBAAPj5E,GACTi5E,EAAiB,GAAG5qD,SAAU,EAC9B4qD,EAAiB,GAAGh/C,UAAY6Q,EAChCmuC,EAAiB,GAAG/+C,cAAe,EACnC++C,EAAiB,GAAG9+C,UAAW,EAC/B+sC,GAAmB+R,IACH,yBAAPj5E,GACTk5E,EAAgB,GAAG7qD,SAAU,EAC7B6qD,EAAgB,GAAGj/C,UAAY6Q,EAC/BouC,EAAgB,GAAGh/C,cAAe,EAClCg/C,EAAgB,GAAG/+C,UAAW,EAC9BitC,GAAoB8R,IACJ,2BAAPl5E,GACTk5E,EAAgB,GAAG7qD,SAAU,EAC7B6qD,EAAgB,GAAGj/C,UAAY6Q,EAC/BouC,EAAgB,GAAGh/C,cAAe,EAClCg/C,EAAgB,GAAG/+C,UAAW,EAC9BitC,GAAoB8R,IACJ,0BAAPl5E,GACTm5E,EAAgB,GAAG9qD,SAAU,EAC7B8qD,EAAgB,GAAGl/C,UAAY6Q,EAC/BquC,EAAgB,GAAGj/C,cAAe,EAClCi/C,EAAgB,GAAGh/C,UAAW,EAC9BmtC,GAAqB6R,IACL,4BAAPn5E,GACTm5E,EAAgB,GAAG9qD,SAAU,EAC7B8qD,EAAgB,GAAGl/C,UAAY6Q,EAC/BquC,EAAgB,GAAGj/C,cAAe,EAClCi/C,EAAgB,GAAGh/C,UAAW,EAC9BmtC,GAAqB6R,IACL,yBAAPn5E,GACTo5E,EAAkB,GAAG/qD,SAAU,EAC/B+qD,EAAkB,GAAGn/C,UAAY6Q,EACjCsuC,EAAkB,GAAGl/C,cAAe,EACpCk/C,EAAkB,GAAGj/C,UAAW,EAChCqtC,GAAoB4R,IACJ,2BAAPp5E,IACTo5E,EAAkB,GAAG/qD,SAAU,EAC/B+qD,EAAkB,GAAGn/C,UAAY6Q,EACjCsuC,EAAkB,GAAGl/C,cAAe,EACpCk/C,EAAkB,GAAGj/C,UAAW,EAChCqtC,GAAoB4R,IAEE,MAAftuC,IACE,YAAP9qC,GACFs5E,EAAQt5E,GAAKA,EACbs5E,EAAQjrD,SAAU,EAClBirD,EAAQr/C,UAAY6Q,EACpBwuC,EAAQn/C,UAAW,EACnBm/C,EAAQp/C,cAAe,EACvBo/C,EAAQnlD,SAAWA,EACnBmlD,EAAQ/kD,SAAWx0B,EACnBo+D,GAAUmb,IACM,iBAAPt5E,GACTwuE,EAAcxuE,GAAKA,EACnBwuE,EAAcngD,SAAU,EACxBmgD,EAAcv0C,UAAY6Q,EAC1B0jC,EAAcr6C,SAAWA,EACzBq6C,EAAcr0C,UAAW,EACzBq0C,EAAct0C,cAAe,EAC7Bs0C,EAAcj6C,SAAWx0B,EACzBs+D,GAAgBmQ,IACA,kBAAPxuE,GACTyuE,EAAezuE,GAAKA,EACpByuE,EAAepgD,SAAU,EACzBogD,EAAex0C,UAAY6Q,EAC3B2jC,EAAet6C,SAAWA,EAC1Bs6C,EAAet0C,UAAW,EAC1Bs0C,EAAev0C,cAAe,EAC9Bu0C,EAAel6C,SAAWx0B,EAC1Bw+D,GAAiBkQ,IACD,iBAAPzuE,GACT0uE,EAAc1uE,GAAKA,EACnB0uE,EAAcrgD,SAAU,EACxBqgD,EAAcz0C,UAAY6Q,EAC1B4jC,EAAcv6C,SAAWA,EACzBu6C,EAAcv0C,UAAW,EACzBu0C,EAAcx0C,cAAe,EAC7Bw0C,EAAcn6C,SAAWx0B,EACzB0+D,GAAgBiQ,IACA,kBAAP1uE,GACT2uE,EAAe3uE,GAAKA,EACpB2uE,EAAetgD,SAAU,EACzBsgD,EAAe10C,UAAY6Q,EAC3B6jC,EAAex6C,SAAWA,EAC1Bw6C,EAAex0C,UAAW,EAC1Bw0C,EAAez0C,cAAe,EAC9By0C,EAAep6C,SAAWx0B,EAC1B4+D,GAAiBgQ,IACD,iBAAP3uE,GACT4uE,EAAc5uE,GAAKA,EACnB4uE,EAAcvgD,SAAU,EACxBugD,EAAc30C,UAAY6Q,EAC1B8jC,EAAcz6C,SAAWA,EACzBy6C,EAAcz0C,UAAW,EACzBy0C,EAAc10C,cAAe,EAC7B00C,EAAcr6C,SAAWx0B,EACzB8+D,GAAgB+P,IACA,gBAAP5uE,GACT6uE,EAAgB7uE,GAAKA,EACrB6uE,EAAgBxgD,SAAU,EAC1BwgD,EAAgB50C,UAAY6Q,EAC5B+jC,EAAgB10C,UAAW,EAC3B00C,EAAgB30C,cAAe,EAC/B20C,EAAgBt6C,SAAWx0B,EAC3B8uE,EAAgB16C,SAAWA,EAC3BgrC,GAAkB0P,IACF,sBAAP7uE,GACTu5E,EAAsBv5E,GAAKA,EAC3Bu5E,EAAsBlrD,SAAU,EAChCkrD,EAAsBt/C,UAAY6Q,EAClCyuC,EAAsBp/C,UAAW,EACjCo/C,EAAsBr/C,cAAe,EACrCq/C,EAAsBhlD,SAAWx0B,EACjCw5E,EAAsBplD,SAAWA,EACjC4qC,GAAwBwa,IACR,gBAAPv5E,GACT8uE,EAAgB9uE,GAAKA,EACrB8uE,EAAgBzgD,SAAU,EAC1BygD,EAAgB70C,UAAY6Q,EAC5BgkC,EAAgB30C,UAAW,EAC3B20C,EAAgB50C,cAAe,EAC/B40C,EAAgBv6C,SAAWx0B,EAC3B+uE,EAAgB36C,SAAWA,EAC3BkrC,GAAkByP,IACF,sBAAP9uE,GACTw5E,EAAsBx5E,GAAKA,EAC3Bw5E,EAAsBnrD,SAAU,EAChCmrD,EAAsBv/C,UAAY6Q,EAClC0uC,EAAsBr/C,UAAW,EACjCq/C,EAAsBt/C,cAAe,EACrCs/C,EAAsBjlD,SAAWx0B,EACjCy5E,EAAsBrlD,SAAWA,EACjC8qC,GAAwBua,IACR,cAAPx5E,GACT+uE,EAAc/uE,GAAKA,EACnB+uE,EAAc1gD,SAAU,EACxB0gD,EAAc90C,UAAY6Q,EAC1BikC,EAAc50C,UAAW,EACzB40C,EAAc70C,cAAe,EAC7B60C,EAAcx6C,SAAWx0B,EACzBgvE,EAAc56C,SAAWA,EACzBorC,GAAgBwP,IACA,cAAP/uE,GACTgvE,EAAWhvE,GAAKA,EAChBgvE,EAAW3gD,SAAU,EACrB2gD,EAAW/0C,UAAY6Q,EACvBkkC,EAAW70C,UAAW,EACtB60C,EAAW90C,cAAe,EAC1B80C,EAAWz6C,SAAWx0B,EACtBivE,EAAW76C,SAAWA,EACtBsrC,GAAauP,IACG,oBAAPhvE,GACT+4E,EAAe,GAAG1qD,SAAU,EAC5B0qD,EAAe,GAAG9+C,UAAY6Q,EAC9BiuC,EAAe,GAAG5+C,UAAW,EAC7B4+C,EAAe,GAAG7+C,cAAe,EACjC6+C,EAAe,GAAGxkD,SAAWx0B,EAC7B+mE,GAAmBiS,IACH,sBAAP/4E,GACT+4E,EAAe,GAAG1qD,SAAU,EAC5B0qD,EAAe,GAAG9+C,UAAY6Q,EAC9BiuC,EAAe,GAAG5+C,UAAW,EAC7B4+C,EAAe,GAAG7+C,cAAe,EACjC6+C,EAAe,GAAGxkD,SAAWx0B,EAC7B+mE,GAAmBiS,IACH,qBAAP/4E,GACTg5E,EAAe,GAAG3qD,SAAU,EAC5B2qD,EAAe,GAAG/+C,UAAY6Q,EAC9BkuC,EAAe,GAAG7+C,UAAW,EAC7B6+C,EAAe,GAAG9+C,cAAe,EACjC8+C,EAAe,GAAGzkD,SAAWx0B,EAC7BinE,GAAoBgS,IACJ,uBAAPh5E,GACTg5E,EAAe,GAAG3qD,SAAU,EAC5B2qD,EAAe,GAAG/+C,UAAY6Q,EAC9BkuC,EAAe,GAAG7+C,UAAW,EAC7B6+C,EAAe,GAAG9+C,cAAe,EACjC8+C,EAAe,GAAGzkD,SAAWx0B,EAC7BinE,GAAoBgS,IACJ,oBAAPh5E,GACTi5E,EAAiB,GAAG5qD,SAAU,EAC9B4qD,EAAiB,GAAGh/C,UAAY6Q,EAChCmuC,EAAiB,GAAG9+C,UAAW,EAC/B8+C,EAAiB,GAAG/+C,cAAe,EACnC++C,EAAiB,GAAG1kD,SAAWx0B,EAC/BmnE,GAAmB+R,IACH,sBAAPj5E,GACTi5E,EAAiB,GAAG5qD,SAAU,EAC9B4qD,EAAiB,GAAGh/C,UAAY6Q,EAChCmuC,EAAiB,GAAG9+C,UAAW,EAC/B8+C,EAAiB,GAAG/+C,cAAe,EACnC++C,EAAiB,GAAG1kD,SAAWx0B,EAC/BmnE,GAAmB+R,IACH,yBAAPj5E,GACTk5E,EAAgB,GAAG7qD,SAAU,EAC7B6qD,EAAgB,GAAGj/C,UAAY6Q,EAC/BouC,EAAgB,GAAG/+C,UAAW,EAC9B++C,EAAgB,GAAGh/C,cAAe,EAClCg/C,EAAgB,GAAG3kD,SAAWx0B,EAC9BqnE,GAAoB8R,IACJ,2BAAPl5E,GACTk5E,EAAgB,GAAG7qD,SAAU,EAC7B6qD,EAAgB,GAAGj/C,UAAY6Q,EAC/BouC,EAAgB,GAAG/+C,UAAW,EAC9B++C,EAAgB,GAAGh/C,cAAe,EAClCg/C,EAAgB,GAAG3kD,SAAWx0B,EAC9BqnE,GAAoB8R,IACJ,0BAAPl5E,GACTm5E,EAAgB,GAAG9qD,SAAU,EAC7B8qD,EAAgB,GAAGl/C,UAAY6Q,EAC/BquC,EAAgB,GAAGh/C,UAAW,EAC9Bg/C,EAAgB,GAAGj/C,cAAe,EAClCi/C,EAAgB,GAAG5kD,SAAWx0B,EAC9BunE,GAAqB6R,IACL,4BAAPn5E,GACTm5E,EAAgB,GAAG9qD,SAAU,EAC7B8qD,EAAgB,GAAGl/C,UAAY6Q,EAC/BquC,EAAgB,GAAGh/C,UAAW,EAC9Bg/C,EAAgB,GAAGj/C,cAAe,EAClCi/C,EAAgB,GAAG5kD,SAAWx0B,EAC9BunE,GAAqB6R,IACL,yBAAPn5E,GACTo5E,EAAkB,GAAG/qD,SAAU,EAC/B+qD,EAAkB,GAAGn/C,UAAY6Q,EACjCsuC,EAAkB,GAAGj/C,UAAW,EAChCi/C,EAAkB,GAAGl/C,cAAe,EACpCk/C,EAAkB,GAAG7kD,SAAWx0B,EAChCynE,GAAoB4R,IACJ,2BAAPp5E,IACTo5E,EAAkB,GAAG/qD,SAAU,EAC/B+qD,EAAkB,GAAGn/C,UAAY6Q,EACjCsuC,EAAkB,GAAGj/C,UAAW,EAChCi/C,EAAkB,GAAGl/C,cAAe,EACpCk/C,EAAkB,GAAG7kD,SAAWx0B,EAChCynE,GAAoB4R,MAukBpBK,GAAgB,SAACx4E,GACrB2B,QAAQC,IAAI,gBAAiB5B,GACzBA,IAC6B,IAA3BA,EAAIyzB,oBACN0pC,GAAa/vC,SAAU,EACvB+vC,GAAa/pC,WAAapzB,EAAImzB,WAC9BiqC,GAAgBD,IAChB2B,GAAuB9+D,EAAIkwE,eACS,KAA3BlwE,EAAIyzB,oBACb4pC,GAAcjwC,SAAU,EACxBiwC,GAAcjqC,WAAapzB,EAAImzB,WAC/BmqC,GAAiBD,IACjB2B,GAAwBh/D,EAAIkwE,eACQ,KAA3BlwE,EAAIyzB,oBACb8pC,GAAanwC,SAAU,EACvBmwC,GAAanqC,WAAapzB,EAAImzB,WAC9BqqC,GAAgBD,IAChB2B,GAAuBl/D,EAAIkwE,eACS,KAA3BlwE,EAAIyzB,oBACbgqC,GAAcrwC,SAAU,EACxBqwC,GAAcrqC,WAAapzB,EAAImzB,WAC/BuqC,GAAiBD,IACjB2B,GAAwBp/D,EAAIkwE,eACQ,KAA3BlwE,EAAIyzB,qBACbkqC,GAAavwC,SAAU,EACvBuwC,GAAavqC,WAAapzB,EAAImzB,WAC9ByqC,GAAgBD,IAChB2B,GAAuBt/D,EAAIkwE,iBAK3BuI,GAAyB,SAACz4E,GAC9B2B,QAAQC,IAAI,yBAA0B5B,GAClCA,IAEmB,MAAnBA,EAAImzB,YACwB,oBAA5B8qC,GAAe3qC,UAEfopC,IAAa,GACb6D,IAAe,IAEf7D,IAAa,GAGfuB,GAAe7wC,QAAU88C,GACzBjM,GAAe7qC,WAAapzB,EAAImzB,WAChC+qC,GAAkBD,IAClBS,GAAkB1+D,EAAIkwE,gBAgCpBwI,GAAc,WAEhBnY,KADE9D,KAqnBAkc,GAAmB,WACvBjjD,IAAoB,SAAC3mB,GACnB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,oBAClDkgB,GAAa,GACby9C,IAAc,OACT,CACL,IAAM/7C,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnC,GAAIsX,GAAeA,EAAYzrB,OAAS,EAAG,CACzC,IAAMspB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAEtD4gE,EAA6B9xD,EAAY/mB,QAC7C,SAACW,GAAD,OAOqB,IAAnBA,EAAK4tD,WACqB,2BAA1B5tD,EAAK81B,oBAET,GAA8B,IAAZ,OAAdoiD,QAAc,IAAdA,OAAA,EAAAA,EAAgBv9E,QAElB,GADAwnE,IAAc,GAEZnrD,GAAYmO,cACZlB,EAAwBkB,cACxBnO,GAAY4P,OACZ3C,EAAwB2C,MAExB2G,GAAW,CACTG,OAAQ,wBACRlpB,MAAO,kBAETgzC,GAAqBlhD,GAAaM,KAClCguB,EAAQM,KAAKuyB,GAA0BnhD,GAAaM,UAC/C,CACL,IAAMshF,EAA6B9xD,EAAY/mB,QAC7C,SAACW,GAAD,OAOqB,IAAnBA,EAAK4tD,aAET,GAA8B,IAA1BsqB,EAAev9E,OACjB4yB,GAAW,CACTG,OAAQ,wBACRlpB,MAAO,uBAEJ,GAAI0zE,EAAev9E,OAAS,EAAG,CAIV,IAHTqc,GAAY+P,gBAAgB1nB,QAC3C,SAACyP,GAAD,MAA+B,SAAhBA,EAAKvX,UAEPoD,QACbqc,GAAY+P,gBAAgB7B,KAAK/tB,IAGrCqgD,GAAqBlhD,GAAaM,KAClCguB,EAAQM,KAAKuyB,GAA0BnhD,GAAaM,WAGtD4qB,GAAW,yCACXkD,GAAa,GACby9C,IAAc,QAGhB50C,GAAW,CACTG,OAAQ,qBACRlpB,MAAO,yBAIZwS,GAAYwQ,gBAEX2wD,GAAgB,SAAC9pE,GACrB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CACTG,OAAQ,8BACRlpB,MAAO,oBAETkgB,GAAa,GACby9C,IAAc,QAEd,GAAI9zD,EAAIS,KAAM,CACZ4V,GAAa,GAEb,IAAM5V,EAAO,CACX0gB,UACEzB,GAAgBC,aAAagB,yBAC1BD,gBACLkW,mBAAoB,GACpBpM,WAAYljC,EAAMkjC,YAAc,GAChCC,WAAYnjC,EAAMmjC,YAAc,GAChCC,aAAcpjC,EAAMojC,cAAgB,GACpCmM,IAAKluB,GAAY4P,MACjBue,yBAA0B,GAC1BC,mBAAoBpuB,GAAYmO,aAChCizD,4BAA6B9d,EACzB,YACA,aACJj1B,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,GAI3BihB,GAAiBC,UACfO,GAAgBvC,aAAagB,yBAAyBD,iBAGxDiG,GAAoBqjD,GAAcrhE,GAAYwQ,oBAE9C9C,GAAa,GACb6I,GAAW,CACTG,OAAQ,8BACRlpB,MAAO,uBAUf,SAAS6zE,GAAahqE,GACpB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzB0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,oBAClDkgB,GAAa,OACR,CACL,IAAM0B,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnC,GAAIsX,GAAeA,EAAYzrB,OAAS,EAAG,CACzC,IAAMspB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D,GACEN,GAAYmO,cACZlB,EAAwBkB,cACxBnO,GAAY4P,OACZ3C,EAAwB2C,MAExB2G,GAAW,CACTG,OAAQ,wBACRlpB,MAAO,kBAETgzC,GAAqBlhD,GAAaM,KAClCguB,EAAQM,KAAKuyB,GAA0BnhD,GAAaM,UAC/C,CACL,IAAMshF,EAA6B9xD,EAAY/mB,QAC7C,SAACW,GAAD,OAOqB,IAAnBA,EAAK4tD,aAET,GAA8B,IAA1BsqB,EAAev9E,OACjB4yB,GAAW,CACTG,OAAQ,wBACRlpB,MAAO,uBAEJ,GAAI0zE,EAAev9E,OAAS,EAAG,CAIV,IAHTqc,GAAY+P,gBAAgB1nB,QAC3C,SAACyP,GAAD,MAA+B,SAAhBA,EAAKvX,UAEPoD,QACbqc,GAAY+P,gBAAgB7B,KAAK/tB,IAGrCqgD,GAAqBlhD,GAAaM,KAClCguB,EAAQM,KAAKuyB,GAA0BnhD,GAAaM,YAGtD22B,GAAW,CACTG,OAAQ,qBACRlpB,MAAO,uBAKf,IAkBM8zE,GAAuB,WAAO,IAAD,IACjC,SACEthE,GAAY4P,OACZzjB,SAAS4mB,GAAU,GAC0B,IAAlC,OAAX/S,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,sBAI1BpgC,GAAY4P,OACiC,IAAlC,OAAX5P,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,mBAKxBmhC,GAAkB,WAEtB,QA9BsB,WAAO,IAAD,IAC5B,QACEvhE,GAAY4P,OACZzjB,SAAS4mB,GAAU,GAC0B,IAAlC,OAAX/S,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,sBAI1BpgC,GAAY4P,OACiC,IAAlC,OAAX5P,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,qBAGbilB,GAAS5jC,SAAW4oC,KAkB/BmX,OAjCAxhE,GAAY4P,OAASzjB,SAAS4mB,GAAU,IAC9BwyC,GAAO9jC,QAAW8oC,KAAce,OAqCzC/E,GAAe7kC,SAAW6kC,GAAe9kC,SzE/zNjB,MyEo0NpB8kC,GAAe7qC,YACfgwC,GzEh0NwB,KyEi0NtBjF,GAAe/qC,aACjBiwC,OA6JX,OArCA1hE,QAAQC,IACN,mBACoB,kBAAZmjB,IAAmC,IAAXA,IAC9Bu1C,GAAoB5iD,GAAYwQ,gBAChC68C,IACAkU,MACAvP,IACAE,IAGAE,GAAkBj8D,mBACpB,kBACmB,kBAAZkX,IAAmC,IAAXA,GAC/B,iBACAu1C,GAAoB5iD,GAAYwQ,eAChC,YACA68C,GACA,aACAkU,KACA,oBACAvP,GACA,gBACAE,GAGA,uCACAE,GAAkBj8D,oBAYlB,6BACE,yBAAKvX,UAAU,SACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACZ2uE,IACC,yBACE/hE,MAAO,CACLi2E,eAAgB,SAChBtiF,QAAS,OACTuiF,WAAY,WAGd,kBAAC,GAAD,CAAWvyE,MAAOC,KAAgBC,SAAW,QAAU,SACrD,yBAAKzQ,UAAU,qBACb,mMAMF,6BACE,kBAAC,GAAD,CACE6P,QAAQ,KACR9G,QAAS,WACP0sE,OAHJ,YAgBd,yBAAKz1E,UAAW,iBAAmB2P,EAAY,QAAU,KA6BvD,8BAAUhH,SAAUgH,GAClB,oCAjViB,WAAO,IAAD,EAC7B,UAAe,OAAXyR,SAAW,IAAXA,QAAA,EAAAA,GAAa4P,QAAsD,IAAlC,OAAX5P,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,kBAiV3CuhC,GACC,qCAEA,oCACE,2BAAO/iF,UAAU,WAAjB,kBACA,2BAAOA,UAAU,mBAAjB,oEAICukE,IACC,yBAAKvkE,UAAU,aACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,aACHy1D,8BAA+B,qBAC/BvhC,OAAQ8pC,GACRxI,oBA1gKK,SACzBv0D,EACAkzB,EACAn0B,EACAD,GACI,IAAD,IACHsmB,GAAa,GAEb,IAAIk0D,EAAoB,GACxBvc,GAAS5jC,OAASn5B,EAAK4a,MAAM,KAAK,GAClCoiD,GAAYD,IACZmD,GAAelgE,EAAK4a,MAAM,KAAK,IAC/BivD,IAAiB,GACjB,IAAIp1C,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCk9E,EAAe,CACjB7lD,mBAAkB,UAAEqpC,GAASrpC,0BAAX,aAAE,EAA6B5vB,WACjDsvB,WAAU,UAAE2pC,GAAS3pC,kBAAX,aAAE,EAAqBtvB,WACjC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,UACU,OAARypC,SAAQ,IAARA,QAAA,EAAAA,GAAUzpC,WAAmC,MAAf,OAARypC,SAAQ,IAARA,QAAA,EAAAA,GAAUzpC,UAAhC,OACIypC,SADJ,IACIA,QADJ,EACIA,GAAUzpC,SACV,aACNjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCm3B,kBAAmB,IACnBY,OAAQ6gB,GACR3gB,eAAe,EACfN,eAAe,GAEjBslD,EAAkB1zD,KAAK2zD,GACvB,IAAM7kD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcukD,EACdlxD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAcojE,GAAiBpjE,EAAKmkB,KACpCuB,GACA,cACAC,GAEF,IAAM09C,EAAS,CACbvb,OAAQn/C,GAAY0Q,OACpBqnB,sBAAuB/3B,GAAYyQ,sBACnCjP,cAAexB,GAAYwQ,cAC3B6uC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,iCACdE,iBAAkB,IAElBx/B,SAAUvf,GAASwf,IACnBC,UAAWzf,GAASgyD,KACpB7S,UAAW,iBACXp5C,OAAQ,kBACRuW,UAAWnxB,SAAS4mB,IAEtBmsC,IACE,SAAC7nD,GAAD,OAAcsjE,GAAoBtjE,EAAKqjE,KACvCA,IAs8JkBne,SAAU,SAACz2D,GAhoJ/Bw/D,IAAY,SAACD,GAGX,OAFAA,EAAS3jC,OAAS,GAClB2jC,EAAS5jC,OAAS,GACX4jC,MAgoJW1G,QAAQ,wBACRT,eAAe,WACfC,aAActjD,OAKpB,oCACE,yBAAKjc,UAAU,YACZ6uE,GACC,kBAAC,GAAD,CACE9tD,SAAU,SAAC7H,IAj9JL,SAACA,GAC7B,GAAIA,GAAQA,EAAKhB,OACf62D,IAAqB,QAChB,GAAqB,KAAjB71D,EAAK4qD,UAAmB5qD,EAAKgqE,UAAYhqE,EAAKiqE,UAAW,CAClEr0D,GAAa,GACb48C,IAAc,GACd,IAAM+P,EAAW,IAAIC,KACnB,CAAC0H,MACD,qBACA,CACE56E,KAAM,aACNmzE,aAAc3mD,KAAK0oB,QAIvB6rB,GAAwB14C,QAAS2sC,QAAS,EAC1C,IAAI16B,EAAM,OAAG5pB,QAAH,IAAGA,OAAH,EAAGA,EAAMmqE,cAKnB,GAJA5c,GAAS5jC,OAAT,kCAA6CC,GAC7C4jC,GAAYD,IACZmD,GAAe9mC,IAEP,OAAJ5pB,QAAI,IAAJA,OAAA,EAAAA,EAAMgT,UAA0C,UAA3B,OAAJhT,QAAI,IAAJA,OAAA,EAAAA,EAAMgT,QAAQtiB,gBAOjC,GANA6pE,GAAqB,2BAChBD,IADe,IAElBh8D,eAAe,EACfD,oBAAoB,KAGtB,OAAIurB,QAAJ,IAAIA,OAAJ,EAAIA,EAAQt1B,WAAY,CAAC,IAAD,IAClBw1E,EAAoB,GACpBC,EAAe,CACjB7lD,mBAAkB,UAAEqpC,GAASrpC,0BAAX,aAAE,EAA6B5vB,WACjDsvB,WAAU,UAAE2pC,GAAS3pC,kBAAX,aAAE,EAAqBtvB,WACjC8vB,mBAAoB,GACpBV,SAAU6+C,EAASj6E,KACnBg8B,eAAe,EACfR,UACU,OAARypC,SAAQ,IAARA,QAAA,EAAAA,GAAUzpC,WAAmC,MAAf,OAARypC,SAAQ,IAARA,QAAA,EAAAA,GAAUzpC,UAAhC,OACIypC,SADJ,IACIA,QADJ,EACIA,GAAUzpC,SACV,aACNjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCm3B,kBAAmB,IACnBY,OAAQ6gB,GACR3gB,eAAe,EACfN,eAAe,GAEjBslD,EAAkB1zD,KAAK2zD,GACvB,IAAM7kD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcukD,EACdlxD,OAAQ1Q,GAAY0Q,QAGlBqM,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBuE,EAChBpR,SAAU+pD,EAASj6E,KACnB2xB,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEtC+oB,GAAa,GACby9C,IAAc,GAQdruC,IACE,SAACzlB,GAAD,OAAcojE,GAAiBpjE,EAAKgjE,EAASj6E,QAC7C28B,GACA,cACAC,GAEF,IAAM09C,EAAS,CACbvb,OAAQn/C,GAAY0Q,OACpBqnB,sBAAuB/3B,GAAYyQ,sBACnCjP,cAAexB,GAAYwQ,cAC3B6uC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,iCACdE,iBAAkB,IAElBx/B,SAAUzoB,EAAKgqE,SACfrhD,UAAW3oB,EAAKiqE,UAChB5hB,UAAW,iBACXp5C,OAAQ,kBACRuW,UAAWnxB,SAAS4mB,IAEtBmsC,IACE,SAAC7nD,GAAD,OAAcsjE,GAAoBtjE,EAAKqjE,KACvCA,SAIJrI,GAAqB,2BAChBD,IADe,IAElBh8D,eAAe,KAGjBoU,GACE6C,IAGM,yFAGVK,GAAa,IAm2JSw0D,CAAsBpqE,IAExBmqD,kBAAmByL,GACnB/K,cAAe2e,OAGjB,oCACE,2BACE1iF,UAAU,WACVyI,GAAG,gBACHsoB,IAAKs4C,GACLka,UAAQ,EACRC,aAAW,KAEXra,IAAc,yBAAKnpE,UAAU,kBAC7BmpE,IAAc,yBAAKnpE,UAAU,kBAC7B2uE,IACA,6BACIxF,IAAe8D,GAYb,KAXF,yBAAKjtE,UAAU,aACb,0BACEA,UAAU,mBACV+I,QAAS,SAAC7B,GACJw7E,MArzJnB,WACnB,GACe,KAAbtgE,SACa/d,IAAb+d,IACiB,KAAjBA,GAASwf,UACQv9B,IAAjB+d,GAASwf,KACS,KAAlBxf,GAASgyD,WACS/vE,IAAlB+d,GAASgyD,KACT,CACAtlD,GAAa,GACb48C,IAAc,GACdtC,IAAc,GACdoM,IAAiB,GACjB,IAAIiO,EAA+B/yE,SAAS+T,eAC1C,WAEEi/D,EAA6BhzE,SAAS+T,eACxC,iBAWJuxD,EAT+B0N,EAU/B3iE,EAVyCw6D,IAQzCoI,EARoBF,GAYblzE,MAAQylE,EAAM4N,WACrBD,EAAO3nB,OAASga,EAAM6N,YACtBF,EACGG,WAAW,MACXC,UAAU/N,EAAO,EAAG,EAAGA,EAAM4N,WAAY5N,EAAM6N,aAClDF,EAAOK,QAAO,SAACxI,GACbz6D,EAASy6D,MAjBT/R,IAAgBA,GAAaqL,iBAAiB,GAAGC,YAEjDhG,IAAqB,GAIzB,IACE4U,EACA3N,EACAj1D,EA0xJoCkjE,OAMT9a,KAAe8D,GACd,yBAAKjtE,UAAU,aACb,0BACEA,UAAU,mBACV+I,QAxxJd,gBAEH1E,IAAb+d,IACa,KAAbA,IACiB,KAAjBA,GAASwf,UACQv9B,IAAjB+d,GAASwf,KACS,KAAlBxf,GAASgyD,WACS/vE,IAAlB+d,GAASgyD,MAET1I,IAAc,GACd+J,KACAD,IAAiB,GACjBpM,IAAc,GACdoC,IAAsB,GACtBnC,GAAgBx4C,QAAS2sC,QAAS,EAClC+L,GAAwB14C,QAAS2sC,QAAS,GAE1CuR,IAAqB,OA0wJO,MAGR,4BACEh+C,IAAKu4C,GACL7gE,GAAG,UACHzI,UAAU,eAKhB,6BACEA,UAAU,aACV+wB,IAAKw4C,IAEL,yBAAKrpE,IAAKumE,GAAS5jC,OAAQziC,IAAI,oBAwC5CwsE,IACCA,GAAkB3gE,KAAI,SAAU7B,EAAWW,GACzC,OACE,yBAAKwB,IAAKxB,EAAO/K,UAAU,SACxB,IACsB,eAAtBoK,EAAK41B,cACJ,kBAAC,GAAD,KACE,oCACE,+DACyB51B,QADzB,IACyBA,OADzB,EACyBA,EAAM85E,uBAQ5C1f,EACC,oCACE,yBAAKxkE,UAAU,gBACa,IAAzBqlE,GAActgE,OACb,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,WACd6mE,GAAa1mC,iBADhB,aAGA,kBAAC,GAAD,CACE3+B,KAAK,eACLqI,aAAc,EACdgB,QAASw6D,GACT17D,UAAU,eACVxB,YAAY,uBACZ0E,aAAa,EACbxG,aAAckiE,GACdp+D,eAAgB,SAACT,GAAD,OAASw4E,GAAcx4E,MAEzC,2BAAO1J,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,eACHy1D,8BAA+B,qBAC/BvhC,OAAQkqC,GACR5I,oBA7kJtB,SACEv0D,EACAkzB,EACAn0B,EACAD,GACC,IAAD,IACAsmB,GAAa,GACb+3C,GAAahkC,OAAS,GACtBikC,GAAgBD,IAChB,IAAI1oC,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEhCo+E,EAAkB,GACpBC,EAAc,CAChBhnD,mBAAkB,UAAEypC,GAAazpC,0BAAf,aAAE,EAAiC5vB,WACrDsvB,WAAU,UAAE+pC,GAAa/pC,kBAAf,aAAE,EAAyBtvB,WACrC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAempC,GAAanpC,cAC5BR,kBAAmB,IACnBY,QAAQ,GAEVqmD,EAAgB70D,KAAK80D,GACrB,IAAMhmD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc0lD,EACdryD,OAAQ1Q,GAAY0Q,QAGtBlG,GAAW,IACXsS,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,MAsiJuC,IAAtBivC,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAeJ,6BACGzI,GACC,yBAAK5kE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaE,IAAKmkF,QAElCrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAKulC,cACJk3B,GAAa1mC,kBACb,kBAAC,GAAD,KACE,oCACE,wDACyB/1B,EAAK85E,uBAQ5C,yBAAKlkF,UAAU,YAEf,KAEuB,IAA1BulE,GAAexgE,OACd,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,WACd+mE,GAAc5mC,iBADjB,aAGA,kBAAC,GAAD,CACE3+B,KAAK,gBACLqI,aAAc,EACdgB,QAAS06D,GACT57D,UAAU,eACVxB,YAAY,uBACZ0E,aAAa,EACbxG,aAAcoiE,GACdt+D,eAAgB,SAACT,GAAD,OAASw4E,GAAcx4E,MAEzC,2BAAO1J,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,gBACHy1D,8BAA+B,qBAC/BvhC,OAAQoqC,GACR9I,oBA1nJtB,SACEv0D,EACAkzB,EACAn0B,EACAD,GACC,IAAD,IACAsmB,GAAa,GACbi4C,GAAclkC,OAAS,GACvBmkC,GAAiBD,IACjB,IAAI5oC,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEhCo+E,EAAkB,GACpBG,EAAe,CACjBlnD,mBAAkB,UAAE2pC,GAAc3pC,0BAAhB,aAAE,EAAkC5vB,WACtDsvB,WAAU,UAAEiqC,GAAcjqC,kBAAhB,aAAE,EAA0BtvB,WACtC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAeqpC,GAAcrpC,cAC7BR,kBAAmB,IACnBY,QAAQ,GAEVqmD,EAAgB70D,KAAKg1D,GACrB,IAAMlmD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc0lD,EACdryD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,MAolJwC,IAAvBmvC,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAeJ,6BACG1I,GACC,yBAAK7kE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaE,IAAKmkF,QAElCrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAKulC,cACJo3B,GAAc5mC,kBACd,kBAAC,GAAD,KACE,oCACE,wDACyB/1B,EAAK85E,uBAQ5C,yBAAKlkF,UAAU,YAEf,KAEsB,IAAzBylE,GAAc1gE,OACb,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,WACdinE,GAAa9mC,iBADhB,aAGA,kBAAC,GAAD,CACE3+B,KAAK,eACLqI,aAAc,EACdgB,QAAS46D,GACT97D,UAAU,eACVxB,YAAY,uBACZ0E,aAAa,EACbxG,aAAcsiE,GACdx+D,eAAgB,SAACT,GAAD,OAASw4E,GAAcx4E,MAEzC,2BAAO1J,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,eACHy1D,8BAA+B,qBAC/BvhC,OAAQsqC,GACRhJ,oBAxqJtB,SACEv0D,EACAkzB,EACAn0B,EACAD,GACC,IAAD,IACAsmB,GAAa,GACbm4C,GAAapkC,OAAS,GACtBqkC,GAAgBD,IAChB,IAAMkd,EAAkB,GACpBI,EAAY,CACdnnD,mBAAkB,UAAE6pC,GAAa7pC,0BAAf,aAAE,EAAiC5vB,WACrDsvB,WAAU,UAAEmqC,GAAanqC,kBAAf,aAAE,EAAyBtvB,WACrC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAeupC,GAAavpC,cAC5BR,kBAAmB,IACnBY,QAAQ,GAEVqmD,EAAgB70D,KAAKi1D,GACrB,IAAMnmD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc0lD,EACdryD,OAAQ1Q,GAAY0Q,QAGlBqM,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEtCm4B,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,MAkoJuC,IAAtBqvC,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAeJ,6BACG3I,GACC,yBAAK9kE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaE,IAAKmkF,QAElCrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAKulC,cACJs3B,GAAa9mC,kBACb,kBAAC,GAAD,KACE,oCACE,wDACyB/1B,EAAK85E,uBAQ5C,yBAAKlkF,UAAU,YAEf,KAEuB,IAA1B2lE,GAAe5gE,OACd,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,WACdmnE,GAAchnC,iBADjB,aAGA,kBAAC,GAAD,CACE3+B,KAAK,gBACLqI,aAAc,EACdgB,QAAS86D,GACTh8D,UAAU,eACVxB,YAAY,uBACZ0E,aAAa,EACbxG,aAAcwiE,GACd1+D,eAAgB,SAACT,GAAD,OAASw4E,GAAcx4E,MAEzC,2BAAO1J,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,gBACHy1D,8BAA+B,qBAC/BvhC,OAAQwqC,GACRlJ,oBAttJtB,SACEv0D,EACAkzB,EACAn0B,EACAD,GACC,IAAD,IACAsmB,GAAa,GACbq4C,GAActkC,OAAS,GACvBukC,GAAiBD,IACjB,IAAIhpC,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEhCo+E,EAAkB,GACpBK,EAAa,CACfpnD,mBAAkB,UAAE+pC,GAAc/pC,0BAAhB,aAAE,EAAkC5vB,WACtDsvB,WAAU,UAAEqqC,GAAcrqC,kBAAhB,aAAE,EAA0BtvB,WACtC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAeypC,GAAczpC,cAC7BR,kBAAmB,IACnBY,QAAQ,GAEVqmD,EAAgB70D,KAAKk1D,GACrB,IAAMpmD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc0lD,EACdryD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,MAgrJwC,IAAvBuvC,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAeJ,6BACG5I,GACC,yBAAK/kE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaE,IAAKmkF,QAElCrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAKulC,cACJw3B,GAAchnC,kBACd,kBAAC,GAAD,KACE,oCACE,wDACyB/1B,EAAK85E,uBAQ5C,yBAAKlkF,UAAU,YAEf,KAEsB,IAAzB6lE,GAAc9gE,OACb,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,WACdqnE,GAAalnC,iBADhB,aAGA,kBAAC,GAAD,CACE3+B,KAAK,eACLqI,aAAc,EACdgB,QAASg7D,GACTl8D,UAAU,eACVxB,YAAY,uBACZ0E,aAAa,EACbxG,aAAc0iE,GACd5+D,eAAgB,SAACT,GAAD,OAASw4E,GAAcx4E,MAEzC,2BAAO1J,UAAU,2BAAjB,sEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,eACHy1D,8BAA+B,qBAC/BvhC,OAAQ0qC,GACRpJ,oBApwJtB,SACEv0D,EACAkzB,EACAn0B,EACAD,GACC,IAAD,IACAsmB,GAAa,GACbu4C,GAAaxkC,OAAS,GACtBykC,GAAgBD,IAChB,IAAIlpC,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEhCo+E,EAAkB,GACpBM,EAAW,CACbrnD,mBAAkB,UAAEiqC,GAAajqC,0BAAf,aAAE,EAAiC5vB,WACrDsvB,WAAU,UAAEuqC,GAAavqC,kBAAf,aAAE,EAAyBtvB,WACrC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAe2pC,GAAa3pC,cAC5BR,kBAAmB,IACnBY,QAAQ,GAEVqmD,EAAgB70D,KAAKm1D,GACrB,IAAMrmD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAc0lD,EACdryD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,MA8tJuC,IAAtByvC,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAeJ,6BACG7I,GACC,yBAAKhlE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaE,IAAKmkF,QAElCrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAKulC,cACJ03B,GAAalnC,kBACb,kBAAC,GAAD,KACE,oCACE,wDACyB/1B,EAAK85E,uBAQ5C,yBAAKlkF,UAAU,YAEf,KACJ,gCACgB,OAAXohB,SAAW,IAAXA,QAAA,EAAAA,GAAa4P,QAASzjB,SAAS4mB,GAAU,IAC/B,OAAXwyC,SACWtiE,IAAXsiE,IACE,yBAAK3mE,UAAU,aACb,2BAAOA,UAAU,WAAjB,YACA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,UACHk0B,OAAQgqC,GACR1I,oBAprK1B,SACEv0D,EACAkzB,EACAn0B,EACAD,GACC,IAAD,IAEA6C,QAAQC,IAAI,oCAAqC5B,GAIjDolB,GAAa,GACblD,GAAW,IACXg7C,IAAU,SAACD,GAET,OADAA,EAAO9jC,OAAS,GACT8jC,KAETmD,GAAapgE,EAAK4a,MAAM,KAAK,IAC7BivD,IAAiB,GACjB,IAAIp1C,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEhC2+E,EAAS,CACb9hE,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChC6b,iBAAkB,WAClBv8B,WAAY+iE,GAAO7pC,WACnB3U,OAAQpkB,IAmBN4gF,EAAqB,GACrBC,EAAa,CACfxnD,mBAAkB,UAAEupC,GAAOvpC,0BAAT,aAAE,EAA2B5vB,WAC/CsvB,WAAU,UAAE6pC,GAAO7pC,kBAAT,aAAE,EAAmBtvB,WAC/B8vB,mBAAoB,GACpBV,SAAUwtC,IAAWzD,GAAO/pC,SAC5BY,eAAe,EACfR,SAAUk/C,GAAYxyE,EAAK4a,MAAM,KAAK,IACtCyN,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAeipC,GAAOjpC,cACtBR,kBAAmB,IACnBY,QAAQ,I5B5qFa,SAAC/c,EAA4B4lD,GACtDt7D,QAAQC,IAAIq7D,EAAQ,eACpB9lD,GACE,CACEkB,IAAK,2BACLpR,KAAM,CACJkvB,gBAAiB8mC,EAAOpoC,eACxBuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,UACdC,OAAQ0mC,EAAOx+C,OACfrF,cAAe6jD,EAAO/jD,cACtBsd,iBAAkBymC,EAAOxmC,iBACzBtD,WAAY8pC,EAAO/iE,YAErBqd,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa0B,wBAE5BgN,G4B2pFA8jE,EAAY,SAACpsE,GACX,IAAKA,GAAOA,EAAIR,MAAO,CAAC,IAAD,EAGC,EAAtB,GAFA0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,oBAElD,OAAI6J,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,aAAI,EAAWjB,MACb2T,GAAU,OAACnT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWjB,OACtB6W,GAAa,QAMblD,GAAWnT,EAAIR,OAGjB6W,GAAa,OA2BR,CACU,IAAD,EAAd,GAAIrW,EAAIS,KACN,UAAIT,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,aAAI,EAAWjB,MAAO,CAAC,IAAD,EACpB2T,GAAU,OAACnT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWjB,OACtB,IAAI8pE,EAAO,eAAQpb,IACnBob,EAAQt5E,GAAKA,EACbs5E,EAAQjrD,SAAU,EAClBirD,EAAQr/C,UAAY,IACpBq/C,EAAQn/C,UAAW,EACnBm/C,EAAQp/C,cAAe,EACvBo/C,EAAQnlD,SAAWA,EACnBmlD,EAAQ/kD,SAAWx0B,EACnBo+D,GAAUmb,GACVxO,IAAiB,GACjBzkD,GAAa,OAKR,CACLykD,IAAiB,GACev4D,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MA2B1DkjE,EAAW9mD,QAAS,EACpB6mD,EAAYr1D,KAAKs1D,GACjB,IAAMxmD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAckmD,EACd7yD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OACEmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KACxC41B,OASTsmD,IAogKqBxmB,8BAA+B,qBAC/Bc,cAAekU,GACfvV,SAAU,SAACmnB,GAAD,OAAW7I,GAAS6I,EAAO,gBAK9ClY,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACqB,sBAArBoK,EAAKulC,aACkB,aAAlB,OAAJvlC,QAAI,IAAJA,OAAA,EAAAA,EAAM41B,eACJ,kBAAC,GAAD,KACE,oCACE,wDACyB51B,EAAK85E,uBAQ7Cz1D,IAA4B,GAAjB6kD,IACV,yBAAKtzE,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZyuB,GACN,oCACE,sEACA,wEACyCA,GADzC,MAKF,+BAAQA,QAOhBrN,GAAYmO,gBAEVnO,GAAY6tB,QACX7tB,GAAY4P,QACZo+C,KACU,OAAbrgC,SACa1qC,IAAb0qC,IACAA,IACE,yBAAK/uC,UAAU,aACb,2BAAOA,UAAU,WAAjB,0BACA,kBAAC,GAAD,CACEwB,KAAK,eACLqI,aAAc,EACdgB,QAASk7D,GACTp8D,UAAU,eACVxB,YAAY,gCACZ0E,aAAa,EACbxG,aAAc8hE,GACdx/D,SAAUirE,GACVzpE,eAAgB,SAACT,GAAD,OAASy4E,GAAuBz4E,MAElD,2BAAO1J,UAAU,2BAAjB,iGAIA,yBAAKA,UAAU,SACX2nE,GAAe7wC,QAAU88C,GAC3B,kBAAC,GAAD,CACEnrE,GAAG,cACHk0B,OAAQgrC,GACRzJ,8BAA+B,sBAC/BD,oBAAqBme,GACrBze,SAAU,SAACmnB,GAAD,OACR7I,GAAS6I,EAAO,qBAGC,IAApB/W,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGH/D,IACC,yBAAKhqE,UAAU,OACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,oBACHy1D,8BACE,qBAEFvhC,OAAQ4qC,GACRtJ,oBACEye,KAGe,IAAlBrO,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,KAKR,yBAAKruE,UAAU,SACb,2BACEA,UAAWmmE,GAAY,SAAW,gBAClCp9D,QAAS,kBAAMq5E,OAEf,0BAAMpiF,UAAU,mBAJlB,kBAmBF,6BACGilE,GACC,yBAAKjlE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVE,IAAKmkF,QAGRrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IAEC,+BADDoK,EAAKulC,aAEJ,kBAAC,GAAD,KACE,oCACE,uDACwB,IACrBvlC,EAAK85E,uBAQtB,yBAAKlkF,UAAU,aAGnBohB,GAAYmO,gBAEVnO,GAAY6tB,QACX7tB,GAAY4P,QACZo+C,MACFrgC,IACC,yBAAK/uC,UAAU,aACb,2BAAOA,UAAU,WAAjB,0BACA,kBAAC,GAAD,CACEwB,KAAK,eACLqI,aAAc,EACdgB,QAASk7D,GACTp8D,UAAU,eACVxB,YAAY,gCACZ0E,aAAa,EACbxG,aAAc8hE,GACdx/D,SAAUirE,GACVzpE,eAAgB,SAACT,GAAD,OAASy4E,GAAuBz4E,MAElD,2BAAO1J,UAAU,2BAAjB,iGAIA,yBAAKA,UAAU,SACX2nE,GAAe7wC,QAAU88C,GAC3B,kBAAC,GAAD,CACEnrE,GAAG,cACHk0B,OAAQgrC,GACRzJ,8BAA+B,sBAC/BD,oBAAqBme,GACrBze,SAAU,SAACmnB,GAAD,OACR7I,GAAS6I,EAAO,qBAGC,IAApB/W,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGH/D,IACC,yBAAKhqE,UAAU,OACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,oBACHy1D,8BACE,qBAEFvhC,OAAQ4qC,GACRtJ,oBACEye,KAGe,IAAlBrO,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,KAKR,yBAAKruE,UAAU,SACb,2BACEA,UAAWmmE,GAAY,SAAW,gBAClCp9D,QAAS,kBAAMq5E,OAEf,0BAAMpiF,UAAU,mBAJlB,kBAmBF,6BACGilE,GACC,yBAAKjlE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVE,IAAKmkF,QAGRrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IAEC,+BADDoK,EAAKulC,aAEJ,kBAAC,GAAD,KACE,oCACE,uDACwB,IACrBvlC,EAAK85E,uBAQtB,yBAAKlkF,UAAU,YAIG,IAAvBimE,GAAYlhE,QAAgBynE,GAC3B,yBAAKxsE,UAAU,aACb,2BAAOA,UAAU,WAAjB,gCAGA,kBAAC,GAAD,CACEwB,KAAK,gBACLqI,aAAc,EACdgB,QAASo7D,GACTt8D,UAAU,eACVxB,YAAY,sCACZ0E,aAAa,EACbxG,aAAcgiE,GACdl+D,eAAgB,SAACT,GAAD,OAthEA,SAACA,GAC/BA,IAEmB,MAAnBA,EAAImzB,YACwB,oBAA5BgrC,GAAe7qC,UAEfspC,IAAiB,GACjB6D,IAAmB,IAEnB7D,IAAiB,GAEnBuB,GAAe/wC,SAAU,EACzB+wC,GAAe/qC,WAAapzB,EAAImzB,WAChCirC,GAAkBD,IAClBS,GAAsB5+D,EAAIkwE,eAwgEemL,CAA4Br7E,MAEvD,2BAAO1J,UAAU,2BAAjB,iGAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,cACHy1D,8BAA+B,qBAC/BvhC,OAAQkrC,GACR5J,oBA76JtB,SACEv0D,EACAkzB,EACAn0B,EACAD,GAOA,GALAsmB,GAAa,GACb+4C,GAAehlC,OAAS,GACxBglC,GAAe/kC,OAASp5B,EAAK4a,MAAM,KAAK,GACxCujD,GAAejrC,SAAWA,EAC1BkrC,GAAkBD,IACa,QAA3BjrC,EAAStY,MAAM,KAAK,IAA8C,MAA9BujD,GAAe/qC,WAGrD,GAFAwpC,IAAiB,GzEnkGU,MyEskGzBuB,GAAe/qC,YzEjkGc,KyEkkG7B+qC,GAAe/qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBspC,GAAe/kC,OAC/B3C,iBAAkB,+BAClBv8B,WAAYikE,GAAe/qC,WAC3B3U,OAAQpkB,IAEVsH,QAAQC,IAAI,mBACZi2B,IACE,SAAC9oB,GAAD,OAAc6jE,GAAa7jE,EAAKhQ,EAAIm0B,EAAUp0B,KAC9C6zE,OAEG,CAAC,IAAD,IACDl+C,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCmR,EAAqB,GACrB8tE,EAAqB,CACvB5nD,mBAAkB,UAAEyqC,GAAezqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE+qC,GAAe/qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAK01D,GACxB,IAAM5mD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcvnB,EACd4a,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,QAQJ,GAHAkoC,IAAiB,GACjB6D,IAAmB,GzE5nGQ,MyE+nGzBtC,GAAe/qC,YzE1nGc,KyE2nG7B+qC,GAAe/qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBspC,GAAe/kC,OAC/B3C,iBAAkB,+BAClBv8B,WAAYikE,GAAe/qC,WAC3B3U,OAAQpkB,IAEVsH,QAAQC,IAAI,uBACZi2B,IACE,SAAC9oB,GAAD,OAAc6jE,GAAa7jE,EAAKhQ,EAAIm0B,EAAUp0B,KAC9C6zE,OAEG,CAAC,IAAD,IACDl+C,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCmR,EAAqB,GACrB8tE,EAAqB,CACvB5nD,mBAAkB,UAAEyqC,GAAezqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE+qC,GAAe/qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAK01D,GACxB,IAAM5mD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcvnB,EACd4a,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,OAuzJiC,IAApB6vC,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAGH/D,IACC,yBAAKlqE,UAAU,OACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,oBACHy1D,8BAA+B,qBAC/BvhC,OAAQ8qC,GACRxJ,oBAt0J1B,SACEv0D,EACAkzB,EACAn0B,EACAD,GAOA,GALAsmB,GAAa,GACb24C,GAAqB5kC,OAAS,GAC9B4kC,GAAqB7qC,SAAWA,EAChC6qC,GAAqB3kC,OAASp5B,EAAK4a,MAAM,KAAK,GAC9CojD,GAAwBD,IAEK,QAA3B7qC,EAAStY,MAAM,KAAK,IACgB,MAApCmjD,GAAqB3qC,WAGrB,GADAwpC,IAAiB,GzEpsGU,MyEssGzBuB,GAAe/qC,YzEjsGc,KyEksG7B+qC,GAAe/qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBkpC,GAAqB3kC,OACrC3C,iBAAkB,0BAClBv8B,WAAY6jE,GAAqB3qC,WACjC3U,OAAQpkB,IAEVsH,QAAQC,IAAI,mBACZi2B,IACE,SAAC9oB,GAAD,OAAc6jE,GAAa7jE,EAAKhQ,EAAIm0B,EAAUp0B,KAC9C6zE,OAEG,CAAC,IAAD,IACCl+C,EAAY,CAChBvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElCmR,EAAqB,GACrB8tE,EAAqB,CACvB5nD,mBAAkB,UAAEyqC,GAAezqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE+qC,GAAe/qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB9mB,EAAmBoY,KAAK01D,GACxB,IAAM5mD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcvnB,EACd4a,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,QAIJkoC,IAAiB,GACjB6D,IAAmB,MAowJwB,IAAtBoE,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,KAKR,yBAAKvuE,UAAU,SACb,2BACEA,UAAWqmE,GAAgB,SAAW,gBACtCt9D,QAAS,WAziE3BohE,KADE9D,MA4iEgB,0BAAMrmE,UAAU,mBAJlB,kBAmBF,6BACGklE,IACC,yBAAKllE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaE,IAAKmkF,QAElCrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IAEC,oCADDoK,EAAKulC,aAEJ,kBAAC,GAAD,KACE,oCACE,wDACyBvlC,EAAK85E,uBAQ5C,yBAAKlkF,UAAU,YAEf,KAEmB,IAAtByjC,GAAW1+B,OACV,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,WAAjB,2BACA,kBAAC,GAAD,CACEwB,KAAK,cACLqI,aAAc,EACdgB,QAAS44B,GACT95B,UAAU,eACVxB,YAAY,sBACZ0E,aAAa,EACbxG,aAAc4iE,GACd9+D,eAAgB,SAACT,GAAD,OA/nEV,SAACA,GACzB2B,QAAQC,IAAI,oBAAqB5B,GACrB,KAARA,IACFu+D,GAAUnxC,SAAU,EACpBmxC,GAAUnrC,WAAapzB,EAAImzB,WAC3BqrC,GAAaD,IACbiB,GAAoBx/D,EAAIkwE,eAynEiBqL,CAAkBv7E,MAE7C,2BAAO1J,UAAU,2BAAjB,oEAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,YACHy1D,8BAA+B,qBAC/BvhC,OAAM,eAAOsrC,IACbhK,oBAryHtB,SACEv0D,EACAkzB,EACAn0B,EACAD,GACC,IAAD,IACAsmB,GAAa,GACbm5C,GAAUplC,OAAS,GACnBqlC,GAAaD,IACb,IAAI9pC,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAElC4+E,EAAc,GACdO,EAAgB,CAClB9nD,mBAAkB,UAAE6qC,GAAU7qC,0BAAZ,aAAE,EAA8B5vB,WAClDsvB,WAAU,UAAEmrC,GAAUnrC,kBAAZ,aAAE,EAAsBtvB,WAClC8vB,mBAAoB,GACpBV,SAAU0uC,IAAcrD,GAAUrrC,SAClCY,eAAe,EACfR,SAAUirC,GAAUjrC,SACpBjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAeuqC,GAAUvqC,cACzBR,kBAAmB,IACnBY,QAAQ,GAEV6mD,EAAYr1D,KAAK41D,GACjB,IAAM9mD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAckmD,EACd7yD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,MA+vHoC,IAAnB+vC,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAeJ,6BACG/I,IACC,yBAAKplE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaE,IAAKmkF,QAElCrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACqB,oBAArBoK,EAAKulC,aACJ,kBAAC,GAAD,KACE,oCACE,wDACyBvlC,EAAK85E,uBAQ5C,yBAAKlkF,UAAU,YAEf,KAEJ,yBAAKA,UAAU,aACb,2BAAOA,UAAU,YAAjB,aACA,2BAAOA,UAAU,yBAAjB,sFAIA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,YACHy1D,8BAA+B,qBAC/BvhC,OAAQorC,GACR9J,oBA98HpB,SACEv0D,EACAkzB,EACAn0B,EACAD,GAEA6C,QAAQC,IAAI,4BAA6B5B,GACzColB,GAAa,GACbi5C,GAAallC,OAAS,GACtBmlC,GAAgBD,IAChBn8C,GAAW,IACX,IAAIu5D,IAAgBvoD,EAAS3xB,SAAS,KAClCm6E,EAAc58E,EAAKyC,SAAS,KAAOzC,EAAK8b,MAAM,KAAK,GAAK9b,EAE5D,QAA4BnE,IAAxB0jE,GAAajlC,QAAgD,KAAxBilC,GAAajlC,OAAe,CAAC,IAAD,IAC/D6hD,EAAc,GACdU,EAAmB,CACrBjoD,mBAAkB,UAAE2qC,GAAa3qC,0BAAf,aAAE,EAAiC5vB,WACrDsvB,WAAU,UAAEirC,GAAajrC,kBAAf,aAAE,EAAyBtvB,WACrC8vB,mBAAoB,GACpBV,SAAUuoD,EACV3nD,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAeqqC,GAAarqC,cAC5BR,kBAAmB,IACnBY,QAAQ,GAEV6mD,EAAYr1D,KAAK+1D,GACjB,IAAMjnD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAckmD,EACd7yD,OAAQ1Q,GAAY0Q,QAGlBqM,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBwpC,GAAajlC,OAAQxe,MAAM,KAAK,GAChD6O,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,IACpC2rB,SAAUyzD,EAAa,UAChB/jE,GAAYwQ,cADI,sBACuBwzD,GADvB,UAEhBhkE,GAAYwQ,cAFI,uBAEwBwzD,GAC/CzmD,QAAS,IACTC,eAAgB,KAElBV,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,OAEG,CAAC,IAAD,IACDD,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChC6O,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,IACpC2rB,SAAS,GAAD,OAAKtQ,GAAYwQ,cAAjB,sBACNppB,EAAM8b,MAAM,KAAK,IAEnBqa,QAAS,IACTC,eAAgB,KAEd+lD,EAAc,GACdU,EAAmB,CACrBjoD,mBAAkB,UAAE2qC,GAAa3qC,0BAAf,aAAE,EAAiC5vB,WACrDsvB,WAAU,UAAEirC,GAAajrC,kBAAf,aAAE,EAAyBtvB,WACrC8vB,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAeqqC,GAAarqC,cAC5BR,kBAAmB,IACnBY,QAAQ,GAEV6mD,EAAYr1D,KAAK+1D,GACjB,IAAMjnD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAckmD,EACd7yD,OAAQ1Q,GAAY0Q,QAGtBoM,IACE,SAACzlB,GAAD,OAAc+jE,GAAa/jE,EAAKhQ,EAAIiB,EAAKkzB,KACzCuB,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,OAy3HmC,IAAtBqwC,GACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,OAKd,IAeJ,6BACGtJ,IACC,yBAAKnlE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaE,IAAKmkF,QAElCrgF,OAMV4oE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACsB,cAAtBoK,EAAK41B,cACJ,kBAAC,GAAD,KACE,oCACE,+DACyB51B,QADzB,IACyBA,OADzB,EACyBA,EAAM85E,wBAU9ChU,IAAoBA,GAAiBnrE,OAAS,GAC7C,oCACE,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,YAAjB,aACA,yBAAKA,UAAU,SACZkwE,GAAiBjkE,KAAI,SAACiN,EAAWnO,GAChC,OACEmO,EAAKikB,qBACLolC,GAAev7B,WAAWqL,MAAMjV,mBAG9B,oCACE,oCACA,kBAAC,GAAD,CACE30B,GAAG,kBACHy1D,8BACE,qBAEFvhC,OAAQ2yC,GAAgB,GACxBrR,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,sBAKmC,IAAxCinE,GAAqBZ,gBACpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BACGY,GAAqBZ,oBAM9B,GAEDxE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAev7B,WAAWqL,MACvBjV,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,wBAW3BhrE,EAAKikB,qBACLolC,GAAev7B,WAAWib,UACvB7kB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACE30B,GAAG,oBACHy1D,8BACE,qBAEFvhC,OAAQ2yC,GAAgB,GACxBrR,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,wBAMN,IADCinE,GAAqBX,kBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIW,GAAqBX,sBAO/B,GAEDzE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAev7B,WAAWib,UACvB7kB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,6BAlEtB,MA0FX,6BACG/S,GAAmBL,cAClB,yBAAK9wE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVE,IAAKmkF,QAGRrgF,SAYhBwsE,IAAqBA,GAAkBzrE,OAAS,GAC/C,oCACE,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,YAAjB,cACA,yBAAKA,UAAU,SACZwwE,GAAkBvkE,KAAI,SAACiN,EAAWnO,GACjC,OACEmO,EAAKikB,qBACLolC,GAAev7B,WAAWuH,gBAAgB8D,MACvCjV,mBAGD,oCACE,oCACA,kBAAC,GAAD,CACE30B,GAAG,uBACHy1D,8BACE,qBAEFvhC,OAAQizC,GAAiB,GACzB3R,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,2BAMN,IADCinE,GAAqBN,qBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIM,GAAqBN,yBAO/B,GAED9E,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAev7B,WACZuH,gBAAgB8D,MAChBjV,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,wBAW3BhrE,EAAKikB,qBACLolC,GAAev7B,WAAWuH,gBAAgB0T,UACvC7kB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACE30B,GAAG,yBACHy1D,8BACE,qBAEFvhC,OAAQizC,GAAiB,GACzB3R,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,6BAMN,IADCinE,GAAqBL,uBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIK,GAAqBL,2BAO/B,GAED/E,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAev7B,WACZuH,gBAAgB0T,UAChB7kB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,6BAnEtB,MA2FX,6BACG/S,GAAmBH,eAClB,yBAAKhxE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVE,IAAKmkF,QAGRrgF,SAYhBosE,IAAqBA,GAAkBrrE,OAAS,GAC/C,oCACE,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,YAAjB,aACA,yBAAKA,UAAU,SACZowE,GAAkBnkE,KAAI,SAACiN,EAAWnO,GACjC,OACEmO,EAAKikB,qBACLolC,GAAet7B,WAAWoL,MAAMjV,mBAG9B,oCACE,oCACA,kBAAC,GAAD,CACE30B,GAAG,mBACHy1D,8BACE,qBAEFvhC,OAAQ6yC,GAAiB,GACzBvR,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,uBAKoC,IAAzCinE,GAAqBV,iBACpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIU,GAAqBV,qBAO/B,GAED1E,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAet7B,WAAWoL,MACvBjV,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,wBAW3BhrE,EAAKikB,qBACLolC,GAAet7B,WAAWgb,UACvB7kB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACE30B,GAAG,qBACHy1D,8BACE,qBAEFvhC,OAAQ6yC,GAAiB,GACzBvR,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,yBAMN,IADCinE,GAAqBT,mBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIS,GAAqBT,uBAO/B,GAED3E,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAet7B,WAAWgb,UACvB7kB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,6BAlEtB,MA0FX,6BACG/S,GAAmBJ,eAClB,yBAAK/wE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVE,IAAKmkF,QAGRrgF,SAWhB0sE,IAAsBA,GAAmB3rE,OAAS,GACjD,oCACE,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,YAAjB,cACA,yBAAKA,UAAU,SACZ0wE,GAAmBzkE,KAAI,SAACiN,EAAWnO,GAClC,OACEmO,EAAKikB,qBACLolC,GAAet7B,WAAWsH,gBAAgB8D,MACvCjV,mBAGD,oCACE,oCACA,kBAAC,GAAD,CACE30B,GAAG,wBACHy1D,8BACE,qBAEFvhC,OAAQmzC,GAAkB,GAC1B7R,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,4BAMN,IADCinE,GAAqBJ,sBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEII,GAAqBJ,0BAO/B,GAEDhF,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAet7B,WACZsH,gBAAgB8D,MAChBjV,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,wBAW3BhrE,EAAKikB,qBACLolC,GAAet7B,WAAWsH,gBAAgB0T,UACvC7kB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACE30B,GAAG,0BACHy1D,8BACE,qBAEFvhC,OAAQmzC,GAAkB,GAC1B7R,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,8BAMN,IADCinE,GAAqBH,wBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIG,GAAqBH,4BAO/B,GAEDjF,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAet7B,WACZsH,gBAAgB0T,UAChB7kB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,6BAnEtB,MA2FX,6BACG/S,GAAmBF,gBAClB,yBAAKjxE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVE,IAAKmkF,QAGRrgF,SAWhBssE,IAAoBA,GAAiBvrE,OAAS,GAC7C,oCACE,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,YAAjB,aACA,yBAAKA,UAAU,SACZswE,GAAiBrkE,KAAI,SAACiN,EAAWnO,GAChC,OACEmO,EAAKikB,qBACLolC,GAAer7B,aAAamL,MAAMjV,mBAGhC,oCACE,oCACA,kBAAC,GAAD,CACE30B,GAAG,kBACHy1D,8BACE,qBAEFvhC,OAAQ+yC,GAAgB,GACxBzR,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,sBAKmC,IAAxCinE,GAAqBR,gBACpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BACGQ,GAAqBR,oBAM9B,GAED5E,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAer7B,aAAamL,MACzBjV,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,wBAW3BhrE,EAAKikB,qBACLolC,GAAer7B,aAAa+a,UACzB7kB,mBAGD,oCACE,wCACA,kBAAC,GAAD,CACE30B,GAAG,oBACHy1D,8BACE,qBAEFvhC,OAAQ+yC,GAAgB,GACxBzR,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,wBAON,IADCinE,GAAqBP,kBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIO,GAAqBP,sBAO/B,GAED7E,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAer7B,aAAa+a,UACzB7kB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,6BAnEtB,MA2FX,6BACG/S,GAAmBjqC,cAClB,yBAAKlnC,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVE,IAAKmkF,QAGRrgF,SAYhB4sE,IAAqBA,GAAkB7rE,OAAS,GAC/C,oCACE,yBAAK/E,UAAU,aACb,2BAAOA,UAAU,YAAjB,cACA,yBAAKA,UAAU,SACZ4wE,GAAkB3kE,KAAI,SAACiN,EAAWnO,GACjC,OACEmO,EAAKikB,qBACLolC,GAAer7B,aAAaqH,gBAAgB8D,MACzCjV,mBAGD,oCACE,oCACA,kBAAC,GAAD,CACE30B,GAAG,uBACHy1D,8BACE,qBAEFvhC,OAAQqzC,GAAiB,GACzB/R,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,2BAMN,IADCinE,GAAqBF,qBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIE,GAAqBF,yBAO/B,GAEDlF,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAer7B,aACZqH,gBAAgB8D,MAChBjV,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,wBAW3BhrE,EAAKikB,qBACLolC,GAAer7B,aAAaqH,gBACzB0T,UAAU7kB,mBAGX,oCACE,wCACA,kBAAC,GAAD,CACE30B,GAAG,yBACHy1D,8BACE,qBAEFvhC,OAAQqzC,GAAiB,GACzB/R,oBAAqB,SACnBv0D,EACAkzB,EACAn0B,EACAD,GAJmB,OAMnB00E,GACExzE,EACAkzB,EACAn0B,EACAD,IAIJm1D,SAAU,SAAC2nB,GAAD,OACRjE,GACEt2E,EACA,6BAON,IADCinE,GAAqBD,uBAEpB,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAEIC,GAAqBD,2BAO/B,GAEDnF,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,SACZ,IACAoK,EAAK+yB,qBACJolC,GAAer7B,aACZqH,gBAAgB0T,UAChB7kB,oBACH,kBAAC,GAAD,KACE,oCACE,uDACwB,IADxB,OAEGhzB,QAFH,IAEGA,OAFH,EAEGA,EAAM85E,6BApEtB,MA4FX,6BACG/S,GAAmBD,eAClB,yBAAKlxE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBAGA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBACEA,UAAU,aACVE,IAAKmkF,QAGRrgF,SAgChByqB,IAA4B,GAAjB6kD,IACV,yBAAKtzE,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZyuB,GACN,oCACE,sEACA,wEACyCA,GADzC,MAKF,+BAAQA,MAQE,IAAjBilD,IACC,yBAAK1zE,UAAU,6BACb,kBAAC,GAAD,KACE,+BAAQ0zE,MAMd,yBAAK1zE,UAAU,aACb,kBAAC,GAAD,CACE2P,UAAW28D,IAAc38D,EACzBE,QAAQ,SACR9G,QAt9GG,WA4B6C,IAAD,GA3B/DwjE,IAAc,GACdz9C,GAAa,GA0BE,OAAXqF,QAA8B9vB,IAAX8vB,GAAmC,MAAXA,GAC7CgL,IACE,SAAC1mB,GASS,IAAD,GARFA,GAAOA,EAAIR,OACd6W,GAAa,GAIblD,GAAWnT,EAAIR,OAEfs0D,IAAc,IAGZ9zD,GACa,OAAbA,EAAIS,OACJ,UAAA0W,OAAOtgB,KAAP,OAAYmJ,QAAZ,IAAYA,OAAZ,EAAYA,EAAKS,aAAjB,eAAwBnU,QAAS,EAIjCiqB,EAAQM,KAAKnsB,GAAUI,4BAEvBqoB,GAAW,iDACXkD,GAAa,GACby9C,IAAc,MAtBD,OA0BnBnrD,SA1BmB,IA0BnBA,QA1BmB,EA0BnBA,GAAawQ,cACbxQ,GAAYo6B,YAAYgG,gBAAxB,OACIpgC,SADJ,IACIA,IADJ,UACIA,GAAao6B,mBADjB,aACI,EAA0BgG,gBAC1B,GAED6gC,MA25GS15E,SACsB,kBAAZ8lB,IAAmC,IAAXA,IAl2S9B,WAAO,IAAD,MACtB9lB,GAAoB,EAQxB,OANsD,QAAzC,OAAXyY,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,6BAC0BzgD,KAAzC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,yBAD1B,OAEA1jC,SAFA,IAEAA,IAFA,UAEAA,GAAao6B,mBAFb,aAEA,EAA0BsJ,yBAE1Bn8C,GAAW,GAENA,EA01SWo8C,IACA0pB,IACAkU,MACAvP,IACAE,IAGAE,GAAkBj8D,wBAQ1BmtD,EACF,oCACE,yBAAK1kE,UAAU,cACb,2BAAOA,UAAU,YAAjB,sBACA,yBAAKA,UAAU,WACb,2BAAOA,UAAU,WAAjB,YACA,2BAAOA,UAAU,cACf,8BACE,yBAAKA,UAAU,aAAaE,IAAKmkF,QAElCrgF,MAIP,yBAAKhE,UAAU,sBACb,kBAAC,GAAD,CACE2P,UAAW28D,IAAc38D,EACzBE,QAAQ,mBACR9G,QAAS,kBA9gIF,WACrB,IAAM47E,EAAc,GACpB,GAAIle,IAAkC,KAAtBA,GAAS7pC,SAAiB,CAAC,IAAD,IACpCqmD,EAAe,CACjB7lD,mBAAkB,UAAEqpC,GAASrpC,0BAAX,aAAE,EAA6B5vB,WACjDsvB,WAAU,UAAE2pC,GAAS3pC,kBAAX,aAAE,EAAqBtvB,WACjC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCm3B,kBAAmB,IACnBY,OAAQ6gB,GACR3gB,eAAe,EACfN,eAAe,GAEjBinD,EAAYr1D,KAAK2zD,GAGnB,GACExc,IACAgF,KACuB,KAAtBhF,GAAS7pC,eAAyCv4B,IAAtBoiE,GAAS7pC,UACtC,CAAC,IAAD,IACIqmD,EAAe,CACjB7lD,mBAAkB,UAAEqpC,GAASrpC,0BAAX,aAAE,EAA6B5vB,WACjDsvB,WAAU,UAAE2pC,GAAS3pC,kBAAX,aAAE,EAAqBtvB,WACjC8vB,mBAAoB,GACpBV,SAAU6pC,GAAS7pC,SACnBY,eAAe,EACfR,SAAUypC,GAASzpC,SACnBjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCm3B,kBAAmB,IACnBY,OAAQ6gB,GACR3gB,eAAe,EACfN,eAAe,GAEjBinD,EAAYr1D,KAAK2zD,GAEnB,GAAItc,IAA8B,KAApBA,GAAO/pC,SAAiB,CAAC,IAAD,IACpCvxB,QAAQC,IAAI,kCACZ,IAAIs5E,EAAa,CACfxnD,mBAAkB,UAAEupC,GAAOvpC,0BAAT,aAAE,EAA2B5vB,WAC/CsvB,WAAU,UAAE6pC,GAAO7pC,kBAAT,aAAE,EAAmBtvB,WAC/B8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAKs1D,GACjBv5E,QAAQC,IAAI,aAAcs5E,GAG5B,GACE/d,IAC0B,KAA1BA,GAAajqC,UACuB,KAApCiqC,GAAazpC,mBACb,CAAC,IAAD,IACIgnD,EAAc,CAChBhnD,mBAAkB,UAAEypC,GAAazpC,0BAAf,aAAE,EAAiC5vB,WACrDsvB,WAAU,UAAE+pC,GAAa/pC,kBAAf,aAAE,EAAyBtvB,WACrC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAK80D,GAGnB,GACErd,IAC2B,KAA3BA,GAAcnqC,UACuB,KAArCmqC,GAAc3pC,mBACd,CAAC,IAAD,IACImoD,EAAoB,CACtBnoD,mBAAkB,UAAE2pC,GAAc3pC,0BAAhB,aAAE,EAAkC5vB,WACtDsvB,WAAU,UAAEiqC,GAAcjqC,kBAAhB,aAAE,EAA0BtvB,WACtC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAKi2D,GAGnB,GACEte,IAC0B,KAA1BA,GAAarqC,UACuB,KAApCqqC,GAAa7pC,mBACb,CAAC,IAAD,IACIooD,EAAmB,CACrBpoD,mBAAkB,UAAE6pC,GAAa7pC,0BAAf,aAAE,EAAiC5vB,WACrDsvB,WAAU,UAAEmqC,GAAanqC,kBAAf,aAAE,EAAyBtvB,WACrC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAKk2D,GAGnB,GACEre,IAC2B,KAA3BA,GAAcvqC,UACuB,KAArCuqC,GAAc/pC,mBACd,CAAC,IAAD,IACIqoD,EAAoB,CACtBroD,mBAAkB,UAAE+pC,GAAc/pC,0BAAhB,aAAE,EAAkC5vB,WACtDsvB,WAAU,UAAEqqC,GAAcrqC,kBAAhB,aAAE,EAA0BtvB,WACtC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAKm2D,GAGnB,GACEpe,IAC0B,KAA1BA,GAAazqC,UACuB,KAApCyqC,GAAajqC,mBACb,CAAC,IAAD,IACIsoD,EAAmB,CACrBtoD,mBAAkB,UAAEiqC,GAAajqC,0BAAf,aAAE,EAAiC5vB,WACrDsvB,WAAU,UAAEuqC,GAAavqC,kBAAf,aAAE,EAAyBtvB,WACrC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAKo2D,GAGnB,GACE/d,IAC4B,KAA5BA,GAAe/qC,UACuB,KAAtC+qC,GAAevqC,mBACf,CAAC,IAAD,IACIm/C,EAAqB,CACvBn/C,mBAAkB,UAAEuqC,GAAevqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE6qC,GAAe7qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAKitD,GAEnB,GACE1U,IAC4B,KAA5BA,GAAejrC,UACuB,KAAtCirC,GAAezqC,mBACf,CAAC,IAAD,IACI4nD,EAAqB,CACvB5nD,mBAAkB,UAAEyqC,GAAezqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE+qC,GAAe/qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAK01D,GAGnB,GACEjd,IAC0B,KAA1BA,GAAanrC,UACuB,KAApCmrC,GAAa3qC,mBACb,CAAC,IAAD,IACIioD,EAAmB,CACrBjoD,mBAAkB,UAAE2qC,GAAa3qC,0BAAf,aAAE,EAAiC5vB,WACrDsvB,WAAU,UAAEirC,GAAajrC,kBAAf,aAAE,EAAyBtvB,WACrC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAK+1D,GAGnB,GACEpd,IACuB,KAAvBA,GAAUrrC,UACuB,KAAjCqrC,GAAU7qC,mBACV,CAAC,IAAD,IACI8nD,EAAgB,CAClB9nD,mBAAkB,UAAE6qC,GAAU7qC,0BAAZ,aAAE,EAA8B5vB,WAClDsvB,WAAU,UAAEmrC,GAAUnrC,kBAAZ,aAAE,EAAsBtvB,WAClC8vB,mBAAoB,GACpBV,SAAU,IACVY,eAAe,EACfR,SAAU,IACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAK41D,GAGnB,IAAM3+B,EAAcvL,GAAmB5X,EAAW,gBAE5ChF,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAckmD,EACd7yD,OAAQ1Q,GAAY0Q,OACpBy0B,YAAaA,GAEfl7C,QAAQC,IAAI,sBAAuB8yB,GACnCqB,GAAqB8iD,GAAenkD,GA8wHPunD,QAKrB,yBACE3lF,UAAWwQ,KAAgBC,SAAW,QAAU,gBAEhD,2BAAOzQ,UAAU,WAAjB,mBACA,2BAAOA,UAAU,oBAAjB,wHAIA,wBAAIA,UAAU,qBACXumE,IACCA,GAAct6D,KAAI,SAAC7B,EAAWW,GAC5B,OAAO,wBAAIwB,IAAKxB,GAAQX,EAAK81B,sBAGnC,yBAAKlgC,UAAU,sBAQb,yBAAKA,UAAU,cACb,kBAAC,GAAD,CACE6P,QAAQ,aACR9G,QAAS,kBA9jIzB4uB,GAAW,CACTG,OAAQ,wBACRlpB,MAAO,6BAET61D,GAAiB,GACjBE,GAAwB,QACxBiQ,MAyjIgBllE,UAAU,WCxyTxBk2E,GAA4B,CAChCC,UAAW,eACXC,KAAM,UACNrxD,IAAK,SACLsxD,cAAe,oBAghIFC,GAx+HyB,SAACjmF,GAAW,IAAD,MAE3CijC,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GACA2jE,EAAWxkE,aAAaC,QAAQ,cAClCwkE,EAAsB,GAClB93B,EAAmBprB,EAAW1gB,IAAI,eAElC7Z,GADiBu6B,EAAW1gB,IAAI,kBAC3B0gB,EAAW1gB,IAAI,OACpB9gB,EAAOwhC,EAAW1gB,IAAI,QACtBmqC,EAAUzpB,EAAW1gB,IAAI,WAlBkB,EAmBClc,IAAM8G,SAAc,MAnBrB,mBAmB1C0pD,EAnB0C,KAmBvBc,EAnBuB,KAqBlC,OAAbuuB,QACa5hF,IAAb4hF,GACa,KAAbA,IACQ,QAAR,EAAAA,SAAA,eAAUlhF,QAAS,IAEnBmhF,EAAc1kE,OAAOisC,KAAKw4B,GAC1BA,EAAWzkE,OAAOisC,KAAKw4B,IA3BwB,IA0I7CE,EA1I6C,EA6BnB//E,IAAM8G,SAA4B,IA7Bf,mBA6B1Ck5E,EA7B0C,KA6BjCC,EA7BiC,OA8BrBjgF,IAAM8G,SAAwB,CACxDnH,IAAK,GACLugF,aAAc,KACd9yC,IAAK,KAEL7rB,UAAW,GACXi5B,WAAY,GACZ/4B,SAAU,GACV0+D,WAAY,KAtCmC,mBA8B1C5sC,EA9B0C,KA8BlC0U,EA9BkC,OAwCjBjoD,IAAM8G,UAAkB,GAxCP,mBAwC1Cu9B,EAxC0C,KAwChCC,EAxCgC,OAyCftkC,IAAM8G,UAAkB,GAzCT,mBAyC1CyC,EAzC0C,KAyC/Bmf,EAzC+B,OA0CnB1oB,IAAM8G,SAAc,IA1CD,mBA0C1CuhB,EA1C0C,KA0CjC7C,EA1CiC,OA2CfxlB,IAAM8G,SAAe,IAAI8nB,MA3CV,mBA2C1CoO,EA3C0C,KA4C7CojD,GA5C6C,MA4CvB,GA5CuB,EA6CrBpgF,IAAM8G,SAE/B,CACDnH,SAAK1B,EACLmvC,SAAKnvC,EACLiiF,kBAAcjiF,EACdoiF,eAAWpiF,EACXsjB,eAAWtjB,EACXu8C,gBAAYv8C,EACZwjB,cAAUxjB,IAtDqC,mBA6C1ConB,EA7C0C,KA6ClCC,EA7CkC,KAwD3CsD,EAAUC,cAxDiC,GAyDT7oB,IAAM8G,UAAkB,GAzDf,qBAyD1CuwD,GAzD0C,MAyD5BipB,GAzD4B,SA0DrBtgF,IAAM8G,SAAc,MA1DC,qBA0D1CqkB,GA1D0C,MA0DlCo1D,GA1DkC,SA2DrBvgF,IAAM8G,SAAN,eACvBk3D,KA5D4C,qBA2D1CuC,GA3D0C,MA2DlCC,GA3DkC,SA+DnBxgE,IAAM8G,UAAkB,GA/DL,qBA+D1C05E,GA/D0C,gBAgEjBxgF,IAAM8G,UAAkB,IAhEP,qBAgE1C25E,GAhE0C,gBAiEDzgF,IAAM8G,UAAS,IAjEd,qBAiE1C45E,GAjE0C,gBAkEb1gF,IAAM8G,UAAS,IAlEF,qBAkE1C65E,GAlE0C,MAkE9BC,GAlE8B,SAmEL5gF,IAAM8G,UAAkB,GAnEnB,qBAmE1C+jB,GAnE0C,MAmE1Bg2D,GAnE0B,SAoEX7gF,IAAM8G,SAAS,IApEJ,qBAoE1Cg6E,GApE0C,gBAqEL9gF,IAAM8G,UAAkB,IArEnB,qBAqE1Ci6E,GArE0C,MAqE1BC,GArE0B,SAuE/Cl6E,oBAAkB,GAvE6B,qBAsE1Cm6E,GAtE0C,MAsEfC,GAtEe,SAwEPlhF,IAAM8G,SAAc,MAxEb,qBAwE3Bq6E,IAxE2B,gBA2EHnhF,IAAM8G,SAAc,IA3EjB,qBA2EzBs6E,IA3EyB,gBA4EXphF,IAAM8G,UAAkB,GA5Eb,qBA4E7Bu6E,IA5E6B,gBA8ECv6E,mBAAc,CAC9DqK,oBAAoB,EACpBC,eAAe,IAhFgC,qBA8E1Cg8D,GA9E0C,gBAkFCptE,IAAM8G,SAGrD,CACDw6E,iBAAiB,EACjBC,gBAAgB,KAvF+B,qBAkFvBC,IAlFuB,gBAyFPxhF,IAAM8G,SAAS,IAzFR,qCA0FT9G,IAAM8G,UAAkB,IA1Ff,qCA2FK9G,IAAM8G,UACV,IAAhDkU,GAAYo6B,YAAY0M,sBA5FuB,qBA2FrB2/B,IA3FqB,gBA8FrB36E,mBAAc,MA9FO,qBA8F1Cw3E,GA9F0C,MA8FlCoD,GA9FkC,SA+FX56E,oBAAkB,GA/FP,qBA+F1C66E,GA/F0C,MA+F7BC,GA/F6B,SAgGH96E,oBAAkB,GAhGf,qBAgG1C+6E,GAhG0C,MAgGzBC,GAhGyB,SAkG/Ch7E,oBAAkB,GAlG6B,qBAiG1Ci7E,GAjG0C,MAiGnBC,GAjGmB,SAoG/ChiF,IAAM8G,SAAiB,IApGwB,qBAmG1Cm7E,GAnG0C,MAmGdC,GAnGc,SAqGKp7E,mBAAc,IArGnB,qBAqG1Cq7E,GArG0C,MAqGrBC,GArGqB,SAsGDt7E,mBAAc,IAtGb,qBAsG1Cu7E,GAtG0C,MAsGxBC,GAtGwB,SAuGHx7E,oBAAkB,GAvGf,qBAuG1Cy7E,GAvG0C,MAuGzBC,GAvGyB,SAwGPxiF,IAAM8G,SAAiB,IAxGhB,qBAwG1C27E,GAxG0C,MAwG3BC,GAxG2B,SA4G/C57E,oBAAkB,GA5G6B,qBA2G1C67E,GA3G0C,MA2GdC,GA3Gc,SA6Gb97E,oBAAkB,GA7GL,qBA6G1C+7E,GA7G0C,MA6G9BC,GA7G8B,SA8GG9iF,IAAM8G,WA9GT,qBA8G1Ci8E,GA9G0C,MA8GtBC,GA9GsB,UAyH1B3nE,aAAaC,QAAQ,oBACHxU,mBAAS,CAChDm8E,UAAW,GACXC,eAAgB,EAChBC,kBAAmB,KA7H4B,qBA0H1CC,GA1H0C,MA0H3BC,GA1H2B,MAiI3C9E,GAAiC,GAyCvCv+E,IAAM6H,WAAU,WAEd,IAAMglD,EAASj4C,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAElDilE,GAAU1zB,GAGR/vD,KAA0B+hD,MACzB7jC,GAAY6oC,uBAKb5+C,QAAQC,IAAI,6BAA8B8V,GAAY0Q,QACjD1Q,GAAY0Q,QAAiC,KAAvB1Q,GAAY0Q,QA4OzCtQ,OAAOkO,eAAepB,QAAQ,kBAAmB,SACjD9M,OAAOC,aAAa0gC,WAAW,qBAC/B/gC,GAAYyM,gBAAkB,CAC5BglB,UAAWzxB,GAAYikB,KAAKwN,UAC5BI,SAAU7xB,GAAYikB,KAAKxd,SAC3BkrB,WAAY,GACZlwB,OAAQzB,GAAYikB,KAAKxiB,OACzBkF,QAAS3G,GAAYikB,KAAKjnB,MAC1B89B,QAAS,GACTn2C,IAAK,GACLooB,OAAQ,GACRqlB,IAAK,GACLk2C,gBAAiB,GACjBC,iBAAkB,GAClBr7C,QAAS,GACTs7C,SAAU,GACVC,SAAU,GACVjlF,KAAM,GACNkF,MAAO,GACP4Z,QAAS,IA1PPlC,OAAOwtB,OAAO,EAAG,IAJjB3jC,QAAQC,IAAI,uBALdD,QAAQC,IAAI,mBAAoBq9E,IAChC35D,EAAQM,KAAKpsB,KAWfmI,QAAQC,IAAI,UAAWmhD,GAET,OAAZA,QACYpoD,IAAZooD,GACY,KAAZA,GAC0B,QAAnB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAAS7iD,eAGA,OAAPnB,QACOpE,IAAPoE,GACO,KAAPA,IACE,OAAFA,QAAE,IAAFA,OAAA,EAAAA,EAAI1D,QAAS,GACJ,OAATvD,QACS6C,IAAT7C,GACS,KAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMuD,QAAS,IAGfqjF,IAAyB,GACzB/9D,IACE,SAAC5R,GACC,IAAKA,GAAOA,EAAIR,MAEd2T,EAAW6C,EAAUhW,EAAIR,OACzBmvE,IAAkB,GAClBgB,IAAyB,GACzBF,IAAmB,QAEd,UAAIzvE,QAAJ,IAAIA,OAAJ,EAAIA,EAAKS,KAAM,CAAC,IAAD,EACpB,IAAS,OAAL9J,YAAK,IAALA,WAAA,EAAAA,MAAO06E,QAAP,OAAerxE,QAAf,IAAeA,OAAf,EAAeA,EAAKS,SAAY,OAAHT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWnU,QAAS,EAAG,CACtD,IAAIglF,EAAU,OAAGtxE,QAAH,IAAGA,OAAH,EAAGA,EAAKS,KAAK,GAC3BkvE,IAAyB,GAEE,OAAf,OAAV2B,QAAU,IAAVA,OAAA,EAAAA,EAAYrrD,iBACcr6B,KAAhB,OAAV0lF,QAAU,IAAVA,OAAA,EAAAA,EAAYrrD,aAEZ2nD,EAAW0D,GACX3C,IAAkB,GAClBY,IAAe,GACfhB,IAAc,GACd34B,GAAU,SAAC1U,GAAY,IAAD,KACpB,OAAIowC,QAAJ,IAAIA,OAAJ,EAAIA,EAAYhkF,OACd4zC,EAAO5zC,IAAMgkF,EAAWhkF,MAE1B,OAAIgkF,QAAJ,IAAIA,OAAJ,EAAIA,EAAYv2C,OACdmG,EAAOnG,IAAMtd,KACXA,KApFF,SAACqiC,GAAuB,MAEfA,EAAWj0C,MAAM,KAFF,mBAEnC0nC,EAFmC,KAE9BI,EAF8B,KAEvBC,EAFuB,KAKpCv3B,EAAO,IAAIE,KAAKznB,SAAS8+C,GAAO9+C,SAAS6+C,GAAS,EAAG7+C,SAASy+C,IAOpE,MAJmB,WAAOl3B,EAAK6vB,WAAa,GACzCn3C,WACAgrD,SAAS,EAAG,KAFI,YAEIxM,EAAIwM,SAAS,EAAG,KAFpB,YAE4BnM,GA0EpBiM,CAAW,OAACyxB,QAAD,IAACA,OAAD,EAACA,EAAYv2C,MAAMqnB,UAEpCC,QAAQ,OACRD,SACCxlC,GAAcskB,EAAOnG,KAAO,GAC9BhyB,OAAOkO,eAAepB,QACpB,kBACA,QAGF9M,OAAOkO,eAAepB,QACpB,kBACA,WAIN,OAAIy7D,QAAJ,IAAIA,OAAJ,EAAIA,EAAYpiE,aACdgyB,EAAOhyB,UAAP,OAAmBoiE,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAYpiE,YAEjC,OAAIoiE,QAAJ,IAAIA,OAAJ,EAAIA,EAAYnpC,cACdjH,EAAOiH,WAAP,OAAoBmpC,QAApB,IAAoBA,OAApB,EAAoBA,EAAYnpC,aAElC,OAAImpC,QAAJ,IAAIA,OAAJ,EAAIA,EAAYliE,YACd8xB,EAAO9xB,SAAP,OAAkBkiE,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAYliE,WAEhC,OAAIkiE,QAAJ,IAAIA,OAAJ,EAAIA,EAAYxpB,UACdn/C,GAAY0Q,OAAZ,OAAqBi4D,QAArB,IAAqBA,OAArB,EAAqBA,EAAYxpB,SAEnC,OAAIwpB,QAAJ,IAAIA,OAAJ,EAAIA,EAAY3rE,SACdgD,GAAYikB,KAAKjnB,MAAjB,OAAyB2rE,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAY3rE,QAEvC,OAAI2rE,QAAJ,IAAIA,OAAJ,EAAIA,EAAYlnE,UACdzB,GAAYikB,KAAKxiB,OAAjB,OAA0BknE,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAYlnE,SAExC,OAAIknE,QAAJ,IAAIA,OAAJ,EAAIA,EAAYrrD,aACdtd,GAAYikB,KAAKrb,OAAjB,OAA0B+/D,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAYrrD,YAExC,OAAIqrD,QAAJ,IAAIA,OAAJ,EAAIA,EAAYz1D,mBACdlT,GAAYogC,gBAAkBj0C,SAAQ,OACpCw8E,QADoC,IACpCA,OADoC,EACpCA,EAAYz1D,iBAEdlT,GAAYikB,KAAKnR,YAC0B,GAAzC3mB,SAAQ,OAACw8E,QAAD,IAACA,OAAD,EAACA,EAAYz1D,iBAAwB,IAAM,MAEvD,IAAI01D,EAAY,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAYpiE,UAC3Bm+B,EAAa,iBAAGikC,QAAH,IAAGA,OAAH,EAAGA,EAAYnpC,kBAAf,QAA6B,GAC1CqpC,EAAW,iBAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAYliE,gBAAf,QAA2B,GAErB,KAAjBmiE,GAAuC,KAAhBC,GACzBD,EAAeC,EACf7oE,GAAYyM,gBAAgBygB,QAAU07C,EACtCC,EAAc,GACQ,KAAlBnkC,IACF1kC,GAAYyM,gBAAgBygB,QAC1BltB,GAAYyM,gBAAgBygB,QAC5B,IACAwX,IAGa,KAAjBkkC,GACkB,KAAlBlkC,GACgB,KAAhBmkC,EAEA7oE,GAAYyM,gBAAgBygB,QAAU,GACX,KAAlBwX,GACT1kC,GAAYyM,gBAAgBygB,QAC1B07C,EAAe,IAAMC,EACvBnkC,EAAgB,IAEhB1kC,GAAYyM,gBAAgBygB,QAC1B07C,EAAe,IAAMlkC,EAAgB,IAAMmkC,EAK/C7oE,GAAYyM,gBAAgBglB,UAAYm3C,EACxC5oE,GAAYyM,gBAAgBolB,SAAWg3C,EACvC7oE,GAAYyM,gBAAgBklB,WAAa+S,EACzC1kC,GAAYyM,gBAAgBwF,WAAa,CACvCf,MAAOqnB,EAAO5zC,IACdutB,UAAW02D,EACXx2D,WAAYsyB,EACZpyB,SAAUu2D,EACVr2D,aAAc,GACdC,oBAAqB,GACrBC,WAAY,GACZC,SAAS,EACTC,eAAgB,IAElB,IAAIQ,EAAc,CAChBzuB,IAAKgkF,EAAWhkF,IAChBmuB,YAAW,OAAE61D,QAAF,IAAEA,OAAF,EAAEA,EAAYz1D,gBACzB41D,KAAI,OAAEH,QAAF,IAAEA,OAAF,EAAEA,EAAYrrD,WAEhByrD,EAAY,CACdC,KAAI,OAAEL,QAAF,IAAEA,OAAF,EAAEA,EAAYrrD,UAClByoD,gBAAgB,GAGlB,OADAkD,GAA0B71D,EAAQ21D,GAC3BxwC,KAETuuC,IAAmB,QAK3B,CACEz/E,GAAI6hF,mBAAmB7hF,GACvBjH,KAAM8oF,mBAAmB9oF,GACzB8oB,UAAW,KAKZlJ,GAAYikB,KAAKjnB,OAAUgD,GAAYikB,KAAKxiB,QACzCqjE,IACJkB,IAAkB,GAClB5lE,OAAOY,SAASC,KAAO6jE,KAI5B,IAGH9/E,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaI,QAAQC,UAChD4W,mBAAoB,GACpBpM,aACAC,aACAC,eACAsM,QAASruB,GAAY0Q,OACrBkG,OAAQ,IAEV0B,GAA2BxgB,KAC1B,IAEH9S,IAAM6H,WAAU,WACd5C,QAAQC,IAAI,sBAAuBi9E,IACP,UAAxBA,GACFG,GACE,gNAE+B,iBAAxBH,IACTG,GACE,8VAGH,CAACH,KAEJ,IAAMgC,GAAqC,WACzC,IAAMrxE,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaI,QAAQD,iBAChD8W,mBAAoB,GACpBpM,aACAC,aACAC,eACAsM,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,cACpB0d,IAAKluB,GAAY4P,MACjBue,yBAA0BnuB,GAAY8P,oBAExCwI,GAA2BxgB,GAG3BihB,GAAiBC,UACfO,GAAgBvC,aAAaI,QAAQD,mBAuCzC,SAAStxB,GAASsF,EAA0BjM,GAEhC,QAARiM,GACiB,kBAAVjM,GACNoF,GAAYvB,KAAK7D,KAElBA,EAAQq5C,EAAOptC,IAEL,QAARA,GAAem+B,GAAY,GACnB,iBAARn+B,GAA2C,kBAAVjM,GACnCq3B,GAAW,CACTG,OAAQ,UACRlpB,MAAM,iBAAD,OAAmBtO,EAAM2H,iBAEtB,QAARsE,GAAkC,kBAAVjM,IAC1B+K,QAAQC,IAAI,cACZsgB,EAAW6C,GACP4G,GAAc/0B,IAAU,GAC1BkhB,OAAOkO,eAAepB,QAAQ,kBAAmB,QAC9C9M,OAAOkO,eAAepB,QAAQ,kBAAmB,SACtDjjB,QAAQC,IAAI4qB,KAAO51B,GAAO61B,OAAO,cAAe,OAAQ+wD,IACpDhxD,KAAO51B,GAAO61B,OAAO,gBAAkB+wD,IACzCF,IAAc,GACdN,IAAgB,GAChB96D,EAAW,IACXvgB,QAAQC,IAAI,gBAEZD,QAAQC,IAAI,cACZ07E,IAAc,KAGlB37E,QAAQC,IAAI,SAAUmgB,GACtBC,EAAU,2BAAKD,GAAN,mBAAelf,EAAM,MAC9B8hD,EAAU,2BAAK1U,GAAN,mBAAeptC,EAAMjM,KAyBhC,IAiCMkqF,GAAc,WAAO,IAAD,EACxBC,GACE,CACEt3D,MAAOwmB,EAAO5zC,IACdvE,KACEm4C,EAAOhyB,UACP,KADA,iBAECgyB,QAFD,IAECA,OAFD,EAECA,EAAQiH,kBAFT,QAE4B,KAC5BjH,EAAO9xB,SACT2rB,IAAKtd,KAAOyjB,EAAOnG,KAAKrd,OAAO,cAC/BhO,OAAQ,QAEV,gBAGJ,SAASuiE,KAYP9+D,EAAW,IACXkD,GAAa,GACbo6D,IAAc,GAEd,IvC5MFnoE,EACAoS,EACAtQ,EACAzE,EACA0T,EACAqC,EuCuMMw2D,EAAa5kF,GAAI5B,KAAKw1C,EAAO5zC,KACjC,GAAoB,KAAf4zC,EAAO5zC,UAA6B1B,IAAfs1C,EAAO5zC,MAAsB4kF,EA4CrD/+D,EACE,0HAEFkD,GAAa,OA/CoD,CACjE,GAAI6xB,GAAQhH,EAAOnG,KACjB5nB,EAAW,+BACXkD,GAAa,OACR,CAAC,IAAD,IACLoE,GAAkBkc,GAAoBuK,EAAO5zC,KAE7C,IACuE,EADrD4zC,EAAOhyB,UACzB,QAA2BtjB,KAAjB,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQiH,cAA4B,UAAAjH,EAAOiH,kBAAP,eAAmB77C,QAAS,EACvD,UAAI40C,EAAOiH,kBAAX,aAAI,EAAmBt8B,MAAM,KAAKe,KAAK,KAEzC,iBAAIs0B,QAAJ,IAAIA,OAAJ,EAAIA,EAAQ9xB,gBAAZ,QAAwB,GACnC,IAAIqM,EAAkC,KAApBy9B,KAA0B,EAAI,EACxB,KAApBA,OACFz9B,EAAc,GvC3NtBnT,EuC8NQ,SAACtI,IAlFiB,SAACA,EAAUigD,GAU3B,IAAD,iBATFjgD,GAAOA,EAAIR,QACd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAG3B6W,GAAa,GACb6I,GAAW,CAAEG,OAAQ,iBAAkBlpB,MAAO,sBAG3C,OAAC6J,QAAD,IAACA,OAAD,EAACA,EAAKS,OACe,KAAnB,OAAHT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAW+mB,SACgB,QAAxB,OAAHxnB,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAW0xE,mBACgBvmF,KAAxB,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAW0xE,eAHX,OAIAnyE,QAJA,IAIAA,GAJA,UAIAA,EAAKS,YAJL,aAIA,EAAW0xE,cAEXL,KACA5yD,GAAW,CAAEG,OAAQ,UAAWlpB,MAAO,kBACvCogB,EAAQM,KAAKpsB,IACb4rB,GAAa,KAEZ,OAACrW,QAAD,IAACA,OAAD,EAACA,EAAKS,OACe,KAAnB,OAAHT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAW+mB,SACa,QAArB,OAAHxnB,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAW2xE,gBACaxmF,KAArB,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAW2xE,YAHX,OAIApyE,QAJA,IAIAA,GAJA,UAIAA,EAAKS,YAJL,aAIA,EAAW2xE,WAEXnyB,IAsDIoyB,CAAkBryE,EAAK+xE,KvC9NjCr3D,EuCgOQwmB,EAAO5zC,IvC/Nf8c,EuCgOQzB,GAAYikB,KAAKxiB,OvC/NzBzE,EuCgOQgD,GAAYikB,KAAKjnB,MvC/NzB0T,EuCgOQ1Q,GAAY0Q,OvC/NpBqC,EuCgO+B,QAAhB,OAAPiyD,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACgBr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACc,MAAhB,OAAP0nD,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,WACPnxB,SAAQ,OAAC64E,QAAD,IAACA,OAAD,EAACA,EAAS1nD,WAClB,EvCjOZ7d,GACE,CACEkB,IAAK,mCACLd,OAAQ,OACRtQ,KAAM,CACJ2hB,MAAOa,EACP43D,SAAUloE,EACVkF,QAAS3J,EACT0T,OAAQA,EACRqC,OAAQA,EACRG,gBuCwNEJ,GvCtNJrS,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa4C,kBAE5B8L,GuCqNE1V,QAAQC,IAAI,SAAUquC,IAqC1B,SAASvK,GAAmB32B,GACtBA,GAAOA,EAAIM,OAEuB,MADZN,EAAIS,KACRP,OAAOm3B,OAAc02C,GAAa,GAEjD/tE,IAAOA,EAAIR,SACd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CACTG,OAAQ,0BACRlpB,MAAO,qBA+Kf,SAASo8E,GACPvyE,EACAk+C,EACAniC,EACAy2D,GAEA,IAAKxyE,GAAOA,EAAIR,OAGd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETkgB,GAAa,QAEb,GAAIrW,EAAIS,MAAqB,OAAbT,EAAIS,KAAe,CACjC,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAC7BmV,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DklC,GAAap2B,GAEbkmC,GACEC,EACAs0B,GAAkDr0B,GAEpDvrD,QAAQC,IAAI+iB,EAAyB,2BAEhCA,EAAwBxL,SAC3BwL,EAAwBxL,OAAS2N,EAAYmqC,UAG1CtsC,EAAwB4mB,UAC3B5mB,EAAwB4mB,QAAUzkB,EAAYoqC,SAEhDvsC,EAAwBtoB,IAAMqb,GAAYyM,gBAAgB9nB,IAE1DsoB,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBsD,cAAgBvQ,GAAYwQ,cACpDvD,EAAwBmzB,gBAAkBpgC,GAAYogC,gBACtDnzB,EAAwBhN,MAAQD,GAAYC,MAET,OAAtB,OAAXmP,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,wBACoBvqC,IAAtB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,mBACqB,MAAvB,OAAXpe,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,oBAEbvgB,EAAwBsa,WAAxB,OAAqCnY,QAArC,IAAqCA,OAArC,EAAqCA,EAAaoe,kBAEpDvgB,EAAwBu8B,KAAxB,OAA+Bp6B,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAao6B,KAC5Cv8B,EAAwBw8B,SAAxB,OAAmCr6B,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAa06D,WAChD9pE,GAAYwpC,KAAZ,OAAmBp6B,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAao6B,KAChCxpC,GAAYypC,SAAZ,OAAuBr6B,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAa06D,WACpC1pE,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAGjBu4B,GAAap2B,GAGbkmC,GACEC,EACAs0B,GAAkDr0B,GAEpDixB,GAAuBr3D,EAAY03B,qBACnC0/B,IAAqB,SAACuD,GAKpB,OAJAA,EAAkBzD,gBAAlB,OACEl3D,QADF,IACEA,OADF,EACEA,EAAau2B,2BACfokC,EAAkBxD,eAAlB,OACEn3D,QADF,IACEA,OADF,EACEA,EAAaw2B,0BACRmkC,MAID,OAAN32D,QAAM,IAANA,OAAA,EAAAA,EAAQ2yD,iBACS,QAAX,OAAN3yD,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,YACS/lF,KAAX,OAANmwB,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,SAIJ55D,EAAYw2B,2BACZx2B,EAAYu2B,2BAI4B,IAA7B,OAAXv2B,QAAW,IAAXA,OAAA,EAAAA,EAAaw3B,yBACf5mC,GAAYqqC,oBAAsB/qD,GAAaC,YAC1CygB,GAAYqqC,oBAAsB/qD,GAAaE,SAGpD4vB,EAAYolB,QAAOx0B,GAAY6tB,OAAQ,GAIvCze,EAAYw2B,2BACZx2B,EAAYu2B,2BAMJv2B,EAAY22B,uBAGW,KAAtB,OAAX32B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,mBACb,OAAChxB,QAAD,IAACA,OAAD,EAACA,EAAa+3B,eAGNoO,EAG0B,IAAlCnmC,EAAYq3B,mBACkB,IAA9Br3B,EAAYm3B,cAEZ34B,EAAQM,KAAKnsB,GAAUI,2BACc,IAA9BitB,EAAYm3B,eACnB34B,EAAQM,KAAKpsB,IAPbke,GAAYqqC,oBAAsB/qD,GAAaM,IAF/CogB,GAAYqqC,oBAAsB/qD,GAAaU,MAL/CggB,GAAYqqC,oBAAsB/qD,GAAaG,KAJH,IAA7B,OAAX2vB,QAAW,IAAXA,OAAA,EAAAA,EAAaw3B,yBACf5mC,GAAYqqC,oBAAsB/qD,GAAaC,YAC1CygB,GAAYqqC,oBAAsB/qD,GAAaE,QAiBxD,IAAIupF,EAAY31D,EAEhB,GADA21D,EAAUiB,MAAQ56D,EAAYs3B,OACzB6O,GAA4D,IAA9BnmC,EAAYm3B,cAE7C,YADA34B,EAAQM,KAAKnsB,GAAUK,gBAElB,GACyB,GAA9BmzD,GAC8B,IAA9BnmC,EAAYm3B,cAGZ,YADA34B,EAAQM,KAAKnsB,GAAUI,4BAIjB,OAANixB,QAAM,IAANA,OAAA,EAAAA,EAAQ2yD,iBACS,QAAX,OAAN3yD,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,YACS/lF,KAAX,OAANmwB,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,OAC0B,IAAlC55D,EAAYq3B,mBACkB,IAA9Br3B,EAAYm3B,cAEZ34B,EAAQM,KAAKnsB,GAAUI,4BAEjB,OAANixB,QAAM,IAANA,OAAA,EAAAA,EAAQ2yD,iBACS,QAAX,OAAN3yD,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,YACS/lF,KAAX,OAANmwB,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,OAC0B,IAAlC55D,EAAYq3B,mBACkB,IAA9Br3B,EAAYm3B,cAGY,OAAtBn3B,EAAYs3B,YACUzjD,IAAtBmsB,EAAYs3B,QADZ,OAEAt3B,QAFA,IAEAA,OAFA,EAEAA,EAAawqC,WAKsB,OAAjCxqC,EAAYi3B,kBACoB,GAAhCj3B,EAAYi3B,mBADZ,OAEAj3B,QAFA,IAEAA,OAFA,EAEAA,EAAawqC,WACoB,KAAtB,OAAXxqC,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,iBANfxyB,EAAQM,KAAKpsB,IASN8rB,EAAQM,KAAKpsB,IAEjBmoF,IAAW,GAAM,EAAMlB,QAG9B,OAAI17D,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B6W,GAAa,GAInB,IAAMu7D,GAA4B,SAAC71D,EAAa21D,GAC9Cl2D,IACE,SAACxb,GACC,IAAKA,GAAOA,EAAIR,OAGd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETkgB,GAAa,QAEb,GAAiB,OAAbrW,EAAIS,MACN,GAAiB,OAAbT,EAAIS,MAA6B,qBAAZT,EAAIS,KAA6B,CACxDkI,GAAYyM,gBAAgB9nB,IAAM0S,EAAIS,KAAKg0C,IAC3C9rC,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYwQ,cAAgBnZ,EAAIS,KAAK8zC,cACrC5rC,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAC9BjR,GAAYogC,gBAAkB/oC,EAAIw0C,gBAClC7rC,GAAYyQ,sBACVpZ,EAAIS,KAAKkZ,sBACX,IAAM/D,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBtoB,IAAM0S,EAAIS,KAAK8Y,MACvC3D,EAAwBwD,sBACtBpZ,EAAI2Z,sBACN/D,EAAwBsD,cAAgBlZ,EAAIu0C,cAC5C3+B,EAAwBmzB,gBAAkB/oC,EAAIw0C,gBAC9C5+B,EAAwBhN,MAAQ5I,EAAIS,KAAK8Y,MACzCxQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBsnC,IAAmB,SAACl9C,IA1ThC,SAA+BA,EAAU+b,GACvC,IAAI82D,EAA8B,KAClC,IAAK7yE,GAAOA,EAAIR,OAGd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,oBAClDkgB,GAAa,QAEb,GAAIrW,GAAoB,OAAV,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKS,MAAc,CAE5BuZ,IACE,SAACha,GAAD,OACEuyE,GAAyBvyE,GAHa,EAGoB+b,KAC5DpT,GAAYwQ,oBAET,GAAInZ,GAAoB,OAAbA,EAAIS,KAAe,CACnC,IAAM5P,EAAmB0R,KAAKC,MAAMxC,EAAIS,MAAMzP,QAC5C,SAACW,GAAD,OAAiC,GAAlBA,EAAK4tD,aAElBrB,GAAsC,OAE/BtyD,IAATiF,GACS,OAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,GACE,KAAb,OAAJuE,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,cAQuBV,KAN7BinF,EAAyBhiF,EAAK2U,MAC5B,SAACi6C,GAAD,MAC+B,gBAAtB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASh4B,mBACsB,KAAxB,OAAPg4B,QAAO,IAAPA,OAAA,EAAAA,EAAS/6B,yBAIgB,OAA3BmuD,GAEA5zB,GAAqB,SAACd,GAEpB,OADoB00B,UASfjnF,IAATiF,GACS,OAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,IACX,OAAJuE,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,QAQcV,KAN7BinF,EAAyBhiF,EAAK2U,MAC5B,SAACi6C,GAAD,MAC+B,gBAAtB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASh4B,mBACsB,KAAxB,OAAPg4B,QAAO,IAAPA,OAAA,EAAAA,EAAS/6B,yBAIgB,OAA3BmuD,GAEA5zB,GAAqB,SAACd,GAEpB,OADoB00B,KAQN,IAAhBhiF,EAAKvE,QAAkC,IAAlBuE,EAAK,GAAG6uD,QAC/BxB,GAA6B,GAE/BlkC,IACE,SAACha,GAAD,OACEuyE,GACEvyE,EACAk+C,EACAniC,EACA82D,KAEJlqE,GAAYwQ,oBAId,OAAInD,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B6W,GAAa,GA8NLy8D,CAAsB9yE,EAAK0xE,KAC1B/oE,GAAYwQ,qBAIjB,OAAInD,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B6W,GAAa,KAInB0F,EAAOzuB,IACPyuB,EAAON,YACPM,EAAO01D,OAGLsB,GAAiB,SACrBC,EACAC,EACA7F,GACI,IAAD,UACCmE,EAAY,OAAGrwC,QAAH,IAAGA,OAAH,EAAGA,EAAQhyB,UACvBm+B,EAAa,UAAGnM,EAAOiH,kBAAV,QAAwB,GACrCqpC,EAAW,iBAAGtwC,QAAH,IAAGA,OAAH,EAAGA,EAAQ9xB,gBAAX,QAAuB,GAEjB,KAAjBmiE,GAAuC,KAAhBC,GACzBD,EAAeC,EACf7oE,GAAYyM,gBAAgBygB,QAAU07C,EACtCC,EAAc,GACQ,KAAlBnkC,IACF1kC,GAAYyM,gBAAgBygB,QAC1BltB,GAAYyM,gBAAgBygB,QAAU,IAAMwX,IAG/B,KAAjBkkC,GACkB,KAAlBlkC,GACgB,KAAhBmkC,EAEA7oE,GAAYyM,gBAAgBygB,QAAU,GACX,KAAlBwX,GACT1kC,GAAYyM,gBAAgBygB,QAAU07C,EAAe,IAAMC,EAC3DnkC,EAAgB,IAEhB1kC,GAAYyM,gBAAgBygB,QAC1B07C,EAAe,IAAMlkC,EAAgB,IAAMmkC,EAI/C5+E,QAAQC,IACN,cADF,OAEE8V,SAFF,IAEEA,IAFF,UAEEA,GAAayM,uBAFf,aAEE,EAA8BwF,WAC9Bq4D,EACA7F,GAEFzkE,GAAYyM,gBAAgBglB,UAAYm3C,EACxC5oE,GAAYyM,gBAAgBolB,SAAWg3C,EACvC7oE,GAAYyM,gBAAgBklB,WAAa+S,EACzC1kC,GAAYyM,gBAAgBwF,WAAa,CACvCf,MAAOqnB,EAAO5zC,IACdutB,UAAW02D,EACXx2D,WAAYsyB,EACZpyB,SAAUu2D,EACVr2D,aAAc,GACdC,oBAAqB63D,EACrB53D,WAAY,GACZC,QAAuB,MAAd8xD,EACT7xD,eAAgBy3D,GAElBpgF,QAAQC,IAAI,cAAZ,OAA2B8V,SAA3B,IAA2BA,IAA3B,UAA2BA,GAAayM,uBAAxC,aAA2B,EAA8BwF,YAEvDjS,GAAYkkC,UADQ,MAAlBmmC,EAKJ,IAAIv3D,EAAkC,KAApBy9B,KAA0B,EAAI,EACxB,KAApBA,OACFz9B,EAAc,GAEhBD,GACE03D,GACAhyC,EAAO5zC,IACPmuB,EACAizD,IACwB,OAAf,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,WAFX,OAGI0nD,QAHJ,IAGIA,OAHJ,EAGIA,EAAS1nD,UAHb,OAIItd,SAJJ,IAIIA,IAJJ,UAIIA,GAAaikB,YAJjB,aAII,EAAmBlR,SAgJ3B,SAASw3D,GAAYlzE,IACdA,GAAOA,EAAIR,QAGd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETkgB,GAAa,IAEI,OAAbrW,EAAIS,KACW,OAAbT,EAAIS,MAA6B,qBAAZT,EAAIS,MAC3BkI,GAAYyM,gBAAgB9nB,IAAM0S,EAAIS,KAAKg0C,IAC3C9rC,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYwQ,cAAgBnZ,EAAIS,KAAK8zC,cACrC5rC,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAC9BjR,GAAYyQ,sBAAwBpZ,EAAIS,KAAKkZ,sBAC7ChR,GAAYogC,gBAAkB/oC,EAAIw0C,gBAClC0I,GAAmBoC,GAAoB32C,GAAYwQ,gBAEnDy5D,KAUoB,OAAb5yE,EAAIS,KACbmyE,OAGA,OAAI58D,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B6W,GAAa,IAwFnB,IA0EM88D,GAAa,SAACp3D,EAAcq3D,GAChC,GACEr3D,EAAO2yD,gBACU,QAAX,OAAN3yD,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,YACS/lF,KAAX,OAANmwB,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,MACR,CACA,IAAI,OAAC51D,QAAD,IAACA,OAAD,EAACA,EAAQ42D,SAAiC,IAAxBjF,EAqBf,CACLa,IAAc,GACd,IAAI8E,EAAgBxpF,GAChB+0D,EAAc,OAAGy0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WAClC,SAACvB,GAAD,MAA8B,UAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,WAElB01D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOC,EAAgB,IAC9D,IAAIC,EAAe,OAAGw0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCk2D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOE,EAAiB,IAC/D,IAAIy0B,EAAe,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCs2D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAO20B,EAAiB,IAC/D,IAAIC,EAAe,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaO,OAEzC+qF,EAAkB,IAAgB,OAAbF,QAAa,IAAbA,KAAe10B,OAAO40B,EAAiB,KAC5D,OAACF,QAAD,IAACA,OAAD,EAACA,EAAe7gF,SAASjJ,MAC3B8pF,EAAcx8D,KAAKttB,IACrBof,GAAY+P,gBAAkB26D,MA1CoB,CAClD,IAAIA,EAAgBxpF,GAChB+0D,EAAc,OAAGy0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WAClC,SAACvB,GAAD,MAA8B,UAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,WAElB01D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOC,EAAgB,IAC9D,IAAIC,EAAe,OAAGw0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCk2D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOE,EAAiB,IAC/D,IAAIy0B,EAAe,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCs2D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAO20B,EAAiB,IAC/D,IAAIC,EAAe,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaO,OAEzC+qF,EAAkB,IAAgB,OAAbF,QAAa,IAAbA,KAAe10B,OAAO40B,EAAiB,KAC5D,OAACF,QAAD,IAACA,OAAD,EAACA,EAAe7gF,SAASjJ,MAC3B8pF,EAAcx8D,KAAKttB,IACrBof,GAAY+P,gBAAkB26D,OAwBdznF,IAAdwnF,GAAyBA,MAG3BI,GAAqB,SACzBC,EACAC,EACA33D,GAEA,GACE03D,IACC9qE,GAAYo6B,YAAYuL,4BACvB3lC,GAAYo6B,YAAYwL,2BAC1B,CACA,IAAM34B,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D2M,EAAwBigB,QAAUltB,GAAYyM,gBAAgBygB,QAC9DjgB,EAAwB6C,mBACtB9P,GAAY8P,mBACd7C,EAAwBsD,cAAgBvQ,GAAYwQ,cACpDvD,EAAwB6mB,UAAY9zB,GAAY8zB,UAChD7mB,EAAwB+mB,OAASh0B,GAAYo6B,YAAYnG,WACzDhnB,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBmlB,IAAMpyB,GAAYoyB,IAC1CnlB,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MACnDiQ,EAAwBkB,aAAenO,GAAYmO,aACnDlB,EAAwB2C,MAAQ5P,GAAYo6B,YAAYsM,MACxDz5B,EAAwB4gB,MAAQ7tB,GAAYo6B,YAAY5F,MAExDvnB,EAAwBgV,gBAC+B,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC2M,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBxL,OAASzB,GAAYikB,KAAKxiB,OAClDwL,EAAwBtoB,IAAM4zC,EAAO5zC,IACrCsoB,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwBi3B,UAAYlkC,GAAYkkC,UAIhD9jC,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBk8D,KACA5yD,GAAW,CAAEG,OAAQ,UAAWlpB,MAAO,mBACxB,OAAXwS,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,iBAAb,OAA8BxQ,SAA9B,IAA8BA,QAA9B,EAA8BA,GAAamO,cAC7CP,EAAQM,KAAR,OAAalO,SAAb,IAAaA,QAAb,EAAaA,GAAaqqC,qBAEtB0gC,EACFP,GAAWp3D,GAAQ,WACjB43D,GAASF,EAAqB13D,MAE3B43D,GAASF,QAMlB,GAHA9qE,GAAYmpC,YAAcr0B,KAAOyjB,EAAOnG,KAAKrd,OAAO,cACpD/U,GAAYoyB,IAAMtd,KAAOyjB,EAAOnG,KAAKrd,OAAO,cAC5C/U,GAAY8zB,UAAYhf,KAAOyjB,EAAOnG,KAAKrd,OAAO,cAC9Cg2D,EAAgB,CAClB,IAAI99D,EAA0BrT,KAAKC,MACjCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAwC5D,GAtCA2M,EAA0B,CACxBwD,sBAAuBzQ,GAAYyQ,sBACnCxQ,MAAOD,GAAYC,MACnBsQ,cAAevQ,GAAYwQ,cAC3B4hB,IAAKpyB,GAAYoyB,IACjB0B,UAAW9zB,GAAY8zB,UACvBnvC,IAAK4zC,EAAO5zC,IACZmrB,mBAAoB9P,GAAY8P,mBAChC6jB,OAAQ3zB,GAAY0Q,OACpBmjB,QAAS7zB,GAAYikB,KAAKjnB,MAC1ByE,OAAQzB,GAAYikB,KAAKxiB,OACzBwQ,WAAYjS,GAAYyM,gBAAgBwF,WACxCib,QAASltB,GAAYyM,gBAAgBygB,QACrCjL,gBACuD,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC6N,aAAcnO,GAAYmO,aAC1ByB,OAAO,EACPie,OAAO,EACPqW,UAAWlkC,GAAYkkC,UACvB1H,UAAWx8B,GAAYw8B,UACvB7O,UAAU,EACVvd,SAAUpQ,GAAYyM,gBAAgB2D,SACtCvG,aAAc7J,GAAY6J,aAC1BgX,YAAa7gB,GAAY6gB,YACzBpW,QAASzK,GAAYyK,QACrBuW,YAAahhB,GAAYghB,YACzBF,gBAAiB9gB,GAAY8gB,iBAE/B1gB,OAAOC,aAAa6M,QAClB,eACAlN,GAAYyM,gBAAgB2D,UAE9BhQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAGfmG,EAAO2yD,gBACU,QAAX,OAAN3yD,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,YACS/lF,KAAX,OAANmwB,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,MAER,IAAI,OAAC51D,QAAD,IAACA,OAAD,EAACA,EAAQ42D,SAAiC,IAAxBjF,EAqBf,CAELa,IAAc,GAId,IAAI8E,EAAgBxpF,GAChB+0D,EAAc,OAAGy0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WAClC,SAACvB,GAAD,MAA8B,UAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,WAElB01D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOC,EAAgB,IAC9D,IAAIC,EAAe,OAAGw0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCk2D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOE,EAAiB,IAC/D,IAAIy0B,EAAe,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCs2D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAO20B,EAAiB,IAC/D,IAAIC,EAAe,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaO,OAEzC+qF,EAAkB,IAAgB,OAAbF,QAAa,IAAbA,KAAe10B,OAAO40B,EAAiB,KAC5D,OAACF,QAAD,IAACA,OAAD,EAACA,EAAe7gF,SAASjJ,MAC3B8pF,EAAcx8D,KAAKttB,IACrBof,GAAY+P,gBAAkB26D,MA9CoB,CAClD,IAAIA,EAAgBxpF,GAChB+0D,EAAc,OAAGy0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WAClC,SAACvB,GAAD,MAA8B,UAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,WAElB01D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOC,EAAgB,IAC9D,IAAIC,EAAe,OAAGw0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCk2D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOE,EAAiB,IAC/D,IAAIy0B,EAAe,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCs2D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAO20B,EAAiB,IAC/D,IAAIC,EAAe,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaO,OAEzC+qF,EAAkB,IAAgB,OAAbF,QAAa,IAAbA,KAAe10B,OAAO40B,EAAiB,KAC5D,OAACF,QAAD,IAACA,OAAD,EAACA,EAAe7gF,SAASjJ,MAC3B8pF,EAAcx8D,KAAKttB,IACrBof,GAAY+P,gBAAkB26D,EA6BlClD,IAAmB,GACnBwD,GAASF,EAAqB13D,QAE9B,GAA2B,GAAvB2xD,EAKFkG,GAAW,QACN,CACLjrE,GAAY6tB,OAAQ,EACpB7tB,GAAY4P,OAAQ,EACpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5CztB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBg+D,GAAW,MAWnB,SAAShB,GACPa,EACAC,EACA33D,IAGa,OAAXpT,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,iBAC0C,IAAvDxQ,GAAYo6B,YAAYuL,6BAC8B,IAAtD3lC,GAAYo6B,YAAYwL,0BAExB/zB,IACE,SAACxa,GAAc,IAAD,IACZ,GACEA,GACAA,EAAIS,OADJ,OAEAT,QAFA,IAEAA,GAFA,UAEAA,EAAKS,YAFL,aAEA,EAAWy/C,UAFX,OAGAlgD,QAHA,IAGAA,GAHA,UAGAA,EAAKS,YAHL,aAGA,EAAWy/C,OAAOC,kBAClB,CAAC,IAAD,EACIC,EAAa,OAAGpgD,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,aAAG,EAAWy/C,OAC/B,IACa,OAAXv3C,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,iBAC0C,IAAvDxQ,GAAYo6B,YAAYuL,6BAC8B,IAAtD3lC,GAAYo6B,YAAYwL,2BACN,OAAlB6R,IAHA,OAIAA,QAJA,IAIAA,OAJA,EAIAA,EAAeD,mBAEf,GAAkC,MAAjB,OAAbC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,cAtVN,SACvBtoC,EACA27D,EACA33D,GAEApT,GAAY4P,OAAQ,EACQ,UAAxBu3D,KACFl9E,QAAQC,IAAI,4BACZk9E,GAAuB,UAEzB,IAAMn6D,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAYqzB,UAAYjkB,EAAYurB,SAAWvrB,EAAYurB,SAAW,GACtE36B,GAAYuzB,WAAankB,EAAYwrB,UAAYxrB,EAAYwrB,UAAY,GACzE56B,GAAYyzB,SAAWrkB,EAAYuoC,SAAWvoC,EAAYuoC,SAAW,EAGrE,IAAMvoB,EAAYhgB,EAClBpP,GAAY61B,cAAchsB,aAA1B,UAA4CulB,EAAUwoB,WAAtD,YACExoB,EAAUyoB,YAAc,GAD1B,YAEIzoB,EAAU0oB,YAAc,IAC5B93C,GAAY61B,cAAchsB,aACxB7J,GAAY61B,cAAchsB,aAE5B7J,GAAY61B,cAAchV,YAA1B,UAA2CuO,EAAU2oB,WAArD,YACE3oB,EAAU4oB,YAAc,GAD1B,YAEI5oB,EAAU6oB,YAAc,IAC5Bj4C,GAAY61B,cAAchV,YACxB7gB,GAAY61B,cAAchV,YAC5B7gB,GAAY61B,cAAcvzB,QAAU8sB,EAAU8oB,YAC9Cl4C,GAAY61B,cAAc7U,YAAcoO,EAAU+oB,YAClDn4C,GAAYyM,gBAAgB8a,WAAa6H,EAAUgpB,WAC/ChpB,EAAUgpB,WACVp4C,GAAYyM,gBAAgB8a,WAChCta,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwBpD,aACtB7J,GAAY61B,cAAchsB,aAC5BoD,EAAwB3K,QAAUtC,GAAY61B,cAAcvzB,QAC5D2K,EAAwB4T,YAAc7gB,GAAY61B,cAAchV,YAChE5T,EAAwB+T,YAAchhB,GAAY61B,cAAc7U,YAChE/T,EAAwBsa,WAAavnB,GAAYyM,gBAAgB8a,WACjEta,EAAwB6T,gBACtB9gB,GAAY61B,cAAchsB,cAC1B7J,GAAY61B,cAAchV,YAMxBkqD,IACF99D,EAAwBtoB,IAAxB,OAA8Bqb,SAA9B,IAA8BA,QAA9B,EAA8BA,GAAayM,gBAAgB9nB,IAC3DsoB,EAAwBwD,sBAAxB,OACEzQ,SADF,IACEA,QADF,EACEA,GAAayQ,sBACfxD,EAAwBsD,cAAgBvQ,GAAYwQ,cACpDvD,EAAwBmzB,gBAAxB,OAA0CpgC,SAA1C,IAA0CA,QAA1C,EAA0CA,GAAaogC,gBACvDnzB,EAAwBhN,MAAxB,OAAgCD,SAAhC,IAAgCA,QAAhC,EAAgCA,GAAaC,MAC7CgN,EAAwB0mB,OAAS3zB,GAAY0Q,QAE/CtQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBjN,GAAYmpC,YAAcr0B,KAAOyjB,EAAOnG,KAAKrd,OAAO,cAChDg2D,EACFP,GAAWp3D,GAAQ,WACjBxF,EAAQM,KAAK5uB,GAAaE,YAEvByrF,GAAW,IAAI,GAAM,GAmRhB5yB,CAAgB,OAACZ,QAAD,IAACA,OAAD,EAACA,EAAel+C,KAAMwxE,EAAgB33D,QACjD,GAAkC,MAAjB,OAAbqkC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAC5C13C,GAAYmO,cAAe,EAE3B,IAAMlB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBigB,QACtBltB,GAAYyM,gBAAgBygB,QAC9BjgB,EAAwB6C,mBACtB9P,GAAY8P,mBACd7C,EAAwBsD,cACtBvQ,GAAYwQ,cACdvD,EAAwB6mB,UAAY9zB,GAAY8zB,UAChD7mB,EAAwB+mB,OACtBh0B,GAAYo6B,YAAYnG,WAC1BhnB,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBmlB,IAAMpyB,GAAYoyB,IAC1CnlB,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MACnDiQ,EAAwBkB,aAAenO,GAAYmO,aACnDlB,EAAwB2C,MAAQ5P,GAAYo6B,YAAYsM,MACxDz5B,EAAwB4gB,MAAQ7tB,GAAYo6B,YAAY5F,MAExDvnB,EAAwBgV,gBAC+B,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC2M,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBxL,OAASzB,GAAYikB,KAAKxiB,OAClDwL,EAAwBtoB,IAAM4zC,EAAO5zC,IACrCsoB,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwBi3B,UAAYlkC,GAAYkkC,UAChDj3B,EAAwBmB,SAAW,GAEnChO,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBT,GAA2B,OAACirC,QAAD,IAACA,OAAD,EAACA,EAAel+C,MACvCwxE,GAAgBP,KACpB58D,EAAQM,KAAK5uB,GAAaE,cACrB,GAAkC,MAAjB,OAAbi4D,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAC5C13C,GAAY6P,gBAAiB,EAC7B7P,GAAY6tB,OAAQ,EACpB7tB,GAAY4P,OAAQ,EACpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBigB,QACtBltB,GAAYyM,gBAAgBygB,QAC9BjgB,EAAwB6C,mBACtB9P,GAAY8P,mBACd7C,EAAwBsD,cACtBvQ,GAAYwQ,cACdvD,EAAwB6mB,UAAY9zB,GAAY8zB,UAChD7mB,EAAwB+mB,OACtBh0B,GAAYo6B,YAAYnG,WAC1BhnB,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBmlB,IAAMpyB,GAAYoyB,IAC1CnlB,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MACnDiQ,EAAwBkB,aAAenO,GAAYmO,aACnDlB,EAAwBpD,aAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBC,sBAC9CtrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBE,sBAC9CvrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBG,sBAC9CxrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBI,sBAC9CzrC,EAAwB6T,gBACuB,QAAhC,OAAb22B,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,4BACyBjsC,KAAhC,OAAbw0D,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,wBADpB,OAEIuoB,QAFJ,IAEIA,OAFJ,EAEIA,EAAel+C,KAAK21B,sBAE1BjiB,EAAwB4T,YAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BC,2BACnD3rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BE,2BACnD5rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BG,2BACnD7rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BI,2BACnD/4C,GAAY6J,aAAeoD,EAAwBpD,aACnD7J,GAAY6gB,YAAc5T,EAAwB4T,YAClD7gB,GAAYyK,QAAZ,OACEgtC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBU,iBAC9Ch5C,GAAYghB,YAAZ,OACEy2B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BM,sBACnDj5C,GAAY8gB,gBACmC,QAAhC,OAAb22B,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,4BACyBjsC,KAAhC,OAAbw0D,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,wBADpB,OAEIuoB,QAFJ,IAEIA,OAFJ,EAEIA,EAAel+C,KAAK21B,sBAE1BjiB,EAAwBgV,gBAC+B,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC2M,EAAwBxC,QAAxB,OACEgtC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBU,iBAC9C/rC,EAAwB+T,YAAxB,OACEy2B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BM,sBACnDhsC,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBxL,OAASzB,GAAYikB,KAAKxiB,OAClDwL,EAAwBtoB,IAAM4zC,EAAO5zC,IACrCsoB,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwBi3B,UAAYlkC,GAAYkkC,UAChDj3B,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5C5gB,EAAwB4C,eACtB7P,GAAY6P,eACdzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEb89D,GAAgBP,KACpB58D,EAAQM,KAAK5uB,GAAaE,eAG5BqrF,GAAmBC,EAAqBC,EAAgB33D,GAG1D+yD,GAAgB,OAAC9uE,QAAD,IAACA,OAAD,EAACA,EAAKS,WAEtB+yE,GAAmBC,EAAqBC,EAAgB33D,GACxD+yD,GAAiB,QAGrB,CACEhtB,SAAQ,OAAEn5C,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cACvBrlB,IAAI,cAAD,cAAgB6U,SAAhB,IAAgBA,QAAhB,EAAgBA,GAAawQ,iBAIpCq6D,GAAmBC,EAAqBC,EAAgB33D,GAG1DnpB,QAAQC,IAAI,cAAe66E,GAsE7B,IAAM3rB,GAAiB,SAAC/hD,EAAUyzE,GAChC,IAAKzzE,GAAOA,EAAIR,OAEd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CAAEG,OAAQ,gBAAiBlpB,MAAO,oBAC7Cw9E,GAASF,OACJ,CAAC,IAAD,EACC17D,EAAc/X,EAAIS,MACxB,UAAIsX,EAAYiqC,oBAAhB,aAAI,EAA0BxvD,SAAS,iBACrC6jB,GAAa,GAGblD,EAAW6C,GAAoB,IAAMhW,EAAIR,OAAS,KAClDyT,EAAU,2BAAKD,GAAN,IAAc+nB,IAAKvtB,GAAShK,QAErCxG,GAAc+a,EAAa07D,KAmD3Bv6B,GAAiB,WAAO,IAAD,MACvBC,EAAyB,GAC7B,GACqC,QAAxB,OAAXxwC,SAAW,IAAXA,IAAA,UAAAA,GAAaikB,YAAb,eAAmBnR,mBACgB7vB,KAAxB,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAaikB,YAAb,eAAmBnR,cACgB,MAAxB,OAAX9S,SAAW,IAAXA,IAAA,UAAAA,GAAaikB,YAAb,eAAmBnR,aACnB,CAAC,IAAD,EACA09B,EAAc,OAAGxwC,SAAH,IAAGA,IAAH,UAAGA,GAAaikB,YAAhB,aAAG,EAAmBnR,gBAC/B,CACL,IAAM29B,EAAarwC,OAAOkO,eAAehO,QAAQ,cAO/CkwC,EALqB,OAArBxD,QACqB/pD,IAArB+pD,GACqB,KAArBA,IACgB,OAAhBA,QAAgB,IAAhBA,OAAA,EAAAA,EAAkBrpD,QAAS,EAEVqpD,EAEE,QAAfyD,EACe,IAEA,KAKvB,OAAOD,GAEH06B,GAAqB,WAOzB,MALwB,KAApB36B,KACgB,EAEA,GAItB,SAAS06B,GACPE,EACAL,EACAM,GAEoBxxC,GAAmB5X,EAAW,mBACjC5hB,OAAOkO,eAAehO,QAAQ,cAD/C,IAEM+qE,EAAY,CAChB36D,OAAQ1Q,GAAY0Q,OACpBmjB,QAAS7zB,GAAYikB,KAAKjnB,MAC1Bu8C,SAAUv5C,GAAYikB,KAAKxiB,OAC3B6pE,cAAelG,EACfrzD,MAAOwmB,EAAO5zC,IACdytC,IAAKpyB,GAAYmpC,YAWjBoiC,QAASh7B,KACTi7B,SAAU,EACVC,SAAQ,OAAElzC,QAAF,IAAEA,OAAF,EAAEA,EAAQhyB,UAClBmlE,SAAQ,OAAEnzC,QAAF,IAAEA,OAAF,EAAEA,EAAQiH,WAClBmsC,SAAQ,OAAEpzC,QAAF,IAAEA,OAAF,EAAEA,EAAQ9xB,SAClBmlE,UAAWrzC,EAAO4sC,WAClB0G,eAAgBpG,GAChBqG,gBAAiBjH,EACjB3xD,gBAA0C,OAAzBg4D,KAAgCA,KAAuB,EACxE5tD,UACEyoD,KAAmB,OAACf,QAAD,IAACA,OAAD,EAACA,EAAS1nD,aAA7B,OAA0C0nD,QAA1C,IAA0CA,OAA1C,EAA0CA,EAAS1nD,WAC/CnxB,SAAQ,OAAC64E,QAAD,IAACA,OAAD,EAACA,EAAS1nD,WAClB,EACN4C,cACE6lD,KAAmB,OAACf,QAAD,IAACA,OAAD,EAACA,EAAS1nD,aAA7B,OAA0C0nD,QAA1C,IAA0CA,OAA1C,EAA0CA,EAAS1nD,aAIvDrzB,QAAQC,IAAI,sBvCr0DkB,SAChCyV,EACA0rE,GAEA5rE,GACE,CACEkB,IAAK,yBACLd,OAAQ,OACRtQ,KAAK,2BACA87E,GADD,IAEFU,cAAeV,EAAUC,cAEzBU,YAAaX,EAAUY,cAEzBxrE,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAamD,mBAE5BuL,GuCozDAusE,EACE,SAAC70E,GAAD,OAuBJ,SACEA,EACA8zE,EACAL,EACArzB,GAGA,GADAxtD,QAAQC,IAAI,qCAAsCihF,EAAQ,KAAM9zE,IAC3DA,GAAOA,EAAIR,MACd5M,QAAQC,IAAI,8BAGZ,OAAImjB,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CAAEG,OAAQ,oBAAqBlpB,MAAO,oBACjDkgB,GAAa,QAGb,GADAzjB,QAAQC,IAAI,6BACRmN,EAAIS,MAAQT,EAAIS,KAAKmZ,OAAQ,CAC/BjR,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAC9BjR,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYwQ,cAAgBnZ,EAAIS,KAAKq0E,cACrCnsE,GAAYyQ,sBAAwBpZ,EAAIS,KAAKkZ,sBAC7ChR,GAAY8P,mBACc,QAAxByoB,EAAO2sC,aACTllE,GAAYyM,gBAAgB9nB,IAAM4zC,EAAO5zC,IAGzC,IAAIynF,EAAa,CACfl7D,MAAK,OAAEqnB,QAAF,IAAEA,OAAF,EAAEA,EAAQ5zC,IACfknD,gBAAqC,KAApB0E,KAA0B,EAAI,EAC/C7E,OAAM,OAAEs5B,QAAF,IAAEA,OAAF,EAAEA,EAAS1nD,WAEf+uD,EAAmBzyE,KAAK2G,UAAU6rE,GAChCE,EAAa95B,KAAK65B,GACpBE,EAAY,oBAAgBD,GAE1B9vC,EAAS,UAAM7sC,GAAOC,MAAb,OAAoB28E,GACnCvsE,GAAYw8B,UAAYA,EACxB,IAAMgwC,EAAY,CAChB/7D,sBAAuBzQ,GAAYyQ,sBACnCF,cAAevQ,GAAYwQ,eAS7B,GAPApQ,OAAOkO,eAAepB,QACpB,gBACAtT,KAAK2G,UAAUisE,IAIjBviF,QAAQC,IAAI,4BAA6B8V,IACpB,GAAjBy3C,EAAuB,CACzB,IAAMxqC,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwBsD,cAAgBvQ,GAAYwQ,cACpDvD,EAAwBmlB,IAAMpyB,GAAYoyB,IAC1CnlB,EAAwB6mB,UAAY9zB,GAAY8zB,UAChD7mB,EAAwBtoB,IAAM4zC,EAAO5zC,IACrCsoB,EAAwB6C,mBACtB9P,GAAY8P,mBACd7C,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MACnDiQ,EAAwBxL,OAASzB,GAAYikB,KAAKxiB,OAClDwL,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBigB,QAAUltB,GAAYyM,gBAAgBygB,QAC9DjgB,EAAwBgV,gBAC+B,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC2M,EAAwBi3B,UAAYlkC,GAAYkkC,UAChDj3B,EAAwBuvB,UAAYx8B,GAAYw8B,UAChDvvB,EAAwB0gB,UAAW,EACnC1gB,EAAwBmD,SACtBpQ,GAAYyM,gBAAgB2D,SAC9BhQ,OAAOC,aAAa6M,QAClB,eACAlN,GAAYyM,gBAAgB2D,UAE9BhQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAK5uB,GAAaE,aACrB,CACL,GAAKmnF,IAyCH,GACEZ,IACuB,QAAhB,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,WAET,IAA4B,IAAxBynD,EAA8B,CAChC,IAAI2F,EAAgBxpF,GAChB60D,EAAyB,OAAG70D,SAAH,IAAGA,QAAH,EAAGA,GAAiB0I,WAC/C,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCo2D,EAA4B,IACjB,OAAb20B,QAAa,IAAbA,KAAe10B,OAAOD,EAA2B,IACnD,IAAIE,EAAc,OAAGy0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WAClC,SAACvB,GAAD,MAA8B,UAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,WAElB01D,EAAiB,IACN,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOC,EAAgB,IACxC,IAAIC,EAAe,OAAGw0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCk2D,EAAiB,IACN,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOE,EAAiB,IACzC,IAAIy0B,EAAe,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCs2D,EAAiB,IACN,OAAby0B,QAAa,IAAbA,KAAe10B,OAAO20B,EAAiB,IACzC,IAAIC,EAAe,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaO,OAEzC+qF,EAAkB,IACP,OAAbF,QAAa,IAAbA,KAAe10B,OAAO40B,EAAiB,KACrC,OAACF,QAAD,IAACA,OAAD,EAACA,EAAe7gF,SAASjJ,MAC3B8pF,EAAcx8D,KAAKttB,IACrBof,GAAY+P,gBAAkB26D,MACzB,CAEL9E,IAAc,GAId,IAAI8E,EAAgBxpF,GAChB+0D,EAAc,OAAGy0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WAClC,SAACvB,GAAD,MAA8B,UAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,WAElB01D,EAAiB,IACN,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOC,EAAgB,IACxC,IAAIC,EAAe,OAAGw0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCk2D,EAAiB,IACN,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOE,EAAiB,IACzC,IAAIy0B,EAAe,OAAGD,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCs2D,EAAiB,IACN,OAAby0B,QAAa,IAAbA,KAAe10B,OAAO20B,EAAiB,IACzC,IAAIC,EAAe,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaO,OAEzC+qF,EAAkB,IACP,OAAbF,QAAa,IAAbA,KAAe10B,OAAO40B,EAAiB,KACrC,OAACF,QAAD,IAACA,OAAD,EAACA,EAAe7gF,SAASjJ,MAC3B8pF,EAAcx8D,KAAKttB,IACrBof,GAAY+P,gBAAkB26D,OAzGlB,CAChB,GACE3F,IACqB,KAApBx0B,MAAuD,MAArB,OAAPy0B,QAAO,IAAPA,OAAA,EAAAA,EAAS9xD,kBACrC,CAMA,IAAIw3D,EAAgBxpF,GAChB60D,EAAyB,OAAG70D,SAAH,IAAGA,QAAH,EAAGA,GAAiB0I,WAC/C,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaK,YAEzCo2D,EAA4B,IACjB,OAAb20B,QAAa,IAAbA,KAAe10B,OAAOD,EAA2B,IACnD,IAAIE,EAAc,OAAGy0B,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WAClC,SAACvB,GAAD,MAA8B,UAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,WAElB01D,EAAiB,IAAgB,OAAby0B,QAAa,IAAbA,KAAe10B,OAAOC,EAAgB,KAE1D,OAACy0B,QAAD,IAACA,OAAD,EAACA,EAAe7gF,SAASjJ,MAC3B8pF,EAAcx8D,KAAKttB,IACrBof,GAAY+P,gBAAkB26D,EAEhC,IAAI+B,EAAYnJ,GAChBmJ,EAAUC,WAAWlrE,cAAgBxB,GAAYwQ,cACjDk2D,GAAU+F,GACVE,GAAcrJ,GAAOh7E,IAAKg7E,GAAO9nD,SAAU8nD,GAAOj8E,GAAIi8E,GAAOl8E,MAkF/D,IAAM6lB,EAA0B,CAC9BwD,sBAAuBzQ,GAAYyQ,sBACnCxQ,MAAOD,GAAYC,MACnBsQ,cAAevQ,GAAYwQ,cAC3B4hB,IAAKpyB,GAAYoyB,IACjB0B,UAAW9zB,GAAY8zB,UACvBnvC,IAAK4zC,EAAO5zC,IACZmrB,mBAAoB9P,GAAY8P,mBAChC6jB,OAAQ3zB,GAAY0Q,OACpBmjB,QAAS7zB,GAAYikB,KAAKjnB,MAC1ByE,OAAQzB,GAAYikB,KAAKxiB,OACzBwQ,WAAYjS,GAAYyM,gBAAgBwF,WACxCib,QAASltB,GAAYyM,gBAAgBygB,QACrCjL,gBACuD,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC6N,aAAcnO,GAAYmO,aAC1ByB,OAAO,EACPie,OAAO,EACPqW,UAAWlkC,GAAYkkC,UACvB1H,UAAWx8B,GAAYw8B,UACvB7O,UAAU,EACVvd,SAAUpQ,GAAYyM,gBAAgB2D,SACtCmX,WAAU,OAAEgR,QAAF,IAAEA,OAAF,EAAEA,EAAQ4sC,YAEtB/kE,OAAOC,aAAa6M,QAClB,eACAlN,GAAYyM,gBAAgB2D,UAE9BhQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAsrCzB,SAAqBk+D,GAGf,EAiBJ,GAC0B,OAAxBpG,QACwB9hF,IAAxB8hF,GACuB,GAAvBA,EACA,CACAr3D,GAAa,GACb,IAAM0F,EAAS,CACbE,IAAI,GAAD,OAAKwB,KAAOyjB,EAAOnG,KAAKrd,OAAO,eAClCpE,MAAO4nB,EAAO5zC,IACd4rB,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAE5DC,OAAQ1Q,GAAY0Q,OACpB6C,UACEwyD,KAAmB,OAACf,QAAD,IAACA,OAAD,EAACA,EAAS1nD,aAA7B,OAA0C0nD,QAA1C,IAA0CA,OAA1C,EAA0CA,EAAS1nD,WAC/CnxB,SAAQ,OAAC64E,QAAD,IAACA,OAAD,EAACA,EAAS1nD,WAClB,GAERnK,IACE,SAAC9b,GAAD,OACE+hD,GACE/hD,EAC+B,QAApB,OAAX2I,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,qBACoBvtB,KAApB,OAAX+c,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,kBAInB4C,OAEG,CACLyyD,IAAkB,GAClB7lE,GAAY6P,gBAAiB,EAC7B,IAAM5C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB4C,eAAiB7P,GAAY6P,eACrDzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBS,GAAa,IA/uCTk/D,SAyGF,OAAIv/D,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B6W,GAAa,GA/Wbm/D,CAAuBx1E,EAAK8zE,EAAQL,EAAqBM,KAC3DC,GAGJ,IAAM9rC,GAAU,SAACnN,GACf,IAAM+Q,EAAQ,IAAIvvB,KACZkgB,EAAY,IAAIlgB,KAAKwe,GACrBiR,EAAMF,EAAM9uB,cAAgByf,EAAUzf,cACtCy4D,EAAY3pC,EAAMI,WAAazP,EAAUyP,WACzCwpC,EAAU5pC,EAAMK,UAAY1P,EAAU0P,UAG5C,OAAIspC,EAAY,GAAoB,IAAdA,GAAmBC,EAAU,EAC1C1pC,EAAM,EAAI,GAGfA,EAAM,IA2WZ,SAASsT,GAAmBt/C,GAC1B,IAAKA,GAAOA,EAAIR,OAGd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,oBAClDkgB,GAAa,QAEb,GAAIrW,GAAoB,OAAV,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKS,MAAc,CAE5BuZ,IACE,SAACha,GAAD,OAAc20C,GAAsB30C,GAFI,KAGxC2I,GAAYwQ,oBAET,GAAInZ,GAAoB,OAAbA,EAAIS,KAAe,CACnC,IAAM5P,EAAmB0R,KAAKC,MAAMxC,EAAIS,MAAMzP,QAC5C,SAACW,GAAD,OAOoB,GAAlBA,EAAK4tD,aAELrB,GAAsC,EACtB,IAAhBrtD,EAAKvE,QAAkC,IAAlBuE,EAAK,GAAG6uD,QAC/BxB,GAA6B,GAEdv1C,GAAYwQ,cACHxQ,GAAYyQ,sBAMtCY,IACE,SAACha,GAAD,OAAc20C,GAAsB30C,EAAKk+C,KACzCv1C,GAAYwQ,oBAId,OAAInD,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B6W,GAAa,GAKnB,SAASs+B,GACP30C,EACAk+C,GAEA,IAAKl+C,GAAOA,EAAIR,OAGd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETkgB,GAAa,QAEb,GAAIrW,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAEnC0tC,GAAap2B,GAGbkmC,GAAwBC,GACxBkxB,GAAuBr3D,EAAY03B,qBACnC0/B,IAAqB,SAACuD,GAKpB,OAJAA,EAAkBzD,gBAAlB,OACEl3D,QADF,IACEA,OADF,EACEA,EAAau2B,2BACfokC,EAAkBxD,eAAlB,OACEn3D,QADF,IACEA,OADF,EACEA,EAAaw2B,0BACRmkC,KAGPhE,IACuB,QAAhB,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,WAILlO,EAAYw2B,2BACZx2B,EAAYu2B,6BAGd3lC,GAAYqqC,oBAAsB/qD,GAAaE,SAE7C4vB,EAAYk3B,wBACdtmC,GAAYmO,cAAe,EAC3BlkB,QAAQC,IAAI,4BACZk9E,GAAuB,iBAIvBh4D,EAAYs3B,QACd1mC,GAAY4P,OAAQ,EACpB3lB,QAAQC,IAAI,4BACZk9E,GAAuB,UAErBh4D,EAAYolB,QAAOx0B,GAAY6tB,OAAQ,GAWvCze,EAAYw2B,2BACZx2B,EAAYu2B,2BAINv2B,EAAY22B,uBAGa,KAAtB,OAAX32B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,mBACb,OAAChxB,QAAD,IAACA,OAAD,EAACA,EAAa+3B,eAImB,KAAtB,OAAX/3B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,kBACXhxB,EAAY42B,6BACX52B,EAAY+2B,2BAGPoP,EAGPv1C,GAAYmO,cACZnO,GAAY4P,OACZ5P,GAAY6tB,OACZze,EAAY82B,0BAGN92B,EAAYg3B,sBACnBpmC,GAAYqqC,oBAAsBvoD,GAElCikF,IACuB,QAAhB,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,aACRlO,EAAYi3B,kBACoB,KAAtB,OAAXj3B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,kBAMHhxB,EAAYi3B,iBAJY,IAA9Bj3B,EAAYm3B,cACd34B,EAAQM,KAAKnsB,GAAUI,2BACc,IAA9BitB,EAAYm3B,eACnB34B,EAAQM,KAAKpsB,IAEfke,GAAYqqC,oBAAsB/qD,GAAaS,MAf/CigB,GAAYqqC,oBAAsB/qD,GAAaO,IAP/CmgB,GAAYqqC,oBAAsB/qD,GAAaM,IAF/CogB,GAAYqqC,oBAAsB/qD,GAAaI,KAN/CsgB,GAAYqqC,oBAAsB/qD,GAAaU,MAL/CggB,GAAYqqC,oBAAsB/qD,GAAaG,KAF/CugB,GAAYqqC,oBAAsB/qD,GAAaE,QA2C/CumF,IACuB,QAAhB,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,aACRlO,EAAYi3B,kBACoB,KAAtB,OAAXj3B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,iBAEqB,IAA9BhxB,EAAYm3B,eACd34B,EAAQM,KAAKnsB,GAAUI,2BAEzB8nF,IAAW,QAIb,OAAI58D,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B6W,GAAa,GApMnB1oB,IAAM6H,WAAU,WACV86E,IAAsD,iBAAxBR,IAChCK,IAAmB,KAEpB,CAACG,GAA4BR,KAoahC,SAAS9yE,GAAcgD,EAAUyzE,GAE/B,GADA7gF,QAAQC,IAAI,cAAemN,IACtBA,GAAOA,EAAIR,OAEd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CAAEG,OAAQ,gBAAiBlpB,MAAO,sBAC7Cw9E,GAASF,OACJ,CACL,IAAM17D,EAAc/X,EAAIS,KAAOT,EAAIS,KAAOT,EAC1C,GACE+X,GAC0B,OAA1BA,EAAYkqC,UAGZ,CACAt5C,GAAY4P,OAAQ,EACQ,UAAxBu3D,IACFC,GAAuB,SAEzB,IAAMn6D,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAU5D,GAPAN,GAAYqzB,UAAYjkB,EAAYurB,SAChCvrB,EAAYurB,SACZ,GACJ36B,GAAYuzB,WAAankB,EAAYwrB,UACjCxrB,EAAYwrB,UACZ,GACJ56B,GAAYyzB,SAAWrkB,EAAYuoC,SAAWvoC,EAAYuoC,SAAW,EACzC,GAAxBuzB,KACF,GACEnF,IACuB,QAAhB,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,gBAEJ,CACL,IAAIotD,EAAgBxpF,GAChB8rF,EAAe,OAAGtC,QAAH,IAAGA,OAAH,EAAGA,EAAe9gF,WACnC,SAACvB,GAAD,OAAkB,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQ9H,SAAUjB,GAAaS,SAEzCitF,EAAkB,IAAgB,OAAbtC,QAAa,IAAbA,KAAe10B,OAAOg3B,EAAiB,KAC5D,OAACtC,QAAD,IAACA,OAAD,EAACA,EAAe7gF,SAAS/I,MAC3B4pF,EAAcx8D,KAAKptB,IACrBkf,GAAY+P,gBAAkB26D,EAKlC,IAAMt7C,EAAYhgB,EAClBpP,GAAY61B,cAAchsB,aAA1B,UAA4CulB,EAAUwoB,WAAtD,YACExoB,EAAUyoB,YAAc,GAD1B,YAEIzoB,EAAU0oB,YAAc,IAC5B93C,GAAY61B,cAAchsB,aACxB7J,GAAY61B,cAAchsB,aAE5B7J,GAAY61B,cAAchV,YAA1B,UAA2CuO,EAAU2oB,WAArD,YACE3oB,EAAU4oB,YAAc,GAD1B,YAEI5oB,EAAU6oB,YAAc,IAC5Bj4C,GAAY61B,cAAchV,YACxB7gB,GAAY61B,cAAchV,YAC5B7gB,GAAY61B,cAAcvzB,QAAU8sB,EAAU8oB,YAC9Cl4C,GAAY61B,cAAc7U,YAAcoO,EAAU+oB,YAClDn4C,GAAYyM,gBAAgB8a,WAAa6H,EAAUgpB,WAC/ChpB,EAAUgpB,WACVp4C,GAAYyM,gBAAgB8a,WAChCta,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwBpD,aACtB7J,GAAY61B,cAAchsB,aAC5BoD,EAAwB3K,QAAUtC,GAAY61B,cAAcvzB,QAC5D2K,EAAwB4T,YACtB7gB,GAAY61B,cAAchV,YAC5B5T,EAAwB+T,YACtBhhB,GAAY61B,cAAc7U,YAC5B/T,EAAwBsa,WACtBvnB,GAAYyM,gBAAgB8a,WAC9Bta,EAAwB6T,gBACtB9gB,GAAY61B,cAAchsB,cAC1B7J,GAAY61B,cAAchV,YAQ5BzgB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBk8D,KACA5yD,GAAW,CAAEG,OAAQ,UAAWlpB,MAAO,kBACvCg6E,IAAmB,GAEjBzB,IACuB,QAAhB,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YAET+qD,GAAgB,CACdJ,UAAW,GACXC,eAAgB,EAChBC,kBAAmB,IAErBz6D,GAAa,IAEbA,GAAa,QAQf,GAAK1N,GAAY4P,MAoCVo7D,GAASF,QAlCd,GADA7gF,QAAQC,IAAI,4BAEV67E,IACuB,QAAhB,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,WACT,CACAuoD,IAAkB,GAClB2B,IAAmB,GACnBxnE,GAAY6P,gBAAiB,EAC7B,IAAM5C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB4C,eAAiB7P,GAAY6P,eACrDzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBS,GAAa,GACbE,EAAQM,KAAR,OAAa5uB,SAAb,IAAaA,QAAb,EAAaA,GAAcC,iBACtB,CACL6nF,GAAuB,gBAEvBvB,IAAkB,GAClB7lE,GAAY6P,gBAAiB,EAC7B,IAAM5C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB4C,eAAiB7P,GAAY6P,eACrDzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBS,GAAa,GACbs9D,GAASF,KAOnB,IAWMmC,GAAwB,SAAC51E,EAAUigD,GAYf,IAAD,kBAyBZ,OApCNjgD,GAAOA,EAAIR,QACd,OAAI4wE,SAAJ,IAAIA,QAAJ,EAAIA,GAAe59E,SAASwN,EAAIR,QAC9B6wE,GAAiBD,IAEjBC,GAAiBD,GAAgBpwE,EAAIR,OAEvC6W,GAAa,IAKTrW,GAAOA,EAAIS,OACOT,EAAIS,KAEtBT,GACAA,EAAIS,OACe,OAAlB,UAAAT,EAAIS,YAAJ,eAAUub,MACU,OAAnB,UAAAhc,EAAIS,YAAJ,eAAU4sE,OACc,OAAxB,UAAArtE,EAAIS,YAAJ,eAAU2sE,YACkB,OAA5B,UAAAptE,EAAIS,YAAJ,eAAU6sE,kBAEZuB,IAA6B,GAC7BwB,GAlCuB,SAACvwE,GAC9B,IAAII,EAAS,GAOb,OANAiX,OAAOtgB,KAAKs2E,IAAsBv4E,SAAQ,SAAC6Q,GACrB,MAAhB3F,EAAS2F,KAEXvF,EAASA,EAAS,KAAOJ,EAASqtE,GAAqB1nE,QAGpDvF,EA0BgB21E,CAAuB71E,EAAIS,QAG5CitE,EAD+B,OAA1B,OAAH1tE,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAW6sE,eAMZttE,GAAOA,EAAIS,MAA0B,OAAlB,UAAAT,EAAIS,YAAJ,eAAUub,MACX,OAAnB,UAAAhc,EAAIS,YAAJ,eAAU4sE,OACc,OAAxB,UAAArtE,EAAIS,YAAJ,eAAU2sE,YACkB,OAA5B,UAAAptE,EAAIS,YAAJ,eAAU6sE,eAEVj3D,GAAa,IAEbw4D,IAA6B,GAG3B3tC,EAAO5zC,OAAP,OAAeojF,SAAf,IAAeA,QAAf,EAAeA,GAAoBoF,YACnCr4D,KAAOyjB,EAAOnG,KAAKrd,OAAO,iBAA1B,OACEgzD,SADF,IACEA,QADF,EACEA,GAAoBqF,eAEtBxH,IAAc,GAEdA,IAAc,GAGhBwE,GAAc,OACZ/yE,QADY,IACZA,GADY,UACZA,EAAKS,YADO,aACZ,EAAW6sE,cADC,OAEZttE,QAFY,IAEZA,GAFY,UAEZA,EAAKS,YAFO,aAEZ,EAAWwyE,iBAFC,OAGZjzE,QAHY,IAGZA,GAHY,UAGZA,EAAKS,YAHO,aAGZ,EAAW2sE,cAMf4E,GAAgB,SACpBgE,EAMA/1B,IvChgG4B,SAC9B33C,EACA0tE,GAOA5tE,GACE,CACEkB,IAAK,0BACLd,OAAQ,OACRtQ,KAAM89E,EACN5sE,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAauF,kBAE5BmJ,GuCg/FAnJ,EAAiB,SAACa,GAChB41E,GAAsB51E,KACrBg2E,IAEL,SAASrC,GAASF,EAA0C13D,GAC1D+1D,KACA5yD,GAAW,CAAEG,OAAQ,UAAWlpB,MAAO,kBACvC,IAAMyf,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DrW,QAAQC,IACN,mBACA+iB,EAAwB+mB,OACxB,KACA/mB,EAAwB2C,OAE1B3lB,QAAQC,IAAI,kBAAmBq9E,IAC3BA,KAECt6D,EAAwB+mB,QACU,KAAnC/mB,EAAwB+mB,QACvB/mB,EAAwB2C,MAYhBk7D,GACT7gF,QAAQC,IAAI,sBACZ0jB,EAAQM,KAAKlO,GAAYqqC,uBAIzBpgD,QAAQC,IAAI,sBACPmjB,GAA8B,IAAnBA,EAAQ1pB,QACtBiqB,EAAQM,KAAK5uB,GAAaE,WAlB5ByK,QAAQC,IAAI,oBAEV67E,IACuB,QAAhB,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACar6B,IAAf,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,WAET1P,EAAQM,KAAK5uB,GAAaE,SAE1BouB,EAAQM,KAAKpsB,MAcjBikF,IACuB,QAAhB,OAAPf,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACar6B,IAAf,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACTwtD,GAEAl9D,EAAQM,KAAKlO,GAAYqqC,qBAGd,OAAXj3B,QACWnwB,IAAXmwB,IADA,OAEAA,QAFA,IAEAA,OAFA,EAEAA,EAAQ2yD,iBACS,QAAX,OAAN3yD,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,YACQ/lF,IAAV,OAANmwB,QAAM,IAANA,OAAA,EAAAA,EAAQ41D,OACR8B,GAEAl9D,EAAQM,KAAKlO,GAAYqqC,qBAEtBk9B,KACHC,IAAmB,GACnB95D,GAAa,IA6HjB,IAAMi/D,GAAgB,SACpBrkF,EACAkzB,EACAn0B,EACAD,GACI,IAAD,IACC21B,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAEwmB,QAAF,IAAEA,OAAF,EAAEA,EAAQ5zC,KAEX6+E,EAA8B,CAClCxnD,mBAAkB,UAAEupC,GAAOvpC,0BAAT,aAAE,EAA2B5vB,WAC/CsvB,WAAU,UAAE6pC,GAAO7pC,kBAAT,aAAE,EAAmBtvB,WAC/BovB,SACE+pC,GAAO/pC,UAAqB,oBAATp0B,EAA6B,OAAS,QAC3Dg1B,eAAe,EACfR,SAAUx0B,EACVupB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCm3B,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEb0wD,EAAkB,CACpB9J,WAAYA,EACZzmD,UAAWA,EACX11B,GAAIA,EACJm0B,SAAUA,EACVp0B,KAAMA,GAIF+9C,GADkBvL,GAAmB5X,EAAW,mBAClC4X,GAAmB5X,EAAW,oBAElDokD,GAAmBkH,GACnBttE,GAAY0pC,UAAYq+B,IAjqGA,WACxB,IAAI3nF,EACDm4C,EAAOhyB,UAAuBgyB,EAAOiH,WAAajH,EAAO9xB,SAE5D,OACE8xB,EAAO5zC,OAAP,OAAeojF,SAAf,IAAeA,QAAf,EAAeA,GAAoBoF,YACnCr4D,KAAOyjB,EAAOnG,KAAKrd,OAAO,iBAA1B,OACEgzD,SADF,IACEA,QADF,EACEA,GAAoBqF,gBACtBhtF,KAAI,OAAK2nF,SAAL,IAAKA,QAAL,EAAKA,GAAoBwF,aAAappF,QAAQ,MAAO,KA0pGvDqpF,GAGFhK,EAAW9mD,QAAS,EAFpB8mD,EAAW9mD,QAAS,EAItB6mD,GAAYr1D,KAAKs1D,GACjB6E,IAAgB,SAACoF,GACf,OAAO,2BACFA,GADL,IAEEvF,eAAgBuF,EAAKvF,eAAiB,EACtCD,UAAYwF,EAAKxF,UAAUp+E,SAAS25E,EAAWhoD,UAApC,YAEHiyD,EAAKxF,WAFF,sBACHwF,EAAKxF,WADF,CACazE,EAAWhoD,gBAIvC,IAAMwB,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAckmD,GACd7yD,OAAQ1Q,GAAY0Q,OACpBy0B,YAAaA,GAEfroB,IACE,SAACzlB,GAAD,OAAcq2E,GAAgBr2E,EAAKmsE,KACnCzmD,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,IAKEq+C,GAAmB,SACvBnyE,EACA7B,EACAm0B,EACAp0B,GACI,IACIo5D,EAAkBt3D,EAAlBs3D,OAAQkgB,EAAUx3E,EAAVw3E,MACZvuC,EAAa3d,KAAKC,MAAgB,IAAT+rC,EAAgBkgB,GACzCC,EAAO,eAAQpb,IACfpzB,EAAa,KACfwuC,EAAQt5E,GAAKA,EACbs5E,EAAQjrD,SAAU,EAClBirD,EAAQr/C,UAAY6Q,EACpBwuC,EAAQp/C,cAAe,EACvBo/C,EAAQn/C,UAAW,EACnBgkC,GAAUmb,IACc,MAAfxuC,IACTwuC,EAAQt5E,GAAKA,EACbs5E,EAAQjrD,SAAU,EAClBirD,EAAQr/C,UAAY6Q,EACpBwuC,EAAQn/C,UAAW,EACnBm/C,EAAQp/C,cAAe,EACvBo/C,EAAQnlD,SAAWA,EACnBmlD,EAAQ/kD,SAAWx0B,EACnBo+D,GAAUmb,KAKR+M,GAAkB,SAACr2E,EAAUmsE,GACjC,IAAKnsE,GAAOA,EAAIR,OAGd,OAAIwW,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3B0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,sBAClDkgB,GAAa,GACb24D,IAAe,OACV,CACDhvE,EAAIS,MAAQT,EAAIS,KAAKy/C,SACvBisB,EAAWhoD,SAAWnkB,EAAIS,KAAK6jE,MAEjC37D,GAAYgkC,eAAgB,EAC5BqiC,IAAe,GACf,IAAMp5D,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB+2B,cAAgBhkC,GAAYgkC,cACpD5jC,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,KAKW,IAAxB83D,GACF6C,IAA8B,GAEhCS,IAAgB,SAACoF,GAOf,OANAxjF,QAAQC,IACN,iBACAujF,EAAKxF,UACLzE,EAAWhoD,SACXiyD,EAAKxF,UAAU5/E,QAAO,SAACyU,GAAD,OAAeA,GAAK0mE,EAAWhoD,aAEhD,2BACFiyD,GADL,IAEEtF,kBAAmBsF,EAAKtF,kBAAoB,EAC5CF,UAAWwF,EAAKxF,UAAU5/E,QACxB,SAACyU,GAAD,OAAeA,GAAK0mE,EAAWhoD,mBAiDzCvxB,QAAQC,IACN,mBACA2lB,GACA,wBACA61D,GACA,kBACAC,GACA,mBACAtpB,IAoBFr3D,IAAM6H,WAAU,WACVg7E,IAAyB,IAAXx6D,GAChBi8D,OAED,CAACzB,GAAYx6D,IAgFhB,OACE,oCAIE,yBAAKzuB,UAAW,OAAS2P,EAAY,QAAU,KAC7C,yBAAK3P,UAAU,UACb,yBAAKA,UAAU,YAAYE,IAAKw1D,KAAWt1D,IAAI,YAEjD,yBAAKJ,UAAU,cACb,2DAEAmnF,IACA,yBAAKnnF,UAAU,WACb,+FAMJ,yBAAKA,UAAU,WACb,8BACE,8BAAU2I,SAAUgH,IAChBw3E,IACA,yBAAKnnF,UAAU,OACb,yBAAKA,UAAW2P,EAAY,cAAgB,IAC1C,yBAAK3P,UAAU,gBACb,yBAAKA,UAAU,aACb,2BAAOA,UAAU,yBAAjB,mBAGA,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,UACHk0B,OAAQgqC,GACRzI,8BAA+B,qBAC/BD,oBAzc1B,SACEv0D,EACAkzB,EACAn0B,EACAD,GAEA4/E,IAAyB,GACzBt5D,GAAa,GACb63C,GAAO9jC,OAAS,GAChB8jC,GAAO7pC,WAAa,EACpB6pC,GAAOvpC,mBAAqB,IAC5BupC,GAAOjkC,UAAY,IACnBkkC,GAAUD,IACV/6C,EAAW,IACX07D,IAA6B,GAC7B,IAAM5C,EAAS,CACb9hE,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChC6b,iBAAkB,WAClBv8B,WAAY+iE,GAAO7pC,WACnB3U,OAAQpkB,IAGV+jF,GAAU,CACRgG,WAAYpJ,EACZh7E,IAAKA,EACLkzB,SAAUA,EACVn0B,GAAIA,EACJD,KAAMA,I7BzjGkB,SAACuY,EAA4B4lD,GACzDt7D,QAAQC,IAAIq7D,EAAQ,kBACpB9lD,GACE,CACEkB,IAAK,UACLpR,KAAM,CACJkvB,gBAAiB8mC,EAAOpoC,eACxBuB,gBAAiB,GACjBC,WAAY,UACZC,aAAc,UACdC,OAAQ0mC,EAAOx+C,OACfrF,cAAe6jD,EAAO/jD,cACtBsd,iBAAkBymC,EAAOxmC,iBACzBtD,WAAY8pC,EAAO/iE,YAErBqd,OAAQ,OACRY,WAAY9Q,GAAOG,aAEnBsH,YAAanG,GAAa0B,wBAE5BgN,G6BwiGAguE,EAAe,SAACt2E,GAaN,IAAD,EACiB,EAIf,EAjBT,IAAKA,GAAOA,EAAIR,MACd6W,GAAa,IAGb,OAAIL,QAAJ,IAAIA,OAAJ,EAAIA,EAASxjB,SAASwN,EAAIR,QACxB2T,EAAW6C,GAEX7C,EAAW6C,EAAUhW,EAAIR,OAE3BiwE,IAAmB,GACnBE,IAAyB,QAGzB,UAAI3vE,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,aAAI,EAAWjB,MACb2T,EAAW6C,GAAO,OAAGhW,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,aAAG,EAAWjB,QAChCiwE,IAAmB,GACnBE,IAAyB,QAEzB,GAAI3vE,IAAG,OAAIA,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,aAAI,EAAWP,QAAQ,CAAC,IAAD,4BAC5BywE,GAAqB,OAAC3wE,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWP,cAAZ,aAAC,EAAmBq2E,mBAEa,MAAjD,OAAHv2E,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,mBAAmBq2E,yBAAnB,eAAsCT,YACc,QAAjD,OAAH91E,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,mBAAmBq2E,yBAAnB,eAAsCT,iBACclqF,KAAjD,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,mBAAmBq2E,yBAAnB,eAAsCT,YAEtCjG,GACE,iFAEFJ,IAAmB,GACnBE,IAAyB,IAEzBE,GAA6B,IAE/Bj6B,GAAU,SAAC1U,GAAY,IAAD,kBAKpB,GAJAA,EAAO5zC,IAAP,OAAa0S,QAAb,IAAaA,GAAb,UAAaA,EAAKS,YAAlB,iBAAa,EAAWP,cAAxB,iBAAa,EAAmBq2E,yBAAhC,aAAa,EAAsCT,UACnD50C,EAAOnG,IAAM,IAAIxe,KAAJ,OACXvc,QADW,IACXA,GADW,UACXA,EAAKS,YADM,iBACX,EAAWP,cADA,iBACX,EAAmBq2E,yBADR,aACX,EAAsCR,eAEmB,QAApD,OAAH/1E,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,mBAAmBq2E,yBAAnB,eAAsCL,cAAuB,CAAC,IAAD,kBAC3DhpC,EAAQ,OACVltC,QADU,IACVA,GADU,UACVA,EAAKS,YADK,iBACV,EAAWP,cADD,iBACV,EAAmBq2E,yBADT,iBACV,EAAsCL,oBAD5B,aACV,EAAoDrqE,MAClD,KAEJq1B,EAAOhyB,WACG,OAARg+B,QAAQ,IAARA,OAAA,EAAAA,EAAU5gD,QAAS,GAAnB,UAAuB4gD,EAAS,UAAhC,QAA2C,GAC7ChM,EAAO9xB,UACG,OAAR89B,QAAQ,IAARA,OAAA,EAAAA,EAAU5gD,QAAS,GAAnB,UACI4gD,GAAiB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU5gD,QAAS,UADhC,QAEI,GACNsG,QAAQC,IAAI,SAAUq6C,GACtBA,EAASyR,OAAO,EAAG,GACnBzR,EAASyR,QAAe,OAARzR,QAAQ,IAARA,OAAA,EAAAA,EAAU5gD,QAAS,GACnC40C,EAAOiH,WAAa+E,EAAStgC,KAAK,KAClCs0B,EAAO4sC,WAAP,OACE9tE,QADF,IACEA,GADF,UACEA,EAAKS,YADP,iBACE,EAAWP,cADb,iBACE,EAAmBq2E,yBADrB,aACE,EAAsCC,aAG1C,OAAOt1C,KAGTv4B,GAAYyM,gBAAgB8a,WAA5B,OACElwB,QADF,IACEA,GADF,UACEA,EAAKS,YADP,iBACE,EAAWP,cADb,iBACE,EAAmBq2E,yBADrB,aACE,EAAsCC,aACxC,IAAM5gE,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBsa,WACtBvnB,GAAYyM,gBAAgB8a,WAC9BnnB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjB+5D,IAAyB,GAEf,OAAR1+E,QACQrF,IAARqF,IACQ,OAARkzB,QAAQ,IAARA,OAAA,EAAAA,EAAU73B,QAAS,IACjB,OAAF0D,QAAE,IAAFA,OAAA,EAAAA,EAAI1D,QAAS,EAEbmjF,IAAmB,GAEnBA,IAAmB,MAK1BxD,GACH51D,GAAa,IAoVW6uC,SA1IL,WACnBuqB,IAAmB,GACnBE,IAAyB,GACzBU,GAAiB,IACjBR,GAA6B,IAC7BR,GAAU,MACVp8D,EAAU,CACR3lB,SAAK1B,EACLmvC,SAAKnvC,EACLiiF,kBAAcjiF,EACdoiF,eAAWpiF,EACXsjB,eAAWtjB,EACXu8C,gBAAYv8C,EACZwjB,cAAUxjB,YAsID8jF,IACC,yBAAKnoF,UAAU,OACb,kBAAC,GAAD,CAAQmP,KAAM,MAGa,IAA9Bk5E,IACC,yBAAKroF,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQqoF,MAIbJ,KACEE,IAC6B,IAA9BE,IACE,oCACE,8BAAU1/E,SAAU0+E,IAClB,yBAAKrnF,UAAU,OACb,2BAAOA,UAAU,WAAjB,cACA,kBAAC,GAAD,CACEA,UAAU,WACV2I,SACyB,QAAhB,OAAPy9E,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACc,KAAhB,OAAP0nD,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACa,QAAhB,OAANib,QAAM,IAANA,OAAA,EAAAA,EAAQhyB,iBACctjB,KAAhB,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQhyB,YACc,MAAhB,OAANgyB,QAAM,IAANA,OAAA,EAAAA,EAAQhyB,WAEVthB,aAAY,OAAEszC,QAAF,IAAEA,OAAF,EAAEA,EAAQhyB,UACtB1gB,SAAU,SAAC3G,GAAD,OAAW2G,GAAS,YAAa3G,IAC3C8D,UAAU,EACViE,OAAQ,SAAC4P,EAAY3N,GAAW,IAAD,UACzB2N,EAAM7T,SACRsnB,EAAU,2BACLD,GADI,IAEP9D,UAAW1B,GAAShK,SAGrB,OAAC09B,QAAD,IAACA,OAAD,EAACA,EAAQhyB,YACgC,KAAzCgyB,EAAOhyB,UAAqBk8B,OAAO,KAOnC,OAACv5C,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,KAC/B,OAACuF,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,iBAAC,EAAe9G,aAAhB,aAAC,EAAsBiF,QAAQ,MAAO,IAAIR,UAP1C2mB,EAAU,2BACLD,GADI,IAEP9D,UAAW1B,GAAShK,QAc1BzT,KAAK,OACLL,YAAY,aAEZ5B,UAAWklB,EAAO9D,UAClBhgB,UAAW,MAIf,yBAAK3H,UAAU,OACb,2BAAOA,UAAU,WAAjB,eACA,kBAAC,GAAD,CACEA,UAAU,WACVqG,aAAY,OAAEszC,QAAF,IAAEA,OAAF,EAAEA,EAAQiH,WACtBj4C,SACyB,QAAhB,OAAPy9E,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACc,KAAhB,OAAP0nD,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACc,QAAjB,OAANib,QAAM,IAANA,OAAA,EAAAA,EAAQiH,kBACev8C,KAAjB,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQiH,aACe,MAAjB,OAANjH,QAAM,IAANA,OAAA,EAAAA,EAAQiH,YAGV35C,SAAU,SAAC3G,GAAD,OAAW2G,GAAS,aAAc3G,IAC5C+H,OAAQ,SAAC4P,EAAY3N,GAAW,IAAD,YAE1B,OAACqvC,QAAD,IAACA,OAAD,EAACA,EAAQiH,aACiC,KAA1CjH,EAAOiH,WAAsBiD,OAAO,KAOpC,OAACv5C,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,KAC/B,OAACuF,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,iBAAC,EAAe9G,aAAhB,aAAC,EAAsBiF,QAAQ,MAAO,IAAIR,UAP1C2mB,EAAU,2BACLD,GADI,IAEPm1B,WAAY36B,GAAShK,QAc3BzT,KAAK,OACLL,YAAY,eAEZ5B,UAAWklB,EAAOm1B,WAClBj5C,UAAW,MAIf,yBAAK3H,UAAU,OACb,2BAAOA,UAAU,WAAjB,aACA,kBAAC,GAAD,CACEA,UAAU,WACVqG,aAAY,OAAEszC,QAAF,IAAEA,OAAF,EAAEA,EAAQ9xB,SAEtBlf,SACyB,QAAhB,OAAPy9E,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACc,KAAhB,OAAP0nD,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACY,QAAf,OAANib,QAAM,IAANA,OAAA,EAAAA,EAAQ9xB,gBACaxjB,KAAf,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQ9xB,WACa,MAAf,OAAN8xB,QAAM,IAANA,OAAA,EAAAA,EAAQ9xB,UAEV5gB,SAAU,SAAC3G,GAAD,OAAW2G,GAAS,WAAY3G,IAC1C+H,OAAQ,SAAC4P,EAAO3N,GAAW,IAAD,YAErB,OAACqvC,QAAD,IAACA,OAAD,EAACA,EAAQ9xB,WAC+B,KAAxC8xB,EAAO9xB,SAAoBg8B,OAAO,KAOlC,OAACv5C,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,KAC/B,OAACuF,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,iBAAC,EAAe9G,aAAhB,aAAC,EAAsBiF,QAAQ,MAAO,IAAIR,UAP1C2mB,EAAU,2BACLD,GADI,IAEP5D,SAAU5B,GAAShK,QAczBzT,KAAK,OACLL,YAAY,YAEZ5B,UAAWklB,EAAO5D,SAClBlgB,UAAW,MAKf,yBAAK3H,UAAU,OACb,2BAAOA,UAAU,WAAjB,aACA,kBAAC,GAAD,CACEA,UAAU,WACV2I,SACyB,QAAhB,OAAPy9E,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACcr6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACc,KAAhB,OAAP0nD,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACO,QAAV,OAANib,QAAM,IAANA,OAAA,EAAAA,EAAQ5zC,WACQ1B,KAAV,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQ5zC,MACQ,MAAV,OAAN4zC,QAAM,IAANA,OAAA,EAAAA,EAAQ5zC,KAEVM,aAAY,OAAEszC,QAAF,IAAEA,OAAF,EAAEA,EAAQ5zC,IAEtBkB,SAAU,SAAC3G,GACTwoF,GAAiB,IACjB7hF,GAAS,MAAO3G,EAAM2H,gBAExBI,OAAQ,SAAC4P,GAAD,OAjzGhC,SAAmBA,GACjByT,EAAU,2BACLD,GADI,IAEP1lB,IAAKkS,EAAMlR,QAAU,GAAKkf,GAAShK,OAErCyP,EAAU,2BACLD,GADI,IAEP1lB,IAAKkS,EAAMlR,QAAU,GAAKkf,GAAShK,OAEjChE,EAAMlR,QACR2jC,GAAY,GAEZA,GAAY,GAqyG2BoP,CAAU7hC,IAC7BzP,KAAK,OACLL,YAAY,iBACZpB,QAAShB,GACTQ,UAAWklB,EAAO1lB,IAClB4B,UAAW,GACXqB,OACEyhC,EAAW,uBAAGzqC,UAAU,mBAAsB,wCAOpD,yBAAKA,UAAU,OACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CAEEm1B,aAAc,SAACzrB,GAAD,OAASzC,GAAS,MAAOyC,IACvCmrB,aAAmB,OAAN8kB,QAAM,IAANA,OAAA,EAAAA,EAAQnG,KAAMmG,EAAOnG,SAAMnvC,EACxC2yB,gBAAiB,uBACjB5B,QACE,IAAIJ,MACF,IAAIA,MAAOivB,aACT,IAAIjvB,MAAOS,cAAgB,KAIjCoB,QACE,IAAI7B,MACF,IAAIA,MAAOivB,aACT,IAAIjvB,MAAOS,cAAgB,MAIjCptB,OAp0GxB,SAAmBiC,GACZqvC,EAAOnG,KAEV9nB,EAAU,2BAAKD,GAAN,IAAc+nB,IAAKvtB,GAAShK,QAk0GjB6a,QACEnnB,GACA03E,IACwB,QAAhB,OAAPjB,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,iBACer6B,KAAhB,OAAP+hF,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACc,KAAhB,OAAP0nD,QAAO,IAAPA,OAAA,EAAAA,EAAS1nD,YACO,QAAV,OAANib,QAAM,IAANA,OAAA,EAAAA,EAAQnG,WACQnvC,KAAV,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQnG,KAEZrc,UAAS1L,EAAO+nB,OAInB/nB,EAAO+nB,KACN,uBAAGxzC,UAAU,iBAAiByrB,EAAO+nB,MAKxCm1C,IAAmB5B,IAClB,yBACEn6E,MAAO,CACLi2E,eAAgB,SAChBtiF,QAAS,OACTuiF,WAAY,SACZ9mB,OAAQ,UAGV,kBAAC,GAAD,CACEzrD,MAAM,UACNorD,OAAQ8sB,GACR7sB,aAAa,GAEb,4CACA,yBAAK57D,UAAU,eACZyoF,GACC,yBACEzoF,UAAU,gBACV4M,MAAO,CAAEsiF,SAAU,SAElBzG,IAGH,cAGJ,yBAAKzoF,UAAU,uBACb,4BACEA,UAAS,8BACPwpF,GAAcF,iBACdE,GAAcD,kBACV,UACA,IAENxgF,QAAS,WACqB,UAAxBw/E,IACFv5D,EAAQM,KAAK5uB,GAAaE,SACA,iBAAxB2nF,IACFv5D,EAAQM,KAAKpsB,KAEjBsF,KAAK,SACLG,SACE6gF,GAAcF,iBACdE,GAAcD,mBAGfC,GAAcF,iBACfE,GAAcD,kBACV,cACA,kBAMd,yBAAKvpF,UAAU,kBACb,kBAAC,GAAD,CACE6O,QAAS+3E,GACTplF,KAAK,UACLyF,SAAU,eAEZ,2BAAOjH,UAAU,mBAAjB,gEAMDuxB,IACC3B,OAAOtgB,KAAKiiB,IAAQxsB,OAAS,GAC7BwsB,GAAOjI,YACPiI,GAAO3I,aACP2I,GAAO7I,cACL,yBAAK1oB,UAAU,kBACb,2BAAOA,UAAU,4BAAjB,2BAOLyuB,GACC,yBAAKzuB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAOG,KAAlBo6D,KAAqC,OAAbA,SAAa,IAAbA,QAAA,EAAAA,GAAe9jF,QAAS,GAC/C,yBAAK/E,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQ6oF,MAKd,yBAAK7oF,UAAU,OACb,kBAAC,GAAD,CACE+I,QAAS2hF,GACT76E,QAASohB,GAAiB,WAAa,UAGvCtoB,WAImB,OAAT,OAAN8iB,QAAM,IAANA,OAAA,EAAAA,EAAQ+nB,WACQnvC,IAAT,OAANonB,QAAM,IAANA,OAAA,EAAAA,EAAQ+nB,MACa,MAApB/nB,EAAO9D,gBACWtjB,GAApBonB,EAAO9D,WACe,KAArB8D,EAAO9D,WAAmC,OAAT,OAAN8D,QAAM,IAANA,OAAA,EAAAA,EAAQ1lB,WACrB1B,IAAT,OAANonB,QAAM,IAANA,OAAA,EAAAA,EAAQ1lB,MACQ,MAAV,OAAN0lB,QAAM,IAANA,OAAA,EAAAA,EAAQ1lB,OAEW,KAAf,OAAN4zC,QAAM,IAANA,OAAA,EAAAA,EAAQhyB,iBACatjB,IAAf,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQhyB,YACY,MAApBgyB,EAAOhyB,WACQ,OAAT,OAANgyB,QAAM,IAANA,OAAA,EAAAA,EAAQ5zC,WACO1B,IAAT,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQ5zC,MACO,KAAT,OAAN4zC,QAAM,IAANA,OAAA,EAAAA,EAAQ5zC,MACsB,IAAvB,OAAN4zC,QAAM,IAANA,GAAA,UAAAA,EAAQhyB,iBAAR,eAAmB5iB,SACK,IAAjB,OAAN40C,QAAM,IAANA,GAAA,UAAAA,EAAQ5zC,WAAR,eAAahB,UACI,QAAV,OAAN40C,QAAM,IAANA,OAAA,EAAAA,EAAQnG,WACSnvC,KAAV,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQnG,OACG,OAAT,OAANmG,QAAM,IAANA,OAAA,EAAAA,EAAQnG,WACQnvC,KAAV,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQnG,MACI,IAAX/kB,GACCwC,MACE61D,KAAqBC,MACxBH,IACDpT,GAAkBj8D,oBAClBi8D,GAAkBh8D,gBACjB2vE,KAA0BzC,IAC3Bj2D,EAEF9e,UAAWA,EACXnH,KAAK,mBC5kId2mF,I,OAXK,SAACpvF,GAAD,OAChB,yBAAKC,UAAU,OACX,yBAAKA,UAAU,WACX,kBAAC,GAAD,CAAckP,MAAM,4BAExB,uBAAGlP,UAAU,cAAb,oBACA,uBAAGA,UAAU,WAAb,0CACA,uBAAGA,UAAU,WAAb,gB,0HC2DOovF,GAxD0C,SAACrvF,GAAW,IAAD,EAC5BqG,YAAwB,GADI,mBAC3D2+B,EAD2D,KAC9CC,EAD8C,KAgClE,OACE,uBAAKhlC,UAAU,WACb,yBAAOA,UAAU,WAAWD,EAAM68D,SAClC,uBAAK58D,UAAU,SACb,uBACEA,UAAU,iBACVyiD,YAAa,kBAAMzd,GAAe,IAClC0d,aAAc,kBAAM1d,GAAe,KAEnC,uBAAKhlC,UAAU,WACb,yBAAOA,UAAU,8BAAjB,WACC+kC,GACC,gBAAC,GAAD,CAAWx0B,MAAOC,KAAgBC,SAAW,QAAU,SACrD,uBAAKzQ,UAAU,eA1CP,SAACqvF,GACrB,OAAQA,GACN,IAAK,SACH,OACE,6BACE,uBAAKrvF,UAAU,eAAeE,IAAKovF,QAGzC,IAAK,kBACH,OACE,6BACE,uBAAKtvF,UAAU,eAAeE,IAAKqvF,QAGzC,IAAK,WACH,OACE,6BACE,uBAAKvvF,UAAU,eAAeE,IAAKsvF,QAGzC,IAAK,WACH,OACE,6BACE,uBAAKxvF,UAAU,eAAeE,IAAKuvF,SAoB5BC,CAAgB3vF,EAAM68D,gBC0f1B+yB,GAnhB2B,WAExC,IAAM3sD,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GAEE0M,EAAUC,cAb8B,EAeA7oB,IAAM8G,UAAkB,GAfxB,gCAgBZ9G,IAAM8G,UAAkB,IAhBZ,mBAgBvC0iF,EAhBuC,KAgB5BC,EAhB4B,OAiBAzpF,IAAM8G,UAAkB,GAjBxB,mBAiBvC4iF,EAjBuC,KAiBtBC,EAjBsB,OAmBA3pF,IAAM8G,SAAiB,IAnBvB,mBAmBvC8iF,EAnBuC,KAmBtBC,EAnBsB,OAoBhB7pF,IAAM8G,SAA0B,IApBhB,mBAoB9B0e,GApB8B,WA+BxCskE,EAAmB,uCAAG,4BAAA/jF,EAAA,sEACY6O,KAAKC,MACzCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAFlC,OACpB2M,EADoB,OAK1B5M,aAAa6M,QACX,gBACAtT,KAAK2G,UAAU,CACbgQ,cAAetD,EAAwBsD,cACvCw+D,oBAAoB,EACpBC,qBAAqB,KAVC,2CAAH,qDAezBhqF,IAAM6H,WAAU,WACduT,OAAOkO,eAAepB,QAAQ,cAAe,KAC7C9M,OAAOwtB,OAAO,EAAG,GAEjBkhD,MACC,IACH,IAAMz2B,EAAmB,SAACjpC,GACxBpP,GAAY4P,OAAQ,EAEpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAYqzB,UAAYjkB,EAAYurB,SAAWvrB,EAAYurB,SAAW,GACtE36B,GAAYuzB,WAAankB,EAAYwrB,UAAYxrB,EAAYwrB,UAAY,GACzE56B,GAAYyzB,SAAWrkB,EAAYuoC,SAAWvoC,EAAYuoC,SAAW,EAGrE,IAAMvoB,EAAYhgB,EAClBpP,GAAY61B,cAAchsB,aAA1B,UAA4CulB,EAAUwoB,WAAtD,YACExoB,EAAUyoB,YAAc,GAD1B,YAEIzoB,EAAU0oB,YAAc,IAC5B93C,GAAY61B,cAAchsB,aACxB7J,GAAY61B,cAAchsB,aAE5B7J,GAAY61B,cAAchV,YAA1B,UAA2CuO,EAAU2oB,WAArD,YACE3oB,EAAU4oB,YAAc,GAD1B,YAEI5oB,EAAU6oB,YAAc,IAC5Bj4C,GAAY61B,cAAchV,YACxB7gB,GAAY61B,cAAchV,YAC5B7gB,GAAY61B,cAAcvzB,QAAU8sB,EAAU8oB,YAC9Cl4C,GAAY61B,cAAc7U,YAAcoO,EAAU+oB,YAClDn4C,GAAYyM,gBAAgB8a,WAAa6H,EAAUgpB,WAC/ChpB,EAAUgpB,WACVp4C,GAAYyM,gBAAgB8a,WAChCta,EAAwB2C,OAAQ,EAChC3C,EAAwBpD,aACtB7J,GAAY61B,cAAchsB,aAC5BoD,EAAwB3K,QAAUtC,GAAY61B,cAAcvzB,QAC5D2K,EAAwB4T,YAAc7gB,GAAY61B,cAAchV,YAChE5T,EAAwB+T,YAAchhB,GAAY61B,cAAc7U,YAChE/T,EAAwBsa,WAAavnB,GAAYyM,gBAAgB8a,WACjEta,EAAwB6T,gBACtB9gB,GAAY61B,cAAchsB,cAC1B7J,GAAY61B,cAAchV,YAO5BzgB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAK5uB,GAAaE,UAMtByvF,EAAwB,uCAAG,WAAO33B,GAAP,eAAAvsD,EAAA,sEACO6O,KAAKC,MACzCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAF7B,OACzB2M,EADyB,OAK/BoE,IACE,SAACha,GACC,IAAKA,GAAOA,EAAIR,MACdygD,SAGA,GAAIjgD,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,OAEtB,OAAXsX,QAAW,IAAXA,OAAA,EAAAA,EAAaw3B,2BACD,OAAXx3B,QAAW,IAAXA,OAAA,EAAAA,EAAaw2B,6BAAb,OACCx2B,QADD,IACCA,OADD,EACCA,EAAau2B,4BAEf/3B,EAAQM,KAAKpsB,IAEb+vB,IACE,SAACxa,GAAc,IAAD,IACZ,GACEA,GACAA,EAAIS,OADJ,OAEAT,QAFA,IAEAA,GAFA,UAEAA,EAAKS,YAFL,aAEA,EAAWy/C,UAFX,OAGAlgD,QAHA,IAGAA,GAHA,UAGAA,EAAKS,YAHL,aAGA,EAAWy/C,OAAOC,kBAClB,CAAC,IAAD,EACIC,EAAa,OAAGpgD,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,aAAG,EAAWy/C,OAC/B,IACyB,OAAvBtqC,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBsD,iBACkB,IAA3CnB,EAAYu2B,6BAC8B,IAA1Cv2B,EAAYw2B,2BACM,OAAlB6R,IAHA,OAIAA,QAJA,IAIAA,OAJA,EAIAA,EAAeD,kBAEf,GAAkC,MAAjB,OAAbC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aACjBW,EAAgB,OAACZ,QAAD,IAACA,OAAD,EAACA,EAAel+C,WAE3B,GAAkC,MAAjB,OAAbk+C,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAC5C13C,GAAYmO,cAAe,EAC3B,IAAMlB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAClB,4BACG,MAGP2M,EAAwBkB,cAAe,EACvClB,EAAwBmB,SAAW,GAEnChO,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBT,GAA2B,OAACirC,QAAD,IAACA,OAAD,EAACA,EAAel+C,MAC3CqU,EAAQM,KAAK5uB,GAAaE,cAErB,GAAkC,MAAjB,OAAbi4D,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAAC,IAAD,EAC5C13C,GAAY6P,gBAAiB,EAC7B7P,GAAY6tB,OAAQ,EACpB7tB,GAAY4P,OAAQ,EACpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAClB,4BACG,MAEP2M,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5C5gB,EAAwBpD,aAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBC,sBAC9CtrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBE,sBAC9CvrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBG,sBAC9CxrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBI,sBAC9CzrC,EAAwB6T,gBACuB,QAAhC,OAAb22B,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,4BACyBjsC,KAAhC,OAAbw0D,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,wBADpB,OAEIuoB,QAFJ,IAEIA,OAFJ,EAEIA,EAAel+C,KAAK21B,sBAE1BjiB,EAAwB4T,YAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BC,2BACnD3rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BE,2BACnD5rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BG,2BACnD7rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BI,2BAEnD9rC,EAAwBgV,gBAEtB,SADA7hB,OAAOkO,eAAehO,QAAQ,mBAIhC2M,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBmlB,IAAMpyB,GAAYoyB,IAC1CnlB,EAAwB4mB,QACtB7zB,GAAYikB,KAAKjnB,MAEnBiQ,EAAwBxC,QAAxB,OACEgtC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBU,iBAC9C/rC,EAAwB+T,YAAxB,OACEy2B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BM,sBACnDhsC,EAAwB4C,eACtB7P,GAAY6P,eACd5C,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBxL,OACtBzB,GAAYikB,KAAKxiB,OACnBwL,EAAwBtoB,IAAxB,OACEqb,SADF,IACEA,IADF,UACEA,GAAayM,uBADf,aACE,EAA8B9nB,IAChCsoB,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwBi3B,UACtBlkC,GAAYkkC,UACdj3B,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5C5gB,EAAwB4C,eACtB7P,GAAY6P,eACdzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBqqC,SAIAA,SAIJA,MAGJ,CACE6B,UAAiC,OAAvBlsC,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBsD,eAAzB,OACNtD,QADM,IACNA,OADM,EACNA,EAAyBsD,cACzBvQ,GAAYwQ,cAChBrlB,IAAI,cAAD,QACsB,OAAvB8hB,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBsD,eAAzB,OACItD,QADJ,IACIA,OADJ,EACIA,EAAyBsD,cACzBvQ,GAAYwQ,qBAQP,OAAvBvD,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBsD,eAAzB,OACItD,QADJ,IACIA,OADJ,EACIA,EAAyBsD,cACzBvQ,GAAYwQ,eAzJa,2CAAH,sDA6J9BxrB,IAAM6H,WAAU,WACdoiF,GAAyB,WACvB,GAA+B,GAA3B1iE,GAAO5b,iBAAuB,CAChC,IAAMu+E,EACJC,wEAEA5iE,GAAOhc,SACP,oCACAgc,GAAO/b,YACP,WACAoJ,KAAK2G,UAAU,IACjBsuE,EAAmBK,GAErB,GAA+B,GAA3B3iE,GAAO5b,iBAAuB,CAChC,IAAMy+E,EAAsB,CAC5BA,cAA+B,K9CxLX,SAC1BzvE,EACAyvE,GAE4B,GAAzB7iE,GAAO5b,kBAER8O,GACE,CACEkB,IAAK,gBACLd,OAAQ,OACRtQ,KAAM,CACJ8Y,SAAUkE,GAAO5b,iBACjB+Q,cAAc0tE,EAAe1tE,eAE/BjB,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa6D,wCAE5B6K,I8CuKE0vE,EACE,SAACh4E,GAAD,OAwGR,SAA2BA,EAAU+3E,GACnC,GAA+B,GAA3B7iE,GAAO5b,iBACT,IAAK0G,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KACN,GAAIT,EAAIS,KAAKwU,aAAc,CACzBuiE,EAAmBx3E,EAAIS,KAAK6I,KAC5B,IAAMsM,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBmB,SAAW/W,EAAIS,KAAKwU,aAC5ClM,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,SAGjBzC,EAAWxZ,SAIbwZ,EAAWxZ,IA7HGs+E,CAAkBj4E,KAChC+3E,SA+BL,IAGHpqF,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaM,eAAeD,UACvD4W,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAK,KACLG,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,cACpB2d,yBAA0BnuB,GAAY8P,mBACtCse,mBAAoB,OAGtB9V,GAA2BxgB,KAC1B,IAiFH,OACE,yBAAKlZ,UAAU,QACb,yBAAKA,UAAU,QACb,kBAAC,GAAD,CAAckP,MAAM,2BAClB,yBAAKhP,IAAKywF,KAAU3wF,UAAU,UAAUI,IAAI,eAGhD,yBAAKJ,UAAU,WACb,2BAAOA,UAAU,WAAjB,yBAEF,yBAAKA,UAAU,UAAU4M,MAAO,CAAE2D,MAAO,QACvC,0HAKF,yBAAKvQ,UAAU,iBACb,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEoQ,aAAa,EACbP,QAAS,aACT9G,QA5DW,WACnBsC,QAAQC,IAAI,OACZukF,GAAa,GACbE,GAAmB,IA0DX9/E,QAAS2/E,KAGb,yBAAK5vF,UAAU,aACb,kBAAC,GAAD,CACE6P,QAAS,qBACT9G,QA7DkB,WAC1BsC,QAAQC,IAAI,MACZykF,GAAmB,GACnBF,GAAa,IA2DL5/E,QAAS6/E,MAIdF,EACC,6BACE,yBAAK5vF,UAAU,WACb,2BAAOA,UAAU,OAAO4M,MAAO,CAAEsC,MAAO,cAAxC,8JAKA,yBAAKlP,UAAU,aACb,yBAAKA,UAAU,qBAAf,YACA,yBAAKA,UAAU,OACb,yBAAKE,IAAK0wF,KAAYxwF,IAAI,KAAKJ,UAAU,gBACzC,2BAAOA,UAAU,UAAjB,8BAEF,yBAAKA,UAAU,aACb,yBAAKE,IAAK0wF,KAAYxwF,IAAI,KAAKJ,UAAU,gBACzC,2BAAOA,UAAU,UAAjB,mCAEF,yBAAKA,UAAU,aACb,yBAAKE,IAAK0wF,KAAYxwF,IAAI,KAAKJ,UAAU,gBACzC,2BAAOA,UAAU,UAAjB,sEAKF,yBAAKA,UAAU,aACb,yBAAKE,IAAK0wF,KAAYxwF,IAAI,KAAKJ,UAAU,gBACzC,2BAAOA,UAAU,UAAjB,8GASR,GAED8vF,EACC,yBAAK9vF,UAAU,gBACb,yBAAKA,UAAU,WACb,2BAAOA,UAAU,OAAO4M,MAAO,CAAEsC,MAAO,cAAxC,iDAIF,yBAAKlP,UAAU,mBAvdD,CAAC,SAAU,kBAAmB,WAAY,YAwdvCiM,KAAI,SAAC7B,EAAMW,GAAP,OACjB,kBAAC,GAAD,CAAoBwB,IAAKxB,EAAO6xD,QAASxyD,EAAMymF,QAASzmF,SAK9D,GAGF,yBAAKpK,UAAU,aACb,yBAAKA,UAAU,UACb,kBAAC,GAAD,CACE6P,QAAQ,WACRlH,UAAWmnF,IAAoBF,EAC/BjgF,WAAW,EACX5G,QAAS,WACP4uB,GAAW,CAAEG,OAAQ,cAAelpB,MAAO,kBA9KvB,WAC9B,IAAMsK,EAAO,CACX0gB,UACEzB,GAAgBC,aAAaM,eAC1BC,+BACL0W,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAK,KACLC,yBAA0BnuB,GAAY8P,mBACtCse,mBAAoB,MACpBC,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,GAG3BihB,GAAiBC,UACfO,GAAgBvC,aAAaM,eAAeC,gCA2JpCm4D,GACIlB,IACFnuE,aAAa0gC,WAAW,iBACxB3gC,OAAOY,SAASC,KAAO2tE,GAErBF,GASF9gE,EAAQM,KAAK5uB,GAAaC,oB,8BC/H3BowF,GAha2B,SAAChxF,GAAW,IAAD,EAEjDqG,IAAM8G,UAAkB,GAFyB,mBAC5C8jF,EAD4C,KACnBC,EADmB,KAInD7qF,IAAM6H,WAAU,WACd5C,QAAQC,IAAIkF,KAAgBC,YAC3B,CAACD,KAAgBC,WAEpB,IAAIygF,EAAqB,WACvB7lF,QAAQC,IAAI,SAEP2lF,GADAD,IAMP,OAFA3lF,QAAQC,IAAIkF,KAAgBC,SAAU,SAGpC,6BACG1Q,EAAMoxF,YACL,yBAAKnxF,UAAU,IACZwQ,KAAgBC,SACf,6BACGugF,EACC,yBAAKhxF,UAAU,6BACb,kBAAC,GAAD,CACEuQ,MAAOC,KAAgBC,SAAW,QAAU,SAE5C,yBAAKzQ,UAAU,GAAG4M,MAAO,CAAEyvB,QAAS,QAClC,yBAAKzvB,MAAO,CAAEwkF,aAAc,SAC1B,yBACEpxF,UAAU,GACV4M,MAAO,CAAErF,MAAO,OAAQgJ,MAAO,QAE/B,uBACEvQ,UAAU,mBACV4M,MAAO,CAAEsC,MAAO,YAFlB,oBAOF,yBACEtC,MAAO,CACLrF,MAAO,QACPgJ,MAAO,KACPrB,MAAO,OACPmiF,OAAQ,WAEVtoF,QAASmoF,GAPX,MAYF,sKAIE,iEACA,wBAAIlxF,UAAU,mBACZ,yDACA,4KAMF,2DACA,wBAAIA,UAAU,mBACZ,6GAKF,0DACA,wBAAIA,UAAU,mBACZ,sIAIA,2JAKA,oGAKF,yDACA,mJAKA,6DACA,wBAAIA,UAAU,mBACZ,+GAEoC,IAClC,uBACEqiB,KAAK,4EACLjb,OAAO,UAFT,oBAOF,4BACG,IADH,8FAMF,4KAKA,2DACA,4BACE,sGAIA,yHAkCV,GAEF,yBAAKpH,UAAU,cAIb,yBAAK4M,MAAO,CAAErF,MAAO,OAAQgJ,MAAO,QAClC,4BACEvQ,UAAS,8BACPgxF,EAA0B,YAAc,cAE1CjoF,QAASmoF,GAJX,uBAYN,yBAAKlxF,UAAW,iBAAmBD,EAAMC,WACtCgxF,EACC,yBAAKhxF,UAAU,WACb,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,GAAG4M,MAAO,CAAEyvB,QAAS,QAClC,yBAAKzvB,MAAO,CAAEwkF,aAAc,SAC1B,yBACEpxF,UAAU,GACV4M,MAAO,CAAErF,MAAO,OAAQgJ,MAAO,QAE/B,uBACEvQ,UAAU,mBACV4M,MAAO,CAAEsC,MAAO,YAFlB,oBAOF,yBACEtC,MAAO,CACLrF,MAAO,QACPgJ,MAAO,KACPrB,MAAO,OACPmiF,OAAQ,WAEVtoF,QAASmoF,GAPX,MAYF,sKAIE,iEACA,wBAAIlxF,UAAU,mBACZ,yDACA,4KAMF,2DACA,wBAAIA,UAAU,mBACZ,6GAKF,0DACA,wBAAIA,UAAU,mBACZ,sIAIA,2JAKA,oGAKF,yDACA,mJAKA,6DACA,wBAAIA,UAAU,mBACZ,+GAEoC,IAClC,uBACEqiB,KAAK,4EACLjb,OAAO,UAFT,oBAOF,4BACG,IADH,8FAMF,4KAKA,2DACA,4BACE,sGAIA,yHAqFV,GAEF,uBAAGpH,UAAU,QAAb,mBACA,4BAEA,uKAMA,uBAAGA,UAAU,sBAAsB+I,QAASmoF,GAA5C,eAON,6BACG1gF,KAAgBC,SACf,yBAAKzQ,UAAU,WACb,yBAAKA,UAAU,YACb,8BACE,yBAAKE,IAAKoxF,KAAalxF,IAAI,mBAG/B,yBAAKJ,UAAU,YAAf,QACA,yBAAKA,UAAU,eACb,2BACE,uBAAGqiB,KAAK,kBAAkBriB,UAAU,QAApC,kBAIF,wEAKJ,yBAAKA,UAAW,YAAcD,EAAMC,WAClC,0DACA,2BACE,uBAAGqiB,KAAK,kBAAkBriB,UAAU,QAApC,kBAIF,2DACA,2DACA,kFCxZCuxF,GAXI,SAACxxF,GAGlB,OACE,6BACGA,EAAMgP,SACP,kBAAC,GAAD,CAAUoiF,YAAapxF,EAAMoxF,gBCqapBK,I,OAtaQ,SAACzxF,GAAgB,IAAD,EAC/BivB,EAAUC,cACV9c,EAA0BpB,GAAOoB,eAFF,EAGK/L,IAAM8G,SAG7C,CAAE0pB,UAAU,EAAO66D,WAAY,KANG,mBAG9BC,EAH8B,KAGfC,EAHe,KAO/BC,EAA2B,WAE3Bz/E,EACF6c,EAAQM,KAAKpsB,GAA4B,mBAEzC8rB,EAAQM,KAAKpsB,GAA4B,mBAGvC2uF,EAAoB,WAGxB7iE,EAAQM,KAAKpsB,GAA4B,oBA2B3C,OACE,qCACgB,QAAb,EAAAsN,YAAA,eAAiBC,UAChB,oCACG,IACD,yBAAKzQ,UAAU,mBACb,yBAAKA,UAAU,gBACb,yBAAKA,UAAU,qBAAf,iDAGA,yBAAKA,UAAU,qBACb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,gBACb,0CACA,2BAAOA,UAAU,eAAjB,YACA,2BAAOA,UAAU,eAAjB,gBACA,yBAAKA,UAAU,eACb,4DACA,6BACA,yDAGF,2BAAOA,UAAU,eAAjB,gEAIA,2BAAOA,UAAU,eAAjB,2CAGA,2BAAOA,UAAU,eAAjB,uBAEF,yBACEA,UACEmS,EACI,wBACA,8CAGN,2BAAOnS,UAAU,aAAjB,OACA,yBAAKA,UAAU,qBACb,8EAEF,yBAAKA,UAAU,SACb,0BAAMA,UAAU,oBACd,uBAAGA,UAAU,qBAGjB,yBAAKA,UAAU,qBACb,0BAAMA,UAAU,oBACd,uBAAGA,UAAU,qBAGjB,yBAAKA,UAAU,cAAc4M,MAAO,CAAEklF,UAAW,SAC/C,0BAAM9xF,UAAU,oBACd,uBAAGA,UAAU,qBAGjB,yBACEA,UAAU,oBACV4M,MAAO,CAAEklF,UAAW,SAEpB,0BAAM9xF,UAAU,oBACd,uBAAGA,UAAU,qBAGjB,yBACEA,UAAU,oBACV4M,MAAO,CAAEklF,UAAW,SAEpB,0BAAM9xF,UAAU,oBACd,uBAAGA,UAAU,uBAIjBmS,GACA,yBAAKnS,UAAU,qBACb,2BAAOA,UAAU,iBAAjB,WACA,2BAAOA,UAAU,yBAAjB,oCAGA,yBAAKA,UAAU,SACb,0BAAMA,UAAU,wBACd,uBAAGA,UAAU,qBAGjB,yBAAKA,UAAU,qBACb,0BAAMA,UAAU,wBACd,uBAAGA,UAAU,qBAGjB,yBACEA,UAAU,cACV4M,MAAO,CAAEklF,UAAW,SAEpB,0BAAM9xF,UAAU,8BACd,uBAAGA,UAAU,sBAGjB,yBACEA,UAAU,oBACV4M,MAAO,CAAEklF,UAAW,SAEpB,0BAAM9xF,UAAU,8BACd,uBAAGA,UAAU,sBAGjB,yBACEA,UAAU,oBACV4M,MAAO,CAAEklF,UAAW,SAEpB,0BAAM9xF,UAAU,8BACd,uBAAGA,UAAU,wBAMvB,yBAAKA,UAAU,kBACb,0BAAMA,UAAU,wBACd,+CAEF,yBACEA,UACEmS,EAAiB,sBAAwB,mBAG3C,yBACEnS,UAAS,sBACsB,OAAhB,OAAb0xF,QAAa,IAAbA,OAAA,EAAAA,EAAeD,cAAf,OACAC,QADA,IACAA,OADA,EACAA,EAAe96D,UACX,SACA,IAEN7tB,QAAS,SAAC7B,GACRyqF,EAAiB,CACf/6D,UAAU,EACV66D,WAAY,YAKlBt/E,GACA,yBAAKnS,UAAU,uBACb,yBACEA,UAAS,sBACsB,MAAhB,OAAb0xF,QAAa,IAAbA,OAAA,EAAAA,EAAeD,cAAf,OACAC,QADA,IACAA,OADA,EACAA,EAAe96D,UACX,SACA,IAEN7tB,QAAS,SAAC7B,GACRyqF,EAAiB,CACf/6D,UAAU,EACV66D,WAAY,WAOxB,yBAAKzxF,UAAU,yBACb,kBAAC,GAAD,CACE+I,QAAS,WAxKQ,OAAhB,OAAb2oF,QAAa,IAAbA,OAAA,EAAAA,EAAeD,cAAf,OAAqCC,QAArC,IAAqCA,OAArC,EAAqCA,EAAe96D,UACtDi7D,IACsC,MAAhB,OAAbH,QAAa,IAAbA,OAAA,EAAAA,EAAeD,cAAf,OAAoCC,QAApC,IAAoCA,OAApC,EAAoCA,EAAe96D,WAC5Dg7D,KAwKc/hF,QA9LI,WACpB,IAAIkiF,EAAa,yBAMjB,MALiC,OAAhB,OAAbL,QAAa,IAAbA,OAAA,EAAAA,EAAeD,cAAf,OAAqCC,QAArC,IAAqCA,OAArC,EAAqCA,EAAe96D,UACtDm7D,EAAa,qBACyB,MAAhB,OAAbL,QAAa,IAAbA,OAAA,EAAAA,EAAeD,cAAf,OAAoCC,QAApC,IAAoCA,OAApC,EAAoCA,EAAe96D,YAC5Dm7D,EAAa,0BAERA,EAuLkBC,GACTrpF,SAC+B,KAAhB,OAAb+oF,QAAa,IAAbA,OAAA,EAAAA,EAAeD,aACY,IAAd,OAAbC,QAAa,IAAbA,OAAA,EAAAA,EAAe96D,UAEjBvmB,gBAAiB,iBA1LZ,WACrB,IAAI4hF,EAAc,+BAMlB,MALiC,OAAhB,OAAbP,QAAa,IAAbA,OAAA,EAAAA,EAAeD,cAAf,OAAqCC,QAArC,IAAqCA,OAArC,EAAqCA,EAAe96D,UACtDq7D,EAAc,+BACwB,MAAhB,OAAbP,QAAa,IAAbA,OAAA,EAAAA,EAAeD,cAAf,OAAoCC,QAApC,IAAoCA,OAApC,EAAoCA,EAAe96D,YAC5Dq7D,EAAc,oCAETA,EAmL6CC,GACpC1pF,KAAK,gBAQjB,yBAAKxI,UAAU,mBACb,yBAAKA,UAAWmS,EAAiB,mBAAqB,gBAMpD,yBAAKnS,UAAU,cACZmS,GACC,yBAAKnS,UAAU,wCAEjB,yBAAKA,UAAU,eACb,yBAAKA,UAAU,oBACb,8CAEF,yBAAKA,UAAU,wBACb,8EAEF,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,0BACb,gFAIN,wBAAIA,UAAU,oBACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,qBACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,oBAEf,0BAAMA,UAAU,mBAAhB,kBAIN,wBAAIA,UAAU,oBACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,qBACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,oBAEf,0BAAMA,UAAU,mBAAhB,uDAKA,IACN,wBAAIA,UAAU,oBACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,wCACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,oBAEf,yBAAKA,UAAU,2BACb,0BAAMA,UAAU,mBAAhB,uDAGA,0BAAMA,UAAU,4BAAhB,gBAMF,IACN,wBAAIA,UAAU,oBACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,qBACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,oBAEf,0BAAMA,UAAU,mBAAhB,8CAKA,IACN,wBAAIA,UAAU,oBACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,qBACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,oBAEf,0BAAMA,UAAU,mBAAhB,yBAMN,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE+I,QAAS,WACP8oF,KAEFhiF,QAAQ,qBACRlH,UAAU,EACV0H,gBAAgB,sCAChB7H,KAAK,cAIT2J,GACA,yBAAKnS,UAAU,mBACb,yBAAKA,UAAU,wBACb,kDAEF,yBAAKA,UAAU,4BACb,oEAEF,yBAAKA,UAAU,+BACb,yBAAKA,UAAU,4BACb,yBAAKA,UAAU,kCACb,+EAIN,wBAAIA,UAAU,6CACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,qBACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,oBAEf,0BAAMA,UAAU,mBAAhB,kBAIN,wBAAIA,UAAU,6CACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,qBACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,oBAEf,0BAAMA,UAAU,mBAAhB,uDAKA,IACN,wBAAIA,UAAU,yDACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,wCACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,qBAEf,yBAAKA,UAAU,2BACb,0BAAMA,UAAU,mBAAhB,uDAGA,0BAAMA,UAAU,4BAAhB,gBAMF,IACN,wBAAIA,UAAU,yDACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,qBACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,qBAEf,0BAAMA,UAAU,mBAAhB,8CAKA,IACN,wBAAIA,UAAU,yDACZ,wBAAIA,UAAU,sBACZ,0BAAMA,UAAU,qBACd,0BAAMA,UAAU,aACd,uBAAGA,UAAU,qBAEf,0BAAMA,UAAU,mBAAhB,yBAMN,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE+I,QAAS,WACP6oF,KAEF/hF,QAAQ,yBACRlH,UAAU,EACV0H,gBAAgB,0CAChB7H,KAAK,mBCnOZ2pF,GA1KY,WACzB,IAAMnvD,EAAa9K,KACG8K,EAAW1gB,IAAI,kBACjC0gB,EAAW1gB,IAAI,iBAGnBrU,qBAAU,WACRmkF,MACC,IAEH,IAAMA,EAAyB,uCAAG,sBAAAjmF,EAAA,0FAAH,qDAa/B,OACE,oCACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEqpD,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAgBpxF,QAKzB,kBAAC,IAAD,CACEy1D,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,SAACvyF,GAAW,IAAD,EACjB,OACE,kBAAC,GAAD,CACEE,qBACe,QAAb,EAAAuQ,YAAA,eAAiBC,UAAW,aAAe,gBAE7Cq9C,mBAAmB,gBAEnB,kBAAC,GAAmB/tD,OAc5B,kBAAC,IAAD,CACEy1D,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYnB,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACE37B,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,KACE,kBAAC,GAAD,iBAASA,OAAWsE,QAI1B,kBAAC,IAAD,CACEmxD,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYnB,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAD,WAMR,kBAAC,IAAD,CACE37B,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,CAAWoB,eAAa,GACtB,kBAAC,GAAaxyF,QAKtB,kBAAC,IAAD,CACEy1D,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYnB,aAAa,GACvB,kBAAC,GAAD,CAAWoB,eAAa,GACtB,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACE/8B,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,KACE,kBAAC,GAAD,UAIN,kBAAC,IAAD,CACE98B,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,KACE,kBAAC,GAAUA,OAIjB,kBAAC,IAAD,CACEy1D,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,KACE,kBAAC,GAAD,UAIN,kBAAC,IAAD,CACE98B,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAqBpxF,QAK9B,kBAAC,IAAD,CACEy1D,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAqBpxF,WCtIvByyF,I,OApCqC,WAClD,IAAM1hF,EAAYN,KAAgBM,UAC5Bke,EAAUC,cAOhB,IAAMwjE,EAA6BhtC,KAEnC,OACE,yBAAKzlD,UAAU,UACZ8Q,EACC,yBAAK9Q,UAAU,WAEb,yBAAKA,UAAU,YAAYE,IAAKC,IAAMC,IAAI,SAC1C,yBAAKJ,UAAU,YACb,0BAAMA,UAAU,eAAeyyF,EAA/B,cACA,kBAAC,GAAD,CACEv2B,QAASu2B,EACTliF,MAAM,QACNyrD,OAAO,UAKb,yBAAKh8D,UAAU,aAAa+I,QAvBlC,WACEqY,GAAYupC,oBAAsB37B,EAAQ5M,SAAS80C,SACnDloC,EAAQM,KAAK,WAsBP,0BAAMtvB,UAAU,uBAChB,2BAAOA,UAAU,WAAjB,YCkZK0yF,I,OAnZqC,SAAC3yF,GACnD0vB,KACA,IAAM3e,EAAYN,KAAgBM,UAC5Bke,EAAUC,cAH6C,EAI3B7oB,IAAM8G,UAAkB,GAJG,mBAItDyC,EAJsD,KAI3Cmf,EAJ2C,KAKzDqF,EAAS,EACb9oB,QAAQC,IAAI,oBAAqBowB,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,QAC9D,IAAMwd,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAVmB,MAYXpH,IAAM8G,SAAc,MAZT,mBAYnCwqD,GAZmC,WAqC7D,SAASK,EAAmBt/C,GAC1B,IAAKA,GAAOA,EAAIR,YAEd,GAAIQ,GAAOA,EAAIS,KAAM,CACnB,IAAM5P,EAAmB0R,KAAKC,MAAMxC,EAAIS,MAAMzP,QAC5C,SAACW,GAAD,OAKoB,GAAlBA,EAAK4tD,aAELrB,GAAsC,EACxCg8B,OAA2BtuF,EAG7B,GAFoB,IAAhBiF,EAAKvE,QAAkC,IAAlBuE,EAAK,GAAG6uD,QAC/BxB,GAA6B,QAEpBtyD,IAATiF,GACS,OAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,GACE,KAAb,OAAJuE,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QACN,CACA,IAAIkzD,EAAe3uD,EAAK2U,MACtB,SAACi6C,GAAD,MAC+B,gBAAtB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASh4B,mBACsB,KAAxB,OAAPg4B,QAAO,IAAPA,OAAA,EAAAA,EAAS/6B,uBAEbw1D,EAAsB16B,EACD,OAAjBA,QAA0C5zD,IAAjB4zD,IAC3BP,EAAqBO,GACrBtB,GAA6B,GAGjC,QACWtyD,IAATiF,GACS,OAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,IACX,OAAJuE,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,EACf,CACA,IAAIkzD,EAAe3uD,EAAK2U,MACtB,SAACi6C,GAAD,MAC+B,gBAAtB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASh4B,mBACsB,KAAxB,OAAPg4B,QAAO,IAAPA,OAAA,EAAAA,EAAS/6B,uBAEbw1D,EAAsB16B,EACtBP,EAAqBO,GAGvBlC,GACE+B,EACA12C,GAAYwQ,cACZ7gB,GAAOW,6BAET+gB,IACE,SAACha,GAAD,OACE20C,EACE30C,EACAk+C,EACAg8B,KAEJvxE,GAAYwQ,oBAEQ,OAAV,OAAHnZ,QAAG,IAAHA,OAAA,EAAAA,EAAKS,OACd68C,GACE+B,EACA12C,GAAYwQ,cACZ7gB,GAAOW,6BAET+gB,IACE,SAACha,GAAD,OAAc20C,EAAsB30C,GAAK,KACzC2I,GAAYwQ,gBAGd9C,GAAa,GAKnB,SAASgpC,EAAkBr/C,GACrBA,EAAIS,MACN0oC,GAAqBlhD,GAAaK,UAItC,SAASqsD,EACP30C,EACAk+C,EACAg8B,GAEA,IAAKl6E,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAGnCkI,GAAYyM,gBAAgB8a,WAAavnB,GAAYyM,gBAClD8a,WACCvnB,GAAYyM,gBAAgB8a,WAFS,OAGrCnY,QAHqC,IAGrCA,OAHqC,EAGrCA,EAAaoe,iBAMjB,IAAMvgB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAyD5D,GAvDAN,GAAYopC,eAAiBh6B,EAAYoiE,eACzCvkE,EAAwBm8B,eAAiBh6B,EAAYoiE,eAErDvnF,QAAQC,IAAI+iB,EAAyB,2BAEhCA,EAAwBxL,SAC3BwL,EAAwBxL,OAAS2N,EAAYmqC,UAGvB,OAAtBnqC,EAAYs3B,YACUzjD,IAAtBmsB,EAAYs3B,OACZt3B,EAAYs3B,QAEZ1mC,GAAY4P,MAAQR,EAAYs3B,OAE7Bz5B,EAAwB4mB,UAC3B5mB,EAAwB4mB,QAAUzkB,EAAYoqC,SAGzB,QAAV,OAAXpqC,QAAW,IAAXA,OAAA,EAAAA,EAAagjB,WACQnvC,KAAV,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAagjB,MACQ,MAAV,OAAXhjB,QAAW,IAAXA,OAAA,EAAAA,EAAagjB,OAEbnlB,EAAwBmlB,IAAMtd,KAAM,OAAC1F,QAAD,IAACA,OAAD,EAACA,EAAagjB,KAAKrd,OACrD,cAEF/U,GAAY8zB,UAAYhf,KAAM,OAAC1F,QAAD,IAACA,OAAD,EAACA,EAAagjB,KAAKrd,OAAO,eAIvB,OAAtB,OAAX3F,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,wBACoBvqC,IAAtB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,mBACqB,MAAvB,OAAXpe,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,oBAEbvgB,EAAwBsa,WAAxB,OAAqCnY,QAArC,IAAqCA,OAArC,EAAqCA,EAAaoe,kBAEpDvgB,EAAwBu8B,KAAxB,OAA+Bp6B,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAao6B,KAC5Cv8B,EAAwBw8B,SAAxB,OAAmCr6B,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAa06D,WAChD9pE,GAAYwpC,KAAZ,OAAmBp6B,QAAnB,IAAmBA,OAAnB,EAAmBA,EAAao6B,KAChCxpC,GAAYypC,SAAZ,OAAuBr6B,QAAvB,IAAuBA,OAAvB,EAAuBA,EAAa06D,WACpC1pE,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAGjBu4B,GAAap2B,GAGbkmC,GACEC,EACAg8B,GAGEniE,EAAYk3B,wBAAuBtmC,GAAYmO,cAAe,IAG9DiB,EAAYk3B,uBACZtmC,GAAY8P,qBACX9P,GAAYmO,cACO,OAAtBiB,EAAYolB,OACU,OAAtBplB,EAAYs3B,MAEZ1mC,GAAYqqC,oBAAsBvoD,QAC/B,GAEDstB,EAAYw2B,2BACZx2B,EAAYu2B,2BAIX,GAAKv2B,EAAY22B,uBAEjB,GAC8B,KAAtB,OAAX32B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,mBACb,OAAChxB,QAAD,IAACA,OAAD,EAACA,EAAa+3B,eAGX,GAC8B,KAAtB,OAAX/3B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,kBACXhxB,EAAY42B,6BACX52B,EAAY+2B,2BAGZ,GAAKoP,EAEL,GACFv1C,GAAYmO,cACZnO,GAAY4P,OACZ5P,GAAY6tB,OACZze,EAAY82B,0BAGV,GAAI92B,EAAYg3B,sBACnBpmC,GAAYqqC,oBAAsBvoD,QAC/B,GAAKstB,EAAYi3B,iBAEjB,IACgC,IAAlCj3B,EAAYq3B,mBACmB,IAA9Br3B,EAAYm3B,eACkB,IAA9Bn3B,EAAYm3B,gBACdn3B,EAAYw2B,2BACZx2B,EAAYu2B,4BACZv2B,EAAY22B,wBACZ32B,EAAY+2B,4BACZoP,IACCv1C,GAAYmO,cACXnO,GAAY4P,OACZ5P,GAAY6tB,OACZze,EAAY82B,2BACd,CAAC,IAAD,IACAuO,GACEg9B,EACAzxE,GAAYwQ,cACZ,EACAxQ,GAAYo6B,YAAYgG,gBAAxB,OACIpgC,SADJ,IACIA,IADJ,UACIA,GAAao6B,mBADjB,aACI,EAA0BgG,gBAC1B,EANa,OAOjBpgC,SAPiB,IAOjBA,IAPiB,UAOjBA,GAAayM,uBAPI,aAOjB,EAA8B9nB,UAE3Bqb,GAAYqqC,oBAAsBvoD,QAxBvCke,GAAYqqC,oBAAsB/qD,GAAaS,WAJ/CigB,GAAYqqC,oBAAsB/qD,GAAaO,SAP/CmgB,GAAYqqC,oBAAsB/qD,GAAaM,SAF/CogB,GAAYqqC,oBAAsB/qD,GAAaI,UAN/CsgB,GAAYqqC,oBAAsB/qD,GAAaU,WAL/CggB,GAAYqqC,oBAAsB/qD,GAAaG,UAF/CugB,GAAYqqC,oBAAsB/qD,GAAaE,QAqDrDkuB,GAAa,GAGf,SAAS+jE,EAAYp6E,IACdA,GAAOA,EAAIR,OACd5M,QAAQC,IAAImN,EAAIR,OAChB6W,GAAa,IAETrW,EAAIS,KAAKyB,MAC6B,IAApClC,EAAIS,KAAKyB,KAAKm4E,mBAChB9jE,EAAQM,KAAKnsB,GAAUI,2BAEzBurB,GAAa,GAkGnB,OA1WA1oB,IAAM6H,WAAU,WAAO,IAAD,EACG,QAAnB+gB,EAAQ8I,QACV9I,EAAQM,KAAKk5B,MACbn9C,QAAQC,IAAI,eAAgB0jB,EAAQM,KAAKk5B,QAExCpnC,GAAYmO,cACZnO,GAAY4P,OACZ5P,GAAY6tB,OACb7tB,GAAY+P,gBAAgBpsB,SAAWzC,GAAgByC,QACT,KAAnC,OAAXqc,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,kBAEX,IAAXrtB,GACF/S,GAAY+P,gBAAgB7B,KAAK/tB,MAGpC,CAAC6f,GAAY6tB,MAAO7tB,GAAY4P,QAEnC5qB,IAAM6H,WAAU,WACd6gB,GAAa,GAEb6mC,GAAmBoC,EAAoB32C,GAAYwQ,iBAClD,CAAC5C,EAAQ5M,SAAS80C,WA8UrB11C,OAAOuxE,eAtFP,SAAiC7rF,GAC/B,IAAIg7D,EAAU,gBAOd,GALK1gD,OAAewxE,oBAClB9wB,EAAU,aAEZ72D,QAAQC,IAAI,UAAW42D,GAEP,cAAZA,EAAyB,CAC3B,IAAM+wB,EAAsB1lF,SAC1BiU,OAAOkO,eAAehO,QAAQ,gBAAkB,IAElD,GACEuxE,IACiB,IAAhBA,GACiB,IAAhBA,GACgB,IAAhBA,GACgB,IAAhBA,GACgB,IAAhBA,GACgB,IAAhBA,GACgB,KAAhBA,GACF,CACA,IAAMC,EAAoBl4E,KAAKC,MAC7BuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAIxDmQ,EAAwB,QAEGxtB,GAA7B+c,GAAYwQ,eACiB,IAA7BxQ,GAAYwQ,cAEIxQ,GAAYwQ,cAEO,IAAnCshE,EAAkBvhE,oBACiBttB,GAAnC6uF,EAAkBvhE,eAEFuhE,EAAkBvhE,mBAIGttB,GAArC+c,GAAYyQ,uBACyB,IAArCzQ,GAAYyQ,sBAEZA,EAAwBzQ,GAAYyQ,sBAEO,IAA3CqhE,EAAkBrhE,4BACyBxtB,GAA3C6uF,EAAkBrhE,wBAElBA,EAAwBqhE,EAAkBrhE,uBAInBtkB,SAASskB,GAKlC,OADA3qB,EAAEisF,YAAcjxB,EACTA,KA+BT1gD,OAAO4xE,aACT/nF,QAAQiD,KAAK,iDAIb,yBAAKtO,UAAU,cACb,kBAAC,GAAD,MACA,yBAAKA,UAAU,WACZ8Q,GACC,yBAAK9Q,UAAU,iBACb,kBAAC,GAAD,CAAe2P,UAAWA,KAG9B,yBACE3P,UACE,kBAC+C,IAA9CohB,GAAYo6B,YAAYqM,mBACiB,IAA1CzmC,GAAYo6B,YAAYmM,eACxB34B,EAAQ5M,SAAS80C,WAAax2D,GAAaK,UAC3CiuB,EAAQ5M,SAAS80C,WAAax2D,GAAaS,MACvC,YACA,KAGLpB,EAAMgP,c,qBClYFskF,I,OAtCiC,SAACtzF,GAyB/C,OALAqG,IAAM6H,WAAU,YAnBG,WAAO,IAAD,QACnBkmB,EAAS,EAEP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAE1C,IAAM8lF,EAAe,CACnB1wE,cAAa,OAAExB,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BiB,kBAA6B,OAAXzR,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,iBAA1B,OACdpgC,SADc,IACdA,IADc,UACdA,GAAao6B,mBADC,aACd,EAA0BgG,gBADZ,OAEdpgC,SAFc,IAEdA,QAFc,EAEdA,GAAaogC,gBACjB1uB,aAAc,GACdqB,OAAM,UAAEA,SAAF,aAAE,EAAQ3mB,WAChB8zB,WAAU,OAAElgB,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0BxoB,YAExCoO,IAAc,cAAUkyD,GAGxBC,GACA/xE,OAAOkO,eAAepB,QAAQ,cAAe,OAC5C,IAGD,yBAAKtuB,UAAU,YACb,yBAAKA,UAAU,eACb,2CAEF,yBAAKA,UAAU,UACb,yBAAKA,UAAU,YAAYE,IAAKszF,KAAepzF,IAAI,aAErD,kBAAC,GAAD,SCESqzF,I,OAjCiC,WAE5C,IAAMzkE,EAAUC,cAEhB7oB,IAAM6H,WAAU,WACRuC,KAAgBM,YACZsQ,GAAYspC,oBACZ17B,EAAQzpB,QAAQ6b,GAAYspC,qBAE5B17B,EAAQzpB,QAAQ7E,GAAaE,YAEtC,CAACouB,EAAQ5M,SAAS80C,WAErB,IAAMu7B,EAA6BhtC,KAEnC,OACI,yBAAKzlD,UAAU,WACX,yBAAKA,UAAU,eACX,0BAAMA,UAAU,yBAChB,yBAAKA,UAAU,WACX,kBAAC,GAAD,CAAak8D,QAASu2B,EAAoBliF,MAAM,QAAQyrD,OAAO,SAEnE,yBAAKh8D,UAAU,eACX,+BAAQyyF,EAAR,gBAGR,yBAAKzyF,UAAU,YACX,kBAAC,GAAD,UCpCH0zF,I,cAAiB,SAAC3yE,EAA4B4yE,GACzD9yE,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJijF,KAAM,OACN7Z,SAAU,GACV8Z,SAAU,GACVC,KAAMH,GAER1yE,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAauB,wBAE5BmN,KAcSgzE,GAAkB,SAC7BhzE,EACAizE,GAEAnzE,GACE,CACEkB,IAAK,iBACLpR,KAAMqjF,EACN/yE,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAayB,iBAE5BiN,I,qBC1BWkzE,GAZ0C,SACvDl0F,GAEcA,EAAMmP,MACpB,OACE,yBAAKlP,UAAU,qBACb,yBAAKA,UAAU,UACf,yBAAKA,UAAU,WCiuDNk0F,GAjoDE,SAACn0F,GAAgB,IAAD,EACGqG,IAAM8G,UAAkB,GAD3B,mBACxByC,EADwB,KACbmf,EADa,OAEG1oB,IAAM8G,SAAe,IAAI8nB,MAF5B,mBAExBoO,EAFwB,aAGDh9B,IAAM8G,SAAiB,IAHtB,gCAIe9G,IAAM8G,SAClD,KAL6B,mBAIxBinF,EAJwB,KAIPC,EAJO,OAOqBlnF,mBAAiB,IAPtC,mBAOxBmnF,EAPwB,KAOJC,EAPI,OAQqBpnF,mBAAiB,IARtC,mBAQxBqnF,EARwB,KAQJC,EARI,OASKtnF,oBAAkB,GATvB,gCAUWA,oBAAkB,IAV7B,mBAUxBunF,EAVwB,KAUTC,EAVS,OAWWxnF,oBAAkB,GAX7B,mBAWxBynF,EAXwB,KAWTC,EAXS,OAYDxuF,IAAM8G,WAZL,mBAYxBuhB,EAZwB,KAYf7C,EAZe,OAaOxlB,IAAM8G,UAAkB,GAb/B,mBAaxB2nF,EAbwB,KAaXC,EAbW,OAcC5nF,mBAAS,IAdV,mBAcxB6nF,EAdwB,KAcdC,EAdc,OAeC9nF,mBAAS,IAfV,mBAexB+nF,EAfwB,KAedC,EAfc,QAgBKhoF,mBAAS,IAhBd,qBAgBxBioF,GAhBwB,MAgBZC,GAhBY,SAiBKloF,oBAAkB,GAjBvB,qBAiBxBmoF,GAjBwB,MAiBZC,GAjBY,SAkBGpoF,oBAAkB,GAlBrB,qBAkBbqoF,IAlBa,gBAmBKroF,oBAAS,GAnBd,qBAmBxBsoF,GAnBwB,MAmBZC,GAnBY,SAoBSvoF,qBApBT,qBAoBxBwoF,GApBwB,MAoBVC,GApBU,SAqBazoF,mBAAS,IArBtB,qBAqBxB0oF,GArBwB,MAqBRC,GArBQ,SAsBe3oF,mBAA0B,IAtBzC,qBAsBxB4oF,GAtBwB,MAsBPC,GAtBO,SAuBL7oF,mBAAgC,CACxD,CACE8oF,kBAAmB50E,GAAYoqC,kBAC/B5oC,cAAexB,GAAYwQ,cAC3BqkE,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,YAAa,GACbC,cAAe,EACfC,YAAa,GACbC,SAAU,GACVC,YAAa,KACb31B,OAAQ,GACR41B,kBAAkB,EAClBC,SAAU,GACVC,SAAU,GACV9sF,MAAO,GACP+sF,KAAM,GACN19C,sBAAuB5rC,SAAS6T,GAAYyQ,uBAC5CilE,cAAe,EACf19C,QAAS,EACT29C,YAAY,EACZC,aAAc,CAAC,CAAE12F,MAAO,GAAIkB,KAAM,QA9CP,qBAuBxBy1F,GAvBwB,MAuBjBC,GAvBiB,SAiDO9wF,IAAM8G,UAAkB,GAjD/B,qBAiDXiqF,IAjDW,gBAkDiB/wF,IAAM8G,SACpD,IAnD6B,qBAkDNkqF,IAlDM,gBAqDKhxF,IAAM8G,UAAkB,GArD7B,qBAqDxBo/D,GArDwB,MAqDZC,GArDY,SAuD7BnmE,IAAM8G,UAAkB,GAvDK,qBAsDNmqF,IAtDM,gBAwDLnqF,oBAAS,GAxDJ,qBAwDxBoqF,GAxDwB,MAwDjBC,GAxDiB,SA0D7BnxF,IAAM8G,UAAkB,GA1DK,qBAyDxBsqF,GAzDwB,MAyDJC,GAzDI,MA+DzBzoE,GAAUC,cAEV4P,GAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,IAAqBA,KAAoB,OAARA,SAAQ,IAARA,QAAA,EAAAA,GAAU95B,QAAS,EAAG,CAAC,IAAD,GACrD+5B,GAA0B9jB,KAAKC,MAAM4jB,IACnC,OAAGC,SAAH,IAAGA,IAAH,WAAGA,GAAc/L,cAAjB,cAAG,GAAsBvlB,WAEjCpH,IAAM6H,WAAU,WFrCa,IAC7B8S,EACA6B,EEoCEpB,OAAOrW,SAAS,EAAG,GACnB2jB,GAAa,GACbtM,GAAajQ,GAAa,eFvC5BwO,EEwCkBlN,GFvClB+O,EEuCkCxB,GAAYwQ,cF3B9C/Q,GACE,CACEkB,IAAK,gBACLpR,KAAM,CACJghB,cAAe/O,EACf8P,kBAAmB,GAErBzR,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAawB,gBAE5BkN,KEiBC,IACH,IAAMgkC,GAAgB,WAAO,IAAD,MACtBp8C,GAAoB,EAQxB,OANsD,QAAzC,OAAXyY,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,6BAC0BzgD,KAAzC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,yBAD1B,OAEA1jC,SAFA,IAEAA,IAFA,UAEAA,GAAao6B,mBAFb,aAEA,EAA0BsJ,yBAE1Bn8C,GAAW,GAENA,GA+EH+uF,GAAuB,SAACj/E,GAC5B,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnCkI,GAAYoqC,kBAAoBh7B,EAAYmnE,gBAOnB,KAArBnnE,EAAYonE,OACdrC,IAAa,KAMrB,SAAShjF,GAAYkG,GACnB,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKI,UAAYb,EAAIS,KAAKI,SAASvU,OAAS,EAAG,CAAC,IAAD,EACvC6qC,GAAoBn3B,EAAIS,KAAKI,SAAU,CAC/D,gBAEIu+E,EAJ2D,oBAInBpuF,QAC5C,SAACW,GAAD,MACmB,WAAjBA,EAAK7J,SAAyC,gBAAjB6J,EAAK7J,WAEtCw1F,GAAmB8B,QAEnBjsE,EAAWnT,EAAIR,OAKrB,SAASpE,GAAe4E,GAEtB,IAAKA,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,YACV,GAAIQ,EAAIS,KAAM,CACnB,IAAIsX,EAOJ,IALEA,EADc,oBAAZ/X,EAAIS,KACQ8B,KAAKC,MAAMxC,EAAIS,MAEfT,EAAIS,MAGJnU,OAAS,GAAqB,qBAAhByrB,EAAoC,CAAC,IAAD,EAChEpP,GAAYoqC,kBAAoBh7B,EAAY,GAAGwlE,kBAC/CoB,GAAoB5mE,GACpB2mE,IAAe,GACfW,GAAYtnE,GACZ0mE,GAAS1mE,GACTilE,GAA6C,MAA/B,UAAAjlE,EAAY,UAAZ,eAAgBunE,kBACzB,CACL,GACE32E,GAAY2pC,aAAaY,WACzBvqC,GAAY2pC,aAAaW,WACzB,CACA,IAAMssC,EAAS,CACbp1E,cAAexB,GAAYwQ,cAC3BqmE,eAAgB72E,GAAY2pC,aAAaW,WACzCioC,KAAMvyE,GAAY2pC,aAAaY,UAC/BnqD,KAAM4f,GAAYyM,gBAAgBygB,SAEpC2oD,GAAM,GAAGhB,UAAY70E,GAAY2pC,aAAaW,WAC9CurC,GAAM,GAAGZ,YAAcj1E,GAAY2pC,aAAaW,WAChDurC,GAAM,GAAGT,SAAWp1E,GAAY2pC,aAAaY,UAC7CsrC,GAAM,GAAGJ,KAAOz1E,GAAY2pC,aAAamtC,UAEzChB,GAASD,IFnJjBl2E,EEqJ4B22E,GFlJ5B72E,GACE,CACEkB,IAAK,oCACLd,OAAQ,OACRtQ,KAAM,CACJmS,eAPNq1E,EEoJkDH,GF7Idp1E,cAC9Bw1E,cAAeD,EAAeF,eAC9BnE,KAAMqE,EAAexE,KACrB7N,KAAMqS,EAAe32F,MAEvBqgB,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaiD,2BAE5ByL,GEsIgD,IAAtCK,GAAY2pC,aAAaY,WAC3B+nC,IACE,SAACj7E,GAAD,OAAco0C,GAAQp0C,EAAK,KAC3B2I,GAAY2pC,aAAaY,WAKdvqC,GAAYwQ,cAM/B9C,GAAa,QAEblD,EAAWnT,EAAIR,OFxKc,IACjC8I,EACAo3E,EEkNA,SAAStrC,GAAQp0C,EAAU1N,GAEzB,GADA6gB,EAAW,KACNnT,GAAOA,EAAIR,MACd6W,GAAa,GAEblD,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKyC,cAAc5W,OAAS,EAAG,CACjD+vF,GAAe,GACf,IAAIn7C,EAA6B,YAAOs9C,IACpCt+E,EAASF,EAAIS,KAIjB,GAHAygC,EAAO5uC,GAAO4rF,SAAWh+E,EAAOgD,cAAc,GAAGg7E,SACjDh9C,EAAO5uC,GAAO6rF,SAAWj+E,EAAOgD,cAAc,GAAGi7E,SACjDj9C,EAAO5uC,GAAOjB,MAAQ6O,EAAOgD,cAAc,GAAG7R,MACf,wBAA3B6vC,EAAO5uC,GAAO6rF,SAAoC,CACpD,GAAIj9C,EAAO5uC,GAAOsrF,YAAYtxF,OAAS,GAAI,CACzCwyF,IAAS,GACTp1E,MAAM,sDACN,IAAIk2E,EAAW,eAAQlE,GACvBkE,EACEttF,GADF,qDAGAqpF,EAAmBiE,GAErBd,IAAS,QAETA,IAAS,GAGX,IAS2B,MATrBe,EAAW3/E,EAAOgD,cAAc1P,KACpC,SAAC7B,EAAWW,GAAZ,MAA+B,CAC7BzK,MAAOyK,EAAQ,EACfvJ,KAAM4I,EAAKysF,SAMf,GAFAl9C,EAAO5uC,GAAOisF,aAAesB,EAEL,IAApBA,EAASvzF,OACX40C,EAAO5uC,GAAO8rF,KAAOyB,EAAS,GAAG92F,KACjCm4C,EAAO5uC,GAAOmrF,UAAd,OAA0Bz9E,QAA1B,IAA0BA,GAA1B,UAA0BA,EAAKS,YAA/B,aAA0B,EAAWyC,cAAc,GAAG48E,aACtD5+C,EAAO5uC,GAAOorF,UAAd,OAA0B19E,QAA1B,IAA0BA,GAA1B,UAA0BA,EAAKS,YAA/B,aAA0B,EAAWyC,cAAc,GAAG68E,aACtD7+C,EAAO5uC,GAAOqrF,UAAd,OAA0B39E,QAA1B,IAA0BA,GAA1B,UAA0BA,EAAKS,YAA/B,aAA0B,EAAWyC,cAAc,GAAG88E,kBACjD,GAAIH,EAASvzF,OAAS,EAAG,CAAC,IAAD,MAC9B40C,EAAO,GAAGk9C,KAAOyB,EAAS,GAAG92F,KAC7Bm4C,EAAO,GAAGu8C,UAAV,OAAsBz9E,QAAtB,IAAsBA,GAAtB,UAAsBA,EAAKS,YAA3B,aAAsB,EAAWyC,cAAc,GAAG48E,aAClD5+C,EAAO,GAAGw8C,UAAV,OAAsB19E,QAAtB,IAAsBA,GAAtB,UAAsBA,EAAKS,YAA3B,aAAsB,EAAWyC,cAAc,GAAG68E,aAClD7+C,EAAO,GAAGy8C,UAAV,OAAsB39E,QAAtB,IAAsBA,GAAtB,UAAsBA,EAAKS,YAA3B,aAAsB,EAAWyC,cAAc,GAAG88E,kBAElD9+C,EAAO5uC,GAAO8rF,KAAO,GAGvBhB,GAAkBl9E,EAAOgD,eACzBu7E,GAASv9C,GACT7qB,GAAa,OACR,CACL,IAAI6qB,EAA6B,YAAOs9C,IACxCt9C,EAAO5uC,GAAO4rF,SAAW,GACzBh9C,EAAO5uC,GAAO6rF,SAAW,GACzBj9C,EAAO5uC,GAAOjB,MAAQ,GACtB6vC,EAAO5uC,GAAO8rF,KAAO,GACrBl9C,EAAO5uC,GAAOisF,aAAe,GAC7BE,GAASv9C,GACTm7C,GAAe,GACflpE,EAAW,2CACXkD,GAAa,IAKnB,IAAMgpE,GAAc,SAAC5/B,GACnB,IAAIve,EAA6B,YAAOs9C,IACpC/+B,EAAQnzD,OAAS,IACnB40C,EAASue,EAAQjsD,KAAI,SAAC7B,GACpB,IAAIsuF,EAAQxgC,EAAQj6C,MAClB,SAAC06E,GAAD,OAAaA,EAAGrC,gBAAkBlsF,EAAKksF,iBAIzC,OAFAoC,EAAM1B,aAAe,CAAC,CAAE12F,MAAO,GAAIkB,KAAM,KACzCk3F,EAAMrC,YAAcjsF,EAAK6rF,UAClByC,EAAK,2BAAQtuF,GAASsuF,GAAUtuF,MAG3C8sF,GAASv9C,IAGLr0B,GAAe,SACnB9jB,EACAuJ,EACArB,GAEA,IAAIiwC,EAA6B,YAAOs9C,IAC3B,qBAATz1F,GACiB,mBAARkI,IAAmBiwC,EAAO5uC,GAAOvJ,GAAQkI,GAEzC,eAATlI,EACiB,mBAARkI,IAAmBiwC,EAAO5uC,GAAOvJ,GAAQkI,GAClC,aAATlI,EACU,KAAfkI,EAAI3E,SACN+pB,GAAa,GACb6qB,EAAO5uC,GAAOvJ,GAAQkI,EAEoB,IAAtCiwC,EAAO5uC,GAAOisF,aAAajyF,OAC7B40C,EAAO5uC,GAAO8rF,KAAOl9C,EAAO5uC,GAAOisF,aAAa,GAAGx1F,KAEnDm4C,EAAO5uC,GAAO8rF,KAAO,GAEvBnD,IAAe,SAACj7E,GAAD,OAAco0C,GAAQp0C,EAAK1N,KAAQrB,IAElC,cAATlI,EACG,KAARkI,IACFiwC,EAAO5uC,GAAOvJ,GAAQkI,GAGN,gBAATlI,GACG,KAARkI,IACFiwC,EAAO5uC,GAAOvJ,GAAQkI,GAG1BwtF,GAASv9C,IAuNLi/C,GAAqB,SAACpoE,GAC1B,IAAIonE,EAAQ,EAEM,OAAhBpnE,QACgBnsB,IAAhBmsB,QACsBnsB,IAAtBmsB,EAAYonE,QAEZA,EAAQpnE,EAAYonE,OAEJ,OAAhBpnE,QACgBnsB,IAAhBmsB,GACAA,EAAYonE,OACS,KAArBpnE,EAAYonE,OAEZrC,IAAa,GAEf,IAAMlnE,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG1C,OAAhB8O,QACgBnsB,IAAhBmsB,GACAA,EAAYmnE,kBAEZv2E,GAAYoqC,kBAAoBh7B,EAAYmnE,iBAEV,KAAlCv2E,GAAYoqC,mBACsB,OAAlCpqC,GAAYoqC,oBAEZpqC,GAAYoqC,kBAAoBn9B,EAAwBigB,SAC1D,IAAMiY,EAAcvL,GAAmB5X,EAAW,WAElD8zD,IAAS,SAACD,GACR,IAAM4B,EAAkB,CACtBrtC,kBAAmBpqC,GAAYoqC,kBAC/BstC,UAAW7B,EAAMA,EAAMlyF,OAAS,GAAGkxF,UACnCtkE,cAAeslE,EAAMA,EAAMlyF,OAAS,GAAG6d,cACvCm2E,YAAaxrF,SAAS0pF,EAAMA,EAAMlyF,OAAS,GAAG0xF,aAC9CuC,UAAW/B,EAAMA,EAAMlyF,OAAS,GAAGmxF,UACnCC,UAAWc,EAAMA,EAAMlyF,OAAS,GAAGoxF,UACnCC,UAAWa,EAAMA,EAAMlyF,OAAS,GAAGqxF,UACnC6C,SAAUhC,EAAMA,EAAMlyF,OAAS,GAAG4xF,SAClCuC,cAAejC,EAAMA,EAAMlyF,OAAS,GAAGuxF,cACvC6C,SAAUlC,EAAMA,EAAMlyF,OAAS,GAAG6xF,SAClCwC,YAAanC,EAAMA,EAAMlyF,OAAS,GAAGwxF,YACrCz1B,OAAQm2B,EAAMA,EAAMlyF,OAAS,GAAG+7D,OAChCjvC,sBAAuBolE,EAAMA,EAAMlyF,OAAS,GAAGo0C,sBAC/CkgD,UAAW,GACXl3D,SAAU,GACV4+B,QAASk2B,EAAMA,EAAMlyF,OAAS,GAAGq0C,QACjCkgD,SAAUrC,EAAMA,EAAMlyF,OAAS,GAAGyxF,SAClC+C,iBAAkBtC,EAAMA,EAAMlyF,OAAS,GAAG2xF,iBAC1C5kE,OAAQ1Q,GAAY0Q,OACpB+kE,KAAMI,EAAMA,EAAMlyF,OAAS,GAAG8xF,KAC9B2C,YAAY,EACZ1vF,MAAOmtF,EAAMA,EAAMlyF,OAAS,GAAG+E,MAC/B2vF,UAAW7B,GAAS,GACpBplE,eAAgB+zB,EAChBivC,WAAYoC,GAGd,OADA7D,GAAgB2F,GAAgBb,GACzB5B,MAsVX,SAASyC,GAAejhF,GACtB,IAAKA,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,OACf6W,GAAa,GACb2oE,IAAsB,GACtBlrB,IAAc,QAEd,GAAI9zD,EAAIS,KAAM,CACZu+E,IAAsB,GACtB3oE,GAAa,GACby9C,IAAc,GACd8qB,IAAoB,GAIpBz1C,GAAqBlhD,GAAaG,MAClC82B,GAAW,CAAEG,OAAQ,eAAgBlpB,MAAO,kBAG5C,IAAMsK,EAAO,CACX0gB,UACEzB,GAAgBC,aAAaU,SAASC,6BACxCsW,mBAAoB,GACpBpM,WAAYljC,EAAMkjC,WAClBC,WAAYnjC,EAAMmjC,WAClBC,aAAcpjC,EAAMojC,aACpBmM,IAAKluB,GAAY4P,MACjBue,yBAA0BnuB,GAAY8P,mBACtCse,mBAAoBpuB,GAAYmO,aAChCkgB,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAEtB8H,GAA2BxgB,GAI3BihB,GAAiBC,UACfO,GAAgBvC,aAAaU,SAASC,8BAGxC/J,GAAQM,KAAKuyB,WAGbj2B,EAAWnT,EAAIR,OACf6W,GAAa,GACb2oE,IAAsB,GACtBlrB,IAAc,GAKpB,IAIMotB,GAAY,WAChB/E,GAAiB,IAGbgF,GAAgB,SAAC7uF,GAEe,IAD1B,eAAQksF,IACPlsF,GAAOurF,eAAuBvrF,IAAUksF,GAAMlyF,OAAS,IAChE+pB,GAAa,GACb8lE,GAAiB,GF/nCrB/zE,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJijF,KAAM,MACN7Z,SAAU,GACV8Z,SAAU,IAEZ5yE,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaoB,sBEqnCd,SAACgF,GAAD,OAAcohF,GAAYphF,QAIpCohF,GAAc,SAACphF,IACdA,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,OAEXQ,EAAIS,MACN4V,GAAa,GACbkmE,EAAYv8E,EAAIS,KAAKmC,YAErBuQ,EAAWnT,EAAIR,QAkBf6hF,GAAyB,SAACpwF,EAAaqB,GAC3C+jB,GAAa,GACbwlE,EAAsB5qF,GFpoCxBmX,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJijF,KAAM,OACN7Z,SEgoCwCrwE,EF/nCxCmqF,SAAU,IAEZ5yE,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaqB,gBE0nChB,SAAC+E,GAAD,OAhBM,SAACA,IACdA,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,OAEXQ,EAAIS,MACNg8E,EAAYz8E,EAAIS,KAAKqC,YACrBuT,GAAa,IAEblD,EAAWnT,EAAIR,OAQO8hF,CAAYthF,OAGlCuhF,GAAqB,SAACtwF,EAAaqB,GACvC+jB,GAAa,GACb0lE,EAAsB9qF,GFzmCxBmX,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJijF,KAAM,SACN7Z,SEqmCiDsa,EFpmCjDR,SEomC4CnqF,GFlmC9CuX,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAasB,gBE+lCd,SAAC8E,GAAD,OAAcwhF,GAAcxhF,OAGtCwhF,GAAgB,SAACxhF,GACrB,IAAKA,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,YAEf,GAAIQ,GAAOA,EAAIS,KAAM,CACnB,IAAMghF,EAAazhF,EAAIS,KAAKuC,aAAavP,KAO/C,SAAqBiuF,GACnB,IAAIC,EAAY,EAEI,MAAhBD,EAAS,KACXC,GAAa,EACbD,EAAWA,EAASE,OAAO,IAG7B,OAAO,SAAUluF,EAAQC,GACvB,OAAkB,GAAdguF,EACKhuF,EAAE+tF,GAAUG,cAAcnuF,EAAEguF,IAE5BhuF,EAAEguF,GAAUG,cAAcluF,EAAE+tF,KAnBWI,CAAY,WAC1DnF,GAAc8E,GAGlBprE,GAAa,IAoBf,IA2CM0rE,GAAgB,WAQpB,OAPAnvF,QAAQC,IACN,QACAgsF,IACE1nE,OAAO+pB,OAAOw6C,GAAiBlpF,SAC7B,kDAIHqsF,KACE1nE,OAAO+pB,OAAOw6C,GAAiBlpF,SAC9B,+CAEA2kB,OAAO+pB,OAAOw6C,GAAiBlpF,SAC7B,wDAEN4pF,GACAW,OAI0C,IAA1CyB,GAAMA,GAAMlyF,OAAS,GAAGuxF,eACe,KAAtCW,GAAMA,GAAMlyF,OAAS,GAAGkxF,WACiB,KAAxCgB,GAAMA,GAAMlyF,OAAS,GAAGsxF,aACqB,IAA7CY,GAAMA,GAAMlyF,OAAS,GAAGkxF,UAAUlxF,QACa,IAA/CkyF,GAAMA,GAAMlyF,OAAS,GAAGsxF,YAAYtxF,QAGlC,6BADFovF,EAAgBA,EAAgBpvF,OAAS,IAGvC,+CADFovF,EAAgBA,EAAgBpvF,OAAS,IAEJ,KAArCkyF,GAAMA,GAAMlyF,OAAS,GAAGyxF,WACzB3B,IA+BL,OARAxpF,QAAQC,IACN,qBACAkvF,MAAmBz1C,KACnBy1C,KACAz1C,MAKA,yBAAK/kD,UAAW,oBAAsB2P,EAAY,QAAU,KAC1D,8BACE,kBAAC,GAAD,CACEgsD,OAAQ84B,EACR74B,aAAa,EACbC,QAAS,WAnMf64B,GAAiB,KAqMX,yBAAK10F,UAAU,cACb,yBAAKA,UAAU,kBAAkBE,IAAK22F,KAAMz2F,IAAI,WAKnD62F,GAAMhrF,KAAI,SAAC3C,EAAMyB,GAChB,OACE,yBAAKwB,IAAKxB,GACR,8BAAUpC,SAAUgH,GAClB,kBAAC,GAAD,CACEgsD,OAAQg5B,EACR/4B,aAAa,EACbC,QAAS,kBAAM89B,OAEdtE,GACC,yBAAKr1F,UAAU,cACb,yBAAKA,UAAU,eACb,oDAEF,yBAAKA,UAAU,oBACb,4CACA,kBAAC,GAAD,CACEwB,KAAK,WACLqI,aAAc,EACdgB,QAASkqF,EACTprF,UAAU,WACVxB,YAAY,mBACZ0D,UAAU,iBACVgB,aAAa,EACb1C,eAAgB,SAACT,GAAD,OACdowF,GACEpwF,EAAG,cAMX,yBAAK1J,UAAU,oBACb,uCACA,kBAAC,GAAD,CACEwB,KAAK,WACLqI,aAAc,EACdgB,QAASoqF,EACTtrF,UAAU,WACVxB,YAAY,cACZ0D,UAAU,iBACVgB,aAAa,EACb1C,eAAgB,SAACT,GAAD,OACdswF,GAAmBtwF,EAAG,cAI5B,yBAAK1J,UAAU,oBACb,yCACA,kBAAC,GAAD,CACEwB,KAAK,SACLqI,aAAc,EACdgB,QAASsqF,GACTxrF,UAAU,SACVxB,YAAY,gBACZ0D,UAAU,mBACVgB,aAAa,EACb1C,eAAgB,SAACT,GAAD,OAjLX,SAACA,EAAUqB,GACtC4qF,GAAgBjsF,GAiLQ+wF,CAAqB/wF,OAI3B,yBAAK1J,UAAU,kBACb,kBAAC,GAAD,CACE+I,QAAS,kBApLd,SAACgC,GACe,YAAOksF,IAEtC5C,GACAE,GACAmB,IACwB,KAAxBA,GAAa50B,QAEbw0B,IAAc,GA4KqBoF,IACf7qF,QAAQ,YAGZ,yBAAK7P,UAAU,4BACb,kBAAC,GAAD,CACE+I,QAAS,kBAAM4wF,MACf9pF,QAAQ,YAGX4e,GACC,yBAAKzuB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEAGA,wEAEGA,EAFH,MAMF,+BAAQA,MAOlB,yBAAKzuB,UAAU,gBACb,yBAAKA,UAAU,eACb,oDAEF,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,iBACb,6BACE,uCACQ,IACN,0BAAMA,UAAU,gBACb01F,IAAgBA,GAAac,YAIpC,6BACE,+BAAQnC,IAEV,6BACE,2BAAOr0F,UAAU,aACd01F,IAAgBA,GAAa50B,UAIpC,yBAAK9gE,UAAU,oBACb,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACE6P,QAAQ,SACR9G,QAAS,kBA5NhB,SAACgC,EAAe4vF,GACnC,IAAIhhD,EAA6B,YAAOs9C,IACxC,GAAI0D,EAAgB,CAClBhhD,EAAO5uC,GAAO+1D,OAAS65B,EAAe75B,OACtCnnB,EAAO5uC,GAAOmrF,UAAYyE,EAAe75B,OACzCnnB,EAAO5uC,GAAOyrF,SAAWmE,EAAenE,SACxC78C,EAAO5uC,GAAO8rF,KAAO8D,EAAe9D,KACpCl9C,EAAO5uC,GAAO6rF,SAAWvC,EACzB16C,EAAO5uC,GAAO4rF,SAAWpC,EACzB,IAAMqG,EAAS,CACb,CACEt6F,OAAQyK,EAAQ,GAAGyC,WACnBhM,KAAMm5F,EAAe9D,OAGzBl9C,EAAO5uC,GAAOisF,aAAe4D,EAC7B1D,GAASv9C,GACTi7C,GAAiB,IA2MsBiG,CAAa9vF,EAAO2qF,UAM3C,yBAAK11F,UAAU,sBACb,kBAAC,GAAD,CACE6P,QAAQ,wBACR9G,QAAS,kBA1O/ByrF,EAAsB,IACtBF,EAAsB,SACtBgB,IAAeD,UA+PH,yBAAKr1F,UAAU,WACb,2BAAOA,UAAU,cAAjB,iBAEF,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEqG,aAAciD,EAAKmtF,YACnBvoF,QAAS4nF,GACT1nF,SAAU,SAAC1E,GAAD,OAzgCV,SAAClI,EAA4BuJ,EAAerB,GAC5D,IAAIiwC,EAA6B,YAAOs9C,IAC3B,gBAATz1F,EACFm4C,EAAO5uC,GAAOvJ,GAAQkI,EACJ,eAATlI,EACU,mBAARkI,IAAmBiwC,EAAO5uC,GAAOvJ,GAAQkI,GAClC,qBAATlI,GACU,mBAARkI,IAAmBiwC,EAAO5uC,GAAOvJ,GAAQkI,GAEtDwtF,GAASv9C,GAggC0BmhD,CAAU,cAAe/vF,EAAOrB,OAGvD,yBAAK1J,UAAU,wBACb,2BAAOA,UAAU,eAAjB,2BACA,kBAAC,GAAD,CACEiH,SAAU,SAACyC,GAAD,OAAS4b,GAAa,YAAava,EAAOrB,IACpDf,SAAU6sF,GACVrtF,YAAY,qBACZ3G,KAAK,YACLmG,UAAW,GACXpD,IAAK+yF,GAAQ,GAAK,EAClBjwF,SAAS,EACTmB,KAAK,WACLnC,aAAciD,EAAK2sF,aAIvB,yBAAKj2F,UAAU,wBACb,2BAAOA,UAAU,eAAjB,gCAGA,kBAAC,GAAD,CACEiH,SAAU,SAACyC,GAAD,OAAS4b,GAAa,cAAeva,EAAOrB,IACtDrB,OAAQ,SAACqB,GAAD,OAvgCP,SAACqB,EAAerB,GACjC,IAAIiwC,EAA6B,YAAOs9C,IACxC,GAAIK,IAAS39C,EAAO5uC,GAAOsrF,YAAYtxF,OAAS,GAAI,CAClD,IAAIszF,EAAW,eAAQlE,GACvBkE,EAAYttF,GAASkb,GAAShK,IAC9Bm4E,EAAmBiE,QACd,IAAKf,IAAS39C,EAAO5uC,GAAOsrF,YAAYtxF,OAAS,EAAG,CACzD,IAAIszF,EAAW,eAAQlE,GACvBkE,EAAYttF,GAASkb,GAAShK,IAC9Bm4E,EAAmBiE,QACd,GAAI1+C,EAAO5uC,GAAOkrF,YAAct8C,EAAO5uC,GAAOsrF,YAAa,CAChE,IAAIgC,EAAW,eAAQlE,GAEvBkE,EAAYttF,GAASkb,GAAShK,IAC9Bm4E,EAAmBiE,OACd,CACL,IAAIA,EAAW,eAAQlE,UAChBkE,EAAYttF,GACnBqpF,EAAmBiE,IAq/BY0C,CAAWhwF,IAC5BxE,UAAW4tF,EAAgBppF,GAC3BpC,SAAU6sF,GACVrtF,YAAY,qBACZ3G,KAAK,cACLmG,UAAW,GACXpD,IAAK+yF,GAAQ,GAAK,EAClBjwF,SAAS,EACThB,aAAciD,EAAK+sF,eAGtBmB,GACC,kBAAC,GAAD,CACEjnF,MAAM,UACNorD,OAAQ67B,GACR57B,aAAa,GAEb,yBACE57D,UAAU,qBACV4M,MAAO,CAAEsiF,SAAU,SAEnB,qDACA,yBAAKlvF,UAAU,aACb,yBACEA,UAAU,oBACV4M,MAAO,CAAEsiF,SAAU,SAEnB,qEAEF,yBAAKlvF,UAAU,4CACb,kBAAC,GAAD,UAMR,GAEF,yBAAKA,UAAU,wBACb,2BACEA,UACyB,IAAvBsJ,EAAKgtF,eAAuBvrF,IAAUksF,GAAMlyF,OAAS,EACjD,qBACA,eAJR,YAQE,0BACE/E,UAAU,YACV+I,QAAS,kBAAM6wF,GAAc7uF,KAF/B,qBAOF,kBAAC,GAAD,CACE9D,SAAU,SAACyC,GAAD,OAAS4b,GAAa,WAAYva,EAAOrB,IACnDrB,OAAQ,aACRM,SAAU6sF,GACVrtF,YAAY,kBACZ3G,KAAK,WACLmG,UAAW,GACXtB,aAAciD,EAAKktF,SACnBxuF,QAAM,KAGTsB,EAAKstF,UACJ,yBAAK52F,UAAU,YACb,2BACGsJ,EAAKstF,SACL,KAAOttF,EAAKqtF,SACZ,KAAOrtF,EAAKQ,SAKjBR,EAAKutF,MAAQvtF,EAAK0tF,aAAajyF,OAAS,IACxC,yBAAK/E,UAAU,wBACb,2BAAOA,UAAU,eAAjB,YAEE,0BACEA,UAAU,cACV+I,QAAS,kBAAM2rF,GAAiB,KAFlC,gBAOF,kBAAC,GAAD,CACElzF,KAAK,WACLqI,aAAc,EACdkC,eAAa,EACbvB,eACElB,EAAK0tF,cAA6C,IAA7B1tF,EAAK0tF,aAAajyF,OAEzC8F,QAASvB,EAAK0tF,cAAgB1tF,EAAK0tF,aACnC3wF,aAAciD,EAAKutF,KACnBluF,SAAU6sF,GACV7rF,UAAU,OACVxB,YAAY,wBACZ0D,UAAU,sBACVgB,YACEvD,EAAK0tF,cAAgB1tF,EAAK0tF,aAAajyF,OAAS,EAElDoF,eAAgB,SAACT,GAAD,OAvlCb,SAACA,EAAaqB,GACnC,IAAI4uC,EAA6B,YAAOs9C,IAExC,GADAt9C,EAAO5uC,GAAO8rF,KAAOntF,EACjBksF,IAAkBA,GAAe7wF,OAAS,EAAG,CAC/C,IAAIi2F,EAAoCpF,GAAensF,QACrD,SAACW,GAAD,OAAeA,EAAKysF,OAASntF,KAE/BiwC,EAAO5uC,GAAOwrF,YAAcyE,EAAiB,GAAGzE,YAChD58C,EAAO5uC,GAAOmrF,UAAY8E,EAAiB,GAAGzC,aAC9C5+C,EAAO5uC,GAAOorF,UAAY6E,EAAiB,GAAGxC,aAC9C7+C,EAAO5uC,GAAOqrF,UAAY4E,EAAiB,GAAGvC,aAC9C9+C,EAAO5uC,GAAO4rF,SAAWqE,EAAiB,GAAGrE,SAC7Ch9C,EAAO5uC,GAAO6rF,SAAWoE,EAAiB,GAAGpE,SAC7Cj9C,EAAO5uC,GAAO+1D,OAASk6B,EAAiB,GAAGl6B,OAC3CnnB,EAAO5uC,GAAOjB,MAAQkxF,EAAiB,GAAGlxF,MAC1CotF,GAASv9C,QAETu9C,GAASv9C,GAukCSshD,CAAevxF,EAAG,KAAoBqB,OAMnC,IAAVA,EACC,yBAAK/K,UAAU,yBACb,2BAAOA,UAAU,eAAjB,mBACA,yBAAKA,UAAU,cACb,kBAAC,GAAD,CACE2I,SAAiC,IAAvBW,EAAKgtF,cACftnF,KAAM1F,EAAKotF,iBACXzvF,SAAU,kBAzoCH,SAC3BzF,EACAuJ,EACArB,GAEA,IAAIiwC,EAA6B,YAAOs9C,IAC3B,qBAATz1F,EACiB,mBAARkI,IAAmBiwC,EAAO5uC,GAAOvJ,GAAQkI,GAClC,eAATlI,GACU,mBAARkI,IAAmBiwC,EAAO5uC,GAAOvJ,GAAQkI,GAEtDwtF,GAASv9C,GA+nCauhD,CACE,mBACAnwF,GACCksF,GAAMlsF,GAAO2rF,uBAMtB,UAOXjoE,GACC,yBAAKzuB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAgBhB,yBAAKzuB,UAAU,gBACb,kBAAC,GAAD,CACE2P,UAAW28D,GACXz8D,QAAQ,oBACRlH,SAAU6xF,MAAmBz1C,KAC7Bh8C,QAjoCW,SAAC7B,GACpBA,EAAE8sD,iBACFllC,GAAa,GACby9C,IAAc,GACd,IAAMl+C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MA0B5D,IAtByB,OAAvB2M,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBm8B,mBACzB,OAACn8B,QAAD,IAACA,OAAD,EAACA,EAAyBm8B,iBAAkB,GAE5CitC,IAAsB,GAGxBppE,EAAwBq9B,WAAaurC,GAAM,GAAGhB,UAC9C5nE,EAAwBs9B,UAAYsrC,GAAM,GAAGT,SAC7Ch1E,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAGjBjN,GAAYsqC,WAAar9B,EAAwBq9B,WACjDtqC,GAAYuqC,UAAYt9B,EAAwBs9B,YAW9C,OAACt9B,QAAD,IAACA,OAAD,EAACA,EAAyBm8B,iBAAkB,EAC5C,CAEiBppC,GAAYwQ,cACXqlE,GAAMA,GAAMlyF,OAAS,GAAGkxF,UAClCgB,GAAMA,GAAMlyF,OAAS,GAAGyxF,SACxBp1E,GAAYyM,gBAAgBygB,QAEpCsqD,SAGK,CAOLc,GAHY,CACVxgF,MAAM,MAglCF1Q,KAAK,eC7oDF2yF,GAtE2B,SAACp7F,GAEzC,IAAMijC,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GA2CJ,OAvBAlc,IAAM6H,WAAU,YAnBG,WAAO,IAAD,QACnBkmB,EAAS,EAEP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAE1C,IAAM8lF,EAAe,CACnB1wE,cAAa,OAAExB,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BiB,kBAA6B,OAAXzR,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,iBAA1B,OACdpgC,SADc,IACdA,IADc,UACdA,GAAao6B,mBADC,aACd,EAA0BgG,gBADZ,OAEdpgC,SAFc,IAEdA,QAFc,EAEdA,GAAaogC,gBACjB1uB,aAAc,GACdqB,OAAM,UAAEA,SAAF,aAAE,EAAQ3mB,WAChB8zB,WAAU,OAAElgB,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0BxoB,YAExCoO,IAAc,cAAUkyD,GAGxBC,GACA/xE,OAAOkO,eAAepB,QAAQ,cAAe,OAC5C,IAGHloB,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaU,SAASL,UACjD4W,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBue,yBAA0BnuB,GAAY8P,mBACtCse,mBAAoBpuB,GAAYmO,aAChCkgB,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,KAC1B,IAGD,yBAAKlZ,UAAU,YACb,yBAAKA,UAAU,eAAf,gBACA,yBAAKA,UAAU,iBAAf,mFAIA,kBAAC,GAAD,CACEijC,WAAYA,EACZC,WAAYA,EACZC,aAAcA,M,6FCzDPi4D,I,OATmC,SAACr7F,GAC/C,OACI,gBAAC,GAAD,CAAU47D,OAAQ57D,EAAMs7F,UAAWz/B,aAAa,EAAMC,QAAS97D,EAAM87D,SACjE,yBAAO37D,IAAKH,EAAMG,IAAKsI,KAAK,kBAAkBxI,UAAU,gB,+DCuDvDyiC,GAAiC,CAC5Ch6B,GAAI,GACJquB,SAAS,EACT4L,UAAW,EACXC,cAAc,EACd/F,SAAU,GACVgG,UAAU,EACVC,OAAQ,GACRzF,mBAAoB,IACpBN,WAAY,EACZE,SAAU,IAgiHGs+D,GA7hH+B,SAACv7F,GAE7C,IAAMijC,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GACEi5E,EAAmB,WAAO,IAAD,IAK3B,EAJEC,EAAep6E,GAAYo6B,YAAYsH,cAEE,OAAhC,OAAX1hC,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsH,qBACiBz+C,IAAhC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsH,iBAE1B04C,EAAY,OAAGp6E,SAAH,IAAGA,IAAH,UAAGA,GAAao6B,mBAAhB,aAAG,EAA0B6M,iBAE3C,OAAOmzC,GApB8C,EAsBrBp1F,IAAM8G,UAAkB,GAtBH,mBAsBhDyC,EAtBgD,KAsBrCmf,EAtBqC,OAuBrB5hB,oBAAkB,GAvBG,mBAuBrCuuF,GAvBqC,aAwBvBvuF,oBAAkB,GAxBK,mBAwBtCwuF,GAxBsC,aAyBvBxuF,qBAzBuB,mBAyBhDyuF,EAzBgD,KAyBtCC,EAzBsC,OA0BrB1uF,qBA1BqB,mBA0BhD2uF,EA1BgD,KA0BrCC,EA1BqC,OA2Bb5uF,oBAAkB,GA3BL,mBA2BhD6uF,EA3BgD,KA2BjCC,EA3BiC,OA4BrB9uF,oBAAkB,GA5BG,mBA4BhDmuF,EA5BgD,KA4BrCY,EA5BqC,OA6B3B/uF,oBAAkB,GA7BS,mBA6BhDgvF,EA7BgD,KA6BxCC,EA7BwC,OA8BbjvF,oBAAkB,GA9BL,mBA8BhDkvF,EA9BgD,KA8BjCC,EA9BiC,OA+BXnvF,oBAAkB,GA/BP,mBA+BhDovF,EA/BgD,KA+BhCC,EA/BgC,OAgCzBrvF,oBAAkB,GAhCO,mBAgChDsvF,EAhCgD,KAgCvCC,EAhCuC,OAkCrDvvF,oBAAkB,GAlCmC,oBAiChDwvF,GAjCgD,MAiC3BC,GAjC2B,SAmCzBzvF,oBAAkB,GAnCO,qBAmCvC0vF,IAnCuC,gBAoCrB1vF,oBAAkB,GApCG,qBAoCrC2vF,IApCqC,gBAqC3B3vF,oBAAkB,GArCS,qBAqChD4vF,GArCgD,MAqCxCC,GArCwC,SAsCzB7vF,oBAAkB,GAtCO,qBAsChD8vF,GAtCgD,MAsCvCC,GAtCuC,SAuCvB/vF,oBAAkB,GAvCK,qBAuChDgwF,GAvCgD,MAuCtCC,GAvCsC,SAwCnBjwF,oBAAkB,GAxCC,qBAwChDs5E,GAxCgD,MAwCpC4W,GAxCoC,SAyCvBlwF,oBAAkB,GAzCK,qCA0CzB9G,IAAM8G,YA1CmB,qBA0ChDuhB,GA1CgD,MA0CvC7C,GA1CuC,SA2Cf1e,oBAAkB,GA3CH,qBA2ChDmwF,GA3CgD,MA2ClCC,GA3CkC,SA4CzBpwF,qBA5CyB,qBA4ChDqwF,GA5CgD,gBA6CrBrwF,mBAAQ,eACrCu1B,MA9CkD,qBA6ChDwlC,GA7CgD,MA6CrCC,GA7CqC,SAgDPh7D,mBAAiB,IAhDV,qBAgDhD+7D,GAhDgD,MAgD9BC,GAhD8B,SAiDrB9iE,IAAM8G,SAAe,IAAI8nB,MAjDJ,qBAiDhDoO,GAjDgD,MAkDjDpU,IAlDiD,MAkDvCC,eAlDuC,GAmDf7oB,IAAM8G,SAAqB,IAnDZ,qBAmDhDswF,GAnDgD,MAmDlCC,GAnDkC,SAoDbr3F,IAAM8G,SAAqB,IApDd,qBAoDhDwwF,GApDgD,MAoDjCC,GApDiC,SAqD3Bv3F,IAAM8G,UAAS,GArDY,qBAqDhD0wF,GArDgD,MAqDxCC,GArDwC,SAsDrBz3F,IAAM8G,UAAkB,GAtDH,qBAsDrC4wF,IAtDqC,gBAuDX13F,IAAM8G,SAAiB,IAvDZ,qBAuDhD6wF,GAvDgD,MAuDhCC,GAvDgC,SAwDjB53F,IAAM8G,SAAcquF,KAxDH,qBAwDhDrnE,GAxDgD,MAwDnC+pE,GAxDmC,SAyDb73F,IAAM8G,UAAkB,GAzDX,qBAyDhDgxF,GAzDgD,MAyDjCC,GAzDiC,SA2DrD/3F,IAAM8G,SAAiB,GA3D8B,qBA0DhDkxF,GA1DgD,MA0DxBC,GA1DwB,SA4D/BnxF,oBAAkB,GA5Da,qBA4DhDoxF,GA5DgD,MA4D1CC,GA5D0C,SA6DbrxF,oBAAkB,GA7DL,qBA6DhDsxF,GA7DgD,MA6DjCC,GA7DiC,SAgErDvxF,oBAAkB,GAhEmC,qBA+DhDwxF,GA/DgD,MA+DvBC,GA/DuB,SAkErDzxF,oBAAkB,GAlEmC,qBAiEhD0xF,GAjEgD,MAiEzBC,GAjEyB,SAoErD3xF,oBAAkB,GApEmC,qBAmEhD4xF,GAnEgD,MAmExBC,GAnEwB,SAqEb7xF,oBAAkB,GArEL,qBAqEhD8xF,GArEgD,MAqEjCC,GArEiC,SAsEb/xF,oBAAkB,GAtEL,qBAsEhDgyF,GAtEgD,MAsEjCC,GAtEiC,MAqIvD,SAAS/xC,GAAsB30C,IACxBA,GAAOA,EAAIR,OACd2T,GAAW,KACXA,GAAWnT,EAAIR,QAEXQ,EAAIS,MACW8B,KAAKC,MAAMxC,EAAIS,MACnBquC,6BACXk1C,GAAW,GACXG,IAAW,GACXC,IAAa,IAKrB,SAAStoF,GAAakE,IACfA,GAAOA,EAAIR,MAEd2T,GAAWnT,EAAIR,OAEXQ,EAAIS,OAEiB,MAArBT,EAAIS,KAAKkmF,UACiC,IAA1CxvE,OAAOtgB,KAAKmJ,EAAIS,KAAKkmF,UAAUr6F,QAE/B62F,EAAYnjF,EAAIS,KAAKkmF,UAGC,MAAtB3mF,EAAIS,KAAKmmF,WACkC,IAA3CzvE,OAAOtgB,KAAKmJ,EAAIS,KAAKmmF,WAAWt6F,QAEhC+2F,EAAarjF,EAAIS,KAAKmmF,YAM9B,SAAS7qF,GAAoBiE,GAC3B,IAAKA,GAAOA,EAAIR,MAEd2T,GAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CAAC,IAAD,IACNomF,EAAU7mF,EAAIS,KAAKoD,iBACnBijF,EAAcD,EAAQ71F,QAC1B,SAACyU,GAAD,M3FgImB,gB2FhIPA,EAAEshF,mBAEVC,EAAeH,EAAQ71F,QAC3B,SAACyU,GAAD,M3F8HoB,iB2F9HRA,EAAEshF,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,EAAYx6F,OAAS,GAC9Bg4F,IAAU,GACVE,IAAW,GACXxB,GAAa,GACbC,GAAY,IACH+D,EAAa16F,OAAS,GAC/Bg4F,IAAU,GACVE,IAAW,GACXxB,GAAa,GACbC,GAAY,KAEZqB,IAAU,GACVE,IAAW,KAMnB,SAAS0C,GAA8BlnF,GACrC,IAAKA,GAAOA,EAAIR,MAEd2T,GAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZyjF,IAAuB,GAGvBoC,IAA0B,GAE1B,IAAMa,EAAgBnnF,EAAIS,KAAKuD,QAAQhT,QACrC,SAACW,GAAD,OAAgC,IAAjBA,EAAKy1F,WAElBD,EAAc76F,OAAS,GACzBw5F,GAAQqB,EAAc,GAAGtB,MAIzBsB,EAAc3zF,KAAI,SAAC7B,GACI,aAAjBA,EAAK01F,QACPnB,GAA2Bv0F,EAAKy1F,SACN,eAAjBz1F,EAAK01F,QACdjB,GAAyBz0F,EAAKy1F,SACJ,iBAAjBz1F,EAAK01F,QACdf,GAA0B30F,EAAKy1F,SACL,aAAjBz1F,EAAK01F,SACdzD,GAAiB,GACjBF,GAAU,IACgB,cAAjB/xF,EAAK01F,SACdvD,GAAkB,GAClBJ,GAAU,IAEO,aAAjB/xF,EAAK01F,SACY,WAAjB11F,EAAK01F,UAELnD,IAAuB,GACvBR,GAAU,QAStB,SAAS/sD,GAAmB32B,IACrBA,GAAOA,EAAIR,MAEd2T,GAAWnT,EAAIR,OAEXQ,EAAIS,OAE8B,MADZT,EAAIS,KACRP,OAAOm3B,MACzBstD,IAAc,GACdH,IAAW,GACXsB,IAAQ,GACRE,IAAiB,KAEjBrB,IAAc,GACdqB,IAAiB,KAMvB3vE,GAAa,GArMf1oB,IAAM6H,WAAU,W/CxDW,IAAC8S,EAA4Bke,E+CyDtDzd,OAAOrW,SAAS,EAAG,GACnBqW,OAAOkO,eAAepB,QAAQ,cAAe,KAE7C6wE,GAfoB,WAAO,IAAD,MACtBx2F,GAAoB,EAQxB,OANsD,QAAzC,OAAXyY,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,6BAC0BzgD,KAAzC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,yBAD1B,OAEA1jC,SAFA,IAEAA,IAFA,UAEAA,GAAao6B,mBAFb,aAEA,EAA0BsJ,yBAE1Bn8C,GAAW,GAENA,EAMUo8C,IAClBj2B,GAAa,G/C7Dc/N,E+C8DZxM,G/C9DwC0qB,E+C8D1B7d,GAAYwQ,c/C7D1C/Q,GACE,CACEkB,IAAK,SACLpR,KAAM,CACJghB,cAAesN,EACfpH,SAAU,KAEZ5W,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAakC,cAE5BwM,G+CkDAme,GAAqBo2C,GAAgBl0D,GAAYwQ,e/CpCjB,SAClC7Q,EACAke,GAEApe,GACE,CACEkB,IAAK,SACLpR,KAAM,CACJghB,cAAesN,EACfpH,SAAU,KAEZ5W,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAamC,qBAE5BuM,G+CqBAg/E,CAAqBvrF,GAAqB4M,GAAYwQ,e/C8Gf,SACzC7Q,EACAke,GAEApe,GACE,CACEkB,IAAK,SACLpR,KAAM,CACJghB,cAAesN,EACfpH,SAAU,KAEZ5W,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaqC,4BAE5BqM,G+C7HAi/E,CACEL,GACAv+E,GAAYwQ,eAGd,IAAMsd,EAAsBl0B,KAAKC,MAC/BuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAExDytB,EAAS,QAEwB9qC,GAAnC+c,GAAYyM,gBAAgB9nB,KACO,IAAnCqb,GAAYyM,gBAAgB9nB,IAE5BopC,EAAS/tB,GAAYyM,gBAAgB9nB,IACD,IAA3BmpC,EAAoBnpC,MAC7BopC,EAAoC,IAA3BD,EAAoBnpC,IAAYmpC,EAAoBnpC,IAAM,IAEpDA,GAAI5B,KAAKgrC,IAExBjc,GAAkBkc,GAAoBD,GAExC1c,GAA0B26B,GAAuBhsC,GAAYwQ,iBAC5D,IAGHxrB,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaY,SAASP,UACjD4W,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBue,yBAA0BnuB,GAAY8P,mBACtCse,mBAAoBpuB,GAAYmO,aAChCkgB,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,KAC1B,IAuJH,IAAMo8D,GAAiB,SAAC78D,GACtB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAWnT,EAAIR,OACf6W,GAAa,QACR,GAAIrW,EAAIS,MAAqB,qBAAbT,EAAIS,KAA6B,CACtD,IACMi/D,EADSn9D,KAAKC,MAAMxC,EAAIS,MACDzP,QAC3B,SAACyU,GAAD,MAAmC,iBAAvBA,EAAEgiB,oBAEZi4C,EAAcpzE,OAAS,IACa,YAAlCozE,EAAc,GAAGyB,aACnB1Q,GAAoB,WACuB,gBAAlCiP,EAAc,GAAGyB,aAC1B1Q,GAAoB,eACuB,wBAAlCiP,EAAc,GAAGyB,aAC1B1Q,GAAoB,uBACuB,mBAAlCiP,EAAc,GAAGyB,aAC1B1Q,GAAoB,kBAEc,4BAAlCiP,EAAc,GAAGyB,aAEjB1Q,GAAoB,2BACuB,yBAAlCiP,EAAc,GAAGyB,cAC1B1Q,GAAoB,wBAEtBjB,GAAUx/D,GAAK,YACfw/D,GAAUnxC,SAAU,EACpBmxC,GAAUvlC,UAAY,IACtBulC,GAAUtlC,cAAe,EACzBslC,GAAUrrC,SAAWu7C,EAAc,GAAGhmD,SACtC81C,GAAUrlC,UAAW,EACrBqlC,GAAUtlC,cAAe,EACzBslC,GAAUjrC,SAAWm7C,EAAc,GAAGp7C,SACtCkrC,GAAUnrC,WAAaq7C,EAAc,GAAGt7C,WACxCqrC,GAAaD,IACb3oC,GACE86C,GACAjC,EAAc,GAAGhmD,SACjBgmD,EAAc,GAAGS,uBAGXngE,GAAOA,EAAIR,OAAsB,qBAAbQ,EAAIS,KAClC0S,GAAWnT,EAAIR,OAEfiwD,GAAaD,KAIXmS,GAAiB,SAAC3hE,GACtB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAWnT,EAAIR,OACf6W,GAAa,QAEb,GAAIrW,EAAIS,KAAM,CACZ,IAAM4pB,EAAS,yBAA2BrqB,EAAIS,KAAKqlB,eAC/C0hE,EAAU,eAAQh4B,IACtBg4B,EAAWp9D,OAASC,EACpBolC,GAAa+3B,KAyCnB,IAAMxjB,GAAmB,SACvBnyE,EACA7B,EACAm0B,EACAp0B,GACI,IACIo5D,EAAkBt3D,EAAlBs3D,OAAQkgB,EAAUx3E,EAAVw3E,MACZvuC,EAAa3d,KAAKC,MAAgB,IAAT+rC,EAAgBkgB,GACzCoe,EAAe,eAAQj4B,IACvB10B,EAAa,IACJ,gBAAP9qC,IACFy3F,EAAgBz3F,GAAKA,EACrBy3F,EAAgBppE,SAAU,EAC1BopE,EAAgBx9D,UAAY6Q,EAC5B2sD,EAAgBt9D,UAAW,EAC3Bs9D,EAAgBv9D,cAAe,EAC/BulC,GAAag4B,IAES,MAAf3sD,GACE,gBAAP9qC,IACFy3F,EAAgBz3F,GAAKA,EACrBy3F,EAAgBppE,SAAU,EAC1BopE,EAAgBx9D,UAAY6Q,EAC5B2sD,EAAgBt9D,UAAW,EAC3Bs9D,EAAgBv9D,cAAe,EAC/Bu9D,EAAgBljE,SAAWx0B,EAC3B03F,EAAgBtjE,SAAWA,EAC3BsrC,GAAag4B,GACbrC,IAAU,KAKVrhB,GAAe,SAAC/jE,GACpB,IAAKA,GAAOA,EAAIR,MACd6W,GAAa,GAGblD,GAAWnT,EAAIR,YACV,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKy/C,OAAQ,CACtC7pC,GAAa,GACb,IAAIqxE,EAAe,eAAQl4B,IACvB0c,EAAc,GACdO,EAAgB,CAClB9nD,mBAAoB+iE,EAAgB/iE,mBACpCN,WAAYqjE,EAAgBrjE,WAC5BQ,mBAAoB,GACpBV,SAAUnkB,EAAIS,KAAK6jE,KACnBv/C,eAAe,EACfR,SAAUvkB,EAAIS,KAAK6jE,KAAKz4D,MAAM,KAAK,GACnCyN,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCm3B,kBAAmB,KAErBynD,EAAYr1D,KAAK41D,GACjB,IAAM3+B,EAAcvL,GAAmB5X,GAAW,gBAC5ChF,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBtkB,SAAS6T,GAAYyQ,wBAA0B,EACtE4M,aAAckmD,EACd7yD,OAAQ1Q,GAAY0Q,OACpBy0B,YAAaA,GAEf9mB,GAAqB2gE,GAAYhiE,QAGjCxS,GAAWnT,EAAIR,QAIbmoF,GAAa,SAAC3nF,IACbA,GAAOA,EAAIR,MACd2T,GAAWnT,EAAIR,OAEXQ,GAAOA,EAAIS,MAUbmnF,GAAc,SAAC32F,GACP,SAARA,EACFyzF,IAAY,GACK,UAARzzF,GACTyzF,IAAY,GAEdlB,GAAa,GACbD,GAAiB,IAwMnB,SAASsE,GAAwB7nF,GAC/B,IAAKA,GAAOA,EAAIR,MAEd2T,GAAWnT,EAAIR,OACf6W,GAAa,QAEb,GAAIrW,EAAIS,KAAM,CAAC,IAAD,EAENA,EAAO,CACX0gB,UACEzB,GAAgBC,aAAaY,SAASC,8BACxCoW,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBue,yBAA0BnuB,GAAY8P,mBACtCse,mBAAoBpuB,GAAYmO,aAChCkgB,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,cACpB2uE,cAAe,IAGbvD,IAAWU,GAAc34F,OAAS,EACpCmU,EAAI,cAAoB,QACf4jF,IAAUU,GAAaz4F,OAAS,IACzCmU,EAAI,cAAoB,QAG1BwgB,GAA2BxgB,GAI3BihB,GAAiBC,UACfO,GAAgBvC,aAAaY,SAASC,+BAGxC,IAAMunE,EAAY,CAChB,CACEC,cAAe,WACfC,QAAS,WACTC,YAAa,GACbC,YAAY,EAEZ/xF,SAAS,GAEX,CACE4xF,cAAe,WACfC,QAAS,WACTC,YAAa,GACbC,YAAY,EAEZ/xF,SAAS,GAEX,CACE4xF,cAAe,WACfC,QAAS,aACTC,YAAa,GACbC,YAAY,EAEZ/xF,SAAS,GAEX,CACE4xF,cAAe,WACfC,QAAS,eACTC,YAAa,GACbC,YAAY,EACZ/xF,QAASiwF,IAEX,CACE2B,cAAe,WACfC,QAAS,eACTC,YAAa,GACbC,YAAY,EACZ/xF,QAASiwF,IAEX,CACE2B,cAAe,WACfC,QAAS,WACTC,YAAa,GACbC,YAAY,EACZ/xF,QAASutF,GAEX,CACEqE,cAAe,WACfC,QAAS,YACTC,YAAa,GACbC,YAAY,EACZ/xF,QAASytF,GAEX,CACEmE,cAAe,WACfC,QAAS,cACTC,YAAa,GACbC,YAAY,EACZ/xF,SAAS,GAEX,CACE4xF,cAAe,WACfC,QAAS,YACTC,YAAa,GACbC,YAAY,EACZ/xF,SAAS,GAGX,CACE4xF,cAAe,WACfC,QAAS,WACTC,YAAa,GACbC,YAAY,EACZ/xF,QAAS6tF,IAGX,CACE+D,cAAe,WACfC,QAAS,SACTC,YAAa,GACbC,YAAY,EACZ/xF,QAAS6tF,KAIM,GAAfxoE,GACFssE,EAAUlxE,KAAK,CACbmxE,cAAe,WACfC,QAAS,aACTC,YAAa,GACbC,YAAY,EACZ/xF,SAAS,IAGX2xF,EAAUlxE,KAAK,CACbmxE,cAAe,WACfC,QAAS,aACTC,YAAa,GACbC,YAAY,EACZ/xF,SAAS,IAIOmsC,GAAmB5X,GAAW,eAAlD,IACMy9D,EAAc,CAClBj+E,cAAexB,GAAYwQ,cAC3BkvE,QAAS,GACTC,UAAWP,EACXrnD,sBACE5rC,SAAS6T,GAAYyQ,wBAA0B,EACjD0uC,OAAQn/C,GAAY0Q,OACpBkvE,YAAa,GACbC,SAAU3C,GACV4C,uBACE3F,MAAuBrnE,GACzBitE,iBAAkBjtE,GAClBI,gBAAe,OAAElT,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0BgG,iB/CtoBnD3gC,GACE,CACEkB,IAAK,YACLpR,K+CuoB4DkwF,E/CtoB5D5/E,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAasC,6B+CmoBMysF,SAG9Bx1E,GAAWnT,EAAIR,OAKrB,SAASmpF,GAA2B3oF,IAC7BA,GAAOA,EAAIR,MAEd2T,GAAWnT,EAAIR,OAGXQ,EAAIS,MACN0oC,GAAqBlhD,GAAaI,MAClC62B,GAAW,CACTG,OAAQ,eACRlpB,MAAM,mBAAD,OAAqBkuF,GAAS,OAAS,WAG9C/mC,GACEsrC,GACAjgF,GAAYwQ,cACZ7gB,GAAOW,8BAITka,GAAWnT,EAAIR,OAGnB6W,GAAa,GAGf,IAAMuyE,GAAe,SAAC5oF,IACfA,GAAOA,EAAIR,MAGd2T,GAAWnT,EAAIR,OAEf+W,GAAQM,KAAKuyB,OAyCXy/C,GAAiB,WACrBvE,IAAU,GACVE,IAAW,IAGPsE,GAAkB,WACtBxE,IAAU,GACVE,IAAW,IAGPuE,GAAW,WACf,OAAItF,EACIE,GAAiBE,GAAkBI,KAGvCF,IACCv0B,GAAUtlC,eACVi7D,IACkB,KAAnBG,SALA5B,GAAWD,MAWHA,GAAUM,IA2BxBp2F,IAAM6H,WAAU,WACd5C,QAAQC,IAAI,kBACmB,IAA3B8yF,KACkB,IAAhBlqE,GACF+pE,GAAe,GACU,IAAhB/pE,IACT+pE,GAAe,MAGlB,CAACG,GAAwBF,KAS5B,OACE,yBAAKl+F,UAAU,cACb,kBAAC,GAAD,CACEE,IAAKq9F,GACL1hC,QAAS,kBAAMyhC,IAAgB,IAC/BjC,UAAWgC,KAEb,kBAAC,GAAD,CACE1hC,OAAQogC,EACRngC,aAAa,EACbC,QAAS,kBAhhBbogC,GAAa,QACbD,GAAiB,KAihBZxrF,KAAgBM,UACf,yBAAK9Q,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,8BACZ88F,GACC,kBAAC,GAAD,CACEltF,OAAQktF,GACR1sF,aAAa,EACbP,QAAQ,WACR9G,QAAS,WACPu4F,QAIJ,yBAAKthG,UAAU,wBACb,kBAAC,GAAD,CACE4P,OAAQktF,GACRjtF,QAAQ,cACR9G,QAAS,WACPu4F,YAQd,yBAAKthG,UAAU,MACb,yBAAKA,UAAU,oBACb,uBAAGA,UAAU,gBAAb,gBACA,uBAAGA,UAAU,mCAAb,wCAGA,yBAAKA,UAAU,8BACZg9F,GACC,kBAAC,GAAD,CACEptF,OAAQotF,GACR5sF,aAAa,EACbP,QAAQ,WACR9G,QAAS,WACPw4F,QAIJ,kBAAC,GAAD,CACE3xF,OAAQotF,GACRntF,QAAQ,cACR9G,QAAS,WACPw4F,aAShB,yBAAKvhG,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,gBAAb,iBAEF,yBAAKA,UAAU,wBACZ27F,GAAYA,EAAS8F,YAAY,IAEpC,yBAAKzhG,UAAU,wBACZ67F,GAAaA,EAAU4F,YAAY,MAI1C,yBAAKzhG,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,yBAAKA,UAAU,kBACZ27F,GAAYA,EAAS8F,YAAY,IAEpC,yBAAKzhG,UAAU,kBACZ67F,GAAaA,EAAU4F,YAAY,MAI1C,yBAAKzhG,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,8BAIA,yBAAKA,UAAU,kBACZ67F,GAAaA,EAAU4F,YAAY,MAI1C,yBAAKzhG,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,8BACA,yBAAKA,UAAU,kBACZ67F,GAAaA,EAAU4F,YAAY,MAI1C,yBAAKzhG,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,8BACA,yBAAKA,UAAU,kBACZ67F,GAAaA,EAAU4F,YAAY,MAI1C,yBAAKzhG,UAAU,WACb,yBAAKA,UAAU,OACb,8BACA,8BACA,yBAAKA,UAAU,kBACZ67F,GAAaA,EAAU4F,YAAY,MAI1C,yBAAKzhG,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,qBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,mBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeC,gBAEvC,yBAAK3hG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeC,kBAI7C,yBAAK3hG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,mBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeE,gBAEvC,yBAAK5hG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeE,kBAI7C,yBAAK5hG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeG,eAEvC,yBAAK7hG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeG,iBAI7C,yBAAK7hG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeI,eAEvC,yBAAK9hG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeI,iBAI7C,yBAAK9hG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeK,YAEvC,yBAAK/hG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeK,cAI7C,yBAAK/hG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeM,YAEvC,yBAAKhiG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeM,cAmB7C,yBAAKhiG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,sBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeO,YACjCtG,EAAS+F,eAAeO,YACxB,MAEN,yBAAKjiG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeO,YACnCpG,EAAU6F,eAAeO,YACzB,QAIV,yBAAKjiG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,uBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeQ,UACjCvG,EAAS+F,eAAeQ,UACxB,MAEN,yBAAKliG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeQ,UACnCrG,EAAU6F,eAAeQ,UACzB,QAIV,yBAAKliG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,6BACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeS,gBACjCxG,EAAS+F,eAAeS,gBACxB,MAEN,yBAAKniG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeS,gBACnCtG,EAAU6F,eAAeS,gBACzB,QAIV,yBAAKniG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,2BACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+F,eAAeU,mBACjCzG,EAAS+F,eAAeU,mBACxB,MAEN,yBAAKpiG,UAAU,eACZ67F,GAAaA,EAAU6F,eAAeU,mBACnCvG,EAAU6F,eAAeU,mBACzB,QAIV,yBAAKpiG,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,kBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,+BAGA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS0G,aAAaC,eAErC,yBAAKtiG,UAAU,eACZ67F,GAAaA,EAAUwG,aAAaC,iBAI3C,yBAAKtiG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,qCAGA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS0G,aAAaE,kBAErC,yBAAKviG,UAAU,eACZ67F,GAAaA,EAAUwG,aAAaE,oBAI3C,yBAAKviG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kCAGA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS0G,aAAaG,eAErC,yBAAKxiG,UAAU,eACZ67F,GAAaA,EAAUwG,aAAaG,iBAI3C,yBAAKxiG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,+CAGA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS0G,aAAaI,kBAErC,yBAAKziG,UAAU,eACZ67F,GAAaA,EAAUwG,aAAaI,oBAI3C,yBAAKziG,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,mBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,sCAGA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+G,cAAcC,cAEtC,yBAAK3iG,UAAU,eACZ67F,GAAaA,EAAU6G,cAAcC,gBAI5C,yBAAK3iG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,gBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+G,cAAcE,WAEtC,yBAAK5iG,UAAU,eACZ67F,GAAaA,EAAU6G,cAAcE,aAI5C,yBAAK5iG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,uCAGA,yBAAKA,UAAU,eACZ27F,GAAYA,EAAS+G,cAAcG,kBAEtC,yBAAK7iG,UAAU,eACZ67F,GAAaA,EAAU6G,cAAcG,oBAI5C,yBAAK7iG,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,qBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,mBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBC,gBAEzC,yBAAK/iG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBC,kBAI/C,yBAAK/iG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,iBACiB,KAGjB,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBE,eAEzC,yBAAKhjG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBE,iBAI/C,yBAAKhjG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,qBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBG,kBAEzC,yBAAKjjG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBG,oBAI/C,yBAAKjjG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBI,YAEzC,yBAAKljG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBI,cAI/C,yBAAKljG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,YACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBK,UAEzC,yBAAKnjG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBK,YAI/C,yBAAKnjG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,QAEA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBM,MAEzC,yBAAKpjG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBM,QAI/C,yBAAKpjG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,WACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBO,SAEzC,yBAAKrjG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBO,WAI/C,yBAAKrjG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,4BACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBQ,eAEzC,yBAAKtjG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBQ,iBAI/C,yBAAKtjG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,uBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBS,oBAEzC,yBAAKvjG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBS,sBAI/C,yBAAKvjG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,qBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBU,kBAEzC,yBAAKxjG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBU,oBAI/C,yBAAKxjG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBW,aAEzC,yBAAKzjG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBW,eAI/C,yBAAKzjG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,eACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBY,YAEzC,yBAAK1jG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBY,cAI/C,yBAAK1jG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,aACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASmH,iBAAiBa,WAEzC,yBAAK3jG,UAAU,eACZ67F,GAAaA,EAAUiH,iBAAiBa,aAI/C,yBAAK3jG,UAAU,WACb,yBAAKA,UAAU,OACb,6BACE,uBAAGA,UAAU,2BAAb,sBAEF,8BACA,gCAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,UACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBC,OAEzC,yBAAK7jG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBC,SAI/C,yBAAK7jG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,oDAGA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBE,QAEzC,yBAAK9jG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBE,UAI/C,yBAAK9jG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,SACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBG,OAEzC,yBAAK/jG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBG,SAI/C,yBAAK/jG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,UACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBI,QAEzC,yBAAKhkG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBI,UAI/C,yBAAKhkG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,wBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBK,WAEzC,yBAAKjkG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBK,aAI/C,yBAAKjkG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,2BACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBM,kBAEzC,yBAAKlkG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBM,oBAI/C,yBAAKlkG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBO,YAEzC,yBAAKnkG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBO,cAI/C,yBAAKnkG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,kCAGA,yBAAKA,UAAU,eACZ27F,GACCA,EAASiI,iBAAiBQ,6BAE9B,yBAAKpkG,UAAU,eACZ67F,GACCA,EAAU+H,iBAAiBQ,+BAInC,yBAAKpkG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,8BACA,yBAAKA,UAAU,eACZ27F,GACCA,EAASiI,iBAAiBS,0BAE9B,yBAAKrkG,UAAU,eACZ67F,GACCA,EAAU+H,iBAAiBS,4BAenC,yBAAKrkG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,sDAGA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBU,qBAEzC,yBAAKtkG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBU,uBAI/C,yBAAKtkG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,sBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBW,kBAEzC,yBAAKvkG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBW,oBAI/C,yBAAKvkG,UAAU,WACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBAAf,gBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBY,aAEzC,yBAAKxkG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBY,eAI/C,yBAAKxkG,UAAU,WACb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,kBAAf,kBACA,yBAAKA,UAAU,eACZ27F,GAAYA,EAASiI,iBAAiBa,eAEzC,yBAAKzkG,UAAU,eACZ67F,GAAaA,EAAU+H,iBAAiBa,iBAI/C,yBAAKzkG,UAAU,SACb,uBAAGA,UAAU,QAAb,SACA,uBAAGA,UAAU,YAAb,kOASA,uBAAGA,UAAU,YAAb,2VAQA,uBAAGA,UAAU,YAAb,wLAOFwQ,KAAgBC,SAClBysF,GACE,yBAAKl9F,UAAU,gBACb,yBAAKA,UAAU,sBACb,yBAAKA,UAAU,aACb,uBAAGA,UAAU,UAAb,oBACA,uBAAGA,UAAU,0BAAb,qCAGA,yBAAKA,UAAU,8BACZ88F,GACC,kBAAC,GAAD,CACEltF,OAAQktF,GACRjtF,QAAQ,WACR9G,QAAS,WACPu4F,QAIJ,kBAAC,GAAD,CACE1xF,OAAQktF,GACRjtF,QAAQ,cACR9G,QAAS,WACPu4F,WAOZ,yBAAKthG,UAAU,cACb,yBAAKA,UAAU,QACb,uBAAGA,UAAU,eAAb,gBACA,uBAAGA,UAAU,kBACV27F,GAAYA,EAAS8F,YAAY,IAEpC,uBAAGzhG,UAAU,kBACV27F,GAAYA,EAAS8F,YAAY,KAMtC,yBAAKzhG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,oBACA,2BAAOA,UAAU,wBAAjB,mBAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeC,iBAGzC,yBAAK3hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,mBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeE,iBAGzC,yBAAK5hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeG,gBAGzC,yBAAK7hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeI,gBAGzC,yBAAK9hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeK,aAGzC,yBAAK/hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeM,aASzC,yBAAKhiG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeO,cAGzC,yBAAKjiG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeQ,YAGzC,yBAAKliG,UAAU,SACb,2BAAOA,UAAU,kBACd,IADH,2BAIA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeS,kBAGzC,yBAAKniG,UAAU,SACb,2BAAOA,UAAU,kBACd,IADH,yBAIA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+F,eAAeU,sBAI3C,yBAAKpiG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,iBACA,2BAAOA,UAAU,wBAAjB,+BAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS0G,aAAaC,gBAGvC,yBAAKtiG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qCAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS0G,aAAaE,mBAGvC,yBAAKviG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kCAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS0G,aAAaG,gBAGvC,yBAAKxiG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,+CAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS0G,aAAaI,oBAIzC,yBAAKziG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,kBACA,2BAAOA,UAAU,wBAAjB,sCAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+G,cAAcC,eAGxC,yBAAK3iG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,gBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+G,cAAcE,YAGxC,yBAAK5iG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,uCAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAAS+G,cAAcG,oBAI1C,yBAAK7iG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,oBACA,2BAAOA,UAAU,wBAAjB,mBAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBC,iBAG3C,yBAAK/iG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBAIA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBE,gBAG3C,yBAAKhjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBG,mBAG3C,yBAAKjjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBI,aAG3C,yBAAKljG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,YACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBK,WAG3C,yBAAKnjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,QAIA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBM,OAG3C,yBAAKpjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,WACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBO,UAG3C,yBAAKrjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,4BAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBQ,gBAG3C,yBAAKtjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,uBAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBS,qBAG3C,yBAAKvjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBU,mBAG3C,yBAAKxjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBW,cAG3C,yBAAKzjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBY,aAG3C,yBAAK1jG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,aACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASmH,iBAAiBa,aAI7C,yBAAK3jG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,qBACA,2BAAOA,UAAU,wBAAjB,UACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBC,QAG3C,yBAAK7jG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,oDAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBE,SAG3C,yBAAK9jG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,SACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBG,QAG3C,yBAAK/jG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,UACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBI,SAG3C,yBAAKhkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,wBAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBK,YAG3C,yBAAKjkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,2BAGA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBM,mBAG3C,yBAAKlkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBO,aAG3C,yBAAKnkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,iCACiC,KAEjC,2BAAOA,UAAU,eACd27F,GACCA,EAASiI,iBAAiBQ,8BAGhC,yBAAKpkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,+BAGA,2BAAOA,UAAU,eACd27F,GACCA,EAASiI,iBAAiBS,2BAShC,yBAAKrkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sDAGA,2BAAOA,UAAU,eACd27F,GACCA,EAASiI,iBAAiBU,sBAGhC,yBAAKtkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBW,mBAG3C,yBAAKvkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,gBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBY,cAG3C,yBAAKxkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACd27F,GAAYA,EAASiI,iBAAiBa,iBAI7C,yBAAKzkG,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,8BACZg9F,GACC,kBAAC,GAAD,CACEptF,OAAQotF,GACRntF,QAAQ,WACR9G,QAAS,WACPw4F,QAIJ,kBAAC,GAAD,CACE3xF,OAAQotF,GACRntF,QAAQ,cACR9G,QAAS,WACPw4F,WAOZ,yBAAKvhG,UAAU,cACb,yBAAKA,UAAU,QACb,uBAAGA,UAAU,eAAb,gBACA,uBAAGA,UAAU,kBACV67F,GAAaA,EAAU4F,YAAY,IAEtC,uBAAGzhG,UAAU,kBACV67F,GAAaA,EAAU4F,YAAY,IAEtC,uBAAGzhG,UAAU,kBACV67F,GAAaA,EAAU4F,YAAY,IAEtC,uBAAGzhG,UAAU,kBACV67F,GAAaA,EAAU4F,YAAY,IAEtC,uBAAGzhG,UAAU,kBACV67F,GAAaA,EAAU4F,YAAY,IAEtC,uBAAGzhG,UAAU,kBACV67F,GAAaA,EAAU4F,YAAY,KAGxC,yBAAKzhG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,oBACA,2BAAOA,UAAU,wBAAjB,mBAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeC,iBAG3C,yBAAK3hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,mBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeE,iBAG3C,yBAAK5hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeG,gBAG3C,yBAAK7hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeI,gBAG3C,yBAAK9hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeK,aAG3C,yBAAK/hG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeM,aAS3C,yBAAKhiG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeO,cAG3C,yBAAKjiG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeQ,YAG3C,yBAAKliG,UAAU,SACb,2BAAOA,UAAU,kBACd,IADH,2BAIA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeS,kBAG3C,yBAAKniG,UAAU,SACb,2BAAOA,UAAU,kBACd,IADH,yBAIA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6F,eAAeU,sBAI7C,yBAAKpiG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,iBACA,2BAAOA,UAAU,wBAAjB,+BAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUwG,aAAaC,gBAGzC,yBAAKtiG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qCAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUwG,aAAaE,mBAGzC,yBAAKviG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kCAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUwG,aAAaG,gBAGzC,yBAAKxiG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,+CAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUwG,aAAaI,oBAI3C,yBAAKziG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,kBACA,2BAAOA,UAAU,wBAAjB,sCAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6G,cAAcC,eAG1C,yBAAK3iG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,gBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6G,cAAcE,YAG1C,yBAAK5iG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,uCAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU6G,cAAcG,oBAI5C,yBAAK7iG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,oBACA,2BAAOA,UAAU,wBAAjB,mBAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBC,iBAG7C,yBAAK/iG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBAIA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBE,gBAG7C,yBAAKhjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBG,mBAG7C,yBAAKjjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBI,aAG7C,yBAAKljG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,YACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBK,WAG7C,yBAAKnjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,QAIA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBM,OAG7C,yBAAKpjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,WACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBO,UAG7C,yBAAKrjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,4BAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBQ,gBAG7C,yBAAKtjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,uBAGA,2BAAOA,UAAU,eACd67F,GACCA,EAAUiH,iBAAiBS,qBAGjC,yBAAKvjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,qBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBU,mBAG7C,yBAAKxjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBW,cAG7C,yBAAKzjG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,eACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBY,aAG7C,yBAAK1jG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,aACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAUiH,iBAAiBa,aAI/C,yBAAK3jG,UAAU,QACb,yBAAKA,UAAU,eACb,2BAAOA,UAAU,eAAjB,qBACA,2BAAOA,UAAU,wBAAjB,UACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBC,QAG7C,yBAAK7jG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,oDAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBE,SAG7C,yBAAK9jG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,SACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBG,QAG7C,yBAAK/jG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,UACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBI,SAG7C,yBAAKhkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,wBAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBK,YAG7C,yBAAKjkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,2BAGA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBM,mBAG7C,yBAAKlkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBO,aAG7C,yBAAKnkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kCAGA,2BAAOA,UAAU,eACd67F,GACCA,EAAU+H,iBAAiBQ,8BAGjC,yBAAKpkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,8BAC8B,KAE9B,2BAAOA,UAAU,eACd67F,GACCA,EAAU+H,iBAAiBS,2BASjC,yBAAKrkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sDAGA,2BAAOA,UAAU,eACd67F,GACCA,EAAU+H,iBAAiBU,sBAGjC,yBAAKtkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,sBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBW,mBAG7C,yBAAKvkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,gBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBY,cAG7C,yBAAKxkG,UAAU,SACb,2BAAOA,UAAU,kBAAjB,kBACA,2BAAOA,UAAU,eACd67F,GAAaA,EAAU+H,iBAAiBa,iBAI/C,yBAAKzkG,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,CAAQ6P,QAAQ,WAAW9G,QAAS,kBAI1C,yBAAK/I,UAAU,qBACb,yBAAKA,UAAU,oBACb,yBAAKA,UAAU,wBACb,kBAAC,GAAD,CAAQ6P,QAAQ,WAAW9G,QAAS,mBAK5C,yBAAK/I,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,aACZ27F,GAAYA,EAAS8F,YAAY,IAEpC,yBAAKzhG,UAAU,aACZ67F,GAAaA,EAAU4F,YAAY,KAGxC,yBAAKzhG,UAAU,QACb,yBAAKA,UAAU,aACZ27F,GAAYA,EAAS8F,YAAY,IAEpC,yBAAKzhG,UAAU,aACZ67F,GAAaA,EAAU4F,YAAY,KAGxC,yBAAKzhG,UAAU,QACb,yBAAKA,UAAU,WAIf,yBAAKA,UAAU,aACZ67F,GAAaA,EAAU4F,YAAY,KAGxC,yBAAKzhG,UAAU,QACb,yBAAKA,UAAU,WACf,yBAAKA,UAAU,aACZ67F,GAAaA,EAAU4F,YAAY,KAGxC,yBAAKzhG,UAAU,QACb,yBAAKA,UAAU,WACf,yBAAKA,UAAU,aACZ67F,GAAaA,EAAU4F,YAAY,KAGxC,yBAAKzhG,UAAU,QACb,yBAAKA,UAAU,WACf,yBAAKA,UAAU,aACZ67F,GAAaA,EAAU4F,YAAY,KAGxC,yBAAKzhG,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,qBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,mBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+F,eAAeC,gBAEvC,yBAAK3hG,UAAU,cACZ67F,GAAaA,EAAU6F,eAAeC,kBAI7C,yBAAK3hG,UAAU,SACb,yBAAKA,UAAU,qBAAf,mBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+F,eAAeE,gBAEvC,yBAAK5hG,UAAU,cACZ67F,GAAaA,EAAU6F,eAAeE,kBAI7C,yBAAK5hG,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+F,eAAeG,eAEvC,yBAAK7hG,UAAU,cACZ67F,GAAaA,EAAU6F,eAAeG,iBAI7C,yBAAK7hG,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+F,eAAeI,eAEvC,yBAAK9hG,UAAU,cACZ67F,GAAaA,EAAU6F,eAAeI,iBAI7C,yBAAK9hG,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+F,eAAeK,YAEvC,yBAAK/hG,UAAU,cACZ67F,GAAaA,EAAU6F,eAAeK,cAI7C,yBAAK/hG,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+F,eAAeM,YAEvC,yBAAKhiG,UAAU,cACZ67F,GAAaA,EAAU6F,eAAeM,cAI7C,yBAAKhiG,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,kBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,+BAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS0G,aAAaC,eAErC,yBAAKtiG,UAAU,cACZ67F,GAAaA,EAAUwG,aAAaC,iBAI3C,yBAAKtiG,UAAU,SACb,yBAAKA,UAAU,qBAAf,qCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS0G,aAAaE,kBAErC,yBAAKviG,UAAU,cACZ67F,GAAaA,EAAUwG,aAAaE,oBAI3C,yBAAKviG,UAAU,SACb,yBAAKA,UAAU,qBAAf,kCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS0G,aAAaG,eAErC,yBAAKxiG,UAAU,cACZ67F,GAAaA,EAAUwG,aAAaG,iBAI3C,yBAAKxiG,UAAU,SACb,yBAAKA,UAAU,qBAAf,+CAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS0G,aAAaI,kBAErC,yBAAKziG,UAAU,cACZ67F,GAAaA,EAAUwG,aAAaI,oBAI3C,yBAAKziG,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,mBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,sCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+G,cAAcC,cAEtC,yBAAK3iG,UAAU,cACZ67F,GAAaA,EAAU6G,cAAcC,gBAI5C,yBAAK3iG,UAAU,SACb,yBAAKA,UAAU,qBAAf,gBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+G,cAAcE,WAEtC,yBAAK5iG,UAAU,cACZ67F,GAAaA,EAAU6G,cAAcE,aAI5C,yBAAK5iG,UAAU,SACb,yBAAKA,UAAU,qBAAf,uCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+G,cAAcG,kBAEtC,yBAAK7iG,UAAU,cACZ67F,GAAaA,EAAU6G,cAAcG,oBAI5C,yBAAK7iG,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,qBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,mBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBC,gBAEzC,yBAAK/iG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBC,kBAI/C,yBAAK/iG,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBAIA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBE,eAEzC,yBAAKhjG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBE,iBAI/C,yBAAKhjG,UAAU,SACb,yBAAKA,UAAU,qBAAf,qBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBG,kBAEzC,yBAAKjjG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBG,oBAI/C,yBAAKjjG,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBI,YAEzC,yBAAKljG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBI,cAI/C,yBAAKljG,UAAU,SACb,yBAAKA,UAAU,qBAAf,YACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBK,UAEzC,yBAAKnjG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBK,YAI/C,yBAAKnjG,UAAU,SAEb,yBAAKA,UAAU,qBAAf,SACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBM,MAEzC,yBAAKpjG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBM,QAI/C,yBAAKpjG,UAAU,SACb,yBAAKA,UAAU,qBAAf,WACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBO,SAEzC,yBAAKrjG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBO,WAI/C,yBAAKrjG,UAAU,SACb,yBAAKA,UAAU,qBAAf,4BAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBQ,eAEzC,yBAAKtjG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBQ,iBAI/C,yBAAKtjG,UAAU,SACb,yBAAKA,UAAU,qBAAf,uBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBS,oBAEzC,yBAAKvjG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBS,sBAI/C,yBAAKvjG,UAAU,SACb,yBAAKA,UAAU,qBAAf,qBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBU,kBAEzC,yBAAKxjG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBU,oBAI/C,yBAAKxjG,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBW,aAEzC,yBAAKzjG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBW,eAI/C,yBAAKzjG,UAAU,SACb,yBAAKA,UAAU,qBAAf,eACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASmH,iBAAiBY,YAEzC,yBAAK1jG,UAAU,cACZ67F,GAAaA,EAAUiH,iBAAiBY,cAI/C,yBAAK1jG,UAAU,SACb,yBAAKA,UAAU,qBAAf,aACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAAS+G,cAAcE,WAEtC,yBAAK5iG,UAAU,cACZ67F,GAAaA,EAAU6G,cAAcE,aAI5C,yBAAK5iG,UAAU,QACb,6BACE,uBAAGA,UAAU,yBAAb,sBAEF,+BAEF,yBAAKA,UAAU,SACb,yBAAKA,UAAU,qBAAf,UACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBC,OAEzC,yBAAK7jG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBC,SAI/C,yBAAK7jG,UAAU,SACb,yBAAKA,UAAU,qBAAf,oDAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBE,QAEzC,yBAAK9jG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBE,UAI/C,yBAAK9jG,UAAU,SACb,yBAAKA,UAAU,qBAAf,SACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBG,OAEzC,yBAAK/jG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBG,SAI/C,yBAAK/jG,UAAU,SACb,yBAAKA,UAAU,qBAAf,UACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBI,QAEzC,yBAAKhkG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBI,UAI/C,yBAAKhkG,UAAU,SACb,yBAAKA,UAAU,qBAAf,wBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBK,WAEzC,yBAAKjkG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBK,aAI/C,yBAAKjkG,UAAU,SACb,yBAAKA,UAAU,qBAAf,2BACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBM,kBAEzC,yBAAKlkG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBM,oBAI/C,yBAAKlkG,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBO,YAEzC,yBAAKnkG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBO,cAI/C,yBAAKnkG,UAAU,SACb,yBAAKA,UAAU,qBAAf,kCAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GACCA,EAASiI,iBAAiBQ,6BAE9B,yBAAKpkG,UAAU,cACZ67F,GACCA,EAAU+H,iBAAiBQ,+BAInC,yBAAKpkG,UAAU,SACb,yBAAKA,UAAU,qBAAf,+BAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GACCA,EAASiI,iBAAiBS,0BAE9B,yBAAKrkG,UAAU,cACZ67F,GACCA,EAAU+H,iBAAiBS,4BAenC,yBAAKrkG,UAAU,SACb,yBAAKA,UAAU,qBAAf,sDAGA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBU,qBAEzC,yBAAKtkG,UAAU,cACZ67F,GACCA,EAAU+H,iBAAiBU,uBAInC,yBAAKtkG,UAAU,SACb,yBAAKA,UAAU,qBAAf,sBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBW,kBAEzC,yBAAKvkG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBW,oBAI/C,yBAAKvkG,UAAU,SACb,yBAAKA,UAAU,qBAAf,gBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBY,aAEzC,yBAAKxkG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBY,eAI/C,yBAAKxkG,UAAU,SACb,yBAAKA,UAAU,qBAAf,kBACA,yBAAKA,UAAU,OACb,yBAAKA,UAAU,cACZ27F,GAAYA,EAASiI,iBAAiBa,eAEzC,yBAAKzkG,UAAU,cACZ67F,GAAaA,EAAU+H,iBAAiBa,iBAI/C,yBAAKzkG,UAAU,eACb,uBAAGA,UAAU,QAAb,SACA,uBAAGA,UAAU,YAAb,kOASA,uBAAGA,UAAU,YAAb,2VAQA,uBAAGA,UAAU,YAAb,2LAURq7F,GACA,yBAAKr7F,UAAW,cAAgB2P,EAAY,QAAU,KACnD62E,IACC,6BACE,yBAAKxmF,UAAU,eACb,+CAEF,yBAAKA,UAAU,mBACb,4GAKDw9F,GAAaz4F,OAAS,GACW,WAAhCy4F,GAAa,GAAGkH,aACd,yBAAK1kG,UAAU,UACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACZwQ,KAAgBM,UACf,yBACE9Q,UAAU,WACVE,IAAKykG,KACLvkG,IAAI,aAGN,yBACEJ,UAAU,cACVE,IAAK0kG,KACLxkG,IAAI,cAIV,yBAAKJ,UAAU,kBACb,yBAAKA,UAAU,eACb,6CAEF,yBAAKA,UAAU,QACb,uBAAG+I,QAAS,kBAAMs3F,GAAY,UAA9B,sBAKJ,yBAAKrgG,UAAU,wBACZ88F,GACC,kBAAC,GAAD,CACEltF,OAAQktF,GACR1sF,aAAa,EACbP,QAAQ,WACR9G,QAAS,WACPu4F,QAIJ,yBAAKthG,UAAU,cACb,kBAAC,GAAD,CACE4P,OAAQktF,GACRjtF,QAAQ,cACR9G,QAAS,WACPu4F,WAOZ,yBAAKthG,UAAU,YACb,2BAAOA,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKE,IAAK0wF,QAFd,+DAaA,2BAAO5wF,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKE,IAAK0wF,QAFd,gDASP8M,GAAc34F,OAAS,GACW,YAAjC24F,GAAc,GAAGgH,aACf,yBAAK1kG,UAAU,UACb,yBAAKA,UAAU,kBACb,yBAAKA,UAAU,YACZwQ,KAAgBM,UACf,yBACE9Q,UAAU,WACVE,IAAK2kG,KACLzkG,IAAI,aAGN,yBACEJ,UAAU,cACVE,IAAK4kG,KACL1kG,IAAI,eAIV,yBAAKJ,UAAU,kBACb,yBAAKA,UAAU,eACb,8CAEF,yBAAKA,UAAU,QACb,uBAAG+I,QAAS,kBAAMs3F,GAAY,WAA9B,sBAKJ,yBAAKrgG,UAAU,wBACZg9F,GACC,kBAAC,GAAD,CACEptF,OAAQotF,GACR5sF,aAAa,EACbP,QAAQ,WACR9G,QAAS,WACPw4F,QAIJ,yBAAKvhG,UAAU,cACb,kBAAC,GAAD,CACE4P,OAAQotF,GACRntF,QAAQ,cACR9G,QAAS,WACPw4F,WAOZ,yBAAKvhG,UAAU,YACb,2BAAOA,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKE,IAAK0wF,QAFd,kCAMA,2BAAO5wF,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKE,IAAK0wF,QAFd,kEAOA,2BAAO5wF,UAAU,kBACf,0BAAMA,UAAU,gBACd,yBAAKE,IAAK0wF,QAFd,yCAWZ,yBAAK5wF,UAAU,aACb,8BAAU2I,SAAUgH,GAClB,yBAAK3P,UAAU,WACb,mDAEF,yBAAKA,UAAU,mBACb,yBAAKA,UAAU,YACb,qEAEsC,IACpB,GAAfk0B,GAAmB,OAAS,OAH/B,2BAMF,yBAAKl0B,UAAU,aACb,kBAAC,GAAD,CACEgP,KAAMkvF,GACNj3F,SAAU,WA7zEtBm3F,GAAyB,IAC3BC,GAA0BD,GAAyB,GACnDD,IAAkBD,MA4zEJv1F,SAC6B,IAA3By1F,IACAh9E,GAAYo6B,YAAY2M,kBACxB+2C,OAKR,yBAAKl/F,UAAU,mBACb,yBAAKA,UAAU,YACb,gIAKF,yBAAKA,UAAU,aACb,kBAAC,GAAD,CAAQgP,KAAMktF,EAAQj1F,SAAU,kBA1zF9Ck1F,GAAWD,SACI,IAAXA,GACFG,GAAiB,GACjBE,GAAkB,GAClBI,IAAuB,KACH,IAAXT,IACTG,GAAiB,GACjBE,GAAkB,GAClBI,IAAuB,UAqzFf,yBACE38F,UACEwQ,KAAgBC,SAAW,gBAAkB,YAGjD,yBAAKzQ,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CAEEwB,KAAK,sBAELqN,SAAS,EACTlG,UAAU,EACV1B,SAAU,iBAIhB,6BACE,uBAAGjH,UAAU,YAAb,iBAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CAEEwB,KAAK,mBAELqN,SAAS,EACTlG,UAAU,EACV1B,SAAU,iBAIhB,6BACE,uBAAGjH,UAAU,YAAb,kBAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CACE6O,QAASiwF,GACTt9F,KAAK,iBACLyF,SAAU,kBAv9E5B83F,IAA2BD,SAC3BG,IAAiB,QA09EL,6BACE,uBAAGj/F,UAAU,YAAb,gBAGHk8F,GACC,6BACE,yBAAKl8F,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CACE6O,QAASutF,EACT56F,KAAK,yBACLyF,SAAU,kBAl+EhCo1F,GAAkBD,QAClB6C,IAAiB,QAq+ED,6BACE,uBAAGj/F,UAAU,YAAb,wBAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CACE6O,QAASytF,EACT96F,KAAK,2BACLyF,SAAU,kBA3+EhCs1F,GAAmBD,QACnB2C,IAAiB,QA8+ED,6BACE,uBAAGj/F,UAAU,YAAb,0BAGJ,yBAAKA,UAAU,WACb,yBAAKA,UAAU,aACb,yBAAKA,UAAU,qBACb,kBAAC,GAAD,CACE6O,QAAS6tF,GACTl7F,KAAK,gBACLyF,SAAU,WAj8EhC01F,IAAwBD,SAq8ER,6BACE,uBAAG18F,UAAU,YAAb,gBAKPk8F,GACC,yBAAKl8F,UAAU,eACb,yBAAKA,UAAU,SACb,2BAAOA,UAAU,aAAjB,iJAMF,yBAAKA,UAAU,SACb,+CACA,kBAAC,GAAD,CACEwB,KAAK,cACLqI,aAAc,EACdgB,QAASlH,GACTgG,UAAU,OACVxB,YAAY,sBACZ0E,aAAa,EACbxG,aAAc4iE,GACd9+D,eAAgB,SAACT,GAAD,OArjGV,SAACA,GAEb,KAARA,IACFu+D,GAAUnxC,SAAU,EACpBmxC,GAAUnrC,WAAapzB,EAAI9F,WAC3BskE,GAAaD,IACbiB,GAAoBx/D,EAAIq7F,eA+iGiB9f,CAAkBv7E,IAC3CnD,UAAWw3F,GACX11F,OAAQ,SAACqB,GA3jGvBs0F,GADa,kBA4jG+Bt0F,EA3jG1Buc,GAAShK,IACT,QA6jGR,6BACE,kBAAC,GAAD,CACExT,GAAG,cACHk0B,OAAQsrC,GACRhK,oBApjGpB,SACEv0D,EACAkzB,EACAn0B,EACAD,GAEAsmB,GAAa,GACbm5C,GAAUplC,OAAS,GAEnBqlC,GAAaD,IACb,IAAI9pC,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEtCm4B,GAAgBs+C,GAAcr+C,GAAW,SAAC7zB,GAAD,OACvCmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,OAoiGtBm1D,SAj/EC,SAACj0D,GACE,IAAlBA,EAAIg5B,YACNm7D,IAAU,GACV2D,YA+/EUhD,IACA,yBAAKx+F,UAAU,kBACb,kBAAC,GAAD,CACE6O,QAASyvF,GACT98F,KAAK,OACLyF,SAAU,WAz/E1Bs3F,IAASD,OA2/EK,2BAAOt+F,UAAU,mBAAjB,0CAC0C,IACxC,uBAAGoH,OAAO,SAASib,KAAM2iF,MACvB,8DAKR,yBAAKhlG,UAAU,kBACb,kBAAC,GAAD,CACE6O,QAAS2tF,EACTh7F,KAAK,UACLyF,SAAU,WA/jFxBw1F,GAAYD,MAikFA,2BAAOx8F,UAAU,mBAAjB,0CAC0C,IACxC,uBAAGoH,OAAO,SAASib,KAAI,OAAEtR,SAAF,IAAEA,QAAF,EAAEA,GAAQiB,aAC/B,8CAHJ,IAKI,IACF,uBAAG5K,OAAO,SAASib,KAAM4iF,MACvB,+CAPJ,IASI,IACF,uBAAGl8F,QAAS,kBAAMs3F,GAAY,UAC5B,2CACG,IAZP,IAaI,IACF,uBAAGj5F,OAAO,SAASib,KAAM6iF,MACvB,4CAoBLz2E,IACC,yBAAKzuB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZyuB,GACN,oCACE,sEACA,wEACyCA,GADzC,MAKF,+BAAQA,MAMd+tE,EAWE,KAVF,yBAAKx8F,UAAU,SACb,kBAAC,GAAD,KACE,oCACE,oHAQPg/F,IACC,yBAAKh/F,UAAU,SACb,kBAAC,GAAD,KACE,oCACE,4DAKR,yBAAKA,UAAU,iBACb,kBAAC,GAAD,CACE2P,UAAWA,EACXE,QAAQ,SACR9G,QA1hGK,SAAC7B,GACpB,GACGw3F,IACAE,IACAE,IACA1C,GACAE,GACAI,GAGI,CACL5tE,GAAa,GACb5nB,EAAE8sD,iBACF8pC,IAAa,GACO9iD,GAAmB5X,GAAW,eAClD,GAAI45D,IAAWU,GAAc34F,OAAS,EAAG,CACvC,IAAMq5B,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BuzE,MAAM,EACNC,mBAAoB1H,GAAc,GAAG2H,kBACrCC,gBAAiB5H,GAAc,GAAG6H,kBAClCC,iBAAkB,OAClBC,mBAAoB/H,GAAc,GAAGgI,kBACrCC,gBAAiBjI,GAAc,GAAGkI,kBAClCC,iBAAkB,OAClBC,KAAK,EACLC,gBAAiBrI,GAAc,GAAGsI,eAClCC,aAAcvI,GAAc,GAAGwI,eAC/BC,cAAe,OACfC,gBAAiB1I,GAAc,GAAG2I,gBAClCC,cAAe,OACfC,cAAe7I,GAAc,GAAG8I,gBAChCC,YAAa,GACb50E,sBACEtkB,SAAS6T,GAAYyQ,wBAA0B,EACjD60E,WAAY,GACZC,WAAY,GACZC,WAAY,GACZC,IAAI,EACJC,eAAgBpJ,GAAc,GAAGqJ,cACjCC,YAAatJ,GAAc,GAAGuJ,cAC9BC,aAAc,OACdC,eAAgBzJ,GAAc,GAAG2I,gBACjCe,aAAc,OACdC,aAAc3J,GAAc,GAAG8I,gBAC/Bc,WAAY,GACZrxC,UAAU,EACVsxC,YAAY,EACZz1E,OAAQ1Q,GAAY0Q,OAEpB01E,WAAY,GACZC,SAAU/J,GAAc,GAAGgK,WAsC7B3oE,GAAsBuhE,GAAyBliE,QAC1C,GAAI0+D,IAAUU,GAAaz4F,OAAS,EAAG,CAC5C,IAAMq5B,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BuzE,MAAM,EACNC,mBAAoB5H,GAAa,GAAG6H,kBACpCC,gBAAiB9H,GAAa,GAAG+H,kBACjCC,iBAAkB,OAClBC,mBAAoBjI,GAAa,GAAGkI,kBACpCC,gBAAiBnI,GAAa,GAAGoI,kBACjCC,iBAAkB,OAClBC,KAAK,EACLC,gBAAiBvI,GAAa,GAAGwI,eACjCC,aAAczI,GAAa,GAAG0I,eAC9BC,cAAe,OACfC,gBAAiB5I,GAAa,GAAG6I,gBACjCC,cAAe,OACfC,cAAe/I,GAAa,GAAGgJ,gBAC/BC,YAAa,GACb50E,sBACEtkB,SAAS6T,GAAYyQ,wBAA0B,EACjD60E,WAAY,GACZC,WAAY,GACZC,WAAY,GACZC,IAAI,EACJC,eAAgBtJ,GAAa,GAAGuJ,cAChCC,YAAaxJ,GAAa,GAAGyJ,cAC7BC,aAAc,OACdC,eAAgB3J,GAAa,GAAGmK,eAChCP,aAAc,OACdC,aAAc7J,GAAa,GAAGoK,eAC9BN,WAAY,GACZrxC,UAAU,EACVsxC,YAAY,EACZz1E,OAAQ1Q,GAAY0Q,OAEpB01E,WAAY,GACZC,SAAUjK,GAAa,GAAGkK,WAsC5B3oE,GAAsBuhE,GAAyBliE,SA3JjD6gE,IAAiB,IAkhGLt2F,SAAU64F,MAActC,WCngH3B2I,I,OApFiD,SAAC9nG,GAE/D,IAAMijC,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GA4CJ,OAxBAlc,IAAM6H,WAAU,YAnBG,WAAO,IAAD,QACnBkmB,EAAS,EAEP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAE1C,IAAM8lF,EAAe,CACnB1wE,cAAa,OAAExB,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BiB,kBAA6B,OAAXzR,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,iBAA1B,OACdpgC,SADc,IACdA,IADc,UACdA,GAAao6B,mBADC,aACd,EAA0BgG,gBADZ,OAEdpgC,SAFc,IAEdA,QAFc,EAEdA,GAAaogC,gBACjB1uB,aAAc,GACdqB,OAAM,UAAEA,SAAF,aAAE,EAAQ3mB,WAChB8zB,WAAU,OAAElgB,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0BxoB,YAExCoO,IAAc,cAAUkyD,GAGxBC,GACA/xE,OAAOkO,eAAepB,QAAQ,cAAe,OAC5C,IAGHloB,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UACEzB,GAAgBC,aAAagB,yBAAyBX,UACxD4W,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,KAC1B,IAGD,yBAAKlZ,UAAU,WACb,yBAAKA,UAAU,cACb,6DAEF,yBAAKA,UAAU,iBACb,kHAKF,kBAAC,GAAD,CACEijC,WAAU,UAAKA,GACfC,WAAU,UAAKA,GACfC,aAAY,UAAKA,Q,oBC7DV2kE,I,oBAZqC,SAAC/nG,GAAD,OAClD,uBAAKC,UAAU,iBACb,yBAAOA,UAAU,WAAWD,EAAM68D,SAClC,yBACE58D,UAAW,aAAmC,aAApBD,EAAMgoG,UAA2B,QAAU,KAEpEhoG,EAAMgoG,WAET,yBAAO/nG,UAAU,WAAWD,EAAM8wF,YCiDvBmX,GApD6B,SAACjoG,GAC3C,IAAMivB,EAAUC,cAMhB,OACE,oCACGlvB,EAAMkoG,aACJloG,EAAMmoG,gBACL,oCACE,2BAAOloG,UAAU,oBAAjB,qEAGA,yBAAKA,UAAU,uBACZD,EAAMooG,kBAAkBl8F,KAAI,SAAC7B,EAAMW,GAAP,OAC3B,yBAAKwB,IAAKxB,GACR,kBAAC,GAAD,CACE6xD,QAASxyD,EAAK81B,iBACd6nE,UAAU,iBACVlX,QAAS,UAKjB,yBAAK7wF,UAAU,kBACb,0BAAMA,UAAU,yBAChB,2BAAOA,UAAU,oBAAoB+I,QAzBjD,WACEimB,EAAQM,KAAK5uB,GAAaM,OAwBhB,kCAKFjB,EAAMqoG,kBACR,yBAAKpoG,UAAU,mBACZD,EAAMsoG,oBAAoBp8F,KAAI,SAAC7B,EAAMW,GAAP,OAC7B,yBAAKwB,IAAKxB,GACR,kBAAC,GAAD,CACE6xD,QAASxyD,EAAKulC,aAAevlC,EAAKk+F,YAClCP,UAAW39F,EAAKyO,QAAUzO,EAAK2O,OAC/B83E,QAASzmF,EAAK41B,cAAgB51B,EAAKm+F,oBAM3C,wC,oBnC8fKC,GA5hB6B,WAE1C,IAAMxlE,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GAX4C,EAalBlc,aAbkB,mBAazCqoB,EAbyC,KAahC7C,EAbgC,OAcdxlB,YAAwB,GAdV,mBAczCuJ,EAdyC,KAc9Bmf,EAd8B,OAeZ1oB,YAAwB,GAfZ,mBAezC6hG,EAfyC,KAe7BQ,EAf6B,OAgBFriG,YAAwB,GAhBtB,mBAgBzC8hG,EAhByC,KAgBxBQ,EAhBwB,OAkB9CtiG,YAAwB,GAlBsB,mBAiBzCgiG,EAjByC,KAiBtBO,EAjBsB,OAmBEviG,WAChD,IApB8C,mBAmBzC+hG,EAnByC,KAmBtBS,EAnBsB,OAsBMxiG,WAEpD,IAxB8C,mBAsBzCiiG,EAtByC,KAsBpBQ,EAtBoB,OAyBhBziG,YAAwB,GAzBR,gCA0BJA,YAAe,IA1BX,mBA0BzC0iG,EA1ByC,aA2BR1iG,YAAwB,IA3BhB,mBA2B3BumE,GA3B2B,WA4ChD,SAAS5U,EAAmBt/C,GAC1B,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,oBAClDkgB,GAAa,QAEb,GAAIrW,GAAOA,EAAIS,KAAM,CAEnB,IAAI5P,EAAmB0R,KAAKC,MAAMxC,EAAIS,MAAMzP,QAC1C,SAACW,GAAD,OAKEA,EALF,aAOkB,IAAhBd,EAAKvE,QACP+pB,GAAa,GACb45E,GAAmB,GAC2B,IAA1CtnF,GAAYo6B,YAAYmM,eAC1BzoB,GAAqB6pE,EAAoB3nF,GAAYwQ,eACT,IAA1CxQ,GAAYo6B,YAAYmM,gBAC1B+gD,GAAmB,GACnBD,GAAc,GACdE,GAAqB,GACrB75E,GAAa,IAG6B,IAA1C1N,GAAYo6B,YAAYmM,eACkB,IAA1CvmC,GAAYo6B,YAAYmM,eAExBiO,GACEozC,EACA5nF,GAAYwQ,iBAqBhBg3E,EAAqBt/F,GACrBwlB,GAAa,GACb25E,GAAc,KAMtB,SAASO,EAAqBvwF,GAE5B,GADAqW,GAAa,IACRrW,GAAOA,EAAIR,MACd2T,EAAW,IACX+L,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,yBAElD,GAAI6J,GAAOA,EAAIS,KAAM,CAKnB,IAJA,IAAI5P,EAAmB0R,KAAKC,MAAMxC,EAAIS,MAAMzP,QAC1C,SAACW,GAAD,OAAeA,EAAK41B,gBAElBipE,GAAoB,EACfj9F,EAAI,EAAGA,EAAI1C,EAAKvE,OAAQiH,IAC/B,GAAuB,aAAnB1C,EAAK0C,GAAG6M,OAAuB,CACjCowF,GAAW,EACX,MAGAA,EAAUJ,EAAuBv/F,GAChCq/F,GAAqB,GAC1BF,GAAc,IA6CpB,SAASM,EAAmBtwF,GAC1B,IAAKA,GAAOA,EAAIR,MACd2T,EAAW,IACX+L,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,wBAC7C,CACL,IAAM4hB,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnC,GAAIsX,EAAa,CASf,IARA,IAAMlnB,EAAmBknB,EAAY/mB,QACnC,SAACW,GAAD,OAAeA,EAAKwvE,gBAEhB7wB,EAID,GACI/8C,EAAI,EAAGA,EAAI1C,EAAKvE,OAAQiH,IAAK,CACpC,IAAIggB,EAIA,CACFs8E,YAAah/F,EAAK0C,GAAGk0B,iBACrBnnB,OAAQzP,EAAK0C,GAAGk9F,SAChBX,aAAcj/F,EAAK0C,GAAG4tE,cAExB7wB,EAAIz5B,KAAKtD,GAEX68E,EAAuB9/C,GACvB0/C,GAAc,QAGd78E,EAAW,IAGfkD,GAAa,GAkBf,SAAS+jE,EAAYp6E,GACnB,IAAKA,GAAOA,EAAIR,MACd5M,QAAQC,IAAImN,EAAIP,QAChB0T,EAAWnT,EAAIR,OACf0f,GAAW,CAAEG,OAAQ,eAAgBlpB,MAAO,oBAC5CkgB,GAAa,QAEb,GACoB,KAAjBrW,EAAIS,KAAKiX,MAAgC,KAAjB1X,EAAIS,KAAKiX,MACN,OAA5B1X,EAAIS,KAAKyB,KAAKwuF,UAoBT,GACL1wF,EAAIS,KAAKyB,KAAKyuF,sBAAsB,GAAGC,iBAErC,qCADF5wF,EAAIS,KAAKyB,KAAKyuF,sBAAsB,GAAGC,gBAGvC18B,GAAgB,GAChB79C,GAAa,OACR,CACL,IAAIw6E,EAAkB,GAClB7wF,EAAIS,KAAKyB,KAAKyuF,sBAAsBrkG,OAAS,GAC/C0T,EAAIS,KAAKyB,KAAKyuF,sBAAsB/7F,SAClC,SAAC2X,EAAchZ,GACH,IAANA,EAASs9F,EAAkBtkF,EAAQqkF,gBAClCC,GAAe,YAAStkF,EAAQqkF,oBAI3Ch+F,QAAQC,IAAI,uBAAwBg+F,GACpC19E,EAAWnT,EAAIS,KAAKyB,KAAKyuF,sBAAsB,GAAGC,iBAClDv6E,GAAa,OAtCb,CACA,IAAMy6E,EAAe9wF,EAAIS,KAAKyB,KAAKwuF,UACnCxxE,GAAW,CAAEG,OAAQ,kBAAmBlpB,MAAO,kBAG/C46F,GAAoB,GAGpB,IAAMC,EAAY,CAChB93E,cAAevQ,GAAYwQ,cAC3BqyC,kBAAkB,GAGpBxiD,aAAa6M,QACX,mBACAslC,KAAK54C,KAAK2G,UAAU8nF,KAGtBjoF,OAAOY,SAASC,KAAOknF,GA9N7BnjG,aAAgB,WAUd,OAT8C,IAA1Cgb,GAAYo6B,YAAYmM,eAC1B+gD,GAAmB,GACnBC,GAAqB,GACrBF,GAAc,GACd35E,GAAa,IAEb6mC,GAAmBoC,EAAoB32C,GAAYwQ,eAG9C,WACL9L,cAAc+wC,OAEf,IA2OH,IAAM2yC,EAAsB,SAACr8C,GAC3B,IAAMj0C,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAakB,UAAUC,eAClD8V,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,cACpB83E,SAAUv8C,GAGZzzB,GAA2BxgB,GAG3BihB,GAAiBC,UACfO,GAAgBvC,aAAakB,UAAUC,iBA4E3C,OACE,gCACG6uE,GACCC,EAAoBtjG,OAAS,GAC7BsjG,EAAoBzuD,MAAK,SAAC1gC,GAAD,MAA+B,YAAhBA,EAAKH,WAC3C,uBAAK/Y,UAAU,gBACb,uBAAKA,UAAU,WAAf,4BACA,uBAAKA,UAAU,gBAAf,2IAGN,uBAAKA,UAAW,cAAgB2P,EAAY,QAAU,KACpD,gBAAC,GAAD,CACEu4F,gBAAiBA,EACjBE,kBAAmBA,EACnBD,kBAAmBA,EACnBE,oBAAqBA,EACrBJ,WAAYA,IA0Bbx5E,GACC,uBAAKzuB,UAAU,cACb,gBAAC,GAAD,KACsB,kBAAZyuB,EACN,gCACE,oEACA,sEACyCA,EADzC,MAKF,6BAAQA,MAMdy5E,GAAmBD,GACnB,iCAIIG,GACA,uBAAKpoG,UAAU,gBACb,uBAAKA,UAAU,UAAUE,IAAKypG,KAAUvpG,IAAI,OAC5C,yBAAOJ,UAAU,aAAjB,oGAMJ,uBAAKA,UAAU,YACb,gBAAC,GAAD,CACE6P,QAAQ,SACRF,UAAWA,EACXhH,SAAUu/F,GAAmBY,EAC7B//F,QAlPd,WAAwB,IAAD,IAErB+lB,GAAa,GACbtN,OAAOW,MAAM,yDACb0zC,GACEg9B,EACAzxE,GAAYwQ,cACZ,EACAxQ,GAAYo6B,YAAYgG,gBAAxB,OACIpgC,SADJ,IACIA,IADJ,UACIA,GAAao6B,mBADjB,aACI,EAA0BgG,gBAC1B,EANa,OAOjBpgC,SAPiB,IAOjBA,IAPiB,UAOjBA,GAAayM,uBAPI,aAOjB,EAA8B9nB,aoC9NrB6jG,I,cAlBqC,SAAC7pG,GAEjD,IAAMivB,EAAUC,cAMhB,OACI,yBAAKjvB,UAAU,gBAAgB+I,QALnC,WACIimB,EAAQM,KAAKvvB,EAAM8pG,cAKf,0BAAM7pG,UAAU,yBAChB,2BAAOA,UAAU,UACZD,EAAM+pG,eCGRC,GAhB+C,SAAChqG,GAC3D,OACI,yBAAKC,UAAU,sBACX,2BAAOA,UAAU,aAAjB,mBACA,2BAAOA,UAAU,UAAjB,2DACA,yBAAKA,UAAU,UAEPD,EAAMiqG,mBAAmB/9F,KAAI,SAACtM,EAAQoL,GAAT,OACzB,kBAAC,GAAD,CAAewB,IAAKxB,EAAO++F,WAAYnqG,EAAO6B,KAAMqoG,WAAYlqG,EAAOgC,eCJ3FsoG,GAAW,EACT57E,GAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MA+L7CwoF,GA7LiB,WAAM,MAEN9jG,WAAgC,IAF1B,mBAE7BqoB,EAF6B,KAEpB7C,EAFoB,OAGFxlB,YAAwB,GAHtB,mBAG7BuJ,EAH6B,KAGlBmf,EAHkB,OAIN1oB,WAC5Bgb,GAAYo6B,YAAYiM,kBALU,mBAI7B0F,EAJ6B,KAIpBg9C,EAJoB,KA2CpC,SAASC,EAAe3xF,GACtB,IAAKA,GAAOA,EAAIR,MACd5M,QAAQC,IAAImN,EAAIP,QAChB0T,EAAWnT,EAAIR,OACf0f,GAAW,CAAEG,OAAQ,kBAAmBlpB,MAAO,oBAC/CkgB,GAAa,QAEb,GACoB,KAAjBrW,EAAIS,KAAKiX,MAAgC,KAAjB1X,EAAIS,KAAKiX,MACN,OAA5B1X,EAAIS,KAAKyB,KAAKwuF,UAUT,CAED1wF,EAAIS,KAAKyB,KAAKyuF,sBAAsBrkG,OAAS,GAC/C0T,EAAIS,KAAKyB,KAAKyuF,sBAAsB/7F,SAClC,SAAC2X,EAAchZ,GACH,IAANA,EAA2BgZ,EAAQqkF,gBACnB,YAASrkF,EAAQqkF,oBAI3Cz9E,EAAWxZ,IACX0c,GAAa,OApBb,CACA,IAAMy6E,EAAe9wF,EAAIS,KAAKyB,KAAKwuF,UAOnC3nF,OAAOY,SAASC,KAAOknF,GA4B7B,SAASn8C,EAAsB30C,GAE7B,GADAqW,GAAa,IACRrW,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAGnC0tC,GAAap2B,GACb25E,EAAW35E,EAAYi3B,mBAK7B,OAhGArhD,aAAgB,WACd,IAAIikG,EAAUzkF,aACd,YACmB,GAAbqkF,IAAkB7oF,GAAYo6B,YAAYiM,iBAC5C3hC,cAAcukF,IAEdJ,MAEgC,KAA9B7oF,GAAYwQ,eACZvD,GAAwBsD,iBAExB7C,GAAa,GACb2D,IACE,SAACha,GAAD,OAAc20C,EAAsB30C,KACpC2I,GAAYwQ,eAAiBvD,GAAwBsD,mBAbxB,KAkBrC,OAAO,WACL7L,cAAcukF,MAEf,IA2ED,uBAAKrqG,UAAU,YACb,uBAAKA,UAAU,eACb,wCAEF,uBAAKA,UAAU,UACb,uBAAKA,UAAU,YAAYE,IAAKoqG,KAAalqG,IAAI,WAEnD,2BACE,uBAAKJ,UAAU,YACb,uDAEF,uBAAKA,UAAU,gBACb,0BACE,oVAOA,0BACG,IADH,qJAI0B,KAE1B,mYAUJ,uBAAKA,UAAW,eACbmtD,EACC,uBAAKntD,UAAU,YACb,gBAAC,GAAD,CACE6P,QAAQ,SACRF,UAAWA,EACXhH,UAAWwkD,EACXpkD,QArHd,WAA2B,IAAD,EAExB+lB,GAAa,GACbtN,OAAOW,MAAM,yDACb0zC,GACEu0C,EACAhpF,GAAYwQ,cACZ,EACAxQ,GAAYo6B,YAAYgG,gBAAxB,OACIpgC,SADJ,IACIA,IADJ,UACIA,GAAao6B,mBADjB,aACI,EAA0BgG,gBAC1B,OA+GE,2BACE,uBAAKxhD,UAAW,eACd,gBAAC,GAAD,CACE6P,QAAQ,gBACRF,UAAWA,EACXhH,SAAUshG,GAAW,EACrBlhG,QAhFhB,YAEkC,KAA9BqY,GAAYwQ,eACZvD,GAAwBsD,gBAExBc,IACE,SAACha,GAAD,OAAc20C,EAAsB30C,KACpC2I,GAAYwQ,eAAiBvD,GAAwBsD,mBA4E/C,2BACA,uBAAK3xB,UAAU,gBAAf,sGAOLyuB,GACC,uBAAKzuB,UAAU,cACb,gBAAC,GAAD,KACsB,kBAAZyuB,EACN,gCACE,oEACA,sEACyCA,EADzC,MAKF,6BAAQA,QC0ET87E,GArP6B,SAACxqG,GAE3C,IAAMijC,EAAa9K,KACb9V,EAAW2M,cACXkU,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GAZiD,EAavBlc,IAAM8G,SAClCkU,GAAYo6B,YAAYiM,kBAd2B,mBAa9C0F,EAb8C,KAarCq9C,EAbqC,OAgBnBpkG,IAAM8G,SACtCkU,GAAYo6B,YAAYuM,qBAjB2B,mBAgB9C0iD,EAhB8C,KAgBlCC,EAhBkC,OAqBnDtkG,IAAM8G,SAAkBkU,GAAYo6B,YAAYyM,uBArBG,gCAsBC7hD,IAAM8G,SAC1DkU,GAAYo6B,YAAY0M,sBAvB2B,gCA0BnD9hD,IAAM8G,YA1B6C,mBAyB9Cy9F,EAzB8C,KAyB9BC,EAzB8B,KA2B/Cj7E,EAAcu2B,GAAW9jC,EAAS2N,QACxC3pB,IAAM6H,WAAU,YAsChB,WACE,IAAI86C,EAA+C,GACnD3nC,GAAY+P,gBAAgB9jB,SAAQ,SAAC1N,IAC9BA,EAAO+B,YAAc/B,EAAOoC,YAC/BgnD,EAAIz5B,KAAK,CAAE9tB,KAAM7B,EAAO6B,KAAMG,OAAQhC,EAAOgC,YAGjDipG,EAAkB7hD,GA5ClB8hD,GACAtX,IACA/xE,OAAOkO,eAAepB,QAAQ,cAAe,QAC5C,IACHloB,IAAM6H,WAAU,WACdy8F,EAAYtpF,GAAYo6B,YAAYuM,qBACpCyiD,EAAWppF,GAAYo6B,YAAYiM,oBAClC,CACDrmC,GAAYo6B,YAAYiM,iBACxBrmC,GAAYo6B,YAAYuM,oBACxBoF,EACAs9C,IAxCmD,MA0CbrkG,IAAM8G,UAC3CkU,GAAYo6B,YAAYyM,uBA3C0B,gCA6CnB7hD,IAAM8G,UAAkB,IA7CL,mBA6C9CyC,EA7C8C,aA8CvBvJ,IAAM8G,SAAc,KA9CG,6BAiDrD9G,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAakB,UAAUb,UAClD4W,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,KAC1B,IA6FH,IAAMq6E,EAAa,WAAO,IAAD,QACnBp/D,EAAS,EAEP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAE1C,IAAM8lF,EAAe,CACnB1wE,cAAa,OAAExB,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BiB,kBAA6B,OAAXzR,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,iBAA1B,OACdpgC,SADc,IACdA,IADc,UACdA,GAAao6B,mBADC,aACd,EAA0BgG,gBADZ,OAEdpgC,SAFc,IAEdA,QAFc,EAEdA,GAAaogC,gBACjB1uB,aAAc,GACdqB,OAAM,UAAEA,SAAF,aAAE,EAAQ3mB,WAChB8zB,WAAU,OAAElgB,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0BxoB,YAExCoO,IAAc,cAAUkyD,IAa1B,OACE,oCACE,8BACInmC,GAA8B,MAAnBx9B,EAAYm7E,IACvB,yBAAK9qG,UAAU,YACb,yBAAKA,UAAU,eACb,0CAEF,yBAAKA,UAAU,UACb,yBAAKA,UAAU,YAAYE,IAAKoqG,KAAalqG,IAAI,WAElDuqG,GACC,oCACGA,EAAe5lG,OAAS,EACvB,kBAAC,GAAD,CAAgBilG,mBAAoBW,IAEpC,kBAAC,GAAD,QAMU,MAAnBh7E,EAAYm7E,KAAeL,GAAc,kBAAC,GAAD,OAE5C,yBAAKzqG,UAAW,iBAAmB2P,EAAY,QAAU,Q,cCvL/D,IA4Seo7F,GA5SuC,SAAChrG,GAAW,IAAD,EAC7BqG,IAAM8G,UAAkB,GADK,mBACxDyC,EADwD,KAC7Cmf,EAD6C,OAEvB1oB,IAAM8G,UAAkB,GAFD,mBAExD89F,EAFwD,KAE1CC,EAF0C,OAGzB7kG,IAAM8G,UAAkB,GAHC,mBAGxDg+F,EAHwD,KAG3CvhC,EAH2C,OAIjBvjE,IAAM8G,UAAkB,GAJP,mBAIxDi+F,EAJwD,KAIvCC,EAJuC,OAKrBhlG,IAAM8G,UAAkB,GALH,mBAKxDm+F,EALwD,KAKzCC,EALyC,OAMnCllG,IAAM8G,WAN6B,mBAMxDq+F,EANwD,KAMhDC,EANgD,OAOjCplG,IAAM8G,WAP2B,mBAOxDu+F,EAPwD,KAO/CC,EAP+C,KAQzDC,EAAoBljD,KARqC,EASnCriD,IAAM8G,SAAqB,IATQ,mBASxD0+F,EATwD,KAShDC,EATgD,OAUrBzlG,IAAM8G,WAVe,mBAUxD4+F,EAVwD,KAUzCtiC,EAVyC,KAWzDH,EAAkBjjE,IAAM+oB,OAAyB,MACjD48E,EAAoB3lG,IAAM+oB,OAAyB,MACnD68E,EAAkB5lG,IAAM+oB,OAAyB,MAbQ,EAcvB/oB,IAAM8G,WAdiB,mBAcxD++F,EAdwD,KAc1CC,EAd0C,OAe3B9lG,IAAM8G,WAfqB,mBAexD02E,EAfwD,KAe5CuoB,EAf4C,OAgBzB/lG,IAAM8G,WAhBmB,mBAgBxD22E,EAhBwD,KAgB3CuoB,GAhB2C,QAiB7BhmG,IAAM8G,SAAe,IAAI8nB,MAjBI,qBAiBxDoO,GAjBwD,YAgC/D,SAASipE,GAAYA,GACnBhjC,EAAgBx4C,QAAS2sC,OAAS6uC,EAC9BV,EAAUK,EAAgBn7E,QAAS2sC,QAAU6uC,EAC5CN,EAAkBl7E,QAAS2sC,QAAU6uC,EAG5C,SAAS52B,KACP3mD,GAAa,GAwBb0lC,UAAU0hB,aACPC,aAvBiB,CAClBJ,OAAO,EACPC,MAAO,CACLC,WAAY,UAqBb/S,MAjBH,SAAuBqoC,GACrBliC,EAAgBx4C,QAAS+kD,UAAY21B,EACrC,IACE/hC,EAAiB,IAAIqM,cAAc01B,IACnC,MAAOe,IACTd,EAAUD,GACV5hC,GAAe,GACf76C,GAAa,MAWZw0C,OARH,SAAqBrrD,GACnB0xD,GAAe,GACf76C,GAAa,MAzCjB1oB,IAAM6H,WAAU,WAId,OAHA5C,QAAQC,IAAIvL,EAAMktE,YAClBwI,KACA42B,IAAY,GACL,eACN,IAEHjmG,IAAM6H,WAAU,WACd,OAAO,WACLs9F,GAAUA,EAAOz2B,iBAAiB,GAAGC,UAEtC,CAACw2B,IAsCJ,IAAMxmD,GAAgB,WAAO,IAAD,MACtBp8C,GAAoB,EAQxB,OANsD,QAAzC,OAAXyY,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,6BAC0BzgD,KAAzC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,yBAD1B,OAEA1jC,SAFA,IAEAA,IAFA,UAEAA,GAAao6B,mBAFb,aAEA,EAA0BsJ,yBAE1Bn8C,GAAW,GAENA,GAEH4jG,GAAsB,aAEvB,OAACxsG,QAAD,IAACA,OAAD,EAACA,EAAOysG,mBACM,OAAT,OAALzsG,QAAK,IAALA,OAAA,EAAAA,EAAO6hC,WAA6Bv9B,IAAT,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAO6hC,MAAkC,KAAT,OAAL7hC,QAAK,IAALA,OAAA,EAAAA,EAAO6hC,MACzC,OAAV,OAAL7hC,QAAK,IAALA,OAAA,EAAAA,EAAOq0E,YAA+B/vE,IAAV,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAOq0E,OAAoC,KAAV,OAALr0E,QAAK,IAALA,OAAA,EAAAA,EAAOq0E,OAEtD,OAALr0E,QAAK,IAALA,KAAOysG,mBAETtiG,YAAW,YAIb,WAIE,IAAIuiG,EAHJxB,GAAgB,GAChBG,GAAmB,GACnBzzE,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,oBAEzC,IAAMm6C,EAAqB,GACvB4iD,EACFc,EAAW7mF,aACT,kBAlID,SACLowD,EACAj1D,GAEA,IAAI4iE,EAA4BjzE,SAAS+yD,cACvC,UAEFkgB,EAAOpzE,MAAQylE,EAAM4N,WACrBD,EAAO3nB,OAASga,EAAM6N,YACtBF,EACGG,WAAW,MACXC,UAAU/N,EAAO,EAAG,EAAGA,EAAM4N,WAAY5N,EAAM6N,aAClDF,EAAOK,QAAO,SAACxI,GACb,IAAMC,EAAW,IAAIC,KAAK,CAACF,GAAmB,sBAAuB,CACnEhzE,KAAM,aACNmzE,aAAc3mD,KAAK0oB,QAEfk+B,EAAa,IAAIjc,WACvBic,EAAWjoB,OAAS,SAAUzsD,GAAI,IAAD,EACzB47B,EAAM,UAAI57B,EAAEE,QAAUF,EAAEE,OAAOuR,cAAzB,aAAG,EAA+BnL,WAC9CuT,EAAQ,OACN+hB,QADM,IACNA,OADM,EACNA,EAAQxe,MAAM,KAAK,GACnBk3D,EACAxF,EAAM4N,WACN5N,EAAM6N,cAGVjI,EAAW/b,cAAc4b,MAwGnBixB,CACErjC,EAAgBx4C,SAChB,SACEiS,EACA04C,EACAoI,EACAC,GAEAqoB,EAAgB1qF,OAAOI,IAAI+qF,gBAAgBnxB,IAC3C2wB,EAAcvoB,GACdwoB,GAAevoB,GACf96B,EAAIz5B,KAAKwT,QAGf,KAGFgpE,GAAiBA,EAAcc,QAEjC1iG,YAAW,WACTkhG,GAAmB,GACnBE,GAAiB,GACjBK,GAAYc,GAAY3mF,cAAc2mF,GAkB1C,SAAcI,GACZR,IAAY,GACRV,GAAYkB,EACdhB,EAAUgB,GAEVf,GAAiBA,EAAc/2B,OAEjCw2B,GAAUA,EAAOz2B,iBAAiB,GAAGC,OAxBnCA,CAAKhsB,KACJ,MApCDgS,KACC,MA+HL,OAzFI+wC,IACFA,EAAcgB,gBAAkB,SAAUxiG,GACxCuhG,EAAU,CAACvhG,EAAM4O,QAGnB4yF,EAAciB,OAAS,SAACC,GACtB,IAAMxxB,EAAO,IAAI4H,KAAKwoB,EAAQ,CAAEpjG,KAAM,eACtCujG,EAAkBl7E,QAAS3wB,IAAMshB,OAAOI,IAAI+qF,gBAAgBnxB,GAC5DkwB,EAAWlwB,GACX6wB,IAAY,KAiFd,yBAAKrsG,UAAU,kBACZkrG,GACC,yBAAKlrG,UAAU,mBACb,2BAAOA,UAAU,sBAAjB,gGAMJ,2BACEA,UAAU,cACVyI,GAAG,WACHsoB,IAAKs4C,EACLka,UAAQ,EACRC,aAAW,IAEZmoB,EACC,yBACEzrG,IAAK+rG,EACLl7E,IAAKi7E,EACL5rG,IAAI,WACJJ,UAAU,gBAGZ,2BACEA,UAAU,cACV+wB,IAAKg7E,EACLkB,UAAQ,EACRC,aAAa,6CAKhBlC,IAAiBjrG,EAAMktE,aAAvB,OAAqCltE,QAArC,IAAqCA,OAArC,EAAqCA,EAAOotG,uBAC3C,yBACEntG,UAAW,YAAc2P,GAAau7F,EAAc,QAAU,IAC9DniG,QACE4G,GAAau7F,EAAc,aAAW,kBAAMqB,OAG9C,0BAAMvsG,UAAU,8BAChB,2BAAOA,UAAU,YAAjB,oBAMHmrG,GACC,yBAAKnrG,UAAU,kBACb,kBAAC,GAAD,CAAU8jB,MAAO,KAMpBunF,GACC,yBAAKrrG,UAAU,aACb,2BAAOA,UAAU,cAAjB,6FAIA,yBAAKA,UAAU,cACb,kBAAC,GAAD,CACE6P,QAAQ,QACRlH,SAAUgH,GAAao1C,KACvB50C,aAAa,EACbR,UAAWA,EACX5G,QAtIZ,WACE8iG,EAAU,IACVQ,IAAY,GACZf,GAAiB,GACjBF,GAAmB,GACnBH,GAAgB,GAChBiB,EAAgB,IAChBz2B,QAiIQ,kBAAC,GAAD,CACE5lE,QAAQ,SACRlH,SAAUgH,GAAao1C,KACvBp1C,UAAWA,EACX5G,QAlIZ,WACE,GAAmC,IAA1B,OAALhJ,QAAK,IAALA,OAAA,EAAAA,EAAOotG,2BACJ,CACL,IAAM5mD,EAAcvL,GAAmB5X,GAAW,WAClD,GAAIuoE,EAAU,CACZ,IAAMxtE,EAAY,CAChBivE,QAASxB,EACTzyD,sBAAuB5rC,SAAS6T,GAAYyQ,uBAC5CjP,cAAexB,GAAYwQ,cAC3B2uC,OAAQn/C,GAAY0Q,OACpBu7E,YAAa,aACbt7E,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCwK,MAAOqzE,EACP5nB,OAAQ6nB,EACRtyD,OAAQg1B,GAEVxmD,EAAMutG,YAAYnvE,EAAWwtE,OACxB,CACL,IAAMlwB,EAAW,IAAIC,KAAK,CAAC+vB,GAAsB,gBAAiB,CAChEjjG,KAAM,aACNmzE,aAAc3mD,KAAK0oB,QAErB,GAAI+9B,EAAStsE,KAAO,IAElB,OADAgT,MAAM,6DACC,EAET,GAAIs5D,EAAStsE,MAAQ,KAInB,OAHAgT,MACE,0EAEK,EAET,IAAMy5D,EAAa,IAAIjc,WACvBic,EAAWjoB,OAAS,SAAUzsD,GAAI,IAAD,EACzB47B,EAAM,UAAI57B,EAAEE,QAAUF,EAAEE,OAAOuR,cAAzB,aAAG,EAA+BnL,WAC9C,UAAIs1B,QAAJ,IAAIA,OAAJ,EAAIA,EAAQt1B,WAAY,CACtB,IAAM2wB,EAAY,CAChBvb,cAAexB,GAAYwQ,cAC3BunB,sBAAuB5rC,SACrB6T,GAAYyQ,uBAEdw7E,YAAa5xB,EAASjzE,KACtB+kG,MAAOzqE,EAAQxe,MAAM,KAAK,GAC1BkpF,UAAU,GAAD,OAAKpsF,GAAYwQ,cAAjB,YAAkC6pD,EAASj6E,MACpD++D,OAAQn/C,GAAY0Q,OACpBC,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCwrB,OAAQg1B,GAEVxmD,EAAMutG,YAAYnvE,EAAWwtE,KAGjC/vB,EAAW/b,cAAc4b,Y,qBC0iBlBgyB,GA1vB6C,WAE1D,IAAMC,EAAcx1E,KACd+K,EAAayqE,EAAYprF,IAAI,cAC/BorF,EAAYprF,IAAI,cAChB,GACE4gB,EAAawqE,EAAYprF,IAAI,cAC/BorF,EAAYprF,IAAI,cAChB,GACE6gB,EAAeuqE,EAAYprF,IAAI,gBACjCorF,EAAYprF,IAAI,gBAChB,GACE7Z,EAAKilG,EAAYprF,IAAI,MAAQorF,EAAYprF,IAAI,MAAQ,GACvD6R,EAAS,IACb9oB,QAAQC,IAAI,oBAAqBowB,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,QAC9D,IAAMwd,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,WAlB+B,IA8B5DqpD,EAWAyN,EAzC4D,EAoBlCl+D,IAAM8G,WApB4B,mBAoBzDuhB,EApByD,KAoBhD7C,EApBgD,OAqB9BxlB,IAAM8G,UAAkB,GArBM,mBAqBzDyC,EArByD,KAqB9Cmf,EArB8C,OAsB5B1oB,IAAM8G,UAAS,GAtBa,mBAsBzDygG,EAtByD,KAsB7CC,EAtB6C,OAuB1CxnG,IAAM8G,SAAiB,IAvBmB,mBAuBzDoZ,EAvByD,KAuBpDI,EAvBoD,OAwB5BtgB,IAAM8G,UAAkB,GAxBI,mBAwBzD2gG,EAxByD,KAwB7CC,EAxB6C,OAyBpB5gG,oBAAS,GAzBW,mBAyBzD6gG,EAzByD,KAyBzCC,EAzByC,OA0B1C9gG,mBAAS,IA1BiC,mBA0BzD00B,EA1ByD,KA0BpDqsE,EA1BoD,OA2BxC/gG,mBAAS,IA3B+B,mBA2BzDknE,EA3ByD,KA2BnD85B,EA3BmD,OA4BtBhhG,oBAAS,GA5Ba,mBA6B1D8hB,GA7B0D,UA6BhDC,eAGV+9C,EAAuBrL,KAhCmC,EAiC5Bv7D,IAAM8G,UAAkB,GAjCI,oBAiCzD+/D,GAjCyD,MAiC7CC,GAjC6C,SAmC9D9mE,IAAM8G,UAAkB,GAnCsC,qBAkCzDihG,GAlCyD,MAkCrChhC,GAlCqC,SAqC9DjgE,oBAAkB,GArC4C,qBAoCzDyhE,GApCyD,MAoC7BC,GApC6B,SAsCd1hE,oBAAkB,GAtCJ,qBAsCtC6hE,IAtCsC,gBAuCZ7hE,oBAAkB,GAvCN,qBAuCzD8hE,GAvCyD,MAuCrCC,GAvCqC,SAwChB/hE,oBAAkB,GAxCF,qBAwCzDgiE,GAxCyD,MAwCvCC,GAxCuC,MA0C5Di/B,GAAa9sG,GACjB8E,IAAM6H,WAAU,WAGd,GADAuT,OAAOkO,eAAepB,QAAQ,cAAe,KACxC7lB,EAKE,CAAC,IAAD,IAKE,kBASH,MAbAk+D,EAAclZ,KAAKhlD,GAEvB,GADAqmB,GAAa,GACQ,iBAAV63C,IAAuB,UAACA,SAAD,aAAC,EAAQ17D,SAAS,YAAY,UAAC07D,SAAD,aAAC,EAAQ17D,SAAS,SAMhF,QACoB5G,KAAZ,QAAN,EAJFsiE,EAAS3rD,KAAKC,MAAMwyC,KAAKhlD,WAIvB,eAAQ6pB,QACU,QAAZ,QAAN,EAAAq0C,SAAA,eAAQr0C,QACoB,QAAtB,QAAN,EAAAq0C,SAAA,eAAQ1Z,uBACoB5oD,KAAtB,QAAN,EAAAsiE,SAAA,eAAQ1Z,iBAERh5B,GACE03D,GADoB,UAEpBhlB,SAFoB,aAEpB,EAAQr0C,MACR/kB,SAAQ,UAACo5D,SAAD,aAAC,EAAQ1Z,iBAHG,UAIpB0Z,SAJoB,aAIpB,EAAQ7Z,aAEL,GACW,QAAV,QAAN,EAAA6Z,SAAA,eAAQhZ,WACQtpD,KAAV,QAAN,EAAAsiE,SAAA,eAAQhZ,MACQ,MAAV,QAAN,EAAAgZ,SAAA,eAAQhZ,MACO,QAAT,QAAN,EAAAgZ,SAAA,eAAQ/Y,UACOvpD,KAAT,QAAN,EAAAsiE,SAAA,eAAQ/Y,IACR,CAAC,IAAD,MACA35B,GACE03D,GADoB,UAEpBhlB,SAFoB,aAEpB,EAAQhZ,IACRpgD,SAAQ,UAACo5D,SAAD,aAAC,EAAQ/Y,IAHG,UAIpB+Y,SAJoB,aAIpB,EAAQ9Y,WA5BZ55B,GAAuB03D,GAAahlB,EAAQ,EAAG,QALjDtG,GAAWguC,GAAWjtF,GAAYwQ,eA8C5B,IAAD,YAWH,IAlBM,OAARgQ,QACQv9B,IAARu9B,GACQ,KAARA,GACS,OAATwyC,QACS/vE,IAAT+vE,GACS,KAATA,IAGA/oE,QAAQC,IAAI,cAAe0hE,EAA3B,OAAmCA,QAAnC,IAAmCA,OAAnC,EAAmCA,EAAQnL,aAEf,QAAf,OAAXzgD,SAAW,IAAXA,QAAA,EAAAA,GAAagB,gBACa/d,KAAf,OAAX+c,SAAW,IAAXA,QAAA,EAAAA,GAAagB,WACkB,QAApB,OAAXhB,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBwf,WACQv9B,KAApB,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBwf,MACQ,MAApB,OAAXxgB,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBwf,MACS,QAArB,OAAXxgB,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBgyD,YACS/vE,KAArB,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBgyD,OACS,MAArB,OAAXhzD,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBgyD,OAEvB65B,EAAM,OAAC7sF,SAAD,IAACA,IAAD,UAACA,GAAagB,gBAAd,aAAC,EAAuBwf,KAC9BssE,EAAO,OAAC9sF,SAAD,IAACA,IAAD,UAACA,GAAagB,gBAAd,aAAC,EAAuBgyD,QAE/BlqE,YAAW,WACTo6D,EAAkB9P,UAAU2N,YAAYsS,cACtCC,GACAC,IAEFxH,IAAsB,KACrBihC,IACHt/E,GAAa,OAGhB,IAEH1oB,IAAM6H,WAAU,WACdq2D,EAAkB9P,UAAU2N,YAAYsS,cACtCC,GACAC,KAEyB,IAAvB3F,KAAoD,IAArBE,IACjC7jE,QAAQC,IAAI,kBACZyjE,IAAqB,GACrBH,IAA+B,GAC/B1B,IAAc,KAEd7hE,QAAQC,IAAI,sBACZyjE,IAAqB,GACrBH,IAA+B,GAC/B1B,IAAc,MAGf,CAACF,EAAQgC,GAAoBE,KAOhC9oE,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaiB,QAAQZ,UAChD4W,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,KAC1B,IAEH,IAAMyyE,GAAc,SAAClzE,IACdA,GAAOA,EAAIR,OAEd2T,EAAWnT,EAAIR,OACf6W,GAAa,IAETrW,EAAIS,MACU,MAAZT,EAAIS,OACNkI,GAAYyM,gBAAgB9nB,IAAM0S,EAAIS,KAAKg0C,IAC3C9rC,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYwQ,cAAgBnZ,EAAIS,KAAK8zC,cACrC5rC,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAC9BjR,GAAYyQ,sBAAwBpZ,EAAIS,KAAKkZ,uBAE/CK,IACE,SAACha,GAAD,OAAc20C,GAAsB30C,KACpC2I,GAAYwQ,eAEdyuC,GAAWguC,GAAWjtF,GAAYwQ,iBAElChG,EAAW,4DACXkD,GAAa,KAKb8lD,GAAc,WACd5H,EAAOpL,QAA0B,GAAhBoL,EAAO/0D,OAC1B5M,QAAQC,IAAI,YACZ2iG,EAAO,GAAD,OAAIjhC,EAAOnL,YAAYjgC,MAC7BssE,EAAQ,GAAD,OAAIlhC,EAAOnL,YAAY//B,OAE1B0yB,WAAaA,UAAU2N,cACzB3N,UAAU2N,YAAYC,mBAAmBN,GAAaoS,GAAe,CACnE7R,mBAAoB/gE,GACpBghE,WAAYhhE,GACZ6yD,QAAS7yD,KAEXgjE,EAAkB9P,UAAU2N,YAAYsS,cACtCC,GACAC,MAMF7S,GAAc,SAACmT,GACnB5pE,QAAQC,IAAI,eAAgB2pE,EAASjT,QACrCisC,EAAOh5B,EAASjT,OAAOrgC,UACvBusE,EAAQj5B,EAASjT,OAAOngC,WAExBmrC,EAAOnL,YAAYjgC,IAAMqzC,EAASjT,OAAOrgC,SACzCqrC,EAAOnL,YAAY//B,IAAMmzC,EAASjT,OAAOngC,UACzCmrC,EAAO/0D,OAAQ,EACfi1D,IAAc,GACdC,IAAsB,GACtBr+C,GAAa,GACbzjB,QAAQC,IAAI,kBAAmB0hE,IAG3BkH,GAAgB,SAACc,GACrB3pE,QAAQC,IAAR,gBAAqB0pE,EAAI9uD,KAAzB,cAAmC8uD,EAAI9S,UACvC8K,EAAO/0D,OAAQ,EACf6W,GAAa,GACbo+C,IAAc,IAIV6O,GAAsB,SAACtjE,EAAU61F,GACrC,IAAK71F,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf0f,GAAW,CACTG,OAAQ,4BACRlpB,MAAO,oBAETkgB,GAAa,QAMb,GAJA6I,GAAW,CACTG,OAAQ,4BACRlpB,MAAO,sBAEQ,WAAb0/F,GAqTR,WACE,IAAMxqF,EAAQ8B,aAAY,WACxB6M,GACE26B,GACAhsC,GAAYwQ,iBAEb,KACHilC,EAAgB/yC,EA3TZyqF,OACK,CACL3sD,GAAqBlhD,GAAaO,KAClC02B,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,kBAEzC,IAAMsK,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaiB,QAAQF,gBAChDkW,mBAAoB,GACpBpM,WAAYA,GAAc,GAC1BC,WAAYA,GAAc,GAC1BC,aAAcA,GAAgB,GAC9BmM,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,GAI3BihB,GAAiBC,UACfO,GAAgBvC,aAAaiB,QAAQF,iBAGlC1wB,EAEH0Z,MACE,8GAHK6M,EAAQM,KAAKuyB,QAS5B,SAAS6yB,GAAgBx7D,GACvB4V,GAAa,GACbmgD,IAAsB,GAGtBg/B,EAAO/0F,EAAK8oD,OAAOrgC,UACnBusE,EAAQh1F,EAAK8oD,OAAOngC,WACpB2yB,UAAU2N,YAAY+S,WAAW5Q,GAyCnC,SAASqQ,GAAcz7D,GACrB4V,GAAa,GACbmgD,IAAsB,GA5UwC,8CAmVhE,mBAUWyG,EAQAC,EAlBX,SAAAxpE,EAAA,sDAkBWwpE,EAlBX,SAkBuB19D,GACnB5M,QAAQC,IAAI,eAAgB2M,GAC5B6W,GAAa,GAGbqgD,IAAoB,GACpB9jE,QAAQC,IAAI,0BAdLoqE,EAVX,SAUyBjM,GACrBp+D,QAAQC,IAAI,iBAAkBm+D,GAG9B0F,IAAoB,GACpBrgD,GAAa,IAdf8lD,KAEMkB,EAAc,CAClBC,OAAO,EACPC,MAAO,CACLC,WAAY,SAwBhBzhB,UAAU0hB,aACPC,aAAaL,GACb5S,MAAK,SAACqoC,GACLlgG,QAAQC,IAAIigG,EAAQ,QACpB71B,EAAc61B,MAEfjoC,OAAM,SAACioC,GACNlgG,QAAQC,IAAIigG,EAAQ,SACpB51B,EAAY41B,MAtClB,4CAnVgE,sBA4XhE,SAAS8C,GAAU51F,GAMgB,IAAD,YAW1B,KAhBDA,GAAOA,EAAIR,OAEd2T,EAAWnT,EAAIR,OACf0f,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,qBAErC6J,EAAIS,MAAQT,EAAIS,KAAKkiD,KACvB10C,EAAOjO,EAAIS,KAAKkiD,KAEY,QAAf,OAAXh6C,SAAW,IAAXA,QAAA,EAAAA,GAAagB,gBACa/d,KAAf,OAAX+c,SAAW,IAAXA,QAAA,EAAAA,GAAagB,WACkB,QAApB,OAAXhB,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBwf,WACQv9B,KAApB,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBwf,MACQ,MAApB,OAAXxgB,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBwf,MACS,QAArB,OAAXxgB,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBgyD,YACS/vE,KAArB,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBgyD,OACS,MAArB,OAAXhzD,SAAW,IAAXA,IAAA,UAAAA,GAAagB,gBAAb,eAAuBgyD,OAEvB65B,EAAM,OAAC7sF,SAAD,IAACA,IAAD,UAACA,GAAagB,gBAAd,aAAC,EAAuBwf,KAC9BssE,EAAO,OAAC9sF,SAAD,IAACA,IAAD,UAACA,GAAagB,gBAAd,aAAC,EAAuBgyD,OAE/BQ,MAGFj9C,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,sBAG7CkgB,GAAa,GA0Cf,SAAS0/E,GAAc/1F,IAChBA,GAAOA,EAAIR,OACd6W,GAAa,GAEb6I,GAAW,CAAEG,OAAQ,iBAAkBlpB,MAAO,oBAC9Cgd,EAAWnT,EAAIR,QAEXQ,EAAIS,KApKZ,SAAwBA,GAItB,GAHA7N,QAAQC,IAAI,cACZD,QAAQC,IAAI,MAAOs2B,GACnBv2B,QAAQC,IAAI,OAAQ8oE,GACR,KAARxyC,QAAsBv9B,IAARu9B,GAA8B,KAATwyC,QAAwB/vE,IAAT+vE,EAAoB,CACxE,IAAIzyC,EAAWC,EACXC,EAAYuyC,EACV0H,EAAS,CACbvb,OAAQn/C,GAAY0Q,OACpBqnB,sBAAuB/3B,GAAYyQ,sBACnCjP,cAAexB,GAAYwQ,cAC3B6uC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,iCACdE,iBAAkB,IAClBE,aAAa,GAAD,OAAK1/B,EAAL,aAAkBE,GAC9B0/B,UAAW,iBACXG,QAAS,GACT//B,SAAS,GAAD,OAAKA,GACbE,UAAU,GAAD,OAAKA,GACd1Z,OAAQ,oBACRuW,UAAWnxB,SAAS4mB,IAGtB9oB,QAAQC,IAAI,sBAEZg1D,IACE,SAAC/nD,GAAD,OAAmBwjE,GAAoBxjE,KACvCujE,QAGFlN,IAA+B,GAmI7B6/B,IA+BA3/E,GAAa,GACblD,EAAW,kCACX+L,GAAW,CAAEG,OAAQ,iBAAkBlpB,MAAO,uBAKpD,IAAM8/F,GAAU,SAAChlG,GAGf,GAFA2B,QAAQC,IAAI,MAAOs2B,GACnBv2B,QAAQC,IAAI,OAAQ8oE,GACR,KAARxyC,QAAsBv9B,IAARu9B,GAA8B,KAATwyC,QAAwB/vE,IAAT+vE,EACpD,IAAmB,IAAfy5B,EACFC,GAAc,OACT,CAAC,IAAD,IACLA,GAAc,GAEd,IAAItgB,EAAa,CACfl7D,MAAK,OAAElR,SAAF,IAAEA,IAAF,UAAEA,GAAayM,uBAAf,aAAE,EAA8B9nB,IACrCknD,iBAA4B,OAAX7rC,SAAW,IAAXA,QAAA,EAAAA,GAAaogC,iBAAb,OACbpgC,SADa,IACbA,QADa,EACbA,GAAaogC,gBADA,OAEbpgC,SAFa,IAEbA,IAFa,UAEbA,GAAao6B,mBAFA,aAEb,EAA0BgG,gBAC9BsL,OAAQ34B,GAENs5D,EAAmBzyE,KAAK2G,UAAU6rE,GAChCE,EAAa95B,KAAK65B,GAClBE,EAAY,qBAAiBD,GAC7BihB,EAAM,UAAM59F,GAAOC,MAAb,OAAoB28E,GAEhCtiF,QAAQC,IAAIqjG,GACZ,IAAMC,EAAU,CACd3nF,MAAO7F,GAAYikB,KAAKxiB,OACxBgsF,eAAgBF,GhC3aD5tF,EgC8aR,ahC7afF,GACE,CACEkB,IAAK,oBACLpR,KAAM,CACJuW,OAL6CiX,EgC8a1BywE,GhCzaF3nF,MACjB6nF,WAAY3wE,EAAU0wE,gBAExB5tF,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAagE,YAE5B0K,GgCmaI,IAAM+6D,EAAS,CACbvb,OAAQn/C,GAAY0Q,OACpBqnB,sBAAuB/3B,GAAYyQ,sBACnCjP,cAAexB,GAAYwQ,cAC3B6uC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,iCACdE,iBAAkB,IAClBE,aAAa,GAAD,OAAKz/B,EAAL,aAAawyC,GACzB7S,UAAW,iBACXG,QAASitC,EACThtE,SAAS,GAAD,OAAKC,GACbC,UAAU,GAAD,OAAKuyC,GACdjsD,OAAQ,sBACRuW,UAAWnxB,SAAS4mB,IAEtB9oB,QAAQC,IAAI,2BAEZg1D,IACE,SAAC/nD,GAAD,OAAmBwjE,GAAoBxjE,EAAU,aACjDujE,QAIJlN,IAA+B,GhC3cb,IAAC7tD,EAA4Bod,GgCydnD,SAASivB,GAAsB30C,GAC7B,IAAKA,GAAOA,EAAIR,YACT,GAAIQ,EAAIS,KAAM,CACnB,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnC0tC,GAAap2B,GACTA,EAAYi3B,kBACd34B,GAAa,GACbzjB,QAAQC,IAAI,mBACZ0iG,GAAkB,IACTx9E,EAAY82B,4BACrBx4B,GAAa,GACbhJ,cAAc+wC,GAETpuD,GAAIumB,EAAQM,KAAK5uB,GAAaK,YAezC,OACE,oCACE,yBAAKf,UAAU,SACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACZ2uE,IACC,yBACE/hE,MAAO,CACLrM,QAAS,OACTsiF,eAAgB,SAChBC,WAAY,WAGd,kBAAC,GAAD,CAAWvyE,MAAOC,KAAgBC,SAAW,QAAU,SACrD,yBAAKzQ,UAAU,qBACb,mMAMF,6BACE,kBAAC,GAAD,CACE6P,QAAQ,KACR9G,QAAS,WACP6lE,IAA+B,GA1mBW,oCA2mB1C6G,KAJJ,YAiBd,kBAAC,GAAD,CACE7Z,aAAa,EACbD,OAAQgyC,EACR9xC,QAAS,kBAAM+xC,GAAc,KAE7B,yBAAK5tG,UAAU,WACb,yBAAKA,UAAU,aAAaE,IAAK6uG,KAAS3uG,IAAI,YAC9C,yBAAKJ,UAAU,eACb,2BAAOA,UAAU,WAAjB,sBACA,2BAAOA,UAAU,QAAjB,8EAON,8BAAU2I,SAAUgH,GAClB,yBACE3P,UACE,WACC2P,EAAY,QAAU,KACtBlH,EAAK,GAAK,WACVslG,EAAiB,YAAc,KAGlC,2BAAO/tG,UAAU,cAAjB,sBACA,2BAAOA,UAAU,WAAjB,uFAIA,2BAAOA,UAAU,YAAY+I,QAAS,kBAAM6kG,GAAc,KAA1D,eAGA,yBAAK5tG,UAAU,UACb,2BAAOA,UAAU,aAAasmB,IAE/BA,GACC,yBAAKtmB,UAAU,kBACb,kBAAC,GAAD,CACEstG,YArQd,SAAqBnvE,EAAgBwtE,GAGnC,GAFAtgG,QAAQC,IAAI,MAAOs2B,GACnBv2B,QAAQC,IAAI,OAAQ8oE,GACR,KAARxyC,QAAsBv9B,IAARu9B,GAA8B,KAATwyC,QAAwB/vE,IAAT+vE,EAAoB,CAAC,IAAD,EACxE/oE,QAAQC,IAAI,YAAa6yB,GACzB,IAEI6wE,EAAoB,CACtB5B,QACyB,QAAd,OAATjvE,QAAS,IAATA,OAAA,EAAAA,EAAWivE,eACY/oG,KAAd,OAAT85B,QAAS,IAATA,OAAA,EAAAA,EAAWivE,WACF,OAATjvE,QAAS,IAATA,GAAA,UAAAA,EAAWivE,eAAX,eAAoBroG,QAAS,EAF7B,OAGIo5B,QAHJ,IAGIA,OAHJ,EAGIA,EAAWivE,QACX,QAACjvE,QAAD,IAACA,OAAD,EAACA,EAAWovE,OAClB17E,sBAAqB,OAAEsM,QAAF,IAAEA,OAAF,EAAEA,EAAWgb,sBAClCxnB,cAAa,OAAEwM,QAAF,IAAEA,OAAF,EAAEA,EAAWvb,cAC1BkP,OAAM,OAAEqM,QAAF,IAAEA,OAAF,EAAEA,EAAWrM,OACnBqB,MAAK,OAAEgL,QAAF,IAAEA,OAAF,EAAEA,EAAWpM,MAClBxhB,MAAO,EACPyrD,OAAQ,EACRizC,cAAc,EACdzB,UAAWrvE,EAAUqvE,UACrBH,YAAalvE,EAAUkvE,aAEzBv+E,GAAa,GACT68E,IACFqD,EAAahzC,OAAb,OAAsB79B,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAW69B,OACjCgzC,EAAaz+F,MAAb,OAAqB4tB,QAArB,IAAqBA,OAArB,EAAqBA,EAAW5tB,MAChCy+F,EAAaC,cAAe,GhCzaP,SAACluF,EAA4Bod,GACxD,IAAIhK,EAAO,EACL0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAG1CqT,GACE,CACEkB,IAAK,sBACLpR,KAAM,CACJy8F,QAAO,OAAEjvE,QAAF,IAAEA,OAAF,EAAEA,EAAWivE,QACpBv7E,sBAAqB,OAAEsM,QAAF,IAAEA,OAAF,EAAEA,EAAWtM,sBAClCF,cAAa,OAAEwM,QAAF,IAAEA,OAAF,EAAEA,EAAWxM,cAC1BG,OAAM,OAAEqM,QAAF,IAAEA,OAAF,EAAEA,EAAWrM,OACnBqB,MAAK,OAAEgL,QAAF,IAAEA,OAAF,EAAEA,EAAWhL,MAClB5iB,MAAK,OAAE4tB,QAAF,IAAEA,OAAF,EAAEA,EAAW5tB,MAClByrD,OAAM,OAAE79B,QAAF,IAAEA,OAAF,EAAEA,EAAW69B,OACnBizC,aAAY,OAAE9wE,QAAF,IAAEA,OAAF,EAAEA,EAAW8wE,aACzBvwE,UAAWvK,GAIblT,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa2D,gBAE5B+K,GgCiZEmuF,CAAcV,GAAeQ,QAE7BpgC,IAA+B,IAmOrB3B,WAAY0B,GACZw+B,qBAAsBn+B,GACtBw9B,iBAAkB53B,GAClBhzC,IAAKA,EACLwyC,KAAMA,KAKXnH,KAAekhC,GACd,oCACE,yBAAKnuG,UAAU,eACb,2BACG,IADH,2EAOF,KAEHitE,IAAckhC,GACb,oCACE,yBAAKnuG,UAAU,eACb,2BACG,IADH,gEAEgE,OAIlE,MAEFyI,GACA,yBAAKzI,UAAU,sBACb,2BAAOA,UAAU,cAAjB,sCAGA,yBAAKA,UAAU,WACb,kBAAC,GAAD,CACEgP,KAAM6+F,EACN5mG,SAAU,kBAAMynG,MAChB/lG,SAnIM,WAAO,IAAD,MACtBA,GAAoB,EAQxB,OANsD,QAAzC,OAAXyY,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,6BAC0BzgD,KAAzC,OAAX+c,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BsJ,yBAD1B,OAEA1jC,SAFA,IAEAA,IAFA,UAEAA,GAAao6B,mBAFb,aAEA,EAA0BsJ,yBAE1Bn8C,GAAW,GAENA,EA0HiBo8C,OAKlB,6BACG8oD,GACC,yBAAK7tG,UAAU,cACb,2BAAOA,UAAU,YAAjB,0FAkBLyuB,GACC,yBAAKzuB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,SCvqBX0gF,I,kEAjGX,WAAYpvG,GAAa,IAAD,8BACpB,cAAMA,IAcVqI,QAAU,WAC0B,IAA5B,EAAKrI,MAAM8J,cAAsB,EAAKC,MAAMxJ,MAAMyE,QAAU,EAAKhF,MAAM8J,aACvE,EAAKE,SAAS,CAAEC,mBAAmB,IAEnC,EAAKD,SAAS,CAAEC,mBAAmB,KAnBnB,EAuBxB/C,SAAW,SAAC3G,GACR,EAAKyJ,SAAS,CAAEzJ,MAAOA,EAAO2J,iBAAa5F,IAC3C,EAAKtE,MAAMkH,UAAY,EAAKlH,MAAMkH,SAAS3G,IAzBvB,EA4BxB6J,eAAiB,SAACC,GACd,EAAKL,SAAS,CAAEzJ,MAAO8J,EAAK,EAAKrK,MAAM4J,WAAYM,YAAaG,EAAMJ,mBAAmB,IACrF,EAAKjK,MAAMoK,gBACX,EAAKpK,MAAMoK,eAAeC,IA/BV,EAkCxB7B,WAAa,WACT2B,YAAW,WACH,EAAKJ,MAAME,mBACX,EAAKD,SAAS,CAAEC,mBAAmB,IAEvC,EAAKjK,MAAMsI,QAAU,EAAKtI,MAAMsI,OAAO,EAAKyB,MAAMG,eACnD,MAtCH,EAAKH,MAAQ,CACTE,mBAAmB,EACnB1J,MAAOP,EAAMsG,cAAgB,GAC7B4D,iBAAa5F,GALG,E,8EASSoH,EAAmBC,GAC5CD,EAAUpF,eAAiBqF,EAAUpL,YAAoC+D,IAA3BoH,EAAUpF,cACxDkF,KAAKxB,SAAS,CAAEzJ,MAAOmL,EAAUpF,iB,+BAgC/B,IAAD,OACG2D,EAAsBuB,KAAKzB,MAA3BE,kBACJ2B,EAAU,EAERC,EACF,yBAAK5L,UAAU,YACX,yBAAKA,UAAU,aACX,2BAAOA,UAAU,cAAcuL,KAAKxL,MAAM8L,aAKlDQ,EAAkBd,KAAKxL,MAAM8K,QAAQoB,KAAI,SAAC7B,EAAW4B,GAErD,IAAMM,EAAelC,EAAK,EAAKrK,MAAM4J,WAErC,OADAgC,IAEI,yBAAKY,IAAKP,EAAGhM,UAAU,WAAW+I,QAAS,kBAAM,EAAKoB,eAAeC,KACjE,yBAAKpK,UAAU,aACX,2BAAOA,UAAU,UACZ,EAAK8J,MAAMG,cAAgBG,EAAO,uBAAGpK,UAAU,mBAAwB,4BACxE,0BAAMA,UAAU,aAAayM,wBAAyB,CAAEC,OAAQJ,WAOpF,OACI,yBAAKtM,UAAW,WAAagK,EAAoB,UAAY,KACzD,2BACIxI,KAAM+J,KAAKxL,MAAMyB,KACjBiH,GAAI8C,KAAKxL,MAAMyB,KACfgH,KAAK,OACLmE,UAAQ,EACR3M,UAAW,OAASuL,KAAKxL,MAAMC,WAAauL,KAAKxL,MAAMwG,UAAY,SAAW,IAC9EU,SAAU,SAACC,GAAD,OAAO,EAAKD,SAASC,EAAEE,OAAO9G,QACxC+H,OAAQkD,KAAKhD,WACbH,QAASmD,KAAKnD,QACd9H,MAAOiL,KAAKzB,MAAMxJ,MAClBqI,SAAU4C,KAAKxL,MAAM4I,SACrBR,YAAaoD,KAAKxL,MAAMoI,YACxBO,aAAc6C,KAAKxL,MAAM2I,aAAe6C,KAAKxL,MAAM2I,aAAe,MAClEkE,MAAOrB,KAAKxL,MAAM8M,YAAc,CAAEC,gBAAgB,OAAD,OAASC,KAAT,MAAqB,KAEzE/C,IAAsBqC,GAAmBd,KAAKxL,MAAM8L,WACjD,yBAAK7L,UAAU,cAAc2L,EAAUU,EAAkBT,GACzD,KACHL,KAAKxL,MAAMwG,WAAa,uBAAGvG,UAAU,iBAAiBuL,KAAKxL,MAAMwG,gB,GA5F3DyG,cC2TRoiG,GArTE,SAACrvG,GAEhB,IAAMijC,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GAX2B,EAaGlc,IAAM8G,UAAkB,GAb3B,mBAaxByC,EAbwB,KAabmf,EAba,OAcK1oB,IAAM8G,UAAkB,GAd7B,mBAcxBo/D,EAdwB,KAcZC,EAdY,OAeDnmE,IAAM8G,WAfL,mBAexBuhB,EAfwB,KAef7C,EAfe,OAiB7BxlB,IAAM8G,UAAkB,GAjBK,mBAgBEmiG,GAhBF,aAkBCjpG,IAAM8G,WAlBP,gCAmBG9G,IAAM8G,SAAqB,KAnB9B,mBAmBxBoiG,EAnBwB,KAmBbC,EAnBa,OAoBWnpG,IAAM8G,WApBjB,mBAoBxBsiG,EApBwB,KAoBTC,EApBS,OAsBLrpG,IAAM8G,SAAqB,IAtBtB,mBAsBxB+pF,EAtBwB,KAsBjBC,EAtBiB,KAuBzBloE,EAAUC,cAEhB7oB,IAAM6H,WAAU,WACd6gB,GAAa,GACbinC,GACE25C,EACAtuF,GAAYwQ,cACZ7gB,GAAOW,+BAER,IAGHtL,IAAM6H,WAAU,WACd,IAAMiL,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAac,eAAeT,UACvD4W,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,KAC1B,IAEH,IAAMw2F,EAA+B,SAACj3F,G/CnDG,IACzCsI,EACA4uF,G+CkDOl3F,GAAOA,EAAIR,OACd6W,GAAa,GAEblD,EAAWnT,EAAIR,SACO,IAAbQ,EAAIS,MACb4V,GAAa,GACbugF,EAA4B52F,EAAIS,MAC3BT,EAAIS,O/C1Db6H,E+C4DQ1N,E/C3DRs8F,E+C4DQvuF,GAAYwQ,c/ClDpB/Q,GACE,CACEkB,IAAK,oCACLpR,KAAM,CACJ0f,SAAUs/E,EACVlmF,S+C+CE1Y,GAAOU,yB/C7CXwP,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAagB,4BAE5B0N,K+C4CE+N,GAAa,IAIXzb,EAA6B,SAACoF,GAClC,IAAKA,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,YACV,GAAIQ,EAAIS,KAAM,CACnB,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnC7N,QAAQC,IAAI,yCAA0CklB,GAClDA,GACFi/E,EAAiBj/E,EAAYo/E,cAE/B,IAGMC,EAHkBr/E,EAAYo/E,aAAanmG,QAC/C,SAACyU,GAAD,MAA6B,MAAjBA,EAAE4xF,cAE0B7jG,KAAI,SAACD,EAAQjB,GAAT,OAC5CiB,EAAE+jG,gBAAgB9jG,KAAI,SAAC7B,GAAD,OACpBwlB,OAAOogF,OAAO,GAAI5lG,EAAM,CAAEyE,SAAS,UAGvCqoF,EAAS,YAAI2Y,MAyEXI,EAAiB,SAACx3F,GACtB,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf6W,GAAa,QACR,GAAIrW,EAAIS,KAAM,CACnB4V,GAAa,GACby9C,GAAc,GACd3qB,GAAqBlhD,GAAaK,UAClC42B,GAAW,CAAEG,OAAQ,mBAAoBlpB,MAAO,kBAGhD,IAAMsK,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAac,eAAeC,gBACvDkW,mBAAoB,GACpBpM,aACAC,aACAC,eACAmM,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGtB8H,GAA2BxgB,GAI3BihB,GAAiBC,UACfO,GAAgBvC,aAAac,eAAeC,iBAG9CnK,EAAQM,KAAKuyB,QAUjB,OACE,yBAAK7hD,UAAW,kBAAoB2P,EAAY,QAAU,KACxD,8BACE,8BAAUhH,SAAUgH,GAClB,yBAAK3P,UAAU,eACb,yBAAKA,UAAU,WACb,kEAEF,yBAAKA,UAAU,cACb,sIAOHwvG,GACCA,EAAcvjG,KAAI,SAAC3C,EAAWyB,GAC5B,OACE,yBAAK/K,UAAU,QAAQuM,IAAKxB,GAC1B,yBAAK/K,UAAU,mBACb,+BAAQsJ,EAAK4mG,uBAEM,MAApB5mG,EAAKwmG,WACJ,yBACE9vG,UACE,YACC+K,IAAUykG,EAAczqG,OAAS,GAClCyqG,EAAcA,EAAczqG,OAAS,GAAG+qG,WACpC,WACA,KAGN,kBAAC,GAAD,CACEtuG,KAAM,QAAU8H,EAAK6mG,WACrBtmG,aAAc,EACdgB,QAASvB,EAAKymG,gBACdpmG,UAAU,oBACVxB,YACE,SACAmB,EAAK4mG,qBAAqB3qG,QAAQ,OAAQ,IAE5CsG,UAAU,mBACVgB,aAAa,EACb7M,UAAU,cACVmK,eAAgB,SAACT,GAAD,OA7Jd,SAACxC,GACvB,IAAMkpG,EAAM,YAAOd,GACHA,EAAU11D,MAAK,SAAUy2D,GACvC,OAAOA,EAAC,aAAmBnpG,EAAE2jB,cAQ7BulF,EAHiBd,EAAUtkG,WACzB,SAACghB,GAAD,OAAcA,EAAInB,YAAc3jB,EAAE2jB,eAEjB3jB,EALnBkpG,EAAO9gF,KAAKpoB,GAOdqoG,EAAaa,GAgJgCE,CAAgB5mG,OAI7C,yBAAK1J,UAAU,qBACZi3F,GACCA,EAAMhrF,KAAI,SAACskG,EAAkBxlG,GAC3B,GACEwlG,EAAYxlG,GAAO8f,aAAevhB,EAAK6mG,WAEvC,OACE,yBAAKnwG,UAAU,eAAeuM,IAAKxB,GACjC,kBAAC,GAAD,CACEzB,KAAMinG,EACNtpG,SAAU,SAACqC,GAAD,OAjErB,SAACA,EAAWyB,GAC/B,IAAMylG,EAAO,YAAOvZ,GACpBuZ,EAAQzlG,GAASzB,EACjB4tF,EAASsZ,GA8DyClrF,CAAahc,EAAMyB,eAa9D0jB,GACC,yBAAKzuB,UAAU,kBACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAOhB,yBAAKzuB,UAAU,kBACb,kBAAC,GAAD,CACE2P,UAAW28D,EACXz8D,QAAQ,SACR9G,QA9LS,WACnB,IAAM0nG,EAAkB,GAClBC,EAAoB,GAEpBC,EAAqBrB,EAAU7lG,QAAO,SAACw3C,GAAD,OAA4B,GAAhBA,EAAEp2B,cAKpD+lF,GAHmB3Z,EAAMhrF,KAAI,SAAC7B,GAAD,OACjCqmG,EAAWnhF,KAAKllB,EAAKX,QAAO,SAACyU,GAAD,OAA0B,IAAdA,EAAErP,eAEf,GAAGgiG,OAAOC,MAAM,GAAIL,IAEhB,GAA7BE,EAAmB5rG,QACrB4rG,EAAmB1kG,KAAI,SAAC7B,GAAD,OACrBsmG,EAAaphF,KAAK,CAChB3d,SAAUyP,GAAYwQ,cACtB8M,UAAW,EACXqyE,SAAU3mG,EAAK0gB,SACfkmF,WAAY5mG,EAAKygB,WACjBomF,SAAU,EACVvnF,SAAU3Y,GAAOU,6BAKa,IAAhCm/F,EAAqB7rG,QACvB6rG,EAAqB3kG,KAAI,SAAC7B,GAAD,OACvBsmG,EAAaphF,KAAK,CAQhB3d,SAAUyP,GAAYwQ,cACtB8M,UAAW,EACXqyE,SAAU3mG,EAAK0gB,SACfkmF,WAAY5mG,EAAKygB,WACjBomF,SAAU,EACVvnF,SAAU3Y,GAAOU,6B/CxHiB,SAC1CsP,EACA4uF,EACAjmF,EACAgnF,GAEA7vF,GACE,CACEkB,IAAK,qCACLpR,KAAM,CACJ0f,SAAUs/E,EACVlmF,SAAUC,EACVwnF,oBAAqBR,GAEvBzvF,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaiB,6BAE5ByN,G+C0GAowF,CACElB,EACA7uF,GAAYwQ,cACZ7gB,GAAOU,wBACPi/F,GAEF5hF,GAAa,WC5KJsiF,I,MAAsB,SACjCrwF,EACAswF,GAEAxwF,GACE,CACEkB,IAAK,0BACLd,OAAQ,OACRtQ,KAAM0gG,EACNxvF,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa6E,oBAE5B6J,KA8DG,ICmEHuwF,GClISC,GAAsB,CACjCtmF,kBAAc5mB,EACdqf,aAASrf,EACT6e,UAAM7e,EACNszD,gBAAYtzD,GAyYCmtG,GAtY8C,SAACzxG,GAAW,IAAD,sBAC1BmN,mBAC1CnN,EAAMooE,gBAF8D,mBAC/DA,EAD+D,KAC/CC,EAD+C,OAIlChiE,IAAM8G,SACxCnN,EAAMqrB,YAL8D,mBAI/DA,EAJ+D,KAInDC,EAJmD,OAQ1CjlB,IAAM8G,SAAN,eACvBnN,EAAMirB,kBAT2D,mBAQ/DS,EAR+D,KAQvDC,EARuD,KA0BtE,SAASC,EAAoBpf,EAA+BjM,GAE1D,OAAQiM,GACN,IAAK,aAUL,IAAK,iBACHxM,EAAM0xG,oBAAN,2BACKrmF,GADL,6BAEM7e,GAAQjM,EAAMyE,OAAS,EAAIzE,EAAQ,MAEzCP,EAAM2xG,kBAAN,2BACKjmF,GADL,mBAEGlf,OAAMlI,KAET,MACF,IAAK,cAUL,IAAK,eACHtE,EAAM0xG,oBAAN,2BACKrmF,GADL,6BAEM7e,GAAQjM,EAAQ41B,KAAO51B,GAAO61B,OAAO,cAAgB,MAE3Dp2B,EAAM2xG,kBAAN,2BACKjmF,GADL,mBAEGlf,OAAMlI,MAKf,SAASsoB,EAAkBpgB,EAAa0L,GACtC,OAAQ1L,GACN,IAAK,aACHmf,EAAU,2BACLD,GADI,IAEPksC,YAAiB,OAAL1/C,QAAK,IAALA,OAAA,EAAAA,EAAO7T,UACf,oEACAC,KAENtE,EAAM2xG,kBAAN,2BACKjmF,GADL,mBAEGlf,GAAW,OAAL0L,QAAK,IAALA,OAAA,EAAAA,EAAO7T,UACV,oEACAC,KAEN,MACF,IAAK,iBACHqnB,EAAU,2BACLD,GADI,mBAENlf,GAAW,OAAL0L,QAAK,IAALA,OAAA,EAAAA,EAAO7T,UACV,oEACAC,KAENtE,EAAM2xG,kBAAN,2BACKjmF,GADL,mBAEGlf,GAAW,OAAL0L,QAAK,IAALA,OAAA,EAAAA,EAAO7T,UACV,oEACAC,MAKZ,SAASstG,EAAUrnG,GACZ8gB,EAAWwmF,aACdlmF,EAAU,2BAAKD,GAAN,IAAcmmF,YAAa,yBAGxC,SAASC,EAAUvnG,GACZ8gB,EAAW0mF,cACdpmF,EAAU,2BAAKD,GAAN,IAAcqmF,aAAc,yBAlGzC1rG,IAAM6H,WAAU,WACd,GACE+M,KAAK2G,UAAUyJ,KAAgBpQ,KAAK2G,UAAL,OAAe5hB,QAAf,IAAeA,OAAf,EAAeA,EAAOqrB,aACrDpQ,KAAK2G,UAAU8J,KAAYzQ,KAAK2G,UAAL,OAAe5hB,QAAf,IAAeA,OAAf,EAAeA,EAAOirB,iBACjD,CACA3f,QAAQC,IAAI,YAAZ,OAAyBvL,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAOqrB,YAChC,IAAI2mF,EAAM,OAAGhyG,QAAH,IAAGA,OAAH,EAAGA,EAAOqrB,WAEpBC,EAAc0mF,GACdrmF,EAAU3rB,EAAMirB,iBAElBo9C,EAAkBroE,EAAMooE,kBACvB,CAACpoE,EAAMooE,eAAgBpoE,EAAMqrB,aAsIhC,OACE,0BAAMprB,UAAU,oBACd,oCACE,6BAEGmoE,EAAepjE,OAAS,GACvB,yBAAK/E,UAAU,OACb,2BAAOA,UAAU,WAAjB,eACA,kBAAC,GAAD,CACEoE,UAAQ,EACRiC,aAAY,OAAE+kB,QAAF,IAAEA,OAAF,EAAEA,EAAYusC,WAC1BxvD,YAAY,cACZ3G,KAAK,cACLgH,KAAK,OACLG,WAAU5I,EAAMiyG,YAAajyG,EAAMiyG,WACnC/qG,SAAU,SAAC3G,GAAD,OAAWqrB,EAAoB,aAAcrrB,IACvD+H,OAAQ,SAAC4P,GAAD,OAAW0U,EAAkB,aAAc1U,IACnD1R,UAAWklB,EAAOksC,cAIJ,iBAAnBwQ,GACC,oCACE,yBAAKnoE,UAAU,OACb,2BAAOA,UAAU,WAAjB,kBACA,kBAAC,GAAD,CACEoE,UAAQ,EACRiC,aAAY,OAAE+kB,QAAF,IAAEA,OAAF,EAAEA,EAAYwS,eAC1Bz1B,YAAY,WACZ3G,KAAK,YACLmG,UAAW,GACXa,KAAK,OACLG,WAAU5I,EAAMiyG,YAAajyG,EAAMiyG,WACnC/qG,SAAU,SAAC3G,GAAD,OACRqrB,EAAoB,iBAAkBrrB,IAExC+H,OAAQ,SAAC4P,GAAD,OAAW0U,EAAkB,iBAAkB1U,IACvD1R,UAAWklB,EAAOmS,mBAQN,oBAAnBuqC,GACC,oCACE,yBAAKnoE,UAAU,OACb,2BAAOA,UAAU,WAAjB,0BACA,kBAAC,GAAD,CACEoE,UAAQ,EACRqD,UAAQ,EACRpB,aAAY,OAAE+kB,QAAF,IAAEA,OAAF,EAAEA,EAAYwS,eAC1Bz1B,YAAY,WACZ3G,KAAK,yBACLgH,KAAK,OACLvB,SAAU,SAAC3G,GAAD,OACRqrB,EAAoB,iBAAkBrrB,IAExC+H,OAAQ,SAAC4P,GAAD,OAAW0U,EAAkB,iBAAkB1U,IACvD1R,UAAWklB,EAAOmS,kBAGtB,yBAAK59B,UAAU,OACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CACE60B,aACY,OAAVzJ,QAAU,IAAVA,OAAA,EAAAA,EAAYwmF,aACR,IAAI58E,KAAJ,OAAS5J,QAAT,IAASA,GAAT,UAASA,EAAYwmF,mBAArB,iBAAS,EAAyBttF,MAAM,YAAxC,aAAS,EAAqC2tF,gBAC9C5tG,EAEN8wB,aAAc,SAACzrB,GAAD,OACZiiB,EAAoB,cAAejiB,IAErCstB,gBAAiB,uBACjB5B,QACE,IAAIJ,MAAK,IAAIA,MAAOivB,aAAY,IAAIjvB,MAAOS,gBAE7CptB,OAAQspG,EACRx6E,UAAS1L,EAAOmmF,eAGnBnmF,EAAOmmF,aACN,uBAAG5xG,UAAU,iBAAiByrB,EAAOmmF,aAEvC,yBAAK5xG,UAAU,OACb,2BAAOA,UAAU,WAAjB,kBACA,kBAAC,GAAD,CAEE60B,aACY,OAAVzJ,QAAU,IAAVA,OAAA,EAAAA,EAAY0mF,cACR,IAAI98E,KAAJ,OACE5J,QADF,IACEA,GADF,UACEA,EAAY0mF,oBADd,iBACE,EAA0BxtF,MAAM,YADlC,aACE,EAAsC2tF,gBAExC5tG,EAEN8wB,aAAc,SAACzrB,GAAD,OACZiiB,EAAoB,eAAgBjiB,IAEtCstB,gBAAiB,wBACjBH,QACE,IAAI7B,MAAK,IAAIA,MAAOivB,aAAY,IAAIjvB,MAAOS,gBAE7CptB,OAAQwpG,EACR16E,UAAS1L,EAAOqmF,gBAGnBrmF,EAAOqmF,cACN,uBAAG9xG,UAAU,iBAAiByrB,EAAOqmF,eAMvB,aAAnB3pC,GACC,oCACG,IACD,yBAAKnoE,UAAU,OACb,2BAAOA,UAAU,WAAjB,YACA,kBAAC,GAAD,CACEoE,UAAQ,EACRqD,UAAQ,EACRpB,aAAY,OAAE+kB,QAAF,IAAEA,OAAF,EAAEA,EAAYwS,eAC1Bz1B,YAAY,WACZ3G,KAAK,WACLgH,KAAK,OACLvB,SAAU,SAAC3G,GAAD,OACRqrB,EAAoB,iBAAkBrrB,IAExC+H,OAAQ,SAAC4P,GAAD,OAAW0U,EAAkB,iBAAkB1U,IACvD1R,UAAWklB,EAAOmS,kBAGtB,yBAAK59B,UAAU,OACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CACE60B,aACY,OAAVzJ,QAAU,IAAVA,OAAA,EAAAA,EAAYwmF,aACR,IAAI58E,KAAJ,OAAS5J,QAAT,IAASA,GAAT,UAASA,EAAYwmF,mBAArB,iBAAS,EAAyBttF,MAAM,YAAxC,aAAS,EAAqC2tF,gBAC9C5tG,EAEN8wB,aAAc,SAACzrB,GAAD,OACZiiB,EAAoB,cAAejiB,IAErCstB,gBAAiB,uBACjB5B,QACE,IAAIJ,MAAK,IAAIA,MAAOivB,aAAY,IAAIjvB,MAAOS,gBAE7CptB,OAAQspG,EACRx6E,UAAS1L,EAAOmmF,eAGnBnmF,EAAOmmF,aACN,uBAAG5xG,UAAU,iBAAiByrB,EAAOmmF,cAMvB,aAAnBzpC,GACC,oCACE,yBAAKnoE,UAAU,OACb,2BAAOA,UAAU,WAAjB,mBACA,kBAAC,GAAD,CACEoE,UAAQ,EACRqD,UAAQ,EACRpB,aAAY,OAAE+kB,QAAF,IAAEA,OAAF,EAAEA,EAAYwS,eAC1Bz1B,YAAY,WACZ3G,KAAK,kBACLgH,KAAK,OACLvB,SAAU,SAAC3G,GAAD,OACRqrB,EAAoB,iBAAkBrrB,IAExC+H,OAAQ,SAAC4P,GAAD,OAAW0U,EAAkB,iBAAkB1U,IACvD1R,UAAWklB,EAAOmS,kBAGtB,yBAAK59B,UAAU,OACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CACC60B,aACW,OAAVzJ,QAAU,IAAVA,OAAA,EAAAA,EAAYwmF,aACR,IAAI58E,KAAJ,OAAS5J,QAAT,IAASA,GAAT,UAASA,EAAYwmF,mBAArB,iBAAS,EAAyBttF,MAAM,YAAxC,aAAS,EAAqC2tF,gBAC9C5tG,EAEJ8wB,aAAc,SAACzrB,GAAD,OACZiiB,EAAoB,cAAejiB,IAErCstB,gBAAiB,uBACjB5B,QACE,IAAIJ,MAAK,IAAIA,MAAOivB,aAAY,IAAIjvB,MAAOS,gBAE7CptB,OAAQspG,EACRx6E,UAAS1L,EAAOmmF,eAGnBnmF,EAAOmmF,aACN,uBAAG5xG,UAAU,iBAAiByrB,EAAOmmF,aAEvC,yBAAK5xG,UAAU,OACb,2BAAOA,UAAU,WAAjB,kBACA,kBAAC,GAAD,CACG60B,aACW,OAAVzJ,QAAU,IAAVA,OAAA,EAAAA,EAAY0mF,cACR,IAAI98E,KAAJ,OACE5J,QADF,IACEA,GADF,UACEA,EAAY0mF,oBADd,iBACE,EAA0BxtF,MAAM,YADlC,aACE,EAAsC2tF,gBAExC5tG,EAEN8wB,aAAc,SAACzrB,GAAD,OACZiiB,EAAoB,eAAgBjiB,IAEtCstB,gBAAiB,wBACjBH,QACE,IAAI7B,MAAK,IAAIA,MAAOivB,aAAY,IAAIjvB,MAAOS,gBAE7CptB,OAAQwpG,EACR16E,UAAS1L,EAAOqmF,gBAGnBrmF,EAAOqmF,cACN,uBAAG9xG,UAAU,iBAAiByrB,EAAOqmF,mBDjV/CI,GAAyB,CAC7B,CACE3xG,QAAS,eACTD,MAAO,KAET,CACEC,QAAS,kBACTD,MAAO,KAET,CACEC,QAAS,WACTD,MAAO,KAET,CACEC,QAAS,WACTD,MAAO,MAGL6xG,GAAyB,CAC7B,CACE5xG,QAAS,eACTD,MAAO,IAET,CACEC,QAAS,kBACTD,MAAO,IAET,CACEC,QAAS,WACTD,MAAO,IAET,CACEC,QAAS,WACTD,MAAO,KAIEyhC,GAAyB,CACpC9W,aAAc,GACdtH,KAAM,GACNuI,QAAS,GACTD,SAAU,GACVJ,QAAS,GACTjI,MAAO,GACPP,KAAM,GACN+I,YAAa,EACbD,UAAW,EACXwrC,WAAY,IAGDl1B,GAAiC,CAC5Ch6B,GAAI,GACJquB,SAAS,EACT4L,UAAW,EACXC,cAAc,EACd/F,SAAU,GACVgG,UAAU,EACVC,OAAQ,GACR1C,iBAAkB,GAClB/C,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV8F,OAAQ,GACRpF,eAAe,GAEJ0mC,GAAoC,CAC/C37D,GAAI,GACJquB,SAAS,EACT4L,UAAW,EACXC,cAAc,EACd/F,SAAU,GACVgG,UAAU,EACVC,OAAQ,GACR1C,iBAAkB,GAClB/C,mBAAoB,GACpBN,WAAY,EACZE,SAAU,GACV8F,OAAQ,GACRi8B,WAAW,EACXrhC,eAAe,GAkpIF00E,GA/oIM,SAACryG,GAAgB,IAAD,MACOqG,IAAM8G,WADb,mBAC5BmlG,EAD4B,KACbC,EADa,OAEmBlsG,IAAM8G,WAFzB,mBAE5BqlG,EAF4B,KAEPC,EAFO,OAGepsG,IAAM8G,WAHrB,mBAG5BulG,EAH4B,KAGTC,EAHS,OAKjCtsG,IAAM8G,WAL2B,mBAI5BylG,EAJ4B,KAIHC,EAJG,OAMDxsG,IAAM8G,SAAe,IAAI8nB,MANxB,gCAOD5uB,IAAM8G,UAAkB,IAPvB,mBAO5ByC,EAP4B,KAOjBmf,EAPiB,OAQL1oB,IAAM8G,WARD,mBAQ5BuhB,EAR4B,KAQnB7C,EARmB,OASa1e,mBAAc,IAT3B,mBAS5B6gE,EAT4B,KASVC,EATU,OAUmB9gE,mBAAc,IAVjC,mBAU5B2lG,EAV4B,KAUPC,EAVO,OAWa5lG,mBAAc,IAX3B,mBAW5B+gE,EAX4B,KAWVC,EAXU,OAYmBhhE,mBAAc,IAZjC,mBAYP6lG,GAZO,aAaG3sG,IAAM8G,UAAkB,GAb3B,mBAa5B88D,EAb4B,KAafC,GAbe,QAcD/8D,oBAAkB,GAdjB,qBAc5Bi5D,GAd4B,MAcjBC,GAdiB,SAeOl5D,oBAAkB,GAfzB,qBAe5Bm5D,GAf4B,MAebC,GAfa,SAgBWlgE,IAAM8G,UAAkB,GAhBnC,qBAgB5Bg9D,GAhB4B,MAgBXC,GAhBW,SAiBK/jE,IAAM8G,WAjBX,qCAkBW9G,IAAM8G,YAlBjB,qCAmBGA,mBAAc,KAnBjB,qCAoBSA,mBAAiB,KApB1B,qBAoB5Bi7D,GApB4B,MAoBZC,GApBY,SAqBiBl7D,mBAAiB,IArBlC,qBAqB5Bm7D,GArB4B,MAqBRC,GArBQ,SAuBSp7D,mBAAQ,eAC/Cu1B,KAxB8B,qBAuB5BklC,GAvB4B,MAuBZC,GAvBY,SA2BjC16D,mBAAQ,eAAuBk3D,KA3BE,qBA0B5BmD,GA1B4B,MA0BNC,GA1BM,SA4BSt6D,mBAAQ,eAC/Cu1B,KA7B8B,qBA4B5BolC,GA5B4B,MA4BZC,GA5BY,SA+BqB56D,mBAAQ,eAC3Dk3D,KAhC8B,qBA+B5BqD,GA/B4B,MA+BNC,GA/BM,SAkCathE,IAAM8G,SAAN,eAC3C60B,KAnC8B,qBAkC5BuE,GAlC4B,MAkCVC,GAlCU,SAqCuBngC,IAAM8G,SAAN,eACnD60B,KAtC4B,qBAqC5B2E,GArC4B,MAqCLC,GArCK,SAwCKvgC,IAAM8G,SAAN,eAGnCqkG,KA3C8B,qBAwC5B7pE,GAxC4B,MAwCdC,GAxCc,SA6CKvhC,IAAM8G,SAAN,eAGnCqkG,KAhD8B,qBA6C5B3pE,GA7C4B,MA6CdC,GA7Cc,SAkDa36B,oBAAkB,GAlD/B,qBAkDVg/D,IAlDU,gBAmDah/D,oBAAkB,GAnD/B,qBAmDVi/D,IAnDU,gBAoDG/lE,IAAM8G,SAAiB,IApD1B,qBAoDfi+D,IApDe,gBAqDW/kE,IAAM8G,SAAiB,IArDlC,qBAqDXk+D,IArDW,gBAsDWhlE,IAAM8G,UAAkB,GAtDnC,qBAsD5Bg1B,GAtD4B,MAsDXgG,GAtDW,SAuDP9hC,IAAM8G,SAAc,CAC9Co5B,iBAAkB,GAClBI,sBAAuB,KAzDU,qBAuD5Bjb,GAvD4B,MAuDpBC,GAvDoB,SA2DGtlB,IAAM8G,UAAkB,GA3D3B,qBA2D5B8lG,GA3D4B,MA2DfC,GA3De,SA4Da7sG,IAAM8G,UAAkB,GA5DrC,qBA4D5BgmG,GA5D4B,MA4DVC,GA5DU,SA8DjC/sG,IAAM8G,UAAkB,GA9DS,qBA6D5BkmG,GA7D4B,MA6DVC,GA7DU,SA+DMjtG,IAAM8G,UAAkB,GA/D9B,qBA+D5BomG,GA/D4B,MA+DbC,GA/Da,SAgEMntG,IAAM8G,UAAkB,GAhE9B,qBAgE5BsmG,GAhE4B,MAgEbC,GAhEa,SAkEjCrtG,IAAM8G,UAAkB,GAlES,qBAiE5BwmG,GAjE4B,MAiELC,GAjEK,MAoE7B3kF,GAAUC,cAoBhB7oB,IAAM6H,WAAU,WACd,IDvNF8S,EACA4Q,ECsNQtD,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAK5D2M,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MACnDiQ,EAAwBsD,cAAgBvQ,GAAYwQ,cACpDvD,EAAwBmlB,IAAMpyB,GAAYoyB,IA5BzB,WAAO,IAAD,QACnBrf,EAAS,EAEP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAE1C,IAAM8lF,EAAe,CACnB1wE,cAAa,OAAExB,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BiB,kBAA6B,OAAXzR,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,iBAA1B,OACdpgC,SADc,IACdA,IADc,UACdA,GAAao6B,mBADC,aACd,EAA0BgG,gBADZ,OAEdpgC,SAFc,IAEdA,QAFc,EAEdA,GAAaogC,gBACjB1uB,aAAc,GACdqB,OAAM,UAAEA,SAAF,aAAE,EAAQ3mB,WAChB8zB,WAAU,OAAElgB,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0BxoB,YAExCoO,IAAc,cAAUkyD,GAYxBC,GACA/xE,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjB3b,KDrOFqO,ECyOoB4tB,GDxOpBhd,ECwOmCvQ,GAAYwQ,cDtO/C/Q,GACE,CACEkB,IAAK,kBACLd,OAAQ,OACRtQ,KAAK,CACHghB,cAAeA,GAEjB9P,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAagF,mBAE5B0J,GC4NA+N,GAAa,GACboQ,GAAqBo2C,GAAgBl0D,GAAYwQ,iBAMhD,IACH,IAAMlf,GAAqB,WACzBssB,IAAiB,SAACvmB,GAChB,GAAIA,EAAIS,KAAM,CACZ,IAAIg/C,EAAUl9C,KAAKC,MAAMxC,EAAIS,MACvB09D,EAAiB1e,EAAQzuD,QAC7B,SAACyU,GAAD,MAAmC,iCAAvBA,EAAEgiB,oBAEV22C,EAAiB3e,EAAQzuD,QAC7B,SAACyU,GAAD,MAAmC,4BAAvBA,EAAEgiB,oBAGhB,GADA70B,QAAQC,IAAI,OAAQsrE,EAAgB,MAAOC,GACvCD,EAAe7xE,OAAQ,CACzB,IAAIwyE,EAAe,eAAQ1P,IAC3B0P,EAAgBp3C,iBAAmB,+BACnCo3C,EAAgBn6C,mBACdw5C,EAAe,GAAGz5C,mBACpB2qC,GAAkByP,OACb,CACL,IAAIA,EAAe,eAAQ1P,IAC3B0P,EAAgBp3C,iBAAmB,+BACnCo3C,EAAgBn6C,mBAAqB,IACrC0qC,GAAkByP,GAEpB,GAAIV,EAAe9xE,OAAQ,CACzB,IAAIuyE,EAAe,eAAQ3P,IAC3B2P,EAAgBn3C,iBAAmB,0BACnCm3C,EAAgBl6C,mBACdy5C,EAAe,GAAG15C,mBACpByqC,GAAkB0P,OAGrBl2D,GAAYwQ,gBAEjB,SAAS+c,GAAcl2B,GACrB,IAEE,GADAqW,GAAa,IACRrW,GAAOA,EAAIR,MACd6W,GAAa,GACblD,EAAWnT,EAAIR,WACV,CACL,GAAIQ,EAAIS,KAAM,CACZ,IAAIsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACjC,GAAIsX,EAAYojF,eAAgB,CAAC,IAAD,EACxBvlF,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBsD,cAAgBvQ,GAAYwQ,cACpDvD,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBwD,sBACtBrB,EAAYwkB,sBAEd3mB,EAAwB6T,gBACe,OAArC1R,EAAYqjF,2BACyBxvG,IAArCmsB,EAAYqjF,sBACRrjF,EAAYqjF,qBAI0B,KAA7B,OAAXrjF,QAAW,IAAXA,GAAA,UAAAA,EAAamN,sBAAb,eAA6B54B,UAC/BspB,EAAwBmD,SAAWhB,EAAYmN,eAC3CnN,EAAYmN,eAAekmB,OAAO,GAClC,GACJziC,GAAYyM,gBAAgB2D,SAC1BhQ,OAAOC,aAAa6M,QAClB,eACAlN,GAAYyM,gBAAgB2D,UAEhC8/E,GAAgB9gF,EAAYmN,eAAekmB,OAAO,GAClDriC,OAAOC,aAAa6M,QAAQ,eAAgBgjF,KAG9C,IAAIwC,EACFtjF,EAAYojF,eAAezjE,2BAC7B,GAAI2jE,EAAe,CAAC,IAAD,kBAmCf,EAlCIrjE,EAAU,eAAQnK,IA+BxB,GA9BAmK,EAAWxlB,cACR6oF,EAAc1jE,uBAAyB,KACvC0jE,EAAcpjE,uBAAyB,KACvCojE,EAAcnjE,uBAAyB,KACvCmjE,EAAcljE,uBAAyB,IAC1CviB,EAAwBpD,aAAewlB,EAAWxlB,cACT,IAArCuF,EAAYqjF,uBACdxlF,EAAwB4T,YAAcwO,EAAWxlB,cACnDwlB,EAAWptB,KAAOywF,EAAcjjE,cAChCJ,EAAW9sB,KAAOmwF,EAAchjE,cAChCL,EAAW5kB,QAAUioF,EAAc/iE,iBACnCN,EAAWxkB,SAAW6nF,EAAc9iE,kBACpCP,EAAW7sB,MAAQkwF,EAAc7iE,eACjCR,EAAWtkB,UAAY2nF,EAAc5iE,mBACrCT,EAAWvkB,QAAU4nF,EAAc3iE,iBACnCV,EAAWrkB,YAAc0nF,EAAc1iE,qBACvCX,EAAWknB,WAAam8C,EAAc/O,aACtCt0D,EAAW7S,eAAiBk2E,EAAcC,eAC1CtjE,EAAWmhE,aAA2B,OAAbkC,QAAa,IAAbA,OAAA,EAAAA,EAAeE,mBAAf,OACrBF,QADqB,IACrBA,GADqB,UACrBA,EAAeE,yBADM,iBACrB,EACI1vF,MAAM,YAFW,iBACrB,EAEI2tF,iBAHiB,aACrB,EAGI5sF,KAAK,KACT,GACJorB,EAAWqhE,cAA4B,OAAbgC,QAAa,IAAbA,OAAA,EAAAA,EAAex2E,oBAAf,OACtBw2E,QADsB,IACtBA,GADsB,UACtBA,EAAex2E,0BADO,iBACtB,EACIhZ,MAAM,YAFY,iBACtB,EAEI2tF,iBAHkB,aACtB,EAGI5sF,KAAK,KACT,GAEwC,KAA7B,OAAbyuF,QAAa,IAAbA,GAAA,UAAAA,EAAeC,sBAAf,eAA+BhvG,UAA/B,OACA+uG,QADA,IACAA,GADA,UACAA,EAAeC,sBADf,aACA,EAA+B9oG,SAAS,SAExCwlC,EAAW7S,eACiC,KAA7B,OAAbk2E,QAAa,IAAbA,GAAA,UAAAA,EAAeC,sBAAf,eAA+BhvG,QAA/B,oBACiB+uG,EAAcC,gBAD/B,OAEID,QAFJ,IAEIA,OAFJ,EAEIA,EAAeC,sBACdtjE,EAAWqhE,oBACXrhE,EAAWmhE,YAE0B,MAA7B,OAAbkC,QAAa,IAAbA,GAAA,UAAAA,EAAeC,sBAAf,eAA+BhvG,gBAC1B0rC,EAAWqhE,aAGpBvrE,GAAoBkK,GAGtB,IAAIwjE,EACFzjF,EAAYojF,eAAevjE,gCAC7B,GAAI4jE,EAAgB,CAAC,IAAD,kBAgChB,EA/BI5iE,EAAU,eAAQ3K,IA4BxB,GA3BA2K,EAAWpmB,aACTgpF,EAAe1jE,2BACf0jE,EAAe3iE,4BACd2iE,EAAe1iE,4BAA8B,KAC7C0iE,EAAeziE,4BAA8B,IAChDH,EAAWhuB,KAAO4wF,EAAexiE,mBACjCJ,EAAW1tB,KAAOswF,EAAeviE,mBACjCL,EAAWxlB,QAAUooF,EAAetiE,sBACpCN,EAAWplB,SAAWgoF,EAAeriE,uBACrCP,EAAWztB,MAAQqwF,EAAepiE,oBAClCR,EAAWllB,UAAY8nF,EAAeniE,wBACtCT,EAAWnlB,QAAU+nF,EAAeliE,sBACpCV,EAAWjlB,YAAc6nF,EAAejiE,0BACxCX,EAAWsmB,WAAas8C,EAAelP,aACvC1zD,EAAWzT,eAAiBq2E,EAAeF,eAC3C1iE,EAAWugE,aAA4B,OAAdqC,QAAc,IAAdA,OAAA,EAAAA,EAAgBD,mBAAhB,OACrBC,QADqB,IACrBA,GADqB,UACrBA,EAAgBD,yBADK,iBACrB,EACI1vF,MAAM,YAFW,iBACrB,EAEI2tF,iBAHiB,aACrB,EAGI5sF,KAAK,KACT,GACJgsB,EAAWygE,cAA6B,OAAdmC,QAAc,IAAdA,OAAA,EAAAA,EAAgB32E,oBAAhB,OACtB22E,QADsB,IACtBA,GADsB,UACtBA,EAAgB32E,0BADM,iBACtB,EACIhZ,MAAM,YAFY,iBACtB,EAEI2tF,iBAHkB,aACtB,EAGI5sF,KAAK,KACT,GAEyC,KAA7B,OAAd4uF,QAAc,IAAdA,GAAA,UAAAA,EAAgBF,sBAAhB,eAAgChvG,UAAhC,OACAkvG,QADA,IACAA,GADA,UACAA,EAAgBF,sBADhB,aACA,EAAgC9oG,SAAS,SAEzComC,EAAWzT,eACkC,KAA7B,OAAdq2E,QAAc,IAAdA,GAAA,UAAAA,EAAgBF,sBAAhB,eAAgChvG,QAAhC,oBACiBkvG,EAAeF,gBADhC,OAEIE,QAFJ,IAEIA,OAFJ,EAEIA,EAAgBF,sBACf1iE,EAAWugE,mBACXvgE,EAAWygE,aAE2B,MAA7B,OAAdmC,QAAc,IAAdA,GAAA,UAAAA,EAAgBF,sBAAhB,eAAgChvG,gBAC3BssC,EAAWygE,cAEqB,IAArCthF,EAAYqjF,uBACdxlF,EAAwB4T,YAAcoP,EAAWpmB,cACnD0b,GAAyB0K,GAE3BhjB,EAAwB0gB,UAAW,EACnCvtB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjB6Z,IACuC,IAArC1X,EAAYqjF,sBAGhB3rE,IACuC,IAArC1X,EAAYqjF,sBAIhB/kF,GAAa,IAEf,MAAO7W,GACP5M,QAAQC,IAAI,iBAAkB2M,IAIlC,IAAMq9D,GAAc,uCAAG,WAAO78D,GAAP,mBAAAtM,EAAA,sDACrBd,QAAQC,IAAI,uBAAwBmN,IAC/BA,GAAOA,EAAIR,MAEd0f,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,oBACzC6J,EAAIS,MACPw+D,EAAS18D,KAAKC,MAAMxC,EAAIS,MAC9B7N,QAAQC,IAAI,iBAAkBosE,GAExBO,EAAqBP,EAAOjuE,QAChC,SAACyU,GAAD,MAAmC,iCAAvBA,EAAEgiB,oBAEVg4C,EAAqBR,EAAOjuE,QAChC,SAACyU,GAAD,MAAmC,4BAAvBA,EAAEgiB,oBAEZ+3C,EAAmBlzE,OAAS,IAC9B+pB,GAAa,GAQbwQ,GACE46C,GACAjC,EAAmB,GAAG9lD,SACtB8lD,EAAmB,GAAGW,iBAExBjyC,IAAyB,SAACD,GA6CxB,OA3C4B,OAA1BA,QAC0BriC,IAA1BqiC,IACC,OAACA,QAAD,IAACA,OAAD,EAACA,EAAuBzb,eACe,MAAnB,OAArByb,QAAqB,IAArBA,OAAA,EAAAA,EAAuBzb,gBACtB,OAACyb,QAAD,IAACA,OAAD,EAACA,EAAuB9I,iBACiB,MAArB,OAArB8I,QAAqB,IAArBA,OAAA,EAAAA,EAAuB9I,kBAEoB,iBAAvCq6C,EAAmB,GAAG2B,cACxBtR,GAAsB,gBACtBqrC,IAAyB,IACuB,aAAvC17B,EAAmB,GAAG2B,aAC/BtR,GAAsB,YAC0B,aAAvC2P,EAAmB,GAAG2B,aAC/BtR,GAAsB,YAEiB,oBAAvC2P,EAAmB,GAAG2B,aAEtBtR,GAAsB,mBAEiB,mBAAvC2P,EAAmB,GAAG2B,cAEtBtR,GAAsB,kBAExBR,IAAkB,SAACD,GAejB,OAdAA,EAAep/D,GAAK,cACpBo/D,EAAe/wC,SAAU,EACzB+wC,EAAenlC,UAAY,IAC3BmlC,EAAejrC,SAAf,UAA6Bxb,GAAYwQ,cAAzC,2BACAi2C,EAAejlC,UAAW,EAC1BilC,EAAellC,cAAe,EAC9BklC,EAAezqC,mBACb66C,EAAmB,GAAG96C,mBACxB0qC,EAAe1nC,iBACb83C,EAAmB,GAAG/3C,iBACxB2nC,EAAe/qC,WAAam7C,EAAmB,GAAGp7C,WAClDgrC,EAAe7qC,SAAWi7C,EAAmB,GAAGl7C,SAChD8qC,EAAezqC,mBACb66C,EAAmB,GAAG96C,mBACjB0qC,MAKJnhC,MAMPwxC,EAAmBnzE,OAAS,IAC9B+pB,GAAa,GACbwQ,GACE26C,GACA/B,EAAmB,GAAG/lD,SACtB+lD,EAAmB,GAAGU,iBAExBryC,IAAoB,SAACD,GA6CnB,OA3CuB,OAArBA,QACqBjiC,IAArBiiC,IACC,OAACA,QAAD,IAACA,OAAD,EAACA,EAAkBrb,eACe,MAAnB,OAAhBqb,QAAgB,IAAhBA,OAAA,EAAAA,EAAkBrb,gBACjB,OAACqb,QAAD,IAACA,OAAD,EAACA,EAAkB1I,iBACiB,MAArB,OAAhB0I,QAAgB,IAAhBA,OAAA,EAAAA,EAAkB1I,kBAEyB,iBAAvCs6C,EAAmB,GAAG0B,cACxBxR,GAAkB,gBAClBirC,IAAoB,IAC4B,aAAvCn7B,EAAmB,GAAG0B,aAC/BxR,GAAkB,YAC8B,aAAvC8P,EAAmB,GAAG0B,aAC/BxR,GAAkB,YAEqB,oBAAvC8P,EAAmB,GAAG0B,aAEtBxR,GAAkB,mBAEqB,mBAAvC8P,EAAmB,GAAG0B,cAEtBxR,GAAkB,kBAEpBR,IAAkB,SAACD,GAejB,OAdAA,EAAel/D,GAAK,cACpBk/D,EAAe7wC,SAAU,EACzB6wC,EAAejlC,UAAY,IAC3BilC,EAAe/qC,SAAf,UAA6Bxb,GAAYwQ,cAAzC,sBACA+1C,EAAe/kC,UAAW,EAC1B+kC,EAAehlC,cAAe,EAC9BglC,EAAevqC,mBACb86C,EAAmB,GAAG/6C,mBACxBwqC,EAAexnC,iBACb+3C,EAAmB,GAAGh4C,iBACxBynC,EAAe7qC,WAAao7C,EAAmB,GAAGr7C,WAClD8qC,EAAe3qC,SAAWk7C,EAAmB,GAAGn7C,SAChD4qC,EAAevqC,mBACb86C,EAAmB,GAAG/6C,mBACjBwqC,MAKJrhC,QAQXshC,IAAkB,SAACD,GACjB,OAAOA,KAETG,IAAkB,SAACD,GACjB,OAAOA,KAETlwC,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,uBAEpDkgB,GAAa,GApJQ,2CAAH,sDAuJdmrD,GAAe,uCAAG,WAAOxhE,GAAP,SAAAtM,EAAA,uDACjBsM,GAAOA,EAAIR,MAEd0f,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,oBAGL6J,EAAIS,MACSi7D,GAAU17D,EAAIS,KAAKqlB,eAAgBopC,IAElDC,IAAkB,SAACD,GAKjB,OAJAA,EAAe9kC,OAASsxC,GACtB17D,EAAIS,KAAKqlB,eACTopC,GAEKA,KAET74C,GAAa,GACbzjB,QAAQC,IAAI,iBAEZqsB,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,sBAvBS,2CAAH,sDA6BrB,SAASulE,GAAU2G,EAAoB9uD,GACrC,MAAqB,KAAjBA,EAAIgR,UAAmC,KAAhBhR,EAAIgR,SAEtB,QADQ29C,GAAeG,GACF,WAAaA,EAGvC,SACkB,oBAAjB9uD,EAAIgR,SACD,kBACA,cACJ,WACA89C,EAKN,IAAMZ,GAAmB,uCAAG,WAAOzhE,GAAP,eAAAtM,EAAA,uDACrBsM,GAAOA,EAAIR,MAEd0f,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,oBAGL6J,EAAIS,MACN4V,GAAa,GACPgU,EAASqxC,GAAU17D,EAAIS,KAAKqlB,eAAgBspC,IAGlDC,IAAkB,SAACD,GAEjB,OADAA,EAAehlC,OAASC,EACjB+kC,KAETx8D,QAAQC,IAAI,iBAEZqsB,GAAW,CACTG,OAAQ,yBACRlpB,MAAO,sBArBa,2CAAH,sDAgGnBslG,GAAoB,SAAC5zG,EAAY6zG,GAEnCzoF,GADmB,kBAAVprB,EACC,2BAAKmrB,IAAN,mBAAe0oF,EAA2B,KAEzC,2BACL1oF,IADI,mBAEN0oF,EAA2B,mCA+FlC,SAASj4B,GAAYC,GAEnB,GAAqB,OAAjBA,QAA0C93E,IAAjB83E,EAA4B,CACvD,IAAMn/C,EAAWm/C,EAAa5mB,MAAM,yBAGpC,OAAOv4B,EAAWA,EAAS,GAAK,IAElC,MAAO,IAET,IAAMq9C,GAAoB,CACxBC,QAAS,kBACTC,SAAU,YACVC,SAAU,YACVC,YAAa,YACb,OAAQ,YACRC,MAAO,aAGT,SAASC,KACP,IADoC,IAAd73C,EAAa,uDAAJ,GAC/B,MAAgClT,OAAOgrD,QAAQP,IAA/C,eAAmE,CAAC,IAAD,sBAAvDp4B,EAAuD,KAA5Cz5C,EAA4C,KACjE,GAAIs6B,EAAO+3C,WAAW54B,GACpB,OAAOz5C,GAwGb,IAoWM4rG,GAAkB,SACtB37F,EACAhQ,EACAm0B,EACAp0B,GAEA,IAAKiQ,GAAOA,EAAIR,MACd6W,GAAa,GAETrW,EAAIS,KAAKjB,OACX2T,EAAW,0BAA4BnT,EAAIS,KAAKjB,OAChD6W,GAAa,IAEblD,EAAWnT,EAAIR,YAEZ,GAAIQ,EAAIS,KACb,GAAIT,EAAIS,KAAKjB,MACX2T,EAAW,0BAA4BnT,EAAIS,KAAKjB,OAChD6W,GAAa,OACR,CACL,IAAIulF,EAAa,CACfzxF,cAAexB,GAAYwQ,cAC3B2M,eAAgBopC,GAAe7kC,OAC/B3C,iBAAkBwnC,GAAexnC,iBACjCv8B,WAAY+jE,GAAe7qC,WAC3B3U,OAAQpkB,IAEC,gBAAP0E,EACEgQ,EAAIS,KAAKP,OAAOgkE,kBAClB/U,IAAkB,SAACD,GAMjB,OALAA,EAAe7kC,OAASrqB,EAAIS,KAAKP,OAAOikE,aACxCjV,EAAe3qC,SAAW,aAC1B2qC,EAAe/qC,SACb+qC,EAAe/qC,SAAStY,MAAM,KAAK,GAAK,OAC1C9b,EAAO,aACAm/D,KAET0sC,EAAW91E,eAAiB9lB,EAAIS,KAAKP,OAAOikE,aAC5Cy3B,EAAWl0E,iBAAmBwnC,GAAexnC,iBAC7Ck0E,EAAWzwG,WAAa+jE,GAAe7qC,YAEzB,sBAAPr0B,EACLgQ,EAAIS,KAAKP,OAAOgkE,iBAClBnV,IAAwB,SAACD,GAMvB,OALAA,EAAqBzkC,OAASrqB,EAAIS,KAAKP,OAAOikE,aAC9CrV,EAAqBvqC,SAAW,aAChCuqC,EAAqB3qC,SACnB2qC,EAAqB3qC,SAAStY,MAAM,KAAK,GAAK,OAChD9b,EAAO,aACA++D,KAIK,gBAAP9+D,EACLgQ,EAAIS,KAAKP,OAAOgkE,kBAClB7U,IAAkB,SAACD,GAQjB,OAPAA,EAAezqC,mBACbyqC,EAAezqC,mBACjByqC,EAAe/kC,OAASrqB,EAAIS,KAAKP,OAAOikE,aACxC/U,EAAe7qC,SAAW,aAC1B6qC,EAAejrC,SACbirC,EAAejrC,SAAStY,MAAM,KAAK,GAAK,OAC1C9b,EAAO,aACAq/D,KAETwsC,EAAW91E,eAAiB9lB,EAAIS,KAAKP,OAAOikE,aAC5Cy3B,EAAWl0E,iBAAmB0nC,GAAe1nC,iBAC7Ck0E,EAAWzwG,WAAaikE,GAAe/qC,YAGrCrkB,EAAIS,KAAKP,OAAOgkE,iBAClBjV,IAAwB,SAACD,GAMvB,OALAA,EAAqB3kC,OAASrqB,EAAIS,KAAKP,OAAOikE,aAC9CnV,EAAqBzqC,SAAW,aAChCyqC,EAAqB7qC,SACnB6qC,EAAqB7qC,SAAStY,MAAM,KAAK,GAAK,OAChD9b,EAAO,aACAi/D,KAIF,sBAAPh/D,GAMa,qBAANA,EALT6rG,IACE,EACA,CAAE7rG,GAAIA,EAAIm0B,SAAUA,EAAUp0B,KAAMA,EAAM+rG,SAAU9rG,IACpD,GASFi3B,IACE,SAACjnB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GAC7B67F,IAAa,EAAO,CAClB7rG,GAAIA,EACJm0B,SAAUA,EACVp0B,KAAMA,EACN+rG,SAAU9rG,SAGhB4rG,EACA,SAUJI,GAAgB,SAACh8F,EAAUi8F,GAC/B,IAAKj8F,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,OAKf6W,GAAa,QAEb,GAAIrW,EAAIS,KAAM,CACZ,IAAIy7F,EAAcl8F,EAAIS,KAAK8jE,sBAC3BluD,GAAa,GACbq8C,GAAe1yD,EAAIS,KAAK6jE,MACxBpV,GAAe3qC,SAAW,kBAC1B,IAAMq3E,EAAa,CACjBzxF,cAAexB,GAAYwQ,cAC3B2M,eAAgB9lB,EAAIS,KAAK8jE,sBACzB78C,iBAAkBwnC,GAAexnC,iBACjCv8B,WAAY+jE,GAAe7qC,WAC3B3U,OAAQpkB,IxGtlCe,MwGwlCrB4jE,GAAe7qC,YACjBhO,GAAa,GACb4Q,IACE,SAACjnB,GACC+7F,GAAa/7F,EAAK47F,GAAY,SAACO,GAC7BN,IAAa,EAAOI,GAAO,EAAMC,QAGrCN,EACA,QxGhmCsB,MwGkmCf1sC,GAAe7qC,YAExBhO,GAAa,GACbsR,IACE,SAAC3nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GAC7B67F,IAAa,EAAOI,GAAO,EAAOC,QAEtCN,IxGzmCqB,MwG2mCd1sC,GAAe7qC,YAExBhO,GAAa,GACbwR,IACE,SAAC7nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GAC7B67F,IAAa,EAAOI,GAAO,EAAOC,QAEtCN,IxGlnCgB,MwGonCT1sC,GAAe7qC,aAExBhO,GAAa,GACb0R,IAAW,SAAC/nB,GAEV+7F,GAAa/7F,EAAK47F,GAAY,SAACO,GAC7BN,IAAa,EAAOI,GAAO,EAAMC,QAElCN,MAULQ,GAAoB,SAACp8F,EAAUi8F,GACnC,IAAKj8F,GAAOA,EAAIR,MACd0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETkgB,GAAa,QAEb,GAAIrW,EAAIS,KAAM,CACZ4V,GAAa,GAEb,IAAI6lF,EAAcl8F,EAAIS,KAAK8jE,sBAC3BnV,GAAe7qC,SAAW,kBAC1B,IAAMq3E,EAAa,CACjBzxF,cAAexB,GAAYwQ,cAC3B2M,eAAgB9lB,EAAIS,KAAK8jE,sBACzB78C,iBAAkB0nC,GAAe1nC,iBACjCv8B,WAAYikE,GAAe/qC,WAC3B3U,OAAQpkB,IxGtpCmB,KwGwpCzB8jE,GAAe/qC,YACjBhO,GAAa,GACb4Q,IACE,SAACjnB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAACO,GAC7BN,IAAa,EAAOI,GAAO,EAAOC,QAEtCN,EACA,QxG/pC0B,KwGiqCnBxsC,GAAe/qC,WAGxBsD,IACE,SAAC3nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GAC7B67F,IAAa,EAAOI,GAAO,EAAOC,QAEtCN,GxGxqCyB,KwG0qClBxsC,GAAe/qC,YACxBhO,GAAa,GAEbwR,IACE,SAAC7nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GAC7B67F,IAAa,EAAOI,GAAO,EAAOC,QAEtCN,IxGjrCoB,KwGmrCbxsC,GAAe/qC,aACxBhO,GAAa,GAEb0R,IAAW,SAAC/nB,GACV+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GAC7B67F,IAAa,EAAOI,GAAO,EAAOC,QAEnCN,MAULC,GAAe,SACnBQ,EACAJ,EACAK,EACAC,EACAC,GAEA,IAAMC,EAAWR,EACTjsG,EAAiCisG,EAAjCjsG,GAAIm0B,EAA6B83E,EAA7B93E,SAAUp0B,EAAmBksG,EAAnBlsG,KAAM+rG,EAAaG,EAAbH,SAC5B,QAA2BlwG,IAAvBywG,GAAoCA,EACtC,GAAIC,EAAa,CAAC,IAAD,IACXxzB,EAAiB,CACnB5vD,cAAevQ,GAAYwQ,cAC3BmP,OAAQ4mC,GAAe7kC,OACvB5B,OAAQqmC,GAAqBzkC,OAC7B7B,WAAY0mC,GAAe/qC,SAC3BuE,WAAYomC,GAAqB3qC,SACjC/K,sBAAqB,OAAEzQ,SAAF,IAAEA,QAAF,EAAEA,GAAayQ,sBACpCsB,MAAK,OAAE/R,SAAF,IAAEA,IAAF,UAAEA,GAAayM,uBAAf,aAAE,EAA8B9nB,IACrC+rB,OAAM,OAAE1Q,SAAF,IAAEA,QAAF,EAAEA,GAAa0Q,OACrBgL,WAAU,OAAE6qC,SAAF,IAAEA,QAAF,EAAEA,GAAgB7qC,WAC5BM,mBAAkB,OAAEuqC,SAAF,IAAEA,IAAF,UAAEA,GAAgBvqC,0BAAlB,aAAE,EAAoC5vB,WACxDowB,eAAc,OAAE0I,SAAF,IAAEA,QAAF,EAAEA,GAAkB1I,gBAEpC8C,IAAQ,SAACjoB,GACPg8F,GAAch8F,EAAKy8F,KAClB3zB,OACE,CAAC,IAAD,IACDA,EAAiB,CACnB5vD,cAAevQ,GAAYwQ,cAC3BmP,OAAQ8mC,GAAe/kC,OACvB5B,OAAQumC,GAAqB3kC,OAC7B7B,WAAY4mC,GAAejrC,SAC3BuE,WAAYsmC,GAAqB7qC,SACjC/K,sBAAqB,OAAEzQ,SAAF,IAAEA,QAAF,EAAEA,GAAayQ,sBACpCsB,MAAK,OAAE/R,SAAF,IAAEA,IAAF,UAAEA,GAAayM,uBAAf,aAAE,EAA8B9nB,IACrC+rB,OAAM,OAAE1Q,SAAF,IAAEA,QAAF,EAAEA,GAAa0Q,OACrBgL,WAAU,OAAE+qC,SAAF,IAAEA,QAAF,EAAEA,GAAgB/qC,WAC5BM,mBAAkB,OAAEyqC,SAAF,IAAEA,IAAF,UAAEA,GAAgBzqC,0BAAlB,aAAE,EAAoC5vB,WACxDowB,eAAc,OAAE8I,SAAF,IAAEA,QAAF,EAAEA,GAAuB9I,gBAEzC8C,IAAQ,SAACjoB,GACPo8F,GAAkBp8F,EAAKy8F,KACtB3zB,OAEA,CACL,IAAIpjD,EACAlqB,EAAsB,GAC1B,GAAiB,gBAAbsgG,EACFhuE,IAAoB,SAACD,GAA2B,IAAD,UACzCtJ,EAAmBk/C,GAAYvU,GAAe7kC,QAClD,QAAiBz+B,IAAb24B,GAAsC,KAAZA,EAAiB,CAC7C,IAAIm4E,EAAoBx6B,GAAehT,GAAe7kC,aAC5Bz+B,IAAtB8wG,IACFn4E,EAAWm4E,GAGf,IAAI54B,EAAqB,CACvBn/C,mBAAkB,UAAEuqC,GAAevqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE6qC,GAAe7qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SxGzwCqB,MwG0wCL,OAAd+qC,SAAc,IAAdA,QAAA,EAAAA,GAAgB7qC,YACZ6qC,GAAe/qC,SAAStY,MAAM,KAAK,GAAK,OAD5C,OAEIqjD,SAFJ,IAEIA,QAFJ,EAEIA,GAAgB/qC,SACtBY,eAAe,EACfR,SAAUA,EACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAeiqC,GAAejqC,cAC9BR,kBAAmB,IAEnBY,OAAQw1E,GACR8B,kBACoC,QAAlB,OAAhB9uE,QAAgB,IAAhBA,OAAA,EAAAA,EAAkBsrE,mBACgBvtG,KAAlB,OAAhBiiC,QAAgB,IAAhBA,OAAA,EAAAA,EAAkBsrE,aADlB,OAEItrE,QAFJ,IAEIA,GAFJ,UAEIA,EAAkBsrE,mBAFtB,iBAEI,EACIttF,MAAM,YAHd,iBAEI,EAEI2tF,iBAJR,aAEI,EAGI5sF,KAAK,KACT,KACNu0D,aAAY,OAAEtzC,QAAF,IAAEA,OAAF,EAAEA,EAAkBqxB,WAChC/5B,eACqB,iBAAnBuqC,GACI7hC,EAAiB1I,eAAeimB,OAAO,GACvCvd,EAAiB1I,eACvBy3E,mBAAoBrC,KAA4B,EAChDsC,aAAclC,KAAsC,GAQtD,OANAH,IAAe,SAACD,GAEd,OADAz2B,EAAmB84B,mBAAqBrC,EACjCA,KAET/+F,EAAoBqb,KAAKitD,GAElBj2C,KAETnI,EAAY,CACVvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBopC,GAAe7kC,QAAU,GACzCpR,SAAUi2C,GAAe/qC,SACzBzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,UAEjC,GAAiB,sBAAbwuG,EAAkC,CAAC,IAAD,YAC3Cp2E,EAAY,CACVvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBgpC,GAAqBzkC,QAAU,GAC/CpR,SAAU61C,GAAqB3qC,SAC/BzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEtC,IAAIi3B,EAAmBk/C,GAAY3U,GAAqBzkC,QACxD,QAAiBz+B,IAAb24B,GAAsC,KAAZA,EAAiB,CAC7C,IAAIm4E,EAAoBx6B,GAAepT,GAAqBzkC,aAClCz+B,IAAtB8wG,IACFn4E,EAAWm4E,GAGf,IAAI54B,EAAqB,CACvBn/C,mBAAkB,UAChBmqC,GAAqBnqC,0BADL,aAChB,EAAyC5vB,WAC3CsvB,WACiD,MAA/C,UAAAyqC,GAAqBzqC,kBAArB,eAAiCtvB,YAAjC,UACI+5D,GAAqBzqC,kBADzB,aACI,EAAiCtvB,WADrC,OAEIm6D,SAFJ,IAEIA,QAFJ,EAEIA,GAAgB7qC,WACtBQ,mBAAoB,GACpBV,SxGx0CuB,MwGy0CP,OAAd+qC,SAAc,IAAdA,QAAA,EAAAA,GAAgB7qC,YACZyqC,GAAqB3qC,SAAStY,MAAM,KAAK,GAAK,OADlD,OAEIijD,SAFJ,IAEIA,QAFJ,EAEIA,GAAsB3qC,SAC5BY,eAAe,EACfR,SAAUA,EACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAe6pC,GAAqB7pC,cACpCR,kBAAmB,IAEnBY,OAAQw1E,GACR8B,mBAAmC,OAAhB9uE,SAAgB,IAAhBA,QAAA,EAAAA,GAAkBsrE,aAAlB,OACftrE,SADe,IACfA,IADe,UACfA,GAAkBsrE,mBADH,iBACf,EAA+BttF,MAAM,YADtB,iBACf,EAA2C2tF,iBAD5B,aACf,EAAsD5sF,KAAK,KAC3D,KACJu0D,aAAY,OAAEtzC,SAAF,IAAEA,QAAF,EAAEA,GAAkBqxB,WAChC/5B,eACqB,iBAAnBuqC,GACI7hC,GAAiB1I,eAAeimB,OAAO,GACvCvd,GAAiB1I,eACvBy3E,mBAAoBrC,KAA4B,EAChDsC,aAAclC,KAAsC,GAMtD,GAJAH,IAAe,SAACD,GAEd,OADAz2B,EAAmB84B,mBAAqBrC,EACjCA,KAGS,OAAhBgC,QACgB3wG,IAAhB2wG,GACgB,KAAhBA,QACgC3wG,IAAhCs2E,GAAeq6B,GACf,CACA,IAAIh4E,EAAW29C,GAAeq6B,QACb3wG,IAAb24B,IACc,mBAAZA,IACFmB,EAAUzM,SACR,UAAGtQ,GAAYwQ,cAAf,sBAAmD,QACvD2qD,EAAmBv/C,SAAWA,GAGlC/oB,EAAoBqb,KAAKitD,QACpB,GAAiB,gBAAbg4B,EAA4B,CAAC,IAAD,UACrCp2E,EAAY,CACVvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBspC,GAAe/kC,QAAU,GACzCpR,SAAUm2C,GAAejrC,SACzBzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEtC+hE,IAAkB,SAACD,GACjB,OAAOA,KAET,IAAI7qC,EAAmBk/C,GAAYrU,GAAe/kC,QAClD,QAAiBz+B,IAAb24B,GAAsC,KAAZA,EAAiB,CAC7C,IAAIm4E,EAAoBx6B,GAAe9S,GAAe/kC,aAC5Bz+B,IAAtB8wG,IACFn4E,EAAWm4E,GAGf,IAAInwB,EAAqB,CACvB5nD,mBAAkB,UAAEyqC,GAAezqC,0BAAjB,aAAE,EAAmC5vB,WACvDsvB,WAAU,UAAE+qC,GAAe/qC,kBAAjB,aAAE,EAA2BtvB,WACvC8vB,mBAAoB,GACpBV,SxGj4C2B,KwGk4CX,OAAdirC,SAAc,IAAdA,QAAA,EAAAA,GAAgB/qC,YACZ+qC,GAAejrC,SAAStY,MAAM,KAAK,GAAK,OACxCujD,GAAejrC,SACrBY,eAAe,EACfR,SAAUA,EACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAemqC,GAAenqC,cAC9BR,kBAAmB,IAEnBY,OAAQ01E,GACR4B,mBAAwC,OAArB1uE,SAAqB,IAArBA,QAAA,EAAAA,GAAuBkrE,aAAvB,OACflrE,SADe,IACfA,IADe,UACfA,GAAuBkrE,mBADR,iBACf,EACIttF,MAAM,YAFK,iBACf,EAEI2tF,iBAHW,aACf,EAGI5sF,KAAK,KACT,KACJu0D,aAAY,OAAElzC,SAAF,IAAEA,QAAF,EAAEA,GAAuBixB,WACrC/5B,eACqB,iBAAnBuqC,GACIzhC,GAAsB9I,eAAeimB,OAAO,GAC5Cnd,GAAsB9I,eAC5By3E,mBAAoBnC,KAAsC,EAC1DoC,aAAc5B,KAAgD,GAEhEP,IAAoB,SAACD,GAEnB,OADAluB,EAAmBqwB,mBAAqBnC,EACjCA,KAGTj/F,EAAoBqb,KAAK01D,OACpB,CAAC,IAAD,UACL7mD,EAAY,CACVvb,cAAexB,GAAYwQ,cAC3B2M,eAAgBkpC,GAAqB3kC,QAAU,GAC/CpR,SAAU+1C,GAAqB7qC,SAC/BzJ,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,KAEtC,IAAIi3B,EAAmBk/C,GAAYzU,GAAqB3kC,QACxD,QAAiBz+B,IAAb24B,GAAsC,KAAZA,EAAiB,CAC7C,IAAIm4E,EAAoBx6B,GAAelT,GAAqB3kC,aAClCz+B,IAAtB8wG,IACFn4E,EAAWm4E,GAGf,IAAInwB,EAAqB,CACvB5nD,mBAAkB,UAChBqqC,GAAqBrqC,0BADL,aAChB,EAAyC5vB,WAC3CsvB,WAAU,UAAE2qC,GAAqB3qC,kBAAvB,aAAE,EAAiCtvB,WAC7C8vB,mBAAoB,GACpBV,SxGn7C2B,KwGo7CX,OAAdirC,SAAc,IAAdA,QAAA,EAAAA,GAAgB/qC,YACZ2qC,GAAqB7qC,SAAStY,MAAM,KAAK,GAAK,OADlD,OAEImjD,SAFJ,IAEIA,QAFJ,EAEIA,GAAsB7qC,SAC5BY,eAAe,EACfR,SAAUA,EACVjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,cAAe+pC,GAAqB/pC,cACpCR,kBAAmB,IAEnBY,OAAQ01E,GACR4B,mBAAwC,OAArB1uE,SAAqB,IAArBA,QAAA,EAAAA,GAAuBkrE,aAAvB,OACflrE,SADe,IACfA,IADe,UACfA,GAAuBkrE,mBADR,iBACf,EACIttF,MAAM,YAFK,iBACf,EAEI2tF,iBAHW,aACf,EAGI5sF,KAAK,KACT,KACJu0D,aAAY,OAAElzC,SAAF,IAAEA,QAAF,EAAEA,GAAuBixB,WACrC/5B,eACqB,iBAAnBuqC,GACIzhC,GAAsB9I,eAAeimB,OAAO,GAC5Cnd,GAAsB9I,eAC5By3E,mBAAoBnC,KAAsC,EAC1DoC,aAAc5B,KAAgD,GAEhE,GACkB,OAAhBsB,QACgB3wG,IAAhB2wG,GACgB,KAAhBA,QACgC3wG,IAAhCs2E,GAAeq6B,GACf,CACA,IAAIh4E,EAAW29C,GAAeq6B,QACb3wG,IAAb24B,IACc,mBAAZA,IACFmB,EAAUzM,SACR,UAAGtQ,GAAYwQ,cAAf,2BAAwD,QAC5DozD,EAAmBhoD,SAAWA,GAGlC/oB,EAAoBqb,KAAK01D,GAE3B,IAAM5mD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAcxqB,EACd6d,OAAQ1Q,GAAY0Q,QAIJ,OAAhBkjF,QACgB3wG,IAAhB2wG,GACgB,KAAhBA,IAEA72E,EAAUI,eAAiBy2E,GAE7B92E,IACE,SAACzlB,GAAD,OACE88F,GACE98F,EACAhQ,EACA01B,EAAUI,eACVJ,EAAUzM,SACVujF,KAEJ92E,GACA,SAAC7zB,GAAD,OAA0BmyE,GAAiBnyE,EAAO7B,EAAIm0B,EAAUp0B,KAChE41B,KAgsBN,SAASkjD,GAAuB74E,EAAYgQ,GAC/B,gBAAPhQ,GACFulE,EAAoBv1D,EAAIR,OAEf,sBAAPxP,GACFqqG,EAAuBr6F,EAAIR,OAElB,gBAAPxP,GACFylE,EAAoBz1D,EAAIR,OAGf,sBAAPxP,GACFsqG,EAAuBt6F,EAAIR,OAG/B,IAAMs9F,GAAkB,SACtB98F,EACAhQ,EACAiB,EACAkzB,EACAq4E,IAEKx8F,GAAOA,EAAIR,OAEd6W,GAAa,GACbwyD,GAAuB74E,EAAIgQ,GAC3BmT,EAAWnT,EAAIR,QAEXQ,EAAIS,MACN0S,EAAW,IACA,gBAAPnjB,GAAmD,QAA3Bm0B,EAAStY,MAAM,KAAK,IAC9CwK,GAAa,GACbk/C,EAAoB,IACpB9B,IAAoB,IACJ,gBAAPzjE,GAAmD,QAA3Bm0B,EAAStY,MAAM,KAAK,IACrD0pD,EAAoB,IACpB9B,IAAoB,GACpBf,GAAe1yD,EAAIS,KAAK6jE,MACxBjuD,GAAa,IACG,sBAAPrmB,GACTqqG,EAAuB,IACvBhkF,GAAa,GACbo9C,IAAoB,IACJ,gBAAPzjE,GAAmD,QAA3Bm0B,EAAStY,MAAM,KAAK,IACrDwK,GAAa,GACbo/C,EAAoB,IACpB/B,IAAoB,GACpBf,GAAmB3yD,EAAIS,KAAK6jE,OACZ,gBAAPt0E,GAAmD,QAA3Bm0B,EAAStY,MAAM,KAAK,IACrD6nD,IAAoB,GACpB+B,EAAoB,IACpB9C,GAAmB3yD,EAAIS,KAAK6jE,MAC5BjuD,GAAa,IAEN,gBAAPrmB,GAC2B,QAA3Bm0B,EAAStY,MAAM,KAAK,SACYjgB,IAAhCojE,GAAqB3kC,QAErBhU,GAAa,GACbo/C,EAAoB,IACpB/B,IAAoB,IACJ,sBAAP1jE,IACTqmB,GAAa,GACbikF,EAAuB,IACvB5mC,IAAoB,SAEG9nE,IAArB4wG,GACFA,KAGFrpF,EAAW,uCAyOX4oF,GAAe,SAAC/7F,EAAUhQ,EAASsY,GACvC,IAAKtI,GAAOA,EAAIR,MAAO,CAAC,IAAD,EACC,EAAtB,UAAIQ,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,aAAI,EAAWjB,MACb2T,EAAU,OAACnT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWjB,YAMtB2T,EAAWnT,EAAIR,OAGjB6W,GAAa,QACR,GAAIrW,EAAIS,KAAM,CAAC,IAAD,EACG,EAAtB,UAAIT,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,aAAI,EAAWjB,MACb2T,EAAU,OAACnT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWjB,OACtB6W,GAAa,QASb,GAHAlD,EAAW,IAEXkD,GAAa,GxGjgFY,MwGkgFrBrmB,EAAG7E,WAGL,GAFAwd,GAAY4pC,cACU,OAApBvyC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAOq2E,kBAAoB,GAC5D5tE,GAAY4pC,cAAcrmD,QAMxB,CAAC,IAAD,oBACD6wG,EAAkB,OAAG/8F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmBq2E,kBAe5CzoD,IAAoB,SAACD,GAA2B,IAAD,IAY7C,OAXAA,EAAiBrb,aAAjB,OAAgCuqF,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAoB7wG,QACpD2hC,EAAiB3iB,KAAjB,OAAwB6xF,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAoBrzE,SAC5CmE,EAAiB1iB,MAAjB,OAAyB4xF,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAoB1rG,MAC7Cw8B,EAAiBza,QAAU2pF,EAAmB9xF,QAC9C4iB,EAAiBqxB,WAAjB,OAA8B69C,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAoB7mB,aAClDroD,EAAiB1I,gBACG,OAAlB43E,QAAkB,IAAlBA,GAAA,UAAAA,EAAoBjnB,iBAApB,eAA+BxpF,QAAS,EAAxC,2BACiBywG,QADjB,IACiBA,GADjB,UACiBA,EAAoBjnB,iBADrC,aACiB,EAA+B1qC,OAAO,KACjC,OAAlB2xD,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBjnB,WAApB,2BACainB,QADb,IACaA,OADb,EACaA,EAAoBjnB,WACjC,GACCjoD,KAELpE,IACFyE,IAAyB,SAAC8uE,GAQxB,MAN4B,KAAhB,OAAVA,QAAU,IAAVA,OAAA,EAAAA,EAAY99C,aACc,OAAhB,OAAV89C,QAAU,IAAVA,OAAA,EAAAA,EAAY99C,kBACctzD,IAAhB,OAAVoxG,QAAU,IAAVA,OAAA,EAAAA,EAAY99C,cAEZ89C,EAAW99C,WAAX,OAAwB69C,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAoB7mB,cAEvC8mB,MAMN,OAAHh9F,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,eAAmB+8F,eAAnB,OACAj9F,QADA,IACAA,GADA,UACAA,EAAKS,YADL,iBACA,EAAWP,cADX,aACA,EAAmBg9F,cADnB,OAEAl9F,QAFA,IAEAA,GAFA,UAEAA,EAAKS,YAFL,iBAEA,EAAWP,cAFX,aAEA,EAAmBi9F,cAEnBrC,IAAgB,GAEhBA,IAAgB,IAGlB,OAAI96F,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,iBAAI,EAAWP,cAAf,aAAI,EAAmB+8F,cACrBrC,IAAoB,GACpBznF,EAAW,MAEXynF,IAAoB,GACpBznF,EAAW,mCAGuB,QAAhB,OAAlB4pF,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBjnB,YACc,MAAhB,OAAlBinB,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBjnB,WAEpBpsE,MAAM,mDAEW9d,IAAb0c,GAAwBA,GAAS,QAxEvCoB,MAEE,kFAEFokB,GAAoB,eAAKxE,UAuEtB,GxGhlFmB,MwGglFft5B,EAAG7E,WAIZ,GAHAwd,GAAY6pC,eACU,OAApBxyC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAOq2E,kBAAoB,GAE5D5tE,GAAY6pC,eAAetmD,QAMzB,CAAC,IAAD,IACD6wG,EAAkB,OAAG/8F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmBq2E,kBAc5CzoD,IAAoB,SAACD,GAUnB,OATAA,EAAiBrb,aAAjB,OAAgCuqF,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAoB7wG,QACpD2hC,EAAiB3iB,KAAjB,OAAwB6xF,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAoBrzE,SAC5CmE,EAAiB1iB,MAAjB,OAAyB4xF,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAoB1rG,MAC7Cw8B,EAAiBza,QAAU2pF,EAAmB9xF,QAC9C4iB,EAAiBqxB,WAAjB,OAA8B69C,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAoB7mB,aAClDroD,EAAiB1I,eAAjB,OAAkC43E,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAoBjnB,UACtDjoD,EAAiBsrE,YAAjB,OAA+B4D,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAoBK,cACnDvvE,EAAiBwrE,aAAjB,OACE0D,QADF,IACEA,OADF,EACEA,EAAoBM,eACfxvE,KAETj7B,QAAQC,IACqC,iBAApCkqG,EAAmBK,cAC1B,YACOL,EAAmBM,eAC1B,OACA,IAAI9gF,MAAJ,OAAawgF,QAAb,IAAaA,OAAb,EAAaA,EAAoBM,iBAGA,OAAjCN,EAAmBjnB,WACc,KAAjCinB,EAAmBjnB,UAEnBpsE,MAAM,qDAEW9d,IAAb0c,GAAwBA,GAAS,QA7CvCoB,MAEE,oFAEFokB,GAAoB,eAAKxE,UA4CtB,GxGpoFkB,MwGooFdt5B,EAAG7E,WAIZ,GAHAwd,GAAY+pC,cACU,OAApB1yC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAOq2E,kBAAoB,GAE5D5tE,GAAY+pC,cAAcxmD,QAMxB,CAAC,IAAD,IACD6wG,EAAkB,OAAG/8F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmBq2E,kBAU5CzoD,IAAoB,SAACD,GAOnB,OANAA,EAAiBrb,aAAjB,OAAgCuqF,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAoB7wG,QACpD2hC,EAAiB3iB,KAAjB,OAAwB6xF,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAoBrzE,SAC5CmE,EAAiB1iB,MAAjB,OAAyB4xF,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAoB1rG,MAC7Cw8B,EAAiBza,QAAU2pF,EAAmB9xF,QAC9C4iB,EAAiBqxB,WAAjB,OAA8B69C,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAoB7mB,aAClDroD,EAAiB1I,eAAjB,OAAkC43E,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAoBjnB,UAC/CjoD,KAG0B,OAAjCkvE,EAAmBjnB,WACc,KAAjCinB,EAAmBjnB,UAEnBpsE,MAAM,8DAEW9d,IAAb0c,GAAwBA,GAAS,QA/BvCoB,MAEE,oFAEFokB,GAAoB,eAAKxE,UA8BtB,GxG1qFa,MwG0qFTt5B,EAAG7E,WAGZ,GAFAwd,GAAY8pC,SACU,OAApBzyC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAOq2E,kBAAoB,GAC5D5tE,GAAY8pC,SAASvmD,QAMnB,CAAC,IAAD,IACD6wG,EAAkB,OAAG/8F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmBq2E,kBA2B5CzoD,IAAoB,SAACD,GAuBnB,OAtBAA,EAAiBrb,aAAjB,OAAgCuqF,QAAhC,IAAgCA,OAAhC,EAAgCA,EAAoB7wG,QACpD2hC,EAAiB3iB,KAAjB,OAAwB6xF,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAoBrzE,SAC5CmE,EAAiB1iB,MAAjB,OAAyB4xF,QAAzB,IAAyBA,OAAzB,EAAyBA,EAAoB1rG,MAC7Cw8B,EAAiBza,QAAU2pF,EAAmB9xF,QAC9C4iB,EAAiBqxB,WAAjB,OAA8B69C,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAoB7mB,aAClDroD,EAAiB1I,eAAjB,OAAkC43E,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAoBjnB,UACtDjoD,EAAiBsrE,YAGW,gBAF1B17E,KACEA,KAAM,OAACs/E,QAAD,IAACA,OAAD,EAACA,EAAoBO,YAAa,eACxC5/E,OAAO,mBACL9xB,EACA6xB,KACEA,KAAM,OAACs/E,QAAD,IAACA,OAAD,EAACA,EAAoBO,YAAa,eACxC5/E,OAAO,cACfmQ,EAAiBwrE,aAGW,gBAF1B57E,KACEA,KAAM,OAACs/E,QAAD,IAACA,OAAD,EAACA,EAAoBQ,iBAAkB,eAC7C7/E,OAAO,mBACL9xB,EACA6xB,KACEA,KAAM,OAACs/E,QAAD,IAACA,OAAD,EAACA,EAAoBQ,iBAAkB,eAC7C7/E,OAAO,cACRmQ,KAETgsE,EAAiBkD,QAEAnxG,IAAb0c,GACFA,GAAS,GAEX+N,GAAa,GAGI1N,GAAYwQ,cAChB,OAAE4jF,QAAF,IAAEA,KAAoBhnB,cAKG,QAAhB,OAAlBgnB,QAAkB,IAAlBA,OAAA,EAAAA,EAAoBjnB,YAChBinB,EAAmBjnB,eAzE3BpsE,MAEE,2FAEFokB,GAAoB,eAAKxE,UA6EtB,GxG7vFsB,KwG6vFlBt5B,EAAG7E,WAGZ,GAFAwd,GAAYgqC,kBACU,OAApB3yC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAOq2E,kBAAoB,GAC5D5tE,GAAYgqC,kBAAkBzmD,QAM5B,CAAC,IAAD,oBACDsxG,EAAmB,OAAGx9F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmBq2E,kBAe7CroD,IAAyB,SAACD,GAAgC,IAAD,IAavD,OAZAA,EAAsBzb,aAAtB,OAAqCgrF,QAArC,IAAqCA,OAArC,EAAqCA,EAAqBtxG,QAC1D+hC,EAAsB/iB,KAAtB,OAA6BsyF,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAqB9zE,SAClDuE,EAAsB9iB,MAAtB,OAA8BqyF,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAqBnsG,MACnD48B,EAAsB7a,QAAUoqF,EAAoBvyF,QACpDgjB,EAAsBixB,WAAtB,OACEs+C,QADF,IACEA,OADF,EACEA,EAAqBtnB,aACvBjoD,EAAsB9I,gBACD,OAAnBq4E,QAAmB,IAAnBA,GAAA,UAAAA,EAAqB1nB,iBAArB,eAAgCxpF,QAAS,EAAzC,2BACiBkxG,QADjB,IACiBA,GADjB,UACiBA,EAAqB1nB,iBADtC,aACiB,EAAgC1qC,OAAO,KACjC,OAAnBoyD,QAAmB,IAAnBA,OAAA,EAAAA,EAAqB1nB,WAArB,2BACa0nB,QADb,IACaA,OADb,EACaA,EAAqB1nB,WAClC,GACC7nD,KAG2B,OAAlCuvE,EAAoB1nB,WACc,KAAlC0nB,EAAoB1nB,UAEpBpsE,MAAM,mDAEW9d,IAAb0c,GAAwBA,GAAS,IAMlC,OAAHtI,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWP,cAAX,eAAmB+8F,eAAnB,OACAj9F,QADA,IACAA,GADA,UACAA,EAAKS,YADL,iBACA,EAAWP,cADX,aACA,EAAmBg9F,cADnB,OAEAl9F,QAFA,IAEAA,GAFA,UAEAA,EAAKS,YAFL,iBAEA,EAAWP,cAFX,aAEA,EAAmBi9F,cAEnBnC,IAAgB,GAEhBA,IAAgB,IAGlB,OAAIh7F,QAAJ,IAAIA,GAAJ,UAAIA,EAAKS,YAAT,iBAAI,EAAWP,cAAf,aAAI,EAAmB+8F,cACrB/B,IAAyB,GACzB/nF,EAAW,MAEX+nF,IAAyB,GACzB/nF,EAAW,wCA9DbzJ,MAEE,kFAEFwkB,GAAyB,eAAK5E,UA6D3B,GxGj0FuB,KwGi0FnBt5B,EAAG7E,WAAuC,CAGnD,GAFAwd,GAAYiqC,mBACU,OAApB5yC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAOq2E,kBAAoB,GAC5D5tE,GAAYiqC,mBAAmB1mD,QAM7B,CAAC,IAAD,IACDsxG,EAAmB,OAAGx9F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmBq2E,kBAY7CroD,IAAyB,SAACD,GAcxB,OAbAA,EAAsBzb,aAAtB,OAAqCgrF,QAArC,IAAqCA,OAArC,EAAqCA,EAAqBtxG,QAC1D+hC,EAAsB/iB,KAAtB,OAA6BsyF,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAqB9zE,SAClDuE,EAAsB9iB,MAAtB,OAA8BqyF,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAqBnsG,MACnD48B,EAAsB7a,QAAUoqF,EAAoBvyF,QACpDgjB,EAAsBixB,WAAtB,OACEs+C,QADF,IACEA,OADF,EACEA,EAAqBtnB,aACvBjoD,EAAsB9I,eAAtB,OACEq4E,QADF,IACEA,OADF,EACEA,EAAqB1nB,UACvB7nD,EAAsBkrE,YAAtB,OACEqE,QADF,IACEA,OADF,EACEA,EAAqBJ,cACvBnvE,EAAsBorE,aAAtB,OACEmE,QADF,IACEA,OADF,EACEA,EAAqBH,eAEhBpvE,UAhCTvkB,MAEE,kFAEFwkB,GAAyB,eAAK5E,UAgCf19B,IAAb0c,GAAwBA,GAAS,QAChC,GxGz2FsB,KwGy2FlBtY,EAAG7E,WAGZ,GAFAwd,GAAYmqC,kBACU,OAApB9yC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAOq2E,kBAAoB,GAC5D5tE,GAAYmqC,kBAAkB5mD,QAM5B,CAAC,IAAD,IACDsxG,EAAmB,OAAGx9F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmBq2E,kBAU7CroD,IAAyB,SAACD,GAYxB,OAXAA,EAAsBzb,aAAtB,OAAqCgrF,QAArC,IAAqCA,OAArC,EAAqCA,EAAqBtxG,QAC1D+hC,EAAsB/iB,KAAtB,OAA6BsyF,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAqB9zE,SAClDuE,EAAsB9iB,MAAtB,OAA8BqyF,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAqBnsG,MACnD48B,EAAsB7a,QAAUoqF,EAAoBvyF,QACpDgjB,EAAsBixB,WAAtB,OACEs+C,QADF,IACEA,OADF,EACEA,EAAqBtnB,aACvBjoD,EAAsB9I,eAAtB,OACEq4E,QADF,IACEA,OADF,EACEA,EAAqB1nB,UAIhB7nD,UAEQriC,IAAb0c,GAAwBA,GAAS,QA9BrCoB,MAEE,kFAEFwkB,GAAyB,eAAK5E,UA4B3B,GxG54FiB,KwG44Fbt5B,EAAG7E,WAGZ,GAFAwd,GAAYkqC,aACU,OAApB7yC,EAAIS,KAAKP,OAAkBF,EAAIS,KAAKP,OAAOq2E,kBAAoB,GAC5D5tE,GAAYkqC,aAAa3mD,QAMvB,CAAC,IAAD,IACDsxG,EAAmB,OAAGx9F,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,iBAAG,EAAWP,cAAd,aAAG,EAAmBq2E,kBA2B7C0jB,EAAqBuD,GACrBtvE,IAAyB,SAACD,GA6BxB,OA5BAA,EAAsBzb,aAAtB,OAAqCgrF,QAArC,IAAqCA,OAArC,EAAqCA,EAAqBtxG,QAC1D+hC,EAAsB/iB,KAAtB,OAA6BsyF,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAqB9zE,SAClDuE,EAAsB9iB,MAAtB,OAA8BqyF,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAqBnsG,MACnD48B,EAAsB7a,QAAUoqF,EAAoBvyF,QACpDgjB,EAAsBixB,WAAtB,OACEs+C,QADF,IACEA,OADF,EACEA,EAAqBtnB,aACvBjoD,EAAsB9I,eAAtB,OACEq4E,QADF,IACEA,OADF,EACEA,EAAqB1nB,UACvB7nD,EAAsBkrE,YAGM,gBAF1B17E,KACEA,KAAM,OAAC+/E,QAAD,IAACA,OAAD,EAACA,EAAqBF,YAAa,eACzC5/E,OAAO,mBACL9xB,EACA6xB,KACEA,KAAM,OAAC+/E,QAAD,IAACA,OAAD,EAACA,EAAqBF,YAAa,eACzC5/E,OAAO,cACfuQ,EAAsBorE,aAGM,gBAF1B57E,KACEA,KAAM,OAAC+/E,QAAD,IAACA,OAAD,EAACA,EAAqBD,iBAAkB,eAC9C7/E,OAAO,mBACL9xB,EACA6xB,KACEA,KAAM,OACJ+/E,QADI,IACJA,OADI,EACJA,EAAqBD,iBACrB,eAEF7/E,OAAO,cAERuQ,UAEQriC,IAAb0c,GAAwBA,GAAS,GAIpBK,GAAYwQ,cAChB,OAAEqkF,QAAF,IAAEA,KAAqBznB,cAKG,QAAhB,OAAnBynB,QAAmB,IAAnBA,OAAA,EAAAA,EAAqB1nB,YACjB0nB,EAAoB1nB,eA5E5BpsE,MAEE,kFAEFwkB,GAAyB,eAAK5E,OAsFlCm0E,GAAyB,SAACz9F,EAAUsI,GACxC,IAAKtI,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,OACf6W,GAAa,OACR,CAOG,IAAD,EANP,GAAIrW,EAAIS,OAAJ,OAAYT,QAAZ,IAAYA,OAAZ,EAAYA,EAAKS,KAAKi9F,UACxBvqF,EAAW,IACXunF,IAAoB,QACH9uG,IAAb0c,GACFA,GAAS,QAGX6K,EAAU,OAACnT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWk8D,SACtB+9B,IAAoB,GAEtBrkF,GAAa,KAGXsnF,GAAoB,SAAC39F,EAAUsI,GAYzB,IAAD,GAXJtI,GAAOA,EAAIR,OACd2T,EAAWnT,EAAIR,OACf6W,GAAa,IAETrW,EAAIS,OAAJ,OAAYT,QAAZ,IAAYA,OAAZ,EAAYA,EAAKS,KAAKi9F,WACxBvqF,EAAW,IACXqnF,IAAe,QACE5uG,IAAb0c,IACF+N,GAAa,GACb/N,GAAS,MAGX6K,EAAU,OAACnT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWk8D,SACtB69B,IAAe,GACfnkF,GAAa,KA8Gb2tD,GAAmB,SACvBnyE,EACA7B,EACAm0B,EACAp0B,GACI,IACIo5D,EAAkBt3D,EAAlBs3D,OAAQkgB,EAAUx3E,EAAVw3E,MACZvuC,EAAa3d,KAAKC,MAAgB,IAAT+rC,EAAgBkgB,GACzCxK,EAAe,eAAQ3P,IACvBqa,EAAqB,eAAQza,IAC7BgQ,EAAe,eAAQ1P,IACvBoa,EAAqB,eAAQxa,IACjCp8D,QAAQC,IAAIsxB,EAAU,oBAClB2W,EAAa,IACJ,gBAAP9qC,GACF6uE,EAAgB7uE,GAAKA,EACrB6uE,EAAgBxgD,SAAU,EAC1BwgD,EAAgB50C,UAAY6Q,EAC5B+jC,EAAgB30C,cAAe,EAC/B20C,EAAgB10C,UAAW,EAC3BglC,GAAkB0P,IACF,sBAAP7uE,GACTu5E,EAAsBv5E,GAAKA,EAC3Bu5E,EAAsBlrD,SAAU,EAChCkrD,EAAsBt/C,UAAY6Q,EAClCyuC,EAAsBr/C,cAAe,EACrCq/C,EAAsBp/C,UAAW,EACjC4kC,GAAwBwa,IACR,gBAAPv5E,GACT8uE,EAAgB9uE,GAAKA,EACrB8uE,EAAgBzgD,SAAU,EAC1BygD,EAAgB70C,UAAY6Q,EAC5BgkC,EAAgB50C,cAAe,EAC/B40C,EAAgB30C,UAAW,EAC3BklC,GAAkByP,IACF,sBAAP9uE,IACTw5E,EAAsBx5E,GAAKA,EAC3Bw5E,EAAsBnrD,SAAU,EAChCmrD,EAAsBv/C,UAAY6Q,EAClC0uC,EAAsBt/C,cAAe,EACrCs/C,EAAsBr/C,UAAW,EACjC8kC,GAAwBua,IAEF,MAAf1uC,IACE,gBAAP9qC,GACF6uE,EAAgB7uE,GAAKA,EACrB6uE,EAAgBxgD,SAAU,EAC1BwgD,EAAgB50C,UAAY6Q,EAC5B+jC,EAAgB10C,UAAW,EAC3B00C,EAAgB30C,cAAe,EAC/B20C,EAAgBt6C,SAAWx0B,EAC3B8uE,EAAgB16C,SAAWA,EAC3BgrC,GAAkB0P,IACF,sBAAP7uE,GACTu5E,EAAsBv5E,GAAKA,EAC3Bu5E,EAAsBlrD,SAAU,EAChCkrD,EAAsBt/C,UAAY6Q,EAClCyuC,EAAsBp/C,UAAW,EACjCo/C,EAAsBr/C,cAAe,EACrCq/C,EAAsBhlD,SAAWx0B,EACjCw5E,EAAsBplD,SAAWA,EACjC4qC,GAAwBwa,IACR,gBAAPv5E,GACT8uE,EAAgB9uE,GAAKA,EACrB8uE,EAAgBzgD,SAAU,EAC1BygD,EAAgB70C,UAAY6Q,EAC5BgkC,EAAgB30C,UAAW,EAC3B20C,EAAgB50C,cAAe,EAC/B40C,EAAgBv6C,SAAWx0B,EAC3B+uE,EAAgB36C,SAAWA,EAC3BkrC,GAAkByP,IACF,sBAAP9uE,IACTw5E,EAAsBx5E,GAAKA,EAC3Bw5E,EAAsBnrD,SAAU,EAChCmrD,EAAsBv/C,UAAY6Q,EAClC0uC,EAAsBr/C,UAAW,EACjCq/C,EAAsBt/C,cAAe,EACrCs/C,EAAsBjlD,SAAWx0B,EACjCy5E,EAAsBrlD,SAAWA,EACjC8qC,GAAwBua,MAwB9B,IAAMpnC,GAAqB,SAACv6C,GAC1B,OAAIA,GAGK,IAGLoqF,GAAY,uCAAG,8BAAAv+E,EAAA,sDACnB2iB,GAAa,GxG7uGW,MwG+uGR,OAAd64C,SAAc,IAAdA,QAAA,EAAAA,GAAgB7qC,aACE,OAAlBu1E,GACgC,OAAnB,OAAbA,QAAa,IAAbA,OAAA,EAAAA,EAAe7jB,qBACkBnqF,KAApB,OAAbguG,QAAa,IAAbA,OAAA,EAAAA,EAAe7jB,gBAEX6nB,EAAmB,CACrBt2E,WAAY,qBACZjd,cAAe1B,GAAYwQ,cAC3B0kF,YAAW,OAAEjE,QAAF,IAAEA,OAAF,EAAEA,EAAe7jB,cAC5BxuD,aAAc,sBACdC,OAAQ,MAERs2E,SACsC,OAApCjwE,GAAiB1I,eACb0I,GAAiB1I,eACjB,IAERwzE,IACE,SAAC34F,GAAD,OACE29F,GAAkB39F,GAAK,WACrB67F,IACE,EACA/B,EACArwE,GACA,GACAhrB,SAGNm/F,IAGDn0E,IxGzwGyB,KwG0wGZ,OAAd2lC,SAAc,IAAdA,QAAA,EAAAA,GAAgB/qC,aACM,OAAtB21E,GACqC,QAApB,OAAjBA,QAAiB,IAAjBA,OAAA,EAAAA,EAAmBjkB,qBACkBnqF,KAApB,OAAjBouG,QAAiB,IAAjBA,OAAA,EAAAA,EAAmBjkB,eA2Bdt3E,MAzBDm/F,EAAmB,CACrBt2E,WAAY,qBACZjd,cAAe1B,GAAYwQ,cAC3B0kF,YAAW,OAAE7D,QAAF,IAAEA,OAAF,EAAEA,EAAmBjkB,cAChCxuD,aAAc,sBACdC,OAAQ,MAERs2E,SAC2C,OAAzC7vE,GAAsB9I,eAClB8I,GAAsB9I,eACtB,IAERwzE,IACE,SAAC34F,GAAD,OACEy9F,GAAuBz9F,GAAK,WAC1B67F,IACE,EACA3B,EACAzwE,GACA,GACAhrB,SAGNm/F,IA/De,2CAAH,qDAmEZn/F,GAAqB,WAAO,IAAD,gBACzBmkC,EAA4B32C,GAChCgiC,GAAsBzb,aACtByb,GAAsB/iB,MAElB23B,EAAuB52C,GAC3B4hC,GAAiBrb,aACjBqb,GAAiB3iB,MAEfwQ,EAAS,IACb9oB,QAAQC,IAAI,oBAAqBowB,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,QAC9D,IAAMwd,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,YD/qHF,SACjCuT,EACAy1F,GAEA31F,GACE,CACEkB,IAAK,mBACLd,OAAQ,OACRtQ,KAAM6lG,EACN30F,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa6E,oBAE5B6J,GCqvHA01F,EAAoB,SAACh+F,GAAD,OAAci+F,GAAej+F,KAjFxB,CACvBqK,cAAe1B,GAAYwQ,cAC3B0e,qBAAsBpO,GACtBxD,UAAWnxB,SAAS4mB,GACpB4lC,6BAA8B,CAC5BC,2BACEnf,GAAmBQ,EAA0Br2C,WAAa,GAC5Di1D,2BACEpf,GAAmBQ,EAA0Bn2C,WAAa,GAC5Dg1D,2BACErf,GAAmBQ,EAA0Bl2C,WAAa,GAC5Dg1D,2BACEtf,GAAmBQ,EAA0Bj2C,WAAa,GAC5Di1D,sBAAuB3zB,GAAsB7a,QAC7C8qF,sBAAuBjwE,GAAsBxa,QAC7C0qF,oBAAqBlwE,GAAsB9iB,MAC3CizF,mBAAoBnwE,GAAsB/iB,KAC1CmzF,uBAAwBpwE,GAAsBza,SAC9C8qF,mBAAoBrwE,GAAsBrjB,KAC1C2zF,wBAAyB1xG,OAAOohC,GAAsBva,WACtD8qF,0BAA2B3xG,OAAOohC,GAAsBta,aACxD8qF,0BxGr5GmB,KwGs5GnBC,QAAQ,EACRC,mBAAwC,OAArB1wE,SAAqB,IAArBA,QAAA,EAAAA,GAAuBkrE,aAAvB,OACflrE,SADe,IACfA,IADe,UACfA,GAAuBkrE,mBADR,iBACf,EAAoCttF,MAAM,KAAK2tF,iBADhC,aACf,EAA0D5sF,KAAK,KAC/D,KAEJgyF,oBAAyC,OAArB3wE,SAAqB,IAArBA,QAAA,EAAAA,GAAuBorE,cAAvB,OAChBprE,SADgB,IAChBA,IADgB,UAChBA,GAAuBorE,oBADP,iBAChB,EAAqCxtF,MAAM,KAAK2tF,iBADhC,aAChB,EAA2D5sF,KAAK,KAChE,KAEJiyF,aAAc5wE,GAAsBixB,WAChCjxB,GAAsBixB,WACtB,GACJ/5B,eACyB,iBAAvByqC,GACI3hC,GAAsB9I,eAAeimB,OAAO,GAC5Cnd,GAAsB9I,eAC5Bf,WAAYgrC,GAAe/qC,WACvBx3B,OAAOuiE,GAAe/qC,YACtBoF,GACA58B,OAAOqiE,GAAe7qC,YACtB,IAEN48B,wBAAyB,CACvBC,sBACE9e,GAAmBS,EAAqBt2C,WAAa,GACvD40D,sBACE/e,GAAmBS,EAAqBp2C,WAAa,GACvD20D,sBACEhf,GAAmBS,EAAqBn2C,WAAa,GACvD20D,sBACEjf,GAAmBS,EAAqBl2C,WAAa,GACvDg1D,iBAAkB9zB,GAAiBza,QACnC0rF,iBAAkBjxE,GAAiBpa,QACnCsrF,eAAgBlxE,GAAiB1iB,MACjCqK,cAAeqY,GAAiB3iB,KAChC8zF,kBAAmBnxE,GAAiBra,SACpCyrF,cAAepxE,GAAiBjjB,KAChCs0F,mBAAoBryG,OAAOghC,GAAiBna,WAC5CyrF,qBAAsBtyG,OAAOghC,GAAiBla,aAC9CyrF,qBxG77GmB,KwG87GnBV,QAAQ,EACRC,mBAAmC,OAAhB9wE,SAAgB,IAAhBA,QAAA,EAAAA,GAAkBsrE,aAAlB,OACftrE,SADe,IACfA,IADe,UACfA,GAAkBsrE,mBADH,iBACf,EAA+BttF,MAAM,KAAK2tF,iBAD3B,aACf,EAAqD5sF,KAAK,KAC1D,KACJgyF,oBAAoC,OAAhB/wE,SAAgB,IAAhBA,QAAA,EAAAA,GAAkBwrE,cAAlB,OAChBxrE,SADgB,IAChBA,IADgB,UAChBA,GAAkBwrE,oBADF,iBAChB,EAAgCxtF,MAAM,KAAK2tF,iBAD3B,aAChB,EAAsD5sF,KAAK,KAC3D,KACJiyF,aAAchxE,GAAiBqxB,WAC3BrxB,GAAiBqxB,WACjB,GACJ/5B,eACqB,iBAAnBuqC,GACI7hC,GAAiB1I,eAAeimB,OAAO,GACvCvd,GAAiB1I,eACvBf,WAAY8qC,GAAe7qC,WACvBx3B,OAAOqiE,GAAe7qC,YACtB,OAsIJ45E,GAAiB,SAACj+F,GAId,IAAD,EAHP,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,YAEf,IAAO,OAAHQ,QAAG,IAAHA,OAAA,EAAAA,EAAKS,QAAL,OAAaT,QAAb,IAAaA,GAAb,UAAaA,EAAKS,YAAlB,aAAa,EAAWP,QAAQ,CAElCipC,GAAqBlhD,GAAaC,aAGlCquB,GAAQM,KAAKuyB,MAEb,IAAMxzB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAYyM,gBAAgBnK,QAAU4iB,GAAiBza,QACvDzK,GAAY2tB,UAAW,EACvB1gB,EAAwBxC,QAAUya,GAAiBza,QACnDwC,EAAwB0gB,UAAW,EACnC1gB,EAAwB6T,gBAAkBA,GAC1C7T,EAAwBpD,aAAeqb,GAAiBrb,aACnDiX,KACH7T,EAAwB4T,YACtByE,GAAsBzb,aACxBoD,EAAwB+T,YAAcsE,GAAsB7a,SAE9DpK,aAAa6M,QACX,0BACAtT,KAAK2G,UAAU0M,IAEjB5M,aAAa0gC,WAAW,qBACnB,CAAC,IAAD,EACLv2B,EAAU,OAACnT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWgpD,SAG1BpzC,GAAa,IAqBf,OAnBAzjB,QAAQC,IAAI,WAAYg7B,GAAkBI,IAC1Cr7B,QAAQC,IACN,QACmB,oBAAnB68D,IAAuD,GAAf6qC,GACjB,oBAAvB3qC,IAAgE,GAApB6qC,GAC5C5sE,GACAI,GACA,YACA9W,OAAO+pB,OAAOrT,IAAkBsT,MAAK,SAACt5C,GAAD,OAAYA,MAC/CsvB,OAAO+pB,OAAOjT,IAAuBkT,MAAK,SAACt5C,GAAD,OAAYA,MACtDsvB,OAAO+pB,OAAOjS,IAAckS,MAAK,SAAC3hC,GAAD,OAAWA,MAC5C2X,OAAO+pB,OAAO/R,IAAcgS,MAAK,SAAC3hC,GAAD,OAAWA,MAC5C2X,OAAO+pB,OAAOluB,IAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,MAClB,oBAAnBkwD,IAAuD,GAAf6qC,IACjB,oBAAvB3qC,IAAgE,GAApB6qC,IACzB,iBAAnB/qC,KAAsCirC,IACf,iBAAvB/qC,KAA0CqrC,GACtB,iBAAvBrrC,KAA0CqrC,IAG1C,yBAAK1zG,UAAU,YACb,yBAAKA,UAAU,eAAf,sBACA,yBAAKA,UAAU,iBAAf,sFAIA,yBAAKA,UAAW,eAAiB2P,EAAY,QAAU,KACrD,yBAAK3P,UAAU,SAEb,2BAAOA,UAAU,WAAjB,4BACA,kBAAC,GAAD,CACEwB,KAAK,2BACL6E,aAAY,UACV6rG,GAAuBj0F,MACrB,SAAC7T,GAAD,OAAUA,EAAK7J,UAAY4nE,aAFnB,aACV,EAEG5nE,QAEL4J,eAAgB,SAACT,GAAD,OA5xGK,SAACA,GAC9B,GAAIA,GAAOA,EAAIpJ,MAQb,OAPAqnE,GAAe7wC,SAAU,EACzB6wC,GAAe7qC,WAAapzB,EAAIpJ,MAChCsnE,GAAkBD,IAClBS,GAAkB1+D,EAAInJ,SACtB0yG,IAAe,GACfI,IAAoB,GAEZ3pG,EAAInJ,SACV,IAAK,eACHgmC,GAAoB,2BACfxE,IADc,IAEjBnE,eAAgB,MAElB+J,GAAgB,2BACXD,IADU,IAEb9J,oBAAgBv5B,KAElB,MACF,IAAK,kBACHkiC,GAAoB,2BACfxE,IADc,IAEjBnE,eAAgB,GAChBg0E,YAAa,GACbE,aAAc,MAEhBnqE,GAAgB,2BACXD,IADU,IAEb9J,oBAAgBv5B,EAChButG,iBAAavtG,EACbytG,kBAAcztG,KAEhB,MACF,IAAK,WACHkiC,GAAoB,2BACfxE,IADc,IAEjBnE,eAAgB,GAChBg0E,YAAa,MAEfjqE,GAAgB,2BACXD,IADU,IAEb9J,oBAAgBv5B,EAChButG,iBAAavtG,KAEf,MACF,IAAK,WACHkiC,GAAoB,2BACfxE,IADc,IAEjBnE,eAAgB,GAChBg0E,YAAa,GACbE,aAAc,MAEhBnqE,GAAgB,2BACXD,IADU,IAEb9J,oBAAgBv5B,EAChButG,iBAAavtG,EACbytG,kBAAcztG,KAEhB,MACF,QACEkiC,GAAoB,eAAKxE,KACzB4F,GAAgB,eACXD,MA6tGsBy6C,CAAuBz4E,IAChDG,aAAc,EACdgB,QAASqnG,GACT7pG,OAAQ,SAACqB,GAAD,OAASwqG,GAAkBxqG,EAAK,qBACxCnD,UAAWklB,GAAO6a,iBAClB38B,UAAU,UACVxB,YAAY,gCACZ0E,aAAa,IAEf,2BAAO7M,UAAU,wBAAjB,iGAICmoE,IACC,6BACE,yBAAKnoE,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,cACHy1D,8BAA+B,qBAC/BvhC,OAAQgrC,GACR1J,oBAxgGyB,SACvCv0D,EACAkzB,EACAn0B,EACAD,GAGA,GADAsmB,GAAa,GACkB,QAA3B8N,EAAStY,MAAM,KAAK,IAA8C,MAA9BqjD,GAAe7qC,WAOrD,GANAspC,IAAa,GACbwB,IAAkB,SAACD,GAGjB,OAFAA,EAAe7kC,OAASp5B,EAAK4a,MAAM,KAAK,GACxCqjD,EAAe/qC,SAAWA,EACnB+qC,KxGxnBkB,MwG0nBvBA,GAAe7qC,WAAkC,CACnD,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBopC,GAAe7kC,OAC/B3C,iBAAkB,0BAClBv8B,WAAY+jE,GAAe7qC,WAC3B3U,OAAQpkB,IAEVw9B,IACE,SAAC9oB,GAAD,OAAc27F,GAAgB37F,EAAKhQ,EAAIm0B,EAAUp0B,KACjD6zE,OAEG,CACL,IAAMg4B,EAAa,CACjBzxF,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChC6b,iBAAkBwnC,GAAexnC,iBACjCv8B,WAAY+jE,GAAe7qC,WAC3B3U,OAAQpkB,IxG3oBgB,MwG6oBtB4jE,GAAe7qC,YACjBhO,GAAa,GACbsR,IACE,SAAC3nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAE1D4rG,IxGppBqB,MwGspBd1sC,GAAe7qC,YACxBhO,GAAa,GACbwR,IACE,SAAC7nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAE1D4rG,IxG7pBgB,MwG+pBT1sC,GAAe7qC,aACxBhO,GAAa,GACb0jF,EAAuB,CACrB/pG,GAAIA,EACJm0B,SAAUA,EACVp0B,KAAMA,EACN+rG,SAAU9rG,IAEZ+3B,IAAW,SAAC/nB,GACV+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAEvD4rG,SAWP,GAPAzsC,IAAkB,SAACD,GAGjB,OAFAA,EAAe7kC,OAASp5B,EAAK4a,MAAM,KAAK,GACxCqjD,EAAe/qC,SAAWA,EACnB+qC,KAETvB,IAAa,GACb6D,IAAe,GxGzrBY,MwG0rBvBtC,GAAe7qC,WAAkC,CACnD,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChC6b,iBAAkB,0BAClBv8B,WAAY+jE,GAAe7qC,WAC3B3U,OAAQpkB,IAEVw9B,IACE,SAAC9oB,GAAD,OAAc27F,GAAgB37F,EAAKhQ,EAAIm0B,EAAUp0B,KACjD6zE,OAEG,CACL,IAAMg4B,EAAa,CACjBzxF,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChC6b,iBAAkBwnC,GAAexnC,iBACjCv8B,WAAY+jE,GAAe7qC,WAC3B3U,OAAQpkB,IxG3sBgB,MwG6sBtB4jE,GAAe7qC,YACjBhO,GAAa,GACbsR,IACE,SAAC3nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAE1D4rG,IxGptBqB,MwGstBd1sC,GAAe7qC,YACxBhO,GAAa,GACbwR,IACE,SAAC7nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAE1D4rG,IxG7tBgB,MwG+tBT1sC,GAAe7qC,aACxBhO,GAAa,GACb0jF,EAAuB,CACrB/pG,GAAIA,EACJm0B,SAAUA,EACVp0B,KAAMA,EACN+rG,SAAU9rG,IAEZ+3B,IAAW,SAAC/nB,GACV+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAEvD4rG,MAs4FK12C,SAxpGhB,SAAkCj0D,GAChCk+D,GAAkB,2BACbnlC,IADY,IAEf3L,SAAS,EACTgG,WAAY6qC,GAAe7qC,WAC3BM,mBAAkB,OAAEuqC,SAAF,IAAEA,QAAF,EAAEA,GAAgBvqC,sBAEtCmJ,GAAoB,eAAKxE,QAmpGQ,IAApBgsC,EACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,MAKd,IAGH/D,GACC,yBAAKhqE,UAAU,OACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,oBACHk0B,OAAQ4qC,GACRrJ,8BAA+B,qBAC/BD,oBAnoGpB,SACEv0D,EACAkzB,EACAn0B,EACAD,GAKA,GAHAsmB,GAAa,GAEb04C,GAAwBD,IAEK,QAA3B3qC,EAAStY,MAAM,KAAK,IACgB,MAApCijD,GAAqBzqC,WAWrB,GATA0qC,IAAwB,SAACD,GAMvB,OALAA,EAAqB1kC,OAAS,GAC9B0kC,EAAqB3qC,SAAWA,EAChC2qC,EAAqBzkC,OAASp5B,EAAK4a,MAAM,KAAK,GAC9CijD,EAAqBnqC,mBAArB,OACEuqC,SADF,IACEA,QADF,EACEA,GAAgBvqC,mBACXmqC,KAETnB,IAAa,GxG9hBc,MwGgiBzBuB,GAAe7qC,YxG3hBc,KwG4hB7B6qC,GAAe7qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBgpC,GAAqBzkC,OACrC3C,iBAAkB,0BAClBv8B,WAAY2jE,GAAqBzqC,WACjC3U,OAAQpkB,IAEVw9B,IACE,SAAC9oB,GAAD,OAAc27F,GAAgB37F,EAAKhQ,EAAIm0B,EAAUp0B,KACjD6zE,OAEG,CACL7U,IAAwB,SAACD,GAMvB,OALAA,EAAqB1kC,OAAS,GAC9B0kC,EAAqB3qC,SAAWA,EAChC2qC,EAAqBzkC,OAASp5B,EAAK4a,MAAM,KAAK,GAC9CijD,EAAqBnqC,mBAArB,OACEuqC,SADF,IACEA,QADF,EACEA,GAAgBvqC,mBACXmqC,KAGQnmD,GAAYwQ,cACXloB,EAAK4a,MAAM,KAAK,GACdqjD,GAAexnC,iBACrBwnC,GAAe7qC,WAG7Bw3E,IAAa,EAAM,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,IAAM,QAyC3DqmB,GAAa,GACbs3C,IAAa,GACb6D,IAAe,IAsiGCtM,SAzqGpB,SAAmCj0D,GACjC89D,GAAwB,2BACnBpD,IADkB,IAErBtnC,WAAY6qC,GAAe7qC,WAC3BM,mBAAkB,OAAEuqC,SAAF,IAAEA,QAAF,EAAEA,GAAgBvqC,sBAEtCmJ,GAAoB,eAAKxE,QAqqGe,IAAvB8wE,EACC,6BACE,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,MAKd,KAKR,yBAAK7yG,UAAU,SACb,2BACEA,UAAWmmE,GAAY,SAAW,gBAClCp9D,QAAS,WAxsDrBkhE,KADE9D,MA2sDU,0BAAMnmE,UAAU,mBAJlB,oBAUR,0BAAMA,UAAU,oBACd,8BAAU2I,SAAUgH,GAClB,qCACuC,OAAlC22B,GAAiBrb,mBACgB5mB,IAAlCiiC,GAAiBrb,cACiB,KAAlCqb,GAAiBrb,cACa,OAA7Bqb,GAAiBza,cACaxnB,IAA7BiiC,GAAiBza,SACY,KAA7Bya,GAAiBza,SACQ,OAA1Bya,GAAiB3iB,WACUtf,IAA1BiiC,GAAiB3iB,MACS,KAA1B2iB,GAAiB3iB,MACS,OAA3B2iB,GAAiB1iB,YACWvf,IAA3BiiC,GAAiB1iB,OACU,KAA3B0iB,GAAiB1iB,QACnB,oCACE,kBAACk0F,GAAD,CACE3vC,eAAgBA,GAChB/8C,WAAYkb,GACZtb,gBAAiB0c,GACjB+pE,oBAAqB,SAACzlF,GACpBua,GAAoBva,GACpBkW,IAAmByE,GAAyB3a,IAE9C0lF,kBAAmB/pE,GACnBqqE,YACE,IAIJ,kBAAC,GAAD,CACE5mF,WAAYkb,GACZ5Z,WACE,EAEFL,aAAa,kBACbG,YAAY,iBACZZ,WAAYA,EACZE,gBAAiB,SAACE,GAChBua,GAAoBva,GACpBkW,IAAmByE,GAAyB3a,IAE9CD,cAAe4b,GACflb,kBAAmB,iBAIvByV,IACA,oCACE,6BACA,6BACA,2BAAOliC,UAAU,YAAjB,gCAGA,yBAAKA,UAAU,aACb,kBAAC,GAAD,CACEwB,KAAK,4BACL6E,aAAY,UACV8rG,GAAuBl0F,MACrB,SAAC7T,GAAD,OAAUA,EAAK7J,UAAY8nE,aAFnB,aACV,EAEG9nE,QAEL4J,eAAgB,SAACT,GAAD,OAt1GA,SAACA,GACnC,GAAIA,GAAOA,EAAIpJ,MAYb,OAXAwnE,IAAkB,SAACD,GAGjB,OAFAA,EAAe/wC,SAAU,EACzB+wC,EAAe/qC,WAAapzB,EAAIpJ,MACzBunE,KAITS,GAAsB5+D,EAAInJ,SAC1BozG,IAAyB,GACzBR,IAAoB,GAEZzpG,EAAInJ,SACV,IAAK,eACHomC,GAAyB,2BACpB5E,IADmB,IAEtBnE,eAAgB,MAElBiK,GAAgB,2BACXD,IADU,IAEbhK,oBAAgBv5B,KAElB,MACF,IAAK,kBACHsiC,GAAyB,2BACpB5E,IADmB,IAEtBnE,eAAgB,GAChBg0E,YAAa,GACbE,aAAc,MAEhBjqE,GAAgB,2BACXD,IADU,IAEbhK,oBAAgBv5B,EAChButG,iBAAavtG,EACbytG,kBAAcztG,KAEhB,MACF,IAAK,WACHsiC,GAAyB,2BACpB5E,IADmB,IAEtBnE,eAAgB,GAChBg0E,YAAa,MAEf/pE,GAAgB,2BACXD,IADU,IAEbhK,oBAAgBv5B,EAChButG,iBAAavtG,KAEf,MACF,IAAK,WACHsiC,GAAyB,2BACpB5E,IADmB,IAEtBnE,eAAgB,GAChBg0E,YAAa,GACbE,aAAc,MAEhBjqE,GAAgB,2BACXD,IADU,IAEbhK,oBAAgBv5B,EAChButG,iBAAavtG,EACbytG,kBAAcztG,KAEhB,MACF,QACEsiC,GAAyB,eAAK5E,KAC9B8F,GAAgB,eACXD,MAmxGgCm9C,CAA4Br7E,IACrDG,aAAc,EACdgB,QAASsnG,GACT9pG,OAAQ,SAACqB,GAAD,OACNwqG,GAAkBxqG,EAAK,0BAEzBnD,UAAWklB,GAAOib,sBAClB/8B,UAAU,UACVxB,YAAY,gCACZ0E,aAAa,IAGf,6BACE,2BAAO7M,UAAU,wBAAjB,iGAICqoE,IACC,oCACE,yBAAKroE,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,cACHk0B,OAAQkrC,GACR3J,8BACE,qBAEFD,oBA/gGkB,SAC5Cv0D,EACAkzB,EACAn0B,EACAD,GAYA,GAVAsmB,GAAa,GACbg5C,IAAkB,SAACD,GAIjB,OAHAA,EAAehlC,OAAS,GACxBglC,EAAe/kC,OAASp5B,EAAK4a,MAAM,KAAK,GACxCujD,EAAejrC,SAAWA,EACnBirC,KAITx8D,QAAQC,IAAI,qBAAsBsxB,EAAUlzB,GACb,QAA3BkzB,EAAStY,MAAM,KAAK,IAA8C,MAA9BujD,GAAe/qC,WAGrD,GAFAwpC,IAAiB,GxGrwBU,MwGwwBzBuB,GAAe/qC,YxGnwBc,KwGowB7B+qC,GAAe/qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBspC,GAAe/kC,OAC/B3C,iBAAkB,+BAClBv8B,WAAYikE,GAAe/qC,WAC3B3U,OAAQpkB,IAEVw9B,IACE,SAAC9oB,GAAD,OAAc27F,GAAgB37F,EAAKhQ,EAAIm0B,EAAUp0B,KACjD6zE,OAEG,CACL,IAAMg4B,EAAa,CACjBzxF,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChC6b,iBAAkB0nC,GAAe1nC,iBACjCv8B,WAAYikE,GAAe/qC,WAC3B3U,OAAQpkB,IxGtxBoB,KwGwxB1B8jE,GAAe/qC,YACjBhO,GAAa,GACbsR,IACE,SAAC3nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAE1D4rG,IxG/xByB,KwGiyBlBxsC,GAAe/qC,YACxBhO,GAAa,GACbwR,IACE,SAAC7nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAE1D4rG,IxGxyBoB,KwG0yBbxsC,GAAe/qC,aACxBzxB,QAAQC,IAAI,mBACZsnG,EAA2B,CAAEnqG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,IAC3DqmB,GAAa,GACb0R,IAAW,SAAC/nB,GACV+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAEvD4rG,SAQP,GAHA/tC,IAAiB,GACjB6D,IAAmB,GxGj0BQ,MwGo0BzBtC,GAAe/qC,YxG/zBc,KwGg0B7B+qC,GAAe/qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBspC,GAAe/kC,OAC/B3C,iBAAkB,+BAClBv8B,WAAYikE,GAAe/qC,WAC3B3U,OAAQpkB,IAEVw9B,IACE,SAAC9oB,GAAD,OAAc27F,GAAgB37F,EAAKhQ,EAAIm0B,EAAUp0B,KACjD6zE,OAEG,CACL,IAAMg4B,EAAa,CACjBzxF,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChC6b,iBAAkB0nC,GAAe1nC,iBACjCv8B,WAAYikE,GAAe/qC,WAC3B3U,OAAQpkB,IxGl1BoB,KwGo1B1B8jE,GAAe/qC,YACjBhO,GAAa,GACbsR,IACE,SAAC3nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAE1D4rG,IxG31ByB,KwG61BlBxsC,GAAe/qC,YACxBhO,GAAa,GACbwR,IACE,SAAC7nB,GAAD,OACE+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAE1D4rG,IxGp2BoB,KwGs2BbxsC,GAAe/qC,aACxBhO,GAAa,GACb8jF,EAA2B,CAAEnqG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,IAC3D+3B,IAAW,SAAC/nB,GACV+7F,GAAa/7F,EAAK47F,GAAY,SAAC57F,GACjB,OAARA,QAAwBpU,IAARoU,GAClB67F,IAAa,EAAO,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,SAEvD4rG,MAg5FiB12C,SA3iE5B,SAAkCj0D,GAChCo+D,GAAkB,2BACbrlC,IADY,IAEf3L,SAAS,EACTgG,WAAY+qC,GAAe/qC,WAC3BM,mBAAkB,OAAEyqC,SAAF,IAAEA,QAAF,EAAEA,GAAgBzqC,sBAEtCuJ,GAAyB,eAAK5E,QAsiEe,IAApBksC,EACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,MAKd,IAGH/D,IACC,yBAAKlqE,UAAU,OACb,yBAAKA,UAAU,SACb,kBAAC,GAAD,CACEyI,GAAG,oBACHy1D,8BACE,qBAEFvhC,OAAQ8qC,GACRxJ,oBAp6FoB,SAClDv0D,EACAkzB,EACAn0B,EACAD,GAQA,GANAsmB,GAAa,GACb24C,GAAqB5kC,OAAS,GAC9B4kC,GAAqB7qC,SAAWA,EAChC6qC,GAAqB3kC,OAASp5B,EAAK4a,MAAM,KAAK,GAC9CmjD,GAAqBrqC,mBAAqByqC,GAAezqC,mBACzDsqC,GAAwBD,IAEK,QAA3B7qC,EAAStY,MAAM,KAAK,IACgB,MAApCmjD,GAAqB3qC,WAGrB,GADAwpC,IAAiB,GxG34BU,MwG64BzBuB,GAAe/qC,YxGx4Bc,KwGy4B7B+qC,GAAe/qC,WACf,CACA,IAAMu/C,EAAY,CAChBz5D,cAAexB,GAAYwQ,cAC3B2M,eAAgBkpC,GAAqB3kC,OACrC3C,iBAAkB,0BAClBv8B,WAAY6jE,GAAqB3qC,WACjC3U,OAAQpkB,IAEVsH,QAAQC,IAAI,mBACZi2B,IACE,SAAC9oB,GAAD,OAAc27F,GAAgB37F,EAAKhQ,EAAIm0B,EAAUp0B,KACjD6zE,OAEG,CAEYj7D,GAAYwQ,cACXloB,EAAK4a,MAAM,KAAK,GACdujD,GAAe1nC,iBACrB0nC,GAAe/qC,WAG7Bw3E,IAAa,EAAM,CAAE7rG,KAAIm0B,WAAUp0B,OAAM+rG,SAAU9rG,IAAM,QAwC3D69D,IAAiB,GACjB6D,IAAmB,IAq1FSxM,SA9jEhC,SAAmCj0D,GACjCg+D,GAAwB,2BACnBtD,IADkB,IAErBtnC,WAAY+qC,GAAe/qC,WAC3BM,mBAAkB,OAAEyqC,SAAF,IAAEA,QAAF,EAAEA,GAAgBzqC,sBAEtCuJ,GAAyB,eAAK5E,QA0jEmB,IAApBksC,EACC,6BACG,IACD,6BACA,kBAAC,GAAD,KACE,oCACE,+BAAQA,MAKd,KAKR,yBAAKjuE,UAAU,SACb,2BACEA,UACEqmE,GAAgB,SAAW,gBAE7Bt9D,QAAS,WAv1DjCohE,KADE9D,MA01DsB,0BAAMrmE,UAAU,mBANlB,uBAiBZkiC,IACwC,OAAvCwE,GAAsBzb,mBACkB5mB,IAAvCqiC,GAAsBzb,cACiB,KAAvCyb,GAAsBzb,cACiB,MAAvCyb,GAAsBzb,cACW,OAAlCyb,GAAsB7a,cACaxnB,IAAlCqiC,GAAsB7a,SACY,KAAlC6a,GAAsB7a,SACQ,OAA/B6a,GAAsB/iB,WACUtf,IAA/BqiC,GAAsB/iB,MACS,KAA/B+iB,GAAsB/iB,MACS,OAAhC+iB,GAAsB9iB,YACWvf,IAAhCqiC,GAAsB9iB,OACU,KAAhC8iB,GAAsB9iB,QACxB,oCACE,kBAACk0F,GAAD,CACE3vC,eAAgBE,GAChBj9C,WAAYsb,GACZ1b,gBAAiB4c,GACjB6pE,oBAAqB,SAACzlF,GACpB2a,GAAyB3a,IAE3B0lF,kBAAmB7pE,GACnBmqE,YACE,IAKJ,kBAAC,GAAD,CACE5mF,WAAYsb,GACZha,WACE,EAIFL,aAAa,uBACbG,YAAY,iBACZZ,WAAYA,EACZE,gBAAiB6a,GACjB5a,cAAe8b,GACfvb,iBAAe,EACfC,YAAa2V,GACbzV,kBA7pBlB,SAA2BniB,GACC,yBAAtBA,EAAMlD,OAAO5F,OACf0gC,IAAmByE,GAAyB,eAAK5E,MAChDG,IAAmByE,GAAyB,eAAKL,KAC7CpE,IACH2F,GAAgB,IAElBK,IAAoBhG,IACpB4lC,GAAkB,2BACbrlC,IADY,IAEftC,iBAAgB,OAAE0nC,SAAF,IAAEA,QAAF,EAAEA,GAAgB1nC,iBAClC/C,mBAAkB,OAAEyqC,SAAF,IAAEA,QAAF,EAAEA,GAAgBzqC,sBAEtCsqC,GAAwB,eAAKtD,KAC7B14C,GAAU,2BAAKD,IAAN,IAAcib,sBAAuB,MAC9C4hC,GAAsB,IACtBqrC,IAAyB,GACzBR,IAAoB,OA8oBR,yBAAKnzG,UAAU,kBACb,kBAAC,GAAD,CACE6O,SAAS,EACTrN,KAAK,UACLyF,SAAU,eAEZ,2BAAOjH,UAAU,uCAAjB,2DAQPyuB,GACC,yBAAKzuB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAgBhB,yBAAKzuB,UAAU,aACb,kBAAC,GAAD,CACE2P,UAAWA,EACXE,QAAQ,uBACR9G,QAAS2hF,GACT/hF,SACEinB,OAAO+pB,OAAOrT,IAAkBsT,MAAK,SAACt5C,GAAD,OAAYA,MACjDsvB,OAAO+pB,OAAOjT,IAAuBkT,MACnC,SAACt5C,GAAD,OAAYA,MAEdsvB,OAAO+pB,OAAOjS,IAAckS,MAAK,SAAC3hC,GAAD,OAAWA,MAC5C2X,OAAO+pB,OAAO/R,IAAcgS,MAAK,SAAC3hC,GAAD,OAAWA,MAC5C2X,OAAO+pB,OAAOluB,IAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,MAClB,oBAAnBkwD,IACgB,GAAf6qC,IACsB,oBAAvB3qC,IACqB,GAApB6qC,IACkB,iBAAnB/qC,KAAsCirC,IACf,iBAAvB/qC,KACEqrC,W,qCEj3GNqE,GA54BY,SAACh4G,GAC1B,IAAMivB,EAAUC,cADyB,EAEG7oB,IAAM8G,UAAkB,GAF3B,mBAElC8qG,EAFkC,KAElBC,EAFkB,OAGT7xG,IAAM8G,SAA0B,CAC9DgrG,KAAM,GACNvmG,SAAU,GACVqmG,gBAAgB,IANuB,mBAGlCG,EAHkC,KAGxBC,EAHwB,OAQPhyG,IAAM8G,UAAkB,GARjB,mBAQlCyC,EARkC,KAQvBmf,EARuB,OASK1oB,IAAM8G,UAAkB,GAT7B,mBASlCmrG,EATkC,KASjBC,EATiB,OAULlyG,IAAM8G,UAAkB,GAVnB,mBAUlCqrG,EAVkC,KAUtBC,EAVsB,OAWTpyG,IAAM8G,UAAkB,GAXf,mBAWlCurG,EAXkC,KAWxBC,EAXwB,OAYTtyG,IAAM8G,SAAiB,IAZd,mBAYlCyrG,EAZkC,KAYxBC,EAZwB,OAcvCxyG,IAAM8G,UAAkB,GAde,mBAalC2rG,EAbkC,KAaZC,EAbY,OAgBvC1yG,IAAM8G,UAAkB,GAhBe,mBAelC6rG,EAfkC,KAeXC,EAfW,OAiBD5yG,IAAM8G,UAAkB,GAjBvB,mBAiBpB+rG,GAjBoB,aAkBD7yG,IAAM8G,UAAkB,GAlBvB,mBAkBlCgsG,EAlBkC,KAkBpBC,EAlBoB,OAoBvC/yG,IAAM8G,UAAkB,GApBe,mBAmBlCksG,EAnBkC,KAmBfC,EAnBe,KAqBnCC,EAAY,SAAC/sG,EAAajM,GAC9B83G,GAAY,SAACmB,GACX,OAAO,2BACFA,GADL,mBAEGhtG,EAAMjM,QAzB4B,OAqCS8F,IAAM8G,SAEtD,CAAC,KAvCsC,qBAqClC0/D,GArCkC,MAqCfC,GArCe,MA2CnCn9B,GAAoB,SAACj3B,GACzB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,YAGzB,GAAIQ,EAAIS,KAAM,CACZ,IAAMk9D,EAAcp7D,KAAKC,MAAMxC,EAAIS,MAAMzP,QACvC,SAACW,GAAD,MAA+B,aAAhBA,EAAKyO,eAEFxU,IAAhB+xE,IAAwC,OAAXA,QAAW,IAAXA,OAAA,EAAAA,EAAarxE,QAAS,GACrDqzG,GAAY,SAACD,GAGX,OAFAA,EAASv7E,SAAW,GACpBu7E,EAASh8B,aAAe,GACjBg8B,KAGXtrC,GAAqBuJ,KAqDrBojC,GAAe,W9D+EM,IAACz4F,EAA4Bke,E8D9EtDy5E,GAAY,G9D8Ec33F,E8D7EZ,SAACtI,GACb,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,OACzBygG,GAAY,QAEP,GAAIjgG,EAAIS,MAAqB,OAAbT,EAAIS,KAAe,CACxC,IAAIgJ,EAAUlH,KAAKC,MAAMxC,EAAIS,MACP,MAAX,OAAPgJ,QAAO,IAAPA,OAAA,EAAAA,EAAS0oC,OAAqC,MAAf,OAAP1oC,QAAO,IAAPA,OAAA,EAAAA,EAASvQ,UACnCymG,GAAY,SAACD,GAUX,OATAA,EAASD,KAAOh2F,EAAQ0oC,KACxButD,EAASxmG,SAAWuQ,EAAQ2oC,SAC5B4uD,GAAoBtB,EAASD,KAAV,OAAgBC,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAUxmG,UAAU,GAAM,GAC7DwmG,EAASH,eAAiB91F,EAAQw3F,YAClCzB,EAC2B,QAAlB,OAAP/1F,QAAO,IAAPA,OAAA,EAAAA,EAASw3F,cAAuBx3F,EAAQw3F,aAG1ChB,GAAY,GACLP,MAGTC,EAAY,CACVF,KAAM,GACNvmG,SAAU,GACVqmG,eAC2B,QAAlB,OAAP91F,QAAO,IAAPA,OAAA,EAAAA,EAASw3F,gBAAT,OAAiCx3F,QAAjC,IAAiCA,OAAjC,EAAiCA,EAASqmC,gBACtCrmC,EAAQw3F,cAGhBzB,IACS,OAAP/1F,QAAO,IAAPA,OAAA,EAAAA,EAASqmC,gBAA0C,QAAlB,OAAPrmC,QAAO,IAAPA,OAAA,EAAAA,EAASw3F,cAC/Bx3F,EAAQw3F,aAGdhB,GAAY,SAEQ,OAAbjgG,EAAIS,OACbw/F,GAAY,GACZN,EAAY,CACVF,KAAM,GACNvmG,SAAU,GACVqmG,gBAAgB,M9DmCgC/4E,E8D7EzC,OA6CV7d,SA7CU,IA6CVA,QA7CU,EA6CVA,GAAawQ,c9DiClB/Q,GACE,CACEkB,IAAK,SACLpR,KAAM,CACJghB,cAAcsN,EACdvM,kBAAmB,GAErBzR,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa0F,cAE5BgJ,I8DjCF,SAASm7D,GAAYC,GAEnB,GAAqB,OAAjBA,QAA0C93E,IAAjB83E,EAA4B,CACvD,IAAMn/C,EAAWm/C,EAAa5mB,MAAM,yBAGpC,OAAOv4B,EAAWA,EAAS,GAAK,IAElC,MAAO,IAjBT52B,IAAM6H,WAAU,WACduT,OAAOrW,SAAS,EAAG,GACnB6tG,GAAwB,GA/FxB95E,IAAqB,SAACzmB,GACpB,IAAKA,GAAOA,EAAIR,MAEd2T,GAAW6C,GAAUhW,EAAIR,YAEpB,GAAIQ,EAAIS,KAAM,CACnB,IACMjX,EADS+Y,KAAKC,MAAMxC,EAAIS,MACFzP,QAC1B,SAACyU,GAAD,OAAqC,KAAzBA,EAAEif,uBAEA,OAAZl7B,QAAY,IAAZA,OAAA,EAAAA,EAAc8C,QAAS,GACzBqzG,GAAY,SAACD,GAyBX,OAxBAA,EAASv7E,SAAW36B,EAAa,GAAGkwB,SACpCmN,IACE,SAAC7mB,GACC,IAAKA,GAAOA,EAAIR,MACd2T,GAAW6C,GAAUhW,EAAIR,YAMzB,GAAIQ,EAAIS,KAAM,CACZ,IAAM4pB,GAhELg4C,EAiECriE,EAAIS,KAAKqlB,eA/DzB,SACc,oBA+DEt8B,EAAa,GAAG86B,SA/DE,kBAAoB,cACtD,WACA+9C,GAiEc,OADAq9B,EAASh8B,aAAer5C,EACjBq1E,EAtEzB,IAAmBr9B,IA0EP74E,EAAa,GAAGkwB,SAChBlwB,EAAa,GAAG22E,iBAEXu/B,QAIZ/2F,GAAYwQ,eArEfyN,GAAcqQ,GAAmBtuB,GAAYwQ,eA+H7C1nB,YAAW,WACTsvG,OACC,OACF,IAYH,IAAMG,GAAmB,SAACC,GACxB,IAAIzlF,EAAS,IACP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,WAEjC,IAAMqsG,EAAY,CAChBloF,cAAa,OAAEvQ,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BkoF,YAAW,OAAE3B,QAAF,IAAEA,OAAF,EAAEA,EAAUH,eACvB+B,KAAI,OAAE5B,QAAF,IAAEA,OAAF,EAAEA,EAAUD,KAChBrtD,SAAQ,OAAEstD,QAAF,IAAEA,OAAF,EAAEA,EAAUxmG,SACpB+sB,UAAWnxB,SAAS4mB,GACpB6lF,aACc,QAAZrB,IAEiB,OAAbiB,QAAkCv1G,IAAbu1G,EACrBA,EACAV,GACNpnF,OAAM,OAAE1Q,SAAF,IAAEA,QAAF,EAAEA,GAAa0Q,Q9D/BzBjR,GACE,CACEkB,IAAK,UACLpR,K8D4CCkpG,E9D3CD54F,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAawF,sB8D0BV,SAACY,IACZA,GAAOA,EAAIR,OACd6W,GAAa,GAIblD,GAAWnT,EAAIR,QAEXQ,EAAIS,OACN0oC,GAAqBlhD,GAAaU,OAClC4tB,EAAQM,KAAKuyB,GAA0BnhD,GAAaU,QACpD0tB,GAAa,QAiDfmrF,GAAW,SAACL,EAAoBM,GAA2B,IAAD,EAC1DC,EAAkB,CACpBxoF,cAAa,OAAEvQ,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BsmF,KAAI,OAAEC,QAAF,IAAEA,OAAF,EAAEA,EAAUD,KAChBvmG,SAAQ,OAAEwmG,QAAF,IAAEA,OAAF,EAAEA,EAAUxmG,SACpBwhB,MAAK,OAAE/R,SAAF,IAAEA,IAAF,UAAEA,GAAayM,uBAAf,aAAE,EAA8B9nB,K9DnHzC8a,GACE,CACEkB,IAAK,kBACLpR,K8DyJCwpG,E9DxJDl5F,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAayF,iB8D8GZ,SAACW,IACVA,GAAOA,EAAIR,MAId2T,GAAWnT,EAAIR,OAEXQ,GAAoB,OAAbA,EAAIS,OACK,QAAX,OAAHT,QAAG,IAAHA,OAAA,EAAAA,EAAKS,QAAL,OAAsBT,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAKS,MAEX,OAAhBghG,QACgB71G,IAAhB61G,GACAA,EAEAf,GAAgB,GAEhBQ,IAAiB,IAGnB7qF,GAAa,GACI,OAAb8qF,QAAkCv1G,IAAbu1G,GAA0BA,GAEjDxB,GAAY,SAACD,GAGX,OAFAA,EAASv7E,SAAW,GACpBu7E,EAASh8B,aAAe,GACjBg8B,KAIM,OAAbyB,QAAkCv1G,IAAbu1G,GAA0BA,IAEjDT,GAAgB,GAChBL,GAAsB,IAExBE,GAAwB,GACxBK,GAAqB,SAezBe,GAAqB,SAACx9E,EAAmBlzB,GAAkB,IAAD,EAC1Di7E,EAAc,GACd01B,EAAgB,CAClBj9E,mBAAoB,KACpBN,WAAY,MACZQ,mBAAoB,GACpBV,SAAUA,EACVY,eAAe,EACfR,SAAUk/C,GAAYxyE,GACtBqoB,MAAO3Q,GAAYyM,gBAAgB9nB,IACnC23B,eAAe,EACfR,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,EAAYr1D,KAAK+qF,GACjB,IAAIl8E,EAAY,CACdvb,cAAexB,GAAYwQ,cAC3B2M,eAAgB70B,EAAK4a,MAAM,KAAK,GAChCoN,SAAUkL,EACVzJ,MAAK,OAAE/R,SAAF,IAAEA,IAAF,UAAEA,GAAayM,uBAAf,aAAE,EAA8B9nB,KAEjCq4B,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAckmD,EACd7yD,OAAQ1Q,GAAY0Q,QAGtBsmF,GAAY,SAACmB,GAGX,OAFApB,EAASv7E,SAAWA,EACpBu7E,EAASh8B,aAAezyE,EACjB6vG,KAETr7E,IACE,SAACzlB,IACMA,GAAOA,EAAIR,OAId2T,GAAWnT,EAAIR,OACf6W,GAAa,IAEI,OAAbrW,EAAIS,OAAJ,OAAqBT,QAArB,IAAqBA,OAArB,EAAqBA,EAAKS,OAC5BygG,OAINx7E,GACA,SAAC7zB,MACD8zB,IA2CEk8E,GAAe,SAACpC,GAGpB,OAFoB,mBAEJ/zG,KAAK+zG,IAYvB,SAASuB,GACPvB,EACAj2G,EACAs4G,EACAC,GAEAvB,GAAgB,GAChB,IAEMwB,EAAe,UACjBC,EAAiB,GAFM,UAGJv2G,KAAK+zG,IAASuC,EAAat2G,KAAKlC,IACrDy4G,EAAS,OACTzB,GAAgB,IANc,mBAQN90G,KAAK+zG,IAC7BuC,EAAat2G,KAAKlC,KAElBy4G,EAAS,QAEX9B,GAAY,SAACD,GAEX,OADW+B,KAGC,OAAVH,QAA4Bl2G,IAAVk2G,GAAuBA,GAC7B,QAAVG,GACFT,IAAS,GAAM,GAIjBZ,EADa,KAAXqB,GAA4B,SAAXA,GAA+B,QAAVA,GA1cH,OAmdXt0G,IAAM8G,SAA0B,IAndrB,qBAmdlCuhB,GAndkC,MAmdzB7C,GAndyB,SAodbxlB,IAAM8G,SAA0B,CAC1DgrG,KAAM,GACNvmG,SAAU,KAtd6B,qBAodlC8Z,GApdkC,MAod1BC,GApd0B,MAkiBzC,OACE,oCACG+sF,GACC,yBAAKz4G,UAAU,gBACb,kBAAC,GAAD,CAAQmP,KAAM,OAGhBspG,GACA,yBAAKz4G,UAAU,iBACb,yBAAKA,UAAU,oBAAf,2BACA,yBAAKA,UAAU,uBAAf,6BAC6B,IAC3B,kEAFF,+JAKK,2CALL,6FAQA,yBAAKA,UAAU,iCACb,kBAAC,GAAD,CACE6O,QAA2B,GAAlBmpG,EACTh4G,UAAU,GACViH,SAAU,WACRgxG,GAAkB,GAClBqB,EAAU,kBAAkB,IAE9B93G,KAAK,iBACLoN,MAAM,QAGR,kBAAC,GAAD,CACE5O,UAAU,QACV6O,QAA2B,GAAlBmpG,EACT/wG,SAAU,WACRqyG,EAAU,kBAAkB,GAC5BrB,GAAkB,GAClBe,GAAwB,GACxBK,GAAqB,GACrBC,EAAU,WAAY,IACtBA,EAAU,OAAQ,IAClBV,EAAY,IACZE,GAAsB,IAExBt3G,KAAK,iBACLoN,MAAM,QAITopG,GACC,oCACE,6BACE,yBAAKh4G,UAAU,aACb,2BAAOA,UAAU,WAAjB,eACA,kBAAC,GAAD,CACEA,UAAU,GACV2I,SAAUuwG,EACV7yG,aAAY,OAAE8xG,QAAF,IAAEA,OAAF,EAAEA,EAAUD,KACxBjxG,SAAU,SAAC3G,GACT+4G,GAAqB,GAEV,MAAT/4G,QACU+D,IAAV/D,GACS,IAATA,IACK,OAALA,QAAK,IAALA,OAAA,EAAAA,EAAOyE,QAAS,IACfu1G,GAAah6G,KAEd04G,GAAwB,GACxBM,EAAU,WAAY,IACtBR,GAAsB,GACtBQ,EAAU,OAAQh5G,GAClB83G,GAAY,SAACD,GAGX,OAFAA,EAASv7E,SAAW,GACpBu7E,EAASh8B,aAAe,GACjBg8B,OAIb/zG,UAAU,EACV2C,QAASrB,GACT2C,OAAQ,SAAC4P,EAAY3N,GAAW,IAAD,kBAS7B,GANI2N,EAAM7T,UACRsnB,GAAU,2BACLD,IADI,IAEPysF,KAAMjyF,GAAShK,QAIhB,OAAC3R,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,KAC/B,OAACuF,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,iBAAC,EAAe9G,aAAhB,aAAC,EAAsBiF,QAAQ,MAAO,IAAIR,QAE1C2mB,GAAU,2BACLD,IADI,IAEPysF,KAAMjyF,GAAShK,YAEZ,IACJ,OAAC3R,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,IAnBnB,KAoBLZ,KAAN,OAAWmG,QAAX,IAAWA,GAAX,UAAWA,EAAOlD,cAAlB,aAAW,EAAe9G,OAE3BorB,GAAU,2BACLD,IADI,IAEPysF,KAAMjyF,GAAShK,WAEZ,CAAC,IAAD,SAEF,OAAC3R,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,GAC/Bu1G,GAAY,OAAChwG,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,OAE5BorB,GAAU,2BACLD,IADI,IAEPysF,KAAMjyF,GAAShK,OAGjByP,GAAU,2BACLD,IADI,IAEPysF,KAAM,QAId1vG,KAAK,OACLL,YAAY,eAEZ5B,UAAS,OAAEklB,SAAF,IAAEA,QAAF,EAAEA,GAAQysF,KACnBvwG,UAAW,KAgBf,yBAAK3H,UAAU,iBACb,2BAAOA,UAAU,WAAjB,mBACA,kBAAC,GAAD,CACEA,UAAU,GACV2I,SAAUuwG,EACV7yG,aAAY,OAAE8xG,QAAF,IAAEA,OAAF,EAAEA,EAAUxmG,SACxB1K,SAAU,SAAC3G,GACT+4G,GAAqB,GAEV,MAAT/4G,QACU+D,IAAV/D,GACS,IAATA,IACK,OAALA,QAAK,IAALA,OAAA,EAAAA,EAAOyE,QAAS,IAEhBu0G,EAAU,WAAYh5G,GACtBm5G,GAAmB,OAACtB,QAAD,IAACA,OAAD,EAACA,EAAUD,KAAM53G,KAGxC8D,UAAU,EACV2C,QAASrB,GACT2C,OAAQ,SAAC4P,EAAY3N,GAAW,IAAD,UAiBtB,QA/SDqH,GA+RFsG,EAAM7T,UACRsnB,GAAU,2BACLD,IADI,IAEP9Z,SAAUsU,GAAShK,QAKpB,OAAC3R,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,KAC/B,OAACuF,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,iBAAC,EAAe9G,aAAhB,aAAC,EAAsBiF,QAAQ,MAAO,IAAIR,SAE1C2mB,GAAU,2BACLD,IADI,IAEP9Z,SAAUsU,GAAShK,QAIlB,OAAC3R,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,SACZ,OAALgK,QAAK,IAALA,GAAA,UAAAA,EAAOlD,cAAP,mBAAe9G,aAAf,eAAsByE,QAAS,IAlT7B4M,EAmTc,OAACrH,QAAD,IAACA,GAAD,UAACA,EAAOlD,cAAR,aAAC,EAAe9G,OAlT3B,UACJ6D,KAAKwN,IAmTN+Z,GAAU,2BACLD,IADI,IAEP9Z,SAAUsU,GAAShK,OAGrByP,GAAU,2BACLD,IADI,IAEP9Z,SAAU,OAKlBnJ,KAAK,OACLL,YAAY,eAEZ5B,UAAS,OAAEklB,SAAF,IAAEA,QAAF,EAAEA,GAAQ9Z,SACnBhK,UAAW,EACXkB,WAAY,SACVkrD,GAEA,GAAIA,EAASxnD,KAAO,KAAOwnD,EAASxnD,KAAO,IACzC,OAAO,EAGY,cAAjBwnD,EAASxnD,KACQ,UAAjBwnD,EAASxnD,KAETwnD,EAASC,sBAmBpBolD,GACC,yBAAKp5G,UAAU,2BACZ64G,GACC,yBAAK74G,UAAU,6BACZimB,GAAShK,KAId,yBAAKjc,UAAU,yBAAf,mCAGA,yBAAKA,UAAU,6BAAf,2GAIA,yBAAKA,UAAU,uBACb,2BAAOA,UAAU,eACf,2BACEwI,KAAK,OACLG,UAAU,EACVF,GAAI,aACJzI,UAAU,YACViH,SAAU,SAACC,IAzaZ,SACnByzG,GAEArC,GAAmB,GACnBE,GAAc,GACd,IAAMv5C,EAAO07C,EAAgBvzG,OACvB83D,EAAOD,EAAKE,OAASF,EAAKE,MAAM,GACtC,GAAa,OAATD,QAA0B76D,IAAT66D,GACfA,GAAwC,IAAhCA,EAAK19D,KAAK8iB,MAAM,KAAKvf,OAAc,CAC7C,IAAIq6D,EAAaF,EAAK19D,KAAK8iB,MAAM,KACjC,GAAI46C,EAAK/vD,KAAO,QACdmpG,GAAmB,QAGnB,GADAA,GAAmB,GACiB,QAAhCl5C,EAAW,GAAGn3D,eACZg3D,EAAKE,OAASF,EAAKE,MAAM,GAAI,CAC/B,IAAMO,EAAS,IAAIC,WACnBD,EAAO/L,OAAS,SAAUzsD,GAAI,IAAD,EACrB04D,EAAM,UAAI14D,EAAEE,QAAUF,EAAEE,OAAOuR,cAAzB,aAAG,EAA+BnL,WAC7B,SAAbmrG,GACFG,GAAsB,GAIxBV,GAAY,SAACmB,GAGX,OAFApB,EAASv7E,SAAT,OAAoBsiC,QAApB,IAAoBA,OAApB,EAAoBA,EAAM19D,KAC1B22G,EAASh8B,aAAevc,EACjB25C,KAGTf,GAAc,IAEhB94C,EAAOG,cAAcZ,EAAKE,MAAM,MA2YpBy7C,CAAa1zG,IAEf44D,OAAO,SAVX,cAaE,0BAAM9/D,UAAU,sBAElB,kCAC0BqE,KAAf,OAAR8zG,QAAQ,IAARA,OAAA,EAAAA,EAAUv7E,WACc,QAAf,OAARu7E,QAAQ,IAARA,OAAA,EAAAA,EAAUv7E,WACa,MAAf,OAARu7E,QAAQ,IAARA,OAAA,EAAAA,EAAUv7E,gBACiBv4B,KAAnB,OAAR8zG,QAAQ,IAARA,OAAA,EAAAA,EAAUh8B,eACiB,QAAnB,OAARg8B,QAAQ,IAARA,OAAA,EAAAA,EAAUh8B,eACiB,MAAnB,OAARg8B,QAAQ,IAARA,OAAA,EAAAA,EAAUh8B,eACR,0BAAMn8E,UAAU,qBACd,yBAAKE,IAAK26G,OACV,0BAAM76G,UAAU,aAAhB,OACGm4G,QADH,IACGA,OADH,EACGA,EAAUv7E,UAEZ27E,EACC,kBAAC,GAAD,CAAQppG,KAAM,KAEd,yBACEpG,QAAS,WA3jBrCyvG,GAAc,GACdtuG,YAAW,WACTkuG,GAAY,SAACD,GAIX,OAHAA,EAASv7E,SAAW,GACpBu7E,EAASh8B,aAAe,GACxBq8B,GAAc,GACPL,OAER,OAwjByB,uBAAGn4G,UAAU,uBAMxBq4G,GACC,yBAAKr4G,UAAU,6BAAf,kDAID4sE,IACCA,GAAkB3gE,KAAI,SAAU7B,GAC9B,OACE,yBAAKpK,UAAU,eACZ,IACqB,mBAArBoK,EAAKulC,aACJ,kBAAC,GAAD,KACE,oCACE,wDACyBvlC,EAAK85E,0BAarDz1D,IACC,yBAAKzuB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZyuB,GACN,oCACE,sEACA,wEACyCA,GADzC,MAKF,+BAAQA,MAKhB,yBACEzuB,UAC8B,IAApB,OAARm4G,QAAQ,IAARA,OAAA,EAAAA,EAAUH,gBACN,2BACY,QAAZW,GACa,QAAZA,GAAsBS,EACvB,6BACA,yBAGN,kBAAC,GAAD,CACEzpG,UAAWA,EACXE,QAAQ,UACRlH,SAjZW,WACrB,IAAImyG,GAA4B,EAoDhC,OAlD8B,OAApB,OAAR3C,QAAQ,IAARA,OAAA,EAAAA,EAAUH,sBACmB3zG,KAArB,OAAR8zG,QAAQ,IAARA,OAAA,EAAAA,EAAUH,gBAEV8C,GAAmB,GAGhB,OAAC3C,QAAD,IAACA,OAAD,EAACA,EAAUD,OACO,MAAX,OAARC,QAAQ,IAARA,OAAA,EAAAA,EAAUD,QACT,OAACC,QAAD,IAACA,OAAD,EAACA,EAAUD,OACO,MAAX,OAARC,QAAQ,IAARA,OAAA,EAAAA,EAAUD,QACT,OAACC,QAAD,IAACA,OAAD,EAACA,EAAUxmG,WACW,MAAf,OAARwmG,QAAQ,IAARA,OAAA,EAAAA,EAAUxmG,UAEO,SAAbgnG,EAEAmC,IADEjC,KAIAE,IACC,OAACZ,QAAD,IAACA,OAAD,EAACA,EAAUv7E,WACW,MAAf,OAARu7E,QAAQ,IAARA,OAAA,EAAAA,EAAUv7E,YACT,OAACu7E,QAAD,IAACA,OAAD,EAACA,EAAUh8B,eACe,MAAnB,OAARg8B,QAAQ,IAARA,OAAA,EAAAA,EAAUh8B,iBAGyB,IAA1B48B,EAIS,SAAbJ,IAOPmC,KALC,OAAC3C,QAAD,IAACA,OAAD,EAACA,EAAUv7E,WACW,MAAf,OAARu7E,QAAQ,IAARA,OAAA,EAAAA,EAAUv7E,aACT,OAACu7E,QAAD,IAACA,OAAD,EAACA,EAAUh8B,eACe,MAAnB,OAARg8B,QAAQ,IAARA,OAAA,EAAAA,EAAUh8B,gBAIe,GAArBi9B,GAON0B,GAD+B,KAArB,OAAR3C,QAAQ,IAARA,OAAA,EAAAA,EAAUH,gBAMX8C,EA6VKC,IACoB,kBAAZtsF,IAAmC,IAAXA,GAElC1lB,QAAS,WAlqBY,QAArB,OAARovG,QAAQ,IAARA,OAAA,EAAAA,EAAUH,sBACmB3zG,KAArB,OAAR8zG,QAAQ,IAARA,OAAA,EAAAA,EAAUH,iBACkB,IAApB,OAARG,QAAQ,IAARA,OAAA,EAAAA,EAAUH,gBAEV9tG,YAAW,WACT4kB,GAAa,GACb6qF,OACC,MAEc,SAAbhB,GAAwBI,IAC1BjqF,GAAa,GACbmrF,MAEe,SAAbtB,GAAuBI,IACzBjqF,GAAa,GACbsrF,GAAkB,OAACjC,QAAD,IAACA,OAAD,EAACA,EAAUv7E,SAAX,OAAqBu7E,QAArB,IAAqBA,OAArB,EAAqBA,EAAUh8B,eAGlC,SAAbw8B,IACF7pF,GAAa,GACbsrF,GAAkB,OAACjC,QAAD,IAACA,OAAD,EAACA,EAAUv7E,SAAX,OAAqBu7E,QAArB,IAAqBA,OAArB,EAAqBA,EAAUh8B,iBAipB3C3zE,KAAK,eC93BJwyG,GApCQ,SAACj7G,GAuBtB,OAHAqG,IAAM6H,WAAU,YAnBG,WAAO,IAAD,QACnBkmB,EAAS,EAEP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAE1C,IAAM8lF,EAAe,CACnB1wE,cAAa,OAAExB,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BiB,kBAA6B,OAAXzR,SAAW,IAAXA,IAAA,UAAAA,GAAao6B,mBAAb,eAA0BgG,iBAA1B,OACdpgC,SADc,IACdA,IADc,UACdA,GAAao6B,mBADC,aACd,EAA0BgG,gBADZ,OAEdpgC,SAFc,IAEdA,QAFc,EAEdA,GAAaogC,gBACjB1uB,aAAc,GACdqB,OAAM,UAAEA,SAAF,aAAE,EAAQ3mB,WAChB8zB,WAAU,OAAElgB,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0BxoB,YAExCoO,IAAc,cAAUkyD,GAGxBC,KACC,IAED,oCACE,yBAAKvzF,UAAU,aACb,yBAAKA,UAAU,gBAAf,iBACA,yBAAKA,UAAU,mBAAf,uCAGA,kBAAC,GAAD,S,qBCqQOi7G,I,qBAjQuC,SAACl7G,GACrD,IAAMivB,EAAUC,cAD+C,EAE3B7oB,IAAM8G,SACxCnN,EAAMqrB,YAHuD,mBAExDA,EAFwD,KAE5CC,EAF4C,OAK/BjlB,IAAM8G,SAA0B,IALD,mBAKxDguG,EALwD,KAK9C5vF,EAL8C,OAMnBllB,IAAM8G,SAEhD,IAR6D,mBAMxDiuG,EANwD,KAMxCC,EANwC,OASnBh1G,IAAM8G,SAChD,IAV6D,mBASxDmuG,EATwD,KASxCC,EATwC,OAYnCl1G,IAAM8G,SAAN,eAEpB8d,KAduD,mBAYxDS,EAZwD,KAYhDC,EAZgD,KAwB/D,SAAS6vF,EAAc9iG,GAErB,GADA1Y,EAAM+uB,cAAa,IACdrW,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKsiG,mBAAoB,CAC3C,IAAMzyD,EAA2B,GACjCtwC,EAAIS,KAAKsiG,mBAAmBnuG,SAAQ,SAACynB,GACnC,IAAI9I,EAAW,GACfA,EAAI1rB,MAAQw0B,EAAK2mF,eACjBzvF,EAAIzrB,QAAUqrD,GAAa92B,EAAK2mF,gBAChCzvF,EAAI1d,K3D8XP,SAAyBu9C,GAC9B,IAAMjI,EAAI,IAAI5uB,KAAK62B,GAEnB,OADgBprD,GAAKmjD,EAAE83D,U2DhYJC,CAAgB7mF,EAAK2mF,gBAChC1yD,EAAIz5B,KAAKtD,MAEXovF,EAAkBryD,GAGtBhpD,EAAM+uB,cAAa,GAGrB,SAAS8sF,EAAcnjG,GAErB,GADA1Y,EAAM+uB,cAAa,IACdrW,GAAOA,EAAIR,YAEd,GAAIQ,EAAIS,MAAQT,EAAIS,KAAK2iG,mBAAoB,CAC3C,IAAM9yD,EAA2B,GACjCtwC,EAAIS,KAAK2iG,mBAAmBxuG,SAAQ,SAACynB,GACnC,IAAI9I,EAAW,GACfA,EAAIzrB,QAAUu0B,EAAKgnF,eACnB9vF,EAAI1rB,MAAQw0B,EAAKgnF,eACjB/yD,EAAIz5B,KAAKtD,MAEXsvF,EAAkBvyD,GAGtBhpD,EAAM+uB,cAAa,GAGrB,SAASnD,EAAoBpf,EAA2BjM,GAC1C,SAARiM,GACF0W,GAAgBpQ,EAAgBvS,EAAO8qB,EAAWS,SAEpDH,EAAU,2BAAKD,GAAN,mBAAelf,OAAMlI,KAC9BgnB,EAAc,2BAAKD,GAAN,mBAAmB7e,EAAMjM,KACtCP,EAAM+rB,gBAAN,2BAA2BV,GAA3B,mBAAwC7e,EAAMjM,KAGhD,SAASy7G,EAAYtjG,GAEnB,GADA1Y,EAAM+uB,cAAa,IACdrW,GAAOA,EAAIR,MACdlY,EAAM6rB,WAAWnT,EAAIR,YAErB,GAAIQ,EAAIS,MAAQT,EAAIS,KAAKS,MAAO,CAC9B,IAAMovC,EAAuB,GAC7BtwC,EAAIS,KAAKS,MAAMtM,SAAQ,SAACjD,GACtB,IAAI4hB,EAAgB,CAClB1rB,MAAO8J,EACP7J,QAAS6J,GAEX2+C,EAAIz5B,KAAKtD,MAEXV,EAAYy9B,QAEZhpD,EAAM6rB,WAAW,uDAGrB7rB,EAAM+uB,cAAa,GAGrB,SAASjc,EAAe4F,GACtB,IAAKA,GAAOA,EAAIR,MAIdlY,EAAM6rB,WAAWnT,EAAIR,YAErB,GAAIQ,EAAIS,KAAM,CACZ,IAAI8S,EAAW,GACfA,EAAItI,QAAUjL,EAAIS,KAAKiK,QACvB6I,EAAI9I,KAAOzK,EAAIS,KAAKgK,KACpB8I,EAAImW,SAAW1pB,EAAIS,KAAKipB,SACxBnW,EAAIe,QAAUtU,EAAIS,KAAK6T,QACvBf,EAAIpnB,KAAO6T,EAAIS,KAAKtU,KACpBonB,EAAIliB,MAAQ2O,EAAIS,KAAKpP,MACrBkiB,EAAIsW,UAAY7pB,EAAIS,KAAK8iG,UACzBhwF,EAAIqW,YAAc5pB,EAAIS,KAAK+iG,YAC3B5wF,EAAc,2BAAKD,GAAeY,IAClCjsB,EAAM+rB,gBAAN,2BAA2BV,GAAeY,SAE1CjsB,EAAM6rB,WACJ,mEAMR,SAASe,EAAkBpgB,EAA2BjM,GACpD,OAAQiM,GACN,IAAK,eACHmf,EAAU,2BACLD,GADI,IAEPR,aAAc3qB,EAAMyG,aAChB1C,EACA6mB,MAEN,MACF,IAAK,OAEDQ,EADmB,kBAAVprB,EACC,2BAAKmrB,GAAN,IAAcpI,UAAMhf,IAEnB,2BAAKonB,GAAN,IAAcpI,KAAM6H,OA2BrC,SAASgxF,EAAoBzjG,IACtBA,GAAOA,EAAIR,OAEVQ,EAAIS,OACFnZ,EAAMo8G,qCACRp8G,EAAMo8G,qCAAoC,GAC5CntF,EAAQzpB,QAAQrC,KAKtB,OA3JAkD,IAAM6H,WAAU,WAAO,IAAD,EzF0DC8S,EAA4BoC,EyFzDjDpjB,EAAM+uB,cAAa,GzFyDE/N,EyFxDZg7F,EzFwDwC54F,EyFxD3BiI,EAAWS,QzFyDnChL,GACE,CACEkB,IAAK,mCACLpR,KAAM,CACJyS,QAASD,EACTE,KAAM,GACNC,cAAe,GAEjBrC,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaO,SAE5BmO,GmCjD2B,SAACA,GAC9BF,GACE,CACEkB,IAAK,2BACLd,OAAQ,QAEVF,GsD1BAq7F,CAAgBb,IACfx7G,EAAMs7G,gBtD6BoB,SAACt6F,GAC9BF,GACE,CACEkB,IAAK,2BACLd,OAAQ,QAEVF,GsDnCyBs7F,CAAgBT,GACzC,UAAAlrG,SAAS+T,eAAe,qBAAxB,SAAuCC,UACtC,CAAC0G,EAAWS,UAsJb,yBAAK7rB,UAAU,kBACb,2BAAOA,UAAU,cAAjB,mBAEA,yBAAKA,UAAU,SACb,2BAAOA,UAAU,YAAjB,WACA,kBAAC,GAAD,CACEyI,GAAG,aACH1B,QAASlB,GAAc,GACvBwC,OAAQ,SAAC4P,GAAD,OAAW0U,EAAkB,eAAgB1U,IACrD9P,YAAY,cACZlB,SAAU,SAAC3G,GAAD,OAAWqrB,EAAoB,eAAgBrrB,IACzDiG,UAAWklB,EAAOR,aAClBzpB,KAAI,gBAIR,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,YAAjB,QACA,kBAAC,GAAD,CACEwB,KAAI,UACJ2I,eAAgB,SAAC7J,GAAD,OACdqrB,EAAoB,OAAQrrB,EAAK,QAEnCuJ,aAAc,EACdgB,QAASqwG,EACT7yG,OAAQ,SAACqB,GAAD,OAASijB,EAAkB,OAAQjjB,IAC3CC,UAAU,UACVxB,YAAY,YACZ0D,UAAU,mCACVtF,UAAWklB,EAAOpI,KAClBxW,aAAa,KAIjB,yBAAK7M,UAAU,SACb,2BAAOA,UAAU,YAAjB,cACA,kBAAC,GAAD,CACEqG,aACE+kB,EAAWzH,MAAQyH,EAAWxH,MAC1BwH,EAAWzH,KAAO,MAAQyH,EAAWxH,MACrC,GAENzb,YAAY,yBACZQ,UAAU,EACVH,KAAK,OACLhH,KAAI,kBAIR,yBAAKxB,UAAU,SACb,2BAAOA,UAAU,eAAjB,+BACA,kBAAC,GAAD,CACEqO,QAAM,EACNhI,aAActG,EAAMu8G,QACpBluG,SAAU,SAAC1E,GAAD,OAAS3J,EAAMw8G,qBAAqB,OAAQ7yG,IACtDwE,QAASitG,KAIb,yBAAKn7G,UAAU,SACb,2BAAOA,UAAU,eAAjB,+BACA,kBAAC,GAAD,CACEqG,aAActG,EAAMy8G,QACpBpuG,SAAU,SAAC1E,GAAD,OAAS3J,EAAMw8G,qBAAqB,OAAQ7yG,IACtDwE,QAASnO,EAAMs7G,gBAAkBA,KAIrC,yBAAKr7G,UAAU,eACb,kBAAC,GAAD,CACE+I,QAvGR,WACE,IAAM0zG,EAAgB,CACpB93G,QAASymB,EAAWH,aACpBrI,cAAexB,GAAYwQ,cAC3B1O,KAAMkI,EAAW/H,KACjBze,KAAMwmB,EAAWzH,KACjB+4F,WAAY,EACZC,eAAgB58G,EAAMu8G,QACtB54F,QAAS0H,EAAWS,QACpB/hB,MAAOshB,EAAWxH,MAClB0e,UAAW,EACXs6E,eAAgB78G,EAAMy8G,SAExBz8G,EAAM+uB,cAAa,GACf/uB,EAAM2qF,aAAc3qF,EAAM2qF,gBAE5B/yD,GAAW,CAAEG,OAAQ,cAAelpB,MAAO,kBtDhGX,SACpCmS,EACA07F,GAEA57F,GACE,CACEkB,IAAK,+BACLpR,KAAM8rG,EACNx7F,OAAQ,QAEVF,GsDuFE87F,CAAuBX,EAAqBO,KAuFxC5sG,QAAQ,WACRF,UAAW5P,EAAM4P,UACjBhH,SACEinB,OAAO+pB,OAAOluB,GAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,MACtC2X,OAAO+pB,OAAOvuB,GAAYwuB,MAAK,SAACt5C,GAAD,OAAYA,MACzB,KAAlBP,EAAMy8G,SACY,KAAlBz8G,EAAMu8G,cCnQLQ,GAAe,SAC1BxF,EACAxoF,EACAlD,EACAmxF,EACAC,EACAC,GAEAnuF,GAAa,GACblD,EAAW,IvDkQgB,SAC3B7K,EACA6B,EACAm6F,EACAzoF,EACA0oF,GAEA,IAAIrsG,EAAY,CACdmS,cAAeF,EACf0R,gBAAiBA,EACjB4oF,cAAeF,GAEbD,IACFpsG,EAAKwsG,UAAY,GAEnBt8F,GACE,CACEkB,IAAK,kBACLpR,KAAMA,EACNsQ,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAayE,gBAE5BiK,GuDzRFq8F,EACE,SAAC3kG,GAAD,OAQJ,SACEA,EACA6+F,EACAxoF,EACAlD,GAEA,IAAKnT,GAAOA,EAAIR,MACd2T,EAAW,uCAEX,GAAInT,EAAIS,KAAM,CACZ,IAAM4pB,EAASrqB,EAAIS,KACnB,GAAI4pB,GAAqB,KAAXA,EAAe,CAC3B,IAAM04C,E5DqWc,SAC1B6hC,EACAhQ,GAMA,IAJI,IADJiQ,EACG,uDADiB,IAEdC,EAAiB/7F,OAAOisC,KAAK4vD,GAC7BG,EAAa,GAEVC,EAAS,EAAGA,EAASF,EAAex4G,OAAQ04G,GAAUH,EAAW,CAIxE,IAHA,IAAMz5D,EAAQ05D,EAAe15D,MAAM45D,EAAQA,EAASH,GAE9CI,EAAc,IAAItuG,MAAMy0C,EAAM9+C,QAC3BiH,EAAI,EAAGA,EAAI63C,EAAM9+C,OAAQiH,IAChC0xG,EAAY1xG,GAAK63C,EAAM85D,WAAW3xG,GAGpC,IAAM4xG,EAAY,IAAIC,WAAWH,GACjCF,EAAWluF,KAAKsuF,GAGlB,IAAMpiC,EAAO,IAAI4H,KAAKo6B,EAAY,CAAEh1G,KAAM6kG,IAC1C,OAAO7xB,E4D1XYsiC,CAAah7E,EAAQ,mBAC5Bi7E,EAA0BrtG,SAAS+yD,cAAc,KACvDs6C,EAAK17F,KAAOb,OAAOI,IAAI+qF,gBAAgBnxB,GACvCuiC,EAAKC,SAAW1G,EAChB5mG,SAASC,KAAKizD,YAAYm6C,GAC1BA,EAAKE,QACLF,EAAKG,cAELtyF,EAAW,kCAIjBkD,GAAa,GAhCGqvF,CAAgB1lG,EAAK6+F,EAAcxoF,EAAclD,KAC/DxK,GAAYwQ,cACZmrF,IAAa,EACbE,IAAgB,OAAsB77F,SAAtB,IAAsBA,QAAtB,EAAsBA,GAAaogC,iBACnDw7D,IA+BJ,IAiReoB,GAjRiB,SAACr+G,GAE/B,IAAMijC,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GAXqC,EAaPlc,YAAwB,GAbjB,mBAalCuJ,EAbkC,KAavBmf,EAbuB,OAcX1oB,aAdW,mBAclCqoB,EAdkC,KAczB7C,EAdyB,OAeGxlB,YAAwB,GAf3B,mBAelCi4G,EAfkC,KAelBC,EAfkB,OAiBvCl4G,WAAA,eAAoC27B,KAjBG,mBAgBlCw8E,EAhBkC,KAgBhBC,EAhBgB,OAkBXp4G,WAAuB,IAlBZ,mBAkBlCk2G,EAlBkC,KAkBzBmC,EAlByB,OAmBXr4G,WAAuB,IAnBZ,mBAmBlCo2G,EAnBkC,KAmBzBkC,EAnByB,OAqBvCt4G,YAAwB,GArBe,mBAoBlCu4G,EApBkC,KAoBdC,EApBc,OAsBDx4G,YAAwB,GAtBvB,mBAsBlCy4G,EAtBkC,KAsBpBC,EAtBoB,OAwBvC14G,YAAwB,GAxBe,mBAuBlC24G,EAvBkC,KAyBnC/vF,GAzBmC,KAyBzBC,eAWhB,SAAS+vF,EAAgBvmG,IAClBA,GAAOA,EAAIR,MACd2T,EAAW,sDAEPnT,EAAIS,MAAQT,EAAIS,KAAKpP,OAAS2O,EAAIS,KAAK+lG,kBACzCH,GAAgB,GAChBF,GAAsB,KAEtBE,GAAgB,GAChB50G,YAAW,WAAO,IAAD,EACf,UAAAwG,SAAS+T,eAAe,wBAAxB,SAA0C/Z,eAAe,CACvDC,SAAU,aAEX,KACHi0G,GAAsB,IAG1B9vF,GAAa,GAuDf,SAASowF,EAAezmG,GACtB,IAAKA,GAAOA,EAAIR,MACd2T,EAAW,8CACN,CAAC,IAAD,EACiB5Q,KAAKC,MAAMD,KAAKC,MAAMxC,EAAIS,OAAzCsX,EADF,oBAEDA,GAAeA,EAAY2uF,YAAc3uF,EAAY8hC,QACvDtjC,EAAQM,KAAKpsB,IAEbstB,GACAA,EAAY4uF,SAG2D,IAFvE5uF,EAAY4uF,OACT5xG,WACA1C,QAAQ,uDAEX8gB,EAAW,0BAEXA,EAAW,0CAGfkD,GAAa,GAGf1oB,aAAgB,WACd+1G,GAAoC,MAGtC,IAAMA,EAAsC,SAACkD,GAE3C,IAAMnmG,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaoB,WAAWf,UACnD4W,mBAAoB,GACpBpM,WAAYA,EACZC,WAAYA,EACZC,aAAcA,EACdmM,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,eAGjBytF,IACHnmG,EAAI,UACFif,GAAgBC,aAAaoB,WAAWL,gBAE1CgB,GAAiBC,UACfO,GAAgBvC,aAAaoB,WAAWL,kBAI5CO,GAA2BxgB,IAI7B,OACE,uBAAKlZ,UAAW,YAAc2P,EAAY,QAAU,MAChDovG,GACA,gBAAC,GAAD,CAAc/+G,UAAU,gBACtB,uBAAKE,IAAKo/G,KAAal/G,IAAI,GAAGJ,UAAU,YAG1C++G,GACA,gCACE,yBAAO/+G,UAAU,WAAjB,4BACA,yBAAOA,UAAU,QAAjB,sEAGA,uBAAKA,UAAU,sBACb,yBAAOA,UAAU,cAAjB,6BACA,yBAAOA,UAAU,cAAjB,kEAGA,uBAAKA,UAAU,gBACb,yBAAOA,UAAU,cAAjB,WACA,yBACEA,UAAU,eACVwB,KAAK,UACLlB,MAAOi+G,EAAiB1yF,QACxBlkB,UAAW,EACXV,SAnId,SAAuBqD,GACrB,IAAIhK,EAAQgK,EAAMlD,OAAO9G,MACC,YAAtBgK,EAAMlD,OAAO5F,MAAuBgE,GAAWrB,KAAK7D,KACtDA,EAAQi+G,EAAiB1yF,SAE3B2yF,EAAoB,2BAAKD,GAAN,IAAwB1yF,QAASvrB,KAEhDA,GAA0B,IAAjBA,EAAMyE,OACjBu5G,GAAkB,IAElBA,GAAkB,GACdK,IACFC,GAAsB,GACtBJ,EAAoBz8E,IACpB08E,EAAW,IACXC,EAAW,SAsHL,uBAAK1+G,UAAU,cACb,gBAAC,GAAD,CACE6P,QAAQ,QACRlH,UAAW01G,EACX1uG,UAAWA,EACX5G,QAvKhB,WvD0K+C,IAC/CgY,EACA2C,EuD3KEoL,GAAa,GACb8vF,GAAsB,GvDyKxB79F,EuDvKIi+F,EvDwKJt7F,EuDvKI66F,EAAiB1yF,QvDyKrBhL,GACE,CACEkB,IAAI,kCAAD,OAAoC2B,GACvCzC,OAAQ,OAEVF,QuDRS49F,GACC,gBAAC,GAAD,CACEtD,eAAgBv3G,GAChB4mF,aApHd,WACE57D,GAAa,GvD4Hc,SAAC/N,EAA4ByT,GAC1D3T,GACE,CACEkB,IAAK,4BACLpR,KAAM6jB,EACNvT,OAAQ,QAEVF,GuDhHAw+F,CAAgBL,EAlBD,CACbM,KAAM,CACJC,MAAOlB,EAAiBtzF,aACxBy0F,MAAOnB,EAAiBl7F,KACxBze,KAAM25G,EAAiB56F,KACvB7Z,MAAOy0G,EAAiB36F,OAE1B+7F,cAAe/zD,GAAa0wD,GAAS,GACrCsD,iBAAkBpD,EAClBqD,aAAcz+F,GAAYyM,gBAAgBygB,QAC1CwxE,eAAgB1+F,GAAYikB,KAAKxiB,OACjC8O,cAAevQ,GAAYwQ,cAC3BmuF,gBAAiBxB,EAAiB1yF,QAClCm0F,eAAgB,GAChBd,eAAgB,MAChBe,sBAAuB,QACvBC,SAAU,MAmGA90F,WAAYmzF,EACZ3yF,WAAYA,EACZE,gBAhId,SAA6BV,GAC3BozF,EAAoB,2BAAKD,GAAqBnzF,KAgIlCmxF,qBA7Hd,SAA8B/zG,EAAuBlI,GACtC,SAATkI,EAAiBi2G,EAAWn+G,GAC3Bo+G,EAAWp+G,IA4HJg8G,QAASA,EACTE,QAASA,EACT1tF,aAAcA,EACdnf,UAAWA,EACXwsG,oCACEA,KAID,KAGV0C,GACC,uBAAK7+G,UAAU,aACb,yBAAOA,UAAU,cAAcyI,GAAG,iBAAlC,8EAIA,uBAAKzI,UAAU,kBACb,yBAAOA,UAAU,cAAjB,WACA,yBAAOA,UAAU,c7GyCM,kC6GxCvB,yBAAOA,UAAU,c7G0C3B,+I6GxCQ,uBAAKA,UAAU,aAAayI,GAAG,eAC7B,gBAAC,GAAD,CACEM,QAAS,kBACP+zG,GAAa,YAAD,OACE17F,GAAYwQ,eACxB9C,EACAlD,IAGJ/b,QAAQ,uBACRF,UAAWA,EACX3I,OAAQ,wBAAMhH,UAAU,4BAK9B6+G,GAAgBF,IAChB,uBACE3+G,UAAU,aACV+I,QAAS,kBAAMimB,EAAQM,KAAKpsB,MAF9B,wBAQDurB,GACC,uBAAKzuB,UAAU,cACb,gBAAC,GAAD,KACsB,kBAAZyuB,EACN,gCACE,oEACA,sEAA8CA,EAA9C,MAGF,yBAAOzuB,UAAU,aAAayuB,OComB7B0xF,GA33Ba,SAACpgH,GAC3B,IAAMijC,EAAa9K,KACblJ,EAAUC,cAF0B,EAGd7oB,WAAe,CACzCgY,MAAO,GACPyE,OAAQ,KALgC,mBAGnC82B,EAHmC,KAG3B0U,EAH2B,QAOvBrrB,EAAW1gB,IAAI,eAC9B0gB,EAAW1gB,IAAI,cAEA0gB,EAAW1gB,IAAI,eAC9B0gB,EAAW1gB,IAAI,cAEE0gB,EAAW1gB,IAAI,iBAChC0gB,EAAW1gB,IAAI,gBAEyBlc,YAAwB,IAhB1B,mBAgBnC4xG,EAhBmC,KAgBnBC,EAhBmB,OAiBN7xG,WAGjC,CACDoC,KAAM,MACN43G,UAAU,IAtB8B,mBAiBnC3vD,EAjBmC,KAiBvBC,EAjBuB,OAwBRtqD,YAAwB,GAxBhB,mBAwBnCi6G,EAxBmC,KAwBxBC,EAxBwB,OAyBdl6G,WAEzB,CACDgY,WAAO/Z,EACPwe,YAAQxe,IA7BgC,mBAyBnConB,EAzBmC,KAyB3BC,EAzB2B,OA+BZtlB,aA/BY,mBA+BnCqoB,EA/BmC,KA+B1B7C,EA/B0B,OAgCdxlB,WAGzB,CACD+pD,gBAAY9rD,EACZ+rD,iBAAa/rD,IArC2B,mBAgCnCgsD,EAhCmC,KAgC3BC,EAhC2B,OAuCAlqD,YAAwB,GAvCxB,mBAuCnCq/B,EAvCmC,KAuCpBC,EAvCoB,OAyCxCt/B,YAAwB,GAzCgB,mBAwCnCmoD,EAxCmC,KAwChBC,EAxCgB,OA0CApoD,YAAwB,GA1CxB,mBA0CnCw/B,EA1CmC,KA0CpBC,EA1CoB,OA2CNz/B,YAAwB,GA3ClB,mBA2CnCqf,EA3CmC,KA2CvBqgB,EA3CuB,OA6CxC1/B,YAAwB,GA7CgB,mBA4CnC6/B,EA5CmC,KA4CjBC,GA5CiB,QA8CI9/B,YAAwB,GA9C5B,qBA8CnC2/B,GA9CmC,MA8ClBC,GA9CkB,SA+CM5/B,YAAe,GA/CrB,qBA+CjB8qD,IA/CiB,gBAgDN9qD,YAAwB,GAhDlB,qBAgDnCmf,GAhDmC,MAgDvB4gB,GAhDuB,SAiDF//B,YAAwB,GAjDtB,qBAiDnC0pD,GAjDmC,MAiDrBnqB,GAjDqB,SAkDIv/B,YAAwB,GAlD5B,qBAkDnC2pD,GAlDmC,MAkDlBC,GAlDkB,SAmDI5pD,YAAwB,GAnD5B,qBAmDnC6pD,GAnDmC,MAmDlBC,GAnDkB,SAoDE9pD,YAAwB,GApD1B,qBAoDnB4qD,IApDmB,gBAqDJ5qD,WAA6B,IArDzB,qBAqDtBm6G,IArDsB,gBAuDxCn6G,YAAwB,GAvDgB,qBAsDjB2qD,IAtDiB,gBAwDR3qD,YAAwB,GAxDhB,qBAwDnCuJ,GAxDmC,MAwDxBmf,GAxDwB,SAyDN1oB,YAAwB,GAzDlB,qBAyDnC6hG,GAzDmC,MAyDvBQ,GAzDuB,SA2DxCriG,YAAwB,GA3DgB,qBA0DnCo6G,GA1DmC,MA0DbC,GA1Da,SA4DIr6G,YAAwB,GA5D5B,qBA4DnC8hG,GA5DmC,MA4DlBQ,GA5DkB,SA8DxCtiG,YAAwB,GA9DgB,qBA6DnCgiG,GA7DmC,MA6DhBO,GA7DgB,SA+DQviG,WAChD,IAhEwC,qBA+DnC+hG,GA/DmC,MA+DhBS,GA/DgB,SAkEYxiG,WAEpD,IApEwC,qBAkEnCiiG,GAlEmC,MAkEdQ,GAlEc,MA4H1C,SAASx0F,GAAYmjC,EAA6B9tC,GAC5C6b,IACF4gB,IAAc,GAEZ8pB,IACFC,IAAmB,GAEF,IAAfxmD,EAAI3E,SACN+pB,IAAa,GACG,UAAZ0oB,EACFwY,IAAmB,GACE,WAAZxY,GACT1R,GAAc,GAEhB1e,IACE,SAAC3O,GACiB,UAAZ++B,EAWZ,SAAkC/+B,GAEhC,GADAu3C,IAAmB,IACdv3C,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,WACV,CAAC,IAAD,MACL5M,QAAQC,IAAImN,EAAK,SAEfA,EAAIS,OAAJ,OACAT,QADA,IACAA,GADA,UACAA,EAAKS,YADL,aACA,EAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWo5C,UACS,IAAnB,OAAH75C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWo5C,UAEXlxC,GAAYikB,KAAKjnB,MAAQu7B,EAAOv7B,MAChC4nB,IAAmB,GACnB0qB,GAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,QAClBioD,EAAW2vD,UAAW,EACf3vD,KAET9qB,IAAgB,GAChBqrB,IAAkB,KAElBN,GAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,QAClBioD,EAAW2vD,UAAW,EACf3vD,KAETP,IAAmB,IAGrBtkC,EAAW,IAEbkD,IAAa,GA5CLyjC,CAAyB95C,GA8CnC,SAAmCA,GAGjC,GAFAqW,IAAa,GACbgX,GAAc,GACVrtB,EAAIR,MAEN2T,EAAWnT,EAAIR,WACV,CAAC,IAAD,MAEHQ,EAAIS,OAAJ,OACAT,QADA,IACAA,GADA,UACAA,EAAKS,YADL,aACA,EAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWo5C,UACS,IAAnB,OAAH75C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWo5C,UAEXlxC,GAAYikB,KAAKxiB,OAAS82B,EAAO92B,OACjCqjB,IAAoB,GACpBwqB,GAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,MAClBioD,EAAW2vD,UAAW,EACf3vD,KAET5qB,GAAiB,GACjBkrB,IAAoB,KAEpBL,GAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,MAClBioD,EAAW2vD,UAAW,EACf3vD,KAETtqB,IAAc,IAEhBva,EAAW,KA1EL4mC,CAA0B/5C,KAGnB,SAAX++B,EAAA,OAAqB6Y,QAArB,IAAqBA,OAArB,EAAqBA,EAAQF,WAA7B,OAA0CE,QAA1C,IAA0CA,OAA1C,EAA0CA,EAAQD,YAClD1mD,IAyEN,SAAS6tC,KACPzoB,IAAa,GAEbjI,IACE,SAACpO,GACCpN,QAAQC,IAAI,MAAOmN,GAOzB,SAA0BA,GAAW,IAAD,YAIZ,QAAjB,OAAHA,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS7U,KAAjB,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBk5C,QACQ,MAAxB,OAAH35C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBk5C,QAEjB9B,GAAU,SAACD,GAAY,IAAD,IAEpB,OADAA,EAAOD,YAAP,OAAqB33C,QAArB,IAAqBA,GAArB,UAAqBA,EAAKS,YAA1B,iBAAqB,EAAWA,YAAhC,aAAqB,EAAiBk5C,MAC/B/B,KAETvhC,IAAa,GACb4W,GAAiB,GACjBG,GAAiB,GACjBja,EAAW,OAEX,OAAInT,QAAJ,IAAIA,OAAJ,EAAIA,EAAKR,OACP2T,EAAWnT,EAAIR,OAEf2T,EAAW,qCAEbkD,IAAa,GACb+W,GAAiB,IA9BfwsB,CAAiB55C,KAEnBkhC,EAAO92B,OACP,OAkCJ,SAASgxC,KACP/kC,IAAa,GAEbjI,IACE,SAACpO,IAOL,SAAwBA,GACO,IAAD,YAAxBA,EAAIS,MAAQT,EAAIM,OAEI,QAAjB,OAAHN,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS7U,KAAjB,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBk5C,QACQ,MAAxB,OAAH35C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBk5C,QAEjB9B,GAAU,SAACD,GAAY,IAAD,IAEpB,OADAA,EAAOF,WAAP,OAAoB13C,QAApB,IAAoBA,GAApB,UAAoBA,EAAKS,YAAzB,iBAAoB,EAAWA,YAA/B,aAAoB,EAAiBk5C,MAC9B/B,KAET1qB,IAAgB,GAChB6oB,GAAqB,GACrB5iC,EAAW,KAEXA,EAAW,qCAIbA,EAAWnT,EAAIR,OAEjB6W,IAAa,GA5BTglC,CAAer7C,KAEjBkhC,EAAOv7B,MACP,SA2BJ,SAAS25C,GAAmBt/C,GAC1B,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OAEf6W,IAAa,QAEb,GAAIrW,GAAOA,EAAIS,KAAM,CAEnB,IAAI5P,EAAmB0R,KAAKC,MAAMxC,EAAIS,MAAMzP,QAC1C,SAACW,GAAD,OAKEA,EALF,aAOkB,IAAhBd,EAAKvE,QACP+pB,IAAa,GACb45E,IAAmB,GAC2B,IAA1CtnF,GAAYo6B,YAAYmM,eAC1BzoB,GAAqB6pE,GAAoB3nF,GAAYwQ,eACT,IAA1CxQ,GAAYo6B,YAAYmM,gBAC1B+gD,IAAmB,GACnBD,IAAc,GACdE,IAAqB,GACrB75E,IAAa,IAG6B,IAA1C1N,GAAYo6B,YAAYmM,eACkB,IAA1CvmC,GAAYo6B,YAAYmM,eAExBiO,GACEozC,GACA5nF,GAAYwQ,iBAqBhBg3E,GAAqBt/F,GACrBwlB,IAAa,GACb25E,IAAc,KA9RtBriG,aAAgB,WAad,OAZAqsB,IAA0B,SAACha,IAgB7B,SAA+BA,GAE7B,GADAqW,IAAa,IACRrW,GAAOA,EAAIR,MAOd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACf,OAAhBsX,QAAuCnsB,GAAfmsB,GAEI,QAAjB,OAAXA,QAAW,IAAXA,OAAA,EAAAA,EAAawC,kBACe3uB,KAAjB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAawC,cADb,OAEAxC,QAFA,IAEAA,OAFA,EAEAA,EAAawC,aAEbstF,GAAa,GAGjBjyD,GAAU,SAAC1U,GAMT,YAL4Bt1C,IAAxBmsB,EAAYoqC,UACdjhB,EAAOv7B,MAAQoS,EAAYoqC,cAEAv2D,IAAzBmsB,EAAYmqC,WACdhhB,EAAO92B,OAAS2N,EAAYmqC,UACvBhhB,MA3CXyT,CAAsB30C,KACrB2I,GAAYwQ,eAC+B,IAA1CxQ,GAAYo6B,YAAYmM,eAC1B+gD,IAAmB,GACnBC,IAAqB,GACrBF,IAAc,GACd35E,IAAa,IAEb6mC,GAAmBoC,GAAoB32C,GAAYwQ,eAErD8uF,GAAc,OAACt/F,SAAD,IAACA,QAAD,EAACA,GAAa0Q,QACrB,WACLhM,mBAtGF+wC,MAwGC,IAmRH,IAAM6pD,GAAiB,SAAC5uF,GACP,OAAXA,QAA8BztB,IAAXytB,GAAmC,KAAXA,GAC7CzH,IACE,SAAC5R,GACC,IAAKA,GAAOA,EAAIR,MAEd2T,EAAW6C,EAAUhW,EAAIR,YAEpB,UAAIQ,QAAJ,IAAIA,OAAJ,EAAIA,EAAKS,KAAM,CAAC,IAAD,EACpB,IAAS,OAAL9J,YAAK,IAALA,WAAA,EAAAA,MAAO06E,QAAP,OAAerxE,QAAf,IAAeA,OAAf,EAAeA,EAAKS,SAAY,OAAHT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWnU,QAAS,EAAG,CACtD,IAAMwiB,EAAO,OAAG9O,QAAH,IAAGA,OAAH,EAAGA,EAAKS,KAAK,GAY1BqnG,GAAeh5F,OAIrB,CACE9e,GAAIqpB,EACJtwB,KAAM,GACN8oB,UAAW,KAuCnB,SAAS0+E,GAAqBvwF,GAE5B,GADAqW,IAAa,IACRrW,GAAOA,EAAIR,MACd2T,EAAW,SAGX,GAAInT,GAAOA,EAAIS,KAAM,CAKnB,IAJA,IAAI5P,EAAmB0R,KAAKC,MAAMxC,EAAIS,MAAMzP,QAC1C,SAACW,GAAD,OAAeA,EAAK41B,gBAElBipE,GAAoB,EACfj9F,EAAI,EAAGA,EAAI1C,EAAKvE,OAAQiH,IAC/B,GAAuB,aAAnB1C,EAAK0C,GAAG6M,OAAuB,CACjCowF,GAAW,EACX,MAGAA,EAAUJ,GAAuBv/F,GAChCq/F,IAAqB,GAC1BF,IAAc,IAIpB,IAAMkY,GAAa,WAAO,IAAD,EACvBxhF,IACE,SAAC1mB,GASS,IAAD,GARFA,GAAOA,EAAIR,OACd6W,IAAa,GAIblD,EAAWnT,EAAIR,OACf6W,IAAa,IAGTrW,GAAoB,OAAbA,EAAIS,OAAiB,UAAA0W,OAAOtgB,KAAP,OAAYmJ,QAAZ,IAAYA,OAAZ,EAAYA,EAAKS,aAAjB,eAAwBnU,QAAS,EAE/DiqB,EAAQzpB,QAAQrC,KAEhB0oB,EAAW,iDACXkD,IAAa,MAhBA,OAqBnB1N,SArBmB,IAqBnBA,QArBmB,EAqBnBA,GAAawQ,cACbxQ,GAAYo6B,YAAYgG,gBAAxB,OACIpgC,SADJ,IACIA,IADJ,UACIA,GAAao6B,mBADjB,aACI,EAA0BgG,gBAC1B,IAGR,SAASunD,GAAmBtwF,GAC1B,IAAKA,GAAOA,EAAIR,MACd2T,EAAW,QAEN,CACL,IAAM4E,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnC,GAAIsX,EAAa,CASf,IARA,IAAMlnB,EAAmBknB,EAAY/mB,QACnC,SAACW,GAAD,OAAeA,EAAKwvE,gBAEhB7wB,EAID,GACI/8C,EAAI,EAAGA,EAAI1C,EAAKvE,OAAQiH,IAAK,CACpC,IAAIggB,EAIA,CACFs8E,YAAah/F,EAAK0C,GAAGk0B,iBACrBnnB,OAAQzP,EAAK0C,GAAGk9F,SAChBX,aAAcj/F,EAAK0C,GAAG4tE,cAExB7wB,EAAIz5B,KAAKtD,GAEX68E,GAAuB9/C,GACvB0/C,IAAc,QAGd78E,EAAW,IAGfkD,IAAa,GA+Mf,OACE,gCACGs5E,IACCC,GAAoBtjG,OAAS,GAC7BsjG,GAAoBzuD,MAAK,SAAC1gC,GAAD,MAA+B,YAAhBA,EAAKH,WAC3C,uBAAK/Y,UAAU,gBACb,uBAAKA,UAAU,WAAf,4BACA,uBAAKA,UAAU,gBAAf,2IAGN,uBAAKA,UAAW,cAAgB2P,GAAY,QAAU,KACpD,uBAAK3P,UAAU,mBACb,uBAAKA,UAAU,gBACb,wBAAMA,UAAU,mBACd,qBAAGA,UAAU,oBAEf,yBAAOA,UAAU,gBACf,oJAMJ,uBAAKA,UAAU,kBACb,gBAAC,GAAD,CACE6P,QAAQ,gBACR9G,QAAS,WAAO,IAAD,EACb+zG,GAAa,SAAD,OACD17F,GAAYwQ,gBACrB,SAAC5P,GACC8M,GAAa9M,MAEf,eACA,GACA,EAPU,OAQVZ,SARU,IAQVA,IARU,UAQVA,GAAao6B,mBARH,aAQV,EAA0BgG,uBAMlCg/D,IACA,gBAAC,GAAD,CACEtY,gBAAiBA,GACjBE,kBAAmBA,GACnBD,kBAAmBA,GACnBE,oBAAqBA,GACrBJ,WAAYA,KAGfuY,IACC,gCACE,uBAAKxgH,UAAU,2BACb,gBAAC,GAAD,CACE6O,QAASmpG,EACTh4G,UAAU,GACViH,SAAU,WACRgxG,GAAkB,GAClBvnD,GAAc,SAACD,GAEb,OADAA,EAAWjoD,KAAO,MACXioD,MAGXjvD,KAAK,iBACLoN,MAAM,kBAGR,gBAAC,GAAD,CACE5O,UAAU,QACV6O,SAAUmpG,EACV/wG,SAAU,WACRgxG,GAAkB,GAClBvnD,GAAc,SAACD,GAEb,OADAA,EAAWjoD,KAAO,QACXioD,MAGXjvD,KAAK,iBACLoN,MAAM,cAIV,gCAxRkB,SAACgyG,GAAyB,IAAD,EACnD,OACE,gCACiB,GAAdA,GACC,gCACE,uBAAK5gH,UAAU,SACb,uBAAKA,UAAU,gBACb,yBAAOA,UAAU,WAAjB,YACA,gBAAC,GAAD,CACE+G,QAASnB,GACTS,aAAY,OAAEszC,QAAF,IAAEA,OAAF,EAAEA,EAAQv7B,MACtBzV,UAAU,EACV1B,SAAU,SAAC3G,GACL4F,GAAoB/B,KAAK7D,GAC3BorB,EAAU,2BACLD,GADI,IAGPrN,MAAO6H,GAAShK,QAGlBuyC,GAAqB,GACrBxoB,IAAmB,GACnBkrB,IAAoB,GAGpBxlC,EAAU,2BACLD,GADI,IAGPrN,MAAO,QAKb/V,OAAQ,SAAC4P,EAAO/Q,GAAO,IAAD,aAEG7C,KAApB,OAAD6C,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACU,QAApB,OAAD4G,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACU,MAApB,OAAD4G,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACX4F,GAAoB/B,KAApB,OAAyB+C,QAAzB,IAAyBA,GAAzB,UAAyBA,EAAGE,cAA5B,aAAyB,EAAW9G,OAEpCorB,EAAU,2BACLD,GADI,IAGPrN,MAAO6H,GAAShK,OAGlByP,EAAU,2BACLD,GADI,IAGPrN,MAAOnG,EAAMlR,QAAU,GAAKkf,GAAShK,QAG3C9T,YAAY,wBACZ5B,UAAWklB,EAAOrN,MAClB5V,KAAK,QACLQ,OACmB,KAAjB2wC,EAAOv7B,OAAgB2nB,GACrB,qBAAG/lC,UAAU,mBAEb,oCAKPuuD,IAAsBxoB,IACrB,uBAAK/lC,UAAU,WACb,gBAAC,GAAD,CACE6P,QAAQ,SACRlH,WAEsB,QAAZ,OAANgxC,QAAM,IAANA,OAAA,EAAAA,EAAQv7B,aACG/Z,IAAXs1C,GACkB,MAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQv7B,cAES/Z,KAAZ,OAANonB,QAAM,IAANA,OAAA,EAAAA,EAAQrN,QACW,QAAZ,OAANqN,QAAM,IAANA,OAAA,EAAAA,EAAQrN,QACU,MAAZ,OAANqN,QAAM,IAANA,OAAA,EAAAA,EAAQrN,SACF,OAANqN,QAAM,IAANA,GAAA,UAAAA,EAAQrN,aAAR,eAAerZ,QAAS,EAE5BgE,QAAS,WAMP8qD,UAMT/D,KAAiBvB,EAChB,uBAAKvuD,UAAU,cACb,gBAAC,GAAD,CACE4O,MAAM,kBACN4X,SAAU,GACVtB,MAAM,OACNje,SAAU,SAACyC,GAAD,OAAS2K,GAAY,QAAS3K,IACxCid,cAAektC,GACfpuC,WAAYsqC,GACZxqC,WAAY0qC,MAIhB,IAIL2wD,GACC,gCACE,uBAAK5gH,UAAU,SACb,uBAAKA,UAAU,gBACb,yBAAOA,UAAU,WAAjB,cACA,gBAAC,GAAD,CACE+G,QAASf,GACT2C,UAAU,EACVtC,aAAY,OAAEszC,QAAF,IAAEA,OAAF,EAAEA,EAAQ92B,OACtB5b,SAAU,SAAC3G,GACTolC,GAAiB,GACjBwrB,IAAoB,GACpBhrB,IAAoB,IAItB79B,OAAQ,SAAC4P,GAAD,OACNyT,EAAU,2BACLD,GADI,IAGP5I,OAAQ5K,EAAMlR,QAAU,GAAKkf,GAAShK,QAG1C9T,YAAY,iBACZ5B,UAAWklB,EAAO5I,OAClBra,KAAK,MACLI,aAAcpD,GACdwD,OACEoY,GAAYikB,KAAKxiB,SAAW82B,EAAO92B,QACjB,KAAlB82B,EAAO92B,QACPojB,EACE,qBAAGjmC,UAAU,mBAEb,iCAGJ2H,UAAW,GACXkB,WAAY,SACVkrD,GAEA,GAAIA,EAASxnD,KAAO,KAAOwnD,EAASxnD,KAAO,IACzC,OAAO,EAGY,cAAjBwnD,EAASxnD,KACQ,UAAjBwnD,EAASxnD,KAETwnD,EAASC,qBAKlBvuB,IAAkBQ,GACjB,uBAAKjmC,UAAU,WACb,gBAAC,GAAD,CACE6P,QAAQ,SACRlH,SACEinB,OAAO+pB,OAAO,CAACluB,EAAO5I,SAAS+2B,MAAK,SAAC3hC,GAAD,OAAWA,MAC/C2X,OAAO+pB,OAAO,CAACA,EAAO92B,SAAS+2B,MAAK,SAACt5C,GAAD,OAAYA,KAElDyI,QAAS,WAGPwuC,UAMT3R,IAAkBH,GACjB,uBAAKzlC,UAAU,cACb,gBAAC,GAAD,CACE4O,MAAM,mBACN4X,SAAU,GACVtB,MAAM,OACNje,SAAU,SAACyC,GAAD,OAAS2K,GAAY,SAAU3K,IACzCid,cAAe,WAEb4wB,MAEF9xB,WAAYA,EACZF,WAAYA,QA2Ffs7F,CAAuC,OAAnBpwD,EAAWjoD,QA4BrCimB,GACC,uBAAKzuB,UAAU,cACb,gBAAC,GAAD,KACsB,kBAAZyuB,EACN,gCACE,oEACA,sEACyCA,EADzC,MAKF,6BAAQA,MAMdy5E,IAAmBD,IACnB,iCAIIG,IACA,uBAAKpoG,UAAU,gBACb,uBAAKA,UAAU,UAAUE,IAAKypG,KAAUvpG,IAAI,OAC5C,yBAAOJ,UAAU,aAAjB,oGAMJ,uBAAKA,UAAU,aACXwgH,IACA,gBAAC,GAAD,CACE3wG,QAAQ,0BACRF,UAAWA,GACXhH,SAAUu/F,GACVn/F,QAAS,SAAC7B,GACRu5G,IAAwB,MAI7BD,IACC,gBAAC,GAAD,CACE3wG,QAAQ,SACRF,UAAWA,GACXhH,SAAUu/F,IAvWC,QAAX,OAAVz3C,QAAU,IAAVA,OAAA,EAAAA,EAAYjoD,OAAyC,IAAd,OAAVioD,QAAU,IAAVA,OAAA,EAAAA,EAAY2vD,UAwW/Br3G,QAAS,SAAC7B,IAneA,WAAO,IAAD,EAC9B4nB,IAAa,GACb,IAAIqF,EAAS,IACP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,WAEjC,IAAIolB,EAAS,CACXjB,cAAa,OAAEvQ,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BiB,iBAAgB,OAAEzR,SAAF,IAAEA,IAAF,UAAEA,GAAao6B,mBAAf,aAAE,EAA0BgG,gBAC5C1uB,aAAc,GACdC,OAAQoB,EACRnB,WAAYqtF,GAEd1tF,IAA6B,SAAC7R,IACvBA,GAAOA,EAAI7I,OAEd2T,EAAW9K,EAAI7I,OAKf6W,IAAa,IAEK,QAAX,OAAHhO,QAAG,IAAHA,OAAA,EAAAA,EAAK5H,QACP,OAAIkI,SAAJ,IAAIA,QAAJ,EAAIA,GAAa4P,QACf2vF,OAKL/tF,GAoca1f,WCv2BL4tG,GA5Da,SAAC/gH,GAC3B,IAAMijC,EAAa9K,KADuB,GAEzBnJ,cACEiU,EAAW1gB,IAAI,eAC9B0gB,EAAW1gB,IAAI,cAEA0gB,EAAW1gB,IAAI,eAC9B0gB,EAAW1gB,IAAI,cAEE0gB,EAAW1gB,IAAI,iBAChC0gB,EAAW1gB,IAAI,gBAGjBlc,IAAM8G,YAbkC,mBAYnCy9F,EAZmC,KAYnBC,EAZmB,OAexCxkG,IAAM8G,UAAkB,GAfgB,gCAgBR9G,IAAM8G,UAAkB,IAhBhB,gCAiBZ9G,IAAM8G,SAAc,KAjBR,6BAoC1C,OAlBA9G,IAAM6H,WAAU,YAIhB,WACE,IAAI86C,EAA+C,GACnD3nC,GAAY+P,gBAAgB9jB,SAAQ,SAAC1N,IAEhCA,EAAO+B,YACR/B,EAAOoC,YACPpC,EAAOgC,SAAWjB,GAAaW,cAE/B0nD,EAAIz5B,KAAK,CAAE9tB,KAAM7B,EAAO6B,KAAMG,OAAQhC,EAAOgC,YAGjDipG,EAAkB7hD,GAdlB8hD,KAEC,IAgBD,6BACE,yBAAK7qG,UAAU,YACb,yBAAKA,UAAU,eACb,yDAEF,yBAAKA,UAAU,UACb,yBAAKA,UAAU,YAAYE,IAAKoqG,KAAalqG,IAAI,WAElDuqG,GACC,oCACGA,EAAe5lG,OAAS,EACvB,kBAAC,GAAD,CAAgBilG,mBAAoBW,IAEpC,oCACE,kBAAC,GAAD,WCoFDoW,GAtHyC,SAAChhH,GACvD,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACEy1D,KAAM90D,GAAaE,QACnByxF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAkBpxF,EACjB,kBAAC,GAAgBA,QAMzB,kBAAC,IAAD,CACEy1D,KAAM90D,GAAaO,IACnBoxF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAkBpxF,EACjB,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACEy1D,KAAM90D,GAAaM,IACnBqxF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAkBpxF,EACjB,kBAAC,GAAwBA,QAKjC,kBAAC,IAAD,CACEy1D,KAAM90D,GAAaU,MACnBixF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OAEN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAkBpxF,EACjB,kBAAC,GAAmBA,QAK5B,kBAAC,IAAD,CACEy1D,KAAM90D,GAAaG,KACnBwxF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYnB,aAAa,GACvB,kBAAC,GAAkBpxF,EACjB,kBAAC,GAAaA,QAKtB,kBAAC,IAAD,CACEy1D,KAAM90D,GAAaI,KACnBuxF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAkBpxF,EACjB,kBAAC,GAAeA,QAKxB,kBAAC,IAAD,CACEy1D,KAAM90D,GAAaK,SACnBsxF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAkBA,EACjB,kBAAC,GAAaA,OAIpB,kBAAC,IAAD,CACEy1D,KAAM90D,GAAaS,MACnBkxF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAkBpxF,EACjB,kBAAC,GAAD,WAKP,kBAAC,IAAD,CACCy1D,KAAM90D,GAAaW,aACnBgxF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAkBpxF,EACjB,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACEy1D,KAAM90D,GAAaC,YACnB0xF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAkBpxF,EACjB,kBAAC,GAAD,WAKR,kBAAC,IAAD,CAAOy1D,KAAM90D,GAAaQ,KAAMmxF,OAAK,EAAC2uB,UAAWvtB,OCrCxCwtB,I,OAhF+B,SAAClhH,GAAW,IAAD,EACrBqG,YAAwB,GADH,mBAChDuJ,EADgD,UAqBvD,OAJAvJ,aAAgB,WACdob,OAAOwtB,OAAO,EAAG,KAChB,IAGD,uBAAKhvC,UAAW2P,EAAY,QAAU,IACpC,gBAAC,GAAD,CAAc3P,UAAU,gBACtB,uBAAKE,IAAKH,EAAMI,KAAMC,IAAI,GAAGJ,UAAU,WAEzC,uBAAKA,UAAU,aACb,yBAAOA,UAAU,WAAWD,EAAMmhH,SAClC,yBAAOlhH,UAAU,QAAQD,EAAMuO,MAC9BvO,EAAM0B,MACL,yBAAOzB,UAAU,QAAjB,YACYD,EAAM0B,KAAK+L,WADvB,8BASF,uBAAKxN,UAAU,QACZD,EAAMohH,gBAAgBp8G,OAAS,EAC9BhF,EAAMohH,gBAAgBl1G,KAAI,SAACm1G,EAASr2G,GAAV,OACxB,uBAAK/K,UAAU,UAAUuM,IAAKxB,GAC5B,yBAAO/K,UAAU,eAAeohH,EAAQ7gH,SACxC,yBAAOP,UAAU,aAAaohH,EAAQ9gH,WAI1C,gBAAC,GAAD,CAAQ6O,KAAM,OAGjBpP,EAAMgP,SACP,uBAAK/O,UAAU,YACb,gBAAC,GAAD,CACE6P,QAAQ,cACRF,UAAW5P,EAAMohH,gBAAgBp8G,QAAU,EAC3CgE,QArDV,WACE4uB,GAAW,CAAEG,OAAQ,eAAgBlpB,MAAO,gBACxC4B,KAAgBM,UAClB0Q,OAAOY,SAASC,KAAO3e,GAAW,iBAE9B+kD,KACFjnC,OAAOY,SAASC,KACd,mDAEFb,OAAOY,SAASC,KAAO,sD,oBCgJhBg/F,GAjK2B,SAACthH,GAEzC,IAAMivB,EAAUC,cACV+T,EAAa9K,KACb+K,EAAaD,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE4gB,EAAaF,EAAW1gB,IAAI,cAC9B0gB,EAAW1gB,IAAI,cACf,GACE6gB,EAAeH,EAAW1gB,IAAI,gBAChC0gB,EAAW1gB,IAAI,gBACf,GAZ+C,EAcjBlc,aAdiB,mBAc5Ck7G,EAd4C,KAcjCC,EAdiC,OAeLn7G,WAC5C,IAhBiD,mBAe5C+6G,EAf4C,KAe3BK,EAf2B,OAkB3Bp7G,WAAuB,IAlBI,mBAkB5C3E,EAlB4C,KAkBtCggH,EAlBsC,KAyDnD,SAASC,EAAiBjpG,GACxB,IAAKA,GAAOA,EAAIR,WACT,CACL,IAAMuY,EAAcxV,KAAKC,MAAMxC,EAAIS,MAC7BmV,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D,GAAI8O,GAAeA,EAAYo6B,KAAM,CACnC,IAAI+2D,EAAanxF,EAAYoxF,eACzBpxF,EAAYoxF,eACZvzF,EAAwBigB,QACxBjgB,EAAwBigB,QACxB,GACAzrB,EAAS2N,EAAYmqC,SACrBnqC,EAAYmqC,SACZtsC,EAAwBxL,OACxBwL,EAAwBxL,OACxB,GACAzE,EAAQoS,EAAYoqC,QACpBpqC,EAAYoqC,QACZvsC,EAAwB4mB,QACxB5mB,EAAwB4mB,QACxB,GACJssE,EAAa/wF,EAAY5N,eACzB,IAAMi/F,EAA+B,CACnC,CACEthH,QAAS,wBACTD,MAAOkwB,EAAY5N,eAErB,CAAEriB,QAAS,OAAQD,MAAOqhH,GAC1B,CAAEphH,QAAS,gBAAiBD,MAAOkwB,EAAYo6B,MAC/C,CACErqD,QAAS,WACTD,MAAO8d,GAET,CACE7d,QAAS,gBACTD,MAAM,OAAD,OAASuiB,KAIlB4+F,EAAQjxF,EAAYsxF,oBACpBN,EAAmBK,OACd,CACL,IAAIF,EAAanxF,EAAYoxF,eACzBpxF,EAAYoxF,eACZvzF,EAAwBigB,QACxBjgB,EAAwBigB,QACxB,GACAzrB,EAAS2N,EAAYmqC,SACrBnqC,EAAYmqC,SACZtsC,EAAwBxL,OACxBwL,EAAwBxL,OACxB,GACAzE,EAAQoS,EAAYoqC,QACpBpqC,EAAYoqC,QACZvsC,EAAwB4mB,QACxB5mB,EAAwB4mB,QACxB,GACJssE,EAAa/wF,EAAY5N,eACzB,IAAMi/F,EAA+B,CACnC,CACEthH,QAAS,yBACTD,MAAOkwB,EAAY5N,eAErB,CAAEriB,QAAS,OAAQD,MAAOqhH,GAC1B,CACEphH,QAAS,WACTD,MAAO8d,GAET,CACE7d,QAAS,gBACTD,MAAM,OAAD,OAASuiB,KAKlB4+F,EAAQjxF,EAAYsxF,oBACpBN,EAAmBK,KAWzB,OA/HAz7G,aAAgB,WACd,GACgC,KAAnB,OAAXgb,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,gBACiB,OAAnB,OAAXxQ,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,qBACiBvtB,IAAnB,OAAX+c,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,eAMb,OAJAzP,MACE,yHAEF6M,EAAQM,KAAKpsB,IAER4yD,GAAsB4rD,EAAkBtgG,GAAYwQ,iBAC1D,IAGHxrB,aAAgB,WACd,IAAM8S,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAaqB,UAAUhB,UAClD4W,mBAAoB,GACpBpM,WAAYA,EACZC,WAAYA,EACZC,aAAcA,EACdmM,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,cACpBmwF,uBAAwB,6BAG1BroF,GAA2BxgB,GAE3BihB,GAAiBC,UACfO,GAAgBvC,aAAaqB,UAAUhB,aAExC,IAsFHryB,aAAgB,WACV+6G,EAAgBp8G,OAAS,GAC3Byc,OAAOC,aAAa0gC,WAAW,6BAEhC,CAACg/D,IAGF,gBAAC,GAAD,CAEED,QAAQ,4BACR5yG,KAAK,+FACL7M,KAAMA,EACN0/G,gBAAiBA,EACjBhhH,KAAM6hH,KACNV,UAAWA,KC3IFW,I,OAvBmC,SAACliH,GACjD,IAAM+Q,EAAYN,KAAgBM,UAElC,OACE,oCACE,yBACE9Q,eAC6BqE,KAAtB,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAOmiH,mBAAP,OAAwCniH,QAAxC,IAAwCA,OAAxC,EAAwCA,EAAOmiH,iBAA/C,OACIniH,QADJ,IACIA,OADJ,EACIA,EAAOmiH,gBACP,gBAGN,kBAAC,EAAD,CACEjiH,oBACE6Q,IAAS,OAAI/Q,QAAJ,IAAIA,OAAJ,EAAIA,EAAOoiH,eAApB,OAAoCpiH,QAApC,IAAoCA,OAApC,EAAoCA,EAAOoiH,cAAgB,KAG9DpiH,EAAMgP,aC80CAqzG,I,cArxCM,SAACriH,GACpB,IAAMivB,EAAUC,cAD4B,EAEd7oB,IAAM8G,SAAS,IAFD,mBAErCuhB,EAFqC,KAE5B7C,EAF4B,OAGJxlB,IAAM8G,UAAkB,GAHpB,mBAGrC7L,EAHqC,KAGvBghH,EAHuB,OAIVj8G,IAAM8G,UAAkB,GAJd,mBAIrCyC,EAJqC,KAI1Bmf,EAJ0B,OAM1C1oB,IAAM8G,WANoC,mBAKrCo1G,EALqC,KAKnBC,EALmB,OAOhBn8G,IAAM8G,SAAS,CACzCkR,MAAO,GACPyE,OAAQ,KATkC,mBAOrC82B,EAPqC,KAO7B0U,EAP6B,OAWVjoD,IAAM8G,UAAkB,GAXd,mBAWrCmzG,EAXqC,KAW1BC,EAX0B,OAYdl6G,IAAM8G,SAAiB,IAZT,mBAYrCs1G,EAZqC,KAY5BC,EAZ4B,OAaAr8G,IAAM8G,UAAkB,GAbxB,mBAarC8qG,EAbqC,KAarBC,EAbqB,OAcV7xG,IAAM8G,SAAiB,IAdb,mBAcrCya,EAdqC,KAc1B+6F,EAd0B,OAeZt8G,IAAM8G,SAAiB,IAfX,mBAerC2a,EAfqC,KAe3B86F,EAf2B,OAgBFv8G,IAAM8G,UAAkB,GAhBtB,mBAgBrCu4B,EAhBqC,KAgBtBC,EAhBsB,OAkB1Ct/B,IAAM8G,UAAkB,GAlBkB,mBAiBrCqhD,EAjBqC,KAiBlBC,EAjBkB,QAmBFpoD,IAAM8G,UAAkB,GAnBtB,qBAmBrC04B,GAnBqC,MAmBtBC,GAnBsB,SAoBRz/B,IAAM8G,UAAkB,GApBhB,qBAoBrCuY,GApBqC,MAoBzBqgB,GApByB,SAsB1C1/B,IAAM8G,UAAkB,GAtBkB,qBAqBrC+4B,GArBqC,MAqBnBC,GArBmB,SAuBtB9/B,IAAM8G,WAvBgB,qBAuBrCsmC,GAvBqC,MAuBhCovE,GAvBgC,SAwBEx8G,IAAM8G,UAAkB,GAxB1B,qBAwBrC64B,GAxBqC,MAwBpBC,GAxBoB,SAyBI5/B,IAAM8G,UAAS,GAzBnB,qBAyBnBgkD,IAzBmB,gBA0BR9qD,IAAM8G,UAAkB,GA1BhB,qBA0BrCqY,GA1BqC,MA0BzB4gB,GA1ByB,SA2BJ//B,IAAM8G,UAAkB,GA3BpB,qBA2BrC4iD,GA3BqC,MA2BvBnqB,GA3BuB,SA4BEv/B,IAAM8G,UAAkB,GA5B1B,qBA4BrC6iD,GA5BqC,MA4BpBC,GA5BoB,SA6BE5pD,IAAM8G,UAAkB,GA7B1B,qBA6BrC+iD,GA7BqC,MA6BpBC,GA7BoB,SA8BA9pD,IAAM8G,UAAkB,GA9BxB,qBA8BrC21G,GA9BqC,MA8BrB7xD,GA9BqB,SA+BN5qD,IAAM8G,SAAuB,IA/BvB,qBA+BrC41G,GA/BqC,MA+BxBvC,GA/BwB,SAiC1Cn6G,IAAM8G,UAAkB,GAjCkB,qBAgCrC61G,GAhCqC,MAgCnBhyD,GAhCmB,SAkCR3qD,IAAM8G,SAGvC,CACD1E,KAAM,MACN43G,UAAU,IAvCgC,qBAkCrC3vD,GAlCqC,MAkCzBC,GAlCyB,SAyChBtqD,IAAM8G,SAE/B,CACDkR,WAAO/Z,EACPwe,YAAQxe,IA7CkC,qBAyCrConB,GAzCqC,MAyC7BC,GAzC6B,SA+ChBtlB,IAAM8G,SAG/B,CACDijD,gBAAY9rD,EACZ+rD,iBAAa/rD,IApD6B,qBA+CrCgsD,GA/CqC,MA+C7BC,GA/C6B,MAsD5C,SAASj8C,GAAYmjC,EAA6B9tC,GAC5C6b,IACF4gB,IAAc,GAEZ8pB,IACFC,IAAmB,GAEF,IAAfxmD,EAAI3E,SACN+pB,GAAa,GACG,UAAZ0oB,EACFwY,IAAmB,GACE,WAAZxY,GACT1R,IAAc,GAEhB1e,IACE,SAAC3O,GACiB,UAAZ++B,EAYZ,SAAkC/+B,GAEhC,GADAu3C,IAAmB,IACdv3C,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,WACV,CAAC,IAAD,MACL5M,QAAQC,IAAImN,EAAK,SAEfA,EAAIS,OAAJ,OACAT,QADA,IACAA,GADA,UACAA,EAAKS,YADL,aACA,EAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWo5C,UACS,IAAnB,OAAH75C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWo5C,UAEXlxC,GAAYikB,KAAKjnB,MAAQu7B,EAAOv7B,MAC5B4kG,MACFtyD,IAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,QAClBioD,EAAW2vD,UAAW,EACf3vD,KAGXzqB,IAAmB,GACnBL,IAAgB,GAChBqrB,IAAkB,KAEdgyD,MACFtyD,IAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,QAClBioD,EAAW2vD,UAAW,EACf3vD,KAGXP,IAAmB,IAGrBtkC,EAAW,IAEbkD,GAAa,GAjDLyjC,CAAyB95C,GAmDnC,SAAmCA,GAGjC,GAFAqW,GAAa,GACbgX,IAAc,GACVrtB,EAAIR,MAEN2T,EAAWnT,EAAIR,WACV,CAAC,IAAD,MAEHQ,EAAIS,OAAJ,OACAT,QADA,IACAA,GADA,UACAA,EAAKS,YADL,aACA,EAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,aAAC,EAAWo5C,UACS,IAAnB,OAAH75C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWo5C,UAEXlxC,GAAYikB,KAAKxiB,OAAS82B,EAAO92B,OAC7BmgG,MACFtyD,IAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,MAClBioD,EAAW2vD,UAAW,EACf3vD,KAGXvqB,IAAoB,GACpBL,IAAiB,GACjBkrB,IAAoB,KAEhBiyD,MACFtyD,IAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,MAClBioD,EAAW2vD,UAAW,EACf3vD,KAGXtqB,IAAc,IAEhBva,EAAW,KAnFL4mC,CAA0B/5C,KAGnB,SAAX++B,EAAA,OAAqB6Y,SAArB,IAAqBA,QAArB,EAAqBA,GAAQF,WAA7B,OAA0CE,SAA1C,IAA0CA,QAA1C,EAA0CA,GAAQD,YAClD1mD,IAkFN,SAASzC,GAASsF,EAA4BjM,GAoB5C,MAnBY,WAARiM,GAAqB/G,GAAWrB,KAAK7D,KACvCA,EAAQq5C,EAAOptC,IAEjB8hD,EAAU,2BAAK1U,GAAN,mBAAeptC,EAAMjM,KAClB,WAARiM,GAEAm5B,GADEO,IAMM,UAAR15B,GAEAiiD,GADEzoB,IAMNra,GAAU,2BAAKD,IAAN,mBAAelf,EAAM,MACvBjM,EAGT,SAASi3C,KACPzoB,GAAa,GAEbjI,IACE,SAACpO,GACCpN,QAAQC,IAAI,MAAOmN,GAOzB,SAA0BA,GAAW,IAAD,YAIZ,QAAjB,OAAHA,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS7U,KAAjB,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBk5C,QACQ,MAAxB,OAAH35C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBk5C,QAEjB9B,IAAU,SAACD,GAAY,IAAD,IAEpB,OADAA,EAAOD,YAAP,OAAqB33C,QAArB,IAAqBA,GAArB,UAAqBA,EAAKS,YAA1B,iBAAqB,EAAWA,YAAhC,aAAqB,EAAiBk5C,MAC/B/B,KAETvhC,GAAa,GACb4W,GAAiB,GACjBG,IAAiB,GACjBja,EAAW,OAEX,OAAInT,QAAJ,IAAIA,OAAJ,EAAIA,EAAKR,OACP2T,EAAWnT,EAAIR,OAEf2T,EAAW,qCAEbkD,GAAa,GACb+W,IAAiB,IA9BfwsB,CAAiB55C,KAEnBkhC,EAAO92B,OACP,OAkCJ,SAASgxC,KACP/kC,GAAa,GAEbjI,IACE,SAACpO,IAOL,SAAwBA,GACO,IAAD,YAAxBA,EAAIS,MAAQT,EAAIM,OAEI,QAAjB,OAAHN,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS7U,KAAjB,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBk5C,QACQ,MAAxB,OAAH35C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBk5C,QAEjB9B,IAAU,SAACD,GAAY,IAAD,IAEpB,OADAA,EAAOF,WAAP,OAAoB13C,QAApB,IAAoBA,GAApB,UAAoBA,EAAKS,YAAzB,iBAAoB,EAAWA,YAA/B,aAAoB,EAAiBk5C,MAC9B/B,KAET1qB,IAAgB,GAChB6oB,GAAqB,GACrB5iC,EAAW,KAEXA,EAAW,qCAIbA,EAAWnT,EAAIR,OAEjB6W,GAAa,GA5BTglC,CAAer7C,KAEjBkhC,EAAOv7B,MACP,SA2BJhY,IAAM6H,WAAU,WAEG,QAAV,OAALlO,QAAK,IAALA,OAAA,EAAAA,EAAOgG,WACQ1B,KAAV,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAOgG,MACQ,MAAV,OAALhG,QAAK,IAALA,OAAA,EAAAA,EAAOgG,OACN,OAAChG,QAAD,IAACA,OAAD,EAACA,EAAOo0B,SACS,MAAb,OAALp0B,QAAK,IAALA,OAAA,EAAAA,EAAOo0B,UAEPrF,GAAa,GACbmF,GAAuB03D,GAAD,OAAc5rF,QAAd,IAAcA,OAAd,EAAcA,EAAOgG,IAAK,EAA1B,OAA6BhG,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAOo0B,WAE3D,QAACp0B,QAAD,IAACA,OAAD,EAACA,EAAOgG,MAEX,IAuDM4lF,GAAc,SAAClzE,GAYQ,IAAD,EAnEJqZ,GAwDjBrZ,GAAOA,EAAIR,OAEd2T,EAAWnT,EAAIR,OAKf6W,GAAa,KAEbA,GAAa,GACTrW,EAAIS,KACU,MAAZT,EAAIS,OACNqpG,EAAmB,OAAC9pG,QAAD,IAACA,OAAD,EAACA,EAAKS,MACzBkI,GAAYyM,gBAAgB9nB,IAAM0S,EAAIS,KAAKg0C,IAC3C9rC,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYwQ,cAAgBnZ,EAAIS,KAAK8zC,cACrC5rC,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAC9BjR,GAAYyQ,sBAAwBpZ,EAAIS,KAAKkZ,sBAC7ChR,GAAYogC,gBAAZ,UAA8B/oC,EAAIS,YAAlC,aAA8B,EAAU+zC,gBAzE/B,QADOn7B,EA2EDrZ,EAAIS,KAAKmZ,cA1EIhuB,IAAXytB,GAAmC,KAAXA,GAC7CzH,IACE,SAAC5R,GACC,IAAKA,GAAOA,EAAIR,MAEd2T,EAAW6C,EAAUhW,EAAIR,YAEpB,UAAIQ,QAAJ,IAAIA,OAAJ,EAAIA,EAAKS,KAAM,CAAC,IAAD,EACpB,IAAS,OAAL9J,YAAK,IAALA,WAAA,EAAAA,MAAO06E,QAAP,OAAerxE,QAAf,IAAeA,OAAf,EAAeA,EAAKS,SAAY,OAAHT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWnU,QAAS,EAAG,CACtD,IAAMwiB,EAAO,OAAG9O,QAAH,IAAGA,OAAH,EAAGA,EAAKS,KAAK,QACV7U,IAAZkjB,GACF8mC,GAAU,SAAC1U,GAMT,YALuBt1C,KAAZ,OAAPkjB,QAAO,IAAPA,OAAA,EAAAA,EAASnJ,SACXu7B,EAAOv7B,MAAP,OAAemJ,QAAf,IAAeA,OAAf,EAAeA,EAASnJ,YAEF/Z,KAAb,OAAPkjB,QAAO,IAAPA,OAAA,EAAAA,EAAS1E,UACX82B,EAAO92B,OAAP,OAAgB0E,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAS1E,QACpB82B,UAIGt1C,IAAZkjB,GACqB,MAAd,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASi7F,WACR,OAACj7F,QAAD,IAACA,OAAD,EAACA,EAASi7F,UAEXC,EAAU,OAACl7F,QAAD,IAACA,OAAD,EAACA,EAASi7F,SAEG,QAAhB,OAAPj7F,QAAO,IAAPA,OAAA,EAAAA,EAASI,iBACctjB,KAAhB,OAAPkjB,QAAO,IAAPA,OAAA,EAAAA,EAASI,YACc,MAAhB,OAAPJ,QAAO,IAAPA,OAAA,EAAAA,EAASI,YAET+6F,EAAY,OAACn7F,QAAD,IAACA,OAAD,EAACA,EAASI,WAIA,QAAf,OAAPJ,QAAO,IAAPA,OAAA,EAAAA,EAASM,gBACaxjB,KAAf,OAAPkjB,QAAO,IAAPA,OAAA,EAAAA,EAASM,WACa,MAAf,OAAPN,QAAO,IAAPA,OAAA,EAAAA,EAASM,WAET86F,EAAW,OAACp7F,QAAD,IAACA,OAAD,EAACA,EAASM,UAEvB04F,GAAeh5F,OAIrB,CACE9e,GAAIqpB,EACJtwB,KAAM,GACN8oB,UAAW,IA2BXmI,IACE,SAACha,GAAD,OA6BV,SAA+BA,GAE7B,GADAqW,GAAa,IACRrW,GAAOA,EAAIR,MAOd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnC,GAAoB,OAAhBsX,QAAuCnsB,GAAfmsB,EAA0B,CAQpD,GAN8B,QAAjB,OAAXA,QAAW,IAAXA,OAAA,EAAAA,EAAawC,kBACe3uB,KAAjB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAawC,cADb,OAEAxC,QAFA,IAEAA,OAFA,EAEAA,EAAawC,aAEbstF,GAAa,GAEU,QAAV,OAAX9vF,QAAW,IAAXA,OAAA,EAAAA,EAAagjB,WAAqCnvC,KAAV,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAagjB,KAAmB,CACpDtd,KAAOA,KApCR,SAACqiC,GAAuB,MAEfA,EAAWj0C,MAAM,KAFF,mBAEnC0nC,EAFmC,KAE9BI,EAF8B,KAEvBC,EAFuB,KAKpCv3B,EAAO,IAAIE,KAAKznB,SAAS8+C,GAAO9+C,SAAS6+C,GAAS,EAAG7+C,SAASy+C,IAOpE,MAJmB,WAAOl3B,EAAK6vB,WAAa,GACzCn3C,WACAgrD,SAAS,EAAG,KAFI,YAEIxM,EAAIwM,SAAS,EAAG,KAFpB,YAE4BnM,GA0BdiM,CAAW,OAAC9nC,QAAD,IAACA,OAAD,EAACA,EAAagjB,MAAMqnB,UACrDC,QAAQ,OACRD,SACH+nD,GAAO1sF,KAAOsd,IAAKrd,OAAO,eAExB3F,EAAYs3B,WACSzjD,IAAd,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAOkjH,YACJ,OAALljH,QAAK,IAALA,KAAOkjH,SAASzyF,EAAYs3B,QAC5B,OAAIt3B,QAAJ,IAAIA,OAAJ,EAAIA,EAAawqC,WACfhsC,EAAQM,KAAKpsB,KAKkB,OAAjCstB,EAAYi3B,kBACoB,GAAhCj3B,EAAYi3B,mBADZ,OAEAj3B,QAFA,IAEAA,OAFA,EAEAA,EAAawqC,WAEbhsC,EAAQM,KAAKpsB,MArEDkqD,CAAsB30C,KACpC2I,GAAYwQ,eAEd9C,GAAa,KAGflD,EAAW,4DACXkD,GAAa,MA0EnB,IAsEMo0F,GAAe,WACnB,I5FxP4BniG,EAA4BwG,E4FwPpDiN,EAAS,CACXzM,QAAO,OAAE+6F,SAAF,IAAEA,QAAF,EAAEA,GAAa1kG,MACtBokG,QAAO,OAAEM,SAAF,IAAEA,QAAF,EAAEA,GAAaN,QACtBr6F,OAAQ,GACRrF,cAAa,OAAE1B,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,eAE1B4wF,GAA2C,IAArB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,mB5F9PAhlB,E4F+PV,SAACD,GACVA,IAAOA,EAAI7I,QAEd2T,EAAW9K,EAAI7I,OAKf6W,GAAa,K5FtQrBjO,GACE,CACEkB,IAAK,mBACLpR,KAAM,CACJoX,QAAO,QAL6CR,E4F0QnDiN,S5FrQM,IAAEjN,OAAF,EAAEA,EAASQ,QAClBy6F,QAAO,OAAEj7F,QAAF,IAAEA,OAAF,EAAEA,EAASi7F,QAClBr6F,OAAM,OAAEZ,QAAF,IAAEA,OAAF,EAAEA,EAASY,OACjBrF,cAAa,OAACyE,QAAD,IAACA,OAAD,EAACA,EAASzE,eAEzB7B,OAAQ,OACRY,WAAY9Q,GAAOE,aACnBG,WAAW,EACXoH,YAAanG,GAAa0D,aAE5BgL,K4F6PIoiG,GAAmB,WACvB,IAAIpI,GAAiB,EAgCrB,OA7BIA,EAFAiI,KACuB,QAAX,OAAVvyD,SAAU,IAAVA,QAAA,EAAAA,GAAYjoD,OAAyC,IAAd,OAAVioD,SAAU,IAAVA,QAAA,EAAAA,GAAY2vD,YAKpCgD,MAA+C,GAApBL,QAE7BM,MAA8C,GAAlBR,MAEV,GAAlBA,IAA8C,GAApBE,KAIrB,OAAZt0F,QACYpqB,IAAZoqB,GACmB,kBAAZA,GACI,IAAXA,IAEAssF,GAAiB,GAGE,QAAZ,OAANphE,QAAM,IAANA,OAAA,EAAAA,EAAQv7B,aACW/Z,KAAZ,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQv7B,QACU,MAAZ,OAANu7B,QAAM,IAANA,OAAA,EAAAA,EAAQv7B,QACU,QAAb,OAANu7B,QAAM,IAANA,OAAA,EAAAA,EAAQ92B,cACYxe,KAAb,OAANs1C,QAAM,IAANA,OAAA,EAAAA,EAAQ92B,SACW,MAAb,OAAN82B,QAAM,IAANA,OAAA,EAAAA,EAAQ92B,UAEVk4F,GAAiB,GAEZA,GAEH8F,GAAsB,WAAO,IAAD,EAChC,OACE,oCACGyC,MACC,oCACE,yBAAKtjH,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,YACA,kBAAC,GAAD,CACE+G,QAASnB,GACTS,aAAY,OAAEszC,QAAF,IAAEA,OAAF,EAAEA,EAAQv7B,MACtBzV,UAAU,EACV1B,SAAU,SAAC3G,GACL4F,GAAoB/B,KAAK7D,GAC3BorB,GAAU,2BACLD,IADI,IAGPrN,MAAO6H,GAAShK,QAGdmnG,MAEF50D,GAAqB,GAGvBxoB,IAAmB,GACnBkrB,IAAoB,GAEpBjqD,GAAS,QAAS3G,GAClBorB,GAAU,2BACLD,IADI,IAGPrN,MAAO,MAETnX,GAAS,QAAS3G,KAGtB+H,OAAQ,SAAC4P,EAAO/Q,GAAO,IAAD,aAEG7C,KAApB,OAAD6C,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACU,QAApB,OAAD4G,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACU,MAApB,OAAD4G,QAAC,IAADA,GAAA,UAAAA,EAAGE,cAAH,eAAW9G,QACX4F,GAAoB/B,KAApB,OAAyB+C,QAAzB,IAAyBA,GAAzB,UAAyBA,EAAGE,cAA5B,aAAyB,EAAW9G,OAEpCorB,GAAU,2BACLD,IADI,IAGPrN,MAAO6H,GAAShK,OAGlByP,GAAU,2BACLD,IADI,IAGPrN,MAAOnG,EAAMlR,QAAU,GAAKkf,GAAShK,QAG3C9T,YAAY,wBACZ5B,UAAWklB,GAAOrN,MAClB5V,KAAK,QACLQ,OACEo6G,MACkB,KAAjBzpE,EAAOv7B,OAAgB2nB,GACtB,uBAAG/lC,UAAU,mBAEb,wCAKPojH,KACC,qCAEA,oCACG,IACA70D,IAAsBxoB,IACrB,yBAAK/lC,UAAU,WACb,kBAAC,GAAD,CACE6P,QAAQ,SACRlH,WAEsB,QAAZ,OAANgxC,QAAM,IAANA,OAAA,EAAAA,EAAQv7B,aACG/Z,IAAXs1C,GACkB,MAAZ,OAANA,QAAM,IAANA,OAAA,EAAAA,EAAQv7B,cAES/Z,KAAZ,OAANonB,SAAM,IAANA,QAAA,EAAAA,GAAQrN,QACW,QAAZ,OAANqN,SAAM,IAANA,QAAA,EAAAA,GAAQrN,QACU,MAAZ,OAANqN,SAAM,IAANA,QAAA,EAAAA,GAAQrN,SACF,OAANqN,SAAM,IAANA,IAAA,UAAAA,GAAQrN,aAAR,eAAerZ,QAAS,EAE5BgE,QAAS,WAMP8qD,WAQb/D,KAAiBvB,EAChB,yBAAKvuD,UAAU,cACb,kBAAC,GAAD,CACE4O,MAAM,kBACN4X,SAAU,GACVtB,MAAM,OACNje,SAAU,SAACyC,GAAD,OAAS2K,GAAY,QAAS3K,IACxCid,cAAektC,GACfpuC,WAAYsqC,GACZxqC,WAAY0qC,MAIhB,IAIN,oCACGszD,MACC,oCACE,yBAAKvjH,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,cACA,kBAAC,GAAD,CACE+G,QAASf,GACT2C,UAAU,EACVtC,aAAY,OAAEszC,QAAF,IAAEA,OAAF,EAAEA,EAAQ92B,OACtB5b,SAAU,SAAC3G,GACL+iH,MAEF39E,GAAiB,GAGnBwrB,IAAoB,GACpBhrB,IAAoB,GAEpBj/B,GAAS,SAAU3G,IAErB+H,OAAQ,SAAC4P,GAAD,OACNyT,GAAU,2BACLD,IADI,IAGP5I,OAAQ5K,EAAMlR,QAAU,GAAKkf,GAAShK,QAG1C9T,YAAY,iBACZ5B,UAAWklB,GAAO5I,OAClBra,KAAK,MACLI,aAAcpD,GACdwD,OACEq6G,MACCjiG,GAAYikB,KAAKxiB,SAAW82B,EAAO92B,QAChB,KAAlB82B,EAAO92B,QACPojB,GACA,uBAAGjmC,UAAU,mBAEb,qCAGJ2H,UAAW,GACXkB,WAAY,SACVkrD,GAEA,GAAIA,EAASxnD,KAAO,KAAOwnD,EAASxnD,KAAO,IACzC,OAAO,EAGY,cAAjBwnD,EAASxnD,KACQ,UAAjBwnD,EAASxnD,KAETwnD,EAASC,qBAKlBqvD,KACC,qCAEA59E,IACCQ,IACC,yBAAKjmC,UAAU,WACb,kBAAC,GAAD,CACE6P,QAAQ,SACRlH,SACEinB,OAAO+pB,OAAO,CAACluB,GAAO5I,SAAS+2B,MAC7B,SAAC3hC,GAAD,OAAWA,MAEb2X,OAAO+pB,OAAO,CAACA,EAAO92B,SAAS+2B,MAAK,SAACt5C,GAAD,OAAYA,KAElDyI,QAAS,WAGPwuC,UAOX3R,KAAkBH,GACjB,yBAAKzlC,UAAU,cACb,kBAAC,GAAD,CACE4O,MAAM,mBACN4X,SAAU,GACVtB,MAAM,OACNje,SAAU,SAACyC,GAAD,OAAS2K,GAAY,SAAU3K,IACzCid,cAAe,WAEb4wB,MAEF9xB,WAAYA,GACZF,WAAYA,UAUxB/O,GAAwB,WAE5BsY,GAAa,GACb,IAAIqF,EAAS,EACb9oB,QAAQC,IAAI,oBAAqBowB,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,QAC9D,IAAMwd,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAS5mB,SAAQ,OAACuxB,QAAD,IAACA,GAAD,UAACA,EAAc/L,cAAf,aAAC,EAAsBvlB,YAE1CgU,OAAOW,MAAM,yD9D5tBoB,SACnCpB,EACA6B,EACA8P,EACA4B,EACAH,GAEAtT,GACE,CACEkB,IAAK,wBACLpR,KAAM,CACJghB,cAAe/O,EACf4gG,kBAAmB9wF,EACnB4B,gBAAiBA,EACjBvB,OAAQoB,GAEVlT,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAamE,uBAE5BuK,G8DwsBA0iG,CACE5wB,GACAzxE,GAAYwQ,cACZ,EACAxQ,GAAYogC,gBAAZ,OAA8BpgC,SAA9B,IAA8BA,QAA9B,EAA8BA,GAAaogC,gBAAkB,EAC7DrtB,IAyBJ,SAAS0+D,GAAYp6E,GACnB,IAAKA,GAAOA,EAAIR,MACd5M,QAAQC,IAAImN,EAAIP,QAChB0T,EAAWnT,EAAIR,OACf0f,GAAW,CAAEG,OAAQ,eAAgBlpB,MAAO,oBAC5CkgB,GAAa,QAEb,GACoB,KAAjBrW,EAAIS,KAAKiX,MAAgC,KAAjB1X,EAAIS,KAAKiX,MACN,OAA5B1X,EAAIS,KAAKyB,KAAKwuF,UAoBT,CACL,IAAIG,EAAkB,GAClB7wF,EAAIS,KAAKyB,KAAKyuF,sBAAsBrkG,OAAS,GAC/C0T,EAAIS,KAAKyB,KAAKyuF,sBAAsB/7F,SAClC,SAAC2X,EAAchZ,GACH,IAANA,EAASs9F,EAAkBtkF,EAAQqkF,gBAClCC,GAAe,YAAStkF,EAAQqkF,oBAI3Ch+F,QAAQC,IAAI,uBAAwBg+F,GACpC19E,EAAWnT,EAAIS,KAAKyB,KAAKyuF,sBAAsB,GAAGC,iBAClDv6E,GAAa,OA/Bb,CACA,IAAMy6E,EAAe9wF,EAAIS,KAAKyB,KAAKwuF,WAjCb,SAACh8C,GAC3B,IAAMj0C,EAAO,CACX0gB,UAAWzB,GAAgBC,aAAakB,UAAUC,eAClD8V,mBAAoB,GAIpBC,IAAKluB,GAAY4P,MACjBwe,mBAAoBpuB,GAAYmO,aAChCggB,yBAA0BnuB,GAAY8P,mBACtCue,QAASruB,GAAY0Q,OACrBkG,OAAQ5W,GAAYwQ,cACpB83E,SAAUv8C,GAGZzzB,GAA2BxgB,GAG3BihB,GAAiBC,UACfO,GAAgBvC,aAAakB,UAAUC,gBAkBrCiwE,EAAoB,GAGpB,IAAMC,EAAY,CAChB93E,cAAevQ,GAAYwQ,cAC3BqyC,kBAAkB,GAGpBxiD,aAAa6M,QACX,mBACAslC,KAAK54C,KAAK2G,UAAU8nF,KAGtBjoF,OAAOY,SAASC,KAAOknF,GAiB7B,IAAM7e,GAAe,WACH,KAAZ83B,QAA6Bn+G,GAAXm+G,GAAmC,MAAXA,GApZxB,WACtB,IAAIhuF,EAAS,CACX3R,OAAQ82B,EAAO92B,OACfzE,MAAOu7B,EAAOv7B,MACdslG,UAAW,GACXC,SAAU,GACV7xF,OAAQ1Q,GAAY0Q,OACpB8xF,eAAgBb,GAChBc,cAAehB,GACfl7F,UAAWA,EACXE,SAAUA,EACV8J,cAAa,OAAEvQ,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cAC5BkyF,aAAc,EACdC,WAAY,MACZC,aAAa,EACbr2D,IAAG,OAAEm1D,SAAF,IAAEA,QAAF,EAAEA,GAAa/8G,IAClBytC,IACU,OAARA,SAAwBnvC,IAARmvC,GACZA,GACAtd,KAAM,OAAC4sF,SAAD,IAACA,QAAD,EAACA,GAAatvE,KAAKrd,OAAO,eAGzB,IAAXqsF,QAA4Bn+G,GAAXm+G,GAAmC,MAAXA,GAC3Cj4F,IAAiB,SAACzJ,GACXA,IAAOA,EAAI7I,QAEd2T,EAAW9K,EAAI7I,OAKf6W,GAAa,MAGd0F,GAmXHyvF,GAEFf,KAxbwB,WACxB,IAAI/uF,EAAS,IACb9oB,QAAQC,IAAI,oBAAqBowB,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,QAC9D,IAAMwd,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,WAEjC,IAAIolB,EAAS,CACXjB,cAAa,OAAE2wF,QAAF,IAAEA,OAAF,EAAEA,EAAkBt1D,cACjCn6B,iBAAgB,OAAEyvF,QAAF,IAAEA,OAAF,EAAEA,EAAkBr1D,gBACpCn6B,aAAc,GACdC,OAAQoB,EACRnB,WAAYqtF,GAEd1tF,IAA6B,SAAC7R,IACvBA,GAAOA,EAAI7I,OAEd2T,EAAW9K,EAAI7I,OAKf6W,GAAa,IAEK,QAAX,OAAHhO,QAAG,IAAHA,OAAA,EAAAA,EAAK5H,QACP,OAAInZ,QAAJ,IAAIA,OAAJ,EAAIA,EAAOixB,QACThC,EAAQzpB,QAAQrC,MAIrB0vB,GA0ZH1f,GAEmB,QAAZ,OAALnT,QAAK,IAALA,OAAA,EAAAA,EAAOixB,aACU3sB,KAAZ,OAALtE,QAAK,IAALA,OAAA,EAAAA,EAAOixB,SACU,KAAZ,OAALjxB,QAAK,IAALA,OAAA,EAAAA,EAAOixB,QAEPxa,MAEE+sG,GAAkB,WACtB,IAAI3C,GAAsB,EA4D1B,OA1DkB,OAAhBkC,SACgBz+G,IAAhBy+G,IACyB,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACYn+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACY,MAAd,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACoB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,mBANb,OAOA+8E,SAPA,IAOAA,QAPA,EAOAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,oBATb,OAUA68E,SAVA,IAUAA,QAVA,EAUAA,GAAa78E,mBACO,QAAV,OAAVwqB,SAAU,IAAVA,QAAA,EAAAA,GAAYjoD,OAII,OAAhBs6G,SACgBz+G,IAAhBy+G,IACyB,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACYn+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACY,MAAd,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACoB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACmB,IAArB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,oBATb,OAUA68E,SAVA,IAUAA,QAVA,EAUAA,GAAa78E,kBAZb26E,GAAa,GAgBG,OAAhBkC,SACgBz+G,IAAhBy+G,IAC0B,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACan+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACW,KAAb,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACkB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,oBANb,OAOA+8E,SAPA,IAOAA,QAPA,EAOAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,mBACoB,IAAtB,OAAX68E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,qBAIG,OAAhB68E,SACgBz+G,IAAhBy+G,IAC0B,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACan+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACY,MAAd,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACkB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACmB,IAArB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,mBACoB,IAAtB,OAAX68E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,qBAZb26E,GAAa,GAiBRA,GAEH0C,GAAiB,WACrB,IAAIY,GAAqB,EA4DzB,OA1DkB,OAAhBpB,SACgBz+G,IAAhBy+G,IACyB,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACYn+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACY,MAAd,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACoB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,mBANb,OAOA+8E,SAPA,IAOAA,QAPA,EAOAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,oBATb,OAUA68E,SAVA,IAUAA,QAVA,EAUAA,GAAa78E,mBACO,UAAV,OAAVwqB,SAAU,IAAVA,QAAA,EAAAA,GAAYjoD,OAII,OAAhBs6G,SACgBz+G,IAAhBy+G,IACyB,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACYn+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACY,MAAd,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACoB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACmB,IAArB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,oBATb,OAUA68E,SAVA,IAUAA,QAVA,EAUAA,GAAa78E,kBAZbi+E,GAAY,GAgBI,OAAhBpB,SACgBz+G,IAAhBy+G,IAC0B,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACan+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACW,KAAb,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACkB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,oBANb,OAOA+8E,SAPA,IAOAA,QAPA,EAOAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,mBACoB,IAAtB,OAAX68E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,qBAIG,OAAhB68E,SACgBz+G,IAAhBy+G,IAC0B,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACan+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACY,MAAd,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACkB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACmB,IAArB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,mBACoB,IAAtB,OAAX68E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,qBAZbi+E,GAAY,GAiBPA,GAEHb,GAAyB,WAC7B,IAAIc,GAA4B,EAgBhC,OAdkB,OAAhBrB,SACgBz+G,IAAhBy+G,IACyB,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACYn+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACY,MAAd,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACoB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACmB,IAArB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,oBATb,OAUA68E,SAVA,IAUAA,QAVA,EAUAA,GAAa78E,oBAEbk+E,GAAmB,GAEdA,GAEHf,GAAwB,WAC5B,IAAIgB,GAA4B,EAgBhC,OAdkB,OAAhBtB,SACgBz+G,IAAhBy+G,IAC0B,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACan+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACW,KAAb,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACkB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,oBANb,OAOA+8E,SAPA,IAOAA,QAPA,EAOAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,mBACoB,IAAtB,OAAX68E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,oBAEbm+E,GAAmB,GAEdA,GAEHpB,GAAkB,WACtB,IAAIqB,GAAY,EAiBhB,OAfkB,OAAhBvB,SACgBz+G,IAAhBy+G,IACyB,QAAd,OAAXA,SAAW,IAAXA,QAAA,EAAAA,GAAaN,eACYn+G,KAAd,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACY,MAAd,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAaN,UACoB,QAAtB,OAAXM,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,uBACoB1hC,KAAtB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa/8E,mBANb,OAOA+8E,SAPA,IAOAA,QAPA,EAOAA,GAAa/8E,kBACqB,QAAvB,OAAX+8E,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,wBACqB5hC,KAAvB,OAAXy+G,SAAW,IAAXA,QAAA,EAAAA,GAAa78E,oBATb,OAUA68E,SAVA,IAUAA,QAVA,EAUAA,GAAa78E,oBAEbo+E,GAAY,GAGPA,GAET,OACE,oCACE,yBAAKrkH,UAAW,gBAAkB2P,EAAY,QAAU,KACtD,yBAAK3P,UAAU,mBACb,yBAAKA,UAAU,gBACb,0BAAMA,UAAU,mBACd,uBAAGA,UAAU,oBAEf,2BAAOA,UAAU,kBACd,OAACD,QAAD,IAACA,OAAD,EAACA,EAAOixB,UAAW+xF,IAAoBF,KACtC,wKAE+D,OAGhE,OAAC9iH,QAAD,IAACA,OAAD,EAACA,EAAOixB,QAAS+xF,IAAoBF,IACpC,uJAKI,OAAL9iH,QAAK,IAALA,OAAA,EAAAA,EAAOixB,SAAU3vB,GAChB,uJAKI,OAALtB,QAAK,IAALA,OAAA,EAAAA,EAAOixB,QAAS3vB,GACf,0JAOL,OAACtB,QAAD,IAACA,OAAD,EAACA,EAAOixB,QAAS+xF,IAAoBF,IACpC,yBAAK7iH,UAAU,kBACb,kBAAC,GAAD,CACE6P,QAAQ,gBACR9G,QAAS,WACP+zG,GAAa,SAAD,OACD17F,GAAYwQ,gBACrB,SAAC5P,GACC8M,EAAa9M,MAEf,eACA,GACA,EAPU,OAQVZ,SARU,IAQVA,QARU,EAQVA,GAAaogC,uBAMtB,OAACzhD,QAAD,IAACA,OAAD,EAACA,EAAOixB,QAAS3vB,GAChB,yBAAKrB,UAAU,kBACb,kBAAC,GAAD,CACE6P,QAAQ,gBACR9G,QAAS,WACP+zG,GAAa,YAAD,OACE17F,GAAYwQ,gBACxB,SAAC5P,GACC8M,EAAa9M,MAEf,eACA,GACA,EAPU,OAQVZ,SARU,IAQVA,QARU,EAQVA,GAAaogC,sBAMjB,OAALzhD,QAAK,IAALA,OAAA,EAAAA,EAAOixB,QACN,yBAAKhxB,UAAU,kBACb,kBAAC,GAAD,CACE6P,QAAQ,gBACR9G,QAAS,WACP+zG,GAAa,YAAD,OACE17F,GAAYwQ,gBACxB,SAAC5P,GACC8M,EAAa9M,MAEf,eACA,GACA,EAPU,OAQVZ,SARU,IAQVA,QARU,EAQVA,GAAaogC,wBAOxB,OAACzhD,QAAD,IAACA,OAAD,EAACA,EAAOixB,QACP,oCACGgyF,MACC,yBAAKhjH,UAAU,2BACb,kBAAC,GAAD,CACE6O,QAASmpG,EACTh4G,UAAU,GACViH,SAAU,WACRgxG,GAAkB,GAClBvnD,IAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,MAClBioD,EAAW2vD,UAAW,EACf3vD,MAGXjvD,KAAK,iBACLoN,MAAM,kBAGR,kBAAC,GAAD,CACE5O,UAAU,QACV6O,SAAUmpG,EACV/wG,SAAU,WACRgxG,GAAkB,GAClBvnD,IAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,QAClBioD,EAAW2vD,UAAW,EACf3vD,MAGXjvD,KAAK,iBACLoN,MAAM,cAMXiyG,OAGC,OAAL9gH,QAAK,IAALA,OAAA,EAAAA,EAAOixB,QAAS3vB,GACf,oCACG2hH,MACC,yBAAKhjH,UAAU,2BACb,kBAAC,GAAD,CACE6O,QAASmpG,EACTh4G,UAAU,GACViH,SAAU,WACRgxG,GAAkB,GAClB/mD,IAAoB,GACpBhrB,IAAoB,GACpBR,GAAiB,GACjBqrB,IAAoB,GACpBL,IAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,MAClBioD,EAAW2vD,UAAW,EACf3vD,MAGXjvD,KAAK,iBACLoN,MAAM,kBAGR,kBAAC,GAAD,CACE5O,UAAU,QACV6O,SAAUmpG,EACV/wG,SAAU,WACRgxG,GAAkB,GAClB/mD,IAAoB,GACpBlrB,IAAmB,GACnBwoB,GAAqB,GACrBwC,IAAkB,GAClBN,IAAc,SAACD,GAGb,OAFAA,EAAWjoD,KAAO,QAClBioD,EAAW2vD,UAAW,EACf3vD,MAGXjvD,KAAK,iBACLoN,MAAM,cAMXiyG,MAGJpyF,GACC,yBAAKzuB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAKhB,yBAAKzuB,UAAU,2BACP,OAALD,QAAK,IAALA,OAAA,EAAAA,EAAOixB,SAAU3vB,GAChB,kBAAC,GAAD,CAEEwO,QAAQ,0BACRlH,UAAU,EACVI,QAAS,WACPs5G,GAAgB,IAElB75G,KAAK,YAGH,OAALzI,QAAK,IAALA,OAAA,EAAAA,EAAOixB,QAAS3vB,GACf,kBAAC,GAAD,CACEsO,UAAWA,EACXE,QAAS,SACTlH,SAAUw6G,KACVp6G,QAAS,WAEP2hF,MAEFliF,KAAK,aAGR,OAACzI,QAAD,IAACA,OAAD,EAACA,EAAOixB,QACP,kBAAC,GAAD,CACErhB,UAAWA,EACXE,QAAQ,mBACRlH,SAAUw6G,KACVp6G,QAAS,WACP2hF,MAEFliF,KAAK,gBC/yCJ87G,GAvCO,WACpB,IAAM5W,EAAcx1E,KACdzvB,EAAKilG,EAAYprF,IAAI,MAAQorF,EAAYprF,IAAI,MAAQ,GAFjC,EAGJlc,IAAM8G,SAAiB,IAHnB,mBAGnBnH,EAHmB,KAGdw+G,EAHc,OAIEn+G,IAAM8G,SAAiB,IAJzB,mBAInBinB,EAJmB,KAIXqwF,EAJW,OAKAp+G,IAAM8G,UAAkB,GALxB,mBAKnB8jB,EALmB,KAKZiyF,EALY,KAqB1B,OAfA78G,IAAM6H,WAAU,WACd,GAAW,OAAPxF,QAAsBpE,IAAPoE,GAA2B,KAAPA,EAAW,CAChD,IAAMk+D,EAAS3rD,KAAKC,MAAMwyC,KAAKhlD,IAElB,OAAXk+D,QACWtiE,IAAXsiE,IACC,OAACA,QAAD,IAACA,OAAD,EAACA,EAAQhZ,MACM,MAAV,OAANgZ,QAAM,IAANA,OAAA,EAAAA,EAAQhZ,OAER42D,EAAO59C,EAAOhZ,MACT,OAACgZ,QAAD,IAACA,OAAD,EAACA,EAAQ5zC,SAA6B,MAAb,OAAN4zC,QAAM,IAANA,OAAA,EAAAA,EAAQ5zC,SAC9ByxF,EAAS,OAAC79C,QAAD,IAACA,OAAD,EAACA,EAAQ5zC,YAGvB,IAED,yBAAK/yB,UAAU,kBACb,yBAAKA,UAAU,sBACb,+BAAQgxB,EAAQ,wBAA0B,WAE5C,yBAAKhxB,UAAU,UACb,yBAAKA,UAAU,YAAYE,IAAKw1D,KAAWt1D,IAAI,YAEjD,kBAAC,GAAD,CACE2F,IAAKA,EACLk9G,SAAUA,EACVjyF,MAAOA,EACPmD,OAAQA,MC0LDswF,I,OAzNK,WAAO,IAAD,EACUr+G,YAAwB,GADlC,mBAElB4oB,GAFkB,UAERC,eAFQ,EAGwB7oB,WAE9C,IALsB,mBAGjBs+G,EAHiB,KAGCC,EAHD,KAgCxB,SAASjD,EAAiBjpG,GACxB,IAAKA,GAAOA,EAAIR,WACT,CACL,IAAMuY,EAAcxV,KAAKC,MAAMxC,EAAIS,MAC7BmV,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D,GAAI8O,GAAeA,EAAYo6B,KAAM,CACnC,IAAI+2D,EAC6B,OAA/BnxF,EAAYoxF,qBACmBv9G,IAA/BmsB,EAAYoxF,eACRpxF,EAAYoxF,eACZvzF,EAAwBigB,QACxBjgB,EAAwBigB,QACxB,GACFzrB,OACuBxe,IAAzBmsB,EAAYmqC,UAAoD,QAAf,OAAXnqC,QAAW,IAAXA,OAAA,EAAAA,EAAamqC,UAC/CnqC,EAAYmqC,SACZtsC,EAAwBxL,OACxBwL,EAAwBxL,OACxB,GACFzE,OACsB/Z,IAAxBmsB,EAAYoqC,SAAkD,QAAd,OAAXpqC,QAAW,IAAXA,OAAA,EAAAA,EAAaoqC,SAC9CpqC,EAAYoqC,QACZvsC,EAAwB4mB,QACxB5mB,EAAwB4mB,QACxB,GACA4sE,EAA0B,GAEC,QAApB,OAAXrxF,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,qBACkBve,KAApB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,gBACkB,MAApB,OAAX4N,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,gBAEbi/F,EAAYvyF,KAAK,CACf/uB,QAAS,eACTD,MAAK,OAAEkwB,QAAF,IAAEA,OAAF,EAAEA,EAAa5N,gBAKP,OAAf++F,QACet9G,IAAfs9G,GACe,KAAfA,GAEAE,EAAYvyF,KAAK,CAAE/uB,QAAS,UAAWD,MAAOqhH,IAGlC,OAAVvjG,QAA4B/Z,IAAV+Z,GAAiC,KAAVA,GAC3CyjG,EAAYvyF,KAAK,CAAE/uB,QAAS,WAAYD,MAAO8d,IAGlC,OAAXyE,QAA8Bxe,IAAXwe,GAAmC,KAAXA,GAC7Cg/F,EAAYvyF,KAAK,CACf/uB,QAAS,gBACTD,MAAOuiB,IAKa,QAAX,OAAX2N,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,YACSvmD,KAAX,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,OACS,MAAX,OAAXp6B,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,OAEbi3D,EAAYvyF,KAAK,CAAE/uB,QAAS,QAASD,MAAK,OAAEkwB,QAAF,IAAEA,OAAF,EAAEA,EAAao6B,OAI3D+5D,EAAoB9C,OACf,CACL,IAAIF,EAAanxF,EAAYoxF,eACzBpxF,EAAYoxF,eACZvzF,EAAwBigB,QACxBjgB,EAAwBigB,QACxB,GACAzrB,EAAS2N,EAAYmqC,SACrBnqC,EAAYmqC,SACZtsC,EAAwBxL,OACxBwL,EAAwBxL,OACxB,GACAzE,EAAQoS,EAAYoqC,QACpBpqC,EAAYoqC,QACZvsC,EAAwB4mB,QACxB5mB,EAAwB4mB,QACxB,GACE4sE,EAA0B,GAEC,QAApB,OAAXrxF,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,qBACkBve,KAApB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,gBACkB,MAApB,OAAX4N,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,gBAEbi/F,EAAYvyF,KAAK,CACf/uB,QAAS,eACTD,MAAK,OAAEkwB,QAAF,IAAEA,OAAF,EAAEA,EAAa5N,gBAKP,OAAf++F,QACet9G,IAAfs9G,GACe,KAAfA,GAEAE,EAAYvyF,KAAK,CAAE/uB,QAAS,UAAWD,MAAOqhH,IAGlC,OAAVvjG,QAA4B/Z,IAAV+Z,GAAiC,KAAVA,GAC3CyjG,EAAYvyF,KAAK,CAAE/uB,QAAS,WAAYD,MAAO8d,IAGlC,OAAXyE,QAA8Bxe,IAAXwe,GAAmC,KAAXA,GAC7Cg/F,EAAYvyF,KAAK,CACf/uB,QAAS,gBACTD,MAAOuiB,IAKa,QAAX,OAAX2N,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,YACSvmD,KAAX,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,OACS,MAAX,OAAXp6B,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,OAEbi3D,EAAYvyF,KAAK,CAAE/uB,QAAS,QAASD,MAAK,OAAEkwB,QAAF,IAAEA,OAAF,EAAEA,EAAao6B,OAI3D+5D,EAAoB9C,KAS1B,OAlJAz7G,aAAgB,WACd,GACgC,KAAnB,OAAXgb,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,gBACiB,OAAnB,OAAXxQ,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,qBACiBvtB,IAAnB,OAAX+c,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,eAMb,OAJAzP,MACE,yHAEF6M,EAAQM,KAAKpsB,IAER4yD,GAAsB4rD,EAAkBtgG,GAAYwQ,iBAC1D,IAiIHxrB,aAAgB,WACVs+G,EAAiB3/G,OAAS,GAC5Byc,OAAOC,aAAa0gC,WAAW,6BAEhC,CAACuiE,IAEF,uBAAK1kH,UAAU,eACb,uBAAKA,UAAU,sBACb,uBAAKE,IAAK8hH,KAAW5hH,IAAI,GAAGJ,UAAU,WAExC,uBAAKA,UAAU,sBACb,kEAEF,uBAAKA,UAAU,yBAAf,yDAGA,uBAAKA,UAAU,mBACZ0kH,IACiB,OAAhBA,QAAgB,IAAhBA,OAAA,EAAAA,EAAkB3/G,QAAS,GAC3B2/G,EAAiBz4G,KAAI,SAAC8uD,GACpB,OACE,uBAAK/6D,UAAU,oBACb,wBAAMA,UAAU,mBAAhB,WAAoC+6D,QAApC,IAAoCA,OAApC,EAAoCA,EAAQx6D,SAC5C,wBAAMP,UAAU,iBAAhB,OAAiC+6D,QAAjC,IAAiCA,OAAjC,EAAiCA,EAAQz6D,YAqBnD,uBAAKN,UAAU,YACb,gBAAC,GAAD,CACE6P,QAAQ,cACRF,UAAW+0G,EAAiB3/G,QAAU,EACtCgE,QAAS,WAxMXyH,KAAgBM,UAClB0Q,OAAOY,SAASC,KAAO3e,GAAW,iBAE9B+kD,KACFjnC,OAAOY,SAASC,KACd,mDAEFb,OAAOY,SAASC,KAAO,qDCyRhBuiG,I,OApSG,WAChB,IAAM51F,EAAUC,cADM,EAEY7oB,YAAwB,GAFpC,mBAEJ0oB,GAFI,aAGU1oB,YAAwB,GAHlC,mBAGfy+G,EAHe,KAGLC,EAHK,OAIQ1+G,aAJR,mBAINwlB,GAJM,aAK0BxlB,WAE9C,IAPoB,mBAKfs+G,EALe,KAKGC,EALH,KAqBtB,IAAMI,EAAgB,WACpBD,GAAY,GACZ,IAAMz2F,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAExDyS,EAAS,IAEP0K,EAAmBnD,GAAe,OAACrN,QAAD,IAACA,OAAD,EAACA,EAAyBhN,OAClE,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,YjEmKY,SAC/CuT,EACA6B,EACA8P,EACA4B,EACAH,GAEAtT,GACE,CACEkB,IAAK,2BACLpR,KAAM,CACJghB,cAAe/O,EACf4gG,kBAAmB9wF,EACnB4B,gBAAiBA,EACjB0wF,gBAAiB,EACjB7wF,OAAQA,GAEVlT,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAaiE,cAE5ByK,GiEvLAkkG,CACEpyB,GACuB,OAAvBxkE,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBsD,eAAzB,OACItD,QADJ,IACIA,OADJ,EACIA,EAAyBsD,cACzBvQ,GAAYwQ,cAChB,EACAvD,EAAwBmzB,gBACpBnzB,EAAwBmzB,gBACxB,EACJj0C,SAAS4mB,KAGb,SAAS0+D,EAAYp6E,GACnB,IAAKA,GAAOA,EAAIR,MACd5M,QAAQC,IAAImN,EAAIP,QAGhB4W,GAAa,QAEb,GACoB,KAAjBrW,EAAIS,KAAKiX,MAAgC,KAAjB1X,EAAIS,KAAKiX,MACN,OAA5B1X,EAAIS,KAAKyB,KAAKwuF,UAWT,CACL,IAAIG,EAAkB,GAClB7wF,EAAIS,KAAKyB,KAAKyuF,sBAAsBrkG,OAAS,IAC/C+/G,GAAY,GACZrsG,EAAIS,KAAKyB,KAAKyuF,sBAAsB/7F,SAClC,SAAC2X,EAAchZ,GACH,IAANA,EAASs9F,EAAkBtkF,EAAQqkF,gBAClCC,GAAe,YAAStkF,EAAQqkF,qBAI3Ch+F,QAAQC,IAAI,uBAAwBg+F,GACpC19E,EAAWnT,EAAIS,KAAKyB,KAAKyuF,sBAAsB,GAAGC,iBAClDv6E,GAAa,OAvBb,CACqBrW,EAAIS,KAAKyB,KAAKwuF,UACnC2b,GAAY,IAgDlB,SAASpD,EAAiBjpG,GACxB,IAAKA,GAAOA,EAAIR,WACT,CACL,IAAMuY,EAAcxV,KAAKC,MAAMxC,EAAIS,MAC7BmV,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D,GAAI8O,GAAeA,EAAYo6B,KAAM,CAClBp6B,EAAYoxF,eACzBpxF,EAAYoxF,eACZvzF,EAAwBigB,SACxBjgB,EAAwBigB,QAH5B,IAKIzrB,EAAS2N,EAAYmqC,SACrBnqC,EAAYmqC,SACZtsC,EAAwBxL,OACxBwL,EAAwBxL,OACxB,GACAzE,EAAQoS,EAAYoqC,QACpBpqC,EAAYoqC,QACZvsC,EAAwB4mB,QACxB5mB,EAAwB4mB,QACxB,GACE4sE,EAA0B,GAEC,QAApB,OAAXrxF,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,qBACkBve,KAApB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,gBACkB,MAApB,OAAX4N,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,gBAEbi/F,EAAYvyF,KAAK,CACf/uB,QAAS,eACTD,MAAK,OAAEkwB,QAAF,IAAEA,OAAF,EAAEA,EAAa5N,gBAYV,OAAVxE,QAA4B/Z,IAAV+Z,GAAiC,KAAVA,GAC3CyjG,EAAYvyF,KAAK,CAAE/uB,QAAS,WAAYD,MAAO8d,IAGlC,OAAXyE,QAA8Bxe,IAAXwe,GAAmC,KAAXA,GAC7Cg/F,EAAYvyF,KAAK,CACf/uB,QAAS,gBACTD,MAAOuiB,IAKa,QAAX,OAAX2N,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,YACSvmD,KAAX,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,OACS,MAAX,OAAXp6B,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,OAEbi3D,EAAYvyF,KAAK,CAAE/uB,QAAS,QAASD,MAAK,OAAEkwB,QAAF,IAAEA,OAAF,EAAEA,EAAao6B,OAI3D+5D,EAAoB9C,OACf,CACYrxF,EAAYoxF,eACzBpxF,EAAYoxF,eACZvzF,EAAwBigB,SACxBjgB,EAAwBigB,QAH5B,IAKIzrB,EAAS2N,EAAYmqC,SACrBnqC,EAAYmqC,SACZtsC,EAAwBxL,OACxBwL,EAAwBxL,OACxB,GACAzE,EAAQoS,EAAYoqC,QACpBpqC,EAAYoqC,QACZvsC,EAAwB4mB,QACxB5mB,EAAwB4mB,QACxB,GACE4sE,EAA0B,GAEC,QAApB,OAAXrxF,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,qBACkBve,KAApB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,gBACkB,MAApB,OAAX4N,QAAW,IAAXA,OAAA,EAAAA,EAAa5N,gBAEbi/F,EAAYvyF,KAAK,CACf/uB,QAAS,eACTD,MAAK,OAAEkwB,QAAF,IAAEA,OAAF,EAAEA,EAAa5N,gBAYV,OAAVxE,QAA4B/Z,IAAV+Z,GAAiC,KAAVA,GAC3CyjG,EAAYvyF,KAAK,CAAE/uB,QAAS,WAAYD,MAAO8d,IAGlC,OAAXyE,QAA8Bxe,IAAXwe,GAAmC,KAAXA,GAC7Cg/F,EAAYvyF,KAAK,CACf/uB,QAAS,gBACTD,MAAOuiB,IAKa,QAAX,OAAX2N,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,YACSvmD,KAAX,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,OACS,MAAX,OAAXp6B,QAAW,IAAXA,OAAA,EAAAA,EAAao6B,OAEbi3D,EAAYvyF,KAAK,CAAE/uB,QAAS,QAASD,MAAK,OAAEkwB,QAAF,IAAEA,OAAF,EAAEA,EAAao6B,OAI3D+5D,EAAoB9C,KAS1B,OAvJAz7G,aAAgB,WACd,IAAMioB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D,GAC4C,KAAnB,OAAvB2M,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBsD,gBACiB,OAAnB,OAAvBtD,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBsD,qBACiBttB,IAAnB,OAAvBgqB,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBsD,eAMzB,OAJAxP,MACE,yHAEF6M,EAAQM,KAAKpsB,IAGb4yD,GACE4rD,GACuB,OAAvBrzF,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBsD,eAAzB,OACItD,QADJ,IACIA,OADJ,EACIA,EAAyBsD,cACzBvQ,GAAYwQ,iBAEnB,IA6HHxrB,aAAgB,WACVs+G,EAAiB3/G,OAAS,GAC5Byc,OAAOC,aAAa0gC,WAAW,6BAEhC,CAACuiE,IAEF,uBAAK1kH,UAAU,aACb,uBAAKA,UAAU,sBACb,uBAAKE,IAAK8hH,KAAW5hH,IAAI,GAAGJ,UAAU,WAExC,uBAAKA,UAAU,sBACb,4DAEF,uBAAKA,UAAU,yBAAf,sJAKA,uBAAKA,UAAU,mBACZ0kH,IACiB,OAAhBA,QAAgB,IAAhBA,OAAA,EAAAA,EAAkB3/G,QAAS,GAC3B2/G,EAAiBz4G,KAAI,SAAC8uD,GACpB,OACE,uBAAK/6D,UAAU,oBACb,wBAAMA,UAAU,mBAAhB,WAAoC+6D,QAApC,IAAoCA,OAApC,EAAoCA,EAAQx6D,SAC5C,wBAAMP,UAAU,iBAAhB,OAAiC+6D,QAAjC,IAAiCA,OAAjC,EAAiCA,EAAQz6D,YAqBnD,uBAAKN,UAAU,YACb,gBAAC,GAAD,CACE6P,QAAQ,cACRF,UAAW+0G,EAAiB3/G,QAAU,EACtCgE,QAAS,WAEPg8G,QAILF,GACC,uBAAK7kH,UAAU,yBAAf,6BCtNOklH,GAzE2C,SAACnlH,GAAD,OACxD,kBAAC,IAAD,KAYE,kBAAC,IAAD,CACEy1D,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYnB,aAAa,GACvB,kBAAC,GAAD,CAAoBvkC,mBAAiB,GACnC,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACE4I,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYnB,aAAa,GACvB,kBAAC,GAAD,CAAoBvkC,mBAAiB,EAACc,YAAU,GAC9C,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACE8H,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CAAYnB,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAD,WAKR,kBAAC,IAAD,CACE37B,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,KACE,kBAAC,GAAD,UAON,kBAAC,IAAD,CACE98B,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,kBACN,kBAAC,GAAD,CACE4vB,gBAAiB,kBACjBC,cAAe,uBAEf,kBAAC,GAAD,YC8iBKn0D,I,OAxkBU,SAACjuD,GAAgB,IAAD,YACjCivB,EAAUC,cAEV+T,EAAa9K,KAHoB,GAIpB8K,EAAW1gB,IAAI,eAC9B0gB,EAAW1gB,IAAI,cAEA0gB,EAAW1gB,IAAI,eAC9B0gB,EAAW1gB,IAAI,cAEE0gB,EAAW1gB,IAAI,iBAChC0gB,EAAW1gB,IAAI,gBAEG0gB,EAAW1gB,IAAI,kBACjC0gB,EAAW1gB,IAAI,iBAGiBlc,IAAM8G,UAAS,IAjBZ,mBAiBhCghD,EAjBgC,KAiBpBC,EAjBoB,OAkBX/nD,IAAM8G,SAAS,IAlBJ,gCAmBjB9G,IAAM8G,SAAc,KAnBH,mBAmBhCuL,EAnBgC,KAmB3B0sG,EAnB2B,OAoBX/+G,IAAM8G,SAAS,CAAEnH,IAAK,GAAI8c,OAAQ,KApBvB,mBAoBhC82B,EApBgC,KAoBxB0U,EApBwB,OAqBXjoD,IAAM8G,SAAS,IArBJ,mBAqBxBohD,GArBwB,aAsBTloD,IAAM8G,SAAS,IAtBN,mBAsBhCuhB,EAtBgC,KAsBvB7C,EAtBuB,OAuBGxlB,IAAM8G,UAAkB,GAvB3B,mBAuBhCu4B,EAvBgC,KAuBjBC,EAvBiB,OAwBGt/B,IAAM8G,UAAkB,GAxB3B,mBAwBhC04B,EAxBgC,KAwBjBC,EAxBiB,OAyBbz/B,IAAM8G,SAAiB,IAzBV,mBAyBhCma,EAzBgC,KAyBzB+9F,EAzByB,OA0BHh/G,IAAM8G,UAAkB,GA1BrB,mBA0BhCuY,EA1BgC,KA0BpBqgB,EA1BoB,OA4BrC1/B,IAAM8G,UAAkB,GA5Ba,mBA2BhC+4B,EA3BgC,KA2BdC,EA3Bc,QA6BH9/B,IAAM8G,UAAkB,GA7BrB,qBA6BhCqY,GA7BgC,MA6BpB4gB,GA7BoB,SA8BL//B,IAAM8G,UAAkB,GA9BnB,qBA8BhCyC,GA9BgC,MA8BrBmf,GA9BqB,SAgCrC1oB,IAAM8G,UAAkB,GAhCa,qCAiCH9G,IAAM8G,YAjCH,qBAiChCmmB,GAjCgC,MAiCpBgyF,GAjCoB,SAqCXj/G,IAAM8G,SAE/B,CACDnH,SAAK1B,EACLwe,YAAQxe,IAzC6B,qBAqChConB,GArCgC,MAqCxBC,GArCwB,MAgEvC,SAASzkB,GAASsF,EAA4BjM,GAqB5C,MApBY,WAARiM,GAAqB/G,GAAWrB,KAAK7D,KACvCA,EAAQq5C,EAAOptC,IAGT,WAARA,EACI+hD,EAAUhuD,GACV+tD,EAAU,2BAAK1U,GAAN,mBAAeptC,EAAMjM,KAEtB,WAARiM,IAE4B,KAA5B6U,GAAYikB,KAAKxiB,QACjBzB,GAAYikB,KAAKxiB,SAAWviB,GAC5B2lC,EAEAP,GAAiB,GAEjBA,GAAiB,IAGrBha,GAAU,2BAAKD,IAAN,mBAAelf,EAAM,MACvBjM,EAIT,SAASi3C,KACPzoB,IAAa,GAEbjI,IACE,SAACpO,GACCpN,QAAQC,IAAI,MAAOmN,GAOzB,SAAoBA,GAAW,IAAD,YAC5B,GACEA,EAAIS,MACJT,EAAIS,KAAKo5C,SACW,QAAjB,OAAH75C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,YACS7U,KAAjB,OAAHoU,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWA,QACV,OAACT,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBk5C,QACQ,MAAxB,OAAH35C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,mBAAWA,YAAX,eAAiBk5C,OACjB,CAAC,IAAD,IACAgzD,EAAQ,OAAC3sG,QAAD,IAACA,GAAD,UAACA,EAAKS,YAAN,iBAAC,EAAWA,YAAZ,aAAC,EAAiBk5C,OAC1BtjC,IAAa,GACb4W,GAAiB,GACjBG,GAAiB,GACjBja,EAAW,SAGXA,EAAWnT,EAAIR,OAtBbqtG,CAAW7sG,KAEbkhC,EAAO92B,OACP,OAxCJzc,IAAM6H,WAAU,YAfY,WAC1B,IAAMihC,EAAsB1tB,OAAOC,aAAaC,QAC9C,2BAEF,GAC0B,OAAxBwtB,QACwB7qC,IAAxB6qC,GACwB,KAAxBA,EACA,CACA,IAAIq2E,EAAkBvqG,KAAKC,MAAMi0B,GACT,OAApBq2E,QAAgDlhH,IAApBkhH,GAC9BF,GAAcE,EAAgBlyF,aAKlCmyF,GACAhkG,OAAOC,aAAa0gC,WAAW,6BAC9B,IAwKH,IAAMsjE,GAAoB,SAAChtG,GACzBgJ,aAAa0gC,WAAW,oBACxB/gC,GAAYwQ,cAAgBnZ,EAAIu0C,cAChC5rC,GAAYogC,gBAAkB/oC,EAAIw0C,gBAClC7rC,GAAYC,MAAQ5I,EAAIuZ,MACxB5Q,GAAYyQ,sBAAwBpZ,EAAI2Z,sBACxChR,GAAY0Q,OAASrZ,EAAI4Z,OACzBjR,GAAYyM,gBAAgB9nB,IAA5B,OAAkC0S,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAKy0C,IACvC,IAAM7+B,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBtoB,IAAxB,OAA8B0S,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAKy0C,IACnC7+B,EAAwBwD,sBAAwBpZ,EAAI2Z,sBACpD/D,EAAwBsD,cAAgBlZ,EAAIu0C,cAC5C3+B,EAAwBmzB,gBAAkB/oC,EAAIw0C,gBAC9C5+B,EAAwBhN,MAAQ5I,EAAIuZ,MACpCxQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAKnsB,GAAUM,iBAEzB,SAASiiH,GAAuBjtG,GAC9B,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OAEf6W,IAAa,QAGb,GADAA,IAAa,GACI,OAAV,OAAHrW,QAAG,IAAHA,OAAA,EAAAA,EAAKS,OAA6B,sBAAV,OAAHT,QAAG,IAAHA,OAAA,EAAAA,EAAKS,MAC5B8V,EAAQM,KAAKnsB,GAAUG,sBACpB,GAAkB,QAAX,OAAHmV,QAAG,IAAHA,OAAA,EAAAA,EAAKS,MAAe,CACI,IAAD,EAwBvB,MAxBP,GAAI9J,MAAM06E,QAAN,OAAcrxE,QAAd,IAAcA,OAAd,EAAcA,EAAKS,MACrB,GAAyB,IAAlB,OAAHT,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWnU,QAAa,CAC1B,IAAI4gH,EAAM,OAAGltG,QAAH,IAAGA,OAAH,EAAGA,EAAKS,KAAK,GACvBkI,GAAYwQ,cAAgB+zF,EAAO34D,cACnC5rC,GAAYogC,gBAAkBmkE,EAAO14D,gBACrC7rC,GAAYC,MAAQskG,EAAO3zF,MAC3B5Q,GAAYyQ,sBAAwB8zF,EAAOvzF,sBAC3ChR,GAAY0Q,OAAS6zF,EAAOtzF,OAC5BjR,GAAYyM,gBAAgB9nB,IAA5B,OAAkC4/G,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAQz4D,IAC1C,IAAM7+B,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBtoB,IAAxB,OAA8B4/G,QAA9B,IAA8BA,OAA9B,EAA8BA,EAAQz4D,IACtC7+B,EAAwBwD,sBACtB8zF,EAAOvzF,sBACT/D,EAAwBsD,cAAgBg0F,EAAO34D,cAC/C3+B,EAAwBmzB,gBAAkBmkE,EAAO14D,gBACjD5+B,EAAwBhN,MAAQskG,EAAO3zF,MACvCxQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAKnsB,GAAUM,qBAClB0hH,EAAM,OAAC1sG,QAAD,IAACA,OAAD,EAACA,EAAKS,WAEnBkI,GAAYwQ,cAAiBxQ,GAAYwQ,cAErCxQ,GAAYwQ,cAFY,OACxBnZ,QADwB,IACxBA,GADwB,UACxBA,EAAKS,YADmB,aACxB,EAAW8zC,cAEf5rC,GAAYC,MAASD,GAAYC,MAE7BD,GAAYC,MAFI,OAChB5I,QADgB,IAChBA,GADgB,UAChBA,EAAKS,YADW,aAChB,EAAW8Y,MAGf5Q,GAAYyM,gBAAgB9nB,IAAOqb,GAAYyM,gBAAgB9nB,IAE3Dqb,GAAYyM,gBAAgB9nB,IAFE,OAC9B0S,QAD8B,IAC9BA,GAD8B,UAC9BA,EAAKS,YADyB,aAC9B,EAAWg0C,IAEfl+B,EAAQM,KAAKnsB,GAAUM,iBAO/B,IAAMmiH,GAAsB,WAC1B,IAAIC,EAAqB,CACvBC,iBAAiB,EACjBC,sBAAuB,GACvBC,WAAW,GAEb,GAAIvtG,IAAU,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAK1T,QAAS,EAAG,CAC1B,IAAIkhH,EAAY,OAAGxtG,QAAH,IAAGA,OAAH,EAAGA,EAAKwF,MACtB,SAACxF,GAAD,OACwB,IAAnB,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKytG,gBACqB,qBAAvB,OAAHztG,QAAG,IAAHA,OAAA,EAAAA,EAAK0tG,sBAGU,OAAjBF,QACiB5hH,IAAjB4hH,GAC+B,IAAnB,OAAZA,QAAY,IAAZA,OAAA,EAAAA,EAAcC,iBAEdL,EAAmBC,iBAAkB,EACrCD,EAAmBE,sBAAnB,OACEE,QADF,IACEA,OADF,EACEA,EAAcE,kBACqB,IAArB,OAAZF,QAAY,IAAZA,OAAA,EAAAA,EAAch5D,iBAChB44D,EAAmBG,WAAY,EAE/BH,EAAmBG,WAAY,GAIrC,OAAOH,GAET,OACE,yBAAK7lH,UAAW,oBAAsB2P,GAAY,QAAU,KAC1D,yBAAK3P,UAAU,sBACb,gEAEF,8BACE,8BAAUA,UAAU,UAAU2I,SAAUgH,IAEtC,yBAAK3P,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,cACA,kBAAC,GAAD,CACEiH,SAAU,SAAC3G,GAAD,OAAW2G,GAAS,MAAO3G,EAAM2H,gBAC3CE,YAAY,iBACZpB,QAAShB,GACTsC,OAAQ,SAAC4P,GAAD,OACNyT,GAAU,2BACLD,IADI,IAEP1lB,IAAKkS,EAAMlR,QAAU,GAAKkf,GAAShK,QAGvC1V,UAAWklB,GAAO1lB,IAClByC,KAAK,OACLb,UAAW,OAYjB,oCACE,yBAAK3H,UAAU,SACb,yBAAKA,UAAU,gBACb,2BAAOA,UAAU,WAAjB,iBACA,kBAAC,GAAD,CACE+G,QAASf,GACTiB,SAAU,SAAC3G,GAAD,OAAW2G,GAAS,SAAU3G,IACxC+H,OAAQ,SAAC4P,GAAD,OACNyT,GAAU,2BACLD,IADI,IAEP5I,OAAQ5K,EAAMlR,QAAU,GAAKkf,GAAShK,QAG1C9T,YAAY,iBACZ5B,UAAWklB,GAAO5I,OAClBra,KAAK,MACLQ,OACEoY,GAAYikB,KAAKxiB,SAAW82B,EAAO92B,QACjB,KAAlB82B,EAAO92B,QACPojB,EACE,uBAAGjmC,UAAU,mBAEb,qCAGJ2H,UAAW,GACXkB,WAAY,SACVkrD,GAEA,GAAIA,EAASxnD,KAAO,KAAOwnD,EAASxnD,KAAO,IACzC,OAAO,EAGY,cAAjBwnD,EAASxnD,KACQ,UAAjBwnD,EAASxnD,KAETwnD,EAASC,qBAMlBvuB,GACC,yBAAKzlC,UAAU,WACb,kBAAC,GAAD,CACE6P,QAAQ,SACRlH,SACEinB,OAAO+pB,OAAO,CAACluB,GAAO1lB,IAAK0lB,GAAO5I,SAAS+2B,MACzC,SAAC3hC,GAAD,OAAWA,MAEb2X,OAAO+pB,OAAO,CAACA,EAAO5zC,IAAK4zC,EAAO92B,SAAS+2B,MACzC,SAACt5C,GAAD,OAAYA,KAGhByI,QAAS,WACP4uB,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,eACzC2oC,UAMT3R,IAAkBH,GACjB,yBAAKzlC,UAAU,cACb,kBAAC,GAAD,CACE4O,MAAM,mBACN4X,SAAU,GACVtB,MAAM,OACNje,SA9ShB,SAAqByC,GACf6b,IACF4gB,IAAc,GAEG,IAAfz8B,EAAI3E,SACN+pB,IAAa,GACbgX,GAAc,GACd1e,IACE,SAAC3O,IASP,SAAmCA,GAGjC,GAFAqW,IAAa,GACbgX,GAAc,GACVrtB,EAAIR,MAGN2T,EAAWnT,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,EAAWo5C,UACS,IAAnB,OAAH75C,QAAG,IAAHA,GAAA,UAAAA,EAAKS,YAAL,eAAWo5C,SACX,CACA,IAAM/gC,EAASvW,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAGhD6P,GACAA,EAAOjI,YAC6B,aAApCiI,EAAOjI,WAAWrhB,eAElBkmD,GAAc,GAGhBjoB,GAAoB,GACpBL,GAAiB,QACZM,IAAc,GACrBva,EAAW,KApCP4mC,CAA0B/5C,KAE5B4O,EACA3d,KAmSUid,cAAe,WACbgR,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,eACzC2oC,MAEF9xB,WAAYA,EACZF,WAAYA,OAOnB0gB,GAAoBioB,GACnB,oCACE,yBAAKluD,UAAU,OACb,2BAAOA,UAAU,UAAjB,0BAGF,yBAAKA,UAAU,kBACb,2BAAOA,UAAU,eAAjB,6GAIA,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACEiH,SAAU,SAAC3G,GAAD,OAAW2G,GAAS,SAAU3G,IACxCsO,MAAM,wBACNzG,YAAY,cACZK,KAAK,OACLH,OAAQ,kBAQjBomB,GACC,yBAAKzuB,UAAU,cACb,kBAAC,GAAD,KACE,sEACA,wEAA8CyuB,EAA9C,OAMLwX,KAAwBxtB,GAAOA,IAAU,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAK1T,QAAS,IACnD,oCACE,yBAAK/E,UAAU,OACb,uBAAGA,UAAU,gBAAb,iEAIF,yBAAKA,UAAU,kBACb,kBAAC,GAAD,CACE+I,QA3RhB,SAAsB7B,GACpBA,EAAE8sD,iBACFllC,IAAa,GACb,ItFFF/N,EACAoS,EsFCQ9E,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBtoB,IAAM4zC,EAAO5zC,IACrCsoB,EAAwBgF,WAAaA,GAErC7R,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjB5M,aAAa0gC,WAAW,oBACxB/gC,GAAYyM,gBAAgB9nB,IAAM4zC,EAAO5zC,ItFb3Cgb,EsFgBkB2kG,GtFflBvyF,EsFe0CwmB,EAAO5zC,ItFbjD8a,GACE,CACEkB,IAAK,+BACLd,OAAQ,OACRtQ,KAAM,CACJwiB,MAAOA,GAETtR,WAAY9Q,GAAOG,aACnBE,WAAW,EACXoH,YAAanG,GAAa0C,gBAE5BgM,IsF6QclR,QAAQ,eACRlH,SACEinB,OAAO+pB,OAAOluB,IAAQmuB,MAAK,SAAC3hC,GAAD,OAAWA,MACtC2X,OAAO+pB,OAAOA,GAAQC,MAAK,SAACt5C,GAAD,OAAYA,OACtC2lC,EAEHt2B,UAAWA,GACXnH,KAAK,aAKZiQ,IAAU,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAK1T,QAAS,GACpB,oCACE,yBAAK/E,UAAU,0BAAf,6EAIA,yBAAKA,UAAU,yBACb,0BAAMA,UAAU,uBACd,uBAAGA,UAAU,sBAAb,+BAGoB,QAAnB,EAAA4lH,YAAA,eAAuBE,kBACY,IAAjB,QAAnB,EAAAF,YAAA,eAAuBI,WACrB,0BAAMhmH,UAAU,uBAAhB,UACG4lH,YADH,aACG,EAAuBG,uBAG1B,0BACE/lH,UAAU,+BACV+I,QAAS,WACP,GACU,OAAR0P,QACQpU,IAARoU,GACArJ,MAAM06E,QAAQrxE,KACX,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAK1T,QAAS,EACd,CACA,IAAIqhH,EAAM,OAAG3tG,QAAH,IAAGA,OAAH,EAAGA,EAAKwF,MAChB,SAACxF,GAAD,OAAiC,IAArB,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKw0C,oBAEhBw4D,GAAkBW,MAZxB,aAoBJ,uBAAGpmH,UAAU,mBACb,0BAAMA,UAAU,2BACd,uBAAGA,UAAU,0BAAb,mCAIoB,QAAnB,EAAA4lH,YAAA,eAAuBE,kBACY,IAAjB,QAAnB,EAAAF,YAAA,eAAuBI,WACrB,0BAAMhmH,UAAU,uBAAhB,UACG4lH,YADH,aACG,EAAuBG,uBAG1B,0BACE/lH,UAAU,mCACV+I,QAAS,WACP,GACU,OAAR0P,QACQpU,IAARoU,GACArJ,MAAM06E,QAAQrxE,KACX,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAK1T,QAAS,EACd,CACA,IAAIqhH,EAAM,OAAG3tG,QAAH,IAAGA,OAAH,EAAGA,EAAKwF,MAChB,SAACxF,GAAD,OAAiC,IAArB,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKw0C,oBAEhBw4D,GAAkBW,MAZxB,oBCxULC,I,iLAXX,OACE,yBAAKrmH,UAAU,gBACb,yBAAKA,UAAU,UACb,yBAAKA,UAAU,YAAYE,IAAKw1D,KAAWt1D,IAAI,YAEjD,kBAAC,GAAoBmL,KAAKxL,Y,GA5QJiN,c,qBCiCfs5G,G,8MA/BXC,YAAc,WACV/kG,OAAOY,SAASC,KAAOtR,GAAOC,KAAO7N,GAAUC,WAAWmC,QAAQ,IAAK,K,EAE3EihH,WAAa,WACThlG,OAAOY,SAASC,KAAOtR,GAAOC,M,wDAG9B,OACI,yBAAKhR,UAAU,4BACX,yBAAKE,IAAKw1D,KAAW11D,UAAU,iBAC/B,6BACI,wBAAIA,UAAU,kBAAd,oBACA,0BAAMA,UAAU,kBAAhB,6CAC8C,6BAD9C,6CAE8C,6BAF9C,aAIA,yBAAKA,UAAU,aACX,kBAAC,GAAD,CAAQ6P,QAAQ,kBAAkBrH,KAAK,SAASO,QAASwC,KAAKi7G,cAElE,yBAAKxmH,UAAU,iBACX,2BAAOA,UAAU,uBAAjB,4BACA,2BAAOA,UAAU,YAAY+I,QAASwC,KAAKg7G,aAA3C,8B,GAtBMv5G,a,qBC6Bfy5G,I,qNA7BXF,YAAc,WACV/kG,OAAOY,SAASC,KAAOlf,GAAUC,Y,wDAIjC,OACI,yBAAKpD,UAAU,4BACX,yBAAKE,IAAKw1D,KAAW11D,UAAU,iBAC/B,6BACI,wBAAIA,UAAU,kBAAd,0BACA,0BAAMA,UAAU,kBAAhB,0CAEI,6BAFJ,4BAIA,yBAAKA,UAAU,aACX,kBAAC,GAAD,CAAQ6P,QAAQ,mBAAmBrH,KAAK,YAE5C,yBAAKxI,UAAU,iBACX,2BAAOA,UAAU,uBAAjB,4BACA,2BAAOA,UAAU,YAAY+I,QAASwC,KAAKg7G,aAA3C,8B,GApBKv5G,c,qBCkBd05G,I,iLAhBP,OACI,yBAAK1mH,UAAU,qBACX,yBAAKE,IAAKw1D,KAAW11D,UAAU,iBAC/B,6BACI,wBAAIA,UAAU,kBAAd,oCACA,0BAAMA,UAAU,kBAAhB,8CAC2C,6BAD3C,wCAEsC,6BAFtC,kBAID,yBAAKA,UAAU,SAAf,wCAA4D,0BAAMA,UAAU,cAAhB,yB,GAZtCgN,c,qBC6hB1B25G,I,OAvgBuC,SAAC5mH,GAAW,IAAD,EAC7BqG,IAAM8G,UAAkB,GADK,mBAC7C4hB,GAD6C,aAE3B1oB,IAAM8G,SAAiB,IAFI,gCAGjC9G,IAAM8G,YAH2B,mBAGxDuhB,EAHwD,KAG/C7C,EAH+C,OAIbxlB,IAAM8G,SAAc,MAJP,mBAIxD0pD,EAJwD,KAIrCc,EAJqC,KAKzD1oC,EAAUC,cACZ0nC,GAA6B,EAsGjC,SAASiwD,EAAYnuG,GACnB,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf5M,QAAQC,IAAImN,EAAIP,QAChB4W,GAAa,QAEb,GAAIrW,GAAOA,EAAIS,MAAQT,EAAIS,KAAKoZ,OAA6B,GAApB7Z,EAAIS,KAAK6a,QAAiB,CAAC,IAAD,EAW7Di2D,EAAevxE,EAAIS,KAAKoa,UAAY7a,EAAIS,KAAKoa,UAAY,GACzDwyB,EAAgBrtC,EAAIS,KAAKsa,WAAa/a,EAAIS,KAAKsa,WAAa,GAC5Dy2D,EAAcxxE,EAAIS,KAAKwa,SAAWjb,EAAIS,KAAKwa,SAAW,GAErC,KAAjBs2D,GAAuC,KAAhBC,GACzBD,EAAeC,EACf7oE,GAAYyM,gBAAgBygB,QAAU07C,EACtCC,EAAc,GACQ,KAAlBnkC,IACF1kC,GAAYyM,gBAAgBygB,QAC1BltB,GAAYyM,gBAAgBygB,QAAU,IAAMwX,IAG/B,KAAjBkkC,GACkB,KAAlBlkC,GACgB,KAAhBmkC,EAEA7oE,GAAYyM,gBAAgBygB,QAAU,GACX,KAAlBwX,GACT1kC,GAAYyM,gBAAgBygB,QAC1B07C,EAAe,IAAMC,EACvBnkC,EAAgB,IAEhB1kC,GAAYyM,gBAAgBygB,QAC1B07C,EAAe,IAAMlkC,EAAgB,IAAMmkC,EAK/C7oE,GAAYyM,gBAAgBglB,UAAYm3C,EACxC5oE,GAAYyM,gBAAgBolB,SAAWg3C,EACvC7oE,GAAYyM,gBAAgBklB,WAAa+S,EACzC1kC,GAAYyM,gBAAgBwF,WAAa5a,EAAIS,KAE7C,IAAIsX,EAAc/X,EAAIS,KAAK2a,oBACvBpb,EAAIS,KAAK2a,oBACT,GAEArD,EAAYvlB,SAAS,sBACvBmW,GAAYkkC,WAAY,EACf90B,EAAYvlB,SAAS,mCAC9BmW,GAAYkkC,WAAY,GAI1B,IAAInxB,EAAS,IAEP0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,WAEjCymB,GACE03D,EACAvqE,GAAYyM,gBAAgB9nB,IAFR,OAGpBqb,SAHoB,IAGpBA,IAHoB,UAGpBA,GAAao6B,mBAHO,aAGpB,EAA0BgG,gBAC1BrtB,QAIF1b,GACAA,EAAIS,MACJT,EAAIS,KAAKoZ,OACT7Z,EAAIS,KAAK6a,QAGTnI,EAAWnT,EAAIR,OACf6W,GAAa,GAoCnB,IAAM68D,EAAc,SAAClzE,GACnB,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf6W,GAAa,QAEb,GAAIrW,EAAIS,KACN,GAAgB,MAAZT,EAAIS,KAAc,CACpBkI,GAAYyM,gBAAgB9nB,IAAM0S,EAAIS,KAAKg0C,IAC3C9rC,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYogC,gBAAkB/oC,EAAIw0C,gBAClC7rC,GAAYyQ,sBAAwBpZ,EAAIS,KAAKkZ,sBAC7ChR,GAAYwQ,cAAgBnZ,EAAIS,KAAK8zC,cACrC5rC,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAE9B,IAAMhE,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwBtoB,IAAM0S,EAAIS,KAAKg0C,IACvC7+B,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MACnDiQ,EAAwBxL,OAASzB,GAAYikB,KAAKxiB,OAClDwL,EAAwBwD,sBACxBpZ,EAAIS,KAAKkZ,sBACT/D,EAAwBsD,cAAgBvQ,GAAYwQ,cACpDvD,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBigB,QAAUltB,GAAYyM,gBAAgBygB,QAC9DjgB,EAAwBmzB,gBAAkB/oC,EAAIw0C,gBAC9CzrC,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBw4F,SACqB,MAAZpuG,EAAIS,MACb0S,EAAW,yBAGbA,EAAWnT,EAAIR,OACf6W,GAAa,IAIb+3F,EAAsB,WAC1B,IAAIv7B,EAA8B,KAClC31B,IAAmB,SAACl9C,GAClB,IAAKA,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,WACV,CACL,GAAIQ,GAAOA,EAAIS,KAAM,CACnB,IACI5P,EADY0R,KAAKC,MAAMxC,EAAIS,MACEzP,QAC/B,SAACW,GAAD,OAQoB,GAAlBA,EAAK4tD,kBAGE3zD,IAATiF,GACS,OAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,GACE,KAAb,OAAJuE,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,cAQuBV,KAN7BinF,EAAyBhiF,EAAK2U,MAC5B,SAACi6C,GAAD,MAC+B,gBAAtB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASh4B,mBACsB,KAAxB,OAAPg4B,QAAO,IAAPA,OAAA,EAAAA,EAAS/6B,yBAIgB,OAA3BmuD,GAEA5zB,GAAqB,SAACd,GAEpB,OADoB00B,UASfjnF,IAATiF,GACS,OAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,IACX,OAAJuE,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,QAQcV,KAN7BinF,EAAyBhiF,EAAK2U,MAC5B,SAACi6C,GAAD,MAC+B,gBAAtB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASh4B,mBACsB,KAAxB,OAAPg4B,QAAO,IAAPA,OAAA,EAAAA,EAAS/6B,yBAIgB,OAA3BmuD,GAEA5zB,GAAqB,SAACd,GAEpB,OADoB00B,KAQN,IAAhBhiF,EAAKvE,QAAkC,IAAlBuE,EAAK,GAAG6uD,QAC/BxB,GAA6B,GAEjClkC,IAA0B,SAACha,IAQjC,SAA+BA,EAAUwyE,GAEvC,GADAn8D,GAAa,IACRrW,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAC/B8wE,EAAevxE,EAAIS,KAAKoa,UAAY7a,EAAIS,KAAKoa,UAAY,GACzDwyB,EAAgBrtC,EAAIS,KAAKsa,WAAa/a,EAAIS,KAAKsa,WAAa,GAC5Dy2D,EAAcxxE,EAAIS,KAAKwa,SAAWjb,EAAIS,KAAKwa,SAAW,GAErC,KAAjBs2D,GAAuC,KAAhBC,GACzBD,EAAeC,EACf7oE,GAAYyM,gBAAgBygB,QAAU07C,EACtCC,EAAc,GACQ,KAAlBnkC,IACF1kC,GAAYyM,gBAAgBygB,QAC1BltB,GAAYyM,gBAAgBygB,QAAU,IAAMwX,IAG/B,KAAjBkkC,GACkB,KAAlBlkC,GACgB,KAAhBmkC,EAEA7oE,GAAYyM,gBAAgBygB,QAAU,GACX,KAAlBwX,GACT1kC,GAAYyM,gBAAgBygB,QAC1B07C,EAAe,IAAMC,EACvBnkC,EAAgB,IAEhB1kC,GAAYyM,gBAAgBygB,QAC1B07C,EAAe,IAAMlkC,EAAgB,IAAMmkC,EAE/C7oE,GAAYyM,gBAAgBwF,WAAa,CACvCf,MAAO7Z,EAAIS,KAAKg0C,IAChB55B,UAAW02D,EACXx2D,WAAYsyB,EACZpyB,SAAUu2D,EACVr2D,aAAc,GACdC,oBAAqB,GACrBC,WAAY,GACZC,SAAS,EACTC,eAAgB,IAGlB4yB,GAAap2B,GAIbkmC,GACEC,EACAs0B,GAAkDr0B,GAEpD,IAAMvoC,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAW5D,GATA2M,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwB4mB,QAAUzkB,EAAYoqC,QAC9CvsC,EAAwBxL,OAAS2N,EAAYmqC,SAC7Cn5C,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAIY,OAA3B48D,QAC2B5mF,IAA3B4mF,EAGA,YADAj8D,EAAQM,KAAK5uB,GAAaU,OAG5B,IACGovB,EAAYk3B,uBACbtmC,GAAY8P,qBACX9P,GAAYmO,eACZnO,GAAY4P,MAGb,YADAhC,EAAQM,KAAKpsB,IAGf,IAEIstB,EAAYw2B,4BACZx2B,EAAYu2B,2BAId,YADA/3B,EAAQM,KAAK5uB,GAAaE,SAG5B,IAAK4vB,EAAY22B,uBAEf,YADAn4B,EAAQM,KAAK5uB,GAAaG,MAG5B,GAAqC,KAAtB,OAAX2vB,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,oBAAyB,OAAChxB,QAAD,IAACA,OAAD,EAACA,EAAa+3B,eAEtD,YADAv5B,EAAQM,KAAK5uB,GAAaU,OAG5B,GACmC,KAAtB,OAAXovB,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,oBACXhxB,EAAY42B,8BACX52B,EAAY+2B,4BAGf,YADAv4B,EAAQM,KAAK5uB,GAAaI,MAG5B,IAAK61D,EAEH,YADA3nC,EAAQM,KAAK5uB,GAAaM,KAG5B,IACGogB,GAAYmO,eACZnO,GAAY4P,QAEZR,EAAY82B,0BAGb,YADAt4B,EAAQM,KAAK5uB,GAAaO,KAG5B,GAAIuvB,EAAYg3B,sBAEd,YADAx4B,EAAQM,KAAKpsB,IAGf,IAAKstB,EAAYi3B,iBAEf,YADAz4B,EAAQM,KAAK5uB,GAAaS,OAG5B,GAAIqvB,EAAYi3B,iBAEd,YADAz4B,EAAQM,KAAKpsB,IAKnB4rB,GAAa,GA7IPs+B,CAAsB30C,EAAK6yE,KAC1BlqE,GAAYwQ,kBAGhBxQ,GAAYwQ,gBA4IjB,OACE,yBAAK5xB,UAAU,mBACb,yBAAKE,IAAKw1D,KAAW11D,UAAU,iBAC/B,6BACE,wBAAIA,UAAU,kBAAd,qBAMA,yBAAKA,UAAU,aACb,kBAAC,GAAD,CAAQ6P,QAAQ,WAAWrH,KAAK,SAASO,QA1e1B,WAErBsC,QAAQC,IAAI,gBACZwjB,GAAa,GACbrN,aAAa0gC,WAAW,oBACxB,IAAMjT,EAAsBl0B,KAAKC,MAC/BuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE/CN,GAAYyM,gBAAgB9nB,SAEJ1B,GAAnC+c,GAAYyM,gBAAgB9nB,KACO,IAAnCqb,GAAYyM,gBAAgB9nB,IAEnBqb,GAAYyM,gBAAgB9nB,IACD,IAA3BmpC,EAAoBnpC,MACO,IAA3BmpC,EAAoBnpC,KAAYmpC,EAAoBnpC,KAE/DqtB,GAAewzF,QA4db,6BACCn4F,GACC,yBAAKzuB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEAA8CA,EAA9C,MAGF,+BAAQA,QC0ePq4F,GAx+BuC,SAAC/mH,GAAW,IAAD,EACbqG,IAAM8G,SAAc,MADP,mBACxD0pD,EADwD,KACrCc,EADqC,OAG7BtxD,IAAM8G,UAAkB,GAHK,mBAGxDyC,EAHwD,KAG7Cmf,EAH6C,OAI3B1oB,IAAM8G,SAAiB,IAJI,mBAIxDyqD,EAJwD,aAK/BvxD,IAAM8G,SAAiB,KALQ,mBAKxD65G,EALwD,KAK9CC,EAL8C,OAMjC5gH,IAAM8G,WAN2B,mBAMxDuhB,EANwD,KAM/C7C,EAN+C,KAQ3D+qC,GAA6B,EAC3B3nC,EAAUC,cAyEVg4F,EAAc,uCAAG,gCAAA96G,EAAA,6DAErBd,QAAQC,IAAI,mBAEZwjB,GAAa,GAJQ,SAKa9T,KAAKC,MACrCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MANvC,UAKfwtB,EALe,OASjBC,EAAS/tB,GAAYyM,gBAAgB9nB,SAGJ1B,GAAnC+c,GAAYyM,gBAAgB9nB,KACO,IAAnCqb,GAAYyM,gBAAgB9nB,IAE5BopC,EAAS/tB,GAAYyM,gBAAgB9nB,IACD,IAA3BmpC,EAAoBnpC,MAC7BopC,EAAoC,IAA3BD,EAAoBnpC,IAAYmpC,EAAoBnpC,IAAM,IAEjE4kF,EAAa5kF,GAAI5B,KAAKgrC,GAE1B9jC,QAAQC,IACN,SACA,CAAE6jC,SAAQw7C,cACC,KAAXx7C,QAA4B9qC,IAAX8qC,GAAwBw7C,GAE5B,KAAXx7C,QAA4B9qC,IAAX8qC,IAAwBw7C,EA1BxB,iBA2BnBq8B,EAAY73E,GACZ/b,GAAewzF,GA5BI,+BA8BnBzkG,MACE,oHAEF6M,EAAQM,KAAKpsB,IAjCM,+DAAH,qDAwHpB,SAAS0jH,EAAYnuG,GACnB,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf5M,QAAQC,IAAImN,EAAIP,QAChB4W,GAAa,QAIb,GAFAzjB,QAAQC,IAAI,cAAemN,EAAIS,MAE3BT,GAAOA,EAAIS,MAAQT,EAAIS,KAAKoZ,OAA6B,GAApB7Z,EAAIS,KAAK6a,QAAiB,CAWjE,IAAIi2D,EAAevxE,EAAIS,KAAKoa,UAAY7a,EAAIS,KAAKoa,UAAY,GACzDwyB,EAAgBrtC,EAAIS,KAAKsa,WAAa/a,EAAIS,KAAKsa,WAAa,GAC5Dy2D,EAAcxxE,EAAIS,KAAKwa,SAAWjb,EAAIS,KAAKwa,SAAW,GAErC,KAAjBs2D,GAAuC,KAAhBC,GACzBD,EAAeC,EACf7oE,GAAYyM,gBAAgBygB,QAAU07C,EACtCC,EAAc,GACQ,KAAlBnkC,IACF1kC,GAAYyM,gBAAgBygB,QAC1BltB,GAAYyM,gBAAgBygB,QAAU,IAAMwX,IAG/B,KAAjBkkC,GACkB,KAAlBlkC,GACgB,KAAhBmkC,EAEA7oE,GAAYyM,gBAAgBygB,QAAU,GACX,KAAlBwX,GACT1kC,GAAYyM,gBAAgBygB,QAC1B07C,EAAe,IAAMC,EACvBnkC,EAAgB,IAEhB1kC,GAAYyM,gBAAgBygB,QAC1B07C,EAAe,IAAMlkC,EAAgB,IAAMmkC,EAK/C7oE,GAAYyM,gBAAgBglB,UAAYm3C,EACxC5oE,GAAYyM,gBAAgBolB,SAAWg3C,EACvC7oE,GAAYyM,gBAAgBklB,WAAa+S,EACzC1kC,GAAYyM,gBAAgBwF,WAAa5a,EAAIS,KAE7C,IAAIsX,EAAc/X,EAAIS,KAAK2a,oBACvBpb,EAAIS,KAAK2a,oBACT,GAEArD,EAAYvlB,SAAS,sBACvBmW,GAAYkkC,WAAY,EACf90B,EAAYvlB,SAAS,mCAC9BmW,GAAYkkC,WAAY,GAI1B,IAAInxB,EAAS,IACb9oB,QAAQC,IAAI,oBAAqBowB,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,QAC9D,IAAMwd,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,OACtD,GAAiB,KAAbwd,GAAqBA,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,EAAG,CAAC,IAAD,EACrD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,WAEjC,IAAM6gB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAExD4S,EAAkB,EAKpBA,OAHiCjwB,KAAtB,OAAX+c,SAAW,IAAXA,QAAA,EAAAA,GAAaogC,kBACoB,QAAtB,OAAXpgC,SAAW,IAAXA,QAAA,EAAAA,GAAaogC,iBAEE,OAAGpgC,SAAH,IAAGA,QAAH,EAAGA,GAAaogC,gBAEhB,OAAGnzB,QAAH,IAAGA,OAAH,EAAGA,EAAyBmzB,gBAG7CvtB,GACE03D,EACAvqE,GAAYyM,gBAAgB9nB,IAC5BuuB,EACAH,QAGF1b,GACAA,EAAIS,MACJT,EAAIS,KAAKoZ,OACT7Z,EAAIS,KAAK6a,QAGTnI,EAAWnT,EAAIR,OACf6W,GAAa,GAoCnB,IAAM68D,EAAc,SAAClzE,GACnB,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf6W,GAAa,QAEb,GAAIrW,EAAIS,KACN,GAAgB,MAAZT,EAAIS,KAAc,CAAC,IAAD,EACpBkI,GAAYyM,gBAAgB9nB,IAAM0S,EAAIS,KAAKg0C,IAC3C9rC,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYwQ,cAAgBnZ,EAAIS,KAAK8zC,cACrC5rC,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAC9BjR,GAAYyQ,sBAAwBpZ,EAAIS,KAAKkZ,sBAC7ChR,GAAYgkC,eAAgB,EAC5B,IAAM/2B,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB+2B,cAAgBhkC,GAAYgkC,cACpD/2B,EAAwB0mB,OAASt8B,EAAIS,KAAKmZ,OAC1ChE,EAAwBtoB,IAAxB,UAA8B0S,EAAIS,YAAlC,aAA8B,EAAUg0C,IACxC7+B,EAAwBwD,sBACtBpZ,EAAIS,KAAKkZ,sBACX/D,EAAwBsD,cAAgBlZ,EAAIS,KAAK8zC,cACjD3+B,EAAwBmzB,gBAAkB/oC,EAAIS,KAAK+zC,gBACnD5+B,EAAwBhN,MAAQ5I,EAAIS,KAAK8Y,MACrCvZ,EAAIS,KAAK8Y,MADmB,OAE5B5Q,SAF4B,IAE5BA,QAF4B,EAE5BA,GAAaC,MACjBgN,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdrQ,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAIjBsnC,GACEoC,EACAt/C,EAAIS,KAAK8zC,cACLv0C,EAAIS,KAAK8zC,cACT5rC,GAAYwQ,oBAEG,MAAZnZ,EAAIS,MACb0S,EAAW,yBAGbA,EAAWnT,EAAIR,OACf6W,GAAa,IAKnB,SAASipC,EAAmBt/C,GAC1B,IAAIwyE,EAA8B,KAElC,GADAn8D,GAAa,IACRrW,GAAOA,EAAIR,MACd2T,EAAWnT,EAAIR,YAEf,GAAIQ,GAAOA,EAAIS,KAAM,CACnB,IAAI5P,EAAmB0R,KAAKC,MAAMxC,EAAIS,MAAMzP,QAC1C,SAACW,GAAD,OAKoB,GAAlBA,EAAK4tD,kBAGE3zD,IAATiF,GACS,OAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,GACE,KAAb,OAAJuE,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,aAQuBV,KAN7B4mF,EAAyB3hF,EAAK2U,MAC5B,SAACi6C,GAAD,MAC+B,gBAAtB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASh4B,mBACsB,KAAxB,OAAPg4B,QAAO,IAAPA,OAAA,EAAAA,EAAS/6B,yBAIgB,OAA3B8tD,GAEAvzB,EAAqBuzB,QAGd5mF,IAATiF,GACS,OAATA,IACI,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,IACX,OAAJuE,QAAI,IAAJA,OAAA,EAAAA,EAAMvE,QAAS,QAQcV,KAN7B4mF,EAAyB3hF,EAAK2U,MAC5B,SAACi6C,GAAD,MAC+B,gBAAtB,OAAPA,QAAO,IAAPA,OAAA,EAAAA,EAASh4B,mBACsB,KAAxB,OAAPg4B,QAAO,IAAPA,OAAA,EAAAA,EAAS/6B,yBAIgB,OAA3B8tD,GAEAvzB,EAAqBuzB,GAIL,IAAhB3hF,EAAKvE,QAAkC,IAAlBuE,EAAK,GAAG6uD,QAC/BxB,GAA6B,GAGnC7nC,GAAa,GACb2D,IAA0B,SAACha,IA5bkC,sCA6b3D20C,CAAsB30C,EAAKwyE,KAC1B7pE,GAAYwQ,eAEjB,IAAM0oC,EAAc,SAAC9mB,EAAaztC,GAChC,IAAMyuB,EAAS,CACb5R,cAAexB,GAAYwQ,cAC3B2qB,UAAW,EACX7nB,IAAI,GAAD,OAAKwB,KAAOoiC,EAAY9kB,IAAMrd,OAAO,eACxCpE,MAAOhsB,GAETwuB,IAAe,SAAC9b,GAAD,OAAc+hD,EAAe/hD,KAAM+b,IAE9CgmC,EAAiB,SAAC/hD,GAOd,IAAD,EANP,IAAKA,GAAOA,EAAIR,MAEd2T,EAAWnT,EAAIR,OACf6W,GAAa,QAKb,aADoBrW,EAAIS,KACRuhD,oBAAhB,aAAI,EAA0BxvD,SAAS,eACrC6jB,GAAa,GAGblD,EAAW6C,GAAoB,IAAMhW,EAAIR,OAAS,SAE7C,CACL,IAAMuY,EAAc/X,EAAIS,KAAOT,EAAIS,KAAOT,EAC1C,GACE+X,GAC0B,OAA1BA,EAAYkqC,UAGZ,CACAt5C,GAAY4P,OAAQ,EACpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5DN,GAAYqzB,UAAYjkB,EAAYurB,SAChCvrB,EAAYurB,SACZ,GACJ36B,GAAYuzB,WAAankB,EAAYwrB,UACjCxrB,EAAYwrB,UACZ,GACJ56B,GAAYyzB,SAAWrkB,EAAYuoC,SAC/BvoC,EAAYuoC,SACZ,EAGJ,IAAMvoB,EAAYhgB,EAClBpP,GAAY61B,cAAchsB,aAA1B,UAA4CulB,EAAUwoB,WAAtD,YACExoB,EAAUyoB,YAAc,GAD1B,YAEIzoB,EAAU0oB,YAAc,IAC5B93C,GAAY61B,cAAchsB,aACxB7J,GAAY61B,cAAchsB,aAE5B7J,GAAY61B,cAAchV,YAA1B,UAA2CuO,EAAU2oB,WAArD,YACE3oB,EAAU4oB,YAAc,GAD1B,YAEI5oB,EAAU6oB,YAAc,IAC5Bj4C,GAAY61B,cAAchV,YACxB7gB,GAAY61B,cAAchV,YAC5B7gB,GAAY61B,cAAcvzB,QAAU8sB,EAAU8oB,YAC9Cl4C,GAAY61B,cAAc7U,YAAcoO,EAAU+oB,YAClDn4C,GAAYyM,gBAAgB8a,WAAa6H,EAAUgpB,WAC/ChpB,EAAUgpB,WACVp4C,GAAYyM,gBAAgB8a,WAChCta,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwBpD,aACtB7J,GAAY61B,cAAchsB,aAC5BoD,EAAwB3K,QAAUtC,GAAY61B,cAAcvzB,QAC5D2K,EAAwB4T,YACtB7gB,GAAY61B,cAAchV,YAC5B5T,EAAwB+T,YACtBhhB,GAAY61B,cAAc7U,YAC5B/T,EAAwBsa,WACtBvnB,GAAYyM,gBAAgB8a,WAC9Bta,EAAwB6T,gBACtB9gB,GAAY61B,cAAchsB,cAC1B7J,GAAY61B,cAAchV,YAQ5BzgB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAK5uB,GAAaE,SAC1BkuB,GAAa,OACR,CAAC,IAAD,EACL1N,GAAY6P,gBAAiB,EAC7B7P,GAAY6tB,OAAQ,EACpB7tB,GAAY4P,OAAQ,EACpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAE5C5gB,EAAwBgV,gBAC+B,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC2M,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBmlB,IAAMpyB,GAAYoyB,IAC1CnlB,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MAEnDiQ,EAAwB4C,eAAiB7P,GAAY6P,eACrD5C,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBxL,OAASzB,GAAYikB,KAAKxiB,OAClDwL,EAAwBtoB,IAAxB,OAA8Bqb,SAA9B,IAA8BA,IAA9B,UAA8BA,GAAayM,uBAA3C,aAA8B,EAA8B9nB,IAC5DsoB,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwBi3B,UAAYlkC,GAAYkkC,UAChDj3B,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5C5gB,EAAwB4C,eAAiB7P,GAAY6P,eACrDzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAKpsB,IACb4rB,GAAa,MAKfwpC,EAAc,SAACC,GAAuB,MAEfA,EAAWj0C,MAAM,KAFF,mBAEnC0nC,EAFmC,KAE9BI,EAF8B,KAEvBC,EAFuB,KAKpCv3B,EAAO,IAAIE,KAAKznB,SAAS8+C,GAAO9+C,SAAS6+C,GAAS,EAAG7+C,SAASy+C,IAOpE,MAJmB,WAAOl3B,EAAK6vB,WAAa,GACzCn3C,WACAgrD,SAAS,EAAG,KAFI,YAEIxM,EAAIwM,SAAS,EAAG,KAFpB,YAE4BnM,IAK3CoM,EAAgB,SACpBC,EACAllB,EACAztC,GAEAktB,IACE,SAACxa,GAAc,IAAD,IACZ,GACEA,GACAA,EAAIS,OADJ,OAEAT,QAFA,IAEAA,GAFA,UAEAA,EAAKS,YAFL,aAEA,EAAWy/C,UAFX,OAGAlgD,QAHA,IAGAA,GAHA,UAGAA,EAAKS,YAHL,aAGA,EAAWy/C,OAAOC,kBAClB,CAAC,IAAD,EACIC,EAAa,OAAGpgD,QAAH,IAAGA,GAAH,UAAGA,EAAKS,YAAR,aAAG,EAAWy/C,OAC/B,IACa,OAAXv3C,SAAW,IAAXA,QAAA,EAAAA,GAAawQ,iBAC0C,IAAvDxQ,GAAYo6B,YAAYuL,6BAC8B,IAAtD3lC,GAAYo6B,YAAYwL,2BACN,OAAlB6R,IAHA,OAIAA,QAJA,IAIAA,OAJA,EAIAA,EAAeD,kBAEf,GAAkC,MAAjB,OAAbC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,cA7lBJ,SAACtoC,GACxBpP,GAAY4P,OAAQ,EAEpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5DN,GAAYqzB,UAAYjkB,EAAYurB,SAAWvrB,EAAYurB,SAAW,GACtE36B,GAAYuzB,WAAankB,EAAYwrB,UAAYxrB,EAAYwrB,UAAY,GACzE56B,GAAYyzB,SAAWrkB,EAAYuoC,SAAWvoC,EAAYuoC,SAAW,EAGrE,IAAMvoB,EAAYhgB,EAClBpP,GAAY61B,cAAchsB,aAA1B,UAA4CulB,EAAUwoB,WAAtD,YACExoB,EAAUyoB,YAAc,GAD1B,YAEIzoB,EAAU0oB,YAAc,IAC5B93C,GAAY61B,cAAchsB,aACxB7J,GAAY61B,cAAchsB,aAE5B7J,GAAY61B,cAAchV,YAA1B,UAA2CuO,EAAU2oB,WAArD,YACE3oB,EAAU4oB,YAAc,GAD1B,YAEI5oB,EAAU6oB,YAAc,IAC5Bj4C,GAAY61B,cAAchV,YACxB7gB,GAAY61B,cAAchV,YAC5B7gB,GAAY61B,cAAcvzB,QAAU8sB,EAAU8oB,YAC9Cl4C,GAAY61B,cAAc7U,YAAcoO,EAAU+oB,YAClDn4C,GAAYyM,gBAAgB8a,WAAa6H,EAAUgpB,WAC/ChpB,EAAUgpB,WACVp4C,GAAYyM,gBAAgB8a,WAChCta,EAAwB2C,OAAQ,EAChC3C,EAAwBpD,aACtB7J,GAAY61B,cAAchsB,aAC5BoD,EAAwB3K,QAAUtC,GAAY61B,cAAcvzB,QAC5D2K,EAAwB4T,YAAc7gB,GAAY61B,cAAchV,YAChE5T,EAAwB+T,YAAchhB,GAAY61B,cAAc7U,YAChE/T,EAAwBsa,WAAavnB,GAAYyM,gBAAgB8a,WACjEta,EAAwB6T,gBACtB9gB,GAAY61B,cAAchsB,cAC1B7J,GAAY61B,cAAchV,YAO5BzgB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAK5uB,GAAaE,SA8iBhB64D,CAAgB,OAACZ,QAAD,IAACA,OAAD,EAACA,EAAel+C,MAChCmU,GAAa,QACR,GAAkC,MAAjB,OAAb+pC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAC5C13C,GAAYmO,cAAe,EAC3B,IAAMlB,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAG5D2M,EAAwBkB,cAAe,EACvClB,EAAwBmB,SAAW,GAEnChO,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBT,GAA2B,OAACirC,QAAD,IAACA,OAAD,EAACA,EAAel+C,MAC3CqU,EAAQM,KAAK5uB,GAAaE,SAC1BkuB,GAAa,QACR,GAAkC,MAAjB,OAAb+pC,QAAa,IAAbA,OAAA,EAAAA,EAAeC,aAAoB,CAAC,IAAD,EAC5C13C,GAAY6P,gBAAiB,EAC7B7P,GAAY6tB,OAAQ,EACpB7tB,GAAY4P,OAAQ,EACpB,IAAM3C,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,MAE5D2M,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5C5gB,EAAwBpD,aAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBC,sBAC9CtrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBE,sBAC9CvrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBG,sBAC9CxrC,EAAwBpD,cAAxB,OACE4tC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBI,sBAC9CzrC,EAAwB6T,gBACuB,QAAhC,OAAb22B,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,4BACyBjsC,KAAhC,OAAbw0D,QAAa,IAAbA,OAAA,EAAAA,EAAel+C,KAAK21B,wBADpB,OAEIuoB,QAFJ,IAEIA,OAFJ,EAEIA,EAAel+C,KAAK21B,sBAE1BjiB,EAAwB4T,YAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BC,2BACnD3rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BE,2BACnD5rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BG,2BACnD7rC,EAAwB4T,aAAxB,OACE42B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BI,2BAEnD9rC,EAAwBgV,gBAC+B,SAArD7hB,OAAOkO,eAAehO,QAAQ,mBAGhC2M,EAAwBwD,sBACtBzQ,GAAYyQ,sBACdxD,EAAwBmlB,IAAMpyB,GAAYoyB,IAC1CnlB,EAAwB4mB,QAAU7zB,GAAYikB,KAAKjnB,MAEnDiQ,EAAwBxC,QAAxB,OACEgtC,QADF,IACEA,OADF,EACEA,EAAel+C,KAAK++C,wBAAwBU,iBAC9C/rC,EAAwB+T,YAAxB,OACEy2B,QADF,IACEA,OADF,EACEA,EAAel+C,KAAKo/C,6BAA6BM,sBACnDhsC,EAAwB4C,eACtB7P,GAAY6P,eACd5C,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBxL,OAASzB,GAAYikB,KAAKxiB,OAClDwL,EAAwBtoB,IAAxB,OAA8Bqb,SAA9B,IAA8BA,IAA9B,UAA8BA,GAAayM,uBAA3C,aAA8B,EAA8B9nB,IAC5DsoB,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwBi3B,UAAYlkC,GAAYkkC,UAChDj3B,EAAwB2C,MAAQ5P,GAAY4P,MAC5C3C,EAAwB4gB,MAAQ7tB,GAAY6tB,MAC5C5gB,EAAwB4C,eACtB7P,GAAY6P,eACdzP,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAEjBW,EAAQM,KAAK5uB,GAAaE,SAC1BkuB,GAAa,aAEDzqB,IAARmvC,QAA6BnvC,IAAR0B,EACvBu0D,EAAY9mB,EAAKpyB,GAAYyM,gBAAgB9nB,KAE7C2yD,cAMMr0D,IAARmvC,QAA6BnvC,IAAR0B,EACvBu0D,EAAY9mB,EAAKpyB,GAAYyM,gBAAgB9nB,KAE7C2yD,MAIN,CACE6B,SAAQ,OAAEn5C,SAAF,IAAEA,QAAF,EAAEA,GAAawQ,cACvBrlB,IAAI,cAAD,cAAgB6U,SAAhB,IAAgBA,QAAhB,EAAgBA,GAAawQ,kBA5sByB,4CAgtB/D,WAAqCnZ,EAAUwyE,GAA/C,2BAAA9+E,EAAA,yDACE2iB,GAAa,GACRrW,IAAOA,EAAIR,MAFlB,gBAII2T,EAAWnT,EAAIR,OAJnB,2BAMQQ,EAAIS,KANZ,oBAUM0tC,GAHMp2B,EAAcxV,KAAKC,MAAMxC,EAAIS,OAKnCw9C,GACEC,EACAs0B,GAAkDr0B,GAEpDx1C,GAAYyM,gBAAgB8a,WAAavnB,GAAYyM,gBAClD8a,WACCvnB,GAAYyM,gBAAgB8a,WAFS,OAGrCnY,QAHqC,IAGrCA,OAHqC,EAGrCA,EAAaoe,iBACbpe,EAAYk3B,wBAAuBtmC,GAAYmO,cAAe,GAC9DiB,EAAYs3B,QAAO1mC,GAAY4P,OAAQ,GACvCR,EAAYolB,QAAOx0B,GAAY6tB,OAAQ,GAE3C5jC,QAAQC,IAAI,cAAeklB,GAC3BpP,GAAYopC,eAAiBh6B,EAAYoiE,gBAEnCvkE,EAA0BrT,KAAKC,MACnCuG,OAAOC,aAAaC,QAAQ,4BAA8B,OAEpCiQ,cAAgBvQ,GAAYwQ,cACpDvD,EAAwBhN,MAAQD,GAAYC,MAC5CgN,EAAwB0mB,OAAS3zB,GAAY0Q,OAC7CzD,EAAwBigB,QAAUltB,GAAYyM,gBAAgBygB,QAC9DjgB,EAAwBgF,WACtBjS,GAAYyM,gBAAgBwF,WAC9BhF,EAAwBkB,aAAenO,GAAYmO,aACnDlB,EAAwB2C,MAAQ5P,GAAYo6B,YAAYsM,MACxDz5B,EAAwB4gB,MAAQ7tB,GAAYo6B,YAAY5F,MACxDvnB,EAAwBxL,OAAxB,OAAiC2N,QAAjC,IAAiCA,OAAjC,EAAiCA,EAAamqC,SAC9CtsC,EAAwB4mB,QAAUzkB,EAAYoqC,QAC9CvsC,EAAwBmlB,IAAMpyB,GAAYo6B,YAAYhI,IAEnB,OAAtB,OAAXhjB,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,wBACoBvqC,IAAtB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,mBACqB,MAAvB,OAAXpe,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,oBAEbvgB,EAAwBsa,WAAxB,OAAqCnY,QAArC,IAAqCA,OAArC,EAAqCA,EAAaoe,kBAEpDvgB,EAAwB4gB,MAAQ7tB,GAAYo6B,YAAY5F,MACxDvnB,EAAwBm8B,eAAiBppC,GAAYopC,eAC5B,QAAV,OAAXh6B,QAAW,IAAXA,OAAA,EAAAA,EAAagjB,WAAqCnvC,KAAV,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAagjB,OAI/B,QAHT1e,EAAOoB,KAAOA,KAAOoiC,EAAW,OAAC9nC,QAAD,IAACA,OAAD,EAACA,EAAagjB,MAAMqnB,UACrDC,QAAQ,OACRD,gBAC2Bx2D,IAATywB,GAAsBO,GAAcP,GAAQ,GAC/DtT,OAAOkO,eAAepB,QAAQ,kBAAmB,QAEjD9M,OAAOkO,eAAepB,QAAQ,kBAAmB,UAIlB,OAAtB,OAAXkC,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,wBACoBvqC,IAAtB,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,mBACqB,MAAvB,OAAXpe,QAAW,IAAXA,OAAA,EAAAA,EAAaoe,oBAEbvgB,EAAwBsa,WAAxB,OAAqCnY,QAArC,IAAqCA,OAArC,EAAqCA,EAAaoe,kBAEpDptB,OAAOC,aAAa6M,QAClB,0BACAtT,KAAK2G,UAAU0M,IAKmB,IAAlCmC,EAAYq3B,mBACkB,IAA9Br3B,EAAYm3B,cA5EpB,wBA8EQ34B,EAAQM,KAAKnsB,GAAUI,2BA9E/B,8BAkFyC,OAAjCitB,EAAYi3B,kBACoB,GAAhCj3B,EAAYi3B,oBADZ,OAEAj3B,QAFA,IAEAA,OAFA,EAEAA,EAAawqC,WACoB,KAAtB,OAAXxqC,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,iBArFrB,wBAuFQxyB,EAAQM,KAAKpsB,IAvFrB,8BA0FWyzD,GAA4D,IAA9BnmC,EAAYm3B,cA1FrD,wBA2FQ34B,EAAQM,KAAKnsB,GAAUK,gBA3F/B,8BA+FSgtB,EAAYk3B,wBACbtmC,GAAY8P,oBACX9P,GAAYmO,cACZnO,GAAY4P,MAlGrB,wBAoGQhC,EAAQM,KAAKpsB,IApGrB,8BAyGUstB,EAAYw2B,2BACZx2B,EAAYu2B,2BA1GtB,wBA6GQ0R,GACE,WACEt2C,MACE,6DAEF6M,EAAQM,KAAKpsB,MALJ,OAOXstB,QAPW,IAOXA,OAPW,EAOXA,EAAagjB,IACbuzE,GArHV,8BA4HWv2F,EAAY22B,uBA5HvB,wBA6HQn4B,EAAQM,KAAK5uB,GAAaG,MA7HlC,8BAgI2C,KAAtB,OAAX2vB,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,mBAAyB,OAAChxB,QAAD,IAACA,OAAD,EAACA,EAAa+3B,eAhI9D,wBAiIQv5B,EAAQM,KAAK5uB,GAAaU,OAjIlC,8BAqIyC,KAAtB,OAAXovB,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,kBACXhxB,EAAY42B,6BACX52B,EAAY+2B,2BAvIvB,wBAyIQv4B,EAAQM,KAAK5uB,GAAaI,MAzIlC,8BA4IW61D,EA5IX,wBA6IQ3nC,EAAQM,KAAK5uB,GAAaM,KA7IlC,8BAiJSogB,GAAYmO,cACZnO,GAAY4P,OACZ5P,GAAY6tB,OACZze,EAAY82B,0BApJrB,wBAsJQt4B,EAAQM,KAAK5uB,GAAaO,KAtJlC,+BAyJUuvB,EAAYg3B,sBAzJtB,wBA0JQx4B,EAAQM,KAAKpsB,IA1JrB,8BA8J8B,OAAtBstB,EAAYs3B,YACUzjD,IAAtBmsB,EAAYs3B,QACZt3B,EAAYs3B,OACqB,KAAtB,OAAXt3B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,iBAjKrB,oBAmKYrtB,EAAS,IAGI,MADX0K,EAAmBnD,GAAe,OAACta,SAAD,IAACA,QAAD,EAACA,GAAaC,SAC7Bwd,IAAoB,OAARA,QAAQ,IAARA,OAAA,EAAAA,EAAU95B,QAAS,IAClD+5B,EAA0B9jB,KAAKC,MAAM4jB,GACzC1K,EAAM,OAAG2K,QAAH,IAAGA,GAAH,UAAGA,EAAc/L,cAAjB,aAAG,EAAsBvlB,YAElB,MAAX2mB,KAAA,OAAkB3D,QAAlB,IAAkBA,OAAlB,EAAkBA,EAAawqC,UA1K3C,wBA4KkC,OAAtBxqC,EAAYs3B,YACUzjD,IAAtBmsB,EAAYs3B,QADZ,OAEAt3B,QAFA,IAEAA,OAFA,EAEAA,EAAawqC,WACqB,IAAlCxqC,EAAYq3B,mBACkB,IAA9Br3B,EAAYm3B,eAKuB,OAAjCn3B,EAAYi3B,kBACoB,GAAhCj3B,EAAYi3B,mBADZ,OAEAj3B,QAFA,IAEAA,OAFA,EAEAA,EAAawqC,WACoB,KAAtB,OAAXxqC,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,kBACqB,IAAlChxB,EAAYq3B,mBACkB,IAA9Br3B,EAAYm3B,cARd34B,EAAQM,KAAKpsB,IAYuB,IAAlCstB,EAAYq3B,mBACkB,IAA9Br3B,EAAYm3B,eAEZ34B,EAAQM,KAAKpsB,IAjM3B,8BAsM0C,IAA9BstB,EAAYm3B,eACsB,IAAlCn3B,EAAYq3B,qBADZ,OAEAr3B,QAFA,IAEAA,OAFA,EAEAA,EAAawqC,UAxMzB,wBA0MYhsC,EAAQM,KAAKpsB,IA1MzB,kCA6MY8rB,EAAQM,KAAK5uB,GAAaW,cA7MtC,8BAkNWmvB,EAAYi3B,iBAlNvB,wBAmNQz4B,EAAQM,KAAK5uB,GAAaS,MAAQ,SAnN1C,gCAuNmB,OAAXqvB,QAAW,IAAXA,OAAA,EAAAA,EAAai3B,mBACoB,KAAtB,OAAXj3B,QAAW,IAAXA,OAAA,EAAAA,EAAagxB,iBAxNrB,wBA0NQxyB,EAAQM,KAAKpsB,IA1NrB,+BA6NUstB,EAAYi3B,kBAAqBj3B,EAAYu3B,oBA7NvD,wBA8NQ/4B,EAAQM,KAAK5uB,GAAaS,MAAQ,SA9N1C,8BAiOwC,IAA9BqvB,EAAYm3B,cAjOtB,wBAkOQ34B,EAAQM,KAAKpsB,IAlOrB,2BAuOE4rB,GAAa,GAvOf,6CAhtB+D,sBA07B/D,OACE,yBAAK9uB,UAAU,MACb,yBAAKA,UAAU,UACb,kBAAC,GAAD,KACE,yBAAKE,IAAK+6D,KAAa76D,IAAI,UAAUJ,UAAU,YAGnD,yBAAKA,UAAU,aACb,+CAAqB23D,IAEvB,yBAAK33D,UAAU,UACb,2BAAOA,UAAU,YAAjB,mIAMDyuB,GACC,yBAAKzuB,UAAU,cACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEAA8CA,EAA9C,MAGF,+BAAQA,KAMhB,yBAAKzuB,UAAU,UACb,yBAAKA,UAAU,gBACb,kBAAC,GAAD,CACE6P,QAAQ,WACRlH,SAAUgH,EACVA,UAAWA,EACX5G,QAASk+G,QC95BNC,GA3EM,WACnB,OACE,oCACE,kBAAC,IAAD,KACE,kBAAC,IAAD,CACE1xD,KAAMryD,GAAUC,WAChBivF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAoBpxF,QAK7B,kBAAC,IAAD,CACEy1D,KAAMryD,GAAUE,eAChBgvF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAmBpxF,QAK5B,kBAAC,IAAD,CACEy1D,KAAMryD,GAAUK,eAChB6uF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAmBpxF,QAK5B,kBAAC,IAAD,CACEy1D,KAAMryD,GAAUI,0BAChB8uF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAA+BpxF,QAKxC,kBAAC,IAAD,CACEy1D,KAAMryD,GAAUG,gBAChB+uF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAoBpxF,QAK7B,kBAAC,IAAD,CACEy1D,KAAMryD,GAAUM,eAChB4uF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,KACE,kBAAC,GAAmBpxF,WCkSrBonH,I,mCApWG,WAChB,IAAMzZ,EAAcx1E,KAChB5O,EAAa,GACbJ,EAAa,GACbR,EAAe,GAJG,EAMMtiB,IAAM8G,SAAS,CACzC2lC,UAAW,GACXhrB,SAAU,GACVzJ,MAAO,GACPyE,OAAQ,GACRje,KAAM,KAXc,mBAMf+0C,EANe,KAMP0U,EANO,OAcpBjoD,IAAM8G,UAAkB,GAdJ,gCAeQ9G,IAAM8G,SAAS,KAfvB,mBAefuhB,EAfe,KAeN7C,EAfM,OAgBcxlB,IAAM8G,UAAkB,GAhBtC,mBAgBfxL,EAhBe,KAgBH0lH,EAhBG,OAiBkBhhH,IAAM8G,UAAkB,GAjB1C,mBAiBfm6G,EAjBe,KAiBDC,EAjBC,KAmBtBlhH,IAAM6H,WAAU,WACdqb,EAAaokF,EAAYprF,IAAI,eAAiB,GAC9C4G,EAAawkF,EAAYprF,IAAI,eAAiB,GAC9CoG,EAAeglF,EAAYprF,IAAI,iBAAmB,GAClD,IAAMkH,EAAWkkF,EAAYprF,IAAI,aAAe,GAC1CwG,EAAe4kF,EAAYprF,IAAI,iBAAmB,GAClDkG,EAAcklF,EAAYprF,IAAI,gBAAkB,GAChD8G,EAAgBskF,EAAYprF,IAAI,kBAAoB,GACpD0G,EAAa0kF,EAAYprF,IAAI,eAAiB,GAC9CsG,EAAc8kF,EAAYprF,IAAI,gBAAkB,GAChDuwB,EAAY66D,EAAYprF,IAAI,UAAY,GACxCuF,EAAW6lF,EAAYprF,IAAI,UAAY,GACvClE,EAAQsvF,EAAYprF,IAAI,UAAY,GACpCO,EAAS6qF,EAAYprF,IAAI,WAAa,GACtC1d,EAAO8oG,EAAYprF,IAAI,SAAW,GAClCilG,EAAY,CAChBj+F,aACAJ,aACAR,eACAc,WACAV,eACAN,cACAY,gBACAJ,aACAJ,eAGEU,GAA2C,eAA7BA,EAAWrhB,gBAC3BmZ,GAAY8oC,YAAa,GAC3B0K,EAAa2yD,GAIG,KAAd10E,GACa,KAAbhrB,GACU,KAAVzJ,GACW,KAAXyE,GACS,KAATje,EAEAypD,EAAU,CAAExb,YAAWhrB,WAAUzJ,QAAOyE,SAAQje,SAEhD0iH,GAAgB,KAEjB,IAEHlhH,IAAM6H,WAAU,WACV2hB,OAAO+pB,OAAOA,GAAQ4a,OAAM,SAACj0D,GAAD,MAAqB,KAAVA,MAkEvCsvB,OAAO+pB,OAAOA,GAAQ4a,OAAM,SAACj0D,GAAD,OAAWA,OACzC8gB,GAAYikB,KAAO,CACjBwN,UAAW8G,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBzJ,MAAOu7B,EAAOv7B,MACdyE,OAAQ82B,EAAO92B,OACfje,KAAM+0C,EAAO/0C,MAGfgR,OAxED,CAAC+jC,IAIJ,IAAMib,EAAe,SAACjlC,GACpB,GAAIC,OAAOtgB,KAAKqgB,GAAa5qB,OAAS,EAAG,CACvC,IAAIwhD,EAAc,CAChBwO,kBAAmB,IACnBzrC,WAAYqG,EAAYrG,WACxBJ,WAAYyG,EAAYzG,WACxBM,SAAUmG,EAAYnG,SACtBV,aAAc6G,EAAY7G,aAC1BJ,aAAciH,EAAYjH,aAC1BF,YAAamH,EAAYnH,YACzBY,cAAeuG,EAAYvG,cAC3BJ,WAAY2G,EAAY3G,WACxBJ,YAAa+G,EAAY/G,YACzBosC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXC,cAAe,GACfC,gBAAiB,GACjBzO,WAAY,GACZ0O,SAAU,GACVC,UAAW,KAEb9zC,OAAOkO,eAAepB,QAAQ,cAAetT,KAAK2G,UAAU4kC,QACvD,CACL,IAAMh1B,EAASvW,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAElD,IAAK6P,GAAyC,IAA/B3B,OAAOtgB,KAAKiiB,GAAQxsB,OAAc,CAC/C,IAAIwhD,EAAc,CAChBwO,kBAAmB,IACnBzrC,WAAYqG,EAAYrG,WACxBJ,WAAYyG,EAAYzG,WACxBM,SAAUmG,EAAYnG,SACtBV,aAAc6G,EAAY7G,aAC1BJ,aAAciH,EAAYjH,aAC1BF,YAAamH,EAAYnH,YACzBY,cAAeuG,EAAYvG,cAC3BJ,WAAY2G,EAAY3G,WACxBJ,YAAa+G,EAAY/G,YACzBosC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXC,cAAe,GACfC,gBAAiB,GACjBzO,WAAY,GACZ0O,SAAU,GACVC,UAAW,KAEb9zC,OAAOkO,eAAepB,QACpB,cACAtT,KAAK2G,UAAU4kC,OAiDvB,SAAS3wC,IACP,IAAMi8C,EACJrwC,OAAOkO,eAAehO,QAAQ,ejIsHT,KiIrHjBgxC,EAAc,CAClBjrC,WjImHoB,IiIlHpBM,QAAS4xB,EAAOv7B,MAChBuJ,UAAWgyB,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBhF,OAAQ82B,EAAO92B,OACfoF,YAA4B,QAAf4pC,EAAuB,IAAM,MAE5CrwC,OAAOC,aAAa6M,QAClB,aACAqrB,EAAO9G,UAAU/tC,OAAS,IAAM60C,EAAO9xB,SAAS/iB,QAElDsc,GAAYgpC,UAAY,GACxB9iC,GAAkBqrC,EAAcD,GAGlC,SAASC,EAAal6C,GACpB,IAAKA,GAAOA,EAAIR,MAGd2T,EAAWnT,EAAIR,YAGf,GADA2T,EAAW,IACPnT,EAAIS,KAAM,CACZ,IAKE,IALEsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACjC,GACEsX,GACAA,EAAYqiC,UACZriC,EAAYqiC,SAAS9tD,OAAS,EAE9B,GAA4D,OAA7C,OAAXyrB,QAAW,IAAXA,GAAA,UAAAA,EAAaqiC,SAAS,UAAtB,mBAA0B/vC,qBAA1B,eAAyC+gC,MAAM,EAAG,IAAY,CAChEziC,GAAY0Q,OAAStB,EAAYqiC,SAAS,GAAGxgC,OAC7CjR,GAAYgpC,UAAY,kBAIxB,IAAM6I,EAASj4C,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAE5CmwC,EACJrwC,OAAOkO,eAAehO,QAAQ,ejI6EjB,KiI5EfN,GAAYipC,sBAAwB,KAEpC,IAAM6I,EAAgB,CACpBzrC,WAAY+I,EAAYqiC,SAAS,GAAGM,WACpCrpC,cAAc,EACdllB,KAAM+0C,EAAO/0C,KACbwZ,MAAOu7B,EAAOv7B,MACduJ,UAAWgyB,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBS,MAAOqxB,EAAO92B,OACdoF,YAA4B,QAAf4pC,EAAuB,IAAM,KAI1CrpC,YAAayqC,EAAOzqC,aAAe,GACnCE,aAAcuqC,EAAOvqC,cAAgB,GACrCwB,WAAY+oC,EAAO3pC,YAAc,GACjCV,YAAaqqC,EAAOrqC,aAAe,GACnCE,aAAcmqC,EAAOnqC,cAAgB,GACrCE,WAAYiqC,EAAOjqC,YAAc,GACjCE,WAAY+pC,EAAO/pC,YAAc,GACjCE,cAAe6pC,EAAO7pC,eAAiB,GACvCE,WAAY2pC,EAAO3pC,YAAc,GACjCc,cAAe6oC,EAAOvqC,cAAgB,GACtCc,SAAUypC,EAAOzpC,UAAY,IAE/BpI,GAAYipC,sBAAwB6I,EAGpC1xC,OAAOC,aAAa0gC,WAAW,2BAE/BxqB,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,kBACzCw4G,GAAc,QAEdvxG,SAGFA,KAMR,SAASA,IACP,IAAMo9C,EAASj4C,KAAKC,MAClBuG,OAAOkO,eAAehO,QAAQ,gBAAkB,MAE5CmwC,EACJrwC,OAAOkO,eAAehO,QAAQ,ejI4BT,KiI3BvBN,GAAYipC,sBAAwB,KAEpC,IAAIx0C,EAAa,CACf4R,WjIuBoB,IiItBpBqC,cAAc,EACdllB,KAAM+0C,EAAO/0C,KACbwZ,MAAOu7B,EAAOv7B,MACduJ,UAAWgyB,EAAO9G,UAClBhrB,SAAU8xB,EAAO9xB,SACjBS,MAAOqxB,EAAO92B,OACdoF,YAA4B,QAAf4pC,EAAuB,IAAM,KAI1CrpC,YAAayqC,EAAOzqC,aAAe,GACnCE,aAAcuqC,EAAOvqC,cAAgB,GACrCwB,WAAY+oC,EAAO3pC,YAAc,GACjCV,YAAaqqC,EAAOrqC,aAAe,GACnCE,aAAcmqC,EAAOnqC,cAAgB,GACrCE,WAAYiqC,EAAOjqC,YAAc,GACjCE,WAAY+pC,EAAO/pC,YAAc,GACjCE,cAAe6pC,EAAO7pC,eAAiB,GACvCE,WAAY2pC,EAAO3pC,YAAc,GACjCc,cAAe6oC,EAAOvqC,cAAgB,GACtCc,SAAUypC,EAAOzpC,UAAY,IAG/BpB,IAAkB,SAAC3P,GAAD,OAGpB,SAAqBA,EAAU8O,GAC7B,GAAK9O,EAKH,GAAIA,GAAOA,EAAIS,KAAM,CAEnB,IAAMA,EAAO,CACX0gB,UACEzB,GAAgBC,aAAaC,oBAAoBE,iBACnD8W,mBAAoB,GACpB/lB,aACAJ,aACAR,gBAEFgR,GAA2BxgB,GAG3B,IAAIsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MAC7BsX,GAAeA,EAAY6B,QAC7BjR,GAAY0Q,OAAStB,EAAY6B,OACjCjR,GAAYipC,sBAAwB9iC,EACpCqE,EAAW,IACXpK,OAAOC,aAAa0gC,WAAW,2BAC/BxqB,GAAW,CAAEG,OAAQ,YAAalpB,MAAO,kBACzCw4G,GAAc,IAEdx7F,EAAW,wBAGbA,EAAW,uCACXA,EAAWxZ,SA5BbwZ,EAAWnT,EAAIR,OAPew7C,CAAYh7C,EAAK5C,KAAaA,GAwChE,OACE,yBAAK7V,UAAU,8BACZ0B,GAAc,kBAAC,IAAD,CAAU8lH,GAAE,UAAKtkH,OAC9BmkH,IAAiB54F,GAAW,kBAAC,GAAD,CAAQtf,KAAM,IAAKD,MAAM,SACtDm4G,GACC,yBAAKrnH,UAAU,cACb,kBAAC,GAAD,KACE,0EAKLyuB,GACC,yBAAKzuB,UAAU,cACb,kBAAC,GAAD,KACE,sEACA,wEAA8CyuB,EAA9C,UCpWGg5F,GANQ,kBACnB,kBAAC,IAAD,CAAOjyD,KAAK,aAAa68B,OAAK,GAC1B,kBAAC,GAAD,QCk+BOq1B,GAh8BA,WACb,IAyCIpjD,EAEA6X,EA3CEuxB,EAAcx1E,KADD,EAEyB9xB,IAAM8G,UAAkB,GAFjD,mBAEZy6G,EAFY,KAEIC,EAFJ,KAGbn/G,EAAKilG,EAAYprF,IAAI,MAAQorF,EAAYprF,IAAI,MAAQ,GAHxC,EAUapV,oBAAS,GAVtB,mBAUZ26G,EAVY,KAUFC,EAVE,OAWa1hH,IAAM8G,SAAN,eAC3Bu1B,KAZc,mBAWZgkC,EAXY,KAWFC,EAXE,OAciBtgE,IAAM8G,UAAkB,GAdzC,mBAcZi8D,EAdY,KAcAC,EAdA,OAeehjE,IAAM8G,UAAkB,GAfvC,mBAeZyC,EAfY,KAeDmf,EAfC,OAgBW1oB,IAAM8G,SAA0B,IAhB3C,mBAgBZuhB,EAhBY,KAgBH7C,EAhBG,OAiByB1e,oBAAS,GAjBlC,mBAiBZ6gG,EAjBY,KAiBIC,EAjBJ,OAkBW9gG,qBAlBX,mBAkBZ66G,EAlBY,KAkBHC,EAlBG,OAmBG96G,mBAAc,IAnBjB,mBAmBZ00B,EAnBY,KAmBPqsE,EAnBO,OAoBK/gG,mBAAc,IApBnB,mBAoBZknE,EApBY,KAoBN85B,EApBM,OAqBe9nG,IAAM8G,SAAe,IAAI8nB,MArBxC,mBAuBbizF,GAvBa,UAuBF94F,iBAAyB,OACpC+4F,EAAY/4F,iBAA0B,MAEtC69C,GAAuBrL,KA1BV,GA2BiBv7D,IAAM8G,UAAkB,GA3BzC,qBA2BZ+/D,GA3BY,MA2BAC,GA3BA,SA6BjB9mE,IAAM8G,UAAkB,GA7BP,qBA4BZihG,GA5BY,MA4BQhhC,GA5BR,MA8Bfh5C,GAAS,EA9BM,GAgCjBjnB,oBAAkB,GAhCD,qBA+BZyhE,GA/BY,MA+BgBC,GA/BhB,SAiCmB1hE,oBAAkB,GAjCrC,qBAiCZ2hE,GAjCY,MAiCCC,GAjCD,SAkC+B5hE,oBAAkB,GAlCjD,qBAkCO6hE,IAlCP,gBAmCiC7hE,oBAAkB,GAnCnD,qBAmCZ8hE,GAnCY,MAmCQC,GAnCR,SAoC6B/hE,oBAAkB,GApC/C,qBAoCZgiE,GApCY,MAoCMC,GApCN,SAqC+BjiE,mBAAc,CAC9DqK,oBAAoB,EACpBC,eAAe,IAvCE,qBAqCZg8D,GArCY,MAqCOC,GArCP,SAyCuBrtE,IAAM8G,SAAS,IAzCtC,qBAyCZwmE,GAzCY,MAyCGC,GAzCH,SA2CevtE,IAAM8G,SAAc,GA3CnC,qBA2CZqvC,GA3CY,MA2CD4rE,GA3CC,MA6CfxjC,GAAiC,GAErC12E,qBAAU,WACR,GAAIxF,EAAI,CAAC,IAAD,EACFk+D,EAAalZ,KAAKhlD,GACtB,GAAqB,iBAAVk+D,IAA4C,UAACA,SAAD,aAAC,EAAQ17D,SAAS,UAGlE,CAAC,IAAD,kBAEL07D,EAAS3rD,KAAKC,MAAMwyC,KAAKhlD,IACzB4C,QAAQC,IAAI,MAAZ,UAAmBq7D,SAAnB,aAAmB,EAAQr0C,OAC3B,IAKE,IAQA,EAbE81F,EAAoB,EACxB,QACa/jH,IAAXsiE,GACmB,QAAb,QAAN,EAAAA,SAAA,eAAQ7Z,cACWzoD,KAAb,QAAN,EAAAsiE,SAAA,eAAQ7Z,QAER34B,GAAM,UAAGwyC,SAAH,aAAG,EAAQ7Z,OACjBq7D,GAAY,UAACxhD,SAAD,aAAC,EAAQ7Z,QAEvB,GAC8B,MAAtB,QAAN,EAAA6Z,SAAA,eAAQ1Z,uBACoB5oD,KAAtB,QAAN,EAAAsiE,SAAA,eAAQ1Z,kBACoB,QAAtB,QAAN,EAAA0Z,SAAA,eAAQ1Z,iBAERm7D,EAAoB76G,SAAQ,UAACo5D,SAAD,aAAC,EAAQ1Z,kBAEvC,UAAI0Z,SAAJ,aAAI,EAAQr0C,QACV2B,GACE03D,GADoB,UAEpBhlB,SAFoB,aAEpB,EAAQr0C,MACR81F,EAHoB,UAIpBzhD,SAJoB,aAIpB,EAAQ7Z,aA1BZ74B,GAAuB03D,GAAahlB,EAAQ,EAAG,MA8BlD,CAACl+D,IAEJwF,qBAAU,WACR5C,QAAQC,IAAI,qBACPujE,KACH3kE,YAAW,WACTo6D,EAAkB9P,UAAU2N,YAAYsS,cACtCC,GACAC,IAEFxH,IAAsB,KACrB7rE,IAEH4mH,EAAUr3F,QAAS2sC,QAAS,KAI7B,IAaHp3D,IAAM6H,WAAU,WACT4gE,KACHvK,EAAkB9P,UAAU2N,YAAYsS,cACtCC,GACAC,KAEyB,IAAvB3F,KAAoD,IAArBE,IACjC7jE,QAAQC,IAAI,kBACZyjE,IAAqB,GACrBH,IAA+B,GAC/B1B,IAAc,GACdp+C,GAAa,KAEbzjB,QAAQC,IAAI,sBACZyjE,IAAqB,GACrBH,IAA+B,GAC/B1B,IAAc,GACdp+C,GAAa,OAIhB,CAACk+C,GAAQgC,GAAoBE,GAAkBL,KAElDzoE,IAAM6H,WAAU,WAEV2zB,GAAOwyC,IAASvF,IAKlBptC,IAAe,SAAChpB,GAAD,OAAc47D,GAAiB57D,KAJ1B,CAClBmpB,IAAKA,EACLE,IAAKsyC,MAIR,CAACxyC,EAAKwyC,EAAMvF,KAEf,IAAMwF,GAAmB,SAAC57D,IACnBA,GAAOA,EAAIR,OAGd2T,EAAWnT,EAAIR,OACf6W,GAAa,GACb2kD,IAAqB,SAACob,GACpB,OAAO,2BACFA,GADL,IAEEr3E,eAAe,OAGnBmgB,GAAW,CAAEG,OAAQ,gBAAiBlpB,MAAO,sBAEzC6J,EAAIS,MAAQT,EAAIS,KAAKi8D,iBACvB1B,IAAqB,SAACob,GACpB,OAAO,2BACFA,GADL,IAEEr3E,eAAe,OAGnBoU,EAAW,KACDnT,EAAIS,KAAKi8D,kBACnB1B,IAAqB,SAACob,GACpB,OAAO,2BACFA,GADL,IAEEr3E,eAAe,OAGnBoU,EAAWnT,EAAIS,KAAKk8D,UAEtBtmD,GAAa,KAIX8lD,GAAc,WACd5H,GAAOpL,QAA0B,GAAhBoL,GAAO/0D,OAC1B5M,QAAQC,IAAI,YACZ2iG,EAAO,GAAD,OAAIjhC,GAAOnL,YAAYjgC,MAC7BssE,EAAQ,GAAD,OAAIlhC,GAAOnL,YAAY//B,QAE1B0yB,WAAaA,UAAU2N,YACzB3N,UAAU2N,YAAYC,mBAAmBN,GAAaoS,GAAe,CACnE7R,mBAAoB/gE,GACpBghE,WAAYhhE,GACZ6yD,QAAS7yD,KAGX6gB,MAAM,iDAERmiD,EAAkB9P,UAAU2N,YAAYsS,cACtCC,GACAC,MAKN,SAASD,GAAgBx7D,GACvB4V,GAAa,GACbmgD,IAAsB,GAItBg/B,EAAO/0F,EAAK8oD,OAAOrgC,UACnBusE,EAAQh1F,EAAK8oD,OAAOngC,WACpB2yB,UAAU2N,YAAY+S,WAAW5Q,GAGnC,SAASqQ,GAAcz7D,GACrB4V,GAAa,GACbmgD,IAAsB,GASxB,SAASiF,GAAcc,GACrB3pE,QAAQC,IAAR,gBAAqB0pE,EAAI9uD,KAAzB,cAAmC8uD,EAAI9S,UACvC8K,GAAO/0D,OAAQ,EACf6W,GAAa,GACbo+C,IAAc,GAIhB,IAAMpL,GAAc,SAACmT,GACnB5pE,QAAQC,IAAI2pE,EAASjT,QACrBisC,EAAOh5B,EAASjT,OAAOrgC,UACvBusE,EAAQj5B,EAASjT,OAAOngC,WACxBmrC,GAAOnL,YAAYjgC,IAAMqzC,EAASjT,OAAOrgC,SACzCqrC,GAAOnL,YAAY//B,IAAMmzC,EAASjT,OAAOngC,UACzCmrC,GAAO/0D,OAAQ,EACfi1D,IAAc,GACdC,IAAsB,GACtBr+C,GAAa,GACbzjB,QAAQC,IAAI,kBAAmB0hE,KAgCjC,IAAM+O,GAAsB,SAC1BtjE,EACA0lB,EACAkqF,IAEK5vG,GAAOA,EAAIR,OAEd2T,EAAWnT,EAAIR,OACf0f,GAAW,CACTG,OAAQ,4BACRlpB,MAAO,oBAETkgB,GAAa,KAEb6I,GAAW,CACTG,OAAQ,4BACRlpB,MAAO,sBAETkgB,GAAa,GAEb61D,GAAc,GACdxiE,MACE,mHAMAwpE,GAAc,SAAClzE,IACdA,GAAOA,EAAIR,OAEd2T,EAAWnT,EAAIR,OACf0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETkgB,GAAa,KAEbA,GAAa,GACTrW,EAAIS,KACU,MAAZT,EAAIS,OACNkI,GAAYyM,gBAAgB9nB,IAAM0S,EAAIS,KAAKg0C,IAC3C9rC,GAAYC,MAAQ5I,EAAIS,KAAK8Y,MAC7B5Q,GAAYwQ,cAAgBnZ,EAAIS,KAAK8zC,cACrC5rC,GAAY0Q,OAASrZ,EAAIS,KAAKmZ,OAC9BjR,GAAYyQ,sBAAwBpZ,EAAIS,KAAKkZ,sBACxCy8C,IAOHp8C,IAA0B,SAACha,GACzB,IAAKA,GAAOA,EAAIR,MAGd0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETgd,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnC0tC,GAAap2B,GAE4B,QAA5B,OAAXA,QAAW,IAAXA,OAAA,EAAAA,EAAas0B,6BAC0BzgD,KAA5B,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAas0B,yBADb,OAEAt0B,QAFA,IAEAA,OAFA,EAEAA,EAAas0B,wBAEb8iE,GAAkB,QAGpBjwF,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,wBAIZwS,GAAYwQ,eACf9C,GAAa,KAlCb8lD,KACAniD,IACE,SAACha,GAAD,OA8CZ,SAA+BA,GAE7B,GADAqW,GAAa,IACRrW,GAAOA,EAAIR,MAGd0f,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,oBAETgd,EAAWnT,EAAIR,YAEf,GAAIQ,EAAIS,KAAM,CACZ,IAAMsX,EAAcxV,KAAKC,MAAMxC,EAAIS,MACnC0tC,GAAap2B,GAE4B,QAA5B,OAAXA,QAAW,IAAXA,OAAA,EAAAA,EAAas0B,6BAC0BzgD,KAA5B,OAAXmsB,QAAW,IAAXA,OAAA,EAAAA,EAAas0B,yBADb,OAEAt0B,QAFA,IAEAA,OAFA,EAEAA,EAAas0B,wBAEb8iE,GAAkB,GAEhBp3F,EAAYi3B,mBACdp8C,QAAQC,IAAI,mBACZ0iG,GAAkB,SAGpBr2E,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,sBA1EWw+C,CAAsB30C,KACpC2I,GAAYwQ,kBAmClBhG,EAAW,4DACXkD,GAAa,GACb6I,GAAW,CACTG,OAAQ,2BACRlpB,MAAO,yBAwCf,IAmDM05G,GAAa,uCAAG,gCAAAn8G,EAAA,6DACpB+7G,EAAUr3F,QAAS2sC,QAAS,EACtBsY,EAAc,CAClBC,OAAO,EACPC,MAAO,CACLC,WAAY,SALI,kBAUMzhB,UAAU0hB,aAAaC,aAAaL,GAV1C,UAUZyyC,EAVY,SAWZvyC,EAAQiyC,EAASp3F,SAXL,wBAahBmlD,EAAMJ,UAAY2yC,EAbF,UAcVvyC,EAAMwyC,OAdI,QAehBR,EAAWO,GAfK,0DAkBlBpmG,MAAM,EAAD,IAlBa,QAoBpBinD,GAAc,GApBM,0DAAH,qDAuBbq/C,GAAS,uCAAG,oCAAAt8G,EAAA,sDAChB+7G,EAAUr3F,QAAS2sC,QAAS,EAExBwY,EAAQiyC,EAASp3F,SACjB8yD,EAASukC,EAAUr3F,UAETmlD,IAENzlE,EAAQylE,EAAM4N,WACd5nB,EAASga,EAAM6N,YACrBF,EAAOpzE,MAAQA,EACfozE,EAAO3nB,OAASA,EACZ0sD,EAAM/kC,EAAOG,WAAW,MAE5BmkC,EAASp3F,QAAS2sC,QAAS,EACxB,OAAHkrD,QAAG,IAAHA,KAAK3kC,UAAU/N,EAAO,EAAG,EAAGzlE,EAAOyrD,GAEnC2nB,EAAOK,QAAO,SAACxI,GAAD,OAAUmtC,GAAWntC,MAEnCotC,MAEFd,GAAY,GArBI,2CAAH,qDAwBTc,GAAa,WACV,OAAPb,QAAO,IAAPA,KAASc,YAAYx7G,SAAQ,SAACy7G,GAC5BA,EAAM/zC,WAIJ4zC,GAAa,SAACntC,GAClB,IAAMC,EAAW,IAAIC,KAAK,CAACF,GAAmB,qBAAsB,CAClEhzE,KAAM,aACNmzE,aAAc3mD,KAAK0oB,QAErB,GAAI+9B,EAAStsE,KAAO,IAElB,OADAgT,MAAM,6DACC,EAET,GAAIs5D,EAAStsE,KAAO,IAElB,OADAgT,MAAM,kEACC,EAGT,IAAMy5D,EAAa,IAAIjc,WACvBic,EAAW/b,cAAc4b,GACzBG,EAAWjoB,OAAS,SAAUrpD,GAAQ,IAAD,EAC7Bw4B,EAAM,UAAIx4B,EAAMlD,QAAUkD,EAAMlD,OAAOuR,cAAjC,aAAG,EAAuCnL,WACtD2uE,EAAer5C,EAAQxe,MAAM,KAAK,GAClCmiD,EAAS3jC,OAASq5C,EAElBrtD,GAAa,GACb0S,IACE,SAAC/oB,GAAD,OAAco8D,GAAwBp8D,KACtC0jE,EACA/6D,GAAY0Q,UAIZ+iD,GAA0B,SAACp8D,IAC1BA,GAAOA,EAAIR,OAGd2T,EAAWnT,EAAIR,OACf07D,GAAiB,IACjB7kD,GAAa,GACb2kD,IAAqB,SAACob,GACpB,OAAO,2BACFA,GADL,IAEEt3E,oBAAoB,OAGxBogB,GAAW,CAAEG,OAAQ,qBAAsBlpB,MAAO,sBAE9C6J,EAAIS,MAAQT,EAAIS,KAAK8iE,QACvBrI,GAAiBl7D,EAAIS,KAAKk8D,SAC1B3B,IAAqB,SAACob,GACpB,OAAO,2BACFA,GADL,IAEEt3E,oBAAoB,OAGxBqU,EAAW,KACDnT,EAAIS,KAAK8iE,SACnBvI,IAAqB,SAACob,GACpB,OAAO,2BACFA,GADL,IAEEt3E,oBAAoB,OAGxBo8D,GAAiBl7D,EAAIS,KAAKk8D,UAK5BtmD,GAAa,KAkEXi6F,GAAoB,SAACtwG,EAAU0lB,GACnCwmD,GAAc,IACTlsE,GAAOA,EAAIR,OAEd2T,EAAWnT,EAAIR,OACf6W,GAAa,IAEI,OAAbrW,EAAIS,MAAiBT,EAAIS,KAhZjC,SAA4BA,EAAWilB,EAA4B1lB,GACjE,IAAIkpB,EAAWC,EACXC,EAAYuyC,EACV0H,EAAS,CACbvb,OAAQn/C,GAAY0Q,OACpBqnB,sBAAuB/3B,GAAYyQ,sBACnCjP,cAAexB,GAAYwQ,cAC3B6uC,mBAAoB,SACpBC,QAAS,WACTE,YAAa,YACbE,OAAQ,SACRC,QAAS,IACTE,aAAc,kCACdE,iBAAkB,IAElBx/B,SAAUA,EACVE,UAAWA,EACX0/B,UAAW,iBACXp5C,OAAQ,SACRuW,UAAyB,OAAd6d,GAAqBA,GAAYpoB,IAI9CmsC,IACE,SAAC/nD,GAAD,OAAmBwjE,GAAoBxjE,EAAU4lB,EAAW1lB,KAC5DqjE,GAwXEktC,CAAmB,EAAgB7qF,EAAW1lB,IAe9CmT,EAAWnT,EAAIR,OACf0f,GAAW,CACTG,OAAQ,qBACRlpB,MAAO,wBAzpBI,8CAorBnB,mBAUW8mE,EAQAC,EAlBX,SAAAxpE,EAAA,sDAkBWwpE,EAlBX,SAkBuB19D,GACnB5M,QAAQC,IAAI,eAAgB2M,GAC5B6W,GAAa,GAGbqgD,IAAoB,GACpB9jE,QAAQC,IAAI,0BAdLoqE,EAVX,SAUyBjM,GACrBp+D,QAAQC,IAAI,iBAAkBm+D,GAG9B0F,IAAoB,GACpBrgD,GAAa,IAdf8lD,KAEMkB,EAAc,CAClBC,OAAO,EACPC,MAAO,CACLC,WAAY,SAwBhBzhB,UAAU0hB,aACPC,aAAaL,GACb5S,MAAK,SAACqoC,GACLlgG,QAAQC,IAAIigG,EAAQ,QACpB71B,EAAc61B,MAEfjoC,OAAM,SAACioC,GACNlgG,QAAQC,IAAIigG,EAAQ,SACpB51B,EAAY41B,MAtClB,4CAprBmB,sBAquBnB,OAPAlgG,QAAQC,IACN,YACCu8G,EACD56C,GACAuG,GAAkBj8D,mBAClBi8D,GAAkBh8D,eAGlB,oCACE,yBAAKxX,UAAU,SACb,yBAAKA,UAAU,iBACb,yBAAKA,UAAU,WACZ2uE,IACC,yBACE/hE,MAAO,CACLi2E,eAAgB,SAChBtiF,QAAS,OACTuiF,WAAY,WAGd,kBAAC,GAAD,CAAWvyE,MAAOC,KAAgBC,SAAW,QAAU,SACrD,yBAAK7D,MAAO,CAAEq8G,OAAQ,QAAUjpH,UAAU,qBACxC,mMAMF,yBAAK4M,MAAO,CAAEklF,UAAW,SACvB,kBAAC,GAAD,CACEjiF,QAAQ,KACR9G,QAAS,YA7vBV,oCA8vBG0sE,KAHJ,YAgBd,8BAAU9sE,SAAUgH,GAClB,yBAAK3P,UAAS,qBAAgB+tG,EAAiB,WAAa,KAI1D,2BAAO/tG,UAAU,WAAjB,kBACA,6BACA,2BAAOA,UAAU,mBAAjB,4DAGA,yBAAKA,UAAU,YACZ6uE,GACC,oCACE,kBAAC,GAAD,CACE9tD,SAAU,SAAC7H,IArYG,SAACA,GAC7B,GAAIA,GAAQA,EAAKhB,OACf62D,IAAqB,QAChB,GAAqB,KAAjB71D,EAAK4qD,UAAmB5qD,EAAKgqE,UAAYhqE,EAAKiqE,UAAW,CAEjD,IAAIzH,KACnB,CAAC0H,MACD,qBACA,CACE56E,KAAM,aACNmzE,aAAc3mD,KAAK0oB,QAIvBoqE,GAAY,GAEZ,IAAIhlF,EAAM,OAAG5pB,QAAH,IAAGA,OAAH,EAAGA,EAAMmqE,cACnBlH,EAAer5C,EACf4jC,GAAY,SAACmoB,GACX,OAAO,2BACFA,GADL,IAEE/rD,OAAQq5C,EACRt5C,OAAO,2BAAD,OAA6BC,SAI/B,OAAJ5pB,QAAI,IAAJA,OAAA,EAAAA,EAAMgT,UAA0C,UAA3B,OAAJhT,QAAI,IAAJA,OAAA,EAAAA,EAAMgT,QAAQtiB,gBACjC6pE,GAAqB,2BAChBD,IADe,IAElBh8D,eAAe,EACfD,oBAAoB,KAGtB02F,EAAO/0F,EAAKgqE,UACZgrB,EAAQh1F,EAAKiqE,aAEb1P,GAAqB,2BAChBD,IADe,IAElBh8D,eAAe,KAGjBoU,EACE6C,GAEI,4FA0VM60D,CAAsBpqE,IAExBmqD,kBAAmByL,KAEpBrI,EAAS3jC,QACR,6BAAS9iC,UAAU,cACjB,yBAAKE,IAAKumE,EAAS5jC,OAAQziC,IAAI,iBAKrC,oCACE,2BACEJ,UAAU,WACVyI,GAAG,gBACHsoB,IAAKk3F,EACL1kC,UAAQ,EACRC,aAAW,KAEXqkC,GAAY,yBAAK7nH,UAAU,kBAC3B6nH,GAAY,yBAAK7nH,UAAU,kBAC3B2uE,IACA,6BACG,IACCxF,EASE0+C,EACF,yBAAK7nH,UAAU,aACb,0BACEA,UAAU,mBACV+I,QAAS,WACPk/G,EAASp3F,QAAS2sC,QAAS,EAC3BsqD,GAAY,GACZQ,SAKN,yBAAKtoH,UAAU,aACb,0BACEA,UAAU,mBACV+I,QAAS0/G,MAvBb,yBAAKzoH,UAAU,aACb,0BACE+I,QAASu/G,GACT17G,MAAO,CAAEsC,MAAO,UAFlB,WAyBD,KAGP,4BAAQ6hB,IAAKm3F,EAAWz/G,GAAG,UAAUzI,UAAU,gBAKpDitE,KAAekhC,GACd,oCACE,yBAAKnuG,UAAU,eACb,2BACG,IADH,2EAOF,KAEHitE,IAAckhC,GACb,oCACE,yBAAKnuG,UAAU,eACb,2BACG,IADH,gEAEgE,OAIlE,KAEHyuB,GACC,yBAAKzuB,UAAU,6BACb,kBAAC,GAAD,KACsB,kBAAZyuB,EACN,oCACE,sEACA,wEACyCA,EADzC,MAKF,+BAAQA,KAMfw+C,IAAckhC,GACb,oCACE,yBAAKnuG,UAAU,eACb,2BACG,IADH,gEAEgE,OAIlE,KAIc,IAAjB0zE,IACC,yBAAK1zE,UAAU,cACb,kBAAC,GAAD,KACE,+BAAQ0zE,MAIbi0C,GACC,yBAAK3nH,UAAU,cACb,kBAAC,GAAD,KACE,kEAuBN,yBAAKA,UAAU,OACb,kBAAC,GAAD,CACE+I,QA5WS,WAGnB,GAFAsC,QAAQC,IAAI,MAAOs2B,GACnBv2B,QAAQC,IAAI,OAAQ8oE,GACR,KAARxyC,QAAsBv9B,IAARu9B,GAA8B,KAATwyC,QAAwB/vE,IAAT+vE,EAEpD,GADAtlD,GAAa,GACW,KAApB23C,EAAS3jC,aAAqCz+B,IAApBoiE,EAAS3jC,OAAsB,CAAC,IAAD,IAC3D2jC,EAASh+D,GAAK,QACdg+D,EAAS3vC,SAAU,EACnB2vC,EAAS/jC,UAAY,IACrB+jC,EAAS7pC,SAAT,UAAuBxb,GAAYwQ,cAAnC,UACA60C,EAAS7jC,UAAW,EACpB6jC,EAAS9jC,cAAe,EACxB8jC,EAASzpC,SAAW,aACpBypC,EAAS3pC,WAAa,EACtB2pC,EAASrpC,mBAAqB,IAC9BspC,EAAYD,GACZ,IAAMwc,EAAgC,CACpC7lD,mBAAkB,UAAEqpC,EAASrpC,0BAAX,aAAE,EAA6B5vB,WACjDsvB,WAAU,UAAE2pC,EAAS3pC,kBAAX,aAAE,EAAqBtvB,WACjCovB,SACE6pC,EAAS7pC,UACc,oBAAtB6pC,EAASzpC,SAAiC,OAAS,QACtDQ,eAAe,EACfR,SAAUypC,EAASzpC,UAAY,IAC/BjL,MAAO3Q,GAAYyM,gBAAgB9nB,IACnCm3B,kBAAmB,IACnBY,QAAQ,EACRE,eAAe,GAEjB2mD,GAAYr1D,KAAK2zD,GAEjB,IAAM7kD,EAAU,CACdzM,cAAevQ,GAAYwQ,cAC3BC,sBAAuBzQ,GAAYyQ,uBAAyB,EAC5D4M,aAAckmD,GACd7yD,OAAQ1Q,GAAY0Q,QAIhBo3F,EAAiB,CACrBtmG,cAAexB,GAAYwQ,cAC3B2M,eAAgBkoC,EAAS3jC,OACzB3P,MAAK,OAAE/R,SAAF,IAAEA,QAAF,EAAEA,GAAayM,gBAAgB9nB,IACpC2rB,SACE+0C,EAAS7pC,UACc,oBAAtB6pC,EAASzpC,SAAiC,OAAS,SAGxDkB,IACE,SAACzlB,GAAD,OAAcswG,GAAkBtwG,EAAKwqE,KACrCimC,GACA,cACA9qF,QAGFxS,EAAW,uCAGbgjD,IAA+B,IAmTvB/+D,QAAQ,SACRF,UAAWA,EACXhH,UACGk/G,GACD56C,IACAuG,GAAkBj8D,oBAClBi8D,GAAkBh8D,eAClBmwG,EAEFn/G,KAAK,gBCp8BJ2gH,I,OAjBuC,SAACppH,GACnD0vB,KACkBjf,KAAgBM,UAClBme,cAEhB,OACI,yBAAKjvB,UAAU,cACX,yBAAKA,UAAU,UACX,yBAAKA,UAAU,YAAYE,IAAKw1D,KAAWt1D,IAAI,YAEnD,yBAAKJ,UAAU,WACX,yBAAKA,UAAW,kBAAmBD,EAAMgP,cCmB1Cq6G,GA/BG,kBAChB,kBAAC,IAAD,KACE,kBAAC,IAAD,CACE5zD,KAAMtyD,GACNmvF,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,CAAWzjC,YAAY,GACrB,kBAAC,GAAmB3tD,EAClB,kBAAC,GAAD,YAMV,kBAAC,IAAD,CACEy1D,KAAM,WACN68B,OAAK,EACLC,OAAQ,SAACvyF,GAAD,OACN,kBAAC,GAAD,CAAYoxF,aAAa,GACvB,kBAAC,GAAD,CAAWzjC,YAAY,GACrB,kBAAC,GAAmB3tD,EAClB,kBAAC,GAAD,c,UCVRspH,GAAmBC,EAAQ,KAAoCC,QAuHtDC,OArGf,WAAgB,IAAD,EACyBpjH,IAAM8G,UAAkB,GADjD,mBACOu8G,GADP,WA+Bb,SAASC,EAAYjxG,GACfA,EAAIS,MAAQT,EAAIS,KAAKnU,OAAS,IAChCqc,GAAYgF,eAAiB3N,EAAIS,MAoCrC,OAnEAjL,qBAAU,WClCV4S,GACE,CACEkB,IAAK,4BACLpR,KAAM,CACJ0H,UAAW,KACXoH,UAAW,IACXgK,SAAU,IACVmqE,KAAM,IACN+1B,WAAY,MAEd1oG,OAAQ,OACRY,WAAY9Q,GAAOG,aACnBE,UAAWL,GAAOK,UAClBoH,YAAanG,GAAa0E,WDsBf2yG,GACZloG,OAAemY,UAAUiwF,QAAQt6F,KAAK,CAAE7mB,GAAIsI,GAAOc,cACnD2P,OAAemY,UAAUkwF,QAAQv6F,KAAK,CAAEw6F,QAAQ,IAChDtoG,OAAemY,UAAUkwF,QAAQv6F,KAAK,CAAEy6F,OAAO,IAChD,WACE,IAAIC,EAAOt5G,SAAS+yD,cAAc,UAClCumD,EAAKxhH,KAAO,kBACZwhH,EAAKtmD,OAAQ,EAEbsmD,EAAK9pH,KACF,UAAYwQ,SAAS0R,SAAS6nG,SAC3B,wCACA,+BAAiC,uBACvC,IAAIC,EAAIx5G,SAASy5G,qBAAqB,UAAU,GAC/CD,EAAUE,WAAWC,aAAaL,EAAME,GAV3C,GAaC1oG,OAAemY,UAAU2wF,cAAch7F,KAAK,CAC3Ci7F,UAAW,gDACXC,SACE,yFACFC,aAAc,cACdC,iBAAkB,YAClBC,cAAe,UACfC,sBAAuB,OACvBC,kBAAmB,wBAEpB,IAMH58G,qBAAU,WACR5C,QAAQC,IAAIkW,OAAOY,SAASC,KAAM,WAAYb,OAAOY,SAAS80C,UAEhC,cAA5B11C,OAAOY,SAAS80C,UACY,QAA5B11C,OAAOY,SAAS80C,UAEhB7rD,QAAQC,IAAI,4BACZm+G,GAAe,IAEfA,GAAe,KAEhB,CAACjoG,OAAOY,SAASC,OAEpBpU,qBAAU,WAAO,IAAD,IACRu1D,EAAS9yD,SAAS+yD,cAAc,UActC,OAbAD,EAAOh7D,KAAO,kBACdg7D,EAAOE,OAAQ,EACfF,EAAOtjE,IACL,2EACFwQ,SAASy5G,qBAAqB,QAAQ,GAAGvmD,YAAYJ,GAErDhiD,OAAOspG,SAAW,CAChBC,IAAK,iBACLC,KAAM,0BACNC,QAAS,IAEX,UAAAzpG,OAAO0pG,uBAAP,mBAAwBC,cAAxB,gBAAiC3pG,OAAOspG,UAEjC,WACLp6G,SAASy5G,qBAAqB,QAAQ,GAAGtmD,YAAYL,MAEtD,IAGD,kBAAC,KAAD,CACE4nD,eAAgB,SAChBC,WAtFA,EAuFAC,eAAe,EAEfC,kBAAmB,KAEnB,kBAAC,IAAMznE,SAAP,KAGE,kBAAC,IAAD,CAAe0nE,SAAUC,IACvB,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,OAEF,4BAAQzrH,UAAU,WAEfwQ,KAAgBC,SACf,GAEA,kBAAC44G,GAAD,CAAkBpqF,MAAM,yCExHhBysF,QACa,cAA7BlqG,OAAOY,SAASupG,UAEa,UAA7BnqG,OAAOY,SAASupG,UAEhBnqG,OAAOY,SAASupG,SAASp2D,MACrB,2DCZRq2D,IAASt5B,OAAO,kBAAC,GAAD,MAAS5hF,SAAS+T,eAAe,SDqIzC,kBAAmB+vC,WACnBA,UAAUq3D,cAAcC,MACnB5oD,MAAK,SAAA9qC,GACFA,EAAa2zF,gBAEhBzoD,OAAM,SAAArrD,GACH5M,QAAQ4M,MAAMA,EAAMiqD,e","file":"static/js/main.cbb628c9.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/esignBanner.c4fc6e58.jpeg\";","module.exports = __webpack_public_path__ + \"static/media/finalTick.bb30f34f.svg\";","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/blueTick.b661dd9a.svg\";","module.exports = __webpack_public_path__ + \"static/media/profileNavLogo.cf97a14b.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignNavLogo.05970391.svg\";","module.exports = __webpack_public_path__ + \"static/media/esignNavLogoNew.9ad5feaf.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/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/investNavLogoNew.0ab4b981.svg\";","module.exports = __webpack_public_path__ + \"static/media/dematAccount.d48cafb1.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,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\"","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,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAMKADAAQAAAABAAAAMAAAAAD4/042AAAKAElEQVRoBe1YW4hdZxX+9u3sc2bmJDOTZpKYVEMV2ypIvDzUB6li1aJgCvrQPvQCgk8++OqriuKr4JOU+GagCKJUqUKbihYsiPqStjbqlKY2yUzmdu5n3/y+tfc+tzlnJhMnlkIXZ9/+y/q/df3Xf5zN765keBeT+y7GbtDfE+CdtuB7FrhVC1zpnsHT6+exFi3d6pRbGufcySy0FdfxzNZDuLj5MP7aud8AeYjxpSMv4fHlZ/H5hZfhu8ktAZ016NAFiFMPv288gJ9vPYzndj6NKKvMWhvH/Q08uvgcnjz2K9wTvjVz3F4dhy7A+cvfwZ/jB9HH3F7r7uo7X7uIH9x9AaeqnV19Mxu8EIcexH/YPAs0r+CD6ctA0pu5tjqyLMEHohdxz9aP8csrO1jvhXuOt04vgBMegVM/Bbd+Av7+Mw4+opcFuNIK4OF1rNRivI374PjVAaMsaeNM/wW0GqtYjQK2532hlw7G7HoR8EodTsCxbgHbcQ5XgE4iMENKKMLbHY8N/8Y8u5pYxsnoBazvbOGqGX98fM3bHdCOwIYLpoAMDq3GexoPhDhUC/TT2eyaEfDJyq/xlx1pebrnEtsYOUENqBA8tQ+Cd6hxPQHySBMKk87gNMbm9j8e+fjVscmh2x/7nvwIR1KqE9YJfp5DMmQJpWe8QJpPI2RpauAl0HRVTHI+4PdTH3kJD75/FRe+dRnn7t4czHaotb2oWgjgzh2jr89B7uM4ckHil8Y1Xy5E4I5L6Oy7IwKsbh/DpW8+g8WVKi489jw+e+q1HLcz4SN569jdqS2bn5vWqXllKllBl0OXse+4h4yXstwdEeDSW/fixWv3mrbOHV3Ftz/xRyzW9nYfSVGdp9tIs+XFNkcaHwsOBrIj2IwFPu+IAAJz7sM9bK9xU+o08ciz38BWZ/aOrPGiWqAA3Q06s+ClPoqnDdKNFpqdNgajbu/l3Pe+gtW1Ofzsi1tYrHax1R3uA/txFNBRreu9bJMLOdS8nrQNLeDtr5nJBZW+kiQPqMm+8lvgRU/97lGqNNds2TfraTl+zF2GI0sh4Hq5MAxgCeJrV1PEI+4yMLrDGVPeUqavhJlAT/lgnMR0V2qBTD0y66bjG1PJYquzf4mgFKrsYkKUEyeepnmuKVJYa7zv0AJZwgAjAKe6aJFtgpSa4DMpgJdNAp+TQ2GYmilUjATNuGwvuicftNwsqrrMMMKgTWqEZG0BL0mgS5KwrjYGkW3Zeqc2rVjiJiIvabRjRLHSWTlt9jNL9x6UTYCb5GRpchSggBd1j8Bm1H6egfKZEsY1kyltTZImcytv9xwK4aPLZzoDoIC3GynWrylnz6ZZ8zUjZB2UZ5mhhiWQyAKYYE372tBGhMyRO0xGimqpuXi3mYXphLsbOdhpu2h15Pu5ppM4Q2MzwbU3E2ysZTierOMn9R/hc3N/G8sixou3kXXLJnveV2/g+x97vWgj70Lr1qDdd+Cy4jEUUP2+4zMLqdYgOXQfqzmKCao5xslBRH4RK0yP2tlZl9BimDMNGatfPnkZX6u9gjd6x/HT61/AxfXPoJmyKCONumHNifDVE6t44vSr+NTSBpPhHLJ+FW7gM0C5LpUnCwhwri7Nz8sIrZenVfZv/vCs9Rt4AdHWLSlpiajfxc31pi0+eXNTWmR9fHetHmVWpjEXiDeo5EI14yp+sfEAnr7+EJbjv2O718fjp/+Br5/8J44EfQPV6QTY2Yhx4uxdqNVDLk/HUOEmklIFWMKULmVP8mefbWRmFhVNRUBrAiuncZUZt/1u9FOPbka5ArpZGGRY8Lt4cuWSXVdaS/jQfF7cpexvNXzsbEZIVNeIShNJ6+Yq5FeAt24JpYONG+TWIEbfwKvetsKJJrI6RMIUljDOB79FidyNeZrKDIMUgZ8Z+JRx0+JprbHZZ1IYt6BWUVrPtU/opn22ETBvdHj2mb+oPmLaZXByFyPYErykVgCZ+XIXODj08RkxDRn36FryCCpaGs+yQuPjQ4fBy2OjNJ+7j7Bz91U8Cp+sxH0r6zUZMw0KoAOChht4SjoR9ZNr7PldRtuUQdpTEp5/syxPGFOGAHNLcJffl597pVjTMiWPWBT2W8i627x2kEUtU7p4DGNAbiTNS8LC/8w6U1e6zcZp+80IK//ER+EtLyFtXkfaWkPW3jDAiNrMLXQ3xeUE0YXoW0UMWJ+B5xvN5rkMQqaUTqfHXXl8smXPCWYJhTeNTLQPPrXWHhS9+hv0qjTVAUhnNhZx/dyFbGLhe3QlKWyhXuVVQ78fodvpo9PlaUiyFO4S0zdbToBOWMWpSoKQNdFM2kcA0zL/yTgIMQYUXaqvlYE4WZfFwTibSiVAhTtVHQvod/vY2u7iBlNML6jA5zPg5bh7/6umv1kOm/IYkKqthKBqtSuXbjS6mtr0o++EtRAnqhRmGbjRSLDeYjXKdssco3Mm36f48OSQg37beaCsf3Tqt33AuBBtSQa++C6b2TYfujhbDXD2eIbtTormRpvWKydNeXa2pjT+b02u5Vel0tJtlIVKks/KpSSA8vCgr5RCFtEWn+FozcPS0dpILJVMhk/XG84btnKf4IbUJI8bbZ4pentpYHRW/u7rAJFl9F+BFCn/Crg+x0BLMLbrYX+PFHFTzFP8zNfrrGXqjJGIZ/kWg575elQfox9k0yHwHhEkVQ9hhSUId+4e/7kLvYz/YtDCrKeCGUJzupFKP2ImMIGzLMEGFXS2sG7qE5UCjrzz1Upwgi8P4S6ruSqz1tzp+5EyrhqvPM+zREYtax5DTFmLMdei4N4cd2iurXJDR1PpQopMaY0Gzx/tKEWVAs7x34qQ0TpQcs7K7r6Vj8UZQGksj4ECrA2REPo2iaxl+J7v4IMeQ0BhWM84tUWkr/0W83SteVanMSW4xiPnf3q0MAUIlJDIlrjtYjI3gLSrCaI1tKq2n06UK0BzKnIQrVOQpdHyqGcd8vNhfzmObaUl2FTIpPGD01EZK6oWF1YQr/6J44b+rFR7ZiXEqbsyrLV4euOlqtUlD4F3yd+la4qnCWUWyYVRkvT5PQle4MyFBHgg1UC6CSkERvExoLzfXEeHAPW7FbjVI0g3V1kCTM84HoGcrHt2danZm20ejFjb2T5E3iYEAUmokP4/xzgI6UazaLgPSIpckuHYUoMSSpYpqeBn/yJojFmNjdR+1msh3b5ajtzzWaVvnz7q4TRHNZh9mkWsHAnzAPb3CWAx5z4gpyo0KN8woAQj0Kbxsm0USy6B1eQ0vVnP53mS7+nGv0YH3vJ7nXsKD2MHJj//732oXQNjGhdItku44nXIXb6Zx4TGK9wcZpes8SY9SaXJ/48Gkbk7BgoQ5vu5xvOW0XcZjPAZZWn75r7/7N0JsfzBEZLcpXjT+thK01wol9tiQH7Pg4Zq9neC/gs93BIhgFG7EwAAAABJRU5ErkJggg==\"","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/ipv_demo.b90ee3db.jpg\";","module.exports = \"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAjAB0DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9UJpkt4nlldY40UszucBQOSSewrB/4WJ4U/6GbR//AAPi/wDiq4z9pxFm+DOqQyKHhnvtMgljYZV431C3R0YdwysQR3BNHxI/Z+8I+Jvh34p0fR/CHhux1fUNKurSzuhpkEZhmkhZY33KmVwxByORiuqnTpuKlUbV3b8v8zCUp3aitl/n/kepqwdQykMpGQR0NLXzL8C9W8X/AAx8f6X4B1XwpqWh+DdXtZZdIj1O/tbp7C5hQPNBE0Mrs1uQdyBwpQ/KMjhfpqprUfYyte6ezKp1PaRvazPLf2mP+SQ3v/YT0n/05WtepVi+MvCGl+PfDN9oOswtPp14oWRY5GjdSrBldXUgqysqsGByCoNcP/woK2/6Hvx7/wCFHNVRcJU1CTs03072/wAhNSU3JK+36h8Qv+S5fCb/ALi3/pMtepVwPhX4M6R4X8RQ65JqmveINTtoZILWbXdUlvBbLJt8zy1Y7VLbVBbGcDGcE131RVlFqMYu9l+rf6jgmrt9f8kFFFFYGoUUUUAf/9k=\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","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\taccountType?: string;\r\n\tuserId?: any;\r\n\tmiddleName?: string;\r\n}\r\nexport interface ITokenObj {\r\n\tid: string\r\n\tkey: string\r\n\tcreatedate: string\r\n\tAccountCategory: number\r\n\tUserId: number\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\nexport interface EdelLogoCenterProps{\r\n headerLogoClassName?:string;\r\n}\r\nconst EdelLogoCenter = (props:EdelLogoCenterProps) => {\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\nimport dematAccount from \"../../assets/icons/dematAccount.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 demat: \"/demat\",\r\n authenticate: \"/authenticate\"\r\n};\r\n\r\nexport const geoLocationConfig = {\r\n timeout: 6000,\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\n\r\nexport const dematNavBarObj: ILeftNavBarArray = {\r\n name: \"Demat Account\",\r\n time: \"3 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.demat,\r\n priority: 3,\r\n percentWeight: 30,\r\n logo: dematAccount,\r\n isRequired: true,\r\n};\r\n\r\nexport const authenticateNavBarObj: ILeftNavBarArray = {\r\n name: \"Authenticate & Submit\",\r\n time: \"3 mins\",\r\n isComplete: false,\r\n navUrl: dashboardUrl.authenticate,\r\n priority: 7,\r\n percentWeight: 20,\r\n logo: esignNavLogo,\r\n logoNew: esignNavLogoNew,\r\n isRequired: true,\r\n};\r\n\r\nexport const personalDetailsObj={\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\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 esignsubmit: \"/esignsubmit\",\r\n kycsubmit:\"/kycsubmit\",\r\n poa: \"/poa\",\r\n partner: \"/partner\",\r\n selfie: \"/selfie\",\r\n verify: \"/verify\",\r\n newLanding: \"/new-lading\",\r\n newLandingSample: \"/new-landing-sample\",\r\n};\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?: (\r\n error: indexer,\r\n event?: React.ChangeEvent\r\n ) => 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 inputPattern?: any;\r\n onKeyPress?: (event: React.KeyboardEvent) => void;\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 pattern={props?.inputPattern}\r\n {...(props.onKeyPress !== undefined\r\n ? {\r\n onKeyPress: (e) => {\r\n if (props?.onKeyPress !== undefined) {\r\n props.onKeyPress(e);\r\n }\r\n },\r\n }\r\n : {})}\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 | 50 | 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 parentClassName?: string;\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 aopNewApiUrl?: string;\r\n pricingPage: string;\r\n publicKey: string;\r\n secretKey: string;\r\n hideInvestment:boolean;\r\n}\r\nconst dev: IConfig = {\r\n //root: \"https://onboardinguat.nuvamawealth.com/dev/\",\r\n root: \"http://localhost:3001/\",\r\n //diyNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n aopNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n diyNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\r\n // aopNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPI/api/\",\r\n // diyNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPI/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/dev/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 publicKey: \"edelweis\",\r\n secretKey: \"edelweiss1234567\",\r\n hideInvestment:true,\r\n};\r\n\r\nconst uat: IConfig = {\r\n// root:\"https://onboardinguat.nuvamawealth.com/\",\r\n root: \"https://onboardinguat.nuvamawealth.com/\",\r\n // diyNewApiUrl: \"https://nwuat.nuvamawealth.com/DIYAPI/api/\",\r\n aopNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPI/api/\",\r\n diyNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPI/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 //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 publicKey: \"edelweis\",\r\n secretKey: \"edelweiss1234567\",\r\n hideInvestment:true\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 // aopNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPICUG/api/\",\r\n // diyNewApiUrl: \"https://nwuat.nuvamawealth.com/AOPAPICUG/api/\",\r\n aopNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\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 publicKey: \"edelweis\",\r\n secretKey: \"edelweiss1234567\",\r\n hideInvestment:true\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 aopNewApiUrl: \"https://nwaop.nuvamawealth.com/mwapi/api/\",\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 publicKey: \"edelweis\",\r\n secretKey: \"edelweiss1234567\",\r\n hideInvestment:true\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 QcTaskCreation: \"QCTaskCreation\",\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 updateStageStatus: \"updateStageStatus\",\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 knowYourStatus: \"knowYourStatus\",\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 fetchLeadInfo: \"fetchLeadInfo\",\r\n emailUpdate: \"emailUpdate\",\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 getEsignRMVerificationLink: \"getEsignRMVerificationLink\",\r\n getRMAssitedEsignLink: \"getRMAssitedEsignLink\",\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 SaveDematDetailsRes: \"SaveDematDetailsRes\",\r\n DPverification: \"DPverification\",\r\n getDPdetails: \"getDPDetails\"\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.updateStageStatus:\r\n result = updateStatusMapping(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.fetchLeadInfo:\r\n result = fetchLeadInformation(response);\r\n return result;\r\n case serviceList.emailUpdate:\r\n result = emailUpdateResponse(response);\r\n return result;\r\n\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.getEsignRMVerificationLink:\r\n result = getEsignRMVerificationLinkMapping(response);\r\n return result;\r\n case serviceList.getRMAssitedEsignLink:\r\n result = getRMAssitedEsignLinkMapping(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 case serviceList.SaveDematDetailsRes:\r\n result = saveDematDetailsMapping(response);\r\n return result;\r\n case serviceList.DPverification:\r\n result = saveDpVerificationMapping(response);\r\n return result;\r\n case serviceList.getDPdetails:\r\n result = getDPDetailsInfo(response);\r\n return result;\r\n case serviceList.knowYourStatus:\r\n result = knowYourStatusMapping(response);\r\n return result;\r\n case serviceList.QcTaskCreation:\r\n result = QCTaskCreationMapping(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 updateStatusMapping(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 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 };\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 getDPDetailsInfo(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 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\n}\r\nfunction saveDematDetailsMapping(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 QCTaskCreationMapping(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 saveDpVerificationMapping(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 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 knowYourStatusMapping(res: any) {\r\n let result = {};\r\n if (res.RequestResult.Status.StatusCode == \"1\") {\r\n let resData = res.ContentData;\r\n if (res.ContentData == null) {\r\n resData = \"Records Not Found\";\r\n } else {\r\n if (res.ContentData?.length > 0) {\r\n if (res.ContentData?.length == 1) {\r\n resData = res?.ContentData[0];\r\n } else if (res.ContentData?.length > 1) {\r\n resData = res?.ContentData;\r\n }\r\n }\r\n }\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\nfunction fetchLeadInformation(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 emailUpdateResponse(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 getRMAssitedEsignLinkMapping(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 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\nfunction getEsignRMVerificationLinkMapping(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 && (GlobalStore.token == undefined || GlobalStore?.token == null || 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: \"Document/GetDetails\",\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: \"MastersData/GetRAAccount\",\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.aopNewApiUrl,\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.aopNewApiUrl,\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: \"ProfileStage/SaveRelationship\",\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: \"ProfileStage/Get\",\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: \"ProfileStage/Save\",\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 FE49:\"C11FE52\",\r\n //photograph error messsage validation\r\n FE50:\"C11FE53\",\r\n //Emaild id is not in proper format\r\n FE51:\"C11FE54\",\r\n //Mobile number is not in proper format\r\n FE52:\"C11FE55\",\r\n //verification of dp failed \r\n FE53:\"C11FE60\",\r\n //only numbers are allowed,\r\n FE54:\"C11FE59\",\r\n //\tOnly spaces are not allowed\r\n FE55:\"C11FE58\",\r\n //Invalid DP ID\r\n FE56:\"C11FE57\",\r\n //This field is required\r\n FE57:\"C11FE56\"\r\n\r\n\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: \"Lead/GO\",\r\n body: {\r\n contactInfo: contactInfo,\r\n mode: mode\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\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: \"Lead/ValO\",\r\n body: {\r\n otpId: otpId,\r\n otp: otp,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\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: \"RegistrationStage/SearchSource\",\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: \"Lead/v1/Search\",\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.aopNewApiUrl,\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: \"Lead/Create\",\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.aopNewApiUrl,\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\nexport const ALeadFetchApi = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"Lead/ExternalDetail\",\r\n body: {\r\n id: leadObj?.id,\r\n name: leadObj?.name,\r\n stageFlag: leadObj?.stageFlag\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.fetchLeadInfo,\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 AEmailUpdateApi = (callback: CallableFunction, leadObj: any) => {\r\n apiService(\r\n {\r\n url: \"Lead/EmailUpdate\",\r\n body: {\r\n emailId: leadObj?.emailId,\r\n uccCode: leadObj?.uccCode,\r\n source: leadObj?.source,\r\n ApplicationId:leadObj?.ApplicationId\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.aopNewApiUrl,\r\n tempToken: false,\r\n serviceName: servicesList.emailUpdate,\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: \"Lead/CreateURCode\",\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 (addressObj?.Area !== undefined && addressObj?.Area !== null) {\r\n if (addressObj?.Area == \"\") {\r\n if (\r\n props?.addressObj?.PinCode &&\r\n // addressObj?.addressLine1?.length == 0 &&\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(\r\n (res: any) => getFullAddress(res),\r\n props.addressObj.PinCode\r\n );\r\n }\r\n }\r\n } else {\r\n if (\r\n props?.addressObj?.PinCode &&\r\n // addressObj?.addressLine1?.length == 0 &&\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(\r\n (res: any) => getFullAddress(res),\r\n props.addressObj.PinCode\r\n );\r\n }\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 props?.setErrCode(\"\");\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 =\r\n res.data[0].District == \"\" ? res.data[0].City : 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) => {\r\n props?.setErrCode(\"\");\r\n handleChangeAddress(\"PinCode\", value);\r\n }}\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: \"Digi/GetToken\",\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: \"Digi/GetDocList\",\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: \"Digi/GetDoc\",\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: \"Digi/GetToken\",\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 {\r\n dashboardUrl,\r\n containerUrl,\r\n personalDetailsObj,\r\n} 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\nimport { compareValues } from \"../../utils/sortingUtils\";\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 GlobalStore.isKRA = false;\r\n GlobalStore.isDigiLocker = false;\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.aadharLinkedChoice = false;\r\n clientPartialDetails_ao.isDigiLocker = false;\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isNormalClient = true;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n let leftNavBarArray = GlobalStore?.leftNavBarState;\r\n // if (\r\n // leftNavBarArray?.length > 0 &&\r\n // !leftNavBarArray?.includes(personalDetailsObj)\r\n // ) {\r\n // leftNavBarArray.push(personalDetailsObj);\r\n // }\r\n GlobalStore.leftNavBarState = leftNavBarArray;\r\n history.push(dashboardUrl.personalIfo);\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 disable?: boolean;\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: \"StageDetail/GetStatus\",\r\n body: {\r\n ApplicationId: applicationid,\r\n esigndocumenttype: 0\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 AUpdateStageCompletionStatus = (\r\n callback: CallableFunction,\r\n reaObj?: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"StageDetail/Update\",\r\n body: {\r\n applicationId: reaObj?.applicationId,\r\n accountCagtegory: reaObj?.accountCagtegory,\r\n stageOrderId: reaObj?.stageOrderId,\r\n UserId: reaObj?.UserId ? reaObj?.UserId : \"0\",\r\n rmassisted: reaObj?.rmassisted ? reaObj?.rmassisted : false\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: \"Cache/Get\",\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: \"PanDetails/GetEmployeeDetails\",\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: \"PanDetails/CheckInSystem\",\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: \"PanDetails/Verification\",\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, accountType?: number, userId?: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"PanDetails/GetClientData\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: panNo,\r\n RequestFrom: 1,\r\n accountCategory: accountType ? accountType : 0,\r\n userId: userId ? parseInt(userId) : 0,\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\nexport const AKnowYourStatus = (\r\n callback: CallableFunction,\r\n panNo: string,\r\n) => {\r\n apiService(\r\n {\r\n url: \"RegistrationStage/KnowStatus\",\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.knowYourStatus,\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, accountType?: string, userId?: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"PanDetails/GetClientData\",\r\n method: \"POST\",\r\n body: {\r\n PanNumber: \"\",\r\n LeadId: leadId,\r\n RequestFrom: 2,\r\n accountCategory: accountType ? accountType : \"\",\r\n userId: userId ? userId : \"\",\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: \"RegistrationStage/Save\",\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: \"RegistrationStage/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 ClientPrimaryDetailId: reqObj?.clientPrimaryDetailId,\r\n LeadId: reqObj?.leadId,\r\n CreatedBy: reqObj?.CreatedBy\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 userId?: number,\r\n accountCategory?: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"RegistrationStage/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 userId: userId,\r\n accountCategory: accountCategory\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 CryptoJS from 'crypto-js';\r\n\r\nimport config from \"../../../config/domain\";\r\nexport const decryptJwtToken = (encryptedToken: any) => {\r\n const publicKey = config?.publicKey; // Use the same public key used in C#\r\n const secretKey = config?.secretKey; // Use the same secret key from _appSettings.Secret in C#\r\n\r\n\r\n const key = CryptoJS.enc.Utf8.parse(secretKey);\r\n const iv = CryptoJS.enc.Utf8.parse(publicKey);\r\n // console.log(\"decodeURIComponent(decodeURIComponent(needToDecrypt)\",decodeURIComponent(decodeURIComponent(encryptedToken)));\r\n let decryptedNew = CryptoJS.DES.decrypt(\r\n decodeURIComponent(decodeURIComponent(encryptedToken)),\r\n key,\r\n {\r\n keySize: 32,\r\n iv: iv,\r\n mode: CryptoJS.mode.CBC,\r\n padding: CryptoJS.pad.Pkcs7,\r\n }\r\n );\r\n //console.log(\"decrypted\",decryptedNew.toString(CryptoJS.enc.Utf8));\r\n return decryptedNew.toString(CryptoJS.enc.Utf8);\r\n\r\n};\r\n\r\n\r\n\r\n","import config from \"../../../config/domain\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\nimport { xhrApiService } from \"../xhrApiServices\";\r\nimport { decryptJwtToken } from \"./encryptionNew\";\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\n\r\nexport const AUploadDocument = (\r\n callback: CallableFunction,\r\n uploadObj: any,\r\n onProgress?: any,\r\n saveObj?: 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 ClientPrimaryDetailId: saveObj?.clientPrimaryDetailId,\r\n LeadId: saveObj?.leadId,\r\n DocumentInfo: saveObj?.documentInfo\r\n ? sortDocumentInfo(saveObj?.documentInfo)\r\n : [],\r\n panNo: uploadObj?.panNo,\r\n createdBy:0\r\n //UtmInfoDetails: saveObj?.objUTM_Info\r\n\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 if (saveObj !== null && saveObj !== undefined) {\r\n docReqPayLoad.ClientPrimaryDetailId = saveObj?.clientPrimaryDetailId;\r\n docReqPayLoad.LeadId = saveObj?.leadId;\r\n docReqPayLoad.DocumentInfo = saveObj?.documentInfo\r\n ? sortDocumentInfo(saveObj?.documentInfo)\r\n : [];\r\n // docReqPayLoad.UtmInfoDetails = saveObj?.objUTM_Info;\r\n }\r\n let userId=0;\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n docReqPayLoad.createdBy=userId;\r\n xhrApiService(\r\n {\r\n url: \"Document/Upload\",\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: \"BS/Get\",\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: \"BS/Get\",\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: \"BS/SaveBr\",\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//DP/Verification\r\n\r\nexport const ADPverification = (callback: CallableFunction,\r\n saveObj: any) => {\r\n apiService(\r\n {\r\n url: \"DP/Verification\",\r\n body: saveObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.DPverification,\r\n },\r\n callback\r\n );\r\n\r\n}\r\nexport const ASaveDematDetails = (\r\n callback: CallableFunction,\r\n saveObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"DP/Save\",\r\n body: saveObj,\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.SaveDematDetailsRes,\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 AGetDPDetails = (callback: CallableFunction, appID: string) => {\r\n apiService(\r\n {\r\n url: \"DP/Get\",\r\n body: {\r\n applicationId:appID,\r\n esigndocumenttype: 0\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getDPdetails,\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\nexport const ASaveBrokerageSegmentDetiails = (\r\n callback: CallableFunction,\r\n saveSegObj: object\r\n) => {\r\n apiService(\r\n {\r\n url: \"BS/SaveSe\",\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: \"BS/Get\",\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: \"Document/GetDetails\",\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: \"Document/GetDetails\",\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\nexport const QCServiceTaskCreation = (\r\n callback: CallableFunction,\r\n appID: string, accountCategory: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"QC/CreateTask\",\r\n body: {\r\n applicationId: appID,\r\n esigndocumenttype: 0,\r\n accountCategory: accountCategory\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.QcTaskCreation,\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: \"Document/GetDetails\",\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: \"Document/GetDetails\",\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: \"Document/Download\",\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: \"Document/Upload\",\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 panNo: saveObj?.panNo\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: \"Document/MargeMultipleImagestoPDF\",\r\n body: {\r\n ApplicationId: pdfObj.applicationId,\r\n UploadFlag: 2,\r\n clientPrimaryDetailId: pdfObj?.clientPrimaryDetailId,\r\n panNo: pdfObj?.panNo,\r\n leadId: pdfObj?.leadId,\r\n documentId: pdfObj?.documentId,\r\n documentCategoryId: pdfObj?.documentCategoryId,\r\n documentNumber: pdfObj?.documentNumber,\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\nexport const DropOffLogAPI = (\r\n callback: CallableFunction,\r\n appTicketObj: any\r\n) => {\r\n apiService(\r\n {\r\n url: \"StageDetail/DropOffLog\",\r\n body: {\r\n applicationId: appTicketObj.applicationid,\r\n stageOrderId: appTicketObj.stageOrderId,\r\n accountCagtegory: appTicketObj?.accountCagtegory,\r\n userId: appTicketObj?.userId,\r\n rmAssisted: appTicketObj?.rmAssisted,\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\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\nexport 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","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, ITokenObj } 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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\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 let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\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 localProductCode = localStorage.getItem(\"productCode\");\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((res: any) => {\r\n if (res?.data) {\r\n const responseObj = JSON.parse(res.data);\r\n if (\r\n fatherOrSpouseName == null ||\r\n fatherOrSpouseName == undefined ||\r\n fatherOrSpouseName == \"\"\r\n ) {\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n setFatherOrSpouseName(\r\n responseObj?.fatherspousename !== undefined\r\n ? responseObj?.fatherspousename\r\n : \"\"\r\n );\r\n }\r\n }\r\n }\r\n }, GlobalStore.applicationID);\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 (userId !== \"0\" && userId !== null && userId !== undefined) {\r\n !GlobalStore.sameAsPermanent &&\r\n GlobalStore.corrAddress !== undefined &&\r\n GlobalStore.corrAddress !== null &&\r\n GlobalStore.addressLine1 !== GlobalStore.corrAddress &&\r\n setSameAsPermanent(false);\r\n if (GlobalStore.addressLine1 && GlobalStore.PinCode) {\r\n let permAddLocal = { ...permanentAddress };\r\n permAddLocal.addressLine1 = GlobalStore.addressLine1;\r\n permAddLocal.PinCode = GlobalStore.PinCode;\r\n setPermanentAddress(permAddLocal);\r\n }\r\n if (\r\n !GlobalStore.sameAsPermanent &&\r\n GlobalStore.corrAddress &&\r\n GlobalStore.corrPincode\r\n ) {\r\n let corrsAddLocal = { ...correspondanceAddress };\r\n corrsAddLocal.addressLine1 = GlobalStore.corrAddress;\r\n corrsAddLocal.PinCode = GlobalStore.corrPincode;\r\n setCorrespondanceAddress(corrsAddLocal);\r\n }\r\n } else {\r\n if (clientPartialDetails_ao.isManual) {\r\n setSameAsPermanent(clientPartialDetails_ao.sameAsPermanent);\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 if (clientPartialDetails_ao.sameAsPermanent == false) {\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 } else {\r\n !clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.corrAddress !== undefined &&\r\n clientPartialDetails_ao.corrAddress !== null &&\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 }\r\n }\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 const showSectionOrHide = () => {\r\n let localShow: boolean = true;\r\n if (\r\n GlobalStore?.stageStatus?.accountcategory !== null &&\r\n GlobalStore?.stageStatus?.accountcategory !== undefined &&\r\n GlobalStore?.stageStatus?.accountcategory === 2\r\n ) {\r\n localShow = false;\r\n }\r\n return localShow;\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.corrAddress !== undefined &&\r\n clientPartialDetails_ao.corrAddress !== null &&\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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\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 panNo: GlobalStore?.personaldetails.pan,\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 // 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 let pinCode: string = \"\";\r\n\r\n if (clientPartialDetails_ao.pincode) {\r\n pinCode = 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 pinCode = GlobalStore.kraInfoObject.pincode;\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 pinCode = GlobalStore.ckycInfoObject.pincode;\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 pinCode = GlobalStore.personaldetails.pincode;\r\n // AGetCityByPincode(\r\n // getFullAddress,\r\n // GlobalStore.personaldetails.pincode\r\n // );\r\n if (\r\n clientPartialDetails_ao.sameAsPermanent !== null &&\r\n clientPartialDetails_ao.sameAsPermanent !== undefined &&\r\n clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.corrPincode\r\n ) {\r\n AGetCityByPincode(\r\n (res: any) =>\r\n getCorrAddress(res, clientPartialDetails_ao.corrAddress),\r\n clientPartialDetails_ao.corrPincode\r\n );\r\n }\r\n if (pinCode !== null && pinCode !== undefined && pinCode !== \"\") {\r\n AGetCityByPincode(getFullAddress, pinCode);\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\r\n !clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.corrAddress !== undefined &&\r\n clientPartialDetails_ao.corrAddress !== null &&\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\r\n AGetCityByPincode((res: any) => {\r\n if (\r\n !clientPartialDetails_ao.sameAsPermanent &&\r\n clientPartialDetails_ao.corrAddress !== undefined &&\r\n clientPartialDetails_ao.corrAddress !== null\r\n ) {\r\n if (\r\n clientPartialDetails_ao.addressLine1 !==\r\n clientPartialDetails_ao.corrAddress\r\n ) {\r\n getFullAddress(res, false);\r\n } else {\r\n getFullAddress(res, true);\r\n }\r\n }\r\n }, clientPartialDetails_ao.PinCode);\r\n // setPermanentAddress(permAddLocal);\r\n }\r\n if (\r\n clientPartialDetails_ao.sameAsPermanent !== null &&\r\n clientPartialDetails_ao.sameAsPermanen !== undefined &&\r\n !clientPartialDetails_ao.sameAsPermanent\r\n ) {\r\n let corrsAddLocal = { ...correspondanceAddress };\r\n corrsAddLocal.addressLine1 = clientPartialDetails_ao.corrAddress;\r\n corrsAddLocal.PinCode = 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 setCorrespondanceAddress(corrsAddLocal);\r\n }\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 (emailID == \"\" && emailID == undefined && emailID == null) {\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, sameAsPerman?: boolean) {\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\r\n if (\r\n sameAsPerman !== null && sameAsPerman !== undefined\r\n ? sameAsPerman\r\n : sameAsPermanent\r\n ) {\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.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.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 console.log(\r\n \"element &&\",\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 !== undefined &&\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 !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 !== undefined &&\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 );\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 !== undefined &&\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 console.log(\r\n \"OBject disabled Condition\",\r\n \"Adrr\",\r\n Object.values(permErrorObj).some((error) => error),\r\n \"nomError\",\r\n Object.values(nomErrorObj).some((error) => error),\r\n \"corrErr\",\r\n Object.values(corrErrorObj).some((error) => error),\r\n \" Object.values(guardErrorObj).some((error) => error)\",\r\n Object.values(guardErrorObj).some((error) => error),\r\n \"Object.values(permanentAddress).some((value) => !value) \",\r\n Object.values(permanentAddress).some((value) => !value),\r\n \"Object.values(correspondanceAddress).some((value) => !value)\",\r\n Object.values(correspondanceAddress).some((value) => !value),\r\n \"(relationshipData.mobileMatchedList &&\",\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 &&\r\n relationshipData.emailMatchedList.some(\r\n (value) => value.error || !value?.relationshipName\r\n ),\r\n \"(relationshipData?.bothMatchedList &&\",\r\n relationshipData?.bothMatchedList &&\r\n relationshipData?.bothMatchedList?.some(\r\n (value) => value.error || !value?.relationshipName\r\n ),\r\n \"validateNominees\",\r\n validateNominees(),\r\n \"!isEmailVerified\",\r\n !isEmailVerified,\r\n \" !isMobileVerified\",\r\n !isMobileVerified,\r\n \"email\",\r\n email === \"\",\r\n \"phone\",\r\n phone === \"\",\r\n \"fatherOrSpouseName\",\r\n fatherOrSpouseName.trim() === \"\",\r\n \"motherName\",\r\n motherName.trim() === \"\",\r\n \"eduQualification\",\r\n eduQualification === \"\",\r\n \"occupation\",\r\n occupation === \"\",\r\n \"indianResident\",\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 netWorth === \"\" || \"netWorth,\",\r\n parseInt(netWorth) < 1000 || \"annualIncome\",\r\n annualIncome === \"\" || \"placeOfBirth\",\r\n placeOfBirth === \"\" || \"errors\",\r\n errors,\r\n Object.values(errors).some((error) => error)\r\n );\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 let holderFirstname = GlobalStore?.stageStatus?.panfirstname,\r\n holderMiddleName = GlobalStore?.stageStatus?.panmiddletname,\r\n holderLastName = GlobalStore?.stageStatus?.panlastname;\r\n if (holderFirstname == \"\" || holderFirstname == undefined) {\r\n holderFirstname = clientPartialDetails_ao?.panDetails?.Firstname;\r\n }\r\n if (holderMiddleName == \"\" || holderMiddleName == undefined) {\r\n holderMiddleName = clientPartialDetails_ao?.panDetails?.Middlename;\r\n }\r\n if (holderLastName == \"\" || holderLastName == undefined) {\r\n holderLastName = clientPartialDetails_ao?.panDetails?.Lastname;\r\n }\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: parseInt(userId),\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: holderFirstname ?? \"\",\r\n holderMiddleName: holderMiddleName ?? \"\",\r\n holderLastName: holderLastName ?? \"\",\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 createdBy: parseInt(userId),\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 if (sameAsPermanent) {\r\n kycObj[\"persoanlDetails\"][\"corrsaddraspermanent\"] = true;\r\n } else kycObj[\"persoanlDetails\"][\"corrsaddraspermanent\"] = false;\r\n }\r\n if (GlobalStore?.stageStatus?.accountcategory === 2) {\r\n delete kycObj.periodicSettlement;\r\n delete kycObj.ddpi_type;\r\n delete kycObj.applicationType;\r\n }\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][\"error\"][\"guardAnnualIncome\"] = \"\";\r\n array[index][\"error\"][\"guardFullName\"] = \"\";\r\n array[index][\"error\"][\"guardOccupation\"] = \"\";\r\n array[index][\"error\"][\"guardPlaceOfBirth\"] = \"\";\r\n array[index][\"error\"][\"guardRelation\"] = \"\";\r\n array[index][\"error\"][\"guardTitle\"] = \"\";\r\n\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 {showSectionOrHide() ? (\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) =>\r\n setDefaultAccountType(val.display)\r\n }\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\r\n demat account across all depositories. To be eligible\r\n under the scheme you should not have a demat asset\r\n value should not be more than Rs. 10 Lakh at any\r\n point. If you select this option and do not meet the\r\n required criteria of BSDA you would be charged as per\r\n ordinary resident demat account 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 \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 if (\r\n event?.target?.value !== undefined &&\r\n event?.target?.value !== null &&\r\n event?.target?.value !== \"\" &&\r\n event?.target?.value?.length > 8 &&\r\n event?.target?.value?.length < 18\r\n ) {\r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue: \"\",\r\n });\r\n } else {\r\n if (error.required) {\r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue:\r\n errorMsg(errorCode.FE40),\r\n });\r\n } else if (\r\n event?.target?.value !== undefined &&\r\n event?.target?.value !== null &&\r\n event?.target?.value !== \"\" &&\r\n event?.target?.value?.length < 8\r\n ) {\r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue:\r\n errorMsg(errorCode.FE40),\r\n });\r\n } else {\r\n setErrors({\r\n ...errors,\r\n guardIdentificationDetailValue: \"\",\r\n });\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 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\r\n ? true\r\n : nomiDetails[index]?.error\r\n ?.guardianDetails?.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 dp_account_type?: number;\r\n accounttype?: number;\r\n accountcategory?: number;\r\n isdpcompleted?: boolean;\r\n first_esign_initiated?:boolean;\r\n second_esign_initiated?:boolean;\r\n rmassisted?:boolean;\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 accountType: \"\",\r\n userId: \"\",\r\n middleName:\"\"\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 pennyDropCount: 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 dpid:string=\"\";\r\n static clientid:string=\"\";\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 isdpcompleted: false,\r\n first_esign_initiated:false,\r\n rmassisted:false\r\n };\r\n static accountcategory:number;\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 addressLine1?:string;\r\n static sameAsPermanent?:boolean;\r\n static corrAddress?:string;\r\n static PinCode?:string;\r\n static corrPincode?:string;\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\nimport moment from \"moment\";\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 !== null && clientDetails.isPANVerified !== undefined && !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 if (clientPartialDetails_ao.birthDate !== null && clientPartialDetails_ao.birthDate !== undefined && clientPartialDetails_ao.birthDate !== \"\") {\r\n GlobalStore.birthDate = clientPartialDetails_ao.birthDate || \"\";\r\n } else {\r\n GlobalStore.birthDate = moment(clientPartialDetails_ao.dob).format(\"MM/DD/YYYY\");\r\n }\r\n\r\n\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 !== null && clientPartialDetails_ao.isKRA !== undefined ? 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 console.log(\"Object.keys(clientPartialDetailsToStore()).length === 0\", Object.keys(clientPartialDetails_ao).length);\r\n return clientPartialDetails_ao;\r\n\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 queryParameter(searchstring: string) {\r\n return new URLSearchParams(searchstring);\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 dp_account_type: apiResponseObj?.dp_account_type,\r\n accounttype: apiResponseObj?.accounttype,\r\n accountcategory: apiResponseObj?.accountcategory,\r\n isdpcompleted: apiResponseObj?.isdpcompleted,\r\n first_esign_initiated: apiResponseObj?.first_esign_initiated,\r\n rmassisted:apiResponseObj?.rmassisted,\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 }\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\nimport config from \"../../../config/domain\";\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\nexport interface rmSourceList {\r\n EmpCode: string;\r\n UserName: string;\r\n EmpName: string;\r\n EmpCodeTxt: string;\r\n Source: string;\r\n Plan: string;\r\n Mobile_No: string;\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_CONTENT = quryParams.get(\"utm_content\")\r\n ? quryParams.get(\"utm_content\")\r\n : \"\";\r\n const UTM_TERM = quryParams.get(\"utm_term\") ? quryParams.get(\"utm_term\") : \"\";\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 const localProductCode = quryParams.get(\"productCode\");\r\n const [values, setValues] = React.useState({\r\n firstname: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n city: undefined,\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 [multipleRMCodesFound, setMultipleRMCodesFound] =\r\n React.useState(false);\r\n const [utmCampaignCode, setUtmCampaignCode] = React.useState(null);\r\n const [sourceNames, setSourceNames] = React.useState(\"\");\r\n const [planAsPerSource, setPlanAsPerSource] = React.useState(\"\");\r\n const [rmCodeList, setRmCodeList] = React.useState>([]);\r\n const [rmCodeListDisplay, setRmCodeListDisplay] = React.useState([]);\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 setRmCodeList([]);\r\n setRmCodeAssistedName(\"\");\r\n setSourceNames(\"\");\r\n setPlanAsPerSource(\"\");\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 const getProductCode = () => {\r\n let productCodeNew: string = \"\";\r\n const objAccType =\r\n window.sessionStorage.getItem(\"objAccType\") || productCode;\r\n if (\r\n localProductCode !== null &&\r\n localProductCode !== undefined &&\r\n localProductCode !== \"\" &&\r\n localProductCode?.length > 0\r\n ) {\r\n productCodeNew = localProductCode;\r\n if (config?.hideInvestment && productCodeNew == \"I\") {\r\n // need to remove when we are going live with investment.// or make flag false in the config file.\r\n productCodeNew = \"TD\";\r\n }\r\n } else {\r\n if (objAccType === \"DMT\") {\r\n productCodeNew = \"D\";\r\n } else {\r\n productCodeNew = \"TD\";\r\n }\r\n }\r\n return productCodeNew;\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 (res.data._employeedetail.length > 0) {\r\n if (res.data._employeedetail.length === 1) {\r\n const rmCodeName = res.data._employeedetail[0];\r\n setMultipleRMCodesFound(false);\r\n if (\r\n rmCodeName?.EmpName == null &&\r\n rmCodeName?.UserName == null &&\r\n rmCodeName?.EmpCode == null &&\r\n rmCodeName?.Source == null &&\r\n rmCodeName?.Plan == null\r\n ) {\r\n setErrors({ ...errors, rmCodeAssisted: \"No Data Found.\" });\r\n setRmCodeAssistedName(\"\");\r\n setUtmCampaignCode(null);\r\n setSourceNames(\"\");\r\n setPlanAsPerSource(\"\");\r\n } else {\r\n // setRmCodeAssistedName(rmCodeName?.EmpName ?? rmCodeName.UserName);\r\n setRmCodeAssistedName(\r\n rmCodeName?.EmpName == \"\"\r\n ? rmCodeName.UserName\r\n : 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 if (res.data._employeedetail.length > 1) {\r\n setRmCodeList(res.data._employeedetail);\r\n let rmList = res?.data?._employeedetail.map((rmcodeRecord: any) => {\r\n return {\r\n display:\r\n rmcodeRecord?.EmpName == \"\"\r\n ? rmcodeRecord.UserName + \" - \" + rmcodeRecord?.Source\r\n : rmcodeRecord.EmpName + \" - \" + rmcodeRecord?.Source,\r\n value: rmcodeRecord?.EmpCode,\r\n };\r\n });\r\n setRmCodeListDisplay(rmList);\r\n setMultipleRMCodesFound(true);\r\n setErrors({ ...errors, rmCodeAssisted: undefined });\r\n }\r\n } else {\r\n setErrors({ ...errors, rmCodeAssisted: \"No Data Found.\" });\r\n setRmCodeAssistedName(\"\");\r\n setUtmCampaignCode(null);\r\n setSourceNames(\"\");\r\n setIsAssistedDataValid(false);\r\n setPlanAsPerSource(\"\");\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 setMultipleRMCodesFound(false);\r\n }\r\n setErrCode(\"\");\r\n setIsLoading(false);\r\n }\r\n }\r\n const setRmAssitedThings = (rmCodeName: rmSourceList) => {\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 setMultipleRMCodesFound(false);\r\n setIsAssistedDataValid(false);\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\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 setSkipCreateLead(false);\r\n if (\r\n Object.values([\r\n values.firstname,\r\n values.lastName,\r\n values.mobile,\r\n values.mobile,\r\n ]).every((value) => value)\r\n ) {\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: \"\",\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 searchLeadByName();\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: getProductCode(),\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 console.log(\r\n \"Object.values(errors).some((error) => error) \",\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 !isMobileVerified ||\r\n !isEmailVerified ||\r\n isAssistedDataValid ||\r\n isButtonDisabled,\r\n isMobileVerified,\r\n isEmailVerified,\r\n Object.values(errors).some((error) => error),\r\n isAssistedDataValid,\r\n isButtonDisabled,\r\n Object.values(values).some((value) => !value),\r\n GlobalStore.user.mobile !== values.mobile,\r\n GlobalStore?.user?.mobile,\r\n values?.mobile,\r\n GlobalStore?.user?.email,\r\n values?.email\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: getProductCode(),\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(\r\n containerUrl.pan + \"?productCode=\" + getProductCode()\r\n );\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(\r\n containerUrl.pan + \"?productCode=\" + getProductCode()\r\n );\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 }\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(\r\n containerUrl.pan + \"?productCode=\" + getProductCode()\r\n );\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 } else {\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 }\r\n console.log(\"lead logger 12\", isMobileVerified, \"||\", isEmailVerified);\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.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 if (\r\n (utm_source == \"\" || utm_source == null || utm_source == undefined) &&\r\n UTM_SOURCE !== null &&\r\n UTM_SOURCE !== undefined &&\r\n UTM_SOURCE !== \"\"\r\n ) {\r\n utm_source = UTM_SOURCE;\r\n }\r\n if (\r\n (utm_campaign == \"\" ||\r\n utm_campaign == null ||\r\n utm_campaign == undefined) &&\r\n UTM_CAMPAIGN !== null &&\r\n UTM_CAMPAIGN !== undefined &&\r\n UTM_CAMPAIGN !== \"\"\r\n ) {\r\n utm_campaign = utm_campaign;\r\n }\r\n if (\r\n (utm_content == \"\" || utm_content == null || utm_content == undefined) &&\r\n UTM_CAMPAIGN !== null &&\r\n UTM_CAMPAIGN !== undefined &&\r\n UTM_CAMPAIGN !== \"\"\r\n ) {\r\n utm_campaign = utm_campaign;\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 let utm_term = objUtm.utm_term;\r\n if (\r\n (utm_term == \"\" || utm_term == null || utm_term == undefined) &&\r\n UTM_TERM !== null &&\r\n UTM_TERM !== undefined &&\r\n UTM_TERM !== \"\"\r\n ) {\r\n utm_term = UTM_TERM;\r\n }\r\n let utm_medium = objUtm.utm_medium;\r\n if (\r\n (utm_medium == \"\" || utm_medium == null || utm_medium == undefined) &&\r\n UTM_MEDIUM !== null &&\r\n UTM_MEDIUM !== undefined &&\r\n UTM_MEDIUM !== \"\"\r\n ) {\r\n utm_medium = UTM_MEDIUM;\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: getProductCode(),\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: utm_medium ? 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: utm_term ? utm_term : objUtm.utm_term || \"\",\r\n };\r\n\r\n // ACreateLead((res: any) => leadCreated(res, createLead), createLead);\r\n if (!skipCreateLead) {\r\n console.log(\"CreateLead\", createLead);\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 if (!res) {\r\n //setErrCode('103 - Error in generating new Lead.');\r\n // setErrCode(errorMessage.leadCreated);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n } else if (respData) {\r\n setErrCode(respData);\r\n setIsLoading(false);\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(\r\n containerUrl.pan + \"?productCode=\" + getProductCode()\r\n );\r\n setIsLoading(false);\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 setIsLoading(false);\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 setMultipleRMCodesFound(false);\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 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, event) => {\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n firstname: errorMsg(errorCode.FE55),\r\n });\r\n } else\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, event) => {\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n lastName: errorMsg(errorCode.FE55),\r\n });\r\n } else\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 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 setShowMobileMailBtn(true);\r\n setIsEmailVerified(false);\r\n setIsButtonDisabled(false);\r\n setAllreadyExistMobOrEmail({ email: false, mob: false });\r\n onChange(\"email\", value);\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, 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 if (\r\n e?.target?.value !== undefined &&\r\n e?.target?.value !== null &&\r\n e?.target?.value !== \"\" &&\r\n (emailRegex.test(e?.target?.value) || !error?.pattern)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n email: error.pattern ? \"\" : errorMsg(errorCode.FE51),\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 }\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 interested in opening a Demat and Trading Account with Nuvama Wealth and Investment Limited (NWIL) through online mode. I acknowledge that my contact details will be utilized for all future communications from Nuvama, which may include transaction updates in my accounts and information on different products and services offered by Nuvama 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.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 {\r\n setShowMobileBtn(true);\r\n setIsButtonDisabled(false);\r\n setIsMobileVerified(false);\r\n setAllreadyExistMobOrEmail({ email: false, mob: false });\r\n onChange(\"mobile\", value);\r\n }}\r\n onBlur={(error, event) => {\r\n if (\r\n event?.target?.value !== undefined &&\r\n event?.target?.value !== null &&\r\n event?.target?.value !== \"\" &&\r\n (phoneNo.test(event?.target?.value) || !error?.pattern)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // email: error.pattern ? '' : 'Please enter valid email',\r\n mobile: error.pattern ? \"\" : errorMsg(errorCode.FE52),\r\n });\r\n } else {\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 }}\r\n placeholder=\"Eg. 9876543210\"\r\n errorText={errors.mobile}\r\n type=\"tel\"\r\n inputPattern={integerExp}\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 onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\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 {rmCodeList && rmCodeList?.length > 0 ? (\r\n <>\r\n
\r\n \r\n {\r\n if (\r\n value !== undefined &&\r\n value !== null &&\r\n value?.value\r\n ) {\r\n let rmCodeFound: any = rmCodeList.find(\r\n (rmCode) => rmCode.EmpCode === value?.value\r\n );\r\n if (\r\n rmCodeFound !== null &&\r\n rmCodeFound !== undefined\r\n ) {\r\n setRmAssitedThings(rmCodeFound);\r\n }\r\n }\r\n }}\r\n // onChange={value => onChange(\"city\", value)}\r\n searchLength={0}\r\n options={rmCodeListDisplay}\r\n // onBlur={handleCityBlur}\r\n searchKey=\"display\"\r\n placeholder=\"Eg.Jiya aliani\"\r\n // noDataMsg=\"No Data found.\"\r\n // errorText={errors.city}\r\n isDownArrow={true}\r\n />\r\n
\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([\r\n values.firstname,\r\n values.lastName,\r\n values.email,\r\n values.mobile,\r\n ]).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([\r\n values.firstname,\r\n values.lastName,\r\n values.email,\r\n values.mobile,\r\n ]).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 multipleRMCodesFound\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 queryParameter,\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\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { AGetClientDetailsByPan } from \"../../Services/registration/panDobApiService\";\r\n\r\nexport interface RegistrationLayoutProps {\r\n isSubmissionRoute?: boolean;\r\n supportNeeded?: boolean;\r\n headerLogoClassName?: string;\r\n regOutNewClassName?: string;\r\n skipOption?: boolean;\r\n}\r\nexport interface IEsignObject {\r\n Applicationid: string;\r\n AccountCategory: number;\r\n isEsign: string;\r\n isPOA: boolean;\r\n EsignDocType: number;\r\n UserId?: number;\r\n PanNo?: string;\r\n}\r\n\r\nexport interface IDropoffObject {\r\n Applicationid: string;\r\n Pan: string;\r\n Ac: string;\r\n uid: any;\r\n}\r\nconst RegistrationLayout: React.FC = (props) => {\r\n const history = useHistory();\r\n const location = useLocation();\r\n const quryMainParams = queryParameter(location.search);\r\n let id = quryMainParams.get(\"id\");\r\n let skipUrl = quryMainParams.get(\"skipUrl\");\r\n let type: any = quryMainParams.get(\"type\");\r\n const [isSubmit, setIsSubmit] = React.useState(false);\r\n if (\r\n props.isSubmissionRoute !== undefined &&\r\n props?.isSubmissionRoute !== null &&\r\n props?.isSubmissionRoute\r\n ) {\r\n props.isSubmissionRoute && clientPartialDetailsToStore();\r\n }\r\n function searchByLeadId(res: any, queryObject?: IEsignObject) {\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 GlobalStore.token = res.data.Token;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.accountcategory = res.data.AccountCategory;\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 clientPartialDetails_ao.leadID = res.data.LeadId;\r\n clientPartialDetails_ao.pan = res.data?.PAN;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n res.data.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = res.data.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = res.data.AccountCategory;\r\n clientPartialDetails_ao.token = res.data.Token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n if (\r\n queryObject !== undefined &&\r\n queryObject !== null &&\r\n queryObject?.isEsign !== null &&\r\n queryObject?.isEsign !== undefined &&\r\n queryObject?.isEsign !== \"\" &&\r\n queryObject?.isEsign === \"K\"\r\n ) {\r\n setTimeout(() => {\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n queryObject?.Applicationid\r\n );\r\n }, 1000);\r\n } else history.push(statusUrl.statusContinue);\r\n } else {\r\n // setErrCode(res.error);\r\n // setIsLoading(false);\r\n }\r\n }\r\n }\r\n const getData = (\r\n panNo: string,\r\n accountcategory: any,\r\n userid: any,\r\n queryobject?: any\r\n ) => {\r\n AGetClientDetailsByPan(\r\n (res: any) => {\r\n searchByLeadId(res, queryobject);\r\n },\r\n panNo,\r\n accountcategory,\r\n userid\r\n );\r\n };\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 !(type !== null && type !== undefined && type !== \"\")\r\n ) {\r\n if (\r\n props.isSubmissionRoute !== undefined &&\r\n props?.isSubmissionRoute !== null &&\r\n props?.isSubmissionRoute\r\n ) {\r\n } else {\r\n if (\r\n props?.skipOption !== undefined &&\r\n props?.skipOption !== null &&\r\n props?.skipOption\r\n ) {\r\n } else {\r\n console.log(\"Submission\", props?.isSubmissionRoute);\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 if (\r\n skipUrl !== \"\" &&\r\n skipUrl !== undefined &&\r\n skipUrl?.toLowerCase() == \"yes\"\r\n ) {\r\n } else if (type !== null && type !== undefined && type !== \"\") {\r\n if (id !== null && id !== undefined && id !== \"\" && id?.length > 0) {\r\n console.log(\"queryobject\", id);\r\n let queryString = window.atob(id);\r\n let queryObject2: IDropoffObject = JSON.parse(\r\n queryString\r\n ) as IDropoffObject;\r\n if (\r\n queryObject2?.Pan !== null &&\r\n queryObject2?.Pan !== undefined &&\r\n queryObject2?.Pan !== \"\"\r\n ) {\r\n getData(queryObject2?.Pan, queryObject2?.Ac, queryObject2?.uid);\r\n }\r\n }\r\n // const queryObject = parseQuery(location.search);\r\n // console.log(\"QyerObj\", decodeURI(queryObject?.id));\r\n } else {\r\n if (\r\n props?.skipOption !== undefined &&\r\n props?.skipOption !== null &&\r\n props?.skipOption\r\n ) {\r\n } else {\r\n if (id !== null && id !== undefined && id !== \"\" && id?.length > 0) {\r\n let queryString = window.atob(id);\r\n let queryObject2: IEsignObject = JSON.parse(\r\n queryString\r\n ) as IEsignObject;\r\n if (\r\n queryObject2?.Applicationid !== null &&\r\n queryObject2?.Applicationid !== undefined\r\n ) {\r\n localStorage.removeItem(\"isESignSubmitted\");\r\n\r\n if (\r\n queryObject2?.AccountCategory !== null &&\r\n queryObject2?.AccountCategory !== undefined\r\n ) {\r\n if (\r\n queryObject2?.AccountCategory == 2 &&\r\n queryObject2.isEsign == \"A\" &&\r\n queryObject2?.UserId !== null &&\r\n queryObject2?.UserId !== undefined &&\r\n queryObject2.UserId > 0\r\n ) {\r\n GlobalStore.applicationID = queryObject2?.Applicationid;\r\n history.replace(containerUrl.esignsubmit);\r\n } else {\r\n if (\r\n queryObject2?.PanNo !== null &&\r\n queryObject2?.PanNo !== undefined &&\r\n queryObject2?.PanNo !== \"\"\r\n ) {\r\n if (queryObject2.isEsign === \"K\") {\r\n getData(\r\n queryObject2?.PanNo,\r\n queryObject2?.AccountCategory,\r\n queryObject2?.UserId,\r\n queryObject2\r\n );\r\n } else\r\n getData(\r\n queryObject2?.PanNo,\r\n queryObject2?.AccountCategory,\r\n queryObject2?.UserId\r\n );\r\n }\r\n }\r\n }\r\n if (queryObject2.isEsign === \"K\") {\r\n if (\r\n queryObject2?.UserId !== null &&\r\n queryObject2?.UserId !== undefined &&\r\n queryObject2.UserId > 0\r\n ) {\r\n history.replace(containerUrl.esignsubmit);\r\n }\r\n }\r\n }\r\n }\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 console.log(\"hereqqq111\");\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 (\r\n queryObject.isEsign === \"A\" &&\r\n !responseObj.iskraesigncompleted\r\n ) {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n //history.replace(statusUrl.docVerificationInProgress);\r\n } else if (\r\n queryObject.isEsign === \"A\" &&\r\n responseObj.iskraesigncompleted\r\n ) {\r\n history.replace(containerUrl.submit);\r\n } else if (!queryObject.isEsign) {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n }\r\n } else {\r\n const quryParams = queryParameter(location.search);\r\n let id = quryParams.get(\"id\");\r\n if (\r\n id !== null &&\r\n id !== undefined &&\r\n id !== \"\" &&\r\n id?.length > 0\r\n ) {\r\n let queryObject2: IEsignObject = JSON.parse(\r\n window.atob(id)\r\n ) as IEsignObject;\r\n if (queryObject2.isPOA === true)\r\n history.replace(containerUrl.poa);\r\n else if (\r\n queryObject2?.AccountCategory !== null &&\r\n queryObject2?.AccountCategory !== undefined &&\r\n queryObject2?.AccountCategory == 2\r\n ) {\r\n history.replace(containerUrl.submit);\r\n } else if (queryObject2.isEsign === \"K\") {\r\n if (\r\n queryObject2?.UserId !== null &&\r\n queryObject2?.UserId !== undefined &&\r\n queryObject2.UserId > 0\r\n ) {\r\n history.replace(containerUrl.esignsubmit);\r\n } else history.replace(containerUrl.submit);\r\n } else if (\r\n queryObject2.isEsign === \"A\" &&\r\n !responseObj.iskraesigncompleted\r\n ) {\r\n history.replace(dashboardUrl.eSign + \"?sc=k\");\r\n //history.replace(statusUrl.docVerificationInProgress);\r\n } else if (\r\n queryObject2.isEsign === \"A\" &&\r\n responseObj.iskraesigncompleted\r\n ) {\r\n history.replace(containerUrl.submit);\r\n } else if (!queryObject2.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\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: \"Document/GetDetails\",\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: \"Document/GetDetails\",\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 AGetRMEsignUrlDetails = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n esigndocumenttype: number,\r\n accountCategory: number,\r\n userId?: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"Esign/GetRMAssistLink\",\r\n body: {\r\n applicationId: applicationid,\r\n esignDocumentType: esigndocumenttype,\r\n accountCategory: accountCategory,\r\n UserId: userId,\r\n },\r\n method: \"POST\",\r\n apiBaseUrl: config.diyNewApiUrl,\r\n tempToken: config.tempToken,\r\n serviceName: servicesList.getRMAssitedEsignLink,\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\nexport const AGetEsignUrlDetails = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n esigndocumenttype: number,\r\n accountCategory: number,\r\n panNo?: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"Esign/GetLink\",\r\n body: {\r\n ApplicationId: applicationid,\r\n esigndocumenttype: esigndocumenttype,\r\n accountCategory: accountCategory,\r\n PanNo: panNo\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\nexport const AGetRMEsignVerificationUrlDetails = (\r\n callback: CallableFunction,\r\n applicationid: string,\r\n esigndocumenttype: number,\r\n accountCategory: number,\r\n userId: number\r\n) => {\r\n apiService(\r\n {\r\n url: \"Esign/RMVerificationLink\",\r\n body: {\r\n applicationId: applicationid,\r\n esignDocumentType: esigndocumenttype,\r\n accountCategory: accountCategory,\r\n esignVendorType: 0,\r\n userId: userId\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: \"AccountDetail/Get\",\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 accountCategory?: any,\r\n isKycDownload?: boolean,\r\n) => {\r\n let body: any = {\r\n ApplicationId: applicationid,\r\n accountCategory: accountCategory,\r\n isKYCDownload: isKycDownload\r\n };\r\n if (isFullPdf) {\r\n body.EsignFlag = 1;\r\n }\r\n apiService(\r\n {\r\n url: \"Document/KycPdf\",\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: \"ProfileStage/GetProfilingQuestion\",\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: \"ProfileStage/SaveProfilingQuestion\",\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 authenticateNavBarObj,\r\n dashboardUrl,\r\n dematNavBarObj,\r\n ILeftNavBarArray,\r\n ipvNavBarObj,\r\n leftNavBarArray,\r\n} from \"../../utils/constants\";\r\nimport { completeModuleStatus } from \"../../Services/globalService\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\n\r\nexport interface ProfileNavBarProps {\r\n isLoading?: boolean;\r\n}\r\n\r\nexport function checkModuleCompleteness(\r\n isUploadDocumentsCompleted: boolean,\r\n dematAccountFound?: any\r\n) {\r\n let userId = 0;\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\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 if(!GlobalStore.leftNavBarState?.includes(ipvNavBarObj))\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n }\r\n completeModuleStatus(dashboardUrl.ipv);\r\n }\r\n if (\r\n GlobalStore.stageStatus.isdpcompleted !== null &&\r\n GlobalStore?.stageStatus?.isdpcompleted !== undefined &&\r\n GlobalStore?.stageStatus?.accountcategory == 2 &&\r\n GlobalStore?.stageStatus?.isdpcompleted\r\n ) {\r\n if (!GlobalStore.leftNavBarState?.includes(dematNavBarObj))\r\n GlobalStore.leftNavBarState.push(dematNavBarObj);\r\n if (dematAccountFound !== undefined && dematAccountFound !== null) {\r\n } else completeModuleStatus(dashboardUrl.demat);\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 let userId = 0;\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n React.useEffect(() => {\r\n setLeftNavBarState(GlobalStore.leftNavBarState);\r\n\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 (GlobalStore?.stageStatus?.accountcategory == 2) {\r\n let filterNavIndexForProfiler = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndexForProfiler > 0)\r\n filteredLeftNavBar?.splice(filterNavIndexForProfiler, 1);\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (userId !== 0) {\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex2 > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex2, 1);\r\n } else {\r\n \r\n if (\r\n GlobalStore.isDigiLocker ||\r\n clientPartialDetails_ao.isDigiLocker\r\n ) {\r\n } else {\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n if (!filteredLeftNavBar?.includes(authenticateNavBarObj))\r\n filteredLeftNavBar.push(authenticateNavBarObj);\r\n }\r\n }\r\n\r\n if (filterNavIndex > 0) filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n if (!filteredLeftNavBar?.includes(dematNavBarObj))\r\n filteredLeftNavBar.push(dematNavBarObj);\r\n }\r\n if (filteredLeftNavBar && filteredLeftNavBar.length > 0) {\r\n setLeftNavBarState(filteredLeftNavBar);\r\n GlobalStore.leftNavBarState = filteredLeftNavBar;\r\n }\r\n } else {\r\n if (GlobalStore?.stageStatus?.accountcategory == 2) {\r\n let filteredLeftNavBar = GlobalStore.leftNavBarState;\r\n let filterNavIndexForProfiler = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndexForProfiler > 0)\r\n filteredLeftNavBar?.splice(filterNavIndexForProfiler, 1);\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n if (\r\n GlobalStore?.isKRA == null ||\r\n clientPartialDetails_ao.isKRA == null ||\r\n GlobalStore?.isKRA == undefined ||\r\n clientPartialDetails_ao.isKRA == undefined ||\r\n GlobalStore?.isKRA == false ||\r\n clientPartialDetails_ao.isKRA == false ||\r\n GlobalStore.isDigiLocker === null ||\r\n GlobalStore.isDigiLocker == undefined ||\r\n GlobalStore.isDigiLocker == false ||\r\n clientPartialDetails_ao.isDigiLocker == null ||\r\n clientPartialDetails_ao.isDigiLocker == undefined ||\r\n clientPartialDetails_ao.isDigiLocker == false\r\n ) {\r\n if (userId == 0) {\r\n if (filteredLeftNavBar?.includes(ipvNavBarObj)) {\r\n } else filteredLeftNavBar?.push(ipvNavBarObj);\r\n filteredLeftNavBar = filteredLeftNavBar.sort(\r\n compareValues(\"priority\")\r\n );\r\n } else {\r\n let filterNavIndex = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filteredLeftNavBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex2 > 0)\r\n filteredLeftNavBar?.splice(filterNavIndex2, 1);\r\n }\r\n\r\n if (!filteredLeftNavBar?.includes(dematNavBarObj))\r\n filteredLeftNavBar.push(dematNavBarObj);\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 }\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(\r\n getEsignUrl,\r\n GlobalStore.applicationID,\r\n 1,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0,\r\n GlobalStore?.personaldetails?.pan\r\n );\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 {\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 {\r\n dashboardUrl,\r\n containerUrl,\r\n statusUrl,\r\n ILeftNavBarArray,\r\n} from \"../../utils/constants\";\r\nimport {\r\n clientPartialDetailsToStore,\r\n completeModuleStatus,\r\n updateUtmInfo,\r\n setStageData,\r\n ageCalculator,\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 {\r\n AGetClientDetailsByLeadId,\r\n AGetClientDetailsByPan,\r\n AGetKraDetails,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport config from \"../../../config/domain\";\r\nimport { getProfileDetailsFromAadhar } from \"../ShareAdd/ShareAdd\";\r\nimport moment from \"moment\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\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 [dematAccountFound, setDematAccountFound] = React.useState(null);\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 let userId = \"0\";\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n\r\n React.useEffect(() => {\r\n if (Object.keys(clientPartialDetailsToStore()).length === 0) {\r\n history.push(containerUrl.registration);\r\n } else if (\r\n GlobalStore.isNormalClient !== undefined &&\r\n GlobalStore?.isNormalClient !== null &&\r\n GlobalStore?.isNormalClient &&\r\n GlobalStore.isPANVerified !== undefined &&\r\n GlobalStore?.isPANVerified !== null &&\r\n !GlobalStore.isPANVerified &&\r\n userId === \"0\"\r\n ) {\r\n console.log(\r\n \"GlobalStore.isNormalClient\",\r\n GlobalStore.isNormalClient,\r\n \"GlobalStore.isPANVerified\",\r\n GlobalStore.isPANVerified\r\n );\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 let panNo = GlobalStore?.personaldetails?.pan;\r\n if (panNo == \"\" || panNo == undefined || panNo == null) {\r\n const clientPartialDetails_ao1 = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n panNo = clientPartialDetails_ao1.pan;\r\n }\r\n AGetClientDetailsByPan(searchByLeadId, panNo);\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 (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n let listObjFound = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n setDematAccountFound(listObjFound);\r\n if (listObjFound !== null && listObjFound !== undefined) {\r\n setIsUploadDocumentsCompleted(true);\r\n }\r\n }\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 const convertDate = (dateString: string) => {\r\n // Split the input date string by \"/\"\r\n const [day, month, year] = dateString.split(\"/\");\r\n\r\n // Create a new Date object with the parsed values\r\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day)); // month - 1 because months are zero-indexed\r\n\r\n // Format the date to \"mm-dd-yyyy\"\r\n const formattedDate = `${(date.getMonth() + 1)\r\n .toString()\r\n .padStart(2, \"0\")}-${day.padStart(2, \"0\")}-${year}`;\r\n\r\n return formattedDate;\r\n };\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 CacheFunction = (\r\n callBackFunction: Function,\r\n dob?: string,\r\n pan?: string\r\n ) => {\r\n AGetCacheData(\r\n (res: any) => {\r\n if (\r\n res &&\r\n res.data &&\r\n res?.data?.Result &&\r\n res?.data?.Result.IsTaggingPresent\r\n ) {\r\n let cacheResponse = res?.data?.Result;\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.addressLine1 =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine1;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine2;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine3;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine4;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine1;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine2;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine3;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine4;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\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\r\n clientPartialDetails_ao.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n clientPartialDetails_ao.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails?.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 setIsLoading(false);\r\n } else {\r\n if (\r\n userId == \"0\" &&\r\n dob !== undefined &&\r\n GlobalStore.personaldetails.pan !== undefined\r\n ) {\r\n KraCheckApi(dob, GlobalStore.personaldetails.pan);\r\n } else {\r\n callBackFunction();\r\n }\r\n //\r\n }\r\n }\r\n } else {\r\n if (\r\n userId == \"0\" &&\r\n dob !== undefined &&\r\n GlobalStore.personaldetails.pan !== undefined\r\n ) {\r\n KraCheckApi(dob, GlobalStore.personaldetails.pan);\r\n } else {\r\n callBackFunction();\r\n }\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 const KraCheckApi = (dob: string, pan: string) => {\r\n const reqObj = {\r\n applicationid: GlobalStore.applicationID,\r\n createdby: 0,\r\n dbo: `${moment(convertDate(dob)).format(\"DD/MM/YYYY\")}`,\r\n panno: pan,\r\n };\r\n AGetKraDetails((res: any) => kraDobCheckNew(res), reqObj);\r\n };\r\n const kraDobCheckNew = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(1227);\r\n setErrCode(res.error);\r\n setIsLoading(false);\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 const responseObj = res.data ? res.data : res;\r\n if (\r\n responseObj &&\r\n responseObj.AppStatus === \"07\"\r\n //!responseObj.ErrorCode &&\r\n // responseObj.AppStatus === \"07\" //responseObj.AppStatus === \"02\" ||\r\n ) {\r\n GlobalStore.isKRA = true;\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\r\n ? responseObj.kra_mode\r\n : 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 history.push(dashboardUrl.profile);\r\n setIsLoading(false);\r\n } else {\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\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\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\r\n clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails?.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 = GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(containerUrl.dgLocker);\r\n setIsLoading(false);\r\n }\r\n }\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 (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = responseObj?.fatherspousename;\r\n }\r\n if (responseObj?.dob !== null && responseObj?.dob !== undefined) {\r\n let date = moment(moment(convertDate(responseObj?.dob)).toDate())\r\n .startOf(\"day\")\r\n .toDate();\r\n if (date !== null && date !== undefined && ageCalculator(date) > 60) {\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"true\");\r\n } else {\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\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 checkModuleCompleteness(isUploadDocumentsCompleted, dematAccountFound);\r\n if (dematAccountFound !== null && dematAccountFound !== undefined) {\r\n // completeModuleStatus(dashboardUrl?.demat);\r\n let moduleArr: Array = GlobalStore.leftNavBarState;\r\n if (moduleArr?.length > 0) {\r\n moduleArr = moduleArr.map((record) => {\r\n if (record?.navUrl == dashboardUrl?.demat) {\r\n record.isComplete = false;\r\n }\r\n return record;\r\n });\r\n }\r\n GlobalStore.leftNavBarState = moduleArr;\r\n history?.push(dashboardUrl?.demat);\r\n return;\r\n }\r\n\r\n //check completeness of stages\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 CacheFunction(() => {\r\n if (responseObj?.isaddressstagecompleted === false) {\r\n history.push(dashboardUrl?.personalIfo);\r\n } else history.push(dashboardUrl.profile);\r\n }, responseObj?.dob);\r\n return;\r\n }\r\n if (!responseObj.isbankdetailscompleted) {\r\n history.push(dashboardUrl.bank);\r\n return;\r\n }\r\n if (responseObj?.accountcategory === 2 && !responseObj?.isdpcompleted) {\r\n history.push(dashboardUrl.demat);\r\n return;\r\n }\r\n if (\r\n responseObj?.accountcategory !== 2 &&\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 (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj.iskra &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n if (\r\n responseObj.bpm_pd_status === 1 &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj?.auth_ver\r\n ) {\r\n history.push(containerUrl.submit);\r\n return;\r\n } else {\r\n if (\r\n userId !== \"0\" &&\r\n responseObj.bpm_pd_status === 0 &&\r\n responseObj.applicationstatus === 0\r\n ) {\r\n history.push(dashboardUrl.doc);\r\n return;\r\n } else {\r\n history.push(dashboardUrl.authenticate);\r\n return;\r\n }\r\n }\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=e\");\r\n return;\r\n }\r\n if (\r\n responseObj?.isesigncompleted &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n history.push(containerUrl.submit);\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 localStorage?.removeItem(\"clientPartialDetails_ao\");\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 docType?: string;\r\n extensionTypes?: 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 errorMsgCode?: string;\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 if (\r\n props?.docObj?.fileName !== null &&\r\n props?.docObj?.fileName !== undefined &&\r\n props?.docObj?.fileName !== \"\"\r\n ) {\r\n setDocName(props?.docObj?.fileName);\r\n }\r\n }, []);\r\n React.useEffect(() => {\r\n setLoadingFlag(props.docObj.showFile);\r\n }, [props.docObj.showFile, props.docObj]);\r\n React.useEffect(() => {\r\n if (\r\n props?.docObj?.fileName !== null &&\r\n props?.docObj?.fileName !== undefined &&\r\n props?.docObj?.fileName !== \"\"\r\n ) {\r\n setDocName(props?.docObj?.fileName);\r\n }\r\n }, [props?.docObj?.fileName]);\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 } 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 let docTypeArray: any[] = [];\r\n if (\r\n props?.extensionTypes !== null &&\r\n props?.extensionTypes !== undefined\r\n ) {\r\n docTypeArray = props?.extensionTypes.split(\",\");\r\n }\r\n\r\n if (\r\n props?.extensionTypes !== null &&\r\n props?.extensionTypes !== undefined &&\r\n docTypeArray?.length > 0\r\n ? extensions[1].toUpperCase() === docTypeArray[0] ||\r\n (!!docTypeArray[1] &&\r\n docTypeArray[1] !== \"\" &&\r\n extensions[1].toUpperCase() === docTypeArray[1])\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(\r\n images,\r\n file.name,\r\n props.id,\r\n file.type\r\n );\r\n };\r\n reader.readAsDataURL(elem.files[0]);\r\n }\r\n } else {\r\n if (props.docObj.id == \"photo\" && props?.errorMsgCode!==\"\" && !!props?.errorMsgCode) {\r\n console.log(\"errorCode.FE49\", errorMsg(errorCode.FE49));\r\n setDocErrorMsg(errorMsg(errorCode.FE49));\r\n } else 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 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 {props?.docType !== undefined && props?.docType !== null ? (\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.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 GlobalStore from \"../../store/globalStore\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { apiService } from \"../apiServices\";\r\nimport servicesList from \"../serviceList\";\r\nimport { decryptJwtToken } from \"./encryptionNew\";\r\n\r\nexport const AGetIpvOtp = (\r\n callback: CallableFunction,\r\n applicationid: string\r\n) => {\r\n apiService(\r\n {\r\n url: \"IPV/GetOTP\",\r\n body: {\r\n ApplicationId: applicationid,\r\n esigndocumenttype: 0\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\nexport const AUploadIpvNew = (callback: CallableFunction, uploadObj: any) => {\r\n let userId=0;\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n \r\n apiService(\r\n {\r\n url: \"Document/UploadVIPV\",\r\n body: {\r\n image64: uploadObj?.image64,\r\n clientPrimaryDetailId: uploadObj?.clientPrimaryDetailId,\r\n applicationId: uploadObj?.applicationId,\r\n leadId: uploadObj?.leadId,\r\n panNo: uploadObj?.panNo,\r\n width: uploadObj?.width,\r\n height: uploadObj?.height,\r\n imageToVideo: uploadObj?.imageToVideo,\r\n createdBy: userId\r\n // imageName: uploadObj.imageName,\r\n // contentType: uploadObj.contentType,\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: \"IPV/Save\",\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 createdBy:uploadObj?.createdBy\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 disabledClick?: boolean;\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 if (props.disabledClick!==undefined && props.disabledClick) {\r\n } else handleGetTokenAndSDKInit();\r\n }}\r\n />\r\n
\r\n ) : (\r\n
\r\n {\r\n if (props.disabledClick!==undefined && props.disabledClick) {\r\n } else 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 {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","// 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, { 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 { containerUrl, statusUrl } from \"../../utils/constants\";\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 QCServiceTaskCreation,\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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { errorCode } from \"../../../ErrorCode/ErrorCode\";\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 panNo: 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\nexport const initialPhotoDocObj: 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\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 let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n const showPhotographBrowseOption = () => {\r\n if (\r\n userId !== \"0\" &&\r\n (GlobalStore?.isNormalClient ||\r\n (GlobalStore?.isDigiLocker == false && GlobalStore?.isKRA == false)) &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n ) {\r\n return true;\r\n }\r\n return false;\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 showPhotographBrowseOption()\r\n ? { ...initialPhotoDocObj }\r\n : {\r\n ...initialDocObj,\r\n }\r\n );\r\n const [panObj, setPanObj] = useState({\r\n ...JSON.parse(JSON.stringify(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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\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?.isKRA && GlobalStore?.stageStatus?.accountcategory == 2) {\r\n setCameraPermission(false);\r\n }\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 if (\r\n GlobalStore?.isKRA &&\r\n GlobalStore?.stageStatus?.accountcategory == 2 &&\r\n uploadedPhotoRefElement !== null &&\r\n uploadedPhotoRefElement.current !== null\r\n )\r\n uploadedPhotoRefElement.current!.hidden = true;\r\n }, []);\r\n React.useEffect(() => {\r\n if (\r\n panBase64 !== null &&\r\n panBase64 !== undefined &&\r\n panBase64 !== \"\" &&\r\n (panObj?.imgUrl == \"\" ||\r\n panObj?.imgUrl == undefined ||\r\n panObj?.imgUrl == null)\r\n ) {\r\n setPanObj((panObj) => {\r\n panObj.imgUrl = getbase64(panBase64, panObj);\r\n return panObj;\r\n });\r\n }\r\n }, [panBase64]);\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 GlobalStore.location = {\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 setPanObj((panObj) => {\r\n panObj.documentCategoryId = panData[0].DocumentCategoryId;\r\n panObj.documentId = panData[0].DocumentId;\r\n panObj.documentcategory = panData[0].DocumentCategory;\r\n panObj.fileName = `${GlobalStore.applicationID}_Pan Card`;\r\n return panObj;\r\n });\r\n // let panCopy = { ...panObj };\r\n\r\n // // panCopy.base64 = panBase64 ? panBase64 : panObj?.base64;\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 // let permAddObjListNew=permAddObjlist((permAdd:any)=>permAdd?.DocumentId!==125);\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 setPanObj((panObj) => {\r\n let panObjNew = { ...panObj };\r\n panObjNew.id = \"panCard\";\r\n panObjNew.disable = false;\r\n panObjNew.uploadPer = 100;\r\n panObjNew.fileName = `${GlobalStore.applicationID}_Pan Card`;\r\n panObjNew.showFile = false;\r\n panObjNew.hideProgress = false;\r\n panObjNew.mimeType = isPANCard[0].MimeType;\r\n panObjNew.documentCategoryId = isPANCard[0].DocumentCategoryId;\r\n panObjNew.documentId = isPANCard[0].DocumentId;\r\n panObjNew.documentcategory = isPANCard[0].DocumentCategory;\r\n ADownloadDocument(\r\n (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 || 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 panObjNew.imgUrl = base64;\r\n // setPanObj((panObj) => {\r\n\r\n // return panObj;\r\n // });\r\n\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 isPANCard[0].FileName,\r\n isPANCard[0].UploadedDocPath\r\n );\r\n return panObjNew;\r\n });\r\n\r\n // setPanObj(panObj);\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 return panObj;\r\n });\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 const popularSignatures = {\r\n JVBERi0: \"application/pdf\",\r\n R0lGODdh: \"image/gif\",\r\n R0lGODlh: \"image/gif\",\r\n iVBORw0KGgo: \"image/png\",\r\n \"/9j/\": \"image/jpg\",\r\n Qk02U: \"image/bmp\",\r\n };\r\n\r\n function detectMimeType(base64 = \"\") {\r\n for (const [signature, type] of Object.entries(popularSignatures)) {\r\n if (base64.startsWith(signature)) {\r\n return type;\r\n }\r\n }\r\n return undefined; // Explicitly return undefined if no match is found\r\n }\r\n\r\n function getbase64(dataString: string, obj: DocDetailFormat) {\r\n if (obj.mimeType === \"\" || obj.mimeType == \".\") {\r\n let mimeType = detectMimeType(dataString);\r\n return \"data:\" + mimeType + \";base64,\" + dataString;\r\n } else {\r\n return (\r\n \"data:\" +\r\n (obj.mimeType === \"application/pdf\"\r\n ? \"application/pdf\"\r\n : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\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 setPanObj((panObj) => {\r\n const base64 = getbase64(res.data.base64document, panObj);\r\n panObj.imgUrl = base64;\r\n return panObj;\r\n });\r\n\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 if (detectMimeType(res.data.base64document) !== \"application/pdf\") {\r\n permAddressObj.base64 = base64;\r\n } else 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 const onPhotographUpload = (\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n setIsLoading(true);\r\n // setLoaderSign(true);\r\n let saveDocumentInfor = [];\r\n photoObj.imgUrl = val!.split(\",\")[1];\r\n setPhotoObj(photoObj);\r\n setPhotoBase64(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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType:\r\n photoObj?.mimeType && photoObj?.mimeType !== \"\"\r\n ? photoObj?.mimeType\r\n : \"image/jpeg\",\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 saveDocumentInfor.push(savePhotoObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentInfor,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n AUploadDocument(\r\n (res: any) => getFetchResponse(res, fileName),\r\n uploadObj,\r\n () => {},\r\n saveObj\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 createdBy: parseInt(userId),\r\n };\r\n ASaveIPVerificationDetails(\r\n (res: any) => iPVerificationSaved(res, ipvObj),\r\n ipvObj\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 saveDocumentInfor = [];\r\n let savePhotoObj = {\r\n documentCategoryId: photoObj.documentCategoryId?.toString(),\r\n documentId: photoObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: new_File.name,\r\n isfilecropped: true,\r\n mimeType:\r\n photoObj?.mimeType && photoObj?.mimeType !== \"\"\r\n ? photoObj?.mimeType\r\n : \"image/jpeg\",\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 saveDocumentInfor.push(savePhotoObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentInfor,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: base64,\r\n filename: new_File.name,\r\n panNo: GlobalStore?.personaldetails.pan,\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 saveObj\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 createdBy: parseInt(userId),\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 panNo: GlobalStore?.personaldetails.pan,\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 createdBy: parseInt(userId),\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 const onRemovePhotoObj = () => {\r\n setPhotoObj((photoObj) => {\r\n photoObj.base64 = \"\";\r\n photoObj.imgUrl = \"\";\r\n return photoObj;\r\n });\r\n };\r\n function onRemove(doc: any, docType: string) {\r\n if (docType === \"panObj\") {\r\n setPanObj((panObj) => {\r\n panObj.base64 = \"\";\r\n panObj.imgUrl = \"\";\r\n return panObj;\r\n });\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 setErrCode(\"\");\r\n setPanObj((panObj) => {\r\n panObj.imgUrl = \"\";\r\n return panObj;\r\n });\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 panNo: GlobalStore?.personaldetails.pan,\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 /*\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 let saveDetails: any[] = [];\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: getMimeType(val!.split(\",\")[1]),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: panObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n //let autoQc: boolean = false;\r\n AextractPan((res: any) => {\r\n if (!res || res.error) {\r\n gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n\r\n if (res?.data?.error) {\r\n setErrCode(res?.data?.error);\r\n setIsLoading(false);\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 // savePanObj.autoqc = false;\r\n // saveDetails.push(savePanObj);\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 // AUploadDocument(\r\n // (res: any) => getUploadRes(res, id, val, fileName),\r\n // uploadObj,\r\n // (event: ProgressEvent) => onUploadProgress(event, id, fileName, type),\r\n // saveObj\r\n // );\r\n // setIsLoading(false);\r\n // setErrCode(\"1361- Error in uploading the file.\");\\\r\n // setErrCode(errCode + res.error);\r\n\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 if (res?.data?.error) {\r\n setErrCode(res?.data?.error);\r\n let panCopy = { ...panObj };\r\n panCopy.id = id;\r\n panCopy.disable = false;\r\n panCopy.uploadPer = 100;\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 setPanButDisable(true);\r\n setIsLoading(false);\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR134-E\",\r\n // });\r\n } else {\r\n setPanButDisable(false);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n false\r\n // clientPartialDetails_ao.pan !==\r\n // res.data.result.extraction_output.id_number\r\n ) {\r\n savePanObj.autoqc = false;\r\n saveDetails.push(savePanObj);\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 AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\r\n // setIsPanAndDobMatch(false);\r\n // setErrCode(errorMessage.imgNotMatchWithPan);\r\n // setPanCardError(errorMessage.imgNotMatchWithPan);\r\n } else {\r\n savePanObj.autoqc = true;\r\n saveDetails.push(savePanObj);\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 AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) =>\r\n onUploadProgress(event, id, fileName, type),\r\n saveObj\r\n );\r\n // setIsPanAndDobMatch(true);\r\n // setPanCardError(\"\");\r\n // setErrCode(\"\");\r\n }\r\n }\r\n }\r\n }\r\n }, panOCR);\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n const savebankDetails = [];\r\n let firstBanObj = {\r\n documentCategoryId: firstBankObj.documentCategoryId?.toString(),\r\n documentId: firstBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: firstBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(firstBanObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n setErrCode(\"\");\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n const savebankDetails = [];\r\n let secondBanObj = {\r\n documentCategoryId: secondBankObj.documentCategoryId?.toString(),\r\n documentId: secondBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: secondBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(secondBanObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 const savebankDetails = [];\r\n let thirdBank = {\r\n documentCategoryId: thirdBankObj.documentCategoryId?.toString(),\r\n documentId: thirdBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: thirdBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(thirdBank);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n const savebankDetails = [];\r\n let foruthBank = {\r\n documentCategoryId: fourthBankObj.documentCategoryId?.toString(),\r\n documentId: fourthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: fourthBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(foruthBank);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n const savebankDetails = [];\r\n let saveBank = {\r\n documentCategoryId: fifthBankObj.documentCategoryId?.toString(),\r\n documentId: fifthBankObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: fifthBankObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n };\r\n savebankDetails.push(saveBank);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savebankDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\r\n );\r\n }\r\n function getMimeType(base64String?: string) {\r\n // Split the string to get the metadata part before the comma\r\n if (base64String !== null && base64String !== undefined) {\r\n const mimeType = base64String.match(/^data:([^;]+);base64,/);\r\n\r\n // Return MIME type if present, otherwise return null\r\n return mimeType ? mimeType[1] : \".\";\r\n }\r\n return \".\";\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveAddressDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveAddressDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 let saveAddressDetails = [];\r\n\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 let saveAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: permAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(res.data.result.base64_image),\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 saveAddressDetails.push(saveAddressObj);\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 panNo: GlobalStore?.personaldetails.pan,\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 let saveAddressObj = {\r\n documentCategoryId:\r\n permSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: permSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(res.data.result.base64_image),\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 saveAddressDetails.push(saveAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64 || \"\",\r\n filename: permSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\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 let saveAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(res.data.result.base64_image),\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 saveAddressDetails.push(saveAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\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 let saveAddressObj = {\r\n documentCategoryId:\r\n corrSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: corrSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(res.data.result.base64_image),\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 saveAddressDetails.push(saveAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n }\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveAddressDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 setIsLoading(false);\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 let panNo: string = \"\";\r\n const clientPartialDetails_ao1 = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n panNo = clientPartialDetails_ao1.pan;\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocuments = [];\r\n let saveDocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeOne.photo.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeOne.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fnpnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveDocuments.push(saveDocObj);\r\n\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocuments,\r\n leadId: GlobalStore.leadId,\r\n\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let saveTwoDocuments = [];\r\n let saveTwpDocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeOne.signature.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeOne.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fnsnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveTwoDocuments.push(saveTwpDocObj);\r\n\r\n const savetwoObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveTwoDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 savetwoObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let saveThreeDocuments = [];\r\n let saveThreeDocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeTwo.photo.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeTwo.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: snpnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n saveThreeDocuments.push(saveThreeDocObj);\r\n\r\n const savethreeObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveThreeDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 savethreeObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let savefourthDocuments = [];\r\n let savefourthDocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeTwo.signature.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeTwo.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: nssnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n savefourthDocuments.push(savefourthDocObj);\r\n\r\n const savefourthObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savefourthDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 savefourthObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let savefiveDocuments = [];\r\n let savefiveDocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeThree.photo.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeThree.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: ntpnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n savefiveDocuments.push(savefiveDocObj);\r\n\r\n const savefiveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savefiveDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 savefiveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let savesixDocuments = [];\r\n let savesixDocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeThree.signature.documentCategoryId.toString(),\r\n documentId: nomineeDocsIds.nomineeThree.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: ntsnewfileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n savesixDocuments.push(savesixDocObj);\r\n\r\n const savesixObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savesixDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 savesixObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let savesevenDocuments = [];\r\n let savesevenDocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeOne.guardianDetails.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n savesevenDocuments.push(savesevenDocObj);\r\n\r\n const savesevenObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: savesevenDocuments,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 savesevenObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n\r\n let save8Documents = [];\r\n let save8DocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeOne.guardianDetails.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save8Documents.push(save8DocObj);\r\n\r\n const save8Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save8Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 save8Obj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let save9Documents = [];\r\n let save9DocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeTwo.guardianDetails.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save9Documents.push(save9DocObj);\r\n\r\n const save9Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save9Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 save9Obj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let save10Documents = [];\r\n let save10DocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeTwo.guardianDetails.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save10Documents.push(save10DocObj);\r\n\r\n const save10Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save10Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 save10Obj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let save11Documents = [];\r\n let save11DocObj = {\r\n documentcategory: \"Photograph\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeThree.guardianDetails.photo.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save11Documents.push(save11DocObj);\r\n\r\n const save11Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save11Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 save11Obj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let save12Documents = [];\r\n let save12DocObj = {\r\n documentcategory: \"Signature\",\r\n documentCategoryId:\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature.documentCategoryId.toString(),\r\n documentId:\r\n nomineeDocsIds.nomineeThree.guardianDetails.signature.documentId,\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\r\n panno:\r\n panNo && panNo !== \"\" ? panNo : GlobalStore.personaldetails.pan,\r\n isWatsappFlag: true,\r\n personaldetailsid: \"0\",\r\n autoqc: false,\r\n iskycdocument: false,\r\n };\r\n save12Documents.push(save12DocObj);\r\n\r\n const save12Obj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: save12Documents,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 save12Obj\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 setErrCode(\"\");\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 && signatureObj.base64 !== \"\") {\r\n let saveDetails = [];\r\n let saveSignatureObj = {\r\n documentCategoryId: signatureObj.documentCategoryId?.toString(),\r\n documentId: signatureObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileNameCheck,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 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 let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: signatureObj.base64!.split(\",\")[1],\r\n panNo: GlobalStore?.personaldetails.pan,\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 saveObj\r\n );\r\n } else {\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n panNo: GlobalStore?.personaldetails.pan,\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 let saveDetails = [];\r\n let saveSignatureObj = {\r\n documentCategoryId: signatureObj.documentCategoryId?.toString(),\r\n documentId: signatureObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 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 AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type),\r\n saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDetails = [];\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 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 AUploadDocument(\r\n (res: any) => getUploadRes(res, id, val, fileName),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type),\r\n saveObj\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 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(false);\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(false);\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(false);\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 setIsLoading(false);\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 setIsLoading(false);\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 getLocation();\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 // AGetPendingDocument(pendingDocQC, GlobalStore.applicationID);\r\n // saveDocument();\r\n if (userId !== null && userId !== undefined && userId !== \"0\") {\r\n QCServiceTaskCreation(\r\n (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n // setIsLoading(false);\r\n // handErrorForFileUpload(id, res);\r\n setErrCode(res.error);\r\n\r\n setLoaderSign(false);\r\n } else {\r\n if (\r\n res &&\r\n res.data !== null &&\r\n Object.keys(res?.data)?.length > 0\r\n ) {\r\n // getSaveStatusNew();\r\n // history.replace(containerUrl.submit);\r\n history.push(statusUrl.docVerificationInProgress);\r\n } else {\r\n setErrCode(\"Something went wrong. please try again later.\");\r\n setIsLoading(false);\r\n setLoaderSign(false);\r\n }\r\n }\r\n },\r\n GlobalStore?.applicationID,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0\r\n );\r\n } else getSaveStatusNew();\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 (savePanObj?.fileName == \"\") {\r\n savePanObj.fileName = `${GlobalStore.applicationID}_Pan Card`;\r\n }\r\n // if(savePanObj?.b)\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 const getSaveStatusNew = () => {\r\n AGetPendingDocument((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 setLoaderSign(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 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 item.DocumentCategory !== \"In Person Verification\"\r\n );\r\n if (onlyIpvPending?.length == 0) {\r\n setLoaderSign(false);\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 setErrCode(\"Please upload all required documents.\");\r\n setIsLoading(false);\r\n setLoaderSign(false);\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 }, GlobalStore.applicationID);\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 const hideSeflieOption = () => {\r\n if (GlobalStore?.isKRA && GlobalStore?.stageStatus?.accountcategory == 2) {\r\n return true;\r\n } else return false;\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 const panSkipIfAPI = () => {\r\n if (GlobalStore.isKRA && parseInt(userId) > 0) return false;\r\n else return (!panObj.imgUrl && !isNewPan) || !isPanAndDobMatch;\r\n };\r\n const selfieSkipIfAPI = () => {\r\n if (\r\n GlobalStore.isKRA &&\r\n parseInt(userId) > 0 &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n )\r\n return false;\r\n else if (\r\n GlobalStore.isKRA &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n ) {\r\n return false;\r\n } else return !photoObj.imgUrl && !isNewPhoto;\r\n };\r\n const disableSelfieCapture = () => {\r\n if (\r\n GlobalStore.isKRA &&\r\n parseInt(userId) > 0 &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n )\r\n return true;\r\n else if (\r\n GlobalStore.isKRA &&\r\n GlobalStore?.stageStatus?.accountcategory == 2\r\n ) {\r\n return true;\r\n } else return false;\r\n };\r\n const checkFilledForm = () => {\r\n // Check if photo is taken\r\n if (selfieSkipIfAPI()) {\r\n return true;\r\n } else if (panSkipIfAPI()) {\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 console.log(\r\n \"button condition\",\r\n (typeof errCode === \"string\" && errCode != \"\") ||\r\n checkESignSubmitted(GlobalStore.applicationID) ||\r\n signatureListError ||\r\n checkFilledForm() ||\r\n permAddButDisable ||\r\n panButDisable ||\r\n // || nomineeDisable ||\r\n // guardianDisable\r\n liveLocationCheck.checkPhotoLiveness,\r\n \"(typeof errCode\",\r\n typeof errCode === \"string\" && errCode != \"\",\r\n \"EsignSubmitted\",\r\n checkESignSubmitted(GlobalStore.applicationID),\r\n \"signature\",\r\n signatureListError,\r\n \"filledForm\",\r\n checkFilledForm(),\r\n \"permAddButDisable\",\r\n permAddButDisable,\r\n \"panButDisable\",\r\n panButDisable,\r\n // || nomineeDisable ||\r\n // guardianDisable\r\n \"liveLocationCheck.checkPhotoLiveness\",\r\n liveLocationCheck.checkPhotoLiveness\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 {hideSeflieOption() ? (\r\n <>\r\n ) : (\r\n <>\r\n \r\n \r\n {showPhotographBrowseOption() ? (\r\n
\r\n
\r\n {\r\n onRemovePhotoObj();\r\n }}\r\n docType=\"image/jpeg, image/jpg\"\r\n extensionTypes=\"JPEG,JPG\"\r\n errorMsgCode={errorCode.FE49}\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 disabledClick={disableSelfieCapture()}\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 if (disableSelfieCapture()) {\r\n } else {\r\n capturePhoto();\r\n }\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 \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 {/* {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 {!(GlobalStore?.isKRA && parseInt(userId) > 0) &&\r\n panObj !== null &&\r\n 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\" &&\r\n item?.DocumentType == \"PAN CARD\" && (\r\n \r\n <>\r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n })}\r\n {errCode && panButDisable == true && (\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 {/* {!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 !== null &&\r\n isManual !== undefined &&\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 {!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 {regectedDocStatus &&\r\n regectedDocStatus.map(function (item: any) {\r\n return (\r\n
\r\n {\" \"}\r\n {item.ContentType ===\r\n \"PROOF OF ADDRESS CORRESPONDENCE\" && (\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 && panButDisable == false && (\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 from \"../../UI/Button/Button\";\r\nimport {\r\n authenticateNavBarObj,\r\n containerUrl,\r\n dashboardUrl,\r\n dematNavBarObj,\r\n DIY,\r\n leftNavBarArray,\r\n statusUrl,\r\n} from \"../../utils/constants\";\r\n\r\nimport { pan, alphaNumExp } from \"../../utils/regex\";\r\nimport \"./PANInfo.scss\";\r\nimport {\r\n ACheckPanIbeats,\r\n AGetClientDetailsByPan,\r\n AGetClientDetailsByLeadId,\r\n AIsPANExists,\r\n ASavePanDobDetails,\r\n AGetCkycNumber,\r\n AGetKraDetails,\r\n AGetEmployeeByPan,\r\n ACheckUCCExists,\r\n APanVerification,\r\n} from \"../../Services/registration/panDobApiService\";\r\nimport {\r\n ACreateLeadSource,\r\n ALeadFetchApi,\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} 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 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 { initialPanDocObj } from \"../../DocumentVerification/DocVerificationForm/DocVerificationForm\";\r\nimport {\r\n AextractPanNew,\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 config from \"../../../config/domain\";\r\nimport { errorMessage } from \"../../utils/errorMessage\";\r\nimport { ASendSms } from \"../../Services/dashboard/ipvApiServices\";\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 ILocalQueryObject {\r\n email?: string;\r\n mobile?: string;\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n pan?: string;\r\n dob?: string;\r\n productid?: string;\r\n categoryid?: string;\r\n rmid?: string;\r\n leadid?: string;\r\n accountCategory?: string;\r\n createdBy?: any;\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 const localProductCode = quryParams.get(\"productCode\");\r\n const localProuctObj = quryParams.get(\"localProuctObj\");\r\n const id = quryParams.get(\"id\");\r\n const name = quryParams.get(\"name\");\r\n const skipUrl = quryParams.get(\"skipUrl\");\r\n const [dematAccountFound, setDematAccountFound] = React.useState(null);\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 [prodObj, setProdObj] = React.useState({});\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 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\r\n const [consent, setConsent] = React.useState(true);\r\n const [togPhoto, setTogPhoto] = 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 [skipUrlBoolean, setSkipUrlBoolean] = React.useState(false);\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 let salesLandingPage = localStorage.getItem(\"salesLandingPage\");\r\n const [documentsInfo, setDocumentInfo] = useState({\r\n totalDocs: [],\r\n totalDocsCount: 0,\r\n uploadedDocsCount: 0,\r\n });\r\n\r\n let panDob: string;\r\n const saveDetails: saveDocumentObj[] = [];\r\n const saveKraDetails: saveDocumentObj[] = [];\r\n\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 const convertDate = (dateString: string) => {\r\n // Split the input date string by \"/\"\r\n const [day, month, year] = dateString.split(\"/\");\r\n\r\n // Create a new Date object with the parsed values\r\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day)); // month - 1 because months are zero-indexed\r\n\r\n // Format the date to \"mm-dd-yyyy\"\r\n const formattedDate = `${(date.getMonth() + 1)\r\n .toString()\r\n .padStart(2, \"0\")}-${day.padStart(2, \"0\")}-${year}`;\r\n\r\n return formattedDate;\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 console.log(\"skipUrl\", skipUrl);\r\n if (\r\n skipUrl !== null &&\r\n skipUrl !== undefined &&\r\n skipUrl !== \"\" &&\r\n skipUrl?.toLowerCase() == \"yes\"\r\n ) {\r\n if (\r\n id !== null &&\r\n id !== undefined &&\r\n id !== \"\" &&\r\n id?.length > 0 &&\r\n name !== null &&\r\n name !== undefined &&\r\n name !== \"\" &&\r\n name?.length > 0\r\n ) {\r\n // setIsLoading(true);\r\n setPanFileUploadedLoader(true);\r\n ALeadFetchApi(\r\n (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n setSkipUrlBoolean(true);\r\n setPanFileUploadedLoader(false);\r\n setPanFileUploaded(true);\r\n // gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124\" });\r\n } else if (res?.data) {\r\n if (Array?.isArray(res?.data) && res?.data?.length > 0) {\r\n let productObj = res?.data[0] as ILocalQueryObject;\r\n setPanFileUploadedLoader(false);\r\n if (\r\n productObj?.createdBy != null &&\r\n productObj?.createdBy !== undefined\r\n ) {\r\n setProdObj(productObj);\r\n setSkipUrlBoolean(true);\r\n setWillDoLater(true);\r\n setDobChecked(true);\r\n setValues((values) => {\r\n if (productObj?.pan) {\r\n values.pan = productObj.pan;\r\n }\r\n if (productObj?.dob) {\r\n values.dob = moment(\r\n moment(convertDate(productObj?.dob)).toDate()\r\n )\r\n .startOf(\"day\")\r\n .toDate();\r\n if (ageCalculator(values.dob) > 60) {\r\n window.sessionStorage.setItem(\r\n \"isSeniorCitizen\",\r\n \"true\"\r\n );\r\n } else {\r\n window.sessionStorage.setItem(\r\n \"isSeniorCitizen\",\r\n \"false\"\r\n );\r\n }\r\n }\r\n if (productObj?.firstName) {\r\n values.firstName = productObj?.firstName;\r\n }\r\n if (productObj?.middleName) {\r\n values.middleName = productObj?.middleName;\r\n }\r\n if (productObj?.lastName) {\r\n values.lastName = productObj?.lastName;\r\n }\r\n if (productObj?.leadid) {\r\n GlobalStore.leadId = productObj?.leadid;\r\n }\r\n if (productObj?.email) {\r\n GlobalStore.user.email = productObj?.email;\r\n }\r\n if (productObj?.mobile) {\r\n GlobalStore.user.mobile = productObj?.mobile;\r\n }\r\n if (productObj?.createdBy) {\r\n GlobalStore.user.rmCode = productObj?.createdBy;\r\n }\r\n if (productObj?.accountCategory) {\r\n GlobalStore.accountcategory = parseInt(\r\n productObj?.accountCategory\r\n );\r\n GlobalStore.user.accountType =\r\n parseInt(productObj?.accountCategory) == 2 ? \"I\" : \"TD\";\r\n }\r\n let PANFirstName = productObj?.firstName;\r\n let PANMiddleName = productObj?.middleName ?? \"\";\r\n let PANlastName = productObj?.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 +\r\n \" \" +\r\n 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 = {\r\n PanNo: values.pan,\r\n Firstname: PANFirstName,\r\n Middlename: PANMiddleName,\r\n Lastname: PANlastName,\r\n PANIssueDate: \"\",\r\n AadharSeedingStatus: \"\",\r\n VendorName: \"\",\r\n IsValid: true,\r\n IsAadharSeeded: \"\",\r\n };\r\n let reqObj: any = {\r\n pan: productObj.pan,\r\n accountType: productObj?.accountCategory,\r\n rmId: productObj?.createdBy,\r\n };\r\n let newReqObj = {\r\n rmid: productObj?.createdBy,\r\n skipUrlBoolean: true,\r\n };\r\n AgetClientDetailsByPANNew(reqObj, newReqObj);\r\n return values;\r\n });\r\n setPanFileUploaded(true);\r\n }\r\n }\r\n }\r\n },\r\n {\r\n id: encodeURIComponent(id),\r\n name: encodeURIComponent(name),\r\n stageFlag: 1,\r\n }\r\n );\r\n }\r\n } else {\r\n if (!GlobalStore.user.email || !GlobalStore.user.mobile) {\r\n if (!!navigateURL) {\r\n setSkipUrlBoolean(false);\r\n window.location.href = navigateURL;\r\n }\r\n }\r\n }\r\n }, []);\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 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 const UccCheckNewCalled = (res: any, callBackFunction: Function) => {\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 if (\r\n !!res?.data &&\r\n res?.data?.Source === 1 &&\r\n res?.data?.IbeatsCheck !== null &&\r\n res?.data?.IbeatsCheck !== undefined &&\r\n res?.data?.IbeatsCheck\r\n ) {\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 if (\r\n !!res?.data &&\r\n res?.data?.Source === 2 &&\r\n res?.data?.UccCheck !== null &&\r\n res?.data?.UccCheck !== undefined &&\r\n res?.data?.UccCheck\r\n ) {\r\n callBackFunction();\r\n }\r\n }\r\n };\r\n const panFunction = () => {\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 );\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 if (isMinor(values.dob)) {\r\n setErrCode(\"The PAN belongs to a minor.\");\r\n setIsLoading(false);\r\n } else {\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 let accountType = getProductCode() == \"I\" ? 2 : 1;\r\n if (getProductCode() == \"I\") {\r\n accountType = 2;\r\n }\r\n ACheckUCCExists(\r\n (res: any) => {\r\n UccCheckNewCalled(res, panFunction);\r\n },\r\n values.pan,\r\n GlobalStore.user.mobile,\r\n GlobalStore.user.email,\r\n GlobalStore.leadId,\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined &&\r\n prodObj?.createdBy !== \"\"\r\n ? parseInt(prodObj?.createdBy)\r\n : 0,\r\n accountType\r\n );\r\n }\r\n console.log(\"values\", values);\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 setErrCode(\r\n \" PAN uploaded does not belong to an 'Individual Resident.' Please upload a PAN for an 'Individual Resident' to proceed\"\r\n );\r\n setIsLoading(false);\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 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 function checkPendingUploadNew(res: any, reqObj?: any) {\r\n let dematAccountFoundLocal: any = null;\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 == null) {\r\n let isUploadDocumentsCompleted: boolean = false;\r\n AGetStageCompletionStatus(\r\n (res: any) =>\r\n getClientStageDetailsNew(res, isUploadDocumentsCompleted, reqObj),\r\n GlobalStore.applicationID\r\n );\r\n } else if (res && res.data !== null) {\r\n const list: Array = JSON.parse(res.data).filter(\r\n (item: any) => item.Mandatory == true\r\n );\r\n let isUploadDocumentsCompleted: boolean = false;\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n dematAccountFoundLocal = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocal !== undefined &&\r\n dematAccountFoundLocal !== null\r\n ) {\r\n setDematAccountFound((dematAccountFound: any) => {\r\n dematAccountFound = dematAccountFoundLocal;\r\n return dematAccountFound;\r\n });\r\n // completeModuleStatus(dashboardUrl.demat);\r\n // history.push(dashboardUrl.demat);\r\n // return;\r\n }\r\n }\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length > 1\r\n ) {\r\n dematAccountFoundLocal = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocal !== undefined &&\r\n dematAccountFoundLocal !== null\r\n ) {\r\n setDematAccountFound((dematAccountFound: any) => {\r\n dematAccountFound = dematAccountFoundLocal;\r\n return dematAccountFound;\r\n });\r\n // completeModuleStatus(dashboardUrl.demat);\r\n // history.push(dashboardUrl.demat);\r\n // return;\r\n }\r\n }\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n\r\n AGetStageCompletionStatus(\r\n (res: any) =>\r\n getClientStageDetailsNew(\r\n res,\r\n isUploadDocumentsCompleted,\r\n reqObj,\r\n dematAccountFoundLocal\r\n ),\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 function getClientStageDetailsNew(\r\n res: any,\r\n isUploadDocumentsCompleted: boolean,\r\n reqObj?: any,\r\n dematAccountFoundLocaL?: any\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 && res.data !== null) {\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 setStageData(responseObj);\r\n //check completeness of stages\r\n checkModuleCompleteness(\r\n isUploadDocumentsCompleted,\r\n dematAccountFoundLocaL ? dematAccountFoundLocaL : dematAccountFound\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 clientPartialDetails_ao.pan = GlobalStore.personaldetails.pan;\r\n\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.accountcategory = GlobalStore.accountcategory;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = responseObj?.fatherspousename;\r\n }\r\n clientPartialDetails_ao.dpid = responseObj?.dpid;\r\n clientPartialDetails_ao.clientid = responseObj?.dpclientid;\r\n GlobalStore.dpid = responseObj?.dpid;\r\n GlobalStore.clientid = responseObj?.dpclientid;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\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(\r\n isUploadDocumentsCompleted,\r\n dematAccountFoundLocaL ? dematAccountFoundLocaL : dematAccountFound\r\n );\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\r\n if (\r\n reqObj?.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined\r\n ) {\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n }\r\n if (responseObj?.isaddressstagecompleted == false) {\r\n GlobalStore.nextIncompleteStage = dashboardUrl.personalIfo;\r\n } else GlobalStore.nextIncompleteStage = dashboardUrl.profile;\r\n }\r\n\r\n if (responseObj.iskyc) GlobalStore.isKYC = true;\r\n\r\n if (\r\n !(\r\n responseObj.isprofiledetailscompleted &&\r\n responseObj.ispersonaldetailscompleted\r\n )\r\n ) {\r\n if (responseObj?.isaddressstagecompleted == false) {\r\n GlobalStore.nextIncompleteStage = dashboardUrl.personalIfo;\r\n } else GlobalStore.nextIncompleteStage = dashboardUrl.profile;\r\n } else if (!responseObj.isbankdetailscompleted) {\r\n GlobalStore.nextIncompleteStage = dashboardUrl.bank;\r\n } else if (\r\n responseObj?.accountcategory === 2 &&\r\n !responseObj?.isdpcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.demat;\r\n else if (!isUploadDocumentsCompleted)\r\n GlobalStore.nextIncompleteStage = dashboardUrl.doc;\r\n else if (\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 0\r\n )\r\n history.push(statusUrl.docVerificationInProgress);\r\n else if (responseObj.bpm_pd_status === 1)\r\n history.push(containerUrl.poa);\r\n let newReqObj = reqObj;\r\n newReqObj.isKra = responseObj.iskra;\r\n if (!isUploadDocumentsCompleted && responseObj.bpm_pd_status === 2) {\r\n history.push(statusUrl.documentReject);\r\n return;\r\n } else if (\r\n isUploadDocumentsCompleted == true &&\r\n responseObj.bpm_pd_status === 2\r\n ) {\r\n history.push(statusUrl.docVerificationInProgress);\r\n return;\r\n }\r\n if (\r\n reqObj?.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 0\r\n ) {\r\n history.push(statusUrl.docVerificationInProgress);\r\n } else if (\r\n reqObj?.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 1\r\n ) {\r\n if (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj?.auth_ver\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n } else {\r\n if (\r\n responseObj.isesigncompleted !== null &&\r\n responseObj.isesigncompleted == true &&\r\n responseObj?.auth_ver &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n } else history.push(containerUrl.kycsubmit);\r\n }\r\n } else savePanDob(true, true, newReqObj);\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 AgetClientDetailsByPANNew = (reqObj: any, newReqObj?: any) => {\r\n AGetClientDetailsByPan(\r\n (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 !== null) {\r\n if (res.data !== null && 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.accountcategory = res.AccountCategory;\r\n GlobalStore.clientPrimaryDetailId =\r\n res.data.ClientPrimaryDetailId;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = res.data.Token;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n res.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = res.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = res.AccountCategory;\r\n clientPartialDetails_ao.token = res.data.Token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n APendingUploadList((res: any) => {\r\n checkPendingUploadNew(res, newReqObj);\r\n }, GlobalStore.applicationID);\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 reqObj.pan,\r\n reqObj.accountType,\r\n reqObj.rmId\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 let accountType = getProductCode() == \"I\" ? 2 : 1;\r\n if (getProductCode() == \"I\") {\r\n accountType = 2;\r\n }\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n values.pan,\r\n accountType,\r\n skipUrlBoolean &&\r\n prodObj?.createdBy != null &&\r\n prodObj?.createdBy !== undefined\r\n ? prodObj?.createdBy\r\n : GlobalStore?.user?.userId\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\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 !== null) {\r\n if (res.data !== null && 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 GlobalStore.accountcategory = res.AccountCategory;\r\n APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n } else {\r\n savePanDob();\r\n }\r\n // else if (res.data == \"Records Not Found\") {\r\n // AGetClientDetailsByLeadId(\r\n // searchByLeadId,\r\n // GlobalStore.leadId,\r\n // getProductCode(),\r\n // GlobalStore?.user?.userId\r\n // );\r\n // }\r\n } else if (res.data === null) {\r\n savePanDob();\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 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 APendingUploadList(checkPendingUpload, GlobalStore.applicationID);\r\n\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 // 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\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 = (\r\n responseObj: any,\r\n skipSavePANDOB?: boolean,\r\n reqObj?: any\r\n ) => {\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 if (skipSavePANDOB) {\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails.pan;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore?.clientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = GlobalStore.applicationID;\r\n clientPartialDetails_ao.accountcategory = GlobalStore?.accountcategory;\r\n clientPartialDetails_ao.token = GlobalStore?.token;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\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 if (skipSavePANDOB) {\r\n menuOption(reqObj, () => {\r\n history.push(dashboardUrl.profile);\r\n });\r\n } else dobMatched({}, true, true);\r\n // getKraDocumentUpload(responseObj, true);\r\n // setTimeout(()=>{\r\n\r\n // },3000)\r\n };\r\n const menuOption = (reqObj?: any, redirctTo?: Function) => {\r\n if (\r\n reqObj.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined\r\n ) {\r\n if (!reqObj?.isKra || isPanLinkedToAadhar !== true) {\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0) filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n } else {\r\n setDobChecked(true);\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0) filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\r\n if (redirctTo !== undefined) redirctTo();\r\n }\r\n };\r\n const originalSavePANDOB = (\r\n applicationIdExists?: boolean,\r\n skipSavePANDOB?: boolean,\r\n reqObj?: any\r\n ) => {\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 {\r\n if (skipSavePANDOB) {\r\n menuOption(reqObj, () => {\r\n navigate(applicationIdExists, reqObj);\r\n });\r\n } else navigate(applicationIdExists);\r\n }\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 if (skipSavePANDOB) {\r\n let clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n 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 addressLine1: GlobalStore.addressLine1,\r\n corrAddress: GlobalStore.corrAddress,\r\n PinCode: GlobalStore.PinCode,\r\n corrPincode: GlobalStore.corrPincode,\r\n sameAsPermanent: GlobalStore.sameAsPermanent,\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 if (\r\n reqObj.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid !== undefined\r\n ) {\r\n if (!reqObj?.isKra || isPanLinkedToAadhar !== true) {\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0) filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n } else {\r\n // setShowSubmitModal(true);\r\n setDobChecked(true);\r\n // if (applicationModeType !== \"isKRA\") {\r\n // setApplicationModeType(\"isKRA\");\r\n // }\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0) filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\r\n }\r\n setShowSubmitModal(true);\r\n navigate(applicationIdExists, reqObj);\r\n } else {\r\n if (isPanLinkedToAadhar == true) {\r\n // AGetCkycNumber(\r\n // (res: any) => getCkycNumber(res, applicationIdExists),\r\n // values.pan\r\n // );\r\n dobMatched({});\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 };\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(\r\n applicationIdExists?: boolean,\r\n skipSavePANDOB?: boolean,\r\n reqObj?: any\r\n ) {\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 (\r\n res &&\r\n res.data &&\r\n res?.data?.Result &&\r\n res?.data?.Result.IsTaggingPresent\r\n ) {\r\n let cacheResponse = res?.data?.Result;\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, skipSavePANDOB, reqObj);\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 if (skipSavePANDOB) menuOption();\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 clientPartialDetails_ao.addressLine1 =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine1;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine2;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine3;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine4;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine1;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine2;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine3;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine4;\r\n GlobalStore.addressLine1 = clientPartialDetails_ao.addressLine1;\r\n GlobalStore.corrAddress = clientPartialDetails_ao.corrAddress;\r\n GlobalStore.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n GlobalStore.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\r\n GlobalStore.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n clientPartialDetails_ao.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\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 if (skipSavePANDOB) menuOption();\r\n history.push(dashboardUrl.profile);\r\n }\r\n } else {\r\n originalSavePANDOB(applicationIdExists, skipSavePANDOB, reqObj);\r\n }\r\n\r\n setCacheResponse(res?.data);\r\n } else {\r\n originalSavePANDOB(applicationIdExists, skipSavePANDOB, reqObj);\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, skipSavePANDOB, reqObj);\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 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 // 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(res, applicationIdExists);\r\n // //dobMatched(responseObj, applicationIdExists);\r\n // }\r\n // }\r\n // };\r\n const getProductCode = () => {\r\n let productCodeNew: string = \"\";\r\n if (\r\n GlobalStore?.user?.accountType !== null &&\r\n GlobalStore?.user?.accountType !== undefined &&\r\n GlobalStore?.user?.accountType !== \"\"\r\n ) {\r\n productCodeNew = GlobalStore?.user?.accountType;\r\n } else {\r\n const objAccType = window.sessionStorage.getItem(\"objAccType\");\r\n if (\r\n localProductCode !== null &&\r\n localProductCode !== undefined &&\r\n localProductCode !== \"\" &&\r\n localProductCode?.length > 0\r\n ) {\r\n productCodeNew = localProductCode;\r\n } else {\r\n if (objAccType === \"DMT\") {\r\n productCodeNew = \"D\";\r\n } else {\r\n productCodeNew = \"TD\";\r\n }\r\n }\r\n }\r\n\r\n return productCodeNew;\r\n };\r\n const getAccountCategory = () => {\r\n let accountCategory = null;\r\n if (getProductCode() == \"I\") {\r\n accountCategory = 2;\r\n } else {\r\n accountCategory = 1;\r\n }\r\n return accountCategory;\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: \"\",\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: getProductCode(),\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 accountCategory: getAccountCategory() !== null ? getAccountCategory() : 0,\r\n createdBy:\r\n skipUrlBoolean && !!prodObj?.createdBy && prodObj?.createdBy\r\n ? parseInt(prodObj?.createdBy)\r\n : 0,\r\n rmAssisted:\r\n skipUrlBoolean && !!prodObj?.createdBy && prodObj?.createdBy\r\n ? true\r\n : false,\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 const isMinor = (dob: any) => {\r\n const today = new Date();\r\n const birthDate = new Date(dob); // Parse the DOB\r\n const age = today.getFullYear() - birthDate.getFullYear();\r\n const monthDiff = today.getMonth() - birthDate.getMonth();\r\n const dayDiff = today.getDate() - birthDate.getDate();\r\n\r\n // Adjust age if the current date is before the birthday in the current year\r\n if (monthDiff < 0 || (monthDiff === 0 && dayDiff < 0)) {\r\n return age - 1 < 18;\r\n }\r\n\r\n if (age < 18) {\r\n return true;\r\n } else {\r\n return false;\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 let AccountObj = {\r\n PanNo: values?.pan,\r\n AccountCategory: getProductCode() == \"I\" ? 2 : 1,\r\n userid: prodObj?.createdBy,\r\n };\r\n let accountObjString = JSON.stringify(AccountObj);\r\n const encodedPan = btoa(accountObjString);\r\n let stringParams = `selfie?id=${encodedPan}`;\r\n\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 if (\r\n isPanLinkedToAadhar &&\r\n (getProductCode() == \"I\" || prodObj?.accountCategory == \"2\")\r\n ) {\r\n // setShowSubmitModal(true);\r\n // if (applicationModeType !== \"isKRA\") {\r\n // setApplicationModeType(\"isKRA\");\r\n // }\r\n\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndexForProfiler = leftNavBarArray?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndexForProfiler > 0)\r\n filterLeftBar?.splice(filterNavIndexForProfiler, 1);\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0) filterLeftBar?.splice(filterNavIndex, 1);\r\n\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\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 } else {\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\r\n if (isPanLinkedToAadhar !== true) {\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndexForProfiler = leftNavBarArray?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndexForProfiler > 0)\r\n filterLeftBar?.splice(filterNavIndexForProfiler, 1);\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0)\r\n filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n } else {\r\n // setShowSubmitModal(true);\r\n setDobChecked(true);\r\n // if (applicationModeType !== \"isKRA\") {\r\n // setApplicationModeType(\"isKRA\");\r\n // }\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == \"/plan\"\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex, 1);\r\n let filterNavIndex2 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex2, 1);\r\n let filterNavIndex3 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.profiler\r\n );\r\n if (filterNavIndex > 0)\r\n filterLeftBar?.splice(filterNavIndex3, 1);\r\n let filterNavIndex4 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.ipv\r\n );\r\n if (filterNavIndex4 > 0)\r\n filterLeftBar?.splice(filterNavIndex4, 1);\r\n if (!filterLeftBar?.includes(dematNavBarObj))\r\n filterLeftBar.push(dematNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\r\n }\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 fsfullName: values?.fatherName,\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 == null) {\r\n let isUploadDocumentsCompleted: boolean = false;\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res, isUploadDocumentsCompleted),\r\n GlobalStore.applicationID\r\n );\r\n } else if (res && res.data !== null) {\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 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 (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\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 {\r\n if (responseObj.isdigilockercompleted) {\r\n GlobalStore.isDigiLocker = true;\r\n console.log(\"setApplicationModeType 2\");\r\n setApplicationModeType(\"isDigiLocker\");\r\n }\r\n }\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?.accountcategory === 2 &&\r\n !responseObj?.isdpcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.demat;\r\n else if (\r\n responseObj?.accountcategory !== 2 &&\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 (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined &&\r\n !responseObj.isesigncompleted &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n 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 } 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 if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined &&\r\n !responseObj.isesigncompleted &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n if (responseObj.bpm_pd_status === 0)\r\n history.push(statusUrl.docVerificationInProgress);\r\n } else {\r\n savePanDob(true);\r\n }\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\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.AppStatus === \"07\"\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 if (getAccountCategory() == 2) {\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\r\n } else {\r\n let filterLeftBar = leftNavBarArray;\r\n let filterNavIndex1 = filterLeftBar?.findIndex(\r\n (filter) => filter?.navUrl == dashboardUrl.eSign\r\n );\r\n if (filterNavIndex1 > 0) filterLeftBar?.splice(filterNavIndex1, 1);\r\n if (!filterLeftBar?.includes(authenticateNavBarObj))\r\n filterLeftBar.push(authenticateNavBarObj);\r\n GlobalStore.leftNavBarState = filterLeftBar;\r\n }\r\n }\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 setShowSubmitModal(true);\r\n if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\r\n setDocumentInfo({\r\n totalDocs: [],\r\n totalDocsCount: 0,\r\n uploadedDocsCount: 0,\r\n });\r\n setIsLoading(false);\r\n } else {\r\n setIsLoading(false);\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 if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined\r\n ) {\r\n setIsNormalClient(true);\r\n setShowSubmitModal(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 history.push(dashboardUrl?.personalIfo);\r\n } else {\r\n setApplicationModeType(\"isDigiLocker\");\r\n\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 }\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 setPanInvalidMsg(checkPanValidationMsgs(res.data));\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 validatePANNew(\r\n res?.data?.SeedingStatus,\r\n res?.data?.SeedingStatusMsg,\r\n res?.data?.PanStatus\r\n );\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, reqObj?: any) {\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 if (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy != undefined\r\n ) {\r\n history.push(dashboardUrl.profile);\r\n } else {\r\n history.push(containerUrl.dgLocker);\r\n }\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 (\r\n skipUrlBoolean &&\r\n prodObj?.createdBy !== null &&\r\n prodObj?.createdBy != undefined &&\r\n applicationIdExists\r\n ) {\r\n history.push(GlobalStore.nextIncompleteStage);\r\n }\r\n if (\r\n reqObj !== null &&\r\n reqObj !== undefined &&\r\n reqObj?.skipUrlBoolean &&\r\n reqObj?.rmid !== null &&\r\n reqObj?.rmid != undefined &&\r\n applicationIdExists\r\n ) {\r\n history.push(GlobalStore.nextIncompleteStage);\r\n }\r\n if (!showSubmitModal) {\r\n setShowSubmitModal(true);\r\n setIsLoading(false);\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.documentCategoryId = \"2\";\r\n panObj.uploadPer = 100;\r\n setPanObj(panObj);\r\n setErrCode(\"\");\r\n setErrorFoundInPanValidation(false);\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 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?.data?.error) {\r\n setErrCode(errCode + res?.data?.error);\r\n setPanFileUploaded(true);\r\n setPanFileUploadedLoader(false);\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 if (res?.data?.result?.extraction_output?.name_on_card !== null) {\r\n let fullName =\r\n res?.data?.result?.extraction_output?.name_on_card?.split(\r\n \" \"\r\n );\r\n values.firstName =\r\n fullName?.length > 0 ? fullName[0] ?? \"\" : \"\";\r\n values.lastName =\r\n fullName?.length > 0\r\n ? fullName[fullName?.length - 1] ?? \"\"\r\n : \"\";\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 }\r\n\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 }\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 panNo: values?.pan,\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\r\n const saveobjUTM_Info = utmDurationInfoObj(startTime, \"panInfoDuration\");\r\n const objUTM_Info = utmDurationInfoObj(startTime, \"registrationdur\");\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 saveDetails.push(savePanObj);\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 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 AUploadDocument(\r\n (res: any) => getPanUploadRes(res, savePanObj),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type),\r\n saveObj\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\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 // 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 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 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 (\r\n isPanLinkedToAadhar !== null &&\r\n isPanLinkedToAadhar !== undefined &&\r\n isPanLinkedToAadhar == true\r\n ) {\r\n setIsLoading(true);\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 clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n // documentInfo: saveDetails,\r\n leadId: GlobalStore.leadId,\r\n CreatedBy:\r\n skipUrlBoolean && !!prodObj?.createdBy && prodObj?.createdBy\r\n ? parseInt(prodObj?.createdBy)\r\n : 0,\r\n };\r\n AGetKraDetails(\r\n (res: any) =>\r\n kraDobCheckNew(\r\n res,\r\n GlobalStore?.applicationID !== null &&\r\n GlobalStore?.applicationID !== undefined\r\n ? true\r\n : false\r\n ),\r\n reqObj\r\n );\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 {!skipUrlBoolean && (\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 {!skipUrlBoolean && (\r\n
\r\n
\r\n
\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, event) => {\r\n if (error.required) {\r\n setErrors({\r\n ...errors,\r\n firstName: errorMsg(errorCode.FE57),\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: errorMsg(errorCode.FE55),\r\n });\r\n } else if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n firstName: errorMsg(errorCode.FE55),\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, event) => {\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: errorMsg(errorCode.FE55),\r\n });\r\n } else if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n middleName: errorMsg(errorCode.FE55),\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, event) => {\r\n if (\r\n !!values?.lastName &&\r\n (values.lastName as string).slice(-1) == \" \"\r\n ) {\r\n setErrors({\r\n ...errors,\r\n lastName: errorMsg(errorCode.FE55),\r\n });\r\n } else if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n // firstname: error.required ? 'This field is required' : '',\r\n lastName: errorMsg(errorCode.FE55),\r\n });\r\n }\r\n }}\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 disable={\r\n isLoading ||\r\n errorFoundInPanValidation ||\r\n (prodObj?.createdBy !== null &&\r\n prodObj?.createdBy !== undefined &&\r\n prodObj?.createdBy !== 0 &&\r\n values?.dob !== null &&\r\n values?.dob !== undefined)\r\n }\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 {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 {utmObj &&\r\n Object.keys(utmObj).length > 0 &&\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
\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?.pan == null ||\r\n values?.pan == undefined ||\r\n values?.pan == \"\" ||\r\n (values?.firstName?.length == 0 &&\r\n values?.pan?.length == 0 &&\r\n (values?.dob === null ||\r\n values?.dob === undefined)) ||\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 (skipUrlBoolean ? false : !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 \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 {\r\n digiLockerUrl,\r\n dashboardUrl,\r\n containerUrl,\r\n} 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\nimport {\r\n AGetCacheData,\r\n AGetStageCompletionStatus,\r\n} from \"../../Services/registration/continueApiService\";\r\nimport { getProfileDetailsFromAadhar } from \"../ShareAdd/ShareAdd\";\r\nimport { setStageData } from \"../../Services/globalService\";\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 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 setStageCompletionStatus = async (callBackFunction: Function) => {\r\n const clientPartialDetails_ao = await JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n AGetStageCompletionStatus(\r\n (res: any) => {\r\n if (!res || res.error) {\r\n callBackFunction();\r\n // setErrCode(res.error);\r\n } else {\r\n if (res.data) {\r\n const responseObj = JSON.parse(res.data);\r\n if (\r\n responseObj?.isaddressstagecompleted ||\r\n (responseObj?.isprofiledetailscompleted &&\r\n responseObj?.ispersonaldetailscompleted)\r\n ) {\r\n history.push(containerUrl.continue);\r\n } else {\r\n AGetCacheData(\r\n (res: any) => {\r\n if (\r\n res &&\r\n res.data &&\r\n res?.data?.Result &&\r\n res?.data?.Result.IsTaggingPresent\r\n ) {\r\n let cacheResponse = res?.data?.Result;\r\n if (\r\n clientPartialDetails_ao?.applicationId &&\r\n responseObj.ispersonaldetailscompleted !== true &&\r\n responseObj.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(\r\n \"clientPartialDetails_ao\"\r\n ) || \"{}\"\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(\r\n \"clientPartialDetails_ao\"\r\n ) || \"{}\"\r\n );\r\n clientPartialDetails_ao.isKRA = GlobalStore.isKRA;\r\n clientPartialDetails_ao.isKYC = GlobalStore.isKYC;\r\n clientPartialDetails_ao.addressLine1 =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine1;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine2;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine3;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine4;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine1;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine2;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine3;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine4;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") ===\r\n \"true\"\r\n ? true\r\n : false;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n GlobalStore.clientPrimaryDetailId;\r\n clientPartialDetails_ao.dob = GlobalStore.dob;\r\n clientPartialDetails_ao.emailID =\r\n GlobalStore.user.email;\r\n\r\n clientPartialDetails_ao.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n clientPartialDetails_ao.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile =\r\n GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan =\r\n GlobalStore?.personaldetails?.pan;\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.token = GlobalStore.token;\r\n clientPartialDetails_ao.isSeeding =\r\n 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 callBackFunction();\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: clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID,\r\n key: `AOPDROPOFF-${\r\n clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID\r\n }`,\r\n }\r\n );\r\n }\r\n }\r\n }\r\n },\r\n clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID\r\n );\r\n };\r\n // Get Digilocker link\r\n React.useEffect(() => {\r\n setStageCompletionStatus(() => {\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 // if (\r\n // GlobalStore?.stageStatus?.isaddressstagecompleted ||\r\n // GlobalStore?.stageStatus?.ispersonaldetailscompleted ||\r\n // GlobalStore?.stageStatus?.isprofiledetailscompleted\r\n // ) {\r\n // history.push(containerUrl.continue);\r\n // } else {\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\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 from \"react\";\r\nimport \"./AccountTypeNew.scss\";\r\nimport Button from \"../../UI/Button/Button\";\r\nimport crown from \"../../../assets/icons/crown.png\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { containerUrl, dashboardUrl } from \"../../utils/constants\";\r\nimport DeviceContext from \"../../Services/identifyDevice\";\r\nimport config from \"../../../config/domain\";\r\nconst AccountTypeNew = (props: any) => {\r\n const history = useHistory();\r\n const hideInvestment: boolean = config.hideInvestment;\r\n const [selectAccount, setSelectAccount] = React.useState<{\r\n selected: boolean;\r\n accounType: string;\r\n }>({ selected: false, accounType: \"\" });\r\n const setInvestmentProductCode = () => {\r\n // localStorage.setItem(\"productCode\", \"I\");\r\n if (hideInvestment) {\r\n history.push(containerUrl.registration + \"?productCode=TD\");\r\n } else {\r\n history.push(containerUrl.registration + \"?productCode=I\");\r\n }\r\n };\r\n const setAOPProductCode = () => {\r\n // localStorage.setItem(\"productCode\", \"TD\");\r\n // history.push(containerUrl.registration);\r\n history.push(containerUrl.registration + \"?productCode=TD\");\r\n };\r\n const getButtonText = () => {\r\n let buttonText = \"Select Account to Open\";\r\n if (selectAccount?.accounType == \"TD\" && selectAccount?.selected) {\r\n buttonText = \"Open a Pro Account\";\r\n } else if (selectAccount?.accounType == \"I\" && selectAccount?.selected) {\r\n buttonText = \"Open a Starter Account\";\r\n }\r\n return buttonText;\r\n };\r\n const getButtonClass = () => {\r\n let buttonClass = \"pro-button-subsection-mobile\";\r\n if (selectAccount?.accounType == \"TD\" && selectAccount?.selected) {\r\n buttonClass = \"pro-button-subsection-mobile\";\r\n } else if (selectAccount?.accounType == \"I\" && selectAccount?.selected) {\r\n buttonClass = \"starter-button-subsection-mobile\";\r\n }\r\n return buttonClass;\r\n };\r\n const handleSubmit = () => {\r\n if (selectAccount?.accounType == \"TD\" && selectAccount?.selected) {\r\n setAOPProductCode();\r\n } else if (selectAccount?.accounType == \"I\" && selectAccount?.selected) {\r\n setInvestmentProductCode();\r\n }\r\n };\r\n return (\r\n <>\r\n {DeviceContext()?.isMobile ? (\r\n <>\r\n {\" \"}\r\n
\r\n
\r\n
\r\n Choose which Wealth account you want to open?\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {!hideInvestment && (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {\r\n setSelectAccount({\r\n selected: true,\r\n accounType: \"TD\",\r\n });\r\n }}\r\n >
\r\n \r\n {!hideInvestment && (\r\n
\r\n {\r\n setSelectAccount({\r\n selected: true,\r\n accounType: \"I\",\r\n });\r\n }}\r\n >
\r\n \r\n )}\r\n \r\n
\r\n {\r\n handleSubmit();\r\n }}\r\n btnName={getButtonText()}\r\n disabled={\r\n selectAccount?.accounType == \"\" &&\r\n selectAccount?.selected == false\r\n }\r\n parentClassName={\" button-class \" + getButtonClass()}\r\n type=\"button\"\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n ) : (\r\n
\r\n
\r\n {/* \r\n \r\n Back\r\n */}\r\n\r\n
\r\n {hideInvestment && (\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n Mutual Fund\r\n \r\n
  • \r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Insurance, Sovereign Gold (SGB), Unlisted equity\r\n \r\n \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n Equity, Derivatives, ETFs and other exchange-traded\r\n \r\n \r\n products\r\n \r\n
    \r\n
    \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n IPO and other Primary markets offerings\r\n \r\n \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Many more products\r\n \r\n \r\n
  • \r\n
\r\n
\r\n {\r\n setAOPProductCode();\r\n }}\r\n btnName=\"Open a Pro Account\"\r\n disabled={false}\r\n parentClassName=\" button-class pro-button-subsection\"\r\n type=\"button\"\r\n />\r\n
\r\n
\r\n {!hideInvestment && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n Mutual Fund\r\n \r\n
  • \r\n
\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Insurance, Sovereign Gold (SGB), Unlisted equity\r\n \r\n \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n Equity, Derivatives, ETFs and other exchange-traded\r\n \r\n \r\n products\r\n \r\n
    \r\n
    \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n IPO and other Primary markets offerings\r\n \r\n \r\n
  • \r\n
{\" \"}\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n Many more products\r\n \r\n \r\n
  • \r\n
\r\n
\r\n {\r\n setInvestmentProductCode();\r\n }}\r\n btnName=\"Open a Starter Account\"\r\n disabled={false}\r\n parentClassName=\" button-class starter-button-subsection\"\r\n type=\"button\"\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 AccountTypeNew;\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\nimport AccountType from \"../components/Registration/AccountType/AccountType\";\r\nimport AccountTypeNew from \"../components/Registration/AccountType/AccountTypeNew\";\r\nimport DeviceContext from \"../components/Services/identifyDevice\";\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 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\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\nimport moment from \"moment\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\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 let userId = 0;\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const [dematAccountFound, setDematAccountFound] = React.useState(null);\r\n\r\n React.useEffect(() => {\r\n if (history.action === \"POP\") {\r\n history.push(redirectToEntryPoint());\r\n console.log(\"console.log(\", 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 GlobalStore?.stageStatus?.accountcategory !== 2\r\n ) {\r\n if (userId === 0) {\r\n GlobalStore.leftNavBarState.push(ipvNavBarObj);\r\n }\r\n }\r\n }, [GlobalStore.isKYC, GlobalStore.isKRA]);\r\n\r\n React.useEffect(() => {\r\n setIsLoading(true);\r\n\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 isDematAccountFound: any = undefined;\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n let listObjFound = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n isDematAccountFound = listObjFound;\r\n if (listObjFound !== null && listObjFound !== undefined) {\r\n setDematAccountFound(listObjFound);\r\n isUploadDocumentsCompleted = true;\r\n }\r\n }\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length > 1\r\n ) {\r\n let listObjFound = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n isDematAccountFound = listObjFound;\r\n setDematAccountFound(listObjFound);\r\n // isUploadDocumentsCompleted = true;\r\n }\r\n ACheckClientProfilingData(\r\n getProfilerStatus,\r\n GlobalStore.applicationID,\r\n config.ClientProfilingDataSourseId\r\n );\r\n AGetStageCompletionStatus(\r\n (res: any) =>\r\n getClientStageDetails(\r\n res,\r\n isUploadDocumentsCompleted,\r\n isDematAccountFound\r\n ),\r\n GlobalStore.applicationID\r\n );\r\n } else if (res?.data == null) {\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, false),\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 isDematAccountFound?: 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 // GlobalStore.leftNavBarState = GlobalStore.leftNavBarState?.filter(\r\n // (res) =>\r\n // responseObj?.accountcategory !== 2 &&\r\n // res.navUrl == dashboardUrl.plan\r\n // );\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n GlobalStore.pennyDropCount = responseObj.pennydropcount;\r\n clientPartialDetails_ao.pennyDropCount = responseObj.pennydropcount;\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 if (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj.iskra\r\n ) {\r\n GlobalStore.isKRA = responseObj.iskra;\r\n }\r\n if (!clientPartialDetails_ao.emailID) {\r\n clientPartialDetails_ao.emailID = responseObj.emailid;\r\n }\r\n if (\r\n responseObj?.dob !== null &&\r\n responseObj?.dob !== undefined &&\r\n responseObj?.dob !== \"\"\r\n ) {\r\n clientPartialDetails_ao.dob = moment(responseObj?.dob).format(\r\n \"MM/DD/YYYY\"\r\n );\r\n GlobalStore.birthDate = moment(responseObj?.dob).format(\"MM/DD/YYYY\");\r\n }\r\n\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = responseObj?.fatherspousename;\r\n }\r\n clientPartialDetails_ao.dpid = responseObj?.dpid;\r\n clientPartialDetails_ao.clientid = responseObj?.dpclientid;\r\n GlobalStore.dpid = responseObj?.dpid;\r\n GlobalStore.clientid = responseObj?.dpclientid;\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(\r\n isUploadDocumentsCompleted,\r\n isDematAccountFound\r\n );\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?.accountcategory === 2 &&\r\n !responseObj?.isdpcompleted\r\n )\r\n GlobalStore.nextIncompleteStage = dashboardUrl.demat;\r\n else if (\r\n responseObj?.accountcategory !== 2 &&\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(\r\n getEsignUrl,\r\n GlobalStore.applicationID,\r\n 1,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0,\r\n GlobalStore?.personaldetails?.pan\r\n );\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\nimport GlobalStore from \"../../store/globalStore\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { DropOffLogAPI } from \"../../Services/dashboard/docVerificationAPIServices\";\r\n\r\nexport interface ProfileHomeProps {}\r\n\r\nconst ProfileHome: React.FC = (props) => {\r\n const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 14,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\r\n React.useEffect(() => {\r\n dropOffObj();\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;\r\n","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: \"MastersData/GetBank\",\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: \"BankStage/Save\",\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: \"MastersData/GetBank\",\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: \"MastersData/GetBank\",\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: \"MastersData/GetBank\",\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: \"BankStage/Get\",\r\n body: {\r\n applicationId: applicationid,\r\n esigndocumenttype: 0\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: \"Document/GetOCRData\",\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, ITokenObj } 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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\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 [matchScore, setMatchScore] = 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 let userId = \"0\";\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\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 setMatchScore(responseObj[0]?.match_score != \"0\");\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\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 setIsSbi(true);\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 const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n\r\n if (\r\n clientPartialDetails_ao?.pennyDropCount &&\r\n +clientPartialDetails_ao?.pennyDropCount <= 3\r\n ) {\r\n setShowPennyDropModal(true);\r\n }\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 // console.log(\r\n // \"accountHolderName\",\r\n // GlobalStore.accountHolderName === \"\",\r\n // lists[lists.length - 1].bankdetailsid === 0\r\n // );\r\n\r\n if (\r\n // (GlobalStore.accountHolderName === \"\" ||\r\n // lists[lists.length - 1].bankdetailsid === 0) &&\r\n +clientPartialDetails_ao?.pennyDropCount <= 3\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 saveBankDetailsNew();\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 saveBankDetailsNew(null);\r\n } else {\r\n let parsedRes = null;\r\n res.data?.code !== 400\r\n ? (parsedRes = JSON.parse(res.data))\r\n : (parsedRes = res.data);\r\n\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 saveBankDetailsNew(responseObj);\r\n }\r\n }\r\n setShowPennyDropModal(false);\r\n };\r\n const saveBankDetailsNew = (responseObj?: any) => {\r\n let score = 0;\r\n if (\r\n responseObj !== null &&\r\n responseObj !== undefined &&\r\n responseObj.score !== undefined\r\n )\r\n score = responseObj.score;\r\n if (\r\n responseObj !== null &&\r\n responseObj !== undefined &&\r\n responseObj.score &&\r\n responseObj.score == 100\r\n ) {\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 (\r\n responseObj !== null &&\r\n responseObj !== undefined &&\r\n responseObj.registered_name\r\n )\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\r\n setLists((lists) => {\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 return lists;\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 // 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 saveBankDetailsNew = () => {\r\n // let score = 0;\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: 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 // 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 // createdBy: parseInt(userId),\r\n // };\r\n // SaveBankDetails(saveDetailsRes, saveBankAccount);\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 !== 0) {\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 setShowPennyDropModal(false);\r\n setLoaderSign(false);\r\n } else {\r\n if (res.data) {\r\n setShowPennyDropModal(false);\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 setShowPennyDropModal(false);\r\n setLoaderSign(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 console.log(\r\n \"isSbi\",\r\n isSbi &&\r\n Object.values(accountnoErrors).includes(\r\n \"SBI account number has more than 10 digits\"\r\n )\r\n );\r\n if (\r\n (isSbi &&\r\n (Object.values(accountnoErrors).includes(\r\n \"SBI account number has more than 10 digits\"\r\n ) ||\r\n Object.values(accountnoErrors).includes(\r\n \"SBI account number should have more than 10 digits\"\r\n ))) ||\r\n noBankFound ||\r\n matchScore\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 console.log(\r\n \"disabled condition\",\r\n checkDisabled() || shouldDisable(),\r\n checkDisabled(),\r\n shouldDisable()\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={matchScore}\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={matchScore}\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={matchScore}\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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { DropOffLogAPI } from \"../../Services/dashboard/docVerificationAPIServices\";\r\n\r\nexport interface BankHomeProps {}\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\")\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 dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 15,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\r\n React.useEffect(() => {\r\n dropOffObj();\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
Bank Details
\r\n
\r\n Provide your bank details through which you would like to conduct\r\n transactions.\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default BankHome;\r\n","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 const getDpAccountType = () => {\r\n let dpAcountType = GlobalStore.stageStatus.dpaccounttype;\r\n if (\r\n GlobalStore?.stageStatus?.dpaccounttype == null ||\r\n GlobalStore?.stageStatus?.dpaccounttype == undefined\r\n ) {\r\n dpAcountType = GlobalStore?.stageStatus?.dp_account_type;\r\n }\r\n return dpAcountType;\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(getDpAccountType());\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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\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 setESignSummited(shouldDisable());\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 panNo: GlobalStore?.personaldetails.pan,\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 sebi_mtf: SMTF, //Added By Ravi\r\n changeDematAccountType:\r\n getDpAccountType() === accountType ? false : true,\r\n dematAccountType: accountType,\r\n accountCategory: GlobalStore?.stageStatus?.accountcategory,\r\n // objUTM_Info: objUTM_Info,\r\n //sebi_mtf: true,\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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { DropOffLogAPI } from \"../../Services/dashboard/docVerificationAPIServices\";\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 const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 17,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\r\n React.useEffect(() => {\r\n dropOffObj();\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(\r\n getEsignKraUrl,\r\n GlobalStore.applicationID,\r\n 2,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0\r\n );\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\nimport { DropOffLogAPI } from \"../../Services/dashboard/docVerificationAPIServices\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\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 dropOffObj();\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 const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 18,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\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 lat?: any;\r\n long?: any;\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 shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\r\n };\r\n const startFinalRecording = () => {\r\n if (\r\n !!props?.checkGeoLocation &&\r\n (props?.lat == null || props?.lat == undefined || props?.lat == \"\") &&\r\n (props?.long == null || props?.long == undefined || props?.long == \"\")\r\n ) {\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 } 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(\r\n GlobalStore.clientPrimaryDetailId\r\n ),\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 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 AUploadIpvNew,\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\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../types/genericTypes\";\r\n\r\nexport interface iGeoLocation {\r\n loaded: boolean;\r\n coordinates: { lat: string; lng: string };\r\n error: boolean;\r\n}\r\nexport interface IQueryObject {\r\n PanNo?: string;\r\n AccountCategory?: string;\r\n userid?: number;\r\n Pan?: string;\r\n Ac?: string;\r\n uid?: any;\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 let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\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 let errorTimer = geoLocationConfig.errorTimer;\r\n React.useEffect(() => {\r\n // getLocation();\r\n window.sessionStorage.setItem(\"stageInfoId\", \"7\");\r\n if (!id) {\r\n // if(isGeoError && isGeoErrorTimeFlag){\r\n // getLocation();\r\n // }\r\n AGetIpvOtp(getIpvOtp, GlobalStore.applicationID);\r\n } else {\r\n let panObj: any = atob(id);\r\n setIsLoading(true);\r\n if (typeof panObj == \"string\" && (!panObj?.includes(\"PanNo\") || !panObj?.includes(\"Pan\")) ) {\r\n AGetClientDetailsByPan(searchByPan, panObj, 1, 0);\r\n } else {\r\n panObj = JSON.parse(atob(id)) as IQueryObject;\r\n //console.log(pan);\r\n\r\n if (\r\n panObj?.PanNo !== undefined &&\r\n panObj?.PanNo !== null &&\r\n panObj?.AccountCategory !== null &&\r\n panObj?.AccountCategory !== undefined\r\n ) {\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n panObj?.PanNo,\r\n parseInt(panObj?.AccountCategory),\r\n panObj?.userid\r\n );\r\n } else if (\r\n panObj?.Pan !== null &&\r\n panObj?.Pan !== undefined &&\r\n panObj?.Pan !== \"\" &&\r\n panObj?.Ac !== null &&\r\n panObj?.Ac !== undefined\r\n ) {\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n panObj?.Pan,\r\n parseInt(panObj?.Ac),\r\n panObj?.uid\r\n );\r\n }\r\n }\r\n }\r\n if (\r\n lat !== null &&\r\n lat !== undefined &&\r\n lat !== \"\" &&\r\n long !== null &&\r\n long !== undefined &&\r\n long !== \"\"\r\n ) {\r\n } else {\r\n console.log(\"geoLocation\", geoLoc, geoLoc?.coordinates);\r\n if (\r\n GlobalStore?.location !== null &&\r\n GlobalStore?.location !== undefined &&\r\n GlobalStore?.location?.lat !== null &&\r\n GlobalStore?.location?.lat !== undefined &&\r\n GlobalStore?.location?.lat !== \"\" &&\r\n GlobalStore?.location?.long !== null &&\r\n GlobalStore?.location?.long !== undefined &&\r\n GlobalStore?.location?.long !== \"\"\r\n ) {\r\n setLat(GlobalStore?.location?.lat);\r\n setLong(GlobalStore?.location?.long);\r\n } else {\r\n setTimeout(() => {\r\n watchPositionId = navigator.geolocation.watchPosition(\r\n successPosition,\r\n errorPosition\r\n );\r\n setIsGeoErrorTimeFlag(true);\r\n }, errorTimer);\r\n setIsLoading(true);\r\n }\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 checkPdStatus();\r\n } else {\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 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 createdBy: parseInt(userId),\r\n };\r\n\r\n console.log(\"Called in success\");\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n ASaveIPVerificationDetails(\r\n (response: any) => iPVerificationSaved(response),\r\n ipvObj\r\n );\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 if (\r\n GlobalStore?.location !== null &&\r\n GlobalStore?.location !== undefined &&\r\n GlobalStore?.location?.lat !== null &&\r\n GlobalStore?.location?.lat !== undefined &&\r\n GlobalStore?.location?.lat !== \"\" &&\r\n GlobalStore?.location?.long !== null &&\r\n GlobalStore?.location?.long !== undefined &&\r\n GlobalStore?.location?.long !== \"\"\r\n ) {\r\n setLat(GlobalStore?.location?.lat);\r\n setLong(GlobalStore?.location?.long);\r\n } else {\r\n getLocation();\r\n }\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 console.log(\"uploadObj\", uploadObj);\r\n let imageData: Array = [];\r\n // if(Array.isArray(uploadObj?.))\r\n let uploadNewObj: any = {\r\n image64:\r\n uploadObj?.image64 !== null &&\r\n uploadObj?.image64 !== undefined &&\r\n uploadObj?.image64?.length > 0\r\n ? uploadObj?.image64\r\n : [uploadObj?.image],\r\n clientPrimaryDetailId: uploadObj?.clientprimarydetailid,\r\n applicationId: uploadObj?.applicationid,\r\n leadId: uploadObj?.leadId,\r\n panNo: uploadObj?.panno,\r\n width: 0,\r\n height: 0,\r\n imageToVideo: false,\r\n imageName: uploadObj.imageName,\r\n contentType: uploadObj.contentType,\r\n };\r\n setIsLoading(true);\r\n if (isSafari) {\r\n uploadNewObj.height = uploadObj?.height;\r\n uploadNewObj.width = uploadObj?.width;\r\n uploadNewObj.imageToVideo = true;\r\n // AUploadIpvSafari(videoUploaded, uploadObj);\r\n } else {\r\n // AUploadIpv(videoUploaded, uploadObj);\r\n }\r\n AUploadIpvNew(videoUploaded, uploadNewObj);\r\n } else {\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 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 let AccountObj = {\r\n PanNo: GlobalStore?.personaldetails?.pan,\r\n AccountCategory: GlobalStore?.accountcategory\r\n ? GlobalStore?.accountcategory\r\n : GlobalStore?.stageStatus?.accountcategory,\r\n userid: userId,\r\n };\r\n let accountObjString = JSON.stringify(AccountObj);\r\n const encodedPan = btoa(accountObjString);\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 createdBy: parseInt(userId),\r\n };\r\n console.log(\"called here in send SMS\");\r\n //ASaveIPVerificationDetails(iPVerificationSaved, ipvObj);\r\n ASaveIPVerificationDetails(\r\n (response: any) => iPVerificationSaved(response, \"fromSMS\"),\r\n 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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n }\r\n return disabled;\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 disabled={shouldDisable()}\r\n />\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: \"PersonalDoc/Save\",\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: \"PersonalDoc/Get\",\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, ITokenObj } 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 AGetDocumentList,\r\n DropOffLogAPI,\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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\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 [dlExtractData, setDlExtractData] = React.useState();\r\n const [dlUploadInformation, setDLUploadInformation] = React.useState();\r\n const [corrDLExtractData, setCorrDLExtractData] = React.useState();\r\n const [corrDlUploadInformation, setCorrDLUploadInformation] =\r\n React.useState();\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 const [documentList, setDocumentList] = React.useState();\r\n const [cordocumentList, setCorDocumentList] = React.useState();\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(true);\r\n const [corrsDrivingFlag, SetCorrsDrivingFlag] = React.useState(true);\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 const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 13,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\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 dropOffObj();\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n getDocumentDetails();\r\n // setTimeout(() => {\r\n \r\n // }, 1000);\r\n GetAddressDetails(getKycDetails, GlobalStore.applicationID);\r\n setIsLoading(true);\r\n AGetUploadedDocument(getUploadedDoc, GlobalStore.applicationID);\r\n // setTimeout(() => {\r\n\r\n // }, 1000);\r\n\r\n // getDocumentDetails();\r\n }, []);\r\n const getDocumentDetails = () => {\r\n AGetDocumentList((res: any) => {\r\n if (res.data) {\r\n let listObj = JSON.parse(res.data);\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 console.log(\"corr\", corrAddObjlist, \"per\", permAddObjlist);\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 } else {\r\n let corrAddressCopy = { ...corrAddressObj };\r\n corrAddressCopy.documentcategory = \"Address Proof Correspondance\";\r\n corrAddressCopy.documentCategoryId = \"3\";\r\n setCorrAddressObj(corrAddressCopy);\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 }, GlobalStore.applicationID);\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\r\n clientPartialDetails_ao.sameAsPermanent =\r\n responseObj.Corrsaddraspermanent !== null &&\r\n responseObj.Corrsaddraspermanent !== undefined\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 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 clientPartialDetails_ao.addressLine1 = permAddObj.addressLine1;\r\n if (responseObj.Corrsaddraspermanent === true)\r\n clientPartialDetails_ao.corrAddress = permAddObj.addressLine1;\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 if (responseObj.Corrsaddraspermanent === false)\r\n clientPartialDetails_ao.corrAddress = corrAddObj.addressLine1;\r\n setCorrespondanceAddress(corrAddObj);\r\n }\r\n clientPartialDetails_ao.isManual = true;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\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\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\r\n // permanentAddress.addressLine1 = permExtractionData?.address;\r\n // permanentAddress.City = permExtractionData?.district;\r\n // permanentAddress.State = permExtractionData?.state;\r\n // permanentAddress.PinCode = permExtractionData.pincode;\r\n // permanentAddress.clientName = permExtractionData?.name_on_card;\r\n // permanentAddress.documentNumber\r\n ADownloadDocument(\r\n getCorrAddressImage,\r\n isCorrAddressProof[0].FileName,\r\n isCorrAddressProof[0].UploadedDocPath\r\n );\r\n setCorrespondanceAddress((correspondanceAddress: any) => {\r\n if (\r\n correspondanceAddress !== null &&\r\n correspondanceAddress !== undefined &&\r\n !!correspondanceAddress?.addressLine1 &&\r\n correspondanceAddress?.addressLine1 !== \"\" &&\r\n !!correspondanceAddress?.documentNumber &&\r\n correspondanceAddress?.documentNumber !== \"\"\r\n ) {\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 (\r\n isCorrAddressProof[0].DocumentName === \"Driving License\"\r\n ) {\r\n setDefaultCorrAddress(\"Driving License\");\r\n } else if (\r\n isCorrAddressProof[0].DocumentName === \"Nrega Job Card\"\r\n ) {\r\n setDefaultCorrAddress(\"Nrega Job Card\");\r\n }\r\n setCorrAddressObj((corrAddressObj) => {\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 return corrAddressObj;\r\n });\r\n\r\n // setCorrAddressObj(corrAddressObj);\r\n }\r\n return correspondanceAddress;\r\n });\r\n // setTimeout(() => {\r\n \r\n // }, 1000);\r\n }\r\n if (isPermAddressProof.length > 0) {\r\n setIsLoading(true);\r\n ADownloadDocument(\r\n getAddressImage,\r\n isPermAddressProof[0].FileName,\r\n isPermAddressProof[0].UploadedDocPath\r\n );\r\n setPermanentAddress((permanentAddress: any) => {\r\n if (\r\n permanentAddress !== null &&\r\n permanentAddress !== undefined &&\r\n !!permanentAddress?.addressLine1 &&\r\n permanentAddress?.addressLine1 !== \"\" &&\r\n !!permanentAddress?.documentNumber &&\r\n permanentAddress?.documentNumber !== \"\"\r\n ) {\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 (\r\n isPermAddressProof[0].DocumentName === \"Driving License\"\r\n ) {\r\n setDefaultAddress(\"Driving License\");\r\n } else if (\r\n isPermAddressProof[0].DocumentName === \"Nrega Job Card\"\r\n ) {\r\n setDefaultAddress(\"Nrega Job Card\");\r\n }\r\n setPermAddressObj((permAddressObj) => {\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 return permAddressObj;\r\n });\r\n\r\n // setPermAddressObj(permAddressObj);\r\n }\r\n return permanentAddress;\r\n });\r\n // setDefaultPermAddressProof(true);\r\n // setTimeout(() => {\r\n \r\n // }, 1000);\r\n }\r\n } else {\r\n setPermAddressObj((permAddressObj) => {\r\n return permAddressObj;\r\n });\r\n setCorrAddressObj((corrAddressObj) => {\r\n return corrAddressObj;\r\n });\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 const base64 = getbase64(res.data.base64document, permAddressObj);\r\n\r\n setPermAddressObj((permAddressObj) => {\r\n permAddressObj.imgUrl = getbase64(\r\n res.data.base64document,\r\n permAddressObj\r\n );\r\n return permAddressObj;\r\n });\r\n setIsLoading(false);\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 if (obj.mimeType === \"\" || obj.mimeType == \".\") {\r\n let mimeType = detectMimeType(dataString);\r\n return \"data:\" + mimeType + \";base64,\" + dataString;\r\n } else {\r\n return (\r\n \"data:\" +\r\n (obj.mimeType === \"application/pdf\"\r\n ? \"application/pdf\"\r\n : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\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\r\n // corrAddressObj.base64 = base64;\r\n setCorrAddressObj((corrAddressObj) => {\r\n corrAddressObj.imgUrl = base64;\r\n return corrAddressObj;\r\n });\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(true);\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 setCorrAddressObj((corrAddressObj) => {\r\n corrAddressObj.disable = false;\r\n corrAddressObj.documentId = val.value;\r\n return corrAddressObj;\r\n });\r\n\r\n // setCorrAddressObj(corrAddressObj);\r\n setDefaultCorrAddress(val.display);\r\n setQrVerifiedCorrsAadhar(false);\r\n SetCorrsDrivingFlag(true);\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 documentCategoryId: permAddressObj?.documentCategoryId,\r\n });\r\n setPermanentAddress({ ...initialAddressObj });\r\n }\r\n function onSecondPermAddressRemove(val: any) {\r\n setPermSecondAddressObj({\r\n ...initialPanDocObj,\r\n documentId: permAddressObj.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId,\r\n });\r\n setPermanentAddress({ ...initialAddressObj });\r\n }\r\n function getMimeType(base64String?: string) {\r\n // Split the string to get the metadata part before the comma\r\n if (base64String !== null && base64String !== undefined) {\r\n const mimeType = base64String.match(/^data:([^;]+);base64,/);\r\n\r\n // Return MIME type if present, otherwise return null\r\n return mimeType ? mimeType[1] : \".\";\r\n }\r\n return \".\";\r\n }\r\n const popularSignatures = {\r\n JVBERi0: \"application/pdf\",\r\n R0lGODdh: \"image/gif\",\r\n R0lGODlh: \"image/gif\",\r\n iVBORw0KGgo: \"image/png\",\r\n \"/9j/\": \"image/jpg\",\r\n Qk02U: \"image/bmp\",\r\n };\r\n\r\n function detectMimeType(base64 = \"\") {\r\n for (const [signature, type] of Object.entries(popularSignatures)) {\r\n if (base64.startsWith(signature)) {\r\n return type;\r\n }\r\n }\r\n return undefined; // Explicitly return undefined if no match is found\r\n }\r\n function onPermanantSecondAddressUploadDocument(\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) {\r\n setIsLoading(true);\r\n\r\n setPermSecondAddressObj(permSecondAddressObj);\r\n if (\r\n fileName.split(\".\")[1] !== \"pdf\" &&\r\n permSecondAddressObj.documentId !== 125\r\n ) {\r\n setPermSecondAddressObj((permSecondAddressObj) => {\r\n permSecondAddressObj.imgUrl = \"\";\r\n permSecondAddressObj.fileName = fileName;\r\n permSecondAddressObj.base64 = val!.split(\",\")[1];\r\n permSecondAddressObj.documentCategoryId =\r\n permAddressObj?.documentCategoryId;\r\n return permSecondAddressObj;\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n setPermSecondAddressObj((permSecondAddressObj) => {\r\n permSecondAddressObj.imgUrl = \"\";\r\n permSecondAddressObj.fileName = fileName;\r\n permSecondAddressObj.base64 = val!.split(\",\")[1];\r\n permSecondAddressObj.documentCategoryId =\r\n permAddressObj?.documentCategoryId;\r\n return permSecondAddressObj;\r\n });\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n uploadAadhar(true, { id, fileName, type, uploadId: id }, true);\r\n // if (permAddressObj.documentId === passportDocumnetId) {\r\n // setIsLoading(true);\r\n // AextractPassport(\r\n // (res: any) =>\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(\r\n // true,\r\n // { id, fileName, type, uploadId: id },\r\n // true\r\n // );\r\n // }),\r\n // addressOCR\r\n // );\r\n // } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n // setIsLoading(true);\r\n // AextractVoterid(\r\n // (res: any) =>\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(\r\n // true,\r\n // { id, fileName, type, uploadId: id },\r\n // true\r\n // );\r\n // }),\r\n // addressOCR\r\n // );\r\n // } else if (permAddressObj.documentId === dlDocumentId) {\r\n // setIsLoading(true);\r\n\r\n // AextractDl((res: any) => {\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(true, { id, fileName, type, uploadId: id }, true);\r\n // });\r\n // }, addressOCR);\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 const onPermanentAddressUploadDocument = (\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n setIsLoading(true);\r\n if (fileName.split(\".\")[1] !== \"pdf\" && permAddressObj.documentId !== 125) {\r\n setSecondDoc(true);\r\n setPermAddressObj((permAddressObj) => {\r\n permAddressObj.base64 = val!.split(\",\")[1];\r\n permAddressObj.fileName = fileName;\r\n return permAddressObj;\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n setDLUploadInformation({\r\n id: id,\r\n fileName: fileName,\r\n type: type,\r\n uploadId: id,\r\n });\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n });\r\n }, addressOCR);\r\n }\r\n }\r\n } else {\r\n setPermAddressObj((permAddressObj) => {\r\n permAddressObj.base64 = val!.split(\",\")[1];\r\n permAddressObj.fileName = fileName;\r\n return permAddressObj;\r\n });\r\n setSecondDoc(false);\r\n setAnotherFile(false);\r\n if (permAddressObj.documentId === aadhaarDocumnetId) {\r\n const aadharObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: \"Address Proof Permanent\",\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n AmaskAadhaar(\r\n (res: any) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: permAddressObj.documentcategory,\r\n documentid: permAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (permAddressObj.documentId === passportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n setIsLoading(true);\r\n setDLUploadInformation({\r\n id: id,\r\n fileName: fileName,\r\n type: type,\r\n uploadId: id,\r\n });\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n });\r\n }, addressOCR);\r\n }\r\n }\r\n }\r\n };\r\n const onCorrespondanceAddressUploadDocument = (\r\n val: any,\r\n fileName: string,\r\n id: string,\r\n type: string\r\n ) => {\r\n setIsLoading(true);\r\n setCorrAddressObj((corrAddressObj) => {\r\n corrAddressObj.imgUrl = \"\";\r\n corrAddressObj.base64 = val!.split(\",\")[1];\r\n corrAddressObj.fileName = fileName;\r\n return corrAddressObj;\r\n });\r\n\r\n // setCorrAddressObj(corrAddressObj);\r\n console.log(\"Changes in address\", fileName, val);\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n console.log(\"INSIDE DL block\");\r\n setCorrDLUploadInformation({ id, fileName, type, uploadId: id });\r\n setIsLoading(true);\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n });\r\n }, addressOCR);\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n setCorrDLUploadInformation({ id, fileName, type, uploadId: id });\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n if (res !== null && res !== undefined)\r\n uploadAadhar(false, { id, fileName, type, uploadId: id });\r\n });\r\n }, addressOCR);\r\n }\r\n }\r\n }\r\n };\r\n const onCorrespondanceSecondAddressUploadDocument = (\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 corrSecondAddressObj.documentCategoryId = corrAddressObj.documentCategoryId;\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) => maskedAadharNew(res, id, fileName, type),\r\n aadharObj\r\n );\r\n } else {\r\n const addressOCR = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n documentcategory: corrAddressObj.documentcategory,\r\n documentid: corrAddressObj.documentId,\r\n source: DIY,\r\n };\r\n uploadAadhar(true, { id, fileName, type, uploadId: id }, false);\r\n // if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n // setIsLoading(true);\r\n // AextractPassport(\r\n // (res: any) =>\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(\r\n // true,\r\n // { id, fileName, type, uploadId: id },\r\n // false\r\n // );\r\n // }),\r\n // addressOCR\r\n // );\r\n // } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n // setIsLoading(true);\r\n // AextractVoterid(\r\n // (res: any) =>\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(\r\n // true,\r\n // { id, fileName, type, uploadId: id },\r\n // false\r\n // );\r\n // }),\r\n // addressOCR\r\n // );\r\n // } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n // setIsLoading(true);\r\n // AextractDl((res: any) => {\r\n // storeOcrData(res, addressOCR, (res: any) => {\r\n // if (res !== null && res !== undefined)\r\n // uploadAadhar(true, { id, fileName, type, uploadId: id }, false);\r\n // });\r\n // }, addressOCR);\r\n // }\r\n }\r\n } else {\r\n setCorrSecondDoc(false);\r\n setCorrAnotherFile(false);\r\n }\r\n };\r\n const maskedAadharNew = (\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 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 (id === \"permAddress\") {\r\n if (res.data.result.id_number_found) {\r\n setPermAddressObj((permAddressObj) => {\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 return permAddressObj;\r\n });\r\n addressOCR.base64document = res.data.result.base64_image;\r\n addressOCR.documentcategory = permAddressObj.documentcategory;\r\n addressOCR.documentid = permAddressObj.documentId;\r\n }\r\n } else if (id === \"permSecondAddress\") {\r\n if (res.data.result.id_number_found) {\r\n setPermSecondAddressObj((permSecondAddressObj) => {\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 return permSecondAddressObj;\r\n });\r\n // setPermSecondAddressObj(permSecondAddressObj);\r\n }\r\n } else if (id === \"corrAddress\") {\r\n if (res.data.result.id_number_found) {\r\n setCorrAddressObj((corrAddressObj) => {\r\n corrAddressObj.documentCategoryId =\r\n corrAddressObj.documentCategoryId;\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 return corrAddressObj;\r\n });\r\n addressOCR.base64document = res.data.result.base64_image;\r\n addressOCR.documentcategory = corrAddressObj.documentcategory;\r\n addressOCR.documentid = corrAddressObj.documentId;\r\n }\r\n } else {\r\n if (res.data.result.id_number_found) {\r\n setCorrSecondAddressObj((corrSecondAddressObj: any) => {\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 return corrSecondAddressObj;\r\n });\r\n }\r\n }\r\n if (id === \"permSecondAddress\") {\r\n uploadAadhar(\r\n true,\r\n { id: id, fileName: fileName, type: type, uploadId: id },\r\n true\r\n );\r\n } else if (id == \"corrSecondAddress\") {\r\n uploadAadhar(\r\n true,\r\n { id: id, fileName: fileName, type: type, uploadId: id },\r\n true\r\n );\r\n } else\r\n AextractAadhaar(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, {\r\n id: id,\r\n fileName: fileName,\r\n type: type,\r\n uploadId: id,\r\n });\r\n }),\r\n addressOCR,\r\n \"OCR\"\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 const getPDFDataNew = (res: any, idObj: 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 let mergeBase64 = res.data.Mergedimagespdfbase64;\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) => {\r\n storeOcrData(res, addressOCR, (res1: any) => {\r\n uploadAadhar(false, idObj, true, mergeBase64);\r\n });\r\n },\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (permAddressObj.documentId === passportDocumnetId) {\r\n // uploadAadhar(false, idObj, false, res.data.Mergedimagespdfbase64);\r\n setIsLoading(true);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === voterIdDocumentId) {\r\n // uploadAadhar(false, idObj, false, res.data.Mergedimagespdfbase64);\r\n setIsLoading(true);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR\r\n );\r\n } else if (permAddressObj.documentId === dlDocumentId) {\r\n // uploadAadhar(false, idObj, false, res.data.Mergedimagespdfbase64);\r\n setIsLoading(true);\r\n AextractDl((res: any) => {\r\n // uploadAadhar(false, idObj, false, mergeBase64);\r\n storeOcrData(res, addressOCR, (res1: any) => {\r\n uploadAadhar(false, idObj, true, mergeBase64);\r\n });\r\n }, 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 getCorrPDFDataNew = (res: any, idObj?: 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 let mergeBase64 = res.data.Mergedimagespdfbase64;\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) =>\r\n storeOcrData(res, addressOCR, (res1: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR,\r\n \"OCR\"\r\n );\r\n } else if (corrAddressObj.documentId === corrPassportDocumnetId) {\r\n //setIsLoading(false);\r\n // uploadAadhar(false, idObj, res.data.Mergedimagespdfbase64);\r\n AextractPassport(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrVoterIdDocumentId) {\r\n setIsLoading(true);\r\n // uploadAadhar(false, idObj, res.data.Mergedimagespdfbase64);\r\n AextractVoterid(\r\n (res: any) =>\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n }),\r\n addressOCR\r\n );\r\n } else if (corrAddressObj.documentId === corrDlDocumentId) {\r\n setIsLoading(true);\r\n //uploadAadhar(false, idObj, res.data.Mergedimagespdfbase64);\r\n AextractDl((res: any) => {\r\n storeOcrData(res, addressOCR, (res: any) => {\r\n uploadAadhar(false, idObj, false, mergeBase64);\r\n });\r\n }, 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 uploadAadhar = (\r\n isSecondFileUpload?: boolean,\r\n idObj?: any,\r\n isPermanent?: boolean,\r\n margeBase64?: string,\r\n callbackFunction?: Function\r\n ) => {\r\n const localObj = idObj;\r\n const { id, fileName, type, uploadId } = idObj;\r\n if (isSecondFileUpload !== undefined && isSecondFileUpload) {\r\n if (isPermanent) {\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: permAddressObj?.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: permanentAddress?.documentNumber,\r\n };\r\n AgetPdf((res: any) => {\r\n getPDFDataNew(res, localObj);\r\n }, uploadImageObj);\r\n } else {\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: corrAddressObj?.documentId,\r\n documentCategoryId: corrAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: correspondanceAddress?.documentNumber,\r\n };\r\n AgetPdf((res: any) => {\r\n getCorrPDFDataNew(res, localObj);\r\n }, uploadImageObj);\r\n }\r\n } else {\r\n let uploadObj: uploadDocObj;\r\n let saveDocumentDetails = [];\r\n if (uploadId === \"permAddress\") {\r\n setPermanentAddress((permanentAddress: any) => {\r\n let mimeType: string = getMimeType(permAddressObj.base64);\r\n if (mimeType !== undefined && mimeType == \".\") {\r\n let detectMimeTypeVar = detectMimeType(permAddressObj.base64);\r\n if (detectMimeTypeVar !== undefined) {\r\n mimeType = detectMimeTypeVar;\r\n }\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 permAddressObj?.documentId == aadhaarDocumnetId\r\n ? permAddressObj.fileName.split(\".\")[0] + \".jpg\"\r\n : permAddressObj?.fileName,\r\n isfilecropped: true,\r\n mimeType: 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:\r\n permanentAddress?.dateOfIssue !== null &&\r\n permanentAddress?.dateOfIssue !== undefined\r\n ? permanentAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 setDrivingFlag((drivingFlag) => {\r\n savepermAddressObj.IsDocumentVerified = drivingFlag;\r\n return drivingFlag;\r\n });\r\n saveDocumentDetails.push(savepermAddressObj);\r\n\r\n return permanentAddress;\r\n });\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64 || \"\",\r\n filename: permAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n } else if (uploadId === \"permSecondAddress\") {\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permSecondAddressObj.base64 || \"\",\r\n filename: permSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let mimeType: string = getMimeType(permSecondAddressObj.base64);\r\n if (mimeType !== undefined && mimeType == \".\") {\r\n let detectMimeTypeVar = detectMimeType(permSecondAddressObj.base64);\r\n if (detectMimeTypeVar !== undefined) {\r\n mimeType = detectMimeTypeVar;\r\n }\r\n }\r\n let savepermAddressObj = {\r\n documentCategoryId:\r\n permSecondAddressObj.documentCategoryId?.toString(),\r\n documentId:\r\n permSecondAddressObj.documentId?.toString() != \"0\"\r\n ? permSecondAddressObj.documentId?.toString()\r\n : permAddressObj?.documentId,\r\n documentexpirydate: \"\",\r\n fileName:\r\n permAddressObj?.documentId == aadhaarDocumnetId\r\n ? permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\"\r\n : permSecondAddressObj?.fileName,\r\n isfilecropped: true,\r\n mimeType: mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permSecondAddressObj.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 setDrivingFlag((drivingFlag) => {\r\n savepermAddressObj.IsDocumentVerified = drivingFlag;\r\n return drivingFlag;\r\n });\r\n if (\r\n margeBase64 !== null &&\r\n margeBase64 !== undefined &&\r\n margeBase64 !== \"\" &&\r\n detectMimeType(margeBase64) !== undefined\r\n ) {\r\n let mimeType = detectMimeType(margeBase64);\r\n if (mimeType !== undefined) {\r\n if (mimeType == \"application/pdf\")\r\n uploadObj.filename =\r\n `${GlobalStore.applicationID}_Permanent Address` + \".pdf\";\r\n savepermAddressObj.mimeType = mimeType;\r\n }\r\n }\r\n saveDocumentDetails.push(savepermAddressObj);\r\n } else if (uploadId === \"corrAddress\") {\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n setCorrAddressObj((corrAddressObj) => {\r\n return corrAddressObj;\r\n });\r\n let mimeType: string = getMimeType(corrAddressObj.base64);\r\n if (mimeType !== undefined && mimeType == \".\") {\r\n let detectMimeTypeVar = detectMimeType(corrAddressObj.base64);\r\n if (detectMimeTypeVar !== undefined) {\r\n mimeType = detectMimeTypeVar;\r\n }\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 corrAddressObj?.documentId == corrAadhaarDocumnetId\r\n ? corrAddressObj.fileName.split(\".\")[0] + \".jpg\"\r\n : corrAddressObj.fileName,\r\n isfilecropped: true,\r\n mimeType: 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\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 SetCorrsDrivingFlag((corrsDrivingFlag) => {\r\n saveCorrAddressObj.IsDocumentVerified = corrsDrivingFlag;\r\n return corrsDrivingFlag;\r\n });\r\n\r\n saveDocumentDetails.push(saveCorrAddressObj);\r\n } else {\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let mimeType: string = getMimeType(corrSecondAddressObj.base64);\r\n if (mimeType !== undefined && mimeType == \".\") {\r\n let detectMimeTypeVar = detectMimeType(corrSecondAddressObj.base64);\r\n if (detectMimeTypeVar !== undefined) {\r\n mimeType = detectMimeTypeVar;\r\n }\r\n }\r\n let saveCorrAddressObj = {\r\n documentCategoryId:\r\n corrSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: corrSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName:\r\n corrAddressObj?.documentId == corrAadhaarDocumnetId\r\n ? corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\"\r\n : corrSecondAddressObj?.fileName,\r\n isfilecropped: true,\r\n mimeType: mimeType,\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrSecondAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 if (\r\n margeBase64 !== null &&\r\n margeBase64 !== undefined &&\r\n margeBase64 !== \"\" &&\r\n detectMimeType(margeBase64) !== undefined\r\n ) {\r\n let mimeType = detectMimeType(margeBase64);\r\n if (mimeType !== undefined) {\r\n if (mimeType == \"application/pdf\")\r\n uploadObj.filename =\r\n `${GlobalStore.applicationID}_Corrospondance Address` + \".pdf\";\r\n saveCorrAddressObj.mimeType = mimeType;\r\n }\r\n }\r\n saveDocumentDetails.push(saveCorrAddressObj);\r\n }\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\r\n };\r\n if (\r\n margeBase64 !== null &&\r\n margeBase64 !== undefined &&\r\n margeBase64 !== \"\"\r\n ) {\r\n uploadObj.base64document = margeBase64;\r\n }\r\n AUploadDocument(\r\n (res: any) =>\r\n getUploadResNew(\r\n res,\r\n id,\r\n uploadObj.base64document,\r\n uploadObj.filename,\r\n callbackFunction\r\n ),\r\n uploadObj,\r\n (event: ProgressEvent) => onUploadProgress(event, id, fileName, type),\r\n saveObj\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 = \"\";\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 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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveDocumentDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveDocumentDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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 saveDocumentDetails.push(savepermAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 documentCategoryId: corrAddressObj?.documentCategoryId,\r\n });\r\n setCorrespondanceAddress({ ...initialAddressObj });\r\n }\r\n function onSecondCorrAddressRemove(val: any) {\r\n setCorrSecondAddressObj({\r\n ...initialPanDocObj,\r\n documentId: corrAddressObj.documentId,\r\n documentCategoryId: corrAddressObj?.documentCategoryId,\r\n });\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let saveDocumentDetails = [];\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 let saveDocumentDetails = [];\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 let savepermAddressObj = {\r\n documentCategoryId: permAddressObj.documentCategoryId?.toString(),\r\n documentId: permAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: permAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(permAddressObj.base64),\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 saveDocumentDetails.push(savepermAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: permAddressObj.base64 || \"\",\r\n filename: permAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\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 panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n let savepermAddressObj = {\r\n documentCategoryId:\r\n permSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: permSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: permSecondAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(permSecondAddressObj.base64),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: permSecondAddressObj.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 saveDocumentDetails.push(savepermAddressObj);\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 }\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrAddressObj.base64 || \"\",\r\n filename: corrAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n setCorrAddressObj((corrAddressObj) => {\r\n return corrAddressObj;\r\n });\r\n let saveCorrAddressObj = {\r\n documentCategoryId: corrAddressObj.documentCategoryId?.toString(),\r\n documentId: corrAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(corrAddressObj.base64),\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\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\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 let saveCorrAddressObj = {\r\n documentCategoryId:\r\n corrSecondAddressObj.documentCategoryId?.toString(),\r\n documentId: corrSecondAddressObj.documentId?.toString(),\r\n documentexpirydate: \"\",\r\n fileName: corrSecondAddressObj.fileName.split(\".\")[0] + \".jpg\",\r\n isfilecropped: true,\r\n mimeType: getMimeType(corrSecondAddressObj.base64),\r\n panno: GlobalStore.personaldetails.pan,\r\n isWatsappFlag: corrSecondAddressObj.isWatsappFlag,\r\n personaldetailsid: \"0\",\r\n // autoqc: qrVerifiedCorrsAadhar ? qrVerifiedCorrsAadhar : false,\r\n autoqc: autoQCFlagCor,\r\n DocumentIssueDate: correspondanceAddress?.dateOfIssue\r\n ? correspondanceAddress?.dateOfIssue\r\n ?.split(\"/\")\r\n ?.reverse()\r\n ?.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 saveDocumentDetails.push(saveCorrAddressObj);\r\n uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: corrSecondAddressObj.base64 || \"\",\r\n filename: corrSecondAddressObj.fileName,\r\n panNo: GlobalStore?.personaldetails.pan,\r\n };\r\n }\r\n const saveObj = {\r\n applicationId: GlobalStore.applicationID,\r\n clientPrimaryDetailId: GlobalStore.clientPrimaryDetailId || 0,\r\n documentInfo: saveDocumentDetails,\r\n leadId: GlobalStore.leadId,\r\n // objUTM_Info: objUTM_Info,\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 saveObj\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 getUploadResNew = (\r\n res: any,\r\n id: string,\r\n val: any,\r\n fileName: string,\r\n callbackFunction?: Function\r\n ) => {\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 } else if (id === \"permAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setPermAddListError(\"\");\r\n setIsNewPermAddress(true);\r\n setAddressName(res.data.Guid);\r\n setIsLoading(false);\r\n } else if (id === \"permSecondAddress\") {\r\n setPermSecAddListError(\"\");\r\n setIsLoading(false);\r\n setIsNewPermAddress(true);\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 } else if (id === \"corrAddress\" && fileName.split(\".\")[1] !== \"pdf\") {\r\n setIsNewCorrAddress(true);\r\n setCorrAddListError(\"\");\r\n setCorrAddressName(res.data.Guid);\r\n 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(false);\r\n setCorrAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n } else if (id === \"corrSecondAddress\") {\r\n setIsLoading(false);\r\n setCorrSecAddListError(\"\");\r\n setIsNewCorrAddress(true);\r\n }\r\n if (callbackFunction !== undefined) {\r\n callbackFunction();\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 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) => {\r\n storeOcrData(res, addressOCR);\r\n }, 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((res: any) => {\r\n storeOcrData(res, extractPermOCRObj);\r\n }, extractPermOCRObj);\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: permAddressObj?.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: permanentAddress?.documentNumber,\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) => {\r\n storeOcrData(res, addressOCR);\r\n }, 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((res: any) => {\r\n storeOcrData(res, extractCorrsOCRObj);\r\n }, extractCorrsOCRObj);\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: permAddressObj?.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: permanentAddress?.documentNumber,\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 clientPrimaryDetailId: GlobalStore?.clientPrimaryDetailId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n leadId: GlobalStore?.leadId,\r\n documentId: permAddressObj?.documentId,\r\n documentCategoryId: permAddressObj?.documentCategoryId?.toString(),\r\n documentNumber: permanentAddress?.documentNumber,\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, callback?: Function) => {\r\n if (!res || res.error) {\r\n if (res?.data?.error) {\r\n setErrCode(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 if (res?.data?.error) {\r\n setErrCode(res?.data?.error);\r\n setIsLoading(false);\r\n // gtmService({\r\n // action: \"ExtractDocumentData\",\r\n // label: \"ERROR || ERR134-E\",\r\n // });\r\n } else {\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 setPermanentAddress((permanentAddress: any) => {\r\n permanentAddress.addressLine1 = permExtractionData?.address;\r\n permanentAddress.City = permExtractionData?.district;\r\n permanentAddress.State = permExtractionData?.state;\r\n permanentAddress.PinCode = permExtractionData.pincode;\r\n permanentAddress.clientName = permExtractionData?.name_on_card;\r\n permanentAddress.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 return permanentAddress;\r\n });\r\n if (sameAsPermanent) {\r\n setCorrespondanceAddress((corrAddres: any) => {\r\n if (\r\n corrAddres?.clientName == \"\" ||\r\n corrAddres?.clientName == null ||\r\n corrAddres?.clientName == undefined\r\n ) {\r\n corrAddres.clientName = permExtractionData?.name_on_card;\r\n }\r\n return corrAddres;\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 } else {\r\n if (callback !== undefined) callback(true);\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 passport\"\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 setPermanentAddress((permanentAddress: any) => {\r\n permanentAddress.addressLine1 = permExtractionData?.address;\r\n permanentAddress.City = permExtractionData?.district;\r\n permanentAddress.State = permExtractionData?.state;\r\n permanentAddress.PinCode = permExtractionData.pincode;\r\n permanentAddress.clientName = permExtractionData?.name_on_card;\r\n permanentAddress.documentNumber = permExtractionData?.id_number;\r\n permanentAddress.dateOfIssue = permExtractionData?.date_of_issue;\r\n permanentAddress.dateOfExpiry =\r\n permExtractionData?.date_of_expiry;\r\n return permanentAddress;\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 } else {\r\n if (callback !== undefined) callback(true);\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 voter id\"\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 setPermanentAddress((permanentAddress: any) => {\r\n permanentAddress.addressLine1 = permExtractionData?.address;\r\n permanentAddress.City = permExtractionData?.district;\r\n permanentAddress.State = permExtractionData?.state;\r\n permanentAddress.PinCode = permExtractionData.pincode;\r\n permanentAddress.clientName = permExtractionData?.name_on_card;\r\n permanentAddress.documentNumber = permExtractionData?.id_number;\r\n return permanentAddress;\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 } else {\r\n if (callback !== undefined) callback(true);\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 driving license\"\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 setPermanentAddress((permanentAddress: any) => {\r\n permanentAddress.addressLine1 = permExtractionData?.address;\r\n permanentAddress.City = permExtractionData?.district;\r\n permanentAddress.State = permExtractionData?.state;\r\n permanentAddress.PinCode = permExtractionData.pincode;\r\n permanentAddress.clientName = permExtractionData?.name_on_card;\r\n permanentAddress.documentNumber = permExtractionData?.id_number;\r\n permanentAddress.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 permanentAddress.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 return permanentAddress;\r\n });\r\n setDlExtractData(permExtractionData);\r\n\r\n if (callback !== undefined) {\r\n callback(true);\r\n }\r\n setIsLoading(false);\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, callback),\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 setCorrespondanceAddress((correspondanceAddress: any) => {\r\n correspondanceAddress.addressLine1 = corrsExtractionData?.address;\r\n correspondanceAddress.City = corrsExtractionData?.district;\r\n correspondanceAddress.State = corrsExtractionData?.state;\r\n correspondanceAddress.PinCode = corrsExtractionData.pincode;\r\n correspondanceAddress.clientName =\r\n corrsExtractionData?.name_on_card;\r\n correspondanceAddress.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 return correspondanceAddress;\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 } else {\r\n if (callback !== undefined) callback(true);\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 setCorrespondanceAddress((correspondanceAddress: any) => {\r\n correspondanceAddress.addressLine1 = corrsExtractionData?.address;\r\n correspondanceAddress.City = corrsExtractionData?.district;\r\n correspondanceAddress.State = corrsExtractionData?.state;\r\n correspondanceAddress.PinCode = corrsExtractionData.pincode;\r\n correspondanceAddress.clientName =\r\n corrsExtractionData?.name_on_card;\r\n correspondanceAddress.documentNumber =\r\n corrsExtractionData?.id_number;\r\n correspondanceAddress.dateOfIssue =\r\n corrsExtractionData?.date_of_issue;\r\n correspondanceAddress.dateOfExpiry =\r\n corrsExtractionData?.date_of_expiry;\r\n\r\n return correspondanceAddress;\r\n });\r\n }\r\n\r\n if (callback !== undefined) callback(true);\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 setCorrespondanceAddress((correspondanceAddress: any) => {\r\n correspondanceAddress.addressLine1 = corrsExtractionData?.address;\r\n correspondanceAddress.City = corrsExtractionData?.district;\r\n correspondanceAddress.State = corrsExtractionData?.state;\r\n correspondanceAddress.PinCode = corrsExtractionData.pincode;\r\n correspondanceAddress.clientName =\r\n corrsExtractionData?.name_on_card;\r\n correspondanceAddress.documentNumber =\r\n corrsExtractionData?.id_number;\r\n // correspondanceAddress.dateOfIssue=corrsExtractionData?.date_of_issue;\r\n // correspondanceAddress.dateOfExpiry=corrsExtractionData?.date_of_expiry;\r\n\r\n return correspondanceAddress;\r\n });\r\n if (callback !== undefined) callback(true);\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 setCorrDLExtractData(corrsExtractionData);\r\n setCorrespondanceAddress((correspondanceAddress: any) => {\r\n correspondanceAddress.addressLine1 = corrsExtractionData?.address;\r\n correspondanceAddress.City = corrsExtractionData?.district;\r\n correspondanceAddress.State = corrsExtractionData?.state;\r\n correspondanceAddress.PinCode = corrsExtractionData.pincode;\r\n correspondanceAddress.clientName =\r\n corrsExtractionData?.name_on_card;\r\n correspondanceAddress.documentNumber =\r\n corrsExtractionData?.id_number;\r\n correspondanceAddress.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 correspondanceAddress.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(\r\n corrsExtractionData?.date_of_validity,\r\n \"DD/MM/YYYY\"\r\n )\r\n ).format(\"DD/MM/YYYY\");\r\n\r\n return correspondanceAddress;\r\n });\r\n if (callback !== undefined) callback(true);\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, callback),\r\n // verifyDrivingObj\r\n // );\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, callback?: Function) => {\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 if (callback !== undefined) {\r\n callback(true);\r\n }\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, callback?: Function) => {\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 if (callback !== undefined) {\r\n setIsLoading(true);\r\n callback(true);\r\n }\r\n } else {\r\n setErrCode(res?.data?.Message);\r\n setDrivingFlag(false);\r\n setIsLoading(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) => {\r\n storeOcrData(res, addressOCR);\r\n }, 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) => {\r\n storeOcrData(res, addressOCR);\r\n }, 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({\r\n ...initialDocObj,\r\n documentcategory: corrAddressObj?.documentcategory,\r\n documentCategoryId: corrAddressObj?.documentCategoryId,\r\n });\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 if (\r\n permAddressObj?.documentId == dlDocumentId &&\r\n dlExtractData !== null &&\r\n dlExtractData?.date_of_birth != null &&\r\n dlExtractData?.date_of_birth !== undefined\r\n ) {\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: dlExtractData?.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 permanentAddress.documentNumber !== null\r\n ? permanentAddress.documentNumber\r\n : \"\",\r\n };\r\n AVerifyDocumentData(\r\n (res: any) =>\r\n verifyDocumentRes(res, () => {\r\n uploadAadhar(\r\n false,\r\n dlUploadInformation,\r\n sameAsPermanent,\r\n \"\",\r\n saveAddressDetails\r\n );\r\n }),\r\n verifyDrivingObj\r\n );\r\n } else if (\r\n !sameAsPermanent &&\r\n corrAddressObj?.documentId == corrDlDocumentId &&\r\n corrDLExtractData !== null &&\r\n corrDLExtractData?.date_of_birth !== null &&\r\n corrDLExtractData?.date_of_birth !== undefined\r\n ) {\r\n let verifyDrivingObj = {\r\n ActionName: \"verify_with_source\",\r\n ApplicationId: GlobalStore.applicationID,\r\n DateOfBirth: corrDLExtractData?.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 correspondanceAddress.documentNumber !== null\r\n ? correspondanceAddress.documentNumber\r\n : \"\",\r\n };\r\n AVerifyDocumentData(\r\n (res: any) =>\r\n corrsVerifyDocumentRes(res, () => {\r\n uploadAadhar(\r\n false,\r\n corrDlUploadInformation,\r\n sameAsPermanent,\r\n \"\",\r\n saveAddressDetails\r\n );\r\n }),\r\n verifyDrivingObj\r\n );\r\n } else 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 userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n let saveAddressPayload = {\r\n ApplicationId: GlobalStore.applicationID,\r\n corrsaddraspermanent: sameAsPermanent,\r\n createdBy: parseInt(userId),\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 console.log(\"addrerss\", permanentAddress, correspondanceAddress);\r\n console.log(\r\n \"ciond\",\r\n defaultAddress === \"Driving License\" && drivingFlag == false,\r\n defaultCorrAddress === \"Driving License\" && corrsDrivingFlag == false,\r\n permanentAddress,\r\n correspondanceAddress,\r\n \"conidiotn\",\r\n Object.values(permanentAddress).some((value) => !value) ||\r\n Object.values(correspondanceAddress).some((value) => !value) ||\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 == false) ||\r\n (defaultCorrAddress === \"Driving License\" && corrsDrivingFlag == false) ||\r\n (defaultAddress === \"Aadhaar Card\" && !qrVerifiedAadhar) ||\r\n (defaultCorrAddress === \"Aadhaar Card\" && !qrVerifiedCorrsAadhar),\r\n defaultCorrAddress === \"Aadhaar Card\" && !qrVerifiedCorrsAadhar\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 !== null &&\r\n permanentAddress.addressLine1 !== undefined &&\r\n permanentAddress.addressLine1 !== \"\") ||\r\n (permanentAddress.PinCode !== null &&\r\n permanentAddress.PinCode !== undefined &&\r\n permanentAddress.PinCode !== \"\") ||\r\n (permanentAddress.City !== null &&\r\n permanentAddress.City !== undefined &&\r\n permanentAddress.City !== \"\") ||\r\n (permanentAddress.State !== null &&\r\n permanentAddress.State !== undefined &&\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 false\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 !== null &&\r\n correspondanceAddress.addressLine1 !== undefined &&\r\n correspondanceAddress.addressLine1 !== \"\" &&\r\n correspondanceAddress.addressLine1 !== \"0\") ||\r\n (correspondanceAddress.PinCode !== null &&\r\n correspondanceAddress.PinCode !== undefined &&\r\n correspondanceAddress.PinCode !== \"\") ||\r\n (correspondanceAddress.City !== null &&\r\n correspondanceAddress.City !== undefined &&\r\n correspondanceAddress.City !== \"\") ||\r\n (correspondanceAddress.State !== null &&\r\n correspondanceAddress.State !== undefined &&\r\n correspondanceAddress.State !== \"\")) && (\r\n <>\r\n {\r\n setCorrespondanceAddress(obj);\r\n }}\r\n onAddressInfoBlur={setCorrErrorObj}\r\n qrVerified={\r\n false\r\n // qrVerifiedCorrsAadhar ||\r\n //defaultCorrAddress === \"Aadhaar 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 {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\" &&\r\n drivingFlag == false) ||\r\n (defaultCorrAddress === \"Driving License\" &&\r\n corrsDrivingFlag == false) ||\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, { useEffect, useState } from \"react\";\r\nimport \"./DematSelectionForm.scss\";\r\nimport Radio from \"../UI/Radio/Radio\";\r\nimport { SubmitButton } from \"../UI/Button/Button\";\r\nimport InputField from \"../UI/InputField/InputField\";\r\nimport foldUploadIcon from \"../../assets/icons/foldUploadIcon.jpg\";\r\nimport edit from \"../../assets/icons/edit.jpg\";\r\nimport Loader from \"../UI/Loader/Loader\";\r\nimport { alphaNumExp } from \"../utils/regex\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport {\r\n ADPverification,\r\n AGetDPDetails,\r\n ASaveDematDetails,\r\n AUploadDocument,\r\n} from \"../Services/dashboard/brokerageServices\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n completeModuleStatus,\r\n incompleteStageNavigation,\r\n} from \"../Services/globalService\";\r\nimport ErrMsg from \"../UI/ErrMsg/ErrMsg\";\r\nimport { dashboardUrl } from \"../utils/constants\";\r\nimport {\r\n ADownloadDocument,\r\n AGetDocStatus,\r\n AGetUploadedDocument,\r\n} from \"../Services/dashboard/docVerificationAPIServices\";\r\nimport { DocDetailFormat } from \"../UI/DocumentBrowse/DocumentBrowse\";\r\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../types/genericTypes\";\r\nimport { errorCode, errorMsg } from \"../../ErrorCode/ErrorCode\";\r\nexport interface IDematSelection {\r\n dpId: string;\r\n clientId: string;\r\n radioSelection?: boolean;\r\n fileName?: string;\r\n base64String?: string;\r\n}\r\nconst DematSelectionForm = (props: any) => {\r\n const history = useHistory();\r\n const [radioSelection, setRadioSelection] = React.useState(true);\r\n const [formData, setFormData] = React.useState({\r\n dpId: \"\",\r\n clientId: \"\",\r\n radioSelection: true,\r\n });\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [uploadedMaxFile, setUploadedMaxFile] = React.useState(false);\r\n const [fileLoader, setFileLoader] = React.useState(false);\r\n const [dpLoader, setDpLoader] = React.useState(true);\r\n const [dpIdType, setDpIdType] = React.useState(\"\");\r\n const [showAutoIfVerifyFail, setShowAutoVerifyFail] =\r\n React.useState(false);\r\n const [foundVerificationFail, setFoundVerficationFail] =\r\n React.useState(false);\r\n const [cdslFlowFind, setCdslFlowFind] = React.useState(false);\r\n const [dpIsVerified, setDpIsVerified] = React.useState(false);\r\n const [showUploadSection, setShowUploadSection] =\r\n React.useState(false);\r\n const onChanges = (key: string, value: any) => {\r\n setFormData((form) => {\r\n return {\r\n ...form,\r\n [key]: value,\r\n };\r\n });\r\n };\r\n function getbase64(dataString: string, mimeType?: string) {\r\n return (\r\n \"data:\" +\r\n (mimeType === \"application/pdf\" ? \"application/pdf\" : \"image/jpeg\") +\r\n \";base64,\" +\r\n dataString\r\n );\r\n }\r\n const [regectedDocStatus, setRegectedDocStatus] = React.useState<\r\n Array\r\n >([{}]);\r\n const getRejectedReason = () => {\r\n AGetDocStatus(getDocumentStatus, GlobalStore.applicationID);\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 if (regectedDoc !== undefined && regectedDoc?.length > 0) {\r\n setFormData((formData) => {\r\n formData.fileName = \"\";\r\n formData.base64String = \"\";\r\n return formData;\r\n });\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 const getUploadeDocument = () => {\r\n AGetUploadedDocument((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 dematAccount = uplDoc.filter(\r\n (x: any) => x.DocumentCategoryId === 96\r\n );\r\n if (dematAccount?.length > 0) {\r\n setFormData((formData) => {\r\n formData.fileName = dematAccount[0].FileName;\r\n ADownloadDocument(\r\n (res: any) => {\r\n if (!res || res.error) {\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 const base64 = getbase64(\r\n res.data.base64document,\r\n dematAccount[0].MimeType\r\n );\r\n\r\n formData.base64String = base64;\r\n return formData;\r\n }\r\n }\r\n },\r\n dematAccount[0].FileName,\r\n dematAccount[0].UploadedDocPath\r\n );\r\n return formData;\r\n });\r\n }\r\n }\r\n }, GlobalStore.applicationID);\r\n // setFormDPData();\r\n };\r\n const getDPDetails = () => {\r\n setDpLoader(true);\r\n AGetDPDetails((res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(164)\r\n setErrCode(errCode + res.error);\r\n setDpLoader(false);\r\n // gtmService({ action: \"GetDocumentDetails\", label: \"ERROR || ERR124\" });\r\n } else if (res.data && res.data !== null) {\r\n let newResp = JSON.parse(res.data);\r\n if (newResp?.dpid !== \"\" && newResp?.clientId !== \"\") {\r\n setFormData((formData) => {\r\n formData.dpId = newResp.dpid;\r\n formData.clientId = newResp.clientid;\r\n determineDepository(formData.dpId, formData?.clientId, true, true);\r\n formData.radioSelection = newResp.dpavailable;\r\n setRadioSelection(\r\n newResp?.dpavailable !== null ? newResp.dpavailable : false\r\n );\r\n // getUploadeDocument();\r\n setDpLoader(false);\r\n return formData;\r\n });\r\n } else {\r\n setFormData({\r\n dpId: \"\",\r\n clientId: \"\",\r\n radioSelection:\r\n newResp?.dpavailable !== null && newResp?.isdpcompleted\r\n ? newResp.dpavailable\r\n : true,\r\n });\r\n setRadioSelection(\r\n newResp?.isdpcompleted && newResp?.dpavailable !== null\r\n ? newResp.dpavailable\r\n : true\r\n );\r\n setDpLoader(false);\r\n }\r\n } else if (res.data === null) {\r\n setDpLoader(false);\r\n setFormData({\r\n dpId: \"\",\r\n clientId: \"\",\r\n radioSelection: true,\r\n });\r\n }\r\n }, GlobalStore?.applicationID);\r\n };\r\n\r\n React.useEffect(() => {\r\n window.scrollTo(0, 0);\r\n setFoundVerficationFail(false);\r\n getUploadeDocument();\r\n getRejectedReason();\r\n setTimeout(() => {\r\n getDPDetails();\r\n }, 1000);\r\n }, []);\r\n function getMimeType(base64String?: string) {\r\n // Split the string to get the metadata part before the comma\r\n if (base64String !== null && base64String !== undefined) {\r\n const mimeType = base64String.match(/^data:([^;]+);base64,/);\r\n\r\n // Return MIME type if present, otherwise return null\r\n return mimeType ? mimeType[1] : \".\";\r\n }\r\n return \".\";\r\n }\r\n\r\n const SaveDematDetails = (dpVerify?: boolean) => {\r\n let userId = \"0\";\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n const saveDpObj = {\r\n applicationId: GlobalStore?.applicationID,\r\n dpAvailable: formData?.radioSelection,\r\n dPid: formData?.dpId,\r\n clientid: formData?.clientId,\r\n createdBy: parseInt(userId),\r\n IsDPVerified:\r\n dpIdType == \"CDSL\"\r\n ? false\r\n : dpVerify !== null && dpVerify !== undefined\r\n ? dpVerify\r\n : dpIsVerified,\r\n leadId: GlobalStore?.leadId,\r\n };\r\n ASaveDematDetails((res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\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 completeModuleStatus(dashboardUrl.demat);\r\n history.push(incompleteStageNavigation(dashboardUrl.demat));\r\n setIsLoading(false);\r\n }\r\n }\r\n }, saveDpObj);\r\n };\r\n const handleSubmit = (cdslFinalSubmit?: boolean) => {\r\n if (\r\n formData?.radioSelection !== null &&\r\n formData?.radioSelection !== undefined &&\r\n formData?.radioSelection == false\r\n ) {\r\n setTimeout(() => {\r\n setIsLoading(true);\r\n SaveDematDetails();\r\n }, 2000);\r\n } else {\r\n if (dpIdType === \"NSDL\" && !foundVerificationFail) {\r\n setIsLoading(true);\r\n Dpverify();\r\n }\r\n if (dpIdType === \"NSDL\" && foundVerificationFail) {\r\n setIsLoading(true);\r\n uploadDocumentFile(formData?.fileName, formData?.base64String);\r\n // SaveDematDetails();\r\n }\r\n if (dpIdType === \"CDSL\") {\r\n setIsLoading(true);\r\n uploadDocumentFile(formData?.fileName, formData?.base64String);\r\n // SaveDematDetails();\r\n // if (cdslFlowFind) {\r\n // setShowUploadSection(true);\r\n // }\r\n // if (cdslFinalSubmit !== undefined && cdslFinalSubmit) {\r\n\r\n // }\r\n }\r\n }\r\n };\r\n const onRemoveDocUpload = () => {\r\n setFileLoader(true);\r\n setTimeout(() => {\r\n setFormData((formData) => {\r\n formData.fileName = \"\";\r\n formData.base64String = \"\";\r\n setFileLoader(false);\r\n return formData;\r\n });\r\n }, 200);\r\n };\r\n const Dpverify = (dpVerify?: boolean, stopSaveApi?: boolean) => {\r\n let dpVerifyAutoObj = {\r\n applicationId: GlobalStore?.applicationID,\r\n dpId: formData?.dpId,\r\n clientId: formData?.clientId,\r\n panNo: GlobalStore?.personaldetails?.pan,\r\n };\r\n ADPverification((res: any) => {\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 && res.data !== null) {\r\n if (res?.data !== null && res?.data) {\r\n if (\r\n stopSaveApi !== null &&\r\n stopSaveApi !== undefined &&\r\n stopSaveApi\r\n ) {\r\n setDpIsVerified(true);\r\n } else {\r\n SaveDematDetails(true);\r\n }\r\n } else {\r\n setIsLoading(false);\r\n if (dpVerify !== null && dpVerify !== undefined && dpVerify) {\r\n } else {\r\n setFormData((formData) => {\r\n formData.fileName = \"\";\r\n formData.base64String = \"\";\r\n return formData;\r\n });\r\n }\r\n\r\n if (dpVerify !== null && dpVerify !== undefined && dpVerify) {\r\n } else {\r\n setDpIsVerified(false);\r\n setShowAutoVerifyFail(true);\r\n }\r\n setFoundVerficationFail(true);\r\n setShowUploadSection(true);\r\n }\r\n }\r\n }\r\n }, dpVerifyAutoObj);\r\n };\r\n const onEditIcon = () => {\r\n setShowUploadSection(false);\r\n // setCdslFlowFind(false);\r\n setFormData((formData) => {\r\n formData.base64String = \"\";\r\n formData.fileName = \"\";\r\n return formData;\r\n });\r\n };\r\n const uploadDocumentFile = (fileName?: string, val?: string) => {\r\n let saveDetails = [];\r\n let saveUploadObj = {\r\n documentCategoryId: \"96\",\r\n documentId: \"626\",\r\n documentexpirydate: \"\",\r\n fileName: fileName,\r\n isfilecropped: true,\r\n mimeType: getMimeType(val),\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(saveUploadObj);\r\n let uploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: val!.split(\",\")[1],\r\n filename: fileName,\r\n panNo: GlobalStore?.personaldetails?.pan,\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 setFormData((form) => {\r\n formData.fileName = fileName;\r\n formData.base64String = val;\r\n return form;\r\n });\r\n AUploadDocument(\r\n (res: any) => {\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 setIsLoading(false);\r\n } else {\r\n if (res.data !== null && res?.data) {\r\n SaveDematDetails();\r\n }\r\n }\r\n },\r\n uploadObj,\r\n (event: ProgressEvent) => {},\r\n saveObj\r\n );\r\n };\r\n // console.log(\"FormDAta\", formData);\r\n const onFileUpload = (\r\n fileUploadEvent: React.ChangeEvent\r\n ) => {\r\n setUploadedMaxFile(false);\r\n setFileLoader(true);\r\n const elem = fileUploadEvent.target;\r\n const file = elem.files && elem.files[0];\r\n if (file !== null && file !== undefined) {\r\n if (file && file.name.split(\".\").length === 2) {\r\n let extensions = file.name.split(\".\");\r\n if (file.size > 3145728) {\r\n setUploadedMaxFile(true);\r\n } else {\r\n setUploadedMaxFile(false);\r\n if (extensions[1].toUpperCase() === \"PDF\") {\r\n if (elem.files && elem.files[0]) {\r\n const reader = new FileReader();\r\n reader.onload = function (e) {\r\n const images = (e.target && e.target.result)?.toString();\r\n if (dpIdType === \"NSDL\") {\r\n setShowAutoVerifyFail(false);\r\n }\r\n // onChanges(\"fileName\", file?.name);\r\n // onChanges(\"base64String\", images);\r\n setFormData((form) => {\r\n formData.fileName = file?.name;\r\n formData.base64String = images;\r\n return form;\r\n });\r\n // uploadDocumentFile(file?.name, images);\r\n setFileLoader(false);\r\n };\r\n reader.readAsDataURL(elem.files[0]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n const validateDPID = (dpId: string) => {\r\n const dpIdPattern = /^[A-Za-z0-9]{8}$/; // DP ID: exactly 8 alphanumeric characters\r\n\r\n if (dpIdPattern.test(dpId)) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n const validateClientID = (clientId: string) => {\r\n const dpIdNumericPattern = /^\\d{8}$/;\r\n if (dpIdNumericPattern.test(clientId)) {\r\n return false;\r\n } else return true;\r\n };\r\n function determineDepository(\r\n dpId?: any,\r\n dematAccount?: any,\r\n byGet?: boolean,\r\n fromApi?: boolean\r\n ) {\r\n setCdslFlowFind(false);\r\n const dpIdAlphanumericPattern = /^[A-Za-z0-9]{8}$/; // DP ID: 8 alphanumeric characters\r\n const dpIdNumericPattern = /^\\d{8}$/; // DP ID: exactly 8 digits\r\n const dematPattern = /^\\d{8}$/; // Demat Account: exactly 8 digits\r\n let dpType: string = \"\";\r\n if (dpIdNumericPattern.test(dpId) && dematPattern.test(dematAccount)) {\r\n dpType = \"CDSL\"; // Both DP ID and Demat Account are 8 digits\r\n setCdslFlowFind(true);\r\n } else if (\r\n dpIdAlphanumericPattern.test(dpId) &&\r\n dematPattern.test(dematAccount)\r\n ) {\r\n dpType = \"NSDL\"; // DP ID is alphanumeric but not all digits\r\n }\r\n setDpIdType((dpIdType) => {\r\n dpIdType = dpType;\r\n return dpIdType;\r\n });\r\n if (byGet !== null && byGet !== undefined && byGet) {\r\n if (dpType == \"NSDL\") {\r\n Dpverify(true, true);\r\n }\r\n }\r\n if (dpType !== \"\" && dpType === \"CDSL\" && dpType == \"CDSL\") {\r\n setShowUploadSection(true);\r\n } else {\r\n setShowUploadSection(false);\r\n }\r\n // if (fromApi !== undefined && fromApi !== null && fromApi) {\r\n\r\n // }\r\n }\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [errors, setErrors] = React.useState({\r\n dpId: \"\",\r\n clientId: \"\",\r\n });\r\n const setCdslFinalSubmit = () => {\r\n if (\r\n dpIdType === \"CDSL\" &&\r\n cdslFlowFind &&\r\n !!formData?.fileName &&\r\n formData?.fileName !== \"\" &&\r\n !!formData?.base64String &&\r\n formData?.base64String !== \"\"\r\n ) {\r\n return true;\r\n }\r\n // let proceedFurther = false;\r\n // setFormData((formData) => {\r\n\r\n // return formData;\r\n // });\r\n\r\n // return proceedFurther;\r\n };\r\n const disabledButton = () => {\r\n let disabledButtonCo: boolean = false;\r\n if (\r\n formData?.radioSelection == null &&\r\n formData?.radioSelection === undefined\r\n ) {\r\n disabledButtonCo = true;\r\n } else {\r\n if (\r\n !!formData?.dpId &&\r\n formData?.dpId !== \"\" &&\r\n !!formData?.dpId &&\r\n formData?.dpId !== \"\" &&\r\n !!formData?.clientId &&\r\n formData?.clientId !== \"\"\r\n ) {\r\n if (dpIdType === \"NSDL\") {\r\n if (showAutoIfVerifyFail) {\r\n disabledButtonCo = true;\r\n } else {\r\n if (\r\n foundVerificationFail &&\r\n !!formData?.fileName &&\r\n formData?.fileName !== \"\" &&\r\n !!formData?.base64String &&\r\n formData?.base64String !== \"\"\r\n ) {\r\n disabledButtonCo = false;\r\n } else if (foundVerificationFail === false)\r\n disabledButtonCo = false;\r\n else disabledButtonCo = true;\r\n }\r\n } else if (dpIdType === \"CDSL\") {\r\n if (\r\n !!formData?.fileName &&\r\n formData?.fileName !== \"\" &&\r\n !!formData?.base64String &&\r\n formData?.base64String !== \"\"\r\n ) {\r\n disabledButtonCo = false;\r\n } else {\r\n if (showUploadSection == false) {\r\n disabledButtonCo = false;\r\n } else disabledButtonCo = true;\r\n }\r\n }\r\n } else {\r\n if (formData?.radioSelection === false) {\r\n disabledButtonCo = false;\r\n } else disabledButtonCo = true;\r\n }\r\n }\r\n\r\n return disabledButtonCo;\r\n };\r\n return (\r\n <>\r\n {dpLoader && (\r\n
\r\n \r\n
\r\n )}\r\n {!dpLoader && (\r\n
\r\n
Link your Demat Account
\r\n
\r\n You can link your existing{\" \"}\r\n Nuvama Demat Account (if available) or a External Demat\r\n account to experience the Investment Product offered under the\r\n Wealth Starters Account. Alternatively, if you wish to invest solely\r\n in Mutual Funds and Non-Demat products, you have the option\r\n to proceed without linking any Demat account\r\n
\r\n
\r\n {\r\n setRadioSelection(true);\r\n onChanges(\"radioSelection\", true);\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Yes\"\r\n //disabled={true}\r\n />\r\n {\r\n onChanges(\"radioSelection\", false);\r\n setRadioSelection(false);\r\n setFoundVerficationFail(false);\r\n setShowUploadSection(false);\r\n onChanges(\"clientId\", \"\");\r\n onChanges(\"dpId\", \"\");\r\n setDpIdType(\"\");\r\n setShowAutoVerifyFail(false);\r\n }}\r\n name=\"radioSelection\"\r\n label=\"No\"\r\n //disabled={true}\r\n />\r\n
\r\n {radioSelection && (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n setShowUploadSection(false);\r\n if (\r\n value != null &&\r\n value !== undefined &&\r\n value != \"\" &&\r\n value?.length > 0 &&\r\n !validateDPID(value)\r\n ) {\r\n setFoundVerficationFail(false);\r\n onChanges(\"clientId\", \"\");\r\n setShowAutoVerifyFail(false);\r\n onChanges(\"dpId\", value);\r\n setFormData((formData) => {\r\n formData.fileName = \"\";\r\n formData.base64String = \"\";\r\n return formData;\r\n });\r\n }\r\n }}\r\n required={true}\r\n pattern={alphaNumExp}\r\n onBlur={(error: any, event) => {\r\n const regex = /\\d/; // At least one digit\r\n\r\n if (error.required) {\r\n setErrors({\r\n ...errors,\r\n dpId: errorMsg(errorCode.FE57),\r\n });\r\n }\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n dpId: errorMsg(errorCode.FE55),\r\n });\r\n } else if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !regex.test(event?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n dpId: errorMsg(errorCode.FE56),\r\n });\r\n } else {\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n validateDPID(event?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n dpId: errorMsg(errorCode.FE56),\r\n });\r\n } else\r\n setErrors({\r\n ...errors,\r\n dpId: \"\",\r\n });\r\n }\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. 18273946\"\r\n // pattern={pan}\r\n errorText={errors?.dpId}\r\n maxLength={8}\r\n // suffix={\r\n // <>\r\n // {cdslFlowFind && (\r\n // {\r\n // onEditIcon();\r\n // }}\r\n // >\r\n // \r\n // \r\n // )}\r\n // \r\n // }\r\n />\r\n
\r\n
\r\n \r\n {\r\n setShowUploadSection(false);\r\n if (\r\n value != null &&\r\n value !== undefined &&\r\n value != \"\" &&\r\n value?.length > 0\r\n ) {\r\n onChanges(\"clientId\", value);\r\n determineDepository(formData?.dpId, value);\r\n }\r\n }}\r\n required={true}\r\n pattern={alphaNumExp}\r\n onBlur={(error: any, event) => {\r\n if (error.required) {\r\n setErrors({\r\n ...errors,\r\n clientId: errorMsg(errorCode.FE57),\r\n });\r\n }\r\n\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n !event?.target?.value?.replace(/\\s/g, \"\").length\r\n ) {\r\n setErrors({\r\n ...errors,\r\n clientId: errorMsg(errorCode.FE55),\r\n });\r\n } else {\r\n if (\r\n !!event?.target?.value &&\r\n event?.target?.value?.length > 0 &&\r\n validateClientID(event?.target?.value)\r\n ) {\r\n setErrors({\r\n ...errors,\r\n clientId: errorMsg(errorCode.FE54),\r\n });\r\n } else {\r\n setErrors({\r\n ...errors,\r\n clientId: \"\",\r\n });\r\n }\r\n }\r\n }}\r\n type=\"text\"\r\n placeholder=\"Eg. 18273946\"\r\n // pattern={pan}\r\n errorText={errors?.clientId}\r\n maxLength={8}\r\n onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\r\n // suffix={\r\n // <>\r\n // {cdslFlowFind && (\r\n // {\r\n // onEditIcon();\r\n // }}\r\n // >\r\n // \r\n // \r\n // )}\r\n // \r\n // }\r\n />\r\n
\r\n
\r\n {showUploadSection && (\r\n
\r\n {showAutoIfVerifyFail && (\r\n
\r\n {errorMsg(errorCode.FE53)}\r\n
\r\n )}\r\n\r\n
\r\n Upload document to verification\r\n
\r\n
\r\n For us to verify your demat account kindly share your CML\r\n Copy or Demat Statement (maximum 1 month old)\r\n
\r\n
\r\n \r\n
\r\n {formData?.fileName !== undefined &&\r\n formData?.fileName !== null &&\r\n formData?.fileName !== \"\" &&\r\n formData?.base64String !== undefined &&\r\n formData?.base64String !== null &&\r\n formData?.base64String !== \"\" && (\r\n \r\n \r\n \r\n {formData?.fileName}\r\n \r\n {fileLoader ? (\r\n \r\n ) : (\r\n {\r\n // console.log(\"button is clicked\");\r\n onRemoveDocUpload();\r\n }}\r\n >\r\n \r\n
\r\n )}\r\n \r\n )}\r\n
\r\n {uploadedMaxFile && (\r\n
\r\n please upload correct file(size is incorrect).\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 DEMAT\" && (\r\n \r\n <>\r\n \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 \r\n {\r\n handleSubmit();\r\n }}\r\n type=\"submit\"\r\n />\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default DematSelectionForm;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./DematSelection.scss\";\r\nimport DematSelectionForm from \"./DematSelectionForm\";\r\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport { ITokenObj } from \"../types/genericTypes\";\r\nimport { DropOffLogAPI } from \"../Services/dashboard/docVerificationAPIServices\";\r\n\r\nconst DematSelection = (props: any) => {\r\n const dropOffObj = () => {\r\n let userId = 0;\r\n // console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n const stageInfoObj = {\r\n applicationid: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : GlobalStore?.accountcategory,\r\n stageOrderId: 16,\r\n userId: userId?.toString(),\r\n rmAssisted: GlobalStore?.stageStatus?.rmassisted,\r\n };\r\n DropOffLogAPI(() => {}, stageInfoObj);\r\n };\r\n React.useEffect(() => {\r\n dropOffObj();\r\n }, []);\r\n return (\r\n <>\r\n
\r\n
Demat Account
\r\n
\r\n Provide your demat account details.\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DematSelection;\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 isKycDownload?: boolean,\r\n accounteCategory?: any\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 accounteCategory ? accounteCategory : GlobalStore?.accountcategory,\r\n isKycDownload\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] =\r\n 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 \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
\r\n
\r\n {showAgentVisitForm && (\r\n \r\n )}\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 \"../ESign/ESignForm/ESignForm.scss\";\r\nimport * as React from \"react\";\r\nimport DocStatus from \"../ESign/DocStatus/DocStatus\";\r\nimport Button, { TransparentButton, Verify } from \"../UI/Button/Button\";\r\nimport blueTick from \"../../assets/icons/blueTick.svg\";\r\nimport GlobalStore from \"../store/globalStore\";\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 {\r\n AGetUploadedDocument,\r\n QCServiceTaskCreation,\r\n} from \"../Services/dashboard/docVerificationAPIServices\";\r\nimport { downloadForm } from \"../POA/Poa\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { setStageData } from \"../Services/globalService\";\r\nimport Radio from \"../UI/Radio/Radio\";\r\nimport {\r\n AGetOtpNew,\r\n ALeadFetchApi,\r\n AValidateOtpNew,\r\n} from \"../Services/registration/registrationApiService\";\r\nimport {\r\n AGetStageCompletionStatus,\r\n AUpdateStageCompletionStatus,\r\n} from \"../Services/registration/continueApiService\";\r\nimport { ILeadFormFields } from \"../Registration/RegistrationForm/RegistrationForm\";\r\nimport InputField from \"../UI/InputField/InputField\";\r\nimport {\r\n emailRegex,\r\n forbiddenWordsRegex,\r\n integerExp,\r\n phoneNo,\r\n} from \"../utils/regex\";\r\nimport { errorCode, errorMsg } from \"../../ErrorCode/ErrorCode\";\r\nimport RegOtp from \"../Registration/RegOtp/RegOtp\";\r\nimport { containerUrl } from \"../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../types/genericTypes\";\r\nlet intervalTimer: any;\r\nexport interface ILeadDetails {\r\n email?: string;\r\n mobile?: string;\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n pan?: string;\r\n dob?: string;\r\n productid?: string;\r\n categoryid?: string;\r\n rmid?: string;\r\n leadid?: string;\r\n accountCategory?: string;\r\n isMobileVerified?: boolean;\r\n isEmailVerified?: boolean;\r\n isPanVerified?: boolean;\r\n uccCode?: string;\r\n}\r\nconst KRAAuthenticateForm = (props: any) => {\r\n const quryParams = useQuery();\r\n const history = useHistory();\r\n const [values, setValues] = React.useState({\r\n email: \"\",\r\n mobile: \"\",\r\n });\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 [radioSelection, setRadioSelection] = React.useState(true);\r\n const [isVerified, setIsVerified] = React.useState<{\r\n type: string;\r\n isVerify: boolean;\r\n }>({\r\n type: \"MOB\",\r\n isVerify: false,\r\n });\r\n const [rmAssited, setRmAssited] = React.useState(false);\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof ILeadFormFields]?: string;\r\n }>({\r\n email: undefined,\r\n mobile: undefined,\r\n });\r\n const [errCode, setErrCode] = React.useState();\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 [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 const [isMobileVerified, setIsMobileVerified] =\r\n React.useState(false);\r\n const [isEmailVerified, setIsEmailVerified] = React.useState(false);\r\n const [isButtonDisabled, setIsButtonDisabled] = React.useState(false);\r\n const [invalidOtp, setInvalidOtp] = 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 [mailVerifiedFE, setMailVerifiedFE] = React.useState(false);\r\n const [leadDetails, setLeadDetails] = React.useState({});\r\n const [mobileVerifiedFE, setMobileVerifiedFE] =\r\n React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [showResult, setShowResult] = React.useState(false);\r\n const [proceedToAutheticate, setProceedToAutheticate] =\r\n 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 React.useEffect(() => {\r\n AGetStageCompletionStatus((res: any) => {\r\n getClientStageDetails(res);\r\n }, GlobalStore.applicationID);\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 GetLeadDetails(GlobalStore?.leadId);\r\n return () => {\r\n clearInterval(intervalTimer);\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 !== null && responseObj != undefined) {\r\n if (\r\n responseObj?.rmassisted !== null &&\r\n responseObj?.rmassisted !== undefined &&\r\n responseObj?.rmassisted\r\n ) {\r\n setRmAssited(true);\r\n }\r\n }\r\n setValues((values) => {\r\n if (responseObj.emailid !== undefined) {\r\n values.email = responseObj.emailid;\r\n }\r\n if (responseObj.mobileno !== undefined)\r\n values.mobile = responseObj.mobileno;\r\n return values;\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 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 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 setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = true;\r\n return isVerified;\r\n });\r\n setShowEmailOtp(false);\r\n setMailVerifiedFE(true);\r\n } else {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n 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 GlobalStore.user.mobile = values.mobile;\r\n setIsMobileVerified(true);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = true;\r\n return isVerified;\r\n });\r\n setShowMobileOtp(false);\r\n setMobileVerifiedFE(true);\r\n } else {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n setInvalidOtp(true);\r\n }\r\n setErrCode(\"\");\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 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 function sendEmailOtp() {\r\n setIsLoading(true);\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 }\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 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 const GetLeadDetails = (leadId?: string) => {\r\n if (leadId !== null && leadId !== undefined && leadId !== \"\") {\r\n ALeadFetchApi(\r\n (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 if (Array?.isArray(res?.data) && res?.data?.length > 0) {\r\n const leadObj = res?.data[0] as ILeadDetails;\r\n if (leadObj !== undefined) {\r\n // setValues((values) => {\r\n // if (leadObj?.email !== undefined) {\r\n // values.email = leadObj?.email;\r\n // }\r\n // if (leadObj?.mobile !== undefined)\r\n // values.mobile = leadObj?.mobile;\r\n // return values;\r\n // });\r\n }\r\n\r\n setLeadDetails(leadObj);\r\n }\r\n }\r\n },\r\n {\r\n id: leadId,\r\n name: \"\",\r\n stageFlag: 2,\r\n }\r\n );\r\n }\r\n };\r\n const updateStageStatus = () => {\r\n setIsLoading(true);\r\n let userId = \"0\";\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n let reaObj = {\r\n applicationId: GlobalStore?.applicationID,\r\n accountCagtegory: GlobalStore?.stageStatus?.accountcategory,\r\n stageOrderId: 11,\r\n UserId: userId,\r\n rmassisted: rmAssited,\r\n };\r\n AUpdateStageCompletionStatus((req: any) => {\r\n if (!req || req.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(req.error);\r\n // gtmService({\r\n // action: \"GetClientDataByPanOrLead\",\r\n // label: \"ERROR || ERR148\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n if (req?.data !== null) {\r\n if (GlobalStore?.isKRA) {\r\n createTask();\r\n // history.replace(containerUrl.esignsubmit);\r\n }\r\n }\r\n }\r\n }, reaObj);\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 const createTask = () => {\r\n QCServiceTaskCreation(\r\n (res: any) => {\r\n if (!res || res.error) {\r\n setIsLoading(false);\r\n // gtmService({ action: \"UploadDocumentToS3\", label: \"ERROR || ERR140\" });\r\n // setIsLoading(false);\r\n // handErrorForFileUpload(id, res);\r\n setErrCode(res.error);\r\n setIsLoading(false);\r\n // setLoaderSign(false);\r\n } else {\r\n if (res && res.data !== null && Object.keys(res?.data)?.length > 0) {\r\n // getSaveStatusNew();\r\n history.replace(containerUrl.submit);\r\n } else {\r\n setErrCode(\"Something went wrong. please try again later.\");\r\n setIsLoading(false);\r\n // setLoaderSign(false);\r\n }\r\n }\r\n },\r\n GlobalStore?.applicationID,\r\n GlobalStore.stageStatus.accountcategory\r\n ? GlobalStore?.stageStatus?.accountcategory\r\n : 0\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 const checkDisabledForm = () => {\r\n let disabledButton = false;\r\n if (isVerified?.type !== null && isVerified?.isVerify == true) {\r\n disabledButton = false;\r\n } else disabledButton = true;\r\n return disabledButton;\r\n };\r\n const generateEsignFields = (showMobile: boolean) => {\r\n return (\r\n <>\r\n {showMobile == false && (\r\n <>\r\n
\r\n
\r\n \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 setShowMobileMailBtn(true);\r\n setIsEmailVerified(false);\r\n setIsButtonDisabled(false);\r\n\r\n // onChange(\"email\", value);\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, 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 values.email !== \"\" && isEmailVerified ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n />\r\n
\r\n {showMobileMailBtn && !isEmailVerified && (\r\n
\r\n 0)\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 )}\r\n {showMobile && (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n setShowMobileBtn(true);\r\n setIsButtonDisabled(false);\r\n setIsMobileVerified(false);\r\n // setAllreadyExistMobOrEmail({ email: false, mob: false });\r\n // onChange(\"mobile\", value);\r\n }}\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 inputPattern={integerExp}\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 onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\r\n />\r\n
\r\n {showMobileBtn && !isMobileVerified && (\r\n
\r\n error) ||\r\n Object.values([values.mobile]).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 )}\r\n \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 \r\n \r\n \r\n
\r\n
\r\n {\r\n downloadForm(\r\n `Esign_${GlobalStore.applicationID}`,\r\n (resp: any) => {\r\n setIsLoading(resp);\r\n },\r\n () => {},\r\n false,\r\n true,\r\n GlobalStore?.stageStatus?.accountcategory\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n {!proceedToAutheticate && (\r\n \r\n )}\r\n {proceedToAutheticate && (\r\n <>\r\n
\r\n {\r\n setRadioSelection(true);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Mobile Number\"\r\n //disabled={true}\r\n />\r\n {\r\n setRadioSelection(false);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Email ID\"\r\n //disabled={true}\r\n />\r\n
\r\n <>{generateEsignFields(isVerified.type == \"MOB\" ? true : false)}\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 {!proceedToAutheticate && (\r\n {\r\n setProceedToAutheticate(true);\r\n }}\r\n />\r\n )}\r\n {proceedToAutheticate && (\r\n {\r\n updateStageStatus();\r\n //setProceedToAutheticate(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 KRAAuthenticateForm;\r\n","import React from \"react\";\r\nimport esignBanner from \"../../assets/icons/esignBanner.jpeg\";\r\nimport PendingModules from \"../ESign/PendingModulesList/PendingModulesList\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport cleverTapEvents from \"../../config/cleverTapEvents\";\r\nimport useQuery from \"../../customHooks/useQuery\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport KRAAuthenticateForm from \"./KRAAuthenticateForm\";\r\nimport { dashboardUrl } from \"../utils/constants\";\r\nconst KraAuthenticateHome = (props: any) => {\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 [pendingModules, setPendingModules] =\r\n React.useState>();\r\n const [proceedToAutheticate, setProceedToAutheticate] =\r\n React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n React.useEffect(() => {\r\n checkPendingModules();\r\n // window.sessionStorage.setItem(\"stageInfoId\", \"10\");\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 (\r\n !module.isComplete &&\r\n module.isRequired &&\r\n module.navUrl !== dashboardUrl.authenticate\r\n ) {\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 return (\r\n
\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
\r\n
\r\n );\r\n};\r\nexport default KraAuthenticateHome;\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\nimport DematSelection from \"../components/DematSelection/DematSelection\";\r\nimport KraAuthenticateHome from \"../components/KRAAuthenticate/KraAuthenticateHome\";\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\n \r\n \r\n )}\r\n />\r\n (\r\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 * 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 accountId?: 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 {/* {props?.accountId && (\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 { 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\nimport { useHistory } from \"react-router-dom\";\r\nimport { containerUrl } from \"../utils/constants\";\r\n\r\nexport interface SubmitAOProps {}\r\n\r\nconst SubmitAO: React.FC = (props) => {\r\n // Fetch query params for clervertap\r\n const history = useHistory();\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 [accountId, setAccountId] = React.useState();\r\n const [displayInfoList, setDisplayInfoList] = React.useState>(\r\n []\r\n );\r\n const [time, setTime] = React.useState(\"\");\r\n React.useEffect(() => {\r\n if (\r\n GlobalStore?.applicationID == \"\" ||\r\n GlobalStore?.applicationID == null ||\r\n GlobalStore?.applicationID == undefined\r\n ) {\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 } else 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 setAccountId(responseObj.applicationid);\r\n const displayInfo: Array = [\r\n {\r\n display: \"Login Id(Account Id):\",\r\n value: responseObj.applicationid,\r\n },\r\n { display: \"Name\", value: holderName },\r\n { display: \"Demat Account\", value: responseObj.dpid },\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 ];\r\n\r\n setTime(responseObj.esigncompletedtime);\r\n setDisplayInfoList(displayInfo);\r\n } else {\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 setAccountId(responseObj.applicationid);\r\n const displayInfo: Array = [\r\n {\r\n display: \" Login Id(Account Id):\",\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\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 EdelLogoCenter from \"../../UI/EdelLogoCenter/EdelLogoCenter\";\r\nimport \"./Layout.scss\";\r\nimport DeviceContext from \"../../../components/Services/identifyDevice\";\r\nexport interface StatusLayoutProps {\r\n edelLogoClass?: string;\r\n statusClassName?: string;\r\n}\r\n\r\nconst StatusLayout: React.FC = (props) => {\r\n const isDesktop = DeviceContext().isDesktop;\r\n\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 StatusLayout;\r\n","import React, { Component } from \"react\";\r\nimport \"./EsignNewForm.scss\";\r\nimport {\r\n AEmailUpdateApi,\r\n AGetOtpNew,\r\n ALeadFetchApi,\r\n AValidateOtpNew,\r\n CreateUCCRegCode,\r\n} from \"../../Services/registration/registrationApiService\";\r\nimport GlobalStore from \"../../store/globalStore\";\r\nimport {\r\n emailRegex,\r\n forbiddenWordsRegex,\r\n integerExp,\r\n phoneNo,\r\n} from \"../../utils/regex\";\r\nimport InputField from \"../../UI/InputField/InputField\";\r\nimport { errorCode, errorMsg } from \"../../../ErrorCode/ErrorCode\";\r\nimport {\r\n SubmitButton,\r\n TransparentButton,\r\n Verify,\r\n} from \"../../UI/Button/Button\";\r\nimport RegOtp from \"../../Registration/RegOtp/RegOtp\";\r\nimport { AGetClientDetailsByPan } from \"../../Services/registration/panDobApiService\";\r\nimport {\r\n AGetStageCompletionStatus,\r\n AUpdateStageCompletionStatus,\r\n} from \"../../Services/registration/continueApiService\";\r\n\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 { AGetRMEsignUrlDetails } from \"../../Services/dashboard/eSignApiServices\";\r\nimport ErrMsg from \"../../UI/ErrMsg/ErrMsg\";\r\nimport { downloadForm } from \"../../POA/Poa\";\r\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { containerUrl } from \"../../utils/constants\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Radio from \"../../UI/Radio/Radio\";\r\nimport moment from \"moment\";\r\nexport interface ILeadFormFields {\r\n email: string;\r\n mobile: string;\r\n}\r\nexport interface IEsignProps {\r\n pan?: string;\r\n setIsKRA?: Function;\r\n isKRA?: boolean;\r\n userId?: string;\r\n}\r\n\r\nexport interface ICompletionStatus {\r\n pan: string;\r\n token: string;\r\n ApplicatoinId: string;\r\n leadId: string;\r\n clientPrimaryDetailId: string;\r\n AccountCategory?: number;\r\n}\r\nexport interface ILeadDetails {\r\n email?: string;\r\n mobile?: string;\r\n firstName?: string;\r\n middleName?: string;\r\n lastName?: string;\r\n pan?: string;\r\n dob?: string;\r\n productid?: string;\r\n categoryid?: string;\r\n rmid?: string;\r\n leadid?: string;\r\n accountCategory?: string;\r\n isMobileVerified?: boolean;\r\n isEmailVerified?: boolean;\r\n isPanVerified?: boolean;\r\n uccCode?: string;\r\n}\r\n\r\nconst EsignNewForm = (props?: IEsignProps) => {\r\n const history = useHistory();\r\n const [errCode, setErrCode] = React.useState(\"\");\r\n const [authenticate, setAuthenticate] = React.useState(false);\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [completionStatus, setCompletionStatus] =\r\n React.useState();\r\n const [values, setValues] = React.useState({\r\n email: \"\",\r\n mobile: \"\",\r\n });\r\n const [rmAssited, setRmAssited] = React.useState(false);\r\n const [uccCode, setUccCode] = React.useState(\"\");\r\n const [radioSelection, setRadioSelection] = React.useState(true);\r\n const [firstName, setFirstName] = React.useState(\"\");\r\n const [lastName, setLastName] = 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 const [isMobileVerified, setIsMobileVerified] =\r\n React.useState(false);\r\n const [dob, setDob] = React.useState();\r\n const [isEmailVerified, setIsEmailVerified] = React.useState(false);\r\n const [isButtonDisabled, setIsButtonDisabled] = React.useState(false);\r\n const [invalidOtp, setInvalidOtp] = 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 [mailVerifiedFE, setMailVerifiedFE] = React.useState(false);\r\n const [leadDetails, setLeadDetails] = React.useState({});\r\n const [mobileVerifiedFE, setMobileVerifiedFE] =\r\n React.useState(false);\r\n const [isVerified, setIsVerified] = React.useState<{\r\n type: string;\r\n isVerify: boolean;\r\n }>({\r\n type: \"MOB\",\r\n isVerify: false,\r\n });\r\n const [errors, setErrors] = React.useState<{\r\n [key in keyof ILeadFormFields]?: string;\r\n }>({\r\n email: undefined,\r\n mobile: undefined,\r\n });\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 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\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 if (showMobileRadio()) {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = true;\r\n return isVerified;\r\n });\r\n }\r\n setIsEmailVerified(true);\r\n setShowEmailOtp(false);\r\n setMailVerifiedFE(true);\r\n } else {\r\n if (showMobileRadio()) {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }\r\n 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 GlobalStore.user.mobile = values.mobile;\r\n if (showMobileRadio()) {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = true;\r\n return isVerified;\r\n });\r\n }\r\n setIsMobileVerified(true);\r\n setShowMobileOtp(false);\r\n setMobileVerifiedFE(true);\r\n } else {\r\n if (showMobileRadio()) {\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }\r\n setInvalidOtp(true);\r\n }\r\n setErrCode(\"\");\r\n }\r\n }\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 setValues({ ...values, [key]: value });\r\n if (key === \"mobile\") {\r\n if (isMobileVerified) {\r\n setShowMobileBtn(false);\r\n } else {\r\n setShowMobileBtn(true);\r\n }\r\n }\r\n if (key === \"email\") {\r\n if (isEmailVerified) {\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 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 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 function sendEmailOtp() {\r\n setIsLoading(true);\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 }\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 React.useEffect(() => {\r\n if (\r\n props?.pan !== null &&\r\n props?.pan !== undefined &&\r\n props?.pan !== \"\" &&\r\n !!props?.userId &&\r\n props?.userId !== \"\"\r\n ) {\r\n setIsLoading(true);\r\n AGetClientDetailsByPan(searchByPan, props?.pan, 2, props?.userId);\r\n }\r\n }, [props?.pan]);\r\n\r\n const GetLeadDetails = (leadId?: string) => {\r\n if (leadId !== null && leadId !== undefined && leadId !== \"\") {\r\n ALeadFetchApi(\r\n (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 if (Array?.isArray(res?.data) && res?.data?.length > 0) {\r\n const leadObj = res?.data[0] as ILeadDetails;\r\n if (leadObj !== undefined) {\r\n setValues((values) => {\r\n if (leadObj?.email !== undefined) {\r\n values.email = leadObj?.email;\r\n }\r\n if (leadObj?.mobile !== undefined)\r\n values.mobile = leadObj?.mobile;\r\n return values;\r\n });\r\n }\r\n if (\r\n leadObj !== undefined &&\r\n leadObj?.uccCode !== \"\" &&\r\n !!leadObj?.uccCode\r\n )\r\n setUccCode(leadObj?.uccCode);\r\n if (\r\n leadObj?.firstName !== null &&\r\n leadObj?.firstName !== undefined &&\r\n leadObj?.firstName !== \"\"\r\n ) {\r\n setFirstName(leadObj?.firstName);\r\n }\r\n\r\n if (\r\n leadObj?.lastName !== null &&\r\n leadObj?.lastName !== undefined &&\r\n leadObj?.lastName !== \"\"\r\n ) {\r\n setLastName(leadObj?.lastName);\r\n }\r\n setLeadDetails(leadObj);\r\n }\r\n }\r\n },\r\n {\r\n id: leadId,\r\n name: \"\",\r\n stageFlag: 2,\r\n }\r\n );\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 setCompletionStatus(res?.data);\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 GlobalStore.accountcategory = res.data?.AccountCategory;\r\n GetLeadDetails(res.data.LeadId);\r\n AGetStageCompletionStatus(\r\n (res: any) => getClientStageDetails(res),\r\n GlobalStore.applicationID\r\n );\r\n setIsLoading(false);\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 const convertDate = (dateString: string) => {\r\n // Split the input date string by \"/\"\r\n const [day, month, year] = dateString.split(\"/\");\r\n\r\n // Create a new Date object with the parsed values\r\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day)); // month - 1 because months are zero-indexed\r\n\r\n // Format the date to \"mm-dd-yyyy\"\r\n const formattedDate = `${(date.getMonth() + 1)\r\n .toString()\r\n .padStart(2, \"0\")}-${day.padStart(2, \"0\")}-${year}`;\r\n\r\n return formattedDate;\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 !== null && responseObj != undefined) {\r\n if (\r\n responseObj?.rmassisted !== null &&\r\n responseObj?.rmassisted !== undefined &&\r\n responseObj?.rmassisted\r\n ) {\r\n setRmAssited(true);\r\n }\r\n if (responseObj?.dob !== null && responseObj?.dob !== undefined) {\r\n let date = moment(moment(convertDate(responseObj?.dob)).toDate())\r\n .startOf(\"day\")\r\n .toDate();\r\n setDob(moment(dob).format(\"yyyy-MM-DD\"));\r\n }\r\n if (responseObj.iskra) {\r\n if (props?.setIsKRA != undefined) {\r\n props?.setIsKRA(responseObj.iskra);\r\n if (responseObj?.auth_ver) {\r\n history.push(containerUrl.esignsubmit);\r\n }\r\n }\r\n } else {\r\n if (\r\n responseObj.isesigncompleted !== null &&\r\n responseObj.isesigncompleted == true &&\r\n responseObj?.auth_ver\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n }\r\n }\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 const updateStageStatus = () => {\r\n let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n let reaObj = {\r\n applicationId: completionStatus?.ApplicatoinId,\r\n accountCagtegory: completionStatus?.AccountCategory,\r\n stageOrderId: 11,\r\n UserId: userId,\r\n rmassisted: rmAssited,\r\n };\r\n AUpdateStageCompletionStatus((req: any) => {\r\n if (!req || req.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(req.error);\r\n // gtmService({\r\n // action: \"GetClientDataByPanOrLead\",\r\n // label: \"ERROR || ERR148\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n if (req?.data !== null) {\r\n if (props?.isKRA) {\r\n history.replace(containerUrl.esignsubmit);\r\n }\r\n }\r\n }\r\n }, reaObj);\r\n };\r\n const handleCreateUcc = () => {\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: firstName,\r\n lastName: lastName,\r\n applicationId: GlobalStore?.applicationID,\r\n requestStage: 1,\r\n leadSource: \"DIY\",\r\n isPanVerify: true,\r\n Pan: leadDetails?.pan,\r\n dob:\r\n dob !== null && dob !== undefined\r\n ? dob\r\n : moment(leadDetails?.dob).format(\"yyyy-MM-DD\"),\r\n };\r\n\r\n if (uccCode == \"\" || uccCode == undefined || uccCode == null) {\r\n CreateUCCRegCode((req: any) => {\r\n if (!req || req.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(req.error);\r\n // gtmService({\r\n // action: \"GetClientDataByPanOrLead\",\r\n // label: \"ERROR || ERR148\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n }\r\n }, reqObj);\r\n }\r\n };\r\n const AEmailUpdate = () => {\r\n let reqObj = {\r\n emailId: leadDetails?.email,\r\n uccCode: leadDetails?.uccCode,\r\n source: \"\",\r\n ApplicationId: GlobalStore?.applicationID,\r\n };\r\n if (uccCode && leadDetails?.isEmailVerified == false)\r\n AEmailUpdateApi((req: any) => {\r\n if (!req || req.error) {\r\n // setErrCode(\"118 - Error in fetching Client details from our system.\");\r\n setErrCode(req.error);\r\n // gtmService({\r\n // action: \"GetClientDataByPanOrLead\",\r\n // label: \"ERROR || ERR148\",\r\n // });\r\n setIsLoading(false);\r\n } else {\r\n }\r\n }, reqObj);\r\n };\r\n const checkDisableForm = () => {\r\n let disabledButton = false;\r\n if (showMobileRadio()) {\r\n if (isVerified?.type !== null && isVerified?.isVerify == true) {\r\n disabledButton = false;\r\n } else {\r\n disabledButton = true;\r\n }\r\n } else if (hideEmailVerifyButton() && mobileVerifiedFE == true)\r\n disabledButton = false;\r\n else if (hideMobileVerifyButton() && mailVerifiedFE == true)\r\n disabledButton = false;\r\n else if (mailVerifiedFE == true && mobileVerifiedFE == true)\r\n disabledButton = false;\r\n else disabledButton = true;\r\n if (\r\n errCode !== null &&\r\n errCode !== undefined &&\r\n typeof errCode === \"string\" &&\r\n errCode != \"\"\r\n ) {\r\n disabledButton = true;\r\n }\r\n if (\r\n (values?.email === null ||\r\n values?.email === undefined ||\r\n values?.email === \"\") &&\r\n (values?.mobile === null ||\r\n values?.mobile === undefined ||\r\n values?.mobile === \"\")\r\n ) {\r\n disabledButton = true;\r\n }\r\n return disabledButton;\r\n };\r\n const generateEsignFields = () => {\r\n return (\r\n <>\r\n {showEmailField() && (\r\n <>\r\n
\r\n
\r\n \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 if (hideEmailVerifyButton()) {\r\n } else {\r\n setShowMobileMailBtn(true);\r\n }\r\n\r\n setIsEmailVerified(false);\r\n setIsButtonDisabled(false);\r\n\r\n onChange(\"email\", value);\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, 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 hideEmailVerifyButton() ||\r\n (values.email !== \"\" && isEmailVerified) ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n />\r\n
\r\n {hideEmailVerifyButton() ? (\r\n <>\r\n ) : (\r\n <>\r\n {\" \"}\r\n {showMobileMailBtn && !isEmailVerified && (\r\n
\r\n 0)\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 )}\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 )}\r\n <>\r\n {showMobileField() && (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n if (hideMobileVerifyButton()) {\r\n } else {\r\n setShowMobileBtn(true);\r\n }\r\n\r\n setIsButtonDisabled(false);\r\n setIsMobileVerified(false);\r\n // setAllreadyExistMobOrEmail({ email: false, mob: false });\r\n onChange(\"mobile\", value);\r\n }}\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 inputPattern={integerExp}\r\n suffix={\r\n hideMobileVerifyButton() ||\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 onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\r\n />\r\n
\r\n {hideMobileVerifyButton() ? (\r\n <>\r\n ) : (\r\n showMobileBtn &&\r\n !isMobileVerified && (\r\n
\r\n error\r\n ) ||\r\n Object.values([values.mobile]).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
\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 )}\r\n \r\n \r\n );\r\n };\r\n const getRMAssitedEsignLink = () => {\r\n //redirect to NSDL website for esign\r\n setIsLoading(true);\r\n let userId = 0;\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = parseInt(tokenMainObj?.UserId?.toString());\r\n }\r\n window.alert(\"You will be redirected here after Completion of Esign\");\r\n AGetRMEsignUrlDetails(\r\n getEsignUrl,\r\n GlobalStore.applicationID,\r\n 1,\r\n GlobalStore.accountcategory ? GlobalStore?.accountcategory : 0,\r\n userId\r\n );\r\n };\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 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 {\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 const handleSubmit = () => {\r\n if (uccCode === \"\" || uccCode == undefined || uccCode == null) {\r\n handleCreateUcc();\r\n }\r\n AEmailUpdate();\r\n updateStageStatus();\r\n if (\r\n props?.isKRA !== null &&\r\n props?.isKRA !== undefined &&\r\n props?.isKRA === false\r\n )\r\n getRMAssitedEsignLink();\r\n };\r\n const showMobileField = () => {\r\n let showMobile: boolean = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified &&\r\n isVerified?.type == \"MOB\"\r\n ) {\r\n showMobile = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified\r\n ) {\r\n showMobile = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode == \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n showMobile = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode === \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n showMobile = true;\r\n }\r\n\r\n return showMobile;\r\n };\r\n const showEmailField = () => {\r\n let showEmail: boolean = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified &&\r\n isVerified?.type == \"EMAIL\"\r\n ) {\r\n showEmail = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified\r\n ) {\r\n showEmail = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode == \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n showEmail = true;\r\n } else if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode === \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n showEmail = true;\r\n }\r\n\r\n return showEmail;\r\n };\r\n const hideMobileVerifyButton = () => {\r\n let hideMpbileVerify: boolean = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified == false &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified\r\n ) {\r\n hideMpbileVerify = true;\r\n }\r\n return hideMpbileVerify;\r\n };\r\n const hideEmailVerifyButton = () => {\r\n let hideEmaileVerify: boolean = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n (leadDetails?.uccCode === null ||\r\n leadDetails?.uccCode === undefined ||\r\n leadDetails?.uccCode == \"\") &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified == false\r\n ) {\r\n hideEmaileVerify = true;\r\n }\r\n return hideEmaileVerify;\r\n };\r\n const showMobileRadio = () => {\r\n let showRadio = false;\r\n if (\r\n leadDetails !== null &&\r\n leadDetails !== undefined &&\r\n leadDetails?.uccCode !== null &&\r\n leadDetails?.uccCode !== undefined &&\r\n leadDetails?.uccCode !== \"\" &&\r\n leadDetails?.isEmailVerified !== null &&\r\n leadDetails?.isEmailVerified !== undefined &&\r\n leadDetails?.isEmailVerified &&\r\n leadDetails?.isMobileVerified !== null &&\r\n leadDetails?.isMobileVerified !== undefined &&\r\n leadDetails?.isMobileVerified\r\n ) {\r\n showRadio = true;\r\n }\r\n\r\n return showRadio;\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 {!props?.isKRA && mobileVerifiedFE && mailVerifiedFE && (\r\n
\r\n {\r\n downloadForm(\r\n `Esign_${GlobalStore.applicationID}`,\r\n (resp: any) => {\r\n setIsLoading(resp);\r\n },\r\n () => {},\r\n false,\r\n true,\r\n GlobalStore?.accountcategory\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n {!props?.isKRA && authenticate && (\r\n
\r\n {\r\n downloadForm(\r\n `EsignPoa_${GlobalStore.applicationID}`,\r\n (resp: any) => {\r\n setIsLoading(resp);\r\n },\r\n () => {},\r\n false,\r\n true,\r\n GlobalStore?.accountcategory\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n {props?.isKRA && (\r\n
\r\n {\r\n downloadForm(\r\n `EsignPoa_${GlobalStore.applicationID}`,\r\n (resp: any) => {\r\n setIsLoading(resp);\r\n },\r\n () => {},\r\n false,\r\n true,\r\n GlobalStore?.accountcategory\r\n );\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n {!props?.isKRA && (\r\n <>\r\n {showMobileRadio() && (\r\n
\r\n {\r\n setRadioSelection(true);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Mobile Number\"\r\n //disabled={true}\r\n />\r\n {\r\n setRadioSelection(false);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Email ID\"\r\n //disabled={true}\r\n />\r\n
\r\n )}\r\n\r\n {generateEsignFields()}\r\n \r\n )}\r\n {props?.isKRA && authenticate && (\r\n <>\r\n {showMobileRadio() && (\r\n
\r\n {\r\n setRadioSelection(true);\r\n setIsButtonDisabled(false);\r\n setIsMobileVerified(false);\r\n setShowMobileBtn(true);\r\n setMobileVerifiedFE(false);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"MOB\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Mobile Number\"\r\n //disabled={true}\r\n />\r\n {\r\n setRadioSelection(false);\r\n setIsButtonDisabled(false);\r\n setIsEmailVerified(false);\r\n setShowMobileMailBtn(true);\r\n setMailVerifiedFE(false);\r\n setIsVerified((isVerified) => {\r\n isVerified.type = \"EMAIL\";\r\n isVerified.isVerify = false;\r\n return isVerified;\r\n });\r\n }}\r\n name=\"radioSelection\"\r\n label=\"Email ID\"\r\n //disabled={true}\r\n />\r\n
\r\n )}\r\n\r\n {generateEsignFields()}\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 {props?.isKRA && !authenticate && (\r\n {\r\n setAuthenticate(true);\r\n }}\r\n type=\"submit\"\r\n />\r\n )}\r\n {props?.isKRA && authenticate && (\r\n {\r\n //\r\n handleSubmit();\r\n }}\r\n type=\"submit\"\r\n />\r\n )}\r\n {!props?.isKRA && (\r\n {\r\n handleSubmit();\r\n }}\r\n type=\"submit\"\r\n />\r\n )}\r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default EsignNewForm;\r\n","import React, { Component } from \"react\";\r\nimport regbanner from \"../../../assets/icons/regBanner.jpeg\";\r\nimport \"./EsignMainPage.scss\";\r\nimport EsignNewForm from \"./EsignNewForm\";\r\nimport useQuery from \"../../../customHooks/useQuery\";\r\nimport { AGetClientDetailsByPan } from \"../../Services/registration/panDobApiService\";\r\nexport interface IQueryObject {\r\n Pan?: string;\r\n UserId?: string;\r\n}\r\nconst EsignMainPage = () => {\r\n const queryParams = useQuery();\r\n const id = queryParams.get(\"id\") ? queryParams.get(\"id\") : \"\";\r\n const [pan, setPan] = React.useState(\"\");\r\n const [userId, setUserId] = React.useState(\"\");\r\n const [isKRA, setIsKRA] = React.useState(false);\r\n React.useEffect(() => {\r\n if (id !== null && id !== undefined && id !== \"\") {\r\n const panObj = JSON.parse(atob(id)) as IQueryObject;\r\n if (\r\n panObj !== null &&\r\n panObj !== undefined &&\r\n !!panObj?.Pan &&\r\n panObj?.Pan !== \"\"\r\n ) {\r\n setPan(panObj.Pan);\r\n if (!!panObj?.UserId && panObj?.UserId !== \"\")\r\n setUserId(panObj?.UserId);\r\n }\r\n }\r\n }, []);\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\nexport default EsignMainPage;\r\n","import * as React from \"react\";\r\nimport finalTick from \"../../assets/icons/finalTick.svg\";\r\nimport \"./EsignSubmit.scss\";\r\nimport { downloadForm } from \"../POA/Poa\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport Button from \"../UI/Button/Button\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\nimport { containerUrl, loginUrl } from \"../../components/utils/constants\";\r\nimport { isSafariBrowser } from \"../Services/globalService\";\r\nimport { AGetClientAccountCode } from \"../Services/dashboard/eSignApiServices\";\r\nimport { IListObj } from \"../types/genericTypes\";\r\nimport { useHistory } from \"react-router-dom\";\r\nconst EsignSubmit = () => {\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const history = useHistory();\r\n const [displayTitleList, setDisplayTitleList] = React.useState<\r\n Array<{ display: string; value: string }>\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 React.useEffect(() => {\r\n if (\r\n GlobalStore?.applicationID == \"\" ||\r\n GlobalStore?.applicationID == null ||\r\n GlobalStore?.applicationID == undefined\r\n ) {\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 } else AGetClientAccountCode(getClientDetails, GlobalStore.applicationID);\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 =\r\n responseObj.holderfullname !== null &&\r\n responseObj.holderfullname !== undefined\r\n ? responseObj.holderfullname\r\n : clientPartialDetails_ao.PANName\r\n ? clientPartialDetails_ao.PANName\r\n : \"\";\r\n let mobile =\r\n responseObj.mobileno !== undefined && responseObj?.mobileno !== null\r\n ? responseObj.mobileno\r\n : clientPartialDetails_ao.mobile\r\n ? clientPartialDetails_ao.mobile\r\n : \"\";\r\n let email =\r\n responseObj.emailid !== undefined && responseObj?.emailid !== null\r\n ? responseObj.emailid\r\n : clientPartialDetails_ao.emailID\r\n ? clientPartialDetails_ao.emailID\r\n : \"\";\r\n const displayInfo: Array = [];\r\n if (\r\n responseObj?.applicationid !== null &&\r\n responseObj?.applicationid !== undefined &&\r\n responseObj?.applicationid !== \"\"\r\n ) {\r\n displayInfo.push({\r\n display: \"Account Code\",\r\n value: responseObj?.applicationid,\r\n });\r\n }\r\n\r\n if (\r\n holderName !== null &&\r\n holderName !== undefined &&\r\n holderName !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"Form ID\", value: holderName });\r\n }\r\n\r\n if (email !== null && email !== undefined && email !== \"\") {\r\n displayInfo.push({ display: \"Email ID\", value: email });\r\n }\r\n\r\n if (mobile !== null && mobile !== undefined && mobile !== \"\") {\r\n displayInfo.push({\r\n display: \"Mobile Number\",\r\n value: mobile,\r\n });\r\n }\r\n\r\n if (\r\n responseObj?.dpid !== null &&\r\n responseObj?.dpid !== undefined &&\r\n responseObj?.dpid !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"DP ID\", value: responseObj?.dpid });\r\n }\r\n\r\n // setTime(responseObj.esigncompletedtime);\r\n setDisplayTitleList(displayInfo);\r\n } else {\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 if (\r\n responseObj?.applicationid !== null &&\r\n responseObj?.applicationid !== undefined &&\r\n responseObj?.applicationid !== \"\"\r\n ) {\r\n displayInfo.push({\r\n display: \"Account Code\",\r\n value: responseObj?.applicationid,\r\n });\r\n }\r\n\r\n if (\r\n holderName !== null &&\r\n holderName !== undefined &&\r\n holderName !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"Form ID\", value: holderName });\r\n }\r\n\r\n if (email !== null && email !== undefined && email !== \"\") {\r\n displayInfo.push({ display: \"Email ID\", value: email });\r\n }\r\n\r\n if (mobile !== null && mobile !== undefined && mobile !== \"\") {\r\n displayInfo.push({\r\n display: \"Mobile Number\",\r\n value: mobile,\r\n });\r\n }\r\n\r\n if (\r\n responseObj?.dpid !== null &&\r\n responseObj?.dpid !== undefined &&\r\n responseObj?.dpid !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"DP ID\", value: responseObj?.dpid });\r\n }\r\n\r\n // setTime(responseObj.esigncompletedtime);\r\n setDisplayTitleList(displayInfo);\r\n }\r\n }\r\n }\r\n React.useEffect(() => {\r\n if (displayTitleList.length > 0) {\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n }\r\n }, [displayTitleList]);\r\n return (\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n
\r\n Your account opening formalities have been completed.\r\n
\r\n
\r\n {displayTitleList &&\r\n displayTitleList?.length > 0 &&\r\n displayTitleList.map((record) => {\r\n return (\r\n
\r\n {record?.display}\r\n {record?.value}\r\n
\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 getStarted();\r\n }}\r\n />\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default EsignSubmit;\r\n","import * as React from \"react\";\r\nimport finalTick from \"../../assets/icons/finalTick.svg\";\r\nimport \"./KYCSubmit.scss\";\r\nimport { downloadForm } from \"../POA/Poa\";\r\nimport GlobalStore from \"../store/globalStore\";\r\nimport Button from \"../UI/Button/Button\";\r\nimport DeviceContext from \"../Services/identifyDevice\";\r\nimport { containerUrl, loginUrl } from \"../../components/utils/constants\";\r\nimport { isSafariBrowser } from \"../Services/globalService\";\r\nimport {\r\n AGetClientAccountCode,\r\n AGetRMEsignVerificationUrlDetails,\r\n} from \"../Services/dashboard/eSignApiServices\";\r\nimport { IListObj, ITokenObj } from \"../types/genericTypes\";\r\nimport { decryptJwtToken } from \"../Services/dashboard/encryptionNew\";\r\nimport { useHistory } from \"react-router-dom\";\r\nconst KYCSubmit = () => {\r\n const history = useHistory();\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [linkSend, setLinkSend] = React.useState(false);\r\n const [errCode, setErrCode] = React.useState();\r\n const [displayTitleList, setDisplayTitleList] = React.useState<\r\n Array<{ display: string; value: string }>\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 const sendToAPILink = () => {\r\n setLinkSend(false);\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let userId = \"0\";\r\n //console.log(\"searchByPan token\", decryptJwtToken(clientPartialDetails_ao?.token));\r\n const tokenObj: string = decryptJwtToken(clientPartialDetails_ao?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n AGetRMEsignVerificationUrlDetails(\r\n getEsignUrl,\r\n clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID,\r\n 1,\r\n clientPartialDetails_ao.accountcategory\r\n ? clientPartialDetails_ao.accountcategory\r\n : 0,\r\n parseInt(userId)\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 setLinkSend(true);\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 // window.location.href = encryptedUrl;\r\n } else {\r\n var allErrorsString = \"\";\r\n if (res.data.Data.FormValidationSummary.length > 0) {\r\n setLinkSend(false);\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 React.useEffect(() => {\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n if (\r\n clientPartialDetails_ao?.applicationId == \"\" ||\r\n clientPartialDetails_ao?.applicationId == null ||\r\n clientPartialDetails_ao?.applicationId == undefined\r\n ) {\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 } else\r\n AGetClientAccountCode(\r\n getClientDetails,\r\n clientPartialDetails_ao?.applicationId\r\n ? clientPartialDetails_ao?.applicationId\r\n : GlobalStore.applicationID\r\n );\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 if (\r\n responseObj?.applicationid !== null &&\r\n responseObj?.applicationid !== undefined &&\r\n responseObj?.applicationid !== \"\"\r\n ) {\r\n displayInfo.push({\r\n display: \"Account Code\",\r\n value: responseObj?.applicationid,\r\n });\r\n }\r\n\r\n // if (\r\n // holderName !== null &&\r\n // holderName !== undefined &&\r\n // holderName !== \"\"\r\n // ) {\r\n // displayInfo.push({ display: \"Form ID\", value: holderName });\r\n // }\r\n\r\n if (email !== null && email !== undefined && email !== \"\") {\r\n displayInfo.push({ display: \"Email ID\", value: email });\r\n }\r\n\r\n if (mobile !== null && mobile !== undefined && mobile !== \"\") {\r\n displayInfo.push({\r\n display: \"Mobile Number\",\r\n value: mobile,\r\n });\r\n }\r\n\r\n if (\r\n responseObj?.dpid !== null &&\r\n responseObj?.dpid !== undefined &&\r\n responseObj?.dpid !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"DP ID\", value: responseObj?.dpid });\r\n }\r\n\r\n // setTime(responseObj.esigncompletedtime);\r\n setDisplayTitleList(displayInfo);\r\n } else {\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 if (\r\n responseObj?.applicationid !== null &&\r\n responseObj?.applicationid !== undefined &&\r\n responseObj?.applicationid !== \"\"\r\n ) {\r\n displayInfo.push({\r\n display: \"Account Code\",\r\n value: responseObj?.applicationid,\r\n });\r\n }\r\n\r\n // if (\r\n // holderName !== null &&\r\n // holderName !== undefined &&\r\n // holderName !== \"\"\r\n // ) {\r\n // displayInfo.push({ display: \"Form ID\", value: holderName });\r\n // }\r\n\r\n if (email !== null && email !== undefined && email !== \"\") {\r\n displayInfo.push({ display: \"Email ID\", value: email });\r\n }\r\n\r\n if (mobile !== null && mobile !== undefined && mobile !== \"\") {\r\n displayInfo.push({\r\n display: \"Mobile Number\",\r\n value: mobile,\r\n });\r\n }\r\n\r\n if (\r\n responseObj?.dpid !== null &&\r\n responseObj?.dpid !== undefined &&\r\n responseObj?.dpid !== \"\"\r\n ) {\r\n displayInfo.push({ display: \"DP ID\", value: responseObj?.dpid });\r\n }\r\n\r\n // setTime(responseObj.esigncompletedtime);\r\n setDisplayTitleList(displayInfo);\r\n }\r\n }\r\n }\r\n React.useEffect(() => {\r\n if (displayTitleList.length > 0) {\r\n window.localStorage.removeItem(\"clientPartialDetails_ao\");\r\n }\r\n }, [displayTitleList]);\r\n return (\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n
\r\n KYC request raised for the client has been successfully approved. Client\r\n has been sent authentication link on his/her registered Email ID with\r\n us.\r\n
\r\n
\r\n {displayTitleList &&\r\n displayTitleList?.length > 0 &&\r\n displayTitleList.map((record) => {\r\n return (\r\n
\r\n {record?.display}\r\n {record?.value}\r\n
\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 // getStarted();\r\n sendToAPILink();\r\n }}\r\n />\r\n
\r\n {linkSend && (\r\n
Link Send Successfully
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default KYCSubmit;\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\nimport StatusLayout from \"../components/Status/Layout/Layout\";\r\nimport EsignMainPage from \"../components/ESign/NewEsign/EsignMainPage\";\r\nimport DeviceContext from \"../components/Services/identifyDevice\";\r\nimport EsignSubmit from \"../components/EsignSubmit/EsignSubmit\";\r\nimport KYCSubmit from \"../components/KYCSubmit/KYCSubmit\";\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\n \r\n \r\n \r\n )}\r\n />\r\n (\r\n \r\n \r\n \r\n // \r\n\r\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 InputWithLabel from \"../../../UI/InputWithLabel/InputWithLabel\";\r\nimport InputField from \"../../../UI/InputField/InputField\";\r\nimport Button, { SubmitButton } 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 {\r\n AGetClientDetailsByPan,\r\n AKnowYourStatus,\r\n} 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 const [res, setRes] = React.useState([]);\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 localStorage.removeItem(\"isESignSubmitted\");\r\n GlobalStore.personaldetails.pan = values.pan;\r\n // GlobalStore.user.mobile = values.mobile;\r\n // GlobalStore.user.email = 'example@email.com';\r\n AKnowYourStatus(checkApplicationStatus, values.pan);\r\n }\r\n const sendToContinueUrl = (res: any) => {\r\n localStorage.removeItem(\"isESignSubmitted\");\r\n GlobalStore.applicationID = res.ApplicatoinId;\r\n GlobalStore.accountcategory = res.AccountCategory;\r\n GlobalStore.token = res.Token;\r\n GlobalStore.clientPrimaryDetailId = res.ClientPrimaryDetailId;\r\n GlobalStore.leadId = res.LeadId;\r\n GlobalStore.personaldetails.pan = res?.PAN;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = res?.PAN;\r\n clientPartialDetails_ao.clientPrimaryDetailId = res.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = res.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = res.AccountCategory;\r\n clientPartialDetails_ao.token = res.Token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(statusUrl.statusContinue);\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 if (Array.isArray(res?.data)) {\r\n if (res?.data?.length == 1) {\r\n let resNew = res?.data[0];\r\n GlobalStore.applicationID = resNew.ApplicatoinId;\r\n GlobalStore.accountcategory = resNew.AccountCategory;\r\n GlobalStore.token = resNew.Token;\r\n GlobalStore.clientPrimaryDetailId = resNew.ClientPrimaryDetailId;\r\n GlobalStore.leadId = resNew.LeadId;\r\n GlobalStore.personaldetails.pan = resNew?.PAN;\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = resNew?.PAN;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n resNew.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = resNew.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = resNew.AccountCategory;\r\n clientPartialDetails_ao.token = resNew.Token;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(statusUrl.statusContinue);\r\n } else setRes(res?.data);\r\n } else {\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 history.push(statusUrl.statusContinue);\r\n }\r\n\r\n // GlobalStore.dob = GlobalStore?.\r\n }\r\n }\r\n }\r\n const showApprovalPending = () => {\r\n let approvalPendingObj = {\r\n approvalPending: false,\r\n apporvalPendingStatus: \"\",\r\n isTrading: false,\r\n };\r\n if (res && res?.length > 1) {\r\n let resultObject = res?.find(\r\n (res: any) =>\r\n res?.AppStatusFlag == false &&\r\n res?.ApplicationStatus == \"Approval Pending\"\r\n );\r\n if (\r\n resultObject !== null &&\r\n resultObject !== undefined &&\r\n resultObject?.AppStatusFlag == false\r\n ) {\r\n approvalPendingObj.approvalPending = true;\r\n approvalPendingObj.apporvalPendingStatus =\r\n resultObject?.ApplicationStatus;\r\n if (resultObject?.AccountCategory == 1) {\r\n approvalPendingObj.isTrading = true;\r\n } else {\r\n approvalPendingObj.isTrading = false;\r\n }\r\n }\r\n }\r\n return approvalPendingObj;\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 onKeyPress={(\r\n keyEvent: React.KeyboardEvent\r\n ) => {\r\n if (keyEvent.key >= \"0\" && keyEvent.key <= \"9\") {\r\n return true;\r\n } else {\r\n if (\r\n keyEvent.key !== \"Backspace\" &&\r\n keyEvent.key !== \"Enter\"\r\n )\r\n keyEvent.preventDefault();\r\n }\r\n }}\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 && !(!!res && res && res?.length > 1) && (\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 {res && res?.length > 1 && (\r\n <>\r\n
\r\n You have 2 Account opening Journey which would you like to\r\n continue with?\r\n
\r\n
\r\n \r\n

\r\n Wealth Pro account opening\r\n

\r\n {showApprovalPending()?.approvalPending &&\r\n showApprovalPending()?.isTrading == true ? (\r\n \r\n {showApprovalPending()?.apporvalPendingStatus}\r\n \r\n ) : (\r\n {\r\n if (\r\n res !== null &&\r\n res !== undefined &&\r\n Array.isArray(res) &&\r\n res?.length > 1\r\n ) {\r\n let resObj = res?.find(\r\n (res) => res?.AccountCategory == 1\r\n );\r\n sendToContinueUrl(resObj);\r\n }\r\n }}\r\n >\r\n Continue\r\n
\r\n )}\r\n \r\n

\r\n \r\n

\r\n Wealth Starter account opening\r\n

\r\n\r\n {showApprovalPending()?.approvalPending &&\r\n showApprovalPending()?.isTrading == false ? (\r\n \r\n {showApprovalPending()?.apporvalPendingStatus}\r\n \r\n ) : (\r\n {\r\n if (\r\n res !== null &&\r\n res !== undefined &&\r\n Array.isArray(res) &&\r\n res?.length > 1\r\n ) {\r\n let resObj = res?.find(\r\n (res) => res?.AccountCategory == 2\r\n );\r\n sendToContinueUrl(resObj);\r\n }\r\n }}\r\n >\r\n Continue\r\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, { 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 {\r\n completeModuleStatus,\r\n setStageData,\r\n} 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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport { APendingUploadList } from \"../../Services/dashboard/eSignApiServices\";\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 [dematAccountFound, setDematAccountFound] = React.useState(null);\r\n const history = useHistory();\r\n let isUploadDocumentsCompleted = false;\r\n const handleContinue = () => {\r\n // e.preventDefault();\r\n console.log(\"Continue....\");\r\n setIsLoading(true);\r\n localStorage.removeItem(\"isESignSubmitted\");\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 let userId = \"0\";\r\n\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n GlobalStore.personaldetails.pan,\r\n GlobalStore?.stageStatus?.accountcategory,\r\n userId\r\n );\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.accountcategory = res.AccountCategory;\r\n GlobalStore.clientPrimaryDetailId = res.data.ClientPrimaryDetailId;\r\n GlobalStore.applicationID = res.data.ApplicatoinId;\r\n GlobalStore.leadId = res.data.LeadId;\r\n\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.pan = res.data.PAN;\r\n clientPartialDetails_ao.emailID = GlobalStore.user.email;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n res.data.ClientPrimaryDetailId;\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.accountcategory = res.AccountCategory;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n redirectToDematPage();\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 const redirectToDematPage = () => {\r\n let dematAccountFoundLocal: any = null;\r\n APendingUploadList((res: any) => {\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 (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n dematAccountFoundLocal = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocal !== undefined &&\r\n dematAccountFoundLocal !== null\r\n ) {\r\n setDematAccountFound((dematAccountFound: any) => {\r\n dematAccountFound = dematAccountFoundLocal;\r\n return dematAccountFound;\r\n });\r\n // completeModuleStatus(dashboardUrl.demat);\r\n // history.push(dashboardUrl.demat);\r\n // return;\r\n }\r\n }\r\n if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length > 1\r\n ) {\r\n dematAccountFoundLocal = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocal !== undefined &&\r\n dematAccountFoundLocal !== null\r\n ) {\r\n setDematAccountFound((dematAccountFound: any) => {\r\n dematAccountFound = dematAccountFoundLocal;\r\n return dematAccountFound;\r\n });\r\n // completeModuleStatus(dashboardUrl.demat);\r\n // history.push(dashboardUrl.demat);\r\n // return;\r\n }\r\n }\r\n if (list.length === 0 || list[0].count === 0)\r\n isUploadDocumentsCompleted = true;\r\n }\r\n AGetStageCompletionStatus((res: any) => {\r\n getClientStageDetails(res, dematAccountFoundLocal);\r\n }, GlobalStore.applicationID);\r\n }\r\n //setIsLoading(false);\r\n }, GlobalStore.applicationID);\r\n };\r\n\r\n function getClientStageDetails(res: any, dematAccountFoundLocaL?: 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 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 GlobalStore.personaldetails.panDetails = {\r\n PanNo: res.data.PAN,\r\n Firstname: PANFirstName,\r\n Middlename: PANMiddleName,\r\n Lastname: PANlastName,\r\n PANIssueDate: \"\",\r\n AadharSeedingStatus: \"\",\r\n VendorName: \"\",\r\n IsValid: false,\r\n IsAadharSeeded: \"\",\r\n };\r\n //set stage api data to GlobalStore\r\n setStageData(responseObj);\r\n\r\n //check completeness of stages\r\n\r\n checkModuleCompleteness(\r\n isUploadDocumentsCompleted,\r\n dematAccountFoundLocaL ? dematAccountFoundLocaL : dematAccountFound\r\n );\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n clientPartialDetails_ao.panDetails =\r\n GlobalStore.personaldetails.panDetails;\r\n clientPartialDetails_ao.emailID = responseObj.emailid;\r\n clientPartialDetails_ao.mobile = responseObj.mobileno;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n //route according to stage api response\\\r\n if (\r\n dematAccountFoundLocaL !== null &&\r\n dematAccountFoundLocaL !== undefined\r\n ) {\r\n history.push(dashboardUrl.demat);\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 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 (responseObj?.accountcategory === 2 && !responseObj?.isdpcompleted) {\r\n history.push(dashboardUrl.demat);\r\n return;\r\n }\r\n if (\r\n responseObj?.accountcategory !== 2 &&\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);\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 { ageCalculator, 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 AGetKraDetails,\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\nimport { decryptJwtToken } from \"../../Services/dashboard/encryptionNew\";\r\nimport { ITokenObj } from \"../../types/genericTypes\";\r\nimport moment from \"moment\";\r\nexport interface StatusContinueProps {}\r\n\r\nconst StatusContinue: React.FC = (props) => {\r\n const [dematAccountFound, setDematAccountFound] = React.useState(null);\r\n\r\n const [isLoading, setIsLoading] = React.useState(false);\r\n const [clientName, setClientName] = React.useState(\"\");\r\n const [panValue, setPanValue] = 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 getPAN = async () => {\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 return panNum;\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 setPanValue(panNum);\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 let userId = \"0\";\r\n console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n const clientPartialDetails_ao = JSON.parse(\r\n window.localStorage.getItem(\"clientPartialDetails_ao\") || \"{}\"\r\n );\r\n let accountCategory = 0;\r\n if (\r\n GlobalStore?.accountcategory !== undefined &&\r\n GlobalStore?.accountcategory !== null\r\n ) {\r\n accountCategory = GlobalStore?.accountcategory;\r\n } else {\r\n accountCategory = clientPartialDetails_ao?.accountcategory;\r\n }\r\n //Dudupe Logic here//\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n GlobalStore.personaldetails.pan,\r\n accountCategory,\r\n userId\r\n );\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 GlobalStore.isPANVerified = 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 clientPartialDetails_ao.leadID = res.data.LeadId;\r\n clientPartialDetails_ao.pan = res.data?.PAN;\r\n clientPartialDetails_ao.clientPrimaryDetailId =\r\n res.data.ClientPrimaryDetailId;\r\n clientPartialDetails_ao.applicationId = res.data.ApplicatoinId;\r\n clientPartialDetails_ao.accountcategory = res.data.AccountCategory;\r\n clientPartialDetails_ao.token = res.data.Token\r\n ? res.data.Token\r\n : GlobalStore?.token;\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(\r\n checkPendingUpload,\r\n res.data.ApplicatoinId\r\n ? res.data.ApplicatoinId\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 checkPendingUpload(res: any) {\r\n let dematAccountFoundLocaL: any = null;\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 (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length === 1\r\n ) {\r\n dematAccountFoundLocaL = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocaL !== undefined &&\r\n dematAccountFoundLocaL !== null\r\n ) {\r\n setDematAccountFound(dematAccountFoundLocaL);\r\n }\r\n } else if (\r\n list !== undefined &&\r\n list !== null &&\r\n list?.length > 0 &&\r\n list?.length > 1\r\n ) {\r\n dematAccountFoundLocaL = list.find(\r\n (listObj) =>\r\n listObj?.DocumentCategory == \"DP Document\" &&\r\n listObj?.DocumentCategoryId == 96\r\n );\r\n if (\r\n dematAccountFoundLocaL !== undefined &&\r\n dematAccountFoundLocaL !== null\r\n ) {\r\n setDematAccountFound(dematAccountFoundLocaL);\r\n }\r\n }\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((res: any) => {\r\n getClientStageDetails(res, dematAccountFoundLocaL);\r\n }, GlobalStore.applicationID);\r\n }\r\n const KraCheckApi = (dob: string, pan: string) => {\r\n const reqObj = {\r\n applicationid: GlobalStore.applicationID,\r\n createdby: 0,\r\n dbo: `${moment(convertDate(dob)).format(\"DD/MM/YYYY\")}`,\r\n panno: pan,\r\n };\r\n AGetKraDetails((res: any) => kraDobCheckNew(res), reqObj);\r\n };\r\n const kraDobCheckNew = (res: any) => {\r\n if (!res || res.error) {\r\n // setErrCode(1227);\r\n setErrCode(res.error);\r\n setIsLoading(false);\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 const responseObj = res.data ? res.data : res;\r\n if (\r\n responseObj &&\r\n responseObj.AppStatus === \"07\"\r\n // !responseObj.ErrorCode &&\r\n // responseObj.AppStatus === \"07\" //responseObj.AppStatus === \"02\" ||\r\n ) {\r\n GlobalStore.isKRA = true;\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\r\n ? responseObj.kra_mode\r\n : 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 history.push(dashboardUrl.profile);\r\n setIsLoading(false);\r\n } else {\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\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\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\r\n clientPartialDetails_ao.isNormalClient = GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails?.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 = GlobalStore.isNormalClient;\r\n window.localStorage.setItem(\r\n \"clientPartialDetails_ao\",\r\n JSON.stringify(clientPartialDetails_ao)\r\n );\r\n history.push(containerUrl.dgLocker);\r\n setIsLoading(false);\r\n }\r\n }\r\n }\r\n };\r\n const convertDate = (dateString: string) => {\r\n // Split the input date string by \"/\"\r\n const [day, month, year] = dateString.split(\"/\");\r\n\r\n // Create a new Date object with the parsed values\r\n const date = new Date(parseInt(year), parseInt(month) - 1, parseInt(day)); // month - 1 because months are zero-indexed\r\n\r\n // Format the date to \"mm-dd-yyyy\"\r\n const formattedDate = `${(date.getMonth() + 1)\r\n .toString()\r\n .padStart(2, \"0\")}-${day.padStart(2, \"0\")}-${year}`;\r\n\r\n return formattedDate;\r\n };\r\n\r\n const CacheFunction = (\r\n callBackFunction: Function,\r\n dob?: string,\r\n pan?: string\r\n ) => {\r\n AGetCacheData(\r\n (res: any) => {\r\n if (\r\n res &&\r\n res.data &&\r\n res?.data?.Result &&\r\n res?.data?.Result.IsTaggingPresent\r\n ) {\r\n let cacheResponse = res?.data?.Result;\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.addressLine1 =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine1;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine2;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine3;\r\n clientPartialDetails_ao.addressLine1 +=\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentAddressLine4;\r\n clientPartialDetails_ao.sameAsPermanent =\r\n cacheResponse?.Data.corrsaddraspermanent !== null &&\r\n cacheResponse?.Data.corrsaddraspermanent !== undefined\r\n ? cacheResponse?.Data.corrsaddraspermanent\r\n : true;\r\n clientPartialDetails_ao.corrAddress =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine1;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine2;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine3;\r\n clientPartialDetails_ao.corrAddress +=\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondenceAddressLine4;\r\n\r\n clientPartialDetails_ao.isSeniorCitizen =\r\n window.sessionStorage.getItem(\"isSeniorCitizen\") === \"true\"\r\n ? true\r\n : false;\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\r\n clientPartialDetails_ao.PinCode =\r\n cacheResponse?.Data.PermanentAddressDetails.PermanentPincode;\r\n clientPartialDetails_ao.corrPincode =\r\n cacheResponse?.Data.CorrespondenceAddressDetails.CorrespondencePincode;\r\n clientPartialDetails_ao.isNormalClient =\r\n GlobalStore.isNormalClient;\r\n clientPartialDetails_ao.leadID = GlobalStore.leadId;\r\n clientPartialDetails_ao.mobile = GlobalStore.user.mobile;\r\n clientPartialDetails_ao.pan = GlobalStore?.personaldetails?.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 setIsLoading(false);\r\n } else {\r\n if (dob !== undefined && pan !== undefined) {\r\n KraCheckApi(dob, GlobalStore.personaldetails.pan);\r\n } else {\r\n callBackFunction();\r\n }\r\n //\r\n }\r\n }\r\n } else {\r\n if (dob !== undefined && pan !== undefined) {\r\n KraCheckApi(dob, GlobalStore.personaldetails.pan);\r\n } else {\r\n callBackFunction();\r\n }\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 async function getClientStageDetails(res: any, dematAccountFoundLocaL?: 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(\r\n isUploadDocumentsCompleted,\r\n dematAccountFoundLocaL ? dematAccountFoundLocaL : dematAccountFound\r\n );\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 console.log(\"responseObj\", responseObj);\r\n GlobalStore.pennyDropCount = responseObj.pennydropcount;\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.emailID = responseObj.emailid;\r\n clientPartialDetails_ao.dob = GlobalStore.stageStatus.dob; //moment(values.dob).format(\"DD/MM/YYYY\");\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = responseObj?.fatherspousename;\r\n }\r\n clientPartialDetails_ao.isKYC = GlobalStore.stageStatus.iskyc;\r\n clientPartialDetails_ao.pennyDropCount = GlobalStore.pennyDropCount;\r\n if (responseObj?.dob !== null && responseObj?.dob !== undefined) {\r\n let date = moment(moment(convertDate(responseObj?.dob)).toDate())\r\n .startOf(\"day\")\r\n .toDate();\r\n if (date !== null && date !== undefined && ageCalculator(date) > 60) {\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"true\");\r\n } else {\r\n window.sessionStorage.setItem(\"isSeniorCitizen\", \"false\");\r\n }\r\n }\r\n if (\r\n responseObj?.fatherspousename != null &&\r\n responseObj?.fatherspousename != undefined &&\r\n responseObj?.fatherspousename !== \"\"\r\n ) {\r\n clientPartialDetails_ao.fsfullName = 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 (\r\n responseObj.isesigncompleted !== null &&\r\n responseObj.isesigncompleted == true &&\r\n responseObj?.auth_ver &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n history.push(containerUrl.esignsubmit);\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 () => {\r\n alert(\r\n \"Please restart/continue with your Account Opening process\"\r\n );\r\n history.push(containerUrl.registration);\r\n },\r\n responseObj?.dob,\r\n panValue\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 (responseObj?.accountcategory === 2 && !responseObj?.isdpcompleted) {\r\n history.push(dashboardUrl.demat);\r\n return;\r\n }\r\n if (\r\n responseObj?.accountcategory !== 2 &&\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 (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj.iskra &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n let userId = \"0\";\r\n //console.log(\"searchByPan token\", decryptJwtToken(GlobalStore?.token));\r\n const tokenObj: string = decryptJwtToken(GlobalStore?.token);\r\n if (tokenObj !== \"\" && !!tokenObj && tokenObj?.length > 0) {\r\n let tokenMainObj: ITokenObj = JSON.parse(tokenObj) as ITokenObj;\r\n userId = tokenMainObj?.UserId?.toString();\r\n }\r\n if (userId !== \"0\" && responseObj?.auth_ver) {\r\n if (\r\n responseObj.iskra !== null &&\r\n responseObj.iskra !== undefined &&\r\n responseObj?.auth_ver &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 1\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n } else {\r\n if (\r\n responseObj.isesigncompleted !== null &&\r\n responseObj.isesigncompleted == true &&\r\n responseObj?.auth_ver &&\r\n responseObj?.accountcategory === 2 &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 1\r\n ) {\r\n history.push(containerUrl.esignsubmit);\r\n } else if (\r\n responseObj.applicationstatus === 1 &&\r\n responseObj.bpm_pd_status === 1\r\n )\r\n history.push(containerUrl.kycsubmit);\r\n }\r\n return;\r\n } else {\r\n if (\r\n responseObj.bpm_pd_status === 1 &&\r\n responseObj.applicationstatus === 1 &&\r\n responseObj?.auth_ver\r\n ) {\r\n history.push(containerUrl.submit);\r\n return;\r\n } else {\r\n history.push(dashboardUrl.authenticate);\r\n return;\r\n }\r\n }\r\n }\r\n if (!responseObj.isesigncompleted) {\r\n history.push(dashboardUrl.eSign + \"?sc=e\");\r\n return;\r\n }\r\n if (\r\n responseObj?.isesigncompleted &&\r\n responseObj?.accountcategory === 2\r\n ) {\r\n history.push(containerUrl.submit);\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 searchLeadByName();\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 { setStageData, 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\nexport interface IQueryObject {\r\n PanNo?: string;\r\n AccountCategory?: string;\r\n userid?: number;\r\n}\r\nconst Selfie = () => {\r\n const queryParams = useQuery();\r\n const [esignGenerated, setEsignGenerated] = React.useState(false);\r\n const id = queryParams.get(\"id\") ? queryParams.get(\"id\") : \"\";\r\n // const accountCategory =\r\n // queryParams.get(\"accountCategory\") !== null &&\r\n // queryParams.get(\"accountCategory\") !== undefined &&\r\n // queryParams.get(\"accountCategory\") !== \"\"\r\n // ? queryParams.get(\"accountCategory\")\r\n // : \"\";\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 let userId = 0;\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 const [createdby, setCreatedBy] = React.useState(0);\r\n let base64String: string;\r\n let saveDetails: saveDocumentObj[] = [];\r\n\r\n useEffect(() => {\r\n if (id) {\r\n let panObj:any = atob(id),panObjFound:boolean=false;\r\n if (typeof panObj == \"string\" && panObjFound==false && !panObj?.includes(\"PanNo\")) { \r\n \r\n AGetClientDetailsByPan(searchByPan, panObj, 1, 0);\r\n } else {\r\n \r\n panObj = JSON.parse(atob(id)) as IQueryObject;\r\n console.log(\"pan\", panObj?.PanNo);\r\n let accountCategoryNo = 1;\r\n if (\r\n panObj !== undefined &&\r\n panObj?.userid !== null &&\r\n panObj?.userid !== undefined\r\n ) {\r\n userId = panObj?.userid;\r\n setCreatedBy(panObj?.userid);\r\n }\r\n if (\r\n panObj?.AccountCategory !== \"\" &&\r\n panObj?.AccountCategory !== undefined &&\r\n panObj?.AccountCategory !== null\r\n ) {\r\n accountCategoryNo = parseInt(panObj?.AccountCategory);\r\n }\r\n if (panObj?.PanNo)\r\n AGetClientDetailsByPan(\r\n searchByPan,\r\n panObj?.PanNo,\r\n accountCategoryNo,\r\n panObj?.userid\r\n );\r\n }\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 const shouldDisable = () => {\r\n let disabled: boolean = false;\r\n if (\r\n GlobalStore?.stageStatus?.first_esign_initiated !== null &&\r\n GlobalStore?.stageStatus?.first_esign_initiated !== undefined &&\r\n GlobalStore?.stageStatus?.first_esign_initiated\r\n ) {\r\n disabled = true;\r\n setEsignGenerated(true);\r\n }\r\n return disabled;\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 createdBy: createdby !== null ? createdby : userId,\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 setIsLoading(false);\r\n //uploadObj.fileName = prevres.data.Guid;\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 //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 AGetStageCompletionStatus((res: any) => {\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 setStageData(responseObj);\r\n if (\r\n responseObj?.first_esign_initiated !== null &&\r\n responseObj?.first_esign_initiated !== undefined &&\r\n responseObj?.first_esign_initiated\r\n ) {\r\n setEsignGenerated(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 }, GlobalStore.applicationID);\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 setStageData(responseObj);\r\n if (\r\n responseObj?.first_esign_initiated !== null &&\r\n responseObj?.first_esign_initiated !== undefined &&\r\n responseObj?.first_esign_initiated\r\n ) {\r\n setEsignGenerated(true);\r\n }\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 setIsLoading(true);\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 photoObj.documentCategoryId = \"1\";\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 saveDetails.push(savePhotoObj);\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 };\r\n\r\n const selfie = true;\r\n const photoUploadObj = {\r\n applicationid: GlobalStore.applicationID,\r\n base64document: photoObj.base64,\r\n panNo: GlobalStore?.personaldetails.pan,\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 saveObj\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 !== null && res.data) {\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 {esignGenerated && (\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":""}