{"version":3,"sources":["util/Constant.js","util/ApiEngine.js","components/custom/Input.js","config/page-settings.js","util/Util.js","util/PermissionChecker.js","components/header/dropdown/language.jsx","redux/AppAction.js","localization/i18n.js","redux/AuthReducer.js","redux/AppReducer.js","redux/PackageReducer.js","ApplicationStore.js","redux/AuthAction.js","assets/img/svg/sy/language-earth.svg","assets/img/svg/sy/logo.svg","assets/img/svg/sy/user.svg","assets/img/svg/sy/logout-off.svg","assets/img/error.png","components/top-menu/menu.jsx","components/custom/CreditLimit.js","components/header/header.jsx","config/page-route.jsx","components/content/content.jsx","components/footer/footer.jsx","app.jsx","index.js","redux/PackageAction.js"],"names":["ApiKey","_API_SUCCESS_KEY","_API_MESSAGE_KEY","_API_DATA_KEY","_API_CODE_KEY","_API_CONTENT_TYPE","_API_ACCEPT","_API_APPLICATION_JSON","_API_XML_HTTP_REQUEST_KEY","_API_FORM_URLENCODED","_API_POST","_API_GET","_API_INTERNAL_ERROR_CODE","_API_TEMPORARRY_REDIRECT_CODE","ApiUrl","_API_LOGIN","_API_LOGOUT","_API_IS_LOGGED_IN","_API_GET_ROLE_ACCESS_DATA","_API_GET_ROLE_BY_ID","_API_GET_FIGHT_LIMIT_RELATED_DATA","_API_UPDATE_USER_EAT_LIMIT","_API_GET_BETTING_AGENTS","_API_CHANGE_PASSWORD","_API_AGREE_TERMS_AND_CONDITIONS","_API_GET_COMPANY_DETAIL_BY_SUPERADMIN","_API_GET_USER_DETAIL_INIT","_API_CREATE_OR_UPDATE_ACCOUNT","_API_CREATE_OR_UPDATE_SUB_ACCOUNT","_API_GET_USER_ACTIVITY_PERMISSION","_API_GET_POOLS_SELECTION","_API_SUBMIT_NEW_DRAW","_API_SCHEDULE_NEXT_YEAR_DRAW","_API_GET_SCHEDULED_DRAW_BY_YEAR","_API_SUBMIT_EDITED_DRAW","_API_GET_PACKAGES","_API_CREATE_OR_UPDATE_PACKAGE","_API_GET_PACKAGE_DETAIL","_API_CREATE_OR_UPDATE_MASTER_TEMPLATE","_API_GET_MASTER_TEMPLATES","_API_GET_MASTER_TEMPLATE_ITEMS","_API_GET_MASTER_TEMPLATE_ITEM_CATEGORIES","_API_GET_API_LOG","_API_GET_API_REQUEST_LOG","_API_GET_POOLS_RESULT","_API_SAVE_POOLS_RESULT","_API_BLOCK_REPORT","_API_GET_REPORT_ACCESS_VALUE","_API_UPDATE_CUTOFF_TIME","_API_VALIDATE_RESULT","_API_UPDATE_DRAW_PAYMENT_DETAIL","_API_UPDATE_CREDIT_RELEASEL","_API_GET_USERS_ROLE","_API_GET_ACTIVITIES","_API_GET_PERMISSIONS","_API_GET_ROLE_PERMISSION","_API_GET_ROLE_ACTIVITY_PERMISSION","_API_GET_ANNOUNCEMENT","_API_ADD_CREATE_OR_UPDATE_ANNOUNCEMENT","_API_GET_SYSTEM_SETTING","_API_UPDATE_SYSTEM_SETTING","_API_GET_NUMBER_QUEUES","_API_DELETE_NUMBER_QUEUE","_API_GET_CURRENCY_SETTING","_API_UPDATE_CURRENCY_SETTING","_API_SUBMIT_ASSIGN_ROLES","_API_SUBMIT_CREATE_UPDATE_ROLE","_API_GET_PERMUTATION_TYPE","_API_GET_RED_NUMBER","_API_CREATE_OR_UPDATE_RED_NUMBER","_API_DELETE_RED_NUMBER","_API_GET_POOL_SCHEDULE_BY_TOTAL_DAY","_API_GET_TIP_SOURCE_BY_KEYWORD","_API_PLACE_EXPRESS_ORDER","_API_PLACE_WEB_ORDER","_API_VOID_TICKET","_API_GET_BET_RECEIPT","_API_BULK_VOID_TICKET","_API_GET_USER_LISTING","_API_UPDATE_USER_CREDIT_LIMIT","_API_FIXED_RED_PACKAGE","_API_GET_RESERVE_NAME_PREFIX","_API_ADD_RESERVE_NAME_PREFIX","_API_GET_API_ACCOUNT","_API_GENERATE_API_CODE","_API_ADD_API_ACCOUNT","_API_CLONE_ACCOUNT","_API_GET_SUB_ACCOUNT_LISTING","_API_GET_HOUSE_USER_LISTING","_API_GET_PAYMENT_TYPE","_API_MAKE_PAYMENT","_API_GET_PAYMENT_HISTORY","_API_INIT_DRAW_PAYMENT","_API_SAVE_DRAW_PAYMENT","_API_GET_DRAW_PAYMENT_HISTORY","_API_GET_USER_DETAIL_BY_ID","_API_GET_USER_DETAIL_BY_USERNAME","_API_ADMIN_UPDATE_USER_CREDIT_LIMIT","_API_GET_SALES_SUMMARY","_API_GET_TICKET","_API_SEND_SMS_RECEIPT","_API_GET_MAP_REPORT","_API_GET_SELF_PAYOUT_REPORT","_API_GET_PAYOUT_REPORT","_API_GET_SALES_STATISTIC","_API_GET_PAYOUT_STATISTIC","_API_GET_PAYOUT_TABLE","_API_GET_STAKE_HOLDER_REPORT","_API_GET_WIN_LOSS_REPORT","_API_GET_WIN_LOSS_3_SECTION_REPORT","_API_GET_WINNING_REPORT","_API_GET_USER_EAT_DATA","_API_GET_INIT_REPORT","_API_GET_DETAIL_JACKPOT","_API_GET_SMS_COUNT_REPORT","_API_GET_DIRECT_DOWNLINES","_API_GET_TARGET_LINES","_API_GET_RECEIPT_STRING","_API_UPDATE_RECEIPT_STRING","_API_TRIGGER_WINNING_REPORT","_API_CLAIM_PRIZES","_API_GET_BACKUP_STAGE","_API_PRE_INSERT_BACKUP_STAGE","_API_RESETTLE_SEAMLESS_TICKET","_API_GET_REMOTE_BET_AGENT","_API_MANAGE_REMOTE_BET_AGENT","_API_GET_COMM_STATUS","_API_GET_AUTO_TICKET","_API_VOID_AUTO_TICKET","WebUrl","_URL_MAIN","_URL_LOGIN","_URL_TERMS_AND_CONDITIONS","_URL_DASHBOARD","_URL_HELP","_URL_ACCOUNT_MANAGEMENT","_URL_ACCOUNT_DETAIL","_URL_SUB_ACCOUNT_DETAIL","_URL_COMPANY_MANAGEMENT","_URL_NUMBER_MEANING","_URL_POOL_SCHEDULE","_URL_MANAGE_PACKAGE","_URL_PACKAGE_DETAIL","_URL_RESULT","_URL_CUTOFF_TIME","_URL_ROLES","_URL_FIGHT_LIMIT","_URL_ANNOUNCEMENT","_URL_SYSTEM_SETTING","_URL_CURRENCY","_URL_RED_NUMBER","_URL_MANAGE_MASTER_TEMPLATE","_URL_WEB_ORDER","_URL_WEB_ORDER_TWO","_URL_EXPRESS_BETTING","_URL_RESERVE_NAME_PREFIX","_URL_CREATE_API_ACCOUNT","_URL_CLONE_ACCOUNT","_URL_PAYMENT","_URL_DRAW_PAYMENT","_URL_SALES_SUMMARY_REPORT","_URL_MAP_REPORT","_URL_INBOX","_URL_PAYOUT_REPORT","_URL_SALES_STATISTIC_REPORT","_URL_PAYOUT_STATISTIC_REPORT","_URL_PAYOUT_TABLE_REPORT","_URL_STAKE_HOLDER_REPORT","_URL_WIN_LOSS_REPORT","_URL_WIN_LOSS_3_SECTION_REPORT","_URL_WINNING_REPORT","_URL_MANAGE_PROFILE","_URL_WIN_LOSS_DETAIL","_URL_JACKPOT_DETAIL","_URL_API_LOG","_URL_API_REQUEST_LOG","_URL_ADMIN_TOOL","_URL_SELF_WIN_LOSS_DETAIL","_URL_STRIKE_REPORT","_URL_AUTO_TICKET","Status","_ENABLED","_DISABLED","_DELETED","AccessRight","_DOWNLINE_PERMISSION","_MAIN_ACCOUNT_PERMISSION","_BET_SCHEDULE_PERMISSION","_BET_PERMISSION","_BET_HISTORY_PERMISSION","_COMPANY_PERMISSION","_FIGHT_LIMIT_PERMISSION","_RED_NUMBER_PERMISSION","_STAKE_HOLDER_REPORT_PERMISSION","_INBOX_REPORT_PERMISSION","_PROFIT_LOSS_REPORT_PERMISSION","_DAILY_SALES_REPORT_PERMISSION","_GROUP_SALES_REPORT_PERMISSION","_MAP_REPORT_PERMISSION","_TOTAL_BET_REPORT_PERMISSION","_TOTAL_STAKE_REPORT_PERMISSION","_PAYOUT_REPORT_PERMISSION","_WINNING_REPORT_PERMISSION","_GD_WIN_LOSS_REPORT_PERMISSION","_PAYMENT_REPORT_PERMISSION","_VIEW_PERMISSION","_CREATE_PERMISSION","_EDIT_PERMISSION","_DELETE_PERMISSION","Language","_CHINESE","_ENGLISH","_BAHASA_MELAYU","SessionKey","_LANGUAGE","_LOGIN_GUID","InputValidationKey","_REQUIRED_KEY","_MAX_LENGTH_KEY","_MIN_LENGTH_KEY","_MIN_KEY","_MAX_KEY","_PATTERN","AlertTypes","_DEFAULT","_INFO","_SUCCESS","_WARNING","_DANGER","_ERROR","_INPUT","_CUSTOM","ValidationPattern","_emailRegex","_phoneNumberRegex","_numberRegex","_decimalRegex","_digitRegex","_twoDecimalAndLargerThanZero","_SELECT_STATUS_OPTIONS","value","label","ReceiptSetting","_NORMAL","_REVERSE","ReceiptFormat","id","_4D218","_ABS333","_BOX_IBOX_OPTIONS","Role","_SUPER_ADMIN","_HOUSE","_COMPANY","_MULTILEVEL","_SHAREHOLDER","_ADMIN","_SUPER_SENIOR","_SENIOR","_MASTER","_AGENT","_PLAYER","Pool","_MAGNUM","_PMP","_TOTO","_SINGAPORE","_SABAH","_STC","_SARAWAK","_GD","PackageType","_NORMAL_PACKAGE","_RED_PACKAGE","_GD_PACKAGE","_NINE_LOTTO_PACKAGE","EatMethod","_AMOUNT_BASE","_TOTAL_BASE","_GROUP_BASE","AutoTransferFrequency","_WEEKLY","_DAILY","WeekDay","_SUNDAY","_MONDAY","_TUESDAY","_WEDNESDAY","_THURSDAY","_FRIDAY","_SATURDAY","RedNumberType","_NORMAL_RED_NUMBER","_4P","_6P","_12P","_24P","_MASTER_PACKAGE_PARENT_ID","LocalStorageKey","_CHANGED_PACKAGE","_REQUIRED_REFRESH","_PENDING_TNC_AGREEMENT","_LOCAL_STORAGE_DISPATCH","key","dispatchKey","_SET_CHANGED_PACKAGE","_SET_REQUIRED_REFRESH","SettingKey","_AGENT_MAX_DISCOUNT_PERCENTAGE","_PAYBACK_COMM_RATE","_LUCKY_BET_PER_AMOUNT","_SCRAPE_RESULT_TIME","_MAX_LINE_BET","_DAILY_POOL","EatType","_2D","_3D","_4D","_5D","_6D","BetType","_BOX","_IBOX","_PH","_PB","PaymentType","_TRANSFER_CREDIT","_RECEIVE_CREDIT","OrderMethod","_MULTIPY","_DIVIDE","_BET_OPTIONS","TicketStatus","_ACTIVE","_PROCESSED","_CANCELLED","PrizePlace","_FIRST","_SECOND","_THIRD","_FOURTH","_FIFTH","_SIXTH","_STARTER","_CONSOLATION","_COMMISSION","PrizeCategory","EatTypeGroupId","_SELECT_DEBOUNCE_MS","REGION","_SWC","_REJANG","_SY","RegionId","requestConfig","a","undefined","headers","skipLoading","Store","dispatch","AppActions","interceptError","error","returnData","response","status","AuthActions","showMessage","type","content","onConfirm","ApiEngine","axios","create","interceptors","request","use","config","interceptRequest","data","url","interceptResponse","Input","React","forwardRef","props","ref","name","placeholder","defaultValue","patternErrorTxt","errors","onChange","options","className","disabled","isSearchable","onInput","onFocus","onBlur","onInnerButtonClick","row","buttonClassName","color","buttonText","restProps","t","useTranslation","_selectOptions","map","option","useEffect","length","find","i","e","isDisabled","target","onClick","getValidationMessage","PageSettings","createContext","stringIsNullOrEmpty","trim","createFormBody","params","formBody","property","encodedKey","encodeURIComponent","encodedValue","push","join","createMultiPartFormBody","FormData","Object","entries","append","navigateTo","history","state","pathname","navigateBack","goBack","validationMsg","message","isObjectEmpty","keys","formatNumber","decimalPlaces","toLocaleString","minimumFractionDigits","numberWithCurrencyFormat","decimal","isNegativeVal","CURRENCY_DECIMAL","convertedNumber","parseFloat","Math","round","Number","EPSILON","pow","toFixed","toString","replace","afterDecimalNumber","split","decimalDiff","lastIndexOf","processNumber","charAt","substr","removeUndefinedFromObject","obj","rangeNumberFormat","minValue","maxValue","formattedValue","isNumeric","substring","min","max","alertProps","showCancel","Notiflix","Confirm","Show","i18n","title","process","onCancel","Report","Success","Warning","isNaN","useQuery","location","URLSearchParams","search","compareInAscending","b","colName","nameA","toUpperCase","nameB","comparison","createStorageListener","store","storageItem","localStorage","getItem","JSON","parse","removeItem","getPrizeNameById","prize","getWeeklyDate","dateObj","moment","days","day","format","subtract","startOf","endOf","_permissionArrKey","checkIfPermissionExist","permissionString","permissionAccessLevel","targetDownline","hasPermission","getState","userPermissionData","specificPermissionCheck","includes","keyValuePermission","accessLevels","some","hasOwnProperty","clearPermissionData","DropdownLanguage","useState","languageOptionVisibility","setLanguageOptionVisibility","_cookies","Cookies","_LANGUAGE_OPTION","prefix","_LANGUAGE_MAPPING","onChangeLanguage","selectedLanguage","changeLanguage","setItem","set","isOpen","toggle","tag","src","require","filter","language","index","_BUSY","_IDLE","_API_CALLED","_ALERT_TYPES","SET_ALERT","NONE","setBusy","iconEnabled","setIdle","setPerformApiCall","success","disposeMessage","_resources","common","common_en","common_cn","common_bm","initReactI18next","init","defaultNS","debug","resources","lng","fallbackLng","keySeparator","interpolation","escapeValue","_INITIAL_STATE","userData","pendingTNC","isLoggedIn","loginMessage","loginStateInitialized","isForbidden","isBusy","alert","apiCalledResponse","_busyCount","changedPackages","requiredRefresh","createStore","combineReducers","authState","action","_LOGIN_SUCCESS","sessionStorage","userId","_LOGIN_FAILED","_LOGOUT","creditLimit","_ACTION_FORBIDDEN","_SET_PENDING_TNC","appState","packageState","updatedChangedPackage","_REMOVE_CHANGED_PACKAGE","targetUserId","applyMiddleware","thunk","performLogin","username","password","fetch","method","body","json","responseJson","skipTNC","setPendingTNC","updateLoginUser","performLogout","resetLogin","module","exports","Menu","path","isDummy","permission","activity","accessLevel","children","role","roleId","CreditLimit","_userData","useSelector","userInfo","setUserInfo","isLoading","setIsLoading","getUserInfo","get","agent","creditLeft","size","Header","filteredMenu","setFilteredMenu","filteredProfileMenu","setFilteredProfileMenu","showChangePasswordModal","setShowChangePasswordModal","useForm","handleSubmit","register","control","watch","setValue","ProfileMenu","mainAccountOnly","_history","left","window","screen","width","top","height","open","isRedPackage","_dispatch","useDispatch","useHistory","accessString","filterMenuByPermission","filterProfileMenuByPermission","menuToUse","stringify","Menus","permissionArrKey","item","userRoleId","renderChildMenu","parentIndex","childMenu","to","mainAccount","onChangePassword","confirmPassword","post","oldPassword","menu","temporaryDisableFor","Link","confirmBtnText","Modal","onSubmit","ModalHeader","ModalBody","render","rules","required","ModalFooter","load","Component","fallback","Login","lazy","TermsAndConditions","Dashboard","Help","ManageAccount","AccountDetail","ManageFightLimit","ReserveNamePrefix","CreateApiAccount","SubAccountDetail","PoolSchedule","ManagePackage","PackageDetail","Results","CutoffTime","ManageRoles","Announcement","SystemSetting","Currency","RedNumber","ManageMasterTemplate","WebOrder","ApiLog","ApiRequestLog","AdminTool","NumberMeaning","ExpressBetting","CloneAccount","Payment","DrawPayment","AutoTicket","SalesSummaryReport","MapReport","SalesStatisticReport","StakeHolderReport","WinLoss3SectionReport","PayoutStatisticReport","Inbox","PayoutReport","PayoutTableReport","WinLossReport","WinningReport","WinLossDetail","JackpotDetail","SelfWinLossDetail","StrikeReport","_LOGIN_ROUTE","exact","authRequired","component","_ROUTES","isWebOrderTwo","compareRoutes","routePath","splitRoutePath","slice","splitPath","splice","setTitle","routeArray","pageTitle","document","Content","routes","routeData","this","listen","filteredRoutes","route","Consumer","pageContentFullWidth","pageContentClass","pageContentInverseMode","PrivateRoute","connect","withRouter","Footer","date","Date","year","getFullYear","App","handleSetPageContent","setState","pageContent","handleSetPageContentClass","handleSetPageContentFullHeight","pageContentFullHeight","handleSetPageContentFullWidth","handleSetPageContentInverseMode","handleSetPageHeader","pageHeader","handleSetPageHeaderMegaMenu","pageHeaderMegaMenu","handleSetPageHeaderLanguageBar","pageHeaderLanguageBar","handleSetPageFooter","pageFooter","handleSetPageTopMenu","pageTopMenu","toggleMobileTopMenu","preventDefault","pageMobileTopMenu","handleSetPageBoxedLayout","classList","add","remove","handleSetBodyWhiteBg","pageheaderMegaMenu","hasScroll","errorInfo","setInterval","localGuid","sessionGuid","href","then","Init","backgroundColor","borderRadius","rtl","zindex","backOverlay","backOverlayColor","useGoogleFont","fontFamily","svgSize","plainText","titleFontSize","titleMaxLength","messageFontSize","messageMaxLength","buttonFontSize","buttonMaxLength","cssAnimation","cssAnimationDuration","cssAnimationStyle","svgColor","titleColor","messageColor","buttonBackground","buttonColor","failure","warning","info","position","distance","okButtonColor","okButtonBackground","cancelButtonColor","cancelButtonBackground","addEventListener","prevProps","prevState","snapshot","style","navigator","userAgent","Provider","Helmet","active","spinner","styles","overlay","base","zIndex","text","SWCTheme","RejangTheme","Theme","Suspense","ReactDOM","getElementById","removePackageChanged","disableRefresh"],"mappings":"k2CAMaA,EAAb,kCAAaA,EACFC,iBAAmB,UADjBD,EAEFE,iBAAmB,UAFjBF,EAGFG,cAAgB,OAHdH,EAIFI,cAAgB,OAJdJ,EAKFK,kBAAoB,eALlBL,EAMFM,YAAc,SANZN,EAOFO,sBAAwB,mBAPtBP,EAQFQ,0BAA4B,iBAR1BR,EASFS,qBAAuB,oCATrBT,EAUFU,UAAY,OAVVV,EAWFW,SAAW,MAXTX,EAaFY,yBAA2B,IAbzBZ,EAcFa,8BAAgC,IAOpC,IAAMC,EAAb,kCAAaA,EACFC,WAAa,iBADXD,EAEFE,YAAc,kBAFZF,EAGFG,kBAAoB,sBAHlBH,EAIFI,0BAA4B,6BAJ1BJ,EAKFK,oBAAsB,uBALpBL,EAMFM,kCAAoC,oCANlCN,EAOFO,2BAA6B,8BAP3BP,EAQFQ,wBAA0B,4BARxBR,EASFS,qBAAuB,0BATrBT,EAUFU,gCAAkC,mCAVhCV,EAWFW,sCAAwC,wCAXtCX,EAcFY,0BAA4B,6BAd1BZ,EAeFa,8BAAgC,8BAf9Bb,EAgBFc,kCAAoC,oCAhBlCd,EAiBFe,kCAAoC,qCAjBlCf,EAmBFgB,yBAA2B,2BAnBzBhB,EAoBFiB,qBAAuB,uBApBrBjB,EAqBFkB,6BAA+B,kCArB7BlB,EAsBFmB,gCAAkC,gCAtBhCnB,EAuBFoB,wBAA0B,0BAvBxBpB,EAwBFqB,kBAAoB,6BAxBlBrB,EAyBFsB,8BAAgC,uCAzB9BtB,EA0BFuB,wBAA0B,kCA1BxBvB,EA2BFwB,sCAAwC,8CA3BtCxB,EA4BFyB,0BAA4B,oCA5B1BzB,EA6BF0B,+BAAiC,wCA7B/B1B,EA8BF2B,yCAA2C,iDA9BzC3B,EA+BF4B,iBAAmB,2BA/BjB5B,EAgCF6B,yBAA2B,kCAhCzB7B,EAkCF8B,sBAAwB,wBAlCtB9B,EAmCF+B,uBAAyB,yBAnCvB/B,EAoCFgC,kBAAoB,sBApClBhC,EAqCFiC,6BAA+B,+BArC7BjC,EAsCFkC,wBAA0B,0BAtCxBlC,EAuCFmC,qBAAuB,yBAvCrBnC,EAwCFoC,gCAAkC,kCAxChCpC,EAyCFqC,4BAA8B,8BAzC5BrC,EA0CFsC,oBAAsB,oBA1CpBtC,EA2CFuC,oBAAsB,yBA3CpBvC,EA4CFwC,qBAAuB,0BA5CrBxC,EA6CFyC,yBAA2B,wCA7CzBzC,EA8CF0C,kCAAoC,qCA9ClC1C,EAgDF2C,sBAAwB,iCAhDtB3C,EAiDF4C,uCAAyC,4CAjDvC5C,EAmDF6C,wBAA0B,kCAnDxB7C,EAoDF8C,2BAA6B,qCApD3B9C,EAqDF+C,uBAAyB,iCArDvB/C,EAsDFgD,yBAA2B,mCAtDzBhD,EAwDFiD,0BAA4B,oCAxD1BjD,EAyDFkD,6BAA+B,uCAzD7BlD,EA2DFmD,yBAA2B,uBA3DzBnD,EA4DFoD,+BAAiC,8BA5D/BpD,EA6DFqD,0BAA4B,oCA7D1BrD,EA8DFsD,oBAAsB,8BA9DpBtD,EA+DFuD,iCAAmC,yCA/DjCvD,EAgEFwD,uBAAyB,iCAhEvBxD,EAkEFyD,oCAAsC,8BAlEpCzD,EAmEF0D,+BAAiC,uCAnE/B1D,EAqEF2D,yBAA2B,yBArEzB3D,EAsEF4D,qBAAuB,qBAtErB5D,EAuEF6D,iBAAmB,kBAvEjB7D,EAwEF8D,qBAAuB,qBAxErB9D,EAyEF+D,sBAAwB,sBAzEtB/D,EA2EFgE,sBAAwB,0BA3EtBhE,EA4EFiE,8BAAgC,iCA5E9BjE,EA6EFkE,uBAAyB,2BA7EvBlE,EA8EFmE,6BAA+B,gCA9E7BnE,EA+EFoE,6BAA+B,2CA/E7BpE,EAgFFqE,qBAAuB,yBAhFrBrE,EAiFFsE,uBAAyB,2BAjFvBtE,EAkFFuE,qBAAuB,oCAlFrBvE,EAmFFwE,mBAAqB,wBAnFnBxE,EAoFFyE,6BAA+B,gCApF7BzE,EAqFF0E,4BAA8B,yBArF5B1E,EAuFF2E,sBAAwB,0BAvFtB3E,EAwFF4E,kBAAoB,uBAxFlB5E,EAyFF6E,yBAA2B,6BAzFzB7E,EA2FF8E,uBAAyB,2BA3FvB9E,EA4FF+E,uBAAyB,2BA5FvB/E,EA6FFgF,8BAAgC,iCA7F9BhF,EA+FFiF,2BAA6B,8BA/F3BjF,EAgGFkF,iCAAmC,mCAhGjClF,EAiGFmF,oCAAsC,sCAjGpCnF,EAmGFoF,uBAAyB,0BAnGvBpF,EAqGFqF,gBAAkB,oBArGhBrF,EAsGFsF,sBAAwB,yBAtGtBtF,EAuGFuF,oBAAsB,uBAvGpBvF,EAwGFwF,4BAA8B,8BAxG5BxF,EAyGFyF,uBAAyB,0BAzGvBzF,EA0GF0F,yBAA2B,4BA1GzB1F,EA2GF2F,0BAA4B,6BA3G1B3F,EA4GF4F,sBAAwB,yBA5GtB5F,EA6GF6F,6BAA+B,+BA7G7B7F,EA8GF8F,yBAA2B,2BA9GzB9F,EA+GF+F,mCAAqC,oCA/GnC/F,EAgHFgG,wBAA0B,2BAhHxBhG,EAiHFiG,uBAAyB,yBAjHvBjG,EAkHFkG,qBAAuB,qBAlHrBlG,EAmHFmG,wBAA0B,2BAnHxBnG,EAoHFoG,0BAA4B,4BApH1BpG,EAsHFqG,0BAA4B,8BAtH1BrG,EAuHFsG,sBAAwB,0BAvHtBtG,EAyHFuG,wBAA0B,uCAzHxBvG,EA0HFwG,2BAA6B,qCA1H3BxG,EA4HFyG,4BAA8B,wBA5H5BzG,EA6HF0G,kBAAoB,uBA7HlB1G,EA8HF2G,sBAAwB,yBA9HtB3G,EA+HF4G,6BAA+B,gCA/H7B5G,EAgIF6G,8BAAgC,wBAhI9B7G,EAiIF8G,0BAA4B,oCAjI1B9G,EAkIF+G,6BAA+B,sCAlI7B/G,EAmIFgH,qBAAuB,+BAnIrBhH,EAoIFiH,qBAAuB,wBApIrBjH,EAqIFkH,sBAAwB,yBAO5B,IAAMC,EAAb,kCAAaA,EACFC,UAAY,IADVD,EAEFE,WAAa,SAFXF,EAGFG,0BAA4B,wBAH1BH,EAIFI,eAAiB,aAJfJ,EAKFK,UAAY,QALVL,EAMFM,wBAA0B,kBANxBN,EAOFO,oBAAsB,kBAPpBP,EAQFQ,wBAA0B,sBARxBR,EASFS,wBAA0B,kBATxBT,EAUFU,oBAAsB,kBAVpBV,EAWFW,mBAAqB,+BAXnBX,EAYFY,oBAAsB,kBAZpBZ,EAaFa,oBAAsB,kBAbpBb,EAcFc,YAAc,UAdZd,EAeFe,iBAAmB,4BAfjBf,EAgBFgB,WAAa,gBAhBXhB,EAiBFiB,iBAAmB,sBAjBjBjB,EAkBFkB,kBAAoB,sCAlBlBlB,EAmBFmB,oBAAsB,gCAnBpBnB,EAoBFoB,cAAgB,0BApBdpB,EAqBFqB,gBAAkB,2BArBhBrB,EAsBFsB,4BAA8B,wCAtB5BtB,EAuBFuB,eAAiB,qBAvBfvB,EAwBFwB,mBAAqB,sBAxBnBxB,EAyBFyB,qBAAuB,yBAzBrBzB,EA0BF0B,yBAA2B,wBA1BzB1B,EA2BF2B,wBAA0B,8BA3BxB3B,EA4BF4B,mBAAqB,yBA5BnB5B,EA6BF6B,aAAe,WA7Bb7B,EA8BF8B,kBAAoB,wBA9BlB9B,EA+BF+B,0BAA4B,wBA/B1B/B,EAgCFgC,gBAAkB,qBAhChBhC,EAiCFiC,WAAa,SAjCXjC,EAkCFkC,mBAAqB,wBAlCnBlC,EAmCFmC,4BAA8B,iCAnC5BnC,EAoCFoC,6BAA+B,kCApC7BpC,EAqCFqC,yBAA2B,8BArCzBrC,EAsCFsC,yBAA2B,6BAtCzBtC,EAuCFuC,qBAAuB,0BAvCrBvC,EAwCFwC,+BAAiC,4BAxC/BxC,EAyCFyC,oBAAsB,yBAzCpBzC,EA0CF0C,oBAAsB,kBA1CpB1C,EA2CF2C,qBAAuB,kBA3CrB3C,EA4CF4C,oBAAsB,kBA5CpB5C,EA6CF6C,aAAe,WA7Cb7C,EA8CF8C,qBAAuB,mBA9CrB9C,EA+CF+C,gBAAkB,cA/ChB/C,EAgDFgD,0BAA4B,uBAhD1BhD,EAiDFiD,mBAAqB,wBAjDnBjD,EAkDFkD,iBAAmB,uBAMvB,IAAMC,EAAb,kCAAaA,EACFC,SAAW,EADTD,EAEFE,UAAY,EAFVF,EAGFG,SAAW,EAOf,IAAMC,EAAb,kCAAaA,EACFC,qBAAuB,WADrBD,EAEFE,yBAA2B,eAFzBF,EAGFG,yBAA2B,eAHzBH,EAIFI,gBAAkB,MAJhBJ,EAKFK,wBAA0B,cALxBL,EAMFM,oBAAsB,UANpBN,EAOFO,wBAA0B,cAPxBP,EAQFQ,uBAAyB,aARvBR,EASFS,gCAAkC,qBAThCT,EAUFU,yBAA2B,eAVzBV,EAWFW,+BAAiC,qBAX/BX,EAYFY,+BAAiC,qBAZ/BZ,EAaFa,+BAAiC,qBAb/Bb,EAcFc,uBAAyB,aAdvBd,EAeFe,6BAA+B,mBAf7Bf,EAgBFgB,+BAAiC,qBAhB/BhB,EAiBFiB,0BAA4B,gBAjB1BjB,EAkBFkB,2BAA6B,iBAlB3BlB,EAmBFmB,+BAAiC,qBAnB/BnB,EAoBFoB,2BAA6B,iBApB3BpB,EAqBFqB,iBAAmB,IArBjBrB,EAsBFsB,mBAAqB,IAtBnBtB,EAuBFuB,iBAAmB,IAvBjBvB,EAwBFwB,mBAAqB,IAMzB,IAAMC,EAAb,kCAAaA,EACFC,SAAW,KADTD,EAEFE,SAAW,KAFTF,EAGFG,eAAiB,KAMrB,IAAMC,EAAb,kCAAaA,EACFC,UAAY,WADVD,EAEFE,YAAc,YAMlB,IAAMC,EAAb,kCAAaA,EACFC,cAAgB,WADdD,EAEFE,gBAAkB,YAFhBF,EAGFG,gBAAkB,YAHhBH,EAIFI,SAAW,MAJTJ,EAKFK,SAAW,MALTL,EAMFM,SAAW,UAMf,IAAMC,EAAb,kCAAaA,EACFC,SAAW,UADTD,EAEFE,MAAQ,OAFNF,EAGFG,SAAW,UAHTH,EAIFI,SAAW,UAJTJ,EAKFK,QAAU,SALRL,EAMFM,OAAS,QANPN,EAOFO,OAAS,QAPPP,EAQFQ,QAAU,SAMd,IAAMC,EAAb,kCAAaA,EACFC,YAAc,0JADZD,EAEFE,kBAAoB,8CAFlBF,EAGFG,aAAe,mCAHbH,EAIFI,cAAgB,8CAJdJ,EAKFK,YAAc,QALZL,EAMFM,6BAA+B,sCAMnC,IAAMC,EAAyB,CAClC,CAAEC,OAAO,EAAOC,MAAO,YACvB,CAAED,OAAO,EAAMC,MAAO,YAMbC,EAAb,kCAAaA,EACFC,QAAU,EADRD,EAEFE,SAAW,EAMf,IAAMC,EAAb,kCAAaA,EACFrB,SAAW,CAAEsB,GAAI,EAAGL,MAAO,WADzBI,EAEFE,OAAS,CAAED,GAAI,EAAGL,MAAO,OAFvBI,EAGFG,QAAU,CAAEF,GAAI,EAAGL,MAAO,UAM9B,IAAMQ,EAAoB,CAC7B,CAAET,MAAO,OAAQC,MAAO,QACxB,CAAED,MAAO,OAAQC,MAAO,SAMfS,EAAb,kCAAaA,EACFC,aAAe,EADbD,EAEFE,OAAS,EAFPF,EAGFG,SAAW,EAHTH,EAIFI,YAAc,EAJZJ,EAKFK,aAAe,EALbL,EAMFM,OAAS,EANPN,EAOFO,cAAgB,EAPdP,EAQFQ,QAAU,EARRR,EASFS,QAAU,EATRT,EAUFU,OAAS,GAVPV,EAWFW,QAAU,GAOd,IAAMC,EAAb,kCAAaA,EACFC,QAAU,EADRD,EAEFE,KAAO,EAFLF,EAGFG,MAAQ,EAHNH,EAIFI,WAAa,EAJXJ,EAKFK,OAAS,EALPL,EAMFM,KAAO,EANLN,EAOFO,SAAW,EAPTP,EAQFQ,IAAM,EAMV,IAAMC,EAAb,kCAAaA,EACFC,gBAAkB,EADhBD,EAEFE,aAAe,EAFbF,EAGFG,YAAc,EAHZH,EAIFI,oBAAsB,EAM1B,IAAMC,EAAb,kCAAaA,EACFC,aAAe,EADbD,EAEFE,YAAc,EAFZF,EAGFG,YAAc,EAMlB,IAAMC,EAAb,kCAAaA,EACFC,QAAU,EADRD,EAEFE,OAAS,EAMb,IAAMC,EAAb,kCAAaA,EACFC,QAAU,EADRD,EAEFE,QAAU,EAFRF,EAGFG,SAAW,EAHTH,EAIFI,WAAa,EAJXJ,EAKFK,UAAY,EALVL,EAMFM,QAAU,EANRN,EAOFO,UAAY,EAOhB,IAAMC,EAAb,kCAAaA,EACFC,mBAAqB,EADnBD,EAEFE,IAAM,EAFJF,EAGFG,IAAM,EAHJH,EAIFI,KAAO,EAJLJ,EAKFK,KAAO,EAMX,IAAMC,EAA4B,EAK5BC,EAAb,kCAAaA,EACFC,iBAAmB,iBADjBD,EAEFE,kBAAoB,kBAFlBF,EAGFG,uBAAyB,sBAM7B,IAAMC,EAA0B,CACnC,CAAEC,IAAKL,EAAgBC,iBAAkBK,YAAaC,KACtD,CAAEF,IAAKL,EAAgBE,kBAAmBI,YAAaE,MAO9CC,EAAb,kCAAaA,EACFC,+BAAiC,6BAD/BD,EAEFE,mBAAqB,wBAFnBF,EAGFG,sBAAwB,0BAHtBH,EAIFI,oBAAsB,mBAJpBJ,EAKFK,cAAgB,iBALdL,EAMFM,YAAc,YAMlB,IAAMC,EAAb,kCAAaA,EACFC,IAAM,KADJD,EAEFE,IAAM,KAFJF,EAGFG,IAAM,KAHJH,EAIFI,IAAM,KAJJJ,EAKFK,IAAM,KAMV,IAAMC,EAAb,kCAAaA,EACF7E,QAAU,EADR6E,EAEFC,KAAO,EAFLD,EAGFE,MAAQ,EAHNF,EAIFG,IAAM,EAJJH,EAKFI,IAAM,EAMV,IAAMC,EAAb,kCAAaA,EACFC,iBAAmB,EADjBD,EAEFE,gBAAkB,EAMtB,IAAMC,EAAb,kCAAaA,EACFC,SAAW,IADTD,EAEFE,QAAU,IAMd,IAAMC,EAAe,CACxB,CAAE3F,OAAQ,EAAGC,MAAO,OACpB,CAAED,MAAO,EAAGC,MAAO,cACnB,CAAED,MAAO,EAAGC,MAAO,YAMV2F,EAAb,kCAAaA,EACFC,QAAU,EADRD,EAEFE,WAAa,EAFXF,EAGFG,WAAa,EAHXH,EAIFvG,OAAS,GAMb,IAAM2G,EAAb,kCAAaA,EACFC,OAAS,QADPD,EAEFE,QAAU,SAFRF,EAGFG,OAAS,QAHPH,EAIFI,QAAU,SAJRJ,EAKFK,OAAS,QALPL,EAMFM,OAAS,QANPN,EAOFO,SAAW,UAPTP,EAQFQ,aAAe,cARbR,EASFS,YAAc,OAOlB,IAAMC,EAAb,kCAAaA,EACFT,OAAS,EADPS,EAEFR,QAAU,EAFRQ,EAGFP,OAAS,EAHPO,EAIFN,QAAU,EAJRM,EAKFL,OAAS,EALPK,EAMFJ,OAAS,EANPI,EAOFH,SAAW,EAPTG,EAQFF,aAAe,EAMnB,IAAMG,EAAb,kCAAaA,EACFhC,IAAM,EADJgC,EAEF/B,IAAM,EAFJ+B,EAGF9B,IAAM,EAHJ8B,EAIF7B,IAAM,EAJJ6B,EAKF5B,IAAM,EAMV,IAAM6B,EAAsB,GAKtBC,EAAb,kCAAaA,EACFC,KAAO,MADLD,EAEFE,QAAU,SAFRF,EAGFG,IAAM,KAMV,IAAMC,EAAb,kCAAaA,EACFH,KAAO,EADLG,EAEFF,QAAU,G,kKCtjBrB,WAAgCG,GAAhC,SAAAC,EAAA,kEAC8CC,IAAtCF,EAAcG,QAAQC,cACgB,IAAtCJ,EAAcG,QAAQC,aACtBC,IAAMC,SAASC,OAHvB,kBAKWP,GALX,4C,sBAwBA,SAASQ,EAAeC,GACpB,IAAIC,EAAa,GA+BjB,OA7BAL,IAAMC,SAASC,OAlCa,KAoCxBE,EAAME,SAASC,QAnCM,KAmC+BH,EAAME,SAASC,QApC3C,KAqCpBH,EAAME,SAASC,QACfP,IAAMC,SAASO,OAGnBC,YAAY,CACRC,KAAMlJ,IAAWM,OACjB6I,QA3CoB,KA2CXP,EAAME,SAASC,OAAoC,oBAAsB,oBAClFK,UAAW,WACHR,EAAME,SAASC,UAM3BF,EAAa,CACT,SAAW,EACX,QArDoB,KAqDTD,EAAME,SAASC,OAAoC,oBAAsB,sBAtDjE,KAyDlBH,EAAME,SAASC,QAtDa,KAsDuBH,EAAME,SAASC,SACvEF,EAAa,CACT,SAAW,EACX,QAAW,0BAIZA,EAGX,IAAMQ,EAAYC,IAAMC,OAAO,CAC3BjB,QAAS,CACL,mBAAoBrW,IAAOQ,6BAInC4W,EAAUG,aAAaC,QAAQC,KAC3B,SAAAC,GAAM,O,2CAAIC,CAAiBD,MAC3B,SAAAf,GAAK,OAAID,EAAeC,MAG5BS,EAAUG,aAAaV,SAASY,KAC5B,SAAAZ,GAAQ,OA5DZ,SAA2BA,GAAW,IAAD,IAOjC,OANAN,IAAMC,SAASC,IAA6BI,EAASe,KAAK5X,IAAOC,kBAAmB4W,EAASa,OAAOG,OAEhG,UAAChB,EAASa,cAAV,iBAAC,EAAiBrB,eAAlB,aAAC,EAA0BC,cAC3BC,IAAMC,SAASC,OAGZI,EAASe,KAqDJE,CAAkBjB,MAC9B,SAAAF,GAAK,OAAID,EAAeC,MAGbS,O,wFCrFTW,EAAQC,IAAMC,YAAW,SAACC,EAAOC,GAAS,IAExCC,EAsBAF,EAtBAE,KACAnB,EAqBAiB,EArBAjB,KACAoB,EAoBAH,EApBAG,YACAC,EAmBAJ,EAnBAI,aACAC,EAkBAL,EAlBAK,gBACAC,EAiBAN,EAjBAM,OACAC,EAgBAP,EAhBAO,SACAxJ,EAeAiJ,EAfAjJ,MATuC,EAwBvCiJ,EAdAQ,eAVuC,MAU7B,GAV6B,EAWvCC,EAaAT,EAbAS,UACAC,EAYAV,EAZAU,SACA5J,EAWAkJ,EAXAlJ,MAbuC,EAwBvCkJ,EAVAW,oBAduC,SAevCC,EASAZ,EATAY,QACAC,EAQAb,EARAa,QACAC,EAOAd,EAPAc,OACAC,EAMAf,EANAe,mBACAC,EAKAhB,EALAgB,IAnBuC,EAwBvChB,EAJAiB,uBApBuC,MAoBrB,GApBqB,IAwBvCjB,EAHAkB,aArBuC,MAqB/B,UArB+B,IAwBvClB,EAFAmB,kBAtBuC,MAsB1B,SAtB0B,EAuBpCC,EAvBoC,YAwBvCpB,EAxBuC,mPAyBnCqB,EAAMC,cAAND,EAEJE,EAAiBf,EAAQgB,KAAI,SAAAC,GAAY,MAAO,CAAE1K,MAAOsK,EAAEI,EAAO1K,OAAQD,MAAO2K,EAAO3K,UAwB5F,OAnBA4K,qBAAU,gBACexD,IAAjBkC,GACIG,GACAA,EAAyB,MAAhBH,EAAuB,GAAKA,KAG9C,CAACA,IAKJsB,qBAAU,WACFlB,EAAQmB,OAAS,GAAkF,MAA7EnB,EAAQoB,MAAK,SAAAC,GAAC,OAAIA,EAAE/K,aAAmBoH,GAATpH,EAAqBA,EAAQsJ,OAC7EG,GACAA,EAASC,EAAQ,GAAG1J,SAG7B,CAAC0J,EAAQmB,SAGR,yBAAKlB,UAAS,UAAa,UAAR1B,EAAA,4BAAwCiC,GAAO,YAAe,KAC5EjK,GAAS,+BAAQA,GAClB,yBAAK0J,UAAS,UAAKM,GAAsB,yBA5BtB,UA8BXhC,EACI,kBAAC,IAAD,CACIoB,YAAaA,EACbM,UAAS,sBAAiBA,GAC1BP,KAAMA,EACNS,aAAcA,EACdH,QAASe,EACTzK,MAAOyK,EAAeK,MAAK,SAAAC,GAAC,OAAIA,EAAE/K,aAAmBoH,GAATpH,EAAqBA,EAAQsJ,MACzEG,SAAU,SAAAuB,GAAC,OAAIvB,EAASuB,EAAEhL,QAC1BiL,WAAYrB,IAEhB,yCACI3B,KAAMA,EACN0B,UAAS,uCAAkCA,GAC3CR,IAAKA,EACLC,KAAMA,EACNC,YAAaA,EACbC,aAAcA,EACdtJ,MAAOA,EACP+J,QAAS,SAACiB,GAAQjB,GAAWA,EAAQiB,EAAEE,OAAOlL,QAC9CgK,OAAQ,SAACgB,GAAQhB,GAAUA,EAAOgB,EAAEE,OAAOlL,QAC3C8J,QAAS,SAACkB,GAAQlB,GAAWA,EAAQkB,EAAEE,OAAOlL,QAC9CyJ,SAAU,SAACuB,GAAQvB,GAAYA,EAASuB,EAAEE,OAAOlL,QACjD4J,SAAUA,GACNU,IAGZL,GACA,4BACIkB,QAASlB,EACTN,UAAS,kBAAaS,EAAb,+BAAyCD,IACjDI,EAAEF,IAGVb,GAAUA,EAAOJ,IAAS,yBAAKO,UAAU,oBAAoBY,EAAEa,YAAqB5B,EAAOJ,GAAOG,UAMpGR,O,iCCxGf,6CAEasC,EAFb,OAE4BrC,EAAMsC,iB,yrBCS3B,SAASC,EAAoB3C,GAChC,OAAe,MAARA,GAAwB,IAARA,QAAsBxB,GAARwB,GAAqC,iBAARA,IAAqBA,EAAK4C,OAOzF,SAASC,EAAeC,GAC3B,IAAIC,EAAW,GAEf,IAAK,IAAIC,KAAYF,EAAQ,CACzB,IAAIG,EAAaC,mBAAmBF,GAChCG,EAAeD,mBAAmBJ,EAAOE,IAC7CD,EAASK,KAAKH,EAAa,IAAME,GAIrC,OADAJ,EAAWA,EAASM,KAAK,KAQtB,SAASC,EAAwBR,GAGpC,IAFA,IAAIC,EAAW,IAAIQ,SAEnB,MAA2BC,OAAOC,QAAQX,GAA1C,eAAmD,CAAC,IAAD,sBAAvC3H,EAAuC,KAAlC/D,EAAkC,KAC/C2L,EAASW,OAAOvI,EAAK/D,GAGzB,OAAO2L,EAOJ,SAASY,EAAWC,EAAS3D,EAAK4D,QACvBrF,IAAVqF,EACAD,EAAQR,KAAK,CACTU,SAAU7D,EACV4D,MAAOA,IAGXD,EAAQR,KAAKnD,GAOd,SAAS8D,EAAaH,GAAuC,IAA9B3D,EAA6B,uDAAvB5P,IAAOI,eAC3CmT,EAAQ3B,OAAS,EACjB2B,EAAQI,SAGRJ,EAAQR,KAAKnD,GAwBd,SAASuC,EAAqBzD,GAA8B,IAAvB4B,EAAsB,uDAAJ,GACtDsD,EAAgB,GAEpB,OAAQlF,EAAMM,MACV,KAAKzJ,IAAmBC,cACpBoO,EAAgB,iBAChB,MACJ,KAAKrO,IAAmBE,gBACpBmO,EAAgB,sBAChB,MACJ,KAAKrO,IAAmBG,gBACpBkO,EAAgB,oBAChB,MACJ,KAAKrO,IAAmBI,SACpBiO,EAAgB,YAChB,MACJ,KAAKrO,IAAmBK,SACpBgO,EAAgB,YAChB,MACJ,KAAKrO,IAAmBM,SACpB+N,EAAiBtB,EAAoBhC,GAAqC,iBAAlBA,EACxD,MACJ,QACIsD,EAAgBlF,EAAMmF,QAI9B,OAAOD,EAaJ,SAASE,EAAcnE,GAC1B,OAAoC,IAA7BwD,OAAOY,KAAKpE,GAAMiC,aAAwBzD,GAARwB,EAgBtC,SAASqE,EAAarE,EAAMsE,GAC/B,OAAOtE,EAAKuE,oBAAe/F,EAAW,CAAEgG,sBAAuBF,IAmB5D,SAASG,EAAyBrN,GAAqB,IAAdsN,EAAa,uDAAH,EAClDC,GAAgB,EACdC,EAAmB,EAErBxN,EAAQ,IACRA,IAAU,EACVuN,GAAgB,GAGpB,IAAIE,EAAkBC,WAAYC,KAAKC,OAAO5N,EAAQ6N,OAAOC,SAAWH,KAAKI,IAAI,GAAIT,IAAaK,KAAKI,IAAI,GAAIT,IAAUU,QAAQV,GAASW,WAAWC,QAAQ,oBAAqB,OAElL,GAAIZ,EAAUE,EAAkB,CAC5B,IAAIW,EAAqBV,EAAgBW,MAAM,KAC3CC,EAAcf,EAAUE,EAC5B,GAAiC,GAA7BW,EAAmBtD,QAAe4C,EAAgBa,YAAY,MAASb,EAAgB5C,OAAS,EAAI,CAEpG,IADA,IAAI0D,EAAgBJ,EAAmB,GAC9BpD,EAAIwD,EAAc1D,OAAS,EAAIE,EAAI,GAAKsD,EAAc,GAC5B,KAA3BE,EAAcC,OAAOzD,GADsCA,IAE3DwD,EAAgBA,EAAcE,OAAO,EAAG1D,GAAKwD,EAAcE,OAAO1D,EAAI,GAK1EsD,IAEJZ,EAAkBU,EAAmB,GAAK,IAAMI,GAQxD,OAJIhB,IACAE,EAAkB,IAAMA,GAGrBA,EAqCJ,SAASiB,EAA0BC,GACtC,IAAK,IAAI5K,KAAO4K,OACKvH,IAAbuH,EAAI5K,WACG4K,EAAI5K,GAInB,OAAO4K,EAOJ,SAASC,EAAkB5O,GAA2C,IAApC6O,EAAmC,uDAAxB,EAAGC,EAAqB,uDAAV,SAC1DC,EAAiBF,EAcrB,OAZIG,EAAUhP,KAGLuL,EAFLvL,EAAQA,EAAMkO,QAAQ,WAAY,OAG1BlO,EAAK,QAAc6O,EAASZ,WAAT,QAAiCjO,EAAMiP,UAAU,EAAGJ,EAASZ,WAAT,SAAkCY,EAASZ,aAClHjO,EAAQA,EAAMiP,UAAUJ,EAASZ,WAAT,SAG5Bc,EAAiBpB,KAAKuB,IAAIJ,EAAUnB,KAAKwB,IAAIN,EAAUnB,WAAW1N,OAInE+O,EAMJ,IAAM/G,EAAc,SAACoH,GACI,IAAD,EAA3B,GAAIA,EAAWC,WACXC,IAASC,QAAQC,KACZC,IAAKlF,EAAL,UAAO6E,EAAWM,aAAlB,QAA2BC,MAC5BF,IAAKlF,EAAE6E,EAAWlH,SAClBuH,IAAKlF,EAAE,MACPkF,IAAKlF,EAAE,WACP,WACQ6E,EAAWjH,WACXiH,EAAWjH,eAGnB,WACQiH,EAAWQ,UACXR,EAAWQ,mBAKtB,GAAIR,EAAWnH,MAAQlJ,IAAWG,SAAU,CAAC,IAAD,EAC7CoQ,IAASO,OAAOC,QACXL,IAAKlF,EAAL,UAAO6E,EAAWM,aAAlB,QAA2BC,MAC5BF,IAAKlF,EAAE6E,EAAWlH,SAClBuH,IAAKlF,EAAE,OACP,WACQ6E,EAAWjH,WACXiH,EAAWjH,mBAKtB,CAAC,IAAD,IACDmH,IAASO,OAAOE,QAEXN,IAAKlF,EAAL,UAAO6E,EAAWM,aAAlB,QAA2BC,MAC5BF,IAAKlF,EAAL,UAAO6E,EAAWlH,eAAlB,QAA6B,iCAC7BuH,IAAKlF,EAAE,OACP,WACQ6E,EAAWjH,WACXiH,EAAWjH,iBAUxB,SAAS6G,EAAUhP,GACtB,OAAQgQ,MAAMhQ,EAAQ0N,WAAW1N,IAM9B,SAASiQ,EAASC,GACrB,OAAO,IAAIC,gBAAgBD,EAASE,QAMjC,SAASC,EAAmBlJ,EAAGmJ,EAAGC,GAErC,IAAMC,EAAQrJ,EAAEoJ,GAASE,cACnBC,EAAQJ,EAAEC,GAASE,cAErBE,EAAa,EAOjB,OALIH,EAAQE,EACRC,EAAa,EACNH,EAAQE,IACfC,GAAc,GAEXA,EAMJ,SAASC,EAAsBC,GAClC,OAAO,WACH/M,IAAwB4G,KAAI,SAAAK,GACxB,IAAI+F,EAAcC,aAAaC,QAAQjG,EAAEhH,KACtB,MAAf+M,IACAD,EAAMrJ,SAAS,CACXS,KAAM8C,EAAE/G,YACR4E,KAAMqI,KAAKC,MAAMJ,KAGrBC,aAAaI,WAAWpG,EAAEhH,UASnC,SAASqN,EAAiB9Q,GAC7B,IAAI+Q,EAAQ,GAEZ,OAAQ/Q,GACJ,KAAKoG,IAAcT,OACfoL,EAAQ,cACR,MACJ,KAAK3K,IAAcR,QACfmL,EAAQ,eACR,MACJ,KAAK3K,IAAcP,OACfkL,EAAQ,cACR,MACJ,KAAK3K,IAAcN,QACfiL,EAAQ,eACR,MACJ,KAAK3K,IAAcL,OACfgL,EAAQ,cACR,MACJ,KAAK3K,IAAcJ,OACf+K,EAAQ,cACR,MACJ,KAAK3K,IAAcH,SACf8K,EAAQ,UACR,MACJ,KAAK3K,IAAcF,aACf6K,EAAQ,cACR,MACJ,QACIA,EAAQ/Q,EAIhB,OAAO+Q,EAMJ,SAASC,IACZ,IAAIC,EAAU,GAWd,OATIC,MAASC,QAAU9O,IAAQC,SAC3B2O,EAAO,UAAgBC,MAASE,KAAK,GAAGC,OAAO,cAC/CJ,EAAO,QAAcC,MAASG,OAAO,gBAGrCJ,EAAO,UAAgBC,MAASI,SAAS,EAAG,QAAQC,QAAQ,QAAQF,OAAO,cAC3EJ,EAAO,QAAcC,MAASI,SAAS,EAAG,QAAQE,MAAM,QAAQH,OAAO,eAGpEJ,I,iCC1aX,+FAKIQ,EAAoB,GAMjB,SAASC,EAAuBC,EAAkBC,GAA6C,IAAtBC,EAAqB,uDAAJ,GACzFC,GAAgB,EAEpB,GAAgC,GAA5BL,EAAkBlH,aAA6EzD,IAA9DyJ,IAAMwB,WAAN,gCAAyE,CAC1G,IAAIC,EAAqBzB,IAAMwB,WAAN,gCAA0DjE,MAAM,KACrFmE,EAA0BD,EAAmBxH,MAAK,SAAAC,GAAC,OAAIA,EAAEyH,SAASP,MAEtE,GAAIM,EAAyB,CACzB,IAAIE,EAAqBF,EAAwBnE,MAAM,KACnDsE,EAAeR,EAAsB9D,MAAM,IAM3CgE,EAJC7G,YAAoB4G,IAAoBpF,YAAc8D,IAAMwB,WAAN,0CAIvCK,EAAaC,MAAK,SAAA5H,GAAC,OAAI0H,EAAmB,GAAGxE,WAAWuE,SAASzH,MAHjE8F,IAAMwB,WAAN,yCAAmEO,eAAeT,IAQ9G,OAAOC,EAOJ,SAASS,IACZd,EAAoB,K,0HCyBTe,IAvDU,SAAA5J,GAAU,IAAD,EACbsB,cAATiF,GADsB,EACzBlF,EADyB,EACtBkF,MADsB,EAE+BsD,oBAAS,GAFxC,mBAE1BC,EAF0B,KAEAC,EAFA,KAG7BC,EAAW,IAAIC,IACbC,EAAmB,CACxB,CACC1D,MAAO,UACP2D,OAAQ,KACRrT,MAAO/B,IAASE,UAEjB,CACCuR,MAAO,2BACP2D,OAAQ,eACRrT,MAAO/B,IAASC,WAIZoV,EAAoB,GAe1B,SAASC,EAAiBC,GACzB/D,EAAKgE,eAAeD,GACpBzC,aAAa2C,QAAQrV,IAAWC,UAAWkV,GAC3CN,EAASS,IAAItV,IAAWC,UAAWgV,EAAkBE,IAGtD,OApBAF,EAAkBrV,IAASE,UAAY,KACvCmV,EAAkBrV,IAASC,UAAY,KACvCoV,EAAkBrV,IAASG,gBAAkB,KAK7CwM,qBAAU,WAAO,IAAD,EACf2I,EAAgB,QAAE,EAAAxC,aAAaC,QAAQ3S,IAAWC,kBAAlC,QAAgDL,IAASE,YACvE,IAYF,kBAAC,IAAD,CAAUyV,OAAQZ,EAA0Ba,OAAQ,kBAAMZ,GAA6BD,IAA2BrJ,UAAU,4BAA4BmK,IAAI,MAC3J,kBAAC,IAAD,CAAgBnK,UAAU,kBAAkBmK,IAAI,KAC/C,yBAAKC,IAAKC,EAAQ,OAClB,0BAAMrK,UAAU,oBAAoByJ,EAAiBa,QAAO,SAAAlJ,GAAC,aAAIA,EAAE/K,QAAF,UAAY+Q,aAAaC,QAAQ3S,IAAWC,kBAA5C,QAA0DL,IAASE,aAAW,GAAGkV,SAEnJ,kBAAC,IAAD,CAAc1J,UAAU,gBAAgBmK,IAAI,MAE1CV,EAAiB1I,KAAI,SAACwJ,EAAUC,GAC/B,OAAO,kBAAC,IAAD,CAAcpQ,IAAKoQ,EAAOhJ,QAAS,WAAQoI,EAAiBW,EAASlU,SAAU,8BAAOkU,EAASxE,e,2q/DCpD/F0E,G,iBAAQ,QACRC,EAAQ,OACRC,EAAc,eAEdC,EAAe,CACxBC,UAAW,WACXC,KAAM,aAMGC,EAAU,SAACC,EAAa7H,GACjC,8CAAO,WAAMtF,GAAN,SAAAL,EAAA,sDACHK,EAAS,CACLS,KAAMmM,EACNtH,QAASA,EACT6H,YAAaA,IAJd,2CAAP,uDAaSC,EAAU,WACnB,8CAAO,WAAMpN,GAAN,SAAAL,EAAA,sDACHK,EAAS,CACLS,KAAMoM,IAFP,2CAAP,uDAUSQ,EAAoB,SAAC/M,EAAQe,GACtC,8CAAO,WAAMrB,GAAN,SAAAL,EAAA,sDACHK,EAAS,CACLS,KAAMqM,EACN1L,KAAM,CAAEkM,QAAShN,EAAQe,IAAKA,KAH/B,2CAAP,uDAwBSkM,EAAiB,WAC1B,OAAO,SAAAvN,GACHA,EAAS,CAAES,KAAMsM,EAAaE,U,gCCpEtC,wDAWMO,EAAa,GACnBA,EAAW/W,IAASE,UAAY,CAAE8W,OAAQC,GAC1CF,EAAW/W,IAASC,UAAY,CAAE+W,OAAQE,GAC1CH,EAAW/W,IAASG,gBAAkB,CAAE6W,OAAQG,GAEhD3F,IACKhH,IAAI4M,KACJC,KAAK,CACFC,UAAW,SACXC,OAAO,EACPC,UAAWT,EACXU,IAAK3E,aAAaC,QAAQ3S,IAAWC,YAAcL,IAASE,SAC5DwX,YAAa,CAAC1X,IAASE,SAAUF,IAASC,SAAUD,IAASG,gBAC7DwX,cAAc,EACdC,cAAe,CACXC,aAAa,KAKVrG,MAAf,G,4EC3BMsG,EAAiB,CACnBC,SAAU,GACVC,YAAY,EACZC,YAAY,EACZC,aAAc,GACdC,uBAAuB,EACvBC,aAAa,G,gBCPXN,EAAiB,CACnBO,QAAQ,EACRxJ,QAAS,aACTyJ,MAAO,GACP5B,aAAa,EACb6B,kBAAmB,IAGnBC,EAAa,E,gBCTXV,EAAiB,CACnBW,gBAAiB,GACjBC,iBAAiB,G,SCKf9F,EAAQ+F,YAAYC,YAAgB,CACtCC,UHMW,WAAqC,IAApCrK,EAAmC,uDAA3BsJ,EAAgBgB,EAAW,uCAC/C,OAAQA,EAAO9O,MACX,KAAK+O,IAID,OAHAC,eAAevD,QAAQrV,IAAWE,YAAawY,EAAOf,SAASkB,QAC/DnG,aAAa2C,QAAQrV,IAAWE,YAAawY,EAAOf,SAASkB,QAEtD,eACAzK,EADP,CAEIuJ,SAAUe,EAAOf,SACjBE,YAAY,EACZC,aAAc,GACdC,uBAAuB,IAG/B,KAAKe,IACD,MAAO,CACHhB,aAAcY,EAAOjK,QACrBoJ,YAAY,EACZF,SAAU,GACVI,uBAAuB,GAG/B,KAAKgB,IAED,OADAvE,cACO,CACHmD,SAAU,GACVE,YAAY,EACZC,aAAc,GACdC,uBAAuB,EACvBiB,YAAa,GAGrB,KAAKC,IACD,OAAO,eACA7K,EADP,CAEI4J,YAAaU,EAAO/W,QAG5B,KAAKuX,IACD,OAAO,eACA9K,EADP,CAEIwJ,WAAYc,EAAOjP,SAG3B,QACI,OAAO2E,IGlDf+K,SFKW,WAAqC,IAApC/K,EAAmC,uDAA3BsJ,EAAgBgB,EAAW,uCAC/C,OAAQA,EAAO9O,MACX,KAAKmM,IAED,OADAqC,IACO,eACAhK,EADP,CAEI6J,QAAQ,EACRxJ,QAASvB,YAAoBwL,EAAOjK,SAAWiJ,EAAejJ,QAAUiK,EAAOjK,QAC/E6H,YAAmC,MAAtBoC,EAAOpC,YAAsBoB,EAAepB,YAAcoC,EAAOpC,cAGtF,KAAKN,IAED,OADAoC,EAAa9I,KAAKwB,MAAMsH,EAAY,GAC7B,eACAhK,EADP,CAEI6J,OAAuB,GAAdG,IAGjB,KAAKlC,IAAaC,UACd,OAAO,eACA/H,EADP,CAEI8J,MAAmC,GAA5BnK,OAAOY,KAAKP,EAAM8J,OAAcQ,EAAOR,MAAQ9J,EAAM8J,QAGpE,KAAKhC,IAAaE,KACd,OAAO,eACAhI,EADP,CAEI8J,MAAO,KAGf,KAAKjC,IACD,OAAO,eACA7H,EADP,CAEI+J,kBAAmBO,EAAOnO,OAGlC,QACI,OAAO6D,IEzCfgL,aDFW,WAAqC,IAApChL,EAAmC,uDAA3BsJ,EAAgBgB,EAAW,uCAC/C,OAAQA,EAAO9O,MACX,KAAKhE,IACD,IAAIyT,EAAwBjL,EAAMiK,gBAQlC,OANIgB,EAAsB7M,OAAS,GAAKkM,EAAOnO,OAC3C8O,EAAwBA,EAAsBzD,QAAO,SAAAlJ,GAAC,QAAMA,EAAC,IAAUgM,EAAOnO,KAAP,IAAqBmC,EAAC,cAAoBgM,EAAOnO,KAAP,kBAGrH8O,EAAqB,sBAAOA,GAAP,CAA8BX,EAAOnO,OAEnD,eACA6D,EADP,CAEIiK,gBAAiBgB,IAEzB,KAAKC,IACD,OAAO,eACAlL,EADP,CAEIiK,gBAAiBjK,EAAMiK,gBAAgBzC,QAAO,SAAAlJ,GAAC,OAAIA,EAAC,cAAoBgM,EAAOa,kBAEvF,KAAK1T,IACD,OAAO,eACAuI,EADP,CAEIkK,gBAAiBI,EAAOnO,OAEhC,QACI,OAAO6D,MCvBfoL,YAAgBC,MAELjH,O,+aCVFmG,EAAiB,eACjBG,EAAgB,cAChBC,EAAU,SACVG,EAAmB,gBACnBD,EAAoB,kBAM1B,SAASS,EAAaC,EAAUC,GACnC,8CAAO,WAAMzQ,GAAN,uBAAAL,EAAA,6DACHK,EAAS,CACLS,KAAMmP,IAGN1L,EAAS,CACT,SAAYsM,EACZ,SAAYC,GAGZtM,EAAWF,YAAeC,GAC9BlE,EAASkN,eAXN,SAYoBwD,gBAAMpmB,IAAOC,WAAY,CAC5ComB,OAAQnnB,IAAOU,UACf2V,QAAS,CACL,eAAgBrW,IAAOS,qBACvB,mBAAoBT,IAAOQ,2BAE/B4mB,KAAMzM,IAlBP,cAYG9D,EAZH,gBAqBwBA,EAASwQ,OArBjC,QAqBGC,EArBH,QAuBctnB,IAAOC,oBAChB+kB,EAAWsC,EAAatnB,IAAOG,gBAErBonB,UACVxH,aAAa2C,QAAQhQ,IAAgBG,wBAAwB,GAC7D2D,EAASgR,GAAc,KAG3BhR,EAAS,CACLS,KAAM+O,EACNhB,SAAUA,MAIdxO,EAAS,CACLS,KAAMkP,EACNrK,QAASwL,EAAatnB,IAAOE,oBAEjC8W,YAAY,CAAEC,KAAMqQ,EAAatnB,IAAOC,kBAAoB8N,IAAWG,SAAWH,IAAWM,OAAQ6I,QAASoQ,EAAatnB,IAAOE,qBAEtIsW,EAASoN,eA3CN,4CAAP,sDAmDG,IAAM6D,EAAkB,SAACzC,GAC5B,MAAO,CACH/N,KAAM+O,EACNhB,SAAUA,IAQL0C,EAAgB,WACzB,8CAAO,WAAMlR,GAAN,eAAAL,EAAA,sEACoB+Q,gBAAMpmB,IAAOE,YAAa,CAC7CmmB,OAAQnnB,IAAOU,UACf2V,QAAS,CACL,eAAgBrW,IAAOS,qBACvB,mBAAoBT,IAAOQ,6BALhC,cACGqW,EADH,gBASGA,EAASwQ,OATZ,OAWH7Q,EAAS,CACLS,KAAMmP,IAZP,2CAAP,uDAqBSuB,EAAa,WACtB,8CAAO,WAAMnR,GAAN,SAAAL,EAAA,sDACHK,EAAS,CACLS,KAAMmP,IAFP,2CAAP,uDAUSoB,EAAgB,SAAC1Q,GAK1B,OAJKA,GACDiJ,aAAaI,WAAWzN,IAAgBG,wBAG5C,uCAAO,WAAM2D,GAAN,SAAAL,EAAA,sDACHK,EAAS,CACLS,KAAMsP,EACNzP,OAAQA,IAHT,2CAAP,wD,oBCpHJ8Q,EAAOC,QAAU,IAA0B,4C,oBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,kC,oBCA3CD,EAAOC,QAAU,IAA0B,wC,kBCA3CD,EAAOC,QAAU,svJ,yRC+EFC,EA1EF,CACT,CACIC,KAAM9f,IAAOI,eAAgBqW,MAAO,OAAQsJ,SAAS,GAEzD,CACID,KAAM9f,IAAOM,wBAAyBmW,MAAO,UAAWsJ,SAAS,EAAOC,WAAY,CAAEC,SAAU1c,IAAYC,qBAAsB0c,YAAa,CAAC3c,IAAYqB,oBAEhK,CACI6R,MAAO,UAAWsJ,SAAS,EAAMC,WAAY,CAAEC,SAAU1c,IAAYI,gBAAiBuc,YAAa,CAAC3c,IAAYqB,mBAChHub,SAAU,CACN,CAAEL,KAAM9f,IAAOuB,eAAgBkV,MAAO,aACtC,CAAEqJ,KAAM9f,IAAOwB,mBAAoBiV,MAAO,gBAC1C,CAAEqJ,KAAM9f,IAAOyB,qBAAsBgV,MAAO,mBAC5C,CAAEqJ,KAAM9f,IAAOkD,iBAAkBuT,MAAO,iBAGhD,CACIqJ,KAAM9f,IAAOiC,WAAYwU,MAAO,gBAAiBsJ,SAAS,EAAOC,WAAY,CAAEC,SAAU1c,IAAYU,yBAA0Bic,YAAa,CAAC3c,IAAYqB,oBAE7J,CACI6R,MAAO,UAAWsJ,SAAS,EAAMC,WAAY,CAAEC,SAAU1c,IAAYoB,2BAA4Bub,YAAa,CAAC3c,IAAYqB,mBAC3Hub,SAAU,CACN,CAAEL,KAAM9f,IAAO6B,aAAc4U,MAAO,WACpC,CACIqJ,KAAM9f,IAAO8B,kBAAmB2U,MAAO,eACvC2J,KAAM,CAAC3Y,IAAKE,OAAQF,IAAKI,YAAaJ,IAAKU,OAAQV,IAAKO,cAAeP,IAAKQ,QAASR,IAAKS,QAAST,IAAKG,SAAUH,IAAKK,iBAInI,CACI2O,MAAO,UAAWsJ,SAAS,EAC3BI,SAAU,CACN,CAAEL,KAAM9f,IAAOsC,yBAA0BmU,MAAO,qBAAsBuJ,WAAY,CAAEC,SAAU1c,IAAYS,gCAAiCkc,YAAa,CAAC3c,IAAYqB,oBACrK,CAAEkb,KAAM9f,IAAOuC,qBAAsBkU,MAAO,iBAAkBuJ,WAAY,CAAEC,SAAU1c,IAAYW,+BAAgCgc,YAAa,CAAC3c,IAAYqB,oBAC5J,CAAEkb,KAAM9f,IAAOwC,+BAAgCiU,MAAO,mBAAoBuJ,WAAY,CAAEC,SAAU1c,IAAYW,+BAAgCgc,YAAa,CAAC3c,IAAYqB,oBACxK,CAAEkb,KAAM9f,IAAOmC,4BAA6BsU,MAAO,yBAA0BuJ,WAAY,CAAEC,SAAU1c,IAAYa,+BAAgC8b,YAAa,CAAC3c,IAAYqB,oBAC3K,CAAEkb,KAAM9f,IAAO+B,0BAA2B0U,MAAO,uBAAwBuJ,WAAY,CAAEC,SAAU1c,IAAYY,+BAAgC+b,YAAa,CAAC3c,IAAYqB,oBACvK,CAAEkb,KAAM9f,IAAOkC,mBAAoBuU,MAAO,gBAAiBuJ,WAAY,CAAEC,SAAU1c,IAAYiB,0BAA2B0b,YAAa,CAAC3c,IAAYqB,oBACpJ,CAAEkb,KAAM9f,IAAOoC,6BAA8BqU,MAAO,0BAA2BuJ,WAAY,CAAEC,SAAU1c,IAAYiB,0BAA2B0b,YAAa,CAAC3c,IAAYqB,oBACxK,CAAEkb,KAAM9f,IAAOqC,yBAA0BoU,MAAO,sBAAuBuJ,WAAY,CAAEC,SAAU1c,IAAYiB,0BAA2B0b,YAAa,CAAC3c,IAAYqB,oBAChK,CAAEkb,KAAM9f,IAAOgC,gBAAiByU,MAAO,aAAcuJ,WAAY,CAAEC,SAAU1c,IAAYc,uBAAwB6b,YAAa,CAAC3c,IAAYqB,oBAC3I,CAAEkb,KAAM9f,IAAOyC,oBAAqBgU,MAAO,iBAAkBuJ,WAAY,CAAEC,SAAU1c,IAAYkB,2BAA4Byb,YAAa,CAAC3c,IAAYqB,oBACvJ,CAAEkb,KAAM9f,IAAOiD,mBAAoBwT,MAAO,gBAAiBuJ,WAAY,CAAEC,SAAU1c,IAAYkB,2BAA4Byb,YAAa,CAAC3c,IAAYqB,oBACrJ,CAAEkb,KAAM9f,IAAOU,oBAAqB+V,MAAO,iBAAkBsJ,SAAS,KAG9E,CACItJ,MAAO,eAAgBqJ,KAAM9f,IAAOY,oBAAqBwf,KAAM,CAAC3Y,IAAKE,OAAQF,IAAKI,YAAaJ,IAAKK,aAAcL,IAAKM,OAAQN,IAAKO,cAAeP,IAAKQ,QAASR,IAAKS,QAAST,IAAKU,SAExL,CACIsO,MAAO,UAAWqJ,KAAM9f,IAAOc,YAAasf,KAAM,CAAC3Y,IAAKC,aAAcD,IAAKG,UAAWoY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,oBAE7K,CACI6R,MAAO,iBAAkBsJ,SAAS,EAAMK,KAAM,CAAC3Y,IAAKC,cAAesY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACtJub,SAAU,CACN,CAAEL,KAAM9f,IAAOS,wBAAyBgW,MAAO,iBAAkBuJ,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBAAqB4O,MAAO,CAAE6M,OAAQ5Y,IAAKG,WAC/L,CAAEkY,KAAM9f,IAAOW,mBAAoB8V,MAAO,aAC1C,CAAEqJ,KAAM9f,IAAOoB,cAAeqV,MAAO,YACrC,CAAEqJ,KAAM9f,IAAOe,iBAAkB0V,MAAO,eACxC,CAAEqJ,KAAM9f,IAAOsB,4BAA6BmV,MAAO,YACnD,CAAEqJ,KAAM9f,IAAOY,oBAAqB6V,MAAO,mBAC3C,CAAEqJ,KAAM9f,IAAOgB,WAAYyV,MAAO,4BAClC,CAAEqJ,KAAM9f,IAAOkB,kBAAmBuV,MAAO,gBACzC,CAAEqJ,KAAM9f,IAAOmB,oBAAqBsV,MAAO,kBAC3C,CAAEqJ,KAAM9f,IAAO6C,aAAc4T,MAAO,WACpC,CAAEqJ,KAAM9f,IAAO8C,qBAAsB2T,MAAO,mBAC5C,CAAEqJ,KAAM9f,IAAO+C,gBAAiB0T,MAAO,gBAG/C,CACIqJ,KAAM9f,IAAOK,UAAWoW,MAAO,OAAQsJ,SAAS,I,0BCNzCO,EA1DK,SAAArQ,GAAU,IAClBqB,EAAMC,cAAND,EACFiP,EAAYC,aAAY,SAAAhN,GAAK,OAAIA,EAAMqK,UAAUd,YAF9B,EAGOjD,qBAHP,mBAGlB2G,EAHkB,KAGRC,EAHQ,OAIS5G,oBAAS,GAJlB,mBAIlB6G,EAJkB,KAIPC,EAJO,cAkBVC,EAlBU,8EAkBzB,WAA2B5C,GAA3B,eAAA/P,EAAA,6DACI0S,GAAa,GADjB,SAE6BzR,IAAU2R,IAAIjoB,IAAOiF,2BAA6B,YAAcmgB,EAAQ,CAAE7P,QAAS,CAAE,aAAe,KAFjI,QAEQiR,EAFR,QAIqBtnB,IAAOC,kBACpB0oB,EAAYrB,EAAatnB,IAAOG,gBAGhC6W,YAAY,CACRC,KAAMlJ,IAAWM,OACjB6I,QAASqC,EAAE+N,EAAatnB,IAAOE,qBAIvC2oB,GAAa,GAdjB,4CAlByB,sBAmCzB,OA1BAjP,qBAAU,WACDmC,YAAcyM,IACnBM,EAAYN,EAAUtC,UAEvB,IAuBC,yBAAKvN,UAAU,oBACX,6BACI,uBAAGA,UAAU,WACR+P,GAAYA,EAASM,MAArB,UACM3M,YAAyBqM,EAASM,MAAMC,YAD9C,cAC+D5M,YAAyBqM,EAASM,MAAM3C,cADvG,eAKL,2BAAI9M,EAAE,kBAAkBkG,cAAxB,MAA0ClG,EAAE,SAASkG,gBAGrD+I,IAAcI,EACV,4BAAQjQ,UAAU,MAAMwB,QAAS,WAAQ2O,EAAYN,EAAUtC,UAC3D,yBAAKvN,UAAU,0BACf,uBAAGA,UAAU,iBAEf,yBAAKA,UAAU,UAAS,kBAAC,IAAD,CAAYuQ,KAAM,GAAI9P,MAAO,Y,+DCqW5D+P,EAjZA,SAAAjR,GAAU,IAAD,IACZqB,EAAMC,cAAND,EACFiP,EAAYC,aAAY,SAAAhN,GAAK,OAAIA,EAAMqK,UAAUd,YAFnC,EAGoBjD,mBAAS,IAH7B,mBAGbqH,EAHa,KAGCC,EAHD,OAIkCtH,mBAAS,IAJ3C,mBAIbuH,EAJa,KAIQC,EAJR,OAK0CxH,oBAAS,GALnD,mBAKbyH,EALa,KAKYC,EALZ,OAMiDC,cAAnDC,GANE,EAMZC,SANY,EAMFD,cAA+BE,GAN7B,EAMYC,MANZ,EAMmBC,SANnB,EAM6BF,SAASrR,EANtC,EAMsCA,OACpDwR,EAAc,CAChB,CAAEjC,KAAM9f,IAAO0C,oBAAqB+T,MAAO,iBAAkBuL,iBAAiB,IAD9D,GAGZvL,MAAO,mBAAoBvE,QAAS,WAAQoB,YAAW2O,EAAD,UAAcjiB,IAAOiB,iBAArB,iBAA8Csf,EAAUtC,OAAxD,iBAAuEsC,EAAUxB,aAH3H,yBAIH,WACL,IAEImD,EAAQC,OAAOC,OAAOC,MAAQ,EAAMA,IACpCC,EAAOH,OAAOC,OAAOG,OAAS,EAAMA,IAExCJ,OAAOK,KAAP,UAAexiB,IAAOiB,iBAAtB,iBAA+Csf,EAAUtC,OAAzD,iBAAwEsC,EAAUxB,UAAlF,yDALY,IAKZ,mBAJa,IAIb,iBAAgLmD,EAAhL,gBAA4LI,OAVpL,iCAYK,GAZL,qBAYiB,CAAC7a,IAAKE,OAAQF,IAAKI,YAAaJ,IAAKU,OAAQV,IAAKO,cAAeP,IAAKQ,QAASR,IAAKS,QAAST,IAAKG,SAAUH,IAAKK,aAAcL,IAAKM,SAZrJ,2BAaA,CAAEkY,SAAU1c,IAAYO,wBAAyBoc,YAAa,CAAC3c,IAAYqB,oBAb3E,OAgBZ6R,MAAO,uBAAwBvE,QAAS,WAAQoB,YAAW2O,EAAD,UAAcjiB,IAAOqB,gBAArB,mBAA+Ckf,EAAUtC,OAAzD,qBAA4EsC,EAAUxB,aAhBpI,yBAiBH,WAGOoD,OAAOC,OAAOC,MACfF,OAAOC,OAAOG,OAEzBJ,OAAOK,KAAP,UAAexiB,IAAOqB,gBAAtB,mBAAgDkf,EAAUtC,OAA1D,qBAA6EsC,EAAUxB,UAAY,aAvB3F,iCAyBK,GAzBL,qBAyBiB,CAACtX,IAAKE,OAAQF,IAAKI,YAAaJ,IAAKU,OAAQV,IAAKO,cAAeP,IAAKQ,QAASR,IAAKS,QAAST,IAAKG,SAAUH,IAAKK,aAAcL,IAAKM,SAzBrJ,2BA0BA,CAAEkY,SAAU1c,IAAYQ,uBAAwBmc,YAAa,CAAC3c,IAAYqB,oBA1B1E,GA4BhB,CACIkb,KAAM9f,IAAOa,oBAAqB4V,MAAO,uBACzCuL,iBAAiB,EAAM5B,KAAM,CAAC3Y,IAAKE,OAAQF,IAAKI,YAAaJ,IAAKU,OAAQV,IAAKO,cAAeP,IAAKQ,QAASR,IAAKS,QAAST,IAAKG,SAAUH,IAAKK,aAAcL,IAAKM,QACjKyL,MAAO,CAAEiP,cAAc,IAE3B,CAAEhM,MAAO,kBAAmBvE,QAAS,WAAQsP,GAA2B,MAExEkB,EAAYC,cACZV,EAAWW,cAKfjR,qBAAU,WACDW,YAAoBiO,EAAUsC,gBAC/BC,IACAC,OAEL,CAACxC,IAKJ,IAAMuC,EAAyB,WAK3B,IAJA,IAAIE,EAAYhL,KAAKC,MAAMD,KAAKiL,UAAUC,IACtC7J,EAAqBkH,EAAUsC,aAAa1N,MAAM,KAClDgO,EAAmB,GAEdrR,EAAI,EAAGA,EAAIuH,EAAmBzH,OAAQE,IAAK,CAChD,IAAI0H,EAAqBH,EAAmBvH,GAAGqD,MAAM,KAErD,GAAiC,GAA7BqE,EAAmB5H,OAAa,CAChC,IAAIsO,EAAc1G,EAAmB,GAAGxE,WAEpCkL,EAAY3G,SAAShW,IAAYqB,mBACjCue,EAAiBpQ,KAAK,CAAEkN,SAAUzG,EAAmB,GAAI0G,YAAaA,EAAY/K,MAAM,OAMpG,IAASrD,EAAI,EAAGA,EAAIkR,EAAUpR,OAAQE,IAC9BkR,EAAUlR,GAAGqO,WACb6C,EAAUlR,GAAGqO,SAAW6C,EAAUlR,GAAGqO,SAASnF,QAAO,SAAAoI,GACjD,IAAIpD,EAAaoD,EAAI,WACjBhD,EAAOgD,EAAI,KACXjK,GAAgB,EAUpB,YARmBhL,IAAf6R,IACA7G,EAAgBgK,EAAiBzJ,MAAK,SAAA5H,GAAC,OAAIA,EAAEmO,UAAYD,EAAWC,UAAYnO,EAAEoO,YAAYxG,MAAK,SAAA5H,GAAC,OAAIkO,EAAWE,YAAY3G,SAASzH,UAGxIqH,QAA0BhL,IAATiS,IACjBjH,EAAgBiH,EAAK1G,MAAK,SAAA5H,GAAC,OAAIA,GAAKyO,EAAU8C,eAG3ClK,MAMnB6J,EAAYA,EAAUhI,QAAO,SAAAoI,GACzB,KAAMA,EAAKjD,UAAoC,GAAxBiD,EAAKjD,SAASvO,SAAgBwR,EAAKrD,QACtD,OAAO,EAGX,IAAIC,EAAaoD,EAAKpD,WAClBI,EAAOgD,EAAKhD,KAEZjH,GAAgB,EAUpB,YARmBhL,IAAf6R,IACA7G,EAAgBgK,EAAiBzJ,MAAK,SAAA5H,GAAC,OAAIA,EAAEmO,UAAYD,EAAWC,UAAYnO,EAAEoO,YAAYxG,MAAK,SAAA5H,GAAC,OAAIkO,EAAWE,YAAY3G,SAASzH,UAGxIqH,QAA0BhL,IAATiS,IACjBjH,EAAgBiH,EAAK1G,MAAK,SAAA5H,GAAC,OAAIA,GAAKyO,EAAU8C,eAG3ClK,KAGXiI,EAAgB4B,IAMpB,SAASM,EAAgBnD,EAAUoD,GAC/B,YACiBpV,IAAbgS,GACA,oCACI,uBAAGzP,UAAU,UACb,yBAAKA,UAAU,iBAEPyP,EAAS1O,KAAI,SAAC+R,EAAWtI,GAAZ,OACTsI,EAAUzD,QACN,4BAAQjV,IAAKoQ,EAAOxK,UAAU,iBAAgB,0BAAMA,UAAU,QAAhB,UAA2B6S,EAA3B,YAA0CrI,EAAQ,IAAY5J,EAAEkS,EAAU/M,QACxH,kBAAC,IAAD,CAAS3L,IAAKoQ,EAAOxK,UAAU,gBAC3B+S,GAAI,CACAhQ,SAAU+P,EAAU1D,KACpBtM,MAAOgQ,EAAUhQ,QAErB,8BACI,0BAAM9C,UAAU,QAAhB,UAA2B6S,EAA3B,YAA0CrI,EAAQ,IACjD5J,EAAEkS,EAAU/M,cAajD,IAAMsM,EAAgC,WAKlC,IAJA,IAAIC,EAAYjB,EACZ1I,EAAqBkH,EAAUsC,aAAa1N,MAAM,KAClDgO,EAAmB,GAEdrR,EAAI,EAAGA,EAAIuH,EAAmBzH,OAAQE,IAAK,CAChD,IAAI0H,EAAqBH,EAAmBvH,GAAGqD,MAAM,KAErD,GAAiC,GAA7BqE,EAAmB5H,OAAa,CAChC,IAAIsO,EAAc1G,EAAmB,GAAGxE,WAEpCkL,EAAY3G,SAAShW,IAAYqB,mBACjCue,EAAiBpQ,KAAK,CAAEkN,SAAUzG,EAAmB,GAAI0G,YAAaA,EAAY/K,MAAM,OAKpG6N,EAAYA,EAAUhI,QAAO,SAAAoI,GACzB,KAAMA,EAAKjD,UAAoC,GAAxBiD,EAAKjD,SAASvO,SAAgBwR,EAAKrD,QACtD,OAAO,EAGX,IAAIC,EAAaoD,EAAKpD,WAClBI,EAAOgD,EAAKhD,KACZ4B,EAAkBoB,EAAKpB,gBACvB7I,GAAgB,EAcpB,YAZmBhL,IAAf6R,IACA7G,EAAgBgK,EAAiBzJ,MAAK,SAAA5H,GAAC,OAAIA,EAAEmO,UAAYD,EAAWC,UAAYnO,EAAEoO,YAAYxG,MAAK,SAAA5H,GAAC,OAAIkO,EAAWE,YAAY3G,SAASzH,UAGxIqH,QAA0BhL,IAATiS,IACjBjH,EAAgBiH,EAAK1G,MAAK,SAAA5H,GAAC,OAAIA,GAAKyO,EAAU8C,eAG9ClK,QAAqChL,IAApB6T,GAAiCA,IAClD7I,EAAgB7G,YAAoBiO,EAAUmD,cAG3CvK,KAGXmI,EAAuB0B,IAqB3B,IAAMW,EAAgB,uCAAG,WAAOhU,EAAMoC,GAAb,eAAA7D,EAAA,yDACjByB,EAAKqP,UAAYrP,EAAKiU,gBADL,uBAEjB7U,YAAY,CAAEC,KAAMlJ,IAAWM,OAAQ6I,QAASqC,EAAE,gDAFjC,0CAMInC,IAAU0U,KAAV,UAAkBhrB,IAAOS,qBAAzB,wBAA6DqW,EAAKqP,SAAlE,wBAA0FrP,EAAKmU,cANnG,OAMjBzE,EANiB,OAQrBtQ,YAAY,CACRC,KAAMqQ,EAAatnB,IAAOC,kBAAoB8N,IAAWG,SAAWH,IAAWM,OAC/E6I,QAASqC,EAAE+N,EAAatnB,IAAOE,mBAC/BiX,UAAW,WACHmQ,EAAatnB,IAAOC,mBACpBwpB,GAA2B,MAblB,2CAAH,wDAmBtB,OACI,oCACI,yBAAKna,GAAG,SAASqJ,UAAU,yBACvB,yBAAKA,UAAU,oBACX,yBAAKA,UAAU,eACX,yBAAKoK,IAAKC,EAAQ,KAAqErK,UAAU,eACjG,yBAAKA,UAAU,cACX,yBAAKA,UAAU,4BAA4BrJ,GAAG,mBAC1C,wBAAIqJ,UAAU,OAENyQ,EAAa1P,KAAI,SAACsS,EAAMR,GACpB,IAAMrI,EAAQqI,EAAc,EAE5B,OAAQhD,EAAUtC,QAAU8F,EAAKC,qBAAuB,wBAAKlZ,IAAKoQ,GAE1D6I,EAAKhE,QACD,yBAAKrP,UAAU,iBACX,8BAAOwK,EAAP,KACC5J,EAAEyS,EAAKtN,OAEJ6M,EAAgBS,EAAK5D,SAAUjF,IAGvC,kBAAC,IAAD,CAASuI,GAAI,CACThQ,SAAUsQ,EAAKjE,KACftM,MAAOuQ,EAAKvQ,OACb9C,UAAU,iBACT,8BAAOwK,EAAP,KACC5J,EAAEyS,EAAKtN,OAEJ6M,EAAgBS,EAAK5D,SAAUjF,WAWvE,yBAAKxK,UAAU,eACX,wBAAIA,UAAU,OACV,4BACI,yBAAKA,UAAU,6BACX,yBAAKoK,IAAKC,EAAQ,OAClB,yBAAKrK,UAAU,mBAAf,OAAkC6P,QAAlC,IAAkCA,OAAlC,EAAkCA,EAAWxB,UAC7C,uBAAGrO,UAAU,UACb,yBAAKA,UAAU,iBAEP2Q,EAAoB5P,KAAI,SAACsS,EAAM7I,GAAP,OACpB,oCAES6I,EAAKjE,KAMF,kBAAC,IAAD,CAASjF,IAAKoJ,IAAMnZ,IAAKoQ,EAAOxK,UAAU,gBACtC+S,GAAI,CACAhQ,SAAUsQ,EAAKjE,KACftM,MAAOuQ,EAAKvQ,QAEflC,EAAEyS,EAAKtN,QAVZ,yBAAK/F,UAAU,gBAAgBwB,QAAS,WAChC6R,EAAK7R,SACL6R,EAAK7R,YAETZ,EAAEyS,EAAKtN,gBAgB/C,4BAAQvE,QAAS,WA3GrCnD,YAAY,CACRC,KAAMlJ,IAAWI,SACjB+I,QAASqC,EAAE,wBACX8E,YAAY,EACZ8N,eAAgB5S,EAAE,UAClBpC,UAAW,WACPwT,EAAUjD,mBAqG0C/O,UAAU,kBAAiB,yBAAKoK,IAAKC,EAAQ,UAG7F,kBAAC,EAAD,MACA,kBAAC,IAAD,QAGR,kBAACoJ,EAAA,EAAD,CAAOxJ,OAAQ4G,GACX,0BAAM6C,SAAU1C,EAAaiC,IACzB,kBAACU,EAAA,EAAD,KACI,4BAAK/S,EAAE,qBAEX,kBAACgT,EAAA,EAAD,KACI,yBAAK5T,UAAU,yBACX,yBAAKA,UAAU,aACX,kBAAC,IAAD,CACIkR,QAASA,EACTzR,KAAK,cACLoU,OAAQ,gBAAG/T,EAAH,EAAGA,SAAUzJ,EAAb,EAAaA,MAAOoJ,EAApB,EAAoBA,KAApB,OACJ,kBAACL,EAAA,EAAD,CACIK,KAAMA,EACNpJ,MAAOA,EACPyJ,SAAU,SAAAzJ,GACNyJ,EAASzJ,IAEbC,MAAK,UAAKsK,EAAE,gBAAP,KACLlB,YAAW,UAAKkB,EAAE,iBAClBtC,KAAK,WACLsB,gBAAiB,mBACjBC,OAAQA,KAGhBiU,MAAO,CAAEC,UAAU,OAI/B,yBAAK/T,UAAU,yBACX,yBAAKA,UAAU,aACX,kBAAC,IAAD,CACIkR,QAASA,EACTzR,KAAK,WACLoU,OAAQ,gBAAG/T,EAAH,EAAGA,SAAUzJ,EAAb,EAAaA,MAAOoJ,EAApB,EAAoBA,KAApB,OACJ,kBAACL,EAAA,EAAD,CACIK,KAAMA,EACNpJ,MAAOA,EACPyJ,SAAU,SAAAzJ,GACNyJ,EAASzJ,IAEbC,MAAK,UAAKsK,EAAE,YAAP,KACLlB,YAAW,UAAKkB,EAAE,aAClBtC,KAAK,WACLuB,OAAQA,KAGhBiU,MAAO,CAAEC,UAAU,OAI/B,yBAAK/T,UAAU,yBACX,yBAAKA,UAAU,aACX,kBAAC,IAAD,CACIkR,QAASA,EACTzR,KAAK,kBACLoU,OAAQ,gBAAG/T,EAAH,EAAGA,SAAUzJ,EAAb,EAAaA,MAAOoJ,EAApB,EAAoBA,KAApB,OACJ,kBAACL,EAAA,EAAD,CACIK,KAAMA,EACNpJ,MAAOA,EACPyJ,SAAU,SAAAzJ,GACNyJ,EAASzJ,IAEbC,MAAK,UAAKsK,EAAE,oBAAP,KACLlB,YAAW,UAAKkB,EAAE,qBAClBtC,KAAK,WACLuB,OAAQA,KAGhBiU,MAAO,CAAEC,UAAU,QAKnC,kBAACC,EAAA,EAAD,KACI,4BAAQ1V,KAAK,SAAS0B,UAAU,mBAAmBY,EAAE,aACrD,4BAAQtC,KAAK,SAAS0B,UAAU,iBAAiBwB,QAAS,WAAQsP,GAA2B,KAAYlQ,EAAE,oB,4CClZtHqT,EAAO,SAACC,GAAD,OAAoB,SAAC3U,GAAD,OACpC,kBAAC,WAAD,CAAU4U,SAAU,yBAAKnU,UAAU,kBAAiB,kBAAC,IAAD,CAAYuQ,KAAM,GAAI9P,MAAOuF,cAC7E,kBAACkO,EAAc3U,MAIjB6U,EAAQH,EAAKI,gBAAK,kBAAM,kEACxBC,EAAqBL,EAAKI,gBAAK,kBAAM,oCACrCE,EAAYN,EAAKI,gBAAK,kBAAM,yEAC5BG,EAAOP,EAAKI,gBAAK,kBAAM,oCACvBI,EAAgBR,EAAKI,gBAAK,kBAAM,+EAChCK,EAAgBT,EAAKI,gBAAK,kBAAM,0DAChCM,EAAmBV,EAAKI,gBAAK,kBAAM,oCACnCO,EAAoBX,EAAKI,gBAAK,kBAAM,iEACpCQ,EAAmBZ,EAAKI,gBAAK,kBAAM,oCACnCS,EAAmBb,EAAKI,gBAAK,kBAAM,2DAGnCU,EAAed,EAAKI,gBAAK,kBAAM,+EAC/BW,GAAgBf,EAAKI,gBAAK,kBAAM,iEAChCY,GAAgBhB,EAAKI,gBAAK,kBAAM,0DAChCa,GAAUjB,EAAKI,gBAAK,kBAAM,iEAC1Bc,GAAalB,EAAKI,gBAAK,kBAAM,0DAC7Be,GAAcnB,EAAKI,gBAAK,kBAAM,iEAC9BgB,GAAepB,EAAKI,gBAAK,kBAAM,yEAC/BiB,GAAgBrB,EAAKI,gBAAK,kBAAM,iEAChCkB,GAAWtB,EAAKI,gBAAK,kBAAM,iEAC3BmB,GAAYvB,EAAKI,gBAAK,kBAAM,wEAC5BoB,GAAuBxB,EAAKI,gBAAK,kBAAM,iEACvCqB,GAAWzB,EAAKI,gBAAK,kBAAM,+EAC3BsB,GAAS1B,EAAKI,gBAAK,kBAAM,wEACzBuB,GAAgB3B,EAAKI,gBAAK,kBAAM,wEAChCwB,GAAY5B,EAAKI,gBAAK,kBAAM,+EAE5ByB,GAAgB7B,EAAKI,gBAAK,kBAAM,mCAEhC0B,GAAiB9B,EAAKI,gBAAK,kBAAM,0DACjC2B,GAAe/B,EAAKI,gBAAK,kBAAM,oCAE/B4B,GAAUhC,EAAKI,gBAAK,kBAAM,wEAC1B6B,GAAcjC,EAAKI,gBAAK,kBAAM,iEAC9B8B,GAAalC,EAAKI,gBAAK,kBAAM,wEAG7B+B,GAAqBnC,EAAKI,gBAAK,kBAAM,wEACrCgC,GAAYpC,EAAKI,gBAAK,kBAAM,+EAC5BiC,GAAuBrC,EAAKI,gBAAK,kBAAM,+EACvCkC,GAAoBtC,EAAKI,gBAAK,kBAAM,+EACpCmC,GAAwBvC,EAAKI,gBAAK,kBAAM,+EACxCoC,GAAwBxC,EAAKI,gBAAK,kBAAM,iEACxCqC,GAAQzC,EAAKI,gBAAK,kBAAM,+EACxBsC,GAAe1C,EAAKI,gBAAK,kBAAM,iEAC/BuC,GAAoB3C,EAAKI,gBAAK,kBAAM,iEACpCwC,GAAgB5C,EAAKI,gBAAK,kBAAM,+EAChCyC,GAAgB7C,EAAKI,gBAAK,kBAAM,+EAChC0C,GAAgB9C,EAAKI,gBAAK,kBAAM,wEAChC2C,GAAgB/C,EAAKI,gBAAK,kBAAM,oCAChC4C,GAAoBhD,EAAKI,gBAAK,kBAAM,wEACpC6C,GAAejD,EAAKI,gBAAK,kBAAM,+EAKxB8C,GACb,CACI/H,KAAM9f,IAAOC,UACb6nB,OAAO,EACPC,cAAc,EACdC,UAAW,kBAAM,kBAAC,IAAD,CAAUvE,GAAIzjB,IAAOE,eAG7B+nB,GAAU,CACnB,CACInI,KAAM9f,IAAOE,WACb4nB,OAAO,EACPrR,MAAO,QACPsR,cAAc,EACdC,UAAW,kBAAM,kBAAClD,EAAD,QAErB,CACIhF,KAAM9f,IAAOG,0BACb2nB,OAAO,EACPC,cAAc,EACdtR,MAAO,uBACPuR,UAAW,kBAAM,kBAAChD,EAAD,QAErB,CACIlF,KAAM9f,IAAOC,UACb6nB,OAAO,EACPC,cAAc,EACdC,UAAW,kBAAM,kBAAC,IAAD,CAAUvE,GAAIzjB,IAAOI,mBAE1C,CACI0f,KAAM9f,IAAOI,eACb0nB,OAAO,EACPC,cAAc,EACdtR,MAAO,YACPuR,UAAW,kBAAM,kBAAC/C,EAAD,QAErB,CACInF,KAAM9f,IAAOM,wBACbwnB,OAAO,EACPC,cAAc,EACdtR,MAAO,qBACPuJ,WAAY,CAAEC,SAAU1c,IAAYC,qBAAsB0c,YAAa,CAAC3c,IAAYqB,mBACpFojB,UAAW,kBAAM,kBAAC7C,EAAD,QAErB,CACIrF,KAAM9f,IAAOO,oBACbunB,OAAO,EACPC,cAAc,EACdtR,MAAO,cACPuJ,WAAY,CAAEC,SAAU1c,IAAYC,qBAAsB0c,YAAa,CAAC3c,IAAYqB,iBAAkBrB,IAAYsB,mBAAoBtB,IAAYuB,mBAClJkjB,UAAW,kBAAM,kBAAC5C,EAAD,QAErB,CACItF,KAAM9f,IAAO0C,oBACbolB,OAAO,EACPC,cAAc,EACdtR,MAAO,iBACPuR,UAAW,kBAAM,kBAAC5C,EAAD,QAErB,CACItF,KAAM9f,IAAOQ,wBACbsnB,OAAO,EACPC,cAAc,EACdtR,MAAO,qBACPuJ,WAAY,CAAEC,SAAU1c,IAAYE,yBAA0Byc,YAAa,CAAC3c,IAAYqB,iBAAkBrB,IAAYsB,mBAAoBtB,IAAYuB,mBACtJkjB,UAAW,kBAAM,kBAACxC,EAAD,QAErB,CACI1F,KAAM9f,IAAOS,wBACbqnB,OAAO,EACPC,cAAc,EACdtR,MAAO,iBACP2J,KAAM,CAAC3Y,IAAKC,cACZsY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,iBAAkBrB,IAAYsB,mBAAoBtB,IAAYuB,mBACjJkjB,UAAW,kBAAM,kBAAC5C,EAAD,QAErB,CACItF,KAAM9f,IAAOY,oBACbknB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,aAAcD,IAAKE,OAAQF,IAAKI,YAAaJ,IAAKK,aAAcL,IAAKM,OAAQN,IAAKO,cAAeP,IAAKQ,QAASR,IAAKS,QAAST,IAAKU,QAC9IsO,MAAO,iBACPuR,UAAW,kBAAM,kBAACtC,GAAD,QAErB,CACI5F,KAAM9f,IAAOa,oBACbinB,OAAO,EACPC,cAAc,EACdtR,MAAO,iBACPuR,UAAW,kBAAM,kBAACrC,GAAD,QAErB,CACI7F,KAAM9f,IAAOW,mBACbmnB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZsY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,gBACPuR,UAAW,kBAAM,kBAACvC,EAAD,QAErB,CACI3F,KAAM9f,IAAOc,YACbgnB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,aAAcD,IAAKG,UAC/BoY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,UACPuR,UAAW,kBAAM,kBAACpC,GAAD,QAErB,CACI9F,KAAM9f,IAAOe,iBACb+mB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZsY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,cACPuR,UAAW,kBAAM,kBAACnC,GAAD,QAErB,CACI/F,KAAM9f,IAAOgB,WACb8mB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZsY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,mBACPuR,UAAW,kBAAM,kBAAClC,GAAD,QAErB,CACIhG,KAAM9f,IAAOiB,iBACb6mB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYO,wBAAyBoc,YAAa,CAAC3c,IAAYqB,mBACvF6R,MAAO,qBACPuR,UAAW,kBAAM,kBAAC3C,EAAD,QAErB,CACIvF,KAAM9f,IAAOkB,kBACb4mB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZsY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,eACPuR,UAAW,kBAAM,kBAACjC,GAAD,QAErB,CACIjG,KAAM9f,IAAOmB,oBACb2mB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZsY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,iBACPuR,UAAW,kBAAM,kBAAChC,GAAD,QAErB,CACIlG,KAAM9f,IAAOoB,cACb0mB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZsY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,WACPuR,UAAW,kBAAM,kBAAC/B,GAAD,QAErB,CACInG,KAAM9f,IAAOqB,gBACbymB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYQ,uBAAwBmc,YAAa,CAAC3c,IAAYqB,mBACtF6R,MAAO,aACPuR,UAAW,kBAAM,kBAAC9B,GAAD,QAErB,CACIpG,KAAM9f,IAAOsB,4BACbwmB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZsY,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,kBACPuR,UAAW,kBAAM,kBAAC7B,GAAD,QAErB,CACIrG,KAAM9f,IAAOuB,eACbumB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYI,gBAAiBuc,YAAa,CAAC3c,IAAYqB,mBAC/E6R,MAAO,YACPuR,UAAW,kBAAM,kBAAC5B,GAAD,QAErB,CACItG,KAAM9f,IAAOwB,mBACbsmB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYI,gBAAiBuc,YAAa,CAAC3c,IAAYqB,mBAC/E6R,MAAO,gBACPuR,UAAW,kBAAM,kBAAC5B,GAAD,CAAU8B,eAAe,MAE9C,CACIpI,KAAM9f,IAAOU,oBACbonB,OAAO,EACPC,cAAc,EACdtR,MAAO,iBACPuR,UAAW,kBAAM,kBAACxB,GAAD,QAErB,CACI1G,KAAM9f,IAAOyB,qBACbqmB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYI,gBAAiBuc,YAAa,CAAC3c,IAAYqB,mBAC/E6R,MAAO,kBACPuR,UAAW,kBAAM,kBAACvB,GAAD,QAErB,CACI3G,KAAM9f,IAAO0B,yBACbomB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,sBACPuR,UAAW,kBAAM,kBAAC1C,EAAD,QAErB,CACIxF,KAAM9f,IAAO2B,wBACbmmB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,qBACPuR,UAAW,kBAAM,kBAACzC,EAAD,QAErB,CACIzF,KAAM9f,IAAO4B,mBACbkmB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYM,oBAAqBqc,YAAa,CAAC3c,IAAYqB,mBACnF6R,MAAO,aACPuR,UAAW,kBAAM,kBAACtB,GAAD,QAErB,CACI5G,KAAM9f,IAAO6B,aACbimB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYoB,2BAA4Bub,YAAa,CAAC3c,IAAYqB,mBAC1F6R,MAAO,UACPuR,UAAW,kBAAM,kBAACrB,GAAD,QAErB,CACI7G,KAAM9f,IAAO8B,kBACbgmB,OAAO,EACPC,cAAc,EACdtR,MAAO,eACPuJ,WAAY,CAAEC,SAAU1c,IAAYoB,2BAA4Bub,YAAa,CAAC3c,IAAYqB,mBAC1Fwb,KAAM,CAAC3Y,IAAKE,OAAQF,IAAKI,YAAaJ,IAAKU,OAAQV,IAAKO,cAAeP,IAAKQ,QAASR,IAAKS,QAAST,IAAKG,SAAUH,IAAKK,cACvHkgB,UAAW,kBAAM,kBAACpB,GAAD,QAErB,CACI9G,KAAM9f,IAAO+B,0BACb+lB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYY,+BAAgC+b,YAAa,CAAC3c,IAAYqB,mBAC9F6R,MAAO,uBACPuR,UAAW,kBAAM,kBAAClB,GAAD,QAErB,CACIhH,KAAM9f,IAAOgC,gBACb8lB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYc,uBAAwB6b,YAAa,CAAC3c,IAAYqB,mBACtF6R,MAAO,aACPuR,UAAW,kBAAM,kBAACjB,GAAD,QAErB,CACIjH,KAAM9f,IAAOmC,4BACb2lB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYa,+BAAgC8b,YAAa,CAAC3c,IAAYqB,mBAC9F6R,MAAO,yBACPuR,UAAW,kBAAM,kBAAChB,GAAD,QAErB,CACIlH,KAAM9f,IAAOoC,6BACb0lB,OAAO,EACPC,cAAc,EACdtR,MAAO,0BACPuR,UAAW,kBAAM,kBAACb,GAAD,QAErB,CACIrH,KAAM9f,IAAOiC,WACb6lB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYU,yBAA0Bic,YAAa,CAAC3c,IAAYqB,mBACxF6R,MAAO,QACPuR,UAAW,kBAAM,kBAACZ,GAAD,QAErB,CACItH,KAAM9f,IAAOK,UACbynB,OAAO,EACPC,cAAc,EACdtR,MAAO,OACPuR,UAAW,kBAAM,kBAAC9C,EAAD,QAErB,CACIpF,KAAM9f,IAAOkC,mBACb4lB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYiB,0BAA2B0b,YAAa,CAAC3c,IAAYqB,mBACzF6R,MAAO,gBACPuR,UAAW,kBAAM,kBAACX,GAAD,QAErB,CACIvH,KAAM9f,IAAOqC,yBACbylB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYiB,0BAA2B0b,YAAa,CAAC3c,IAAYqB,mBACzF6R,MAAO,sBACPuR,UAAW,kBAAM,kBAACV,GAAD,QAErB,CACIxH,KAAM9f,IAAOsC,yBACbwlB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYS,gCAAiCkc,YAAa,CAAC3c,IAAYqB,mBAC/F6R,MAAO,sBACPuR,UAAW,kBAAM,kBAACf,GAAD,QAErB,CACInH,KAAM9f,IAAOuC,qBACbulB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYW,+BAAgCgc,YAAa,CAAC3c,IAAYqB,mBAC9F6R,MAAO,kBACPuR,UAAW,kBAAM,kBAACT,GAAD,QAErB,CACIzH,KAAM9f,IAAOwC,+BACbslB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYW,+BAAgCgc,YAAa,CAAC3c,IAAYqB,mBAC9F6R,MAAO,kBACPuR,UAAW,kBAAM,kBAACd,GAAD,QAErB,CACIpH,KAAM9f,IAAOyC,oBACbqlB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYkB,2BAA4Byb,YAAa,CAAC3c,IAAYqB,mBAC1F6R,MAAO,iBACPuR,UAAW,kBAAM,kBAACR,GAAD,QAErB,CACI1H,KAAM9f,IAAO2C,qBACbmlB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYW,+BAAgCgc,YAAa,CAAC3c,IAAYqB,mBAC9F6R,MAAO,kBACPuR,UAAW,kBAAM,kBAACP,GAAD,QAErB,CACI3H,KAAM9f,IAAO4C,oBACbklB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYW,+BAAgCgc,YAAa,CAAC3c,IAAYqB,mBAC9F6R,MAAO,iBACPuR,UAAW,kBAAM,kBAACN,GAAD,QAErB,CACI5H,KAAM9f,IAAO6C,aACbilB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZ+O,MAAO,UACPuR,UAAW,kBAAM,kBAAC3B,GAAD,QAErB,CACIvG,KAAM9f,IAAO8C,qBACbglB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZ+O,MAAO,kBACPuR,UAAW,kBAAM,kBAAC1B,GAAD,QAErB,CACIxG,KAAM9f,IAAO+C,gBACb+kB,OAAO,EACPC,cAAc,EACd3H,KAAM,CAAC3Y,IAAKC,cACZ+O,MAAO,aACPuR,UAAW,kBAAM,kBAACzB,GAAD,QAErB,CACIzG,KAAM9f,IAAOgD,0BACb8kB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYW,+BAAgCgc,YAAa,CAAC3c,IAAYqB,mBAC9F6R,MAAO,uBACPuR,UAAW,kBAAM,kBAACL,GAAD,QAErB,CACI7H,KAAM9f,IAAOiD,mBACb6kB,OAAO,EACPC,cAAc,EACd/H,WAAY,CAAEC,SAAU1c,IAAYkB,2BAA4Byb,YAAa,CAAC3c,IAAYqB,mBAC1F6R,MAAO,gBACPuR,UAAW,kBAAM,kBAACJ,GAAD,QAErB,CACI9H,KAAM9f,IAAOkD,iBACb4kB,OAAO,EACPC,cAAc,EACdtR,MAAO,cACPuR,UAAW,kBAAM,kBAACnB,GAAD,SCpdnBsB,GAAgB,SAACC,EAAWtI,GAC9B,IAAMuI,EAAiBD,EAAUjT,MAAM,KAAKmT,MAAM,GAC5CC,EAAYzI,EAAK3K,MAAM,KAAKmT,MAAM,GAYxC,OAVAD,EAAe5W,KAAI,SAAC2R,EAAMlI,GACC,MAAnBkI,EAAK7N,OAAO,KACZ8S,EAAeG,OAAOtN,EAAO,QAEJ/M,IAArBoa,EAAUrN,IACVqN,EAAUC,OAAOtN,EAAO,OAK7BmN,EAAerV,KAAK,OAASuV,EAAUvV,KAAK,MAGjDyV,GAAW,SAAC3I,EAAM4I,GAGpB,IAFA,IAAIC,EAAYjS,KAEP5E,EAAI,EAAGA,EAAI4W,EAAW9W,OAAQE,IAC/BqW,GAAcO,EAAW5W,GAAGgO,KAAMA,KAClC6I,EAAY,UAAGD,EAAW5W,GAAG2E,MAAjB,OAA8BkS,GAIlDC,SAASnS,MAAQkS,GAGfE,G,kDACF,WAAY5Y,GAAQ,IAAD,8BACf,cAAMA,IACDuD,MAAQ,CACTsV,OAAQb,IAHG,E,yDAUN/M,EAAO6N,GAChB,OACI,kBAAC,IAAD,CACIje,IAAKoQ,EACL4M,MAAOiB,EAAUhB,eAAiBiB,KAAK/Y,MAAM4N,UAAUZ,WAAa4K,GAAaC,MAAQiB,EAAUjB,MACnGhI,KAAMiJ,EAAUhB,eAAiBiB,KAAK/Y,MAAM4N,UAAUZ,WAAa4K,GAAa/H,KAAOiJ,EAAUjJ,KACjGkI,UAAWe,EAAUhB,eAAiBiB,KAAK/Y,MAAM4N,UAAUZ,WAAa4K,GAAaG,UAAYe,EAAUf,c,0CAMnHS,GAASO,KAAK/Y,MAAMsD,QAAQ0D,SAASxD,SAAUwU,IAE3Ce,KAAK/Y,MAAM4N,UAAUb,aACrBgM,KAAK/Y,MAAMsD,QAAQ0D,SAASxD,SAAWzT,IAAOG,6B,2CAIhC,IAAD,OACjB6oB,KAAK/Y,MAAMsD,QAAQ0V,QAAO,WACtBR,GAAS,EAAKxY,MAAMsD,QAAQ0D,SAASxD,SAAUwU,S,+CAO7B,IAAD,OACjBiB,EAAiBjB,GAAQjN,QAAO,SAAAmO,GAChC,YAAuBhb,GAAdgb,EAAM/I,MACqE,GAAhF+I,EAAM/I,KAAKpF,QAAO,SAAAlJ,GAAC,OAAIA,GAAK,EAAK7B,MAAM4N,UAAUd,SAASsG,cAAYzR,QAClC,GAAnC,EAAK3B,MAAM4N,UAAUZ,YAAuBkM,EAAMrJ,MAAQ,EAAK7P,MAAMsD,QAAQ0D,SAASxD,YAI/F,QAAmDtF,IAA/C6a,KAAK/Y,MAAM4N,UAAUd,SAAS8F,aAA4B,CAI1D,IAHA,IAAIxJ,EAAqB2P,KAAK/Y,MAAM4N,UAAUd,SAAS8F,aAAa1N,MAAM,KACtEgO,EAAmB,GAEdrR,EAAI,EAAGA,EAAIuH,EAAmBzH,OAAQE,IAAK,CAChD,IAAI0H,EAAqBH,EAAmBvH,GAAGqD,MAAM,KAErD,GAAiC,GAA7BqE,EAAmB5H,OAAa,CAChC,IAAIsO,EAAc1G,EAAmB,GAAGxE,WAEpCkL,EAAY3G,SAAShW,IAAYqB,mBACjCue,EAAiBpQ,KAAK,CAAEkN,SAAUzG,EAAmB,GAAI0G,YAAaA,EAAY/K,MAAM,OAKpG+T,EAAiBA,EAAelO,QAAO,SAAAoI,GACnC,IAAIpD,EAAaoD,EAAKpD,WAEtB,YAAmB7R,IAAf6R,GACPmD,EAAiBzJ,MAAK,SAAA5H,GAAC,OAAIA,EAAEmO,UAAYD,EAAWC,UAAYnO,EAAEoO,YAAYxG,MAAK,SAAA5H,GAAC,OAAIkO,EAAWE,YAAY3G,SAASzH,YAQ7HkX,KAAKxV,MAAMsV,OAASI,I,+BAGd,IAAD,OAGL,OAFAF,KAAKlG,yBAGD,kBAAC,IAAasG,SAAd,MACK,gBAAGC,EAAH,EAAGA,qBAAsBC,EAAzB,EAAyBA,iBAAkBC,EAA3C,EAA2CA,uBAA3C,OACG,yBAAK7Y,UAAW,YAAc2Y,EAAuB,sBAAwB,KAAOE,EAAyB,wBAA0B,IAAMD,GACxI,EAAK9V,MAAMsV,OAAOrX,KAAI,SAAC0X,EAAOjO,GAAR,OACnB,EAAKsO,aAAatO,EAAOiO,c,GAtF/BpZ,IAAM6U,WAmGb6E,gBAJS,SAAAjW,GAAK,sBACtBA,KAKH,KAFWiW,CAGbC,YAAWb,KC1HEc,G,kDAjBd,WAAY1Z,GAAQ,IAAD,sBAClB,cAAMA,GAEN,IAAI2Z,EAAO,IAAIC,KAHG,OAIlB,EAAKrW,MAAQ,CACZsW,KAAMF,EAAKG,eALM,E,qDASlB,OACC,yBAAK1iB,GAAG,SAASqJ,UAAU,UAA3B,QACUsY,KAAKxV,MAAMsW,KADrB,6E,GAXkB/Z,IAAM6U,W,yDCiBrBoF,G,kDACF,WAAY/Z,GAAQ,IAAD,8BACf,cAAMA,IAEDga,qBAAuB,SAACljB,GACzB,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpB2W,YAAapjB,OAGrB,EAAKqjB,0BAA4B,SAACrjB,GAC9B,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpB8V,iBAAkBviB,OAG1B,EAAKsjB,+BAAiC,SAACtjB,GACnC,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpB8W,sBAAuBvjB,OAG/B,EAAKwjB,8BAAgC,SAACxjB,GAClC,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpB6V,qBAAsBtiB,OAG9B,EAAKyjB,gCAAkC,SAACzjB,GACpC,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpB+V,uBAAwBxiB,OAIhC,EAAK0jB,oBAAsB,SAAC1jB,GACxB,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpBkX,WAAY3jB,OAGpB,EAAK4jB,4BAA8B,SAAC5jB,GAChC,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpBoX,mBAAoB7jB,OAG5B,EAAK8jB,+BAAiC,SAAC9jB,GACnC,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpBsX,sBAAuB/jB,OAI/B,EAAKgkB,oBAAsB,SAAChkB,GACxB,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpBwX,WAAYjkB,OAGpB,EAAKkkB,qBAAuB,SAAClkB,GACzB,EAAKmjB,UAAS,SAAA1W,GAAK,MAAK,CACpB0X,YAAankB,OAGrB,EAAKokB,oBAAsB,SAACpZ,GACxBA,EAAEqZ,iBACF,EAAKlB,UAAS,SAAA1W,GAAK,MAAK,CACpB6X,mBAAoB,EAAK7X,MAAM6X,uBAGvC,EAAKC,yBAA2B,SAACvkB,IACf,IAAVA,EACA6hB,SAASzJ,KAAKoM,UAAUC,IAAI,gBAE5B5C,SAASzJ,KAAKoM,UAAUE,OAAO,iBAGvC,EAAKC,qBAAuB,SAAC3kB,IACX,IAAVA,EACA6hB,SAASzJ,KAAKoM,UAAUC,IAAI,YAE5B5C,SAASzJ,KAAKoM,UAAUE,OAAO,aAIvC,EAAKjY,MAAQ,CACTkX,YAAY,EACZiB,oBAAoB,EACpBb,uBAAuB,EACvBc,WAAW,EACXnB,oBAAqB,EAAKA,oBAC1BI,+BAAgC,EAAKA,+BACrCF,4BAA6B,EAAKA,4BAElCR,aAAa,EACbb,iBAAkB,GAClBgB,uBAAuB,EACvBjB,sBAAsB,EACtBE,wBAAwB,EACxBU,qBAAsB,EAAKA,qBAC3BG,0BAA2B,EAAKA,0BAChCC,+BAAgC,EAAKA,+BACrCE,8BAA+B,EAAKA,8BACpCC,gCAAiC,EAAKA,gCAEtCQ,YAAY,EACZD,oBAAqB,EAAKA,oBAC1Brc,MAAO,KACPmd,UAAW,KAEXX,aAAa,EACbG,mBAAmB,EACnBF,oBAAqB,EAAKA,oBAC1BF,qBAAsB,EAAKA,qBAE3BS,qBAAsB,EAAKA,qBAC3BJ,yBAA0B,EAAKA,0BA3GpB,E,gEAmHE,IAAD,OAGZxT,aAAaC,QAAQ3S,IAAWE,cAChC0Y,eAAevD,QAAQrV,IAAWE,YAAawS,aAAaC,QAAQ3S,IAAWE,cAEnFwmB,aAAY,WACR,IAAIC,EAAYjU,aAAaC,QAAQ3S,IAAWE,aAC5C0mB,EAAchO,eAAejG,QAAQ3S,IAAWE,aAEhDymB,GAAaC,GAA4B,MAAbD,GAAkC,QAAbA,GAAsC,MAAfC,GAAsC,QAAfA,IAC/FhO,eAAevD,QAAQrV,IAAWE,YAAaymB,GAC/C5J,OAAOlL,SAASgV,KAAOjsB,IAAOC,aAXV,KAgBxB6X,aAAaC,QAAQtN,IAAgBG,yBACrCoe,KAAK/Y,MAAMsP,eAAc,GAG7BN,iBAAMpmB,IAAOG,kBAAmB,CAC5BkmB,OAAQnnB,IAAOW,SACf0V,QAAS,CACL,OAAUrW,IAAOO,sBACjB,mBAAoBP,IAAOQ,6BAEhC2zB,MAAK,SAACtd,GAAD,OAAcA,EAASwQ,UAAQ8M,MAAK,SAAC7M,GACrCA,EAAatnB,IAAOC,kBACpB,EAAKiY,MAAMuP,gBAAgBH,EAAatnB,IAAOG,gBAG/C,EAAK+X,MAAMyP,gBAInBrJ,KAASO,OAAOuV,KAAK,CACjBzb,UAAW,kBACX2R,MAAO,QACP+J,gBAAiB,UACjBC,aAAc,OACdC,KAAK,EACLC,OAAQ,KACRC,aAAa,EACbC,iBAAkB,kBAClBC,eAAe,EACfC,WAAY,YACZC,QAAS,QACTC,WAAW,EACXC,cAAe,OACfC,eAAgB,GAChBC,gBAAiB,OACjBC,iBAAkB,IAClBC,eAAgB,OAChBC,gBAAiB,GACjBC,cAAc,EACdC,qBAAsB,IACtBC,kBAAmB,OAEnBzR,QAAS,CACL0R,SAAU,UACVC,WAAY,UACZC,aAAc,UACdC,iBAAkB,UAClBC,YAAa,OACblB,iBAAkB,wBAGtBmB,QAAS,CACLL,SAAU,UACVC,WAAY,UACZC,aAAc,UACdC,iBAAkB,UAClBC,YAAa,OACblB,iBAAkB,uBAGtBoB,QAAS,CACLN,SAAU,UACVC,WAAY,UACZC,aAAc,UACdC,iBAAkB,UAClBC,YAAa,OACblB,iBAAkB,wBAGtBqB,KAAM,CACFP,SAAU,UACVC,WAAY,UACZC,aAAc,UACdC,iBAAkB,UAClBC,YAAa,OACblB,iBAAkB,0BAI1BpW,KAASC,QAAQ6V,KAAK,CAClB4B,SAAU,SACVC,SAAU,QACVR,WAAY,UACZX,WAAW,EACXI,iBAAkB,IAClBb,gBAAiB,UACjB6B,cAAe,UACfC,mBAAoB,UACpBC,kBAAmB,UACnBC,uBAAwB,YAG5BjM,OAAOkM,iBAAiB,UAAW1W,YAAsBC,S,yCAM1C0W,EAAWC,EAAWC,GACjCF,EAAUzQ,UAAUT,cAAgB4L,KAAK/Y,MAAM4N,UAAUT,aAAe4L,KAAK/Y,MAAM4N,UAAUV,wB,wCAQnFzO,EAAOmd,GACrB7C,KAAKkB,SAAS,CACVxb,MAAOA,EACPmd,UAAWA,M,+BAKf,OAAI7C,KAAKxV,MAAMqY,UAEP,yBAAKnb,UAAU,QAAQ+d,MAAO,CAAE,QAAW,SACvC,yBAAK3T,IAAKC,EAAQ,KAA2B0T,MAAO,CAAE,SAAY,QAAS,UAAa,UAAW,WAAc,OAAQ,YAAe,UACxI,mFACA,yBAAK/d,UAAU,UACVyR,OAAOuM,UAAUC,YAO1B,kBAAC,IAAaC,SAAd,CAAuB7nB,MAAOiiB,KAAKxV,OAC/B,kBAACqb,GAAA,EAAD,KAEQ7F,KAAK/Y,MAAM4N,UAAUZ,WACjB,0BAAM9M,KAAK,WAAWlB,QAAQ,mDAC9B,0BAAMkB,KAAK,WAAWlB,QAAQ,4DAG1C,kBAAC,IAAD,CACI6f,OAAQ9F,KAAK/Y,MAAMsO,SAASlB,SAAW2L,KAAK/Y,MAAM4N,UAAUV,sBAC5D4R,SAAO,EACPC,OAAQ,CACJC,QAAS,SAACC,GAAD,sBACFA,EADE,CAELC,OAAQ,QACRpB,SAAU,YAGlBqB,KAAMpG,KAAK/Y,MAAMsO,SAAS1K,UAI1BmV,KAAK/Y,MAAM4N,UAAUV,uBACrB,yBAAKzM,UACD,6BACCsY,KAAKxV,MAAM0X,YAAc,sBAAwB,KACjDlC,KAAKxV,MAAM8W,sBAAwB,4BAA8B,KACjEtB,KAAKxV,MAAMoY,UAAY,cAAgB,KAEvC5C,KAAKxV,MAAMkX,YAAe,kBAAC,EAAD,MAC1B1B,KAAKxV,MAAM2W,aAAgB,kBAAC,GAAD,MAC3BnB,KAAKxV,MAAMwX,YAAe,kBAAC,GAAD,Y,GApSrCjb,IAAM6U,WAiTT6E,gBAJS,SAAAjW,GAAK,sBACtBA,KAKH,CACIsI,eAAgBA,KAChB0D,gBAAiBA,IACjBE,WAAYA,IACZH,cAAeA,KANRkK,CAQbO,ICxSIqF,I,uHAAWtf,IAAMgV,MAAK,kBAAM,oCAC5BuK,GAAcvf,IAAMgV,MAAK,kBAAM,mCAK/BwK,GAAQ,SAAC,GAAkB,IAAhBpP,EAAe,EAAfA,SAEb,OACI,oCACI,kBAAC,IAAMqP,SAAP,CAAgB3K,SAAU,sCAHbnO,OAIU9I,IAAOC,MAAU,kBAACwhB,GAAD,MAJ3B3Y,OAKU9I,IAAOE,SAAY,kBAACwhB,GAAD,MAL7B5Y,OAMU9I,IAAOG,KAAQ,kBAACuhB,GAAD,OAErCnP,IAKbsP,IAASlL,OACL,kBAAC,GAAD,KACI,kBAAC,IAAD,CAAU3M,MAAOA,MACb,kBAAC,IAAD,KACI,kBAAC,GAAD,SAIZgR,SAAS8G,eAAe,U,sOChEf1kB,EAAuB,oBACvB0T,EAA0B,uBAC1BzT,EAAwB,qBAiBxB0kB,EAAuB,SAAChR,GACjC,8CAAO,WAAMpQ,GAAN,SAAAL,EAAA,sDACHK,EAAS,CACLS,KAAM0P,EACNC,aAAcA,IAHf,2CAAP,uDAuBSiR,EAAiB,SAACjgB,GAC3B,8CAAO,WAAMpB,GAAN,SAAAL,EAAA,sDACHK,EAAS,CACLS,KAAM/D,EACN0E,KAAMA,IAHP,2CAAP,yD","file":"static/js/main.16442583.chunk.js","sourcesContent":["import { _SET_CHANGED_PACKAGE, _SET_REQUIRED_REFRESH } from '../redux/PackageAction';\n\n/// \n/// Author : -\n/// API related key or field when making ajax or api call\n/// \nexport class ApiKey {\n static _API_SUCCESS_KEY = \"success\";\n static _API_MESSAGE_KEY = \"message\";\n static _API_DATA_KEY = \"data\";\n static _API_CODE_KEY = \"code\";\n static _API_CONTENT_TYPE = 'Content-Type';\n static _API_ACCEPT = \"Accept\";\n static _API_APPLICATION_JSON = \"application/json\";\n static _API_XML_HTTP_REQUEST_KEY = \"XMLHttpRequest\";\n static _API_FORM_URLENCODED = \"application/x-www-form-urlencoded\";\n static _API_POST = \"POST\";\n static _API_GET = \"GET\";\n\n static _API_INTERNAL_ERROR_CODE = 500;\n static _API_TEMPORARRY_REDIRECT_CODE = 307;\n}\n\n/// \n/// Author : -\n/// Url to communicate to controller\n/// \nexport class ApiUrl {\n static _API_LOGIN = \"/Account/Login\";\n static _API_LOGOUT = \"/Account/Logout\";\n static _API_IS_LOGGED_IN = \"/Account/IsLoggedIn\";\n static _API_GET_ROLE_ACCESS_DATA = \"/Account/GetRoleAccessData\";\n static _API_GET_ROLE_BY_ID = \"/Account/GetRoleById\";\n static _API_GET_FIGHT_LIMIT_RELATED_DATA = \"/Account/GetFightLimitRelatedData\";\n static _API_UPDATE_USER_EAT_LIMIT = \"/Account/UpdateUserEatLimit\";\n static _API_GET_BETTING_AGENTS = \"/Account/GetBettingAgents\";\n static _API_CHANGE_PASSWORD = \"/Account/ChangePassword\";\n static _API_AGREE_TERMS_AND_CONDITIONS = \"/Account/AgreeTermsAndConditions\";\n static _API_GET_COMPANY_DETAIL_BY_SUPERADMIN = \"/Account/GetCompanyDetailBySuperAdmin\";\n\n // Account Management\n static _API_GET_USER_DETAIL_INIT = \"/Account/GetUserDetailInit\";\n static _API_CREATE_OR_UPDATE_ACCOUNT = \"/Account/CreateOrUpdateUser\";\n static _API_CREATE_OR_UPDATE_SUB_ACCOUNT = \"/Account/CreateOrUpdateSubAccount\";\n static _API_GET_USER_ACTIVITY_PERMISSION = \"/Account/GetUserActivityPermission\";\n\n static _API_GET_POOLS_SELECTION = \"/Pools/GetPoolsSelection\";\n static _API_SUBMIT_NEW_DRAW = \"/Pools/SubmitNewDraw\";\n static _API_SCHEDULE_NEXT_YEAR_DRAW = \"/Pools/ScheduleSelectedYearDraw\";\n static _API_GET_SCHEDULED_DRAW_BY_YEAR = \"/Pools/GetScheduledDrawByYear\";\n static _API_SUBMIT_EDITED_DRAW = \"/Pools/SubmitEditedDraw\";\n static _API_GET_PACKAGES = \"/Configuration/GetPackages\";\n static _API_CREATE_OR_UPDATE_PACKAGE = \"/Configuration/CreateOrUpdatePackage\";\n static _API_GET_PACKAGE_DETAIL = \"/Configuration/GetPackageDetail\";\n static _API_CREATE_OR_UPDATE_MASTER_TEMPLATE = \"/Configuration/CreateOrUpdateMasterTemplate\";\n static _API_GET_MASTER_TEMPLATES = \"/Configuration/GetMasterTemplates\";\n static _API_GET_MASTER_TEMPLATE_ITEMS = \"/Configuration/GetMasterTemplateItems\";\n static _API_GET_MASTER_TEMPLATE_ITEM_CATEGORIES = \"/Configuration/GetMasterTemplateItemCategories\";\n static _API_GET_API_LOG = \"/Configuration/GetApiLog\";\n static _API_GET_API_REQUEST_LOG = \"/Configuration/GetApiRequestLog\";\n\n static _API_GET_POOLS_RESULT = \"/Result/GetPoolResult\";\n static _API_SAVE_POOLS_RESULT = \"/Result/SavePoolResult\";\n static _API_BLOCK_REPORT = \"/Result/BlockReport\";\n static _API_GET_REPORT_ACCESS_VALUE = \"/Result/GetReportAccessValue\";\n static _API_UPDATE_CUTOFF_TIME = \"/Pools/UpdateCutoffTime\";\n static _API_VALIDATE_RESULT = \"/Result/ValidateResult\";\n static _API_UPDATE_DRAW_PAYMENT_DETAIL = \"/Result/UpdateDrawPaymentDetail\";\n static _API_UPDATE_CREDIT_RELEASEL = \"/Result/UpdateCreditRelease\";\n static _API_GET_USERS_ROLE = \"/Setting/GetRoles\";\n static _API_GET_ACTIVITIES = \"/Setting/GetActivities\";\n static _API_GET_PERMISSIONS = \"/Setting/GetPermissions\";\n static _API_GET_ROLE_PERMISSION = \"/Setting/GetActivityPermissionSetting\";\n static _API_GET_ROLE_ACTIVITY_PERMISSION = \"/Setting/GetRoleActivityPermission\";\n\n static _API_GET_ANNOUNCEMENT = \"/Configuration/GetAnnouncement\";\n static _API_ADD_CREATE_OR_UPDATE_ANNOUNCEMENT = \"/Configuration/CreateOrUpdateAnnouncement\";\n\n static _API_GET_SYSTEM_SETTING = \"/Configuration/GetSystemSetting\";\n static _API_UPDATE_SYSTEM_SETTING = \"/Configuration/UpdateSystemSetting\";\n static _API_GET_NUMBER_QUEUES = \"/Configuration/GetNumberQueues\";\n static _API_DELETE_NUMBER_QUEUE = \"/Configuration/DeleteNumberQueue\";\n\n static _API_GET_CURRENCY_SETTING = \"/Configuration/GetCurrencySetting\";\n static _API_UPDATE_CURRENCY_SETTING = \"/Configuration/UpdateCurrencySetting\";\n\n static _API_SUBMIT_ASSIGN_ROLES = \"/Setting/AssignRoles\";\n static _API_SUBMIT_CREATE_UPDATE_ROLE = \"/Setting/CreateOrUpdateRole\";\n static _API_GET_PERMUTATION_TYPE = \"/Configuration/GetPermutationType\";\n static _API_GET_RED_NUMBER = \"/Configuration/GetRedNumber\";\n static _API_CREATE_OR_UPDATE_RED_NUMBER = \"/Configuration/CreateOrUpdateRedNumber\";\n static _API_DELETE_RED_NUMBER = \"/Configuration/DeleteRedNumber\";\n\n static _API_GET_POOL_SCHEDULE_BY_TOTAL_DAY = \"/Pools/GetPoolScheduleByDay\";\n static _API_GET_TIP_SOURCE_BY_KEYWORD = \"/Configuration/GetTipSourceByKeyword\";\n\n static _API_PLACE_EXPRESS_ORDER = \"/Bet/PlaceExpressOrder\";\n static _API_PLACE_WEB_ORDER = \"/Bet/PlaceWebOrder\";\n static _API_VOID_TICKET = \"/Bet/VoidTicket\";\n static _API_GET_BET_RECEIPT = \"/Bet/GetBetReceipt\";\n static _API_BULK_VOID_TICKET = \"/Bet/BulkVoidTicket\";\n\n static _API_GET_USER_LISTING = \"/Account/GetUserListing\";\n static _API_UPDATE_USER_CREDIT_LIMIT = \"/Account/UpdateUserCreditLimit\";\n static _API_FIXED_RED_PACKAGE = \"/Account/FixIsRedPackage\";\n static _API_GET_RESERVE_NAME_PREFIX = \"/Account/GetReserveNamePrefix\";\n static _API_ADD_RESERVE_NAME_PREFIX = \"/Account/CreateOrUpdateReserveNamePrefix\";\n static _API_GET_API_ACCOUNT = \"/Account/GetApiAccount\";\n static _API_GENERATE_API_CODE = \"/Account/GenerateApiCode\";\n static _API_ADD_API_ACCOUNT = \"/Account/CreateOrUpdateApiAccount\";\n static _API_CLONE_ACCOUNT = \"/Account/CloneAccount\";\n static _API_GET_SUB_ACCOUNT_LISTING = \"/Account/GetSubAccountListing\";\n static _API_GET_HOUSE_USER_LISTING = \"/Account/GetHouseUsers\";\n\n static _API_GET_PAYMENT_TYPE = \"/Payment/GetPaymentType\";\n static _API_MAKE_PAYMENT = \"/Payment/MakePayment\";\n static _API_GET_PAYMENT_HISTORY = \"/Payment/GetPaymentHistory\";\n\n static _API_INIT_DRAW_PAYMENT = \"/Payment/InitDrawPayment\";\n static _API_SAVE_DRAW_PAYMENT = \"/Payment/SaveDrawPayment\";\n static _API_GET_DRAW_PAYMENT_HISTORY = \"/Payment/GetDrawPaymentHistory\";\n\n static _API_GET_USER_DETAIL_BY_ID = \"/Account/GetUserDetailsById\";\n static _API_GET_USER_DETAIL_BY_USERNAME = \"/Account/GetUserDetailByUsername\";\n static _API_ADMIN_UPDATE_USER_CREDIT_LIMIT = \"/Account/AdminUpdateUserCreditLimit\";\n\n static _API_GET_SALES_SUMMARY = \"/Report/GetSalesSummary\";\n\n static _API_GET_TICKET = \"/Report/GetTicket\";\n static _API_SEND_SMS_RECEIPT = \"/Report/SendSmsReceipt\";\n static _API_GET_MAP_REPORT = \"/Report/GetMapReport\";\n static _API_GET_SELF_PAYOUT_REPORT = \"/Report/GetSelfPayoutReport\";\n static _API_GET_PAYOUT_REPORT = \"/Report/GetPayoutReport\";\n static _API_GET_SALES_STATISTIC = \"/Report/GetSalesStatistic\";\n static _API_GET_PAYOUT_STATISTIC = \"/Report/GetPayoutStatistic\";\n static _API_GET_PAYOUT_TABLE = \"/Report/GetPayoutTable\";\n static _API_GET_STAKE_HOLDER_REPORT = \"/Report/GetStakeHolderReport\";\n static _API_GET_WIN_LOSS_REPORT = \"/Report/GetWinLossReport\";\n static _API_GET_WIN_LOSS_3_SECTION_REPORT = \"/Report/GetWinLoss3SectionsReport\";\n static _API_GET_WINNING_REPORT = \"/Report/GetWinningReport\";\n static _API_GET_USER_EAT_DATA = \"/Report/GetUserEatData\";\n static _API_GET_INIT_REPORT = \"/Report/InitReport\";\n static _API_GET_DETAIL_JACKPOT = \"/Report/GetDetailJackpot\";\n static _API_GET_SMS_COUNT_REPORT = \"/Report/GetSmsCountReport\";\n\n static _API_GET_DIRECT_DOWNLINES = \"/Account/GetDirectDownlines\";\n static _API_GET_TARGET_LINES = \"/Account/GetTargetLines\";\n\n static _API_GET_RECEIPT_STRING = \"/Setting/GetReceiptStringByTicketXId\";\n static _API_UPDATE_RECEIPT_STRING = \"/Setting/UpdateTicketReceiptString\";\n\n static _API_TRIGGER_WINNING_REPORT = \"/Result/InsertWinners\";\n static _API_CLAIM_PRIZES = \"/Payment/ClaimPrizes\";\n static _API_GET_BACKUP_STAGE = \"/Report/GetBackupStage\";\n static _API_PRE_INSERT_BACKUP_STAGE = \"/Setting/PreInsertBackUpStage\";\n static _API_RESETTLE_SEAMLESS_TICKET = \"/Bet/ResettleSeamless\";\n static _API_GET_REMOTE_BET_AGENT = \"/Configuration/GetRemoteBetAgents\";\n static _API_MANAGE_REMOTE_BET_AGENT = \"/Configuration/ManageRemoteBetAgent\";\n static _API_GET_COMM_STATUS = \"/Configuration/GetCommStatus\";\n static _API_GET_AUTO_TICKET = \"/Report/GetAutoTicket\";\n static _API_VOID_AUTO_TICKET = \"/Report/VoidAutoTicket\";\n}\n\n/// \n/// Author : -\n/// Url to navigate to pages\n/// \nexport class WebUrl {\n static _URL_MAIN = \"/\";\n static _URL_LOGIN = \"/login\";\n static _URL_TERMS_AND_CONDITIONS = \"/terms-and-conditions\";\n static _URL_DASHBOARD = \"/dashboard\";\n static _URL_HELP = \"/help\";\n static _URL_ACCOUNT_MANAGEMENT = \"/account/manage\";\n static _URL_ACCOUNT_DETAIL = \"/account/detail\";\n static _URL_SUB_ACCOUNT_DETAIL = \"/sub-account/detail\";\n static _URL_COMPANY_MANAGEMENT = \"/company/manage\";\n static _URL_NUMBER_MEANING = \"/number-meaning\";\n static _URL_POOL_SCHEDULE = \"/admin-setting/pool-schedule\";\n static _URL_MANAGE_PACKAGE = \"/package/manage\";\n static _URL_PACKAGE_DETAIL = \"/package/detail\";\n static _URL_RESULT = \"/result\";\n static _URL_CUTOFF_TIME = \"/adminSetting/cutoff-time\";\n static _URL_ROLES = \"/roles/manage\";\n static _URL_FIGHT_LIMIT = \"/manage-fight-limit\";\n static _URL_ANNOUNCEMENT = \"/admin-setting/annoucenment-setting\";\n static _URL_SYSTEM_SETTING = \"/admin-setting/system-setting\";\n static _URL_CURRENCY = \"/admin-setting/currency\";\n static _URL_RED_NUMBER = \"/admin-setting/rednumber\";\n static _URL_MANAGE_MASTER_TEMPLATE = \"/admin-setting/manage-master-template\";\n static _URL_WEB_ORDER = \"/betting/web-order\";\n static _URL_WEB_ORDER_TWO = \"/betting/web-order2\";\n static _URL_EXPRESS_BETTING = \"/order/express-betting\";\n static _URL_RESERVE_NAME_PREFIX = \"/account/reserve-name\";\n static _URL_CREATE_API_ACCOUNT = \"/account/create-api-account\";\n static _URL_CLONE_ACCOUNT = \"/account/clone-account\";\n static _URL_PAYMENT = \"/payment\";\n static _URL_DRAW_PAYMENT = \"/payment/draw-payment\";\n static _URL_SALES_SUMMARY_REPORT = \"/report/sales-summary\";\n static _URL_MAP_REPORT = \"/report/map-report\";\n static _URL_INBOX = \"/inbox\";\n static _URL_PAYOUT_REPORT = \"/report/payout-report\";\n static _URL_SALES_STATISTIC_REPORT = \"/report/sales-statistic-report\";\n static _URL_PAYOUT_STATISTIC_REPORT = \"/report/payout-statistic-report\";\n static _URL_PAYOUT_TABLE_REPORT = \"/report/payout-table-report\";\n static _URL_STAKE_HOLDER_REPORT = \"/report/stakeholder-report\";\n static _URL_WIN_LOSS_REPORT = \"/report/win-loss-report\";\n static _URL_WIN_LOSS_3_SECTION_REPORT = \"/report/win-loss-2-report\";\n static _URL_WINNING_REPORT = \"/report/winning-report\";\n static _URL_MANAGE_PROFILE = \"/manage-profile\";\n static _URL_WIN_LOSS_DETAIL = \"/winloss-detail\";\n static _URL_JACKPOT_DETAIL = \"/jackpot-detail\";\n static _URL_API_LOG = \"/api-log\";\n static _URL_API_REQUEST_LOG = \"/api-request-log\";\n static _URL_ADMIN_TOOL = \"/admin-tool\";\n static _URL_SELF_WIN_LOSS_DETAIL = \"/self-winloss-detail\";\n static _URL_STRIKE_REPORT = \"/report/strike-report\";\n static _URL_AUTO_TICKET = \"/betting/auto-ticket\";\n}\n\n/// \n/// Author : -\n/// \nexport class Status {\n static _ENABLED = 1;\n static _DISABLED = 0;\n static _DELETED = 2;\n}\n\n/// \n/// Author : CK\n/// this value needed to be tally to value in server, do not change recklessly\n/// \nexport class AccessRight {\n static _DOWNLINE_PERMISSION = \"Downline\";\n static _MAIN_ACCOUNT_PERMISSION = \"Main Account\";\n static _BET_SCHEDULE_PERMISSION = \"Bet Schedule\";\n static _BET_PERMISSION = \"Bet\";\n static _BET_HISTORY_PERMISSION = \"Bet History\";\n static _COMPANY_PERMISSION = \"Company\";\n static _FIGHT_LIMIT_PERMISSION = \"Fight Limit\";\n static _RED_NUMBER_PERMISSION = \"Red Number\";\n static _STAKE_HOLDER_REPORT_PERMISSION = \"Stakeholder Report\";\n static _INBOX_REPORT_PERMISSION = \"Inbox Report\";\n static _PROFIT_LOSS_REPORT_PERMISSION = \"Profit Loss Report\";\n static _DAILY_SALES_REPORT_PERMISSION = \"Daily Sales Report\";\n static _GROUP_SALES_REPORT_PERMISSION = \"Group Sales Report\";\n static _MAP_REPORT_PERMISSION = \"Map Report\";\n static _TOTAL_BET_REPORT_PERMISSION = \"Total Bet Report\";\n static _TOTAL_STAKE_REPORT_PERMISSION = \"Total Stake Report\";\n static _PAYOUT_REPORT_PERMISSION = \"Payout Report\";\n static _WINNING_REPORT_PERMISSION = \"Winning Report\";\n static _GD_WIN_LOSS_REPORT_PERMISSION = \"GD Win Loss Report\";\n static _PAYMENT_REPORT_PERMISSION = \"Payment Report\";\n static _VIEW_PERMISSION = \"1\";\n static _CREATE_PERMISSION = \"2\";\n static _EDIT_PERMISSION = \"3\";\n static _DELETE_PERMISSION = \"4\";\n}\n\n/// \n/// Author : -\n/// \nexport class Language {\n static _CHINESE = \"cn\";\n static _ENGLISH = \"en\";\n static _BAHASA_MELAYU = \"bm\";\n}\n\n/// \n/// Author : -\n/// \nexport class SessionKey {\n static _LANGUAGE = \"language\";\n static _LOGIN_GUID = \"loginGuid\";\n}\n\n/// \n/// Author: -\n/// \nexport class InputValidationKey {\n static _REQUIRED_KEY = \"required\";\n static _MAX_LENGTH_KEY = \"maxLength\";\n static _MIN_LENGTH_KEY = \"minLength\";\n static _MIN_KEY = \"min\";\n static _MAX_KEY = \"max\";\n static _PATTERN = \"pattern\";\n}\n\n/// \n/// Author: -\n/// \nexport class AlertTypes {\n static _DEFAULT = 'default';\n static _INFO = 'info';\n static _SUCCESS = 'success';\n static _WARNING = 'warning';\n static _DANGER = 'danger';\n static _ERROR = 'error';\n static _INPUT = 'input';\n static _CUSTOM = 'custom';\n}\n\n/// \n/// Author: CK\n/// \nexport class ValidationPattern {\n static _emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n static _phoneNumberRegex = /^(\\+?6?01)[0|1|2|3|4|6|7|8|9]\\-*[0-9]{7,8}$/;\n static _numberRegex = /^([1-9]|[1-9][0-9]|[1-9][0-9]*)$/;\n static _decimalRegex = /^[1-9][0-9]*(\\.\\d{1,2})?$|^[0](\\.\\d{1,2})?$/;\n static _digitRegex = /^\\d+$/;\n static _twoDecimalAndLargerThanZero = /^(?!00?\\.00$)\\d{1,2}(?:\\.\\d{1,2})?$/;\n}\n\n/// \n/// Author: CK\n/// \nexport const _SELECT_STATUS_OPTIONS = [\n { value: false, label: \"DISABLED\" },\n { value: true, label: \"ENABLED\" }\n]\n\n/// \n/// Author: CK\n/// \nexport class ReceiptSetting {\n static _NORMAL = 1;\n static _REVERSE = 2;\n}\n\n/// \n/// Author: CK\n/// \nexport class ReceiptFormat {\n static _DEFAULT = { id: 1, label: \"default\" };\n static _4D218 = { id: 2, label: \"218\" };\n static _ABS333 = { id: 3, label: \"ABS333\" };\n}\n\n/// \n/// Author: CK\n/// \nexport const _BOX_IBOX_OPTIONS = [\n { value: \"*/**\", label: \"*/**\" },\n { value: \"**/*\", label: \"**/*\" }\n]\n\n/// \n/// Author: CK\n/// \nexport class Role {\n static _SUPER_ADMIN = 1;\n static _HOUSE = 2;\n static _COMPANY = 3;\n static _MULTILEVEL = 4;\n static _SHAREHOLDER = 5;\n static _ADMIN = 6;\n static _SUPER_SENIOR = 7;\n static _SENIOR = 8;\n static _MASTER = 9;\n static _AGENT = 10;\n static _PLAYER = 11;\n}\n\n/// \n/// Author: Wind\n/// Remark: Do not change, used to map with DB\n/// \nexport class Pool {\n static _MAGNUM = 1;\n static _PMP = 2;\n static _TOTO = 3;\n static _SINGAPORE = 4;\n static _SABAH = 5;\n static _STC = 6;\n static _SARAWAK = 7;\n static _GD = 8;\n}\n\n/// \n/// Author: Nelson\n/// \nexport class PackageType {\n static _NORMAL_PACKAGE = 0;\n static _RED_PACKAGE = 1;\n static _GD_PACKAGE = 2;\n static _NINE_LOTTO_PACKAGE = 3;\n}\n\n/// \n/// Author: Nelson\n/// \nexport class EatMethod {\n static _AMOUNT_BASE = 1;\n static _TOTAL_BASE = 2;\n static _GROUP_BASE = 3;\n}\n\n/// \n/// Author: CK\n/// \nexport class AutoTransferFrequency {\n static _WEEKLY = 0;\n static _DAILY = 1;\n}\n\n/// \n/// Author: CK\n/// \nexport class WeekDay {\n static _SUNDAY = 0;\n static _MONDAY = 1;\n static _TUESDAY = 2;\n static _WEDNESDAY = 3;\n static _THURSDAY = 4;\n static _FRIDAY = 5;\n static _SATURDAY = 6;\n}\n\n/// \n/// Author: Wind\n/// Remark: Do not change, used to map with DB\n/// \nexport class RedNumberType {\n static _NORMAL_RED_NUMBER = 1;\n static _4P = 2;\n static _6P = 3;\n static _12P = 4;\n static _24P = 5;\n}\n\n/// \n/// Author: CK\n/// \nexport const _MASTER_PACKAGE_PARENT_ID = 0;\n\n/// \n/// Author: CK\n/// \nexport class LocalStorageKey {\n static _CHANGED_PACKAGE = \"changedPackage\";\n static _REQUIRED_REFRESH = \"requiredRefresh\";\n static _PENDING_TNC_AGREEMENT = \"pendingTNCAgreement\";\n}\n\n/// \n/// Author: CK\n/// \nexport const _LOCAL_STORAGE_DISPATCH = [\n { key: LocalStorageKey._CHANGED_PACKAGE, dispatchKey: _SET_CHANGED_PACKAGE },\n { key: LocalStorageKey._REQUIRED_REFRESH, dispatchKey: _SET_REQUIRED_REFRESH }\n]\n\n/// \n/// Author: Wind\n/// Remark: Do not change, used to map with DB\n/// \nexport class SettingKey {\n static _AGENT_MAX_DISCOUNT_PERCENTAGE = \"agentMaxDiscountPercentage\";\n static _PAYBACK_COMM_RATE = \"paybackCommissionRate\";\n static _LUCKY_BET_PER_AMOUNT = \"luckyNumberPerBetAmount\";\n static _SCRAPE_RESULT_TIME = \"scrapeResultTime\";\n static _MAX_LINE_BET = \"maxLineBetInUI\";\n static _DAILY_POOL = \"dailyPool\";\n}\n\n/// \n/// Author: Wind\n/// \nexport class EatType {\n static _2D = 'd2';\n static _3D = 'd3';\n static _4D = 'd4';\n static _5D = 'd5';\n static _6D = 'd6';\n}\n\n/// \n/// Author: Wind\n/// \nexport class BetType {\n static _NORMAL = 1;\n static _BOX = 2;\n static _IBOX = 3;\n static _PH = 4;\n static _PB = 5;\n}\n\n/// \n/// Author: Wind\n/// \nexport class PaymentType {\n static _TRANSFER_CREDIT = 1;\n static _RECEIVE_CREDIT = 2;\n}\n\n/// \n/// Author: Wind\n/// \nexport class OrderMethod {\n static _MULTIPY = \"*\";\n static _DIVIDE = \"/\";\n}\n\n/// \n/// Author: YJ\n/// \nexport const _BET_OPTIONS = [\n { value: -1, label: \"ALL\" },\n { value: 0, label: \"NORMAL_BET\" },\n { value: 1, label: \"RED_BET\" }\n]\n\n/// \n/// Author : Wind\n/// \nexport class TicketStatus {\n static _ACTIVE = 0;\n static _PROCESSED = 1;\n static _CANCELLED = 2;\n static _ERROR = 99;\n}\n\n/// \n/// Author: Andrew\n/// \nexport class PrizePlace {\n static _FIRST = \"First\";\n static _SECOND = \"Second\";\n static _THIRD = \"Third\";\n static _FOURTH = \"Fourth\";\n static _FIFTH = \"Fifth\";\n static _SIXTH = \"Sixth\";\n static _STARTER = \"Starter\";\n static _CONSOLATION = \"Consolation\";\n static _COMMISSION = \"Comm\";\n}\n\n/// \n/// Author: CK\n/// Prize category Id mapped to db\n/// \nexport class PrizeCategory {\n static _FIRST = 1;\n static _SECOND = 2;\n static _THIRD = 3;\n static _FOURTH = 4;\n static _FIFTH = 5;\n static _SIXTH = 6;\n static _STARTER = 7;\n static _CONSOLATION = 8;\n}\n\n/// \n/// Author: YJ\n/// \nexport class EatTypeGroupId {\n static _2D = 1;\n static _3D = 2;\n static _4D = 3;\n static _5D = 4;\n static _6D = 5;\n}\n\n/// \n/// Author: CK\n/// \nexport const _SELECT_DEBOUNCE_MS = 50;\n\n/// \n/// Author: A\n/// \nexport class REGION {\n static _SWC = \"SWC\";\n static _REJANG = \"Rejang\";\n static _SY = \"SY\"\n}\n\n/// \n/// Author: Wind\n/// \nexport class RegionId {\n static _SWC = 1;\n static _REJANG = 2;\n}","/// \n/// Author: -\n/// \nimport axios from 'axios';\nimport { ApiKey, AlertTypes } from './Constant.js';\nimport * as AppActions from '../redux/AppAction';\nimport * as AuthActions from '../redux/AuthAction';\nimport Store from '../ApplicationStore';\nimport { showMessage } from './Util';\n\nconst _HTTP_CODE_BAD_REQUEST = 400;\nconst _HTTP_CODE_UNAUTHORIZED = 401;\nconst _HTTP_CODE_FORBIDDEN = 403;\nconst _HTTP_CODE_INTERNAL_SERVER_ERROR = 500;\n\n/// \n/// Author: -\n/// \nasync function interceptRequest(requestConfig) {\n if (requestConfig.headers.skipLoading === undefined ||\n requestConfig.headers.skipLoading === false) {\n Store.dispatch(AppActions.setBusy());\n }\n return requestConfig;\n}\n\n/// \n/// Author: -\n/// \nfunction interceptResponse(response) {\n Store.dispatch(AppActions.setPerformApiCall(response.data[ApiKey._API_SUCCESS_KEY], response.config.url));\n\n if (!response.config?.headers?.skipLoading) {\n Store.dispatch(AppActions.setIdle());\n }\n\n return response.data;\n}\n\n/// \n/// Author: -\n/// \nfunction interceptError(error) {\n var returnData = {};\n\n Store.dispatch(AppActions.setIdle());\n\n if (error.response.status == _HTTP_CODE_UNAUTHORIZED || error.response.status == _HTTP_CODE_FORBIDDEN) {\n if (error.response.status == _HTTP_CODE_UNAUTHORIZED) {\n Store.dispatch(AuthActions.performLogout());\n }\n\n showMessage({\n type: AlertTypes._ERROR,\n content: error.response.status == _HTTP_CODE_UNAUTHORIZED ? \"USER_UNAUTHORIZED\" : \"PERMISSION_DENIED\",\n onConfirm: () => {\n if (error.response.status == _HTTP_CODE_FORBIDDEN) {\n // Store.dispatch({ type: AuthActions._ACTION_FORBIDDEN, value: true });\n }\n }\n });\n\n returnData = {\n \"success\": false,\n \"message\": error.response.status == _HTTP_CODE_UNAUTHORIZED ? \"USER_UNAUTHORIZED\" : \"PERMISSION_DENIED\"\n }\n }\n else if (error.response.status == _HTTP_CODE_BAD_REQUEST || error.response.status == _HTTP_CODE_INTERNAL_SERVER_ERROR) {\n returnData = {\n \"success\": false,\n \"message\": \"INTERNAL_SERVER_ERROR\"\n }\n }\n\n return returnData;\n}\n\nconst ApiEngine = axios.create({\n headers: {\n \"X-Requested-With\": ApiKey._API_XML_HTTP_REQUEST_KEY\n },\n});\n\nApiEngine.interceptors.request.use(\n config => interceptRequest(config),\n error => interceptError(error),\n);\n\nApiEngine.interceptors.response.use(\n response => interceptResponse(response),\n error => interceptError(error),\n);\n\nexport default ApiEngine;","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { getValidationMessage } from \"../../util/Util\";\nimport Select from 'react-select';\n\n/// \n/// Author : CK\n/// \nconst Input = React.forwardRef((props, ref) => {\n const {\n name,\n type,\n placeholder,\n defaultValue,\n patternErrorTxt,\n errors,\n onChange,\n label,\n options = [],\n className,\n disabled,\n value,\n isSearchable = false,\n onInput,\n onFocus,\n onBlur,\n onInnerButtonClick,\n row,\n buttonClassName = '',\n color = 'success',\n buttonText = 'SUBMIT',\n ...restProps\n } = props;\n const { t } = useTranslation();\n const _INPUT_SELECT_TYPE = 'select';\n var _selectOptions = options.map(option => { return { label: t(option.label), value: option.value } });\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (defaultValue !== undefined) {\n if (onChange) {\n onChange(defaultValue == null ? \"\" : defaultValue);\n }\n }\n }, [defaultValue]);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (options.length > 0 && options.find(i => i.value == (value != undefined ? value : defaultValue)) == null) {\n if (onChange) {\n onChange(options[0].value);\n }\n }\n }, [options.length]);\n\n return (\n
\n {label && }\n
\n {\n type == _INPUT_SELECT_TYPE ?\n i.value == (value != undefined ? value : defaultValue))}\n onChange={e => onChange(e.value)}\n isDisabled={disabled} />\n :\n { onFocus && onFocus(e.target.value) }}\n onBlur={(e) => { onBlur && onBlur(e.target.value) }}\n onInput={(e) => { onInput && onInput(e.target.value) }}\n onChange={(e) => { onChange && onChange(e.target.value) }}\n disabled={disabled}\n {...restProps} />\n }\n {\n onInnerButtonClick &&\n \n {t(buttonText)}\n \n }\n {errors && errors[name] &&
{t(getValidationMessage(errors[name], patternErrorTxt))}
}\n
\n
\n );\n});\n\nexport default Input;","import React from 'react';\n\nexport const PageSettings = React.createContext();","import { PhoneNumberType } from 'google-libphonenumber';\nimport { fetch } from 'whatwg-fetch';\nimport { InputValidationKey, AlertTypes, WebUrl, _LOCAL_STORAGE_DISPATCH, PrizeCategory, WeekDay } from './Constant';\nimport Notiflix from \"notiflix\";\nimport i18n from '../localization/i18n';\nimport moment from 'moment';\n\n/// \n/// Author : -\n/// To Check if it is empty or null string\n/// \nexport function stringIsNullOrEmpty(data) {\n return data == null || data == '' || data == undefined || (typeof data == 'string' && !data.trim());\n}\n\n/// \n/// Author : -\n/// Convert array into form that use to post data\n/// \nexport function createFormBody(params) {\n let formBody = [];\n\n for (let property in params) {\n let encodedKey = encodeURIComponent(property);\n let encodedValue = encodeURIComponent(params[property]);\n formBody.push(encodedKey + \"=\" + encodedValue);\n }\n\n formBody = formBody.join(\"&\");\n return formBody;\n}\n\n/// \n/// Author : -\n/// Convert array into form that use to post data\n/// \nexport function createMultiPartFormBody(params) {\n var formBody = new FormData();\n\n for (const [key, value] of Object.entries(params)) {\n formBody.append(key, value);\n }\n\n return formBody;\n}\n\n/// \n/// Author : -\n/// Used to Navigation to certain path\n/// \nexport function navigateTo(history, url, state) {\n if (state !== undefined) {\n history.push({\n pathname: url,\n state: state\n });\n } else {\n history.push(url);\n }\n}\n\n/// \n/// Author : CK\n/// \nexport function navigateBack(history, url = WebUrl._URL_DASHBOARD) {\n if (history.length > 1) {\n history.goBack();\n }\n else {\n history.push(url);\n }\n}\n\n/// \n/// Author : -\n/// \nexport const dataTableFilterCaseInsensitive = (filter, row) => {\n const id = filter.pivotId || filter.id;\n if (row[id] !== null && typeof row[id] === 'string') {\n return (\n row[id] !== undefined ?\n String(row[id].toLowerCase()).startsWith(filter.value.toLowerCase()) : true\n )\n } else {\n return (\n String(row[filter.id]) === filter.value\n )\n }\n}\n\n/// \n/// Author: -\n/// \nexport function getValidationMessage(error, patternErrorTxt = '') {\n var validationMsg = \"\";\n\n switch (error.type) {\n case InputValidationKey._REQUIRED_KEY:\n validationMsg = \"REQUIRED_FIELD\";\n break;\n case InputValidationKey._MAX_LENGTH_KEY:\n validationMsg = \"MAX_LENGTH_EXCEEDED\";\n break;\n case InputValidationKey._MIN_LENGTH_KEY:\n validationMsg = \"MIN_LENGTH_NO_MET\";\n break;\n case InputValidationKey._MIN_KEY:\n validationMsg = \"MIN_ERROR\";\n break;\n case InputValidationKey._MAX_KEY:\n validationMsg = \"MAX_ERROR\";\n break;\n case InputValidationKey._PATTERN:\n validationMsg = !stringIsNullOrEmpty(patternErrorTxt) ? patternErrorTxt : \"INVALID_FORMAT\";\n break;\n default:\n validationMsg = error.message\n break;\n }\n\n return validationMsg;\n}\n\n/// \n/// Author: -\n/// \nexport const capitalize = (string) => {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\n/// \n/// Author: -\n/// \nexport function isObjectEmpty(data) {\n return Object.keys(data).length === 0 || data == undefined;\n}\n\n/// \n/// Author : -\n/// \nexport async function imagePathToFileObject(imagePath) {\n const response = await fetch(imagePath);\n const blob = await response.blob();\n const file = new File([blob], imagePath);\n return file;\n}\n\n/// \n/// Author : -\n/// \nexport function formatNumber(data, decimalPlaces) {\n return data.toLocaleString(undefined, { minimumFractionDigits: decimalPlaces })\n}\n\n/// \n/// Author : -\n/// \nexport function arrayGroupByKey(array, key) {\n return array.reduce((result, currentValue) => {\n (result[currentValue[key]] = result[currentValue[key]] || []).push(\n currentValue\n );\n\n return result;\n }, {});\n};\n\n/// \n/// Author : YJ\n/// \nexport function numberWithCurrencyFormat(value, decimal = 2) {\n let isNegativeVal = false;\n const CURRENCY_DECIMAL = 2;\n\n if (value < 0) {\n value *= -1;\n isNegativeVal = true;\n }\n\n var convertedNumber = parseFloat((Math.round((value + Number.EPSILON) * Math.pow(10, decimal))) / Math.pow(10, decimal)).toFixed(decimal).toString().replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n\n if (decimal > CURRENCY_DECIMAL) {\n let afterDecimalNumber = convertedNumber.split('.');\n let decimalDiff = decimal - CURRENCY_DECIMAL;\n if (afterDecimalNumber.length == 2 && convertedNumber.lastIndexOf('0') == (convertedNumber.length - 1)) {\n let processNumber = afterDecimalNumber[1];\n for (let i = processNumber.length - 1; (i > 0 && decimalDiff > 0); i--) {\n if (processNumber.charAt(i) == '0') {\n processNumber = processNumber.substr(0, i) + processNumber.substr(i + 1);\n }\n else {\n break;\n }\n decimalDiff--;\n }\n convertedNumber = afterDecimalNumber[0] + \".\" + processNumber;\n }\n }\n\n if (isNegativeVal) {\n convertedNumber = '-' + convertedNumber;\n }\n\n return convertedNumber\n}\n\n/// \n/// Author : -\n/// \nexport function ignoreDecimal(e) {\n const _KEYCODE_DECIMAL = 190;\n const _KEYCODE_E = 69;\n let keyCode = e.keyCode;\n\n if (keyCode == _KEYCODE_DECIMAL || keyCode == _KEYCODE_E) {\n e.preventDefault();\n }\n}\n\n/// \n/// Author : -\n/// \nexport function validatePhoneNumber(phone, iso) {\n let validateResult = false;\n\n try {\n const phoneUtil = require('google-libphonenumber').PhoneNumberUtil.getInstance();\n let parsedPhone = phoneUtil.parse(phone, iso);\n validateResult = phoneUtil.isValidNumberForRegion(parsedPhone, iso) && phoneUtil.getNumberType(parsedPhone) == PhoneNumberType.MOBILE;\n }\n catch (error) {\n validateResult = false;\n }\n\n return validateResult;\n}\n\n/// \n/// Author : CK\n/// \nexport function removeUndefinedFromObject(obj) {\n for (let key in obj) {\n if (obj[key] === undefined) {\n delete obj[key]\n }\n }\n\n return obj;\n}\n\n/// \n/// Author: Nelson\n/// Nelson - Able to handle min negative value\n/// \nexport function rangeNumberFormat(value, minValue = 0, maxValue = 99999999) {\n var formattedValue = minValue;\n\n if (isNumeric(value)) {\n value = value.replace(/[^\\d.-]/g, '');\n\n if (!stringIsNullOrEmpty(value)) {\n if (value['length'] != minValue.toString()['length'] && value.substring(0, minValue.toString()['length']) == minValue.toString()) {\n value = value.substring(minValue.toString()['length']);\n }\n\n formattedValue = Math.min(maxValue, Math.max(minValue, parseFloat(value)));\n }\n }\n\n return formattedValue;\n}\n\n/// \n/// Author: Wind\n/// \nexport const showMessage = (alertProps) => {\n if (alertProps.showCancel) {\n Notiflix.Confirm.Show(\n (i18n.t(alertProps.title ?? process.env.REACT_APP_NAME)),\n i18n.t(alertProps.content),\n i18n.t('OK'),\n i18n.t('CANCEL'),\n function () {\n if (alertProps.onConfirm) {\n alertProps.onConfirm()\n }\n },\n function () {\n if (alertProps.onCancel) {\n alertProps.onCancel()\n }\n },\n )\n }\n else if (alertProps.type == AlertTypes._SUCCESS) {\n Notiflix.Report.Success(\n (i18n.t(alertProps.title ?? process.env.REACT_APP_NAME)),\n i18n.t(alertProps.content),\n i18n.t('OK'),\n function () {\n if (alertProps.onConfirm) {\n alertProps.onConfirm()\n }\n },\n )\n }\n else {\n Notiflix.Report.Warning(\n\n (i18n.t(alertProps.title ?? process.env.REACT_APP_NAME)),\n i18n.t(alertProps.content ?? 'Please contact system admin. '),\n i18n.t('OK'),\n function () {\n if (alertProps.onConfirm) {\n alertProps.onConfirm()\n }\n },\n )\n }\n}\n\n/// \n/// Author: Nelson\n/// \nexport function isNumeric(value) {\n return !isNaN(value - parseFloat(value));\n}\n\n/// \n/// Author: CK\n/// \nexport function useQuery(location) {\n return new URLSearchParams(location.search);\n}\n\n/// \n/// Author: CK\n/// \nexport function compareInAscending(a, b, colName) {\n // Use toUpperCase() to ignore character casing\n const nameA = a[colName].toUpperCase();\n const nameB = b[colName].toUpperCase();\n\n let comparison = 0;\n\n if (nameA > nameB) {\n comparison = 1;\n } else if (nameA < nameB) {\n comparison = -1;\n }\n return comparison;\n}\n\n/// \n/// Author: CK\n/// \nexport function createStorageListener(store) {\n return () => {\n _LOCAL_STORAGE_DISPATCH.map(i => {\n let storageItem = localStorage.getItem(i.key);\n if (storageItem != null) {\n store.dispatch({\n type: i.dispatchKey,\n data: JSON.parse(storageItem)\n });\n\n localStorage.removeItem(i.key);\n }\n })\n }\n}\n\n/// \n/// Author: CK\n/// \nexport function getPrizeNameById(id) {\n var prize = \"\";\n\n switch (id) {\n case PrizeCategory._FIRST:\n prize = \"FIRST_PRIZE\";\n break;\n case PrizeCategory._SECOND:\n prize = \"SECOND_PRIZE\";\n break;\n case PrizeCategory._THIRD:\n prize = \"THIRD_PRIZE\";\n break;\n case PrizeCategory._FOURTH:\n prize = \"FOURTH_PRIZE\";\n break;\n case PrizeCategory._FIFTH:\n prize = \"FIFTH_PRIZE\";\n break;\n case PrizeCategory._SIXTH:\n prize = \"SIXTH_PRIZE\";\n break;\n case PrizeCategory._STARTER:\n prize = \"SPECIAL\";\n break;\n case PrizeCategory._CONSOLATION:\n prize = \"CONSOLATION\"\n break;\n default:\n prize = id;\n break;\n }\n\n return prize;\n}\n\n/// \n/// Author: Wind\n/// \nexport function getWeeklyDate() {\n let dateObj = {};\n\n if (moment().days() == WeekDay._SUNDAY) {\n dateObj['startDate'] = moment().day(-6).format(\"YYYY-MM-DD\");\n dateObj['endDate'] = moment().format(\"YYYY-MM-DD\");\n }\n else {\n dateObj['startDate'] = moment().subtract(1, 'week').startOf('week').format(\"YYYY-MM-DD\");\n dateObj['endDate'] = moment().subtract(1, 'week').endOf('week').format(\"YYYY-MM-DD\");\n }\n\n return dateObj\n}\n","import store from \"../ApplicationStore.js\";\nimport { AccessRight, Status } from \"./Constant\";\nimport { stringIsNullOrEmpty, isObjectEmpty } from \"./Util.js\";\n\n//variable here will be long live throughout the process, this is intented\nvar _permissionArrKey = [];\n\n/// \n/// Author : CK\n/// Edited : Wind\n/// \nexport function checkIfPermissionExist(permissionString, permissionAccessLevel, targetDownline = '') {\n var hasPermission = false;\n \n if (_permissionArrKey.length == 0 && store.getState()[\"authState\"][\"userData\"][\"accessString\"] !== undefined) {\n var userPermissionData = store.getState()[\"authState\"][\"userData\"][\"accessString\"].split(\";\");\n var specificPermissionCheck = userPermissionData.find(i => i.includes(permissionString));\n\n if (specificPermissionCheck) {\n var keyValuePermission = specificPermissionCheck.split(\":\");\n var accessLevels = permissionAccessLevel.split(\"\") \n \n if (!stringIsNullOrEmpty(targetDownline) && !isObjectEmpty(store.getState()[\"authState\"][\"userData\"][\"targetLineAccessRight\"])) {\n hasPermission = store.getState()[\"authState\"][\"userData\"][\"targetLineAccessRight\"].hasOwnProperty(targetDownline);\n }\n else {\n hasPermission = accessLevels.some(i => keyValuePermission[1].toString().includes(i));\n }\n }\n }\n\n return hasPermission;\n}\n\n/// \n/// Author : -\n/// this expected to be call on logout so that next login can fetch new data\n/// \nexport function clearPermissionData() {\n _permissionArrKey = [];\n}","import React, { useState, useEffect } from 'react';\nimport { Dropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport { useTranslation } from 'react-i18next';\nimport { SessionKey, Language } from \"../../../util/Constant.js\";\nimport Cookies from 'universal-cookie';\n\n/// \n/// Author: CK\n/// \nconst DropdownLanguage = props => {\n\tconst { t, i18n } = useTranslation();\n\tconst [languageOptionVisibility, setLanguageOptionVisibility] = useState(false);\n\tvar _cookies = new Cookies();\n\tconst _LANGUAGE_OPTION = [\n\t\t{\n\t\t\ttitle: 'English',\n\t\t\tprefix: 'EN',\n\t\t\tvalue: Language._ENGLISH\n\t\t},\n\t\t{\n\t\t\ttitle: \"简体中文\",\n\t\t\tprefix: \"中文\",\n\t\t\tvalue: Language._CHINESE\n\t\t}\n\t];\n\n\tconst _LANGUAGE_MAPPING = {};\n\t_LANGUAGE_MAPPING[Language._ENGLISH] = \"en\";\n\t_LANGUAGE_MAPPING[Language._CHINESE] = \"zh\";\n\t_LANGUAGE_MAPPING[Language._BAHASA_MELAYU] = \"ms\";\n\n\t/// \n\t/// Author: CK\n\t/// \n\tuseEffect(() => {\n\t\tonChangeLanguage((localStorage.getItem(SessionKey._LANGUAGE) ?? Language._ENGLISH));\n\t}, []);\n\n\t/// \n\t/// Author: CK\n\t/// \n\tfunction onChangeLanguage(selectedLanguage) {\n\t\ti18n.changeLanguage(selectedLanguage);\n\t\tlocalStorage.setItem(SessionKey._LANGUAGE, selectedLanguage);\n\t\t_cookies.set(SessionKey._LANGUAGE, _LANGUAGE_MAPPING[selectedLanguage]);\n\t}\n\n\treturn (\n\t\t setLanguageOptionVisibility(!languageOptionVisibility)} className=\"dropdown navbar-languager\" tag=\"li\">\n\t\t\t\n\t\t\t\t\n\t\t\t\t{_LANGUAGE_OPTION.filter(i => i.value == (localStorage.getItem(SessionKey._LANGUAGE) ?? Language._ENGLISH))[0].prefix}\n\t\t\t\n\t\t\t\n\t\t\t\t{\n\t\t\t\t\t_LANGUAGE_OPTION.map((language, index) => {\n\t\t\t\t\t\treturn { onChangeLanguage(language.value) }}>{language.title}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DropdownLanguage;","import { AlertTypes } from '../util/Constant.js';\nimport { showMessage } from '../util/Util';\nimport i18n from '../localization/i18n';\n\nexport const _BUSY = 'busy';\nexport const _IDLE = 'idle';\nexport const _API_CALLED = 'setApiCalled';\n\nexport const _ALERT_TYPES = {\n SET_ALERT: 'SetAlert',\n NONE: 'AlertNone',\n}\n\n/// \n/// Author : -\n/// \nexport const setBusy = (iconEnabled, message) => {\n return async dispatch => {\n dispatch({\n type: _BUSY,\n message: message,\n iconEnabled: iconEnabled\n });\n }\n}\n\n/// \n/// Author : -\n/// this function is to only update user status to logout\n/// \nexport const setIdle = () => {\n return async dispatch => {\n dispatch({\n type: _IDLE\n });\n }\n}\n\n/// \n/// Author : -\n/// \nexport const setPerformApiCall = (status, url) => {\n return async dispatch => {\n dispatch({\n type: _API_CALLED,\n data: { success: status, url: url }\n });\n }\n}\n\n/// \n/// Author: -\n/// \nexport const showResponseMessage = (status, message, translateRequired = true) => {\n return dispatch => {\n var messageToShow = message;\n if (translateRequired) {\n messageToShow = i18n.t(message);\n }\n dispatch(showMessage({ type: (status ? AlertTypes._SUCCESS : AlertTypes._ERROR), content: messageToShow }));\n }\n}\n\n/// \n/// Author: -\n/// \nexport const disposeMessage = () => {\n return dispatch => {\n dispatch({ type: _ALERT_TYPES.NONE });\n }\n}","import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport { Language, SessionKey } from \"../util/Constant\";\n\nimport common_en from \"./en/common.json\";\nimport common_cn from \"./cn/common.json\";\nimport common_bm from \"./bm/common.json\";\n\n/// \n/// Author: CK\n/// \nconst _resources = {};\n_resources[Language._ENGLISH] = { common: common_en };\n_resources[Language._CHINESE] = { common: common_cn };\n_resources[Language._BAHASA_MELAYU] = { common: common_bm };\n\ni18n\n .use(initReactI18next)\n .init({\n defaultNS: \"common\",\n debug: false,\n resources: _resources,\n lng: localStorage.getItem(SessionKey._LANGUAGE) || Language._ENGLISH,\n fallbackLng: [Language._ENGLISH, Language._CHINESE, Language._BAHASA_MELAYU],\n keySeparator: false,\n interpolation: {\n escapeValue: false // react already safes from xss\n }\n });\n\n\nexport default i18n;","import { _LOGIN_SUCCESS, _LOGIN_FAILED, _LOGOUT, _ACTION_FORBIDDEN, _SET_PENDING_TNC } from './AuthAction';\nimport { clearPermissionData } from \"../util/PermissionChecker\"\nimport { SessionKey } from \"../util/Constant\";\n\nconst _INITIAL_STATE = {\n userData: {},\n pendingTNC: false,\n isLoggedIn: false,\n loginMessage: \"\",\n loginStateInitialized: false,\n isForbidden: false\n};\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport default (state = _INITIAL_STATE, action) => {\n switch (action.type) {\n case _LOGIN_SUCCESS:\n sessionStorage.setItem(SessionKey._LOGIN_GUID, action.userData.userId);\n localStorage.setItem(SessionKey._LOGIN_GUID, action.userData.userId);\n\n return {\n ...state,\n userData: action.userData,\n isLoggedIn: true,\n loginMessage: \"\",\n loginStateInitialized: true\n }\n break;\n case _LOGIN_FAILED:\n return {\n loginMessage: action.message,\n isLoggedIn: false,\n userData: {},\n loginStateInitialized: true\n }\n break;\n case _LOGOUT:\n clearPermissionData();\n return {\n userData: {},\n isLoggedIn: false,\n loginMessage: \"\",\n loginStateInitialized: true,\n creditLimit: 0\n };\n break;\n case _ACTION_FORBIDDEN:\n return {\n ...state,\n isForbidden: action.value\n };\n break;\n case _SET_PENDING_TNC:\n return {\n ...state,\n pendingTNC: action.status\n };\n break;\n default:\n return state;\n break;\n }\n};\n","import { _IDLE, _BUSY, _ALERT_TYPES, _API_CALLED } from './AppAction';\nimport { stringIsNullOrEmpty } from '../util/Util'\n\nconst _INITIAL_STATE = {\n isBusy: false,\n message: \"Loading...\",\n alert: {},\n iconEnabled: true,\n apiCalledResponse: {}\n};\n\nvar _busyCount = 0;\n\n/// \n/// Author : CK\n/// \nexport default (state = _INITIAL_STATE, action) => {\n switch (action.type) {\n case _BUSY:\n _busyCount++;\n return {\n ...state,\n isBusy: true,\n message: stringIsNullOrEmpty(action.message) ? _INITIAL_STATE.message : action.message,\n iconEnabled: action.iconEnabled == null ? _INITIAL_STATE.iconEnabled : action.iconEnabled,\n }\n break;\n case _IDLE:\n _busyCount = Math.max(--_busyCount, 0);\n return {\n ...state,\n isBusy: (_busyCount != 0),\n }\n break;\n case _ALERT_TYPES.SET_ALERT:\n return {\n ...state,\n alert: Object.keys(state.alert) == 0 ? action.alert : state.alert\n };\n break;\n case _ALERT_TYPES.NONE:\n return {\n ...state,\n alert: {}\n };\n break;\n case _API_CALLED:\n return {\n ...state,\n apiCalledResponse: action.data\n };\n break;\n default:\n return state;\n break;\n }\n};","import { _SET_CHANGED_PACKAGE, _REMOVE_CHANGED_PACKAGE, _SET_REQUIRED_REFRESH } from './PackageAction';\n\nconst _INITIAL_STATE = {\n changedPackages: [],\n requiredRefresh: false\n};\n\n/// \n/// Author : CK\n/// \nexport default (state = _INITIAL_STATE, action) => {\n switch (action.type) {\n case _SET_CHANGED_PACKAGE:\n let updatedChangedPackage = state.changedPackages;\n \n if (updatedChangedPackage.length > 0 && action.data) {\n updatedChangedPackage = updatedChangedPackage.filter(i => !(i['id'] == action.data['id'] && i['targetUserId'] == action.data['targetUserId']));\n }\n\n updatedChangedPackage = [...updatedChangedPackage, action.data];\n\n return {\n ...state,\n changedPackages: updatedChangedPackage\n }\n case _REMOVE_CHANGED_PACKAGE:\n return {\n ...state,\n changedPackages: state.changedPackages.filter(i => i['targetUserId'] != action.targetUserId)\n }\n case _SET_REQUIRED_REFRESH:\n return {\n ...state,\n requiredRefresh: action.data\n }\n default:\n return state;\n }\n};","import { createStore, applyMiddleware, combineReducers } from \"redux\";\nimport authReducer from \"./redux/AuthReducer\";\nimport appReducer from \"./redux/AppReducer\";\nimport packageReducer from \"./redux/PackageReducer\";\nimport thunk from 'redux-thunk';\n\n/// \n/// Author : -\n/// \nconst store = createStore(combineReducers({\n authState: authReducer,\n appState: appReducer,\n packageState: packageReducer\n}), applyMiddleware(thunk));\n\nexport default store;","import { createFormBody, showMessage } from \"../util/Util\";\nimport { ApiKey, ApiUrl, AlertTypes, LocalStorageKey } from \"../util/Constant\";\nimport { setBusy, setIdle } from \"./AppAction\";\nimport { fetch } from 'whatwg-fetch';\n\nexport const _LOGIN_SUCCESS = 'LoginSuccess';\nexport const _LOGIN_FAILED = 'LoginFailed';\nexport const _LOGOUT = 'Logout';\nexport const _SET_PENDING_TNC = 'SetPendingTNC';\nexport const _ACTION_FORBIDDEN = 'ActionForbidden';\n\n/// \n/// Author : -\n/// expose login action as function to be called from classes\n/// \nexport function performLogin(username, password) {\n return async dispatch => {\n dispatch({\n type: _LOGOUT\n });\n\n let params = {\n \"username\": username,\n \"password\": password,\n };\n\n let formBody = createFormBody(params);\n dispatch(setBusy());\n const response = await fetch(ApiUrl._API_LOGIN, {\n method: ApiKey._API_POST,\n headers: {\n 'Content-Type': ApiKey._API_FORM_URLENCODED,\n \"X-Requested-With\": ApiKey._API_XML_HTTP_REQUEST_KEY\n },\n body: formBody\n });\n\n const responseJson = await response.json();\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n var userData = responseJson[ApiKey._API_DATA_KEY];\n\n if (!userData.skipTNC) {\n localStorage.setItem(LocalStorageKey._PENDING_TNC_AGREEMENT, true);\n dispatch(setPendingTNC(true));\n }\n\n dispatch({\n type: _LOGIN_SUCCESS,\n userData: userData,\n });\n }\n else {\n dispatch({\n type: _LOGIN_FAILED,\n message: responseJson[ApiKey._API_MESSAGE_KEY],\n });\n showMessage({ type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR, content: responseJson[ApiKey._API_MESSAGE_KEY] });\n }\n dispatch(setIdle());\n }\n}\n\n/// \n/// Author : -\n/// this function is to only update user status to login if it is already considered authenticated in cookie\n/// \nexport const updateLoginUser = (userData) => {\n return {\n type: _LOGIN_SUCCESS,\n userData: userData,\n }\n}\n\n/// \n/// Author : -\n/// expose logout action as function to be called from classes\n/// \nexport const performLogout = () => {\n return async dispatch => {\n const response = await fetch(ApiUrl._API_LOGOUT, {\n method: ApiKey._API_POST,\n headers: {\n 'Content-Type': ApiKey._API_FORM_URLENCODED,\n \"X-Requested-With\": ApiKey._API_XML_HTTP_REQUEST_KEY\n }\n });\n\n await response.json();\n\n dispatch({\n type: _LOGOUT\n });\n }\n}\n\n/// \n/// Author : -\n/// this function is to only update user status to logout\n/// \nexport const resetLogin = () => {\n return async dispatch => {\n dispatch({\n type: _LOGOUT\n });\n }\n}\n\n/// \n/// Author : CK\n/// \nexport const setPendingTNC = (status) => {\n if (!status) {\n localStorage.removeItem(LocalStorageKey._PENDING_TNC_AGREEMENT);\n }\n\n return async dispatch => {\n dispatch({\n type: _SET_PENDING_TNC,\n status: status\n });\n }\n}","module.exports = __webpack_public_path__ + \"static/media/language-earth.f40369ef.svg\";","module.exports = __webpack_public_path__ + \"static/media/logo.4195b3fd.svg\";","module.exports = __webpack_public_path__ + \"static/media/user.3ddde79b.svg\";","module.exports = __webpack_public_path__ + \"static/media/logout-off.97ca02f0.svg\";","module.exports = \"data:image/png;base64,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\"","import { WebUrl, AccessRight, Role, TemporaryDisableFor } from \"../../util/Constant\";\n\n/// \n/// Author : CK\n/// \nconst Menu = [\n {\n path: WebUrl._URL_DASHBOARD, title: 'HOME', isDummy: false,\n },\n {\n path: WebUrl._URL_ACCOUNT_MANAGEMENT, title: 'ACCOUNT', isDummy: false, permission: { activity: AccessRight._DOWNLINE_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] }\n },\n {\n title: 'BETTING', isDummy: true, permission: { activity: AccessRight._BET_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n children: [\n { path: WebUrl._URL_WEB_ORDER, title: 'WEB_ORDER' },\n { path: WebUrl._URL_WEB_ORDER_TWO, title: 'WEB_ORDER' + '(2)' },\n { path: WebUrl._URL_EXPRESS_BETTING, title: 'EXPRESS_BETTING' },\n { path: WebUrl._URL_AUTO_TICKET, title: 'AUTO_TICKET' }\n ]\n },\n {\n path: WebUrl._URL_INBOX, title: 'CHECK_RECEIPT', isDummy: false, permission: { activity: AccessRight._INBOX_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] }\n },\n {\n title: 'PAYMENT', isDummy: true, permission: { activity: AccessRight._PAYMENT_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n children: [\n { path: WebUrl._URL_PAYMENT, title: 'PAYMENT' },\n {\n path: WebUrl._URL_DRAW_PAYMENT, title: 'DRAW_PAYMENT',\n role: [Role._HOUSE, Role._MULTILEVEL, Role._AGENT, Role._SUPER_SENIOR, Role._SENIOR, Role._MASTER, Role._COMPANY, Role._SHAREHOLDER],\n }\n ]\n },\n {\n title: 'REPORTS', isDummy: true,\n children: [\n { path: WebUrl._URL_STAKE_HOLDER_REPORT, title: 'STAKEHOLDER_REPORT', permission: { activity: AccessRight._STAKE_HOLDER_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_WIN_LOSS_REPORT, title: 'WINLOSS_REPORT', permission: { activity: AccessRight._PROFIT_LOSS_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_WIN_LOSS_3_SECTION_REPORT, title: 'WINLOSS_REPORT_2', permission: { activity: AccessRight._PROFIT_LOSS_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_SALES_STATISTIC_REPORT, title: 'SALES_STATISTIC_REPORT', permission: { activity: AccessRight._GROUP_SALES_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_SALES_SUMMARY_REPORT, title: 'SALES_SUMMARY_REPORT', permission: { activity: AccessRight._DAILY_SALES_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_PAYOUT_REPORT, title: 'PAYOUT_REPORT', permission: { activity: AccessRight._PAYOUT_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_PAYOUT_STATISTIC_REPORT, title: 'PAYOUT_STATISTIC_REPORT', permission: { activity: AccessRight._PAYOUT_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_PAYOUT_TABLE_REPORT, title: 'PAYOUT_TABLE_REPORT', permission: { activity: AccessRight._PAYOUT_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_MAP_REPORT, title: 'MAP_REPORT', permission: { activity: AccessRight._MAP_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_WINNING_REPORT, title: 'WINNING_REPORT', permission: { activity: AccessRight._WINNING_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_STRIKE_REPORT, title: 'STRIKE_REPORT', permission: { activity: AccessRight._WINNING_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] } },\n { path: WebUrl._URL_NUMBER_MEANING, title: 'NUMBER_MEANING', isDummy: false }\n ]\n },\n {\n title: 'PACKAGE_LIST', path: WebUrl._URL_MANAGE_PACKAGE, role: [Role._HOUSE, Role._MULTILEVEL, Role._SHAREHOLDER, Role._ADMIN, Role._SUPER_SENIOR, Role._SENIOR, Role._MASTER, Role._AGENT]\n },\n {\n title: 'RESULTS', path: WebUrl._URL_RESULT, role: [Role._SUPER_ADMIN, Role._COMPANY], permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] }\n },\n {\n title: 'ADMIN_SETTINGS', isDummy: true, role: [Role._SUPER_ADMIN], permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n children: [\n { path: WebUrl._URL_COMPANY_MANAGEMENT, title: 'MANAGE_COMPANY', permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] }, state: { roleId: Role._COMPANY } },\n { path: WebUrl._URL_POOL_SCHEDULE, title: 'DRAW_DATE' },\n { path: WebUrl._URL_CURRENCY, title: 'CURRENCY' },\n { path: WebUrl._URL_CUTOFF_TIME, title: 'CUTOFF_TIME' },\n { path: WebUrl._URL_MANAGE_MASTER_TEMPLATE, title: 'TEMPLATE' },\n { path: WebUrl._URL_MANAGE_PACKAGE, title: 'MASTER_PACKAGES' },\n { path: WebUrl._URL_ROLES, title: 'ROLES_PERMISSION_SETTING' },\n { path: WebUrl._URL_ANNOUNCEMENT, title: 'ANNOUNCEMENT' },\n { path: WebUrl._URL_SYSTEM_SETTING, title: 'SYSTEM_SETTING' },\n { path: WebUrl._URL_API_LOG, title: 'API_LOG' },\n { path: WebUrl._URL_API_REQUEST_LOG, title: 'API_REQUEST_LOG' },\n { path: WebUrl._URL_ADMIN_TOOL, title: 'ADMIN_TOOL' }\n ]\n },\n {\n path: WebUrl._URL_HELP, title: 'HELP', isDummy: false\n }\n]\n\nexport default Menu;\n","import React, { useEffect, useState } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { ApiKey, ApiUrl, Pool, InputValidationKey, AlertTypes, Status, SettingKey, EatType, BetType, Role } from \"../../util/Constant\";\nimport { useTranslation } from 'react-i18next';\nimport { showMessage, numberWithCurrencyFormat, isObjectEmpty } from \"../../util/Util\";\nimport ApiEngine from \"../../util/ApiEngine\";\nimport ClipLoader from \"react-spinners/ClipLoader\";\n\n/// \n/// Author : CK\n/// \nconst CreditLimit = props => {\n const { t } = useTranslation();\n const _userData = useSelector(state => state.authState.userData);\n const [userInfo, setUserInfo] = useState();\n const [isLoading, setIsLoading] = useState(false);\n\n /// \n /// Author: CK\n /// \n useEffect(() => {\n if (!isObjectEmpty(_userData)) {\n getUserInfo(_userData.userId);\n }\n }, []);\n\n /// \n /// Author: CK\n /// \n async function getUserInfo(userId) {\n setIsLoading(true);\n var responseJson = await ApiEngine.get(ApiUrl._API_GET_USER_DETAIL_BY_ID + \"?&userId=\" + userId, { headers: { \"skipLoading\": true } });\n\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setUserInfo(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n showMessage({\n type: AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY])\n });\n }\n\n setIsLoading(false);\n }\n\n return (\n
\n
\n

