{"version":3,"sources":["img/maybank.png","components/Header.jsx","data/Helper.js","components/Loading.jsx","components/FormContainer.jsx","core/customComponents.jsx","data/countries.js","data/IdType.js","data/IdTypeCheck.js","core/validationRules.jsx","components/PersonalDetails.jsx","components/FundTransferCreate.jsx","components/FundTransferView.jsx","components/FundTransfer.jsx","components/ReviewDetails.jsx","components/error.jsx","App.js","serviceWorker.js","index.js"],"names":["module","exports","Header","props","useState","showCloseAction","setshowCloseAction","toCloseDialog","className","onClose","title","style","margin","textAlign","configData","LBL_AREYOUSURE_EXIST","onClick","document","location","href","URL_NAVIGATE_COB","OK","src","maybank","alt","url","params","localStorage","getItem","queryStr","config","SRC_CODE_HNW","SRC_CODE_CCFT03","SRC_CODE_CCFT04","SRC_CODE_CCFT05","SRC_CODE_CCFT06","SRC_CODE_CCFT","SRC_CODE_OUTSIDERS","SERVER_STATUS","URL_ToHomeScreen_SIT","URL_ToHomeScreen","URL_ToHomeScreen_PROD","Loading","FormContainer","children","FormInput","fieldRenderProps","validationMessage","touched","label","id","valid","disabled","hint","type","others","optional","showValidationMessage","showHint","hintId","errorId","ariaDescribedBy","FormInputwithHintchanges","value","length","float","color","FormComboBox","wrapperStyle","editorRef","React","labelId","ariaLabelledBy","ref","filterable","allowCustom","countries","idType","toFetchIDValue","item","dataValue","returnID","itemObject","toUpperCase","Object","keys","map","key","emailRegex","RegExp","ccardRegex","notAllowSpcl","notAllowSpclname","nameValidator","test","nricValidator","countryValidator","IDTypeValidator","emailValidator","crditAbleValidator","substring","trim","acntNameValidator","tovalidateExpdate","localExpTime","window","parseInt","CryptoJS","require","PersonalDetails","enc","Utf8","parse","updateInputValue","e","a","re","target","setState","OTPValue","state","OtpconfirmDisabled","isNumber","evt","event","charCode","which","keyCode","verifyOTPDetails","console","log","req","setAllOTPResponces","email","requestBody","idNum","nric","idIssueCountryCode","countryselected","name","fullname","by_prdType","PRODUCT_TYPE","cifNum","otp","mobileNum","accessID","uniqueRequestid","uuidv4","appId","requestOptions","method","headers","body","JSON","stringify","showLoading","baseUrl","getVerifyOTPURL","fetch","then","response","json","data","didError","res","model","msg","resMsgBdy","msgBody","resMsgHdr","msgHdr","token","refNo","tokenid","expirytoken","tokenExpirationDate","setItem","RefferenceNo","Date","getMinutes","statusCode","history","push","notificationFlag","statusDesc","count3TimeToExist","errorMessage","alert","clear","catch","error","handleChange","fullNameChange","nameValCaps","idTypeChange","filterChange","countrySelectChange","nricChange","touppervalue","URL_VERIFY_OTP_PROD","URL_VERIFY_OTP_SIT","URL_VERIFY_OTP","getSaveURL","URL_SEND_SAVEDETAILS_PROD","URL_SEND_SAVEDETAILS_SIT","URL_SEND_SAVEDETAILS","bind","handleSubmit","OtpResendDisabled","RESEND","timer","settimerZero","startTimer","countDown","inputuuid","tohideNotification","maskSetMobileNumber","getAllDataValues","setAllstateValues","setClockTrue","time","seconds","setTimeIntOTP","secs","divisor_for_minutes","divisor_for_seconds","Math","floor","ceil","timeLeftVar","this","secondsToTime","helper","clearInterval","setInterval","by_idNum","by_idType","by_idIssueCountryCode","stateId","prod_Type","by_name","referenceNo","APP_NAME","initialValues","onSubmit","render","formRenderProps","marginTop","HDR_PER_DETAILS","placeholder","component","validator","textTransform","fullName","onChange","onFilterChange","primary","allowSubmit","ON_NEXT","right","bottom","alignItems","flexWrap","icon","closable","s","data-tip","m","padding","width","onKeyPress","pattern","maxLength","minLength","Component","FundTransferList","CCACNTNo","CRACNTNo","FundTransferDetails","val","idx","AddActiontohide","index","display","FundTransferView","random","transferFrom","CreditAcntNO","CreditAbleAcntNO","pricing","transferto","Nameancnt","CreditCardnumber","Amount","includes","dataset","addNewRow","prevState","deteteRow","filter","sindex","delrecord","r","add","delete","clickOnDelete","iv","FundTransfer","useHistory","setShowLoading","slice","ftdetails","setftdetails","useEffect","referenceno","num","Accept","Pragma","Authorization","getFTDataURL","fields","Fields","scrollTo","err","FT1","checkCCAcntFlag","checkCAAcntFlag","decrypt","AES","toString","ex","decrypt1","decrypt2","Number","GET_FTDATA_PROD","GET_FTDATA_SIT","GET_FTDATA","onSubmitClick","isValid","count","values","PROMO_CODE","transfertoid","SCHEME_CODE","SOURCE_CODE","URL_SAVE_FT_PROD","URL_SAVE_FT_SIT","URL_SAVE_FT","HDR_FT_DETAILS","TERMS_CONDITIONS","NameacntHolder1","CCAnCNTNO1","SourceCodehandle","LBL_SUBMITTED_TEXT","hideContentForSubmit","responsesetitesms","cmpnt","wordBreak","URL_TERMS","url1","URL_TERMS1","urlIngersoll","URL_GarminWatch","URL_Ingersoll","ReviewDetails","setResponce","setOTPValue","setOtpconfirmDisabled","toshowResend","settoshowResend","isLoading","setIsLoading","checkedTerms","setcheckedTerms","disabltoRequestotp","setdisabltoRequestotp","ALLOTPgenration","setALLOTPgenration","setcount3TimeToExist","useCountDown","timeLeft","start","pause","resume","reset","currentDateTime","setcurrentDateTime","trimMobile","settrimMobile","settohideNotification","setOtpMobilenumberGen","emailValue","setemailValue","emailAddress","idIssueCountry","SavedInformation","setSavedInformation","NEWReffID","assaginvalueCCANo1","setAcntTypename","LBL_RVWLBL_CCANO","LBL_RVWLBL_CAANO","decryptCA","decryptCA11","handleSubmit1","responseOBJ","resObj","validateForm","customerName","uniqueRequestId","getSendOTPURL","decryptMbl","mobiltrim","datestr","SubmitFormdetails","getSubmitURL","status","handleResendSubmit","termscheckoption","toBackFTDetails","toMaybankHome","URL_NAV_MAYBANK","URL_SEND_OTP_PROD","URL_SEND_OTP_SIT","URL_SEND_OTP","URL_SUBMIT_PROD","URL_SUBMIT_SIT","URL_SUBMIT","listStyle","listStyleType","HDR_RVW_DETAILS","HDR_RVW_APPLICATION","backgroundColor","borderTopLeftRadius","borderTopRightRadius","LBL_FT_REQUEST","cursor","checked","marginLeft","ON_DONE","sec_num","hours","minutes","toHHMMSS","errorscreen","APP_NAMEHDR","fontweight","App","projectName","exact","path","to","Boolean","hostname","match","process","NODE_check","ReactDOM","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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CA,SACA,WACA,aACA,sBACA,YACA,UACA,QACA,YACA,UACA,aACA,UACA,UACA,aACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,UACA,qBACA,WACA,gBACA,SACA,iCACA,oBACA,WACA,eACA,UACA,WACA,UACA,SACA,aACA,yBACA,YACA,sBACA,OACA,QACA,QACA,eACA,0BACA,WACA,UACA,QACA,UACA,aACA,8BACA,UACA,OACA,UACA,SACA,iBACA,UACA,WACA,WACA,qBACA,aACA,UACA,QACA,cACA,oBACA,UACA,UACA,WACA,8BACA,gBACA,OACA,UACA,SACA,gBACA,mBACA,8BACA,QACA,SACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,aACA,OACA,YACA,WACA,SACA,gBACA,SACA,QACA,8BACA,gCACA,WACA,WACA,UACA,UACA,QACA,YACA,4BACA,OACA,UACA,cACA,SACA,QACA,UACA,QACA,SACA,SACA,SACA,aACA,aACA,QACA,WACA,+CACA,qBACA,SACA,SACA,aACA,mCACA,SACA,UACA,UACA,UACA,yBACA,iBACA,YACA,aACA,QACA,6CACA,aACA,SACA,WACA,OACA,QACA,cACA,aACA,aACA,YACA,UACA,SACA,kCACA,uBACA,SACA,WACA,aACA,aACA,UACA,aACA,kBACA,UACA,UACA,QACA,QACA,uBACA,cACA,gBACA,cACA,YACA,QACA,UACA,OACA,iBACA,sBACA,SACA,OACA,uCACA,WACA,QACA,kCACA,SACA,mBACA,WACA,OACA,cACA,WACA,SACA,WACA,cACA,QACA,UACA,UACA,qBACA,SACA,sBACA,oBACA,cACA,eACA,4BACA,mCACA,QACA,aACA,wBACA,eACA,UACA,SACA,aACA,eACA,WACA,WACA,aACA,UACA,eACA,+CACA,cACA,QACA,YACA,YACA,YACA,QACA,WACA,4BACA,YACA,SACA,cACA,+BACA,4BACA,aACA,+BACA,WACA,cACA,OACA,QACA,sBACA,UACA,SACA,eACA,sBACA,SACA,SACA,UACA,uBACA,iBACA,uCACA,2BACA,UACA,aACA,UACA,YACA,WACA,sBACA,0BACA,oBACA,iBACA,qCACA,QACA,aACA,QACA,SACA,YC3PWC,EANO,CAErB,oBACA,+BACA,wB,OC8gBcC,EArhBQ,SAACC,EAAMC,GAAe,IAAD,EAGpCC,EAAW,GACXC,EAAa,GAObN,GAAS,GACT,UAAa,KACb,SAAY,KACZ,QAAW,KACX,uBAAwB,KACxB,YAAe,KACf,sBAAuB,KACvB,SAAY,KACZ,QAAW,KACX,QAAW,KACX,uBAAwB,KACxB,OAAU,KACV,UAAa,KACb,iBAAkB,KAClB,QAAW,KACX,UAAa,KACb,MAAS,KACT,WAAc,KACd,qBAAsB,KACtB,SAAY,KACZ,WAAc,KACd,QAAW,KACX,eAAgB,KAChB,SAAY,KACZ,QAAW,KACX,QAAW,KACX,MAAS,KACT,QAAW,KACX,oBAAqB,KACrB,QAAW,KACX,OAAU,KACV,QAAW,KACX,OAAU,KACV,QAAW,KACX,gBAAiB,KACjB,SAAY,KACZ,QAAW,KACX,OAAU,KACV,OAAU,KACV,0BAA2B,KAC3B,sBAAuB,KACvB,MAAS,KACT,YAAe,KACf,8BAA+B,KAC/B,UAAW,KACX,MAAS,KACT,QAAW,KACX,MAAS,KACT,SAAY,KACZ,aAAc,KACd,KAAQ,KACR,aAAc,KACd,eAAgB,KAChB,OAAU,KACV,iBAAkB,KAClB,QAAW,KACX,SAAY,KACZ,QAAW,KACX,SAAY,KACZ,qBAAsB,KACtB,QAAW,KACX,QAAW,KACX,QAAW,KACX,MAAS,KACT,iBAAkB,KAClB,MAAS,KACT,SAAY,KACZ,QAAW,KACX,KAAQ,KACR,8BAA+B,KAC/B,kCAAmC,KACnC,gBAAiB,KACjB,OAAU,KACV,MAAS,KACT,iBAAkB,KAClB,QAAW,KACX,gBAAiB,KACjB,SAAY,KACZ,MAAS,KACT,UAAa,KACb,UAAa,KACb,OAAU,KACV,OAAU,KACV,WAAc,KACd,oBAAqB,KACrB,OAAU,KACV,UAAa,KACb,KAAQ,KACR,gBAAiB,KACjB,OAAU,KACV,SAAY,KACZ,8BAA+B,KAC/B,SAAY,KACZ,QAAW,KACX,MAAS,KACT,QAAW,KACX,UAAa,KACb,QAAW,KACX,OAAU,KACV,cAAe,KACf,MAAS,KACT,iCAAkC,KAClC,KAAQ,KACR,4BAA6B,KAC7B,QAAW,KACX,MAAS,MACT,OAAU,MACV,QAAW,MACX,OAAU,MACV,MAAS,OA7GA,uBA8GC,OA9GD,cA+GT,QAAS,OA/GA,cAgHT,aAAc,OAhHL,cAiHT,WAAY,OAjHH,cAkHT,WAAY,OAlHH,cAmHT,aAAc,OAnHL,cAoHT,UAAW,OApHF,cAqHT,oBAAqB,OArHZ,cAsHT,+CAAgD,OAtHvC,cAuHT,qBAAsB,OAvHb,cAwHT,SAAU,OAxHD,cAyHT,YAAa,OAzHJ,cA0HT,mCAAoC,OA1H3B,cA2HT,UAAW,OA3HF,cA4HT,cAAe,OA5HN,cA6HT,iBAAkB,OA7HT,cA8HT,YAAa,OA9HJ,cA+HT,UAAW,OA/HF,cAgIT,UAAW,OAhIF,cAiIT,YAAa,OAjIJ,cAkIT,aAAc,OAlIL,cAmIT,SAAU,OAnID,cAoIT,yBAA0B,OApIjB,cAqIT,UAAW,OArIF,cAsIT,SAAU,OAtID,cAuIT,uBAAwB,OAvIf,cAwIT,aAAc,OAxIL,cAyIT,cAAe,OAzIN,cA0IT,OAAQ,OA1IC,cA2IT,WAAY,MA3IH,cA4IT,QAAS,MA5IA,cA6IT,sBAAuB,MA7Id,cA8IT,aAAc,MA9IL,cA+IT,aAAc,MA/IL,cAgJT,aAAc,MAhJL,cAiJT,QAAS,MAjJA,cAkJT,YAAa,MAlJJ,cAmJT,WAAY,MAnJH,cAoJT,SAAU,MApJD,cAqJT,SAAU,MArJD,cAuJT,aAAc,MAvJL,cAwJT,UAAW,MAxJF,cAyJT,gBAAiB,MAzJR,cA0JT,QAAS,MA1JA,cA2JT,iBAAkB,MA3JT,cA4JT,UAAW,MA5JF,cA6JT,YAAa,MA7JJ,cA8JT,cAAe,MA9JN,cA+JT,SAAU,MA/JD,cAgKT,QAAS,MAhKA,cAiKT,QAAS,MAjKA,cAkKT,OAAQ,MAlKC,cAmKT,cAAe,MAnKN,cAoKT,OAAQ,MApKC,cAqKT,SAAU,MArKD,cAsKT,OAAQ,MAtKC,cAuKT,mBAAoB,MAvKX,cAwKT,mBAAoB,MAxKX,cAyKT,cAAe,MAzKN,cA0KT,WAAY,MA1KH,cA2KT,SAAU,MA3KD,cA4KT,4BAA6B,MA5KpB,cA6KT,WAAY,MA7KH,cA8KT,cAAe,MA9KN,cA+KT,kCAAmC,MA/K1B,cAgLT,WAAY,MAhLH,cAiLT,QAAS,MAjLA,cAkLT,WAAY,MAlLH,cAmLT,QAAS,MAnLA,cAoLT,UAAW,MApLF,cAqLT,UAAW,MArLF,cAsLT,qBAAsB,MAtLb,cAuLT,SAAU,MAvLD,cAwLT,eAAgB,MAxLP,cAyLT,aAAc,MAzLL,cA0LT,aAAc,MA1LL,cA2LT,QAAS,MA3LA,cA4LT,SAAU,MA5LD,cA8LT,YAAa,MA9LJ,cA+LT,WAAY,MA/LH,cAgMT,4BAA6B,MAhMpB,cAiMT,WAAY,MAjMH,cAkMT,eAAgB,MAlMP,cAmMT,aAAc,MAnML,cAoMT,UAAW,MApMF,cAqMT,UAAW,MArMF,cAsMT,WAAY,MAtMH,cAuMT,cAAe,MAvMN,cAwMT,wBAAyB,MAxMhB,cAyMT,cAAe,MAzMN,cA0MT,+BAAgC,MA1MvB,cA2MT,YAAa,MA3MJ,cA4MT,sBAAuB,MA5Md,cA6MT,OAAQ,MA7MC,cA8MT,8BAA+B,MA9MtB,cA+MT,OAAQ,MA/MC,cAgNT,WAAY,MAhNH,cAiNT,aAAc,MAjNL,cAkNT,eAAgB,MAlNP,cAmNT,UAAW,MAnNF,cAoNT,QAAS,MApNA,cAqNT,aAAc,MArNL,cAsNT,SAAU,MAtND,cAuNT,sBAAuB,MAvNd,cAwNT,SAAU,MAxND,cAyNT,4BAA6B,MAzNpB,cA0NT,+BAAgC,MA1NvB,cA2NT,UAAW,MA3NF,cA4NT,SAAU,MA5ND,cA6NT,uCAAwC,MA7N/B,cA8NT,2BAA4B,MA9NnB,cA+NT,UAAW,MA/NF,cAgOT,aAAc,MAhOL,cAiOT,gCAAiC,MAjOxB,cAkOT,mCAAoC,MAlO3B,cAmOT,YAAa,MAnOJ,cAoOT,0BAA2B,MApOlB,cAqOT,sBAAuB,MArOd,cAsOT,WAAY,MAtOH,cAuOT,UAAW,MAvOF,cAwOT,oBAAqB,MAxOZ,cAyOT,QAAS,MAzOA,cA0OT,qCAAsC,MA1O7B,cA2OT,QAAS,MA3OA,cA4OT,UAAW,MA5OF,cA6OT,aAAc,MA7OL,cA8OT,eAAgB,MA9OP,cA+OT,SAAU,MA/OD,cAgPT,QAAS,MAhPA,cAiPT,WAAY,MAjPH,cAkPT,gBAAiB,MAlPR,cAmPT,aAAc,MAnPL,cAoPT,uCAAwC,MApP/B,cAqPT,UAAW,MArPF,cAsPT,6CAA8C,MAtPrC,cAuPT,aAAc,MAvPL,cAwPT,sBAAoB,MAxPX,cAyPT,eAAgB,MAzPP,cA0PT,SAAU,MA1PD,cA2PT,+CAAgD,MA3PvC,cA4PT,cAAe,MA5PN,cA6PT,UAAW,MA7PF,2BA8PK,MA9PL,cA+PT,kBAAmB,MA/PV,cAgQT,YAAa,MAhQJ,cAiQT,UAAW,MAjQF,cAkQT,SAAU,MAlQD,cAmQT,yBAA0B,MAnQjB,GAgeb,OAAQG,EAAKI,eACT,IAAK,SACDD,EAveK,CACT,oBAAqB,KACrB,+BAAgC,KAChC,uBAAwB,MAqepB,MACJ,IAAK,YACDA,EAAaN,EACb,MACJ,IAAK,eACDM,EAvHW,CACf,kIAAmI,IACnI,oIAAqI,KAsHjI,MACJ,IAAK,mBACDA,EArHe,CACnB,kIAAmI,SACnI,oIAAqI,UAoHjI,MACJ,IAAK,eACDA,EArOW,CACf,IAAO,OACP,KAAQ,OACR,IAAO,OACP,cAAe,OACf,6BAA8B,OAE9B,gCAAiC,OAEjC,4CAA6C,OAC7C,KAAQ,OACR,gBAAiB,OACjB,oBAAqB,OACrB,gBAAiB,OACjB,+BAAgC,OAChC,yCAA0C,OAC1C,kCAAmC,OACnC,qBAAsB,OACtB,oBAAqB,OACrB,yBAA0B,OAC1B,wBAAyB,OACzB,gBAAiB,OACjB,sBAAuB,OACvB,sBAAuB,OACvB,iBAAkB,OAClB,oBAAqB,OACrB,kCAAmC,OACnC,cAAe,OACf,kCAAmC,OACnC,gCAAiC,OACjC,qCAAsC,OACtC,0BAA2B,OAC3B,mBAAoB,OACpB,yBAA0B,OAC1B,iCAAkC,OAClC,oDAAqD,OACrD,kCAAmC,OACnC,mBAAoB,OACpB,qBAAsB,OACtB,mBAAoB,OACpB,0CAA2C,OAC3C,cAAe,OACf,eAAgB,OAChB,mBAAoB,OACpB,uBAAwB,OACxB,6BAA8B,OAC9B,oCAAqC,OACrC,iBAAkB,OAClB,UAAW,OACX,yBAA0B,OAC1B,+BAAgC,OAChC,IAAO,OACP,qBAAsB,OACtB,cAAe,OACf,uBAAwB,OACxB,wCAAyC,OACzC,cAAe,OACf,yBAA0B,OAC1B,2BAA4B,OAC5B,gBAAiB,OACjB,gBAAiB,OACjB,sBAAuB,OACvB,+BAAgC,OAChC,yBAA0B,OAC1B,qCAAsC,OACtC,mBAAoB,OACpB,kCAAmC,OACnC,6BAA8B,OAC9B,kCAAmC,OACnC,sBAAuB,OACvB,0BAA2B,OAC3B,IAAO,OACP,8BAA+B,OAC/B,0CAA2C,OAC3C,qCAAsC,OACtC,SAAY,OACZ,uCAAwC,OACxC,kBAAmB,OACnB,uBAAwB,OACxB,eAAgB,OAChB,4BAA6B,OAC7B,mCAAoC,OACpC,sCAAuC,OACvC,uBAAwB,OACxB,sBAAuB,OACvB,sCAAuC,OACvC,kCAAmC,OACnC,iCAAkC,OAClC,qBAAsB,OACtB,6BAA8B,OAC9B,kCAAmC,OACnC,uBAAwB,OACxB,+BAAgC,OAChC,wBAAyB,OACzB,+BAAgC,OAChC,SAAU,OACV,WAAY,OACZ,kCAAmC,OACnC,wCAAyC,OACzC,kBAAmB,OACnB,8BAA+B,OAC/B,aAAc,QAiIV,MACJ,IAAK,kBACDA,EAlHc,CAClB,iIAAkI,IAClI,kPAAmP,KAiH/O,MACJ,IAAK,kBACDA,EA/Gc,CAClB,iIAAkI,SAClI,kPAAmP,UA8G/O,MACJ,IAAK,6BACDA,EAnFyB,CAC7B,4GAA6G,KAmFzG,MACJ,IAAK,6BACDA,EAjFyB,CAC7B,4GAA6G,UA6FjH,OANAE,OAAOC,KAAKH,GAAYI,KAAI,SAAUC,GAC9BP,IAAcO,IACdN,EAAWC,EAAWK,OAIvBN,GChhBLO,EAAa,IAAIC,OAAO,gBAExBC,GADa,IAAID,OAAO,iBACX,IAAIA,OAAO,cAExBE,GADW,IAAIF,OAAO,YACP,IAAIA,OAAO,mBAC1BG,EAAmB,IAAIH,OAAO,gBAOvBI,GANU,IAAIJ,OAAO,gBAML,SAAC1B,GAC1B,OAAKA,GAEO6B,EAAiBE,KAAK/B,GAEvBA,EAAMC,OAAS,GACf,uDADJ,EAHI,oDAOF+B,EAAgB,SAAChC,GAC1B,OAAKA,EAGIA,EAAMC,OAAS,GACb,yCACC2B,EAAaG,KAAK/B,QAAvB,EACI,yCALA,0CASFiC,EAAmB,SAACjC,GAAD,OAAWA,EAAQ,GAAK,+CAC3CkC,EAAkB,SAAClC,GAAD,OAAWA,EAAQ,GAAK,+CAE1CmC,EAAiB,SAACnC,GAC3B,OAAKA,GAEOyB,EAAWM,KAAK/B,GAEjBA,EAAMC,OAAS,GACf,0CADJ,EAHI,sCAaFmC,GAAqB,SAACpC,GAE/B,IAAKA,EACD,MAAO,iDAEX,GAAIA,EAAO,CACP,IAAK2B,EAAWI,KAAK/B,GACjB,MAAO,iDAEN,GAAqC,UAAjCA,EAAMqC,UAAU,EAAG,GAAGC,QAAuD,UAAjCtC,EAAMqC,UAAU,EAAG,GAAGC,OACvE,MAAO,iDAEN,GAAqB,KAAjBtC,EAAMC,OACX,MAAO,mDAwENsC,GAAoB,SAACvC,GAE9B,OAAKA,GAEO6B,EAAiBE,KAAK/B,GAEvBA,EAAMC,OAAS,GACf,wCADJ,EAHI,oCA0FFuC,GAAoB,SAACxC,GAC9B,IAAIyC,EAAeC,OAAO9E,aAAaC,QAAQ,SAC/C,QAAImC,EAAQ2C,SAASF,GAAgB,ICvNrCG,GAAWC,EAAQ,IAghBRC,IA/gBLF,GAASG,IAAIC,KAAKC,MAAM,oBACzBL,GAASG,IAAIC,KAAKC,MAAM,oB,kDAG7B,WAAY7G,GAAQ,IAAD,8BACf,cAAMA,IA0LV8G,iBA3LmB,uCA2LA,WAAOC,GAAP,eAAAC,EAAA,yDACTC,EAAK,aACY,KAAnBF,EAAEG,OAAOtD,QAAgBqD,EAAGtB,KAAKoB,EAAEG,OAAOtD,OAF/B,gCAGL,EAAKuD,SAAS,CAAEC,SAAUL,EAAEG,OAAOtD,QAH9B,UAKoB,IAA/B,EAAKyD,MAAMD,SAASvD,OALT,gCAML,EAAKsD,SAAS,CAAEG,oBAAoB,IAN/B,+CAQL,EAAKH,SAAS,CAAEG,oBAAoB,IAR/B,4CA3LA,wDAuMnBC,SAvMmB,uCAuMR,WAAOC,GAAP,eAAAR,EAAA,yDACPQ,EAAOA,GAAalB,OAAOmB,SACvBC,EAAYF,EAAIG,MAASH,EAAIG,MAAQH,EAAII,SAE9B,KAAOF,EAAW,IAAMA,EAAW,KAJ3C,iCAKG,EAAKP,SAAS,CAAEC,SAAU,KAL7B,uBAMG,EAAKD,SAAS,CAAEG,oBAAoB,IANvC,iCAOI,GAPJ,kCASI,GATJ,4CAvMQ,wDAoNnBO,iBApNmB,sBAoNA,kCAAAb,EAAA,yDACfc,QAAQC,IAAI,qBAER,EAAKV,MAAMD,SAHA,iBAIPY,EAAM,EAAKX,MAAMY,mBAChB,EAAKZ,MAAMa,QACZ,EAAKb,MAAMa,MAAQ,IAGjBC,EAAc,CAGhBC,MAAO,EAAKf,MAAMgB,KAClB3D,OAAQC,EAAe,SAAU,EAAK0C,MAAM3C,QAC5C4D,mBAAoB3D,EAAe,YAAa,EAAK0C,MAAMkB,iBAC3DL,MAAO,EAAKb,MAAMa,MAClBM,KAAM,EAAKnB,MAAMoB,SAASzD,cAC1B0D,WAAY/H,EAAWgI,aAEvBC,OAAQZ,EAAIY,OACZC,IAAK,EAAKxB,MAAMD,SAChB0B,UAAW,IACXC,SAAU,WACVC,gBAAiBC,cACjBC,MAAO,KAGLC,EAAiB,CACnBC,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,OAAU,mBACV,+BAAgC,eAChC,gBAAiB,WACjB,OAAU,YAEdC,KAAMC,KAAKC,UAAUrB,IAGzB,EAAKhB,SAAS,CAAEsC,aAAa,IAEvBC,EAAU,EAAKC,kBAErBC,MAAMF,EAASP,GAEVU,KAFL,uCAEU,WAAMC,GAAN,yBAAA9C,EAAA,6DACF,EAAKG,SAAS,CAAEsC,aAAa,IAD3B,SAEiBK,EAASC,OAF1B,WAEIC,EAFJ,QAGQC,SAHR,oBAIMC,EAAMF,EAAKG,MAAMC,IACjBC,EAAYH,EAAII,QAChBC,EAAYL,EAAIM,QAEhBR,EAAKS,QAAST,EAAKU,MARzB,oBASUC,EAAUX,EAAKS,MACfG,EAAcZ,EAAKa,oBAEvBrJ,aAAasJ,QAAQ,MAAOd,EAAKU,OACjC/J,EAAWoK,aAAef,EAAKU,MAC/BlJ,aAAasJ,QAAQ,MAAOH,GAC5BnJ,aAAasJ,QAAQ,SAAUF,GAC/BpJ,aAAasJ,QAAQ,SAAS,IAAIE,MAAOC,cACrCZ,GACA7I,aAAasJ,QAAQ,UAAWT,EAAUhC,MAEjB,MAAzBkC,EAAUW,WApBpB,iBAqBU,EAAKlL,MAAMmL,QAAQC,KAAK,WACxB,EAAK/D,MAAMgE,kBAAmB,EAtBxC,2BAyBcd,EAAUe,aACV3K,EAAW4K,kBAAoB5K,EAAW4K,kBAAoB,KAC9D5K,EAAW4K,mBAAqB,GA3B9C,kCA4BoB,EAAKpE,SAAS,CAAEqE,aAAcjB,EAAUe,aA5B5D,QA6BcG,MAAM,4EA7BpB,+BA+BcA,MAAM,wEACN3K,SAASC,SAASC,KAAOL,EAAW0B,iBACpCb,aAAakK,QAjC3B,mDAsCM,EAAK1L,MAAMmL,QAAQC,KAAK,SACxB5J,aAAakK,QAvCnB,gCA0CE,EAAK1L,MAAMmL,QAAQC,KAAK,SACxB5J,aAAakK,QA3Cf,4CAFV,uDAgDKC,OAAM,SAAAC,GACH,EAAKzE,SAAS,CAAEsC,aAAa,IAC7B3B,QAAQ8D,MAAM,sBAAuBA,MA7FlC,yCAiGL,EAAKzE,SAAS,CAAEG,oBAAoB,IAjG/B,QAkGXmE,MAAM,0CAlGK,4CApNA,EA0TnBI,aA1TmB,uCA0TJ,WAAOpE,GAAP,SAAAT,EAAA,sEACL,EAAKG,SAAS,CAAEe,MAAOT,EAAMP,OAAOtD,QAD/B,2CA1TI,wDA6TnBkI,eA7TmB,uCA6TF,WAAOrE,GAAP,eAAAT,EAAA,6DACT+E,EAActE,EAAMP,OAAOtD,MAAMoB,cACrCxD,aAAasJ,QAAQ,MAAOiB,GAFf,SAGP,EAAK5E,SAAS,CAAEsB,SAAUsD,IAHnB,2CA7TE,wDAkUnBC,aAlUmB,uCAkUJ,WAAOvE,GAAP,SAAAT,EAAA,sEAEL,EAAKG,SAAS,CAAEzC,OAAQ+C,EAAMP,OAAOtD,QAFhC,2CAlUI,wDAsUnBqI,aAtUmB,uCAsUJ,WAAOxE,GAAP,SAAAT,EAAA,sEAEL,EAAKG,SAAS,CAAEzC,OAAQ+C,EAAMP,OAAOtD,QAFhC,2CAtUI,wDA2UnBsI,oBA3UmB,uCA2UG,WAAOzE,GAAP,SAAAT,EAAA,sEACZ,EAAKG,SAAS,CAAEoB,gBAAiBd,EAAMP,OAAOtD,QADlC,2CA3UH,wDA8UnBuI,WA9UmB,uCA8UN,WAAO1E,GAAP,eAAAT,EAAA,6DAEToF,GADIA,EAAe3E,EAAMP,OAAOtD,OACJoB,cAFnB,SAGH,EAAKmC,SAAS,CAAEkB,KAAM+D,IAHnB,2CA9UM,wDAoVnBzC,gBAAkB,WACAhJ,EAAW0L,oBAUzB,MATiC,QAA7B1L,EAAWwB,cACDxB,EAAW2L,mBAEa,QAA7B3L,EAAWwB,cACNxB,EAAW4L,eAGX5L,EAAW0L,qBA7VV,EAkWnBG,WAAa,WACK7L,EAAW8L,0BAUzB,MATiC,QAA7B9L,EAAWwB,cACDxB,EAAW+L,yBAEa,QAA7B/L,EAAWwB,cACNxB,EAAWgM,qBAGXhM,EAAW8L,2BAxWzB,EAAKZ,aAAe,EAAKA,aAAae,KAAlB,gBACpB,EAAKC,aAAe,EAAKA,aAAaD,KAAlB,gBACpB,EAAK9F,iBAAmB,EAAKA,iBAAiB8F,KAAtB,gBACxBjM,EAAWmM,mBAAoB,EAC/BnM,EAAW4K,kBAAoB,EAC/B5K,EAAWoM,OAAS,EACpB,EAAKC,MAAQ,EACbrM,EAAWsM,aAAe,EAC1B,EAAKC,WAAa,EAAKA,WAAWN,KAAhB,gBAClB,EAAKO,UAAY,EAAKA,UAAUP,KAAf,gBAEjB,EAAKvF,MAAQ,CACTD,SAAU,GACVgG,UAAW,GAEX9F,oBAAoB,EACpB+F,oBAAoB,EACpBhC,kBAAkB,EAClBiC,oBAAqB,GACrBC,iBAAkB,GAClBC,kBAAmB,GACnBvF,mBAAoB,GACpBwF,cAAc,EACdC,KAAM,GACNC,QAAShN,EAAWiN,cACpBnE,aAAa,GA5BF,E,iDAiCnB,SAAcoE,GAEV,IACIC,EAAsBD,EAAI,KAE1BE,EAAsBD,EAAsB,GAShD,MANU,CACN,EAPQE,KAAKC,MAAMJ,EAAI,MAQvB,EANUG,KAAKC,MAAMH,EAAsB,IAO3C,EALUE,KAAKE,KAAKH,M,+BAY5B,WAEI,IAAII,EAAcC,KAAKC,cAAcD,KAAK/G,MAAMsG,SAChDS,KAAKjH,SAAS,CAAEuG,KAAMS,M,uBAG1B,WAII,GAFAC,KAAKjH,SAAS,CAAEC,SAAU,KAC1BzG,EAAWoM,OAASpM,EAAWoM,OAAS,IACpCpM,EAAWoM,QAAU,GASrB,OAHApM,EAAWmM,mBAAoB,EAC/BrB,MAAM,0EACN6C,IAPA3N,EAAWmM,mBAAoB,EAC/ByB,cAAcH,KAAKpB,OACnBoB,KAAK/G,MAAMsG,QAAUhN,EAAWiN,cAChCQ,KAAKlB,e,wBASb,WAEIkB,KAAK/G,MAAMgE,kBAAmB,EACV,IAAf+C,KAAKpB,OAAgBoB,KAAK/G,MAAMsG,QAAU,EAC3CS,KAAKpB,MAAQwB,YAAYJ,KAAKjB,UAAW,KAClCxM,EAAWoM,QAAU,GAAKqB,KAAK/G,MAAMsG,QAAU,IACtDS,KAAKpB,MAAQwB,YAAYJ,KAAKjB,UAAW,KACzCxM,EAAWmM,mBAAoB,K,uBAGvC,WAEI,IAAIa,EAAUS,KAAK/G,MAAMsG,QAAU,EACnCS,KAAKjH,SAAS,CACVuG,KAAMU,KAAKC,cAAcV,GACzBA,QAASA,IAEG,IAAZA,GACAY,cAAcH,KAAKpB,S,0BAI3B,SAAavF,GAAQ,IAAD,OAGZU,EAAc,CACdsG,SAAUL,KAAK/G,MAAMgB,KACrBqG,UAAW/J,EAAe,SAAUyJ,KAAK/G,MAAM3C,QAC/CiK,sBAAuBhK,EAAe,YAAayJ,KAAK/G,MAAMkB,iBAC9DqG,QAAS3F,cACTf,MAAOkG,KAAK/G,MAAMa,MAClB2G,UAAWlO,EAAWgI,aACtBmG,QAASV,KAAK/G,MAAMoB,UAenBN,EAAYD,QACbC,EAAYD,MAAQ,IAcxBkG,KAAKjH,SAAS,CAAEsC,aAAa,IAE7B,IAAMC,EAAU0E,KAAK5B,aAErB5C,MAAMF,EAAU,aAAevB,EAAYsG,SAAW,cAAgBtG,EAAYuG,UAAY,0BAA4BvG,EAAYwG,sBAAwB,YAAcxG,EAAYyG,QAAU,UAAYzG,EAAYD,MAAQ,cAAgBC,EAAY0G,UAAY,YAAc1G,EAAY2G,QA9B7Q,CACnB1F,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,OAAU,mBACV,gBAAiB,WACjB,OAAU,WACV,+BAAgC,kBAyBnCQ,KAFL,uCAEU,WAAMC,GAAN,qBAAA9C,EAAA,6DACF,EAAKG,SAAS,CAAEsC,aAAa,IAD3B,SAEiBK,EAASC,OAF1B,QAEIC,EAFJ,QAGQC,UAyBNzI,aAAakK,QACb,EAAK1L,MAAMmL,QAAQC,KAAK,WAzBpBlB,EAAMF,EAAKG,OACPM,OAASP,EAAI6E,aACbpE,EAAUT,EAAIO,MACdG,EAAcZ,EAAKa,oBAEvBrJ,aAAasJ,QAAQ,MAAOZ,EAAI6E,aAChCpO,EAAWoK,aAAeb,EAAI6E,YAG9BvN,aAAasJ,QAAQ,MAAOH,GAC5BnJ,aAAasJ,QAAQ,SAAUF,GAC/BpJ,aAAasJ,QAAQ,SAAS,IAAIE,MAAOC,cAErCf,EAAIF,MACJxI,aAAasJ,QAAQ,UAAWZ,EAAIF,MAGxC,EAAKhK,MAAMmL,QAAQC,KAAK,YAGxBtD,QAAQC,IAAI,wBAxBlB,2CAFV,uDAkCK4D,OAAM,SAAAC,GAEH,EAAKzE,SAAS,CACVqE,aAAcI,EACdnC,aAAa,IAEb9I,EAAWoM,OAEfjF,QAAQ8D,MAAM,sBAAuBA,Q,oBA0LjD,WAAU,IAAD,OACGyB,EAAuBe,KAAK/G,MAA5BgG,mBACR,OAEI,yBAAKhN,UAAU,mBACX,yBAAKA,UAAU,OACX,yBAAKA,UAAU,kBACX,wBAAIA,UAAU,gBAAgBM,EAAWqO,WAG7C,kBAAC,EAAD,KACI,kBAAC,IAAD,CACIC,cAAeb,KAAK/G,MACpB6H,SAAUd,KAAKvB,aACfsC,OAAQ,SAACC,GAAD,OACJ,kBAAC,IAAD,CAAaF,SAAUE,EAAgBF,SAAU7O,UAAW,UACxD,8BAAUA,UAAW,mBACjB,yBAAKA,UAAU,wCAAwCG,MAAO,CAAE6O,UAAW,SACvE,yBAAKhP,UAAU,2CACX,4BAAQA,UAAW,iBAAkBM,EAAW2O,gBAAhD,QAIR,kBAAC,IAAD,CAAOvM,GAAI,WACPyF,KAAM,WACN1F,MAAO,6BACPyM,YAAa,6BACbC,UAAW9M,EACX+M,UAAW/J,EACXlF,MAAO,CAAEkP,cAAe,aACxB9L,MAAO,EAAKyD,MAAMsI,SAAUC,SAAU,EAAK9D,eAAgB7I,SAAU,EAAKoE,MAAMgE,mBACpF,kBAAC,IAAD,CAAOtI,GAAI,aAAcyF,KAAM,aAAcoH,SAAU,EAAKzD,WAAYrJ,MAAO,uBAAwByM,YAAa,uBAAwBC,UAAW9M,EAAW+M,UAAW7J,EAAe3C,SAAU,EAAKoE,MAAMgE,mBAEjN,kBAAC,IAAD,CACIjG,IAAK,kBACLrC,GAAI,kBACJyF,KAAM,kBACN1F,MAAO,kBACP0M,UAAWxL,EACX4L,SAAU,EAAK1D,oBACflC,KAAMvF,EACNgL,UAAW5J,EACX5C,SAAU,EAAKoE,MAAMgE,mBAEzB,kBAAC,IAAD,CACIjG,IAAK,SACLrC,GAAI,SACJyF,KAAM,SACN1F,MAAO,UACP0M,UAAWxL,EACXgG,KAAMtF,EACNkL,SAAU,EAAK5D,aACf6D,eAAgB,EAAK5D,aACrBwD,UAAW3J,EACX7C,SAAU,EAAKoE,MAAMgE,mBAEzB,kBAAC,IAAD,CAAOtI,GAAI,QAASyF,KAAM,QAAStF,KAAM,GAAIJ,MAAO,gBAAiB8M,SAAU,EAAK/D,aAAc1I,KAAM,QAASoM,YAAa,gBAAiBC,UAAW9M,EAAW+M,UAAW1J,EAAgB9C,SAAU,EAAKoE,MAAMgE,oBAKzN,0BAAMhL,UAAW,sBAEf,EAAKgH,MAAMgG,oBAAsB,yBAAKhN,UAAU,aAAaG,MAAO,CAAE6O,UAAW,SAC/E,kBAAC,IAAD,CAAQhP,UAAU,aACdyP,SAAS,EACT3M,KAAM,SACNF,UAAWmM,EAAgBW,aAAcpP,EAAWqP,UAE5D,uBAAGxP,MAAO,CAAE6O,UAAW,cAKjChC,EAAuB,kBAAC,IAAD,CACrB7M,MAAO,CACHyP,MAAO,EACPC,OAAQ,EACRC,WAAY,aACZC,SAAU,iBAGd,kBAAC,IAAD,CACIjN,KAAM,CAAE3C,MAAO,UAAW6P,MAAM,GAChCC,UAAU,GACV,yBAAKjQ,UAAU,0CACX,yBAAKA,UAAU,wCACX,yBAAKA,UAAU,SAGnB,yBAAKA,UAAU,wCACX,yBAAKA,UAAU,UAAUG,MAAO,CAAEE,UAAW,OAAQqD,MAAO,QAAStD,OAAQ,SACzE,yDAA+B2N,KAAK/G,MAAMiG,qBAC1C,iFAGPc,KAAK/G,MAAMqG,KAAK6C,EAAI,GAAK,yBAAKlQ,UAAU,wCACrC,yBAAKA,UAAU,UAAUG,MAAO,CAAEE,UAAW,OAAQqD,MAAO,QAAStD,OAAQ,SACzE,yBAAKJ,UAAU,cAAcG,MAAO,CAAE6O,UAAW,SAC7C,uBAAGmB,WAAS,qEAAqEnQ,UAAU,IAA3F,cAA2G+N,KAAK/G,MAAMqG,KAAK+C,EAA3H,MAAiIrC,KAAK/G,MAAMqG,KAAK6C,EAC7I,0BAAMlQ,UAAU,mBAAmBG,MAAO,CAAE6O,UAAW,cAMtEjB,KAAK/G,MAAMqG,KAAK6C,GAAK,GAAK,yBAAKlQ,UAAU,wCACtC,yBAAKA,UAAU,WAAWG,MAAO,CAAEC,OAAQ,SACvC,yBAAKJ,UAAU,cAAcG,MAAO,CAAE6O,UAAW,WAC3CjB,KAAK/G,MAAMqG,KAAK+C,GAAK,GAAKrC,KAAK/G,MAAMqG,KAAK6C,GAAK,GAAK5P,EAAWmM,mBAC7D,6BACI,kBAAC,IAAD,CAAQzM,UAAU,6BAA6BG,MAAO,CAAEkQ,QAAS,QAC7DZ,SAAS,EACTjP,QAASuN,KAAKvB,cAFlB,kBAUpB,yBAAKxM,UAAU,wCACX,yBAAKA,UAAU,OACX,yBAAKA,UAAU,cAAcG,MAAO,CAAE6O,UAAW,WAC7C,2BAAO7O,MAAO,CAAEmQ,MAAO,QAAUC,WAAYxC,KAAK7G,SAC9CpE,KAAK,WAAW0N,QAAQ,SAASC,UAAU,IAAIC,UAAU,IAAInN,MAAOwK,KAAK/G,MAAMD,SAC/EwI,SAAUxB,KAAKtH,iBAAkByI,YAAY,SAAS/G,KAAK,GAAGzF,GAAG,WAAW1C,UAAU,iBAItG,6BACA,yBAAKA,UAAU,wCACX,yBAAKA,UAAU,OACX,yBAAKA,UAAU,cAAcG,MAAO,CAAE6O,UAAW,SAC7C,kBAAC,IAAD,CAAQhP,UAAU,6BAA6BG,MAAO,CAAEkQ,QAAS,QAC7DZ,SAAS,EACTjP,QAASuN,KAAKvG,iBAAkB5E,UAAWmL,KAAK/G,MAAMC,oBAF1D,cAMZ,yBAAKjH,UAAU,wCACX,yBAAKA,UAAU,YAKP,IAE3B+N,KAAK/G,MAAMoC,aAAe,kBAAC,EAAD,Y,GArgBjBtF,IAAM6M,Y,UCmGrBC,IAtFGtQ,EAAWuQ,SAAUvQ,EAAWwQ,SAkBzB,SAACnR,GACxB,OAAOA,EAAMoR,oBAAoBjM,KAAI,SAACkM,EAAKC,GAAS,IAAD,EAC7CA,GAAO,IACT3Q,EAAW4Q,iBAAkB,GAY/B,OACE,yBAAKnM,IAAKiM,EAAIG,OAEZ,6BAEA,kBAAC,IAAD,CACEzO,GAVK,YAWL1C,UAAU,wBACVmI,KAZK,YAaL1F,MAAO,qBACPyM,YAAa,sDACbC,UAAW7L,EACXmN,UAAW,GACXtQ,MAAO,CAAEkP,cAAe,aACxBD,UAAWtJ,KAEb,kBAAC,IAAD,CACEpD,GAAI,mBACJqC,IAAK,mBACLoD,KA1BY,mBA2BZnI,UAAU,wBACVyC,MAAO,4BACPyM,YAAa,qCAEbC,UAAW9M,EACXoO,UAAW,GACXrB,UAAWzJ,KAGb,yBAAK3F,UAAU,0CACb,yBAAKA,UAAU,wCACb,yBAAKA,UAAU,SAGjB,yBAAKA,UAAU,uCAAuCG,OAAK,GACzD6O,UAAW,MACXoC,QAAS,gBAFgD,wBAGhD,QAHgD,yBAI/C,QAJ+C,0BAK9C,UAL8C,IAQzD,4DACgC,uBAAGvK,OAAO,SAASlG,KAAK,oHAAxB,SADhC,qECXG0Q,G,4MA7FbrK,MAAQ,CACN+J,oBAAqB,CACnB,CACEI,MAAOxD,KAAK2D,SACZC,aAAc,GACdC,aAAc,GACdC,iBAAkB,GAClBC,QAAS,GACTC,WAAY,GACZC,UAAW,GACXC,iBAAkB,GAClBC,OAAQ,M,EAOdtG,aAAe,SAAA9E,GAEX,CAAC,eACC,eACA,mBACA,UACA,aACA,YACA,mBAAoB,UAAUqL,SAC5BrL,EAAEG,OAAOsB,MAGU,aAAO,EAAKnB,MAAM+J,qBACrBrK,EAAEG,OAAOmL,QAAQtP,IAAIgE,EAAEG,OAAOsB,MAAQzB,EAAEG,OAAOtD,MAGnE,EAAKuD,SAAL,eAAiBJ,EAAEG,OAAOsB,KAAOzB,EAAEG,OAAOtD,S,EAI9C0O,UAAY,SAAAvL,GACV,EAAKI,UAAS,SAAAoL,GAAS,MAAK,CAE1BnB,oBAAoB,GAAD,oBACdmB,EAAUnB,qBADI,CAEjB,CACEI,MAAOxD,KAAK2D,SACZC,aAAc,GACdC,aAAc,GACdC,iBAAkB,GAClBC,QAAS,GACTC,WAAY,GACZC,UAAW,GACXC,iBAAkB,GAClBC,OAAQ,W,EAQhBK,UAAY,SAAAhB,GACV,EAAKrK,SAAS,CACZiK,oBAAqB,EAAK/J,MAAM+J,oBAAoBqB,QAClD,SAAClC,EAAGmC,GAAJ,OAAelB,IAAUkB,Q,mDAM/B,SAAcC,GACZhS,EAAW4Q,iBAAkB,EAC7BnD,KAAKjH,SAAS,CACZiK,oBAAqBhD,KAAK/G,MAAM+J,oBAAoBqB,QAAO,SAAAG,GAAC,OAAIA,IAAMD,S,oBAI1E,WAEE,IAAMvB,EAAwBhD,KAAK/G,MAA7B+J,oBACN,OACE,yBAAK/Q,UAAU,WAEb,kBAAC,GAAD,CACEwS,IAAKzE,KAAKkE,UACVQ,OAAQ1E,KAAK2E,cAAcnG,KAAKwB,MAChCgD,oBAAqBA,S,GAtFAjN,IAAM6M,WCQjCxK,GAAWC,EAAQ,IACnBrB,GAAMoB,GAASG,IAAIC,KAAKC,MAAM,oBAC9BmM,GAAKxM,GAASG,IAAIC,KAAKC,MAAM,oBA8YlBoM,GA5YM,WACnB,IAAI9H,EAAU+H,cAEdvS,EAAWoK,aAAevJ,aAAaC,QAAQ,OAC/C,MAAsCxB,oBAAS,GAA/C,mBAAOwJ,EAAP,KAAoB0J,EAApB,KAEA,EAAkClT,mBAAS,CACzC2R,aAAc,GACdC,aAAc,GACdC,iBAAkB,GAClBC,QAAS,GACTC,WAAY,GACZC,UAAWzQ,aAAaC,QAAQ,OAAO2R,MAAM,EAAG,IAChDlB,iBAAkB,GAClBC,OAAQ,OARV,mBAAOkB,EAAP,KAAkBC,EAAlB,KAqEA,GA1DAC,qBAAU,WAER,GAAInN,IAAkB,IAAI4E,MAAOC,cAC/B,GAAItK,EAAWoK,cACb,GAAIpK,EAAWoK,aAAc,CAC3B,IAAM5C,EAAc,CAElBqL,YAAa7S,EAAWoK,aACxB0I,IAAKjS,aAAaC,QAAQ,YAEtB0H,EAAiB,CACrBC,OAAQ,OACRC,QAAS,CACP,eAAgB,mBAChBqK,OAAQ,mBACR,+BAAgC,eAChC,gBAAiB,WACjBC,OAAQ,WACRC,cAAe,WAAkBpS,aAAaC,QAAQ,QAExD6H,KAAMC,KAAKC,UAAUrB,IAGvBgL,GAAe,GAEf,IAAI7R,EAAMuS,IAEVjK,MAAMtI,EAAK6H,GACRU,KADH,uCACQ,WAAOC,GAAP,eAAA9C,EAAA,6DAEJmM,GAAe,GAFX,SAGerJ,EAASC,OAHxB,QAGEC,EAHF,QAIMC,UACJD,EAAKG,MAAM2J,QACT9J,EAAKG,MAAM2J,OAAOC,SACpBT,EAAatJ,EAAKG,MAAM2J,OAAOC,QAC/BzN,OAAO0N,SAAS,EAAG,IARrB,2CADR,uDAeGrI,OAAM,SAACsI,GACNd,GAAe,GACfrL,QAAQC,IAAIkM,YAIlBxI,MAAM,iEACN6C,SAGF7C,MAAM,iDACN6C,MAED,KAGE+E,EACH,OAAO,EAEP,IAAIrJ,EAAOqJ,EAAUa,IACrB,GAAIlK,EAAM,CAAC,IAAD,EAOR,GANIA,EAAK6H,aACPlR,EAAWwT,iBAAkB,EACpBnK,EAAK8H,mBACdnR,EAAWyT,iBAAkB,GAG3BpK,EAAKkI,iBACP,IACEvR,EAAW0T,QAAU7N,GAAS8N,IAAID,QAChCrK,EAAKkI,iBACL9M,GACA,CAAE4N,GAAIA,KAERrS,EAAW0T,QAAU1T,EAAW0T,QAAQE,SAAS/N,GAASG,IAAIC,MAC9D,MAAO4N,GACP7T,EAAW0T,QAAUrK,EAAKkI,iBAC1BpK,QAAQC,IAAI,KAAMyM,QAGpB7T,EAAW0T,QAAUrK,EAAKkI,iBAGxBlI,EAAK6H,cACPlR,EAAW8T,SAAWjO,GAAS8N,IAAID,QAAQrK,EAAK6H,aAAczM,GAAK,CACjE4N,GAAIA,KAENrS,EAAW8T,SAAW9T,EAAW8T,SAASF,SAAS/N,GAASG,IAAIC,OAEhEjG,EAAW8T,SAAWzK,EAAK6H,aAGzB7H,EAAK8H,kBACPnR,EAAW+T,SAAWlO,GAAS8N,IAAID,QAAQrK,EAAK8H,iBAAkB1M,GAAK,CACrE4N,GAAIA,KAENrS,EAAW+T,SAAW/T,EAAW+T,SAASH,SAAS/N,GAASG,IAAIC,OAEhEjG,EAAW+T,SAAW1K,EAAK8H,iBAG7BwB,GAAY,GACVrB,UAAWjI,EAAKiI,UAChBL,aAAc5H,EAAK4H,aACnBC,aAAclR,EAAW8T,SACzB3C,iBAAkBnR,EAAW+T,SAC7B3C,QAAS/H,EAAK+H,QACdC,WAAYhI,EAAKgI,YANP,0BAOChI,EAAKiI,WAPN,iCAQQtR,EAAW0T,SARnB,uBASFM,OAAO3K,EAAKmI,SATV,IAchB,IAAM0B,EAAe,WACLlT,EAAWiU,gBAYzB,MAViC,QAA7BjU,EAAWwB,cACHxB,EAAWkU,eAEe,QAA7BlU,EAAWwB,cACRxB,EAAWmU,WAGXnU,EAAWiU,iBAiMzB,OACE,yBAAKvU,UAAU,mBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,kBACb,wBAAIA,UAAU,gBAAgBM,EAAWqO,WAG3C,yBAAK3O,UAAU,yDACb,yBAAKA,UAAU,2CACb,yBAAKA,UAAU,uBACb,yBAAKA,UAAU,2CACb,yBAAKA,UAAU,eACf,kBAAC,IAAD,CACE0U,cAjFK,SAACtN,GAEpB,GADA0L,GAAe,GACX1L,EAAMuN,QAAS,CACjB,IACM7M,EAAc,CAClB8M,MAFa,EAGbf,IAAK,CACHtC,aAAc,QACdK,UAAWxK,EAAMyN,OAAOjD,UACxBkD,WAAY,QACZjD,iBAAkBzK,EAAMyN,OAAOpD,iBAC/BA,iBAAkBrK,EAAMyN,OAAOpD,iBAC/BD,aAAc,QACdE,QAAS,gBACTC,WAAY,QACZoD,aAAc,QACdjD,OAAQ,QACRxJ,aAAc,QACd0M,YAAa,QACbC,YAAa,UAIXnM,EAAiB,CACrBC,OAAQ,OACRC,QAAS,CACP,eAAgB,mBAChBqK,OAAQ,mBACR,+BAAgC,eAChC,gBAAiB,WACjBC,OAAQ,WACRC,cAAe,WAAkBpS,aAAaC,QAAQ,QAExD6H,KAAMC,KAAKC,UAAUrB,IAGnB7G,EA1JW,WACHX,EAAW4U,iBAWzB,MATiC,QAA7B5U,EAAWwB,cACHxB,EAAW6U,gBAEe,QAA7B7U,EAAWwB,cACRxB,EAAW8U,YAGX9U,EAAW4U,iBAgJX/I,GAEV5C,MACEtI,EACA,UACAX,EAAWoK,aACX,aACApK,EAAWgI,aACXQ,GAECU,KARH,uCAQQ,WAAOC,GAAP,eAAA9C,EAAA,6DACJmM,GAAe,GADX,SAEerJ,EAASC,OAFxB,QAEEC,EAFF,QAGMC,SAKRwB,MAAM,2CAJNjK,aAAasJ,QAAQ,SAAUd,EAAKU,OAEpCS,EAAQC,KAAK,kBANX,2CARR,uDAmBGO,OAAM,SAACC,GACNuH,GAAe,GACf1H,MAAM,2CACN6C,SAsBQW,cAAeoE,EACfjO,IAAKmE,KAAKC,UAAU6J,GACpBlE,OAAQ,SAACC,GAAD,OACN,kBAAC,IAAD,KACE,8BAAU/O,UAAW,mBACnB,yBACEA,UAAU,wCACVG,MAAO,CAAE6O,UAAW,WAEpB,yBAAKhP,UAAU,2CACb,4BAAQA,UAAW,iBAChBM,EAAW+U,kBAIlB,kBAAC,GAAD,MACA,yBACErV,UAAU,aACVG,MAAO,CAAE6O,UAAW,SAEpB,kBAAC,IAAD,CACEhP,UAAU,aACV8C,KAAM,SACN2M,SAAS,EACT7M,UAAWmM,EAAgBpM,OAE1BrC,EAAWqP,WAKlB,iCAILvG,GAAe,kBAAC,EAAD,a,UC3X5BjD,GAAWC,EAAQ,IACnBrB,GAAMoB,GAASG,IAAIC,KAAKC,MAAM,oBAC9BmM,GAAKxM,GAASG,IAAIC,KAAKC,MAAM,oBAEjClG,EAAWoK,aAAevJ,aAAaC,QAAQ,OACjCd,EAAWgV,iBAAzB,IAeIC,GACAC,GAEAC,GAjBAC,GAAqBpV,EAAWoV,mBAChCC,IAAuB,EACvBC,GAAoB,EACpBC,GTsE2B,SAACvT,GACwEA,EAA5FC,kBAA4FD,EAAzEE,QAA3B,IAAoCC,EAAgEH,EAAhEG,MAAOC,EAAyDJ,EAAzDI,GAAyDJ,EAArDK,MAAqDL,EAA9CM,SAA8CN,EAApCO,KAAoCP,EAA9BQ,KAA8BR,EAAxBU,SAA5E,YAAoGV,EAApG,GACA,OACI,uBAAKtC,UAAU,0CACX,uBAAKA,UAAU,yCACX,uBAAKA,UAAU,iBAAiB0C,IAC9B,uBAAK1C,UAAU,yCACjB,0BAAQA,UAAU,MAAMG,MAAO,CAAE2V,UAAW,aAAczG,cAAe,cAAiB5M,MS3EtGxB,GAAMX,EAAWyV,UACjBC,GAAO1V,EAAW2V,WAElBC,IADY5V,EAAW6V,gBACR7V,EAAW8V,eAi6BfC,GAr5BO,SAAC1W,GAAW,IAAD,EACzBmL,EAAU+H,cAEd,EAAgCjT,mBAAS,MAAzC,mBAAO6J,EAAP,KAAiB6M,EAAjB,KAEA,EAAgC1W,mBAAS,IAAzC,mBAAOmH,EAAP,KAAiBwP,EAAjB,KACA,EAAoD3W,oBAAS,GAA7D,mBAAOqH,EAAP,KAA2BuP,EAA3B,KACA,EAAwC5W,oBAAS,GAAjD,mBAAO6W,EAAP,KAAqBC,EAArB,KACA,EAAkC9W,oBAAS,GAA3C,mBAAO+W,EAAP,KAAkBC,EAAlB,KACA,EAAwChX,oBAAS,GAAjD,mBAAOiX,EAAP,KAAqBC,EAArB,KACA,EAAoDlX,oBAAS,GAA7D,mBAAOmX,EAAP,KAA2BC,EAA3B,KACA,EAA8CpX,mBAAS,IAAvD,mBAAOqX,EAAP,KAAwBC,EAAxB,KACA,EAAsDtX,oBAAS,GAA/D,mBAGA,IAHA,UAGkDA,mBAAS,IAA3D,qBAAOsL,GAAP,MAA0BiM,GAA1B,MAGA,GAAoDC,aAFhC,KACH,KACjB,qBAAOC,GAAP,eAAmBC,GAAnB,GAAmBA,MAKnB,IALA,GAA0BC,MAA1B,GAAiCC,OAAjC,GAAyCC,MAKK7X,sBAA9C,qBAAO8X,GAAP,MAAwBC,GAAxB,MACA,GAAoC/X,mBAAS,IAA7C,qBAAOgY,GAAP,MAAmBC,GAAnB,MAKA,GAAoDjY,oBAAS,GAA7D,qBAAOoN,GAAP,MAA2B8K,GAA3B,MACA,GAAoDlY,mBAAS,IAA7D,qBAA2BmY,IAA3B,aAEA,GAAoCnY,mBAAS,IAA7C,qBAAOoY,GAAP,MAAmBC,GAAnB,MACA,GAA4BrY,mBAAS,IAArC,qBACA,IADA,YAC0CA,mBAAS,KAAnD,qBAGA,IAHA,YAGgDA,oBAAQ,GACpDsY,aAAc,GACdnQ,MAAO,GACP1D,OAAQ,GACR8T,eAAgB,IAJoC,6BAKtC,IALsC,6BAMtC,IANsC,2BAOxC,IAPwC,gCAQnC,IARmC,KAAxD,qBAAOC,GAAP,MAAyBC,GAAzB,MAyFA,GA7EAnF,qBAAU,WAIN,GAFA0D,GAAa,GAET7Q,IAAkB,IAAI4E,MAAOC,cAC7B,GAAItK,EAAWoK,aAAc,CACzB,IAAM5C,EAAc,CAEhBqL,YAAa7S,EAAWoK,aACxB0I,IAAKjS,aAAaC,QAAQ,YAGxB0H,EAAiB,CACnBC,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,OAAU,mBACV,+BAAgC,eAChC,gBAAiB,WACjB,OAAU,WACV,cAAiB,WAAkB7H,aAAaC,QAAQ,QAG5D6H,KAAMC,KAAKC,UAAUrB,IAGrBuB,EAAU/I,EAAWiU,gBAGrBlL,EAD6B,QAA7B/I,EAAWwB,cACDxB,EAAWkU,eAEa,QAA7BlU,EAAWwB,cACNxB,EAAWmU,WAGXnU,EAAWiU,gBAGzBhL,MAAMF,EAASP,GAEVU,KAFL,uCAEU,WAAMC,GAAN,eAAA9C,EAAA,6DAEFiQ,GAAa,GAFX,SAGiBnN,EAASC,OAH1B,QAGIC,EAHJ,QAIQC,UACFD,EAAKG,MAAM2J,SACX6C,EAAY3M,GACZrJ,EAAWgY,UAAY3O,EAAKU,MAC5BgO,GAAoB1O,EAAKG,OACzB7D,OAAO0N,SAAS,EAAG,IATzB,2CAFV,uDAkBKrI,OAAM,SAAAsI,GAEHgD,GAAa,GACbxL,MAAM,iEACN6C,YAIR2I,GAAa,GACbxL,MAAM,iEACN6C,SAIJ2I,GAAa,GACbxL,MAAM,iDACN6C,MAGF,KAEDxE,EACD,OAAO,EAGP,GADAmM,GAAoBnM,EAASK,MAAM2J,OAAOC,OAAOkB,MAC7CnL,EAASK,MAAM2J,OAAOC,OAAOG,IAAK,CAElC,IACI0E,GADA1O,GAAMJ,EAASK,MAAM2J,OAAOC,OAAOG,IAUvC,GARIhK,GAAI2H,cACJ+G,GAAqB1O,GAAI2H,aACzBlR,EAAWkY,gBAAkBlY,EAAWmY,kBACjC5O,GAAI4H,mBACX8G,GAAqB1O,GAAI4H,iBACzBnR,EAAWkY,gBAAkBlY,EAAWoY,kBAGxC7O,GAAIgI,iBACJ,IACIvR,EAAWqY,UAAYxS,GAAS8N,IAAID,QAAQnK,GAAIgI,iBAAkB9M,GAAK,CAAE4N,GAAIA,KAC7ErS,EAAWqY,UAAYrY,EAAWqY,UAAUzE,SAAS/N,GAASG,IAAIC,MACpE,MAAO4N,IACL1M,QAAQC,IAAIyM,SAGhB7T,EAAWqY,UAAY9O,GAAIgI,iBAI/B,GAAIvR,EAAWkY,gBACX,IACIlY,EAAWsY,YAAczS,GAAS8N,IAAID,QAAQuE,GAAoBxT,GAAK,CAAE4N,GAAIA,KAC7ErS,EAAWsY,YAActY,EAAWsY,YAAY1E,SAAS/N,GAASG,IAAIC,MACxE,MAAO4N,IACL1M,QAAQC,IAAIyM,SAGhB7T,EAAWsY,YAAcL,GAGnB1O,GAAI0H,aACJjR,EAAWsY,YACV/O,GAAI6H,QACF7H,GAAI8H,WACjB4D,GAAkB1L,GAAI+H,UACtB4D,GAAalV,EAAWqY,UAChB9O,GAAIiI,OACZ2D,GAAmB5L,GAAIoL,YAM/B,IAmBMxO,GAAgB,uCAAG,WAAOC,GAAP,eAAAC,EAAA,yDACfC,EAAK,aACY,KAAnBF,EAAEG,OAAOtD,QAAgBqD,EAAGtB,KAAKoB,EAAEG,OAAOtD,OAFzB,gCAGXgT,EAAY7P,EAAEG,OAAOtD,OAHV,UAMG,IAApBwD,EAASvD,OANQ,gCAOXgT,GAAsB,GAPX,+CASXA,GAAsB,GATX,4CAAH,sDAahBtP,GAAQ,uCAAG,WAAOC,GAAP,eAAAR,EAAA,yDACbQ,EAAMA,GAAYlB,OAAOmB,SACrBC,EAAWF,EAAIG,MAAQH,EAAIG,MAAQH,EAAII,SAE5B,KAAOF,EAAW,IAAMA,EAAW,KAJrC,iCAKHkP,EAAY,IALT,uBAMHC,GAAsB,GANnB,iCAOF,GAPE,yBASHA,GAAsB,GATnB,kCAUF,GAVE,4CAAH,sDA4BRqC,GAAgB,WAGlB,IAAMC,EAAc,GAEpB,IAAuB,IAnBN,WACjB,IAAInE,GAAU,EACRoE,EAAStP,EAASK,MAAM2J,OAAOC,OAAOG,IAS5C,OAP2B,OAAvBkF,EAAO9D,aAA+C,KAAvB8D,EAAO9D,aAAoD,IAA9B8D,EAAO9D,YAAYzR,QAGnD,OAAvBuV,EAAO/D,aAA8C,OAAtB+D,EAAOjE,cAF3CH,GAAU,GAMPA,EAQHqE,GAGA,OAFA5N,MAAM,gDACN6C,IAIJ,IAAInG,EAAc,CACdC,MAAOqQ,GAAiBpQ,KACxB3D,OAAQ+T,GAAiB/T,OACzB4D,mBAAoBmQ,GAAiBD,eACrCtQ,MAAOuQ,GAAiBF,aACxB/P,KAAMiQ,GAAiBa,aACvB5Q,WAAYlH,aAAaC,QAAQ,iBACjC8X,gBAAiBtQ,eAchBd,EAAYD,QACbC,EAAYD,MAAQ,IAIxB,IAAM5G,EAAMkY,KAEZ5P,MAAMtI,EAAM6G,EAAYC,MAAQ,IAAMD,EAAYzD,OAAS,IAAMyD,EAAYG,mBAAqB,IAAMW,cAAW,UAAYd,EAAYD,MAAQ,SAAWC,EAAYK,KAAO,gBAAkBL,EAAYO,WAlBxL,CACnBU,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,OAAU,mBACV,gBAAiB,WACjB,OAAU,WACV,+BAAgC,kBAYnCQ,KADL,uCACU,WAAMC,GAAN,uBAAA9C,EAAA,sEACiB8C,EAASC,OAD1B,QACIC,EADJ,QAEQC,UAmCNgN,GAAa,GACbzV,aAAakK,QACb2L,GAAsB,GACtBlM,EAAQC,KAAK,WArCb6L,GAAa,GACT/M,EAAMF,EAAKG,MAAMC,IACjBC,EAAYH,EAAII,QAChBC,EAAYL,EAAIM,OACpB+M,EAAmBrN,EAAII,SAEM,MAAzBC,EAAUW,YACVmM,GAAsB,GACtBc,IAAsB,GACtBpB,GAAgB,GAChBY,KACAV,GAAa,GACbkC,EAAYzO,MAAQV,EAAKU,MAErBL,EAAUvB,WACVnI,EAAW8Y,WAAajT,GAAS8N,IAAID,QAAQhK,EAAUvB,UAAW1D,GAAK,CAAE4N,GAAIA,KAC7ErS,EAAW8Y,WAAa9Y,EAAW8Y,WAAWlF,SAAS/N,GAASG,IAAIC,MAEpEwR,GAAsBzX,EAAW8Y,YAC7BC,EAAa/Y,EAAW8Y,WAAYxT,UAAU,GAClDiS,GAAcwB,KAEd/Y,EAAW8Y,WAAapP,EAAUvB,UAClCsP,GAAsBzX,EAAW8Y,YACjCvB,GAAcvX,EAAW8Y,eAG7B1C,GAAgB,GAChBE,GAAa,GACbzV,aAAakK,QACbP,EAAQC,KAAK,SACb5J,aAAakK,UAlCnB,2CADV,uDA4CKC,OAAM,SAAAC,GACHqL,GAAa,GAETtW,EAAWoM,OAGfsK,GAAsB,GACtBvP,QAAQ8D,MAAM,sBAAuBA,OAI3C/D,GAAgB,uCAAG,gCAAAb,EAAA,0DAGjBI,EAHiB,gBAIZiR,IACDC,GAAc,IAGZnQ,EAAc,CAChBC,MAAOqQ,GAAiBpQ,KACxB3D,OAAQC,EAAe,SAAU8T,GAAiB/T,QAClD4D,mBAAoB3D,EAAe,YAAa8T,GAAiBD,gBACjEtQ,MAAOuQ,GAAiBF,aACxB/P,KAAMiQ,GAAiBa,aACvB5Q,WAAY/H,EAAWgI,aACvBC,OAAQ0O,EAAgB1O,OACxBC,IAAKzB,EACL0B,UAAW,IACXC,SAAU,WACVC,gBAAiBC,cACjBC,MAAO,KAGLC,EAAiB,CACnBC,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,OAAU,mBACV,+BAAgC,eAChC,gBAAiB,WACjB,OAAU,YAEdC,KAAMC,KAAKC,UAAUrB,IAInB7G,EAAMqI,KAEZC,MAAMtI,EAAK6H,GAENU,KAFL,uCAEU,WAAMC,GAAN,uBAAA9C,EAAA,sEAEiB8C,EAASC,OAF1B,WAEIC,EAFJ,QAGQC,SAHR,oBAIMC,EAAMF,EAAKG,MAAMC,IACjBC,EAAYH,EAAII,QAChBC,EAAYL,EAAIM,QAEhBR,EAAKS,MARX,oBASoBT,EAAKS,MACDT,EAAKa,oBAEnBR,GACA7I,aAAasJ,QAAQ,UAAWT,EAAUhC,MAEjB,MAAzBkC,EAAUW,WAfpB,iBAiBcyO,EAAU,IAAI3O,KAClBxJ,aAAasJ,QAAQ,MAAO6O,GAC5B3B,GAAmBxW,aAAaC,QAAQ,QACxC0W,IAAsB,GACtByB,KArBV,2BAwBcrP,EAAUe,YACVkM,GAAqBjM,GAAoB,KACzCA,IAAqB,GA1BnC,iBA2BcE,MAAM,4EA3BpB,2BA4B2C,IAAtBF,GA5BrB,wBA6BcE,MAAM,wEACN6C,IA9Bd,kCAiCc7C,MAAM,wEACN6C,IAlCd,mDAuCMnD,EAAQC,KAAK,SACb5J,aAAakK,QAxCnB,gCA2CEP,EAAQC,KAAK,SACb5J,aAAakK,QA5Cf,4CAFV,uDAiDKC,OAAM,SAAAC,GACH9D,QAAQ8D,MAAM,sBAAuBA,MAxF5B,wCA4FXiL,GAAsB,GA5FX,QA6FjBpL,MAAM,0CA7FW,4CAAH,qDAmGhBmO,GAAiB,uCAAG,8BAAA5S,EAAA,sDAGtBgP,IAAuB,EACjB7M,EAAiB,CACnBC,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,OAAU,mBACV,+BAAgC,eAChC,gBAAiB,WACjB,OAAU,WACV,cAAiB,WAAkB7H,aAAaC,QAAQ,SAI1DH,EAAMuY,KACZjQ,MAAMtI,EAAM,UAAYX,EAAWoK,aAAe,eAAgB5B,GAC7DU,KADL,uCACU,WAAMC,GAAN,SAAA9C,EAAA,sEACiB8C,EAASC,OAD1B,OAEkB,cAFlB,OAEO+P,QACL9D,IAAuB,EACvB1P,OAAO0N,SAAS,EAAG,GACnBxS,aAAakK,UAEbsK,IAAuB,EACvBvK,MAAM,UARR,2CADV,uDAYKE,OAAM,SAAAC,GACHoK,IAAuB,EACvBlO,QAAQ8D,MAAM,sBAAuBA,MA/BvB,2CAAH,qDA4CjBmO,GAAqB,WACvBb,MAIEc,GAAmB,WACrB7C,GAAiBD,GACjBG,GAAuBD,IAGrB6C,GAAkB,WACpB9O,EAAQC,KAAK,YAGX8O,GAAgB,WAClBpZ,SAASC,SAASC,KAAOL,EAAWwZ,iBAGlCxQ,GAAkB,WACNhJ,EAAW0L,oBAUzB,MATiC,QAA7B1L,EAAWwB,cACDxB,EAAW2L,mBAEa,QAA7B3L,EAAWwB,cACNxB,EAAW4L,eAGX5L,EAAW0L,qBAKvBmN,GAAgB,WACJ7Y,EAAWyZ,kBAUzB,MATiC,QAA7BzZ,EAAWwB,cACDxB,EAAW0Z,iBAEa,QAA7B1Z,EAAWwB,cACNxB,EAAW2Z,aAGX3Z,EAAWyZ,mBAavBP,GAAe,WAEHlZ,EAAW4Z,gBAWzB,MATiC,QAA7B5Z,EAAWwB,cACDxB,EAAW6Z,eAEa,QAA7B7Z,EAAWwB,cACNxB,EAAW8Z,WAGX9Z,EAAW4Z,iBAIvBG,GAAY,CACdC,cAAe,QAOnB,OACI,yBAAKta,UAAU,mBACV2W,GAAa,kBAAC,EAAD,MACd,yBAAK3W,UAAU,QACX,yBAAKA,UAAU,kBACX,wBAAIA,UAAU,gBAAgBM,EAAWqO,WAE7C,kBAAC,EAAD,KACI,kBAAC,IAAD,CAEIG,OAAQ,SAACC,GAAD,OACJ,0BAAMF,SAAUE,EAAgBF,SAAU7O,UAAW,UACjD,kCACI,6BACA,yBAAKA,UAAU,yCACX,yBAAKA,UAAU,4CACT2V,IAAwB,gCAASrV,EAAWia,iBAC7C5E,IAAwB,gCAASrV,EAAWka,uBAGrD,wBAAIxa,UAAU,eAGlB,mCAEM2V,IAAwB,yBAAK3V,UAAU,0CACrC,yBAAKA,UAAU,0CAA0CG,MAAO,CAC5Dsa,gBAAiB,QAAS/W,MAAO,QAAS2M,QAAS,OAAQqK,oBAAqB,OAChFC,qBAAsB,SAGtB,4BAAQ3a,UAAU,aAAaM,EAAWsa,gBAC1C,4BAAQ5a,UAAU,aAAaG,MAAO,CAAEsD,MAAO,SAAWjD,QAASoZ,IAAiB,0BAAMzZ,MAAO,CAAE0a,OAAQ,WAAa7a,UAAU,yBAKzI2V,IAAwB,yBAAK3V,UAAU,0CACpC,yBAAKA,UAAU,0CAA0CG,MAAO,CAC5Dsa,gBAAiB,UAAW/W,MAAO,QAAS2M,QAAS,OAAQqK,oBAAqB,OAClFC,qBAAsB,SAGtB,4BAAQ3a,UAAU,iBAAgB,0BAAMA,UAAU,qBAA0B,0BAAMG,MAAO,CAAEkQ,QAAS,QAAxB,gBAMvFuF,IAAqB,GAAK,kCAMvB,kBAAC,IAAD,CAAOlT,GAAI,qBAAsBD,MAAO8S,GAAiBpG,UAAW0G,KACpE,kBAAC,IAAD,CAAOnT,GAAI,oCAAqCD,MAAO+S,GAAYrG,UAAW0G,KAE9E,6BACEF,IAAwB,wDAGxBA,IAAwB,wBAAI3V,UAAU,eAGtC2V,IAAwB,wBAAIxV,MAAOka,IAAX,IAAuB,4BAAO,sGAA+E,4BAA7G,IAAqH,sLAA+J,4BAApR,IAA4R,iJAA5R,OAM9B,kCAGK1E,IAAwB,wBAAI3V,UAAU,cAEtC2V,IAEG,kBAAC,IAAD,CAAOjT,GAAI,mBAAoBD,MAAOnC,EAAWgY,UAAWnJ,UAAW0G,KAG1EF,IAEG,kBAAC,IAAD,CAAOjT,GAAI,OAAQD,MAAOiV,GAAiBvI,UAAW0G,OAQ5DF,IAAwB,oCACrBF,KAAqBnV,EAAWiB,aAE7B,6BACI,kBAAC,IAAD,CACIuZ,QAASjE,EACTnU,GAAI,aACJE,SAAUiU,EACVpU,MAAO,yBAAKtC,MAAO,CACf6O,UAAW,QACX+L,WAAY,SAIZ,oFACA,uBAAGpa,KAAMuV,GAAcrP,OAAO,UAA9B,iFACA,+CACA,uBAAGlG,KAAMqV,GAAMnP,OAAO,UAAtB,wBACA,yDAMJ0I,SAAUoK,MASO,IAAjB9C,GACA,0BAAM1W,MAAO,CAAEuD,MAAO,MAAOqX,WAAY,SAAW,mEAK5D,6BACA,4BACA,mDACA,wBAAI/a,UAAU,cACd,4BACA,kBAAC,IAAD,CACI8a,QAASjE,EACTnU,GAAI,aAEJD,MAAO,yBAAKtC,MAAO,CACf6O,UAAW,QACX+L,WAAY,SAGZ,2JACA,uBAAGpa,KAAMM,GAAK4F,OAAO,UAArB,iCANG,MAOA,uBAAGlG,KAAMqV,GAAMnP,OAAO,UAAtB,yBAyCP0I,SAAUoK,MAIO,IAAjB9C,GACA,0BAAM1W,MAAO,CAAEuD,MAAO,MAAOqX,WAAY,SAAW,oEAOhE,6BAAS,6BACRpF,IAAwB,2BAAID,IAC7B,6BAAS,8BACPC,IAAwB,yBAAK3V,UAAU,cAGrC,kBAAC,IAAD,CAAQA,UAAU,6BAA6B8C,KAAM,SAAU3C,MAAO,CAAEkQ,QAAS,QAC7EZ,SAAS,EACT7M,SAAUmU,EAAoBvW,QAASqY,IAAgB,uBAF3D,MAMJ,6BACClD,IAAwB,yBAAK3V,UAAU,eACpC,4BAAQA,UAAU,aAAa8C,KAAM,SAAUtC,QAASqZ,IAAe,8BAAOvZ,EAAW0a,WAG7F,6BAAS,iCAQpBhO,GACG,kBAAC,IAAD,CACI7M,MAAO,CACHyP,MAAO,EACPC,OAAQ,EACRC,WAAY,aACZC,SAAU,iBAGd,kBAAC,IAAD,CACIjN,KAAM,CAAE3C,MAAO,UAAW6P,MAAM,GAChCC,UAAU,GAEV,yBAAKjQ,UAAU,0CACX,yBAAKA,UAAU,wCACX,yBAAKA,UAAU,SAEnB,yBAAKA,UAAU,wCACX,yBACIA,UAAU,UACVG,MAAO,CACHE,UAAW,OACXqD,MAAO,QACPqX,WAAY,SAEhB,6DAAqCnD,IAAgB,IACrD,qFAIR,yBAAK5X,UAAU,wCACX,yBACIA,UAAU,UACVG,MAAO,CACHE,UAAW,OACXqD,MAAO,QACPtD,OAAQ,SAGZ,yBAAKJ,UAAU,cAAcG,MAAO,CAAE6O,UAAW,WAC7C,uBAAGmB,WAAS,qEACRnQ,UAAU,KACA,IAAbqX,IAAkBZ,EACf,kBAAC,IAAD,CACIzW,UAAU,6BACVG,MAAO,CAAEkQ,QAAS,OAAQrB,UAAW,QACrCS,SAAS,EACTjP,QArWpC,WAGZ8W,GADgB,KAEhBf,EAAY,IACZG,GAAgB,GAChBgD,OA2V4C,cAQA,8BAIHjD,EACG,6BACK,IADL,aA9oB/B,SAACzF,GAEd,IAAIiK,EAAU/U,SAAS8K,EAAM,IAAM,IAC/BkK,EAAQvN,KAAKC,MAAMqN,EAAU,MAC7BE,EAAUxN,KAAKC,OAAOqN,EAAkB,KAARC,GAAgB,IAChD5N,EAAU2N,EAAkB,KAARC,EAAyB,GAAVC,EAWvC,OATID,EAAQ,KACRA,EAAQ,IAAMA,GAEdC,EAAU,KACVA,EAAU,IAAMA,GAEhB7N,EAAU,KACVA,EAAU,IAAMA,GAEb6N,EAAU,IAAM7N,EAgoBoC8N,CAAS/D,IAAW,IAC/B,0BACIrX,UAAU,mBACVG,MAAO,CAAE6O,UAAW,WAI5B,iCAMhB,yBAAKhP,UAAU,wCACX,yBAAKA,UAAU,OACX,yBACIA,UAAU,cACVG,MAAO,CAAE6O,UAAW,WAEpB,2BACI7O,MAAO,CAAEmQ,MAAO,QAChBC,WAAYrJ,GACZpE,KAAK,WACL0N,QAAQ,SACRC,UAAU,IACVC,UAAU,IACVnN,MAAOwD,EACPwI,SAAU9I,GACVyI,YAAY,SACZ/G,KAAK,GACLzF,GAAG,WACH1C,UAAU,iBAK1B,6BACA,yBAAKA,UAAU,wCACX,yBAAKA,UAAU,OACX,yBACIA,UAAU,cACVG,MAAO,CAAE6O,UAAW,SAEN,IAAbqI,GAAkB,kBAAC,IAAD,CACfvU,KAAM,SACNJ,GAAG,YACHqC,IAAI,YACJ0K,SAAS,EACTjP,QAASgH,GACTrH,MAAO,CAAEkQ,QAAS,OAClBrQ,UAAU,+BAET,WAGA,kBAAC,IAAD,CACGA,UAAU,6BACVG,MAAO,CAAEkQ,QAAS,OAClBZ,SAAS,EACTjP,QAASgH,GACT5E,UAAWqE,GALd,cAYjB,yBAAKjH,UAAU,wCACX,yBAAKA,UAAU,YAM/B,OC13BTqb,GA/DK,SAAC1b,GAKnB,OACE,yBAAKK,UAAU,SACb,yBAAKA,UAAU,qBACb,yBAAKA,UAAU,OACb,yBAAKA,UAAU,UACb,wBAAIA,UAAU,gBAAgBM,EAAWqO,YAG7C,yBAAK3O,UAAU,0BACb,yBAAKA,UAAU,UACb,uBAAGA,UAAU,2BAA2BM,EAAWgb,cAErD,wBAAItb,UAAU,cACd,yBACEA,UAAU,6BACVG,MAAO,CAAEkQ,QAAS,SAElB,yBAAKrQ,UAAU,aAAaG,MAAO,CAAEkQ,QAAS,SAC5C,yBAAKrQ,UAAU,qCACb,yBAAKA,UAAU,qBAAqBG,MAAO,CAAEkQ,QAAS,SACpD,oFAGJ,yBAAKrQ,UAAU,qCACb,yBAAKA,UAAU,qBAAqBG,MAAO,CAAEkQ,QAAS,SACpD,wBAAIlQ,MAAO,CAAEob,WAAY,QACtB,IADH,4FAIA,2HAIJ,6BAEA,yBAAKvb,UAAU,oCACb,4BACE8C,KAAK,SACLtC,QA1CM,WACpByN,KA0CcvL,GAAG,gBACH1C,UAAU,yBAJZ,qBASF,6BACA,6BACA,yBAAKA,UAAU,mBAAmBG,MAAO,CAAEkQ,QAAS,SAClD,yBAAKrQ,UAAU,eCxBhBwb,OApBf,WACE,OACE,kBAAC,IAAD,KACE,yBAAKxb,UAAU,WACb,kBAAC,EAAD,CAAQyb,YAAa,uBACrB,kBAAC,IAAD,CAAOC,OAAK,EAACC,KAAK,KAAK,kBAAC,IAAD,CAAUC,GAAG,+BAEpC,kBAAC,IAAD,CAAOF,OAAK,EAACC,KAAK,aAAa,kBAAC,IAAD,CAAUC,GAAG,+BAC5C,kBAAC,IAAD,CAAOF,OAAK,EAACC,KAAK,sBAAsB,kBAAC,IAAD,CAAUC,GAAG,+BACrD,kBAAC,IAAD,CAAOD,KAAK,4BAA4BxM,UAAW9I,KACnD,kBAAC,IAAD,CAAOsV,KAAK,oBAAoBxM,UAAWyD,KAC3C,kBAAC,IAAD,CAAO+I,KAAK,0BAA0BxM,UAAWkH,KACjD,kBAAC,IAAD,CAAOsF,KAAK,kBAAkBxM,UAAWkM,MAE3C,6BAAS,+BCfKQ,QACW,cAA7B5V,OAAOvF,SAASob,UAEe,UAA7B7V,OAAOvF,SAASob,UAEhB7V,OAAOvF,SAASob,SAASC,MACvB,2DAqHNC,wDAAYC,WAAW,UC5HvBC,IAASpN,OAAO,kBAAC,GAAD,MAASrO,SAAS0b,eAAe,SDsH3C,kBAAmBC,WACrBA,UAAUC,cAAcC,MAAM9S,MAAK,SAAA+S,GACjCA,EAAaC,kB","file":"static/js/main.79d78ab3.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","import React, { useState } from 'react';\nimport maybank from '../img/maybank.png';\nimport { Dialog, DialogActionsBar } from '@progress/kendo-react-dialogs';\nimport configData from \"../config/config.json\";\n\nexport const Header = (props) => {\n\n const [showCloseAction, setshowCloseAction] = useState(false)\n\n const toCloseDialog = () => {\n\n setshowCloseAction(!showCloseAction);\n }\n const toNavigateHome = () => {\n\n document.location.href = configData.URL_NAVIGATE_COB;\n }\n const handleSubmit = () => {\n setshowCloseAction(!showCloseAction);\n }\n\n\n return (\n
\n {showCloseAction && \n\n

{configData.LBL_AREYOUSURE_EXIST}

\n \n \n \n \n
}\n\n
\n
\n
\n \n\n maybank\n\n \n
\n\n
\n
\n \n
\n
\n
\n\n\n\n\n )\n}","import CryptoJS from 'crypto-js';\r\nimport config from '../config/config.json';\r\nimport mbCards from '../data/mayBankCardBIN.json';\r\n\r\n\r\nconst encrypt = (text) => {\r\n // return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text));\r\n return CryptoJS.AES.encrypt(text, config.SECRET_KEY).toString();\r\n};\r\n\r\nconst decrypt = (ciphertext) => {\r\n // return CryptoJS.enc.Base64.parse(data).toString(CryptoJS.enc.Utf8);\r\n let originalText = '';\r\n let bytes = CryptoJS.AES.decrypt(ciphertext, config.SECRET_KEY);\r\n\r\n originalText = bytes.toString(CryptoJS.enc.Utf8);\r\n return originalText;\r\n};\r\n\r\nconst isMayBankCardBINList = (value) => {\r\n let isMBCard = false;\r\n for (let i in mbCards) {\r\n if (value === mbCards[i]) {\r\n isMBCard = true;\r\n return isMBCard\r\n }\r\n }\r\n\r\n return isMBCard\r\n}\r\n\r\nconst toHomeScreen = () => {\r\n let url = '';\r\n let params = localStorage.getItem('p');\r\n let queryStr = '';\r\n\r\n if (params) {\r\n if (params === config.SRC_CODE_HNW) {\r\n queryStr = '?p=U2FsdGVkX18njfeygnz2PJtTtbOsoJt29npOcJgM0kM'\r\n } else if (params === config.SRC_CODE_CCFT03) {\r\n queryStr = '?p=U2FsdGVkX191x3XcxVyb8riWQnTBPFuRJiTnzJ8lPrw'\r\n } else if (params === config.SRC_CODE_CCFT04) {\r\n queryStr = '?p=U2FsdGVkX19spgrgxtU55243WOzLbGULj44RaIl8bt0'\r\n } else if (params === config.SRC_CODE_CCFT05) {\r\n queryStr = '?p=U2FsdGVkX19SmWK3JZEXKKbjFwVaxznXadU9IVKiIu4'\r\n } else if (params === config.SRC_CODE_CCFT06) {\r\n queryStr = '?p=U2FsdGVkX19sSvYm2kWiDBUET64zAsU95ppkcHpDKFc'\r\n } else if (params === config.SRC_CODE_CCFT) {\r\n queryStr = '?p=U2FsdGVkX186eY9LS3f6elp6OcUvVL2o1UliENaneSo'\r\n } else if (params === config.SRC_CODE_OUTSIDERS) {\r\n queryStr = '?p=U2FsdGVkX18R2Kokj3yUy3XUW1PSktWTmpwJt0CZPpg'\r\n }\r\n }\r\n // U2FsdGVkX1+YNrcpzk8kfOFOJO03pS09+hAeuAWbOIU=\r\n // 810204 U2FsdGVkX19spgrgxtU55243WOzLbGULj44RaIl8bt0=\r\n // 810205 U2FsdGVkX19SmWK3JZEXKKbjFwVaxznXadU9IVKiIu4=\r\n // 810206 U2FsdGVkX19sSvYm2kWiDBUET64zAsU95ppkcHpDKFc==\r\n\r\n\r\n if (config.SERVER_STATUS === 'SIT') {\r\n url = config.URL_ToHomeScreen_SIT;\r\n document.location.href = url + queryStr;\r\n }\r\n else if (config.SERVER_STATUS === 'UAT') {\r\n url = config.URL_ToHomeScreen;\r\n document.location.href = url + queryStr;\r\n }\r\n else if (config.SERVER_STATUS === 'PROD') {\r\n url = config.URL_ToHomeScreen_PROD;\r\n document.location.href = url + queryStr;\r\n }\r\n}\r\n\r\nconst displayAmtNote = () => {\r\n let params = localStorage.getItem('p');\r\n let str = '';\r\n if (params) { // Apr 2024\r\n if (params === config.SRC_CODE_HNW || params === config.SRC_CODE_OUTSIDERS) {\r\n str = 'S$2,000';\r\n } else if (params === config.SRC_CODE_CCFT || params === config.SRC_CODE_CCFT03 || params === config.SRC_CODE_CCFT04 || params === config.SRC_CODE_CCFT05 || params === config.SRC_CODE_CCFT06) {\r\n str = 'S$1,000';\r\n }\r\n }\r\n\r\n return str;\r\n}\r\n\r\nconst getAmtValidValue = () => {\r\n let params = localStorage.getItem('p');\r\n let amt = 2000;\r\n if (params) {\r\n if (params === config.SRC_CODE_HNW || params === config.SRC_CODE_OUTSIDERS) {\r\n amt = 2000;\r\n } else if (params === config.SRC_CODE_CCFT || params === config.SRC_CODE_CCFT03 || params === config.SRC_CODE_CCFT04 || params === config.SRC_CODE_CCFT05 || params === config.SRC_CODE_CCFT06) {\r\n amt = 1000\r\n }\r\n }\r\n return amt;\r\n}\r\n\r\n\r\nexport default {\r\n encrypt,\r\n decrypt,\r\n isMayBankCardBINList,\r\n toHomeScreen,\r\n displayAmtNote,\r\n getAmtValidValue\r\n}","import * as React from 'react';\r\nimport { Loader } from \"@progress/kendo-react-indicators\";\r\n\r\nconst Loading = () => {\r\n \r\n return( \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Loading;\r\n ","import React from 'react';\n\nconst FormContainer = (props) => {\n return (\n
\n
\n
\n
\n
\n {props.children}\n
\n
\n
\n
\n\n
\n );\n}\nexport default FormContainer;","import * as React from 'react';\nimport { FieldWrapper } from '@progress/kendo-react-form';\nimport {\n Input, MaskedTextBox, NumericTextBox,\n Checkbox, Switch, RadioGroup,\n Slider, SliderLabel, RangeSlider, TextArea\n} from '@progress/kendo-react-inputs';\nimport { DatePicker, DateTimePicker } from '@progress/kendo-react-dateinputs';\nimport { Label, Error, Hint } from '@progress/kendo-react-labels';\nimport { DropDownList, AutoComplete, ComboBox } from '@progress/kendo-react-dropdowns';\n\nexport const FormInput = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, type, optional, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n
\n
\n
{label}
\n
\n
\n \n
\n\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n
\n
\n\n
\n
\n
\n );\n};\n\nexport const FormInputwithHintchanges = (fieldRenderProps) => {\n debugger\n const { validationMessage, touched, label, id, valid, disabled, hint, type, optional, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n
\n
\n
{label}
\n
\n
\n \n
\n\n \n\n {\n fieldRenderProps.value.length == 0 &&\n < Hint id={hintId} style={{ float: 'right', color: 'red' }} >{fieldRenderProps.value.length + '/19'}\n }\n {\n fieldRenderProps.value.length > 0 &&\n < Hint id={hintId} style={{ float: 'right' }} >{fieldRenderProps.value.length + '/19'}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n
\n
\n\n
\n
\n
\n );\n};\nexport const FormReviewLabel = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, type, optional, ...others } = fieldRenderProps;\n return (\n
\n
\n
{id}
\n
\n {label}\n
\n
\n );\n};\n\nexport const FormRadioGroup = (fieldRenderProps) => {\n const { validationMessage, touched, id, label, valid, disabled, hint, visited, modified, ...others } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormNumericTextBox = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n
\n
\n
{label}
\n
\n
\n \n
\n\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n
\n
\n\n
\n
\n
\n\n\n\n\n\n );\n};\n\nexport const FormCheckbox = (fieldRenderProps) => {\n const { validationMessage, touched, id, valid, disabled, hint, optional, label, visited, modified, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormSwitch = (fieldRenderProps) => {\n const { validationMessage, touched, label, optional, id, valid, disabled, hint, ...others } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n {label}\n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormMaskedTextBox = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, hint, optional, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n \n\n
\n
\n
{label}
\n
\n
\n \n
\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n
\n
\n\n
\n
\n
\n
\n );\n};\n\nexport const FormTextArea = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, hint, disabled, optional, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n \n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormSlider = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, data, ...others } = fieldRenderProps;\n\n const editorRef = React.useRef(null);\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n {label}\n \n \n {\n data.map(value => (\n \n {value.toString()}\n \n ))\n }\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormRangeSlider = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, hint, disabled, data, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n\n return (\n \n \n {\n data.map(value => {\n return (\n \n {value.toString()}\n \n )\n })\n }\n \n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormDropDownList = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, wrapperStyle, ...others } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n {label}\n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\nexport const FormAutoComplete = fieldRenderProps => {\n const {\n validationMessage,\n touched,\n label,\n id,\n valid,\n disabled,\n hint,\n wrapperStyle,\n ...others\n } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : \"\";\n const errorId = showValidationMessage ? `${id}_error` : \"\";\n const labelId = label ? `${id}_label` : \"\";\n\n return (\n \n \n {label}\n \n \n {showHint && {hint}}\n {showValidationMessage && {validationMessage}}\n \n );\n};\n\nexport const FormComboBox = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, wrapperStyle, ...others } = fieldRenderProps;\n const editorRef = React.useRef(null);\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n\n\n
\n
\n
{label}
\n
\n
\n \n\n\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n\n
\n
\n
\n\n\n\n\n );\n};\n\nexport const FormDatePicker = (fieldRenderProps) => {\n const {\n validationMessage, touched, label, id, valid,\n disabled, hint, wrapperStyle, hintDirection, ...others\n } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n
\n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n
\n
\n );\n};\n\nexport const FormDateTimePicker = (fieldRenderProps) => {\n const { validationMessage, touched, label, id, valid, disabled, hint, wrapperStyle, ...others } = fieldRenderProps;\n\n const showValidationMessage = touched && validationMessage;\n const showHint = !showValidationMessage && hint;\n const hintId = showHint ? `${id}_hint` : '';\n const errorId = showValidationMessage ? `${id}_error` : '';\n const labelId = label ? `${id}_label` : '';\n\n return (\n \n \n \n {\n showHint &&\n {hint}\n }\n {\n showValidationMessage &&\n {validationMessage}\n }\n \n );\n};\n\n","//import * as React from 'react';\n\n\nexport const countries = [\n \"SINGAPORE\",\n \"MALAYSIA\",\n \"AFGHANISTAN\",\n \"ALAND ISLANDS\",\n \"ALBANIA\",\n \"ALGERIA\",\n \"AMERICAN SAMOA\",\n \"ANDORRA\",\n \"ANGOLA\",\n \"ANGUILLA\",\n \"ANTARCTICA\",\n \"ANTIGUA AND BARBUDA\",\n \"ARGENTINA\",\n \"ARMENIA\",\n \"ARUBA\",\n \"AUSTRALIA\",\n \"AUSTRIA\",\n \"AZERBAIJAN\",\n \"BAHAMAS\",\n \"BAHRAIN\",\n \"BANGLADESH\",\n \"BARBADOS\",\n \"BELARUS\",\n \"BELGIUM\",\n \"BELIZE\",\n \"BENIN\",\n \"BERMUDA\",\n \"BHUTAN\",\n \"BOLIVIA\",\n \"BOSNIA-HERZEGOVINA\",\n \"BOTSWANA\",\n \"BOUVET ISLAND\",\n \"BRAZIL\",\n \"BRITISH INDIAN OCEAN TERRITORY\",\n \"BRUNEI DARUSSALAM\",\n \"BULGARIA\",\n \"BURKINA FASO\",\n \"BURUNDI\",\n \"CAMBODIA\",\n \"CAMERON\",\n \"CANADA\",\n \"CAPE VERDE\",\n \"CARRIBBEAN NETHERLANDS\",\n \"CAYMAN IS\",\n \"CENTRAL AFRICAN REP\",\n \"CHAD\",\n \"CHILE\",\n \"CHINA\",\n \"CHRISTMAS IS\",\n \"COCOS (KEELING) ISLANDS\",\n \"COLOMBIA\",\n \"COMOROS\",\n \"CONGO\",\n \"COOK IS\",\n \"COSTA RICA\",\n \"COTE D'IVOIRE (IVORY COAST)\",\n \"CROATIA\",\n \"CUBA\",\n \"CURACAO\",\n \"CYPRUS\",\n \"CZECH REPUBLIC\",\n \"DENMARK\",\n \"DJIBOUTI\",\n \"DOMINICA\",\n \"DOMINICAN REPUBLIC\",\n \"EAST TIMOR\",\n \"ECUADOR\",\n \"EGYPT\",\n \"EL SALVADOR\",\n \"EQUATORIAL GUINEA\",\n \"ERITREA\",\n \"ESTONIA\",\n \"ETHIOPIA\",\n \"FALKLAND ISLANDS (MALVINAS)\",\n \"FAROE ISLANDS\",\n \"FIJI\",\n \"FINLAND\",\n \"FRANCE\",\n \"FRENCH GUIANA\",\n \"FRENCH POLYNESIA\",\n \"FRENCH SOUTHERN TERRITORIES\",\n \"GABON\",\n \"GAMBIA\",\n \"GEORGIA\",\n \"GERMANY\",\n \"GHANA\",\n \"GIBRALTAR\",\n \"GREECE\",\n \"GREENLAND\",\n \"GRENADA\",\n \"GUADELOUPE\",\n \"GUAM\",\n \"GUATEMALA\",\n \"GUERNSEY\",\n \"GUINEA\",\n \"GUINEA-BISSAU\",\n \"GUYANA\",\n \"HAITI\",\n \"HEARD AND MCDONALD ISLASNDS\",\n \"HOLY SEE (VATICAN CITY STATE)\",\n \"HONDURAS\",\n \"HONGKONG\",\n \"HUNGARY\",\n \"ICELAND\",\n \"INDIA\",\n \"INDONESIA\",\n \"IRAN, ISLAMIC REPUBLIC OF\",\n \"IRAQ\",\n \"IRELAND\",\n \"ISLE OF MAN\",\n \"ISRAEL\",\n \"ITALY\",\n \"JAMAICA\",\n \"JAPAN\",\n \"JERSEY\",\n \"JERSEY\",\n \"JORDAN\",\n \"KAZAKHSTAN\",\n \"KAZAKHSTAN\",\n \"KENYA\",\n \"KIRIBATI\",\n \"KOREA, DEMOCRATIC PEOPLE REPUBLIC OF (NORTH)\",\n \"KOREA, REPUBLIC OF\",\n \"KOSOVO\",\n \"KUWAIT\",\n \"KYRGYZSTAN\",\n \"LAO PEOPLE'S DEMOCRATIC REPUBLIC\",\n \"LATVIA\",\n \"LEBANON\",\n \"LESOTHO\",\n \"LIBERIA\",\n \"LIBYAN ARAB JAMAHIRIYA\",\n \"LIECHSTENSTEIN\",\n \"LITHUANIA\",\n \"LUXEMBOURG\",\n \"MACAO\",\n \"MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF\",\n \"MADAGASCAR\",\n \"MALAWI\",\n \"MALDIVES\",\n \"MALI\",\n \"MALTA\",\n \"MARSHALL IS\",\n \"MARTINIQUE\",\n \"MAURITANIA\",\n \"MAURITIUS\",\n \"MAYOTTE\",\n \"MEXICO\",\n \"MICRONESIA, FEDERATED STATES OF\",\n \"MOLDOVA, REPUBLIC OF\",\n \"MONACO\",\n \"MONGOLIA\",\n \"MONTENEGRO\",\n \"MONTSERRAT\",\n \"MOROCCO\",\n \"MOZAMBIQUE\",\n \"MYANMAR (BURMA)\",\n \"MYANMAR\",\n \"NAMIBIA\",\n \"NAURU\",\n \"NEPAL\",\n \"NETHERLANDS ANTILLES\",\n \"NETHERLANDS\",\n \"NEW CALEDONIA\",\n \"NEW ZEALAND\",\n \"NICARAGUA\",\n \"NIGER\",\n \"NIGERIA\",\n \"NIUE\",\n \"NORFOLK ISLAND\",\n \"NORTHERN MARIANA IS\",\n \"NORWAY\",\n \"OMAN\",\n \"ONGO, THE DEMOCRATIC REPUBLIC OF THE\",\n \"PAKISTAN\",\n \"PALAU\",\n \"PALESTINIAN TERRITORY, OCCUPIED\",\n \"PANAMA\",\n \"PAPUA NEW GUINEA\",\n \"PARAGUAY\",\n \"PERU\",\n \"PHILIPPINES\",\n \"PITCAIRN\",\n \"POLAND\",\n \"PORTUGAL\",\n \"PUERTO RICO\",\n \"QATAR\",\n \"REUNION\",\n \"ROMANIA\",\n \"RUSSIAN FEDERATION\",\n \"RWANDA\",\n \"SAINT BARTHÉLEMY\",\n \"SAINT KITTS-NEVIS\",\n \"SAINT LUCIA\",\n \"SAINT MARTIN\",\n \"SAINT PIERRE AND MIQUELON\",\n \"SAINT VINCENT AND THE GRENADINES\",\n \"SAMOA\",\n \"SAN MARINO\",\n \"SAO TOME AND PRINCIPE\",\n \"SAUDI ARABIA\",\n \"SENEGAL\",\n \"SERBIA\",\n \"SEYCHELLES\",\n \"SIERRA LEONE\",\n \"SLOVAKIA\",\n \"SLOVENIA\",\n \"SOLOMAN IS\",\n \"SOMALIA\",\n \"SOUTH AFRICA\",\n \"SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS\",\n \"SOUTH SUDAN\",\n \"SPAIN\",\n \"SRI LANKA\",\n \"ST HELENA\",\n \"STATELESS\",\n \"SUDAN\",\n \"SURINAME\",\n \"SVALBARD AND JAN MAYEN IS\",\n \"SWAZILAND\",\n \"SWEDEN\",\n \"SWITZERLAND\",\n \"SYRIAN ARAB REPUBLIC (SYRIA)\",\n \"TAIWAN, PROVINCE OF CHINA\",\n \"TAJIKISTAN\",\n \"TANZANIA, UNITED REPUBLIC OF\",\n \"THAILAND\",\n \"TIMOR-LESTE\",\n \"TOGO\",\n \"TONGA\",\n \"TRINIDAD AND TOBAGO\",\n \"TUNISIA\",\n \"TURKEY\",\n \"TURKMENISTAN\",\n \"TURKS AND CAICOS IS\",\n \"TUVALU\",\n \"UGANDA\",\n \"UKRAINE\",\n \"UNITED ARAB EMIRATES\",\n \"UNITED KINGDOM\",\n \"UNITED STATES MINOR OUTLYING ISLANDS\",\n \"UNITED STATES OF AMERICA\",\n \"URUGUAY\",\n \"UZBEKISTAN\",\n \"VANUATU\",\n \"VENEZUELA\",\n \"VIET NAM\",\n \"VIRGIN ISLANDS (US)\",\n \"VIRGIN ISLANDS, BRITISH\",\n \"WALLIS AND FUTUNA\",\n \"WESTERN SAHARA\",\n \"YEMEN PEOPLE'S DEMOCRATIC REPUBLIC\",\n \"YEMEN\",\n \"YUGOSLAVIA\",\n \"ZAIRE\",\n \"ZAMBIA\",\n \"ZIMBABWE\" \n];\nexport default countries","//import * as React from 'react';\n\n\nexport const idType = [\n\n \"SINGAPORE CITIZEN\",\n \"SINGAPORE PERMANENT RESIDENT\",\n \"FOREIGNER (PASSPORT)\"\n];\nexport default idType\n\n\n\n\n","const toFetchIDValue = (item, dataValue) => {\n\n\n let returnID = \"\";\n let itemObject = {};\n\n let IDTYPE = {\n \"SINGAPORE CITIZEN\": \"SP\",\n \"SINGAPORE PERMANENT RESIDENT\": \"SB\",\n \"FOREIGNER (PASSPORT)\": \"PP\"\n }\n let countries = {\n \"SINGAPORE\": \"SG\",\n \"MALAYSIA\": \"MY\",\n \"ANDORRA\": \"AD\",\n \"UNITED ARAB EMIRATES\": \"AE\",\n \"AFGHANISTAN\": \"AF\",\n \"ANTIGUA AND BARBUDA\": \"AG\",\n \"ANGUILLA\": \"AI\",\n \"ALBANIA\": \"AL\",\n \"ARMENIA\": \"AM\",\n \"NETHERLANDS ANTILLES\": \"AN\",\n \"ANGOLA\": \"AO\",\n \"ARGENTINA\": \"AR\",\n \"AMERICAN SAMOA\": \"AS\",\n \"AUSTRIA\": \"AT\",\n \"AUSTRALIA\": \"AU\",\n \"ARUBA\": \"AW\",\n \"AZERBAIJAN\": \"AZ\",\n \"BOSNIA-HERZEGOVINA\": \"BA\",\n \"BARBADOS\": \"BB\",\n \"BANGLADESH\": \"BD\",\n \"BELGIUM\": \"BE\",\n \"BURKINA FASO\": \"BF\",\n \"BULGARIA\": \"BG\",\n \"BAHRAIN\": \"BH\",\n \"BURUNDI\": \"BI\",\n \"BENIN\": \"BJ\",\n \"BERMUDA\": \"BM\",\n \"BRUNEI DARUSSALAM\": \"BN\",\n \"BOLIVIA\": \"BO\",\n \"BRAZIL\": \"BR\",\n \"BAHAMAS\": \"BS\",\n \"BHUTAN\": \"BT\",\n \"MYANMAR\": \"BU\",\n \"BOUVET ISLAND\": \"BV\",\n \"BOTSWANA\": \"BW\",\n \"BELARUS\": \"BY\",\n \"BELIZE\": \"BZ\",\n \"CANADA\": \"CA\",\n \"COCOS (KEELING) ISLANDS\": \"CC\",\n \"CENTRAL AFRICAN REP\": \"CF\",\n \"CONGO\": \"CG\",\n \"SWITZERLAND\": \"CH\",\n \"COTE D'IVOIRE (IVORY COAST)\": \"CI\",\n \"COOK IS\": \"CK\",\n \"CHILE\": \"CL\",\n \"CAMERON\": \"CM\",\n \"CHINA\": \"CN\",\n \"COLOMBIA\": \"CO\",\n \"COSTA RICA\": \"CR\",\n \"CUBA\": \"CU\",\n \"CAPE VERDE\": \"CV\",\n \"CHRISTMAS IS\": \"CX\",\n \"CYPRUS\": \"CY\",\n \"CZECH REPUBLIC\": \"CZ\",\n \"GERMANY\": \"DE\",\n \"DJIBOUTI\": \"DJ\",\n \"DENMARK\": \"DK\",\n \"DOMINICA\": \"DM\",\n \"DOMINICAN REPUBLIC\": \"DO\",\n \"ALGERIA\": \"DZ\",\n \"ECUADOR\": \"EC\",\n \"ESTONIA\": \"EE\",\n \"EGYPT\": \"EG\",\n \"WESTERN SAHARA\": \"EH\",\n \"SPAIN\": \"ES\",\n \"ETHIOPIA\": \"ET\",\n \"FINLAND\": \"FI\",\n \"FIJI\": \"FJ\",\n \"FALKLAND ISLANDS (MALVINAS)\": \"FK\",\n \"MICRONESIA, FEDERATED STATES OF\": \"FM\",\n \"FAROE ISLANDS\": \"FO\",\n \"FRANCE\": \"FR\",\n \"GABON\": \"GA\",\n \"UNITED KINGDOM\": \"GB\",\n \"GRENADA\": \"GD\",\n \"FRENCH GUIANA\": \"GF\",\n \"GUERNSEY\": \"GG\",\n \"GHANA\": \"GH\",\n \"GIBRALTAR\": \"GI\",\n \"GREENLAND\": \"GL\",\n \"GAMBIA\": \"GM\",\n \"GUINEA\": \"GN\",\n \"GUADELOUPE\": \"GP\",\n \"EQUATORIAL GUINEA\": \"GQ\",\n \"GREECE\": \"GR\",\n \"GUATEMALA\": \"GT\",\n \"GUAM\": \"GU\",\n \"GUINEA-BISSAU\": \"GW\",\n \"GUYANA\": \"GY\",\n \"HONGKONG\": \"HK\",\n \"HEARD AND MCDONALD ISLASNDS\": \"HM\",\n \"HONDURAS\": \"HN\",\n \"CROATIA\": \"HR\",\n \"HAITI\": \"HT\",\n \"HUNGARY\": \"HU\",\n \"INDONESIA\": \"ID\",\n \"IRELAND\": \"IE\",\n \"ISRAEL\": \"IL\",\n \"ISLE OF MAN\": \"IM\",\n \"INDIA\": \"IN\",\n \"BRITISH INDIAN OCEAN TERRITORY\": \"IO\",\n \"IRAQ\": \"IQ\",\n \"IRAN, ISLAMIC REPUBLIC OF\": \"IR\",\n \"ICELAND\": \"IS\",\n \"ITALY\": \"IT \",\n \"JERSEY\": \"JE \",\n \"JAMAICA\": \"JM \",\n \"JORDAN\": \"JO \",\n \"JAPAN\": \"JP \",\n \"JERSEY\": \"JS \",\n \"KENYA\": \"KE \",\n \"KYRGYZSTAN\": \"KG \",\n \"CAMBODIA\": \"KH \",\n \"KIRIBATI\": \"KI \",\n \"KAZAKHSTAN\": \"KK \",\n \"COMOROS\": \"KM \",\n \"SAINT KITTS-NEVIS\": \"KN \",\n \"KOREA, DEMOCRATIC PEOPLE REPUBLIC OF (NORTH)\": \"KP \",\n \"KOREA, REPUBLIC OF\": \"KR \",\n \"KUWAIT\": \"KW \",\n \"CAYMAN IS\": \"KY \",\n \"LAO PEOPLE'S DEMOCRATIC REPUBLIC\": \"LA \",\n \"LEBANON\": \"LB \",\n \"SAINT LUCIA\": \"LC \",\n \"LIECHSTENSTEIN\": \"LI \",\n \"SRI LANKA\": \"LK \",\n \"LIBERIA\": \"LR \",\n \"LESOTHO\": \"LS \",\n \"LITHUANIA\": \"LT \",\n \"LUXEMBOURG\": \"LU \",\n \"LATVIA\": \"LV \",\n \"LIBYAN ARAB JAMAHIRIYA\": \"LY \",\n \"MOROCCO\": \"MA \",\n \"MONACO\": \"MC \",\n \"MOLDOVA, REPUBLIC OF\": \"MD \",\n \"MADAGASCAR\": \"MG \",\n \"MARSHALL IS\": \"MH \",\n \"MALI\": \"ML \",\n \"MONGOLIA\": \"MN\",\n \"MACAO\": \"MO\",\n \"NORTHERN MARIANA IS\": \"MP\",\n \"MARTINIQUE\": \"MQ\",\n \"MAURITANIA\": \"MR\",\n \"MONTSERRAT\": \"MS\",\n \"MALTA\": \"MT\",\n \"MAURITIUS\": \"MU\",\n \"MALDIVES\": \"MV\",\n \"MALAWI\": \"MW\",\n \"MEXICO\": \"MX\",\n\n \"MOZAMBIQUE\": \"MZ\",\n \"NAMIBIA\": \"NA\",\n \"NEW CALEDONIA\": \"NC\",\n \"NIGER\": \"NE\",\n \"NORFOLK ISLAND\": \"NF\",\n \"NIGERIA\": \"NG\",\n \"NICARAGUA\": \"NI\",\n \"NETHERLANDS\": \"NL\",\n \"NORWAY\": \"NO\",\n \"NEPAL\": \"NP\",\n \"NAURU\": \"NR\",\n \"NIUE\": \"NU\",\n \"NEW ZEALAND\": \"NZ\",\n \"OMAN\": \"OM\",\n \"PANAMA\": \"PA\",\n \"PERU\": \"PE\",\n \"FRENCH POLYNESIA\": \"PF\",\n \"PAPUA NEW GUINEA\": \"PG\",\n \"PHILIPPINES\": \"PH\",\n \"PAKISTAN\": \"PK\",\n \"POLAND\": \"PL\",\n \"SAINT PIERRE AND MIQUELON\": \"PM\",\n \"PITCAIRN\": \"PN\",\n \"PUERTO RICO\": \"PR\",\n \"PALESTINIAN TERRITORY, OCCUPIED\": \"PS\",\n \"PORTUGAL\": \"PT\",\n \"PALAU\": \"PW\",\n \"PARAGUAY\": \"PY\",\n \"QATAR\": \"QA\",\n \"REUNION\": \"RE\",\n \"ROMANIA\": \"RO\",\n \"RUSSIAN FEDERATION\": \"RU\",\n \"RWANDA\": \"RW\",\n \"SAUDI ARABIA\": \"SA\",\n \"SOLOMAN IS\": \"SB\",\n \"SEYCHELLES\": \"SC\",\n \"SUDAN\": \"SD\",\n \"SWEDEN\": \"SE\",\n\n \"ST HELENA\": \"SH\",\n \"SLOVENIA\": \"SI\",\n \"SVALBARD AND JAN MAYEN IS\": \"SJ\",\n \"SLOVAKIA\": \"SK\",\n \"SIERRA LEONE\": \"SL\",\n \"SAN MARINO\": \"SM\",\n \"SENEGAL\": \"SN\",\n \"SOMALIA\": \"SO\",\n \"SURINAME\": \"SR\",\n \"SOUTH SUDAN\": \"SS\",\n \"SAO TOME AND PRINCIPE\": \"ST\",\n \"EL SALVADOR\": \"SV\",\n \"SYRIAN ARAB REPUBLIC (SYRIA)\": \"SY\",\n \"SWAZILAND\": \"SZ\",\n \"TURKS AND CAICOS IS\": \"TC\",\n \"CHAD\": \"TD\",\n \"FRENCH SOUTHERN TERRITORIES\": \"TF\",\n \"TOGO\": \"TG\",\n \"THAILAND\": \"TH\",\n \"TAJIKISTAN\": \"TJ\",\n \"TURKMENISTAN\": \"TM\",\n \"TUNISIA\": \"TN\",\n \"TONGA\": \"TO\",\n \"EAST TIMOR\": \"TP\",\n \"TURKEY\": \"TR\",\n \"TRINIDAD AND TOBAGO\": \"TT\",\n \"TUVALU\": \"TV\",\n \"TAIWAN, PROVINCE OF CHINA\": \"TW\",\n \"TANZANIA, UNITED REPUBLIC OF\": \"TZ\",\n \"UKRAINE\": \"UA\",\n \"UGANDA\": \"UG\",\n \"UNITED STATES MINOR OUTLYING ISLANDS\": \"UM\",\n \"UNITED STATES OF AMERICA\": \"US\",\n \"URUGUAY\": \"UY\",\n \"UZBEKISTAN\": \"UZ\",\n \"HOLY SEE (VATICAN CITY STATE)\": \"VA\",\n \"SAINT VINCENT AND THE GRENADINES\": \"VC\",\n \"VENEZUELA\": \"VE\",\n \"VIRGIN ISLANDS, BRITISH\": \"VG\",\n \"VIRGIN ISLANDS (US)\": \"VI\",\n \"VIET NAM\": \"VN\",\n \"VANUATU\": \"VU\",\n \"WALLIS AND FUTUNA\": \"WF\",\n \"SAMOA\": \"WS\",\n \"YEMEN PEOPLE'S DEMOCRATIC REPUBLIC\": \"YD\",\n \"YEMEN\": \"YE\",\n \"MAYOTTE\": \"YT\",\n \"YUGOSLAVIA\": \"YU\",\n \"SOUTH AFRICA\": \"ZA\",\n \"ZAMBIA\": \"ZM\",\n \"ZAIRE\": \"ZR\",\n \"ZIMBABWE\": \"ZW\",\n \"ALAND ISLANDS\": \"AX\",\n \"ANTARCTICA\": \"AQ\",\n \"ONGO, THE DEMOCRATIC REPUBLIC OF THE\": \"CD\",\n \"ERITREA\": \"ER\",\n \"MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF\": \"MK\",\n \"MONTENEGRO\": \"ME\",\n \"SAINT BARTHÉLEMY\": \"BL\",\n \"SAINT MARTIN\": \"MF\",\n \"SERBIA\": \"RS\",\n \"SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS\": \"GS\",\n \"TIMOR-LESTE\": \"TL\",\n \"GEORGIA\": \"GE\",\n \"KAZAKHSTAN\": \"KZ\",\n \"MYANMAR (BURMA)\": \"MM\",\n \"STATELESS\": \"ZZ\",\n \"CURACAO\": \"CW\",\n \"KOSOVO\": \"XK\",\n \"CARRIBBEAN NETHERLANDS\": \"BQ\"\n\n\n\n }\n\n let BANKDATALIST = {\n \"DBS\": \"7171\",\n \"OCBC\": \"7339\",\n \"UOB\": \"7375\",\n \"CITIBANK NA\": \"7214\",\n \"Citibank Singapore Limited\": \"9201\",\n // \"HSBC\": \"7232\", // for CR - Pre login FT changes Apr 2023.docx\n \"HSBC Bank (Singapore) Limited\": \"9548\",\n // \"Standard Chartered Bank\": \"7144\", // for CR - Pre login FT changes Apr 2023.docx\n \"Standard Chartered Bank Singapore Limited\": \"9496\",\n \"AMEX\": \"7454\",\n \"ABSA Bank Ltd\": \"8828\",\n \"ANZ Banking Group\": \"7931\",\n \"Arab Bank PLC\": \"8253\",\n \"Arab Banking Corporation BSC\": \"8217\",\n \"Banca Monte dei Paschi di Siena S.p.A.\": \"8411\",\n \"Bangkok Bank Public Company Ltd\": \"7047\",\n \"BANK OF AMERICA NA\": \"7065\",\n \"BANK OF CHINA LTD\": \"7083\",\n \"Bank of Communications\": \"8916\",\n \"Bank of East Asia Ltd\": \"7092\",\n \"Bank of India\": \"7108\",\n \"Bank of New Zealand\": \"8129\",\n \"Bank of Nova Scotia\": \"7658\",\n \"BANK OF TAIWAN\": \"8846\",\n \"BARCLAYS BANK PLC\": \"7533\",\n \"Bayerische Hypo-Und Vereinsbank\": \"8855\",\n \"BNP Paribas\": \"7418\",\n \"BNP PARIBAS SECURITIES SERVICES\": \"9344\",\n \"Chang Hwa Commercial Bank Ltd\": \"9025\",\n \"China CITIC Bank International Ltd\": \"9423\",\n \"China Construction Bank\": \"9043\",\n \"CIMB Bank Berhad\": \"7986\",\n \"CLS BANK INTERNATIONAL\": \"9991\",\n \"Commerzbank Aktiengesellschaft\": \"8606\",\n \"Credit Agricole Corporate & Investment Bank-SG BR\": \"7135\",\n \"CREDIT INDUSTRIEL ET COMMERCIAL\": \"8299\",\n \"CREDIT SUISSE AG\": \"7481\",\n \"CTBC Bank Co., Ltd\": \"9353\",\n \"Deutsche Bank AG\": \"7463\",\n \"Dexia Banque International a Luxembourg\": \"8581\",\n \"Diners Club\": \"1111\",\n \"DNB Bank ASA\": \"7737\",\n \"Dresdner Bank AG\": \"7393\",\n \"Far Eastern Bank Ltd\": \"7199\",\n \"First Commercial Bank, Ltd\": \"7764\",\n \"Fleet National Bank - Head Office\": \"7843\",\n \"Habib Bank Ltd\": \"7409\",\n \"HL Bank\": \"7287\",\n \"Hong Leong Finance Ltd\": \"5027\",\n \"Hua Nan Commercial Bank, Ltd\": \"8864\",\n \"ICB\": \"7269\",\n \"ICICI Bank Limited\": \"9186\",\n \"Indian Bank\": \"7241\",\n \"INDIAN OVERSEAS BANK\": \"7250\",\n \"Industrial & Commercial Bank of China\": \"8712\",\n \"ING BANK NV\": \"8509\",\n \"Intesa Sanpaolo S.p.A.\": \"8350\",\n \"JPMorgan Chase Bank N.A.\": \"7153\",\n \"KBC Bank N.V.\": \"8703\",\n \"KEB HANA BANK\": \"7490\",\n \"Krung Thai Bank PCL\": \"8785\",\n \"LANDESBANK BADEN-WURTTEMBERG\": \"8873\",\n \"MACQUARIE BANK LIMITED\": \"9432\",\n \"Mega Intl Commercial Bank Co., Ltd\": \"8235\",\n \"Mizuho Bank, Ltd\": \"7621\",\n \"MUFG BANK LTD, SINGAPORE BRANCH\": \"7126\",\n \"Natexis Banques Popularies\": \"8156\",\n \"National Australia Bank Limited\": \"8077\",\n \"NATWEST MARKETS PLC\": \"7010\",\n \"Nordea Bank Finland Plc\": \"8518\",\n \"OUB\": \"7348\",\n \"P.T. Bank Mandiri (Persero)\": \"8749\",\n \"Philippine National Bank - Cecil Street\": \"7870\",\n \"PT BANK NEGARA INDONESIA (PERSERO)\": \"7056\",\n \"Rabobank\": \"8439\",\n \"Raiffeisen Zentralbank Osterreich AG\": \"9034\",\n \"RHB Bank Berhad\": \"7366\",\n \"ROYAL BANK OF CANADA\": \"7667\",\n \"SHINHAN BANK\": \"8615\",\n \"Singapore Island Bank Ltd\": \"7117\",\n \"Skandinaviska Enskilda Banken AB\": \"8527\",\n \"Societe Generale - Singapore Branch\": \"7852\",\n \"Southern Bank Berhad\": \"7038\",\n \"State Bank of India\": \"7791\",\n \"Sumitomo Mitsui Banking Corporation\": \"7472\",\n \"Svenska Handelsbanken AB (publ)\": \"8493\",\n \"The Agricultural Bank of China\": \"8837\",\n \"The Bank of Taiwan\": \"8846\",\n \"The Korea Development Bank\": \"8934\",\n \"The National Bank of Kuwait SAK\": \"8280\",\n \"The Norinchukin Bank\": \"8688\",\n \"The Siam Commercial Bank PCL\": \"8800\",\n \"TORONTO-DOMINION BANK\": \"8882\",\n \"TRUST BANK SINGAPORE LIMITED\": \"9733\",\n \"UBS AG\": \"7685\",\n \"UCO Bank\": \"7357\",\n \"UFJ Bank Ltd - Singapore Branch\": \"7807\",\n \"Union de Banques Arabes et Francaises\": \"8110\",\n \"VTB Capital Plc\": \"7427\",\n \"Westpac Banking Corporation\": \"7889\",\n \"Woori Bank\": \"7995\"\n }\n // FT Pre login – Pre login FT changes Apr 2023.docx\n let PRICINGPROMO = {\n \"0% p.a. for 6 months with 2.28% processing fee (EIR at 4.87% p.a.) and prevailing interest rate applies thereafter (min $1,000)\": \"U\",\n \"0% p.a. for for 12 months 4.38% processing fee (EIR at 5.06% p.a.), and prevailing interest rate applies thereafter (min S$1,000)\": \"Y\"\n }\n\n let PRICINGCAFTSCHME = {\n \"0% p.a. for 6 months with 2.28% processing fee (EIR at 4.87% p.a.) and prevailing interest rate applies thereafter (min $1,000)\": \"FT2086\",\n \"0% p.a. for for 12 months 4.38% processing fee (EIR at 5.06% p.a.), and prevailing interest rate applies thereafter (min S$1,000)\": \"FT2082\"\n }\n\n\n\n //APRIL 15th 2024\n\n let PRICINGPROMOHNW = {\n \"0% p.a. for 6 months with 1.48% processing fee (EIR at 3.17% p.a.), prevailing interest rate applies thereafter (min S$2,000)\": \"W\",\n \"0% p.a. for 12 months 3.88% processing fee (EIR at 4.49% p.a.), prevailing interest rate applies thereafter (min S$ 2,000) *Be awarded with an automatic Ingersoll timepiece worth $358 with minimum approved Funds Transfer amount of S$10,000\": \"T\",\n\n }\n\n let PRICINGSCHMEHNW = {\n \"0% p.a. for 6 months with 1.48% processing fee (EIR at 3.17% p.a.), prevailing interest rate applies thereafter (min S$2,000)\": \"FT148F\",\n \"0% p.a. for 12 months 3.88% processing fee (EIR at 4.49% p.a.), prevailing interest rate applies thereafter (min S$ 2,000) *Be awarded with an automatic Ingersoll timepiece worth $358 with minimum approved Funds Transfer amount of S$10,000\": \"FT388F\",\n\n }\n\n //SEPT 7th New\n\n // let PRICINGPROMOHNW = {\n // \"0% p.a. for 6 months with 2.68% processing fee (EIR at 5.72% p.a.), prevailing interest rate applies thereafter (min S$2,000)\": \"W\",\n // \"0% p.a. for 12 months 4.68% processing fee (EIR at 5.40% p.a.), prevailing interest rate applies thereafter (min S$2,000)\": \"T\"\n // }\n\n // let PRICINGSCHMEHNW = {\n // \"0% p.a. for 6 months with 2.68% processing fee (EIR at 5.72% p.a.), prevailing interest rate applies thereafter (min S$2,000)\": \"FT268F\",\n // \"0% p.a. for 12 months 4.68% processing fee (EIR at 5.40% p.a.), prevailing interest rate applies thereafter (min S$2,000)\": \"FT468F\"\n // }\n\n //end by Sept 22nd 2023\n // let PRICINGPROMOHNW = {\n // \"0% p.a. for 6 months with 0.99% processing fee (EIR at 2.13% p.a.) and prevailing interest rate applies thereafter (min $2,000)\": \"W\",\n // \"0% p.a. for for 12 months 1.28% processing fee (EIR at 1.50% p.a.), and prevailing interest rate applies thereafter (min S$2,000)\": \"T\"\n // }\n\n // let PRICINGSCHMEHNW = {\n // \"0% p.a. for 6 months with 0.99% processing fee (EIR at 2.13% p.a.) and prevailing interest rate applies thereafter (min $2,000)\": \"FT099F\",\n // \"0% p.a. for for 12 months 1.28% processing fee (EIR at 1.50% p.a.), and prevailing interest rate applies thereafter (min S$2,000)\": \"FT128C\"\n // }\n\n //APR 2024\n\n let PRICINGPROMOMBANKOUTSIDERS = {\n \"2.50% p.a. for 6 months with 0% processing fee, prevailing interest rate applies thereafter (min S$2,000)\": \"X\",\n\n }\n\n let PRICINGSCHMEMBANKOUTSIDERS = {\n \"2.50% p.a. for 6 months with 0% processing fee, prevailing interest rate applies thereafter (min S$2,000)\": \"FT250R\",\n\n }\n\n\n //Before APR 2024\n // let PRICINGPROMOMBANKOUTSIDERS = {\n // \"2.48% p.a. for 6 months, prevailing interest rate applies thereafter (min S$2,000)\": \"X\",\n // \"3.48% p.a. for 12 months, prevailing interest rate applies thereafter (min S$2,000)\": \"M\"\n // }\n\n // let PRICINGSCHMEMBANKOUTSIDERS = {\n // \"2.48% p.a. for 6 months, prevailing interest rate applies thereafter (min S$2,000)\": \"FT248R\",\n // \"3.48% p.a. for 12 months, prevailing interest rate applies thereafter (min S$2,000)\": \"FT348R\"\n // }\n\n\n\n\n //FT Pre login – 2022 Year End Arbutus FT campaign for the period 20 Oct 2022 ~ 17 Jan 2023\n // let PRICINGPROMO = {\n // \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (receive an elegant Arbutus Automatic Timepiece with minimum approved amount of S$10,000)\": \"U\",\n // \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (min S$2,000)\": \"U\",\n // \"4.99% p.a interest for 12 months, prevailing interest rate applies thereafter (min S$2,000)\": \"Y\"\n // }\n\n // let PRICINGCAFTSCHME = {\n // \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (receive an elegant Arbutus Automatic Timepiece with minimum approved amount of S$10,000)\": \"FT138F\",\n // \"0% p.a for 6 months with 1.38% processing fee (EIR at 2.96% p.a.) and prevailing interest rate applies thereafter (min S$2,000)\": \"FT138F\",\n // \"4.99% p.a interest for 12 months, prevailing interest rate applies thereafter (min S$2,000)\": \"FT499R\"\n // }\n //end promotion by oct 20\n // let PRICINGPROMO = {\n // \"0% for 6 months with 0.99% processing fee (EIR 2.13%) and prevailing interest rate applies thereafter (min S$2,000)\": \"W\",\n // \"0% for 12 months with 1.68% processing fee (EIR 1.96%) and prevailing interest rate applies thereafter (min S$2,000)\": \"T\"\n // }\n // let PRICINGCAFTSCHME = {\n // \"0% for 6 months with 0.99% processing fee (EIR 2.13%) and prevailing interest rate applies thereafter (min S$2,000)\": \"FT099F\",\n // \"0% for 12 months with 1.68% processing fee (EIR 1.96%) and prevailing interest rate applies thereafter (min S$2,000)\": \"FT168F\"\n // }\n //end promotion by oct 20\n\n\n // let PRICINGPROMO = {\n // \"0% for 3 months with 1.28% processing fee (EIR 5.26%) and prevailing interest rate applies thereafter (min S$1,000)\":\"R\",\n // \"0% for 6 months with 2.28% processing fee (EIR 4.87%) and prevailing interest rate applies thereafter (min S$1,000)\":\"S\",\n // \"4.99% p.a. for 12 months and prevailing interest rate applies thereafter (min S$1,000)\":\"V\"\n // }\n // let PRICINGCAFTSCHME = {\n // \"0% for 3 months with 1.28% processing fee (EIR 5.26%) and prevailing interest rate applies thereafter (min S$1,000)\":\"FT128F\",\n // \"0% for 6 months with 2.28% processing fee (EIR 4.87%) and prevailing interest rate applies thereafter (min S$1,000)\":\"FT228F\",\n // \"4.99% p.a. for 12 months and prevailing interest rate applies thereafter (min S$1,000)\":\"FT499R\"\n // }\n\n switch (item.toUpperCase()) {\n case \"IDTYPE\":\n itemObject = IDTYPE;\n break;\n case \"COUNTRIES\":\n itemObject = countries;\n break;\n case \"PRICINGPROMO\":\n itemObject = PRICINGPROMO;\n break;\n case \"PRICINGCAFTSCHME\":\n itemObject = PRICINGCAFTSCHME;\n break;\n case \"BANKDATALIST\":\n itemObject = BANKDATALIST;\n break;\n case \"PRICINGPROMOHNW\":\n itemObject = PRICINGPROMOHNW;\n break;\n case \"PRICINGSCHMEHNW\":\n itemObject = PRICINGSCHMEHNW;\n break;\n case \"PRICINGPROMOMBANKOUTSIDERS\":\n itemObject = PRICINGPROMOMBANKOUTSIDERS;\n break;\n case \"PRICINGSCHMEMBANKOUTSIDERS\":\n itemObject = PRICINGSCHMEMBANKOUTSIDERS;\n break;\n\n default:\n break;\n }\n\n Object.keys(itemObject).map(function (key) {\n if (dataValue === key) {\n returnID = itemObject[key];\n }\n });\n\n return returnID;\n}\n\nexport default toFetchIDValue","import helper from '../data/Helper';\n\nconst emailRegex = new RegExp(/\\S+@\\S+\\.\\S+/);\nconst phoneRegex = new RegExp(/^[0-9 ()+-]+$/);\nconst ccardRegex = new RegExp(/^[0-9-]+$/);\nconst cvcRegex = new RegExp(/^[0-9]+$/);\nconst notAllowSpcl = new RegExp(/^[A-Za-z0-9]+$/);\nconst notAllowSpclname = new RegExp(/^[a-zA-Z ]*$/);//april 2024// \nconst allowOnlyChars = new RegExp(/^[a-zA-Z ]+$/);\n\n\nexport const termsValidator = (value) => value ? \"\" : \"Please accept terms & conditions of the application to proceed\";\n\n//Personal info\nexport const nameValidator = (value) => {\n if (!value) {\n return \"Please Enter Full Name as in your NRIC/Passport\"\n } else if (!notAllowSpclname.test(value)) {\n return \"Please Enter Full Name as in your NRIC/Passport\"\n } else if (value.length > 80) {\n return \"Please Enter Full Name as in your NRIC/Passport\"\n }\n}\nexport const nricValidator = (value) => {\n if (!value) {\n return \"Please Enter your NRIC/Passport Number\"\n }\n else if (value.length > 20) {\n return \"Please Enter your NRIC/Passport Number\"\n } else if (!notAllowSpcl.test(value)) {\n return \"Please Enter your NRIC/Passport Number\"\n }\n}\n\nexport const countryValidator = (value) => value ? \"\" : \"Please Select a Valid Country from the list\";\nexport const IDTypeValidator = (value) => value ? \"\" : \"Please Select a Valid ID Type from the list\";\n\nexport const emailValidator = (value) => {\n if (!value) {\n return \"Please Enter a Valid Email Address\"\n } else if (!emailRegex.test(value)) {\n return \"Please Enter a Valid Email Address\"\n } else if (value.length > 50) {\n return \"Please Enter a Valid Email Address\"\n }\n // }\n}\n\n\n//Fund transfer\nexport const TransferFromValidator = (value) => value ? \"\" : \"Please select a card / account for the transfer.\";\n\nexport const crditAbleValidator = (value) => {\n\n if (!value) {\n return \"Please enter a valid CreditAble account number\"\n }\n if (value) {\n if (!ccardRegex.test(value)) {\n return \"Please enter a valid CreditAble account number\"\n }\n else if (value.substring(0, 5).trim() !== \"04137\" && value.substring(0, 5).trim() !== '04138') {\n return \"Please enter a valid CreditAble account number\"\n }\n else if (value.length !== 11) {\n return \"Please enter a valid CreditAble account number\"\n }\n\n }\n}\n\nexport const priceValidator = (value) => value ? \"\" : \"Please select your preferred loan plan\";\nexport const TransferToValidator = (value) => value ? \"\" : \"Please nominate a bank to receive the Fund Transfer.\";\nexport const acntNameValidatorold = (value) => {\n if (!value) {\n return \"Please enter name of the account holder of nominated bank.\";\n }\n else if (value.length > 80) {\n return \"Please enter name of the account holder of nominated bank.\";\n }\n else if (!allowOnlyChars.test(value)) {\n return \"Numeric Account Holder Name not acceptable.\"\n } else if (value) {\n\n //APR 2024 new validation rules \n\n let fullNameInID = localStorage.getItem('CFN');\n fullNameInID = fullNameInID.toUpperCase();\n\n\n let nameOfAcntHolderVal = value;\n nameOfAcntHolderVal = nameOfAcntHolderVal.toUpperCase();\n let nameOfAcntHolder = nameOfAcntHolderVal.split(\" \");\n\n const itemsArray = fullNameInID.split(\" \"); //logic 3 to separate all string value to array items\n ////console.log(\"itemsArray----->\" + itemsArray);\n const updatedItems = itemsArray.map(item => item.charAt(0)); //logic #002 to get first char\n ////console.log(updatedItems);\n\n const toremoveSpaceArry = fullNameInID.replace(/\\s/g, '') //logic #001 to merge text\n ////console.log(\"toremoveSpaceArry---->\" + toremoveSpaceArry);\n\n ////console.log(toremoveSpaceArry);\n\n\n\n let items = fullNameInID; //logic #4 to concact with all string\n items = items.split(\" \");\n const combinations = [];\n const combinationswithspace = [];\n const combinationswithReverse = [];\n const combinationswithRevSpace = [];\n\n\n for (let i = 0; i < items.length; i++) {\n for (let j = i + 1; j < items.length; j++) {\n combinations.push(items[i].toUpperCase() + items[j].toUpperCase());\n combinationswithspace.push(items[i].toUpperCase() + \" \" + items[j].toUpperCase());\n combinationswithReverse.push(items[j].toUpperCase() + items[i].toUpperCase());\n combinationswithRevSpace.push(items[j].toUpperCase() + \" \" + items[i].toUpperCase());\n }\n }\n\n\n // insert to array items \n const mergedArray = itemsArray.concat(updatedItems, toremoveSpaceArry, combinations, combinationswithspace, combinationswithReverse, combinationswithRevSpace);\n ////console.log('Merged--->' + mergedArray);\n\n const arraySet1 = new Set(mergedArray);\n const allPresent1 = nameOfAcntHolder.every(value => arraySet1.has(value.toUpperCase()));\n if (!allPresent1) {\n return \"Account Holder Name must be the same as full name in NRIC/Passport\";\n }\n ////////console.log('final result----->' + allPresent1); // Output: true\n }\n\n}\nexport const acntNameValidator = (value) => {\n\n if (!value) {\n return \"Please enter Name on Debit Card.\"\n } else if (!notAllowSpclname.test(value)) {\n return \"Please enter Name on Debit Card.\"\n } else if (value.length > 19) {\n return \"Please enter Name on Debit Card.\"\n }\n\n\n}\n\n\n\nexport const cardValidator = (value) => {\n if (!value) {\n return \"Please enter a valid credit card number\"\n } else if (!ccardRegex.test(value)) {\n return \"Please enter a valid credit card number\"\n }\n else if (value.length !== 16) {\n return \"Please enter a valid credit card number\"\n }\n\n}\n\nexport const AmountValidator = (value) => {\n const amtVal = parseInt(helper.getAmtValidValue());\n if (!value) {\n return \"Please enter the transfer amount.\"\n } else if (value < amtVal) {\n return \"Minimum amount is \" + helper.displayAmtNote() + \" and should be in multiples of S$100.\";\n } else if (value > 9999999999.99) {\n return \"Please enter valid transfer amount.\"\n } else if (parseInt(value) % 100 !== 0) {\n return \"Minimum amount is \" + helper.displayAmtNote() + \" and should be in multiples of S$100.\";\n }\n}\n\nexport const phoneValidator = (value) => !value ?\n \"Phone number is required.\" :\n phoneRegex.test(value) || value < 8 ? \"\" : \"Not a valid phone number.\";\n\nexport const bankAcntValidator = (value) => {\n if (!value) {\n return \"Please input a valid Credit Card Number\"\n } else if (value.length !== 16) {\n return \"Please enter a vaild NRIC/Passport Number\"\n } else if (value.length > 20) {\n return \"Please enter a vaild NRIC/Passport Number\"\n }\n}\n\nexport const cradNAccountNumber = (value) => {\n\n const sValue = value.replace(/[^A-Za-z0-9 ]/g, \"\");\n const cardValue = sValue.split(\" \").join(\"\");\n\n if (!value) {\n return \"Please enter credit card/line of credit/current or savings account number of nominated bank. \"\n }\n else if (value.length > 20) {\n return \"Please enter credit card/line of credit/current or savings account number of nominated bank. \"\n }\n else if ((cardValue.substring(0, 2) === '14' || cardValue.substring(0, 2) === '04') && cardValue.length === 11) {\n return \"Please provide a non-Maybank Account number\"\n }\n else if (cardValue.substring(0, 4) === '0413' && cardValue.length === 11) {\n return \"Please provide a non-Maybank Account number\"\n }\n else if (cardValue.substring(0, 6) === '518834' && cardValue.length > 6) { // APR 2024\n return \"Please provide a non-Maybank Account number\"\n }\n else if (cardValue.substring(0, 3) === '413' && cardValue.length === 10) {\n return \"Please provide a non-Maybank Account number\"\n }\n\n else if (helper.isMayBankCardBINList(cardValue.substring(0, 8))) {\n return \"Please provide a non-Maybank Account number\"\n }\n}\n\nexport const cvcValidator = (value) => !value ?\n \"CVC code is required,\" :\n cvcRegex.test(value) || value.length !== 3 ? \"\" : \"Not a valid CVC code format.\";\nexport const guestsValidator = (value) => !value ?\n \"Number of items is required\" :\n value < 5 ? \"\" : \"Maximum 5 items\";\n\nexport const requiredValidator = (value) => value ? \"\" : \"Error: This field is required.\";\nexport const passwordValidator = (value) => value && value.length > 8 ? '' : 'Password must be at least 8 symbols.';\nexport const addressValidator = (value) => value ? \"\" : \"Address is required.\";\nexport const tovalidateExpdate = (value) => {\n let localExpTime = window.localStorage.getItem('expid');\n if (value > parseInt(localExpTime) + 9) {\n return false\n\n } else {\n return true\n //nothing\n }\n\n\n}","\nimport React from 'react';\nimport configData from \"../config/config.json\";\nimport { Notification, NotificationGroup } from '@progress/kendo-react-notification';\nimport { Form, Field, FormElement } from '@progress/kendo-react-form';\nimport FormContainer from './FormContainer';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { Button } from '@progress/kendo-react-buttons';\nimport { FormInput, FormComboBox } from '../core/customComponents';\nimport countries from '../data/countries';\nimport idType from '../data/IdType';\nimport toFetchIDValue from '../data/IdTypeCheck';\nimport { emailValidator, nameValidator, nricValidator, requiredValidator, countryValidator, IDTypeValidator } from '../core/validationRules';\nimport Loading from './Loading';\nimport helper from '../data/Helper';\n\nvar CryptoJS = require(\"crypto-js\");\nlet key = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\nlet iv = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\n\nclass PersonalDetails extends React.Component {\n constructor(props) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.updateInputValue = this.updateInputValue.bind(this)\n configData.OtpResendDisabled = true;\n configData.count3TimeToExist = 0;\n configData.RESEND = 0;\n this.timer = 0;\n configData.settimerZero = 0;\n this.startTimer = this.startTimer.bind(this);\n this.countDown = this.countDown.bind(this);\n\n this.state = {\n OTPValue: '',\n inputuuid: '',\n\n OtpconfirmDisabled: false,\n tohideNotification: false,\n notificationFlag: false,\n maskSetMobileNumber: '',\n getAllDataValues: '',\n setAllstateValues: {},\n setAllOTPResponces: {},\n setClockTrue: true,\n time: {},\n seconds: configData.setTimeIntOTP, //in sec 3 min 180sec,\n showLoading: false\n };\n\n }\n\n secondsToTime(secs) {\n\n let hours = Math.floor(secs / (60 * 60));\n let divisor_for_minutes = secs % (60 * 60);\n let minutes = Math.floor(divisor_for_minutes / 60);\n let divisor_for_seconds = divisor_for_minutes % 60;\n let seconds = Math.ceil(divisor_for_seconds);\n\n let obj = {\n \"h\": hours,\n \"m\": minutes,\n \"s\": seconds\n };\n\n return obj;\n\n }\n\n componentDidMount() {\n //this.startTimer();//remove\n let timeLeftVar = this.secondsToTime(this.state.seconds);\n this.setState({ time: timeLeftVar });\n }\n\n reSendOTP() {\n\n this.setState({ OTPValue: \"\" });\n configData.RESEND = configData.RESEND + 1;\n if (configData.RESEND <= 2) {\n configData.OtpResendDisabled = false;\n clearInterval(this.timer);\n this.state.seconds = configData.setTimeIntOTP;\n this.startTimer();\n } else {\n configData.OtpResendDisabled = true;\n alert(\"You have exceeded the max OTP request, please try after some time\");\n helper.toHomeScreen();\n return;\n }\n }\n //timer set starts \n startTimer() {\n\n this.state.notificationFlag = false;\n if ((this.timer === 0) && this.state.seconds > 0) {\n this.timer = setInterval(this.countDown, 1000);\n } else if (configData.RESEND <= 2 && this.state.seconds > 0) {\n this.timer = setInterval(this.countDown, 1000);\n configData.OtpResendDisabled = true;\n }\n }\n countDown() {\n // Remove one second, set state so a re-render happens.\n let seconds = this.state.seconds - 1;\n this.setState({\n time: this.secondsToTime(seconds),\n seconds: seconds,\n });\n if (seconds === 0) {\n clearInterval(this.timer);\n }\n }\n\n handleSubmit(event) {\n\n const responseOBJ = {};\n let requestBody = {\n by_idNum: this.state.nric,\n by_idType: toFetchIDValue(\"IDTYPE\", this.state.idType),\n by_idIssueCountryCode: toFetchIDValue(\"countries\", this.state.countryselected),\n stateId: uuidv4(),\n email: this.state.email,\n prod_Type: configData.PRODUCT_TYPE,\n by_name: this.state.fullname\n\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n 'Access-Control-Allow-Headers': 'Content-Type'\n },\n };\n\n if (!requestBody.email) {\n requestBody.email = \"\";\n }\n\n // save locally for OTP GENERATION API\n /*\n localStorage.setItem(\"Otp_nric\", requestBody.by_idNum);\n localStorage.setItem(\"Otp_idtype\", requestBody.by_idType);\n localStorage.setItem(\"Otp_countCode\", requestBody.by_idIssueCountryCode);\n localStorage.setItem(\"Otp_StateIDvalue\", requestBody.stateId);\n localStorage.setItem(\"Otp_email\", requestBody.email);\n localStorage.setItem(\"Otp_Prod_type\", requestBody.prod_Type);\n localStorage.setItem(\"Otp_Name\", requestBody.by_name);\n */\n\n this.setState({ showLoading: true });\n\n const baseUrl = this.getSaveURL();\n\n fetch(baseUrl + \"?by_idNum=\" + requestBody.by_idNum + \"&by_idType=\" + requestBody.by_idType + \"&by_idIssueCountryCode=\" + requestBody.by_idIssueCountryCode + \"&stateId=\" + requestBody.stateId + \"&email=\" + requestBody.email + \"&prod_Type=\" + requestBody.prod_Type + \"&by_name=\" + requestBody.by_name\n , requestOptions)\n .then(async response => {\n this.setState({ showLoading: false });\n const data = await response.json();\n if (!data.didError) {\n let res = data.model;\n if (res.token && res.referenceNo) {\n let tokenid = res.token;\n let expirytoken = data.tokenExpirationDate;\n //Reference\n localStorage.setItem(\"Ref\", res.referenceNo);\n configData.RefferenceNo = res.referenceNo;//STORING GLOBAL\n\n //token id\n localStorage.setItem(\"tkn\", tokenid);\n localStorage.setItem(\"expdte\", expirytoken);\n localStorage.setItem(\"expid\", new Date().getMinutes());\n\n if (res.data) {\n localStorage.setItem(\"nricval\", res.data);\n }\n\n this.props.history.push('Details');\n\n } else {\n console.log(\"error:Token/Reff no \")\n }\n\n } else {\n localStorage.clear();\n this.props.history.push('error');\n }\n })\n .catch(error => {\n\n this.setState({\n errorMessage: error,\n showLoading: false\n });\n if (configData.RESEND <= 1) {\n }\n console.error('There was an error!', error);\n\n });\n }\n\n updateInputValue = async (e) => {\n const re = /^[0-9\\b]+$/;\n if (e.target.value === '' || re.test(e.target.value)) {\n await this.setState({ OTPValue: e.target.value });\n }\n if (this.state.OTPValue.length === 6) {\n await this.setState({ OtpconfirmDisabled: true });\n } else {\n await this.setState({ OtpconfirmDisabled: false });\n }\n }\n\n isNumber = async (evt) => {\n evt = (evt) ? evt : window.event;\n var charCode = (evt.which) ? evt.which : evt.keyCode;\n\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n await this.setState({ OTPValue: \"\" });\n await this.setState({ OtpconfirmDisabled: false });\n return false;\n } else {\n return true;\n }\n }\n\n verifyOTPDetails = async () => {\n console.log('verifyOTPDetails');\n\n if (this.state.OTPValue) {\n let req = this.state.setAllOTPResponces;\n if (!this.state.email) {\n this.state.email = \"\";\n }\n\n const requestBody = {\n\n //new changes passing details to save at verification\n idNum: this.state.nric,\n idType: toFetchIDValue(\"IDTYPE\", this.state.idType),\n idIssueCountryCode: toFetchIDValue(\"countries\", this.state.countryselected),\n email: this.state.email,\n name: this.state.fullname.toUpperCase(),\n by_prdType: configData.PRODUCT_TYPE,\n\n cifNum: req.cifNum,\n otp: this.state.OTPValue,\n mobileNum: \"0\",//req.mobileNum ? req.mobileNum.substring(3) : '',\n accessID: \"00000000\",//this.state.setAccessID,\n uniqueRequestid: uuidv4(),//req.uniqueID,\n appId: '0'//configData.AUTH_CODE_Encrypt\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n },\n body: JSON.stringify(requestBody)\n };\n\n this.setState({ showLoading: true });\n\n const baseUrl = this.getVerifyOTPURL();\n\n fetch(baseUrl, requestOptions)\n\n .then(async response => {\n this.setState({ showLoading: false });\n const data = await response.json();\n if (!data.didError) {\n let res = data.model.msg;\n let resMsgBdy = res.msgBody;\n let resMsgHdr = res.msgHdr;\n\n if (data.token && data.refNo) {\n let tokenid = data.token;\n let expirytoken = data.tokenExpirationDate;\n //TODO\n localStorage.setItem(\"Ref\", data.refNo);\n configData.RefferenceNo = data.refNo;//STORING GLOBAL\n localStorage.setItem(\"tkn\", tokenid);\n localStorage.setItem(\"expdte\", expirytoken);\n localStorage.setItem(\"expid\", new Date().getMinutes());\n if (resMsgBdy) {\n localStorage.setItem(\"nricval\", resMsgBdy.nric);\n }\n if (resMsgHdr.statusCode === \"0\") {\n this.props.history.push('Details');\n this.state.notificationFlag = false;\n }\n else {\n if (resMsgHdr.statusDesc)\n configData.count3TimeToExist = configData.count3TimeToExist + 1\n if (configData.count3TimeToExist <= 3) {\n await this.setState({ errorMessage: resMsgHdr.statusDesc });\n alert(\"The OTP entered has expired/is invalid. Please re-enter the 6 Digit OTP.\")\n } else {\n alert(\"You have exceeded the max OTP to confirm, please try after some time\");\n document.location.href = configData.URL_ToHomeScreen;\n localStorage.clear();\n return;\n }\n }\n } else {\n this.props.history.push('error');\n localStorage.clear();\n }\n } else {\n this.props.history.push('error');\n localStorage.clear();\n }\n })\n .catch(error => {\n this.setState({ showLoading: false });\n console.error('There was an error!', error);\n });\n\n } else {\n await this.setState({ OtpconfirmDisabled: true });\n alert(\"Please enter valid numeric 6 digit OTP\");\n }\n }\n\n handleChange = async (event) => {\n await this.setState({ email: event.target.value });\n }\n fullNameChange = async (event) => {\n let nameValCaps = event.target.value.toUpperCase();\n localStorage.setItem('CFN', nameValCaps);\n await this.setState({ fullname: nameValCaps });\n }\n idTypeChange = async (event) => {\n\n await this.setState({ idType: event.target.value });\n }\n filterChange = async (event) => {\n\n await this.setState({ idType: event.target.value });\n }\n\n countrySelectChange = async (event) => {\n await this.setState({ countryselected: event.target.value });\n }\n nricChange = async (event) => {\n let touppervalue = event.target.value;\n touppervalue = touppervalue.toUpperCase();\n await this.setState({ nric: touppervalue });\n }\n\n getVerifyOTPURL = () => {\n let baseUrl = configData.URL_VERIFY_OTP_PROD;\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_VERIFY_OTP_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_VERIFY_OTP;\n }\n else {\n baseUrl = configData.URL_VERIFY_OTP_PROD;\n }\n return baseUrl;\n }\n\n getSaveURL = () => {\n let baseUrl = configData.URL_SEND_SAVEDETAILS_PROD;\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_SEND_SAVEDETAILS_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_SEND_SAVEDETAILS;\n }\n else {\n baseUrl = configData.URL_SEND_SAVEDETAILS_PROD;\n }\n return baseUrl;\n }\n\n render() {\n const { tohideNotification } = this.state;\n return (\n\n
\n
\n
\n

