{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/errorTags.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?b221","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/router/index.js","webpack:///./src/locales/en/_message.js","webpack:///./src/locales/en/_ui.js","webpack:///./src/locales/en/_error.js","webpack:///./src/locales/en/_m.js","webpack:///./src/locales/en/index.js","webpack:///./src/locales/ph/_message.js","webpack:///./src/locales/ph/_ui.js","webpack:///./src/locales/ph/_error.js","webpack:///./src/locales/ph/_m.js","webpack:///./src/locales/ph/index.js","webpack:///./src/i18n.js","webpack:///./src/store/_user.js","webpack:///./src/store/index.js","webpack:///./src/plugins/helpers.js","webpack:///./src/main.js","webpack:///./src/config.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","login","succeed","failed","usernameRequired","passwordRequired","logout","processing","delayed","session","invalidToken","invalidSession","inactiveAccount","forgotPassword","accountIdRequired","phoneRequired","memberSignUp","emailRequired","memberTacValidate","tacCodeRequired","memberRenewTac","mbTacLogin","mbNewLogin","otpRequired","getBalance","bankLookUp","getMemberBankList","getMemberEwallet","activeList","getBankingMode","getRebate","getRebateDownline","getRefereeList","claimRebate","claimRebateDownline","getTurnoverProvider","getSocialList","getRtplist","updatePassword","newPasswordRequired","profileUpdate","memberAddBank","bankIdRequired","bankNameRequired","bankAccHolderRequired","bankAccNoRequired","memberAddEwallet","setDefaultBank","memberBankTac","depositOfaPay","depositAmountRequired","manualDeposit","getMemberTicketList","getTurnoverDownline","getPromotionStatus","getMemberVip","addWithdrawTicket","withdrawal_amount_required","getStatement","getMemberGameResult","getPromo","success","dateRequired","getBet","getInbox","claimInbox","bonusIdRequired","launchGame","getQuestion","submitReview","commentRequired","ratingRequired","getSurveyList","mayaPay","htPay","aiPay","rmPay","gopayGcash","gopayMaya","dgpayGcash","dgpayGcashqr","dgpayMaya","cloudPay","topPay","anfuPay","shunfapayGcash","shunfapayMaya","worldPay","rgPay","wcPay","goldPay","xftgCash","xftUsdt","masayaPay","xyPay","tygPay","ctPay","getCouponDetails","updateEmail","launchEpic","launchEpic2","launchWbet","launchHabaneroDemo","launchLive22","launchAwc","launchJili","launchFc","launchSabong","launchIronclaw","launchEvo","launchCq9","launchHabanero","launchPps","launchPpc","launchLaunchOne","launchYgr","launchWow","launchTbl","launchOpenapi","getBetList","getClaimedTickets","getRealTimeTrans","getRebateChart","getXchangeRate","getStreamLink","getTopgame","getPromoDepositCount","getSpadeResult","resultIdRequired","getHbResult","getLive22Result","getEpic2Result","getCq9Result","getHabaneroResult","getPpsResult","getAwcResult","getJiliResult","getFcResult","getEvoResult","getPgsResult","getJokerResult","getProviderGameOfflist","providerRequired","getPpcResult","getLaunchoneResult","getYgrResult","getWowResult","getOpenapiResult","getTokenBalance","getSlideBanner","getAnnBanner","getPromoBanner","getSeo","getFavlist","addFav","removeFav","map","webpackContext","req","id","webpackContextResolve","keys","render","_vm","this","_h","$createElement","_c","_self","attrs","staticRenderFns","component","Vue","use","VueRouter","routes","path","children","redirect","meta","requiredLoggedIn","router","base","process","account_required","password_required","confirm_password_different","min_length","alphanumeric_char","numeric_char","list","0","disconnect","OK","ok","CLOSE","close","passwordStrengthError","session_expired","app_id_required","permission_denied","account_id_required","verification_code_required","account_not_exists","account_inactive","verify_failed","parent_account_inactive","transfer_id_required","credit_amount_required","duplicate_credit_record","member_wallet_not_exists","debit_amount_required","duplicate_debit_record","insufficient_balance","result_exists","debit_record_not_found","bank_id_required","bank_acc_no_required","bank_acc_holder_required","bank_already_setup","platform_required","parent_not_exists","invalid_password","parent_id_required","contact_phone_required","account_exists","vip_mode_not_exists","session_not_exists","ticket_id_required","ref_id_required","ticket_not_exists","ticket_processed","min_deposit_not_met","ongoing_promotion","invalid_promo_package","promo_min_deposit_not_met","claim_promo_only_once_a_day","first_deposit_unmet","newbie_unmet","claim_promo_only_once","inner_catch","systemError","SystemError","deposit_amount_required","target_bank_id_required","target_bank_acc_no_required","target_bank_acc_holder_required","deposit_date_required","deposit_method_required","min_deposit_not_set","min_balance_not_set","ibank_account_not_exists","ibank_account_inactive","min_withdrawal_not_set","bank_member_not_exists","promotion_requirement_not_met","invalid_promotion","new_password_required","multiplier_not_found","contact_phone_exists","BLOCK","tac_is_valid","tac_expired","invalid_tac","tac_not_validate","invalid_referral_code","exceed_max_withdrawal","bank_member_inactive","loginFailed","loginSucceed","logoutSucceed","logoutFailed","requestSucceed","requestFailed","requestProcessing","requestDelayed","verificationCodeRequired","bank_member_exists","never_deposited","transferAmountMustGreaterThanEqual5","invalid_transfer_amount","transfer_success","sender_id_required","recipient_id_required","tac_validated","pending_result_in_game","accountIdOnlyNumber","unfinishgamedetected","duplicate_review","exceed_withdrawal_frequency","requestTooFrequentAtLeast2Minutes","invalidPhoneNumberFormat","fpayUnderMaintenance","affiliate_not_exists","couponeCodeRequired","coupon_code_required","coupon_not_available","contact_email_registered","invalidEmailFormat","paymentMethodRequired","depositMethodRequired","free_credit_detected","unableToLaunchSlotGameAtTheMoment","amount_required","auth_token_required","bet_id_required","bonus_unavailable","client_ip_required","first_deposit_not_met","ftd_required","game_maintenance","gateway_acc_required","inbox_id_required","insufficient_rebate","insufficient_ticket","is_default_required","min_withdrawal_not_met","newbie_not_met","no_changes","promotion_not_available","ref_no_required","result_id_required","search_id_required","setting_not_set","tac_required","ticket_count_required","vip_not_exists","working_date_required","working_month_required","withdrawal_amount_lte_withhold_amount","invalid_contact_email","invalidUsernameFormat","affiliate_inactive","insufficient_token","failedtolaunchpaymentgateway","bank_member_full","bank_acc_holder_not_same","member_ewallet_exists","member_ewallet_full","invalid_bank_id","verification_failed","depositAmountMustGreaterThan0","depositAmountMustGreaterThanMin","depositAmountMustLessThanMax","favourite_game_exists","pending_deposit","launch_fail","playerCreatedError","currencyNotSupported","game_not_supported","success_claim","newpw_required","newpw_notsame","newpw_alphanumeric","oldpw_required","pw_notmatched","forgot_password_success","change_password_success","add_bank_success","add_wallet_success","set_default_success","update_success","tac_tooltips","tac_tooltips1","tac_countdown","bank_details_tooltips","copy_clipboard","about_us_1","about_us_2","about_us_3","promo_1_title","promo_1a","promo_1b","general","promo_2_title","promo_2a","title1","title2","details1","details2","details3","details4","details5","details6","tnc","tnc_details1","tnc_details2","tnc_details3","promo_3_title","promo_3_title_full","promo_3a","title3","title4","title5","details1_1","details1_2","details1_3","details1_4","details1_5","details2_1","details2_2","details2_3","details2_4","details2_5","details3_1","details3_2","details3_3","details3_4","details3_5","promo_4_title","promo_4a","promo_4b","promo_5_title","promo_5a","details4_1","details4_2","details5_1","details5_2","description1","description1_1","description1_2","description1_3","promo_5b","player_transfer","promo_6_title","promo_6a","promo_6b","wrong_filetype","bank","winlose","balance","win","lose","tie","history","transfer_details","game","contactus","join_now","manual_deposit","aboutus","attention","amount_currency","amount","approved","and","atm_cash","account_name","account_no","amount_min","amount_max_short","amount_not_min","amount_max","add_bank","account_id","adjustment_details","after_balance","android","atm","acc_detail","amount_receive","active_player","affiliate_code","admin","admin_open","attachment_tips","accounts","active","bank_accname","bank_accno","bank_name","bank_detail","bet_history","bank_account","better_luck","birthday","bonus_details","before_balance","bonus_value","bonus","bank_ewallet","bank_ewalletname","bank_ewalletno","brand","vision","vision_desc","purpose","purpose_desc","bankdetail_reminder","bankdetail_reminder1","cdm","counter","cancel","change_password","confirm_password","claim","claim_now","current_balance","cash_deposit","contact_for_bank","congratulations","contact_number","claim_rewards","cash_value","customer_review","claim_offer","custom_description","comment_placeholder","review_complete_header","review_complete_text","count","click_here","change","coupon","category","choose_promo","choose_nopromo","deposit","deposit_short","deposit_enter","deposit_method","deposit_method_select","deposit_reminder","deposit_reminder_two","download","download_android","download_ios","date","date_expiry","done","deposit_now","description","download_1","download_2","deposit_tnc","developer_response","daily_update","downloadgame","duitnow","desc1","desc1_1","desc2","desc3","desc4","deposit_min","email","enter_bank_accname","enter_bank_accno","enter_ewallet_name","enter_ewallet_no","eta","epic_production","edit","female","forgot_password","faq","footer","title","description2","description3","for_android","for_ios","find_out","file_choose","file_upload","file_requirement","full_name","fill_stars","full_phone","full_referral","gender","game_play","gcash_reminder","hi","has_won","has_won_rate","has_withdraw","homepage","header1","header2","header3","header4","hourly_update","hot_movie","ios","inactive","jackpot","leaderboard_title","login_now","lucky_spin","latest_transactions","lucky_wheel","loyalty_points","last_4_digits","last_login","lang_en","lang_zh","lang_my","luckydraw_announcement","language","en","cn","my","login_otp","login_pass","male","mobile","minigames","method","min","min_amount","monthly_update","movies","movie_watch","max","next","new_password","no_account_yet","no_win","nickname","next_update_time","no_bonus_found","no_adjustment_found","no_new_gifts","no","no_contact","no_new_message","newsletter","others","offical_team","online","online_banking","online_banking_set","option","optional","old_password","current_password","operator_bank_list","promotion_selected","pending","play_now","password","password_signup","phone_number","promotion","promotions","promotion_select","profile","privacy_policy","privacy_statement","password_tips","phone_tips","problem_contact","reset_tips","prev","please_select","please_select_bank","please_select_ewallet","please_select_payment","progress","promotion_bonus","promotion_details","phone_no_reminder_recipient","phone_recipient_same","promo_select","promo_none","payment_option","personal_info","payment_info","payment_channel","payment_gateway","ref_num_enter","register","register_now","responsible_gambling","responsible_gaming","rebate","rejected","reward","rewards","referral","referral_link","referral_desc","one","two","three","referral_prefix","referral_code","resend","request_again","reference_number","reference_number_tooltips","remarks","real_time","recipient_id","review","review_title","registered_player","royalty_level","1","2","3","4","5","register_title","register_popup","content1","content2","content3","save","send","social_responsibility","status","slotgames","slot_play","slot_games","slot_games_mobile","signup","signupform","first_line","account_exist","verification_number","problem_assist","subscription_confirm","account_success_first","account_success_second","submit","select_bonus","spin_again","share","share_title","share_invite_code","share_facebook","share_to_friend","share_referral_reward","select_deposit","survey","single_highest","signup_success","skip","setting","tac_tips","time","tutorials","transfer","transfer_amount","transaction_history","transfer_history","tnc_full","tnc_accept_reminder","ticket_status","tac_code","tac_code_new","topten_WITHDRAWAL","topten_DEPOSIT","transaction","tutorial_deposit","tutorial_withdrawal","tutorial_transfer","tutorial_android","tutorial_ios","transfer_fee","transfer_fee_message","thankyou","header","total_withdrawal","total_review","top_games","topgames_period","username","uh_oh","statement","upload_file","upload_file_tooltips","update","update_email","update_email_success","unknown","view_transaction_history","view_transaction","verification_no_required","phone_no_reminder","videos","video_link","welcome_to","welcome_1","welcome_2","welcome_3","withdrawal","withdraw_required","withdraw_greater_50","worth","withdrawal_details","withdrawal_details1","withdrawal_details2","withdrawal_details3","withdrawal_speed","withdrawal_epic","withdrawal_topten","winner_topten","withdrawal_reminder","you_won","you_have","withdraw_target_tips","promo_display","OTB","UB","VIPB","DB","rebate_toclaim","rebate_total","adjustment","game_name","referee","platform","provider","turnover","inbox","bank_profile","attachment","completed","worldcup","no_record","earn_rebated","turnover_amount","acc_turnover","earn_ticket","total_downline","submit_predict","coming_soon","fill_predict","step_one","home","slot","slots","games","livecasino","live","casino","fishing","sportsbook","sports","book","cockfight","real_time_trans","copy_referral","invite_friend","bet_time","bet_empty","result_empty","error_button","new_member","special","daily","redeem","bet_list","notice","notice_welcome","statement_daily","campaign","worldcup_2022","turnover_downline","daily_rebate","redeem_ticket","back","ticket","claimed_ticket","ftd_message","free_credit_message","deposit_amount","self_rebate_rate","downline_rebate_rate","more_info","info","item","inboxTnc","four","five","six","seven","referralTnc","eight","nine","footer_desc","follow_us","payment_method","certification","slot_desc","casino_desc","sportsbook_desc","username_guide","trans_time","odds","odd","stake","ref_no","lost","draw","american_football","soccer","basketball","baseball","esports","esports2","tennis","even","over","under","slot_custom","sb_custom","Argentina","Australia","Belgium","Brazil","Cameroon","Canada","CostaRica","Croatia","Denmark","Ecuador","England","France","Germany","Ghana","Iran","Japan","Mexico","Morocco","Netherlands","Poland","Portugal","Qatar","SaudiArabia","Senegal","Serbia","SouthKorea","Spain","Switzerland","Tunisia","Uruguay","USA","Wales","account_existed","withdrawalAmountMustGreaterThan0","block","invalidPasswordFormat","isRequired","isMinValue","isMaxValue","isMinLength","isMaxLength","isAlpha","isAlphaNum","isNumeric","isEmail","isIpAddress","isSameAs","isUrl","containAlphaNum","selectOption","notSameAs","isBetween","checkFormat","walletIdRequired","walletHolderRequired","walletNoRequired","bank_account_not_exists","bank_account_inactive","BT_O","BT_U","BT_BOTH","BT_ONE","BT_HDP","BT_OU","BT_ML","BT_1X2","BT_1X2HDP","BT_CS","BT_OE","BT_DC","BT_HTFT","BT_FGLG","BT_TG","BT_OR","BT_ORZ","BT_ANB","BT_BS","BT_CL","BT_DNB","BT_HNB","BT_TWTN","BT_HDPH","BT_OUH","BT_MLH","BT_1X2H","BT_1X2HDPH","BT_CSH","BT_OEH","BT_DCH","BT_FGLGH","BT_TGH","TB_HDP","TB_OU","TB_1X2","TB_OE","TB_HDPH","TB_OUH","TB_1X2H","TB_OEH","BT_HDPOU","BT_PARLAY","BT_FT","BT_1H","BT_2H","BT_FG","BT_LG","BT_HFG","BT_AFG","BT_HLG","BT_ALG","BT_NG","BT_HY","BT_HN","BT_AY","BT_AN","BT_H","BT_A","BT_D","BT_HD_DC","BT_HA_DC","BT_DA_DC","BT_HH","BT_HD","BT_HA","BT_DH","BT_DD","BT_DA","BT_AH","BT_AD","BT_AA","BT_Y","BT_N","BT_LIVE","BT_Live","BT_live","BT_HT","BT_DELAYED","BT_PEN","BT_FT1","BT_FT2","BT_FTX","TC_FT1","TC_FT2","TC_FTX","BT_HT1","BT_HT2","BT_HTX","F5_INN_HDP","F5_INN_OU","BS_HDP","BS_HDPH","BS_OU","BS_OUH","BS_OE","BS_OEH","BS_1X2","BS_1X2H","BS_ML","BS_MLH","BS_1X2HDP","BS_1X2HDPH","BS_CS","BS_CSH","BS_DC","BS_DCH","BS_FGLG","BS_FGLGH","BS_TG","BS_TGH","BS_ANB","BS_HTFT","BS_BS","BS_CL","BS_DNB","BS_HNB","BS_TWTN","BS_OR","BS_ORZ","LOT_BS","LOT_BIG","LOT_SMALL","LOT_OE","LOT_ODD","LOT_EVEN","LOT_OU","LOT_OVER","LOT_UNDER","LOT_1","LOT_0","LOT3_OVER","LOT3_UNDER","D_1","D_2","D_3","D_4","D_5","D_6","D_BIG","D_SMALL","D_AA","D_SA","D_SB","D_SC","D_SD","D_SE","D_ABC","GH_1X2","GH_1X20","GH_1X2HDP","GH_1X2HDP2","GH_1X2HDP4","ui","VueI18n","messages","ph","i18n","locale","fallbackLocale","silentTranslationWarn","namespaced","state","_loading","makeBet","transferDetails","promoDetails","adjustmentDetails","refereeCount","betList","size","index","claimedTicketsList","downlineList","working_date","betHistory","livecasinoResult","slotResult","cockfightResult","rebateResult","sbResult","tempName","tempPass","tempTac","seoInfo","homeSeo","annBeforeLog","annAfterLog","refreshKey","slotSelected","referralCode","topten","account","gameToken","transactionEwallet","bankList","socialList","favList","avatarImg","smarticoData","missions","badges","currentLevel","currentLevelDetails","nextLevelDetails","vip","mutations","updateLanguage","payload","uTransferDetails","uBetHistory","uLivecasinoResult","uSlotResult","uCockfightResult","uRebateResult","uSbResult","uPromoDetails","uAdjustmentDetails","uRefereeCount","uDownlineList","uBetList","uClaimedTicketsList","delete","loading","action","updateBalance","game_balance","game_token","updateBank","updateEwallet","updateRefreshKey","updateSlotSelected","updateInbox","updateTopTen","updateTempName","updateTempPass","updateTempTac","updateLobbySource","lobbySource","updateLobbyProvider","lobbyProvider","updateSeo","page_name","updateAnnBeforeLog","updateAnnAfterLog","contact_email","updateUsername","updateSociallist","updateFavlist","updateAvatar","updateSmarticoData","updateMissions","updateBadges","updateCurrentLevel","updateCurrentlvlDetails","updateNextlvlDetails","updateVip","actions","setLanguage","context","commit","tempAccName","sTransferDetails","sBetHistory","sLivecasinoResult","sSlotResult","sCockfightResult","sRebateResult","sSbResult","sPromoDetails","sAdjustmentDetails","sRefereeCount","sDownlineList","sBetList","sClaimedTicketsList","setRefreshKey","setSlotSelected","setEmail","setAvatar","setSmarticoData","setMissions","setBadges","setCurrentLevel","setCurrentlvlDetails","setNextlvlDetails","user","url","config","memberLogin","body","feedback","errorTags","canRequest","http","post","successResponse","statusdesc","sessionToken","session_token","catch","errorResponse","contact_phone","membersignup","fbp","pixelId","ch","cm","pp","domain","tac","expired","member_otp","auth_token","working_month","search_id","brand_code","provider_code","bank_id","bank_acc_holder","bank_acc_no","promotion_id","target_bank_id","target_bank_acc_no","target_bank_acc_holder","attachment_path","deposit_date","bankAccNameRequired","refNoRequired","depositDateRequired","page_number","page_size","withdrawal_amount","isFreeC","getMemberTransferDetails","getPlatformWinLose","getMemberStatement","deposit_turnover","vip_name","getPromoStatement","getAdjustmentDetails","getInboxList","inboxClaim","inbox_id","getSurveyQuestion","op","comp","memberReview","json_rating","comment","recipient_no","getTopTenReview","return_url","pg_mayapay_url","payment_type","pg_htpay_url","bank_code","is_mobile","coupon_code","app_id","player_id","game_code","lang_code","status_desc","game_url","game_demo_url","lobby","game_lobby_url","game_type","ticket_id","detail_url","match_id","home_score","away_score","lang","annBeforeLogList","annAfterLogList","forEach","x","banner_type","img_url","Vuex","storageKey","VUE_APP_COOKIE","cookieStorage","VuexPersistence","storage","localStorage","reducer","store","Store","getters","accountID","currency","lastLoginTime","last_login_time","contactNumber","isLoggedIn","bankName","bankAccHolder","bankAccNo","getAvatar","getCurrentLevel","getSmarticoData","getMissions","getBadges","plugins","plugin","VuexSharedMutations","predicate","install","options","$helpers","apiConnect","json","showDialog","variant","$swal","text","errorHandling","$tc","$store","dispatch","$router","log","getDateTime","datetime","returnDateTime","$moment","format","page","onlyNumber","$event","keyCode","which","preventDefault","onlyAlphaNum","regex","isValid","test","String","fromCharCode","onlyAlphabet","evt","charCode","fmt","v","toString","indexOf","da","substr","d1","d2","d3","rs","betDisplay","bet_type","home_away","getHomeTeam","getAwayTeam","$t","criteria1","home_team_name","away_team_name","openModal","$","modal","closeModal","moment","tz","setDefault","numeral","VueResource","productionTip","helpers","swal","Vuelidate","VueSweetalert2","datePicker","VueMeta","beforeEach","to","from","matched","some","record","beforeLogIn","h","App","$mount","appTitle","appVersion","aa","baseUrl","userBaseUrl","userFundUrl","userReportUrl","userReviewUrl","userEventUrl","userFavurl","cmsUrl","couponUrl","paymentGatewayUrl","epicGame","epic2","awcGame","sabongGame","ironClaw","live22Game","evoGame","tpGame","hacksawGame","t1Game","fcGame","jiliGame","cq9Game","habaneroGame","ppsGame","ppCasino","launchOne","ygrGame","wowApi","tblGame","launchOpen","wBet","epicResultUrl","tblResultUrl","useConfigUrl","imageUrl","imageUpload","precision","getDomain","subdomain","replace","split","join","getBaseUrl","location","hostname","getGameResultSlot","getGameResultLivecasino","getGameResultRebate","getGameResultSb","getGameResultCockfight","getTopTenDepositWithdraw","memberTransferMember","getGraphData","appflyerSubmit","getEpicGamelist","getEpic2list","getLive22GameList","getAwcList","getFcList","getJiliList","getCq9List","getHabaneroList","getPpsList","getLaunchoneList","getYgrList","getOpenList","getEvolist"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAIx6D,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GAC7gBR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,GAAGxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OACh5DyC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,+FC1QM,QACb+F,MAAO,CACLC,QAAS,eACTC,OAAQ,cACRC,iBAAkB,mBAClBC,iBAAkB,oBAEpBC,OAAQ,CACNJ,QAAS,gBACTC,OAAQ,gBAEV3D,QAAS,CACP0D,QAAS,iBACTC,OAAQ,gBACRI,WAAY,oBACZC,QAAS,kBAEXC,QAAS,CACPC,aAAc,qBACdC,eAAgB,kBAChBC,gBAAiB,oBAEnBC,eAAgB,CACdX,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBC,cAAe,iBAEjBC,aAAc,CACZd,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBT,iBAAkB,mBAClBY,cAAe,iBAEjBC,kBAAmB,CACjBhB,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBK,gBAAiB,mBAEnBC,eAAgB,CACdlB,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBO,WAAY,CACVnB,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBQ,WAAY,CACVpB,QAAS,eACTC,OAAQ,cACRC,iBAAkB,mBAClBmB,YAAa,eAEfC,WAAY,CACVtB,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBW,WAAY,CACVvB,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBY,kBAAmB,CACjBxB,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBa,iBAAkB,CAChBzB,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBc,WAAW,CACT1B,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBe,eAAgB,CACd3B,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBgB,UAAW,CACT5B,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBiB,kBAAkB,CAChB7B,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBkB,eAAe,CACb9B,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBmB,YAAY,CACV/B,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBoB,oBAAoB,CAClBhC,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBqB,oBAAqB,CACnBjC,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBsB,cAAe,CACblC,QAAS,iBACTC,OAAQ,iBAEVkC,WAAW,CACTnC,QAAS,iBACTC,OAAQ,iBAEVmC,eAAgB,CACdpC,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBT,iBAAkB,mBAClBkC,oBAAqB,uBAEvBC,cAAc,CACZtC,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB2B,cAAe,CACbvC,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnB4B,eAAgB,iBAChBC,iBAAkB,mBAClBC,sBAAuB,wBACvBC,kBAAmB,qBAGrBC,iBAAkB,CAChB5C,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnB4B,eAAgB,mBAChBE,sBAAuB,uBACvBC,kBAAmB,oBAGrBE,eAAgB,CACd7C,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnB4B,eAAgB,iBAChBG,kBAAmB,qBAErBG,cAAe,CACb9C,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBmC,cAAe,CACb/C,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,wBACvBR,eAAgB,kBAElBS,cAAe,CACbjD,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,wBACvBR,eAAgB,kBAElBU,oBAAqB,CACnBlD,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBuC,oBAAqB,CACnBnD,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBwC,mBAAoB,CAClBpD,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErByC,aAAc,CACZrD,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB0C,kBAAmB,CACjBtD,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnB2C,2BAA4B,6BAC5Bf,eAAgB,iBAChBG,kBAAmB,qBAErBa,aAAc,CACZxD,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB6C,oBAAqB,CACnBzD,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB8C,SAAS,CACPC,QAAS,iBACT1D,OAAQ,gBACRW,kBAAmB,oBACnBgD,aAAa,gBAEfC,OAAO,CACLF,QAAS,iBACT1D,OAAQ,gBACRW,kBAAmB,oBACnBgD,aAAa,gBAEfE,SAAS,CACPH,QAAS,iBACT1D,OAAQ,gBACRW,kBAAmB,qBAErBmD,WAAW,CACTJ,QAAS,iBACT1D,OAAQ,gBACRW,kBAAmB,oBACnBoD,gBAAiB,mBAEnBC,WAAW,CACTN,QAAS,iBACT1D,OAAQ,gBACRW,kBAAmB,qBAErBsD,YAAY,CACVlE,QAAS,iBACTC,OAAQ,iBAEVkE,aAAa,CACXnE,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBwD,gBAAiB,kBACjBC,eAAgB,kBAElBC,cAAc,CACZtE,QAAS,iBACTC,OAAQ,iBAEVsE,QAAS,CACPvE,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBwB,MAAO,CACLxE,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzByB,MAAM,CACJzE,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB0B,MAAO,CACL1E,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB2B,WAAY,CACV3E,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB4B,UAAW,CACT5E,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB6B,WAAY,CACV7E,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB8B,aAAc,CACZ9E,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB+B,UAAW,CACT/E,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBgC,SAAU,CACRhF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBiC,OAAQ,CACNjF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBkC,QAAS,CACPlF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBmC,eAAgB,CACdnF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBoC,cAAe,CACbpF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBqC,SAAU,CACRrF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBsC,MAAO,CACLtF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBuC,MAAO,CACLvF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzBwC,QAAS,CACPxF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzByC,SAAU,CACRzF,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB0C,QAAS,CACP1F,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB2C,UAAW,CACT3F,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB4C,MAAO,CACL5F,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB6C,OAAQ,CACN7F,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB8C,MAAO,CACL9F,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBoC,sBAAuB,yBAEzB+C,iBAAiB,CACf/F,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBoF,YAAY,CACVpF,kBAAmB,oBACnBG,cAAe,gBACff,QAAS,iBACTC,OAAQ,iBAEVgG,WAAW,CACTjG,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBsF,YAAY,CACVlG,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBuF,WAAW,CACTnG,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBwF,mBAAmB,CACjBpG,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErByF,aAAa,CACXrG,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB0F,UAAU,CACRtG,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB2F,WAAW,CACTvG,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB4F,SAAS,CACPxG,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB6F,aAAa,CACXzG,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB8F,eAAe,CACb1G,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB+F,UAAU,CACR3G,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBgG,UAAU,CACR5G,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBiG,eAAe,CACb7G,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBkG,UAAU,CACR9G,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBmG,UAAU,CACR/G,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBoG,gBAAgB,CACdhH,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBqG,UAAU,CACRjH,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBsG,UAAU,CACRlH,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBuG,UAAU,CACRnH,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBwG,cAAc,CACZpH,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErByG,WAAW,CACTrH,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB0G,kBAAkB,CAChBtH,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB2G,iBAAiB,CACfvH,QAAS,iBACTC,OAAQ,iBAEVuH,eAAe,CACbxH,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB6G,eAAe,CACbzH,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB8G,cAAc,CACZ1H,QAAS,iBACTC,OAAQ,iBAEV0H,WAAW,CACT3H,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBgH,qBAAqB,CACnB5H,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBiH,eAAe,CACb7H,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBC,YAAY,CACV/H,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBE,gBAAgB,CACdhI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBG,eAAe,CACbjI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBI,aAAa,CACXlI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBK,kBAAkB,CAChBnI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBM,aAAa,CACXpI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBO,aAAa,CACXrI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBQ,cAAc,CACZtI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBS,YAAY,CACVvI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBU,aAAa,CACXxI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBW,aAAa,CACXzI,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBY,eAAe,CACb1I,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBa,uBAAuB,CACrB3I,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBgI,iBAAkB,IAQpBC,aAAa,CACX7I,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBgB,mBAAmB,CACjB9I,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBiB,aAAa,CACX/I,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBkB,aAAa,CACXhJ,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBmB,iBAAiB,CACfjJ,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,oBACnBkH,iBAAkB,oBAEpBoB,gBAAgB,CACdlJ,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErBuI,eAAe,CACbnJ,QAAS,iBACTC,OAAQ,iBAEVmJ,aAAa,CACXpJ,QAAS,iBACTC,OAAQ,iBAEVoJ,eAAe,CACbrJ,QAAS,iBACTC,OAAQ,iBAEVqJ,OAAO,CACLtJ,QAAS,iBACTC,OAAQ,iBAEVsJ,WAAW,CACTvJ,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB4I,OAAO,CACLxJ,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,qBAErB6I,UAAU,CACRzJ,QAAS,iBACTC,OAAQ,gBACRW,kBAAmB,uB,qBCtsBvB,IAAI8I,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX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","file":"js/app.96c04d04.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-024c2848\":\"0f6bd7a2\",\"chunk-24e6576e\":\"478ae75e\",\"chunk-36549ba2\":\"1e202a08\",\"chunk-3afeec0a\":\"9c10b353\",\"chunk-0b246246\":\"60a845b3\",\"chunk-0cb22feb\":\"efb0ba66\",\"chunk-2be1d0fc\":\"48d92d8e\",\"chunk-2d0a2d2c\":\"14b12e54\",\"chunk-2d0a3c5a\":\"844a51ac\",\"chunk-2d0abbfd\":\"79963e6a\",\"chunk-2d0ac40c\":\"1338b9be\",\"chunk-2d0ac61d\":\"10403d69\",\"chunk-2d0af296\":\"b325760b\",\"chunk-2d0b90a5\":\"74d8e612\",\"chunk-2d0be333\":\"a5cdfab2\",\"chunk-0232bbb8\":\"663f69cf\",\"chunk-1f7b09bf\":\"0390ad59\",\"chunk-74f2642e\":\"8a50752d\",\"chunk-23f44cc8\":\"7256bfc2\",\"chunk-0cdede2e\":\"62426c4a\",\"chunk-0fdabb06\":\"ee60968f\",\"chunk-2d0a54d3\":\"5bc09160\",\"chunk-2d0cf6a7\":\"e345a0f2\",\"chunk-45d4c56c\":\"8aa3c60c\",\"chunk-7d56bac7\":\"58643c01\",\"chunk-ab5a22a2\":\"d11328c0\",\"chunk-b6471bc8\":\"e3d01475\",\"chunk-c41e63f0\":\"9cc4f11b\",\"chunk-fe587680\":\"20157416\",\"chunk-6f666092\":\"0e4a4a93\",\"chunk-cae63a28\":\"cbf1a346\",\"chunk-2d0c4bb4\":\"12b79ea0\",\"chunk-2d0d07a7\":\"b6428f9b\",\"chunk-2d0d09b7\":\"35ac82c7\",\"chunk-2d0d36b5\":\"c356400f\",\"chunk-2d0d3e46\":\"f67b3bb2\",\"chunk-2d0d79dd\":\"8f2205ab\",\"chunk-2d0dd42c\":\"db1cb81a\",\"chunk-2d0dda30\":\"52f40652\",\"chunk-2d0de8c1\":\"200c8762\",\"chunk-2d0df0b2\":\"b6bdcd09\",\"chunk-2d0e9d18\":\"89cf2083\",\"chunk-2d0f07a4\":\"a1c2c8a4\",\"chunk-2d21313a\":\"671959ea\",\"chunk-2d2138bd\":\"9902b2f6\",\"chunk-2d21ad4b\":\"ecda9616\",\"chunk-2d21dba4\":\"f548d377\",\"chunk-2d21f0fa\":\"2998bb3c\",\"chunk-2d221a13\":\"b1e65333\",\"chunk-2d2227a5\":\"c68f3942\",\"chunk-2d225994\":\"a69b7e8d\",\"chunk-2d229d89\":\"37235e55\",\"chunk-2d22a166\":\"f65f7f33\",\"chunk-2d2304b8\":\"0faaa7ef\",\"chunk-33cb01ec\":\"8c7f723e\",\"chunk-46e2748a\":\"70378182\",\"chunk-49dc4420\":\"211d66f9\",\"chunk-5ee5b70c\":\"0adef0c8\",\"chunk-70732d9c\":\"785ac2f5\",\"chunk-2a9581c3\":\"b4b44bd2\",\"chunk-7f339874\":\"17c958d4\",\"chunk-82faf60a\":\"23f8f0ef\",\"chunk-8ea4997a\":\"f162625d\",\"chunk-d3885cea\":\"ba9fe825\",\"chunk-ddf472bc\":\"57b31bc2\",\"chunk-f4fa94e8\":\"5a7d890a\",\"chunk-f69c75fe\":\"6b565c6f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-024c2848\":1,\"chunk-24e6576e\":1,\"chunk-36549ba2\":1,\"chunk-3afeec0a\":1,\"chunk-0b246246\":1,\"chunk-0cb22feb\":1,\"chunk-2be1d0fc\":1,\"chunk-0232bbb8\":1,\"chunk-1f7b09bf\":1,\"chunk-74f2642e\":1,\"chunk-23f44cc8\":1,\"chunk-fe587680\":1,\"chunk-6f666092\":1,\"chunk-cae63a28\":1,\"chunk-33cb01ec\":1,\"chunk-46e2748a\":1,\"chunk-49dc4420\":1,\"chunk-5ee5b70c\":1,\"chunk-70732d9c\":1,\"chunk-2a9581c3\":1,\"chunk-7f339874\":1,\"chunk-82faf60a\":1,\"chunk-8ea4997a\":1,\"chunk-d3885cea\":1,\"chunk-ddf472bc\":1,\"chunk-f4fa94e8\":1,\"chunk-f69c75fe\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-024c2848\":\"5fe91dbe\",\"chunk-24e6576e\":\"fdef6436\",\"chunk-36549ba2\":\"964d0131\",\"chunk-3afeec0a\":\"58c7e5fb\",\"chunk-0b246246\":\"c19c3e6e\",\"chunk-0cb22feb\":\"6277ae1b\",\"chunk-2be1d0fc\":\"c19c3e6e\",\"chunk-2d0a2d2c\":\"31d6cfe0\",\"chunk-2d0a3c5a\":\"31d6cfe0\",\"chunk-2d0abbfd\":\"31d6cfe0\",\"chunk-2d0ac40c\":\"31d6cfe0\",\"chunk-2d0ac61d\":\"31d6cfe0\",\"chunk-2d0af296\":\"31d6cfe0\",\"chunk-2d0b90a5\":\"31d6cfe0\",\"chunk-2d0be333\":\"31d6cfe0\",\"chunk-0232bbb8\":\"c693aa67\",\"chunk-1f7b09bf\":\"425a5633\",\"chunk-74f2642e\":\"c19c3e6e\",\"chunk-23f44cc8\":\"6f709d3f\",\"chunk-0cdede2e\":\"31d6cfe0\",\"chunk-0fdabb06\":\"31d6cfe0\",\"chunk-2d0a54d3\":\"31d6cfe0\",\"chunk-2d0cf6a7\":\"31d6cfe0\",\"chunk-45d4c56c\":\"31d6cfe0\",\"chunk-7d56bac7\":\"31d6cfe0\",\"chunk-ab5a22a2\":\"31d6cfe0\",\"chunk-b6471bc8\":\"31d6cfe0\",\"chunk-c41e63f0\":\"31d6cfe0\",\"chunk-fe587680\":\"2ebe193c\",\"chunk-6f666092\":\"4740c6f6\",\"chunk-cae63a28\":\"26c2271f\",\"chunk-2d0c4bb4\":\"31d6cfe0\",\"chunk-2d0d07a7\":\"31d6cfe0\",\"chunk-2d0d09b7\":\"31d6cfe0\",\"chunk-2d0d36b5\":\"31d6cfe0\",\"chunk-2d0d3e46\":\"31d6cfe0\",\"chunk-2d0d79dd\":\"31d6cfe0\",\"chunk-2d0dd42c\":\"31d6cfe0\",\"chunk-2d0dda30\":\"31d6cfe0\",\"chunk-2d0de8c1\":\"31d6cfe0\",\"chunk-2d0df0b2\":\"31d6cfe0\",\"chunk-2d0e9d18\":\"31d6cfe0\",\"chunk-2d0f07a4\":\"31d6cfe0\",\"chunk-2d21313a\":\"31d6cfe0\",\"chunk-2d2138bd\":\"31d6cfe0\",\"chunk-2d21ad4b\":\"31d6cfe0\",\"chunk-2d21dba4\":\"31d6cfe0\",\"chunk-2d21f0fa\":\"31d6cfe0\",\"chunk-2d221a13\":\"31d6cfe0\",\"chunk-2d2227a5\":\"31d6cfe0\",\"chunk-2d225994\":\"31d6cfe0\",\"chunk-2d229d89\":\"31d6cfe0\",\"chunk-2d22a166\":\"31d6cfe0\",\"chunk-2d2304b8\":\"31d6cfe0\",\"chunk-33cb01ec\":\"c19c3e6e\",\"chunk-46e2748a\":\"949924d6\",\"chunk-49dc4420\":\"ff2f3e8f\",\"chunk-5ee5b70c\":\"054f29a6\",\"chunk-70732d9c\":\"48f2fc94\",\"chunk-2a9581c3\":\"ad1e28d4\",\"chunk-7f339874\":\"c19c3e6e\",\"chunk-82faf60a\":\"c19c3e6e\",\"chunk-8ea4997a\":\"c19c3e6e\",\"chunk-d3885cea\":\"411ffb80\",\"chunk-ddf472bc\":\"c85eee6c\",\"chunk-f4fa94e8\":\"c19c3e6e\",\"chunk-f69c75fe\":\"c19c3e6e\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export default {\n login: {\n succeed: \"loginSucceed\",\n failed: \"loginFailed\",\n usernameRequired: \"usernameRequired\",\n passwordRequired: \"passwordRequired\"\n },\n logout: {\n succeed: \"logoutSucceed\",\n failed: \"logoutFailed\"\n },\n request: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n processing: \"requestProcessing\",\n delayed: \"requestDelayed\"\n },\n session: {\n invalidToken: \"session_not_exists\",\n invalidSession: \"session_expired\",\n inactiveAccount: \"account_inactive\",\n },\n forgotPassword: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n phoneRequired: \"phoneRequired\"\n },\n memberSignUp: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n passwordRequired: \"passwordRequired\",\n emailRequired: \"emailRequired\",\n },\n memberTacValidate: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n tacCodeRequired: \"tacCodeRequired\"\n },\n memberRenewTac: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n mbTacLogin: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n mbNewLogin: {\n succeed: \"loginSucceed\",\n failed: \"loginFailed\",\n usernameRequired: \"usernameRequired\",\n otpRequired: \"otpRequired\"\n },\n getBalance: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n bankLookUp: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getMemberBankList: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getMemberEwallet: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n activeList:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getBankingMode: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getRebate: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getRebateDownline:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getRefereeList:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n claimRebate:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n claimRebateDownline:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getTurnoverProvider: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getSocialList: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n getRtplist:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n updatePassword: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n passwordRequired: \"passwordRequired\",\n newPasswordRequired: \"newPasswordRequired\"\n },\n profileUpdate:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n },\n memberAddBank: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n bankIdRequired: \"bankIdRequired\",\n bankNameRequired: \"bankNameRequired\",\n bankAccHolderRequired: \"bankAccHolderRequired\",\n bankAccNoRequired: \"bankAccNoRequired\",\n // tacCodeRequired: \"tacCodeRequired\"\n },\n memberAddEwallet: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n bankIdRequired: \"walletIdRequired\",\n bankAccHolderRequired: \"walletHolderRequired\",\n bankAccNoRequired: \"walletNoRequired\",\n // tacCodeRequired: \"tacCodeRequired\"\n },\n setDefaultBank: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n bankIdRequired: \"bankIdRequired\",\n bankAccNoRequired: \"bankAccNoRequired\",\n },\n memberBankTac: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n depositOfaPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n bankIdRequired: \"bankIdRequired\"\n },\n manualDeposit: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n bankIdRequired: \"bankIdRequired\"\n },\n getMemberTicketList: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getTurnoverDownline: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getPromotionStatus: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getMemberVip: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n addWithdrawTicket: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n withdrawal_amount_required: \"withdrawal_amount_required\",\n bankIdRequired: \"bankIdRequired\",\n bankAccNoRequired: \"bankAccNoRequired\",\n },\n getStatement: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getMemberGameResult: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getPromo:{\n success: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n dateRequired:\"dateRequired\"\n },\n getBet:{\n success: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n dateRequired:\"dateRequired\"\n },\n getInbox:{\n success: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n claimInbox:{\n success: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n bonusIdRequired: \"bonusIdRequired\"\n },\n launchGame:{\n success: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getQuestion:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n submitReview:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n commentRequired: \"commentRequired\",\n ratingRequired: \"ratingRequired\"\n },\n getSurveyList:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n mayaPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n htPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n aiPay:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n rmPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n gopayGcash: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n gopayMaya: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n dgpayGcash: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n dgpayGcashqr: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n dgpayMaya: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n cloudPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n topPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n anfuPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n shunfapayGcash: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n shunfapayMaya: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n worldPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n rgPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n wcPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n goldPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n xftgCash: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n xftUsdt: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n masayaPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n xyPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n tygPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n ctPay: {\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n depositAmountRequired: \"depositAmountRequired\",\n },\n getCouponDetails:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n },\n updateEmail:{\n accountIdRequired: \"accountIdRequired\",\n emailRequired: \"emailRequired\",\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n launchEpic:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchEpic2:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchWbet:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchHabaneroDemo:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchLive22:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchAwc:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchJili:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchFc:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchSabong:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchIronclaw:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchEvo:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchCq9:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchHabanero:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchPps:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchPpc:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchLaunchOne:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchYgr:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchWow:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchTbl:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n launchOpenapi:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getBetList:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getClaimedTickets:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getRealTimeTrans:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n getRebateChart:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getXchangeRate:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getStreamLink:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n getTopgame:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getPromoDepositCount:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getSpadeResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getHbResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getLive22Result:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getEpic2Result:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getCq9Result:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getHabaneroResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getPpsResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getAwcResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getJiliResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getFcResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getEvoResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getPgsResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getJokerResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getProviderGameOfflist:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n providerRequired: \"\"\n },\n // getEpicResult:{\n // succeed: \"requestSucceed\",\n // failed: \"requestFailed\",\n // accountIdRequired: \"accountIdRequired\",\n // resultIdRequired: \"resultIdRequired\"\n // },\n getPpcResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getLaunchoneResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getYgrResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getWowResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getOpenapiResult:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\",\n resultIdRequired: \"resultIdRequired\"\n },\n getTokenBalance:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n getSlideBanner:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n getAnnBanner:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n getPromoBanner:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n getSeo:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n },\n getFavlist:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n addFav:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n removeFav:{\n succeed: \"requestSucceed\",\n failed: \"requestFailed\",\n accountIdRequired: \"accountIdRequired\"\n },\n};\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-SG\": \"cdab\",\n\t\"./en-SG.js\": \"cdab\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\",\"data-server-rendered\":\"true\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=713fba8e&lang=pug&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n // {\r\n // path: \"\",\r\n // component: () => import(\"@/views/default/index.vue\"),\r\n // children: [\r\n {\r\n path: \"\",\r\n component: () => import(\"@/views/default/index.vue\"),\r\n children: [\r\n {\r\n path: \"\",\r\n name: \"home\",\r\n // component: () => import(\"@/views/default/_rightBar.vue\")\r\n component: () => import(\"@/views/default/_hotgame.vue\")\r\n },\r\n // {\r\n // path: \"/forgotPassword\",\r\n // component: () => import(\"@/views/default/_forgotPassword.vue\"),\r\n // meta: { beforeLogIn: true}\r\n // },\r\n {\r\n path: \"/epic\",\r\n name: \"epic\",\r\n component: () => import(\"@/views/default/_rightBar.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/epic\"\r\n }\r\n ]\r\n },\r\n // {\r\n // path: \"/hot\",\r\n // name: \"hot\",\r\n // component: () => import(\"@/views/default/_hotgame.vue\"),\r\n // children: [\r\n // {\r\n // path: \"*\",\r\n // redirect: \"/hot\"\r\n // }\r\n // ]\r\n // },\r\n {\r\n path: \"/slot\",\r\n name: \"slot\",\r\n component: () => import(\"@/views/default/_slot.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/slot\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/hash\",\r\n name: \"hash\",\r\n component: () => import(\"@/views/default/_hash.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/hash\"\r\n }\r\n ]\r\n },\r\n // {\r\n // path: \"/egames\",\r\n // name: \"egames\",\r\n // component: () => import(\"@/views/default/_egames.vue\"),\r\n // children: [\r\n // {\r\n // path: \"*\",\r\n // redirect: \"/egames\"\r\n // }\r\n // ]\r\n // },\r\n {\r\n path: \"/casino\",\r\n name: \"casino\",\r\n component: () => import(\"@/views/default/_casino.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/casino\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/table\",\r\n name: \"table\",\r\n component: () => import(\"@/views/default/_table.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/table\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/fishing\",\r\n name: \"fishing\",\r\n component: () => import(\"@/views/default/_fishing.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/fishing\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/bingo\",\r\n name: \"bingo\",\r\n component: () => import(\"@/views/default/_bingo.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/bingo\"\r\n }\r\n ]\r\n },\r\n // {\r\n // path: \"/sportbook\",\r\n // component: () => import(\"@/views/default/_sportbook.vue\"),\r\n // children: [\r\n // {\r\n // path: \"*\",\r\n // redirect: \"/sportbook\"\r\n // }\r\n // ]\r\n // },\r\n // {\r\n {\r\n path: \"/sabong\",\r\n name: \"sabong\",\r\n component: () => import(\"@/views/default/_sabong.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/sabong\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/profile\",\r\n name: \"profile\",\r\n component: () => import(\"@/views/default/_newProfile.vue\"),\r\n meta: { requiredLoggedIn: true},\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/profile\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/setting\",\r\n name: \"setting\",\r\n component: () => import(\"@/views/default/_memberProfile.vue\"),\r\n meta: { requiredLoggedIn: true},\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/setting\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/deposit\",\r\n name: \"deposit\",\r\n component: () => import(\"@/views/default/_deposit.vue\"),\r\n meta: { requiredLoggedIn: true},\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/deposit\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/withdrawal\",\r\n name: \"withdrawal\",\r\n component: () => import(\"@/views/default/_withdrawal.vue\"),\r\n meta: { requiredLoggedIn: true},\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/withdrawal\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/return\",\r\n component: () => import(\"@/views/default/_return.vue\"),\r\n // redirect: to =>{\r\n // return { path: '/statement', query: { q: 'history' }}\r\n // },\r\n meta: { requiredLoggedIn: true},\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/return\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/statement\",\r\n name: \"statement\",\r\n component: () => import(\"@/views/default/_statement.vue\"),\r\n meta: { requiredLoggedIn: true},\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/statement\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/contactUs\",\r\n component: () => import(\"@/views/default/_contactUs.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/contactUs\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/news\",\r\n component: () => import(\"@/views/default/_news.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/news\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/review\",\r\n component: () => import(\"@/views/default/_review.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/review\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/freeplay\",\r\n component: () => import(\"@/views/default/_freePlay.vue\"),\r\n },\r\n {\r\n path: \"/how-to-make-the-most-of-the-slot-free-100-pesos-bonus-at-epicwin-philippines\",\r\n component: () => import(\"@/views/default/news/_article5.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/how-to-make-the-most-of-the-slot-free-100-pesos-bonus-at-epicwin-philippines\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/new-member-enjoy-a-100-free-bonus-casino-no-deposit-philippines-at-EpicWin\",\r\n component: () => import(\"@/views/default/news/_article6.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/new-member-enjoy-a-100-free-bonus-casino-no-deposit-philippines-at-EpicWin\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/gcash-goldmine-how-to-score-a-slot-free-100-bonus-at-epicwin-philippines\",\r\n component: () => import(\"@/views/default/news/_article7.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/gcash-goldmine-how-to-score-a-slot-free-100-bonus-at-epicwin-philippines\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/play-legit-casino-games-when-you-are-a-new-member-register-free-100\",\r\n component: () => import(\"@/views/default/news/_article8.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/play-legit-casino-games-when-you-are-a-new-member-register-free-100\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/cash-in-on-fun-your-guide-to-the-best-online-casino-philippines\",\r\n component: () => import(\"@/views/default/news/_article9.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/cash-in-on-fun-your-guide-to-the-best-online-casino-philippines\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/online-casino-epicwin-philippines-is-providing-slot-free-100-pesos-to-all-new-registered-players\",\r\n component: () => import(\"@/views/default/news/_article10.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/online-casino-epicwin-philippines-is-providing-slot-free-100-pesos-to-all-new-registered-players\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/why-try-your-luck-in-epicwin-casino-online\",\r\n component: () => import(\"@/views/default/news/_luck.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/why-try-your-luck-in-epicwin-casino-online\"\r\n }\r\n ]\r\n },\r\n // {\r\n // path: \"/aboutUs\",\r\n // component: () => import(\"@/views/default/_aboutUs.vue\")\r\n // },\r\n // {\r\n // path: \"/faq\",\r\n // component: () => import(\"@/views/default/_faq.vue\")\r\n // },\r\n {\r\n path: \"/promotions\",\r\n component: () => import(\"@/views/default/_promotions.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/promotions\"\r\n }\r\n ]\r\n },\r\n // {\r\n // path: \"/affiliate\",\r\n // component: () => import(\"@/views/default/_affiliate.vue\")\r\n // },\r\n {\r\n path: \"/livestream\",\r\n component: () => import(\"@/views/default/_livestream.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/livestream\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/ambassador\",\r\n component: () => import(\"@/views/default/_ambassador.vue\"),\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/ambassador\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/referral\",\r\n name: \"referral\",\r\n component: () => import(\"@/views/default/_referral.vue\"),\r\n // meta: { requiredLoggedIn: true},\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/referral\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/inbox\",\r\n name: \"inbox\",\r\n component: () => import(\"@/views/default/_inbox.vue\"),\r\n meta: { requiredLoggedIn: true},\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/inbox\"\r\n }\r\n ]\r\n },\r\n {\r\n path: \"/vip\",\r\n name: \"vip\",\r\n component: () => import(\"@/views/default/_vip.vue\"),\r\n meta: { requiredLoggedIn: true},\r\n children: [\r\n {\r\n path: \"*\",\r\n redirect: \"/vip\"\r\n }\r\n ]\r\n },\r\n ]\r\n },\r\n {\r\n path: \"/mayapay\",\r\n component: () => import(\"@/views/default/_mayaPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/htpay\",\r\n component: () => import(\"@/views/default/_htPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/aipay\",\r\n component: () => import(\"@/views/default/_aipay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/rmpay\",\r\n component: () => import(\"@/views/default/_rmpay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/gopaygcash\",\r\n component: () => import(\"@/views/default/payment/_gopayGcash.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/gopaymaya\",\r\n component: () => import(\"@/views/default/payment/_gopayMaya.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/dgpaygcash\",\r\n component: () => import(\"@/views/default/payment/_dgpayGcash.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/dgpaygcashqr\",\r\n component: () => import(\"@/views/default/payment/_dgpayGcashqr.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/dgpaymaya\",\r\n component: () => import(\"@/views/default/payment/_dgpayMaya.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/cloudpay\",\r\n component: () => import(\"@/views/default/payment/_cloudPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/toppay\",\r\n component: () => import(\"@/views/default/payment/_topPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/anfu\",\r\n component: () => import(\"@/views/default/payment/_anfu.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/shunfapay\",\r\n component: () => import(\"@/views/default/payment/_shunfaPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/worldpay\",\r\n component: () => import(\"@/views/default/payment/_worldPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/rgpay\",\r\n component: () => import(\"@/views/default/payment/_rgPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/wcpay\",\r\n component: () => import(\"@/views/default/payment/_wcPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/goldpay\",\r\n component: () => import(\"@/views/default/payment/_goldPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/xftgcash\",\r\n component: () => import(\"@/views/default/payment/_xftgCash.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/xftusdt\",\r\n component: () => import(\"@/views/default/payment/_xftUsdt.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/masayapay\",\r\n component: () => import(\"@/views/default/payment/_masayaPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/xypay\",\r\n component: () => import(\"@/views/default/payment/_xyPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/tygpay\",\r\n component: () => import(\"@/views/default/payment/_tygPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/ctpay\",\r\n component: () => import(\"@/views/default/payment/_ctPay.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/launchOne\",\r\n component: () => import(\"@/views/default/oneapi/_launchGame.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/launchYgr\",\r\n component: () => import(\"@/views/default/gameapi/_launchYgr.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/launchWow\",\r\n component: () => import(\"@/views/default/gameapi/_launchWow.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/launchTbl\",\r\n component: () => import(\"@/views/default/gameapi/_launchTbl.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/launchWbet\",\r\n component: () => import(\"@/views/default/_launchWbet.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/lobby\",\r\n name: \"lobby\",\r\n component: () => import(\"@/views/default/_lobby.vue\"),\r\n meta: { requiredLoggedIn: true}\r\n },\r\n {\r\n path: \"/demolobby\",\r\n name: \"demolobby\",\r\n component: () => import(\"@/views/default/_demoLobby.vue\"),\r\n },\r\n {\r\n path: \"*\",\r\n component: () => import(\"@/views/default/_errorPage.vue\")\r\n },\r\n // ]\r\n // }\r\n];\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes\r\n});\r\n\r\nexport default router;\r\n","export default {\n account_required: 'Please enter username',\n password_required: 'Please enter password',\n confirm_password_different: 'Confirm Password is not the same as Password',\n min_length: \"Must be 6 characters or above\",\n alphanumeric_char: \"Only alphanumeric character are accepted\",\n numeric_char: \"Only numeric character are accepted\",\n list:{\n 0: \"Your session has expired, please login again.\",\n disconnect: \"Please check your connection and try again\",\n OK: \"OTP sent successfully\", // for OTP\n ok: \"OTP sent successfully\", // for OTP\n CLOSE: \"Your account has been banned for violating EpicWin's Fair Gaming Terms\",\n close: \"Your account has been banned for violating EpicWin's Fair Gaming Terms\",\n accountIdRequired: 'Please enter username',\n passwordStrengthError: 'Create your own password. Password must be 6-20 characters and a combination of number(s) and letter(s).',\n session_expired : 'Session Expired',\n\n app_id_required: \"Application ID is required\",\n permission_denied: \"Permission denied\",\n account_id_required: \"Username/Account ID is required\",\n verification_code_required: \"Verification code is required\",\n account_not_exists: \"Username/Account does not exist\",\n account_inactive: \"Username/Account is inactive\",\n verify_failed: \"Verification process failed\",\n parent_account_inactive: \"Parent account is inactive\",\n transfer_id_required: \"Transfer ID is required\",\n credit_amount_required: \"Credit amount is required\",\n duplicate_credit_record: \"Duplicated credit record\",\n member_wallet_not_exists: \"Member wallet does not exist\",\n debit_amount_required: \"Debit amount is required\",\n duplicate_debit_record: \"Duplicated debit record\",\n insufficient_balance: \"Available balance is insufficient\",\n result_exists: \"Result record has existed\",\n debit_record_not_found: \"Debit record is not found\",\n bank_id_required: \"Bank ID is required\",\n bank_acc_no_required: \"Bank account number is required\",\n bank_acc_holder_required: \"Bank account holder name is required\",\n bank_already_setup: \"Bank account has already been setup\",\n platform_required: \"Platform is required\",\n parent_not_exists: \"Parent does not exist\",\n invalid_password: \"Invalid username/ password\",\n parent_id_required: \"Parent ID is required\",\n password_required: \"Password is required\",\n contact_phone_required: \"Contact phone number is required\",\n account_exists: \"User/Account ID has already existed\",\n vip_mode_not_exists: \"VIP mode does not exist\",\n session_not_exists: \"Your session has expired, please login again.\",\n ticket_id_required: \"Ticket ID is required\",\n ref_id_required: \"Reference ID is required\",\n ticket_not_exists: \"Ticket does not exist\",\n ticket_processed: \"Ticket has already been processed\",\n min_deposit_not_met: \"Deposit amount must be at least equals to minimum amount\",\n ongoing_promotion: \"You have an ongoing promotion. Please claim again later\",\n invalid_promo_package: \"Invalid promotion package\",\n promo_min_deposit_not_met: \"Deposit amount does not meet promotion minimum\",\n claim_promo_only_once_a_day: \"Promotion can only be claimed once a day\",\n first_deposit_unmet: \"Daily first deposit reward has be claimed\",\n newbie_unmet: \"Newbie deposit reward has been claimed\",\n claim_promo_only_once: \"Promotion can only be claimed once\",\n inner_catch: \"Unexpected Error\",\n systemError: \"System Error\",\n SystemError: \"System Error\",\n deposit_amount_required: \"Deposit amount is required\",\n target_bank_id_required: \"Target bank ID is required\",\n target_bank_acc_no_required: \"Target bank account number is required\",\n target_bank_acc_holder_required: \"Target bank account holder name is required\",\n deposit_date_required: \"Deposit date is required\",\n deposit_method_required: \"Deposit method is required\",\n min_deposit_not_set: \"Minimum deposit amount has not been set\",\n min_balance_not_set: \"Minimum available balance has not been set\",\n ibank_account_not_exists: \"IBANK88 account does not exist\",\n ibank_account_inactive: \"IBANK88 account is inactive\",\n withdrawal_amount_required: \"Withdrawal amount is required\",\n min_withdrawal_not_set: \"Minimum withdrawal amount has not been set\",\n bank_member_not_exists: \"Target member bank account does not exist\",\n promotion_requirement_not_met: \"You are still having ongoing promotion\",\n invalid_promotion: \"Invalid promotion\",\n new_password_required: \"New password is required\",\n multiplier_not_found: \"System unable to process your request at the moment, please try again later\",\n contact_phone_exists: \"This phone has already been registered\",\n BLOCK: \"Your account has been suspended\",\n tac_is_valid: \"Your previous OTP still valid\",\n tac_expired: \"Your OTP has expired. Please request new OTP\",\n invalid_tac: \"Invalid OTP\",\n tac_not_validate: \"OTP not validate yet\",\n tacCodeRequired: \"Please enter OTP\",\n invalid_referral_code: \"Invalid Referral Code\",\n exceed_max_withdrawal: \"Exceed maximum withdrawal\",\n bank_member_inactive: \"User Bank is inactive\",\n loginFailed: \"Fail to login\",\n loginSucceed: \"Login successfully\",\n usernameRequired : \"Please enter username\",\n passwordRequired : \"Please enter password\",\n logoutSucceed : \"Logout successfully\",\n logoutFailed : \"Fail to logout\",\n requestSucceed: \"Request Success\",\n requestFailed : \"Request failed\",\n requestProcessing : \"Your request is currently being processed\",\n requestDelayed: \"Request delay\",\n verificationCodeRequired: \"Verification OTP is required\",\n newPasswordRequired: \"New Password is required\",\n bankIdRequired: \"Please select bank\",\n bankNameRequired: \"Bank Name is required\",\n bankAccHolderRequired : \"Bank Account Holder's name is required\",\n bankAccNoRequired: \"Bank Account number is required\",\n depositAmountRequired: \"Please enter deposit amount\",\n dateRequired: \"Please choose date\",\n bonusIdRequired: \"Please choose gift to claim\",\n bank_member_exists: \"Bank account already registered\",\n never_deposited : \"You must make at least one deposit before you can transfer money to your friends\",\n transferAmountMustGreaterThanEqual5: \"Transfer amount must be greater or equal PHP 5\",\n invalid_transfer_amount: \"Transfer amount must be greater or equal PHP 5\",\n // account_not_exists : \"account not exists\"\n ongoing_promotion : \"You are still having ongoing promotion\",\n insufficient_balance : \"Insufficient Balance\",\n transfer_success: \"Transfer Successfully\",\n sender_id_required: \"Sender ID required\",\n recipient_id_required: \"Recipient ID required\",\n tac_validated: \"OTP is validated. Please request again\",\n pending_result_in_game: \"Pending result in game\",\n accountIdOnlyNumber: \"Valid phone number only\",\n unfinishgamedetected: \"Please finish your free game before proceed to this action\",\n duplicate_review: \"You already submitted review previously\",\n exceed_withdrawal_frequency: \"You have exceeded the daily withdrawal limit.(5 times per day)\",\n requestTooFrequentAtLeast2Minutes: \"Your request is being processed\",\n invalidPhoneNumberFormat: \"Invalid Phone Number Format\",\n fpayUnderMaintenance: \"System under maintenance\",\n affiliate_not_exists: \"Affiliate not exist\",\n phoneRequired: 'Please enter phone number',\n couponeCodeRequired: \"Coupon code is required\",\n coupon_code_required: \"Coupon code is required\",\n coupon_not_available: \"Coupon code is unavailable\",\n contact_email_registered: \"Email already exists\",\n invalidEmailFormat: \"Invalid Email Format\",\n emailRequired: \"Email is required\",\n paymentMethodRequired: \"Please Choose Payment Method\",\n depositMethodRequired: \"Please Choose Deposit Method\",\n resultIdRequired: \"Result id required\",\n free_credit_detected: \"Deposit to play\",\n unableToLaunchSlotGameAtTheMoment: \"Unable to launch game at the moment\",\n\n //new\n amount_required: \"Amount is required\",\n auth_token_required: \"Session token is required\",\n bet_id_required: \"Bet id is required\",\n bonus_unavailable: \"Bonus unavailable\",\n client_ip_required: \"Client ip required\",\n first_deposit_not_met: \"First Deposit required\",\n ftd_required: \"First Deposit required\",\n game_maintenance: \"Currenty under maintenance, please try again later\",\n gateway_acc_required : \"Gateway account required\",\n inbox_id_required: \"Inbox ID required\",\n insufficient_rebate: \"Insufficient rebate\",\n insufficient_ticket: \"Insufficient ticket\",\n is_default_required: \"default selection required\",\n min_withdrawal_not_met: \"Minimum withdrawal not met\",\n newbie_not_met: \"Newbie not met\",\n no_changes: \"Info remain unchanged\",\n promotion_not_available:\"Promotion not available\",\n ref_no_required: \"Reference number required\",\n result_id_required: \"Result ID required\",\n search_id_required: \"Search ID required\",\n setting_not_set: \"Setting not configured\",\n tac_required: \"OTP required\",\n ticket_count_required: \"Ticket amount required\",\n vip_not_exists: \"Not a VIP member\",\n working_date_required: \"Working date required\",\n working_month_required: \"Working month required\",\n withdrawal_amount_lte_withhold_amount: \"Withdrawal amount less than or equal to withhold amount.\",\n providerRequired: \"Provider required\",\n invalid_contact_email: \"Invalid Email\",\n invalidUsernameFormat: \"Invalid username format\",\n affiliate_inactive: \"Inactive Affiliate\",\n insufficient_token: \"Insufficient Token\",\n otpRequired: \"OTP required\",\n undefined: \"Please check your connection and try again\",\n failedtolaunchpaymentgateway: \"Currently under maintenance, please try again later\",\n bank_member_full : \"Reach maximum capacity of bank accounts (10 accounts)\",\n bank_acc_holder_not_same: \"Invalid Account Name\",\n member_ewallet_exists: \"E-Wallet account exists\",\n member_ewallet_full: \"Reach maximum capacity of E-Wallet accounts (10 E-Wallet accounts)\",\n invalid_bank_id: \"Invalid Bank/ E-Wallet\",\n verification_failed: \"Invalid username/ phone number\",\n depositAmountMustGreaterThan0: \"Deposit Amount must be greater than 0\",\n depositAmountMustGreaterThanMin: \"Deposit Amount must be greater than minimum requirement\",\n depositAmountMustLessThanMax: \"Deposit Amount cannot exceeds maximum limit\",\n favourite_game_exists: \"Exist in favourite game list\",\n pending_deposit: \"Pending Deposit\",\n \"Incoming Request Info Incomplete\" : \"Incoming Request Info Incomplete\",\n \"Invalid Player\": \"Invalid Player\",\n \"Invalid Auth Token\" : \"Invalid Auth Token\",\n \"Create Account Failed\": \"Create Account Failed\",\n \"Launch Game Failed\" : \"Launch Game Failed\",\n \"Invalid Type\" : \"Invalid Type\",\n \"Invalid Lang\" : \"Invalid Lang\",\n \"System Error\" : \"System Error\",\n \"Get Game List Failed\": \"Get Game List Failed\",\n \"Invalid PlayerId\": \"Invalid PlayerId\",\n \"Invalid TicketId\": \"Invalid TicketId\",\n \"Get Bet Detail Url Failed\": \"Get Bet Detail Url Failed\",\n launch_fail: \"Launch game error, please contact admin\",\n playerCreatedError: \"Launch game error, please contact admin\",\n \"Launch Fail\": \"Launch game error, please contact admin\",\n \"SERVER BUSY\": \"Launch game error, please contact admin\",\n currencyNotSupported : \"Currency not supported\",\n game_not_supported:\"Game is not supported in the bonus you've claimed.\"\n },\n success_claim: \"Check claim in wallet\",\n\n newpw_required: \"Please enter new password\",\n newpw_notsame: \"New password cannot be the same as current password\",\n newpw_alphanumeric: \"New password must be combination of alphabet and number\",\n\n oldpw_required: \"Please enter current password.\",\n\n pw_notmatched: \"Confirm password did not match with new password\",\n\n forgot_password_success: \"Password updated successfully!!\",\n change_password_success: \"Password updated successfully!!\",\n add_bank_success: \"New Bank Account added successfully!!\",\n add_wallet_success: \"New E-Wallet added successfully!!\",\n set_default_success: \"Set As Default Successfully!!\",\n update_success:\"Updated Successfully\",\n\n tac_tooltips: \"OTP has been sent to your contact number.\",\n tac_tooltips1: 'Click \"Resend\" to get new OTP',\n tac_countdown: \"Resend again in {countdown}\",\n\n bank_details_tooltips: \"Your withdrawal transaction wil be rejected, if your Bank Account Name is diferent form your registered full name in EpicWin.\",\n copy_clipboard: \"Link copied\",\n \n about_us_1: \"

INSTANT WITHDRAWAL

Fast processing times with streamlined and transparent processes for making instant withdrawals

KEEPING IT REAL

EpicWin is all about complete transparency, so everything is totally upfront, fair and simple.

\",\n about_us_2: \"

YOU WIN IT, YOU GOT IT

We believe in rewarding those who deserve to be rewarded. That’s why we have lower down total win requirements and give you money every time you play.

\",\n about_us_3: \"

IT’S ALL YOURS

We give you control. Your money is YOUR money, take it, play it or do whatever you want with it.
We think the more you play, the more you should get: more fun and more rewards.
Ready for a more playful and fruitful escape from the everyday?

\",\n\n promo_1_title: \"FREE CREDIT PROMO\",\n promo_1a: \"
FREE CREDIT RM100
Free Credit
Win Requirement
Withdrawal Amount
100
500
10
\",\n promo_1b: \"

TERMS & CONDITIONS

\",\n // general: \"

GENERAL TERMS & CONDITIONS

\",\n general: \"

GENERAL TERMS & CONDITIONS

\",\n\n promo_2_title: \"REFERRAL BONUS\",\n promo_2a: {\n title1: \"Criteria\",\n title2: \"Rewards\",\n details1: \"Friend Deposit Any Amount\",\n details2: \"10% Cashback\",\n details3: \"Referred Friend's 1st Time Deposit(min. RM30)\",\n details4: \"1 Jackpot Ticket\",\n details5: \"40 Successful Referral\",\n details6: \"1 Jackpot Ticket\",\n tnc: \"TERMS & CONDITIONS\",\n tnc_details1: \"Get 10% rebate up to RM20 for every Referred Friend's deposit.(any amount)\",\n tnc_details2: \"Invite and refer at least 3 friends. When a referred friend deposits min. RM30, you’ll get 1 Jackpot Ticket as a reward.\",\n tnc_details3: \"Maximum win for Free Spins is capped at IDR10 (1000 coins)\",\n // tnc_details4: \"The 10% cashback promotion is subject to win requirement x1 prior to withdrawal.\",\n },\n\n promo_3_title: \"WELCOME BONUS\",\n promo_3_title_full: \"Welcome Bonus - ONE TIME Bonus\",\n promo_3a: {\n title1: \"Deposit(IDR)\",\n title2: \"%\",\n title3: \"Bonus(IDR)\",\n title4: \"Starting\",\n title5: \"Winover\",\n details1_1: \"30\",\n details1_2: \"100%\",\n details1_3: \"30\",\n details1_4: \"60\",\n details1_5: \"x2\",\n details2_1: \"100\",\n details2_2: \"120%\",\n details2_3: \"120\",\n details2_4: \"220\",\n details2_5: \"x3\",\n details3_1: \"300\",\n details3_2: \"150%\",\n details3_3: \"450\",\n details3_4: \"750\",\n details3_5: \"x5\",\n tnc: \"TERMS & CONDITIONS\",\n tnc_details1: \"Choose only ONE promotion\",\n tnc_details2: \"Only available ONCE for any member's 1st deposit\",\n tnc_details3: \"Winover requirement prior to withdraw\"\n },\n\n promo_4_title: \"Daily Deposit Bonus\",\n promo_4a: \"
Daily Deposit Bonus
Deposit Amount
Bonus
Bonus Amount
Starting Balance
Withdrawal Amount
10
20%
2
12
24
30
10%
3
33
66
50
10%
5
55
110
100
10%
10
110
220
200
10%
20
220
440
300
10%
30
330
660
\",\n promo_4b: \"

TERMS & CONDITIONS

\",\n\n promo_5_title: \"NON BONUS DEPOSIT\",\n promo_5a:{\n title1: \"Deposit\",\n title2: \"Free Jackpot Tickets\",\n // title3: \"Withdraw\",\n details1_1: \"10\",\n details1_2: \"50\",\n details2_1: \"100\",\n details2_2: \"200\",\n details3_1: \"500\",\n details3_2: \"1000\",\n details4_1: \"500\",\n details4_2: \"10\",\n details5_1: \"1000\",\n details5_2: \"13\",\n // details6_1: \"2000\",\n // details6_2: \"10 Premium Spin\",\n // details7_1: \"3000\",\n // details7_2: \"12 Premium Spin\",\n // details8_1: \"5000\",\n // details8_2: \"25 Premium Spin\",\n // details9_1: \"10000\",\n // details9_2: \"50 Premium Spin\",\n // details3: \"IDR 10\",\n description1: \"Non-Bonus Deposit can only be used in these cases:\",\n description1_1: \"(i) Balance less than PHP5\",\n description1_2: \"(ii) Withdrawal\",\n description1_3: \"(iii) Zero Balance\",\n tnc: \"TERMS & CONDITIONS\",\n tnc_details1: \"1x turnover requirement prior to withdraw.\",\n // tnc_details2: \"Upon withdrawal of the free credits, the win balance will be reset to zero.\",\n // tnc_details3: \"Members who claim these free credits will not qualify for any other promotion until successfully reaching the minimum win balance required under this promotion\",\n // tnc_details4: \"The Free Credit promotion is not valid with other promotions. A member's deposit will automatically be forfeited if found to be used to claim multiple promotions.\",\n // tnc_details5: \"1x turnover requirement prior to withdraw.\"\n },\n promo_5b: \"

TERMS & CONDITIONS

\",\n\n player_transfer: \"

TERMS & CONDITIONS

\",\n promo_6_title: \"VIP BONUS\",\n promo_6a: \"
VIP BONUS
Deposit Amount
Bonus Amount
Starting Balance
Withdrawal Amount
1000
1500
2500
7500
\",\n promo_6b: \"

TERMS & CONDITIONS

\",\n\n wrong_filetype: \"Wrong Filetype\",\n \n};\n","export default {\n bank: \"Bank\",\n winlose: \"Win/Lose\",\n balance: \"Balance\",\n win: \"Win\",\n lose: \"Lose\",\n tie: \"Tie\",\n history: \"History\",\n transfer_details: \"Transfer Details\",\n id: \"ID\",\n game: \"Game\",\n contactus: \"Contact\",\n join_now: \"Join Now\",\n manual_deposit: \"Manual Deposit\",\n\n aboutus: \"About Us\",\n attention: \"Attention\",\n amount_currency: \"Amount ({currency} Min: {min} Max: {max})\",\n all: \"All\",\n amount: \"Amount\",\n approved: \"Approved\",\n and: \"and\",\n atm_cash: \"ATM/Cash Deposit\",\n account_name: \"Account Name\",\n account_no: \"Account No.\",\n amount_min: \"Minimum Amount\",\n amount_max_short: \"Maximum Amount\",\n amount_not_min: \"Amount does not reach minimum requirement\",\n amount_max:\"Amount exceeded maximum limit\",\n add_bank: \"Add Bank\",\n account_id: \"Account ID\",\n adjustment_details: \"Adjustment Details\",\n after_balance: \"After Balance\",\n android: \"Android\",\n atm: \"ATM\",\n acc_detail: \"Account Details\",\n amount_receive: \"Amount Received\",\n active_player: \"Total ACTIVE PLAYERS\",\n affiliate_code: \"Affiliate Code\",\n admin: \"Admin\",\n admin_open: \"If you have problem receiving OTP, kindly contact us via Live Chat\",\n attachment_tips: \"Please upload your transaction receipt\",\n accounts: \"Accounts\",\n active: \"Active\",\n\n bank_accname: \"Account Holder\",\n bank_accno: \"Account Number\",\n bank_name: \"Bank Name\",\n bank_detail: \"Bank Details\",\n bet_history: \"Bet History\",\n bank_account: \"Bank Account\",\n better_luck: \"Better luck next time!\",\n birthday: \"Birthday\",\n bonus_details: \"Bonus Details\",\n before_balance: \"Before Balance\",\n bonus_value: \"Bonus Value\",\n bonus: \"Bonus\",\n bank_ewallet: \"E-Wallet\",\n bank_ewalletname: \"E-Wallet Holder\",\n bank_ewalletno: \"E-Wallet Number\",\n brand: {\n vision: \"BRAND VISION\",\n vision_desc: \"A world without scams. To be the slots maker with the world's fastest jackpot withdrawal\",\n purpose: \"BRAND PURPOSE\",\n purpose_desc: \"To eliminate all scams so that everyone's jackpot dream can come true\"\n },\n bankdetail_reminder: \"You haven't add any E-Wallet or Bank Account yet\",\n bankdetail_reminder1: \"Click here to add \",\n\n cdm: \"CDM\",\n counter: \"COUNTER\",\n cancel: \"Cancel\",\n change_password: \"Change Password\",\n confirm_password: \"Confirm Password\",\n close: \"Close\",\n claim: \"Claim\",\n claim_now: \"claim now\",\n current_balance: \"Current Balance\",\n cash_deposit: \"Cash Deposit\",\n contact_for_bank: \"Contact EpicWin Livechat\",\n congratulations: \"Congratulations!\",\n contact_number: \"Contact Number\",\n claim_rewards: \"Claim Rewards\",\n cash_value: \"Cash Value\",\n customer_review: \"EPIC's REVIEWS\",\n claim_offer: \"Claim my offer!\",\n custom_description: {\n comment_placeholder: \"Leave your comments here\",\n review_complete_header: \"Thanks for spreading Good Vibes!\",\n review_complete_text: \"We'll Use it to improve the product.\",\n },\n count: \"Count\",\n click_here: \"Click Here\",\n change: \"Change\",\n coupon: \"Coupon\",\n category: \"Category\",\n choose_promo: \"Choose Promotion\",\n choose_nopromo: \"Do not participate in any promotions\",\n\n deposit: \"Deposit\",\n deposit_short: \"Deposit\",\n deposit_enter: \"Please enter deposit amount\",\n deposit_method: \"Deposit Method\",\n deposit_method_select: \"Please select a deposit method\",\n deposit_reminder: \"I have read, understood and agree to all the stipulated \",\n deposit_reminder_two: \" covering bonuses and/or withdrawal requirements\",\n download: \"Download\",\n download_android: \"Android Download\",\n download_ios: \"iOS Download\",\n date: \"Date\",\n date_expiry:\"Expiry Date\",\n done: \"Done\",\n deposit_now: \"Deposit Now\",\n description: \"Description\",\n download_1: \"Join Now & Be a part of EPIC Family\",\n download_2: \"Your EPIC journey starts here!\",\n deposit_tnc: \"Deposit - Free Jackpot Tickets\",\n developer_response: \"Developer Response\",\n daily_update: \"Daily Update\",\n downloadgame: \"Download Game\",\n duitnow:{\n desc1: \"Minimum Deposit: \",\n desc1_1: \"RM30\",\n desc2: \"Save receipt of transfer\",\n desc3: \"Notify LiveChat to receive credits.\",\n desc4: \"Enjoy playing our games!\"\n },\n deposit_min:\"Min. Deposit\",\n\n email: \"Email\",\n enter_bank_accname: \"Please enter bank account holder name\",\n enter_bank_accno: \"Please enter bank account number\",\n enter_ewallet_name: \"Please fill in E-Wallet owner's name\",\n enter_ewallet_no: \"Please fill in E-Wallet number\",\n eta: \"ETA\",\n epic_production: \"EPIC Production\",\n edit: \"Edit\",\n\n female: \"Female\",\n failed: \"Failed\",\n forgot_password: \"Forgot Password?\",\n faq: \"FAQ\",\n footer: {\n title: \"Calling all VIPs: the high rollers and just-for-fun-guys; the feet-up-unwinders and the buzz-seekers. For anyone who seek for TRUSTEDonline casino, EpicWin is here to show you the way.\",\n description: \"Welcome to EpicWin, home of the trendiest online slot games in Malaysia, offering players free play, free credit claim upon signup (just register to claim free credit), bonus giveaways, and of course, access to the best Malaysia online slot games that you won't find anywhere else.\",\n description1: \"But wait, before you start winning big, don't forget your \\\"claim free credit link\\\", which is your entitlement as a new EpicWin player that lets you kickstart your journey at this one-of-a-kind free credit casino, home to only the best free credit slot games. Register to claim free credit for your winning journey today!\",\n description2: \"Register to claim free credit on EpicWin and play the best Malaysia online slot games. Practice winning with EpicWin, Malaysia's best online casino with free credit, no deposit!\",\n description3: \"EpicWin is the top online slot Malaysia casino offering cool perks such as game slot free credit. It's a dream come true — sign up for free, claim free credit, and start your EPIC winning journey!\",\n },\n for_android: \"For Android\",\n for_ios: \"For iOS\",\n find_out: \"Find Out More\",\n file_choose: \"Choose File\",\n file_upload: \"Upload File\",\n file_requirement: \"File size cannot exceed 1mb and must be in png, jpg or jpeg format\",\n full_name: \"Full Name\",\n fill_stars: \"Kindly give your ratings before proceed\",\n full_phone: \"Phone Number (手机号码, Nombor Telefon)\",\n full_referral: \"Referral Code (邀友代码, Kod Pengajakan)\",\n\n gender: \"Gender\",\n game_play: \"Game Play\",\n game: \"Game\",\n get: \"Get\",\n gcash_reminder: \"For first time deposits, GCash face scan is required but rest assured the following transactions will not require it and is guaranteed hassle free!\",\n\n hi: \"Hi, \",\n has_won: \"Has achieved\",\n has_won_rate: \" Winning Rate\",\n has_withdraw: \"Has withdrew\",\n homepage: {\n header1: \"ORIGINAL NOVOMATIC SLOTS\",\n desc1: \"Enjoy the best slots from the market leader!\",\n header2: \"LEADERBOARDS\",\n desc2: \"Play against your friends in multiple slot-themed leaderboards and races!\",\n header3: \"TOP BONUSES!\",\n desc3: \"Enjoy loads of bonuses and promotions!\",\n header4: \"VIP CLUB & LOYALTY PROGRAMME\",\n desc4: \"Let’s roll out the red carpet! As a VIP you can enjoy a host of benefits.\"\n },\n hourly_update: \"Hourly Update\",\n hot_movie: \"HOT Movies\",\n\n ios: \"iOS\",\n inactive: \"Inactive\",\n\n jackpot: \"Jackpot\",\n\n leaderboard_title: \"TOP 15 PLAYERS WITH THE MOST MAGIC SPINS\",\n login: \"Login\",\n logout: \"Logout\",\n login_now: \"Login Now\",\n lucky_spin: \"lucky spin to win up to IDR{value}\",\n latest_transactions: \"Latest Transactions\",\n lucky_wheel: \"Lucky Wheel\",\n loyalty_points: \"loyalty points\",\n last_4_digits: \"Last 4 Digit of Phone Number\",\n last_login: \"Last Login\",\n lang_en: \"English\",\n lang_zh: \"Chinese\",\n lang_my: \"Malay\",\n luckydraw_announcement: \"You Will Earn Lucky Draw Tickets Upon Successful Deposit
Stay Tuned For Live Lucky Draw
19 April 2021, 7.30pm\",\n language:{\n en: 'en',\n cn: 'zh-cn',\n my: 'ms'\n },\n login_otp: \"Login with OTP\",\n login_pass: \"Login with password\",\n\n male: \"Male\",\n mobile: \"Mobile\",\n minigames: \"Mini Games\",\n method: \"Method\",\n min: \"Min\",\n min_amount: \"Min Amount\",\n monthly_update: \"Monthly Update\",\n movies: \"Movies\",\n movie_watch: \"Watch Now\",\n max: \"Max\",\n\n name: \"Name\",\n next: \"next\",\n new_password: \"New Password\",\n no_account_yet: \"No Account Yet?\",\n no_win: \"You did not win anything this time around :(\",\n nickname: \"Nickname\",\n next_update_time: \"Next Update Time\",\n no_bonus_found: \"No bonus details found\",\n no_adjustment_found: \"No adjustment details found\",\n no_new_gifts: \"No new gifts\",\n no: \"No.\",\n no_contact: \"No contact available!\",\n no_new_message: \"No new message\",\n newsletter: \"I want to know about offers & promotion via email, text or post\",\n\n others: \"Others\",\n offical_team: \"Official Team\",\n online: \"ONLINE\",\n online_banking: \"Online Banking\",\n online_banking_set: \"Online Banking ({bank})\",\n option: \"Option {0}\",\n optional: \"Optional\",\n old_password: \"Old Password\",\n ok: \"Ok\",\n current_password: \"Current Password\",\n operator_bank_list: \"Operator Bank List\",\n promotion_selected: \"Promotion selected\",\n\n pending: \"Pending\",\n play_now: \"Play Now\",\n password: \"Password\",\n password_signup: \"Password\",\n phone_number: \"Phone Number\",\n promotion: \"Promotion\",\n promotions: \"Promotions\",\n promotion_select: \"Please Select Promotion / No Promotion\",\n profile: \"Profile\",\n privacy_policy: \"Privacy Policy\",\n privacy_statement: \"Privacy Statement\",\n password_tips:\"Create your own password. Password must be 6-20 characters and a combination of number(s) and letter(s).\",\n phone_tips: \"Valid phone number ONLY eg: +63 9163451812, no spacing\",\n problem_contact:\"If you have problem receiving a code, kindly contact us via Live Chat.\",\n reset_tips: \"Please enter last 4 digits of your phone number\",\n prev: \"Prev\",\n please_select: \"Please Select\",\n please_select_bank: \"Please Select a Bank\",\n please_select_ewallet: \"Please select E-Wallet\",\n please_select_payment: \"Please select payment option\",\n progress : \"Progress\",\n promotion_bonus: \"Promotion Bonus\",\n promotion_details: \"Promotion Details\",\n phone_no_reminder_recipient: \"Please fill in recipient phone number\",\n phone_recipient_same: \"Recipient phone number cannot be the same as sender\",\n promo_select: \"Please Select Promotion\",\n promo_none: \"No Promotion\",\n payment_option: \"Payment Option\",\n personal_info: \"Personal Info\",\n payment_info: \"Payment Info (BANK)\",\n payment_channel: \"Payment Channel\",\n processing: \"Processing\",\n payment_gateway: \"Payment Gateway\",\n\n ref_num_enter: \"Please enter reference number\",\n register: \"Register\",\n register_now: \"Register Now\",\n responsible_gambling: \"Responsible Gambling\",\n responsible_gaming: \"Responsible Gaming\",\n rebate: \"Rebate\",\n rejected: \"Rejected\",\n result: \"RESULT\",\n reward: \"Reward\",\n rewards: \"Rewards\",\n referral: \"Referral\",\n referral_link: \"Referral Link: \",\n referral_desc: {\n one : \"Refer & earn cashback up to \",\n two: \"RM20 \",\n three: \"for every new Referred Friend's non promo deposit\",\n },\n referral_prefix: \"Refer & earn cashback up to RM20 for every new Referred Friend's non promo deposit! Link: \",\n referral_code: \"Referral Code\",\n resend: \"Resend\",\n request_again: \"Request OTP\",\n reference_number: \"Reference Number\",\n reference_number_tooltips: \"Please enter reference number\",\n remarks: \"Remarks\",\n real_time: \"Real Time\",\n recipient_id: \"Recipient ID\",\n review: \"Review | review\",\n review_title: \"Rate Your EPIC Game Journey\",\n registered_player: \"Total REGISTERED PLAYERS\",\n royalty_level:{\n 1: 'Bronze',\n 2: 'Silver',\n 3: 'Gold',\n 4: 'Platinum',\n 5: 'Diamond'\n },\n register_title: \"Register Now & Get Free Angpow\",\n register_popup:{\n title: \"Welcome to Epicwin Philippines\",\n content1: \"Claim Freebet 24K\",\n content2: \"For new registered members, please contact whatsapp to claim the bonus\",\n content3: \"+628989977298\",\n claim: \"Claim Freebet\"\n },\n\n save: \"save\",\n send: \"Send\",\n social_responsibility: \"social responsibility\",\n status: \"Status\",\n slotgames: \"Slots\",\n slot_play: \"Play\",\n slot_games: \"Slot Games\",\n slot_games_mobile: \"Mobile Slot Games\",\n signup: \"Sign Up\",\n signupform: {\n first_line: \"I’m over 18 years of age and I accept these \",\n account_exist: \"Already have an account?\",\n verification_number: \"Verification Number\",\n problem_assist: \"If you have problem receiving a code, kindly contact us via Live Chat.\",\n subscription_confirm: \"I want to know about offers & promotions via email, text or post.\",\n account_success_first: \"Your account has been \",\n account_success_second: \"successfully created\",\n deposit_now: \"Deposit Now\"\n },\n submit: \"Submit\",\n select_bonus: \"Please Select Bonus / No Bonus\",\n spin_again: \"SPIN AGAIN\",\n success: \"Success\",\n share: \"Share\",\n share_title: \"Share to:\",\n share_invite_code: \"Share your invitation code\",\n share_facebook:\"Share to Facebook\",\n share_to_friend: \"Share to a Friend\",\n share_referral_reward: \"Get IDR 10.00 for both and your friend\",\n select_deposit: \"Please select deposit method\",\n survey: {\n 1: \"Game Experience\",\n 2: \"Withdrawal Speed\",\n 3: \"Customer Service\",\n 4: \"Game Design\",\n 5: \"Refer Friend\"\n },\n single_highest: \"Single Bet with Highest Payout\",\n signup_success: \"Your account has been successfully created\",\n skip: \"skip\",\n setting: \"Setting\",\n\n tac_tips: \"If you have problem receiving OTP, please click the livechat button \",\n time: \"Time\",\n tutorials: \"Tutorials\",\n type: \"Type\",\n transfer: \"Transfer\",\n transfer_amount: \"Transfer Amount\",\n transaction_history: \"Transaction History\",\n transfer_history: \"Transfer History\",\n tnc: \"T&C\",\n tnc_full: \"Terms and Conditions\",\n tnc_accept_reminder: \"Please tick the checkbox to agree with our terms and conditions\",\n ticket_status: {\n \"0\": \"Rejected\",\n \"1\": \"Approved\"\n },\n tac_code : \"OTP\",\n tac_code_new: \"New OTP has been sent to your phone number\",\n topten_WITHDRAWAL: \"withdrew\",\n topten_DEPOSIT:\"deposited\",\n transaction: \"Transaction\",\n tutorial_deposit: \"How to Deposit - In-App\",\n tutorial_withdrawal: \"How to Make Withdrawal - In App\",\n tutorial_transfer: \"How to Transfer - In App\",\n tutorial_android: \"How to Download - Android\",\n tutorial_ios: \"How to Download - IOS\",\n transfer_fee: \"Transfer Fee\",\n transfer_fee_message: \" RM0.20 per transaction\",\n thankyou:{\n header: \"Welcome to the Epic Family.\",\n description: \"Every member will receive a token of appreciation.\"\n },\n total_withdrawal: \"MONTHLY NO. OF WITHDRAWAL\",\n total_review: \"MONTHLY NO. OF REVIEW\",\n top_games: \"TOP 10 POPULAR GAMES\",\n topgames_period: \"LAST 30 DAYS\",\n\n username: \"Username\",\n uh_oh: \"Uh-oh!\",\n statement: \"Statement\",\n upload_file: \"Upload File\",\n upload_file_tooltips: \"File size cannot exceed 1mb and must be in png, jpg or jpeg format\",\n update: \"update\",\n update_email: \"Update Email\",\n update_email_success: \"Email Update Successfully\",\n unknown: \"Unknown\",\n\n verification_number: \"SMS OTP\",\n view_transaction_history: \"view transaction history\",\n view_transaction: \"You can view transaction history up to 90 days.\",\n verification_no_required: \"OTP Required\",\n phone_no_reminder: \"Please enter last 4 digits of your phone number\",\n videos: \"Videos\",\n video_link: \"Video URL\",\n\n welcome_to: \"Welcome To\",\n welcome_1: \"The #1 Brand By Slots Maker.\",\n welcome_2: \"With all payments guaranteed\",\n welcome_3: \"Not just a brand, We're Slots Maker\",\n withdrawal: \"Withdrawal\",\n withdraw_required: \"Withdrawal amount required.\",\n withdraw_greater_50: \"Withdrawal amount must be greater than or equal to 50.\",\n worth: \"Worth\",\n withdrawal_details: \"Withdrawal Detail\",\n withdrawal_details1: \"The Numbers of Withdrawal: 5 times per day\",\n withdrawal_details2: \"Duration: 1min: RM10, 000\",\n withdrawal_details3: \"Duration: 3min: RM100, 000 & Above\",\n withdrawal_speed: \"WITHDRAWAL SPEED\",\n withdrawal_epic: \"EPIC WITHDRAWAL\",\n withdrawal_topten: \"TOP 10 WITHDRAWAL\",\n winner_topten: \"TOP 10 EPIC WINNERS\",\n withdrawal_reminder: \"Reminder: To avoid forfeiting your balance, please withdraw the full amount if you're taking any promotion\",\n\n you_won: \"You won the\",\n you_have: \"You have\",\n withdraw_target_tips: \"You need hit the target to withdraw\",\n\n promo_display:{\n OTB: \"Welcome Bonus\",\n UB: \"Daily Deposit Bonus\",\n VIPB: \"VIP Bonus\",\n DB: \"Daily Deposit Bonus\"\n },\n\n rebate_toclaim: \"Claimable Rebate\",\n rebate_total: \"Total Rebate\",\n adjustment: \"Adjustment\",\n game_name: \"Game Name\",\n referee: \"referee\",\n platform: \"platform\",\n provider: \"provider\",\n turnover: \"turnover\",\n inbox: \"Inbox\",\n bank_profile: \"bank profile\",\n attachment: \"attachment\",\n completed: \"completed\",\n worldcup: \"world cup\",\n no_record: \"No Record Found\",\n earn_rebated: \"Rebate Earned\",\n turnover_amount: \"Turnover Amount\",\n acc_turnover: \"Accumulate Turnover\",\n earn_ticket : \"Ticket Earned\",\n total_downline: \"Total Downline\",\n submit_predict: \"submit prediction\",\n coming_soon: \"coming soon\",\n fill_predict: \"*Please fill in your prediction\",\n step_one: \"step 1\",\n home: \"home\",\n slot: \"slot\",\n slots: \"slots\",\n games: \"games\",\n livecasino: \"livecasino\",\n live: \"live\",\n casino: \"casino\",\n fishing: \"fishing\",\n sportsbook: \"sportsbook\",\n sports: \"sports\",\n book: \"book\",\n cockfight: \"cockfight\",\n real_time_trans: \"Real Time Transaction\",\n copy_referral: \"Copy Referral Link\",\n invite_friend: \"Invite Friend!\",\n bet_time: \"bet time\",\n bet_empty: \"Your betlist is empty\",\n result_empty: \"No result\",\n error_button: \"BACK TO HOME PAGE\",\n new_member: \"new member\",\n special: \"special\",\n daily: \"daily\",\n redeem: \"redeem\",\n bet_list: \"Bet List\",\n notice: \"Notice\",\n notice_welcome: \"Welcome to epicwin! Best Trusted Online Casino In Philippines To Play\",\n statement_daily: \"Daily Statement\",\n campaign: \"campaign\",\n worldcup_2022: \"World cup 2022\",\n turnover_downline: \"Downline Turnover\",\n daily_rebate: \"Daily Game Rebate\",\n redeem_ticket: \"Redeem Ticket\",\n back: \"back\",\n ticket: \"Ticket\",\n claimed_ticket: \"Tickets claimed\",\n ftd_message: \"Congratulations, you have been rewarded with 30k, claim it now!\",\n free_credit_message: \"Free Credit is only available to play EpicWin games\",\n deposit_amount: \"Deposit Amount\",\n self_rebate_rate:\"self rebate rate\",\n downline_rebate_rate: \"downline rebate rate\",\n more_info: \"More Info\",\n info: \"Info\",\n item: \"Item\",\n inboxTnc: {\n one: 'Free Credit IDR 24,000 will be given to members in \"EPICWIN\" Slots Game.\"',\n two: 'After achieving 10x Winover, the IDR30,000 will drop in Reward.',\n three: 'Upon redeem the free credits from “Reward”, the remaining win balance will be reset to zero.',\n four: 'Members need to deposit WITHOUT promotion and hit 1x Turnover requirement prior to withdraw.',\n five: 'Members deposit WITH promotion be based on the term and condition requirement of that particular promotion. ',\n six: 'The Free Credit amount will be FORFEITED if member deposit WITH promotion.',\n seven: 'General Terms & Conditions apply.'\n },\n referralTnc:{\n one: 'All members are able to join.',\n two: 'Your commission percentage level is determined based on the number of TURNOVER of your downline members EVERYDAY.',\n three: 'There is no maximum or minimum limit on how much you want to invite new members, the more your downline members the more benefits you will get.',\n four: 'Every new member is required to fill in your referral ID code or register via your referral link.',\n five: 'The referral link and code (ex: REF0000000001) can be seen in the \"PROFILE\" and \"REFERRAL\"',\n six: 'Turnover gained by using Free Credit is NOT entitle for rebate.',\n seven: \"If members recommend themselves or do not follow the terms and conditions, Epicwin reserves the right not to distribute commissions.\",\n eight: \"Epicwin reserved all rights to terminate members' account if members violate the rules of referral program.\",\n nine: 'For more info regarding the Referral bonus percentage, kindly refer to the table at the \"i\" button in the \"REFERRAL\" tab.'\n },\n footer_desc: \"Epicwin uses cutting-edge methods to ensure the security of information we receive from you. All information we receive is transferred using hack-proof encryption technologies and, once stored on our servers, all data is safeguarded with the latest firewall technologies available. Our website and our gaming software utilize all available means to ensure the accuracy and privacy of data, and to protect the data from abuse or loss.\",\n follow_us: \"Follow Us\",\n payment_method: \"Payment Method\",\n certification: \"Certification\",\n slot_desc:\"Among all the game judi online, one of the most interested and iconic game nowadays is slots games. It is because slots games are the easiest game judi to understand especially game judi slot android. The higher bet you put meaning the greater gifts you can win and bring home with. Sometimes some situs judi slot will also provide freebet for you to enjoy their games. \",\n casino_desc: \"Last time, live casino gambling game can only be done in certain places by visiting it directly. But now you can easily find some famous live casino online in Philippines such as Pragmatic, Microgaming and others with the help of situs judi online resmi like Epicwin.\",\n sportsbook_desc: \"Judi bola online has been familiar among the gambling players. Every year, football competitions are always held and must be used as betting event in situs judi bola. Nowadays, permainan judi bola online is already very famous not only in other countries but in Philippines also. Currently in Philippines, the sportbook terbaik is wbet.\",\n username_guide: \"Username must be 6-20 characters and a combination of number(s) and letter(s).\",\n trans_time: \"Trans.Time\",\n event: \"Event\",\n odds: \"Odds\",\n odd: \"Odd\",\n stake: \"Stake\",\n ref_no: \"Ref No.\",\n lost: \"Lost\",\n draw: \"Draw\",\n american_football: \"American Football\",\n soccer: \"Soccer\",\n basketball: \"Basktetball\",\n baseball: \"Baseball\",\n esports: \"E-Sports\",\n esports2: \"E-Sports\",\n tennis: \"Tennis\",\n even: \"Even\",\n over: \"Over\",\n under: \"Under\",\n slot_custom: \"Slot\",\n sb_custom: \"Sportsbook\",\n\n //country\n Argentina: \"Argentina\",\n Australia: \"Australia\",\n Belgium: \"Belgium\",\n Brazil: \"Brazil\",\n Cameroon: \"Cameroon\",\n Canada: \"Canada\",\n CostaRica: \"Costa Rica\",\n \"Costa Rica\": \"Costa Rica\",\n Croatia: \"Croatia\",\n Denmark: \"Denmark\",\n Ecuador: \"Ecuador\",\n England: \"England\",\n France: \"France\",\n Germany: \"Germany\",\n Ghana: \"Ghana\",\n Iran: \"Iran\",\n Japan: \"Japan\",\n Mexico: \"Mexico\",\n Morocco: \"Morocco\",\n Netherlands: \"Netherlands\",\n Poland: \"Poland\",\n Portugal: \"Portugal\",\n Qatar: \"Qatar\",\n SaudiArabia: \"Saudi Arabia\",\n \"Saudi Arabia\": \"Saudi Arabia\",\n Senegal: \"Senegal\",\n Serbia: \"Serbia\",\n SouthKorea: \"South Korea\",\n \"South Korea\": \"South Korea\",\n Spain: \"Spain\",\n Switzerland: \"Switzerland\",\n Tunisia: \"Tunisia\",\n Uruguay: \"Uruguay\",\n USA: \"USA\",\n Wales: \"Wales\"\n};\n","export default {\n account_existed: \"Username is not available.\",\n account_not_exists: \"Username does not exist.\",\n\n invalid_password: \"Invalid Password!\",\n insufficient_balance: \"Insufficient balance!\",\n\n // verify_failed: \"Verification number incorrect\",\n\n withdrawalAmountMustGreaterThan0: \"Withdrawal amount must be greater than 0.\",\n block: \"Your account are suspended\",\n\n requestTooFrequentAtLeast2Minutes: \"Request too frequent. Please try again after 2 minutes.\",\n\n invalidPasswordFormat:\"Create your own password. Password must be 6-20 characters and a combination of number(s) and letter(s).\",\n isRequired: \"Please fill up {fname}.\",\n isMinValue: \"{fname} must have minimal of {fvalue}.\",\n isMaxValue: \"{fname} must be less than or equal to {fvalue}.\",\n isMinLength: \"{fname} must have at least {fvalue} characters.\",\n isMaxLength: \"{fname} must be less than or equal to {fvalue} characters.\",\n isAlpha: \"{fname} accept only alphabet.\",\n isAlphaNum: \"{fname} accept only alphanumerics.\",\n isNumeric: \"{fname} accept only numerics.\",\n isEmail: \"Please enter a valid email address.\",\n isIpAddress: \"{fname} accept only valid IPv4 addresses.\",\n isSameAs: \"{fname} must be same as {fname2}.\",\n isUrl: \"{fname} accept only URLs.\",\n containAlphaNum: \"{fname} must have at least one alphabet and one number.\",\n selectOption: \"Please select a {fname}\",\n notSameAs: \"{fname} and {fname2} cannot be the same.\",\n isBetween: \"{fname} must be between {min} and {max}.\",\n checkFormat: \"Please fill in recipient phone number in following format: 012 3456789 or 012 34567890\",\n invalid_referral_code: \"Invalid Referral Code\",\n accountIdOnlyNumber: \"Only allow number\",\n passwordStrengthError: \"Create your own password. Password must be 6-20 characters and a combination of number(s) and letter(s).\",\n tacCodeRequired: \"OTP is required\",\n invalid_tac: \"Invalid OTP\",\n tac_is_valid: \"OTP has been sent to your contact number\",\n loginFailed: \"Fail to login\",\n loginSucceed: \"Login successfully\",\n usernameRequired : \"Please enter username\",\n passwordRequired : \"Please enter password\",\n logoutSucceed : \"Logout successfully\",\n logoutFailed : \"Fail to logout\",\n requestSucceed: \"Request Success\",\n requestFailed : \"Request failed\",\n requestProcessing : \"Your request is currently being processed\",\n requestDelayed: \"Request delay\",\n verificationCodeRequired: \"Verification OTP is required\",\n newPasswordRequired: \"New Password is required\",\n bankIdRequired: \"Please select bank\",\n bankNameRequired: \"Bank Name is required\",\n bankAccHolderRequired : \"Bank Account Holder's name is required\",\n bankAccNoRequired: \"Bank Account number is required\",\n walletIdRequired: \"Please select e-wallet\",\n walletHolderRequired: \"E-Wallet owner's name is required\",\n walletNoRequired: \"E-Wallet number is required\",\n depositAmountRequired: \"Please enter deposit amount\",\n dateRequired: \"Please choose date\",\n bonusIdRequired: \"Please choose gift to claim\",\n session_expired : 'Session Expired',\n account_inactive: \"Username/Account is inactive\",\n account_exists: \"User/Account ID has already existed\",\n OK: \"OTP sent successfully\", // for OTP\n ok: \"OTP sent successfully\", // for OTP\n CLOSE: \"Your account has been banned for violating EpicWin's Fair Gaming Terms\",\n close: \"Your account has been banned for violating EpicWin's Fair Gaming Terms\",\n accountIdRequired: 'Please enter username',\n\n app_id_required: \"Application ID is required\",\n permission_denied: \"Permission denied\",\n account_id_required: \"Username/Account ID is required\",\n verification_code_required: \"Verification code is required\",\n account_inactive: \"Username/Account is inactive\",\n verify_failed: \"Verification process failed\",\n parent_account_inactive: \"Parent account is inactive\",\n transfer_id_required: \"Transfer ID is required\",\n credit_amount_required: \"Credit amount is required\",\n duplicate_credit_record: \"Duplicated credit record\",\n member_wallet_not_exists: \"Member wallet does not exist\",\n debit_amount_required: \"Debit amount is required\",\n duplicate_debit_record: \"Duplicated debit record\",\n result_exists: \"Result record exists\",\n debit_record_not_found: \"Debit record is not found\",\n bank_id_required: \"Bank ID is required\",\n bank_acc_no_required: \"Bank account number is required\",\n bank_acc_holder_required: \"Bank account holder name is required\",\n bank_already_setup: \"Bank account has already been setup\",\n platform_required: \"Platform is required\",\n parent_not_exists: \"Parent does not exist\",\n parent_id_required: \"Parent ID is required\",\n password_required: \"Password is required\",\n contact_phone_required: \"Contact phone number is required\",\n vip_mode_not_exists: \"VIP mode does not exist\",\n session_not_exists: \"Your session has expired, please login again.\",\n ticket_id_required: \"Ticket ID is required\",\n ref_id_required: \"Reference ID is required\",\n ticket_not_exists: \"Ticket does not exist\",\n ticket_processed: \"Ticket has already been processed\",\n min_deposit_not_met: \"Deposit amount must be at least equals to minimum amount\",\n ongoing_promotion: \"You have an ongoing promotion. Please claim again later\",\n invalid_promo_package: \"Invalid promotion package\",\n promo_min_deposit_not_met: \"Deposit amount does not meet promotion minimum\",\n claim_promo_only_once_a_day: \"Promotion can only be claimed once a day\",\n first_deposit_unmet: \"Daily first deposit reward has be claimed\",\n newbie_unmet: \"Newbie deposit reward has been claimed\",\n claim_promo_only_once: \"Promotion can only be claimed once\",\n inner_catch: \"Unexpected Error\",\n systemError: \"System Error\",\n SystemError: \"System Error\",\n deposit_amount_required: \"Deposit amount is required\",\n target_bank_id_required: \"Target bank ID is required\",\n target_bank_acc_no_required: \"Target bank account number is required\",\n target_bank_acc_holder_required: \"Target bank account holder name is required\",\n deposit_date_required: \"Deposit date is required\",\n deposit_method_required: \"Deposit method is required\",\n min_deposit_not_set: \"Minimum deposit amount has not been set\",\n min_balance_not_set: \"Minimum available balance has not been set\",\n bank_account_not_exists: \"Bank account does not exist\",\n bank_account_inactive: \"Bank account is inactive\",\n withdrawal_amount_required: \"Withdrawal amount is required\",\n min_withdrawal_not_set: \"Minimum withdrawal amount has not been set\",\n bank_member_not_exists: \"Target member bank account not existed\",\n promotion_requirement_not_met: \"You are still having ongoing promotion\",\n invalid_promotion: \"Invalid promotion\",\n new_password_required: \"New password is required\",\n multiplier_not_found: \"System unable to process your request at the moment, please try again later\",\n contact_phone_exists: \"This phone has already been registered\",\n BLOCK: \"Your account has been suspended\",\n tac_expired: \"Your OTP has expired. Please request new OTP\",\n tac_not_validate: \"OTP not validate yet\",\n exceed_max_withdrawal: \"Exceed maximum withdrawal\",\n bank_member_inactive: \"User Bank is inactive\",\n bank_member_exists: \"Bank account already registered\",\n never_deposited : \"You must make at least one deposit before you can transfer money to your friends\",\n transferAmountMustGreaterThanEqual5: \"Transfer amount must be greater or equal PHP 5\",\n invalid_transfer_amount: \"Transfer amount must be greater or equal PHP 5\",\n // account_not_exists : \"account not exists\"\n // ongoing_promotion : \"You are still having ongoing promotion\",\n transfer_success: \"Transfer Successfully\",\n sender_id_required: \"Sender ID required\",\n recipient_id_required: \"Recipient ID required\",\n tac_validated: \"OTP is validated. Please request again\",\n pending_result_in_game: \"Pending result in game\",\n accountIdOnlyNumber: \"Valid phone number only\",\n unfinishgamedetected: \"Please finish your free game before proceed to this action\",\n duplicate_review: \"You already submitted review previously\",\n exceed_withdrawal_frequency: \"You have exceeded the daily withdrawal limit.(5 times per day)\",\n requestTooFrequentAtLeast2Minutes: \"Your request is being processed\",\n invalidPhoneNumberFormat: \"Invalid Phone Number Format\",\n fpayUnderMaintenance: \"System under maintenance\",\n affiliate_not_exists: \"Affiliate not exist\",\n phoneRequired: 'Please enter phone number',\n couponeCodeRequired: \"Coupon code is required\",\n coupon_code_required: \"Coupon code is required\",\n coupon_not_available: \"Coupon code is unavailable\",\n contact_email_registered: \"Email already exists\",\n invalidEmailFormat: \"Invalid Email Format\",\n emailRequired: \"Email is required\",\n paymentMethodRequired: \"Please Choose Payment Method\",\n depositMethodRequired: \"Please Choose Deposit Method\",\n resultIdRequired: \"Result id required\",\n withdrawal_amount_lte_withhold_amount: \"Withdrawal amount less than or equal to withhold amount.\",\n\n //new\n amount_required: \"Amount is required\",\n auth_token_required: \"Session token is required\",\n bet_id_required: \"Bet id is required\",\n bonus_unavailable: \"Bonus unavailable\",\n client_ip_required: \"Client ip required\",\n first_deposit_not_met: \"First Deposit required\",\n ftd_required: \"First Deposit required\",\n game_maintenance: \"Currenty under maintenance, please try again later\",\n gateway_acc_required : \"Gateway account required\",\n inbox_id_required: \"Inbox ID required\",\n insufficient_rebate: \"Insufficient rebate\",\n insufficient_ticket: \"Insufficient ticket\",\n is_default_required: \"default selection required\",\n min_withdrawal_not_met: \"Minimum withdrawal not met\",\n newbie_not_met: \"Newbie not met\",\n no_changes: \"Default Bank remain unchanged\",\n promotion_not_available:\"Promotion not available\",\n ref_no_required: \"Reference number required\",\n result_id_required: \"Result ID required\",\n search_id_required: \"Search ID required\",\n setting_not_set: \"Setting not configured\",\n tac_required: \"OTP required\",\n ticket_count_required: \"Ticket amount required\",\n vip_not_exists: \"Not a VIP member\",\n working_date_required: \"Working date required\",\n working_month_required: \"Working month required\",\n providerRequired: \"Provider required\",\n invalid_contact_email: \"Invalid Email\",\n invalidUsernameFormat: \"Invalid username format\",\n otpRequired: \"OTP required\",\n \"Incoming Request Info Incomplete\" : \"Incoming Request Info Incomplete\",\n \"Invalid Player\": \"Invalid Player\",\n \"Invalid Auth Token\" : \"Invalid Auth Token\",\n \"Create Account Failed\": \"Create Account Failed\",\n \"Launch Game Failed\" : \"Launch Game Failed\",\n \"Invalid Type\" : \"Invalid Type\",\n \"Invalid Lang\" : \"Invalid Lang\",\n \"System Error\" : \"System Error\"\n}","export default {\n BT_O: \"Over\",\n BT_U: \"Under\",\n\n BT_BOTH: \"Both\",\n BT_ONE: \"One\",\n BT_HDP: \"Handicap\",\n BT_OU: \"Over/Under\",\n BT_ML: \"Moneyline\",\n BT_1X2: \"1X2\",\n BT_1X2HDP: \"3 Way Handicap\",\n BT_CS: \"Correct Score\",\n BT_OE: \"Odd/Even\",\n BT_DC: \"Double Chance\",\n BT_HTFT: \"Half Time/Full Time\",\n BT_FGLG: \"First Goal/Last Goal\",\n BT_TG: \"Total Goal\",\n BT_OR: \"Outright\",\n BT_ORZ: \"Outright\",\n\n BT_ANB: \"Away No Bet\",\n BT_BS: \"Both/One/Neither Team To Score\",\n BT_CL: \"Clean Sheet\",\n BT_DNB: \"Draw No Bet\",\n BT_HNB: \"Home No Bet\",\n BT_TWTN: \"To Win To Nil\",\n\n BT_HDPH: \"1H. Handicap\",\n BT_OUH: \"1H. Over/Under\",\n BT_MLH: \"1H. Moneyline\",\n BT_1X2H: \"1H. 1X2\",\n BT_1X2HDPH: \"1H. 3 Way Handicap\",\n BT_CSH: \"1H. Correct Score\",\n BT_OEH: \"1H. Odd/Even\",\n BT_DCH: \"1H. Double Chance\",\n BT_FGLGH: \"1H. First Goal/Last Goal\",\n BT_TGH: \"1H. Total Goal\",\n\n TB_HDP: \"FT. HDP\",\n TB_OU: \"FT. O/U\",\n TB_1X2: \"FT. 1X2\",\n TB_OE: \"FT. O/E\",\n TB_HDPH: \"1H. HDP\",\n TB_OUH: \"1H. O/U\",\n TB_1X2H: \"1H. 1X2\",\n TB_OEH: \"1H. O/E\",\n\n BT_HDPOU: \"HDP & OU\",\n BT_PARLAY: \"Mix Parlay\",\n BT_FT: \"FT. \",\n BT_1H: \"1H. \",\n BT_2H: \"2H. \",\n\n BT_FG: \"First Goal\",\n BT_LG: \"Last Goal\",\n BT_HFG: \"HF\",\n BT_AFG: \"AF\",\n BT_HLG: \"HL\",\n BT_ALG: \"AL\",\n BT_NG: \"NG\",\n BT_HY: \"Home Yes\",\n BT_HN: \"Home No\",\n BT_AY: \"Away Yes\",\n BT_AN: \"Away No\",\n BT_H: \"Home\",\n BT_A: \"Away\",\n BT_D: \"Draw\",\n BT_HD_DC: \"HD\",\n BT_HA_DC: \"HA\",\n BT_DA_DC: \"DA\",\n BT_HH: \"HH\",\n BT_HD: \"HD\",\n BT_HA: \"HA\",\n BT_DH: \"DH\",\n BT_DD: \"DD\",\n BT_DA: \"DA\",\n BT_AH: \"AH\",\n BT_AD: \"AD\",\n BT_AA: \"AA\",\n\n BT_Y: \"Yes\",\n BT_N: \"No\",\n\n BT_LIVE: \"LIVE\",\n BT_Live: \"LIVE\",\n BT_live: \"LIVE\",\n BT_HT: \"H.TIME\",\n BT_DELAYED: \"DELAY\",\n BT_PEN: \"PEN\",\n\n BT_FT1: \"FT.1\",\n BT_FT2: \"FT.2\",\n BT_FTX: \"FT.X\",\n\n TC_FT1: \"1\",\n TC_FT2: \"2\",\n TC_FTX: \"X\",\n\n BT_HT1: \"HT.1\",\n BT_HT2: \"HT.2\",\n BT_HTX: \"HT.X\",\n\n F5_INN_HDP: \"F5 INN. HDP\",\n F5_INN_OU: \"F5 INN. O/U\",\n\n BS_HDP: \"FT Handicap\",\n BS_HDPH: \"FH Handicap\",\n BS_OU: \"FT Over/Under\",\n BS_OUH: \"FH Over/Under\",\n BS_OE: \"FT Odd/Even\",\n BS_OEH: \"FH Odd/Even\",\n BS_1X2: \"FT 1X2\",\n BS_1X2H: \"FH 1X2\",\n BS_ML: \"FT Moneyline\",\n BS_MLH: \"FH Moneyline\",\n BS_1X2HDP: \"FT 3 Way HDP\",\n BS_1X2HDPH: \"FH 3 Way HDP\",\n BS_CS: \"FT Correct Score\",\n BS_CSH: \"FH Correct Score\",\n BS_DC: \"FT Double Chance\",\n BS_DCH: \"FH Double Chance\",\n BS_FGLG: \"FT First/Last Goal\",\n BS_FGLGH: \"FH First/Last Goal\",\n BS_TG: \"FT Total Goal\",\n BS_TGH: \"FH Total Goal\",\n BS_ANB: \"Away No Bet\",\n BS_HTFT: \"Half/Full Time\",\n BS_BS: \"B/O/N Team To Score\",\n BS_CL: \"Clean Sheet\",\n BS_DNB: \"Draw No Bet\",\n BS_HNB: \"Home No Bet\",\n BS_TWTN: \"To Win To Nil\",\n BS_OR: \"Outright\",\n BS_ORZ: \"Outright\",\n\n LOT_BS: \"B/S\",\n LOT_BIG: \"B\",\n LOT_SMALL: \"S\",\n LOT_OE: \"O/E\",\n LOT_ODD: \"O\",\n LOT_EVEN: \"E\",\n LOT_OU: \"O/U\",\n LOT_OVER: \"O\",\n LOT_UNDER: \"U\",\n LOT_1: \"H\",\n LOT_0: \"A\",\n LOT3_OVER: \"O\",\n LOT3_UNDER: \"E\",\n\n D_1: \"Single Number\",\n D_2: \"Number & Reverse\",\n D_3: \"Box\",\n D_4: \"iBox\",\n D_5: \"Box Last 3 Digit\",\n D_6: \"Box Last 2 Digit\",\n\n D_BIG: \"BIG\",\n D_SMALL: \"SMALL\",\n D_AA: \"AA\",\n D_SA: \"A\",\n D_SB: \"B\",\n D_SC: \"C\",\n D_SD: \"D\",\n D_SE: \"E\",\n D_ABC: \"ABC\",\n\n GH_1X2: \"WIN\",\n GH_1X20: \"WIN\",\n GH_1X2HDP: \"PLACE/SHOW\",\n GH_1X2HDP2: \"PLACE\",\n GH_1X2HDP4: \"SHOW\",\n};","import message from './_message'\nimport ui from './_ui'\nimport error from './_error'\nimport m from './_m'\n\nexport default {\n message: message,\n ui: ui,\n error: error,\n m: m\n}","export default {\n account_required: 'Mangyaring maglagay ng pangalan ng tagagamit.',\n password_required: 'Mangyaring maglagay ng password.',\n confirm_password_different: 'Hindi pareho ang Confirm Password at Password.',\n min_length: \"Dapat mayroong 6 na titik o higit pa.\",\n alphanumeric_char: \"Tatanggapin lamang ang mga alphanumerikong karakter.\",\n numeric_char: \"Tatanggapin lamang ang mga numero bilang karakter.\",\n list:{\n 0: \"Ang iyong sesyon ay nag-expire, mangyaring mag-login muli.\",\n disconnect: \"Mangyaring suriin ang iyong koneksyon at subukan muli.\",\n OK: \"Matagumpay na naipadala ang OTP Code.\", // for OTP\n ok: \"Matagumpay na naipadala ang OTP Code.\", // for OTP\n CLOSE: \"Ang iyong account ay ipinasara dahil sa paglabag sa mga Patas na Patakaran sa Paglalaro ng EpicWin.\",\n close: \"Ang iyong account ay ipinasara dahil sa paglabag sa mga Patas na Patakaran sa Paglalaro ng EpicWin.\",\n accountIdRequired: 'Mangyaring maglagay ng pangalan ng tagagamit.',\n passwordStrengthError: 'Lumikha ng iyong sariling password. Ang password ay dapat may 6-20 na titik at numero.',\n session_expired : 'Nag-expire na ang sesyon.',\n\n app_id_required: \"Application ID is required\",\n permission_denied: \"Hindi pinapahintulutan\",\n account_id_required: \"Kinakailangan ang Username/Account ID\",\n verification_code_required: \"Kinakailangan ang verification code\",\n account_not_exists: \"Ang Username/Account ay hindi umiiral\",\n account_inactive: \" Ang Username/Account ay hindi aktibo\",\n verify_failed: \"Nabigo ang proseso ng pag-verify\",\n parent_account_inactive: \"Parent account is inactive\",\n transfer_id_required: \"Transfer ID is required\",\n credit_amount_required: \"Kinakailangan ang halagang kredito\",\n duplicate_credit_record: \"Dobleng talaan ng kredito\",\n member_wallet_not_exists: \"Walang umiiral na pitaka ng miyembro\",\n debit_amount_required: \"Debit amount is required\",\n duplicate_debit_record: \"Duplicated debit record\",\n insufficient_balance: \"Kulang ang available na balanse\",\n result_exists: \"May umiiral nang talaan ng resulta\",\n debit_record_not_found: \"Hindi natagpuan ang talaan ng debit\",\n bank_id_required: \"Kinakailangan ang ID ng bangko\",\n bank_acc_no_required: \"Kinakailangan ang numero ng bankong account\",\n bank_acc_holder_required: \"Kinakailangan ang pangalan ng may-ari ng bankong account\",\n bank_already_setup: \"Ang bankong account ay naka-set up na\",\n platform_required: \"Kinakailangan ang plataporma\",\n parent_not_exists: \"Parent does not exist\",\n invalid_password: \"Hindi wastong username/password\",\n parent_id_required: \"Parent ID is required\",\n password_required: \"Kinakailangan ang password\",\n contact_phone_required: \"Kinakailangan ang numero ng telepono ng kontakto\",\n account_exists: \"Mayroon nang umiiral na User/Account ID\",\n vip_mode_not_exists: \"VIP mode does not exist\",\n session_not_exists: \"Nag-expire na ang iyong sesyon, mangyaring mag-login muli.\",\n ticket_id_required: \"Kinakailangan ang ID ng tiket\",\n ref_id_required: \"Kinakailangan ang ID ng sanggunian\",\n ticket_not_exists: \"Hindi umiiral ang tiket\",\n ticket_processed: \"Ang tiket ay na-process na\",\n min_deposit_not_met: \"Ang halaga ng deposito ay dapat hindi bababa sa minimum na halaga\",\n ongoing_promotion: \"Mayroon kang kasalukuyang promosyon. Mangyaring mag-claim muli mamaya.\",\n invalid_promo_package: \"Hindi wastong package ng promosyon\",\n promo_min_deposit_not_met: \"Ang halaga ng deposito ay hindi nakakatugma sa minimum na halaga ng promosyon\",\n claim_promo_only_once_a_day: \"Ang promosyon ay maaring ma-claim lamang isang beses sa isang araw\",\n first_deposit_unmet: \"Ang araw-araw na unang gantimpala sa deposito ay na-claim na\",\n newbie_unmet: \"Ang gantimpalang deposito para sa mga baguhan ay na-claim na\",\n claim_promo_only_once: \"Ang promosyon ay maaring ma-claim lamang isang beses\",\n inner_catch: \"Hindi inaasahang error\",\n systemError: \"Error ng sistema\",\n SystemError: \"Error ng sistema\",\n deposit_amount_required: \"Kinakailangan ang halaga ng deposito\",\n target_bank_id_required: \"Kinakailangan ang target bank ID\",\n target_bank_acc_no_required: \"Kinakailangan ang numero ng target bank account\",\n target_bank_acc_holder_required: \"Kinakailangan ang pangalan ng may-ari ng target bank account\",\n deposit_date_required: \"Kinakailangan ang petsa ng deposito\",\n deposit_method_required: \"Kinakailangan ang paraan ng deposito\",\n min_deposit_not_set: \"Hindi pa itinatakda ang minimum na halaga ng deposito\",\n min_balance_not_set: \"Hindi pa itinatakda ang minimum na available na balanse\",\n ibank_account_not_exists: \"IBANK88 account does not exist\",\n ibank_account_inactive: \"IBANK88 account is inactive\",\n withdrawal_amount_required: \"Kinakailangan ang halaga ng pagwiwithdraw\",\n min_withdrawal_not_set: \"Hindi pa itinatakda ang minimum na halaga ng pagwiwithdraw\",\n bank_member_not_exists: \"Hindi umiiral ang target member bank account\",\n promotion_requirement_not_met: \"Mayroon ka pang kasalukuyang promosyon\",\n invalid_promotion: \"Hindi wastong promosyon\",\n new_password_required: \"Kinakailangan ang bagong password\",\n multiplier_not_found: \"Hindi kayang i-process ng sistema ang iyong request sa ngayon, subukang muli mamaya\",\n contact_phone_exists: \"Ang teleponong ito ay may rehistrasyon na\",\n BLOCK: \"Ang iyong account ay pansamantalang na-suspend\",\n tac_is_valid: \"Ang iyong nakaraang OTP ay wasto pa\",\n tac_expired: \"Ang iyong OTP code ay nag-expire na. Mangyaring humiling ng bagong OTP code.\",\n invalid_tac: \"Hindi wastong OTP code\",\n tac_not_validate: \"Hindi pa naverify ang OTP code\",\n tacCodeRequired: \"Mangyaring maglagay ng OTP code\",\n invalid_referral_code: \"Hindi wastong referral code\",\n exceed_max_withdrawal: \"Lumampas sa maximum na halaga ng pagwiwithdraw\",\n bank_member_inactive: \"Hindi aktibo ang banko ng tagagamit\",\n loginFailed: \"Nabigo sa pag-login\",\n loginSucceed: \"Matagumpay na nag-login\",\n usernameRequired : \"Mangyaring maglagay ng pangalan ng tagagamit\",\n passwordRequired : \"Mangyaring maglagay ng password\",\n logoutSucceed : \"Matagumpay na nag-logout\",\n logoutFailed : \"Nabigo sa pag-logout\",\n requestSucceed: \"Tagumpay ang request\",\n requestFailed : \"Nabigo ang request\",\n requestProcessing : \"Kasalukuyang ini-process ang iyong request\",\n requestDelayed: \"Nagkakaroon ng pagkaantala sa request\",\n verificationCodeRequired: \"Kinakailangan ang Verification OTP\",\n newPasswordRequired: \"Kinakailangan ang bagong password\",\n bankIdRequired: \"Mangyaring pumili ng bangko\",\n bankNameRequired: \"Kinakailangan ang pangalan ng bangko\",\n bankAccHolderRequired : \"Kinakailangan ang pangalan ng may-ari ng bangko\",\n bankAccNoRequired: \"Kinakailangan ang numero ng bankong account\",\n depositAmountRequired: \"Mangyaring maglagay ng halaga ng deposito\",\n dateRequired: \"Mangyaring pumili ng petsa\",\n bonusIdRequired: \"Mangyaring pumili ng regalo na nais makuha\",\n bank_member_exists: \"Ang bankong account ay may rehistrasyon na\",\n never_deposited : \"Dapat kang mag-deposito ng hindi bababa sa isa bago ka makapag-transfer ng pera sa iyong mga kaibigan\",\n transferAmountMustGreaterThanEqual5: \"Transfer amount must be greater or equal PHP 5\",\n invalid_transfer_amount: \"Transfer amount must be greater or equal PHP 5\",\n // account_not_exists : \"account not exists\"\n ongoing_promotion : \"Mayroon ka pa ring kasalukuyang promosyon\",\n insufficient_balance : \"Kulang na balanse\",\n transfer_success: \"Matagumpay na napadala\",\n sender_id_required: \"Sender ID required\",\n recipient_id_required: \"Recipient ID required\",\n tac_validated: \"Na-validate na ang OTP Code. Mangyaring humiling muli.\",\n pending_result_in_game: \"Naghihintay ng resulta sa laro\",\n accountIdOnlyNumber: \"Tatanggapin lamang ang wastong numero ng telepono\",\n unfinishgamedetected: \"Mangyaring tapusin ang iyong libreng laro bago magpatuloy sa hakbang na ito\",\n duplicate_review: \"Ibinoto mo na ang iyong pagsusuri kanina\",\n exceed_withdrawal_frequency: \"Lumampas ka na sa araw-araw na limitasyon sa pagwiwithdraw. (5 beses bawat araw)\",\n requestTooFrequentAtLeast2Minutes: \"Kasalukuyang ini-process ang iyong request\",\n invalidPhoneNumberFormat: \"Hindi wastong format ng numero ng telepono\",\n fpayUnderMaintenance: \"Ang sistema ay nasa ilalim ng pagmamantina\",\n affiliate_not_exists: \" Hindi umiiral ang affiliate\",\n phoneRequired: ' Mangyaring maglagay ng numero ng telepono',\n couponeCodeRequired: \"Kinakailangan ang code ng kupon\",\n coupon_code_required: \"Kinakailangan ang code ng kupon\",\n coupon_not_available: \"Hindi magamit ang code ng kupon\",\n contact_email_registered: \"Mayroon nang umiiral na email\",\n invalidEmailFormat: \"Hindi wastong format ng email\",\n emailRequired: \"Kinakailangan ang email\",\n paymentMethodRequired: \"Mangyaring pumili ng paraan ng pagbabayad\",\n depositMethodRequired: \"Mangyaring pumili ng paraan ng pagdedeposito\",\n no_changes: \"Nanatili ang umiiral na default na bangko\",\n resultIdRequired: \"Kinakailangan ang ID ng resulta\",\n free_credit_detected: \"Deposit para makapaglaro\",\n unableToLaunchSlotGameAtTheMoment: \"Hindi maaring buksan ang laro sa ngayon.\",\n\n //new\n amount_required: \"Kinakailangan ang halaga.\",\n auth_token_required: \"Kinakailangan ang token ng sesyon.\",\n bet_id_required: \"Kinakailangan ang ID ng bet.\",\n bonus_unavailable: \"Hindi magagamit ang bonus.\",\n client_ip_required: \"Kinakailangan ang IP ng kliyente.\",\n first_deposit_not_met: \"Kinakailangan ang unang deposito.\",\n ftd_required: \"Kinakailangan ang unang deposito.\",\n game_maintenance: \"Kasalukuyang nasa ilalim ng pagmamantina, pakisubukan muli mamaya.\",\n gateway_acc_required : \"Kinakailangan ang account ng gateway.\",\n inbox_id_required: \"Kinakailangan ang ID ng inbox.\",\n insufficient_rebate: \"Kulang na rebate.\",\n insufficient_ticket: \"Kulang na tiket.\",\n is_default_required: \"Kinakailangan ang umiiral na pagpili.\",\n min_withdrawal_not_met: \"Hindi natutugma ang minimum na halaga ng pagwiwithdraw.\",\n newbie_not_met: \"Hindi natutugma ang newbie.\",\n no_changes: \"Nanatili ang umiiral na default na bangko.\",\n promotion_not_available:\"Hindi magagamit ang promosyon.\",\n ref_no_required: \"Kinakailangan ang numero ng sanggunian.\",\n result_id_required: \"Kinakailangan ang ID ng resulta.\",\n search_id_required: \"Search ID required\",\n setting_not_set: \"Setting not configured\",\n tac_required: \"Kinakailangan ang code ng OTP\",\n ticket_count_required: \"Kinakailangan ang halaga ng tiket.\",\n vip_not_exists: \"Not a VIP member\",\n working_date_required: \"Kinakailangan ang petsa ng pagtatrabaho.\",\n working_month_required: \"Kinakailangan ang buwan ng pagtatrabaho.\",\n withdrawal_amount_lte_withhold_amount: \"Ang halaga ng pagwiwithdraw ay mas mababa o pantay sa halaga ng itinatago.\",\n providerRequired: \"Kinakailangan ang nagbibigay ng serbisyo.\",\n invalid_contact_email: \"Hindi wastong email.\",\n invalidUsernameFormat: \"Hindi wastong format ng pangalan ng tagagamit.\",\n affiliate_inactive: \"Hindi aktibo ang affiliate.\",\n insufficient_token: \"Kulang na token.\",\n otpRequired: \"Kinakailangan ang OTP\",\n undefined: \"Mangyaring suriin ang iyong koneksyon at subukan muli.\",\n failedtolaunchpaymentgateway: \"Kasalukuyang nasa ilalim ng pagmamantini, pakisubukan muli mamaya.\",\n bank_member_full : \"Abot na sa maksimum kapasidad ng mga bank account (10 accounts)\",\n bank_acc_holder_not_same: \"Hindi wastong pangalan ng account\",\n member_ewallet_exists: \"Mayroon nang umiiral na E-Wallet account\",\n member_ewallet_full: \"Nakamit na ang maksimum kapasidad ng mga E-Wallet account (10 E-Wallet accounts)\",\n invalid_bank_id: \"Hindi wastong Bangko/E-Wallet\",\n verification_failed: \"Hindi wastong username/ numero ng telepono\",\n depositAmountMustGreaterThan0: \"Ang Halaga ng Deposito ay dapat na mas malaki kaysa sa 0.\",\n depositAmountMustGreaterThanMin: \"Ang Halaga ng Deposito ay dapat na mas malaki kaysa sa minimum na kinakailangan.\",\n depositAmountMustLessThanMax: \"Ang Halaga ng Deposito ay hindi maaaring lumampas sa maksimum na limitasyon\",\n favourite_game_exists: \"Nasa listahan ng mga paboritong laro.\",\n pending_deposit: \"Hinihintay na deposito\",\n \"Incoming Request Info Incomplete\" : \"Incoming Request Info Incomplete\",\n \"Invalid Player\": \"Invalid Player\",\n \"Invalid Auth Token\" : \"Invalid Auth Token\",\n \"Create Account Failed\": \"Create Account Failed\",\n \"Launch Game Failed\" : \"Launch Game Failed\",\n \"Invalid Type\" : \"Invalid Type\",\n \"Invalid Lang\" : \"Invalid Lang\",\n \"System Error\" : \"System Error\",\n \"Get Game List Failed\": \"Get Game List Failed\",\n \"Invalid PlayerId\": \"Invalid PlayerId\",\n \"Invalid TicketId\": \"Invalid TicketId\",\n \"Get Bet Detail Url Failed\": \"Get Bet Detail Url Failed\",\n launch_fail: \"May error sa paglulunsad ng laro, mangyaring makipag-ugnayan sa admin\",\n playerCreatedError: \"May error sa paglulunsad ng laro, mangyaring makipag-ugnayan sa admin\",\n \"Launch Fail\": \"May error sa paglulunsad ng laro, mangyaring makipag-ugnayan sa admin\",\n \"SERVER BUSY\": \"May error sa paglulunsad ng laro, mangyaring makipag-ugnayan sa admin\",\n currencyNotSupported : \"Hindi suportadong pera\",\n game_not_supported:\"Hindi suportado ang laro sa bonus na iyong nakuha.\"\n },\n success_claim: \"Tingnan ang reklamo sa pitaka\",\n\n newpw_required: \"Mangyaring maglagay ng bagong password.\",\n newpw_notsame: \"Hindi puwedeng pareho ang bagong password at kasalukuyang password.\",\n newpw_alphanumeric: \"Ang bagong password ay dapat kombinasyon ng mga titik at numero.\",\n\n oldpw_required: \"Mangyaring maglagay ng kasalukuyang password.\",\n\n pw_notmatched: \"Hindi tumutugma ang kumpirmasyon ng password sa bagong password.\",\n\n forgot_password_success: \"Matagumpay na na-update ang password!!\",\n change_password_success: \"Matagumpay na na-update ang password!!\",\n add_bank_success: \"Matagumpay na idinagdag ang bagong bankong account!!\",\n add_wallet_success: \"Bagong E-Wallet na idinagdag nang matagumpay!!\",\n set_default_success: \"Matagumpay na itinakda bilang default!!\",\n update_success:\"Matagumpay na na-update\",\n\n tac_tooltips: \"Naipadala na ang OTP Code sa iyong numero ng kontakto.\",\n tac_tooltips1: 'I-click ang \"Resend\" para makakuha ng bagong OTP Code.',\n tac_countdown: \"Ipadala muli sa loob ng {countdown}.\",\n\n bank_details_tooltips: \"Ang iyong transaksyon ng pagwiwithdraw ay tatanggihan kung magkaiba ang pangalan ng iyong bankong account mula sa iyong rehistradong buong pangalan sa EpicWin.\",\n copy_clipboard: \"Link na-kopya.\",\n\n wrong_filetype: \"Wrong Filetype\",\n \n};\n","export default {\n bank: \"Bangko\",\n  winlose: \"Panalo/Katalo\",\n  balance: \"Balanse\",\n  win: \"Panalo\",\n  lose: \"Katalo\",\n  tie: \"Sabay\",\n  history: \"Kasaysayan\",\n  transfer_details: \"Mga Detalye ng Paglipat\",\n  id: \"ID\",\n  game: \"Laro\",\n  contactus: \"Kontak\",\n  join_now: \"Sumali Ngayon\",\n  manual_deposit: \"Manual na Deposito\",\n\n  aboutus: \"Tungkol Sa Amin\",\n  attention: \"Pansin\",\n  amount_currency: \"Halaga ({currency} Min: {min} Max: {max})\",\n  all: \"Lahat\",\n  amount: \"Halaga\",\n  approved: \"Aprubado\",\n  and: \"at\",\n  atm_cash: \"TM/Deposito ng Pera\",\n  account_name: \"Pangalan ng Account\",\n  account_no: \"Numero ng Account\",\n  amount_min: \"Pinakamababang Halaga\",\n  amount_max_short: \"Pinakamataas na Halaga\",\n  amount_not_min: \"Hindi umabot ang halaga sa minimum na kinakailangan\",\n amount_max:\"Lumampas sa maksimum na limitasyon ang halaga.\",\n  add_bank: \"Magdagdag ng Bangko\",\n  account_id: \"ID ng Account\",\n  adjustment_details: \"Detalye ng Pagsasaayos\",\n  after_balance: \"Matapos ang Balanse\",\n  android: \"Android\",\n  atm: \"ATM\",\n  acc_detail: \"Detalye ng Account\",\n  amount_receive: \"Natanggap na Halaga\",\n  active_player: \"Kabuuang AKTIBONG MGA MANLALARO\",\n  affiliate_code: \"Code ng Affiliate\",\n  admin: \"Admin\",\n  admin_open: \"Kung may problema kang tumanggap ng OTP code, maari kang makipag-ugnayan sa amin sa pamamagitan ng Live Chat\",\n  attachment_tips: \"Mangyaring mag-upload ng resibo ng iyong transaksyon\",\n accounts: \"Mga Account\",\n active: \"Aktibo\",\n\n  bank_accname: \"May-ari ng Account\",\n  bank_accno: \"Numero ng Account\",\n  bank_name: \"Pangalan ng Bangko\",\n  bank_detail: \"Detalye ng Bangko\",\n  bet_history: \"Kasaysayan ng Pustahan\",\n  bank_account: \"Account sa Bangko\",\n  better_luck: \"Masuwerte ka sa susunod na pagkakataon!\",\n  birthday: \"Kaarawan\",\n  bonus_details: \"Detalye ng Bonus\",\n  before_balance: \"Bago ang Balanse\",\n  bonus_value: \"Halaga ng Bonus\",\n  bonus: \"Bonus\",\n bank_ewallet: \"E-Wallet\",\n  bank_ewalletname: \"May-ari ng E-Wallet\",\n  bank_ewalletno: \"Numero ng E-Wallet\",\n\n  cdm: \"CDM\",\n  counter: \"Tindahan/Kiosk\",\n  cancel: \"Kanselahin\",\n  change_password: \"Baguhin ang Password\",\n  confirm_password: \"Kumpirmahin ang Password\",\n  close: \"Isara\",\n  claim: \"Kunin\",\n  claim_now: \"kunin ngayon\",\n  current_balance: \"Kasalukuyang Balanse\",\n  cash_deposit: \"Deposito ng Pera\",\n  contact_for_bank: \"Makipag-ugnayan sa Livechat ng EpicWin\",\n  congratulations: \"Batiin Ka!\",\n  contact_number: \"Numero ng Kontak\",\n  claim_rewards: \"Kunin ang Mga Gantimpala\",\n  cash_value: \"Halaga ng Pera\",\n  customer_review: \"Mga Pagsusuri ng EpicWin\",\n  claim_offer: \"Kunin ang aking alok!\",\n custom_description: {\n comment_placeholder: \"Iwanan ang iyong mga komento dito.\",\n review_complete_header: \"Salamat sa pagpapakalat ng Magandang Vibes!\",\n review_complete_text: \"Gagamitin namin ito upang mapabuti ang produkto.\",\n },\n  count: \"Bilang\",\n  click_here: \"I-click Dito\",\n  change: \"Baguhin\",\n  coupon: \"Kupong-gantimpala\",\n category: \"Kategorya\",\n choose_promo: \"Pumili ng Promosyon\",\n choose_nopromo: \"Huwag sumali sa anumang mga promosyon.\",\n\n  deposit: \"Deposito\",\n  deposit_short: \"Deposito\",\n  deposit_enter: \"Mangyaring maglagay ng halaga ng deposityo\",\n  deposit_method: \"Deposit Method - Paraan ng Deposito\",\n  deposit_method_select: \"Mangyaring pumili ng paraan ng deposityo\",\n  deposit_reminder: \"Naintindihan ko at sumasang-ayon ako sa lahat ng nakasaad na\",\n  deposit_reminder_two: \"ukol sa mga bonus at/o mga kinakailangang pag-withdraw\",\n  download: \"I-download\",\n  download_android: \"I-download para sa Android\",\n  download_ios: \"I-download para sa iOS\",\n  date: \"Petsa\",\n date_expiry:\"Petsa ng pagtatapos\",\n  done: \"Tapos na\",\n  deposit_now: \"Magdeposito Ngayon\",\n  description: \"Deskripsyon\",\n  deposit_tnc: \"Deposito - Libreng Jackpot Tickets\",\n  developer_response: \"Tugon ng Developer\",\n  daily_update: \"Araw-araw na Pagsasapanahon\",\n  downloadgame: \"I-download ang Laro\",\n deposit_min:\"Min. Deposito\",\n\n  email: \"Email\",\n  enter_bank_accname: \"Mangyaring maglagay ng pangalan ng may-ari ng bank account\",\n  enter_bank_accno: \"Mangyaring maglagay ng numero ng bank account\",\n enter_ewallet_name: \"Pakipunan ang pangalan ng may-ari ng E-Wallet\",\n enter_ewallet_no: \"Pakipunan ang numero ng E-Wallet\",\n  eta: \"Inaasahan na Oras ng Pagdating\",\n  epic_production: \"Produksyon ng EPIC\",\n edit: \"i-edit\",\n\n  female: \"Babae\",\n  failed: \"Nabigo\",\n  forgot_password: \"Nakalimutan ang Password?\",\n  faq: \"Madalas Itanong\",\n  for_android: \"Para sa Android\",\n  for_ios: \"Para sa iOS\",\n  find_out: \"Alamin Pa\",\n  file_choose: \"Pumili ng File\",\n  file_upload: \"Mag-upload ng File\",\n  file_requirement: \"Hindi puwedeng lampas sa 1MB ang laki ng file at dapat nasa format ng png, jpg, o jpeg\",\n  full_name: \"Buong Pangalan\",\n  fill_stars: \"Maaring magbigay ka ng iyong rating bago magpatuloy\",\n  full_phone: \"Numero ng Telepono\",\n  full_referral: \"Code ng Referral\",\n\n  gender: \"Kasarian\",\n  game_play: \"Paglalaro ng Laro\",\n  game: \"Laro\",\n  get: \"Kunin\",\n gcash_reminder: \"Sa mga unang deposito, kinakailangan ang GCash face scan, ngunit huwag mag-alala, hindi na ito kinakailangan sa mga sumusunod na transaksyon at garantisadong walang abala!\",\n\n  hi: \"Hi,\",\n  has_won: \"Nakamit na\",\n  has_won_rate: \"Porsyento ng Panalo\",\n  has_withdraw: \"Nakapag-withdraw na\",\n  hourly_update: \"Buwanang Pagsasapanahon\",\n  hot_movie: \"Mainit na mga Pelikula\",\n\n  ios: \"iOS\",\n inactive: \"hindi aktibo.\",\n\n  jackpot: \"Jackpot\",\n\n  leaderboard_title: \"TOP 15 NA MGA MANLALARO NA MAY PINAKAMARAMING MAGIC SPINS\",\n  login: \"Mag-Login\",\n  logout: \"Mag-Logout\",\n  login_now: \"Mag-Login Na\",\n  lucky_spin: \"suwerteng spin para manalo ng hanggang PHP{value}\",\n  latest_transactions: \"Pinakabagong mga Transaksyon\",\n  lucky_wheel: \"Suwerteng Gulong\",\n  loyalty_points: \"mga puntos ng pagkamalikhain\",\n  last_4_digits: \"Huling 4 na Digito ng Numero ng Telepono\",\n  last_login: \"Huling Pag-Login\",\n  lang_en: \"Ingles\",\n  lang_zh: \"Tsino\",\n  lang_my: \"Malay\",\n  luckydraw_announcement: \"Makakakuha ka ng mga Tiket para sa Suwerte na Pagsusulay sa Bawat Tagumpay na Deposito
Manatili Para sa Live na Suwerteng Pagsusulay
19 Abril 2021, 7.30pm\",\nlogin_otp: \"Mag-login gamit ang OTP\",\nlogin_pass: \"Mag-login gamit ang password\",\n\n  male: \"Lalaki\",\n  mobile: \"Mobile\",\n  minigames: \"Mga Mini Laro\",\n  method: \"Paraan\",\n  min: \"Min\",\n  min_amount: \"Pinakamababang Halaga\",\n  monthly_update: \"Buwanang Pagsasapanahon\",\n  movies: \"Mga Pelikula\",\n  movie_watch: \"Panuorin Ngayon\",\n  max: \"Max\",\n\n  name: \"Pangalan\",\n  next: \"susunod\",\n  new_password: \"Bagong Password\",\n  no_account_yet: \"Wala pang Account?\",\n  no_win: \"Hindi ka nanalo ng kahit ano sa pagkakataong ito\",\n  nickname: \"Palayaw\",\n  next_update_time: \"Susunod na Oras ng Pagsasapanahon\",\n  no_bonus_found: \"Walang detalye ng bonus na natagpuan\",\n  no_adjustment_found: \"Walang natagpuang detalye ng pag-aayos\",\n  no_new_gifts: \"Walang bagong mga regalo\",\n  no: \"Numero\",\n  no_contact: \"Walang available na kontak!\",\n  no_new_message: \"Walang bagong mensahe\",\n  newsletter: \"Gusto kong malaman ang mga alok at promosyon sa pamamagitan ng email, text o post\",\n\n  others: \"Iba\",\n  offical_team: \"Opisyal na Koponan\",\n  online: \"ONLINE\",\n  online_banking: \"Online na Bangko\",\n  online_banking_set: \"Online na Bangko ({bank})\",\n  option: \"Opsyon {0}\",\n  optional: \"Opsyonal\",\n  old_password: \"Lumang Password\",\n  ok: \"Okey\",\n  current_password: \"Kasalukuyang Password\",\n  operator_bank_list: \"Listahan ng mga Bankeng Operator\",\n  promotion_selected: \"Napili ang Promosyon\",\n\n  pending: \"Nakabinbin\",\n  play_now: \"Maglaro Ngayon\",\n  password: \"Password\",\n  password_signup: \"Password\",\n  phone_number: \"Numero ng Telepono\",\n  promotion: \"Promosyon\",\n  promotions: \"Mga Promosyon\",\n  promotion_select: \"Mangyaring Pumili ng Promosyon / Walang Promosyon\",\n  profile: \"Profile\",\n  privacy_policy: \"Patakaran sa Privacy\",\n  privacy_statement: \"Pahayag sa Privacy\",\n  password_tips: \"Lumikha ng sarili mong password. Ang password ay dapat may 6-20 na titik at kombinasyon ng numero at letra.\",\n  phone_tips: \"Tamang numero ng telepono LANG halimbawa: +63 9163451812, walang puwang\",\n  problem_contact: \"Kung may problema kang natatanggap ng code, mangyaring makipag-ugnayan sa amin sa pamamagitan ng Live Chat.\",\n  reset_tips: \"Mangyaring maglagay ng huling 4 na digit ng iyong numero ng telepono\",\n  prev: \"Bumalik\",\n  please_select: \"Mangyaring Pumili\",\n  please_select_bank: \"Mangyaring Pumili ng Banko\",\n please_select_ewallet: \"Pumili ng E-Wallet\",\n  please_select_payment: \"Mangyaring pumili ng paraan ng pagbabayad\",\n  progress: \"Progreso\",\n  promotion_bonus: \"Bonus ng Promosyon\",\n  promotion_details: \"Mga Detalye ng Promosyon\",\n  phone_no_reminder_recipient: \"Mangyaring punan ang numero ng telepono ng tatanggap\",\n  phone_recipient_same: \"Hindi puwedeng pareho ang numero ng telepono ng tatanggap at ng nagpadala\",\n  promo_select: \"Mangyaring Pumili ng Promosyon\",\n  promo_none: \"Walang Promosyon\",\n  payment_option: \"Paraan ng Bayad\",\n  personal_info: \"Personal na Impormasyon\",\n  payment_info: \"Impormasyon sa Pagbabayad (BANK)\",\n payment_channel: \"Paraan ng Pagbabayad\",\n processing: \"Nagproseso\",\n payment_gateway: \"Gateway para sa pagbabayad\",\n\n  ref_num_enter: \"Mangyaring maglagay ng reference number\",\n  register: \"Magparehistro\",\n  register_now: \"Magparehistro Na\",\n  responsible_gambling: \"Responsableng Paghuhusga sa Pagnanais\",\n  responsible_gaming: \"Responsableng Paglalaro\",\n  rebate: \"Rebate\",\n  rejected: \"Tiniwalag\",\n  result: \"RESULTA\",\n  reward: \"Gantimpala\",\n  rewards: \"Mga Gantimpala\",\n  referral: \"Pagsasangkot\",\n  referral_link: \"Link ng Pagsasangkot:\",\n  referral_prefix: \"Mag-Refer at kumita ng cashback hanggang PHP20 para sa bawat bagong Referred Friend na non-promo deposit! Link:\",\n  referral_code: \"Code ng Pagsasangkot\",\n  resend: \"Ipadala ulit\",\n  request_again: \"Humiling ng OTP\",\n  reference_number: \"Numero ng Sanggunian\",\n  reference_number_tooltips: \"Mangyaring maglagay ng numero ng sanggunian\",\n  remarks: \"Mga Puna\",\n  real_time: \"Totoong Oras\",\n  recipient_id: \"ID ng Tatanggap\",\n  review: \"Pagsusuri | pagsusuri\",\n  review_title: \"Bigyan ng Pagsusuri ang Iyong EPIC Game Journey\",\n  registered_player: \"Kabuuang Bilang ng Naka-Rehistrong Manlalaro\",\n  register_title: \"Magparehistro Ngayon at Makakuha ng Libreng Angpow\",\n\n  save: \"i-save\",\n  send: \"Ipadala\",\n  social_responsibility: \"panlipunang responsibilidad\",\n  status: \"Katayuan\",\n  slotgames: \"Mga Slot\",\n  slot_play: \"Maglaro\",\n  slot_games: \"Mga Laro sa Slot\",\n  slot_games_mobile: \"Mga Laro sa Mobile Slot\",\n  signup: \"Mag-Sign Up\",\n  submit: \"Isumite\",\n  select_bonus: \"Mangyaring Pumili ng Bonus / Walang Bonus\",\n  spin_again: \"IKUTAN MULI\",\n  success: \"Tagumpay\",\n  share: \"Ibahagi\",\n  share_title: \"Ibahagi sa:\",\n  share_invite_code: \"Ibahagi ang iyong code na paanyaya\",\n  share_facebook: \"Ibahagi sa Facebook\",\n  share_to_friend: \"Ibahagi sa Kaibigan\",\n  share_referral_reward: \"Kumuhang PHP 10.00 para sa inyo pareho at sa iyong kaibigan\",\n  select_deposit: \"Mangyaring pumili ng paraan ng pagdedeposito\",\n  single_highest: \"Iisang Taya na may Pinakamataas na Bayad\",\n  signup_success: \"Matagumpay na nilikha ang iyong account\",\n skip: \"Talukbong\",\n setting: \"Setting\",\n\n  tac_tips: \"Kung may problema ka sa pagtanggap ng OTP code, mangyaring i-click ang buton ng live chat\",\n  time: \"Oras\",\n  tutorials: \"Mga Tutorial\",\n  type: \"Uri\",\n  transfer: \"Transfer\",\n  transfer_amount: \"Halaga ng Transfer\",\n  transaction_history: \"Kasaysayan ng Transaksiyon\",\n  transfer_history: \"Kasaysayan ng Transfer\",\n  tnc: \"T&C (Mga Tuntunin at Kundisyon)\",\n  tnc_full: \"Mga Tuntunin at Kundisyon\",\n  tnc_accept_reminder: \"Mangyaring i-tsek ang kahon upang sumang-ayon sa aming mga tuntunin at kundisyon\",\n  ticket_status:{\n \"0\": \"Tinanggihan\",\n \"1\": \"Aprubado\",\n  },\n  tac_code: \"OTP Code\",\n  tac_code_new: \"Ang Bagong OTP Code ay ipinadala sa iyong numero ng telepono\",\n  topten_WITHDRAWAL: \"Nag-Wiwithdraw\",\n  topten_DEPOSIT: \"Nag-Deposito\",\n  transaction: \"Transaksiyon\",\n  tutorial_deposit: \"Paano Magde-deposit - Sa App\",\n  tutorial_withdrawal: \"Paano Magwi-withdraw - Sa App\",\n  tutorial_transfer: \"Paano Mag-Transfer - Sa App\",\n  tutorial_android: \"Paano I-download - Android\",\n  tutorial_ios: \"Paano I-download - IOS\",\n  transfer_fee: \"Bayad sa Pag-Transfer\",\n  thankyou:{\n    header: \"Maligayang pagdating sa Pamilya ng Epic.\",\n    description: \"Bawat miyembro ay tatanggap ng token ng pagpapahalaga.\",\n  },\n  total_withdrawal: \"BUWANANG BILANG NG PAG-WIWITHDRAW\",\n  total_review: \"BUWANANG BILANG NG PAGSUSURI\",\n  top_games: \"TOP 10 SIKAT NA LARO\",\n  topgames_period: \"HULING 30 ARAW\",\n\n  username: \"Username\",\n  uh_oh: \"Uh-oh!\",\n  statement: \"Pahayag\",\n  upload_file: \"Mag-Upload ng File\",\n  upload_file_tooltips: \"Hindi dapat lumampas sa 1MB ang laki ng file at dapat nasa png, jpg, o jpeg format ito\",\n  update: \"update\",\n  update_email: \"I-update ang Email\",\n  update_email_success: \"Matagumpay na na-update ang Email\",\n  unknown: \"Hindi Kilala\",\n\n  verification_number: \"SMS OTP Code\",\n  view_transaction_history: \"tingnan ang kasaysayan ng transaksyon\",\n  view_transaction: \"Maaring tingnan ang kasaysayan ng transaksyon hanggang 90 araw.\",\n  verification_no_required: \"Kailangan ang OTP Code\",\n  phone_no_reminder: \"Mangyaring maglagay ng huling 4 digit ng iyong numero ng telepono\",\n  videos: \"Mga Video\",\n  video_link: \"URL ng Video\",\n\n  withdrawal: \"Pag-Wiwithdraw\",\n  withdraw_required: \"Kinakailangang halaga ng pag-wiwithdraw.\",\n  withdraw_greater_50: \"Ang halaga ng pag-wiwithdraw ay dapat na mas mataas o pantay sa 50.\",\n  worth: \"Halaga\",\n  withdrawal_details: \"Detalye ng Pag-Wiwithdraw\",\n  withdrawal_details1: \"Bilang ng mga Pag-Wiwithdraw: 5 beses kada araw\",\n  withdrawal_details2: \"Tagal: 1 minuto: RM10,000\",\n  withdrawal_details3: \"Tagal: 3 minuto: RM100,000 at Higit Pa\",\n  withdrawal_speed: \"BILIS NG PAG-WIWITHDRAW\",\n  withdrawal_epic: \"EPIC NA PAG-WIWITHDRAW\",\n  withdrawal_topten: \"TOP 10 PAG-WIWITHDRAW\",\n  winner_topten: \"TOP 10 EPIC NA MGA NANALO\",\n withdrawal_reminder: \"Paalala: Upang maiwasan ang pagkakawalang-bisa ng iyong balanse, pakitandaan na i-withdraw ang buong halaga kung ikaw ay kukuha ng anumang promosyon.\", \n\n  you_won: \"Nanalo ka sa\",\n  you_have: \"Mayroon ka\",\n  withdraw_target_tips: \"Kailangan mong abutin ang target para sa pag-wiwithdraw\",\n\n\n  rebate_toclaim: \"Puwedeng Makuha na Rebate\",\n  rebate_total: \"Kabuuang Rebate\",\n  adjustment: \"Ajustment\",\n  game_name: \"Pangalan ng Laro\",\n  referee: \"referee\",\n  platform: \"plataporma\",\n  provider: \"tagapagbigay\",\n  turnover: \"turnover\",\n  inbox: \"Inbox\",\n  bank_profile: \"profile ng bangko\",\n  attachment: \"attachment\",\n  completed: \"tapos na\",\n  worldcup: \"world cup\",\n  no_record: \"Walang Natagpuang Rekord\",\n  earn_rebated: \"Kita mula sa Rebate\",\n  turnover_amount: \"Halaga ng Turnover\",\n  acc_turnover: \"Pinagsama-samang Turnover\",\n  earn_ticket: \"Tiket na Natamo\",\n  total_downline: \"Total Downline - Kabuuang Downline\",\n  submit_predict: \"magsumite ng prediksyon\",\n  coming_soon: \"lalabas na sa lalong madaling panahon\",\n  fill_predict: \"Pakipunan ang iyong prediksyon\",\n  step_one: \"hakbang 1\",\n  home: \"bahay\",\n  slot: \"slot\",\n  slots: \"mga slot\",\n  games: \"mga laro\",\n  livecasino: \"live casino\",\n  live: \"live\",\n  casino: \"casino\",\n  fishing: \"pangingisda\",\n  sportsbook: \"sportsbook\",\n  sports: \"sports\",\n  book: \"aklat\",\n  cockfight: \"sabong manok\",\n  real_time_trans: \"Transaksyon sa Totoong Oras\",\n  copy_referral: \"Kopyahin ang Link ng Pag-refer\",\n  invite_friend: \"Mag-imbita ng Kaibigan!\",\n  bet_time: \"oras ng pustahan\",\n  bet_empty: \"Ang iyong listahan ng pustahan ay walang laman\",\n  result_empty: \"Walang resulta\",\n  error_button: \"BUMALIK SA PAMAHALAANANG PAGKAKASALO\",\n  new_member: \"bagong miyembro\",\n  special: \"espesyal\",\n  daily: \"araw-araw\",\n  redeem: \"magkabayaran\",\n  bet_list: \"Talaan ng Pustahan\",\n  notice: \"Abiso\",\n  notice_welcome: \"Maligayang pagdating sa epicwin! Pinakamahusay at Pinagkakatiwalaang Online Casino sa Pilipinas Para sa Paglalaro\",\n  statement_daily: \"raw-araw na Pahayag\",\n  campaign: \"kampanya\",\n  worldcup_2022: \"World cup 2022\",\n  turnover_downline: \"Kabuuang Turnover ng Downline\",\n  daily_rebate: \"Araw-araw na Rebate sa Laro\",\n  redeem_ticket: \"Magkabayaran ng Tiket\",\n  back: \"bumalik\",\n  ticket: \"Tiket\",\n  claimed_ticket: \"Mga Tiket na Kinuhang Na\",\n  ftd_message: \"Binabati kita, ikaw ay nabigyan ng 30k, kunin mo na ito ngayon!\",\n  free_credit_message: \"Ang Libreng Kredito ay maaaring gamitin lamang sa mga laro ng EpicWin\",\n  deposit_amount: \"Halaga ng Deposito\",\n  self_rebate_rate: \"porsyento ng sariling rebate\",\n  downline_rebate_rate: \"porsyento ng rebate ng downline\",\n  more_info: \"Karagdagang Impormasyon\",\n  info: \"Impormasyon\",\n  item: \"Item\",\n  follow_us: \"Sundan Kami\",\n  payment_method: \"Paraan ng Pagbabayad\",\n  certification: \"Sertipikasyon\",\n  username_guide: \"Ang Username ay dapat may 6-20 na mga karakter at isang kombinasyon ng numero at titik.\",\n  trans_time: \"Oras ng Transaksyon\",\n  event: \"Kaganapan\",\n  odds: \"Odds\",\n  odd: \"Odd\",\n  stake: \"Pusta\",\n  ref_no: \"Numero ng Ref.\",\n  lost: \"Talo\",\n  draw: \"Tabla\",\n  american_football: \"Amerikanong Football\",\n  soccer: \"Futbol\",\n  basketball: \"Basketbol\",\n  baseball: \"Baseball\",\n  esports: \"E-Sports\",\n  esports2: \"E-Sports\",\n  tennis: \"Tennis\",\n  even: \"Pares\",\n  over: \"Over\",\n  under: \"Under\",\n  slot_custom: \"Slot\",\n  sb_custom: \"Sportsbook\",\n\n};\n","export default {\n account_existed: \" Ang pangalan ng tagagamit ay hindi magagamit.\",\n account_not_exists: \" Ang pangalan ng tagagamit ay hindi umiiral.\",\n\n invalid_password: \"Hindi wastong Password!\",\n insufficient_balance: \"Kulang na pondo!\",\n\n // verify_failed: \"Mali ang numero ng veripikasyon.\",\n\n withdrawalAmountMustGreaterThan0: \"Ang halagang ibiwithdraw ay dapat higit sa 0.\",\n block: \"Ang iyong account ay pansamantalang itinigil.\",\n\n requestTooFrequentAtLeast2Minutes: \"Ang request ay masyadong madalas. Pakisubukang muli pagkatapos ng 2 minuto.\",\n\n invalidPasswordFormat:\"Lumikha ng iyong sariling password. Ang password ay dapat na may 6-20 na titik at numero.\",\n isRequired: \"Mangyaring punan ang {fname}.\",\n isMinValue: \"Ang {fname} ay dapat may hindi bababa sa {fvalue}.\",\n isMaxValue: \"Ang {fname} ay dapat mababa o pantay sa {fvalue}.\",\n isMinLength: \"Ang {fname} ay dapat may hindi bababa sa {fvalue} na mga titik.\",\n isMaxLength: \"Ang {fname} ay dapat mababa o pantay sa {fvalue} na mga titik.\",\n isAlpha: \"Ang {fname} ay tumatanggap lamang ng mga letra.\",\n isAlphaNum: \"Ang {fname} ay tumatanggap lamang ng mga letra at numero.\",\n isNumeric: \"Ang {fname} ay tumatanggap lamang ng mga numero.\",\n isEmail: \"Mangyaring maglagay ng wastong email address.\",\n isIpAddress: \"Ang {fname} ay tumatanggap lamang ng wastong mga IPv4 address.\",\n isSameAs: \"Ang {fname} ay dapat pareho sa {fname2}.\",\n isUrl: \"Ang {fname} ay tumatanggap lamang ng mga URL.\",\n containAlphaNum: \"Ang {fname} ay dapat may hindi bababa sa isang letra at isang numero.\",\n selectOption: \"Mangyaring pumili ng {fname}.\",\n notSameAs: \"Ang {fname} at {fname2} ay hindi maaaring pareho.\",\n isBetween: \"Ang {fname} ay dapat nasa pagitan ng {min} at {max}.\",\n checkFormat: \"Mangyaring punan ang numero ng telepono ng tatanggap sa sumusunod na format.\",\n invalid_referral_code: \"Hindi wastong Referral Code.\",\n accountIdOnlyNumber: \"Tanging mga numero lamang ang pinapayagan.\",\n passwordStrengthError: \"Likha ng sarili mong password. Dapat itong may 6-20 na karakter at isang kombinasyon ng numero at letra\",\n tacCodeRequired: \"Kinakailangan ang OTP Code.\",\n invalid_tac: \"Hindi wastong OTP Code.\",\n tac_is_valid: \"Ang OTP Code ay naipadala sa iyong numero ng kontakto.\",\n loginFailed: \"Nabigo sa pag-login.\",\n loginSucceed: \"Matagumpay na nag-login.\",\n usernameRequired : \"Mangyaring maglagay ng pangalan ng tagagamit.\",\n passwordRequired : \"Mangyaring maglagay ng password.\",\n logoutSucceed : \"Matagumpay na nag-logout.\",\n logoutFailed : \"Nabigo sa pag-logout.\",\n requestSucceed: \"Tagumpay ang request.\",\n requestFailed : \"Nabigo ang request.\",\n requestProcessing : \"Kasalukuyang ini-process ang iyong request.\",\n requestDelayed: \"Pag-antala sa request.\",\n verificationCodeRequired: \"Kinakailangan ang OTP Code para sa veripikasyon.\",\n newPasswordRequired: \"Kinakailangan ang Bagong Password.\",\n bankIdRequired: \"Mangyaring pumili ng bangko.\",\n bankNameRequired: \"Kinakailangan ang Pangalan ng Bangko.\",\n bankAccHolderRequired : \"Kinakailangan ang Pangalan ng may-ari ng Bankong Account.\",\n bankAccNoRequired: \"Kinakailangan ang Numero ng Bankong Account.\",\n walletIdRequired: \"Pumili ng e-wallet\",\n walletHolderRequired: \"Kinakailangan ang pangalan ng may-ari ng E-Wallet\",\n walletNoRequired: \"Kinakailangan ang numero ng E-Wallet\",\n depositAmountRequired: \"Mangyaring maglagay ng halaga ng deposito.\",\n dateRequired: \"Mangyaring pumili ng petsa.\",\n bonusIdRequired: \"Mangyaring pumili ng regalo na igi-claim.\",\n session_expired : 'Nag-expire na ang sesyon.',\n account_inactive: \"Ang pangalan ng tagagamit/Account ay hindi aktibo.\",\n account_exists: \"User/Account ID has already existed\",\n OK: \"Matagumpay na naipadala ang OTP.\", // for OTP\n ok: \"Matagumpay na naipadala ang OTP.\", // for OTP\n CLOSE: \"Ang iyong account ay pansamantalang na-block dahil sa paglabag sa Fair Gaming Terms ng EpicWin\",\n close: \"Ang iyong account ay pansamantalang na-block dahil sa paglabag sa Fair Gaming Terms ng EpicWin\",\n accountIdRequired: 'Kinakailangan ang ID ng Tagagamit/Account.',\n\n app_id_required: \"Application ID is required\",\n permission_denied: \"Hindi pinapahintulutan\",\n account_id_required: \"Kinakailangan ang Username/Account ID\",\n verification_code_required: \"Kinakailangan ang verification code\",\n account_inactive: \"Ang Username/Account ay hindi aktibo\",\n verify_failed: \"Nabigo ang proseso ng pag-verify\",\n parent_account_inactive: \"Parent account is inactive\",\n transfer_id_required: \"Transfer ID is required\",\n credit_amount_required: \"Kinakailangan ang halagang kredito\",\n duplicate_credit_record: \"Doble na ang talaan ng kredito\",\n member_wallet_not_exists: \"Walang umiiral na pitaka ng miyembro\",\n debit_amount_required: \"Debit amount is required\",\n duplicate_debit_record: \"Duplicated debit record\",\n result_exists: \"May umiiral na talaan ng resulta\",\n debit_record_not_found: \"Debit record is not found\",\n bank_id_required: \"Kinakailangan ang ID ng bangko\",\n bank_acc_no_required: \"Kinakailangan ang numero ng bankong account\",\n bank_acc_holder_required: \"Kinakailangan ang pangalan ng may-ari ng bankong account\",\n bank_already_setup: \"Ang bankong account ay naka-set up na\",\n platform_required: \"Kinakailangan ang plataporma\",\n parent_not_exists: \"Parent does not exist\",\n parent_id_required: \"Parent ID is required\",\n password_required: \"Kinakailangan ang password\",\n contact_phone_required: \"Kinakailangan ang numero ng telepono ng kontakto\",\n vip_mode_not_exists: \"VIP mode does not exist\",\n session_not_exists: \"Nag-expire na ang iyong sesyon, mangyaring mag-login muli.\",\n ticket_id_required: \"Kinakailangan ang ID ng tiket\",\n ref_id_required: \"Kinakailangan ang ID ng sanggunian\",\n ticket_not_exists: \"Hindi umiiral ang tiket\",\n ticket_processed: \"Ang tiket ay na-process na\",\n min_deposit_not_met: \"Ang halaga ng deposito ay dapat hindi bababa sa minimum na halaga\",\n ongoing_promotion: \"May kasalukuyang promosyon ka. Mangyaring mag-claim ulit mamaya.\",\n invalid_promo_package: \"Hindi wastong package ng promosyon\",\n promo_min_deposit_not_met: \"Ang halaga ng deposito ay hindi nakakatugma sa minimum na halaga ng promosyon\",\n claim_promo_only_once_a_day: \"Ang promosyon ay maaaring i-claim lamang isang beses sa isang araw\",\n first_deposit_unmet: \"Ang araw-araw na unang gantimpala sa deposito ay na-claim na\",\n newbie_unmet: \"Ang gantimpalang deposito para sa mga baguhan ay na-claim na\",\n claim_promo_only_once: \"Ang promosyon ay maaaring i-claim lamang isang beses\",\n inner_catch: \"Hindi inaasahang error\",\n systemError: \"Error ng sistema\",\n SystemError: \"Error ng sistema\",\n deposit_amount_required: \"Kinakailangan ang halaga ng deposito\",\n target_bank_id_required: \"Kinakailangan ang target bank ID\",\n target_bank_acc_no_required: \"Kinakailangan ang numero ng target bank account\",\n target_bank_acc_holder_required: \"Kinakailangan ang pangalan ng may-ari ng target bank account\",\n deposit_date_required: \" Kinakailangan ang petsa ng deposito\",\n deposit_method_required: \"Kinakailangan ang paraan ng deposito\",\n min_deposit_not_set: \"Hindi pa itinatakda ang minimum na halaga ng deposito\",\n min_balance_not_set: \"Hindi pa itinatakda ang minimum na available na balanse\",\n bank_account_not_exists: \"Hindi umiiral ang bankong account\",\n bank_account_inactive: \"Hindi aktibo ang bankong account\",\n withdrawal_amount_required: \"Kinakailangan ang halaga ng pagwiwithdraw\",\n min_withdrawal_not_set: \"Hindi pa itinatakda ang minimum na halaga ng pagwiwithdraw\",\n bank_member_not_exists: \"Hindi umiiral ang target member bank account\",\n promotion_requirement_not_met: \"Mayroon ka pang kasalukuyang promosyon\",\n invalid_promotion: \"Hindi wastong promosyon\",\n new_password_required: \"Kinakailangan ang bagong password\",\n multiplier_not_found: \"Hindi kayang i-process ng sistema ang iyong request sa ngayon, subukang muli mamaya\",\n contact_phone_exists: \"Ang teleponong ito ay may rehistrasyon na\",\n BLOCK: \"Ang iyong account ay pansamantalang na-suspend\",\n tac_expired: \"Ang iyong OTP code ay expired na. Mangyaring humiling ng bagong OTP code.\",\n tac_not_validate: \"Hindi pa naverify ang OTP code\",\n exceed_max_withdrawal: \"Lumampas sa maximum na halaga ng pagwiwithdraw\",\n bank_member_inactive: \"Hindi aktibo ang banko ng tagagamit\",\n bank_member_exists: \"Ang bankong account ay may rehistrasyon na\",\n never_deposited : \"Dapat kang mag-deposito ng hindi bababa sa isa bago ka makapag-transfer ng pera sa iyong mga kaibigan\",\n transferAmountMustGreaterThanEqual5: \"Transfer amount must be greater or equal PHP 5\",\n invalid_transfer_amount: \"Transfer amount must be greater or equal PHP 5\",\n // account_not_exists : \"account not exists\"\n // ongoing_promotion : \"You are still having ongoing promotion\",\n transfer_success: \"Transfer Successfully\",\n sender_id_required: \"Kinakailangan ang ID ng nagpadala\",\n recipient_id_required: \"Kinakailangan ang ID ng tatanggap\",\n tac_validated: \"Na-validate ang OTP code. Mangyaring humiling muli.\",\n pending_result_in_game: \"May hinihintay pang resulta sa laro\",\n accountIdOnlyNumber: \"Tanggap lamang ang wastong numero ng telepono\",\n unfinishgamedetected: \"Mangyaring tapusin muna ang iyong libreng laro bago magpatuloy sa hakbang na ito\",\n duplicate_review: \"Ipinasa mo na ang iyong pagsusuri dati\",\n exceed_withdrawal_frequency: \"Lumampas ka na sa araw-araw na limitasyon sa pagwiwithdraw. (5 beses bawat araw)\",\n requestTooFrequentAtLeast2Minutes: \"Ang iyong request ay kasalukuyang ini-process.\",\n invalidPhoneNumberFormat: \"Hindi wastong format ng numero ng telepono.\",\n fpayUnderMaintenance: \"Ang sistema ay nasa ilalim ng pagmamantina.\",\n affiliate_not_exists: \"Ang affiliate ay hindi umiiral.\",\n phoneRequired: 'Mangyaring maglagay ng numero ng telepono.',\n couponeCodeRequired: \"Kinakailangan ang code ng kupon.\",\n coupon_code_required: \"Kinakailangan ang code ng kupon.\",\n coupon_not_available: \"Hindi magamit ang code ng kupon.\",\n contact_email_registered: \"Ang email ay mayroon nang umiiral.\",\n invalidEmailFormat: \"Hindi wastong format ng email.\",\n emailRequired: \"Kinakailangan ang email.\",\n paymentMethodRequired: \"Mangyaring pumili ng paraan ng pagbabayad.\",\n depositMethodRequired: \"Mangyaring pumili ng paraan ng pagdedeposito.\",\n resultIdRequired: \"Kinakailangan ang ID ng resulta.\",\n withdrawal_amount_lte_withhold_amount: \"Ang halaga ng pagwiwithdraw ay dapat mababa o pantay sa itinatagal ng halaga.\",\n\n //new\n amount_required: \"Kinakailangan ang halaga.\",\n auth_token_required: \"Kinakailangan ang token ng sesyon.\",\n bet_id_required: \"Kinakailangan ang ID ng bet.\",\n bonus_unavailable: \"Hindi magagamit ang bonus.\",\n client_ip_required: \"Kinakailangan ang IP ng kliyente.\",\n first_deposit_not_met: \"Kinakailangan ang unang deposito.\",\n ftd_required: \"Kinakailangan ang unang deposito.\",\n game_maintenance: \"Kasalukuyang nasa ilalim ng pagmamantina, pakisubukan muli mamaya.\",\n gateway_acc_required : \"Kinakailangan ang account ng gateway.\",\n inbox_id_required: \"Kinakailangan ang ID ng inbox.\",\n insufficient_rebate: \"Kulang na rebate.\",\n insufficient_ticket: \"Kulang na tiket.\",\n is_default_required: \"Kinakailangan ang umiiral na pagpili.\",\n min_withdrawal_not_met: \"Hindi natutugma ang minimum na halaga ng pagwiwithdraw.\",\n newbie_not_met: \"Hindi natutugma ang newbie.\",\n no_changes: \"Ang impormasyon ay nananatiling hindi nagbago.\",\n promotion_not_available:\"Hindi magagamit ang promosyon.\",\n ref_no_required: \"Kinakailangan ang numero ng sanggunian.\",\n result_id_required: \"Kinakailangan ang ID ng resulta.\",\n search_id_required: \"Search ID required\",\n setting_not_set: \"Setting not configured\",\n tac_required: \"Kinakailangan ang code ng OTP\",\n ticket_count_required: \"Kinakailangan ang halaga ng tiket.\",\n vip_not_exists: \"Hindi ka isang miyembro ng VIP.\",\n working_date_required: \"Kinakailangan ang petsa ng pagtatrabaho.\",\n working_month_required: \"Kinakailangan ang buwan ng pagtatrabaho.\",\n providerRequired: \"Kinakailangan ang nagbibigay ng serbisyo.\",\n invalid_contact_email: \"Hindi wastong email.\",\n invalidUsernameFormat: \"Hindi wastong format ng pangalan ng tagagamit.\",\n otpRequired: \"Kinakailangan ang OTP\",\n \"Incoming Request Info Incomplete\" : \"Incoming Request Info Incomplete\",\n \"Invalid Player\": \"Invalid Player\",\n \"Invalid Auth Token\" : \"Invalid Auth Token\",\n \"Create Account Failed\": \"Create Account Failed\",\n \"Launch Game Failed\" : \"Launch Game Failed\",\n \"Invalid Type\" : \"Invalid Type\",\n \"Invalid Lang\" : \"Invalid Lang\",\n \"System Error\" : \"System Error\"\n}","export default {\n BT_O: \"Over\",\n BT_U: \"Under\",\n\n BT_BOTH: \"Both\",\n BT_ONE: \"One\",\n BT_HDP: \"Handicap\",\n BT_OU: \"Over/Under\",\n BT_ML: \"Moneyline\",\n BT_1X2: \"1X2\",\n BT_1X2HDP: \"3 Way Handicap\",\n BT_CS: \"Correct Score\",\n BT_OE: \"Odd/Even\",\n BT_DC: \"Double Chance\",\n BT_HTFT: \"Half Time/Full Time\",\n BT_FGLG: \"First Goal/Last Goal\",\n BT_TG: \"Total Goal\",\n BT_OR: \"Outright\",\n BT_ORZ: \"Outright\",\n\n BT_ANB: \"Away No Bet\",\n BT_BS: \"Both/One/Neither Team To Score\",\n BT_CL: \"Clean Sheet\",\n BT_DNB: \"Draw No Bet\",\n BT_HNB: \"Home No Bet\",\n BT_TWTN: \"To Win To Nil\",\n\n BT_HDPH: \"1H. Handicap\",\n BT_OUH: \"1H. Over/Under\",\n BT_MLH: \"1H. Moneyline\",\n BT_1X2H: \"1H. 1X2\",\n BT_1X2HDPH: \"1H. 3 Way Handicap\",\n BT_CSH: \"1H. Correct Score\",\n BT_OEH: \"1H. Odd/Even\",\n BT_DCH: \"1H. Double Chance\",\n BT_FGLGH: \"1H. First Goal/Last Goal\",\n BT_TGH: \"1H. Total Goal\",\n\n TB_HDP: \"FT. HDP\",\n TB_OU: \"FT. O/U\",\n TB_1X2: \"FT. 1X2\",\n TB_OE: \"FT. O/E\",\n TB_HDPH: \"1H. HDP\",\n TB_OUH: \"1H. O/U\",\n TB_1X2H: \"1H. 1X2\",\n TB_OEH: \"1H. O/E\",\n\n BT_HDPOU: \"HDP & OU\",\n BT_PARLAY: \"Mix Parlay\",\n BT_FT: \"FT. \",\n BT_1H: \"1H. \",\n BT_2H: \"2H. \",\n\n BT_FG: \"First Goal\",\n BT_LG: \"Last Goal\",\n BT_HFG: \"HF\",\n BT_AFG: \"AF\",\n BT_HLG: \"HL\",\n BT_ALG: \"AL\",\n BT_NG: \"NG\",\n BT_HY: \"Home Yes\",\n BT_HN: \"Home No\",\n BT_AY: \"Away Yes\",\n BT_AN: \"Away No\",\n BT_H: \"Home\",\n BT_A: \"Away\",\n BT_D: \"Draw\",\n BT_HD_DC: \"HD\",\n BT_HA_DC: \"HA\",\n BT_DA_DC: \"DA\",\n BT_HH: \"HH\",\n BT_HD: \"HD\",\n BT_HA: \"HA\",\n BT_DH: \"DH\",\n BT_DD: \"DD\",\n BT_DA: \"DA\",\n BT_AH: \"AH\",\n BT_AD: \"AD\",\n BT_AA: \"AA\",\n\n BT_Y: \"Yes\",\n BT_N: \"No\",\n\n BT_LIVE: \"LIVE\",\n BT_Live: \"LIVE\",\n BT_live: \"LIVE\",\n BT_HT: \"H.TIME\",\n BT_DELAYED: \"DELAY\",\n BT_PEN: \"PEN\",\n\n BT_FT1: \"FT.1\",\n BT_FT2: \"FT.2\",\n BT_FTX: \"FT.X\",\n\n TC_FT1: \"1\",\n TC_FT2: \"2\",\n TC_FTX: \"X\",\n\n BT_HT1: \"HT.1\",\n BT_HT2: \"HT.2\",\n BT_HTX: \"HT.X\",\n\n F5_INN_HDP: \"F5 INN. HDP\",\n F5_INN_OU: \"F5 INN. O/U\",\n\n BS_HDP: \"FT Handicap\",\n BS_HDPH: \"FH Handicap\",\n BS_OU: \"FT Over/Under\",\n BS_OUH: \"FH Over/Under\",\n BS_OE: \"FT Odd/Even\",\n BS_OEH: \"FH Odd/Even\",\n BS_1X2: \"FT 1X2\",\n BS_1X2H: \"FH 1X2\",\n BS_ML: \"FT Moneyline\",\n BS_MLH: \"FH Moneyline\",\n BS_1X2HDP: \"FT 3 Way HDP\",\n BS_1X2HDPH: \"FH 3 Way HDP\",\n BS_CS: \"FT Correct Score\",\n BS_CSH: \"FH Correct Score\",\n BS_DC: \"FT Double Chance\",\n BS_DCH: \"FH Double Chance\",\n BS_FGLG: \"FT First/Last Goal\",\n BS_FGLGH: \"FH First/Last Goal\",\n BS_TG: \"FT Total Goal\",\n BS_TGH: \"FH Total Goal\",\n BS_ANB: \"Away No Bet\",\n BS_HTFT: \"Half/Full Time\",\n BS_BS: \"B/O/N Team To Score\",\n BS_CL: \"Clean Sheet\",\n BS_DNB: \"Draw No Bet\",\n BS_HNB: \"Home No Bet\",\n BS_TWTN: \"To Win To Nil\",\n BS_OR: \"Outright\",\n BS_ORZ: \"Outright\",\n\n LOT_BS: \"B/S\",\n LOT_BIG: \"B\",\n LOT_SMALL: \"S\",\n LOT_OE: \"O/E\",\n LOT_ODD: \"O\",\n LOT_EVEN: \"E\",\n LOT_OU: \"O/U\",\n LOT_OVER: \"O\",\n LOT_UNDER: \"U\",\n LOT_1: \"H\",\n LOT_0: \"A\",\n LOT3_OVER: \"O\",\n LOT3_UNDER: \"E\",\n\n D_1: \"Single Number\",\n D_2: \"Number & Reverse\",\n D_3: \"Box\",\n D_4: \"iBox\",\n D_5: \"Box Last 3 Digit\",\n D_6: \"Box Last 2 Digit\",\n\n D_BIG: \"BIG\",\n D_SMALL: \"SMALL\",\n D_AA: \"AA\",\n D_SA: \"A\",\n D_SB: \"B\",\n D_SC: \"C\",\n D_SD: \"D\",\n D_SE: \"E\",\n D_ABC: \"ABC\",\n\n GH_1X2: \"WIN\",\n GH_1X20: \"WIN\",\n GH_1X2HDP: \"PLACE/SHOW\",\n GH_1X2HDP2: \"PLACE\",\n GH_1X2HDP4: \"SHOW\",\n};","import message from './_message'\nimport ui from './_ui'\nimport error from './_error'\nimport m from './_m'\n\nexport default {\n message: message,\n ui: ui,\n error: error,\n m: m\n}","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\nimport en from '@/locales/en';\nimport ph from '@/locales/ph';\n\nVue.use(VueI18n);\n\nconst messages = {\n en: en,\n ph: ph\n};\n\nconst i18n = new VueI18n({\n locale: 'en',\n fallbackLocale: 'en',\n messages: messages,\n silentTranslationWarn: true\n // numberFormats: {\n // en: {\n // currency: {\n // style: \"currency\",\n // currency: \"VND\",\n // currencyDisplay: \"code\"\n // }\n // }\n // },\n // dateTimeFormats: {\n // en: {\n // short: {\n // year: \"numeric\",\n // month: \"2-digit\",\n // day: \"2-digit\",\n // hour: \"2-digit\",\n // minute: \"2-digit\",\n // second: \"2-digit\",\n // hour12: false\n // },\n // long: {\n // year: \"numeric\",\n // month: \"short\",\n // day: \"numeric\",\n // weekday: \"short\",\n // hour: \"numeric\",\n // minute: \"numeric\",\n // second: \"numeric\",\n // hour12: true\n // }\n // }\n // }\n})\n\nexport default i18n;","import Vue from \"vue\";\nimport config from \"@/config\";\nimport errorTags from \"@/errorTags\";\nimport router from \"@/router\";\nimport i18n from \"@/i18n\";\n\nexport default {\n namespaced: true,\n state: {\n language: \"en\",\n _loading: {\n login: false,\n logout: false,\n forgotPassword: false,\n memberSignUp: false,\n memberTacValidate: false,\n memberRenewTac: false,\n updatePassword: false,\n profileUpdate: false,\n memberAddBank: false,\n memberAddEwallet: false,\n setDefaultBank: false,\n memberBankTac: false,\n depositOfaPay: false,\n manualDeposit: false,\n getPromotionStatus: false,\n addWithdrawTicket: false,\n getInbox: false,\n claimInbox: false,\n launchGame: false,\n getQuestion: false,\n submitReview: false,\n getSurveyList: false,\n mayaPay: false,\n htPay:false,\n aiPay:false,\n rmPay:false,\n gopayGcash:false,\n gopayMaya:false,\n dgpayGcash:false,\n dgpayGcashqr: false,\n dgpayMaya:false,\n cloudPay:false,\n topPay:false,\n anfuPay:false,\n shunfapayGcash: false,\n shunfapayMaya: false,\n worldPay:false,\n rgPay: false,\n wcPay: false,\n goldPay:false,\n xftgCash:false,\n xftUsdt:false,\n masayaPay: false,\n xyPay:false,\n tygPay:false,\n ctPay:false,\n getCouponDetails: false,\n updateEmail: false,\n getBankingMode: false,\n getSocialList: false,\n getRtplist: false,\n getStatement: false,\n getMemberGameResult: false,\n getRebate: false,\n getRebateDownline: false,\n getTurnoverProvider:false,\n claimRebate: false,\n claimRebateDownline:false,\n getRefereeList: false,\n launchEpic: false,\n launchEpic2:false,\n launchLive22:false,\n launchAwc: false,\n launchJili:false,\n launchFc: false,\n launchSabong: false,\n launchIronclaw:false,\n launchEvo: false,\n launchWbet: false,\n launchCq9: false,\n launchHabanero: false,\n launchPps:false,\n launchPpc:false,\n launchLaunchOne:false,\n launchYgr: false,\n launchWow:false,\n launchTbl:false,\n makeBet: false,\n getBetList: false,\n getRealTimeTrans:false,\n getRebateChart: false,\n getXchangeRate: false,\n getStreamLink: false,\n getTopgame:false,\n getClaimedTickets: false,\n getSpadeResult: false,\n getPgsResult: false,\n getPpsResult: false,\n getJokerResult: false,\n // getEpicResult: false,\n getHbResult: false,\n getLive22Result: false,\n getEpic2Result: false,\n getPpsResult:false,\n getCq9Result:false,\n getHabaneroResult:false,\n getPpcResult:false,\n getAwcResult: false,\n getJiliResult: false,\n getFcResult:false,\n getEvoResult:false,\n getLaunchoneResult:false,\n getYgrResult:false,\n getWowResult:false,\n getProviderGameOfflist: false,\n getTokenBalance:false,\n getSlideBanner:false,\n getAnnBanner:false,\n getPromoBanner: false,\n getSeo: false,\n mbTacLogin: false,\n mbNewLogin: false,\n },\n transferDetails: [],\n promoDetails: [],\n adjustmentDetails: [],\n refereeCount:[],\n betList:{\n data: [],\n size: 10,\n index: 1,\n },\n claimedTicketsList:{\n data: [],\n size: 10,\n index: 1,\n },\n downlineList:{\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n },\n betHistory: {\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n },\n livecasinoResult:{\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n },\n slotResult:{\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n },\n cockfightResult:{\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n },\n rebateResult:{\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n },\n sbResult:{\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n },\n tempName: \"\",\n tempPass: \"\",\n tempTac: \"\",\n seoInfo:{\n \"id\": \"\",\n \"en_page_name\": \"\",\n \"en_item_name\": \"\",\n \"en_body\": \"\",\n \"fil_page_name\": \"\",\n \"fil_item_name\": \"\",\n \"fil_body\": \"\",\n \"meta_title\": \"\",\n \"meta_desc\": \"\",\n \"meta_keywords\": \"\",\n \"meta_url\": \"\",\n \"meta_canonical\": \"\",\n \"meta_author\": \"\",\n \"meta_publisher\": \"\",\n \"meta_lang\": \"\",\n \"meta_image_url\": \"\"\n },\n homeSeo:{\n \"id\": \"\",\n \"en_page_name\": \"\",\n \"en_item_name\": \"\",\n \"en_body\": \"\",\n \"fil_page_name\": \"\",\n \"fil_item_name\": \"\",\n \"fil_body\": \"\",\n \"meta_title\": \"\",\n \"meta_desc\": \"\",\n \"meta_keywords\": \"\",\n \"meta_url\": \"\",\n \"meta_canonical\": \"\",\n \"meta_author\": \"\",\n \"meta_publisher\": \"\",\n \"meta_lang\": \"\",\n \"meta_image_url\": \"\"\n },\n annBeforeLog: [],\n annAfterLog: [],\n refreshKey: 0,\n slotSelected: 0,\n inbox: [],\n referralCode: \"\",\n topten: [],\n account: \"\",\n balance: 0,\n gameToken: 0,\n transaction: false,\n transactionEwallet: false,\n bankList: [],\n socialList: [],\n favList:[],\n avatarImg:\"\",\n smarticoData:{},\n missions: 0,\n badges: 0,\n currentLevel:\"\",\n currentLevelDetails:{},\n nextLevelDetails:{},\n vip:\"\"\n },\n mutations: {\n updateLanguage(state, payload) {\n state.language = payload;\n },\n uTransferDetails(state, payload) {\n state.transferDetails = payload;\n },\n uBetHistory(state, payload) {\n state.betHistory = payload;\n },\n uLivecasinoResult(state, payload) {\n state.livecasinoResult = payload;\n },\n uSlotResult(state, payload) {\n state.slotResult = payload;\n },\n uCockfightResult(state, payload) {\n state.cockfightResult = payload;\n },\n uRebateResult(state, payload){\n state.rebateResult = payload\n },\n uSbResult(state, payload){\n state.sbResult = payload\n },\n uPromoDetails(state, payload) {\n state.promoDetails = payload;\n },\n uAdjustmentDetails(state, payload) {\n state.adjustmentDetails = payload;\n },\n uRefereeCount(state, payload) {\n state.refereeCount = payload;\n },\n uDownlineList(state, payload) {\n state.downlineList = payload;\n },\n uBetList(state, payload) {\n state.betList = payload;\n },\n uClaimedTicketsList(state, payload) {\n state.claimedTicketsList = payload;\n },\n update(state, payload) {\n state.account = payload.data;\n },\n delete(state) {\n state.account = \"\";\n \n state.transaction = false;\n state.transactionEwallet = false;\n state.balance = 0;\n state.gameToken = 0;\n state.livecasinoResult = {\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n }\n state.slotResult = {\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n }\n state.cockfightResult = {\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n }\n state.rebateResult ={\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n },\n state.sbResult ={\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n },\n state.downlineList = {\n data: [],\n size: 10,\n index: 1,\n working_date: \"\"\n }\n state.inbox = [];\n state.favList = []\n state.avatarImg=\"\"\n state.currentLevel=\"\"\n state.vip =\"\"\n // window.sessionStorage.clear();\n },\n loading(state, payload) {\n if (\"action\" in payload) {\n const action = payload.action;\n const status = payload.status;\n state._loading[action] = status;\n }\n },\n updateBalance(state, payload) {\n state.balance = payload.game_balance;\n state.gameToken = payload.game_token\n // state.account.vip_level = payload.vip_level;\n },\n updateBank(state, payload) {\n state.transaction = payload;\n },\n updateEwallet(state, payload) {\n state.transactionEwallet = payload;\n },\n updateRefreshKey(state, payload) {\n state.refreshKey = payload;\n },\n updateSlotSelected(state, payload){\n state.slotSelected = payload;\n },\n updateInbox(state, payload) {\n state.inbox = payload;\n },\n updateTopTen(state, payload) {\n state.topten = payload;\n },\n // updateIsPanel(state, payload){\n // state.isPanel = payload\n // },\n updateTempName(state,payload){\n state.tempName = payload;\n },\n updateTempPass(state, payload){\n state.tempPass = payload\n },\n updateTempTac(state, payload){\n state.tempTac = payload\n },\n updateLobbySource(state, payload){\n state.account.lobbySource = payload\n },\n updateLobbyProvider(state, payload){\n state.account.lobbyProvider = payload\n },\n updateSeo(state, payload){\n if(payload.page_name === 'home_page'){\n state.homeSeo = payload\n }else{\n state.seoInfo = payload\n }\n },\n updateAnnBeforeLog(state, payload){\n state.annBeforeLog = payload\n },\n updateAnnAfterLog(state, payload){\n state.annAfterLog = payload\n },\n updateEmail(state, payload){\n state.account.contact_email = payload\n },\n updateUsername(state, payload){\n state.account.full_name = payload\n },\n updateSociallist(state, payload){\n state.socialList = payload\n },\n updateFavlist(state, payload){\n state.favList = payload\n },\n updateAvatar(state, payload){\n state.avatarImg = payload\n },\n updateSmarticoData(state, payload){\n state.smarticoData = payload\n },\n updateMissions(state, payload){\n state.missions = payload\n },\n updateBadges(state, payload){\n state.badges = payload\n },\n updateCurrentLevel(state, payload){\n state.currentLevel = payload\n },\n updateCurrentlvlDetails(state, payload){\n state.currentLevelDetails = payload\n },\n updateNextlvlDetails(state, payload){\n state.nextLevelDetails = payload\n },\n updateVip(state, payload){\n state.vip = payload.vip\n }\n },\n actions: {\n // updatePanel(context, payload){\n // context.commit(\"updateIsPanel\", payload)\n // },\n setLanguage(context, payload) {\n i18n.locale = payload;\n context.commit(\"updateLanguage\", payload);\n },\n tempAccName(context,payload){\n context.commit(\"updateTempName\", payload)\n },\n tempPass(context, payload){\n context.commit(\"updateTempPass\", payload)\n },\n tempTac(context, payload){\n context.commit(\"updateTempTac\", payload)\n },\n lobbySource(context,payload){\n context.commit(\"updateLobbySource\", payload)\n },\n lobbyProvider(context, payload){\n context.commit(\"updateLobbyProvider\", payload)\n },\n seoInfo(context,payload){\n context.commit(\"updateSeo\", payload)\n },\n annBeforeLog(context,payload){\n context.commit(\"updateAnnBeforeLog\", payload)\n },\n annAfterLog(context,payload){\n context.commit(\"updateAnnAfterLog\", payload)\n },\n sTransferDetails(context, payload) {\n context.commit(\"uTransferDetails\", payload);\n },\n sBetHistory(context, payload) {\n context.commit(\"uBetHistory\", payload);\n },\n sLivecasinoResult(context, payload){\n context.commit(\"uLivecasinoResult\", payload)\n },\n sSlotResult(context, payload){\n context.commit(\"uSlotResult\", payload)\n },\n sCockfightResult(context, payload){\n context.commit(\"uCockfightResult\", payload)\n },\n sRebateResult(context, payload){\n context.commit(\"uRebateResult\", payload)\n },\n sSbResult(context, payload){\n context.commit(\"uSbResult\", payload)\n },\n sPromoDetails(context, payload) {\n context.commit(\"uPromoDetails\", payload);\n },\n sAdjustmentDetails(context, payload) {\n context.commit(\"uAdjustmentDetails\", payload);\n },\n sRefereeCount(context, payload) {\n context.commit(\"uRefereeCount\", payload);\n },\n sDownlineList(context, payload) {\n context.commit(\"uDownlineList\", payload);\n },\n sBetList(context, payload) {\n context.commit(\"uBetList\", payload);\n },\n sClaimedTicketsList(context, payload) {\n context.commit(\"uClaimedTicketsList\", payload);\n },\n setRefreshKey(context, payload) {\n context.commit(\"updateRefreshKey\", payload);\n },\n setSlotSelected(context, payload){\n context.commit(\"updateSlotSelected\", payload);\n },\n setEmail(context, payload){\n context.commit(\"updateEmail\", payload)\n },\n setAvatar(context, payload){\n context.commit(\"updateAvatar\", payload)\n },\n setSmarticoData(context, payload){\n context.commit(\"updateSmarticoData\", payload)\n },\n setMissions(context, payload){\n context.commit(\"updateMissions\", payload)\n },\n setBadges(context, payload){\n context.commit(\"updateBadges\", payload)\n },\n setCurrentLevel(context, payload){\n context.commit(\"updateCurrentLevel\", payload)\n },\n setCurrentlvlDetails(context, payload){\n context.commit(\"updateCurrentlvlDetails\", payload)\n },\n setNextlvlDetails(context, payload){\n context.commit(\"updateNextlvlDetails\", payload)\n },\n login(context, user) {\n const url = config.memberLogin();\n const body = {\n account_id: user.username,\n password: user.password,\n };\n const feedback = {\n success: false,\n status: errorTags.login.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"username\" in user)) {\n feedback.status = errorTags.login.usernameRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"password\" in user)) {\n feedback.status = errorTags.login.passwordRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.username.length <= 0) {\n feedback.status = errorTags.login.usernameRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.password.length <= 0) {\n feedback.status = errorTags.login.passwordRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.login == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n \n if (canRequest == true) {\n context.commit(\"loading\", { action: \"login\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", { action: \"login\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n var sessionToken = null;\n var data = null;\n try {\n sessionToken = successResponse.data.value[0].session_token;\n data = successResponse.data.value[0];\n \n if (sessionToken) {\n context.commit(\"update\", { data });\n // let account_id = user.username\n // let auth_token = sessionToken\n // let app_id = user.app_id\n // commit(\"getInbox\", {account_id, auth_token, app_id})\n // dispatch('getInbox', null, { root: true })\n resolve(feedback);\n } else {\n context.commit(\"delete\");\n feedback.success = false;\n feedback.status = errorTags.login.failed;\n reject(feedback);\n }\n } catch (error) {\n context.commit(\"delete\");\n feedback.success = false;\n feedback.status = errorTags.login.failed;\n reject(feedback);\n }\n } else {\n context.commit(\"delete\");\n // router.push(\"/\").catch(err=>{});\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", { action: \"login\", status: false });\n context.commit(\"delete\");\n feedback.error = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n logout(context) {\n const feedback = {\n success: true,\n status: errorTags.logout.succeed\n };\n return new Promise(resolve => {\n context.commit(\"delete\");\n resolve(feedback);\n });\n },\n forgotPassword(context, user) {\n const url = config.forgotPassword();\n const body = {\n account_id: user.account_id,\n contact_phone: user.contact_phone\n };\n const feedback = {\n success: false,\n status: errorTags.forgotPassword.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.forgotPassword.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.forgotPassword.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.forgotPassword == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"forgotPassword\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"forgotPassword\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n feedback.success = false;\n feedback.status = errorTags.forgotPassword.failed;\n reject(feedback);\n }\n } else {\n context.commit(\"delete\");\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"forgotPassword\",\n status: false\n });\n context.commit(\"delete\");\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n memberSignUp(context, user) {\n const url = config.membersignup();\n const body = {\n account_id: user.account_id,\n password: user.password,\n contact_phone: user.contact_phone,\n contact_email: user.contact_email,\n referral_code: user.referral_code,\n affiliate_code: user.affiliate_code,\n fbp: user.fbp,\n pixelId: user.pixelId,\n ch: user.ch,\n cm: user.cm,\n pp: user.pp,\n domain: user.domain\n // bank_id: user.bank_id,\n // bank_acc_holder: user.bank_acc_holder,\n // bank_acc_no: user.bank_acc_no,\n };\n const feedback = {\n success: false,\n status: errorTags.memberSignUp.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.memberSignUp.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"password\" in user)) {\n feedback.status = errorTags.memberSignUp.passwordRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (!(\"contact_email\" in user)) {\n // feedback.status = errorTags.memberSignUp.emailRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (!(\"bank_id\" in user)) {\n // feedback.status = errorTags.memberAddBank.bankIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (!(\"bank_acc_holder\" in user)) {\n // feedback.status = errorTags.memberAddBank.bankAccHolderRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (!(\"bank_acc_no\" in user)) {\n // feedback.status = errorTags.memberAddBank.bankAccNoRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.memberSignUp.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.password.length <= 0) {\n feedback.status = errorTags.memberSignUp.passwordRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (user.contact_email.length <= 0) {\n // feedback.status = errorTags.memberSignUp.emailRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.bank_id.length <= 0) {\n // feedback.status = errorTags.memberAddBank.bankIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.bank_acc_holder.length <= 0) {\n // feedback.status = errorTags.memberAddBank.bankAccHolderRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.bank_acc_no.length <= 0) {\n // feedback.status = errorTags.memberAddBank.bankAccNoRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n \n\n if (this.state.user._loading.memberSignUp == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"memberSignUp\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"memberSignUp\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n reject(feedback);\n }\n } else {\n reject(feedback);\n }\n } else {\n // Response is empty...\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"memberSignUp\",\n status: false\n });\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n memberTacValidate(context, user) {\n const url = config.memberTacValidate();\n const body = {\n account_id: user.account_id,\n tac: user.tac,\n // contact_email: user.contact_email\n };\n const feedback = {\n success: false,\n status: errorTags.memberTacValidate.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.memberTacValidate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"tac\" in user)) {\n feedback.status = errorTags.memberTacValidate.tacCodeRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.memberTacValidate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.tac.length <= 0) {\n feedback.status = errorTags.memberTacValidate.tacCodeRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.memberTacValidate == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", {\n action: \"memberTacValidate\",\n status: true\n });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"memberTacValidate\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"memberTacValidate\",\n status: false\n });\n context.commit(\"delete\");\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n memberRenewTac(context, user) {\n const url = config.memberRenewTac();\n const body = {\n account_id: user.account_id,\n };\n const feedback = {\n success: false,\n status: errorTags.memberRenewTac.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.memberRenewTac.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.memberRenewTac.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.memberRenewTac == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"memberRenewTac\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"memberRenewTac\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"memberRenewTac\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n mbTacLogin(context, user) {\n const url = config.mbTacLogin();\n const body = {\n account_id: user.account_id,\n };\n const feedback = {\n success: false,\n status: errorTags.mbTacLogin.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.mbTacLogin.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.mbTacLogin.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.mbTacLogin == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"mbTacLogin\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"mbTacLogin\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"mbTacLogin\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n mbNewLogin(context, user) {\n const url = config.mbNewLogin();\n const body = {\n account_id: user.username,\n member_otp: user.member_otp,\n };\n const feedback = {\n success: false,\n status: errorTags.mbNewLogin.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"username\" in user)) {\n feedback.status = errorTags.mbNewLogin.usernameRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"member_otp\" in user)) {\n feedback.status = errorTags.mbNewLogin.otpRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.username.length <= 0) {\n feedback.status = errorTags.mbNewLogin.usernameRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.member_otp.length <= 0) {\n feedback.status = errorTags.mbNewLogin.otpRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.mbNewLogin == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n \n if (canRequest == true) {\n context.commit(\"loading\", { action: \"mbNewLogin\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", { action: \"mbNewLogin\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n var sessionToken = null;\n var data = null;\n try {\n sessionToken = successResponse.data.value[0].session_token;\n data = successResponse.data.value[0];\n \n if (sessionToken) {\n context.commit(\"update\", { data });\n // let account_id = user.username\n // let auth_token = sessionToken\n // let app_id = user.app_id\n // commit(\"getInbox\", {account_id, auth_token, app_id})\n // dispatch('getInbox', null, { root: true })\n resolve(feedback);\n } else {\n context.commit(\"delete\");\n feedback.success = false;\n feedback.status = errorTags.mbNewLogin.failed;\n reject(feedback);\n }\n } catch (error) {\n context.commit(\"delete\");\n feedback.success = false;\n feedback.status = errorTags.mbNewLogin.failed;\n reject(feedback);\n }\n } else {\n context.commit(\"delete\");\n // router.push(\"/\").catch(err=>{});\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", { action: \"login\", status: false });\n context.commit(\"delete\");\n feedback.error = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getBalance(context, user) {\n const url = config.getBalance();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getBalance.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getBalance.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getBalance.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getBalance == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getBalance\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getBalance\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value[0];\n context.commit(\"updateBalance\", feedback.data);\n resolve(feedback);\n } catch (error) {\n switch (feedback.status) {\n case errorTags.session.expired:\n case errorTags.session.invalidToken:\n case errorTags.session.invalidSession:\n case errorTags.session.inactiveAccount:\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n break;\n }\n\n reject(feedback);\n }\n } else {\n switch (feedback.status) {\n case errorTags.session.expired:\n case errorTags.session.invalidToken:\n case errorTags.session.invalidSession:\n case errorTags.session.inactiveAccount:\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n break;\n }\n\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getBalance\", status: false });\n context.commit(\"delete\");\n feedback.status = errorResponse;\n reject(feedback);\n router.push(\"/\").catch(err => {}); \n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n bankLookUp(context, user) {\n const url = config.bankLookUp();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.bankLookUp.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n // if (!(\"account_id\" in user)) {\n // feedback.status = errorTags.bankLookUp.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.account_id.length <= 0) {\n // feedback.status = errorTags.bankLookUp.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n\n // if (this.state.user._loading.bankLookUp == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"bankLookUp\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"bankLookUp\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"bankLookUp\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getMemberBankList(context, user) {\n const url = config.getMemberBankList();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getMemberBankList.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getMemberBankList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getMemberBankList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getMemberBankList == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n \n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getMemberBankList\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getMemberBankList\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n var data = null;\n try {\n if(successResponse.data.value.length > 0){\n context.commit(\"updateBank\", true);\n } \n feedback.data = successResponse.data.value;\n data = successResponse.data.value;\n \n resolve(feedback);\n \n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getMemberBankList\", status: false });\n context.commit(\"delete\");\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getMemberEwallet(context, user) {\n const url = config.getMemberEwallet();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getMemberEwallet.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getMemberEwallet.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getMemberEwallet.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getMemberEwallet == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getMemberEwallet\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getMemberEwallet\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n var data = null;\n try {\n if(successResponse.data.value.length > 0){\n context.commit(\"updateEwallet\", true);\n } \n feedback.data = successResponse.data.value;\n data = successResponse.data.value;\n resolve(feedback);\n \n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getMemberEwallet\", status: false });\n context.commit(\"delete\");\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n activeList(context, user) {\n const url = config.activeList();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.activeList.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.activeList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.activeList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.activeList == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n \n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"activeList\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"activeList\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n var data = null;\n try {\n feedback.data = successResponse.data.value;\n resolve(feedback);\n \n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"activeList\", status: false });\n context.commit(\"delete\");\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getBankingMode(context, user) {\n const url = config.getBankingMode();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getBankingMode.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getBankingMode.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getBankingMode.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getBankingMode == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getBankingMode\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getBankingMode\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getBankingMode\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getRebate(context, user) {\n const url = config.getRebate();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getRebate.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getRebate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getRebate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getRebate == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getRebate\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getRebate\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getRebate\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getRebateDownline(context, user) {\n const url = config.getRebateDownline();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getRebateDownline.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getRebateDownline.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getRebateDownline.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getRebateDownline == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getRebateDownline\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getRebateDownline\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getRebateDownline\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getRefereeList(context, user) {\n const url = config.getRefereeList();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n working_date: user.working_date\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getRefereeList.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getRefereeList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getRefereeList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getRefereeList == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getRefereeList\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getRefereeList\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getRefereeList\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n claimRebate(context, user) {\n const url = config.claimRebate();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n amount: user.amount\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.claimRebate.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.claimRebate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.claimRebate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.claimRebate == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"claimRebate\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"claimRebate\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"claimRebate\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n claimRebateDownline(context, user) {\n const url = config.claimRebateDownline();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n amount: user.amount\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.claimRebateDownline.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.claimRebateDownline.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.claimRebateDownline.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.claimRebateDownline == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"claimRebateDownline\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"claimRebateDownline\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"claimRebateDownline\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getTurnoverProvider(context, user) {\n const url = config.getTurnoverProvider();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n working_month: user.working_month,\n search_id: user.search_id\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getTurnoverProvider.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getTurnoverProvider.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getTurnoverProvider.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getTurnoverProvider == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getTurnoverProvider\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getTurnoverProvider\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getTurnoverProvider\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getSocialList(context, user) {\n const url = config.getSocialList();\n const body = {\n brand_code: \"epic_cash_ph\"\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getSocialList.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n // if (this.state.user._loading.getBankingMode == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getBankingMode\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getBankingMode\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body;\n context.commit(\"updateSociallist\", successResponse.body.value);\n resolve(feedback);\n } catch (error) {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n reject(feedback);\n }\n } else {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getBankingMode\", status: false });\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getRtplist(context, user) {\n const url = config.getRtplist();\n const body = {\n provider_code: \"all\"\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getRtplist.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n // if (this.state.user._loading.getRtplist == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getRtplist\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getRtplist\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body;\n resolve(feedback);\n } catch (error) {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n reject(feedback);\n }\n } else {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getRtplist\", status: false });\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n updatePassword(context, user) {\n const url = config.updatePassword();\n const body = {\n account_id: user.account_id,\n password: user.password,\n new_password: user.new_password,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.updatePassword.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.updatePassword.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"password\" in user)) {\n feedback.status = errorTags.updatePassword.passwordRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"new_password\" in user)) {\n feedback.status = errorTags.updatePassword.newPasswordRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.updatePassword.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.password.length <= 0) {\n feedback.status = errorTags.updatePassword.passwordRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.new_password.length <= 0) {\n feedback.status = errorTags.updatePassword.newPasswordRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.updatePassword == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"updatePassword\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"updatePassword\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"updatePassword\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n profileUpdate(context, user) {\n const url = config.profileUpdate();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n full_name: user.full_name,\n contact_email: user.contact_email\n };\n \n const feedback = {\n data: [],\n success: false,\n status: errorTags.profileUpdate.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.profileUpdate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.profileUpdate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.profileUpdate == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"profileUpdate\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"profileUpdate\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n context.commit(\"updateEmail\", successResponse.body.value[0].contact_email)\n context.commit(\"updateUsername\", successResponse.body.value[0].full_name)\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"profileUpdate\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n memberAddBank(context, user) {\n const url = config.memberAddBank();\n const body = {\n account_id: user.account_id,\n bank_id: user.bank_id,\n bank_name: user.bank_name,\n bank_acc_holder: user.bank_acc_holder,\n bank_acc_no: user.bank_acc_no,\n tac: user.tac_code,\n auth_token: user.auth_token,\n \n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.memberAddBank.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.memberAddBank.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"bank_id\" in user)) {\n feedback.status = errorTags.memberAddBank.bankIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"bank_name\" in user)) {\n feedback.status = errorTags.memberAddBank.bankNameRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"bank_acc_holder\" in user)) {\n feedback.status = errorTags.memberAddBank.bankAccHolderRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"bank_acc_no\" in user)) {\n feedback.status = errorTags.memberAddBank.bankAccNoRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"tac_code\" in user)) {\n feedback.status = errorTags.memberAddBank.tacCodeRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.memberAddBank.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.bank_id.length <= 0) {\n feedback.status = errorTags.memberAddBank.bankIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.bank_name.length <= 0) {\n feedback.status = errorTags.memberAddBank.bankNameRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.bank_acc_holder.length <= 0) {\n feedback.status = errorTags.memberAddBank.bankAccHolderRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.bank_acc_no.length <= 0) {\n feedback.status = errorTags.memberAddBank.bankAccNoRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.tac_code.length <= 0) {\n feedback.status = errorTags.memberAddBank.tacCodeRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.memberAddBank == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"memberAddBank\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"memberAddBank\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"memberAddBank\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n memberAddEwallet(context, user) {\n const url = config.memberAddEwallet();\n const body = {\n account_id: user.account_id,\n bank_id: user.bank_id,\n bank_acc_holder: user.bank_acc_holder,\n bank_acc_no: user.bank_acc_no,\n tac: user.tac_code,\n auth_token: user.auth_token,\n \n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.memberAddEwallet.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.memberAddEwallet.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"bank_id\" in user)) {\n feedback.status = errorTags.memberAddEwallet.bankIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"bank_acc_holder\" in user)) {\n feedback.status = errorTags.memberAddEwallet.bankAccHolderRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"bank_acc_no\" in user)) {\n feedback.status = errorTags.memberAddEwallet.bankAccNoRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"tac_code\" in user)) {\n feedback.status = errorTags.memberAddEwallet.tacCodeRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.memberAddEwallet.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.bank_id.length <= 0) {\n feedback.status = errorTags.memberAddEwallet.bankIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.bank_acc_holder.length <= 0) {\n feedback.status = errorTags.memberAddEwallet.bankAccHolderRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.bank_acc_no.length <= 0) {\n feedback.status = errorTags.memberAddEwallet.bankAccNoRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.tac_code.length <= 0) {\n feedback.status = errorTags.memberAddEwallet.tacCodeRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.memberAddEwallet == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"memberAddEwallet\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"memberAddEwallet\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"memberAddEwallet\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n setDefaultBank(context, user) {\n const url = config.setDefaultBank();\n const body = {\n account_id: user.account_id,\n bank_id: user.bank_id,\n bank_acc_no: user.bank_acc_no,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.setDefaultBank.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.setDefaultBank.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"bank_id\" in user)) {\n feedback.status = errorTags.setDefaultBank.bankIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"bank_acc_no\" in user)) {\n feedback.status = errorTags.setDefaultBank.bankAccNoRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.setDefaultBank.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.bank_id.length <= 0) {\n feedback.status = errorTags.setDefaultBank.bankIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.bank_acc_no.length <= 0) {\n feedback.status = errorTags.setDefaultBank.bankAccNoRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.setDefaultBank == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"setDefaultBank\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"setDefaultBank\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"setDefaultBank\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n memberBankTac(context, user) {\n const url = config.memberBankTac();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n \n };\n const feedback = {\n success: false,\n status: errorTags.memberBankTac.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.memberBankTac.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.memberBankTac.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.memberBankTac == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"memberBankTac\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"memberBankTac\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"memberBankTac\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n depositOfaPay(context, user) {\n const url = config.depositOfaPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.depositOfaPay.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.depositOfaPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.depositOfaPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.depositOfaPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.depositOfaPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.depositOfaPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"depositOfaPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"depositOfaPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"depositOfaPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n manualDeposit(context, user) {\n const url = config.manualDeposit();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n target_bank_id: user.target_bank_id,\n target_bank_acc_no: user.target_bank_acc_no,\n target_bank_acc_holder: user.target_bank_acc_holder,\n ref_no: user.ref_no,\n attachment_path: user.attachment_path,\n deposit_date: user.deposit_date,\n deposit_method: user.deposit_method,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token\n };\n const feedback = {\n success: false,\n status: errorTags.manualDeposit.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.manualDeposit.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.manualDeposit.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"target_bank_id\" in user)) {\n feedback.status = errorTags.manualDeposit.bankIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"target_bank_acc_no\" in user)) {\n feedback.status = errorTags.manualDeposit.bankAccNoRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"target_bank_acc_holder\" in user)) {\n feedback.status = errorTags.manualDeposit.bankAccNameRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"ref_no\" in user)) {\n feedback.status = errorTags.manualDeposit.refNoRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_date\" in user)) {\n feedback.status = errorTags.manualDeposit.depositDateRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_method\" in user)) {\n feedback.status = errorTags.manualDeposit.depositMethodRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.manualDeposit.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.manualDeposit.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.target_bank_id.length <= 0) {\n feedback.status = errorTags.manualDeposit.bankIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.target_bank_acc_no.length <= 0) {\n feedback.status = errorTags.manualDeposit.bankAccNoRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.target_bank_acc_holder.length <= 0) {\n feedback.status = errorTags.manualDeposit.bankAccNameRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ref_no.length <= 0) {\n feedback.status = errorTags.manualDeposit.refNoRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_date.length <= 0) {\n feedback.status = errorTags.manualDeposit.depositDateRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_method.length <= 0) {\n feedback.status = errorTags.manualDeposit.depositMethodRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.manualDeposit == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", {\n action: \"manualDeposit\",\n status: true\n });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"manualDeposit\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"manualDeposit\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getMemberTicketList(context, user) {\n const url = config.getMemberTicketList();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getMemberTicketList.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getMemberTicketList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getMemberTicketList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getMemberTicketList == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getMemberTicketList\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getMemberTicketList\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getMemberTicketList\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getTurnoverDownline(context, user) {\n const url = config.getTurnoverDownline();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n working_month: user.working_month,\n page_number: user.page_number,\n page_size: user.page_size\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getTurnoverDownline.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getTurnoverDownline.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getTurnoverDownline.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getTurnoverDownline == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getTurnoverDownline\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getTurnoverDownline\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getTurnoverDownline\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getPromotionStatus(context, user) {\n const url = config.getPromotionStatus();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getPromotionStatus.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getPromotionStatus.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getPromotionStatus.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getPromotionStatus == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getPromotionStatus\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getPromotionStatus\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getPromotionStatus\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n addWithdrawTicket(context, user) {\n const url = config.addWithdrawTicket();\n const body = {\n account_id: user.account_id,\n withdrawal_amount: user.withdrawal_amount,\n auth_token: user.auth_token,\n bank_id:user.bank_id,\n bank_acc_no: user.bank_acc_no\n };\n const feedback = {\n success: false,\n status: errorTags.addWithdrawTicket.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.addWithdrawTicket.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"withdrawal_amount\" in user)) {\n feedback.status =\n errorTags.addWithdrawTicket.withdrawal_amount_required;\n reject(feedback);\n canRequest = false;\n }\n\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.addWithdrawTicket.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.withdrawal_amount.length <= 0) {\n feedback.status =\n errorTags.addWithdrawTicket.withdrawal_amount_required;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.addWithdrawTicket == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", {\n action: \"addWithdrawTicket\",\n status: true\n });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"addWithdrawTicket\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n feedback.isFreeC = successResponse.body.isFreeC;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"addWithdrawTicket\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getMemberTransferDetails(context, user) {\n const url = config.getMemberTransferDetails();\n const body = {\n account_id: user.account_id,\n working_date: user.working_date,\n auth_token: user.auth_token\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getStatement.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getStatement == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getStatement\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getMemberGameResult(context, user) {\n const url = user.url\n const body = {\n account_id: user.account_id,\n working_date: user.working_date,\n page_size: user.page_size,\n page_number: user.page_number,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getMemberGameResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getMemberGameResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getMemberGameResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getMemberGameResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getMemberGameResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getMemberGameResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getMemberGameResult\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getPlatformWinLose(context, user) {\n const url = config.getPlatformWinLose();\n const body = {\n account_id: user.account_id,\n working_date: user.working_date,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getStatement.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getStatement == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getStatement\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getMemberStatement(context, user) {\n const url = config.getMemberStatement();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getStatement.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getStatement == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getStatement\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getMemberVip(context, user) {\n const url = config.getMemberVip();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getMemberVip.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getMemberVip.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getMemberVip.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getMemberVip == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getMemberVip\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getMemberVip\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n context.commit(\"updateVip\", {vip:successResponse.body.value.deposit_turnover[0].vip_name})\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getMemberVip\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getPromoStatement(context, user) {\n const url = config.getPromoStatement();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n working_date: user.working_date,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getStatement.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getStatement == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getStatement\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n }, \n getAdjustmentDetails(context, user) {\n const url = config.getAdjustmentDetails();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n working_date: user.working_date,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getStatement.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getStatement.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getStatement == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getStatement\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getStatement\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getInbox(context, user) {\n const url = config.getInboxList();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n success: false,\n status: errorTags.getInbox.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getInbox.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getInbox.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n // if (this.state.user._loading.getInbox == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getInbox\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getInbox\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n context.commit(\"updateInbox\", successResponse.data.value.inbox);\n feedback.data = successResponse.body.value.reward;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", { action: \"getInbox\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n claimInbox(context, user) {\n const url = config.inboxClaim();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n inbox_id: user.inbox_id\n };\n const feedback = {\n success: false,\n status: errorTags.claimInbox.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.claimInbox.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.claimInbox.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"inbox_id\" in user)) {\n feedback.status = errorTags.claimInbox.bonusIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.claimInbox.bonusIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.claimInbox == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"claimInbox\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"claimInbox\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n // store.dispatch(\"user/getBalance\", user);\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"claimInbox\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getQuestion(context, user) {\n const url = config.getSurveyQuestion();\n const body = {\n op: user.comp\n };\n const feedback = {\n success: false,\n status: errorTags.getQuestion.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (this.state.user._loading.getQuestion == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", {\n action: \"getQuestion\",\n status: true\n });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"getQuestion\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data= successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"getQuestion\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n submitReview(context, user) {\n const url = config.memberReview();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n json_rating: user.json_rating,\n comment: user.comment,\n recipient_no: user.recipient_no\n };\n const feedback = {\n success: false,\n status: errorTags.submitReview.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.submitReview.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.submitReview.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (!(\"recipient_no\" in user)) {\n // feedback.status = errorTags.submitReview.recipientIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n\n // if (user.recipient_no.length <= 0) {\n // feedback.status = errorTags.submitReview.recipientIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n\n if (!(\"comment\" in user)) {\n feedback.status = errorTags.submitReview.commentRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (user.comment.length <= 0) {\n feedback.status = errorTags.submitReview.commentRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"json_rating\" in user)) {\n feedback.status = errorTags.submitReview.ratingRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (user.json_rating.length <= 0) {\n feedback.status = errorTags.submitReview.ratingRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.submitReview == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", {\n action: \"submitReview\",\n status: true\n });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"submitReview\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data= successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"submitReview\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getSurveyList(context, user) {\n const url = config.getTopTenReview();\n const body = {\n op: user.comp,\n };\n const feedback = {\n success: false,\n status: errorTags.getSurveyList.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (this.state.user._loading.getSurveyList == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", {\n action: \"getSurveyList\",\n status: true\n });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"getSurveyList\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data= successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"getSurveyList\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n mayaPay(context, user) {\n const url = config.mayaPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n mode: user.mode,\n return_url: user.return_url\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.mayaPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.mayaPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.mayaPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.mayaPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.mayaPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.mayaPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"mayaPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"mayaPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_mayapay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"mayaPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n htPay(context, user) {\n const url = config.htPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n payment_type: user.option,\n mode:user.mode,\n return_url: user.return_url\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.htPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.htPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.htPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.htPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.htPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.htPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"htPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"htPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"htPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n aiPay(context, user) {\n const url = config.aiPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n return_url: user.return_url,\n bank_code: user.bank_code,\n mode: user.mode,\n payment_type: user.option\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.aiPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.aiPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.aiPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.aiPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.aiPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.aiPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"aiPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"aiPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n // console.log(successResponse);return;\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"aiPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n rmPay(context, user) {\n const url = config.rmPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n payment_type: user.option,\n mode: user.mode,\n return_url: user.return_url\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.rmPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.rmPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.rmPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.rmPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.rmPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.rmPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"rmPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"htPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"rmPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n gopayGcash(context, user) {\n const url = config.gopayGcash();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n payment_type: user.option,\n mode: user.mode,\n return_url: user.return_url\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.gopayGcash.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.gopayGcash.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.gopayGcash.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.gopayGcash.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.gopayGcash.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.gopayGcash == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"gopayGcash\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"gopayGcash\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"gopayGcash\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n gopayMaya(context, user) {\n const url = config.gopayMaya();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n mode: user.mode,\n return_url: user.return_url\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.gopayMaya.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.gopayMaya.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.gopayMaya.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.gopayMaya.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.gopayMaya.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.gopayMaya == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"gopayMaya\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"gopayMaya\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"gopayMaya\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n dgpayGcash(context, user) {\n const url = config.dgpayGcash();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n mode: user.mode,\n auth_token: user.auth_token,\n return_url: user.return_url,\n payment_type: user.payment_type\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.dgpayGcash.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.dgpayGcash.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.dgpayGcash.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.dgpayGcash.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.dgpayGcash.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.dgpayGcash == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"dgpayGcash\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"dgpayGcash\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"dgpayGcash\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n dgpayGcashqr(context, user) {\n const url = config.dgpayGcashqr();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n mode: user.mode,\n auth_token: user.auth_token,\n return_url: user.return_url,\n payment_type: user.payment_type\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.dgpayGcashqr.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.dgpayGcashqr.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.dgpayGcashqr.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.dgpayGcashqr.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.dgpayGcashqr.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.dgpayGcashqr == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"dgpayGcashqr\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"dgpayGcashqr\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"dgpayGcashqr\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n dgpayMaya(context, user) {\n const url = config.dgpayMaya();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n mode: user.mode,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.dgpayMaya.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.dgpayMaya.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.dgpayMaya.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.dgpayMaya.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.dgpayMaya.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.dgpayMaya == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"dgpayMaya\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"dgpayMaya\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"dgpayMaya\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n cloudPay(context, user) {\n const url = config.cloudPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n mode: user.mode,\n return_url: user.return_url\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.cloudPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.cloudPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.cloudPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.cloudPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.cloudPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.cloudPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"cloudPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"cloudPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"cloudPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n topPay(context, user) {\n const url = config.topPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n mode: user.mode\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.topPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.topPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.topPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.topPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.topPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.topPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"topPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"topPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"topPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n anfuPay(context, user) {\n const url = config.anfuPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n mode: user.mode,\n return_url: user.return_url\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.anfuPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.anfuPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.anfuPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.anfuPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.anfuPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.anfuPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"anfuPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"anfuPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"anfuPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n shunfapayGcash(context, user) {\n const url = config.shunfapayGcash();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n mode: user.mode\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.shunfapayGcash.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.shunfapayGcash.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.shunfapayGcash.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.shunfapayGcash.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.shunfapayGcash.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.shunfapayGcash == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"shunfapayGcash\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"shunfapayGcash\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"shunfapayGcash\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n shunfapayMaya(context, user) {\n const url = config.shunfapayMaya();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n mode: user.mode\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.shunfapayMaya.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.shunfapayMaya.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.shunfapayMaya.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.shunfapayMaya.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.shunfapayMaya.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.shunfapayMaya == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"shunfapayMaya\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"shunfapayMaya\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"shunfapayMaya\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n worldPay(context, user) {\n const url = config.worldPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n return_url: user.return_url,\n mode: user.mode\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.worldPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.worldPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.worldPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.worldPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.worldPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.worldPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"worldPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"worldPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"worldPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n rgPay(context, user) {\n const url = config.rgPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n return_url: user.return_url,\n mode: user.mode\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.rgPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.rgPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.rgPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.rgPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.rgPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.rgPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"rgPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"rgPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"rgPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n wcPay(context, user) {\n const url = config.wcPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n payment_type: user.payment_type,\n return_url: user.return_url,\n mode: user.mode\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.wcPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.wcPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.wcPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.wcPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.wcPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.wcPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"wcPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"wcPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"wcPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n goldPay(context, user) {\n const url = config.goldPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n // return_url: user.return_url,\n mode: user.mode\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.goldPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.goldPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.goldPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.goldPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.goldPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.goldPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"goldPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"goldPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"goldPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n xftgCash(context, user) {\n const url = config.xftgCash();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n // return_url: user.return_url,\n mode: user.mode\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.xftgCash.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.xftgCash.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.xftgCash.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.xftgCash.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.xftgCash.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.xftgCash == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"xftgCash\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"xftgCash\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"xftgCash\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n xftUsdt(context, user) {\n const url = config.xftUsdt();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n // return_url: user.return_url,\n mode: user.mode\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.xftUsdt.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.xftUsdt.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.xftUsdt.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.xftUsdt.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.xftUsdt.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.xftUsdt == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"xftUsdt\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"xftUsdt\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"xftUsdt\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n masayaPay(context, user) {\n const url = config.masayaPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n mode: user.mode\n };\n \n const feedback = {\n data: [],\n success: false,\n status: errorTags.masayaPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.masayaPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.masayaPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.masayaPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.masayaPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.masayaPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"masayaPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"masayaPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"masayaPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n xyPay(context, user) {\n const url = config.xyPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n mode: user.mode,\n return_url: user.return_url,\n payment_type: user.payment_type\n };\n \n const feedback = {\n data: [],\n success: false,\n status: errorTags.xyPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.xyPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.xyPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.xyPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.xyPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.xyPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"xyPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"xyPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"xyPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n tygPay(context, user) {\n const url = config.tygPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n is_mobile: user.is_mobile,\n mode: user.mode,\n return_url: user.return_url,\n bank_code: user.bank_code\n };\n \n const feedback = {\n data: [],\n success: false,\n status: errorTags.tygPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.tygPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.tygPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.tygPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.tygPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.tygPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"tygPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"tygPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"tygPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n ctPay(context, user) {\n const url = config.ctPay();\n const body = {\n account_id: user.account_id,\n deposit_amount: user.deposit_amount,\n promotion_id: user.promotion_id,\n auth_token: user.auth_token,\n bank_code: user.bank_code,\n mode: user.mode,\n return_url: user.return_url,\n payment_type: user.payment_type\n };\n \n const feedback = {\n data: [],\n success: false,\n status: errorTags.ctPay.failed\n };\n \n return new Promise((resolve, reject) => {\n var canRequest = true;\n \n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.ctPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (!(\"deposit_amount\" in user)) {\n feedback.status = errorTags.ctPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.ctPay.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.deposit_amount.length <= 0) {\n feedback.status = errorTags.ctPay.depositAmountRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.ctPay == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"ctPay\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"ctPay\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.pg_htpay_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"ctPay\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getCouponDetails(context, user) {\n const url = config.getCouponDetails();\n const body = {\n account_id: user.account_id,\n coupon_code: user.coupon_code,\n auth_token: user.auth_token,\n app_id: user.app_id\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getCouponDetails.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getCouponDetails.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getCouponDetails.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (this.state.user._loading.getCouponDetails == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", { action: \"getCouponDetails\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"getCouponDetails\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"getCouponDetails\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n updateEmail(context, user) {\n const url = config.updateEmail();\n const body = {\n app_id: user.app_id,\n account_id: user.account_id,\n auth_token: user.auth_token,\n contact_email: user.contact_email\n };\n const feedback = {\n success: false,\n status: errorTags.updateEmail.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.updateEmail.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.updateEmail.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"contact_email\" in user)) {\n feedback.status = errorTags.updateEmail.emailRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (user.contact_email.length <= 0) {\n feedback.status = errorTags.updateEmail.emailRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (this.state.user._loading.updateEmail == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n\n if (canRequest == true) {\n context.commit(\"loading\", {\n action: \"updateEmail\",\n status: true\n });\n Vue.http.post(url, body).then(\n successResponse => {\n context.commit(\"loading\", {\n action: \"updateEmail\",\n status: false\n });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n context.commit(\"loading\", {\n action: \"updateEmail\",\n status: false\n });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchEpic(context, user) {\n const url = config.launchEpic();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n game_code: user.game_code,\n lang_code: user.lang_code,\n game_name: user.game_name\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchEpic.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchEpic.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchEpic.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchEpic == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchEpic\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchEpic\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchEpic\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchEpic2(context, user) {\n const url = config.launchEpic2();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n game_code: user.game_code,\n lang_code: user.lang_code,\n game_name: user.game_name\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchEpic2.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchEpic2.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchEpic2.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchEpic2 == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchEpic2\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchEpic2\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchEpic2\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchHabaneroDemo(context, user) {\n const url = config.launchHabaneroDemo();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n game_code: user.game_code,\n lang_code: user.lang_code,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchHabaneroDemo.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchHabaneroDemo.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchHabaneroDemo.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n // if (this.state.user._loading.launchHabaneroDemo == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchHabaneroDemo\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchHabaneroDemo\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_demo_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchHabaneroDemo\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchLive22(context, user) {\n const url = config.launchLive22();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n game_code: user.game_code,\n lang_code: user.lang_code,\n game_name: user.game_name\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchLive22.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchLive22.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchLive22.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchLive22 == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchLive22\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchLive22\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchLive22\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n\n launchAwc(context, user) {\n const url = config.launchAwc();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n game_code: user.game_code,\n lang_code: user.lang_code,\n game_type: user.game_type,\n provider: user.provider,\n game_name: user.game_name\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchAwc.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchAwc.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchAwc.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchAwc == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchAwc\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchAwc\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"SUCCESS\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchAwc\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchJili(context, user) {\n const url = config.launchJili();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n game_code: user.game_code,\n lang_code: user.lang_code,\n game_name: user.game_name\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchJili.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchJili.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchJili.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchJili == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchJili\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchJili\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchJili\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchFc(context, user) {\n const url = config.launchFc();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n game_code: user.game_code,\n lang_code: user.lang_code,\n game_name: user.game_name\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchFc.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchFc.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchFc.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchFc == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchFc\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchFc\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"SUCCESS\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchFc\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchSabong(context, user) {\n const url = config.launchSabong();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchSabong.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchSabong.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchSabong.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchSabong == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchSabong\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchSabong\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchSabong\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchIronclaw(context, user) {\n const url = config.launchIronclaw();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchIronclaw.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchIronclaw.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchIronclaw.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchIronclaw == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchIronclaw\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchIronclaw\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchIronclaw\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchEvo(context, user) {\n const url = config.launchEvo();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code,\n mobile: user.mobile,\n game_code: user.game_code,\n game_name: user.game_name\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchEvo.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchEvo.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchEvo.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchEvo == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchEvo\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchEvo\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"SUCCESS\";\n } else {\n feedback.success = successResponse.body.status == \"SUCCESS\";\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchEvo\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchCq9(context, user) {\n const url = config.launchCq9();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code,\n game_code: user.game_code,\n game_name: user.game_name,\n platform: user.platform\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchCq9.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchCq9.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchCq9.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchCq9 == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchCq9\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchCq9\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchCq9\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchHabanero(context, user) {\n const url = config.launchHabanero();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n game_code: user.game_code,\n lang_code: user.lang_code,\n game_name: user.game_name\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchHabanero.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchHabanero.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchHabanero.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchHabanero == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchHabanero\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchHabanero\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchHabanero\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchPps(context, user) {\n const url = config.launchPps();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n game_code: user.game_code,\n lang_code: user.lang_code,\n game_name: user.game_name\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchPps.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchPps.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchPps.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchPps == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchPps\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchPps\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchPps\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchPpc(context, user) {\n const url = config.launchPpc();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchPpc.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchPpc.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchPpc.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchPpc == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchPpc\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchPpc\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchPpc\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchLaunchOne(context, user) {\n const url = config.launchLaunchOne();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code,\n game_code: user.game_code,\n provider: user.provider,\n platform: user.platform\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchLaunchOne.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchLaunchOne.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchLaunchOne.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchLaunchOne == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchLaunchOne\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchLaunchOne\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n // feedback.status = successResponse.body.status;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchLaunchOne\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchYgr(context, user) {\n const url = config.launchYgr();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code,\n game_code: user.game_code,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchYgr.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchYgr.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchYgr.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchYgr == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchYgr\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchYgr\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n // feedback.status = successResponse.body.status;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchYgr\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchWow(context, user) {\n const url = config.launchWow();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code,\n // game_code: user.game_code,\n // provider: user.provider,\n // platform: user.platform\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchWow.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchWow.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchWow.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchWow == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchWow\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchWow\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n // feedback.status = successResponse.body.status;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchWow\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchOpenapi(context, user) {\n const url = config.launchOpenapi();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code,\n game_code: user.game_code,\n provider: user.provider,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchOpenapi.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchOpenapi.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchOpenapi.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchOpenapi == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchOpenapi\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchOpenapi\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n // feedback.status = successResponse.body.status;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchOpenapi\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchTbl(context, user) {\n const url = config.launchTbl();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n lang_code: user.lang_code,\n game_code: user.game_code,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchTbl.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchTbl.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchTbl.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchTbl == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchTbl\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchTbl\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n // feedback.status = successResponse.body.status;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n feedback.lobby = successResponse.body.game_lobby_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchTbl\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n launchWbet(context, user) {\n const url = config.launchWbet();\n const body = {\n player_id: user.player_id,\n auth_token: user.auth_token,\n type: user.type,\n lang_code: user.lang_code\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.launchWbet.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.launchWbet.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.launchWbet.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.launchWbet == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"launchWbet\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"launchWbet\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.game_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"launchWbet\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getLive22Result(context, user) {\n const url = config.getLive22Result();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getLive22Result.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getLive22Result.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getLive22Result.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getLive22Result.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getLive22Result.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getLive22Result == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getLive22Result\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getLive22Result\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getLive22Result\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getEpic2Result(context, user) {\n const url = config.getEpic2Result();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getEpic2Result.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getEpic2Result.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getEpic2Result.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getEpic2Result.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getEpic2Result.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getEpic2Result == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getEpic2Result\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getEpic2Result\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getEpic2Result\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getCq9Result(context, user) {\n const url = config.getCq9Result();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getCq9Result.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getCq9Result.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getCq9Result.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getCq9Result.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getCq9Result.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getCq9Result == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getCq9Result\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getCq9Result\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getCq9Result\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getHabaneroResult(context, user) {\n const url = config.getHabaneroResult();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n lang_code: user.lang_code\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getHabaneroResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getHabaneroResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getHabaneroResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getHabaneroResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getHabaneroResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getHabaneroResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getHabaneroResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getHabaneroResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getHabaneroResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getPpsResult(context, user) {\n const url = config.getPpsResult();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getPpsResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getPpsResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getPpsResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getPpsResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getPpsResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getPpsResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getPpsResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getPpsResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getPpsResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getPpcResult(context, user) {\n const url = config.getPpcResult();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getPpcResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getPpcResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getPpcResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getPpcResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getPpcResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getPpcResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getPpcResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getPpcResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getPpcResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getAwcResult(context, user) {\n const url = config.getAwcResult();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getAwcResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getAwcResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getAwcResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getAwcResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getAwcResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getAwcResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getAwcResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getAwcResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getAwcResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getJiliResult(context, user) {\n const url = config.getJiliResult();\n const body = {\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getJiliResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getJiliResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getJiliResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getJiliResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getJiliResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getJiliResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getJiliResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getJiliResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getJiliResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getLaunchoneResult(context, user) {\n const url = config.getLaunchoneResult();\n const body = {\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getLaunchoneResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getLaunchoneResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getLaunchoneResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getLaunchoneResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getLaunchoneResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getLaunchoneResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getLaunchoneResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getLaunchoneResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getLaunchoneResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getYgrResult(context, user) {\n const url = config.getYgrResult();\n const body = {\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getYgrResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getYgrResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getYgrResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getYgrResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getYgrResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getYgrResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getYgrResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getYgrResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getYgrResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getWowResult(context, user) {\n const url = config.getWowResult();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getWowResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getWowResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getWowResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getWowResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getWowResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getWowResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getWowResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getWowResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getWowResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getWowResult(context, user) {\n const url = config.getWowResult();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getWowResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getWowResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getWowResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getWowResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getWowResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getWowResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getWowResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getWowResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getWowResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getOpenapiResult(context, user) {\n const url = config.getOpenapiResult();\n const body = {\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getOpenapiResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getOpenapiResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getOpenapiResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getOpenapiResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getOpenapiResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getOpenapiResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getOpenapiResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getOpenapiResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getOpenapiResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getFcResult(context, user) {\n const url = config.getFcResult();\n const body = {\n player_id: user.player_id,\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getFcResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"player_id\" in user)) {\n feedback.status = errorTags.getFcResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.player_id.length <= 0) {\n feedback.status = errorTags.getFcResult.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getFcResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getFcResult\n canRequest = false;\n }\n\n // if (this.state.user._loading.getFcResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getFcResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getFcResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getFcResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getEvoResult(context, user) {\n const url = config.getEvoResult();\n const body = {\n ticket_id: user.ticket_id,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getEvoResult.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"ticket_id\" in user)) {\n feedback.status = errorTags.getEvoResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.ticket_id.length <= 0) {\n feedback.status = errorTags.getEvoResult.resultIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getEvoResult == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getEvoResult\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getEvoResult\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.status_desc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.detail_url;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getEvoResult\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n // getEpicResult(context, user) {\n // const url = config.getEpicResult();\n // const body = {\n // player_id: user.player_id,\n // ticket_id: user.ticket_id,\n // lang_code: user.lang_code\n // };\n // const feedback = {\n // data: [],\n // success: false,\n // status: errorTags.getEpicResult.failed\n // };\n\n // return new Promise((resolve, reject) => {\n // var canRequest = true;\n\n // if (!(\"player_id\" in user)) {\n // feedback.status = errorTags.getEpicResult.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.player_id.length <= 0) {\n // feedback.status = errorTags.getEpicResult.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n\n // if (!(\"ticket_id\" in user)) {\n // feedback.status = errorTags.getEpicResult.resultIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.ticket_id.length <= 0) {\n // feedback.status = errorTags.getEpicResult.resultIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n\n // // if (this.state.user._loading.getEpicResult == true) {\n // // feedback.status = errorTags.request.processing;\n // // canRequest = false;\n // // }\n\n // if (canRequest == true) {\n // // context.commit(\"loading\", { action: \"getEpicResult\", status: true });\n // Vue.http.post(url, body).then(\n // successResponse => {\n // // context.commit(\"loading\", { action: \"getEpicResult\", status: false });\n // if (successResponse) {\n // if (typeof successResponse.body.status == \"string\") {\n // feedback.success = successResponse.body.status == \"1\";\n // } else {\n // feedback.success = successResponse.body.status == 1;\n // }\n // feedback.status = successResponse.body.status_desc;\n // if (feedback.success == true) {\n // try {\n // feedback.data = successResponse.body.detail_url;\n // resolve(feedback);\n // } catch (error) {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // // Response is empty...\n // // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // reject(feedback);\n // }\n // },\n // errorResponse => {\n // // context.commit(\"loading\", { action: \"getEpicResult\", status: false });\n // // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // feedback.status = errorResponse;\n // reject(feedback);\n // }\n // );\n // } else {\n // reject(feedback);\n // }\n // });\n // },\n // getWorldcupTicket(context, user) {\n // const url = config.getWorldcupTicket();\n // const body = {\n // account_id: user.account_id,\n // auth_token: user.auth_token,\n // };\n // const feedback = {\n // data: [],\n // success: false,\n // status: errorTags.getWorldcupTicket.failed\n // };\n\n // return new Promise((resolve, reject) => {\n // var canRequest = true;\n\n // if (!(\"account_id\" in user)) {\n // feedback.status = errorTags.getWorldcupTicket.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.account_id.length <= 0) {\n // feedback.status = errorTags.getWorldcupTicket.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n\n // // if (this.state.user._loading.getWorldcupTicket == true) {\n // // feedback.status = errorTags.request.processing;\n // // canRequest = false;\n // // }\n\n // if (canRequest == true) {\n // // context.commit(\"loading\", { action: \"getWorldcupTicket\", status: true });\n // Vue.http.post(url, body).then(\n // successResponse => {\n // // context.commit(\"loading\", { action: \"getWorldcupTicket\", status: false });\n // if (successResponse) {\n // if (typeof successResponse.body.status == \"string\") {\n // feedback.success = successResponse.body.status == \"1\";\n // } else {\n // feedback.success = successResponse.body.status == 1;\n // }\n // feedback.status = successResponse.body.statusdesc;\n // if (feedback.success == true) {\n // try {\n // feedback.data = successResponse.body.value;\n // resolve(feedback);\n // } catch (error) {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // // Response is empty...\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // reject(feedback);\n // }\n // },\n // errorResponse => {\n // // context.commit(\"loading\", { action: \"getWorldcupTicket\", status: false });\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // feedback.status = errorResponse;\n // reject(feedback);\n // }\n // );\n // } else {\n // reject(feedback);\n // }\n // });\n // },\n // claimWorldcupTicket(context, user) {\n // const url = config.claimWorldcupTicket();\n // const body = {\n // account_id: user.account_id,\n // auth_token: user.auth_token,\n // ticket_count: user.ticket_count\n // };\n // const feedback = {\n // data: [],\n // success: false,\n // status: errorTags.claimWorldcupTicket.failed\n // };\n\n // return new Promise((resolve, reject) => {\n // var canRequest = true;\n\n // if (!(\"account_id\" in user)) {\n // feedback.status = errorTags.claimWorldcupTicket.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (!(\"ticket_count\" in user)) {\n // feedback.status = errorTags.claimWorldcupTicket.ticketAmountRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.account_id.length <= 0) {\n // feedback.status = errorTags.claimWorldcupTicket.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n\n // // if (this.state.user._loading.claimWorldcupTicket == true) {\n // // feedback.status = errorTags.request.processing;\n // // canRequest = false;\n // // }\n\n // if (canRequest == true) {\n // // context.commit(\"loading\", { action: \"claimWorldcupTicket\", status: true });\n // Vue.http.post(url, body).then(\n // successResponse => {\n // // context.commit(\"loading\", { action: \"claimWorldcupTicket\", status: false });\n // if (successResponse) {\n // if (typeof successResponse.body.status == \"string\") {\n // feedback.success = successResponse.body.status == \"1\";\n // } else {\n // feedback.success = successResponse.body.status == 1;\n // }\n // feedback.status = successResponse.body.statusdesc;\n // if (feedback.success == true) {\n // try {\n // feedback.data = successResponse.body.value;\n // resolve(feedback);\n // } catch (error) {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // // Response is empty...\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // reject(feedback);\n // }\n // },\n // errorResponse => {\n // // context.commit(\"loading\", { action: \"claimWorldcupTicket\", status: false });\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // feedback.status = errorResponse;\n // reject(feedback);\n // }\n // );\n // } else {\n // reject(feedback);\n // }\n // });\n // },\n // getWorldcupList(context, user) {\n // const url = config.getWorldcupList();\n // const body = {\n // account_id: user.account_id,\n // auth_token: user.auth_token,\n // };\n // const feedback = {\n // data: [],\n // success: false,\n // status: errorTags.getWorldcupList.failed\n // };\n\n // return new Promise((resolve, reject) => {\n // var canRequest = true;\n\n // if (!(\"account_id\" in user)) {\n // feedback.status = errorTags.getWorldcupList.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.account_id.length <= 0) {\n // feedback.status = errorTags.getWorldcupList.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n\n // // if (this.state.user._loading.getWorldcupList == true) {\n // // feedback.status = errorTags.request.processing;\n // // canRequest = false;\n // // }\n\n // if (canRequest == true) {\n // // context.commit(\"loading\", { action: \"getWorldcupList\", status: true });\n // Vue.http.post(url, body).then(\n // successResponse => {\n // // context.commit(\"loading\", { action: \"getWorldcupList\", status: false });\n // if (successResponse) {\n // if (typeof successResponse.body.status == \"string\") {\n // feedback.success = successResponse.body.status == \"1\";\n // } else {\n // feedback.success = successResponse.body.status == 1;\n // }\n // feedback.status = successResponse.body.statusdesc;\n // if (feedback.success == true) {\n // try {\n // feedback.data = successResponse.body.value;\n // resolve(feedback);\n // } catch (error) {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // // Response is empty...\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // reject(feedback);\n // }\n // },\n // errorResponse => {\n // // context.commit(\"loading\", { action: \"getWorldcupList\", status: false });\n // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // feedback.status = errorResponse;\n // reject(feedback);\n // }\n // );\n // } else {\n // reject(feedback);\n // }\n // });\n // },\n // getWorldcupResult(context, user) {\n // const url = config.getWorldcupResult();\n // const body = {\n // account_id: user.account_id,\n // auth_token: user.auth_token,\n // };\n // const feedback = {\n // data: [],\n // success: false,\n // status: errorTags.getWorldcupResult.failed\n // };\n\n // return new Promise((resolve, reject) => {\n // var canRequest = true;\n\n // if (!(\"account_id\" in user)) {\n // feedback.status = errorTags.getWorldcupResult.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n // if (user.account_id.length <= 0) {\n // feedback.status = errorTags.getWorldcupResult.accountIdRequired;\n // reject(feedback);\n // canRequest = false;\n // }\n\n // // if (this.state.user._loading.getWorldcupResult == true) {\n // // feedback.status = errorTags.request.processing;\n // // canRequest = false;\n // // }\n\n // if (canRequest == true) {\n // // context.commit(\"loading\", { action: \"getWorldcupResult\", status: true });\n // Vue.http.post(url, body).then(\n // successResponse => {\n // // context.commit(\"loading\", { action: \"getWorldcupResult\", status: false });\n // if (successResponse) {\n // if (typeof successResponse.body.status == \"string\") {\n // feedback.success = successResponse.body.status == \"1\";\n // } else {\n // feedback.success = successResponse.body.status == 1;\n // }\n // feedback.status = successResponse.body.statusdesc;\n // if (feedback.success == true) {\n // try {\n // feedback.data = successResponse.body.value;\n // resolve(feedback);\n // } catch (error) {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // if (\n // feedback.status == errorTags.session.expired ||\n // feedback.status == errorTags.session.invalidSession\n // ) {\n // // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // }\n // reject(feedback);\n // }\n // } else {\n // // Response is empty...\n // // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // reject(feedback);\n // }\n // },\n // errorResponse => {\n // // context.commit(\"loading\", { action: \"getWorldcupResult\", status: false });\n // // context.commit(\"delete\");\n // router.push(\"/\").catch(err => {});\n // feedback.status = errorResponse;\n // reject(feedback);\n // }\n // );\n // } else {\n // reject(feedback);\n // }\n // });\n // },\n makeBet(context, user) {\n const url = config.makeBet();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n match_id: user.match_id,\n home_score: user.home_score,\n away_score: user.away_score\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.makeBet.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.makeBet.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.makeBet.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.makeBet == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"makeBet\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"makeBet\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"makeBet\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getBetList(context, user) {\n const url = config.getBetList();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n page_size: user.page_size,\n page_number: user.page_number\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getBetList.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getBetList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getBetList.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getBetList == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getBetList\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getBetList\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getBetList\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getClaimedTickets(context, user) {\n const url = config.getClaimedTickets();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n page_size: user.page_size,\n page_number: user.page_number\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getClaimedTickets.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getClaimedTickets.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getClaimedTickets.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getClaimedTickets == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getClaimedTickets\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getClaimedTickets\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getClaimedTickets\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getRebateChart(context, user) {\n const url = config.getRebateChart();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getRebateChart.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getRebateChart.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getRebateChart.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getRebateChart == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getRebateChart\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getRebateChart\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getRebateChart\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getXchangeRate(context, user) {\n const url = config.getXchangeRate();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getXchangeRate.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getXchangeRate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getXchangeRate.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getXchangeRate == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getXchangeRate\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getXchangeRate\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getXchangeRate\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getStreamLink(context, user) {\n const url = config.getStreamLink();\n const body = {\n \n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getStreamLink.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getStreamLink\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getStreamLink\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getStreamLink\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getTopgame(context, user) {\n const url = config.getTopgame();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getTopgame.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getTopgame.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getTopgame.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getTopgame == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getTopgame\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getTopgame\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getTopgame\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getPromoDepositCount(context, user) {\n const url = config.getPromoDepositCount();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n promotion_id : user.promotion_id\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getPromoDepositCount.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getPromoDepositCount.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getPromoDepositCount.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getPromoDepositCount\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getPromoDepositCount\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getPromoDepositCount\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getRealTimeTrans(context, user) {\n const url = config.getRealTimeTrans();\n const body = {\n method: user.method\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getRealTimeTrans.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n // if (this.state.user._loading.getRealTimeTrans == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getRealTimeTrans\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getRealTimeTrans\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getRealTimeTrans\", status: false });\n // context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getProviderGameOfflist(context, user) {\n const url = config.getProviderGameOfflist();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n provider_code: user.provider_code\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getProviderGameOfflist.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getProviderGameOfflist.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getProviderGameOfflist.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n if (!(\"provider_code\" in user)) {\n feedback.status = errorTags.getProviderGameOfflist.providerRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.provider_code.length <= 0) {\n feedback.status = errorTags.getProviderGameOfflist.providerRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getProviderGameOfflist == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getProviderGameOfflist\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getProviderGameOfflist\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getProviderGameOfflist\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getTokenBalance(context, user) {\n const url = config.getTokenBalance();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getTokenBalance.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getTokenBalance.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getTokenBalance.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getTokenBalance == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getTokenBalance\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getTokenBalance\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getTokenBalance\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n \n\n /* cms */\n getSlideBanner(context, user) {\n const url = config.getSlideBanner();\n const body = {\n lang: \"all\"\n };\n const feedback = {\n success: false,\n status: errorTags.getSlideBanner.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (this.state.user._loading.getSlideBanner == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n \n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getSlideBanner\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getSlideBanner\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n reject(feedback);\n }\n } else {\n reject(feedback);\n }\n } else {\n reject(feedback);\n }\n },\n errorResponse => {\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getAnnBanner(context, user) {\n const url = config.getAnnBanner();\n const body = {\n lang: \"all\"\n };\n const feedback = {\n success: false,\n status: errorTags.getAnnBanner.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (this.state.user._loading.getAnnBanner == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n \n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getAnnBanner\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getAnnBanner\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n var annBeforeLogList = []\n var annAfterLogList = []\n if(successResponse.body.value.length > 0){\n successResponse.body.value.forEach(x => {\n if(x.banner_type === 1){\n annBeforeLogList.push(x)\n }else{\n annAfterLogList.push(x)\n }\n })\n }\n if(annBeforeLogList.length > 0){\n feedback.annBeforeLog = true\n context.commit(\"updateAnnBeforeLog\", annBeforeLogList);\n }\n if(annAfterLogList.length > 0){\n feedback.annAfterLog = true\n context.commit(\"updateAnnAfterLog\", annAfterLogList);\n }\n resolve(feedback);\n } catch (error) {\n reject(feedback);\n }\n } else {\n reject(feedback);\n }\n } else {\n reject(feedback);\n }\n },\n errorResponse => {\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getPromoBanner(context, user) {\n const url = config.getPromoBanner();\n const body = {\n lang: \"all\"\n };\n const feedback = {\n success: false,\n status: errorTags.getPromoBanner.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (this.state.user._loading.getPromoBanner == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n \n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getPromoBanner\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getPromoBanner\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n reject(feedback);\n }\n } else {\n reject(feedback);\n }\n } else {\n reject(feedback);\n }\n },\n errorResponse => {\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n getSeo(context, user) {\n const url = config.getSeo();\n const body = {\n page_name: user.page_name\n };\n const feedback = {\n success: false,\n status: errorTags.getSeo.failed\n };\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (this.state.user._loading.getSeo == true) {\n feedback.status = errorTags.request.processing;\n canRequest = false;\n }\n \n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getSeo\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getSeo\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n reject(feedback);\n }\n } else {\n reject(feedback);\n }\n } else {\n reject(feedback);\n }\n },\n errorResponse => {\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n\n /* fav list */\n getFavlist(context, user) {\n const url = config.getFavlist();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.getFavlist.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.getFavlist.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.getFavlist.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.getFavlist == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"getFavlist\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"getFavlist\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n context.commit(\"updateFavlist\", successResponse.body.value);\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"getFavlist\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n addFav(context, user) {\n const url = config.addFav();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n provider_code: user.provider_code,\n game_code: user.game_code,\n game_name: user.game_name,\n game_type: user.game_type,\n img_url: user.img_url,\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.addFav.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.addFav.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.addFav.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.addFav == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"addFav\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"addFav\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"addFav\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n removeFav(context, user) {\n const url = config.removeFav();\n const body = {\n account_id: user.account_id,\n auth_token: user.auth_token,\n provider_code: user.provider_code,\n game_code: user.game_code\n };\n const feedback = {\n data: [],\n success: false,\n status: errorTags.removeFav.failed\n };\n\n return new Promise((resolve, reject) => {\n var canRequest = true;\n\n if (!(\"account_id\" in user)) {\n feedback.status = errorTags.removeFav.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n if (user.account_id.length <= 0) {\n feedback.status = errorTags.removeFav.accountIdRequired;\n reject(feedback);\n canRequest = false;\n }\n\n // if (this.state.user._loading.removeFav == true) {\n // feedback.status = errorTags.request.processing;\n // canRequest = false;\n // }\n\n if (canRequest == true) {\n // context.commit(\"loading\", { action: \"removeFav\", status: true });\n Vue.http.post(url, body).then(\n successResponse => {\n // context.commit(\"loading\", { action: \"removeFav\", status: false });\n if (successResponse) {\n if (typeof successResponse.body.status == \"string\") {\n feedback.success = successResponse.body.status == \"1\";\n } else {\n feedback.success = successResponse.body.status == 1;\n }\n feedback.status = successResponse.body.statusdesc;\n if (feedback.success == true) {\n try {\n feedback.data = successResponse.body.value;\n context.commit(\"updateFavlist\", successResponse.body.value);\n resolve(feedback);\n } catch (error) {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n if (\n feedback.status == errorTags.session.expired ||\n feedback.status == errorTags.session.invalidSession\n ) {\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n }\n reject(feedback);\n }\n } else {\n // Response is empty...\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n reject(feedback);\n }\n },\n errorResponse => {\n // context.commit(\"loading\", { action: \"removeFav\", status: false });\n context.commit(\"delete\");\n router.push(\"/\").catch(err => {});\n feedback.status = errorResponse;\n reject(feedback);\n }\n );\n } else {\n reject(feedback);\n }\n });\n },\n }\n};\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n// import VuexPersist from \"vuex-persist\";\nimport VuexPersistence from \"vuex-persist\";\nimport VuexSharedMutations from \"vuex-shared-mutations\";\nimport Cookies from \"js-cookie\";\n\nimport user from \"@/store/_user\";\n\nVue.use(Vuex);\n\nconst storageKey = process.env.VUE_APP_COOKIE;\n\nconst cookieStorage = new VuexPersistence({\n key: storageKey,\n storage: window.localStorage,\n reducer: state => ({\n user: {\n account: state.user.account,\n transaction: state.user.transaction,\n transactionEwallet: state.user.transactionEwallet,\n language: state.user.language,\n socialList: state.user.socialList,\n favList: state.user.favList,\n avatarImg: state.user.avatarImg,\n currentLevel: state.user.currentLevel,\n smarticoData: state.user.smarticoData,\n missions: state.user.missions,\n badges: state.user.badges,\n currentLevelDetails: state.user.currentLevelDetails,\n nextLevelDetails: state.user.nextLevelDetails\n }\n })\n});\n\n// const cookieStorage = new VuexPersistence({\n// key: storageKey,\n// restoreState: (key) => Cookies.getJSON(key),\n// saveState: (key, state) =>\n// Cookies.set(key, state, {\n// expires: new Date(new Date().getTime() + 12 * 60 * 60 * 1000)\n// }),\n// reducer: state => ({\n// user: {\n// account: state.user.account,\n// transaction: state.user.transaction,\n// language: state.user.language,\n// royaltyLevel: state.user.royaltyLevel\n// }\n// })\n// });\n\nconst store = new Vuex.Store({\n modules: {\n user\n },\n getters: {\n language: state => {\n return state.user.language;\n },\n transferDetails: state => {\n return state.user.transferDetails;\n },\n promoDetails: state => {\n return state.user.promoDetails;\n },\n adjustmentDetails: state => {\n return state.user.adjustmentDetails\n },\n refereeCount: state => {\n return state.user.refereeCount\n },\n betHistory: state => {\n return state.user.betHistory;\n },\n slotResult: state => {\n return state.user.slotResult;\n },\n cockfightResult: state => {\n return state.user.cockfightResult;\n },\n rebateResult: state => {\n return state.user.rebateResult;\n }, \n sbResult: state => {\n return state.user.sbResult;\n },\n livecasinoResult: state => {\n return state.user.livecasinoResult;\n },\n downlineList : state => {\n return state.user.downlineList;\n },\n betList : state => {\n return state.user.betList;\n },\n claimedTicketsList : state => {\n return state.user.claimedTicketsList;\n },\n refreshKey: state => {\n return state.user.refreshKey;\n },\n accountID: state => {\n return state.user.account.account_id;\n },\n username: state => {\n return state.user.account.full_name;\n },\n sessionToken: state => {\n return state.user.account.session_token;\n },\n currency: state => {\n return state.user.account.currency;\n },\n balance: state => {\n return state.user.balance;\n },\n gameToken: state => {\n return state.user.gameToken;\n },\n lastLoginTime: state => {\n return state.user.account.last_login_time;\n },\n contactNumber: state => {\n return state.user.account.contact_phone;\n },\n bankList: state => {\n return state.user.bankList;\n },\n isLoggedIn: state => {\n if (state.user.account.session_token) {\n return true;\n } else {\n return false;\n }\n },\n email: state => {\n return state.user.account.contact_email;\n },\n // slotSelected: state => {\n // return state.user.slotSelected;\n // },\n bankName: state => {\n if(state.user.transaction.length > 0) {\n return state.user.transaction[0].bank_name;\n } else {\n return \"\";\n }\n },\n bankAccHolder: state => {\n if(state.user.transaction.length > 0) {\n return state.user.transaction[0].bank_acc_holder;\n } else {\n return \"\";\n }\n },\n bankAccNo: state => {\n if(state.user.transaction.length > 0) {\n return state.user.transaction[0].bank_acc_no;\n } else {\n return \"\";\n }\n },\n transaction: state => {\n return state.user.transaction;\n },\n transactionEwallet: state => {\n return state.user.transactionEwallet;\n },\n getSocialList: state => {\n return state.user.socialList;\n },\n getFavlist: state => {\n return state.user.favList;\n },\n getAvatar: state => {\n return state.user.avatarImg;\n },\n getCurrentLevel: state => {\n return state.user.currentLevel;\n },\n getSmarticoData: state => {\n return state.user.smarticoData;\n },\n getMissions: state => {\n return state.user.missions;\n },\n getBadges: state => {\n return state.user.badges;\n },\n // isFreeCredit: state => {\n // if (state.user.account.is_freecredit){\n // return true;\n // } else {\n // return false;\n // }\n // }\n },\n plugins: [\n cookieStorage.plugin,\n VuexSharedMutations({\n predicate: [\n \"user/uTransferDetails\",\n \"user/uBetHistory\",\n \"user/uLivecasinoResult\",\n \"user/uSlotResult\",\n \"user/uCockfightResult\",\n \"user/uRebateResult\",\n \"user/uSbResult\",\n \"user/uPromoDetails\",\n \"user/uAdjustmentDetails\",\n \"user/uRefereeCount\",\n \"user/uDownlineList\",\n \"user/uBetList\",\n \"user/uClaimedTicketsList\",\n \"user/updateInbox\",\n \"user/update\",\n \"user/delete\",\n \"user/updateBalance\",\n \"user/updateBank\",\n \"user/updateRefreshKey\",\n \"user/updateLanguage\",\n \"user/updateSociallist\",\n \"user/updateFavlist\",\n \"user/updateAvatar\",\n \"user/updateCurrentLevel\",\n \"user/updateSmarticoData\",\n \"user/updateMissions\",\n \"user/updateBadges\",\n \"user/updateCurrentlvlDetails\",\n \"user/updateNextlvlDetails\",\n ]\n })\n ]\n});\n\nexport default store;\n","export default {\n install: (Vue, options) => {\n Vue.prototype.$helpers = {\n apiConnect(target, path, json) {\n // console.log(path, json)\n // target.$store\n // .dispatch(path, { account_id, auth_token })\n // var feedback = {\n // success: false,\n // status: errorTags.request.failed\n // };\n // return new Promise((resolve, reject) => {\n // Vue.http.post(url, json).then(\n // successResponse => {\n // if (successResponse) {\n // feedback.success = typeof successResponse.data.status == \"string\" ? successResponse.data.status == \"1\" : successResponse.data.status == 1;\n // feedback.status = successresponse.status;\n // if (feedback.success == true) {\n // feedback.data= successResponse.data;\n // resolve(feedback);\n // }\n // else {\n // resolve(feedback)\n // }\n // }\n // else {\n // resolve(feedback); // Response is empty...\n // }\n // },\n // errorResponse => {\n // feedback.error = errorResponse;\n // reject(feedback);\n // }\n // );\n // }).catch(e => {\n // feedback.error = e;\n // reject(feedback);\n // });\n },\n showDialog(title, message, variant, target) {\n target.$swal({\n title: title,\n text: message,\n type: variant,\n }).then((result)=>{});\n },\n errorHandling(title, message, variant, target) {\n switch(message) {\n case \"session_expired\":\n target.$swal({\n title: title,\n text: target.$tc('message.list.'+message),\n type: variant\n }).then(result => {\n target.$store\n .dispatch(\"user/logout\")\n .then(() => this.$router.push(\"/\"))\n .catch(err => console.log(err));\n });\n break;\n default:\n break;\n }\n },\n getDateTime(datetime){\n if(datetime != null && datetime != undefined && datetime != \"\"){\n var returnDateTime = options.$moment(datetime).format('YYYY-MM-DD HH:mm:ss');\n return returnDateTime;\n }else{\n return \"-\";\n }\n },\n redirect(page) {\n return options.$router.push(\"/\" + page).catch(error =>{});\n },\n // onlyNumber($event) {\n // let keyCode = ($event.keyCode ? $event.keyCode : $event.which);\n // if ((keyCode < 48 || keyCode > 57) && [43, 45, 46, 101, 187, 188, 189, 190].includes(keyCode)) { // prevent: \"e\", \"=\", \",\", \"-\", \".\"\n // $event.preventDefault();\n // }\n // },\n onlyNumber($event) {\n let keyCode = ($event.which) ? $event.which : $event.keyCode;\n if (keyCode > 31 && (keyCode < 48 || keyCode > 57)){\n $event.preventDefault();\n }\n },\n onlyAlphaNum($event){\n let keyCode = ($event.keyCode ? $event.keyCode : $event.which);\n var regex = /^[A-Za-z0-9]+$/;\n var isValid = regex.test(String.fromCharCode(keyCode));\n if(!isValid){\n $event.preventDefault();\n }\n // if ((keyCode < 48 || keyCode > 57) && [43, 45, 46, 101, 187, 188, 189, 190].includes(keyCode)) { // prevent: \"e\", \"=\", \",\", \"-\", \".\"\n // $event.preventDefault();\n // }\n },\n onlyAlphabet($event){\n var evt = ($event) ? $event : window.event;\n var charCode = (evt.which) ? evt.which : evt.keyCode;\n if (charCode > 31 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) {\n if(charCode !== 32){\n $event.preventDefault();\n } \n }\n // let keyCode = ($event.keyCode ? $event.keyCode : $event.which);\n // var regex = /^[A-Za-z ]+$/;\n // var isValid = regex.test(String.fromCharCode(keyCode));\n // if(!isValid){\n // $event.preventDefault();\n // }\n // var inputValue = $event.which;\n // if(!(inputValue >= 65 && inputValue <= 122) && (inputValue != 32 && inputValue != 0)) { \n // $event.preventDefault(); \n // }\n },\n fmt(v, t = false) {\n if (v == null) return null;\n var r = v.toString();\n \n if (r == \"0\") {\n return \"\";\n }\n \n var i = r.indexOf(\".\");\n if (i <= 0) {\n return r;\n }\n \n var l = 4;\n var da = r.substr(i + 1, 3);\n var d1 = r.substr(i + 1, 1);\n var d2 = r.substr(i + 2, 1);\n var d3 = r.substr(i + 3, 1);\n \n if (d3 == \"5\") {\n l = 4;\n } else {\n if (t) {\n if (v >= 10) {\n if (da == \"000\") {\n l = 0;\n } else {\n if (d2 != \"0\") {\n l = 3;\n } else {\n if (d1 != \"0\") {\n l = 2;\n } else {\n l = 0;\n }\n }\n }\n }\n }\n }\n var rs = r.substr(0, i + l);\n return rs;\n },\n betDisplay(item, t, lang) {\n var result = \"\";\n switch (item.bet_type) {\n case \"PARLAY\":\n result = \"\";\n break;\n case \"HDP\":\n case \"HDPH\":\n result = item.home_away == 1 ? this.getHomeTeam(item, lang) : this.getAwayTeam(item, lang);\n break;\n case \"OU\":\n case \"OUH\":\n result = item.home_away == 1 ? t.$t(\"ui.over\") : t.$t(\"ui.under\");\n break;\n case \"OE\":\n case \"OEH\":\n result = item.home_away == 1 ? t.$t(\"ui.odd\") : t.$t(\"ui.even\");\n break;\n case \"ML\":\n case \"MLH\":\n result = item.home_away == 1 ? t.$t(\"m.BT_H\") : t.$t(\"m.BT_A\");\n break;\n case \"1X2\":\n switch (item.home_away) {\n case 1:\n result = t.$t(\"m.BT_FT1\");\n break;\n case 2:\n result = t.$t(\"m.BT_FT2\");\n break;\n case 3:\n result = t.$t(\"m.BT_FTX\");\n break;\n }\n break;\n case \"1X2H\":\n switch (item.home_away) {\n case 1:\n result = t.$t(\"m.BT_HT1\");\n break;\n case 2:\n result = t.$t(\"m.BT_HT2\");\n break;\n case 3:\n result = t.$t(\"m.BT_HTX\");\n break;\n }\n break;\n case \"1X2HDP\":\n case \"1X2HDPH\":\n switch (item.home_away) {\n case 1:\n result = t.$t(\"m.BT_H\");\n break;\n case 2:\n result = t.$t(\"m.BT_A\");\n break;\n case 3:\n result = t.$t(\"m.BT_D\");\n break;\n }\n break;\n case \"CS\":\n case \"CSH\":\n case \"TG\":\n case \"TGH\":\n case \"OR\":\n case \"BS\":\n result = item.criteria1;\n break;\n case \"HTFT\":\n case \"HTFTH\":\n case \"FGLG\":\n case \"FGLGH\":\n case \"CL\":\n case \"HNB\":\n case \"ANB\":\n case \"DNB\":\n case \"TWTN\":\n result = t.$t(\"m.BT_\" + item.criteria1);\n break;\n case \"DC\":\n case \"DCH\":\n result = t.$t(\"m.BT_\" + item.criteria1 + \"_DC\");\n break;\n }\n \n return result;\n },\n getHomeTeam(e, lang) {\n var r = e[\"home_name_\" + lang];\n if (r != null && r != \"\") {\n return r;\n }\n return e.home_team_name;\n },\n getAwayTeam(e, lang) {\n var r = e[\"away_name_\" + lang];\n if (r != null && r != \"\") {\n return r;\n }\n return e.away_team_name;\n },\n openModal(target){\n $(target).modal(\"show\")\n },\n closeModal(target){\n $(target).modal(\"hide\")\n },\n };\n }\n};","import Vue from \"vue\";\r\nimport Vuelidate from \"vuelidate\";\r\nimport VueMeta from \"vue-meta\";\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport store from \"./store\";\r\nimport i18n from \"@/i18n\";\r\nimport helpers from \"@/plugins/helpers\";\r\nimport VueSweetalert2 from \"vue-sweetalert2\";\r\nimport VueResource from \"vue-resource\";\r\nimport datePicker from \"vue-bootstrap-datetimepicker\";\r\nimport \"pc-bootstrap4-datetimepicker/build/css/bootstrap-datetimepicker.css\";\r\nimport moment from \"moment-timezone\";\r\nmoment.tz.setDefault(\"Asia/Kuala_Lumpur\");\r\nObject.defineProperty(Vue.prototype, \"$moment\", { value: moment });\r\nimport numeral from \"numeral\";\r\n// import './registerServiceWorker'\r\nObject.defineProperty(Vue.prototype, \"$numeral\", { value: numeral });\r\n\r\nVue.use(VueResource);\r\n\r\nVue.config.productionTip = false;\r\nVue.config.productionTip = process.env.NODE_ENV === \"production\" || false;\r\n\r\nVue.use(helpers, { $swal: Vue.swal, $moment: moment, $router: router, $store: store });\r\nVue.use(Vuelidate);\r\nVue.use(VueSweetalert2);\r\nVue.use(VueResource);\r\nVue.use(datePicker);\r\nVue.use(VueMeta)\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n if (\r\n to.matched.some(record => {\r\n return record.meta.requiredLoggedIn;\r\n })\r\n ){\r\n if (!store.getters.isLoggedIn) {\r\n next({ path: \"\"});\r\n return;\r\n } else {\r\n next ()\r\n }\r\n }else if (\r\n to.matched.some(record => {\r\n return record.meta.beforeLogIn;\r\n })\r\n ){\r\n if(store.getters.isLoggedIn){\r\n next({ path: \"\"});\r\n return;\r\n }else{\r\n next()\r\n }\r\n } else {\r\n next();\r\n }\r\n\r\n \r\n})\r\n\r\ni18n.locale = store.state.user.language;\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n i18n,\r\n render: h => h(App)\r\n}).$mount(\"#app\");\r\n\r\n","\nexport default {\n appTitle: process.env.VUE_APP_TITLE,\n appVersion: process.env.VUE_APP_VERSION,\n aa:process.env.VUE_APP_AA,\n baseUrl: process.env.VUE_APP_BASE_URL,\n userBaseUrl: \"/member\",\n userFundUrl: \"/fund\",\n userReportUrl: \"/report\",\n userReviewUrl: \"/memberreview\",\n userEventUrl: \"/event\",\n userFavurl: \"/game\",\n cmsUrl: \"/cms\",\n couponUrl: \"/couponcode\",\n paymentGatewayUrl: \"/payg\",\n bankList: [],\n account_name: \"EPICWIN Philippines\",\n epicGame: process.env.VUE_APP_EPIC_URL,\n epic2: process.env.VUE_APP_EPIC2_URL,\n awcGame: process.env.VUE_APP_AWC_URL,\n sabongGame: process.env.VUE_APP_SABONG_URL,\n ironClaw:process.env.VUE_APP_IRONCLAW_URL,\n live22Game: process.env.VUE_APP_LIVE22_URL,\n evoGame: process.env.VUE_APP_EVO_URL,\n tpGame: process.env.VUE_APP_TP_URL,\n hacksawGame: process.env.VUE_APP_HACKSAW_URL,\n t1Game: process.env.VUE_APP_T1_URL,\n fcGame: process.env.VUE_APP_FC_URL,\n jiliGame: process.env.VUE_APP_JILI_URL,\n cq9Game: process.env.VUE_APP_CQ9_URL,\n habaneroGame: process.env.VUE_APP_HABANERO_URL,\n ppsGame:process.env.VUE_APP_PRAGMATIC_URL,\n ppCasino: process.env.VUE_APP_PRAGCASINO_URL,\n launchOne: process.env.VUE_APP_LAUNCHONE_URL,\n ygrGame: process.env.VUE_APP_LAUNCHYGR_URL,\n wowApi: process.env.VUE_APP_LAUNCHWOW_URL,\n tblGame: process.env.VUE_APP_LAUNCHTBL_URL,\n launchOpen: process.env.VUE_APP_LAUNCHOPEN_URL,\n wBet:process.env.VUE_APP_WBET_URL,\n epicResultUrl: process.env.VUE_APP_EPIC_RESULT,\n tblResultUrl: process.env.VUE_APP_TBL_RESULT,\n useConfigUrl: process.env.VUE_APP_STATIC_URL,\n imageUrl: process.env.VUE_APP_IMAGE_URL,\n imageUpload: process.env.VUE_APP_IMAGE_UPLOAD,\n min: 67,\n max: 94,\n precision: 2,\n\n getDomain(url, subdomain) {\n subdomain = subdomain || false;\n\n url = url.replace(/(https?:\\/\\/)?(www.)?/i, \"\");\n \n if (!subdomain) {\n url = url.split(\".\");\n\n url = url.slice(url.length - 2).join(\".\");\n }\n \n if (url.indexOf(\"/\") !== -1) {\n return url.split(\"/\")[0];\n }\n\n return url;\n },\n\n getBaseUrl() {\n if (this.useConfigUrl == \"true\") {\n return this.baseUrl;\n }\n var domain = this.getDomain(window.location.hostname, false);\n if (domain != \"localhost\") {\n if(this.useConfigUrl == \"true\"){\n return this.baseUrl;\n }else{\n return \"https://api.\" + domain;\n } \n } else { \n return this.baseUrl;\n }\n },\n\n membersignup() {\n return this.getBaseUrl() + this.userBaseUrl + \"/membersignup\";\n },\n memberLogin() {\n return this.getBaseUrl() + this.userBaseUrl + \"/memberlogin\";\n },\n mbTacLogin(){\n return this.getBaseUrl() + this.userBaseUrl + \"/mbtaclogin\";\n },\n mbNewLogin(){\n return this.getBaseUrl() + this.userBaseUrl + \"/mbnewlogin\";\n },\n getBalance() {\n return this.getBaseUrl() + this.userFundUrl + \"/getbalance\";\n },\n updatePassword() {\n return this.getBaseUrl() + this.userBaseUrl + \"/memberupdatepassword\";\n },\n forgotPassword() {\n return this.getBaseUrl() + this.userBaseUrl + \"/forgotpassword\";\n },\n profileUpdate(){\n return this.getBaseUrl() + this.userBaseUrl + \"/profileupdate\";\n },\n memberAddBank() {\n return this.getBaseUrl() + this.userFundUrl + \"/addmemberbank\";\n },\n memberAddEwallet(){\n return this.getBaseUrl() + this.userFundUrl + \"/addmemberewallet\";\n },\n setDefaultBank() {\n return this.getBaseUrl() + this.userFundUrl + \"/setdefaultbank\";\n },\n getMemberBankList() {\n return this.getBaseUrl() + this.userFundUrl + \"/getmemberbanklist\";\n },\n getMemberEwallet(){\n return this.getBaseUrl() + this.userFundUrl + \"/getbanklistmb\";\n },\n activeList(){\n return this.getBaseUrl() + this.userBaseUrl + \"/memberbankcount\";\n },\n bankLookUp() {\n return this.getBaseUrl() + this.userFundUrl + \"/banklookup\";\n },\n getBankingMode() {\n return this.getBaseUrl() + this.userFundUrl + \"/bankingmode\";\n },\n manualDeposit() {\n return this.getBaseUrl() + this.userFundUrl + \"/deposit\";\n },\n addWithdrawTicket() {\n return this.getBaseUrl() + this.userFundUrl + \"/withdrawal\";\n },\n getMemberTicketList() {\n return this.getBaseUrl() + this.userReportUrl + \"/getticketlist\";\n },\n getTurnoverDownline(){\n return this.getBaseUrl() + this.userReportUrl + \"/getturnovermember\";\n },\n depositOfaPay() {\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositofapay\";\n },\n launchGame() {\n return this.getBaseUrl() + this.userBaseUrl + \"/launchgame\";\n },\n getPromotionStatus() {\n return this.getBaseUrl() + this.userFundUrl + \"/getpromotionstatus\";\n },\n getMemberStatement() {\n return this.getBaseUrl() + this.userReportUrl + \"/getstatement\";\n },\n getMemberTransferDetails() {\n return this.getBaseUrl()+ this.userReportUrl + \"/gettransferlist\";\n },\n getGameResultSlot(){\n return this.getBaseUrl() + this.userReportUrl + \"/getgameresultslot\";\n },\n getGameResultLivecasino(){\n return this.getBaseUrl() + this.userReportUrl + \"/getgameresultlc\";\n },\n getGameResultRebate(){\n return this.getBaseUrl() + this.userReportUrl + \"/getgameresultrebate\"\n },\n getGameResultSb(){\n return this.getBaseUrl() + this.userReportUrl + \"/getgameresultsp\"\n },\n getGameResultCockfight(){\n return this.getBaseUrl() + this.userReportUrl + \"/getgameresultcockfight\"\n },\n getPlatformWinLose() {\n return this.getBaseUrl() + this.userReportUrl + \"/getplatformwinlose\";\n },\n getSocialList() {\n return this.getBaseUrl() + this.userBaseUrl + \"/getsociallist\";\n },\n memberTacValidate(){\n return this.getBaseUrl() + this.userBaseUrl + \"/membertacvalidate\";\n },\n memberRenewTac(){\n return this.getBaseUrl()+ this.userBaseUrl + \"/membertacrenew\";\n },\n getPromoStatement(){\n return this.getBaseUrl() + this.userReportUrl + \"/getbonuslist\";\n },\n getAdjustmentDetails(){\n return this.getBaseUrl() + this.userReportUrl + \"/getadjustmentlist\";\n },\n getInboxList(){\n return this.getBaseUrl() + this.userFundUrl + \"/getinboxlist\";\n },\n inboxClaim(){\n return this.getBaseUrl() + this.userFundUrl + \"/inboxclaim\";\n },\n getTopTenDepositWithdraw(){\n return this.getBaseUrl() + this.userBaseUrl + \"/gettoptendw\";\n },\n getMemberVip(){\n return this.getBaseUrl() + this.userBaseUrl + \"/getmembervip\";\n },\n memberBankTac() {\n return this.getBaseUrl() + this.userFundUrl + \"/memberbanktac\";\n },\n memberTransferMember(){\n return this.getBaseUrl() + this.userFundUrl + \"/membertransfermember\";\n },\n getGraphData(){\n return this.getBaseUrl() + this.userBaseUrl + \"/graph\";\n },\n getSurveyQuestion(){\n return this.getBaseUrl() + this.userReviewUrl + \"/getreviewlookup\";\n },\n getTopTenReview(){\n return this.getBaseUrl() + this.userReviewUrl + \"/gettoptensurveylist\";\n },\n memberReview(){\n return this.getBaseUrl() + this.userReviewUrl + \"/memberreview\";\n },\n mayaPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositmayapay\";\n },\n htPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/deposithtpay\";\n },\n aiPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositaipay\";\n },\n rmPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositrmpay\";\n },\n gopayGcash(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositgopaygcash\";\n },\n gopayMaya(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositgopaymaya\";\n },\n dgpayGcash(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositdgpaygcash\";\n },\n dgpayGcashqr(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositdgpaygcashqr\";\n },\n dgpayMaya(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositdgpaymaya\";\n },\n cloudPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositcloudpay\";\n },\n topPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/deposittoppay\";\n },\n anfuPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositanfu\";\n },\n shunfapayGcash(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositshunfapaygcash\";\n },\n shunfapayMaya(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositshunfapaymaya\";\n },\n worldPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositworldpay\";\n },\n rgPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositrgpay\"\n },\n wcPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositwcpay\"\n },\n goldPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositgoldpay\"\n },\n xftgCash(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositxftgcash\"\n },\n xftUsdt(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositxftusdt\"\n },\n masayaPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositmasayapay\"\n },\n xyPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositxypay\"\n },\n tygPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/deposittygpay\"\n },\n ctPay(){\n return this.getBaseUrl() + this.paymentGatewayUrl + \"/depositctpay\"\n },\n getCouponDetails(){\n return this.getBaseUrl() + this.couponUrl + \"/getcoupondetails\";\n },\n updateEmail(){\n return this.getBaseUrl() + this.userBaseUrl + \"/updateemail\"\n },\n getRebate() {\n return this.getBaseUrl() + this.userFundUrl + \"/memberrebateself\";\n },\n getRebateDownline(){\n return this.getBaseUrl() + this.userFundUrl + \"/memberrebatedownline\";\n },\n getRefereeList(){\n return this.getBaseUrl() + this.userReportUrl + \"/getrefereelist\";\n },\n claimRebate(){\n return this.getBaseUrl() + this.userFundUrl + \"/rebateselfclaim\";\n },\n claimRebateDownline(){\n return this.getBaseUrl() + this.userFundUrl + \"/rebatedownlineclaim\";\n },\n getTurnoverProvider(){\n return this.getBaseUrl() + this.userReportUrl + \"/getturnoverprovider\";\n },\n getBetList(){\n return this.getBaseUrl() + this.userEventUrl + \"/getbetlist\"\n },\n getClaimedTickets(){\n return this.getBaseUrl() + this.userEventUrl + \"/ticketclaimedlist\"\n },\n getRealTimeTrans(){\n return this.getBaseUrl() + this.userReportUrl + \"/getdpwithdrawallist\"\n },\n getRebateChart(){\n return this.getBaseUrl() + this.userReportUrl + \"/rebatechart\"\n },\n getProviderGameOfflist(){\n return this.getBaseUrl() + this.userBaseUrl + \"/providergameofflist\"\n },\n getRtplist(){\n return this.getBaseUrl() + this.userReportUrl + \"/getrtplist\"\n },\n getTopgame(){\n return this.getBaseUrl() + this.userReportUrl + \"/getmembertopgame\"\n },\n getXchangeRate(){\n return this.getBaseUrl() + this.userFundUrl + \"/exchangeratelist\";\n },\n getStreamLink(){\n return this.getBaseUrl() + this.cmsUrl + \"/iframelist\"\n },\n getPromoDepositCount(){\n return this.getBaseUrl() + this.userFundUrl + \"/getpromodepositcount\"\n },\n\n /* fav list */\n getFavlist(){\n return this.getBaseUrl() + this.userFavurl + \"/favlist\"\n },\n addFav(){\n return this.getBaseUrl() + this.userFavurl + \"/addfav\"\n },\n removeFav(){\n return this.getBaseUrl() + this.userFavurl + \"/removefav\"\n },\n\n /* cms */\n \n getSlideBanner(){\n return this.getBaseUrl() + this.cmsUrl + \"/slidebannerlist\"\n },\n getAnnBanner(){\n return this.getBaseUrl() + this.cmsUrl + \"/announcementbannerlist\"\n },\n getPromoBanner(){\n return this.getBaseUrl() + this.cmsUrl + \"/promotionbanner\"\n },\n getSeo(){\n return this.getBaseUrl() + this.cmsUrl + \"/seopagedetails\"\n },\n\n /* appflyer */\n appflyerSubmit(){\n return this.getBaseUrl() + \"/appsflyer/appsflyervisit\"\n },\n\n // slots\n launchEpic(){\n return this.epicGame + \"/epiclaunchgame\"\n },\n launchEpic2(){\n return this.epic2 + \"/launchgame\"\n },\n getEpicGamelist(){\n return this.epicGame + \"/getGameList\"\n },\n getEpic2list(){\n return this.epic2 + \"/getgamelist\"\n },\n launchLive22(){\n return this.live22Game + \"/launchgame\"\n },\n getLive22GameList(){\n return this.live22Game + \"/getgamelist?lang=en\"\n },\n getAwcList(){\n return this.awcGame + \"/getgamelist\"\n },\n launchAwc(){\n return this.awcGame + \"/launchgame\"\n },\n getFcList(){\n return this.fcGame + \"/getgamelist\"\n },\n launchFc(){\n return this.fcGame + \"/launchgame\"\n },\n getJiliList(){\n return this.jiliGame + \"/getgamelist\"\n },\n launchJili(){\n return this.jiliGame + \"/launchgame\"\n },\n getCq9List(){\n return this.cq9Game + \"/getgamelist\"\n },\n launchCq9(){\n return this.cq9Game + \"/launchgame\"\n },\n\n getHabaneroList(){\n return this.habaneroGame + \"/getgamelist\"\n },\n launchHabanero(){\n return this.habaneroGame + \"/launchgame\"\n },\n\n getPpsList(){\n return this.ppsGame + \"/getgamelist\"\n },\n launchPps(){\n return this.ppsGame + \"/launchgame\"\n },\n\n getLaunchoneList(){\n return this.launchOne + \"/getgamelist\"\n },\n\n launchLaunchOne(){\n return this.launchOne + \"/launchgame\"\n },\n\n getYgrList(){\n return this.ygrGame + \"/getgamelist\"\n },\n launchYgr(){\n return this.ygrGame + \"/launchgame\"\n },\n launchWow(){\n return this.wowApi + \"/launchgame\"\n },\n getOpenList(){\n return this.launchOpen + \"/getgamelist\"\n },\n launchOpenapi(){\n return this.launchOpen + \"/launchgame\"\n },\n\n \n\n // casino\n getEvolist(){\n return this.evoGame + \"/getgamelist\"\n },\n launchEvo(){\n return this.evoGame + \"/launchgame\"\n },\n launchPpc(){\n return this.ppCasino + \"/launchgame\"\n },\n launchTbl(){\n return this.tblGame + \"/launchgame\"\n },\n\n //sabong\n launchSabong(){\n return this.sabongGame + \"/launchgame\"\n },\n launchIronclaw(){\n return this.ironClaw + \"/launchgame\"\n },\n\n //sport\n launchWbet(){\n return this.wBet + \"/launchgame\"\n },\n\n //game result\n getLive22Result(){\n return this.live22Game + \"/getbetdetail\"\n },\n getAwcResult(){\n return this.awcGame + \"/getbetdetail\"\n },\n getEvoResult(){\n return this.evoGame + \"/getbetdetail\"\n },\n getFcResult(){\n return this.fcGame + \"/getbetdetail\"\n },\n getJiliResult(){\n return this.jiliGame + \"/getbetdetail\"\n },\n // getEpicResult(){\n // return this.epicGame + \"/getbetdetail\"\n // }\n getEpic2Result(){\n return this.epic2 + \"/getbetdetail\"\n },\n getCq9Result(){\n return this.cq9Game + \"/getbetdetail\"\n },\n getHabaneroResult(){\n return this.habaneroGame + \"/getbetdetail\"\n },\n getPpsResult(){\n return this.ppsGame + \"/getbetdetail\"\n },\n getPpcResult(){\n return this.ppCasino + \"/getbetdetail\"\n },\n getLaunchoneResult(){\n return this.launchOne + \"/getbetdetail\"\n },\n getYgrResult(){\n return this.ygrGame + \"/getbetdetail\"\n },\n getWowResult(){\n return this.wowApi + \"/getbetdetail\"\n },\n getOpenapiResult(){\n return this.launchOpen + \"/getbetdetail\"\n }\n};\n"],"sourceRoot":""}