\n {userInfo && userInfo.agent ?\n `${numberWithCurrencyFormat(userInfo.agent.creditLeft)} / ${numberWithCurrencyFormat(userInfo.agent.creditLimit)}`\n : `0.00 / 0.00`\n } \n

\n

{t(\"CREDIT_BALANCE\").toUpperCase()} / {t(\"LIMIT\").toUpperCase()}

\n
\n {\n _userData && !isLoading ?\n \n :
\n }\n
\n );\n}\n\nexport default CreditLimit;","import React, { useEffect, useState } from 'react';\nimport { NavLink, useHistory } from 'react-router-dom';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { stringIsNullOrEmpty, showMessage, navigateTo } from '../../util/Util'\nimport { AccessRight, WebUrl, ApiKey, ApiUrl, AlertTypes, ValidationPattern, Role } from \"../../util/Constant\";\nimport ApiEngine from '../../util/ApiEngine.js';\nimport { useTranslation } from 'react-i18next';\nimport Menus from '../top-menu/menu.jsx';\nimport { performLogout } from '../../redux/AuthAction';\nimport CreditLimit from '../custom/CreditLimit';\nimport DropdownLanguage from './dropdown/language.jsx';\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport { useForm, Controller } from 'react-hook-form';\nimport Input from '../../components/custom/Input';\nimport { Link } from 'react-router-dom';\n\n/// \n/// Author : CK\n/// \nconst Header = props => {\n const { t } = useTranslation();\n const _userData = useSelector(state => state.authState.userData);\n const [filteredMenu, setFilteredMenu] = useState([]);\n const [filteredProfileMenu, setFilteredProfileMenu] = useState([]);\n const [showChangePasswordModal, setShowChangePasswordModal] = useState(false);\n const { register, handleSubmit, watch, setValue, control, errors } = useForm();\n const ProfileMenu = [\n { path: WebUrl._URL_MANAGE_PROFILE, title: 'MANAGE_PROFILE', mainAccountOnly: true },\n {\n title: 'EDIT_FIGHT_LIMIT', onClick: () => { navigateTo(_history, `${WebUrl._URL_FIGHT_LIMIT}?user=${_userData.userId}&name=${_userData.username}`); },\n onClick: () => {\n var width = 1000;\n var height = 800;\n var left = (window.screen.width / 2) - (width / 2);\n var top = (window.screen.height / 2) - (height / 2);\n\n window.open(`${WebUrl._URL_FIGHT_LIMIT}?user=${_userData.userId}&name=${_userData.username}`, `Fight Limit`, `directories=no,location=no,width=${width},height=${height},left=${left},top=${top}`);\n },\n mainAccountOnly: true, role: [Role._HOUSE, Role._MULTILEVEL, Role._AGENT, Role._SUPER_SENIOR, Role._SENIOR, Role._MASTER, Role._COMPANY, Role._SHAREHOLDER, Role._ADMIN],\n permission: { activity: AccessRight._FIGHT_LIMIT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] }\n },\n {\n title: 'RED_NUMBER_EXCEPTION', onClick: () => { navigateTo(_history, `${WebUrl._URL_RED_NUMBER}?userId=${_userData.userId}&username=${_userData.username}`); },\n onClick: () => {\n var width = 1000;\n var height = 800;\n var left = (window.screen.width / 2) - (width / 2);\n var top = (window.screen.height / 2) - (height / 2);\n\n window.open(`${WebUrl._URL_RED_NUMBER}?userId=${_userData.userId}&username=${_userData.username}`, '_blank');\n },\n mainAccountOnly: true, role: [Role._HOUSE, Role._MULTILEVEL, Role._AGENT, Role._SUPER_SENIOR, Role._SENIOR, Role._MASTER, Role._COMPANY, Role._SHAREHOLDER, Role._ADMIN],\n permission: { activity: AccessRight._RED_NUMBER_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] }\n },\n {\n path: WebUrl._URL_PACKAGE_DETAIL, title: 'RED_PACKAGE_SETTINGS',\n mainAccountOnly: true, role: [Role._HOUSE, Role._MULTILEVEL, Role._AGENT, Role._SUPER_SENIOR, Role._SENIOR, Role._MASTER, Role._COMPANY, Role._SHAREHOLDER, Role._ADMIN],\n state: { isRedPackage: true }\n },\n { title: 'CHANGE_PASSWORD', onClick: () => { setShowChangePasswordModal(true); } },\n ]\n var _dispatch = useDispatch();\n var _history = useHistory();\n\n /// \n /// Author : CK\n /// \n useEffect(() => {\n if (!stringIsNullOrEmpty(_userData.accessString)) {\n filterMenuByPermission();\n filterProfileMenuByPermission();\n }\n }, [_userData])\n\n /// \n /// Author : CK\n /// \n const filterMenuByPermission = () => {\n var menuToUse = JSON.parse(JSON.stringify(Menus));\n var userPermissionData = _userData.accessString.split(\";\");\n var permissionArrKey = [];\n\n for (var i = 0; i < userPermissionData.length; i++) {\n var keyValuePermission = userPermissionData[i].split(\":\");\n\n if (keyValuePermission.length == 2) {\n var accessLevel = keyValuePermission[1].toString();\n\n if (accessLevel.includes(AccessRight._VIEW_PERMISSION)) {\n permissionArrKey.push({ activity: keyValuePermission[0], accessLevel: accessLevel.split(\"\") });\n }\n }\n }\n\n //first filter away non use children\n for (var i = 0; i < menuToUse.length; i++) {\n if (menuToUse[i].children) {\n menuToUse[i].children = menuToUse[i].children.filter(item => {\n let permission = item['permission'];\n let role = item['role'];\n let hasPermission = true;\n\n if (permission !== undefined) {\n hasPermission = permissionArrKey.some(i => i.activity == permission.activity && i.accessLevel.some(i => permission.accessLevel.includes(i)));\n }\n\n if (hasPermission && role !== undefined) {\n hasPermission = role.some(i => i == _userData.userRoleId);\n }\n\n return hasPermission;\n });\n }\n }\n\n //secondly filter away parent\n menuToUse = menuToUse.filter(item => {\n if ((!item.children || item.children.length == 0) && item.isDummy) {\n return false;\n }\n\n let permission = item.permission;\n let role = item.role;\n\n let hasPermission = true;\n\n if (permission !== undefined) {\n hasPermission = permissionArrKey.some(i => i.activity == permission.activity && i.accessLevel.some(i => permission.accessLevel.includes(i)));\n }\n\n if (hasPermission && role !== undefined) {\n hasPermission = role.some(i => i == _userData.userRoleId);\n }\n\n return hasPermission;\n });\n\n setFilteredMenu(menuToUse);\n }\n\n /// \n /// Author : CK\n /// \n function renderChildMenu(children, parentIndex) {\n return (\n children !== undefined &&\n <>\n \n
\n {\n children.map((childMenu, index) => (\n childMenu.isDummy ?\n :\n \n \n {`${parentIndex}.${index + 1}`}\n {t(childMenu.title)}\n \n \n ))\n }\n
\n \n )\n }\n\n /// \n /// Author : CK\n /// \n const filterProfileMenuByPermission = () => {\n var menuToUse = ProfileMenu;\n var userPermissionData = _userData.accessString.split(\";\");\n var permissionArrKey = [];\n\n for (var i = 0; i < userPermissionData.length; i++) {\n var keyValuePermission = userPermissionData[i].split(\":\");\n\n if (keyValuePermission.length == 2) {\n var accessLevel = keyValuePermission[1].toString();\n\n if (accessLevel.includes(AccessRight._VIEW_PERMISSION)) {\n permissionArrKey.push({ activity: keyValuePermission[0], accessLevel: accessLevel.split(\"\") });\n }\n }\n }\n\n menuToUse = menuToUse.filter(item => {\n if ((!item.children || item.children.length == 0) && item.isDummy) {\n return false;\n }\n\n let permission = item.permission;\n let role = item.role;\n let mainAccountOnly = item.mainAccountOnly;\n let hasPermission = true;\n\n if (permission !== undefined) {\n hasPermission = permissionArrKey.some(i => i.activity == permission.activity && i.accessLevel.some(i => permission.accessLevel.includes(i)));\n }\n\n if (hasPermission && role !== undefined) {\n hasPermission = role.some(i => i == _userData.userRoleId);\n }\n\n if (hasPermission && mainAccountOnly !== undefined && mainAccountOnly) {\n hasPermission = stringIsNullOrEmpty(_userData.mainAccount);\n }\n\n return hasPermission;\n });\n\n setFilteredProfileMenu(menuToUse);\n }\n\n /// \n /// Author : CK\n /// \n function logoutHandler() {\n showMessage({\n type: AlertTypes._WARNING,\n content: t(\"PROCEED_LOGOUT_ALERT\"),\n showCancel: true,\n confirmBtnText: t(\"LOGOUT\"),\n onConfirm: () => {\n _dispatch(performLogout());\n }\n });\n }\n\n /// \n /// Author: CK\n /// \n const onChangePassword = async (data, e) => {\n if (data.password != data.confirmPassword) {\n showMessage({ type: AlertTypes._ERROR, content: t(\"CONFIRM_PASSWORD_AND_PASSWORD_IS_NOT_TALLY\") });\n return;\n }\n\n var responseJson = await ApiEngine.post(`${ApiUrl._API_CHANGE_PASSWORD}?newPassword=${data.password}&oldPassword=${data.oldPassword}`);\n\n showMessage({\n type: responseJson[ApiKey._API_SUCCESS_KEY] ? AlertTypes._SUCCESS : AlertTypes._ERROR,\n content: t(responseJson[ApiKey._API_MESSAGE_KEY]),\n onConfirm: () => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n setShowChangePasswordModal(false);\n }\n }\n });\n }\n\n return (\n <>\n
\n
\n
\n \n
\n
\n
    \n {\n filteredMenu.map((menu, parentIndex) => {\n const index = parentIndex + 1;\n\n return (_userData.userId != menu.temporaryDisableFor && < li key={index} >\n {\n menu.isDummy ?\n
    \n {index}.\n {t(menu.title)}\n {\n renderChildMenu(menu.children, index)\n }\n
    :\n \n {index}.\n {t(menu.title)}\n {\n renderChildMenu(menu.children, index)\n }\n \n }\n \n )\n })\n }\n