{configData.APP_NAME}

\n
\n\n \n (\n \n
\n
\n
\n {configData.HDR_PER_DETAILS} \n
\n
\n\n \n \n\n \n\n \n\n \n\n
\n\n\n \n\n {!this.state.tohideNotification &&
\n \n
}\n

\n
\n )} />\n\n\n {(tohideNotification) ? (\n\n \n
\n
\n
\n
\n
\n
\n
\n

OTP has been sent to XXXX {this.state.maskSetMobileNumber}

\n

Please confirm received OTP with in 2 minutes.

\n
\n
\n {this.state.time.s > 0 &&
\n
\n
\n

Resend in {this.state.time.m} : {this.state.time.s}\n \n

\n
\n
\n
}\n\n {this.state.time.s <= 0 &&
\n
\n
\n {(this.state.time.m <= 0 && this.state.time.s <= 0 && configData.OtpResendDisabled) &&\n
\n \n
}\n
\n
\n
\n }\n
\n
\n
\n \n
\n
\n
\n

\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n \n ) : \"\"}\n
\n {this.state.showLoading && }\n
\n
\n )\n }\n}\n\nexport default PersonalDetails;\n","import React, { } from \"react\";\nimport { Field } from \"@progress/kendo-react-form\";\nimport {\n FormInput,\n FormInputwithHintchanges,\n FormComboBox,\n FormNumericTextBox\n} from \"../core/customComponents\";\nimport {\n cardValidator,\n crditAbleValidator,\n cradNAccountNumber,\n acntNameValidator,\n AmountValidator,\n TransferFromValidator,\n priceValidator,\n TransferToValidator,\n} from \"../core/validationRules\";\nimport configData from \"../config/config.json\";\nimport banklist from \"../data/banklist\";\n\nimport pricingData from \"../data/pricing\";\nimport pricingHNWData from '../data/pricingHNW.js';\nimport pricingMbnkOuters from '../data/pricingMbnkOuters.js';\nimport helper from '../data/Helper';\n\n\n\nlet responsesetitesms;\nlet checkCAAcntFlag;\nlet checkCCAcntFlag;\n\n\n\nconst acntType = [configData.CCACNTNo, configData.CRACNTNo];\n\nlet spceobj = ' '\nconst handleSelect = async (event) => {\n\n\n if (event.target.value === \"CreditAble Account\") {\n configData.checkCAAcntFlag = true;\n configData.checkCCAcntFlag = false;\n }\n if (event.target.value !== \"CreditAble Account\") {\n configData.checkCAAcntFlag = false;\n configData.checkCCAcntFlag = true;\n }\n};\n\n\n\nconst FundTransferList = (props) => {\n return props.FundTransferDetails.map((val, idx) => {\n if (idx >= 4) {\n configData.AddActiontohide = false;\n }\n\n let transferFrom = `transferFrom`,\n CreditAcntNO = `CreditAcntNO`,\n CreditAbleAcntNO = `CreditAbleAcntNO`,\n pricing = `pricing`,\n transferto = `transferto`,\n Nameancnt = `Nameancnt`,\n CreditCardnumber = `CreditCardnumber`,\n Amount = `Amount`;\n\n return (\n
\n\n

\n\n \n \n\n
\n
\n
\n
\n
\n
\n\n

\n Please refer to the following guide on how to locate your Maybank CreditAble account number.\n

\n\n
\n
\n\n
\n );\n });\n};\nexport default FundTransferList;\n","import React from \"react\";\nimport FundTransferList from \"./FundTransferCreate\";\nimport configData from \"../config/config.json\";\n\nclass FundTransferView extends React.Component {\n state = {\n FundTransferDetails: [\n {\n index: Math.random(),\n transferFrom: \"\",\n CreditAcntNO: \"\",\n CreditAbleAcntNO: \"\",\n pricing: \"\",\n transferto: \"\",\n Nameancnt: \"\",\n CreditCardnumber: \"\",\n Amount: \"\",\n\n }\n ]\n };\n\n\n handleChange = e => {\n if (\n [\"transferFrom\",\n \"CreditAcntNO\",\n \"CreditAbleAcntNO\",\n \"pricing\",\n \"transferto\",\n \"Nameancnt\",\n \"CreditCardnumber\", \"Amount\"].includes(\n e.target.name\n )\n ) {\n let FundTransferDetails = [...this.state.FundTransferDetails];\n FundTransferDetails[e.target.dataset.id][e.target.name] = e.target.value;\n\n } else {\n this.setState({ [e.target.name]: e.target.value });\n }\n };\n\n addNewRow = e => {\n this.setState(prevState => ({\n\n FundTransferDetails: [\n ...prevState.FundTransferDetails,\n {\n index: Math.random(),\n transferFrom: \"\",\n CreditAcntNO: \"\",\n CreditAbleAcntNO: \"\",\n pricing: \"\",\n transferto: \"\",\n Nameancnt: \"\",\n CreditCardnumber: \"\",\n Amount: \"\"\n }\n ]\n\n }));\n\n };\n\n deteteRow = index => {\n this.setState({\n FundTransferDetails: this.state.FundTransferDetails.filter(\n (s, sindex) => index !== sindex\n )\n });\n\n };\n\n clickOnDelete(delrecord) {\n configData.AddActiontohide = true;\n this.setState({\n FundTransferDetails: this.state.FundTransferDetails.filter(r => r !== delrecord)\n });\n\n }\n render() {\n\n let { FundTransferDetails } = this.state;\n return (\n
\n\n \n\n\n
\n );\n }\n}\nexport default FundTransferView;\n","import React, { useState, useEffect } from \"react\";\nimport configData from \"../config/config.json\";\nimport { Form, FormElement } from \"@progress/kendo-react-form\";\nimport { Button } from \"@progress/kendo-react-buttons\";\nimport FundTransferView from \"../components/FundTransferView\";\nimport { useHistory } from \"react-router-dom\";\nimport { tovalidateExpdate } from \"../core/validationRules\";\nimport toFetchIDValue from '../data/IdTypeCheck';\nimport helper from \"../data/Helper\";\nimport Loading from \"./Loading\";\n\n\nvar CryptoJS = require(\"crypto-js\");\nlet key = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\nlet iv = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\n\nconst FundTransfer = () => {\n let history = useHistory();\n\n configData.RefferenceNo = localStorage.getItem(\"Ref\");\n const [showLoading, setShowLoading] = useState(false);\n\n const [ftdetails, setftdetails] = useState({\n transferFrom: \"\",\n CreditAcntNO: \"\",\n CreditAbleAcntNO: \"\",\n pricing: \"\",\n transferto: \"\",\n Nameancnt: localStorage.getItem('CFN').slice(0, 19),\n CreditCardnumber: \"\",\n Amount: null,\n });\n\n useEffect(() => {\n\n if (tovalidateExpdate(new Date().getMinutes())) {\n if (configData.RefferenceNo) {\n if (configData.RefferenceNo) {\n const requestBody = {\n //new changes passing details to save at verification\n referenceno: configData.RefferenceNo,\n num: localStorage.getItem(\"nricval\"),\n };\n const requestOptions = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n \"Access-Control-Allow-Headers\": \"Content-Type\",\n \"Cache-Control\": \"no-cache\", //for IE issues\n Pragma: \"no-cache\",\n Authorization: \"Maybank\" + \" \" + localStorage.getItem(\"tkn\"),\n },\n body: JSON.stringify(requestBody),\n };\n\n setShowLoading(true);\n\n let url = getFTDataURL();\n\n fetch(url, requestOptions)\n .then(async (response) => {\n\n setShowLoading(false);\n const data = await response.json();\n if (!data.didError) {\n if (data.model.fields) {\n if (data.model.fields.Fields) {\n setftdetails(data.model.fields.Fields);\n window.scrollTo(0, 0);\n }\n }\n } else {\n }\n })\n .catch((err) => {\n setShowLoading(false);\n console.log(err);\n });\n }\n } else {\n alert(\"This session has timed out for your security.Please try again\");\n helper.toHomeScreen();\n }\n } else {\n alert(\"This session has timed out for your security.\");\n helper.toHomeScreen();\n }\n }, []);\n\n\n if (!ftdetails) {\n return false;\n } else {\n let data = ftdetails.FT1;\n if (data) {\n if (data.CreditAcntNO) {\n configData.checkCCAcntFlag = true;\n } else if (data.CreditAbleAcntNO) {\n configData.checkCAAcntFlag = true;\n }\n\n if (data.CreditCardnumber) {\n try {\n configData.decrypt = CryptoJS.AES.decrypt(\n data.CreditCardnumber,\n key,\n { iv: iv }\n );\n configData.decrypt = configData.decrypt.toString(CryptoJS.enc.Utf8);\n } catch (ex) {\n configData.decrypt = data.CreditCardnumber;\n console.log(\"ex\", ex);\n }\n } else {\n configData.decrypt = data.CreditCardnumber;\n }\n\n if (data.CreditAcntNO) {\n configData.decrypt1 = CryptoJS.AES.decrypt(data.CreditAcntNO, key, {\n iv: iv,\n });\n configData.decrypt1 = configData.decrypt1.toString(CryptoJS.enc.Utf8);\n } else {\n configData.decrypt1 = data.CreditAcntNO;\n }\n\n if (data.CreditAbleAcntNO) {\n configData.decrypt2 = CryptoJS.AES.decrypt(data.CreditAbleAcntNO, key, {\n iv: iv,\n });\n configData.decrypt2 = configData.decrypt2.toString(CryptoJS.enc.Utf8);\n } else {\n configData.decrypt2 = data.CreditAbleAcntNO;\n }\n\n setftdetails({\n Nameancnt: data.Nameancnt,\n transferFrom: data.transferFrom,\n CreditAcntNO: configData.decrypt1,\n CreditAbleAcntNO: configData.decrypt2,\n pricing: data.pricing,\n transferto: data.transferto,\n Nameancnt: data.Nameancnt,\n CreditCardnumber: configData.decrypt,\n Amount: Number(data.Amount),\n });\n }\n }\n\n const getFTDataURL = () => {\n let baseUrl = configData.GET_FTDATA_PROD;\n\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.GET_FTDATA_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.GET_FTDATA;\n }\n else {\n baseUrl = configData.GET_FTDATA_PROD;\n }\n\n return baseUrl;\n }\n\n\n const getSaveURL = () => {\n let baseUrl = configData.URL_SAVE_FT_PROD;\n\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_SAVE_FT_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_SAVE_FT;\n }\n else {\n baseUrl = configData.URL_SAVE_FT_PROD;\n }\n return baseUrl;\n }\n\n\n // const getPromoCode = (transferFrom, selectedPricing) => {\n\n // const sc = localStorage.getItem('p');\n // let result = '';\n // if (transferFrom === 'Credit Card Account') {\n // if (sc === configData.SRC_CODE_HNW) {\n // result = toFetchIDValue(\"PRICINGPROMOHNW\", selectedPricing)\n // }\n // else if (sc === configData.SRC_CODE_CCFT03) { //810203\n // result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n // }\n // else if (sc === configData.SRC_CODE_CCFT04) { //810204\n // result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n // }\n // else if (sc === configData.SRC_CODE_CCFT05) { //810205\n // result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n // }\n // else if (sc === configData.SRC_CODE_CCFT06) { //810206\n // result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n // }\n // else if (sc === configData.SRC_CODE_CCFT) { //810208\n // result = toFetchIDValue(\"PRICINGPROMO\", selectedPricing)\n // }\n // else if (sc === configData.SRC_CODE_OUTSIDERS) { //810209 SEPT9th2023\n // //Create new FT pre login url tagged to source code 810209 to support FT campaign targeting Revolvers outside Maybank\n // // https://apply.maybank.com.sg/dcofmcca?p=345jNwy1Pxzr94tsjnvuHH70gqpql6b4xmmlaLUiZ8by\n\n // result = toFetchIDValue(\"PRICINGPROMOMBANKOUTSIDERS\", selectedPricing)\n // }\n // else {\n // result = 'NA';\n // }\n // }\n // else {\n // result = 'NA';\n // }\n // return result;\n // }\n\n // const getSchemeCode = (transferFrom, selectedPricing) => {\n\n // const sc = localStorage.getItem('p');\n\n // let result = 'NA';\n // if (transferFrom === \"Credit Card Account\") {\n // result = 'NA';\n // }\n // else {\n // if (sc === configData.SRC_CODE_HNW) { //HNw Campaign 810207\n // result = toFetchIDValue(\"PRICINGSCHMEHNW\", selectedPricing);\n // }\n // else if (sc === configData.SRC_CODE_CCFT03) { //810203\n // result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n // } else if (sc === configData.SRC_CODE_CCFT04) { //810204\n // result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n // } else if (sc === configData.SRC_CODE_CCFT05) { //810205\n // result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n // } else if (sc === configData.SRC_CODE_CCFT06) { //810206\n // result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n // }\n // else if (sc === configData.SRC_CODE_CCFT) { //810208\n // result = toFetchIDValue(\"PRICINGCAFTSCHME\", selectedPricing)\n // }\n // else if (sc === configData.SRC_CODE_OUTSIDERS) { //810209 SEPT9th2023\n // result = toFetchIDValue(\"PRICINGSCHMEMBANKOUTSIDERS\", selectedPricing)\n // }\n // }\n\n // return result;\n // }\n\n // const getSourceCode = (transferFrom) => {\n\n // //event.values.transferFrom === \"Credit Card Account\" ? configData.SRC_CODE_CCFT : configData.SRC_CODE_CAFT,\n // let result = '';\n // const sc = localStorage.getItem('p');\n // if (sc === configData.SRC_CODE_HNW) {\n // result = configData.SRC_CODE_HNW;\n // }\n // else if (sc === configData.SRC_CODE_CCFT) {\n // result = configData.SRC_CODE_CCFT;\n // } else if (sc === configData.SRC_CODE_CCFT03) {\n // result = configData.SRC_CODE_CCFT03;\n // } else if (sc === configData.SRC_CODE_CCFT04) {\n // result = configData.SRC_CODE_CCFT04;\n // } else if (sc === configData.SRC_CODE_CCFT05) {\n // result = configData.SRC_CODE_CCFT05;\n // } else if (sc === configData.SRC_CODE_CCFT06) {\n // result = configData.SRC_CODE_CCFT06;\n // }\n // else if (sc === configData.SRC_CODE_OUTSIDERS) {\n // result = configData.SRC_CODE_OUTSIDERS;\n // }\n // else {\n // result = configData.SRC_CODE_CCFT;\n // }\n\n // return result;\n // }\n\n\n\n const handleSubmit = (event) => {\n setShowLoading(true);\n if (event.isValid) {\n let countset = 1;\n const requestBody = {\n count: countset,\n FT1: {\n transferFrom: 'DCMCA',\n Nameancnt: event.values.Nameancnt,// required\n PROMO_CODE: 'DCMCA',// required\n CreditCardnumber: event.values.CreditAbleAcntNO,// required\n CreditAbleAcntNO: event.values.CreditAbleAcntNO,// required\n CreditAcntNO: \"DCMCA\",\n pricing: 'DCMCA Pricing',\n transferto: 'DCMCA',\n transfertoid: 'DCMCA',\n Amount: 'DCMCA',\n PRODUCT_TYPE: 'DCMCA',\n SCHEME_CODE: 'DCMCA',\n SOURCE_CODE: 'DCMCA'\n },\n };\n\n const requestOptions = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n \"Access-Control-Allow-Headers\": \"Content-Type\",\n \"Cache-Control\": \"no-cache\",\n Pragma: \"no-cache\",\n Authorization: \"Maybank\" + \" \" + localStorage.getItem(\"tkn\"),\n },\n body: JSON.stringify(requestBody),\n };\n\n let url = getSaveURL();\n\n fetch(\n url +\n \"?refno=\" +\n configData.RefferenceNo +\n \"&prodtype=\" +\n configData.PRODUCT_TYPE,\n requestOptions\n )\n .then(async (response) => {\n setShowLoading(false);\n const data = await response.json();\n if (!data.didError) {\n localStorage.setItem(\"RefNEW\", data.refNo);\n\n history.push(\"ReviewDetails\");\n } else {\n alert(\"Something went wrong, please try again\");\n }\n })\n .catch((error) => {\n setShowLoading(false);\n alert(\"Some thing went wrong! please try again\");\n helper.toHomeScreen();\n });\n }\n\n };\n\n\n\n return (\n
\n
\n
\n