\n
\n
\n
\n
    \n
  • \n
    \n \n
    {_userData?.username}
    \n \n
    \n {\n filteredProfileMenu.map((menu, index) =>\n <>\n {\n !menu.path ?\n
    {\n if (menu.onClick) {\n menu.onClick();\n }\n }}>{t(menu.title)}
    :\n \n {t(menu.title)}\n \n }\n \n )\n }\n
    \n
    \n
  • \n
\n \n
\n
\n \n \n
\n
\n \n
\n \n

{t('CHANGE_PASSWORD')}

\n
\n \n
\n
\n (\n {\n onChange(value);\n }}\n label={`${t(\"OLD_PASSWORD\")}*`}\n placeholder={`${t(\"OLD_PASSWORD\")}`}\n type=\"password\"\n patternErrorTxt={\"INPUT_DIGIT_ONLY\"}\n errors={errors}\n />\n )}\n rules={{ required: true }}\n />\n
\n
\n
\n
\n (\n {\n onChange(value);\n }}\n label={`${t(\"PASSWORD\")}*`}\n placeholder={`${t(\"PASSWORD\")}`}\n type=\"password\"\n errors={errors}\n />\n )}\n rules={{ required: true }}\n />\n
\n
\n
\n
\n (\n {\n onChange(value);\n }}\n label={`${t(\"CONFIRM_PASSWORD\")}*`}\n placeholder={`${t(\"CONFIRM_PASSWORD\")}`}\n type=\"password\"\n errors={errors}\n />\n )}\n rules={{ required: true }}\n />\n
\n
\n
\n \n \n \n \n
\n
\n \n )\n}\n\nexport default Header;\n","import React, { lazy, Suspense } from 'react';\nimport { Redirect } from 'react-router';\nimport { WebUrl, AccessRight, Role } from \"../util/Constant\";\nimport LoadingOverlay from 'react-loading-overlay';\nimport i18n from '../localization/i18n';\nimport HashLoader from \"react-spinners/HashLoader\";\n\n/// \n/// Author : CK\n/// \nexport const load = (Component: any) => (props: any) => (\n }>\n \n \n)\n\nconst Login = load(lazy(() => import('./../pages/Login')));\nconst TermsAndConditions = load(lazy(() => import('./../pages/TermsAndConditions')));\nconst Dashboard = load(lazy(() => import('./../pages/Dashboard')));\nconst Help = load(lazy(() => import('./../pages/Help')));\nconst ManageAccount = load(lazy(() => import('./../pages/account/ManageAccount')));\nconst AccountDetail = load(lazy(() => import('./../pages/account/AccountDetail')));\nconst ManageFightLimit = load(lazy(() => import('./../pages/account/ManageFightLimit')));\nconst ReserveNamePrefix = load(lazy(() => import('./../pages/account/ReserveNamePrefix')));\nconst CreateApiAccount = load(lazy(() => import('./../pages/account/CreateApiAccount')));\nconst SubAccountDetail = load(lazy(() => import('./../pages/account/SubAccountDetail')));\n\n// Admin Settings\nconst PoolSchedule = load(lazy(() => import('./../pages/admin/PoolSchedule')));\nconst ManagePackage = load(lazy(() => import('./../pages/package/ManagePackage')));\nconst PackageDetail = load(lazy(() => import('./../pages/package/PackageDetail')));\nconst Results = load(lazy(() => import('./../pages/admin/Results')));\nconst CutoffTime = load(lazy(() => import('./../pages/admin/CutoffTime')));\nconst ManageRoles = load(lazy(() => import('../pages/roles/ManageRoles')));\nconst Announcement = load(lazy(() => import('../pages/admin/Announcement')));\nconst SystemSetting = load(lazy(() => import('../pages/admin/SystemSetting')));\nconst Currency = load(lazy(() => import('../pages/admin/Currency')));\nconst RedNumber = load(lazy(() => import('../pages/admin/RedNumber')));\nconst ManageMasterTemplate = load(lazy(() => import('../pages/admin/ManageMasterTemplate')));\nconst WebOrder = load(lazy(() => import('../pages/betting/WebOrder')));\nconst ApiLog = load(lazy(() => import('../pages/admin/ManageApiLog')));\nconst ApiRequestLog = load(lazy(() => import('../pages/admin/ManageApiRequestLog')));\nconst AdminTool = load(lazy(() => import('../pages/admin/AdminTool')));\n\nconst NumberMeaning = load(lazy(() => import('../pages/tip/NumberMeaning')));\n\nconst ExpressBetting = load(lazy(() => import('../pages/order/ExpressBetting')));\nconst CloneAccount = load(lazy(() => import('./../pages/account/CloneAccount')));\n\nconst Payment = load(lazy(() => import('./../pages/payment/Payment')));\nconst DrawPayment = load(lazy(() => import('./../pages/payment/DrawPayment')));\nconst AutoTicket = load(lazy(() => import('../pages/betting/AutoTicket')));\n\n// report\nconst SalesSummaryReport = load(lazy(() => import('./../pages/report/SalesSummaryReport')));\nconst MapReport = load(lazy(() => import('./../pages/report/MapReport')));\nconst SalesStatisticReport = load(lazy(() => import('./../pages/report/SalesStatisticReport')));\nconst StakeHolderReport = load(lazy(() => import('./../pages/report/StakeHolderReport')));\nconst WinLoss3SectionReport = load(lazy(() => import('./../pages/report/WinLoss3SectionReport')));\nconst PayoutStatisticReport = load(lazy(() => import('./../pages/report/PayoutStatisticReport')));\nconst Inbox = load(lazy(() => import('./../pages/receipt/Inbox')));\nconst PayoutReport = load(lazy(() => import('./../pages/report/PayoutReport')));\nconst PayoutTableReport = load(lazy(() => import('./../pages/report/PayoutTableReport')));\nconst WinLossReport = load(lazy(() => import('./../pages/report/WinLossReport')));\nconst WinningReport = load(lazy(() => import('./../pages/report/WinningReport')));\nconst WinLossDetail = load(lazy(() => import('../components/custom/WinLossDetail')));\nconst JackpotDetail = load(lazy(() => import('../components/custom/JackpotDetail')));\nconst SelfWinLossDetail = load(lazy(() => import('../components/custom/SelfWinLossDetail')));\nconst StrikeReport = load(lazy(() => import('./../pages/report/StrikeReport')));\n\n/// \n/// Author : Yong Sheng Chuan\n/// \nexport const _LOGIN_ROUTE =\n{\n path: WebUrl._URL_MAIN,\n exact: false,\n authRequired: false,\n component: () => \n}\n\nexport const _ROUTES = [\n {\n path: WebUrl._URL_LOGIN,\n exact: true,\n title: 'Login',\n authRequired: false,\n component: () => \n },\n {\n path: WebUrl._URL_TERMS_AND_CONDITIONS,\n exact: true,\n authRequired: true,\n title: 'Terms And Conditions',\n component: () => \n },\n {\n path: WebUrl._URL_MAIN,\n exact: true,\n authRequired: true,\n component: () => \n },\n {\n path: WebUrl._URL_DASHBOARD,\n exact: true,\n authRequired: true,\n title: 'Dashboard',\n component: () => \n },\n {\n path: WebUrl._URL_ACCOUNT_MANAGEMENT,\n exact: true,\n authRequired: true,\n title: 'Account Management',\n permission: { activity: AccessRight._DOWNLINE_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n component: () => \n },\n {\n path: WebUrl._URL_ACCOUNT_DETAIL,\n exact: true,\n authRequired: true,\n title: 'User Detail',\n permission: { activity: AccessRight._DOWNLINE_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION, AccessRight._CREATE_PERMISSION, AccessRight._EDIT_PERMISSION] },\n component: () => \n },\n {\n path: WebUrl._URL_MANAGE_PROFILE,\n exact: true,\n authRequired: true,\n title: 'Manage Profile',\n component: () => \n },\n {\n path: WebUrl._URL_SUB_ACCOUNT_DETAIL,\n exact: true,\n authRequired: true,\n title: 'Sub Account Detail',\n permission: { activity: AccessRight._MAIN_ACCOUNT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION, AccessRight._CREATE_PERMISSION, AccessRight._EDIT_PERMISSION] },\n component: () => \n },\n {\n path: WebUrl._URL_COMPANY_MANAGEMENT,\n exact: true,\n authRequired: true,\n title: 'Company Detail',\n role: [Role._SUPER_ADMIN],\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION, AccessRight._CREATE_PERMISSION, AccessRight._EDIT_PERMISSION] },\n component: () => \n },\n {\n path: WebUrl._URL_MANAGE_PACKAGE,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN, Role._HOUSE, Role._MULTILEVEL, Role._SHAREHOLDER, Role._ADMIN, Role._SUPER_SENIOR, Role._SENIOR, Role._MASTER, Role._AGENT],\n title: 'Manage Package',\n component: () => \n },\n {\n path: WebUrl._URL_PACKAGE_DETAIL,\n exact: true,\n authRequired: true,\n title: 'Package Detail',\n component: () => \n },\n {\n path: WebUrl._URL_POOL_SCHEDULE,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Pool Schedule',\n component: () => \n },\n {\n path: WebUrl._URL_RESULT,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN, Role._COMPANY],\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Results',\n component: () => \n },\n {\n path: WebUrl._URL_CUTOFF_TIME,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: \"Cutoff Time\",\n component: () => \n },\n {\n path: WebUrl._URL_ROLES,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Roles Management',\n component: () => \n },\n {\n path: WebUrl._URL_FIGHT_LIMIT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._FIGHT_LIMIT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Manage Fight Limit',\n component: () => \n },\n {\n path: WebUrl._URL_ANNOUNCEMENT,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Announcement',\n component: () => \n },\n {\n path: WebUrl._URL_SYSTEM_SETTING,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'System Setting',\n component: () => \n },\n {\n path: WebUrl._URL_CURRENCY,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Currency',\n component: () => \n },\n {\n path: WebUrl._URL_RED_NUMBER,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._RED_NUMBER_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Red Number',\n component: () => \n },\n {\n path: WebUrl._URL_MANAGE_MASTER_TEMPLATE,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Master Template',\n component: () => \n },\n {\n path: WebUrl._URL_WEB_ORDER,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._BET_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Web Order',\n component: () => \n },\n {\n path: WebUrl._URL_WEB_ORDER_TWO,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._BET_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Web Order (2)',\n component: () => \n },\n {\n path: WebUrl._URL_NUMBER_MEANING,\n exact: true,\n authRequired: true,\n title: 'Number Meaning',\n component: () => \n },\n {\n path: WebUrl._URL_EXPRESS_BETTING,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._BET_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Express Betting',\n component: () => \n },\n {\n path: WebUrl._URL_RESERVE_NAME_PREFIX,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Reserve Name Prefix',\n component: () => \n },\n {\n path: WebUrl._URL_CREATE_API_ACCOUNT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Create Api Account',\n component: () => \n },\n {\n path: WebUrl._URL_CLONE_ACCOUNT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._COMPANY_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Clone User',\n component: () => \n },\n {\n path: WebUrl._URL_PAYMENT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._PAYMENT_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Payment',\n component: () => \n },\n {\n path: WebUrl._URL_DRAW_PAYMENT,\n exact: true,\n authRequired: true,\n title: 'Draw Payment',\n permission: { activity: AccessRight._PAYMENT_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n role: [Role._HOUSE, Role._MULTILEVEL, Role._AGENT, Role._SUPER_SENIOR, Role._SENIOR, Role._MASTER, Role._COMPANY, Role._SHAREHOLDER],\n component: () => \n },\n {\n path: WebUrl._URL_SALES_SUMMARY_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._DAILY_SALES_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Sales Summary Report',\n component: () => \n },\n {\n path: WebUrl._URL_MAP_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._MAP_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Map Report',\n component: () => \n },\n {\n path: WebUrl._URL_SALES_STATISTIC_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._GROUP_SALES_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Sales Statistic Report',\n component: () => \n },\n {\n path: WebUrl._URL_PAYOUT_STATISTIC_REPORT,\n exact: true,\n authRequired: true,\n title: 'Payout Statistic Report',\n component: () => \n },\n {\n path: WebUrl._URL_INBOX,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._INBOX_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Inbox',\n component: () => \n },\n {\n path: WebUrl._URL_HELP,\n exact: true,\n authRequired: true,\n title: 'Help',\n component: () => \n },\n {\n path: WebUrl._URL_PAYOUT_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._PAYOUT_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Payout Report',\n component: () => \n },\n {\n path: WebUrl._URL_PAYOUT_TABLE_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._PAYOUT_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Payout Table Report',\n component: () => \n },\n {\n path: WebUrl._URL_STAKE_HOLDER_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._STAKE_HOLDER_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Stake Holder Report',\n component: () => \n },\n {\n path: WebUrl._URL_WIN_LOSS_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._PROFIT_LOSS_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Win Loss Report',\n component: () => \n },\n {\n path: WebUrl._URL_WIN_LOSS_3_SECTION_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._PROFIT_LOSS_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Win Loss Report',\n component: () => \n },\n {\n path: WebUrl._URL_WINNING_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._WINNING_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Winning Report',\n component: () => \n },\n {\n path: WebUrl._URL_WIN_LOSS_DETAIL,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._PROFIT_LOSS_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Win Loss Detail',\n component: () => \n },\n {\n path: WebUrl._URL_JACKPOT_DETAIL,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._PROFIT_LOSS_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Jackpot Detail',\n component: () => \n },\n {\n path: WebUrl._URL_API_LOG,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n title: 'Api Log',\n component: () => \n },\n {\n path: WebUrl._URL_API_REQUEST_LOG,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n title: 'Api Request Log',\n component: () => \n },\n {\n path: WebUrl._URL_ADMIN_TOOL,\n exact: true,\n authRequired: true,\n role: [Role._SUPER_ADMIN],\n title: 'Admin Tool',\n component: () => \n },\n {\n path: WebUrl._URL_SELF_WIN_LOSS_DETAIL,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._PROFIT_LOSS_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Self Win Loss Detail',\n component: () => \n },\n {\n path: WebUrl._URL_STRIKE_REPORT,\n exact: true,\n authRequired: true,\n permission: { activity: AccessRight._WINNING_REPORT_PERMISSION, accessLevel: [AccessRight._VIEW_PERMISSION] },\n title: 'Strike Report',\n component: () => \n },\n {\n path: WebUrl._URL_AUTO_TICKET,\n exact: true,\n authRequired: true,\n title: 'Auto Ticket',\n component: () => \n },\n];\n\nexport default _ROUTES;","import React from 'react';\nimport { Route, withRouter } from 'react-router-dom';\nimport { _ROUTES, _LOGIN_ROUTE, _TNC_ROUTE } from './../../config/page-route';\nimport { PageSettings } from './../../config/page-settings.js';\nimport { AccessRight, WebUrl } from \"../../util/Constant\";\nimport { connect } from \"react-redux\";\nimport { Redirect } from 'react-router';\n\n/// \n/// Author: Chris\n/// \nconst compareRoutes = (routePath, path) => {\n const splitRoutePath = routePath.split('/').slice(1);\n const splitPath = path.split('/').slice(1);\n\n splitRoutePath.map((item, index) => {\n if (item.charAt(0) === ':') {\n splitRoutePath.splice(index, 1);\n\n if (splitPath[index] !== undefined) {\n splitPath.splice(index, 1);\n }\n }\n });\n\n return splitRoutePath.join('/') === splitPath.join('/');\n}\n\nconst setTitle = (path, routeArray) => {\n var pageTitle = process.env.REACT_APP_NAME;\n\n for (var i = 0; i < routeArray.length; i++) {\n if (compareRoutes(routeArray[i].path, path)) {\n pageTitle = `${routeArray[i].title} | ` + pageTitle;\n }\n }\n\n document.title = pageTitle;\n}\n\nclass Content extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n routes: _ROUTES\n };\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n PrivateRoute(index, routeData) {\n return (\n \n );\n }\n\n componentDidMount() {\n setTitle(this.props.history.location.pathname, _ROUTES);\n\n if (this.props.authState.pendingTNC) {\n this.props.history.location.pathname = WebUrl._URL_TERMS_AND_CONDITIONS;\n }\n }\n\n componentWillMount() {\n this.props.history.listen(() => {\n setTitle(this.props.history.location.pathname, _ROUTES);\n });\n }\n\n /// \n /// Author : Yong Sheng Chuan\n /// \n filterMenuByPermission() {\n var filteredRoutes = _ROUTES.filter(route => {\n return ((route.role == undefined ||\n route.role.filter(i => i == this.props.authState.userData.userRoleId).length != 0) ||\n (this.props.authState.isLoggedIn == false && route.path == this.props.history.location.pathname)\n );\n });\n\n if (this.props.authState.userData.accessString !== undefined) {\n var userPermissionData = this.props.authState.userData.accessString.split(\";\");\n var permissionArrKey = [];\n\n for (var i = 0; i < userPermissionData.length; i++) {\n var keyValuePermission = userPermissionData[i].split(\":\");\n \n if (keyValuePermission.length == 2) {\n var accessLevel = keyValuePermission[1].toString();\n\n if (accessLevel.includes(AccessRight._VIEW_PERMISSION)) {\n permissionArrKey.push({ activity: keyValuePermission[0], accessLevel: accessLevel.split(\"\") });\n }\n }\n }\n\n filteredRoutes = filteredRoutes.filter(item => {\n let permission = item.permission;\n\n if (permission !== undefined) {\n\t\t\t\t\t\treturn permissionArrKey.some(i => i.activity == permission.activity && i.accessLevel.some(i => permission.accessLevel.includes(i)));\n }\n else {\n return true;\n }\n });\n }\n\n this.state.routes = filteredRoutes;\n }\n \n render() {\n this.filterMenuByPermission();\n\n return (\n \n {({ pageContentFullWidth, pageContentClass, pageContentInverseMode }) => (\n
\n {this.state.routes.map((route, index) => (\n this.PrivateRoute(index, route)\n ))}\n
\n )}\n
\n )\n }\n}\n\nconst mapStateToProps = state => ({\n ...state\n});\n\nexport default connect(\n mapStateToProps,\n null\n)(withRouter(Content));","import React from 'react';\n\nclass Footer extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\t\n\t\tvar date = new Date();\n\t\tthis.state = {\n\t\t\tyear: date.getFullYear()\n\t\t}\n\t}\n\trender() {\n\t\treturn (\n\t\t\t
\n\t\t\t\t© { this.state.year } Color Admin Responsive Admin Template - Sean Ngu All Rights Reserved\n\t\t\t
\n\t\t)\n\t}\n}\n\nexport default Footer;","import React from 'react';\nimport { PageSettings } from './config/page-settings.js';\nimport { Redirect } from 'react-router'\nimport Header from './components/header/header.jsx';\nimport Content from './components/content/content.jsx';\nimport Footer from './components/footer/footer.jsx';\nimport LoadingOverlay from 'react-loading-overlay';\nimport { connect } from \"react-redux\";\nimport { ApiKey, ApiUrl, WebUrl, SessionKey, LocalStorageKey, _LOCAL_STORAGE_DISPATCH } from \"./util/Constant\";\nimport { isObjectEmpty, stringIsNullOrEmpty } from \"./util/Util\";\nimport { disposeMessage } from './redux/AppAction.js';\nimport { updateLoginUser, resetLogin, setPendingTNC } from \"./redux/AuthAction.js\";\nimport { fetch } from 'whatwg-fetch'\nimport Notiflix from \"notiflix\";\nimport { Notify, Report, Confirm, Loading, Block } from \"notiflix\";\nimport { createStorageListener } from './util/Util';\nimport store from \"./ApplicationStore.js\";\nimport { Helmet } from \"react-helmet\";\n\nclass App extends React.Component {\n constructor(props) {\n super(props);\n\n this.handleSetPageContent = (value) => {\n this.setState(state => ({\n pageContent: value\n }));\n }\n this.handleSetPageContentClass = (value) => {\n this.setState(state => ({\n pageContentClass: value\n }));\n }\n this.handleSetPageContentFullHeight = (value) => {\n this.setState(state => ({\n pageContentFullHeight: value\n }));\n }\n this.handleSetPageContentFullWidth = (value) => {\n this.setState(state => ({\n pageContentFullWidth: value\n }));\n }\n this.handleSetPageContentInverseMode = (value) => {\n this.setState(state => ({\n pageContentInverseMode: value\n }));\n }\n\n this.handleSetPageHeader = (value) => {\n this.setState(state => ({\n pageHeader: value\n }));\n }\n this.handleSetPageHeaderMegaMenu = (value) => {\n this.setState(state => ({\n pageHeaderMegaMenu: value\n }));\n }\n this.handleSetPageHeaderLanguageBar = (value) => {\n this.setState(state => ({\n pageHeaderLanguageBar: value\n }));\n }\n\n this.handleSetPageFooter = (value) => {\n this.setState(state => ({\n pageFooter: value\n }));\n }\n this.handleSetPageTopMenu = (value) => {\n this.setState(state => ({\n pageTopMenu: value\n }));\n }\n this.toggleMobileTopMenu = (e) => {\n e.preventDefault();\n this.setState(state => ({\n pageMobileTopMenu: !this.state.pageMobileTopMenu\n }));\n }\n this.handleSetPageBoxedLayout = (value) => {\n if (value === true) {\n document.body.classList.add('boxed-layout');\n } else {\n document.body.classList.remove('boxed-layout');\n }\n }\n this.handleSetBodyWhiteBg = (value) => {\n if (value === true) {\n document.body.classList.add('bg-white');\n } else {\n document.body.classList.remove('bg-white');\n }\n }\n\n this.state = {\n pageHeader: true,\n pageheaderMegaMenu: false,\n pageHeaderLanguageBar: false,\n hasScroll: false,\n handleSetPageHeader: this.handleSetPageHeader,\n handleSetPageHeaderLanguageBar: this.handleSetPageHeaderLanguageBar,\n handleSetPageHeaderMegaMenu: this.handleSetPageHeaderMegaMenu,\n\n pageContent: true,\n pageContentClass: '',\n pageContentFullHeight: false,\n pageContentFullWidth: false,\n pageContentInverseMode: false,\n handleSetPageContent: this.handleSetPageContent,\n handleSetPageContentClass: this.handleSetPageContentClass,\n handleSetPageContentFullHeight: this.handleSetPageContentFullHeight,\n handleSetPageContentFullWidth: this.handleSetPageContentFullWidth,\n handleSetPageContentInverseMode: this.handleSetPageContentInverseMode,\n\n pageFooter: false,\n handleSetPageFooter: this.handleSetPageFooter,\n error: null,\n errorInfo: null,\n\n pageTopMenu: false,\n pageMobileTopMenu: false,\n toggleMobileTopMenu: this.toggleMobileTopMenu,\n handleSetPageTopMenu: this.handleSetPageTopMenu,\n\n handleSetBodyWhiteBg: this.handleSetBodyWhiteBg,\n handleSetPageBoxedLayout: this.handleSetPageBoxedLayout\n };\n }\n\n /// \n /// Author: CK\n /// Edited: Wind - Added Notiflix\n /// \n componentDidMount() {\n const HEART_BEAT_INTERVAL = 2000;\n\n if (localStorage.getItem(SessionKey._LOGIN_GUID)) {\n sessionStorage.setItem(SessionKey._LOGIN_GUID, localStorage.getItem(SessionKey._LOGIN_GUID));\n }\n setInterval(function () {\n var localGuid = localStorage.getItem(SessionKey._LOGIN_GUID);\n var sessionGuid = sessionStorage.getItem(SessionKey._LOGIN_GUID);\n\n if (localGuid != sessionGuid && localGuid != null && localGuid != 'null' && sessionGuid != null && sessionGuid != 'null') {\n sessionStorage.setItem(SessionKey._LOGIN_GUID, localGuid);\n window.location.href = WebUrl._URL_MAIN;\n }\n }, HEART_BEAT_INTERVAL);\n\n // Check pending TNC\n if (localStorage.getItem(LocalStorageKey._PENDING_TNC_AGREEMENT)) {\n this.props.setPendingTNC(true);\n }\n\n fetch(ApiUrl._API_IS_LOGGED_IN, {\n method: ApiKey._API_GET,\n headers: {\n \"Accept\": ApiKey._API_APPLICATION_JSON,\n \"X-Requested-With\": ApiKey._API_XML_HTTP_REQUEST_KEY\n }\n }).then((response) => response.json()).then((responseJson) => {\n if (responseJson[ApiKey._API_SUCCESS_KEY]) {\n this.props.updateLoginUser(responseJson[ApiKey._API_DATA_KEY]);\n }\n else {\n this.props.resetLogin();\n }\n });\n\n Notiflix.Report.Init({\n className: 'notiflix-report',\n width: '320px',\n backgroundColor: '#f8f8f8',\n borderRadius: '25px',\n rtl: false,\n zindex: 4002,\n backOverlay: true,\n backOverlayColor: 'rgba(0,0,0,0.5)',\n useGoogleFont: false,\n fontFamily: 'Quicksand',\n svgSize: '110px',\n plainText: true,\n titleFontSize: '16px',\n titleMaxLength: 34,\n messageFontSize: '13px',\n messageMaxLength: 400,\n buttonFontSize: '14px',\n buttonMaxLength: 34,\n cssAnimation: true,\n cssAnimationDuration: 360,\n cssAnimationStyle: 'fade',\n\n success: {\n svgColor: '#32c682',\n titleColor: '#1e1e1e',\n messageColor: '#242424',\n buttonBackground: '#32c682',\n buttonColor: '#fff',\n backOverlayColor: 'rgba(50,198,130,0.2)',\n },\n\n failure: {\n svgColor: '#ff5549',\n titleColor: '#1e1e1e',\n messageColor: '#242424',\n buttonBackground: '#ff5549',\n buttonColor: '#fff',\n backOverlayColor: 'rgba(255,85,73,0.2)',\n },\n\n warning: {\n svgColor: '#eebf31',\n titleColor: '#1e1e1e',\n messageColor: '#242424',\n buttonBackground: '#eebf31',\n buttonColor: '#fff',\n backOverlayColor: 'rgba(238,191,49,0.2)',\n },\n\n info: {\n svgColor: '#26c0d3',\n titleColor: '#1e1e1e',\n messageColor: '#242424',\n buttonBackground: '#26c0d3',\n buttonColor: '#fff',\n backOverlayColor: 'rgba(38,192,211,0.2)',\n },\n });\n\n Notiflix.Confirm.Init({\n position: 'center',\n distance: '200px',\n titleColor: '#000000',\n plainText: false,\n messageMaxLength: 500,\n backgroundColor: '#f8f8f8',\n okButtonColor: '#f8f8f8',\n okButtonBackground: '#32c682',\n cancelButtonColor: '#000000',\n cancelButtonBackground: '#f8f8f8',\n });\n\n window.addEventListener('storage', createStorageListener(store));\n }\n\n /// \n /// Author: CK\n /// \n componentDidUpdate(prevProps, prevState, snapshot) {\n if (prevProps.authState.isForbidden !== this.props.authState.isForbidden && this.props.authState.loginStateInitialized) {\n // window.location.href = WebUrl._URL_DASHBOARD;\n }\n }\n\n /// \n /// Author: Yong Sheng Chuan\n /// \n componentDidCatch(error, errorInfo) {\n this.setState({\n error: error,\n errorInfo: errorInfo\n })\n }\n\n render() {\n if (this.state.errorInfo) {\n return (\n
\n \n