{configData.APP_NAME}

\n
\n\n
\n
\n
\n
\n
\n (\n \n
\n \n
\n \n {configData.HDR_FT_DETAILS}\n \n
\n
\n \n \n \n {configData.ON_NEXT}\n \n
\n \n\n

\n \n )}\n />\n {showLoading && }\n
\n
\n
\n
\n \n \n );\n};\n\nexport default FundTransfer;\n","import React, { useEffect, useState } from 'react';\nimport configData from \"../config/config.json\";\nimport { Form } from '@progress/kendo-react-form';\nimport { Field } from '@progress/kendo-react-form';\nimport { FormReviewLabel } from '../core/customComponents';\nimport { tovalidateExpdate } from '../core/validationRules';\nimport FormContainer from './FormContainer';\nimport { Button } from '@progress/kendo-react-buttons';\nimport { Checkbox } from \"@progress/kendo-react-inputs\";\nimport helper from '../data/Helper';\nimport Loading from './Loading';\n\nimport { useHistory } from \"react-router-dom\";\n\nimport { v4 as uuidv4 } from 'uuid';\nimport useCountDown from \"react-countdown-hook\";\nimport {\n Notification,\n NotificationGroup,\n} from \"@progress/kendo-react-notification\";\nimport toFetchIDValue from '../data/IdTypeCheck';\nimport { Dialog, DialogActionsBar } from '@progress/kendo-react-dialogs';\n\nvar CryptoJS = require(\"crypto-js\");\nlet key = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\nlet iv = CryptoJS.enc.Utf8.parse(\"8080808080808080\");\n\nconfigData.RefferenceNo = localStorage.getItem('Ref');\nlet LBL_TNC = configData.TERMS_CONDITIONS;\nlet LBL_SUBMITTED_TEXT = configData.LBL_SUBMITTED_TEXT;\nlet hideContentForSubmit = false;//TODO to change false\nlet responsesetitesms = 1;\nlet cmpnt = FormReviewLabel;\n\nlet url = configData.URL_TERMS;\nlet url1 = configData.URL_TERMS1;\nlet urlGarmin = configData.URL_GarminWatch;\nlet urlIngersoll = configData.URL_Ingersoll;\n\nlet TF1FRM1;\nlet CCCANO1;\nlet Pricing1;\nlet Trnsferto1;\nlet NameacntHolder1;\nlet CCAnCNTNO1;\nlet AMNT1;\nlet SourceCodehandle;\n\n\nconst ReviewDetails = (props) => {\n let history = useHistory();\n // TODO\n const [response, setResponce] = useState(null);\n\n const [OTPValue, setOTPValue] = useState(\"\");\n const [OtpconfirmDisabled, setOtpconfirmDisabled] = useState(false);\n const [toshowResend, settoshowResend] = useState(false);\n const [isLoading, setIsLoading] = useState(false); //to show api call\n const [checkedTerms, setcheckedTerms] = useState(false); //to show api call\n const [disabltoRequestotp, setdisabltoRequestotp] = useState(true); //to show api call\n const [ALLOTPgenration, setALLOTPgenration] = useState(\"\");\n const [showCloseActionManu, setshowCloseActionManu] = useState(false);\n\n\n const [count3TimeToExist, setcount3TimeToExist] = useState(0);\n const initialTime = 120 * 1000; // initial time in milliseconds, defaults to 60000\n const interval = 1000; // interval to change remaining time amount, defaults to 1000\n const [timeLeft, { start, pause, resume, reset }] = useCountDown(\n initialTime,\n interval\n );\n\n const [currentDateTime, setcurrentDateTime] = useState(); //to show api call\n const [trimMobile, settrimMobile] = useState(\"\");\n\n let resMobile;\n let resCountrycode;\n\n const [tohideNotification, settohideNotification] = useState(false);\n const [OtpMobilenumberGen, setOtpMobilenumberGen] = useState('');\n\n const [emailValue, setemailValue] = useState('');\n const [cifNum, setcifNum] = useState('');\n const [fullnameValue, setfullnameValue] = useState('');\n\n\n const [SavedInformation, setSavedInformation] = useState({\n emailAddress: \"\",\n idNum: \"\",\n idType: \"\",\n idIssueCountry: \"\",\n emailAddress: \"\",\n customerName: \"\",\n by_prdType: \"\",\n uniqueRequestId: \"\"\n });\n\n\n useEffect(() => {\n\n setIsLoading(true);\n\n if (tovalidateExpdate(new Date().getMinutes())) {\n if (configData.RefferenceNo) {\n const requestBody = {\n //new changes passing details to save at verification\n referenceno: configData.RefferenceNo,\n num: localStorage.getItem('nricval')\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n 'Authorization': \"Maybank\" + \" \" + localStorage.getItem('tkn')\n\n },\n body: JSON.stringify(requestBody)\n };\n\n let baseUrl = configData.GET_FTDATA_PROD;\n\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.GET_FTDATA_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.GET_FTDATA;\n }\n else {\n baseUrl = configData.GET_FTDATA_PROD;\n }\n\n fetch(baseUrl, requestOptions)\n\n .then(async response => {\n\n setIsLoading(false);\n const data = await response.json();\n if (!data.didError) {\n if (data.model.fields) {\n setResponce(data);\n configData.NEWReffID = data.refNo;\n setSavedInformation(data.model);\n window.scrollTo(0, 0);\n }\n\n } else {\n\n }\n })\n .catch(err => {\n // console.log(err)\n setIsLoading(false);\n alert(\"This session has timed out for your security.Please try again\")\n helper.toHomeScreen();\n })\n }\n else {\n setIsLoading(false);\n alert(\"This session has timed out for your security.Please try again\")\n helper.toHomeScreen();\n }\n }\n else {\n setIsLoading(false);\n alert(\"This session has timed out for your security.\");\n helper.toHomeScreen();\n }\n }\n , [])\n\n if (!response) {\n return false;\n } else {\n responsesetitesms = response.model.fields.Fields.count;\n if (response.model.fields.Fields.FT1) {\n\n let res = response.model.fields.Fields.FT1;\n let assaginvalueCCANo1;\n if (res.CreditAcntNO) {\n assaginvalueCCANo1 = res.CreditAcntNO;\n configData.setAcntTypename = configData.LBL_RVWLBL_CCANO;\n } else if (res.CreditAbleAcntNO) {\n assaginvalueCCANo1 = res.CreditAbleAcntNO;\n configData.setAcntTypename = configData.LBL_RVWLBL_CAANO;\n }\n\n if (res.CreditCardnumber) {\n try {\n configData.decryptCA = CryptoJS.AES.decrypt(res.CreditCardnumber, key, { iv: iv });\n configData.decryptCA = configData.decryptCA.toString(CryptoJS.enc.Utf8);\n } catch (ex) {\n console.log(ex);\n }\n } else {\n configData.decryptCA = res.CreditCardnumber;\n }\n\n\n if (configData.setAcntTypename) {\n try {\n configData.decryptCA11 = CryptoJS.AES.decrypt(assaginvalueCCANo1, key, { iv: iv });\n configData.decryptCA11 = configData.decryptCA11.toString(CryptoJS.enc.Utf8);\n } catch (ex) {\n console.log(ex);\n }\n } else {\n configData.decryptCA11 = assaginvalueCCANo1;\n }\n\n TF1FRM1 = res.transferFrom;\n CCCANO1 = configData.decryptCA11;\n Pricing1 = res.pricing;\n Trnsferto1 = res.transferto;\n NameacntHolder1 = res.Nameancnt;\n CCAnCNTNO1 = configData.decryptCA;\n AMNT1 = res.Amount;\n SourceCodehandle = res.SOURCE_CODE;\n\n }\n }\n\n\n const toHHMMSS = (val) => {\n\n var sec_num = parseInt(val / 1000, 10); // don't forget the second param\n var hours = Math.floor(sec_num / 3600);\n var minutes = Math.floor((sec_num - hours * 3600) / 60);\n var seconds = sec_num - hours * 3600 - minutes * 60;\n\n if (hours < 10) {\n hours = \"0\" + hours;\n }\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n return minutes + \":\" + seconds;\n };\n\n const updateInputValue = async (e) => {\n const re = /^[0-9\\b]+$/;\n if (e.target.value === \"\" || re.test(e.target.value)) {\n await setOTPValue(e.target.value);\n }\n\n if (OTPValue.length === 5) {\n await setOtpconfirmDisabled(true);\n } else {\n await setOtpconfirmDisabled(false);\n }\n };\n\n const isNumber = async (evt) => {\n evt = evt ? evt : window.event;\n var charCode = evt.which ? evt.which : evt.keyCode;\n\n if (charCode > 31 && (charCode < 48 || charCode > 57)) {\n await setOTPValue(\"\");\n await setOtpconfirmDisabled(false);\n return false;\n } else {\n await setOtpconfirmDisabled(true);\n return true;\n }\n };\n\n const validateForm = () => {\n let isValid = true;\n const resObj = response.model.fields.Fields.FT1;\n\n if (resObj.SOURCE_CODE === null || resObj.SOURCE_CODE === '' || resObj.SOURCE_CODE.length === 0) {\n isValid = false;\n }\n else if (resObj.SCHEME_CODE === 'NA' && resObj.PROMO_CODE === 'NA') {\n isValid = false;\n }\n\n return isValid;\n }\n\n const handleSubmit1 = () => {\n //OTP GENERATION START\n\n const responseOBJ = {};\n\n if (validateForm() === false) {\n alert('Some thing went wrong! please try again');\n helper.toHomeScreen();\n return;\n }\n\n let requestBody = {\n idNum: SavedInformation.nric,//localStorage.getItem('Otp_nric'),\n idType: SavedInformation.idType,//localStorage.getItem('Otp_idtype'),\n idIssueCountryCode: SavedInformation.idIssueCountry,//localStorage.getItem('Otp_countCode'),\n email: SavedInformation.emailAddress,//localStorage.getItem('Otp_email'),\n name: SavedInformation.customerName,//localStorage.getItem('Otp_Name'),\n by_prdType: localStorage.getItem('Otp_Prod_type'),\n uniqueRequestId: uuidv4(),//localStorage.getItem('Otp_StateIDvalue')// uuidv4()\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n 'Access-Control-Allow-Headers': 'Content-Type'\n }\n };\n\n if (!requestBody.email) {\n requestBody.email = \"\";\n }\n\n\n const url = getSendOTPURL();\n\n fetch(url + requestBody.idNum + '/' + requestBody.idType + '/' + requestBody.idIssueCountryCode + '/' + uuidv4() + \"?email=\" + requestBody.email + \"&name=\" + requestBody.name + \"&by_prodType=\" + requestBody.by_prdType, requestOptions)\n .then(async response => {\n const data = await response.json();\n if (!data.didError) {\n setIsLoading(false);\n let res = data.model.msg;\n let resMsgBdy = res.msgBody;\n let resMsgHdr = res.msgHdr;\n setALLOTPgenration(res.msgBody);\n\n if (resMsgHdr.statusCode === \"0\") {\n setdisabltoRequestotp(true);\n settohideNotification(true);\n settoshowResend(true);\n start();\n setIsLoading(false);\n responseOBJ.refNo = data.refNo;\n\n if (resMsgBdy.mobileNum) {\n configData.decryptMbl = CryptoJS.AES.decrypt(resMsgBdy.mobileNum, key, { iv: iv })\n configData.decryptMbl = configData.decryptMbl.toString(CryptoJS.enc.Utf8)\n\n setOtpMobilenumberGen(configData.decryptMbl);\n let mobiltrim = (configData.decryptMbl).substring(6);\n settrimMobile(mobiltrim)\n } else {\n configData.decryptMbl = resMsgBdy.mobileNum;\n setOtpMobilenumberGen(configData.decryptMbl);\n settrimMobile(configData.decryptMbl);\n }\n } else {\n settoshowResend(false);\n setIsLoading(false);\n localStorage.clear();\n history.push(\"error\");\n localStorage.clear();\n }\n } else {\n setIsLoading(false);\n localStorage.clear();\n setdisabltoRequestotp(false);\n history.push(\"error\");\n }\n })\n .catch(error => {\n setIsLoading(false);\n // this.setState({ errorMessage: error });\n if (configData.RESEND <= 1) {\n //alert(error);\n }\n setdisabltoRequestotp(false);\n console.error('There was an error!', error);\n });\n }\n\n const verifyOTPDetails = async () => {\n\n\n if (OTPValue) {\n if (!emailValue) {\n setemailValue('');\n }\n\n const requestBody = {\n idNum: SavedInformation.nric,//localStorage.getItem('Otp_nric'),\n idType: toFetchIDValue(\"IDTYPE\", SavedInformation.idType,),\n idIssueCountryCode: toFetchIDValue(\"countries\", SavedInformation.idIssueCountry),\n email: SavedInformation.emailAddress,//emailValue,\n name: SavedInformation.customerName,//fullnameValue,\n by_prdType: configData.PRODUCT_TYPE,\n cifNum: ALLOTPgenration.cifNum,// cifNum,\n otp: OTPValue,\n mobileNum: \"0\",//req.mobileNum ? req.mobileNum.substring(3) : '',\n accessID: \"00000000\",//this.state.setAccessID,\n uniqueRequestid: uuidv4(),//req.uniqueID,\n appId: '0'//configData.AUTH_CODE_Encrypt\n }\n\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n },\n body: JSON.stringify(requestBody)\n\n };\n\n const url = getVerifyOTPURL();\n\n fetch(url, requestOptions)\n\n .then(async response => {\n\n const data = await response.json();\n if (!data.didError) {\n let res = data.model.msg;\n let resMsgBdy = res.msgBody;\n let resMsgHdr = res.msgHdr;\n\n if (data.token) {\n let tokenid = data.token;\n let expirytoken = data.tokenExpirationDate;\n\n if (resMsgBdy) {\n localStorage.setItem(\"nricval\", resMsgBdy.nric);\n }\n if (resMsgHdr.statusCode === \"0\") {\n //this.props.history.push('Fundtransfer');\n let datestr = new Date();\n localStorage.setItem(\"ddt\", datestr);\n setcurrentDateTime(localStorage.getItem('ddt'));\n settohideNotification(false);\n SubmitFormdetails();\n }\n else {\n if (resMsgHdr.statusDesc)\n setcount3TimeToExist(count3TimeToExist + 1)\n if (count3TimeToExist <= 1) {\n alert(\"The OTP entered has expired/is invalid. Please re-enter the 6 Digit OTP.\")\n } else if (count3TimeToExist === 2) {\n alert(\"You have exceeded the max OTP to confirm, please try after some time\");\n helper.toHomeScreen();\n return;\n } else {\n alert(\"You have exceeded the max OTP to confirm, please try after some time\");\n helper.toHomeScreen();\n return;\n }\n }\n } else {\n history.push(\"error\");\n localStorage.clear();\n }\n } else {\n history.push(\"error\");\n localStorage.clear();\n }\n })\n .catch(error => {\n console.error('There was an error!', error);\n });\n\n } else {\n await setOtpconfirmDisabled(true);\n alert(\"Please enter valid numeric 6 digit OTP\");\n }\n\n }\n\n\n const SubmitFormdetails = async () => {\n\n //TODO OTPCHANGES\n hideContentForSubmit = true\n const requestOptions = {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Accept': 'application/json',\n 'Access-Control-Allow-Headers': 'Content-Type',\n 'Cache-Control': 'no-cache',//for IE issues\n 'Pragma': 'no-cache',\n 'Authorization': \"Maybank\" + \" \" + localStorage.getItem('tkn')\n }\n };\n\n const url = getSubmitURL();\n fetch(url + \"?refno=\" + configData.RefferenceNo + \"&submit=true\", requestOptions)\n .then(async response => {\n const data = await response.json();\n if (data.status === \"Submitted\") {\n hideContentForSubmit = true;\n window.scrollTo(0, 0);\n localStorage.clear();\n } else {\n hideContentForSubmit = false;\n alert(\"error\");\n }\n })\n .catch(error => {\n hideContentForSubmit = false;\n console.error('There was an error!', error);\n });\n }\n\n const restart = () => {\n\n const newTime = 10 * 1000;\n start(newTime);\n setOTPValue(\"\");\n settoshowResend(false);\n handleResendSubmit();\n }\n\n const handleResendSubmit = () => {\n handleSubmit1();\n };\n\n\n const termscheckoption = () => {\n setcheckedTerms(!checkedTerms);//TODO Srijith !\n setdisabltoRequestotp(!disabltoRequestotp)\n }\n\n const toBackFTDetails = () => {\n history.push('Details');\n }\n\n const toMaybankHome = () => {\n document.location.href = configData.URL_NAV_MAYBANK;\n }\n\n const getVerifyOTPURL = () => {\n let baseUrl = configData.URL_VERIFY_OTP_PROD;\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_VERIFY_OTP_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_VERIFY_OTP;\n }\n else {\n baseUrl = configData.URL_VERIFY_OTP_PROD;\n }\n return baseUrl;\n }\n\n const getSendOTPURL = () => {\n let baseUrl = configData.URL_SEND_OTP_PROD;\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_SEND_OTP_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_SEND_OTP;\n }\n else {\n baseUrl = configData.URL_SEND_OTP_PROD;\n }\n return baseUrl;\n }\n\n\n const ManuCardVisaCA = () => {\n setshowCloseActionManu(!showCloseActionManu);\n }\n const toCloseDialogManu = () => {\n setshowCloseActionManu(!showCloseActionManu);\n }\n\n const getSubmitURL = () => {\n\n let baseUrl = configData.URL_SUBMIT_PROD;\n\n if (configData.SERVER_STATUS === 'SIT') {\n baseUrl = configData.URL_SUBMIT_SIT;\n }\n else if (configData.SERVER_STATUS === 'UAT') {\n baseUrl = configData.URL_SUBMIT;\n }\n else {\n baseUrl = configData.URL_SUBMIT_PROD;\n }\n return baseUrl;\n }\n const listStyle = {\n listStyleType: 'disc'\n };\n const listStyledeci = {\n listStyleType: 'decimal'\n };\n\n\n return (\n
\n {isLoading && }\n
\n
\n

{configData.APP_NAME}

\n
\n \n (\n
\n
\n

\n
\n
\n {!hideContentForSubmit && {configData.HDR_RVW_DETAILS}}\n {hideContentForSubmit && {configData.HDR_RVW_APPLICATION}}\n
\n
\n
\n
\n\n
\n\n {!hideContentForSubmit &&
\n
\n\n {configData.LBL_FT_REQUEST}\n \n\n\n
\n
}\n {hideContentForSubmit &&
\n
\n\n Success!\n
\n\n
}\n\n
\n {responsesetitesms >= 1 &&
\n\n {/* \n \n \n */}\n \n \n {/* */}\n

\n {!hideContentForSubmit && <>Important Notes\n }\n\n {!hideContentForSubmit &&
\n }\n\n {!hideContentForSubmit &&

  • Your new Debit Card will be linked to your Maybank CreditAble Account.
  • Any charge inclusive of point-of-sale transactions, ATM withdrawals and online funds transfers will be deducted from your Maybank CreditAble Account.
  • Credit balances in your Maybank CreditAble Account will be drawn down first before your credit line is utilised.
\n }\n\n
}\n\n\n
\n\n\n {hideContentForSubmit &&
}\n\n {hideContentForSubmit &&\n\n \n\n }\n {hideContentForSubmit &&\n\n \n\n\n }\n
\n\n\n\n {!hideContentForSubmit && <>\n {SourceCodehandle === configData.SRC_CODE_HNW ? (\n // {!hideContentForSubmit &&\n
\n \n\n\n I have read, understood and agreed to be bound by \n Terms and Conditions for Maybank Funds Transfer Ingersoll Timepiece Promotion\n and other \n Terms and Conditions\n on Fees and Charges.\n\n\n\n\n
}\n onChange={termscheckoption}\n />\n {/* I have read , understood and agreed to be bound by \n Terms and Conditions\n for Maybank Funds Transfer Garmin Vivomove Timepiece Promotion and Other \n Terms and Conditions\n on Fees and Charges. */}\n\n {\n checkedTerms === false &&\n {\"Please accept terms & conditions of the application to proceed\"}\n }\n
\n // }\n\n ) :
\n

\n <>Declaration\n
\n

\n \n\n By submitting this application, I hereby confirm I have read, understood and agree to the Terms and Conditions governing \n Maybank Platinum Debit Card \n and Maybank CreditAble.\n {/* on Fees and Charges. */}\n\n {/* \n

Maybank Manchester United Platinum Visa Debit Card

\n\n\n {showCloseActionManu && \n\n

{\"By signing below:\"}

\n
(1) I understand that I am applying for a Maybank Manchester United Platinum Visa Debit Card (“Card”);

\n (2) I agree that my application herein is subject to Maybank’s approval and Maybank has the absolute discretion to decline my application without giving any reason and to retain documents submitted as property of Maybank;

\n (3) I agree that Maybank may send the Card to me by ordinary mail or such other means at my sole risk to my mailing address last registered in Maybank’s records or to the mailing address as updated and specified herein:

\n (4) I understand and agree that the use of the Card is subject to:

\n (a) the terms and conditions governing the Card;

\n (b) the terms and conditions governing the respective accounts linked to the Card;

\n (c) all other terms and conditions governing the respective services linked to the Card, including any amendments and revisions in relation to any of the above terms and conditions;

\n (5) I represent and warrant that all information provided by me in this application is true and complete and undertake to notify Maybank immediately of any change in such information;

\n (6) I confirm that at the time of this application, I am not an undischarged bankrupt and no statutory demand has been served on me nor any legal proceedings commenced against me;

\n (7) I agree to the purposes set out in the Bank’s Data Protection Policy (the link to which is provided below) for the collection, use and disclosure of my/our personal data, including authorising the Bank to disclose or release, any information whatsoever relating to me/any one of us to:

\n (a) any credit bureau or any other organisation or corporation set up for the purpose of collecting and providing information relating to the credit standing of persons;

\n (b) any person who has or may enter into contractual relations with Maybank in relation to the Card (including, without limitation, any co-brand partner); and

\n (c) any other person(s) for the purpose of processing this application.

\n (8) I agree that my information may be used for the purpose of promoting any services or products whether conducted by Maybank, any of Maybank’s co-brand partners or such other parties who Maybank may disclose my information to. I agree to receive information relating to such promotions from time to time.

\n (9) By providing the information in this application form (and any other information that I may provide to you from time to time in connection with Maybank products and services). I agree and consent to Maybank Singapore Limited and its holding companies (collectively, “Maybank”) collecting, using, disclosing and sharing amongst themselves my/our personal data, and disclosing such personal data to Maybank’s authorised service providers and relevant third parties for purposes reasonably required by Maybank to process my/our application(s), provide me/us with the products or services which I am applying for, as well as the purposes set out in Maybank Singapore branch’s Data Protection Policy, which is accessible at www.maybank2u.com.sg or which may be provided to me/us upon request. I confirm I have read and understood the Data Protection Policy. If I should withdraw my/our consent to the processing or handling of my personal data in respect of any purpose which Maybank may reasonably consider to be essential in order for Maybank to provide me with the products and/or services applied for, Maybank shall be entitled to treat my Maybank Debit Card Account as having been terminated by me/us without prejudice to any rights and remedies which it may have at law against me/us.

\n I acknowledge and agree that:

\n (a) each of Maybank and Manchester United Group (“Co-Brand Partner”) will be separately collecting, using and disclosing my/our personal data, and that I have read and agree to the terms of the Co-Brand Partner’s data protection policy set out below;

\n (b) Maybank’s data protection policy is separate from the Co-Brand Partner’s data protection policy and that each of Maybank and Co-Brand Partner shall only be responsible for its own collection use or disclosure of my/our personal data, and shall not be liable for the other party’s handling or use thereof. I agree to directly address any queries, access or correction requests, or complaints in relation to the handling of my personal data to the relevant party;

\n (c) each of Maybank and the Co-Brand Partner, as well as their respective agents and authorised service providers are permitted to collect, use, disclose and share my/our personal data between themselves for purposes reasonably required by Maybank and/or the Co-Brand Partner to process my application herein and provide me with the products and services related to the card as well as administer any privileges and benefits associated therewith (for example, discount privileges and loyalty bonuses, if applicable to the card). This may include sharing account and transaction related information.

\n

Manchester United Privacy Notice for Applicants to the Manchester United Co-Brand Card Only

\n If you have applied for the Manchester United Card, by submitting this form, you expressly consent to Manchester United ('MU') Group (being all companies with the MU name) and the other MU Commercial Partners (as both may change over time) collecting, using and disclosing your personal data (a) to provide you with the products and services which you have requested, (b) for consumer profiling and market research in relation to benefits and privileges, products and services related to and/or associated with the MU Card and (c) to contact you by post, phone or electronically (including via email, text, fax and other electronic means of communication) about benefits, privileges, products, services, offers and events related to and/or associated with the MU Co-Brand Card. If you would prefer not to receive any promotional and marketing communications with regards to the MU Card, please email marketingoptout@manutd.co.uk within 14 days, ensuring that you use the email address that has been provided in your application form. Please read the MU Privacy Policy which includes an updated list of MU Group companies and MU Commercial Partners at www.manutd.com or for a copy, write to the MU DP Officer at MU Ltd, Freepost, NWW4517A, Old Trafford, Manchester M161BX.\n\n\n\n
\n \n \n\n \n
} */}\n
}\n onChange={termscheckoption}\n />\n\n {\n checkedTerms === false &&\n {\"Please accept terms & conditions of the application to proceed\"}\n }\n
\n\n }\n }\n\n



\n {hideContentForSubmit && {LBL_SUBMITTED_TEXT}}\n



\n {!hideContentForSubmit &&
\n\n\n \n\n
\n }\n

\n {hideContentForSubmit &&
\n \n\n
}\n



\n \n\n )} />\n\n\n\n\n {tohideNotification ? (\n \n\n \n\n
\n
\n
\n
\n
\n \n

  OTP will be sent to XXXX {trimMobile}

{\" \"}\n

  Please confirm received OTP within 2 minutes.

\n
\n
\n\n
\n \n\n
\n

\n {timeLeft === 0 && toshowResend ? (\n \n RESEND OTP\n \n ) : (\n

\n )}\n\n\n {toshowResend ? (\n
\n {\" \"}\n Resend in {toHHMMSS(timeLeft)}{\" \"}\n \n
\n ) : (\n
\n )}\n
\n
\n \n\n
\n
\n \n \n
\n
\n \n

\n
\n
\n \n {timeLeft === 0 ? (\n {\"REQUEST\"}\n ) :\n\n (\n CONFIRM\n )}\n
\n
\n \n
\n
\n
\n \n \n \n ) : (\n \"\"\n )}\n \n\n \n \n )\n}\n\nexport default ReviewDetails;","import React from \"react\";\nimport configData from \"../config/config.json\";\nimport helper from \"../data/Helper\";\n\nconst errorscreen = (props) => {\n const toMaybankHome = () => {\n helper.toHomeScreen();\n // document.location.href = configData.URL_NAVIGATE_COB;\n };\n return (\n
\n
\n
\n
\n

{configData.APP_NAME}

\n
\n
\n
\n
\n

{configData.APP_NAMEHDR}

\n
\n
\n \n
\n
\n
\n

Sorry, we are unable to process your information.

\n
\n
\n
\n
\n

\n {\" \"}\n Please resubmit the application form and ensure that the details submitted are accurate.\n

\n

If you still have trouble submitting the application, please get in touch at 1800-629-2265

\n
\n
\n\n

\n\n
\n \n Application Page\n \n
\n

\n

\n
\n
\n
\n
\n
\n
\n
\n \n );\n};\n\nexport default errorscreen;\n","import React from 'react';\nimport './App.scss';\nimport { Header } from './components/Header';\nimport { BrowserRouter as Router, Route, Redirect } from \"react-router-dom\";\n\n\n//Declare New Components Here\nimport Home from './components/Home';\nimport PersonalDetails from \"./components/PersonalDetails.jsx\";\nimport FundTransfer from \"./components/FundTransfer\";\nimport ReviewDetails from \"./components/ReviewDetails\";\nimport errorscreen from \"./components/error\";\n\nfunction App() {\n return (\n \n
\n
\n \n {/* */}\n \n \n \n \n \n \n
\n



\n
\n );\n}\n\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload(false);\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\nprocess.env.NODE_check=\"testing\"","import 'react-app-polyfill/ie9';\nimport 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\n\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.scss';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}