Something went wrong, please contact admin for help

\n
\n {window.navigator.userAgent}\n
\n
\n );\n }\n else {\n return (\n \n \n {\n this.props.authState.isLoggedIn ?\n :\n \n }\n \n ({\n ...base,\n zIndex: '10000',\n position: 'fixed',\n })\n }}\n text={this.props.appState.message}\n >\n \n {\n this.props.authState.loginStateInitialized &&\n
\n {this.state.pageHeader && (
)}\n {this.state.pageContent && ()}\n {this.state.pageFooter && (
)}\n
\n }\n
\n )\n }\n }\n}\n\nconst mapStateToProps = state => ({\n ...state\n});\n\nexport default connect(\n mapStateToProps,\n {\n disposeMessage: disposeMessage,\n updateLoginUser: updateLoginUser,\n resetLogin: resetLogin,\n setPendingTNC: setPendingTNC\n }\n)(App);","import 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './app.jsx';\nimport { BrowserRouter } from 'react-router-dom';\nimport { Provider } from \"react-redux\";\nimport store from \"./ApplicationStore.js\";\nimport './localization/i18n.js';\n\n// css\nimport 'bootstrap/dist/css/bootstrap.css';\nimport '@fortawesome/fontawesome-free/css/all.min.css';\nimport 'react-quill/dist/quill.snow.css';\nimport 'codemirror/lib/codemirror.css';\nimport 'codemirror/theme/material.css';\nimport 'simple-line-icons/css/simple-line-icons.css';\nimport 'flag-icon-css/css/flag-icon.min.css';\nimport 'react-perfect-scrollbar/dist/css/styles.css';\nimport './index.css';\nimport './scss/react.scss';\nimport 'bootstrap-social/bootstrap-social.css';\nimport 'bootstrap-daterangepicker/daterangepicker.css';\nimport 'react-datetime/css/react-datetime.css';\nimport \"react-datepicker/dist/react-datepicker.css\";\nimport 'react-dual-listbox/lib/react-dual-listbox.css';\n\n//js\nimport 'jquery/dist/jquery.min.js'\nimport 'bootstrap/dist/js/bootstrap.min.js'\n\n// ========================================\n\nimport { REGION } from '../src/util/Constant';\n\nconst SWCTheme = React.lazy(() => import('../src/components/theme/SWC'));\nconst RejangTheme = React.lazy(() => import('../src/components/theme/Rejang'));\n\n/// \n/// Author: A\n/// \nconst Theme = ({ children }) => {\n const CHOSEN_THEME = process.env.REACT_APP_NAME;\n return (\n <>\n }>\n {(CHOSEN_THEME === REGION._SWC ) && }\n {(CHOSEN_THEME === REGION._REJANG) && }\n {(CHOSEN_THEME === REGION._SY) && }\n \n {children}\n \n )\n}\n\nReactDOM.render(\n \n \n \n \n \n \n ,\n document.getElementById('root')\n);","export const _SET_CHANGED_PACKAGE = 'SetChangedPackage';\nexport const _REMOVE_CHANGED_PACKAGE = 'RemoveChangedPackage';\nexport const _SET_REQUIRED_REFRESH = 'SetRequiredRefresh';\n\n/// \n/// Author : CK\n/// \nexport const setPackageChanged = (data) => {\n return async dispatch => {\n dispatch({\n type: _SET_CHANGED_PACKAGE,\n data: data\n });\n }\n}\n\n/// \n/// Author : CK\n/// \nexport const removePackageChanged = (targetUserId) => {\n return async dispatch => {\n dispatch({\n type: _REMOVE_CHANGED_PACKAGE,\n targetUserId: targetUserId\n });\n }\n}\n\n/// \n/// Author : Wind\n/// \nexport const setRequiredRefresh = (data) => {\n return async dispatch => {\n dispatch({\n type: _SET_REQUIRED_REFRESH,\n data: data\n });\n }\n}\n\n/// \n/// Author : Wind\n/// \nexport const disableRefresh = (data) => {\n return async dispatch => {\n dispatch({\n type: _SET_REQUIRED_REFRESH,\n data: data\n });\n }\n}\n"],"sourceRoot":""}