@smartico/public-api 0.0.199 → 0.0.201

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/Base/ClassId.ts","../src/IntUtils.ts","../src/MiniGames/SAWBuyInType.ts","../src/MiniGames/SAWUtils.ts","../src/MiniGames/SAWAcknowledgeType.ts","../src/MiniGames/SAWAskForUsername.ts","../src/MiniGames/SAWGameType.ts","../src/MiniGames/SAWPrizeType.ts","../src/MiniGames/SAWGetTemplatesResponse.ts","../src/MiniGames/SAWSpinErrorCode.ts","../src/MiniGames/SAWWinSoundType.ts","../src/MiniGames/SAWWinningHistoryResponse.ts","../src/NodeCache.ts","../src/OCache.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/CoreUtils.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/GetInboxMessagesResponse.ts","../src/Inbox/InboxMessage.ts","../src/Inbox/InboxMessageType.ts","../src/Inbox/OpenLinksType.ts","../src/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreCategory.ts","../src/Store/StoreItemType.ts","../src/Store/StoreItem.ts","../src/Store/StoreItemPurchased.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Missions/ScheduledMissionType.ts","../src/Missions/AchievementCategory.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/Tournament.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentUtils.ts","../src/Tournaments/GetTournamentInfoResponse.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/Leaderboard/LeaderBoards.ts","../src/CustomSections/AchCustomSection.ts","../src/CustomSections/UICustomSection.ts","../src/Bonuses/Bonus.ts","../src/Bonuses/BonusStatus.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Quiz/SportTypes.ts","../src/Quiz/MarketsType.ts","../src/Quiz/MarketsAnswers.ts","../src/Quiz/MarketsInfo.ts","../src/Quiz/MarketsPerSport.ts","../src/Jackpots/JackpotContributionType.ts","../src/Jackpots/JackpotPot.ts","../src/Jackpots/JackpotType.ts"],"sourcesContent":["export enum ClassId {\n\tPING = 1,\n\tPONG = 2,\n\n\tINIT = 3,\n\tINIT_RESPONSE = 4,\n\tIDENTIFY = 5,\n\tIDENTIFY_RESPONSE = 6,\n\tLOGIN = 7,\n\tLOGOUT = 8,\n\tEVENT = 9,\n\tEVENT_RESPONSE = 10,\n\n\tLOGIN_RESPONSE = 11,\n\tLOGOUT_RESPONSE = 12,\n\n\tGET_TRANSLATIONS_REQUEST = 13,\n\tGET_TRANSLATIONS_RESPONSE = 14,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tCLIENT_ENGAGEMENT_IMPRESSION_REQUEST = 103,\n\tCLIENT_ENGAGEMENT_ACTION_REQUEST = 104,\n\tCLIENT_EXECUTE_DEEPLINK_EVENT = 105,\n\tCLIENT_ENGAGEMENT_FAILED_REQUEST = 106,\n\tCLIENT_EXECUTE_JS_EVENT = 107,\n\tCLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT = 108,\n\tCLIENT_ENGAGEMENT_EVENT_NEW = 110,\n\n\tCLIENT_TRACK_ACTIVITY_REQUEST = 155,\n\tCLIENT_SET_AVATAR_REQUEST = 157,\n\tCLIENT_SET_AVATAR_RESPONSE = 158,\n\n\tCLIENT_SET_CUSTOM_USERNAME_REQUEST = 159,\n\tCLIENT_SET_CUSTOM_USERNAME_RESPONSE = 160,\n\n\tCHECK_SEGMENT_MATCH_REQUEST = 161,\n\tCHECK_SEGMENT_MATCH_RESPONSE = 162,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\t// 500-1000 - Achievements\n\tGET_LEVEL_MAP_REQUEST = 500,\n\tGET_LEVEL_MAP_RESPONSE = 501,\n\tGET_ACHIEVEMENT_MAP_REQUEST = 502,\n\tGET_ACHIEVEMENT_MAP_RESPONSE = 503,\n\tRELOAD_ACHIEVEMENTS_EVENT = 504,\n\tGET_LEADERS_BOARD_REQUEST = 505,\n\tGET_LEADERS_BOARD_RESPONSE = 506,\n\tGET_SHOP_ITEMS_REQUEST = 509,\n\tGET_SHOP_ITEMS_RESPONSE = 510,\n\tBUY_SHOP_ITEM_REQUEST = 511,\n\tBUY_SHOP_ITEM_RESPONSE = 512,\n\tGET_INBOX_MESSAGES_REQUEST = 513,\n\tGET_INBOX_MESSAGES_RESPONSE = 514,\n\tGET_SHOP_CATEGORIES_REQUEST = 515,\n\tGET_SHOP_CATEGORIES_RESPONSE = 516,\n\tGET_TOURNAMENT_LOBBY_REQUEST = 517,\n\tGET_TOURNAMENT_LOBBY_RESPONSE = 518,\n\tGET_TOURNAMENT_INFO_REQUEST = 519,\n\tGET_TOURNAMENT_INFO_RESPONSE = 520,\n\tTOURNAMENT_REGISTER_REQUEST = 521,\n\tTOURNAMENT_REGISTER_RESPONSE = 522,\n\tGET_CUSTOM_SECTIONS_REQUEST = 523,\n\tGET_CUSTOM_SECTIONS_RESPONSE = 524,\n\tMISSION_OPTIN_REQUEST = 525,\n\tMISSION_OPTIN_RESPONSE = 526,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_ACHIEVEMENT_USER_REQUEST = 527,\n\tGET_ACHIEVEMENT_USER_RESPONSE = 528,\n\n\tMARK_INBOX_READ_REQUEST = 529,\n\tMARK_INBOX_READ_RESPONSE = 530,\n\tMARK_INBOX_STARRED_REQUEST = 531,\n\tMARK_INBOX_STARRED_RESPONSE = 532,\n\tMARK_INBOX_DELETED_REQUEST = 535,\n\tMARK_INBOX_DELETED_RESPONSE = 536,\n\n\tGET_ACH_CATEGORIES_REQUEST = 537,\n\tGET_ACH_CATEGORIES_RESPONSE = 538,\n\n\tACHIEVEMENT_CLAIM_PRIZE_REQUEST = 539,\n\tACHIEVEMENT_CLAIM_PRIZE_RESPONSE = 540,\n\n\tACH_SHOP_ITEM_HISTORY_REQUEST = 541,\n\tACH_SHOP_ITEM_HISTORY_RESPONSE = 542,\n\n\tGET_RELATED_ACH_N_TOURNAMENTS_REQUEST = 543,\n\tGET_RELATED_ACH_N_TOURNAMENTS_RESPONSE = 544,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_BONUSES_REQUEST = 600,\n\tGET_BONUSES_RESPONSE = 601,\n\tCLAIM_BONUS_REQUEST = 602,\n\tCLAIM_BONUS_RESPONSE = 603,\n\n\tSAW_GET_SPINS_REQUEST = 700,\n\tSAW_GET_SPINS_RESPONSE = 701,\n\tSAW_DO_SPIN_REQUEST = 702,\n\tSAW_DO_SPIN_RESPONSE = 703,\n\tSAW_AKNOWLEDGE_REQUEST = 704,\n\tSAW_AKNOWLEDGE_RESPONSE = 705,\n\tSAW_SPINS_COUNT_PUSH = 706,\n\tSAW_SHOW_SPIN_PUSH = 707,\n\tSAW_PRIZE_DROP_WIN_PUSH = 708,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_REQUEST = 709,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_RESPONSE = 710,\n\tSAW_AKNOWLEDGE_SPIN_PUSH = 711,\n\tSAW_DO_SPIN_BATCH_REQUEST = 712,\n\tSAW_DO_SPIN_BATCH_RESPONSE = 713,\n\tSAW_AKNOWLEDGE_BATCH_REQUEST = 714,\n\tSAW_AKNOWLEDGE_BATCH_RESPONSE = 715,\n\n\tGET_SAW_HISTORY_REQUEST = 716,\n\tGET_SAW_HISTORY_RESPONSE = 717,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tJP_GET_JACKPOTS_REQUEST = 800,\n\tJP_GET_JACKPOTS_RESPONSE = 801,\n\n\tJP_GET_LATEST_POTS_REQUEST = 802,\n\tJP_GET_LATEST_POTS_RESPONSE = 803,\n\n\tJP_OPTIN_REQUEST = 804,\n\tJP_OPTIN_RESPONSE = 805,\n\n\tJP_OPTOUT_REQUEST = 806,\n\tJP_OPTOUT_RESPONSE = 807,\n\n\tJP_WIN_PUSH = 808,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n\tCLIENT_DEBUG_REQUEST = 77777,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tUNSUPPORTED_COMMAND = 99999,\n}\n","class IntUtils {\n\tpublic static uuid(): string {\n\t\tlet a: any;\n\t\tlet b: any;\n\t\tfor (\n\t\t\tb = a = '';\n\t\t\ta++ < 36;\n\t\t\tb += (a * 51) & 52 ? (a ^ 15 ? 8 ^ (Math.random() * (a ^ 20 ? 16 : 4)) : 4).toString(16) : '-'\n\t\t) {}\n\t\treturn b;\n\t}\n\n\tpublic static isNotNull(val: any): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null;\n\t}\n\n\tpublic static isNotEmpty(val: string): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null && val.length > 0;\n\t}\n\n\tpublic static replaceAll(value: string, regex: string, replacement: string | number): string {\n\t\tif (IntUtils.isNotNull(value)) {\n\t\t\treturn value.replace(new RegExp(IntUtils.escapeRegExp(regex), 'g'), replacement?.toString());\n\t\t}\n\t\treturn value;\n\t}\n\n\tpublic static escapeRegExp(v: string): string {\n\t\tif (IntUtils.isNotEmpty(v)) {\n\t\t\treturn v.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\t\t}\n\t\treturn v;\n\t}\n\n\tpublic static JsonOrText = (str: string): any => {\n\t\tif (str && str.includes && (str.includes('{') || str.includes('['))) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(str);\n\t\t\t} catch (e) {\n\t\t\t\treturn str;\n\t\t\t}\n\t\t}\n\t\treturn str;\n\t};\n\n\t// public static wsTimeToEpoch = (time: string): number => {\n\t// if (time) {\n\t// return moment.utc(time, \"DD/MM/YYYY HH:mm:ss\").valueOf()\n\t// } else {\n\t// return null\n\t// }\n\t// }\n\n\tpublic static isWithinPeriod = (timestamp: number, period: 'today' | 'thisWeek' | 'thisMonth'): boolean => {\n\t\tconst now = new Date();\n\t\tconst completedDate = new Date(timestamp);\n\n\t\tswitch (period) {\n\t\t\tcase 'today':\n\t\t\t\treturn (\n\t\t\t\t\tnow.getFullYear() === completedDate.getFullYear() &&\n\t\t\t\t\tnow.getMonth() === completedDate.getMonth() &&\n\t\t\t\t\tnow.getDate() === completedDate.getDate()\n\t\t\t\t);\n\t\t\tcase 'thisWeek':\n\t\t\t\tconst startOfWeek = new Date(now);\n\t\t\t\tstartOfWeek.setDate(now.getDate() - now.getDay());\n\t\t\t\tstartOfWeek.setHours(0, 0, 0, 0);\n\n\t\t\t\tconst endOfWeek = new Date(startOfWeek);\n\t\t\t\tendOfWeek.setDate(startOfWeek.getDate() + 6);\n\t\t\t\tendOfWeek.setHours(23, 59, 59, 999);\n\n\t\t\t\treturn completedDate >= startOfWeek && completedDate <= endOfWeek;\n\t\t\tcase 'thisMonth':\n\t\t\t\treturn now.getFullYear() === completedDate.getFullYear() && now.getMonth() === completedDate.getMonth();\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n}\n\nexport { IntUtils };\n","/** @hidden */\nexport enum SAWBuyInType {\n\tFree = 1,\n\tPoints = 2,\n\tSpins = 3,\n}\n\nexport enum SAWBuyInTypeName {\n\tFree = 'free',\n\tPoints = 'points',\n\tSpins = 'spins',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWBuyInTypeNamed = (type: SAWBuyInType): SAWBuyInTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWBuyInType.Free]: SAWBuyInTypeName.Free,\n\t\t\t[SAWBuyInType.Points]: SAWBuyInTypeName.Points,\n\t\t\t[SAWBuyInType.Spins]: SAWBuyInTypeName.Spins,\n\t\t}[type] || SAWBuyInTypeName.Unknown\n\t);\n};\n","import { SAWBuyInType } from './SAWBuyInType';\nimport { SAWTemplate } from './SAWTemplate';\n\nclass SAWUtils {\n\tpublic static canPlay = (t: SAWTemplate, pointsBalance: number): boolean => {\n\t\tif (t === null || t === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\tswitch (t.saw_buyin_type_id) {\n\t\t\tcase SAWBuyInType.Free: {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tcase SAWBuyInType.Spins: {\n\t\t\t\treturn t.spin_count !== null && t.spin_count > 0;\n\t\t\t}\n\t\t\tcase SAWBuyInType.Points: {\n\t\t\t\treturn t.buyin_cost_points <= pointsBalance;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tconsole.error('MiniGamesUtils.canPlay: Unknwon SAW buyin type ' + t.saw_buyin_type_id);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t};\n}\n\nexport { SAWUtils };\n","export enum SAWAcknowledgeType {\n\tSilent = 1,\n\tQuickMessage = 2,\n\tFullMessage = 3,\n\tExplicityAcknowledge = 4\n}\n\nexport enum SAWAcknowledgeTypeName {\n\tSilent = 'silent',\n\tQuickMessage = 'quick-message',\n\tFullMessage = 'full-message',\n\tExplicityAcknowledge = 'explicity-acknowledge'\n}\n\n/** @hidden */\nexport const SAWAcknowledgeTypeNamed = (type: SAWAcknowledgeType): SAWAcknowledgeTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWAcknowledgeType.Silent]: SAWAcknowledgeTypeName.Silent,\n\t\t\t[SAWAcknowledgeType.QuickMessage]: SAWAcknowledgeTypeName.QuickMessage,\n\t\t\t[SAWAcknowledgeType.FullMessage]: SAWAcknowledgeTypeName.FullMessage,\n\t\t\t[SAWAcknowledgeType.ExplicityAcknowledge]: SAWAcknowledgeTypeName.ExplicityAcknowledge\n\t\t}[type]\n\t);\n};\n","export enum SAWAskForUsername {\n\tNOASK = 'no-ask',\n\tONSUMBIT = 'on-submit',\n}\n","/** @hidden */\n\nexport enum SAWGameType {\n\tSpinAWheel = 1,\n\tScratchCard = 2,\n\tMatchX = 3,\n\tGiftBox = 4,\n\tPrizeDrop = 5,\n\tQuiz = 6,\n\tLootboxWeekdays = 7,\n\tLootboxCalendarDays = 8,\n}\n\nexport enum SAWGameTypeName {\n\tSpinAWheel = 'wheel',\n\tScratchCard = 'scratch',\n\tMatchX = 'matchx',\n\tGiftBox = 'giftbox',\n\tPrizeDrop = 'prizedrop',\n\tQuiz = 'quiz',\n\tLootboxWeekdays = 'lootbox_weekdays',\n\tLootboxCalendarDays = 'lootbox_calendar_days',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWGameTypeNamed = (type: SAWGameType): SAWGameTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWGameType.SpinAWheel]: SAWGameTypeName.SpinAWheel,\n\t\t\t[SAWGameType.ScratchCard]: SAWGameTypeName.ScratchCard,\n\t\t\t[SAWGameType.MatchX]: SAWGameTypeName.MatchX,\n\t\t\t[SAWGameType.GiftBox]: SAWGameTypeName.GiftBox,\n\t\t\t[SAWGameType.PrizeDrop]: SAWGameTypeName.PrizeDrop,\n\t\t\t[SAWGameType.Quiz]: SAWGameTypeName.Quiz,\n\t\t\t[SAWGameType.LootboxWeekdays]: SAWGameTypeName.LootboxWeekdays,\n\t\t\t[SAWGameType.LootboxCalendarDays]: SAWGameTypeName.LootboxCalendarDays,\n\t\t}[type] || SAWGameTypeName.Unknown\n\t);\n};\n","/** @hidden */\nexport enum SAWPrizeType {\n\tNO_PRIZE = 1,\n\tPOINTS = 2,\n\tBONUS = 3,\n\tMANUAL = 4,\n\tSPIN = 5,\n\tJACKPOT = 6,\n\tCHANGE_LEVEL = 7,\n\tMISSION = 8,\n}\n\nexport enum MiniGamePrizeTypeName {\n\tNO_PRIZE = 'no-prize',\n\tPOINTS = 'points',\n\tBONUS = 'bonus',\n\tMANUAL = 'manual',\n\tSPIN = 'spin',\n\tJACKPOT = 'jackpot',\n\tCHANGE_LEVEL = 'change-level',\n\tMISSION = 'mission',\n\tUNKNOWN = 'unknown',\n}\n\n/** @hidden */\nexport const MiniGamePrizeTypeNamed = (type: SAWPrizeType): MiniGamePrizeTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWPrizeType.NO_PRIZE]: MiniGamePrizeTypeName.NO_PRIZE,\n\t\t\t[SAWPrizeType.POINTS]: MiniGamePrizeTypeName.POINTS,\n\t\t\t[SAWPrizeType.BONUS]: MiniGamePrizeTypeName.BONUS,\n\t\t\t[SAWPrizeType.MANUAL]: MiniGamePrizeTypeName.MANUAL,\n\t\t\t[SAWPrizeType.SPIN]: MiniGamePrizeTypeName.SPIN,\n\t\t\t[SAWPrizeType.JACKPOT]: MiniGamePrizeTypeName.JACKPOT,\n\t\t\t[SAWPrizeType.CHANGE_LEVEL]: MiniGamePrizeTypeName.CHANGE_LEVEL,\n\t\t\t[SAWPrizeType.MISSION]: MiniGamePrizeTypeName.MISSION,\n\t\t}[type] || MiniGamePrizeTypeName.UNKNOWN\n\t);\n};\n","import { IntUtils } from '../IntUtils';\nimport { TMiniGamePrize, TMiniGameTemplate } from '../WSAPI/WSAPITypes';\nimport { ProtocolResponse } from './../Base/ProtocolResponse';\nimport { SAWAcknowledgeTypeNamed } from './SAWAcknowledgeType';\nimport { SAWBuyInTypeNamed } from './SAWBuyInType';\nimport { SAWGameTypeNamed } from './SAWGameType';\nimport { MiniGamePrizeTypeName, MiniGamePrizeTypeNamed } from './SAWPrizeType';\nimport { SAWTemplate } from './SAWTemplate';\n\nexport interface SAWGetTemplatesResponse extends ProtocolResponse {\n\ttemplates: SAWTemplate[];\n}\n\nexport const SAWTemplatesTransform = (items: SAWTemplate[]): TMiniGameTemplate[] => {\n\treturn items.map((r) => {\n\t\tconst x: TMiniGameTemplate = {\n\t\t\tid: r.saw_template_id,\n\t\t\tname: r.saw_template_ui_definition.name,\n\t\t\tdescription: r.saw_template_ui_definition.description,\n\t\t\tthumbnail: r.saw_template_ui_definition.thumbnail\n\t\t\t? r.saw_template_ui_definition.thumbnail\n\t\t\t: r.saw_skin_ui_definition?.skin_folder\n\t\t\t\t? `${r.saw_skin_ui_definition.skin_folder}/ico.png`\n\t\t\t\t: `https://d312ucx3huj7iy.cloudfront.net/gf/images/saw/${r.saw_skin_key}/ico.png`,\n\t\t\tover_limit_message: r.saw_template_ui_definition.over_limit_message,\n\t\t\tno_attempts_message: r.saw_template_ui_definition.no_attempts_message,\n\t\t\tjackpot_symbol: r.saw_template_ui_definition.jackpot_symbol,\n\t\t\tsaw_game_type: SAWGameTypeNamed(r.saw_game_type_id),\n\t\t\tsaw_buyin_type: SAWBuyInTypeNamed(r.saw_buyin_type_id),\n\t\t\tbuyin_cost_points: r.buyin_cost_points,\n\t\t\tjackpot_add_on_attempt: r.jackpot_add_on_attempt,\n\t\t\tjackpot_current: r.jackpot_current,\n\t\t\tspin_count: r.spin_count,\n\t\t\tpromo_image: r.saw_template_ui_definition.promo_image,\n\t\t\tpromo_text: r.saw_template_ui_definition.promo_text,\n\t\t\tcustom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n\t\t\texpose_game_stat_on_api: r.expose_game_stat_on_api,\n\t\t\trelative_period_timezone: r.relative_period_timezone,\n\t\t\tactiveFromDate: r.activeFromDate,\n\t\t\tactiveTillDate: r.activeTillDate,\n\t\t\tnext_available_spin_ts: r.next_available_spin_ts,\n\n\t\t\tprizes: r.prizes.map((p) => {\n\t\t\t\tconst y: TMiniGamePrize = {\n\t\t\t\t\tid: p.saw_prize_id,\n\t\t\t\t\tname: p.saw_prize_ui_definition.name,\n\t\t\t\t\tprize_type: MiniGamePrizeTypeNamed(p.prize_type_id),\n\t\t\t\t\tprize_value: p.prize_value,\n\t\t\t\t\tfont_size: p.saw_prize_ui_definition.font_size,\n\t\t\t\t\tfont_size_mobile: p.saw_prize_ui_definition.font_size_mobile,\n\t\t\t\t\ticon: p.saw_prize_ui_definition.icon,\n\t\t\t\t\tposition: p.saw_prize_ui_definition.position,\n\t\t\t\t\tacknowledge_type: SAWAcknowledgeTypeNamed(p.saw_prize_ui_definition.acknowledge_type),\n\t\t\t\t\taknowledge_message: p.saw_prize_ui_definition.aknowledge_message,\n\t\t\t\t\tacknowledge_dp: p.saw_prize_ui_definition.acknowledge_dp,\n\t\t\t\t\tacknowledge_action_title: p.saw_prize_ui_definition.acknowledge_action_title,\n\t\t\t\t\tacknowledge_dp_additional: p.saw_prize_ui_definition.acknowledge_dp_additional,\n\t\t\t\t\tacknowledge_action_title_additional: p.saw_prize_ui_definition.acknowledge_action_title_additional,\n\t\t\t\t\tout_of_stock_message: p.saw_prize_ui_definition.out_of_stock_message,\n\t\t\t\t\tpool: p.pool,\n\t\t\t\t\tpool_initial: p.pool_initial,\n\t\t\t\t\twins_count: p.wins_count,\n\t\t\t\t\tweekdays: p.weekdays,\n\t\t\t\t\tactive_from_ts: p.active_from_ts,\n\t\t\t\t\tactive_till_ts: p.active_till_ts,\n\t\t\t\t\trelative_period_timezone: p.relative_period_timezone,\n\t\t\t\t\tis_surcharge: p.is_surcharge,\n\t\t\t\t\tcustom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n\t\t\t\t};\n\t\t\t\treturn y;\n\t\t\t}),\n\t\t};\n\t\treturn x;\n\t});\n};\n","/*\n * Possible error codes for the mini-games attempts\n */\nexport enum SAWSpinErrorCode {\n\t/** No error */\n\tSAW_OK = 0,\n\t/** User doesn't have 'spin attempts' to play. In case buy in type for the game is 'spins' based */\n\tSAW_NO_SPINS = 40001,\n\t/** The are no prizes left to play the game */\n\tSAW_PRIZE_POOL_EMPTY = 40002,\n\t/** User doesn't have enough points to play. In case buy in type for the game is 'points' based */\n\tSAW_NOT_ENOUGH_POINTS = 40003,\n\t/** User reached max number of game attempts defined in the BackOffice */\n\tSAW_FAILED_MAX_SPINS_REACHED = 40004,\n\t/** User tries to play a template that is restricted by date */\n\tSAW_TEMPLATE_NOT_ACTIVE = 40007,\n\t/** Special code for the 'visitor' mode */\n\tSAW_VISITOR_STOP_SPIN_REQUEST = -40001,\n}\n","export enum SAWWinSoundType {\n\tDisappointing = 1,\n\tPositive = 2,\n\tHighlyPositive = 3,\n\tNoSound = 4,\n\tCustom = 5,\n}\n\nexport const SAWWinSoundFiles = {\n\t[SAWWinSoundType.NoSound]: null,\n\t[SAWWinSoundType.Disappointing]: 'saw-disappointed.m4a',\n\t[SAWWinSoundType.Positive]: 'saw-positive.m4a',\n\t[SAWWinSoundType.HighlyPositive]: 'saw-highly-positive.m4a',\n};\n","import { ProtocolResponse } from \"../SmarticoLib\";\nimport { TSawHistory } from \"../WSAPI/WSAPITypes\";\nimport { SAWTemplate } from \"./SAWTemplate\";\n\nexport interface SAWWinningHistoryResponse extends ProtocolResponse {\n\tprizes: SAWPrizesHistory[];\n}\n\nexport interface SAWPrizesHistory {\n\ttemplate: SAWTemplate,\n\tsaw_template_id: number,\n\tsaw_prize_id: number,\n\tprize_amount: number,\n\tclient_request_id: string,\n\tis_claimed: boolean,\n\tcreate_date_ts: number;\n\tacknowledge_date_ts: number;\n}\n\nexport const SAWHistoryTransform = (items: SAWPrizesHistory[]): TSawHistory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TSawHistory = {\n\t\t\ttemplate: r.template,\n\t\t\tsaw_template_id: r.saw_template_id,\n\t\t\tsaw_prize_id: r.saw_prize_id,\n\t\t\tprize_amount: r.prize_amount,\n\t\t\tclient_request_id: r.client_request_id,\n\t\t\tis_claimed: r.is_claimed,\n\t\t\tcreate_date_ts: r.create_date_ts,\n\t\t\tacknowledge_date_ts: r.acknowledge_date_ts,\n\t\t}\n\t\treturn x;\n\t})\n}\n\n","class NodeCache {\n\tprivate static ttlChecker: NodeJS.Timeout;\n\n\tprivate static cache: { [key: string]: any } = {};\n\n\tconstructor() {\n\t\tif (NodeCache.ttlChecker === undefined) {\n\t\t\tNodeCache.ttlChecker = setInterval(() => {\n\t\t\t\tconst now = new Date().getTime();\n\t\t\t\tfor (const key in NodeCache.cache) {\n\t\t\t\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\t\t\t\tconst o = NodeCache.cache[key];\n\t\t\t\t\t\tif (o.ttl < now) {\n\t\t\t\t\t\t\tdelete NodeCache.cache[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t}\n\t}\n\n\tpublic get(key: string): any {\n\t\tconst o = NodeCache.cache[key];\n\t\tif (o !== undefined && o.ttl > new Date().getTime()) {\n\t\t\treturn o.value;\n\t\t}\n\t}\n\n\tpublic set(key: string, value: any, ttlSeconds: number = 60) {\n\t\tNodeCache.cache[key] = {\n\t\t\tvalue,\n\t\t\tttl: new Date().getTime() + ttlSeconds * 1000,\n\t\t};\n\t}\n\n\tpublic remove(key: string) {\n\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\tdelete NodeCache.cache[key];\n\t\t}\n\t}\n\n\tpublic flushAll() {\n\t\tNodeCache.cache = {};\n\t}\n}\n\nexport { NodeCache };\n","import { NodeCache } from './NodeCache';\n\nexport enum ECacheContext {\n\tTranslations,\n\tLabelInfo,\n\tWSAPI,\n}\n\nconst WITH_REF_CACHE = [ECacheContext.Translations];\n\nexport class OCache {\n\tprivate static cache: { [key: string]: NodeCache } = {};\n\n\tprivate static init(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext] === undefined) {\n\t\t\tthis.cache[cacheContext] = new NodeCache();\n\t\t}\n\t}\n\n\tpublic static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tthis.init(cacheContext);\n\n\t\treturn deepClone(this.cache[cacheContext].get(key));\n\t}\n\n\tpublic static set(oKey: any, o: any, cacheContext: ECacheContext, ttlSeconds: number = 60) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tthis.init(cacheContext);\n\n\t\tthis.cache[cacheContext].set(key, deepClone(o), ttlSeconds);\n\t}\n\n\tpublic static async use<T>(oKey: any, cacheContext: ECacheContext, f: () => Promise<T>, ttlSeconds: number = 60) {\n\t\tif (ttlSeconds <= 0) {\n\t\t\treturn await f();\n\t\t} else {\n\t\t\tlet o: T = OCache.get(oKey, cacheContext);\n\n\t\t\tif (o === undefined) {\n\t\t\t\to = await f();\n\t\t\t\tOCache.set(oKey, o, cacheContext, ttlSeconds);\n\t\t\t}\n\n\t\t\treturn o;\n\t\t}\n\t}\n\n\tpublic static async clear(cacheContext: ECacheContext, oKey: any) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].remove(key);\n\t\t}\n\t}\n\n\tpublic static async clearContext(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].flushAll();\n\t\t}\n\t}\n\n\tpublic static async clearAll() {\n\t\tthis.cache = {};\n\t}\n}\n\nconst deepClone = (o: any) => {\n\tif (o) {\n\t\treturn JSON.parse(JSON.stringify(o));\n\t}\n\n\treturn o;\n};\n","export enum ActivityTypeLimited {\n\tDoNothing = 8,\n\tPoints = 12,\n\tGiveMission = 14,\n\tStartAnotherCampaign = 15,\n\tMiniGameAttempt = 16,\n\tDeductPoints = 21,\n\tResetPoints = 22,\n\tPopup = 30,\n\tInbox = 31,\n\tSlack = 70,\n\tEmail_To_Customer_Support = 80,\n\tEmail_To_Risk_Operator = 90,\n\tBonus = 100,\n\tWebHook = 200,\n\tTagCustomer = 504,\n\tUnTagCustomer = 505,\n}\n","class CoreUtils {\n\tpublic static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n\t\tif (\n\t\t\tavatarDomain &&\n\t\t\tavatar_id !== null &&\n\t\t\tavatar_id !== undefined &&\n\t\t\t!(avatar_id.startsWith && avatar_id.startsWith('http'))\n\t\t) {\n\t\t\tif (avatarDomain.endsWith('/')) {\n\t\t\t\treturn avatarDomain.slice(0, -1) + '/avatar/' + avatar_id;\n\t\t\t} else {\n\t\t\t\treturn avatarDomain + '/avatar/' + avatar_id;\n\t\t\t}\n\t\t} else {\n\t\t\treturn avatar_id;\n\t\t}\n\t};\n\n\tpublic static currencySymbol(currency: string) {\n\t\treturn {\n\t\t\t[currency?.toUpperCase()]: currency?.toUpperCase(),\n\t\t\tUSD: '$', // United States Dollar\n\t\t\tEUR: '\\u20AC', // Euro\n\t\t\tJPY: '\\u00A5', // Japanese Yen\n\t\t\tGBP: '\\u00A3', // British Pound Sterling\n\t\t\tAUD: 'A$', // Australian Dollar\n\t\t\tCAD: 'C$', // Canadian Dollar\n\t\t\tCHF: 'CHF', // Swiss Franc\n\t\t\tCNY: '\\u00A5', // Chinese Yuan\n\t\t\tSEK: 'kr', // Swedish Krona\n\t\t\tNZD: 'NZ$', // New Zealand Dollar\n\t\t\tMXN: 'MX$', // Mexican Peso\n\t\t\tSGD: 'S$', // Singapore Dollar\n\t\t\tHKD: 'HK$', // Hong Kong Dollar\n\t\t\tNOK: 'kr', // Norwegian Krone\n\t\t\tKRW: '\\u20A9', // South Korean Won\n\t\t\tTRY: '\\u20BA', // Turkish Lira\n\t\t\tINR: '\\u20B9', // Indian Rupee\n\t\t\tRUB: '\\u20BD', // Russian Ruble\n\t\t\tBRL: 'R$', // Brazilian Real\n\t\t\tZAR: 'R', // South African Rand\n\t\t}[currency?.toUpperCase()];\n\t}\n}\n\nexport { CoreUtils };\n","export enum PublicLabelSettings {\n\tPUBLIC_API_URL = 'PUBLIC_API_URL',\n\tRECORDING_ENABLED_FOR_ALL_USERS = 'RECORDING_ENABLED_FOR_ALL_USERS',\n\tJS_INJECTION = 'JS_INJECTION',\n\tGAMIFICATION_UI_MAIN = 'GAMIFICATION_UI_MAIN',\n\tGAMIFICATION_UI_WIDGET = 'GAMIFICATION_UI_WIDGET',\n\tGAMIFICATION_UI_MINI_GAME = 'GAMIFICATION_UI_MINI_GAME',\n\tGAMIFICATION_UI_SETTINGS = 'GAMIFICATION_UI_SETTINGS',\n\tGAMIFICATION_UI_MAIN_TEST = 'GAMIFICATION_UI_MAIN_TEST',\n\tGAMIFICATION_UI_WIDGET_TEST = 'GAMIFICATION_UI_WIDGET_TEST',\n\tGAMIFICATION_UI_SETTINGS_TEST = 'GAMIFICATION_UI_SETTINGS_TEST',\n\tFRONT_END_ALLOWED_LANGUAGES = 'FRONT_END_ALLOWED_LANGUAGES',\n\tFRONT_END_ALLOW_DOMAINS = 'FRONT_END_ALLOW_DOMAINS',\n\tDELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS = 'DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS',\n\tSHADOW_LABEL_PUBLIC_KEY = 'SHADOW_LABEL_PUBLIC_KEY',\n\tDYNAMIC_IMAGE_DOMAIN = 'DYNAMIC_IMAGE_DOMAIN',\n\n\tGAMIFICATION_UI_LEVEL_ENABLED = 'GAMIFICATION_UI_LEVEL_ENABLED',\n\tGAMIFICATION_UI_LEVEL_IMAGE_MOB = 'GAMIFICATION_UI_LEVEL_IMAGE_MOB',\n\tGAMIFICATION_UI_LEVEL_IMAGE_DESK = 'GAMIFICATION_UI_LEVEL_IMAGE_DESK',\n\n\tGAMIFICATION_LEVELS_LOGIC2 = 'GAMIFICATION_LEVELS_LOGIC2',\n\tGAMIFICATION_LEVELS_LOGIC3 = 'GAMIFICATION_LEVELS_LOGIC2',\n\n\tAVATAR_CUSTOM_IMAGE_MAX_ID = 'AVATAR_CUSTOM_IMAGE_MAX_ID',\n\tAVATAR_CUSTOM_IMAGE_FOLDER = 'AVATAR_CUSTOM_IMAGE_FOLDER',\n\n\tGAMIFICATION_SHOW_POWERED_BY = 'GAMIFICATION_SHOW_POWERED_BY',\n\t_system_leader_board_mask_username = '_system_leader_board_mask_username',\n\n\tINBOX_PUBLIC_CDN = 'INBOX_PUBLIC_CDN',\n}\n","enum TranslationArea {\n\tCasino = 1,\n\tGamification = 2,\n\tTrading = 3,\n\tArchived = 4,\n\tAffiliation = 5,\n\tRetentionGames = 6,\n\tAffIliateAdminNew = 7,\n}\n\nexport { TranslationArea };\n","import { TInboxMessage } from '../WSAPI/WSAPITypes';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { InboxMessage } from './InboxMessage';\n\nexport interface GetInboxMessagesResponse extends ProtocolResponse {\n\tlog: InboxMessage[];\n}\n\nexport const InboxMessagesTransform = (items: InboxMessage[]): TInboxMessage[] => {\n\treturn items.map((item) => {\n\t\tconst x: TInboxMessage = {\n\t\t\tsent_date: item.createDate,\n\t\t\tmessage_guid: item.engagement_uid,\n\t\t\tread: item.is_read,\n\t\t\tfavorite: item.is_starred,\n\t\t};\n\t\treturn x;\n\t});\n};\n","import { TInboxMessageBody } from '../WSAPI/WSAPITypes';\nimport { InboxMessageType } from './InboxMessageType';\nimport { OpenLinksType } from './OpenLinksType';\n\nexport interface InboxMessageBody {\n\t// URL or deep-link that neeed to be executed when user clicks on the message\n\taction: string;\n\t// the body of the message in case it's 'simple' inbox message\n\tbody: string;\n\t// type of message, deprecated\n\ttype: InboxMessageType;\n\t// image of the icon\n\timage: string;\n\t// title of the message\n\ttitle: string;\n\t// HTML body of the message in case it's 'rich' inbox message\n\thtml_body: string;\n\t// set of the buttons with text on the button and action that could be URL or deep-link\n\tadditional_buttons?: { inbox_cta_text: string; action: string }[];\n\t// indicator if the message need to be shown when sent and overlay or it should be shown only in the inbox, when user open 'inbox' interface explicitly\n\t// default is 'true'\n\tshow_preview?: boolean;\n\t// duration in seconds for how long to show preview, default is 7 seconds\n\tshow_duration_sec?: number;\n\t// indicator if the image in html_body can be zoomed out\n\t// default is 'false'\n\tenable_zoom_mode?: boolean;\n\t// options that allows to open links in buttons either in new window or in the current one\n\topen_links?: OpenLinksType;\n}\n\nexport interface InboxMessage {\n\t// date when the message was created\n\tcreateDate: string;\n\t// body of the message according to the interface\n\tbody: InboxMessageBody;\n\t// unique identifier of the message that connects it to the campaign from which it was sent\n\tengagement_uid: string;\n\t// flag that indicates if the message was read by the user\n\tis_read: boolean;\n\t// flag that indicates if the message was marked as favorite by the user\n\tis_starred: boolean;\n\t// flag that indicates if the message was deleted by the user. Such messages are not returned in the response and property is used only internaly in Smartico\n\tis_deleted?: boolean;\n}\n\nexport const InboxMessageBodyTransform = (item: InboxMessageBody): TInboxMessageBody => {\n\tconst x: TInboxMessageBody = {\n\t\taction: item.action,\n\t\ticon: item.image,\n\t\ttitle: item.title,\n\t\tpreview_body: item.body,\n\t};\n\n\tif (item.action === 'dp:inbox') {\n\t\tif (item.additional_buttons && item.additional_buttons.length) {\n\t\t\tx.buttons = item.additional_buttons.map((b) => ({\n\t\t\t\taction: b.action,\n\t\t\t\ttext: b.inbox_cta_text,\n\t\t\t}));\n\t\t}\n\n\t\tx.html_body = item?.html_body || null;\n\t}\n\n\treturn x;\n};\n","export enum InboxMessageType {\n\tCustom = 0,\n\tMissionCompleted = 1,\n\tMissionUnlocked = 2,\n\tLeaderboardWon = 3,\n\tLevelChanged = 4,\n\tBonusGiven = 5,\n\tPointsAdded = 6,\n\tPointsUsed = 7,\n\tPersonalMessage = 8,\n}\n\n// keep in sync with BO enum\n","export enum OpenLinksType {\n\tNewWindow = 1,\n\tCurrentWindow = 2\n}","export enum BuyStoreItemErrorCode {\n\tFAILED_TO_BUY_SHOP_ITEM = 121,\n\tSHOP_NO_BALANCE = 11000,\n\tSHOP_WRONG_LABEL = 11001,\n\tSHOP_FAILED_TO_BUY_BONUS = 11002, // remote product restriction\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION = 11003, // when not visible but trying to buy. Shoudnt happen\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION_PURSHASE = 11004, // when visible but not matching to purchase segment\n\tSHOP_FAILED_TO_BUY_MATCHING_BONUS = 11005,\n\tSHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED = 11006,\n\tSHOP_FAILED_POOL_EMPTY = 11009,\n}\n","import { TStoreCategory } from '../WSAPI/WSAPITypes';\nimport { StoreCategoryPublicMeta } from './StoreCategoryPublicMeta';\n\nexport interface StoreCategory {\n\tid?: number;\n\tpublicMeta?: StoreCategoryPublicMeta;\n}\n\nexport const StoreCategoryTransform = (items: StoreCategory[]): TStoreCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TStoreCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t};\n\t\treturn x;\n\t});\n};\n","export enum StoreItemType {\n\tBonus = 1,\n\tTangible = 2,\n\tMiniGameSpin = 3,\n\tChangeLevel = 4,\n\tPrizeDrop = 5,\n}\n\nexport enum StoreItemTypeName {\n\tBonus = 'bonus',\n\tTangible = 'tangible',\n\tMiniGameSpin = 'minigamespin',\n\tChangeLevel = 'changelevel',\n\tPrizeDrop = 'prizedrop',\n\tUnknown = 'unknown',\n}\n\nexport const StoreItemTypeNamed = (type: StoreItemType): StoreItemTypeName => {\n\treturn (\n\t\t{\n\t\t\t[StoreItemType.Bonus]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.Tangible]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.MiniGameSpin]: StoreItemTypeName.MiniGameSpin,\n\t\t\t[StoreItemType.ChangeLevel]: StoreItemTypeName.ChangeLevel,\n\t\t\t[StoreItemType.PrizeDrop]: StoreItemTypeName.PrizeDrop,\n\t\t}[type] || StoreItemTypeName.Unknown\n\t);\n};\n","import { IntUtils } from '../IntUtils';\nimport { TStoreItem } from '../WSAPI/WSAPITypes';\nimport { StoreItemPublicMeta } from './StoreItemPublicMeta';\nimport { StoreItemType, StoreItemTypeNamed } from './StoreItemType';\n\nexport interface StoreItem {\n\tid: number;\n\titemTypeId: StoreItemType;\n\titemPublicMeta: StoreItemPublicMeta;\n\tcategoryIds?: number[];\n\tcanBuy?: boolean;\n\tshopPool: number;\n}\n\nexport const StoreItemTransform = (items: StoreItem[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.itemPublicMeta.custom_data),\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","import { IntUtils } from '../IntUtils';\nimport { TStoreItem } from '../WSAPI/WSAPITypes';\nimport { StoreItem } from './StoreItem';\nimport { StoreItemTypeNamed } from './StoreItemType';\n\ninterface StoreItemPurchased extends StoreItem {\n\tpurchase_ts: number;\n\tpurchase_points_amount: number;\n\tpurchased_today?: boolean;\n\tpurchased_this_week?: boolean;\n\tpurchased_this_month?: boolean;\n}\n\nexport const StoreItemPurchasedTransform = (items: StoreItemPurchased[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst purchasedToday = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'today') : false;\n\t\t\tconst purchasedThisWeek = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisWeek') : false;\n\t\t\tconst purchasedThisMonth = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisMonth') : false;\n\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t\tpurchase_ts: r.purchase_ts,\n\t\t\t\tpurchase_points_amount: r.purchase_points_amount,\n\t\t\t\tpurchased_today: purchasedToday,\n\t\t\t\tpurchased_this_week: purchasedThisWeek,\n\t\t\t\tpurchased_this_month: purchasedThisMonth,\n\t\t\t\tcustom_data: r.itemPublicMeta.custom_data\n\t\t\t};\n\n\t\t\treturn x;\n\t\t});\n};\n\nexport { StoreItemPurchased };\n","export enum AchievementStatus {\n\tDraft = 1,\n\tAvailableUnlocked = 2,\n\tAvailableLocked = 3,\n\tArchived = 4,\n\tFeaturedManually = 5,\n\tFeaturedAI = 6,\n\tRecurring = 7,\n\tRecurringUponCompletion = 8\n}\n","export enum AchievementTaskType {\n\tCompleteAchievement = 1,\n\tUnlockAchievement = 2,\n}\n","export enum AchievementType {\n\tMission = 1,\n\tBadge = 2,\n}\n","import { AchRelatedGame } from '../Base/AchRelatedGame';\nimport { IntUtils } from '../IntUtils';\nimport { TMissionOrBadge } from '../WSAPI/WSAPITypes';\nimport { AchievementPublicMeta } from './AchievementPublicMeta';\nimport { AchievementStatus } from './AchievementStatus';\nimport { AchievementTaskType } from './AchievementTaskType';\nimport { AchievementType } from './AchievementType';\nimport { ScheduledMissionType } from './ScheduledMissionType';\nimport { UserAchievementTask } from './UserAchievementTask';\n\nexport interface UserAchievement {\n\tach_id?: number;\n\tach_type_id?: AchievementType;\n\tach_public_meta?: AchievementPublicMeta;\n\tisCompleted?: boolean;\n\tisLocked?: boolean;\n\trequiresOptin?: boolean;\n\tisOptedIn?: boolean;\n\tstart_date?: string; // time when mission unlocked or opted-in. Needed to calculated \"remaining time\" in case time_limit_ms is set\n\tstart_date_ts?: number;\n\ttime_limit_ms?: number;\n\tprogress?: number;\n\tcomplete_date?: string;\n\tcomplete_date_ts?: number;\n\tunlock_date?: string;\n\tmilliseconds_till_available?: number;\n\tcompleted_tasks?: number;\n\tachievementTasks?: UserAchievementTask[];\n\tnext_recurrence_date_ts?: number;\n\tach_status_id?: AchievementStatus;\n\tscheduledMissionType?: ScheduledMissionType;\n\trelated_games?: AchRelatedGame[];\n\tactive_from_ts?: number; // indicates when 'scheduled' mission is active from,\n\tactive_till_ts?: number; // indicates when 'scheduled' mission is active till,\n\tach_categories?: number[];\n\trecurring_quantity?: number; // max completion count for Recurring upon completion\n\tcompleted_count?: number; // completion count for Recurring upon completion\n\n\tach_completed_id?: number; // ID of the completion fact from ach_completed or ach_completed_recurring tables\n\trequires_prize_claim?: boolean; // flag from achievement if the mission prize will be given only after user claims it\n\tprize_claimed_date_ts?: number; // the date/timestamp indicating when the prize was claimed by the user\n\n\tcompleted_today?: boolean;\n\tcompleted_this_week?: boolean;\n\tcompleted_this_month?: boolean;\n\tcustom_section_type_id?: number;\n}\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n\treturn items\n\t\t.filter((r) => r.ach_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst completedToday = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'today') : false;\n\t\t\tconst completedThisWeek = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisWeek') : false;\n\t\t\tconst completedThisMonth = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisMonth') : false;\n\n\t\t\tconst x: TMissionOrBadge = {\n\t\t\t\tid: r.ach_id,\n\t\t\t\tname: r.ach_public_meta.name,\n\t\t\t\tdescription: r.ach_public_meta.description,\n\t\t\t\thint_text: r.ach_public_meta.hint_text,\n\t\t\t\tunlock_mission_description: r.ach_public_meta.unlock_mission_description,\n\t\t\t\timage: r.ach_public_meta.image_url,\n\t\t\t\tis_completed: r.isCompleted,\n\t\t\t\tis_locked: r.isLocked,\n\t\t\t\tis_requires_optin: r.requiresOptin,\n\t\t\t\tis_opted_in: r.isOptedIn,\n\t\t\t\ttime_limit_ms: r.time_limit_ms,\n\t\t\t\tactive_from_ts: r.active_from_ts,\n\t\t\t\tactive_till_ts: r.active_from_ts,\n\t\t\t\tdt_start: r.start_date_ts,\n\t\t\t\treward: r.ach_public_meta.reward,\n\t\t\t\tprogress: r.progress,\n\t\t\t\ttype: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',\n\t\t\t\tcta_action: r.ach_public_meta.cta_action,\n\t\t\t\tcta_text: r.ach_public_meta.cta_text,\n\t\t\t\tcustom_section_id: r.ach_public_meta.custom_section_id,\n\t\t\t\tonly_in_custom_section: r.ach_public_meta.only_in_custom_section,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),\n\t\t\t\tposition: r.ach_public_meta.position,\n\t\t\t\tribbon:\n\t\t\t\t\tr.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,\n\t\t\t\ttasks: (r.achievementTasks || [])\n\t\t\t\t\t.filter((t) => t.task_type_id === AchievementTaskType.CompleteAchievement)\n\t\t\t\t\t.map((t) => ({\n\t\t\t\t\t\tid: t.task_id,\n\t\t\t\t\t\tname: t.task_public_meta?.name,\n\t\t\t\t\t\tpoints_reward: t.points_reward,\n\t\t\t\t\t\tis_completed: t.isCompleted,\n\t\t\t\t\t\tprogress: t.userProgress,\n\t\t\t\t\t\texecution_count_expected: t.executionCount,\n\t\t\t\t\t\texecution_count_actual: t.userExecutedCount,\n\t\t\t\t\t\tdisplay_progress_as_count: t.task_public_meta.display_progress_as_count,\n\t\t\t\t\t})),\n\t\t\t\trelated_games: (r.related_games || []).map((g) => ({\n\t\t\t\t\text_game_id: g.ext_game_id,\n\t\t\t\t\tgame_public_meta: {\n\t\t\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t\t\t\tmobile_spec_link: g.game_public_meta.mobile_spec_link\n\t\t\t\t\t},\n\t\t\t\t})),\n\t\t\t\tcategory_ids: r.ach_categories ?? [],\n\t\t\t\tach_completed_id: r.ach_completed_id,\n\t\t\t\trequires_prize_claim: r.requires_prize_claim,\n\t\t\t\tprize_claimed_date_ts: r.prize_claimed_date_ts,\n\t\t\t\tcomplete_date: r.complete_date,\n\t\t\t\tcomplete_date_ts: r.complete_date_ts,\n\t\t\t\tcompleted_today: completedToday,\n\t\t\t\tcompleted_this_week: completedThisWeek,\n\t\t\t\tcompleted_this_month: completedThisMonth,\n\t\t\t\tcustom_section_type_id: r.ach_public_meta.custom_section_type_id,\n\t\t\t};\n\n\t\t\tif (r.ach_status_id === AchievementStatus.RecurringUponCompletion) {\n\t\t\t\tx.completion_count = r.completed_count;\n\t\t\t\tx.max_completion_count = r.recurring_quantity;\n\t\t\t}\n\t\t\treturn x;\n\t\t});\n};\n","export enum ScheduledMissionType {\n\tFuture = 1,\n\tPast = 2,\n\tPresent = 3,\n}\n","import { TAchCategory } from '../WSAPI/WSAPITypes';\nimport { AchCategoryPublicMeta } from './AchCategoryPublicMeta';\n\nexport interface AchCategory {\n\tid?: number;\n\tpublicMeta?: AchCategoryPublicMeta;\n}\n\nexport const AchCategoryTransform = (items: AchCategory[]): TAchCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TAchCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t};\n\t\treturn x;\n\t});\n};\n","/** @hidden */\nexport enum TournamentRegistrationType {\n\tAUTO = 1,\n\tOPT_IN = 2,\n\tBUY_IN_POINTS = 3,\n\tMANUAL_APPROVAL = 4,\n\tREQUIRES_QUALIFICATION = 5,\n\t// BUY_IN_CASH = 5???,\n}\n\nexport type TournamentRegistrationTypeName =\n\t| 'AUTO'\n\t| 'OPT_IN'\n\t| 'BUY_IN_POINTS'\n\t| 'MANUAL_APPROVAL'\n\t| 'REQUIRES_QUALIFICATION'\n\t| 'UNKNOWN';\n\n/** @hidden */\nexport const TournamentRegistrationTypeGetName = (type: TournamentRegistrationType): TournamentRegistrationTypeName => {\n\treturn ({\n\t\t[TournamentRegistrationType.AUTO]: 'AUTO',\n\t\t[TournamentRegistrationType.BUY_IN_POINTS]: 'BUY_IN_POINTS',\n\t\t[TournamentRegistrationType.MANUAL_APPROVAL]: 'MANUAL_APPROVAL',\n\t\t[TournamentRegistrationType.OPT_IN]: 'OPT_IN',\n\t\t[TournamentRegistrationType.REQUIRES_QUALIFICATION]: 'REQUIRES_QUALIFICATION',\n\t}[type] || 'UNKNOWN') as any as TournamentRegistrationTypeName;\n};\n","/** @hidden */\nexport enum TournamentRegistrationStatus {\n\tNOT_REGISTERED = 0,\n\tREGISTERED = 1,\n\tFINISHED = 2,\n\tPENDING = 3,\n\tCANCELLED = 4,\n\tREGISTERED_PENDING_QUALIFICATION = 5,\n\tQUALIFIED_PENDING_REGISTRATION = 6,\n}\n\nexport enum TournamentRegistrationStatusName {\n\tNOT_REGISTERED = 'NOT_REGISTERED',\n\tREGISTERED = 'REGISTERED',\n\tFINISHED = 'FINISHED',\n\tPENDING = 'PENDING',\n\tCANCELLED = 'CANCELLED',\n\tREGISTERED_PENDING_QUALIFICATION = 'REGISTERED_PENDING_QUALIFICATION',\n\tQUALIFIED_PENDING_REGISTRATION = 'QUALIFIED_PENDING_REGISTRATION',\n\tUNKNOWN = 'UNKNOWN',\n}\n\n/** @hidden */\nexport const TournamentRegistrationStatusNamed = (type: TournamentRegistrationStatus): TournamentRegistrationStatusName => {\n\treturn ({\n\t\t[TournamentRegistrationStatus.CANCELLED]: TournamentRegistrationStatusName.CANCELLED,\n\t\t[TournamentRegistrationStatus.FINISHED]: TournamentRegistrationStatusName.FINISHED,\n\t\t[TournamentRegistrationStatus.NOT_REGISTERED]: TournamentRegistrationStatusName.NOT_REGISTERED,\n\t\t[TournamentRegistrationStatus.PENDING]: TournamentRegistrationStatusName.PENDING,\n\t\t[TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]:\n\t\t\tTournamentRegistrationStatusName.QUALIFIED_PENDING_REGISTRATION,\n\t\t[TournamentRegistrationStatus.REGISTERED]: TournamentRegistrationStatusName.REGISTERED,\n\t\t[TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]:\n\t\t\tTournamentRegistrationStatusName.REGISTERED_PENDING_QUALIFICATION,\n\t}[type] || TournamentRegistrationStatusName.UNKNOWN) as TournamentRegistrationStatusName;\n};\n","import { TournamentRegistrationType, TournamentRegistrationTypeGetName } from './TournamentRegistrationType';\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus';\nimport {\n\tTournamentRegistrationStatus,\n\tTournamentRegistrationStatusName,\n\tTournamentRegistrationStatusNamed,\n} from './TournamentRegistrationStatus';\nimport { TournamentType } from './TournamentType';\nimport { TournamentPublicMeta } from './TournamentPublicMeta';\nimport { TTournament } from '../WSAPI/WSAPITypes';\nimport { TournamentPlayer, TournamentPrize, TournamentUtils } from '.';\nimport { IntUtils } from '../IntUtils';\nimport { AchRelatedGame } from '../Base/AchRelatedGame';\n\nexport interface Tournament {\n\t/** ID of tournament template */\n\ttournamentId?: number;\n\t/** ID of tournament instance. Generated every time when tournament based on specific template is scheduled for run */\n\ttournamentInstanceId?: number;\n\t/** Type of the tournament. For now only SCHEDULED is support */\n\ttournamentType?: TournamentType;\n\t/** Meta information about tournament that should be used to build UI */\n\tpublicMeta?: TournamentPublicMeta;\n\t/** Cost of registration in the tournament in gamification points */\n\tbuyInAmount?: number;\n\t/** Not in use */\n\tprizePool?: number;\n\t/** The time when tournament is going to start */\n\tstartTime?: string;\n\t/** The time when tournament is going to finish */\n\tendTime?: string;\n\t/** The time when tournament is going to start, epoch */\n\tstartTimeTs?: number;\n\t/** The time when tournament is going to finish, epoch */\n\tendTimeTs?: number;\n\t/** Number of users registered in the tournament */\n\tregistrationCount?: number;\n\t/** Not in use */\n\ttotalCount?: number;\n\t/** Type of registration in the tournament */\n\tregistrationType?: TournamentRegistrationType;\n\t/** Status of registration in the tournament for current user */\n\ttournamentRegistrationStatus?: TournamentRegistrationStatus;\n\t/** Status of tournament instance */\n\ttournamentInstanceStatus?: TournamentInstanceStatus;\n\t/** flag indicating if current user is registered in the tournament */\n\tisUserRegistered?: boolean;\n\t/** Indicator if tournament allows later registration, when tournament is already started */\n\tallowLateRegistration?: boolean;\n\t/** Minimum number of participant for this tournament. If tournament doesnt have enough registrations, it will not start */\n\tplayersMinCount?: number;\n\t/** Maximum number of participant for this tournament. When reached, new users won't be able to register */\n\tplayersMaxCount?: number;\n\t/** Tournament duration in millisecnnds */\n\tdurationMs?: number;\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[];\n\t};\n\t/** Information about current user */\n\ttournamentPlayer?: TournamentPlayer;\n\n\t/** List of casino games (or other types of entities) related to the tournament */\n\trelated_games?: AchRelatedGame[];\n\t/* The minimum amount of score points that the user should get in order to be qualified for the prize */\n\tminScoreToWin?: number;\n\t/* When enabled, users who don’t meet the minimum qualifying score will be hidden from the Leaderboard. */\n\thideLeaderboardsMinScores?: boolean;\n}\n\nexport const TournamentItemsTransform = (items: Tournament[]): TTournament[] => {\n\treturn items\n\t\t.filter((r) => r.tournamentId >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TTournament = {\n\t\t\t\tinstance_id: r.tournamentInstanceId,\n\t\t\t\ttournament_id: r.tournamentId,\n\t\t\t\tname: r.publicMeta.name,\n\t\t\t\tdescription: r.publicMeta.description,\n\t\t\t\tsegment_dont_match_message: r.publicMeta.segment_dont_match_message,\n\t\t\t\timage1: r.publicMeta.image_url,\n\t\t\t\timage2: r.publicMeta.image_url2,\n\t\t\t\timage2_mobile: r.publicMeta.image_url2_mobile,\n\t\t\t\tprize_pool_short: r.publicMeta.prize_pool_short,\n\t\t\t\tcustom_price_text: r.publicMeta.custom_price_text,\n\t\t\t\tcustom_section_id: r.publicMeta.custom_section_id,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.publicMeta.custom_data),\n\t\t\t\tis_featured: r.publicMeta.featured,\n\t\t\t\tribbon: r.publicMeta.label_tag === 'custom' ? r.publicMeta.custom_label_tag : r.publicMeta.label_tag,\n\t\t\t\tpriority: r.publicMeta.position,\n\n\t\t\t\tstart_time: r.startTimeTs,\n\t\t\t\tend_time: r.endTimeTs,\n\t\t\t\tregistration_count: r.registrationCount,\n\t\t\t\tis_user_registered: r.isUserRegistered,\n\t\t\t\tplayers_min_count: r.playersMinCount,\n\t\t\t\tplayers_max_count: r.playersMaxCount,\n\t\t\t\tregistration_status: TournamentRegistrationStatusNamed(r.tournamentRegistrationStatus),\n\n\t\t\t\tregistration_type: TournamentRegistrationTypeGetName(r.registrationType),\n\t\t\t\tregistration_cost_points: r.buyInAmount,\n\t\t\t\tduration_ms: r.durationMs,\n\n\t\t\t\tis_active: TournamentUtils.isActive(r),\n\t\t\t\tis_can_register: TournamentUtils.isCanRegister(r),\n\t\t\t\tis_cancelled: TournamentUtils.isCancelled(r),\n\t\t\t\tis_finished: TournamentUtils.isFinished(r),\n\t\t\t\tis_in_progress: TournamentUtils.isInProgress(r),\n\t\t\t\tis_upcoming: TournamentUtils.isUpcoming(r),\n\n\t\t\t\tmin_scores_win: r.minScoreToWin,\n\t\t\t\thide_leaderboard_min_scores: r.hideLeaderboardsMinScores,\n\t\t\t};\n\n\t\t\tif (r.prizeStructure) {\n\t\t\t\tx.prizes = r.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p));\n\t\t\t}\n\n\t\t\tif (r.tournamentPlayer) {\n\t\t\t\tx.me = TournamentUtils.getPlayerTransformed(r.tournamentPlayer, true);\n\t\t\t}\n\n\t\t\treturn x;\n\t\t});\n};\n","export enum TournamentInstanceStatus {\n\tPUBLISHED = 1,\n\tREGISTER = 2,\n\tSTARTED = 3,\n\tFINISHED = 4,\n\tCANCELLED = 5,\n\tFAILED = 6,\n\tFINALIZING = 7,\n}\n\nexport const TournamentInstanceStatusName = (s: TournamentInstanceStatus): string => {\n\treturn {\n\t\t[TournamentInstanceStatus.PUBLISHED]: 'PUBLISHED',\n\t\t[TournamentInstanceStatus.REGISTER]: 'REGISTER',\n\t\t[TournamentInstanceStatus.STARTED]: 'STARTED',\n\t\t[TournamentInstanceStatus.FINISHED]: 'FINISHED',\n\t\t[TournamentInstanceStatus.CANCELLED]: 'CANCELLED',\n\t\t[TournamentInstanceStatus.FAILED]: 'FAILED',\n\t\t[TournamentInstanceStatus.FINALIZING]: 'FINALIZING',\n\t}[s];\n};\n","import { ActivityTypeLimited } from '../Core';\nimport { Tournament } from './Tournament';\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus';\nimport { TournamentPlayer } from './TournamentPlayer';\nimport { TournamentPrize } from './TournamentPrize';\nimport { TournamentRegistrationStatus } from './TournamentRegistrationStatus';\nimport { TournamentRegistrationType } from './TournamentRegistrationType';\n\nconst tournamentPrizeTypeToPrizeName = (type: ActivityTypeLimited) => {\n\treturn {\n\t\t[ActivityTypeLimited.DoNothing]: 'TANGIBLE',\n\t\t[ActivityTypeLimited.Points]: 'POINTS_ADD',\n\t\t[ActivityTypeLimited.DeductPoints]: 'POINTS_DEDUCT',\n\t\t[ActivityTypeLimited.ResetPoints]: 'POINTS_RESET',\n\t\t[ActivityTypeLimited.MiniGameAttempt]: 'MINI_GAME_ATTEMPT',\n\t\t[ActivityTypeLimited.Bonus]: 'BONUS',\n\t}[type];\n};\n\nexport class TournamentUtils {\n\tpublic static isCanRegister = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\tif (tournament.tournamentRegistrationStatus === TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t!tournament.isUserRegistered &&\n\t\t\t\t(tournament.playersMaxCount !== tournament.registrationCount ||\n\t\t\t\t\ttournament.playersMaxCount === null ||\n\t\t\t\t\ttournament.playersMaxCount === 0) &&\n\t\t\t\ttournament.registrationType !== TournamentRegistrationType.AUTO &&\n\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED &&\n\t\t\t\t\t\ttournament.allowLateRegistration))\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isInProgress = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED;\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isActive = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isFinished = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINALIZING\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isCancelled = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED;\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isUpcoming = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static getPlayerTransformed = (player: TournamentPlayer, isMe?: boolean) => {\n\t\tif (player) {\n\t\t\tconst playerTransformed = {\n\t\t\t\tpublic_username: player.userAltName,\n\t\t\t\tavatar_url: player.avatar_url,\n\t\t\t\tposition: player.position,\n\t\t\t\tscores: player.scores,\n\t\t\t\tis_me: player.isMe,\n\t\t\t};\n\n\t\t\tif (isMe) {\n\t\t\t\tdelete playerTransformed.is_me;\n\t\t\t}\n\n\t\t\treturn playerTransformed;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tpublic static getPrizeTransformed = (prize: TournamentPrize) => {\n\t\tif (prize) {\n\t\t\treturn { ...prize, type: tournamentPrizeTypeToPrizeName(prize.type) };\n\t\t}\n\n\t\treturn null;\n\t};\n}\n","import { Tournament, TournamentItemsTransform } from './Tournament';\nimport { TournamentPlayer } from './TournamentPlayer';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { TournamentPrize } from './TournamentPrize';\nimport { TTournamentDetailed } from '../WSAPI/WSAPITypes';\nimport { TournamentUtils } from './TournamentUtils';\n\nexport interface GetTournamentInfoResponse extends ProtocolResponse {\n\t/** tournament info */\n\ttournamentInfo: {\n\t\t/** id of label, not in use */\n\t\tlabelId: number;\n\t\ttournamentLobbyInfo: Tournament;\n\t\t/** list of registered users */\n\t\tplayers: TournamentPlayer[];\n\t};\n\t/** information about current user position */\n\tuserPosition: TournamentPlayer;\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[];\n\t};\n}\n\nexport const tournamentInfoItemTransform = (t: GetTournamentInfoResponse): TTournamentDetailed => {\n\tconst response: TTournamentDetailed = {\n\t\t...TournamentItemsTransform([t.tournamentInfo.tournamentLobbyInfo])[0],\n\t\trelated_games: (t.tournamentInfo.tournamentLobbyInfo.related_games || []).map((g) => ({\n\t\t\text_game_id: g.ext_game_id,\n\t\t\tgame_public_meta: {\n\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t\tmobile_spec_link: g.game_public_meta.mobile_spec_link,\n\t\t\t},\n\t\t})),\n\t\tplayers: t.tournamentInfo.players.map((p) => TournamentUtils.getPlayerTransformed(p)),\n\t};\n\n\tif (t.prizeStructure) {\n\t\tresponse.prizes = t.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p));\n\t}\n\n\tif (t.userPosition) {\n\t\tresponse.me = TournamentUtils.getPlayerTransformed(t.userPosition, true);\n\t}\n\n\treturn response;\n};\n","export enum TournamentRegistrationError {\n\tNO_ERROR = 0,\n\tTOURNAMENT_INSTANCE_NOT_FOUND = 30001,\n\tTOURNAMENT_REGISTRATION_NOT_ENOUGH_POINTS = 30002,\n\tTOURNAMENT_INSTANCE_NOT_IN_STATE = 30003,\n\tTOURNAMENT_ALREADY_REGISTERED = 30004,\n\tTOURNAMENT_USER_DONT_MATCH_CONDITIONS = 30005,\n\tTOURNAMENT_USER_NOT_REGISTERED = 30006,\n\tTOURNAMENT_CANT_CHANGE_REGISTRATION_STATUS = 30007,\n\tTOURNAMENT_MAX_REGISTRATIONS_REACHED = 30008,\n}\n","export enum TournamentType {\n\tSCHEDULED = 1,\n\tSNG = 2,\n\tTEST = 3,\n}\n","export enum LeaderBoardPeriodType {\n\tDAILY = 1,\n\tWEEKLY = 2,\n\tMONTHLY = 3,\n}\n","import { IntUtils } from '../IntUtils';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { TLevel } from '../WSAPI/WSAPITypes';\nimport { Level } from './Level';\n\nexport interface GetLevelMapResponse extends ProtocolResponse {\n\tlevels: Level[];\n}\n\nexport const GetLevelMapResponseTransform = (levels: GetLevelMapResponse): TLevel[] => {\n\treturn levels?.levels.map((l) => ({\n\t\tid: l.level_id,\n\t\tname: l.level_public_meta.name,\n\t\tdescription: l.level_public_meta.description,\n\t\timage: l.level_public_meta.image_url,\n\t\trequired_points: l.required_points,\n\t\tvisibility_points: l.level_public_meta.visibility_points ? parseInt(l.level_public_meta.visibility_points as any) : null,\n\t\trequired_level_counter_1: l.required_level_counter_1,\n\t\trequired_level_counter_2: l.required_level_counter_2,\n\t\tcustom_data: IntUtils.JsonOrText(l.level_public_meta?.custom_data),\n\t}));\n};\n","import { ClassId } from '../Base/ClassId';\nimport { CoreUtils } from '../Core';\nimport { MiniGamePrizeTypeName, SAWDoSpinResponse, SAWGetTemplatesResponse, SAWSpinErrorCode, SAWSpinsCountPush, SAWWinningHistoryRequest, SAWWinningHistoryResponse } from '../MiniGames';\nimport { ECacheContext, OCache } from '../OCache';\nimport { SmarticoAPI } from '../SmarticoAPI';\nimport {\n\tInboxMarkMessageAction,\n\tLeaderBoardDetailsT,\n\tTAchCategory,\n\tTBuyStoreItemResult,\n\tTGetTranslations,\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGamePlayResult,\n\tTMiniGameTemplate,\n\tTMissionClaimRewardResult,\n\tTMissionOptInResult,\n\tTMissionOrBadge,\n\tTSegmentCheckResult,\n\tTStoreCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tTTournamentRegistrationResult,\n\tTUICustomSection,\n\tTUserProfile,\n\tUserLevelExtraCountersT,TBonus,\n\tTClaimBonusResult,\n\tTMiniGamePlayBatchResult,\n\tTSawHistory\n} from './WSAPITypes';\nimport { LeaderBoardPeriodType } from '../Leaderboard';\nimport {\n\tJackpotDetails,\n\tJackpotPot,\n\tJackpotWinPush,\n\tJackpotsOptinResponse,\n\tJackpotsOptoutRequest,\n\tJackpotsOptoutResponse,\n} from '../Jackpots';\nimport { GetTournamentsResponse } from '../Tournaments';\nimport { GetAchievementMapResponse } from '../Missions';\n\n/** @hidden */\nconst CACHE_DATA_SEC = 30;\n\nconst JACKPOT_TEMPLATE_CACHE_SEC = 30;\nconst JACKPOT_POT_CACHE_SEC = 1;\n\n/** @hidden */\nenum onUpdateContextKey {\n\tSaw = 'saw',\n\tMissions = 'missions',\n\tTournamentList = 'tournamentList',\n\tInboxMessages = 'inboxMessages',\n\tBadges = 'badges',\n\tLevels = 'levels',\n\tStoreItems = 'storeItems',\n\tStoreCategories = 'storeCategories',\n\tAchCategories = 'achCategories',\n\tLeaderBoards = 'leaderBoards',\n\tLevelExtraCounters = 'levelExtraCounters',\n\tSegments = 'segments',\n\tStoreHistory = 'storeHistory',\n\tJackpots = 'jackpots',\n\tPots = 'Pots',\n\tCustomSections = 'customSections',\n\tBonuses = 'bonuses',\n\tSAWHistory = 'sawHistory'\n}\n\n/** @group General API */\nexport class WSAPI {\n\tprivate onUpdateCallback: Map<onUpdateContextKey, (data: any) => void> = new Map();\n\tprivate jackpotGetSignature: string = '';\n\n\t/** @private */\n\tconstructor(private api: SmarticoAPI) {\n\t\tOCache.clearAll();\n\t\tif (this.api.tracker) {\n\t\t\tconst on = this.api.tracker.on;\n\t\t\ton(ClassId.SAW_SPINS_COUNT_PUSH, (data: SAWSpinsCountPush) => this.updateOnSpin(data));\n\t\t\ton(ClassId.SAW_SHOW_SPIN_PUSH, () => this.reloadMiniGameTemplate());\n\t\t\ton(ClassId.SAW_AKNOWLEDGE_RESPONSE, () => {\n\t\t\t\tthis.reloadMiniGameTemplate();\n\t\t\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.SAWHistory);\n\t\t\t});\n\t\t\ton(ClassId.SAW_DO_SPIN_RESPONSE, () => {\n\t\t\t\tthis.reloadMiniGameTemplate();\n\t\t\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.SAWHistory);\n\t\t\t});\n\t\t\ton(ClassId.MISSION_OPTIN_RESPONSE, () => this.updateMissions());\n\t\t\ton(ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE, () => this.updateMissions());\n\t\t\ton(ClassId.RELOAD_ACHIEVEMENTS_EVENT, () => this.updateMissions());\n\t\t\ton(ClassId.TOURNAMENT_REGISTER_RESPONSE, () => this.updateTournaments());\n\t\t\ton(ClassId.CLIENT_ENGAGEMENT_EVENT_NEW, () => this.updateInboxMessages());\n\t\t\ton(ClassId.LOGOUT_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n\t\t\ton(ClassId.IDENTIFY_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n\t\t\ton(ClassId.JP_WIN_PUSH, (data: JackpotWinPush) => this.jackpotClearCache());\n\t\t\ton(ClassId.JP_OPTOUT_RESPONSE, (data: JackpotsOptoutRequest) => this.jackpotClearCache());\n\t\t\ton(ClassId.JP_OPTIN_RESPONSE, (data: JackpotsOptinResponse) => this.jackpotClearCache());\n\t\t\ton(ClassId.CLAIM_BONUS_RESPONSE, () => this.updateBonuses());\n\t\t\ton(ClassId.SAW_DO_SPIN_BATCH_RESPONSE, () => {\n\t\t\t\tthis.reloadMiniGameTemplate();\n\t\t\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.SAWHistory);\n\t\t\t});\n\t\t}\n\t}\n\n\t/** Returns information about current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserProfile(result => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t * */\n\tpublic getUserProfile(): TUserProfile {\n\t\tif (this.api.tracker) {\n\t\t\tconst o: TUserProfile = Object.assign({}, this.api.tracker.userPublicProps);\n\t\t\to.avatar_url = CoreUtils.avatarUrl(this.api.tracker.userPublicProps.avatar_id, this.api.avatarDomain);\n\t\t\treturn o;\n\t\t} else {\n\t\t\tthrow new Error('Tracker is not initialized, cannot getUserProfile');\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentMatch(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentMatch(segment_id: number): Promise<boolean> {\n\t\tconst r = await this.api.coreCheckSegments(null, [segment_id]);\n\t\tif (r && r.find((s) => s.segment_id === segment_id && s.is_matching)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific list of segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentListMatch([1, 2, 3]).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentListMatch(segment_ids: number[]): Promise<TSegmentCheckResult[]> {\n\t\treturn await this.api.coreCheckSegments(null, Array.isArray(segment_ids) ? segment_ids : [segment_ids]);\n\t}\n\n\t/** Returns all the levels available the current user\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLevels(): Promise<TLevel[]> {\n\t\treturn OCache.use(onUpdateContextKey.Levels, ECacheContext.WSAPI, () => this.api.levelsGetT(null), CACHE_DATA_SEC);\n\t}\n\n\t/** Returns all the missions available the current user.\n\t * The returned missions are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n\t * Note that each time you call getMissions with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on mission OptIn and the updated missions will be passed to it.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getMissions({ onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMissionOrBadge[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Missions, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Missions, ECacheContext.WSAPI, () => this.api.missionsGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns all the badges available the current user\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getBadges(): Promise<TMissionOrBadge[]> {\n\t\treturn OCache.use(onUpdateContextKey.Badges, ECacheContext.WSAPI, () => this.api.badgetsGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns all the bonuses for the current user\n\t * The returned bonuss are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n\t * Note that each time you call getBonuses with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on bonus claimed and the updated bonuses will be passed to it.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getBonuses({ onUpdate }: { onUpdate?: (data: TBonus[]) => void } = {}): Promise<TBonus[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Bonuses, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Bonuses, ECacheContext.WSAPI, () => this.api.bonusesGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Claim the bonus by bonus_id. Returns the err_code in case of success or error.\n\t * Note that this method can be used only on integrations where originally failed bonus can be claimed again.\n\t * For example, user won a bonus in the mini-game, but Operator rejected this bonus. \n\t * This bonus will be available for the user to claim again.\n\t *\n\t * **Visitor mode: not supported**\n\t */\t\n\tpublic async claimBonus(bonus_id: number): Promise<TClaimBonusResult> {\n\t\tconst r = await this.api.bonusClaimItem(null, bonus_id);\n\n\t\tconst o: TClaimBonusResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t\tsuccess: r.success,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\n\t/**\n\t * Returns the extra counters for the current user level.\n\t * These are counters that are configured for each Smartico client separatly by request.\n\t * For example 1st counter could be total wagering amount, 2nd counter could be total deposit amount, etc.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserLevelExtraCounters().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getUserLevelExtraCounters(): Promise<UserLevelExtraCountersT> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.LevelExtraCounters,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getUserGamificationInfoT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t *\n\t * Returns all the store items available the current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\n\tpublic async getStoreItems(): Promise<TStoreItem[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreItems,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetItemsT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/** Buy the specific shop item by item_id. Returns the err_code in case of success or error.\n\t * **Example**:\n\t * ```\n\t * _smartico.api.buyStoreItem(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async buyStoreItem(item_id: number): Promise<TBuyStoreItemResult> {\n\t\tconst r = await this.api.buyStoreItem(null, item_id);\n\n\t\tconst o: TBuyStoreItemResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t *\n\t * Returns store categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getStoreCategories(): Promise<TStoreCategory[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreCategories,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetCategoriesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns purchased items based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched.\n\t * The maximum number of items per request is limited to 20.\n\t * You can leave this params empty and by default it will return list of purchased items ranging from 0 to 20.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStorePurchasedItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async getStorePurchasedItems({\n\t\tlimit,\n\t\toffset,\n\t\tonUpdate,\n\t}: { limit?: number; offset?: number; onUpdate?: (data: TStoreItem[]) => void } = {}): Promise<TStoreItem[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.StoreHistory, onUpdate);\n\t\t}\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreHistory,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetPurchasedItemsT(null, limit, offset),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns missions & badges categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getAchCategories(): Promise<TAchCategory[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.AchCategories,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.achGetCategoriesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns list of custom sections\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getCustomSections(): Promise<TUICustomSection[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.CustomSections,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getCustomSectionsT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns the list of mini-games available for user\n\t * The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getMiniGames with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t */\n\tpublic async getMiniGames({ onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<\n\t\tTMiniGameTemplate[]\n\t> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns the list of mini-games based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched.\n\t * The maximum number of items per request is limited to 20.\n\t * You can leave this params empty and by default it will return list of mini-games ranging from 0 to 20.\n\t * The returned list of mini-games history is cached for 30 seconds.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMiniGamesHistory().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t*/\t\n\n\tpublic async getMiniGamesHistory({\n\t\tlimit,\n\t\toffset,\n\t\tsaw_template_id\n\t} : { limit?: number, offset?: number, saw_template_id?: number } ): Promise<TSawHistory[]> {\n\t\t\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.SAWHistory,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getSawWinningHistoryT(null, limit, offset, saw_template_id),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Plays the specified by template_id mini-game on behalf of user and returns prize_id or err_code\n \t * After playMiniGame is called, you can call getMiniGames to get the list of mini-games.The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call playMiniGame with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.playMiniGame(55).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async playMiniGame(template_id: number, { onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<TMiniGamePlayResult> {\n\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n\t\t}\n\n\t\tconst r = await this.api.sawSpinRequest(null, template_id);\n\t\tthis.api.doAcknowledgeRequest(null, r.request_id);\n\n\t\tconst o: TMiniGamePlayResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t\tprize_id: r.saw_prize_id,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Plays the specified by template_id mini-game on behalf of user spin_count times and returns array of the prizes\n\t * After playMiniGameBatch is called, you can call getMiniGames to get the list of mini-games. The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call playMiniGameBatch with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.playMiniGameBatch(55, 10).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async playMiniGameBatch(template_id: number, spin_count: number, { onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMiniGamePlayBatchResult[]> {\n\t\t\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n\t\t}\n\n\t\tconst response = await this.api.sawSpinBatchRequest(null, template_id, spin_count);\n\n\t\tconst request_ids = response.results.map((result) => result.request_id);\n\t\tthis.api.doAcknowledgeBatchRequest(null, request_ids);\n\n\t\tconst o: TMiniGamePlayBatchResult[] = response.results.map((result) => ({\n\t\t\terrCode: result.errCode,\n\t\t\terrMessage: result.errMsg,\n\t\t\tsaw_prize_id: result.saw_prize_id,\n\t\t\tjackpot_amount: result.jackpot_amount,\n\t\t\tfirst_spin_in_period: result.first_spin_in_period,\n\t\t}));\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Requests an opt-in for the specified mission_id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionOptIn(mission_id: number): Promise<TMissionOptInResult> {\n\t\tconst r = await this.api.missionOptIn(null, mission_id);\n\n\t\tconst o: TMissionOptInResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Request for claim reward for the specified mission id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionClaimReward(mission_id: number, ach_completed_id: number): Promise<TMissionClaimRewardResult> {\n\t\tconst r = await this.api.missionClaimPrize(null, mission_id, ach_completed_id);\n\n\t\tconst o: TMissionClaimRewardResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/** Returns all the active instances of tournaments\n\t * The returned list is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getTournamentsList with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called when the user has registered in a tournament. Updated list will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * */\n\tpublic async getTournamentsList({ onUpdate }: { onUpdate?: (data: TTournament[]) => void } = {}): Promise<TTournament[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.TournamentList, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.TournamentList,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.tournamentsGetLobbyT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns details information of specific tournament instance, the response will include tournament info and the leaderboard of players\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.api.getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.vapi('EN').getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t */\n\tpublic async getTournamentInstanceInfo(tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\treturn this.api.tournamentsGetInfoT(null, tournamentInstanceId);\n\t}\n\n\t/**\n\t * Requests registration for the specified tournament instance. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async registerInTournament(tournamentInstanceId: number): Promise<TTournamentRegistrationResult> {\n\t\tconst r = await this.api.registerInTournament(null, tournamentInstanceId);\n\n\t\tconst o: TTournamentRegistrationResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Returns the leaderboard for the current type (default is Daily). If getPreviousPeriod is passed as true, a leaderboard for the previous period for the current type will be returned.\n\t * For example, if the type is Weekly and getPreviousPeriod is true, a leaderboard for the previous week will be returned.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLeaderBoard(periodType: LeaderBoardPeriodType, getPreviousPeriod?: boolean): Promise<LeaderBoardDetailsT> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.LeaderBoards,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.leaderboardsGetT(null, periodType, getPreviousPeriod),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/** Returns inbox messages based on the provided parameters. \"From\" and \"to\" indicate the range of messages to be fetched.\n\t * The maximum number of messages per request is limited to 20. An indicator \"onlyFavorite\" can be passed to get only messages marked as favorites.\n\t * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.\n\t * This functions return list of messages without the body of the message.\n\t * To get the body of the message you need to call getInboxMessageBody function and pass the message guid contained in each message of this request.\n\t * All other action like mark as read, favorite, delete, etc. can be done using this message GUID.\n\t * The \"onUpdate\" callback will be triggered when the user receives a new message. It will provide an updated list of messages, ranging from 0 to 20, to the onUpdate callback function.\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t * @param params\n\t */\n\tpublic async getInboxMessages({\n\t\tfrom,\n\t\tto,\n\t\tonlyFavorite,\n\t\tonUpdate,\n\t}: { from?: number; to?: number; onlyFavorite?: boolean; onUpdate?: (data: TInboxMessage[]) => void } = {}): Promise<\n\t\tTInboxMessage[]\n\t> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);\n\t\t}\n\n\t\treturn await this.api.getInboxMessagesT(null, from, to, onlyFavorite);\n\t}\n\n\t/**\n\t * Returns the message body of the specified message guid.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<TInboxMessageBody> {\n\t\treturn await this.api.getInboxMessageBodyT(messageGuid);\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as read\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markInboxMessageAsRead(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markInboxMessageRead(null, messageGuid);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to mark all inbox messages as rea\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markAllInboxMessagesAsRead(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markAllInboxMessageRead(null);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markUnmarkInboxMessageAsFavorite(messageGuid: string, mark: boolean): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to delete inbox message\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteInboxMessage(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteInboxMessage(null, messageGuid);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to delete all inbox messages\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteAllInboxMessages(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteAllInboxMessages(null);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests translations for the given language. Returns the object including translation key/translation value pairs. All possible translation keys defined in the back office.\n\t */\n\tpublic async getTranslations(lang_code: string): Promise<TGetTranslations> {\n\t\tconst r = await this.api.getTranslationsT(null, lang_code, []);\n\n\t\treturn {\n\t\t\ttranslations: r.translations,\n\t\t};\n\t}\n\n\tprivate async updateOnSpin(data: SAWSpinsCountPush) {\n\t\tconst templates: TMiniGameTemplate[] = await OCache.use(\n\t\t\tonUpdateContextKey.Saw,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.sawGetTemplatesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t\tconst index = templates.findIndex((t) => t.id === data.saw_template_id);\n\t\ttemplates[index].spin_count = data.spin_count;\n\t\tthis.updateEntity(onUpdateContextKey.Saw, templates);\n\t}\n\n\tprivate async reloadMiniGameTemplate() {\n\t\tconst updatedTemplates = await this.api.sawGetTemplatesT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Saw, updatedTemplates);\n\t}\n\n\tprivate async updateMissions() {\n\t\tconst payload = await this.api.missionsGetItemsT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Missions, payload);\n\t}\n\n\tprivate async updateBonuses() {\n\t\tconst payload = await this.api.bonusesGetItemsT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Bonuses, payload);\n\t}\n\t\n\tprivate async updateTournaments() {\n\t\tconst payload = await this.api.tournamentsGetLobbyT(null);\n\t\tthis.updateEntity(onUpdateContextKey.TournamentList, payload);\n\t}\n\n\tprivate async updateInboxMessages() {\n\t\tconst payload = await this.api.getInboxMessagesT(null);\n\t\tthis.updateEntity(onUpdateContextKey.InboxMessages, payload);\n\t}\n\n\tprivate async updateEntity(contextKey: onUpdateContextKey, payload: any) {\n\t\tOCache.set(contextKey, payload, ECacheContext.WSAPI);\n\n\t\tconst onUpdate = this.onUpdateCallback.get(contextKey);\n\t\tif (onUpdate) {\n\t\t\tonUpdate(payload);\n\t\t}\n\t}\n\n\tprivate async jackpotClearCache() {\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Jackpots);\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Pots);\n\t}\n\n\t/** Returns list of Jackpots that are active in the systen and matching to the filter definition.\n\t * If filter is not provided, all active jackpots will be returned.\n\t * Filter can be used to get jackpots related to specific game or specific jackpot template.\n\t * You can call this method every second in order to get up to date information about current value of the jackpot(s) and present them to the end-users\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async jackpotGet(filter?: { related_game_id?: string; jp_template_id?: number }): Promise<JackpotDetails[]> {\n\t\tconst signature: string = `${filter?.jp_template_id}:${filter?.related_game_id}`;\n\n\t\tif (signature !== this.jackpotGetSignature) {\n\t\t\tthis.jackpotGetSignature = signature;\n\t\t\tthis.jackpotClearCache();\n\t\t}\n\n\t\tlet jackpots: JackpotDetails[] = [];\n\t\tlet pots: JackpotPot[] = [];\n\n\t\tjackpots = await OCache.use<JackpotDetails[]>(\n\t\t\tonUpdateContextKey.Jackpots,\n\t\t\tECacheContext.WSAPI,\n\t\t\tasync () => {\n\t\t\t\tconst _jackpots = await this.api.jackpotGet(null, filter);\n\t\t\t\tconst _pots = _jackpots.items.map((jp) => jp.pot);\n\n\t\t\t\tOCache.set(onUpdateContextKey.Pots, _pots, ECacheContext.WSAPI, JACKPOT_POT_CACHE_SEC);\n\t\t\t\treturn _jackpots.items;\n\t\t\t},\n\t\t\tJACKPOT_TEMPLATE_CACHE_SEC,\n\t\t);\n\n\t\tif (jackpots.length > 0) {\n\t\t\tpots = await OCache.use<JackpotPot[]>(\n\t\t\t\tonUpdateContextKey.Pots,\n\t\t\t\tECacheContext.WSAPI,\n\t\t\t\tasync () => {\n\t\t\t\t\tconst jp_template_ids = jackpots.map((jp) => jp.jp_template_id);\n\t\t\t\t\treturn (await this.api.potGet(null, { jp_template_ids })).items;\n\t\t\t\t},\n\t\t\t\tJACKPOT_POT_CACHE_SEC,\n\t\t\t);\n\t\t}\n\n\t\treturn jackpots.map((jp) => {\n\t\t\tlet _jp: JackpotDetails = {\n\t\t\t\t...jp,\n\t\t\t\tpot: pots.find((p) => p.jp_template_id === jp.jp_template_id),\n\t\t\t};\n\t\t\treturn _jp;\n\t\t});\n\t}\n\n\t/**\n\t * Opt-in currently logged in user to the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optin to see that user is opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptIn({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted in to the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptIn(filter: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptIn');\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptIn(null, filter);\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Opt-out currently logged in user from the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optout to see that user is not opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptOut({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted out from the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptOut(filter: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptOut');\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptOut(null, filter);\n\n\t\treturn result;\n\t}\n\t/**\n\t * Returns all the related tournaments and missions for the provided game id for the current user\n\t * The provided Game ID should correspond to the ID from the Games Catalog - https://help.smartico.ai/welcome/technical-guides/games-catalog-api\n\t * \n\t * **Example**:\n\t * ```\n\t * _smartico.api.getRelatedItemsForGame('gold-slot2').then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getRelatedItemsForGame('gold-slot2').then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getRelatedItemsForGame(related_game_id: string): Promise<GetAchievementMapResponse> {\n\n\t\tconst result = await this.api.getRelatedItemsForGame(null, related_game_id);\n return result;\n\t\t\n\t}\n}\n","import { LeaderBoardDetailsT, LeaderBoardUserT, LeaderBoardsRewardsT } from '../WSAPI/WSAPITypes';\nimport { LeaderBoardDetails } from './LeaderBoardDetails';\nimport { LeaderBoardPeriodType } from './LeaderBoardPeriodType';\nimport { LeaderBoardPosition } from './LeaderBoardPosition';\n\nconst pointsRewardTransform = (reward_points: number[]): LeaderBoardsRewardsT[] => {\n\tif (reward_points && reward_points.length) {\n\t\treturn reward_points.map((r, i) => ({ place: i + 1, points: r }));\n\t}\n\n\treturn null;\n};\n\nconst getLeaderBoardPlayerTransformed = (user: LeaderBoardPosition, isMe?: boolean): LeaderBoardUserT => {\n\tif (user) {\n\t\tconst x: LeaderBoardUserT = {\n\t\t\tpublic_username: user?.public_username || user.user_alt_name,\n\t\t\tavatar_url: user.avatar_url,\n\t\t\tposition: user.position_in_board,\n\t\t\tpoints: user.points_accumulated,\n\t\t\tis_me: user.is_me,\n\t\t};\n\n\t\tif (isMe) {\n\t\t\tdelete x.is_me;\n\t\t}\n\n\t\treturn x;\n\t}\n\n\treturn null;\n};\n\nexport const getLeaderBoardTransform = (board: LeaderBoardDetails): LeaderBoardDetailsT => {\n\tif (board) {\n\t\tconst x: LeaderBoardDetailsT = {\n\t\t\tboard_id: board.board_id,\n\t\t\tname: board.board_public_meta.name,\n\t\t\tdescription: board.board_public_meta.description,\n\t\t\trules: board.board_public_meta.rules,\n\t\t\tperiod_type_id: board.period_type_id,\n\t\t\trewards: pointsRewardTransform(board.reward_points),\n\t\t\tusers: board.positions.map((p) => getLeaderBoardPlayerTransformed(p)),\n\t\t\tme: getLeaderBoardPlayerTransformed(board.userPosition, true),\n\t\t};\n\n\t\treturn x;\n\t}\n\n\treturn null;\n};\n","export enum AchCustomSectionType {\n\tHTML_PAGE = 1,\n\tMISSIONS_CATEGORY = 2,\n\tTOURNAMENTS_CATEGORY = 3,\n\tLEVELS = 4,\n\tMINI_GAMES = 5,\n\tMISSION_CUSTOM_LAYOUT = 6,\n\tMATCH_X = 7,\n\tQUIZ = 8,\n\tREDIRECT_LINK = 9,\n\tLOOTBOX_WEEKLY = 10,\n\tLOOTBOX_CALENDAR_DAYS = 11,\n}\n\nexport enum AchCustomLayoutTheme {\n\tVALENTINES_LIGHT = 'valentines-light',\n\tVALENTINES_DARK = 'valentines-dark',\n\tEURO_2024 = 'euro-2024',\n\tGENERIC = 'generic',\n}\n\nexport enum AchMissionsTabsOptions {\n\tONLY_OVERVIEW = 1,\n\tNO_OVERVIEW = 2,\n\tALL = 3,\n}\n\nexport enum AchOverviewMissionsFilter {\n\tANY = 1,\n\tALL_MISSIONS = 2,\n\tALL_EXCEPT_COMPLETED = 3,\n\tALL_EXCEPT_LOCKED = 4,\n\tALL_EXCEPT_COMPLETED_AND_LOCKED = 5,\n}\n","import { TUICustomSection } from '../WSAPI/WSAPITypes';\nimport {\n\tAchCustomLayoutTheme,\n\tAchCustomSectionType,\n\tAchMissionsTabsOptions,\n\tAchOverviewMissionsFilter,\n} from './AchCustomSection';\n\nexport interface UICustomSection {\n\tbody?: string;\n\tmenu_img?: string;\n\tmenu_name?: string;\n\tcustom_skin_images?: string;\n\tsection_type_id?: AchCustomSectionType;\n\ttheme?: AchCustomLayoutTheme;\n\tgeneric_custom_css?: string;\n\tmission_tabs_options?: AchMissionsTabsOptions;\n\toverview_missions_filter?: AchOverviewMissionsFilter;\n\toverview_missions_count?: number;\n}\n\nexport const UICustomSectionTransform = (items: UICustomSection[]): TUICustomSection[] => {\n\treturn items\n\t\t.filter((r) => r.section_type_id !== undefined && r.section_type_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TUICustomSection = {\n\t\t\t\tbody: r.body,\n\t\t\t\tmenu_img: r.menu_img,\n\t\t\t\tmenu_name: r.menu_name,\n\t\t\t\tsection_type_id: r.section_type_id,\n\t\t\t\tcustom_skin_images: r.custom_skin_images,\n\t\t\t\tgeneric_custom_css: r.generic_custom_css,\n\t\t\t\tmission_tabs_options: r.mission_tabs_options,\n\t\t\t\toverview_missions_count: r.overview_missions_count,\n\t\t\t\toverview_missions_filter: r.overview_missions_filter,\n\t\t\t\ttheme: r.theme,\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","import { BonusStatus } from './BonusStatus';\nimport { BonusTemplateMetaMap } from './BonusTemplateMetaMap';\nimport { BonusMetaMap } from './BonusMetaMap';\nimport { TBonus } from '../WSAPI/WSAPITypes';\n\nexport interface Bonus {\n\tid: number;\n\tredeemable?: boolean;\n\tcreateDate?: string;\n\tupdateDate?: string;\n\tredeemDate?: string;\n\tengagementUid?: string;\n\tlabelBonusTemplateId?: number;\n\tsourceProductRefId?: number;\n\tsourceProductId?: number;\n\tuserId?: number;\n\tbonusStatusId?: BonusStatus;\n\tlabelBonusTemplateMetaMap?: BonusTemplateMetaMap;\n\tbonusMetaMap?: BonusMetaMap;\n}\n\nexport const BonusItemsTransform = (items: Bonus[]): TBonus[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TBonus = {\n\n bonus_id: r.id,\n is_redeemable: r.redeemable,\n create_date: r.createDate,\n redeem_date: r.redeemDate,\n label_bonus_template_id: r.labelBonusTemplateId,\n bonus_status_id: r.bonusStatusId,\n label_bonus_template_meta_map: r.labelBonusTemplateMetaMap,\n bonus_meta_map: r.bonusMetaMap\n\t\t\t};\n\n\t\t\treturn x;\n\t\t});\n};","export enum BonusStatus {\n\tNew = 1,\n\tCOUPON_ISSUED = 2,\n\tREDEEMED = 3,\n\tREDEEM_FAILED = 4, \n\tCOUPON_ISSUE_FAILED = 5, \n\tEXPIRED = 6, \n}","import { ClassId } from './Base/ClassId';\nimport { ProtocolRequest } from './Base/ProtocolRequest';\nimport { ProtocolResponse } from './Base/ProtocolResponse';\nimport { SAWGetTemplatesResponse } from './MiniGames/SAWGetTemplatesResponse';\nimport { SAWGetTemplatesRequest } from './MiniGames/SAWGetTemplatesRequest';\nimport { IntUtils } from './IntUtils';\nimport { ILogger } from './ILogger';\nimport {\n\tSAWDoAknowledgeRequest,\n\tSAWDoAknowledgeResponse,\n\tSAWDoSpinRequest,\n\tSAWDoSpinResponse,\n\tSAWHistoryTransform,\n\tSAWPrizesHistory,\n\tSAWSpinErrorCode,\n\tSAWTemplate,\n\tSAWTemplatesTransform,\n\tSAWWinningHistoryRequest,\n\tSAWWinningHistoryResponse,\n} from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport {\n\tCoreUtils,\n\tGetTranslationsRequest,\n\tGetTranslationsResponse,\n\tPublicLabelSettings,\n\tResponseIdentify,\n\tTranslationArea,\n} from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport {\n\tGetInboxMessagesRequest,\n\tGetInboxMessagesResponse,\n\tInboxMessageBody,\n\tInboxMessageBodyTransform,\n\tInboxMessagesTransform,\n\tMarkInboxMessageDeletedRequest,\n\tMarkInboxMessageDeletedResponse,\n\tMarkInboxMessageReadRequest,\n\tMarkInboxMessageReadResponse,\n\tMarkInboxMessageStarredRequest,\n\tMarkInboxMessageStarredResponse,\n} from './Inbox';\nimport {\n\tBuyStoreItemRequest,\n\tBuyStoreItemResponse,\n\tGetCategoriesStoreResponse,\n\tGetStoreHistoryRequest,\n\tGetStoreHistoryResponse,\n\tGetStoreItemsResponse,\n\tStoreCategoryTransform,\n\tStoreItemPurchasedTransform,\n\tStoreItemTransform,\n} from './Store';\nimport {\n\tAchCategoryTransform,\n\tAchClaimPrizeRequest,\n\tAchClaimPrizeResponse,\n\tAchievementOptinRequest,\n\tAchievementOptinResponse,\n\tAchievementType,\n\tGetAchCategoriesResponse,\n\tGetAchievementMapRequest,\n\tGetAchievementMapResponse,\n\tUserAchievementTransform,\n} from './Missions';\nimport {\n\tGetTournamentInfoRequest,\n\tGetTournamentInfoResponse,\n\tGetTournamentsRequest,\n\tGetTournamentsResponse,\n\tTournamentItemsTransform,\n\tTournamentRegisterRequest,\n\tTournamentRegisterResponse,\n\ttournamentInfoItemTransform,\n} from './Tournaments';\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from './Leaderboard';\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from './Level';\nimport { WSAPI } from './WSAPI/WSAPI';\nimport {\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGameTemplate,\n\tTMissionOrBadge,\n\tTStoreCategory,\n\tTAchCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tLeaderBoardDetailsT,\n\tUserLevelExtraCountersT,\n\tTSegmentCheckResult,\n\tTUICustomSection,\n\tTBonus,\n\tTSawHistory,\n} from './WSAPI/WSAPITypes';\nimport { getLeaderBoardTransform } from './Leaderboard/LeaderBoards';\nimport { GetAchievementsUserInfoResponse } from './Core/GetAchievementsUserInfoResponse';\nimport { CheckSegmentMatchResponse } from './Core/CheckSegmentMatchResponse';\nimport { CheckSegmentMatchRequest } from './Core/CheckSegmentMatchRequest';\nimport {\n\tGetJackpotsPotsRequest,\n\tGetJackpotsPotsResponse,\n\tGetJackpotsRequest,\n\tGetJackpotsResponse,\n\tJackpotDetails,\n\tJackpotPot,\n\tJackpotsOptinRequest,\n\tJackpotsOptinResponse,\n\tJackpotsOptoutRequest,\n\tJackpotsOptoutResponse,\n} from './Jackpots';\nimport { GetCustomSectionsRequest, GetCustomSectionsResponse, UICustomSectionTransform } from './CustomSections';\nimport { BonusItemsTransform, ClaimBonusRequest, ClaimBonusResponse, GetBonusesResponse } from './Bonuses';\nimport { GetBonusesRequest } from './Bonuses/GetBonusesRequest';\nimport { SAWDoSpinBatchResponse } from './MiniGames/SAWDoSpinBatchResponse';\nimport { SAWDoSpinBatchRequest } from './MiniGames/SAWDoSpinBatchRequest';\nimport { SAWDoAcknowledgeBatchRequest } from './MiniGames/SAWDoAcknowledgeBatchRequest';\nimport { SAWDoAcknowledgeBatchResponse } from './MiniGames/SAWDoAcknowledgeBatchResponse';\nimport { GetRelatedAchTourRequest } from './Missions/GetRelatedAchTourRequest';\nimport { GetRelatedAchTourResponse } from './Missions/GetRelatedAchTourResponse';\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';\nconst C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services';\nconst AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';\nconst DEFAULT_LANG_EN = 'EN';\n\ninterface Tracker {\n\tlabel_api_key: string;\n\tuserPublicProps: any;\n\ton: (callBackKey: ClassId, func: (data: any) => void) => void;\n\tgetLabelSetting: (key: PublicLabelSettings) => any;\n}\ninterface IOptions {\n\tlogger?: ILogger;\n\tlogCIDs?: ClassId[];\n\tlogHTTPTiming?: boolean;\n\ttracker?: Tracker;\n}\n\ntype MessageSender = (message: any, publicApuUrl?: string, expectCID?: ClassId) => Promise<any>;\n\nclass SmarticoAPI {\n\tprivate publicUrl: string;\n\tprivate wsUrl: string;\n\tprivate inboxCdnUrl: string;\n\tprivate partnerUrl: string;\n\tpublic avatarDomain: string;\n\n\tprivate logger: ILogger;\n\tprivate logCIDs: ClassId[];\n\tprivate logHTTPTiming: boolean;\n\tpublic tracker?: Tracker;\n\n\tpublic constructor(\n\t\tprivate label_api_key: string,\n\t\tprivate brand_api_key: string,\n\t\tprivate messageSender: MessageSender,\n\t\toptions: IOptions = {},\n\t) {\n\t\tthis.logger = options.logger || (console as any);\n\n\t\tif (this.logger.always === undefined) {\n\t\t\tthis.logger.always = this.logger.info;\n\t\t}\n\n\t\tthis.logCIDs = options.logCIDs || [];\n\t\tthis.logHTTPTiming = options.logHTTPTiming || false;\n\t\tthis.tracker = options.tracker;\n\n\t\tthis.publicUrl = SmarticoAPI.getPublicUrl(label_api_key);\n\t\tthis.wsUrl = SmarticoAPI.getPublicWsUrl(label_api_key);\n\n\t\tthis.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key || options.tracker?.label_api_key);\n\n\t\tthis.label_api_key = SmarticoAPI.getCleanLabelApiKey(label_api_key);\n\t}\n\n\tpublic static getEnvDnsSuffix(label_api_key: string): string {\n\t\tlet ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';\n\n\t\tif (ENV_ID === '1' || ENV_ID === '2') {\n\t\t\tENV_ID = '';\n\t\t}\n\t\treturn ENV_ID;\n\t}\n\n\tpublic static getEnvId(label_api_key: string): number {\n\t\treturn label_api_key.length === 38 ? parseInt(label_api_key.substring(37, 38), 10) : 2;\n\t}\n\n\tpublic static getCleanLabelApiKey(label_api_key: string): string {\n\t\treturn label_api_key.substring(0, 36);\n\t}\n\n\tpublic static getPublicUrl(label_api_key: string): string {\n\t\treturn PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tpublic static getPublicWsUrl(label_api_key: string): string {\n\t\treturn C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tpublic static getAvatarUrl(label_api_key: string): string {\n\t\treturn AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tprivate async send<T>(message: any, expectCID?: ClassId, force_language?: string): Promise<T> {\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('REQ', message);\n\t\t}\n\n\t\tif (force_language) {\n\t\t\tmessage.force_language = force_language;\n\t\t}\n\n\t\tlet result: any;\n\n\t\ttry {\n\t\t\tconst timeStart = new Date().getTime();\n\t\t\tresult = await this.messageSender(message, this.publicUrl, expectCID);\n\t\t\tconst timeEnd = new Date().getTime();\n\n\t\t\tif (this.logHTTPTiming) {\n\t\t\t\tthis.logger.always('HTTP time, ms:' + (timeEnd - timeStart));\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis.logger.warn(`Failed to make request to smartico channel, L2. ${e.message}`, {\n\t\t\t\turl: this.publicUrl,\n\t\t\t\trequest: message,\n\t\t\t\terror: e.message,\n\t\t\t});\n\t\t\tthrow new Error(`Failed to make request to smartico channel, L2 L1. ${e.message}`);\n\t\t}\n\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('RES', result);\n\t\t}\n\n\t\tif (expectCID) {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tfor (const str of result as string[]) {\n\t\t\t\t\tconst obj: ProtocolResponse = JSON.parse(str);\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result);\n\t\t\t\t\t}\n\t\t\t\t\tif (obj.cid === expectCID) {\n\t\t\t\t\t\treturn obj as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.logger.error(`Cant find proper response in array, expected CID ${expectCID}`, {\n\t\t\t\t\trequest: message,\n\t\t\t\t\tresponse: result,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tif (result.length === 1) {\n\t\t\t\t\tconst obj = JSON.parse(result[0]);\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result);\n\t\t\t\t\t}\n\t\t\t\t\treturn obj;\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger.error('Expected one response, but got array', { request: message, response: result });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tprivate buildMessage<TRequest, TResponse>(user_ext_id: string, cid: ClassId, payload: Partial<TRequest> = {}): TResponse {\n\t\tconst message: ProtocolRequest = {\n\t\t\t// AA: in fact we need api and brand keys and ext_user_id only in the context of HTTP\n\t\t\t// its not needed in WebSocket and can be deleted\n\t\t\tapi_key: this.label_api_key,\n\t\t\tbrand_key: this.brand_api_key,\n\t\t\text_user_id: user_ext_id,\n\t\t\tcid,\n\t\t\tuuid: IntUtils.uuid(),\n\t\t\tts: new Date().getTime(),\n\t\t\t...payload,\n\t\t};\n\n\t\tif (message.ext_user_id === undefined || message.ext_user_id === null) {\n\t\t\tdelete message.ext_user_id;\n\t\t}\n\n\t\tif (message.brand_key === undefined || message.brand_key === null) {\n\t\t\tdelete message.brand_key;\n\t\t}\n\n\t\treturn message as any;\n\t}\n\n\tpublic async coreReportCustomEvent(user_ext_id: string, eventType: string, payload: any = {}): Promise<any> {\n\t\tconst eventMessage = this.buildMessage<any, any>(user_ext_id, ClassId.EVENT, {\n\t\t\teventType,\n\t\t\tpayload,\n\t\t});\n\n\t\tconst eventResponse = await this.send<any>(eventMessage, ClassId.EVENT_RESPONSE);\n\t\treturn eventResponse;\n\t}\n\n\tpublic async coreGetTranslations(\n\t\tuser_ext_id: string,\n\t\tlang_code: string,\n\t\tareas: TranslationArea[],\n\t\tcacheSec: number = 60,\n\t): Promise<GetTranslationsResponse> {\n\t\tif (lang_code === undefined || lang_code === null || (lang_code.trim && lang_code.trim() === '')) {\n\t\t\tlang_code = DEFAULT_LANG_EN;\n\t\t}\n\n\t\tconst response = await OCache.use<GetTranslationsResponse>(\n\t\t\t`${lang_code}-${this.label_api_key}-${this.brand_api_key}`,\n\t\t\tECacheContext.Translations,\n\t\t\tasync () => {\n\t\t\t\tconst tsBaseRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(\n\t\t\t\t\tuser_ext_id,\n\t\t\t\t\tClassId.GET_TRANSLATIONS_REQUEST,\n\t\t\t\t\t{\n\t\t\t\t\t\tlang_code: DEFAULT_LANG_EN,\n\t\t\t\t\t\thash_code: 0,\n\t\t\t\t\t\tareas,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tconst trBase = await this.send<GetTranslationsResponse>(tsBaseRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n\t\t\t\tif (lang_code !== DEFAULT_LANG_EN) {\n\t\t\t\t\tconst trUserRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(\n\t\t\t\t\t\tuser_ext_id,\n\t\t\t\t\t\tClassId.GET_TRANSLATIONS_REQUEST,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlang_code,\n\t\t\t\t\t\t\thash_code: 0,\n\t\t\t\t\t\t\tareas,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\tconst trUser = await this.send<GetTranslationsResponse>(trUserRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n\t\t\t\t\tObject.keys(trUser?.translations ?? {}).forEach((k) => {\n\t\t\t\t\t\ttrBase.translations[k] = trUser.translations[k];\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn trBase;\n\t\t\t},\n\t\t\tcacheSec,\n\t\t);\n\n\t\treturn response;\n\t}\n\n\tpublic async coreIdentifyLabel(user_ext_id: string, cacheSec: number = 60): Promise<GetLabelInfoResponse> {\n\t\treturn OCache.use<GetLabelInfoResponse>(\n\t\t\t`${this.label_api_key} - ${this.brand_api_key}`,\n\t\t\tECacheContext.LabelInfo,\n\t\t\tasync () => {\n\t\t\t\tconst message = this.buildMessage<GetLabelInfoResponse, GetLabelInfoRequest>(user_ext_id, ClassId.INIT);\n\n\t\t\t\treturn this.send<GetLabelInfoResponse>(message, ClassId.INIT_RESPONSE);\n\t\t\t},\n\t\t\tcacheSec,\n\t\t);\n\t}\n\n\tpublic async coreIdentifyUser(user_ext_id: string): Promise<ResponseIdentify> {\n\t\tconst message = this.buildMessage<any, ResponseIdentify>(user_ext_id, ClassId.IDENTIFY, {\n\t\t\trequest_id: IntUtils.uuid(), // AA: do we need request_id?\n\t\t});\n\n\t\tconst r = await this.send<ResponseIdentify>(message, ClassId.IDENTIFY_RESPONSE);\n\n\t\tr.avatar_id = CoreUtils.avatarUrl(r.avatar_id, this.avatarDomain);\n\n\t\treturn r;\n\t}\n\n\tpublic async coreChangeUsername(\n\t\tuser_ext_id: string,\n\t\tpublic_username_custom: string,\n\t): Promise<{ public_username_custom: string }> {\n\t\tconst message = this.buildMessage<any, any>(user_ext_id, ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {\n\t\t\tpublic_username_custom,\n\t\t});\n\n\t\treturn await this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);\n\t}\n\n\tpublic async coreCheckSegments(user_ext_id: string, segment_id: number[]): Promise<TSegmentCheckResult[]> {\n\t\tconst message = this.buildMessage<CheckSegmentMatchRequest, any>(user_ext_id, ClassId.CHECK_SEGMENT_MATCH_REQUEST, {\n\t\t\tsegment_id,\n\t\t});\n\n\t\tconst results = await this.send<CheckSegmentMatchResponse>(message, ClassId.CHECK_SEGMENT_MATCH_RESPONSE);\n\n\t\treturn results.segments || [];\n\t}\n\n\tpublic async jackpotGet(\n\t\tuser_ext_id: string,\n\t\tfilter?: { related_game_id?: string; jp_template_id?: number },\n\t\tforce_language?: string,\n\t): Promise<GetJackpotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsRequest, GetJackpotsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_GET_JACKPOTS_REQUEST,\n\t\t\tfilter,\n\t\t);\n\t\treturn await this.send<GetJackpotsResponse>(message, ClassId.JP_GET_JACKPOTS_RESPONSE, force_language);\n\t}\n\n\tpublic async potGet(user_ext_id: string, filter: { jp_template_ids: number[] }): Promise<GetJackpotsPotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsPotsRequest, GetJackpotsPotsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_GET_LATEST_POTS_REQUEST,\n\t\t\tfilter,\n\t\t);\n\t\treturn await this.send<GetJackpotsPotsResponse>(message, ClassId.JP_GET_LATEST_POTS_RESPONSE);\n\t}\n\n\tpublic async jackpotOptIn(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptinRequest, JackpotsOptinResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_OPTIN_REQUEST,\n\t\t\tpayload,\n\t\t);\n\t\treturn await this.send<JackpotsOptinResponse>(message, ClassId.JP_OPTIN_RESPONSE);\n\t}\n\n\tpublic async jackpotOptOut(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptoutRequest, JackpotsOptoutResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_OPTOUT_REQUEST,\n\t\t\tpayload,\n\t\t);\n\t\treturn await this.send<JackpotsOptoutResponse>(message, ClassId.JP_OPTOUT_RESPONSE);\n\t}\n\n\tpublic async sawGetTemplates(\n\t\tuser_ext_id: string,\n\t\tforce_language?: string,\n\t\tis_visitor_mode: boolean = false,\n\t): Promise<SAWGetTemplatesResponse> {\n\t\tconst message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_GET_SPINS_REQUEST,\n\t\t\t{ is_visitor_mode },\n\t\t);\n\n\t\tconst response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE, force_language);\n\n\t\tif (response && response.templates) {\n\t\t\tresponse.templates.forEach((t) => {\n\t\t\t\tif (t.jackpot_current !== undefined && t.jackpot_current !== null) {\n\t\t\t\t\tconst jackpotValue =\n\t\t\t\t\t\tt.jackpot_current +\n\t\t\t\t\t\t(t.saw_template_ui_definition?.jackpot_symbol ? ' ' + t.saw_template_ui_definition?.jackpot_symbol : '');\n\t\t\t\t\tt.saw_template_ui_definition.name = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.name,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.saw_template_ui_definition.description = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.description,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.saw_template_ui_definition.promo_text = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.promo_text,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.prizes.forEach((p) => {\n\t\t\t\t\t\tp.saw_prize_ui_definition.name = IntUtils.replaceAll(\n\t\t\t\t\t\t\tp.saw_prize_ui_definition.name,\n\t\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tp.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(\n\t\t\t\t\t\t\tp.saw_prize_ui_definition.aknowledge_message,\n\t\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tpublic async sawGetTemplatesT(user_ext_id: string): Promise<TMiniGameTemplate[]> {\n\t\treturn SAWTemplatesTransform((await this.sawGetTemplates(user_ext_id)).templates);\n\t}\n\n\tpublic async doAcknowledgeRequest(user_ext_id: string, request_id: string): Promise<SAWDoAknowledgeResponse> {\n\t\tconst message = this.buildMessage<SAWDoAknowledgeRequest, SAWDoAknowledgeResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_AKNOWLEDGE_REQUEST,\n\t\t\t{\n\t\t\t\trequest_id,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<SAWDoAknowledgeResponse>(message, ClassId.SAW_AKNOWLEDGE_RESPONSE);\n\t}\n\n\tpublic async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id?: number): Promise<SAWDoSpinResponse> {\n\t\tif (!saw_template_id) {\n\t\t\tthrow new Error('Missing template id');\n\t\t}\n\n\t\tconst request_id = IntUtils.uuid();\n\n\t\tconst message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n\t\t\tsaw_template_id,\n\t\t\trequest_id,\n\t\t});\n\n\t\tconst spinAttemptResponse = await this.send<SAWDoSpinResponse>(message, ClassId.SAW_DO_SPIN_RESPONSE);\n\n\t\t// to simulate fail\n\t\t// response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;\n\n\t\tconst status: string =\n\t\t\t{\n\t\t\t\t[SAWSpinErrorCode.SAW_OK]: 'OK',\n\t\t\t\t[SAWSpinErrorCode.SAW_NO_SPINS]: 'NO SPINS AVAILABLE',\n\t\t\t\t[SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY]: 'PRIZE POOL IS EMPTY',\n\t\t\t\t[SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS]: 'NOT ENOUGH POINTS',\n\t\t\t\t[SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED]: 'MAX SPIN ATTEMPTS REACHED',\n\t\t\t\t[SAWSpinErrorCode.SAW_TEMPLATE_NOT_ACTIVE]: \"MINIGAME IS NOT IN ACTIVE PERIOD\",\n\t\t\t}[spinAttemptResponse.errCode] || 'OTHER';\n\n\t\tawait this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n\t\t\tsaw_template_id,\n\t\t\tstatus,\n\t\t\tround_id,\n\t\t});\n\n\t\treturn { ...spinAttemptResponse, request_id };\n\t}\n\n\n\tpublic async doAcknowledgeBatchRequest(user_ext_id: string, request_ids: string[]): Promise<SAWDoAcknowledgeBatchResponse> {\n\t\tconst message = this.buildMessage<SAWDoAcknowledgeBatchRequest, SAWDoAcknowledgeBatchResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_AKNOWLEDGE_REQUEST,\n\t\t\t{\n\t\t\t\trequest_ids,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<SAWDoAcknowledgeBatchResponse>(message, ClassId.SAW_AKNOWLEDGE_BATCH_RESPONSE);\n\t}\n\n\tpublic async sawSpinBatchRequest(user_ext_id: string, saw_template_id: number, spins_count: number): Promise<SAWDoSpinBatchResponse> {\n\n\t\tconst spins = [];\n\t\tfor (let i = 0; i < spins_count; i++) {\n\t\t\tconst request_id = IntUtils.uuid();\n\t\t\tspins.push({ request_id, saw_template_id })\n\t\t}\n\n\t\tconst message = this.buildMessage<SAWDoSpinBatchRequest, SAWDoSpinBatchResponse>(user_ext_id, ClassId.SAW_DO_SPIN_BATCH_REQUEST, { spins });\n\t\tconst spinAttemptResponse = await this.send<SAWDoSpinBatchResponse>(message, ClassId.SAW_DO_SPIN_BATCH_RESPONSE);\n\n\t\t// If one response is 'OK' we consider that whole result is 'OK'\n\t\tconst result = spinAttemptResponse.results.find((res) => res.errCode === 0);\n\n\t\tlet status = 'OK';\n\t\tif (!result) {\n\t\t\tstatus = 'BATCH FAIL';\n\t\t}\n\n\t\tawait this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n\t\t\tsaw_template_id,\n\t\t\tstatus,\n\t\t\tspins_count,\n\t\t});\n\n\t\treturn { ...spinAttemptResponse };\n\t}\n\n\tpublic async getSawWinningHistory(user_ext_id: string, limit: number = 20, offset: number = 0, saw_template_id: number): Promise<SAWWinningHistoryResponse> {\n\t\tconst message = this.buildMessage<SAWWinningHistoryRequest, SAWWinningHistoryResponse>(user_ext_id, ClassId.GET_SAW_HISTORY_REQUEST, {\n\t\t\tlimit, offset, saw_template_id\n\t\t})\n\n\t\treturn await this.send<SAWWinningHistoryResponse>(message, ClassId.GET_SAW_HISTORY_RESPONSE);\n\t}\n\n\tpublic async getSawWinningHistoryT(user_ext_id: string, limit?: number, offset?: number, saw_template_id?: number): Promise<SAWPrizesHistory[]> {\n\t\treturn SAWHistoryTransform((await this.getSawWinningHistory(user_ext_id, limit, offset, saw_template_id)).prizes);\n\t}\n\t\n\tpublic async missionOptIn(user_ext_id: string, mission_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id');\n\t\t}\n\t\tconst message = this.buildMessage<AchievementOptinRequest, AchievementOptinResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MISSION_OPTIN_REQUEST,\n\t\t\t{\n\t\t\t\tachievementId: mission_id,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<AchievementOptinResponse>(message, ClassId.MISSION_OPTIN_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async missionClaimPrize(user_ext_id: string, mission_id: number, ach_completed_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id');\n\t\t}\n\n\t\tconst message = this.buildMessage<AchClaimPrizeRequest, AchClaimPrizeResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.ACHIEVEMENT_CLAIM_PRIZE_REQUEST,\n\t\t\t{\n\t\t\t\tach_id: mission_id,\n\t\t\t\tach_completed_id: ach_completed_id,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<AchClaimPrizeResponse>(message, ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async registerInTournament(user_ext_id: string, tournamentInstanceId: number) {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id');\n\t\t}\n\t\tconst message = this.buildMessage<TournamentRegisterRequest, TournamentRegisterResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.TOURNAMENT_REGISTER_REQUEST,\n\t\t\t{\n\t\t\t\ttournamentInstanceId,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<TournamentRegisterResponse>(message, ClassId.TOURNAMENT_REGISTER_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async buyStoreItem(user_ext_id: string, itemId: number) {\n\t\tif (!itemId) {\n\t\t\tthrow new Error('Missing store item id');\n\t\t}\n\t\tconst message = this.buildMessage<BuyStoreItemRequest, BuyStoreItemResponse>(user_ext_id, ClassId.BUY_SHOP_ITEM_REQUEST, {\n\t\t\titemId,\n\t\t});\n\n\t\tconst res = await this.send<BuyStoreItemResponse>(message, ClassId.BUY_SHOP_ITEM_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async inboxGetMessages(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 10,\n\t\toffset: number = 0,\n\t): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_INBOX_MESSAGES_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\t}\n\n\tpublic async storeGetItems(user_ext_id: string, force_language?: string): Promise<GetStoreItemsResponse> {\n\t\tconst message = this.buildMessage<any, GetStoreItemsResponse>(user_ext_id, ClassId.GET_SHOP_ITEMS_REQUEST);\n\t\treturn await this.send<GetStoreItemsResponse>(message, ClassId.GET_SHOP_ITEMS_RESPONSE, force_language);\n\t}\n\n\tpublic async storeGetItemsT(user_ext_id: string): Promise<TStoreItem[]> {\n\t\treturn StoreItemTransform((await this.storeGetItems(user_ext_id)).items);\n\t}\n\n\tpublic async storeGetCategories(user_ext_id: string, force_language?: string): Promise<GetCategoriesStoreResponse> {\n\t\tconst message = this.buildMessage<any, GetCategoriesStoreResponse>(user_ext_id, ClassId.GET_SHOP_CATEGORIES_REQUEST);\n\t\treturn await this.send<GetCategoriesStoreResponse>(message, ClassId.GET_SHOP_CATEGORIES_RESPONSE, force_language);\n\t}\n\n\tpublic async storeGetCategoriesT(user_ext_id: string): Promise<TStoreCategory[]> {\n\t\treturn StoreCategoryTransform((await this.storeGetCategories(user_ext_id)).categories);\n\t}\n\n\tpublic async storeGetPurchasedItems(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 20,\n\t\toffset: number = 0,\n\t): Promise<GetStoreHistoryResponse> {\n\t\tconst message = this.buildMessage<GetStoreHistoryRequest, GetStoreHistoryResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.ACH_SHOP_ITEM_HISTORY_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<GetStoreHistoryResponse>(message, ClassId.ACH_SHOP_ITEM_HISTORY_RESPONSE);\n\t}\n\n\tpublic async storeGetPurchasedItemsT(user_ext_id: string, limit?: number, offset?: number): Promise<TStoreItem[]> {\n\t\treturn StoreItemPurchasedTransform((await this.storeGetPurchasedItems(user_ext_id, limit, offset)).items);\n\t}\n\n\tpublic async missionsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetAchievementMapResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with badgesGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response };\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Mission);\n\t\t}\n\t\treturn responseClone;\n\t}\n\n\tpublic async missionsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.missionsGetItems(user_ext_id)).achievements);\n\t}\n\n\tpublic async getUserGamificationInfo(user_ext_id: string): Promise<GetAchievementsUserInfoResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementsUserInfoResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_USER_REQUEST,\n\t\t);\n\n\t\treturn await this.send<GetAchievementsUserInfoResponse>(message, ClassId.GET_ACHIEVEMENT_USER_RESPONSE);\n\t}\n\n\tpublic async getUserGamificationInfoT(user_ext_id: string): Promise<UserLevelExtraCountersT> {\n\t\tconst response = await this.getUserGamificationInfo(user_ext_id);\n\n\t\treturn {\n\t\t\tlevel_counter_1: response.level_counter_1,\n\t\t\tlevel_counter_2: response.level_counter_2,\n\t\t};\n\t}\n\n\tpublic async achGetCategories(user_ext_id: string, force_language?: string): Promise<GetAchCategoriesResponse> {\n\t\tconst message = this.buildMessage<any, GetAchCategoriesResponse>(user_ext_id, ClassId.GET_ACH_CATEGORIES_REQUEST);\n\t\treturn await this.send<GetAchCategoriesResponse>(message, ClassId.GET_ACH_CATEGORIES_RESPONSE, force_language);\n\t}\n\n\tpublic async achGetCategoriesT(user_ext_id: string): Promise<TAchCategory[]> {\n\t\treturn AchCategoryTransform((await this.achGetCategories(user_ext_id)).categories);\n\t}\n\n\tpublic async badgetsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetAchievementMapResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with missionsGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response };\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Badge);\n\t\t}\n\t\treturn responseClone;\n\t}\n\n\tpublic async bonusesGetItems(user_ext_id: string, force_language?: string): Promise<GetBonusesResponse> {\n\t\tconst message = this.buildMessage<GetBonusesRequest, GetBonusesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_BONUSES_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetBonusesResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_BONUSES_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t\n\t\tconst responseClone = { ...response };\n\n\t\treturn responseClone;\n\t}\n\tpublic async bonusClaimItem(user_ext_id: string, bonus_id: number): Promise<ClaimBonusResponse> {\n\t\tconst message = this.buildMessage<ClaimBonusRequest, ClaimBonusResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.CLAIM_BONUS_REQUEST,\n\t\t\t{ bonusId: bonus_id }\n\n\t\t);\n\t\tconst response = await this.send<ClaimBonusResponse>(\n\t\t\tmessage,\n\t\t\tClassId.CLAIM_BONUS_RESPONSE,\n\n\t\t);\n\t\t\n\t\tconst responseClone = { ...response };\n\n\t\treturn responseClone;\n\t}\n\n\tpublic async bonusesGetItemsT(user_ext_id: string): Promise<TBonus[]> {\n\t\treturn BonusItemsTransform((await this.bonusesGetItems(user_ext_id)).bonuses);\n\t}\n\n\tpublic async badgetsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.badgetsGetItems(user_ext_id)).achievements);\n\t}\n\n\tpublic async tournamentsGetLobby(user_ext_id: string, force_language?: string): Promise<GetTournamentsResponse> {\n\t\tconst message = this.buildMessage<GetTournamentsRequest, GetTournamentsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_TOURNAMENT_LOBBY_REQUEST,\n\t\t);\n\t\treturn await this.send<GetTournamentsResponse>(message, ClassId.GET_TOURNAMENT_LOBBY_RESPONSE, force_language);\n\t}\n\n\tpublic async tournamentsGetLobbyT(user_ext_id: string): Promise<TTournament[]> {\n\t\treturn TournamentItemsTransform((await this.tournamentsGetLobby(user_ext_id)).tournaments);\n\t}\n\n\tpublic async tournamentsGetInfo(\n\t\tuser_ext_id: string,\n\t\ttournamentInstanceId: number,\n\t\tforce_language?: string,\n\t): Promise<GetTournamentInfoResponse> {\n\t\tconst message = this.buildMessage<GetTournamentInfoRequest, GetTournamentInfoResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_TOURNAMENT_INFO_REQUEST,\n\t\t\t{\n\t\t\t\ttournamentInstanceId,\n\t\t\t},\n\t\t);\n\t\tconst response = await this.send<GetTournamentInfoResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_TOURNAMENT_INFO_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\n\t\tif (response.userPosition?.avatar_id) {\n\t\t\tresponse.userPosition.avatar_url = CoreUtils.avatarUrl(response.userPosition.avatar_id, this.avatarDomain);\n\t\t}\n\n\t\tif (response.tournamentInfo?.players?.length) {\n\t\t\tresponse.tournamentInfo.players.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n\t\t\t});\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tpublic async tournamentsGetInfoT(user_ext_id: string, tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id');\n\t\t}\n\t\tconst response = await this.tournamentsGetInfo(user_ext_id, tournamentInstanceId);\n\t\treturn tournamentInfoItemTransform(response);\n\t}\n\n\tpublic async leaderboardGet(\n\t\tuser_ext_id: string,\n\t\tperiod_type_id?: LeaderBoardPeriodType,\n\t\tprevPeriod: boolean = false,\n\t\tforce_language?: string,\n\t): Promise<LeaderBoardDetails> {\n\t\tconst message = this.buildMessage<GetLeaderBoardsRequest, GetLeaderBoardsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_LEADERS_BOARD_REQUEST,\n\t\t\t{\n\t\t\t\tperiod_type_id,\n\t\t\t\tsnapshot_offset: prevPeriod ? 1 : 0,\n\t\t\t\tinclude_users: true,\n\t\t\t},\n\t\t);\n\n\t\tconst response = await this.send<GetLeaderBoardsResponse>(message, ClassId.GET_LEADERS_BOARD_RESPONSE, force_language);\n\n\t\tconst boardKey = Object.keys(response.map).find((k) => period_type_id === undefined || k === period_type_id?.toString());\n\n\t\tif (boardKey === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (response.map[boardKey]?.userPosition?.avatar_id) {\n\t\t\tresponse.map[boardKey].userPosition.avatar_url = CoreUtils.avatarUrl(\n\t\t\t\tresponse.map[boardKey].userPosition.avatar_id,\n\t\t\t\tthis.avatarDomain,\n\t\t\t);\n\t\t}\n\n\t\tif (response.map[boardKey]?.positions?.length) {\n\t\t\tresponse.map[boardKey].positions.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n\t\t\t});\n\t\t}\n\n\t\treturn response.map[boardKey];\n\t}\n\n\tpublic async leaderboardsGetT(\n\t\tuser_ext_id: string,\n\t\tperiod_type_id: LeaderBoardPeriodType = LeaderBoardPeriodType.DAILY,\n\t\tprevPeriod: boolean = false,\n\t): Promise<LeaderBoardDetailsT> {\n\t\treturn getLeaderBoardTransform(await this.leaderboardGet(user_ext_id, period_type_id, prevPeriod));\n\t}\n\n\tpublic async levelsGet(user_ext_id: string, force_language?: string): Promise<GetLevelMapResponse> {\n\t\tconst message = this.buildMessage<any, GetLevelMapResponse>(user_ext_id, ClassId.GET_LEVEL_MAP_REQUEST);\n\t\treturn await this.send<GetLevelMapResponse>(message, ClassId.GET_LEVEL_MAP_RESPONSE, force_language);\n\t}\n\n\tpublic async levelsGetT(user_ext_id: string): Promise<TLevel[]> {\n\t\treturn GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));\n\t}\n\n\tpublic async getCustomSections(user_ext_id: string): Promise<GetCustomSectionsResponse> {\n\t\tconst message = this.buildMessage<GetCustomSectionsRequest, GetCustomSectionsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_CUSTOM_SECTIONS_REQUEST,\n\t\t);\n\t\treturn await this.send<GetCustomSectionsResponse>(message, ClassId.GET_CUSTOM_SECTIONS_RESPONSE);\n\t}\n\n\tpublic async getCustomSectionsT(user_ext_id: string): Promise<TUICustomSection[]> {\n\t\treturn UICustomSectionTransform(Object.values((await this.getCustomSections(user_ext_id)).customSections));\n\t}\n\n\tpublic async getTranslationsT(\n\t\tuser_ext_id: string,\n\t\tlang_code: string,\n\t\tareas: TranslationArea[],\n\t\tcacheSec: number = 60,\n\t): Promise<GetTranslationsResponse> {\n\t\treturn await this.coreGetTranslations(user_ext_id, lang_code, areas, 30);\n\t}\n\n\tpublic async getInboxMessages(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 20,\n\t\toffset: number = 0,\n\t\tstarred_only: boolean,\n\t): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_INBOX_MESSAGES_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t\tstarred_only,\n\t\t\t},\n\t\t);\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\t}\n\n\tpublic async getInboxMessagesT(\n\t\tuser_ext_id: string,\n\t\tfrom: number = 0,\n\t\tto: number = 20,\n\t\tfavoriteOnly: boolean = false,\n\t): Promise<TInboxMessage[]> {\n\t\tconst limit = to - from > 20 ? 20 : to - from;\n\t\tconst offset = from;\n\n\t\treturn InboxMessagesTransform((await this.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).log);\n\t}\n\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<InboxMessageBody> {\n\t\tconst getMessageBody = async (messageGuid: string): Promise<InboxMessageBody> => {\n\t\t\tconst inboxCdnUrl = this.tracker.getLabelSetting(PublicLabelSettings.INBOX_PUBLIC_CDN);\n\n\t\t\ttry {\n\t\t\t\tconst url = `${inboxCdnUrl}${messageGuid}.json`;\n\n\t\t\t\tconst response = await fetch(url, {\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Accept': 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tconst data = await response.json();\n\t\t\t\treturn data || {};\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger.error('Error fetching inbox message body:', error);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\n\t\treturn await getMessageBody(messageGuid);\n\t}\n\n\tpublic async getInboxMessageBodyT(messageGuid: string): Promise<TInboxMessageBody> {\n\t\tconst message = await this.getInboxMessageBody(messageGuid);\n\t\treturn InboxMessageBodyTransform(message);\n\t}\n\n\tpublic async markInboxMessageRead(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_READ_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n\t}\n\n\tpublic async markAllInboxMessageRead(user_ext_id: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_READ_REQUEST,\n\t\t\t{\n\t\t\t\tall_read: true,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n\t}\n\n\tpublic async markUnmarkInboxMessageAsFavorite(\n\t\tuser_ext_id: string,\n\t\tmessageGuid: string,\n\t\tmark: boolean,\n\t): Promise<MarkInboxMessageStarredResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_STARRED_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t\tis_starred: mark,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageStarredResponse>(message, ClassId.MARK_INBOX_STARRED_RESPONSE);\n\t}\n\n\tpublic async deleteInboxMessage(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_DELETED_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n\t}\n\n\tpublic async deleteAllInboxMessages(user_ext_id: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_DELETED_REQUEST,\n\t\t\t{\n\t\t\t\tall_deleted: true,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n\t}\n\n\tpublic getWSCalls(): WSAPI {\n\t\treturn new WSAPI(this);\n\t}\n\n\tpublic async getRelatedItemsForGame(user_ext_id: string, related_game_id: string,): Promise<GetRelatedAchTourResponse> {\n\t\tconst message = this.buildMessage< GetRelatedAchTourRequest, GetRelatedAchTourResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_RELATED_ACH_N_TOURNAMENTS_REQUEST,\n\t\t\t{\n\t\t\t\trelated_game_id: related_game_id\n\t\t\t}\n\t\t);\n\t\t\n\t\treturn await this.send<GetRelatedAchTourResponse>(message, ClassId.GET_RELATED_ACH_N_TOURNAMENTS_RESPONSE);\n\n\t}\n}\n\nexport { SmarticoAPI, MessageSender };\n","import { TSMap } from 'typescript-map';\n\nclass CookieStore {\n\tprivate static cookieStore = new TSMap<string, string[]>();\n\n\tpublic static get(key: string): string[] | undefined {\n\t\treturn CookieStore.cookieStore.get(key);\n\t}\n\n\tpublic static set(key: string, value: string[]) {\n\t\tconst v = value.map((v) => v.split(';')[0]);\n\t\tCookieStore.cookieStore.set(key, v);\n\t}\n}\n\nexport { CookieStore };\n","export enum QuizSportType {\n\tSoccer = 1,\n\tBasketball = 2,\n\tTennis = 5,\n}\n\nexport const quizSupportedSports = [QuizSportType.Basketball, QuizSportType.Soccer, QuizSportType.Tennis];\n","export enum SAWGPMarketType {\n\tTwoTeamsWithScore = 1,\n\tRedCard = 2,\n\tOneXTwo = 3,\n\tOneXTwoHalftime = 4,\n\t// HalftimeFulltime = 5,\n\tFirstGoal = 6,\n\tDoubleChance = 7,\n\tOverUnder2_5 = 8,\n\tOverUnder1_5Halftime = 9,\n\tOverUnder1_5__2ndHalf = 10,\n\tTotalCorners8_5 = 11,\n\tTotalCorners9_5 = 12,\n\tCorners1x2 = 13,\n\tOne_Two = 14,\n\tOvertime = 15,\n\tOddEven = 16,\n\tOddEvenHomeAway = 17,\n\tFirstSet = 18,\n\tSecondSet = 19,\n\tThirdSet = 20,\n\tFourthSet = 21,\n\tFifthSet = 22,\n\tPlayerOneWinsOneSet = 23,\n\tPlayerTwoWinsOneSet = 24,\n\tLastGoal = 25,\n\n\tCustomSport = 26,\n\tCustomNonSport = 27,\n}\n","export enum QuizAnswersValueType {\n\tHomeTeam = '1',\n\tAwayTeam = '2',\n\tDraw = 'x',\n\tHomeTeamHomeTeam = '1/1',\n\tHomeTeamDraw = '1/x',\n\tHomeTeamAwayTeam = '1/2',\n\tDrawHomeTeam = 'x/1',\n\tDrawDraw = 'x/x',\n\tDrawAwayTeam = 'x/2',\n\tAwayTeamHomeTeam = '2/1',\n\tAwayTeamDraw = '2/x',\n\tAwayTeamAwayTeam = '2/2',\n\tYes = 'yes',\n\tNo = 'no',\n\tOdd = 'odd',\n\tEven = 'even',\n\tHomeOdd = '1/odd',\n\tHomeEven = '1/even',\n\tAwayOdd = '2/odd',\n\tAwayEven = '2/even',\n}\n\nexport const quizAnswerHomeTeamReplacementText = '{quiz_home_team}';\nexport const quizAnswerAwayTeamReplacementText = '{quiz_away_team}';\nexport const quizDrawReplacementText = '{quiz_draw}';\nexport const quizYesReplacementText = '{yes}';\nexport const quizNoReplacementText = '{no}';\nexport const quizOddReplacementText = '{odd}';\nexport const quizEvenReplacementText = '{even}';\nexport const quizOrReplacementText = '{or}';\nexport const quizNoGoalsReplacementText = '{quiz_no_goals}';\n\nexport const quizAnswersTrKeys = {\n\t[quizDrawReplacementText]: 'quizAnswer_draw',\n\t[quizYesReplacementText]: 'quizAnswer_yes',\n\t[quizNoReplacementText]: 'quizAnswer_no',\n\t[quizOddReplacementText]: 'quizAnswer_odd',\n\t[quizEvenReplacementText]: 'quizAnswer_even',\n\t[quizOrReplacementText]: 'quizAnswer_or',\n\t[quizNoGoalsReplacementText]: 'quizAnswer_no_goals',\n};\n","import {\n\tQuizAnswersValueType,\n\tquizAnswerAwayTeamReplacementText,\n\tquizAnswerHomeTeamReplacementText,\n\tquizDrawReplacementText,\n\tquizEvenReplacementText,\n\tquizNoGoalsReplacementText,\n\tquizNoReplacementText,\n\tquizOddReplacementText,\n\tquizOrReplacementText,\n\tquizYesReplacementText,\n} from './MarketsAnswers';\nimport { SAWGPMarketType } from './MarketsType';\n\nconst yesNoAnswers = [\n\t{ text: quizYesReplacementText, value: QuizAnswersValueType.Yes },\n\t{ text: quizNoReplacementText, value: QuizAnswersValueType.No },\n];\n\nconst homeAwayAnswers = [\n\t{ text: quizAnswerHomeTeamReplacementText, value: QuizAnswersValueType.HomeTeam },\n\t{ text: quizAnswerAwayTeamReplacementText, value: QuizAnswersValueType.AwayTeam },\n];\n\nconst homeAwayDrawAnswers = [...homeAwayAnswers, { text: quizDrawReplacementText, value: QuizAnswersValueType.Draw }];\nconst homeAwayNoGoalsAnswers = [...homeAwayAnswers, { text: quizNoGoalsReplacementText, value: QuizAnswersValueType.Draw }];\n\nexport const marketsInfo = [\n\t{\n\t\ttype: SAWGPMarketType.OneXTwo,\n\t\tname: '1x2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1x2' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OneXTwoHalftime,\n\t\tname: '1x2 Halftime',\n\t\tquestion: { text: 'Who will lead the first half of the match ?', trKey: 'quizQuestion_x2half' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t// {\n\t// \ttype: SAWGPMarketType.HalftimeFulltime,\n\t// \tname: 'Halftime / Fulltime',\n\t// \tquestion: { text: 'Who will lead the first half and who will win the match ?', trKey: 'quizQuestion__HalftimeFulltime' },\n\t// \tanswers: [\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.HomeTeamHomeTeam,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizDrawReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.HomeTeamDraw,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.HomeTeamAwayTeam,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizDrawReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.DrawHomeTeam,\n\t// \t\t},\n\t// \t\t{ text: `${quizDrawReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.DrawDraw },\n\t// \t\t{\n\t// \t\t\ttext: `${quizDrawReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.DrawAwayTeam,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.AwayTeamHomeTeam,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizDrawReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.AwayTeamDraw,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.AwayTeamAwayTeam,\n\t// \t\t},\n\t// \t],\n\t// },\n\t{\n\t\ttype: SAWGPMarketType.FirstGoal,\n\t\tname: 'First Goal',\n\t\tquestion: { text: 'Who will score the first goal ?', trKey: 'quizQuestion_firstGoal' },\n\t\tanswers: homeAwayNoGoalsAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.LastGoal,\n\t\tname: 'Last Goal',\n\t\tquestion: { text: 'Who will score the last goal ?', trKey: 'quizQuestion_lastGoal' },\n\t\tanswers: homeAwayNoGoalsAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.DoubleChance,\n\t\tname: 'Double Chance',\n\t\tquestion: { text: 'Who will win the match? Choose a combination:', trKey: 'quizQuestion_doubleChance' },\n\t\tanswers: [\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamDraw,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamAwayTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamDraw,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder2_5,\n\t\tname: 'Over/Under 2.5',\n\t\tquestion: { text: 'Will there be 3 or more goals in the match?', trKey: 'quizQuestion_overUnder2_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5Halftime,\n\t\tname: 'Over/Under 1.5 Halftime',\n\t\tquestion: { text: 'Will there be 2 or more goals in the first half?', trKey: 'quizQuestion_overUnder1_5Halftime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tname: 'Over/Under 1.5 2nd Half',\n\t\tquestion: { text: 'Will there be 2 or more goals in the second half?', trKey: 'quizQuestion_overUnder1_5__2ndHalf' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.RedCard,\n\t\tname: 'Red Card',\n\t\tquestion: { text: 'Will there be a red card in the match?', trKey: 'quizQuestion_redCard' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners8_5,\n\t\tname: 'Total Corners 8.5',\n\t\tquestion: { text: 'Will there be 9 or more corners in the match?', trKey: 'quizQuestion_totalCorners8_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners9_5,\n\t\tname: 'Total Corners 9.5',\n\t\tquestion: { text: 'Will there be 10 or more corners in the match?', trKey: 'quizQuestion_totalCorners9_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Corners1x2,\n\t\tname: 'Corners 1x2',\n\t\tquestion: { text: 'Which team will have more corners in the match?', trKey: 'quizQuestion_corners1x2' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.One_Two,\n\t\tname: '1-2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1-2' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Overtime,\n\t\tname: 'Overtime',\n\t\tquestion: { text: 'Will there be overtime in the match?', trKey: 'quizQuestion_overtime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEven,\n\t\tname: 'Odd/Even',\n\t\tquestion: {\n\t\t\ttext: 'Is the sum of all points scored in the game going to be an odd number or even?',\n\t\t\ttrKey: 'quizQuestion_oddEven',\n\t\t},\n\t\tanswers: [\n\t\t\t{ text: quizOddReplacementText, value: QuizAnswersValueType.Odd },\n\t\t\t{ text: quizEvenReplacementText, value: QuizAnswersValueType.Even },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEvenHomeAway,\n\t\tname: 'Odd/Even Home/Away',\n\t\tquestion: {\n\t\t\ttext: 'Which team will win and what will be the sum of the points (Odd or Even)?',\n\t\t\ttrKey: 'quizQuestion_oddEvenHomeAway',\n\t\t},\n\t\tanswers: [\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.HomeOdd },\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.HomeEven },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.AwayOdd },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.AwayEven },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FirstSet,\n\t\tname: 'First Set',\n\t\tquestion: { text: 'Who will win the first set ?', trKey: 'quizQuestion_firstSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.SecondSet,\n\t\tname: 'Second Set',\n\t\tquestion: { text: 'Who will win the second set ?', trKey: 'quizQuestion_secondSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.ThirdSet,\n\t\tname: 'Third Set',\n\t\tquestion: { text: 'Who will win the third set ?', trKey: 'quizQuestion_thirdSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FourthSet,\n\t\tname: 'Fourth Set',\n\t\tquestion: { text: 'Who will win the fourth set ?', trKey: 'quizQuestion_fourthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FifthSet,\n\t\tname: 'Fifth Set',\n\t\tquestion: { text: 'Who will win the fifth set ?', trKey: 'quizQuestion_fifthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerOneWinsOneSet,\n\t\tname: 'Player One Wins One Set',\n\t\tquestion: { text: 'Will Player One win at least one set?', trKey: 'quizQuestion_playerOneWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tname: 'Player Two Wins One Set',\n\t\tquestion: { text: 'Will Player Two win at least one set?', trKey: 'quizQuestion_playerTwoWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.CustomNonSport,\n\t\tname: 'Custom question (non sport)',\n\t\tquestion: null,\n\t\tanswers: null,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.CustomSport,\n\t\tname: 'Custom question (sport)',\n\t\tquestion: null,\n\t\tanswers: null,\n\t},\n];\n","import { SAWGPMarketType } from './MarketsType';\nimport { QuizSportType } from './SportTypes';\n\nexport const QuizMarketPerSport = {\n\t[QuizSportType.Basketball]: [\n\t\tSAWGPMarketType.One_Two,\n\t\tSAWGPMarketType.Overtime,\n\t\tSAWGPMarketType.OneXTwo,\n\t\tSAWGPMarketType.OddEven,\n\t\tSAWGPMarketType.OddEvenHomeAway,\n\t\tSAWGPMarketType.DoubleChance,\n\t],\n\t[QuizSportType.Soccer]: [\n\t\tSAWGPMarketType.OneXTwo,\n\t\tSAWGPMarketType.OneXTwoHalftime,\n\t\t// SAWGPMarketType.HalftimeFulltime,\n\t\tSAWGPMarketType.FirstGoal,\n\t\tSAWGPMarketType.LastGoal,\n\t\tSAWGPMarketType.DoubleChance,\n\t\tSAWGPMarketType.OverUnder2_5,\n\t\tSAWGPMarketType.OverUnder1_5Halftime,\n\t\tSAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tSAWGPMarketType.RedCard,\n\t\tSAWGPMarketType.TotalCorners8_5,\n\t\tSAWGPMarketType.TotalCorners9_5,\n\t\tSAWGPMarketType.Corners1x2,\n\t],\n\t[QuizSportType.Tennis]: [\n\t\tSAWGPMarketType.One_Two,\n\t\tSAWGPMarketType.FirstSet,\n\t\tSAWGPMarketType.SecondSet,\n\t\tSAWGPMarketType.ThirdSet,\n\t\tSAWGPMarketType.FourthSet,\n\t\tSAWGPMarketType.FifthSet,\n\t\tSAWGPMarketType.PlayerOneWinsOneSet,\n\t\tSAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tSAWGPMarketType.OddEven,\n\t],\n};\n","enum JackpotContributionType {\n\tFixed = 1,\n\tPercentage = 2,\n}\n\nexport { JackpotContributionType };\n","enum JackPotTemparature {\n\t/** cold */\n\tCOLD = 0,\n\t/** warm */\n\tWARM = 1,\n\t/** hot */\n\tHOT = 2\n}\n\ninterface JackpotPot {\n\t/** ID of the jackpot template */\n\tjp_template_id: number;\n\t/** ID of the jackpot pot */\n\tjp_pot_id: number;\n\t/** currency of the jackpot pot in the Jackput base currency */\n\tcurrent_pot_amount: number;\n\t/** currency of the jackpot pot in the user wallet currency */\n\tcurrent_pot_amount_user_currency: number;\n\t/** the date/time when this pot exploded */\n\texplode_date_ts: number;\n\t/** current pot temperature\n\t * 0 - cold. seed amount < current pot < (min amount - seed amount)/2\n\t * 1 - warm. (min amount - seed amount)/2 < current pot < min amount\n\t * 2 - hot. current pot > min amount\n\t */\n\tcurrent_pot_temperature: JackPotTemparature;\n}\n\nexport { JackpotPot };\n","enum JackpotType {\n\tMain = 1,\n\tPersonal = 2,\n}\n\nexport { JackpotType };\n"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","JsonOrText","str","includes","JSON","parse","e","isWithinPeriod","timestamp","period","now","Date","completedDate","getFullYear","getMonth","getDate","startOfWeek","setDate","getDay","setHours","endOfWeek","SAWBuyInType","SAWBuyInTypeName","SAWBuyInTypeNamed","type","_SAWBuyInType$Free$SA","Free","Points","Spins","Unknown","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAcknowledgeTypeName","SAWAcknowledgeTypeNamed","_SAWAcknowledgeType$S","Silent","QuickMessage","FullMessage","ExplicityAcknowledge","SAWAskForUsername","SAWGameType","SAWGameTypeName","SAWGameTypeNamed","_SAWGameType$SpinAWhe","SpinAWheel","ScratchCard","MatchX","GiftBox","PrizeDrop","Quiz","LootboxWeekdays","LootboxCalendarDays","SAWPrizeType","MiniGamePrizeTypeName","MiniGamePrizeTypeNamed","_SAWPrizeType$NO_PRIZ","NO_PRIZE","POINTS","BONUS","MANUAL","SPIN","JACKPOT","CHANGE_LEVEL","MISSION","UNKNOWN","SAWTemplatesTransform","items","map","r","_r$saw_skin_ui_defini","x","id","saw_template_id","name","saw_template_ui_definition","description","thumbnail","saw_skin_ui_definition","skin_folder","saw_skin_key","over_limit_message","no_attempts_message","jackpot_symbol","saw_game_type","saw_game_type_id","saw_buyin_type","jackpot_add_on_attempt","jackpot_current","promo_image","promo_text","custom_data","expose_game_stat_on_api","relative_period_timezone","activeFromDate","activeTillDate","next_available_spin_ts","prizes","p","y","saw_prize_id","saw_prize_ui_definition","prize_type","prize_type_id","prize_value","font_size","font_size_mobile","icon","position","acknowledge_type","aknowledge_message","acknowledge_dp","acknowledge_action_title","acknowledge_dp_additional","acknowledge_action_title_additional","out_of_stock_message","pool","pool_initial","wins_count","weekdays","active_from_ts","active_till_ts","is_surcharge","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","_SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","SAWHistoryTransform","template","prize_amount","client_request_id","is_claimed","create_date_ts","acknowledge_date_ts","NodeCache","ttlChecker","setInterval","getTime","key","cache","hasOwnProperty","o","ttl","_proto","prototype","get","set","ttlSeconds","remove","flushAll","ECacheContext","OCache","init","cacheContext","oKey","stringify","deepClone","use","f","Promise","resolve","_temp","then","_f2","reject","clear","_this","clearContext","_this2","clearAll","_this3","ActivityTypeLimited","CoreUtils","currencySymbol","currency","_USD$EUR$JPY$GBP$AUD$","toUpperCase","USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","MXN","SGD","HKD","NOK","KRW","TRY","INR","RUB","BRL","ZAR","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","InboxMessagesTransform","item","sent_date","createDate","message_guid","engagement_uid","read","is_read","favorite","is_starred","InboxMessageBodyTransform","action","image","title","preview_body","body","additional_buttons","buttons","text","inbox_cta_text","html_body","InboxMessageType","OpenLinksType","BuyStoreItemErrorCode","StoreCategoryTransform","_r$publicMeta","_r$publicMeta2","publicMeta","order","StoreItemType","StoreItemTypeName","StoreItemTypeNamed","_StoreItemType$Bonus$","Bonus","Tangible","MiniGameSpin","ChangeLevel","StoreItemTransform","filter","_r$itemPublicMeta$pri","_r$categoryIds","itemPublicMeta","price","image_url","ribbon","label_tag","custom_label_tag","limit_message","priority","related_item_ids","related_items","hint_text","itemTypeId","can_buy","canBuy","category_ids","categoryIds","shopPool","StoreItemPurchasedTransform","purchasedToday","purchase_ts","purchasedThisWeek","purchasedThisMonth","purchase_points_amount","purchased_today","purchased_this_week","purchased_this_month","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","ach_id","_r$ach_categories","completedToday","complete_date_ts","completedThisWeek","completedThisMonth","ach_public_meta","unlock_mission_description","is_completed","isCompleted","is_locked","isLocked","is_requires_optin","requiresOptin","is_opted_in","isOptedIn","time_limit_ms","dt_start","start_date_ts","reward","progress","ach_type_id","Mission","cta_action","cta_text","custom_section_id","only_in_custom_section","tasks","achievementTasks","task_type_id","CompleteAchievement","_t$task_public_meta","task_id","task_public_meta","points_reward","userProgress","execution_count_expected","executionCount","execution_count_actual","userExecutedCount","display_progress_as_count","related_games","g","ext_game_id","game_public_meta","link","enabled","game_categories","game_provider","mobile_spec_link","ach_categories","ach_completed_id","requires_prize_claim","prize_claimed_date_ts","complete_date","completed_today","completed_this_week","completed_this_month","custom_section_type_id","ach_status_id","RecurringUponCompletion","completion_count","completed_count","max_completion_count","recurring_quantity","ScheduledMissionType","AchCategoryTransform","TournamentRegistrationType","TournamentRegistrationTypeGetName","_TournamentRegistrati","AUTO","BUY_IN_POINTS","MANUAL_APPROVAL","OPT_IN","REQUIRES_QUALIFICATION","TournamentRegistrationStatus","TournamentRegistrationStatusName","TournamentRegistrationStatusNamed","CANCELLED","FINISHED","NOT_REGISTERED","PENDING","QUALIFIED_PENDING_REGISTRATION","REGISTERED","REGISTERED_PENDING_QUALIFICATION","TournamentItemsTransform","tournamentId","instance_id","tournamentInstanceId","tournament_id","segment_dont_match_message","image1","image2","image_url2","image2_mobile","image_url2_mobile","prize_pool_short","custom_price_text","is_featured","featured","start_time","startTimeTs","end_time","endTimeTs","registration_count","registrationCount","is_user_registered","isUserRegistered","players_min_count","playersMinCount","players_max_count","playersMaxCount","registration_status","tournamentRegistrationStatus","registration_type","registrationType","registration_cost_points","buyInAmount","duration_ms","durationMs","is_active","TournamentUtils","isActive","is_can_register","isCanRegister","is_cancelled","isCancelled","is_finished","isFinished","is_in_progress","isInProgress","is_upcoming","isUpcoming","min_scores_win","minScoreToWin","hide_leaderboard_min_scores","hideLeaderboardsMinScores","prizeStructure","getPrizeTransformed","tournamentPlayer","me","getPlayerTransformed","TournamentInstanceStatus","TournamentInstanceStatusName","s","_TournamentInstanceSt","PUBLISHED","REGISTER","STARTED","FAILED","FINALIZING","tournamentPrizeTypeToPrizeName","_ActivityTypeLimited$","DoNothing","DeductPoints","ResetPoints","MiniGameAttempt","tournament","tournamentInstanceStatus","allowLateRegistration","player","isMe","playerTransformed","public_username","userAltName","avatar_url","scores","is_me","prize","_extends","tournamentInfoItemTransform","response","tournamentInfo","tournamentLobbyInfo","players","userPosition","TournamentRegistrationError","TournamentType","LeaderBoardPeriodType","GetLevelMapResponseTransform","levels","l","_l$level_public_meta","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","CACHE_DATA_SEC","JACKPOT_TEMPLATE_CACHE_SEC","JACKPOT_POT_CACHE_SEC","onUpdateContextKey","WSAPI","api","onUpdateCallback","Map","jackpotGetSignature","tracker","on","SAW_SPINS_COUNT_PUSH","data","updateOnSpin","SAW_SHOW_SPIN_PUSH","reloadMiniGameTemplate","SAW_AKNOWLEDGE_RESPONSE","SAWHistory","SAW_DO_SPIN_RESPONSE","MISSION_OPTIN_RESPONSE","updateMissions","ACHIEVEMENT_CLAIM_PRIZE_RESPONSE","RELOAD_ACHIEVEMENTS_EVENT","TOURNAMENT_REGISTER_RESPONSE","updateTournaments","CLIENT_ENGAGEMENT_EVENT_NEW","updateInboxMessages","LOGOUT_RESPONSE","IDENTIFY_RESPONSE","JP_WIN_PUSH","jackpotClearCache","JP_OPTOUT_RESPONSE","JP_OPTIN_RESPONSE","CLAIM_BONUS_RESPONSE","updateBonuses","SAW_DO_SPIN_BATCH_RESPONSE","getUserProfile","Object","assign","userPublicProps","Error","checkSegmentMatch","segment_id","coreCheckSegments","find","is_matching","checkSegmentListMatch","segment_ids","Array","isArray","getLevels","_this4","Levels","levelsGetT","getMissions","_ref","onUpdate","_this5","Missions","missionsGetItemsT","getBadges","_this6","Badges","badgetsGetItemsT","getBonuses","_temp2","_ref2","_this7","Bonuses","bonusesGetItemsT","claimBonus","bonus_id","_this8","bonusClaimItem","err_code","errCode","err_message","errMsg","success","getUserLevelExtraCounters","_this9","LevelExtraCounters","getUserGamificationInfoT","getStoreItems","_this10","StoreItems","storeGetItemsT","buyStoreItem","item_id","_this11","getStoreCategories","_this12","StoreCategories","storeGetCategoriesT","getStorePurchasedItems","_temp3","_ref3","limit","offset","_this13","StoreHistory","storeGetPurchasedItemsT","getAchCategories","_this14","AchCategories","achGetCategoriesT","getCustomSections","_this15","CustomSections","getCustomSectionsT","getMiniGames","_temp4","_ref4","_this16","Saw","sawGetTemplatesT","getMiniGamesHistory","_ref5","_this17","getSawWinningHistoryT","playMiniGame","template_id","_temp5","_ref6","_this18","sawSpinRequest","doAcknowledgeRequest","request_id","prize_id","playMiniGameBatch","_temp6","_ref7","_this19","sawSpinBatchRequest","request_ids","results","result","doAcknowledgeBatchRequest","errMessage","jackpot_amount","first_spin_in_period","requestMissionOptIn","mission_id","_this20","missionOptIn","requestMissionClaimReward","_this21","missionClaimPrize","getTournamentsList","_temp7","_ref8","_this22","TournamentList","tournamentsGetLobbyT","getTournamentInstanceInfo","_this23","tournamentsGetInfoT","registerInTournament","_this24","getLeaderBoard","periodType","getPreviousPeriod","_this25","LeaderBoards","leaderboardsGetT","getInboxMessages","_temp8","_ref9","from","to","onlyFavorite","_this26","InboxMessages","getInboxMessagesT","getInboxMessageBody","messageGuid","_this27","getInboxMessageBodyT","markInboxMessageAsRead","_this28","markInboxMessageRead","markAllInboxMessagesAsRead","_this29","markAllInboxMessageRead","markUnmarkInboxMessageAsFavorite","mark","_this30","deleteInboxMessage","_this31","deleteAllInboxMessages","_this32","getTranslations","lang_code","_this33","getTranslationsT","translations","_this34","templates","index","findIndex","updateEntity","_this35","updatedTemplates","_this36","payload","_this37","_this38","_this39","contextKey","_this40","Jackpots","Pots","jackpotGet","_this41","signature","jp_template_id","related_game_id","jackpots","pots","_jackpots","_pots","jp","pot","_OCache$use","_temp10","_jp","_temp9","jp_template_ids","potGet","_this41$api$potGet","_OCache$use2","jackpotOptIn","_this42","jackpotOptOut","_this43","getRelatedItemsForGame","_this44","pointsRewardTransform","reward_points","i","place","points","getLeaderBoardPlayerTransformed","user","user_alt_name","position_in_board","points_accumulated","getLeaderBoardTransform","board","board_id","board_public_meta","rules","period_type_id","rewards","users","positions","AchCustomSectionType","AchCustomLayoutTheme","AchMissionsTabsOptions","AchOverviewMissionsFilter","UICustomSectionTransform","section_type_id","menu_img","menu_name","custom_skin_images","generic_custom_css","mission_tabs_options","overview_missions_count","overview_missions_filter","theme","BonusItemsTransform","is_redeemable","redeemable","create_date","redeem_date","redeemDate","label_bonus_template_id","labelBonusTemplateId","bonus_status_id","bonusStatusId","label_bonus_template_meta_map","labelBonusTemplateMetaMap","bonus_meta_map","bonusMetaMap","BonusStatus","_catch","recover","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","_options$tracker","publicUrl","wsUrl","inboxCdnUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvDnsSuffix","ENV_ID","substring","getEnvId","send","message","expectCID","force_language","_result","_exit","cid","_iterator","_createForOfIteratorHelperLoose","_step","done","obj","request","timeStart","_this$messageSender","timeEnd","warn","url","buildMessage","user_ext_id","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","EVENT_RESPONSE","coreGetTranslations","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","GET_TRANSLATIONS_RESPONSE","trBase","trUserRQ","trUser","_trUser$translations","keys","forEach","k","coreIdentifyLabel","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","CHECK_SEGMENT_MATCH_REQUEST","CHECK_SEGMENT_MATCH_RESPONSE","segments","JP_GET_JACKPOTS_REQUEST","JP_GET_JACKPOTS_RESPONSE","JP_GET_LATEST_POTS_REQUEST","JP_GET_LATEST_POTS_RESPONSE","JP_OPTIN_REQUEST","JP_OPTOUT_REQUEST","sawGetTemplates","is_visitor_mode","SAW_GET_SPINS_REQUEST","SAW_GET_SPINS_RESPONSE","_t$saw_template_ui_de","_t$saw_template_ui_de2","jackpotValue","_this13$sawGetTemplat","SAW_AKNOWLEDGE_REQUEST","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","_SAWSpinErrorCode$SAW","status","SAW_OK","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","SAW_TEMPLATE_NOT_ACTIVE","SAW_AKNOWLEDGE_BATCH_RESPONSE","spins_count","spins","push","SAW_DO_SPIN_BATCH_REQUEST","res","getSawWinningHistory","GET_SAW_HISTORY_REQUEST","GET_SAW_HISTORY_RESPONSE","_this19$getSawWinning","MISSION_OPTIN_REQUEST","achievementId","ACHIEVEMENT_CLAIM_PRIZE_REQUEST","TOURNAMENT_REGISTER_REQUEST","itemId","BUY_SHOP_ITEM_REQUEST","BUY_SHOP_ITEM_RESPONSE","inboxGetMessages","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","_this26$storeGetItems","storeGetCategories","GET_SHOP_CATEGORIES_REQUEST","GET_SHOP_CATEGORIES_RESPONSE","_this28$storeGetCateg","categories","storeGetPurchasedItems","ACH_SHOP_ITEM_HISTORY_REQUEST","ACH_SHOP_ITEM_HISTORY_RESPONSE","_this30$storeGetPurch","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","responseClone","achievements","_this32$missionsGetIt","getUserGamificationInfo","GET_ACHIEVEMENT_USER_REQUEST","GET_ACHIEVEMENT_USER_RESPONSE","level_counter_1","level_counter_2","achGetCategories","GET_ACH_CATEGORIES_REQUEST","GET_ACH_CATEGORIES_RESPONSE","_this36$achGetCategor","badgetsGetItems","Badge","bonusesGetItems","GET_BONUSES_REQUEST","GET_BONUSES_RESPONSE","CLAIM_BONUS_REQUEST","bonusId","_this40$bonusesGetIte","bonuses","_this41$badgetsGetIte","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","_this43$tournamentsGe","tournaments","tournamentsGetInfo","GET_TOURNAMENT_INFO_REQUEST","GET_TOURNAMENT_INFO_RESPONSE","_response$userPositio","_response$tournamentI","_this45","leaderboardGet","prevPeriod","_this46","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","_response$map$boardKe","_response$map$boardKe2","boardKey","_this47","DAILY","levelsGet","_this48","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","_this49","_this50","GET_CUSTOM_SECTIONS_REQUEST","GET_CUSTOM_SECTIONS_RESPONSE","_this51","_this51$getCustomSect","values","customSections","_this52","starred_only","_this53","favoriteOnly","_this54","_this54$getInboxMessa","log","_this55","getMessageBody","getLabelSetting","INBOX_PUBLIC_CDN","fetch","method","headers","json","_this56","_this57","MARK_INBOX_READ_REQUEST","MARK_INBOX_READ_RESPONSE","_this58","all_read","_this59","MARK_INBOX_STARRED_REQUEST","MARK_INBOX_STARRED_RESPONSE","_this60","MARK_INBOX_DELETED_REQUEST","MARK_INBOX_DELETED_RESPONSE","_this61","all_deleted","getWSCalls","_this62","GET_RELATED_ACH_N_TOURNAMENTS_REQUEST","GET_RELATED_ACH_N_TOURNAMENTS_RESPONSE","CookieStore","cookieStore","split","TSMap","QuizSportType","quizSupportedSports","Basketball","Soccer","Tennis","SAWGPMarketType","QuizAnswersValueType","quizAnswerHomeTeamReplacementText","quizAnswerAwayTeamReplacementText","quizDrawReplacementText","quizYesReplacementText","quizNoReplacementText","quizOddReplacementText","quizEvenReplacementText","quizOrReplacementText","quizNoGoalsReplacementText","quizAnswersTrKeys","_quizAnswersTrKeys","yesNoAnswers","Yes","No","homeAwayAnswers","HomeTeam","AwayTeam","homeAwayDrawAnswers","concat","Draw","homeAwayNoGoalsAnswers","marketsInfo","OneXTwo","question","trKey","answers","OneXTwoHalftime","FirstGoal","LastGoal","DoubleChance","HomeTeamDraw","HomeTeamAwayTeam","AwayTeamDraw","OverUnder2_5","OverUnder1_5Halftime","OverUnder1_5__2ndHalf","RedCard","TotalCorners8_5","TotalCorners9_5","Corners1x2","One_Two","Overtime","OddEven","Odd","Even","OddEvenHomeAway","HomeOdd","HomeEven","AwayOdd","AwayEven","FirstSet","SecondSet","ThirdSet","FourthSet","FifthSet","PlayerOneWinsOneSet","PlayerTwoWinsOneSet","CustomNonSport","CustomSport","QuizMarketPerSport","_QuizMarketPerSport","JackpotContributionType","JackPotTemparature","JackpotType"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/Base/ClassId.ts","../src/IntUtils.ts","../src/MiniGames/SAWBuyInType.ts","../src/MiniGames/SAWUtils.ts","../src/MiniGames/SAWAcknowledgeType.ts","../src/MiniGames/SAWAskForUsername.ts","../src/MiniGames/SAWGameType.ts","../src/MiniGames/SAWPrizeType.ts","../src/MiniGames/SAWGetTemplatesResponse.ts","../src/MiniGames/SAWSpinErrorCode.ts","../src/MiniGames/SAWWinSoundType.ts","../src/MiniGames/SAWWinningHistoryResponse.ts","../src/MiniGames/SAWGameLayout.ts","../src/NodeCache.ts","../src/OCache.ts","../src/Core/ActivityTypeLimited.ts","../src/Core/CoreUtils.ts","../src/Core/PublicLabelSettings.ts","../src/Core/TranslationArea.ts","../src/Inbox/GetInboxMessagesResponse.ts","../src/Inbox/InboxMessage.ts","../src/Inbox/InboxMessageType.ts","../src/Inbox/OpenLinksType.ts","../src/Store/BuyStoreItemErrorCode.ts","../src/Store/StoreCategory.ts","../src/Store/StoreItemType.ts","../src/Store/StoreItem.ts","../src/Store/StoreItemPurchased.ts","../src/Missions/AchievementStatus.ts","../src/Missions/AchievementTaskType.ts","../src/Missions/AchievementType.ts","../src/Missions/UserAchievement.ts","../src/Missions/ScheduledMissionType.ts","../src/Missions/AchievementCategory.ts","../src/Tournaments/TournamentRegistrationType.ts","../src/Tournaments/TournamentRegistrationStatus.ts","../src/Tournaments/Tournament.ts","../src/Tournaments/TournamentInstanceStatus.ts","../src/Tournaments/TournamentUtils.ts","../src/Tournaments/GetTournamentInfoResponse.ts","../src/Tournaments/TournamentRegistrationError.ts","../src/Tournaments/TournamentType.ts","../src/Leaderboard/LeaderBoardPeriodType.ts","../src/Level/GetLevelMapResponse.ts","../src/WSAPI/WSAPI.ts","../src/Leaderboard/LeaderBoards.ts","../src/CustomSections/AchCustomSection.ts","../src/CustomSections/UICustomSection.ts","../src/Bonuses/Bonus.ts","../src/Bonuses/BonusStatus.ts","../src/SmarticoAPI.ts","../src/CookieStore.ts","../src/Quiz/SportTypes.ts","../src/Quiz/MarketsType.ts","../src/Quiz/MarketsAnswers.ts","../src/Quiz/MarketsInfo.ts","../src/Quiz/MarketsPerSport.ts","../src/Jackpots/JackpotContributionType.ts","../src/Jackpots/JackpotPot.ts","../src/Jackpots/JackpotType.ts"],"sourcesContent":["export enum ClassId {\n\tPING = 1,\n\tPONG = 2,\n\n\tINIT = 3,\n\tINIT_RESPONSE = 4,\n\tIDENTIFY = 5,\n\tIDENTIFY_RESPONSE = 6,\n\tLOGIN = 7,\n\tLOGOUT = 8,\n\tEVENT = 9,\n\tEVENT_RESPONSE = 10,\n\n\tLOGIN_RESPONSE = 11,\n\tLOGOUT_RESPONSE = 12,\n\n\tGET_TRANSLATIONS_REQUEST = 13,\n\tGET_TRANSLATIONS_RESPONSE = 14,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tCLIENT_ENGAGEMENT_IMPRESSION_REQUEST = 103,\n\tCLIENT_ENGAGEMENT_ACTION_REQUEST = 104,\n\tCLIENT_EXECUTE_DEEPLINK_EVENT = 105,\n\tCLIENT_ENGAGEMENT_FAILED_REQUEST = 106,\n\tCLIENT_EXECUTE_JS_EVENT = 107,\n\tCLIENT_PUBLIC_PROPERTIES_CHANGED_EVENT = 108,\n\tCLIENT_ENGAGEMENT_EVENT_NEW = 110,\n\n\tCLIENT_TRACK_ACTIVITY_REQUEST = 155,\n\tCLIENT_SET_AVATAR_REQUEST = 157,\n\tCLIENT_SET_AVATAR_RESPONSE = 158,\n\n\tCLIENT_SET_CUSTOM_USERNAME_REQUEST = 159,\n\tCLIENT_SET_CUSTOM_USERNAME_RESPONSE = 160,\n\n\tCHECK_SEGMENT_MATCH_REQUEST = 161,\n\tCHECK_SEGMENT_MATCH_RESPONSE = 162,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\t// 500-1000 - Achievements\n\tGET_LEVEL_MAP_REQUEST = 500,\n\tGET_LEVEL_MAP_RESPONSE = 501,\n\tGET_ACHIEVEMENT_MAP_REQUEST = 502,\n\tGET_ACHIEVEMENT_MAP_RESPONSE = 503,\n\tRELOAD_ACHIEVEMENTS_EVENT = 504,\n\tGET_LEADERS_BOARD_REQUEST = 505,\n\tGET_LEADERS_BOARD_RESPONSE = 506,\n\tGET_SHOP_ITEMS_REQUEST = 509,\n\tGET_SHOP_ITEMS_RESPONSE = 510,\n\tBUY_SHOP_ITEM_REQUEST = 511,\n\tBUY_SHOP_ITEM_RESPONSE = 512,\n\tGET_INBOX_MESSAGES_REQUEST = 513,\n\tGET_INBOX_MESSAGES_RESPONSE = 514,\n\tGET_SHOP_CATEGORIES_REQUEST = 515,\n\tGET_SHOP_CATEGORIES_RESPONSE = 516,\n\tGET_TOURNAMENT_LOBBY_REQUEST = 517,\n\tGET_TOURNAMENT_LOBBY_RESPONSE = 518,\n\tGET_TOURNAMENT_INFO_REQUEST = 519,\n\tGET_TOURNAMENT_INFO_RESPONSE = 520,\n\tTOURNAMENT_REGISTER_REQUEST = 521,\n\tTOURNAMENT_REGISTER_RESPONSE = 522,\n\tGET_CUSTOM_SECTIONS_REQUEST = 523,\n\tGET_CUSTOM_SECTIONS_RESPONSE = 524,\n\tMISSION_OPTIN_REQUEST = 525,\n\tMISSION_OPTIN_RESPONSE = 526,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_ACHIEVEMENT_USER_REQUEST = 527,\n\tGET_ACHIEVEMENT_USER_RESPONSE = 528,\n\n\tMARK_INBOX_READ_REQUEST = 529,\n\tMARK_INBOX_READ_RESPONSE = 530,\n\tMARK_INBOX_STARRED_REQUEST = 531,\n\tMARK_INBOX_STARRED_RESPONSE = 532,\n\tMARK_INBOX_DELETED_REQUEST = 535,\n\tMARK_INBOX_DELETED_RESPONSE = 536,\n\n\tGET_ACH_CATEGORIES_REQUEST = 537,\n\tGET_ACH_CATEGORIES_RESPONSE = 538,\n\n\tACHIEVEMENT_CLAIM_PRIZE_REQUEST = 539,\n\tACHIEVEMENT_CLAIM_PRIZE_RESPONSE = 540,\n\n\tACH_SHOP_ITEM_HISTORY_REQUEST = 541,\n\tACH_SHOP_ITEM_HISTORY_RESPONSE = 542,\n\n\tGET_RELATED_ACH_N_TOURNAMENTS_REQUEST = 543,\n\tGET_RELATED_ACH_N_TOURNAMENTS_RESPONSE = 544,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tGET_BONUSES_REQUEST = 600,\n\tGET_BONUSES_RESPONSE = 601,\n\tCLAIM_BONUS_REQUEST = 602,\n\tCLAIM_BONUS_RESPONSE = 603,\n\n\tSAW_GET_SPINS_REQUEST = 700,\n\tSAW_GET_SPINS_RESPONSE = 701,\n\tSAW_DO_SPIN_REQUEST = 702,\n\tSAW_DO_SPIN_RESPONSE = 703,\n\tSAW_AKNOWLEDGE_REQUEST = 704,\n\tSAW_AKNOWLEDGE_RESPONSE = 705,\n\tSAW_SPINS_COUNT_PUSH = 706,\n\tSAW_SHOW_SPIN_PUSH = 707,\n\tSAW_PRIZE_DROP_WIN_PUSH = 708,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_REQUEST = 709,\n\tSAW_PRIZE_DROP_WIN_AKNOWLEDGE_RESPONSE = 710,\n\tSAW_AKNOWLEDGE_SPIN_PUSH = 711,\n\tSAW_DO_SPIN_BATCH_REQUEST = 712,\n\tSAW_DO_SPIN_BATCH_RESPONSE = 713,\n\tSAW_AKNOWLEDGE_BATCH_REQUEST = 714,\n\tSAW_AKNOWLEDGE_BATCH_RESPONSE = 715,\n\n\tGET_SAW_HISTORY_REQUEST = 716,\n\tGET_SAW_HISTORY_RESPONSE = 717,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tJP_GET_JACKPOTS_REQUEST = 800,\n\tJP_GET_JACKPOTS_RESPONSE = 801,\n\n\tJP_GET_LATEST_POTS_REQUEST = 802,\n\tJP_GET_LATEST_POTS_RESPONSE = 803,\n\n\tJP_OPTIN_REQUEST = 804,\n\tJP_OPTIN_RESPONSE = 805,\n\n\tJP_OPTOUT_REQUEST = 806,\n\tJP_OPTOUT_RESPONSE = 807,\n\n\tJP_WIN_PUSH = 808,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_REQ = 1003,\n\tREGISTER_PUSH_NOTIFICATIONS_TOKEN_RESP = 2003,\n\n\tCLIENT_DEBUG_REQUEST = 77777,\n\n\t/*\n !Important, if adding new messages that are 'acting' on behalf of the client,\n you need to include them in the CLASS_ID_IGNORE_FOR_SIMULATION\n */\n\n\tUNSUPPORTED_COMMAND = 99999,\n}\n","class IntUtils {\n\tpublic static uuid(): string {\n\t\tlet a: any;\n\t\tlet b: any;\n\t\tfor (\n\t\t\tb = a = '';\n\t\t\ta++ < 36;\n\t\t\tb += (a * 51) & 52 ? (a ^ 15 ? 8 ^ (Math.random() * (a ^ 20 ? 16 : 4)) : 4).toString(16) : '-'\n\t\t) {}\n\t\treturn b;\n\t}\n\n\tpublic static isNotNull(val: any): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null;\n\t}\n\n\tpublic static isNotEmpty(val: string): boolean {\n\t\treturn typeof val !== 'undefined' && val !== null && val.length > 0;\n\t}\n\n\tpublic static replaceAll(value: string, regex: string, replacement: string | number): string {\n\t\tif (IntUtils.isNotNull(value)) {\n\t\t\treturn value.replace(new RegExp(IntUtils.escapeRegExp(regex), 'g'), replacement?.toString());\n\t\t}\n\t\treturn value;\n\t}\n\n\tpublic static escapeRegExp(v: string): string {\n\t\tif (IntUtils.isNotEmpty(v)) {\n\t\t\treturn v.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n\t\t}\n\t\treturn v;\n\t}\n\n\tpublic static JsonOrText = (str: string): any => {\n\t\tif (str && str.includes && (str.includes('{') || str.includes('['))) {\n\t\t\ttry {\n\t\t\t\treturn JSON.parse(str);\n\t\t\t} catch (e) {\n\t\t\t\treturn str;\n\t\t\t}\n\t\t}\n\t\treturn str;\n\t};\n\n\t// public static wsTimeToEpoch = (time: string): number => {\n\t// if (time) {\n\t// return moment.utc(time, \"DD/MM/YYYY HH:mm:ss\").valueOf()\n\t// } else {\n\t// return null\n\t// }\n\t// }\n\n\tpublic static isWithinPeriod = (timestamp: number, period: 'today' | 'thisWeek' | 'thisMonth'): boolean => {\n\t\tconst now = new Date();\n\t\tconst completedDate = new Date(timestamp);\n\n\t\tswitch (period) {\n\t\t\tcase 'today':\n\t\t\t\treturn (\n\t\t\t\t\tnow.getFullYear() === completedDate.getFullYear() &&\n\t\t\t\t\tnow.getMonth() === completedDate.getMonth() &&\n\t\t\t\t\tnow.getDate() === completedDate.getDate()\n\t\t\t\t);\n\t\t\tcase 'thisWeek':\n\t\t\t\tconst startOfWeek = new Date(now);\n\t\t\t\tstartOfWeek.setDate(now.getDate() - now.getDay());\n\t\t\t\tstartOfWeek.setHours(0, 0, 0, 0);\n\n\t\t\t\tconst endOfWeek = new Date(startOfWeek);\n\t\t\t\tendOfWeek.setDate(startOfWeek.getDate() + 6);\n\t\t\t\tendOfWeek.setHours(23, 59, 59, 999);\n\n\t\t\t\treturn completedDate >= startOfWeek && completedDate <= endOfWeek;\n\t\t\tcase 'thisMonth':\n\t\t\t\treturn now.getFullYear() === completedDate.getFullYear() && now.getMonth() === completedDate.getMonth();\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n}\n\nexport { IntUtils };\n","/** @hidden */\nexport enum SAWBuyInType {\n\tFree = 1,\n\tPoints = 2,\n\tSpins = 3,\n}\n\nexport enum SAWBuyInTypeName {\n\tFree = 'free',\n\tPoints = 'points',\n\tSpins = 'spins',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWBuyInTypeNamed = (type: SAWBuyInType): SAWBuyInTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWBuyInType.Free]: SAWBuyInTypeName.Free,\n\t\t\t[SAWBuyInType.Points]: SAWBuyInTypeName.Points,\n\t\t\t[SAWBuyInType.Spins]: SAWBuyInTypeName.Spins,\n\t\t}[type] || SAWBuyInTypeName.Unknown\n\t);\n};\n","import { SAWBuyInType } from './SAWBuyInType';\nimport { SAWTemplate } from './SAWTemplate';\n\nclass SAWUtils {\n\tpublic static canPlay = (t: SAWTemplate, pointsBalance: number): boolean => {\n\t\tif (t === null || t === undefined) {\n\t\t\treturn false;\n\t\t}\n\n\t\tswitch (t.saw_buyin_type_id) {\n\t\t\tcase SAWBuyInType.Free: {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tcase SAWBuyInType.Spins: {\n\t\t\t\treturn t.spin_count !== null && t.spin_count > 0;\n\t\t\t}\n\t\t\tcase SAWBuyInType.Points: {\n\t\t\t\treturn t.buyin_cost_points <= pointsBalance;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tconsole.error('MiniGamesUtils.canPlay: Unknwon SAW buyin type ' + t.saw_buyin_type_id);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t};\n}\n\nexport { SAWUtils };\n","export enum SAWAcknowledgeType {\n\tSilent = 1,\n\tQuickMessage = 2,\n\tFullMessage = 3,\n\tExplicityAcknowledge = 4\n}\n\nexport enum SAWAcknowledgeTypeName {\n\tSilent = 'silent',\n\tQuickMessage = 'quick-message',\n\tFullMessage = 'full-message',\n\tExplicityAcknowledge = 'explicity-acknowledge'\n}\n\n/** @hidden */\nexport const SAWAcknowledgeTypeNamed = (type: SAWAcknowledgeType): SAWAcknowledgeTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWAcknowledgeType.Silent]: SAWAcknowledgeTypeName.Silent,\n\t\t\t[SAWAcknowledgeType.QuickMessage]: SAWAcknowledgeTypeName.QuickMessage,\n\t\t\t[SAWAcknowledgeType.FullMessage]: SAWAcknowledgeTypeName.FullMessage,\n\t\t\t[SAWAcknowledgeType.ExplicityAcknowledge]: SAWAcknowledgeTypeName.ExplicityAcknowledge\n\t\t}[type]\n\t);\n};\n","export enum SAWAskForUsername {\n\tNOASK = 'no-ask',\n\tONSUMBIT = 'on-submit',\n}\n","/** @hidden */\n\nexport enum SAWGameType {\n\tSpinAWheel = 1,\n\tScratchCard = 2,\n\tMatchX = 3,\n\tGiftBox = 4,\n\tPrizeDrop = 5,\n\tQuiz = 6,\n\tLootboxWeekdays = 7,\n\tLootboxCalendarDays = 8,\n}\n\nexport enum SAWGameTypeName {\n\tSpinAWheel = 'wheel',\n\tScratchCard = 'scratch',\n\tMatchX = 'matchx',\n\tGiftBox = 'giftbox',\n\tPrizeDrop = 'prizedrop',\n\tQuiz = 'quiz',\n\tLootboxWeekdays = 'lootbox_weekdays',\n\tLootboxCalendarDays = 'lootbox_calendar_days',\n\tUnknown = 'unknown',\n}\n\n/** @hidden */\nexport const SAWGameTypeNamed = (type: SAWGameType): SAWGameTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWGameType.SpinAWheel]: SAWGameTypeName.SpinAWheel,\n\t\t\t[SAWGameType.ScratchCard]: SAWGameTypeName.ScratchCard,\n\t\t\t[SAWGameType.MatchX]: SAWGameTypeName.MatchX,\n\t\t\t[SAWGameType.GiftBox]: SAWGameTypeName.GiftBox,\n\t\t\t[SAWGameType.PrizeDrop]: SAWGameTypeName.PrizeDrop,\n\t\t\t[SAWGameType.Quiz]: SAWGameTypeName.Quiz,\n\t\t\t[SAWGameType.LootboxWeekdays]: SAWGameTypeName.LootboxWeekdays,\n\t\t\t[SAWGameType.LootboxCalendarDays]: SAWGameTypeName.LootboxCalendarDays,\n\t\t}[type] || SAWGameTypeName.Unknown\n\t);\n};\n","/** @hidden */\nexport enum SAWPrizeType {\n\tNO_PRIZE = 1,\n\tPOINTS = 2,\n\tBONUS = 3,\n\tMANUAL = 4,\n\tSPIN = 5,\n\tJACKPOT = 6,\n\tCHANGE_LEVEL = 7,\n\tMISSION = 8,\n}\n\nexport enum MiniGamePrizeTypeName {\n\tNO_PRIZE = 'no-prize',\n\tPOINTS = 'points',\n\tBONUS = 'bonus',\n\tMANUAL = 'manual',\n\tSPIN = 'spin',\n\tJACKPOT = 'jackpot',\n\tCHANGE_LEVEL = 'change-level',\n\tMISSION = 'mission',\n\tUNKNOWN = 'unknown',\n}\n\n/** @hidden */\nexport const MiniGamePrizeTypeNamed = (type: SAWPrizeType): MiniGamePrizeTypeName => {\n\treturn (\n\t\t{\n\t\t\t[SAWPrizeType.NO_PRIZE]: MiniGamePrizeTypeName.NO_PRIZE,\n\t\t\t[SAWPrizeType.POINTS]: MiniGamePrizeTypeName.POINTS,\n\t\t\t[SAWPrizeType.BONUS]: MiniGamePrizeTypeName.BONUS,\n\t\t\t[SAWPrizeType.MANUAL]: MiniGamePrizeTypeName.MANUAL,\n\t\t\t[SAWPrizeType.SPIN]: MiniGamePrizeTypeName.SPIN,\n\t\t\t[SAWPrizeType.JACKPOT]: MiniGamePrizeTypeName.JACKPOT,\n\t\t\t[SAWPrizeType.CHANGE_LEVEL]: MiniGamePrizeTypeName.CHANGE_LEVEL,\n\t\t\t[SAWPrizeType.MISSION]: MiniGamePrizeTypeName.MISSION,\n\t\t}[type] || MiniGamePrizeTypeName.UNKNOWN\n\t);\n};\n","import { IntUtils } from '../IntUtils';\nimport { TMiniGamePrize, TMiniGameTemplate } from '../WSAPI/WSAPITypes';\nimport { ProtocolResponse } from './../Base/ProtocolResponse';\nimport { SAWAcknowledgeTypeNamed } from './SAWAcknowledgeType';\nimport { SAWBuyInTypeNamed } from './SAWBuyInType';\nimport { SAWGameTypeNamed } from './SAWGameType';\nimport { MiniGamePrizeTypeName, MiniGamePrizeTypeNamed } from './SAWPrizeType';\nimport { SAWTemplate } from './SAWTemplate';\n\nexport interface SAWGetTemplatesResponse extends ProtocolResponse {\n\ttemplates: SAWTemplate[];\n}\n\nexport const SAWTemplatesTransform = (items: SAWTemplate[]): TMiniGameTemplate[] => {\n\treturn items.map((r) => {\n\t\tconst x: TMiniGameTemplate = {\n\t\t\tid: r.saw_template_id,\n\t\t\tname: r.saw_template_ui_definition.name,\n\t\t\tdescription: r.saw_template_ui_definition.description,\n\t\t\tthumbnail: r.saw_template_ui_definition.thumbnail\n\t\t\t? r.saw_template_ui_definition.thumbnail\n\t\t\t: r.saw_skin_ui_definition?.skin_folder\n\t\t\t\t? `${r.saw_skin_ui_definition.skin_folder}/ico.png`\n\t\t\t\t: `https://d312ucx3huj7iy.cloudfront.net/gf/images/saw/${r.saw_skin_key}/ico.png`,\n\t\t\tover_limit_message: r.saw_template_ui_definition.over_limit_message,\n\t\t\tno_attempts_message: r.saw_template_ui_definition.no_attempts_message,\n\t\t\tjackpot_symbol: r.saw_template_ui_definition.jackpot_symbol,\n\t\t\tsaw_game_type: SAWGameTypeNamed(r.saw_game_type_id),\n\t\t\tsaw_buyin_type: SAWBuyInTypeNamed(r.saw_buyin_type_id),\n\t\t\tbuyin_cost_points: r.buyin_cost_points,\n\t\t\tjackpot_add_on_attempt: r.jackpot_add_on_attempt,\n\t\t\tjackpot_current: r.jackpot_current,\n\t\t\tspin_count: r.spin_count,\n\t\t\tpromo_image: r.saw_template_ui_definition.promo_image,\n\t\t\tpromo_text: r.saw_template_ui_definition.promo_text,\n\t\t\tcustom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n\t\t\texpose_game_stat_on_api: r.expose_game_stat_on_api,\n\t\t\trelative_period_timezone: r.relative_period_timezone,\n\t\t\tactiveFromDate: r.activeFromDate,\n\t\t\tactiveTillDate: r.activeTillDate,\n\t\t\tnext_available_spin_ts: r.next_available_spin_ts,\n\n\t\t\tprizes: r.prizes.map((p) => {\n\t\t\t\tconst y: TMiniGamePrize = {\n\t\t\t\t\tid: p.saw_prize_id,\n\t\t\t\t\tname: p.saw_prize_ui_definition.name,\n\t\t\t\t\tprize_type: MiniGamePrizeTypeNamed(p.prize_type_id),\n\t\t\t\t\tprize_value: p.prize_value,\n\t\t\t\t\tfont_size: p.saw_prize_ui_definition.font_size,\n\t\t\t\t\tfont_size_mobile: p.saw_prize_ui_definition.font_size_mobile,\n\t\t\t\t\ticon: p.saw_prize_ui_definition.icon,\n\t\t\t\t\tposition: p.saw_prize_ui_definition.position,\n\t\t\t\t\tacknowledge_type: SAWAcknowledgeTypeNamed(p.saw_prize_ui_definition.acknowledge_type),\n\t\t\t\t\taknowledge_message: p.saw_prize_ui_definition.aknowledge_message,\n\t\t\t\t\tacknowledge_dp: p.saw_prize_ui_definition.acknowledge_dp,\n\t\t\t\t\tacknowledge_action_title: p.saw_prize_ui_definition.acknowledge_action_title,\n\t\t\t\t\tacknowledge_dp_additional: p.saw_prize_ui_definition.acknowledge_dp_additional,\n\t\t\t\t\tacknowledge_action_title_additional: p.saw_prize_ui_definition.acknowledge_action_title_additional,\n\t\t\t\t\tout_of_stock_message: p.saw_prize_ui_definition.out_of_stock_message,\n\t\t\t\t\tpool: p.pool,\n\t\t\t\t\tpool_initial: p.pool_initial,\n\t\t\t\t\twins_count: p.wins_count,\n\t\t\t\t\tweekdays: p.weekdays,\n\t\t\t\t\tactive_from_ts: p.active_from_ts,\n\t\t\t\t\tactive_till_ts: p.active_till_ts,\n\t\t\t\t\trelative_period_timezone: p.relative_period_timezone,\n\t\t\t\t\tis_surcharge: p.is_surcharge,\n\t\t\t\t\tcustom_data: IntUtils.JsonOrText(r.saw_template_ui_definition.custom_data),\n\t\t\t\t};\n\t\t\t\treturn y;\n\t\t\t}),\n\t\t};\n\t\treturn x;\n\t});\n};\n","/*\n * Possible error codes for the mini-games attempts\n */\nexport enum SAWSpinErrorCode {\n\t/** No error */\n\tSAW_OK = 0,\n\t/** User doesn't have 'spin attempts' to play. In case buy in type for the game is 'spins' based */\n\tSAW_NO_SPINS = 40001,\n\t/** The are no prizes left to play the game */\n\tSAW_PRIZE_POOL_EMPTY = 40002,\n\t/** User doesn't have enough points to play. In case buy in type for the game is 'points' based */\n\tSAW_NOT_ENOUGH_POINTS = 40003,\n\t/** User reached max number of game attempts defined in the BackOffice */\n\tSAW_FAILED_MAX_SPINS_REACHED = 40004,\n\t/** User tries to play a template that is restricted by date */\n\tSAW_TEMPLATE_NOT_ACTIVE = 40007,\n\t/** Special code for the 'visitor' mode */\n\tSAW_VISITOR_STOP_SPIN_REQUEST = -40001,\n}\n","export enum SAWWinSoundType {\n\tDisappointing = 1,\n\tPositive = 2,\n\tHighlyPositive = 3,\n\tNoSound = 4,\n\tCustom = 5,\n}\n\nexport const SAWWinSoundFiles = {\n\t[SAWWinSoundType.NoSound]: null,\n\t[SAWWinSoundType.Disappointing]: 'saw-disappointed.m4a',\n\t[SAWWinSoundType.Positive]: 'saw-positive.m4a',\n\t[SAWWinSoundType.HighlyPositive]: 'saw-highly-positive.m4a',\n};\n","import { ProtocolResponse } from \"../SmarticoLib\";\nimport { TSawHistory } from \"../WSAPI/WSAPITypes\";\nimport { SAWTemplate } from \"./SAWTemplate\";\n\nexport interface SAWWinningHistoryResponse extends ProtocolResponse {\n\tprizes: SAWPrizesHistory[];\n}\n\nexport interface SAWPrizesHistory {\n\ttemplate: SAWTemplate,\n\tsaw_template_id: number,\n\tsaw_prize_id: number,\n\tprize_amount: number,\n\tclient_request_id: string,\n\tis_claimed: boolean,\n\tcreate_date_ts: number;\n\tacknowledge_date_ts: number;\n}\n\nexport const SAWHistoryTransform = (items: SAWPrizesHistory[]): TSawHistory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TSawHistory = {\n\t\t\ttemplate: r.template,\n\t\t\tsaw_template_id: r.saw_template_id,\n\t\t\tsaw_prize_id: r.saw_prize_id,\n\t\t\tprize_amount: r.prize_amount,\n\t\t\tclient_request_id: r.client_request_id,\n\t\t\tis_claimed: r.is_claimed,\n\t\t\tcreate_date_ts: r.create_date_ts,\n\t\t\tacknowledge_date_ts: r.acknowledge_date_ts,\n\t\t}\n\t\treturn x;\n\t})\n}\n\n","export enum SAWGameLayout {\n Horizontal = 1,\n VerticalMap = 2,\n}","class NodeCache {\n\tprivate static ttlChecker: NodeJS.Timeout;\n\n\tprivate static cache: { [key: string]: any } = {};\n\n\tconstructor() {\n\t\tif (NodeCache.ttlChecker === undefined) {\n\t\t\tNodeCache.ttlChecker = setInterval(() => {\n\t\t\t\tconst now = new Date().getTime();\n\t\t\t\tfor (const key in NodeCache.cache) {\n\t\t\t\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\t\t\t\tconst o = NodeCache.cache[key];\n\t\t\t\t\t\tif (o.ttl < now) {\n\t\t\t\t\t\t\tdelete NodeCache.cache[key];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, 1000);\n\t\t}\n\t}\n\n\tpublic get(key: string): any {\n\t\tconst o = NodeCache.cache[key];\n\t\tif (o !== undefined && o.ttl > new Date().getTime()) {\n\t\t\treturn o.value;\n\t\t}\n\t}\n\n\tpublic set(key: string, value: any, ttlSeconds: number = 60) {\n\t\tNodeCache.cache[key] = {\n\t\t\tvalue,\n\t\t\tttl: new Date().getTime() + ttlSeconds * 1000,\n\t\t};\n\t}\n\n\tpublic remove(key: string) {\n\t\tif (NodeCache.cache.hasOwnProperty(key)) {\n\t\t\tdelete NodeCache.cache[key];\n\t\t}\n\t}\n\n\tpublic flushAll() {\n\t\tNodeCache.cache = {};\n\t}\n}\n\nexport { NodeCache };\n","import { NodeCache } from './NodeCache';\n\nexport enum ECacheContext {\n\tTranslations,\n\tLabelInfo,\n\tWSAPI,\n}\n\nconst WITH_REF_CACHE = [ECacheContext.Translations];\n\nexport class OCache {\n\tprivate static cache: { [key: string]: NodeCache } = {};\n\n\tprivate static init(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext] === undefined) {\n\t\t\tthis.cache[cacheContext] = new NodeCache();\n\t\t}\n\t}\n\n\tpublic static get<T>(oKey: any, cacheContext: ECacheContext): T | undefined {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tthis.init(cacheContext);\n\n\t\treturn deepClone(this.cache[cacheContext].get(key));\n\t}\n\n\tpublic static set(oKey: any, o: any, cacheContext: ECacheContext, ttlSeconds: number = 60) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tthis.init(cacheContext);\n\n\t\tthis.cache[cacheContext].set(key, deepClone(o), ttlSeconds);\n\t}\n\n\tpublic static async use<T>(oKey: any, cacheContext: ECacheContext, f: () => Promise<T>, ttlSeconds: number = 60) {\n\t\tif (ttlSeconds <= 0) {\n\t\t\treturn await f();\n\t\t} else {\n\t\t\tlet o: T = OCache.get(oKey, cacheContext);\n\n\t\t\tif (o === undefined) {\n\t\t\t\to = await f();\n\t\t\t\tOCache.set(oKey, o, cacheContext, ttlSeconds);\n\t\t\t}\n\n\t\t\treturn o;\n\t\t}\n\t}\n\n\tpublic static async clear(cacheContext: ECacheContext, oKey: any) {\n\t\tconst key = cacheContext.toString() + '_' + JSON.stringify(oKey);\n\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].remove(key);\n\t\t}\n\t}\n\n\tpublic static async clearContext(cacheContext: ECacheContext) {\n\t\tif (this.cache[cacheContext]) {\n\t\t\tthis.cache[cacheContext].flushAll();\n\t\t}\n\t}\n\n\tpublic static async clearAll() {\n\t\tthis.cache = {};\n\t}\n}\n\nconst deepClone = (o: any) => {\n\tif (o) {\n\t\treturn JSON.parse(JSON.stringify(o));\n\t}\n\n\treturn o;\n};\n","export enum ActivityTypeLimited {\n\tDoNothing = 8,\n\tPoints = 12,\n\tGiveMission = 14,\n\tStartAnotherCampaign = 15,\n\tMiniGameAttempt = 16,\n\tDeductPoints = 21,\n\tResetPoints = 22,\n\tPopup = 30,\n\tInbox = 31,\n\tSlack = 70,\n\tEmail_To_Customer_Support = 80,\n\tEmail_To_Risk_Operator = 90,\n\tBonus = 100,\n\tWebHook = 200,\n\tTagCustomer = 504,\n\tUnTagCustomer = 505,\n}\n","class CoreUtils {\n\tpublic static avatarUrl = (avatar_id: string, avatarDomain: string): string => {\n\t\tif (\n\t\t\tavatarDomain &&\n\t\t\tavatar_id !== null &&\n\t\t\tavatar_id !== undefined &&\n\t\t\t!(avatar_id.startsWith && avatar_id.startsWith('http'))\n\t\t) {\n\t\t\tif (avatarDomain.endsWith('/')) {\n\t\t\t\treturn avatarDomain.slice(0, -1) + '/avatar/' + avatar_id;\n\t\t\t} else {\n\t\t\t\treturn avatarDomain + '/avatar/' + avatar_id;\n\t\t\t}\n\t\t} else {\n\t\t\treturn avatar_id;\n\t\t}\n\t};\n\n\tpublic static currencySymbol(currency: string) {\n\t\treturn {\n\t\t\t[currency?.toUpperCase()]: currency?.toUpperCase(),\n\t\t\tUSD: '$', // United States Dollar\n\t\t\tEUR: '\\u20AC', // Euro\n\t\t\tJPY: '\\u00A5', // Japanese Yen\n\t\t\tGBP: '\\u00A3', // British Pound Sterling\n\t\t\tAUD: 'A$', // Australian Dollar\n\t\t\tCAD: 'C$', // Canadian Dollar\n\t\t\tCHF: 'CHF', // Swiss Franc\n\t\t\tCNY: '\\u00A5', // Chinese Yuan\n\t\t\tSEK: 'kr', // Swedish Krona\n\t\t\tNZD: 'NZ$', // New Zealand Dollar\n\t\t\tMXN: 'MX$', // Mexican Peso\n\t\t\tSGD: 'S$', // Singapore Dollar\n\t\t\tHKD: 'HK$', // Hong Kong Dollar\n\t\t\tNOK: 'kr', // Norwegian Krone\n\t\t\tKRW: '\\u20A9', // South Korean Won\n\t\t\tTRY: '\\u20BA', // Turkish Lira\n\t\t\tINR: '\\u20B9', // Indian Rupee\n\t\t\tRUB: '\\u20BD', // Russian Ruble\n\t\t\tBRL: 'R$', // Brazilian Real\n\t\t\tZAR: 'R', // South African Rand\n\t\t}[currency?.toUpperCase()];\n\t}\n}\n\nexport { CoreUtils };\n","export enum PublicLabelSettings {\n\tPUBLIC_API_URL = 'PUBLIC_API_URL',\n\tRECORDING_ENABLED_FOR_ALL_USERS = 'RECORDING_ENABLED_FOR_ALL_USERS',\n\tJS_INJECTION = 'JS_INJECTION',\n\tGAMIFICATION_UI_MAIN = 'GAMIFICATION_UI_MAIN',\n\tGAMIFICATION_UI_WIDGET = 'GAMIFICATION_UI_WIDGET',\n\tGAMIFICATION_UI_MINI_GAME = 'GAMIFICATION_UI_MINI_GAME',\n\tGAMIFICATION_UI_SETTINGS = 'GAMIFICATION_UI_SETTINGS',\n\tGAMIFICATION_UI_MAIN_TEST = 'GAMIFICATION_UI_MAIN_TEST',\n\tGAMIFICATION_UI_WIDGET_TEST = 'GAMIFICATION_UI_WIDGET_TEST',\n\tGAMIFICATION_UI_SETTINGS_TEST = 'GAMIFICATION_UI_SETTINGS_TEST',\n\tFRONT_END_ALLOWED_LANGUAGES = 'FRONT_END_ALLOWED_LANGUAGES',\n\tFRONT_END_ALLOW_DOMAINS = 'FRONT_END_ALLOW_DOMAINS',\n\tDELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS = 'DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS',\n\tSHADOW_LABEL_PUBLIC_KEY = 'SHADOW_LABEL_PUBLIC_KEY',\n\tDYNAMIC_IMAGE_DOMAIN = 'DYNAMIC_IMAGE_DOMAIN',\n\n\tGAMIFICATION_UI_LEVEL_ENABLED = 'GAMIFICATION_UI_LEVEL_ENABLED',\n\tGAMIFICATION_UI_LEVEL_IMAGE_MOB = 'GAMIFICATION_UI_LEVEL_IMAGE_MOB',\n\tGAMIFICATION_UI_LEVEL_IMAGE_DESK = 'GAMIFICATION_UI_LEVEL_IMAGE_DESK',\n\n\tGAMIFICATION_LEVELS_LOGIC2 = 'GAMIFICATION_LEVELS_LOGIC2',\n\tGAMIFICATION_LEVELS_LOGIC3 = 'GAMIFICATION_LEVELS_LOGIC2',\n\n\tAVATAR_CUSTOM_IMAGE_MAX_ID = 'AVATAR_CUSTOM_IMAGE_MAX_ID',\n\tAVATAR_CUSTOM_IMAGE_FOLDER = 'AVATAR_CUSTOM_IMAGE_FOLDER',\n\n\tGAMIFICATION_SHOW_POWERED_BY = 'GAMIFICATION_SHOW_POWERED_BY',\n\t_system_leader_board_mask_username = '_system_leader_board_mask_username',\n\n\tINBOX_PUBLIC_CDN = 'INBOX_PUBLIC_CDN',\n}\n","enum TranslationArea {\n\tCasino = 1,\n\tGamification = 2,\n\tTrading = 3,\n\tArchived = 4,\n\tAffiliation = 5,\n\tRetentionGames = 6,\n\tAffIliateAdminNew = 7,\n}\n\nexport { TranslationArea };\n","import { TInboxMessage } from '../WSAPI/WSAPITypes';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { InboxMessage } from './InboxMessage';\n\nexport interface GetInboxMessagesResponse extends ProtocolResponse {\n\tlog: InboxMessage[];\n}\n\nexport const InboxMessagesTransform = (items: InboxMessage[]): TInboxMessage[] => {\n\treturn items.map((item) => {\n\t\tconst x: TInboxMessage = {\n\t\t\tsent_date: item.createDate,\n\t\t\tmessage_guid: item.engagement_uid,\n\t\t\tread: item.is_read,\n\t\t\tfavorite: item.is_starred,\n\t\t};\n\t\treturn x;\n\t});\n};\n","import { TInboxMessageBody } from '../WSAPI/WSAPITypes';\nimport { InboxMessageType } from './InboxMessageType';\nimport { OpenLinksType } from './OpenLinksType';\n\nexport interface InboxMessageBody {\n\t// URL or deep-link that neeed to be executed when user clicks on the message\n\taction: string;\n\t// the body of the message in case it's 'simple' inbox message\n\tbody: string;\n\t// type of message, deprecated\n\ttype: InboxMessageType;\n\t// image of the icon\n\timage: string;\n\t// title of the message\n\ttitle: string;\n\t// HTML body of the message in case it's 'rich' inbox message\n\thtml_body: string;\n\t// set of the buttons with text on the button and action that could be URL or deep-link\n\tadditional_buttons?: { inbox_cta_text: string; action: string }[];\n\t// indicator if the message need to be shown when sent and overlay or it should be shown only in the inbox, when user open 'inbox' interface explicitly\n\t// default is 'true'\n\tshow_preview?: boolean;\n\t// duration in seconds for how long to show preview, default is 7 seconds\n\tshow_duration_sec?: number;\n\t// indicator if the image in html_body can be zoomed out\n\t// default is 'false'\n\tenable_zoom_mode?: boolean;\n\t// options that allows to open links in buttons either in new window or in the current one\n\topen_links?: OpenLinksType;\n}\n\nexport interface InboxMessage {\n\t// date when the message was created\n\tcreateDate: string;\n\t// body of the message according to the interface\n\tbody: InboxMessageBody;\n\t// unique identifier of the message that connects it to the campaign from which it was sent\n\tengagement_uid: string;\n\t// flag that indicates if the message was read by the user\n\tis_read: boolean;\n\t// flag that indicates if the message was marked as favorite by the user\n\tis_starred: boolean;\n\t// flag that indicates if the message was deleted by the user. Such messages are not returned in the response and property is used only internaly in Smartico\n\tis_deleted?: boolean;\n}\n\nexport const InboxMessageBodyTransform = (item: InboxMessageBody): TInboxMessageBody => {\n\tconst x: TInboxMessageBody = {\n\t\taction: item.action,\n\t\ticon: item.image,\n\t\ttitle: item.title,\n\t\tpreview_body: item.body,\n\t};\n\n\tif (item.action === 'dp:inbox') {\n\t\tif (item.additional_buttons && item.additional_buttons.length) {\n\t\t\tx.buttons = item.additional_buttons.map((b) => ({\n\t\t\t\taction: b.action,\n\t\t\t\ttext: b.inbox_cta_text,\n\t\t\t}));\n\t\t}\n\n\t\tx.html_body = item?.html_body || null;\n\t}\n\n\treturn x;\n};\n","export enum InboxMessageType {\n\tCustom = 0,\n\tMissionCompleted = 1,\n\tMissionUnlocked = 2,\n\tLeaderboardWon = 3,\n\tLevelChanged = 4,\n\tBonusGiven = 5,\n\tPointsAdded = 6,\n\tPointsUsed = 7,\n\tPersonalMessage = 8,\n}\n\n// keep in sync with BO enum\n","export enum OpenLinksType {\n\tNewWindow = 1,\n\tCurrentWindow = 2\n}","export enum BuyStoreItemErrorCode {\n\tFAILED_TO_BUY_SHOP_ITEM = 121,\n\tSHOP_NO_BALANCE = 11000,\n\tSHOP_WRONG_LABEL = 11001,\n\tSHOP_FAILED_TO_BUY_BONUS = 11002, // remote product restriction\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION = 11003, // when not visible but trying to buy. Shoudnt happen\n\tSHOP_FAILED_TO_BUY_SHOP_ITEM_CONDITION_PURSHASE = 11004, // when visible but not matching to purchase segment\n\tSHOP_FAILED_TO_BUY_MATCHING_BONUS = 11005,\n\tSHOP_FAILED_MAX_BOUGHT_ITEMS_REACHED = 11006,\n\tSHOP_FAILED_POOL_EMPTY = 11009,\n}\n","import { TStoreCategory } from '../WSAPI/WSAPITypes';\nimport { StoreCategoryPublicMeta } from './StoreCategoryPublicMeta';\n\nexport interface StoreCategory {\n\tid?: number;\n\tpublicMeta?: StoreCategoryPublicMeta;\n}\n\nexport const StoreCategoryTransform = (items: StoreCategory[]): TStoreCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TStoreCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t};\n\t\treturn x;\n\t});\n};\n","export enum StoreItemType {\n\tBonus = 1,\n\tTangible = 2,\n\tMiniGameSpin = 3,\n\tChangeLevel = 4,\n\tPrizeDrop = 5,\n}\n\nexport enum StoreItemTypeName {\n\tBonus = 'bonus',\n\tTangible = 'tangible',\n\tMiniGameSpin = 'minigamespin',\n\tChangeLevel = 'changelevel',\n\tPrizeDrop = 'prizedrop',\n\tUnknown = 'unknown',\n}\n\nexport const StoreItemTypeNamed = (type: StoreItemType): StoreItemTypeName => {\n\treturn (\n\t\t{\n\t\t\t[StoreItemType.Bonus]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.Tangible]: StoreItemTypeName.Bonus,\n\t\t\t[StoreItemType.MiniGameSpin]: StoreItemTypeName.MiniGameSpin,\n\t\t\t[StoreItemType.ChangeLevel]: StoreItemTypeName.ChangeLevel,\n\t\t\t[StoreItemType.PrizeDrop]: StoreItemTypeName.PrizeDrop,\n\t\t}[type] || StoreItemTypeName.Unknown\n\t);\n};\n","import { IntUtils } from '../IntUtils';\nimport { TStoreItem } from '../WSAPI/WSAPITypes';\nimport { StoreItemPublicMeta } from './StoreItemPublicMeta';\nimport { StoreItemType, StoreItemTypeNamed } from './StoreItemType';\n\nexport interface StoreItem {\n\tid: number;\n\titemTypeId: StoreItemType;\n\titemPublicMeta: StoreItemPublicMeta;\n\tcategoryIds?: number[];\n\tcanBuy?: boolean;\n\tshopPool: number;\n}\n\nexport const StoreItemTransform = (items: StoreItem[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.itemPublicMeta.custom_data),\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","import { IntUtils } from '../IntUtils';\nimport { TStoreItem } from '../WSAPI/WSAPITypes';\nimport { StoreItem } from './StoreItem';\nimport { StoreItemTypeNamed } from './StoreItemType';\n\ninterface StoreItemPurchased extends StoreItem {\n\tpurchase_ts: number;\n\tpurchase_points_amount: number;\n\tpurchased_today?: boolean;\n\tpurchased_this_week?: boolean;\n\tpurchased_this_month?: boolean;\n}\n\nexport const StoreItemPurchasedTransform = (items: StoreItemPurchased[]): TStoreItem[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst purchasedToday = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'today') : false;\n\t\t\tconst purchasedThisWeek = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisWeek') : false;\n\t\t\tconst purchasedThisMonth = r.purchase_ts ? IntUtils.isWithinPeriod(r.purchase_ts, 'thisMonth') : false;\n\n\t\t\tconst x: TStoreItem = {\n\t\t\t\tid: r.id,\n\t\t\t\tname: r.itemPublicMeta.name,\n\t\t\t\tprice: r.itemPublicMeta.price as any as number, // AA: strange why it's string\n\t\t\t\timage: r.itemPublicMeta.image_url,\n\t\t\t\tdescription: r.itemPublicMeta.description,\n\t\t\t\tribbon: r.itemPublicMeta.label_tag === 'custom' ? r.itemPublicMeta.custom_label_tag : r.itemPublicMeta.label_tag,\n\t\t\t\tlimit_message: r.itemPublicMeta.limit_message,\n\t\t\t\tpriority: r.itemPublicMeta.priority ?? 0,\n\t\t\t\trelated_item_ids: r.itemPublicMeta.related_items,\n\t\t\t\thint_text: r.itemPublicMeta.hint_text,\n\t\t\t\ttype: StoreItemTypeNamed(r.itemTypeId),\n\t\t\t\tcan_buy: r.canBuy,\n\t\t\t\tcategory_ids: r.categoryIds ?? [],\n\t\t\t\tpool: r.shopPool,\n\t\t\t\tpurchase_ts: r.purchase_ts,\n\t\t\t\tpurchase_points_amount: r.purchase_points_amount,\n\t\t\t\tpurchased_today: purchasedToday,\n\t\t\t\tpurchased_this_week: purchasedThisWeek,\n\t\t\t\tpurchased_this_month: purchasedThisMonth,\n\t\t\t\tcustom_data: r.itemPublicMeta.custom_data\n\t\t\t};\n\n\t\t\treturn x;\n\t\t});\n};\n\nexport { StoreItemPurchased };\n","export enum AchievementStatus {\n\tDraft = 1,\n\tAvailableUnlocked = 2,\n\tAvailableLocked = 3,\n\tArchived = 4,\n\tFeaturedManually = 5,\n\tFeaturedAI = 6,\n\tRecurring = 7,\n\tRecurringUponCompletion = 8\n}\n","export enum AchievementTaskType {\n\tCompleteAchievement = 1,\n\tUnlockAchievement = 2,\n}\n","export enum AchievementType {\n\tMission = 1,\n\tBadge = 2,\n}\n","import { AchRelatedGame } from '../Base/AchRelatedGame';\nimport { IntUtils } from '../IntUtils';\nimport { TMissionOrBadge } from '../WSAPI/WSAPITypes';\nimport { AchievementPublicMeta } from './AchievementPublicMeta';\nimport { AchievementStatus } from './AchievementStatus';\nimport { AchievementTaskType } from './AchievementTaskType';\nimport { AchievementType } from './AchievementType';\nimport { ScheduledMissionType } from './ScheduledMissionType';\nimport { UserAchievementTask } from './UserAchievementTask';\n\nexport interface UserAchievement {\n\tach_id?: number;\n\tach_type_id?: AchievementType;\n\tach_public_meta?: AchievementPublicMeta;\n\tisCompleted?: boolean;\n\tisLocked?: boolean;\n\trequiresOptin?: boolean;\n\tisOptedIn?: boolean;\n\tstart_date?: string; // time when mission unlocked or opted-in. Needed to calculated \"remaining time\" in case time_limit_ms is set\n\tstart_date_ts?: number;\n\ttime_limit_ms?: number;\n\tprogress?: number;\n\tcomplete_date?: string;\n\tcomplete_date_ts?: number;\n\tunlock_date?: string;\n\tmilliseconds_till_available?: number;\n\tcompleted_tasks?: number;\n\tachievementTasks?: UserAchievementTask[];\n\tnext_recurrence_date_ts?: number;\n\tach_status_id?: AchievementStatus;\n\tscheduledMissionType?: ScheduledMissionType;\n\trelated_games?: AchRelatedGame[];\n\tactive_from_ts?: number; // indicates when 'scheduled' mission is active from,\n\tactive_till_ts?: number; // indicates when 'scheduled' mission is active till,\n\tach_categories?: number[];\n\trecurring_quantity?: number; // max completion count for Recurring upon completion\n\tcompleted_count?: number; // completion count for Recurring upon completion\n\n\tach_completed_id?: number; // ID of the completion fact from ach_completed or ach_completed_recurring tables\n\trequires_prize_claim?: boolean; // flag from achievement if the mission prize will be given only after user claims it\n\tprize_claimed_date_ts?: number; // the date/timestamp indicating when the prize was claimed by the user\n\n\tcompleted_today?: boolean;\n\tcompleted_this_week?: boolean;\n\tcompleted_this_month?: boolean;\n\tcustom_section_type_id?: number;\n}\n\nexport const UserAchievementTransform = (items: UserAchievement[]): TMissionOrBadge[] => {\n\treturn items\n\t\t.filter((r) => r.ach_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst completedToday = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'today') : false;\n\t\t\tconst completedThisWeek = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisWeek') : false;\n\t\t\tconst completedThisMonth = r.complete_date_ts ? IntUtils.isWithinPeriod(r.complete_date_ts, 'thisMonth') : false;\n\n\t\t\tconst x: TMissionOrBadge = {\n\t\t\t\tid: r.ach_id,\n\t\t\t\tname: r.ach_public_meta.name,\n\t\t\t\tdescription: r.ach_public_meta.description,\n\t\t\t\thint_text: r.ach_public_meta.hint_text,\n\t\t\t\tunlock_mission_description: r.ach_public_meta.unlock_mission_description,\n\t\t\t\timage: r.ach_public_meta.image_url,\n\t\t\t\tis_completed: r.isCompleted,\n\t\t\t\tis_locked: r.isLocked,\n\t\t\t\tis_requires_optin: r.requiresOptin,\n\t\t\t\tis_opted_in: r.isOptedIn,\n\t\t\t\ttime_limit_ms: r.time_limit_ms,\n\t\t\t\tactive_from_ts: r.active_from_ts,\n\t\t\t\tactive_till_ts: r.active_from_ts,\n\t\t\t\tdt_start: r.start_date_ts,\n\t\t\t\treward: r.ach_public_meta.reward,\n\t\t\t\tprogress: r.progress,\n\t\t\t\ttype: r.ach_type_id === AchievementType.Mission ? 'mission' : 'badge',\n\t\t\t\tcta_action: r.ach_public_meta.cta_action,\n\t\t\t\tcta_text: r.ach_public_meta.cta_text,\n\t\t\t\tcustom_section_id: r.ach_public_meta.custom_section_id,\n\t\t\t\tonly_in_custom_section: r.ach_public_meta.only_in_custom_section,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.ach_public_meta.custom_data),\n\t\t\t\tposition: r.ach_public_meta.position,\n\t\t\t\tribbon:\n\t\t\t\t\tr.ach_public_meta.label_tag === 'custom' ? r.ach_public_meta.custom_label_tag : r.ach_public_meta.label_tag,\n\t\t\t\ttasks: (r.achievementTasks || [])\n\t\t\t\t\t.filter((t) => t.task_type_id === AchievementTaskType.CompleteAchievement)\n\t\t\t\t\t.map((t) => ({\n\t\t\t\t\t\tid: t.task_id,\n\t\t\t\t\t\tname: t.task_public_meta?.name,\n\t\t\t\t\t\tpoints_reward: t.points_reward,\n\t\t\t\t\t\tis_completed: t.isCompleted,\n\t\t\t\t\t\tprogress: t.userProgress,\n\t\t\t\t\t\texecution_count_expected: t.executionCount,\n\t\t\t\t\t\texecution_count_actual: t.userExecutedCount,\n\t\t\t\t\t\tdisplay_progress_as_count: t.task_public_meta.display_progress_as_count,\n\t\t\t\t\t})),\n\t\t\t\trelated_games: (r.related_games || []).map((g) => ({\n\t\t\t\t\text_game_id: g.ext_game_id,\n\t\t\t\t\tgame_public_meta: {\n\t\t\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t\t\t\tmobile_spec_link: g.game_public_meta.mobile_spec_link\n\t\t\t\t\t},\n\t\t\t\t})),\n\t\t\t\tcategory_ids: r.ach_categories ?? [],\n\t\t\t\tach_completed_id: r.ach_completed_id,\n\t\t\t\trequires_prize_claim: r.requires_prize_claim,\n\t\t\t\tprize_claimed_date_ts: r.prize_claimed_date_ts,\n\t\t\t\tcomplete_date: r.complete_date,\n\t\t\t\tcomplete_date_ts: r.complete_date_ts,\n\t\t\t\tcompleted_today: completedToday,\n\t\t\t\tcompleted_this_week: completedThisWeek,\n\t\t\t\tcompleted_this_month: completedThisMonth,\n\t\t\t\tcustom_section_type_id: r.ach_public_meta.custom_section_type_id,\n\t\t\t};\n\n\t\t\tif (r.ach_status_id === AchievementStatus.RecurringUponCompletion) {\n\t\t\t\tx.completion_count = r.completed_count;\n\t\t\t\tx.max_completion_count = r.recurring_quantity;\n\t\t\t}\n\t\t\treturn x;\n\t\t});\n};\n","export enum ScheduledMissionType {\n\tFuture = 1,\n\tPast = 2,\n\tPresent = 3,\n}\n","import { TAchCategory } from '../WSAPI/WSAPITypes';\nimport { AchCategoryPublicMeta } from './AchCategoryPublicMeta';\n\nexport interface AchCategory {\n\tid?: number;\n\tpublicMeta?: AchCategoryPublicMeta;\n}\n\nexport const AchCategoryTransform = (items: AchCategory[]): TAchCategory[] => {\n\treturn items.map((r) => {\n\t\tconst x: TAchCategory = {\n\t\t\tid: r.id,\n\t\t\tname: r.publicMeta?.name,\n\t\t\torder: r.publicMeta?.order,\n\t\t};\n\t\treturn x;\n\t});\n};\n","/** @hidden */\nexport enum TournamentRegistrationType {\n\tAUTO = 1,\n\tOPT_IN = 2,\n\tBUY_IN_POINTS = 3,\n\tMANUAL_APPROVAL = 4,\n\tREQUIRES_QUALIFICATION = 5,\n\t// BUY_IN_CASH = 5???,\n}\n\nexport type TournamentRegistrationTypeName =\n\t| 'AUTO'\n\t| 'OPT_IN'\n\t| 'BUY_IN_POINTS'\n\t| 'MANUAL_APPROVAL'\n\t| 'REQUIRES_QUALIFICATION'\n\t| 'UNKNOWN';\n\n/** @hidden */\nexport const TournamentRegistrationTypeGetName = (type: TournamentRegistrationType): TournamentRegistrationTypeName => {\n\treturn ({\n\t\t[TournamentRegistrationType.AUTO]: 'AUTO',\n\t\t[TournamentRegistrationType.BUY_IN_POINTS]: 'BUY_IN_POINTS',\n\t\t[TournamentRegistrationType.MANUAL_APPROVAL]: 'MANUAL_APPROVAL',\n\t\t[TournamentRegistrationType.OPT_IN]: 'OPT_IN',\n\t\t[TournamentRegistrationType.REQUIRES_QUALIFICATION]: 'REQUIRES_QUALIFICATION',\n\t}[type] || 'UNKNOWN') as any as TournamentRegistrationTypeName;\n};\n","/** @hidden */\nexport enum TournamentRegistrationStatus {\n\tNOT_REGISTERED = 0,\n\tREGISTERED = 1,\n\tFINISHED = 2,\n\tPENDING = 3,\n\tCANCELLED = 4,\n\tREGISTERED_PENDING_QUALIFICATION = 5,\n\tQUALIFIED_PENDING_REGISTRATION = 6,\n}\n\nexport enum TournamentRegistrationStatusName {\n\tNOT_REGISTERED = 'NOT_REGISTERED',\n\tREGISTERED = 'REGISTERED',\n\tFINISHED = 'FINISHED',\n\tPENDING = 'PENDING',\n\tCANCELLED = 'CANCELLED',\n\tREGISTERED_PENDING_QUALIFICATION = 'REGISTERED_PENDING_QUALIFICATION',\n\tQUALIFIED_PENDING_REGISTRATION = 'QUALIFIED_PENDING_REGISTRATION',\n\tUNKNOWN = 'UNKNOWN',\n}\n\n/** @hidden */\nexport const TournamentRegistrationStatusNamed = (type: TournamentRegistrationStatus): TournamentRegistrationStatusName => {\n\treturn ({\n\t\t[TournamentRegistrationStatus.CANCELLED]: TournamentRegistrationStatusName.CANCELLED,\n\t\t[TournamentRegistrationStatus.FINISHED]: TournamentRegistrationStatusName.FINISHED,\n\t\t[TournamentRegistrationStatus.NOT_REGISTERED]: TournamentRegistrationStatusName.NOT_REGISTERED,\n\t\t[TournamentRegistrationStatus.PENDING]: TournamentRegistrationStatusName.PENDING,\n\t\t[TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION]:\n\t\t\tTournamentRegistrationStatusName.QUALIFIED_PENDING_REGISTRATION,\n\t\t[TournamentRegistrationStatus.REGISTERED]: TournamentRegistrationStatusName.REGISTERED,\n\t\t[TournamentRegistrationStatus.REGISTERED_PENDING_QUALIFICATION]:\n\t\t\tTournamentRegistrationStatusName.REGISTERED_PENDING_QUALIFICATION,\n\t}[type] || TournamentRegistrationStatusName.UNKNOWN) as TournamentRegistrationStatusName;\n};\n","import { TournamentRegistrationType, TournamentRegistrationTypeGetName } from './TournamentRegistrationType';\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus';\nimport {\n\tTournamentRegistrationStatus,\n\tTournamentRegistrationStatusName,\n\tTournamentRegistrationStatusNamed,\n} from './TournamentRegistrationStatus';\nimport { TournamentType } from './TournamentType';\nimport { TournamentPublicMeta } from './TournamentPublicMeta';\nimport { TTournament } from '../WSAPI/WSAPITypes';\nimport { TournamentPlayer, TournamentPrize, TournamentUtils } from '.';\nimport { IntUtils } from '../IntUtils';\nimport { AchRelatedGame } from '../Base/AchRelatedGame';\n\nexport interface Tournament {\n\t/** ID of tournament template */\n\ttournamentId?: number;\n\t/** ID of tournament instance. Generated every time when tournament based on specific template is scheduled for run */\n\ttournamentInstanceId?: number;\n\t/** Type of the tournament. For now only SCHEDULED is support */\n\ttournamentType?: TournamentType;\n\t/** Meta information about tournament that should be used to build UI */\n\tpublicMeta?: TournamentPublicMeta;\n\t/** Cost of registration in the tournament in gamification points */\n\tbuyInAmount?: number;\n\t/** Not in use */\n\tprizePool?: number;\n\t/** The time when tournament is going to start */\n\tstartTime?: string;\n\t/** The time when tournament is going to finish */\n\tendTime?: string;\n\t/** The time when tournament is going to start, epoch */\n\tstartTimeTs?: number;\n\t/** The time when tournament is going to finish, epoch */\n\tendTimeTs?: number;\n\t/** Number of users registered in the tournament */\n\tregistrationCount?: number;\n\t/** Not in use */\n\ttotalCount?: number;\n\t/** Type of registration in the tournament */\n\tregistrationType?: TournamentRegistrationType;\n\t/** Status of registration in the tournament for current user */\n\ttournamentRegistrationStatus?: TournamentRegistrationStatus;\n\t/** Status of tournament instance */\n\ttournamentInstanceStatus?: TournamentInstanceStatus;\n\t/** flag indicating if current user is registered in the tournament */\n\tisUserRegistered?: boolean;\n\t/** Indicator if tournament allows later registration, when tournament is already started */\n\tallowLateRegistration?: boolean;\n\t/** Minimum number of participant for this tournament. If tournament doesnt have enough registrations, it will not start */\n\tplayersMinCount?: number;\n\t/** Maximum number of participant for this tournament. When reached, new users won't be able to register */\n\tplayersMaxCount?: number;\n\t/** Tournament duration in millisecnnds */\n\tdurationMs?: number;\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[];\n\t};\n\t/** Information about current user */\n\ttournamentPlayer?: TournamentPlayer;\n\n\t/** List of casino games (or other types of entities) related to the tournament */\n\trelated_games?: AchRelatedGame[];\n\t/* The minimum amount of score points that the user should get in order to be qualified for the prize */\n\tminScoreToWin?: number;\n\t/* When enabled, users who don’t meet the minimum qualifying score will be hidden from the Leaderboard. */\n\thideLeaderboardsMinScores?: boolean;\n}\n\nexport const TournamentItemsTransform = (items: Tournament[]): TTournament[] => {\n\treturn items\n\t\t.filter((r) => r.tournamentId >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TTournament = {\n\t\t\t\tinstance_id: r.tournamentInstanceId,\n\t\t\t\ttournament_id: r.tournamentId,\n\t\t\t\tname: r.publicMeta.name,\n\t\t\t\tdescription: r.publicMeta.description,\n\t\t\t\tsegment_dont_match_message: r.publicMeta.segment_dont_match_message,\n\t\t\t\timage1: r.publicMeta.image_url,\n\t\t\t\timage2: r.publicMeta.image_url2,\n\t\t\t\timage2_mobile: r.publicMeta.image_url2_mobile,\n\t\t\t\tprize_pool_short: r.publicMeta.prize_pool_short,\n\t\t\t\tcustom_price_text: r.publicMeta.custom_price_text,\n\t\t\t\tcustom_section_id: r.publicMeta.custom_section_id,\n\t\t\t\tcustom_data: IntUtils.JsonOrText(r.publicMeta.custom_data),\n\t\t\t\tis_featured: r.publicMeta.featured,\n\t\t\t\tribbon: r.publicMeta.label_tag === 'custom' ? r.publicMeta.custom_label_tag : r.publicMeta.label_tag,\n\t\t\t\tpriority: r.publicMeta.position,\n\n\t\t\t\tstart_time: r.startTimeTs,\n\t\t\t\tend_time: r.endTimeTs,\n\t\t\t\tregistration_count: r.registrationCount,\n\t\t\t\tis_user_registered: r.isUserRegistered,\n\t\t\t\tplayers_min_count: r.playersMinCount,\n\t\t\t\tplayers_max_count: r.playersMaxCount,\n\t\t\t\tregistration_status: TournamentRegistrationStatusNamed(r.tournamentRegistrationStatus),\n\n\t\t\t\tregistration_type: TournamentRegistrationTypeGetName(r.registrationType),\n\t\t\t\tregistration_cost_points: r.buyInAmount,\n\t\t\t\tduration_ms: r.durationMs,\n\n\t\t\t\tis_active: TournamentUtils.isActive(r),\n\t\t\t\tis_can_register: TournamentUtils.isCanRegister(r),\n\t\t\t\tis_cancelled: TournamentUtils.isCancelled(r),\n\t\t\t\tis_finished: TournamentUtils.isFinished(r),\n\t\t\t\tis_in_progress: TournamentUtils.isInProgress(r),\n\t\t\t\tis_upcoming: TournamentUtils.isUpcoming(r),\n\n\t\t\t\tmin_scores_win: r.minScoreToWin,\n\t\t\t\thide_leaderboard_min_scores: r.hideLeaderboardsMinScores,\n\t\t\t};\n\n\t\t\tif (r.prizeStructure) {\n\t\t\t\tx.prizes = r.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p));\n\t\t\t}\n\n\t\t\tif (r.tournamentPlayer) {\n\t\t\t\tx.me = TournamentUtils.getPlayerTransformed(r.tournamentPlayer, true);\n\t\t\t}\n\n\t\t\treturn x;\n\t\t});\n};\n","export enum TournamentInstanceStatus {\n\tPUBLISHED = 1,\n\tREGISTER = 2,\n\tSTARTED = 3,\n\tFINISHED = 4,\n\tCANCELLED = 5,\n\tFAILED = 6,\n\tFINALIZING = 7,\n}\n\nexport const TournamentInstanceStatusName = (s: TournamentInstanceStatus): string => {\n\treturn {\n\t\t[TournamentInstanceStatus.PUBLISHED]: 'PUBLISHED',\n\t\t[TournamentInstanceStatus.REGISTER]: 'REGISTER',\n\t\t[TournamentInstanceStatus.STARTED]: 'STARTED',\n\t\t[TournamentInstanceStatus.FINISHED]: 'FINISHED',\n\t\t[TournamentInstanceStatus.CANCELLED]: 'CANCELLED',\n\t\t[TournamentInstanceStatus.FAILED]: 'FAILED',\n\t\t[TournamentInstanceStatus.FINALIZING]: 'FINALIZING',\n\t}[s];\n};\n","import { ActivityTypeLimited } from '../Core';\nimport { Tournament } from './Tournament';\nimport { TournamentInstanceStatus } from './TournamentInstanceStatus';\nimport { TournamentPlayer } from './TournamentPlayer';\nimport { TournamentPrize } from './TournamentPrize';\nimport { TournamentRegistrationStatus } from './TournamentRegistrationStatus';\nimport { TournamentRegistrationType } from './TournamentRegistrationType';\n\nconst tournamentPrizeTypeToPrizeName = (type: ActivityTypeLimited) => {\n\treturn {\n\t\t[ActivityTypeLimited.DoNothing]: 'TANGIBLE',\n\t\t[ActivityTypeLimited.Points]: 'POINTS_ADD',\n\t\t[ActivityTypeLimited.DeductPoints]: 'POINTS_DEDUCT',\n\t\t[ActivityTypeLimited.ResetPoints]: 'POINTS_RESET',\n\t\t[ActivityTypeLimited.MiniGameAttempt]: 'MINI_GAME_ATTEMPT',\n\t\t[ActivityTypeLimited.Bonus]: 'BONUS',\n\t}[type];\n};\n\nexport class TournamentUtils {\n\tpublic static isCanRegister = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\tif (tournament.tournamentRegistrationStatus === TournamentRegistrationStatus.QUALIFIED_PENDING_REGISTRATION) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t!tournament.isUserRegistered &&\n\t\t\t\t(tournament.playersMaxCount !== tournament.registrationCount ||\n\t\t\t\t\ttournament.playersMaxCount === null ||\n\t\t\t\t\ttournament.playersMaxCount === 0) &&\n\t\t\t\ttournament.registrationType !== TournamentRegistrationType.AUTO &&\n\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\t\t(tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED &&\n\t\t\t\t\t\ttournament.allowLateRegistration))\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isInProgress = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED;\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isActive = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.STARTED\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isFinished = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.FINALIZING\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isCancelled = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn tournament.tournamentInstanceStatus === TournamentInstanceStatus.CANCELLED;\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static isUpcoming = (tournament: Tournament): boolean => {\n\t\tif (tournament) {\n\t\t\treturn (\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.PUBLISHED ||\n\t\t\t\ttournament.tournamentInstanceStatus === TournamentInstanceStatus.REGISTER\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t};\n\n\tpublic static getPlayerTransformed = (player: TournamentPlayer, isMe?: boolean) => {\n\t\tif (player) {\n\t\t\tconst playerTransformed = {\n\t\t\t\tpublic_username: player.userAltName,\n\t\t\t\tavatar_url: player.avatar_url,\n\t\t\t\tposition: player.position,\n\t\t\t\tscores: player.scores,\n\t\t\t\tis_me: player.isMe,\n\t\t\t};\n\n\t\t\tif (isMe) {\n\t\t\t\tdelete playerTransformed.is_me;\n\t\t\t}\n\n\t\t\treturn playerTransformed;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tpublic static getPrizeTransformed = (prize: TournamentPrize) => {\n\t\tif (prize) {\n\t\t\treturn { ...prize, type: tournamentPrizeTypeToPrizeName(prize.type) };\n\t\t}\n\n\t\treturn null;\n\t};\n}\n","import { Tournament, TournamentItemsTransform } from './Tournament';\nimport { TournamentPlayer } from './TournamentPlayer';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { TournamentPrize } from './TournamentPrize';\nimport { TTournamentDetailed } from '../WSAPI/WSAPITypes';\nimport { TournamentUtils } from './TournamentUtils';\n\nexport interface GetTournamentInfoResponse extends ProtocolResponse {\n\t/** tournament info */\n\ttournamentInfo: {\n\t\t/** id of label, not in use */\n\t\tlabelId: number;\n\t\ttournamentLobbyInfo: Tournament;\n\t\t/** list of registered users */\n\t\tplayers: TournamentPlayer[];\n\t};\n\t/** information about current user position */\n\tuserPosition: TournamentPlayer;\n\t/** prizes structure */\n\tprizeStructure?: {\n\t\tprizes: TournamentPrize[];\n\t};\n}\n\nexport const tournamentInfoItemTransform = (t: GetTournamentInfoResponse): TTournamentDetailed => {\n\tconst response: TTournamentDetailed = {\n\t\t...TournamentItemsTransform([t.tournamentInfo.tournamentLobbyInfo])[0],\n\t\trelated_games: (t.tournamentInfo.tournamentLobbyInfo.related_games || []).map((g) => ({\n\t\t\text_game_id: g.ext_game_id,\n\t\t\tgame_public_meta: {\n\t\t\t\tname: g.game_public_meta.name,\n\t\t\t\tlink: g.game_public_meta.link,\n\t\t\t\timage: g.game_public_meta.image,\n\t\t\t\tenabled: g.game_public_meta.enabled,\n\t\t\t\tgame_categories: g.game_public_meta.game_categories,\n\t\t\t\tgame_provider: g.game_public_meta.game_provider,\n\t\t\t\tmobile_spec_link: g.game_public_meta.mobile_spec_link,\n\t\t\t},\n\t\t})),\n\t\tplayers: t.tournamentInfo.players.map((p) => TournamentUtils.getPlayerTransformed(p)),\n\t};\n\n\tif (t.prizeStructure) {\n\t\tresponse.prizes = t.prizeStructure.prizes.map((p) => TournamentUtils.getPrizeTransformed(p));\n\t}\n\n\tif (t.userPosition) {\n\t\tresponse.me = TournamentUtils.getPlayerTransformed(t.userPosition, true);\n\t}\n\n\treturn response;\n};\n","export enum TournamentRegistrationError {\n\tNO_ERROR = 0,\n\tTOURNAMENT_INSTANCE_NOT_FOUND = 30001,\n\tTOURNAMENT_REGISTRATION_NOT_ENOUGH_POINTS = 30002,\n\tTOURNAMENT_INSTANCE_NOT_IN_STATE = 30003,\n\tTOURNAMENT_ALREADY_REGISTERED = 30004,\n\tTOURNAMENT_USER_DONT_MATCH_CONDITIONS = 30005,\n\tTOURNAMENT_USER_NOT_REGISTERED = 30006,\n\tTOURNAMENT_CANT_CHANGE_REGISTRATION_STATUS = 30007,\n\tTOURNAMENT_MAX_REGISTRATIONS_REACHED = 30008,\n}\n","export enum TournamentType {\n\tSCHEDULED = 1,\n\tSNG = 2,\n\tTEST = 3,\n}\n","export enum LeaderBoardPeriodType {\n\tDAILY = 1,\n\tWEEKLY = 2,\n\tMONTHLY = 3,\n}\n","import { IntUtils } from '../IntUtils';\nimport { ProtocolResponse } from '../Base/ProtocolResponse';\nimport { TLevel } from '../WSAPI/WSAPITypes';\nimport { Level } from './Level';\n\nexport interface GetLevelMapResponse extends ProtocolResponse {\n\tlevels: Level[];\n}\n\nexport const GetLevelMapResponseTransform = (levels: GetLevelMapResponse): TLevel[] => {\n\treturn levels?.levels.map((l) => ({\n\t\tid: l.level_id,\n\t\tname: l.level_public_meta.name,\n\t\tdescription: l.level_public_meta.description,\n\t\timage: l.level_public_meta.image_url,\n\t\trequired_points: l.required_points,\n\t\tvisibility_points: l.level_public_meta.visibility_points ? parseInt(l.level_public_meta.visibility_points as any) : null,\n\t\trequired_level_counter_1: l.required_level_counter_1,\n\t\trequired_level_counter_2: l.required_level_counter_2,\n\t\tcustom_data: IntUtils.JsonOrText(l.level_public_meta?.custom_data),\n\t}));\n};\n","import { ClassId } from '../Base/ClassId';\nimport { CoreUtils } from '../Core';\nimport { MiniGamePrizeTypeName, SAWDoSpinResponse, SAWGetTemplatesResponse, SAWSpinErrorCode, SAWSpinsCountPush, SAWWinningHistoryRequest, SAWWinningHistoryResponse } from '../MiniGames';\nimport { ECacheContext, OCache } from '../OCache';\nimport { SmarticoAPI } from '../SmarticoAPI';\nimport {\n\tInboxMarkMessageAction,\n\tLeaderBoardDetailsT,\n\tTAchCategory,\n\tTBuyStoreItemResult,\n\tTGetTranslations,\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGamePlayResult,\n\tTMiniGameTemplate,\n\tTMissionClaimRewardResult,\n\tTMissionOptInResult,\n\tTMissionOrBadge,\n\tTSegmentCheckResult,\n\tTStoreCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tTTournamentRegistrationResult,\n\tTUICustomSection,\n\tTUserProfile,\n\tUserLevelExtraCountersT,TBonus,\n\tTClaimBonusResult,\n\tTMiniGamePlayBatchResult,\n\tTSawHistory\n} from './WSAPITypes';\nimport { LeaderBoardPeriodType } from '../Leaderboard';\nimport {\n\tJackpotDetails,\n\tJackpotPot,\n\tJackpotWinPush,\n\tJackpotsOptinResponse,\n\tJackpotsOptoutRequest,\n\tJackpotsOptoutResponse,\n} from '../Jackpots';\nimport { GetTournamentsResponse } from '../Tournaments';\nimport { GetAchievementMapResponse } from '../Missions';\n\n/** @hidden */\nconst CACHE_DATA_SEC = 30;\n\nconst JACKPOT_TEMPLATE_CACHE_SEC = 30;\nconst JACKPOT_POT_CACHE_SEC = 1;\n\n/** @hidden */\nenum onUpdateContextKey {\n\tSaw = 'saw',\n\tMissions = 'missions',\n\tTournamentList = 'tournamentList',\n\tInboxMessages = 'inboxMessages',\n\tBadges = 'badges',\n\tLevels = 'levels',\n\tStoreItems = 'storeItems',\n\tStoreCategories = 'storeCategories',\n\tAchCategories = 'achCategories',\n\tLeaderBoards = 'leaderBoards',\n\tLevelExtraCounters = 'levelExtraCounters',\n\tSegments = 'segments',\n\tStoreHistory = 'storeHistory',\n\tJackpots = 'jackpots',\n\tPots = 'Pots',\n\tCustomSections = 'customSections',\n\tBonuses = 'bonuses',\n\tSAWHistory = 'sawHistory'\n}\n\n/** @group General API */\nexport class WSAPI {\n\tprivate onUpdateCallback: Map<onUpdateContextKey, (data: any) => void> = new Map();\n\tprivate jackpotGetSignature: string = '';\n\n\t/** @private */\n\tconstructor(private api: SmarticoAPI) {\n\t\tOCache.clearAll();\n\t\tif (this.api.tracker) {\n\t\t\tconst on = this.api.tracker.on;\n\t\t\ton(ClassId.SAW_SPINS_COUNT_PUSH, (data: SAWSpinsCountPush) => this.updateOnSpin(data));\n\t\t\ton(ClassId.SAW_SHOW_SPIN_PUSH, () => this.reloadMiniGameTemplate());\n\t\t\ton(ClassId.SAW_AKNOWLEDGE_RESPONSE, () => {\n\t\t\t\tthis.reloadMiniGameTemplate();\n\t\t\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.SAWHistory);\n\t\t\t});\n\t\t\ton(ClassId.SAW_DO_SPIN_RESPONSE, () => {\n\t\t\t\tthis.reloadMiniGameTemplate();\n\t\t\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.SAWHistory);\n\t\t\t});\n\t\t\ton(ClassId.MISSION_OPTIN_RESPONSE, () => this.updateMissions());\n\t\t\ton(ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE, () => this.updateMissions());\n\t\t\ton(ClassId.RELOAD_ACHIEVEMENTS_EVENT, () => this.updateMissions());\n\t\t\ton(ClassId.TOURNAMENT_REGISTER_RESPONSE, () => this.updateTournaments());\n\t\t\ton(ClassId.CLIENT_ENGAGEMENT_EVENT_NEW, () => this.updateInboxMessages());\n\t\t\ton(ClassId.LOGOUT_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n\t\t\ton(ClassId.IDENTIFY_RESPONSE, () => OCache.clearContext(ECacheContext.WSAPI));\n\t\t\ton(ClassId.JP_WIN_PUSH, (data: JackpotWinPush) => this.jackpotClearCache());\n\t\t\ton(ClassId.JP_OPTOUT_RESPONSE, (data: JackpotsOptoutRequest) => this.jackpotClearCache());\n\t\t\ton(ClassId.JP_OPTIN_RESPONSE, (data: JackpotsOptinResponse) => this.jackpotClearCache());\n\t\t\ton(ClassId.CLAIM_BONUS_RESPONSE, () => this.updateBonuses());\n\t\t\ton(ClassId.SAW_DO_SPIN_BATCH_RESPONSE, () => {\n\t\t\t\tthis.reloadMiniGameTemplate();\n\t\t\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.SAWHistory);\n\t\t\t});\n\t\t}\n\t}\n\n\t/** @private */\n\t// AA: this method is used from the _smartico script to clear cache when the context is changed,\n\t// e.g. when user is changed or language is changed\n\tpublic clearCaches() {\n\t\tOCache.clearAll();\n\t}\n\n\t/** Returns information about current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserProfile(result => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t * */\n\tpublic getUserProfile(): TUserProfile {\n\t\tif (this.api.tracker) {\n\t\t\tconst o: TUserProfile = Object.assign({}, this.api.tracker.userPublicProps);\n\t\t\to.avatar_url = CoreUtils.avatarUrl(this.api.tracker.userPublicProps.avatar_id, this.api.avatarDomain);\n\t\t\treturn o;\n\t\t} else {\n\t\t\tthrow new Error('Tracker is not initialized, cannot getUserProfile');\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentMatch(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentMatch(segment_id: number): Promise<boolean> {\n\t\tconst r = await this.api.coreCheckSegments(null, [segment_id]);\n\t\tif (r && r.find((s) => s.segment_id === segment_id && s.is_matching)) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t/** Check if user belongs to specific list of segments\n\t * **Example**:\n\t * ```\n\t * _smartico.api.checkSegmentListMatch([1, 2, 3]).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async checkSegmentListMatch(segment_ids: number[]): Promise<TSegmentCheckResult[]> {\n\t\treturn await this.api.coreCheckSegments(null, Array.isArray(segment_ids) ? segment_ids : [segment_ids]);\n\t}\n\n\t/** Returns all the levels available the current user\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLevels().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLevels(): Promise<TLevel[]> {\n\t\treturn OCache.use(onUpdateContextKey.Levels, ECacheContext.WSAPI, () => this.api.levelsGetT(null), CACHE_DATA_SEC);\n\t}\n\n\t/** Returns all the missions available the current user.\n\t * The returned missions are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n\t * Note that each time you call getMissions with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on mission OptIn and the updated missions will be passed to it.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMissions().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getMissions({ onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMissionOrBadge[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Missions, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Missions, ECacheContext.WSAPI, () => this.api.missionsGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns all the badges available the current user\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getBadges(): Promise<TMissionOrBadge[]> {\n\t\treturn OCache.use(onUpdateContextKey.Badges, ECacheContext.WSAPI, () => this.api.badgetsGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns all the bonuses for the current user\n\t * The returned bonuss are cached for 30 seconds. But you can pass the onUpdate callback as a parameter.\n\t * Note that each time you call getBonuses with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on bonus claimed and the updated bonuses will be passed to it.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getBonuses({ onUpdate }: { onUpdate?: (data: TBonus[]) => void } = {}): Promise<TBonus[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Bonuses, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Bonuses, ECacheContext.WSAPI, () => this.api.bonusesGetItemsT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Claim the bonus by bonus_id. Returns the err_code in case of success or error.\n\t * Note that this method can be used only on integrations where originally failed bonus can be claimed again.\n\t * For example, user won a bonus in the mini-game, but Operator rejected this bonus. \n\t * This bonus will be available for the user to claim again.\n\t *\n\t * **Visitor mode: not supported**\n\t */\t\n\tpublic async claimBonus(bonus_id: number): Promise<TClaimBonusResult> {\n\t\tconst r = await this.api.bonusClaimItem(null, bonus_id);\n\n\t\tconst o: TClaimBonusResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t\tsuccess: r.success,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\n\t/**\n\t * Returns the extra counters for the current user level.\n\t * These are counters that are configured for each Smartico client separatly by request.\n\t * For example 1st counter could be total wagering amount, 2nd counter could be total deposit amount, etc.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getUserLevelExtraCounters().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getUserLevelExtraCounters(): Promise<UserLevelExtraCountersT> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.LevelExtraCounters,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getUserGamificationInfoT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t *\n\t * Returns all the store items available the current user\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\n\tpublic async getStoreItems(): Promise<TStoreItem[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreItems,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetItemsT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/** Buy the specific shop item by item_id. Returns the err_code in case of success or error.\n\t * **Example**:\n\t * ```\n\t * _smartico.api.buyStoreItem(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async buyStoreItem(item_id: number): Promise<TBuyStoreItemResult> {\n\t\tconst r = await this.api.buyStoreItem(null, item_id);\n\n\t\tconst o: TBuyStoreItemResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t *\n\t * Returns store categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getStoreCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getStoreCategories(): Promise<TStoreCategory[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreCategories,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetCategoriesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns purchased items based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched.\n\t * The maximum number of items per request is limited to 20.\n\t * You can leave this params empty and by default it will return list of purchased items ranging from 0 to 20.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getStorePurchasedItems().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async getStorePurchasedItems({\n\t\tlimit,\n\t\toffset,\n\t\tonUpdate,\n\t}: { limit?: number; offset?: number; onUpdate?: (data: TStoreItem[]) => void } = {}): Promise<TStoreItem[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.StoreHistory, onUpdate);\n\t\t}\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.StoreHistory,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.storeGetPurchasedItemsT(null, limit, offset),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns missions & badges categories\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getAchCategories().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getAchCategories(): Promise<TAchCategory[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.AchCategories,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.achGetCategoriesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns list of custom sections\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getCustomSections().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * */\n\tpublic async getCustomSections(): Promise<TUICustomSection[]> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.CustomSections,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getCustomSectionsT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns the list of mini-games available for user\n\t * The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getMiniGames with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getMiniGames().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t */\n\tpublic async getMiniGames({ onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<\n\t\tTMiniGameTemplate[]\n\t> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(onUpdateContextKey.Saw, ECacheContext.WSAPI, () => this.api.sawGetTemplatesT(null), CACHE_DATA_SEC);\n\t}\n\n\t/**\n\t * Returns the list of mini-games based on the provided parameters. \"Limit\" and \"offset\" indicate the range of items to be fetched.\n\t * The maximum number of items per request is limited to 20.\n\t * You can leave this params empty and by default it will return list of mini-games ranging from 0 to 20.\n\t * The returned list of mini-games history is cached for 30 seconds.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getMiniGamesHistory().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t*/\t\n\n\tpublic async getMiniGamesHistory({\n\t\tlimit,\n\t\toffset,\n\t\tsaw_template_id\n\t} : { limit?: number, offset?: number, saw_template_id?: number } ): Promise<TSawHistory[]> {\n\t\t\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.SAWHistory,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.getSawWinningHistoryT(null, limit, offset, saw_template_id),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Plays the specified by template_id mini-game on behalf of user and returns prize_id or err_code\n \t * After playMiniGame is called, you can call getMiniGames to get the list of mini-games.The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call playMiniGame with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.playMiniGame(55).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async playMiniGame(template_id: number, { onUpdate }: { onUpdate?: (data: TMiniGameTemplate[]) => void } = {}): Promise<TMiniGamePlayResult> {\n\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n\t\t}\n\n\t\tconst r = await this.api.sawSpinRequest(null, template_id);\n\t\tthis.api.doAcknowledgeRequest(null, r.request_id);\n\n\t\tconst o: TMiniGamePlayResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t\tprize_id: r.saw_prize_id,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Plays the specified by template_id mini-game on behalf of user spin_count times and returns array of the prizes\n\t * After playMiniGameBatch is called, you can call getMiniGames to get the list of mini-games. The returned list of mini-games is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call playMiniGameBatch with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called on available spin count change, if mini-game has increasing jackpot per spin or wined prize is spin/jackpot and if max count of the available user spin equal one, also if the spins were issued to the user manually in the BO. Updated templates will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.playMiniGameBatch(55, 10).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async playMiniGameBatch(template_id: number, spin_count: number, { onUpdate }: { onUpdate?: (data: TMissionOrBadge[]) => void } = {}): Promise<TMiniGamePlayBatchResult[]> {\n\t\t\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.Saw, onUpdate);\n\t\t}\n\n\t\tconst response = await this.api.sawSpinBatchRequest(null, template_id, spin_count);\n\n\t\tconst request_ids = response.results.map((result) => result.request_id);\n\t\tthis.api.doAcknowledgeBatchRequest(null, request_ids);\n\n\t\tconst o: TMiniGamePlayBatchResult[] = response.results.map((result) => ({\n\t\t\terrCode: result.errCode,\n\t\t\terrMessage: result.errMsg,\n\t\t\tsaw_prize_id: result.saw_prize_id,\n\t\t\tjackpot_amount: result.jackpot_amount,\n\t\t\tfirst_spin_in_period: result.first_spin_in_period,\n\t\t}));\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Requests an opt-in for the specified mission_id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionOptIn(mission_id: number): Promise<TMissionOptInResult> {\n\t\tconst r = await this.api.missionOptIn(null, mission_id);\n\n\t\tconst o: TMissionOptInResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Request for claim reward for the specified mission id. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async requestMissionClaimReward(mission_id: number, ach_completed_id: number): Promise<TMissionClaimRewardResult> {\n\t\tconst r = await this.api.missionClaimPrize(null, mission_id, ach_completed_id);\n\n\t\tconst o: TMissionClaimRewardResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/** Returns all the active instances of tournaments\n\t * The returned list is cached for 30 seconds. But you can pass the onUpdate callback as a parameter. Note that each time you call getTournamentsList with a new onUpdate callback, the old one will be overwritten by the new one.\n\t * The onUpdate callback will be called when the user has registered in a tournament. Updated list will be passed to onUpdate callback.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t * */\n\tpublic async getTournamentsList({ onUpdate }: { onUpdate?: (data: TTournament[]) => void } = {}): Promise<TTournament[]> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.TournamentList, onUpdate);\n\t\t}\n\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.TournamentList,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.tournamentsGetLobbyT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/**\n\t * Returns details information of specific tournament instance, the response will include tournament info and the leaderboard of players\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.api.getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getTournamentsList().then((result) => {\n\t * if (result.length > 0) {\n\t * _smartico.vapi('EN').getTournamentInstanceInfo(result[0].instance_id).then((result) => {\n\t * console.log(result);\n\t * });\n\t * }\n\t * });\n\t * ```\n\t */\n\tpublic async getTournamentInstanceInfo(tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\treturn this.api.tournamentsGetInfoT(null, tournamentInstanceId);\n\t}\n\n\t/**\n\t * Requests registration for the specified tournament instance. Returns the err_code.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async registerInTournament(tournamentInstanceId: number): Promise<TTournamentRegistrationResult> {\n\t\tconst r = await this.api.registerInTournament(null, tournamentInstanceId);\n\n\t\tconst o: TTournamentRegistrationResult = {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\n\t\treturn o;\n\t}\n\n\t/**\n\t * Returns the leaderboard for the current type (default is Daily). If getPreviousPeriod is passed as true, a leaderboard for the previous period for the current type will be returned.\n\t * For example, if the type is Weekly and getPreviousPeriod is true, a leaderboard for the previous week will be returned.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getLeaderBoard(1).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getLeaderBoard(periodType: LeaderBoardPeriodType, getPreviousPeriod?: boolean): Promise<LeaderBoardDetailsT> {\n\t\treturn OCache.use(\n\t\t\tonUpdateContextKey.LeaderBoards,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.leaderboardsGetT(null, periodType, getPreviousPeriod),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t}\n\n\t/** Returns inbox messages based on the provided parameters. \"From\" and \"to\" indicate the range of messages to be fetched.\n\t * The maximum number of messages per request is limited to 20. An indicator \"onlyFavorite\" can be passed to get only messages marked as favorites.\n\t * You can leave this params empty and by default it will return list of messages ranging from 0 to 20.\n\t * This functions return list of messages without the body of the message.\n\t * To get the body of the message you need to call getInboxMessageBody function and pass the message guid contained in each message of this request.\n\t * All other action like mark as read, favorite, delete, etc. can be done using this message GUID.\n\t * The \"onUpdate\" callback will be triggered when the user receives a new message. It will provide an updated list of messages, ranging from 0 to 20, to the onUpdate callback function.\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t * @param params\n\t */\n\tpublic async getInboxMessages({\n\t\tfrom,\n\t\tto,\n\t\tonlyFavorite,\n\t\tonUpdate,\n\t}: { from?: number; to?: number; onlyFavorite?: boolean; onUpdate?: (data: TInboxMessage[]) => void } = {}): Promise<\n\t\tTInboxMessage[]\n\t> {\n\t\tif (onUpdate) {\n\t\t\tthis.onUpdateCallback.set(onUpdateContextKey.InboxMessages, onUpdate);\n\t\t}\n\n\t\treturn await this.api.getInboxMessagesT(null, from, to, onlyFavorite);\n\t}\n\n\t/**\n\t * Returns the message body of the specified message guid.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<TInboxMessageBody> {\n\t\treturn await this.api.getInboxMessageBodyT(messageGuid);\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as read\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markInboxMessageAsRead(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markInboxMessageRead(null, messageGuid);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to mark all inbox messages as rea\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markAllInboxMessagesAsRead(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markAllInboxMessageRead(null);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to mark inbox message with specified guid as favorite. Pass mark true to add message to favorite and false to remove.\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\tpublic async markUnmarkInboxMessageAsFavorite(messageGuid: string, mark: boolean): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.markUnmarkInboxMessageAsFavorite(null, messageGuid, mark);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to delete inbox message\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteInboxMessage(messageGuid: string): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteInboxMessage(null, messageGuid);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests to delete all inbox messages\n\t *\n\t * **Visitor mode: not supported**\n\t */\n\n\tpublic async deleteAllInboxMessages(): Promise<InboxMarkMessageAction> {\n\t\tconst r = await this.api.deleteAllInboxMessages(null);\n\n\t\treturn {\n\t\t\terr_code: r.errCode,\n\t\t\terr_message: r.errMsg,\n\t\t};\n\t}\n\n\t/**\n\t * Requests translations for the given language. Returns the object including translation key/translation value pairs. All possible translation keys defined in the back office.\n\t */\n\tpublic async getTranslations(lang_code: string): Promise<TGetTranslations> {\n\t\tconst r = await this.api.getTranslationsT(null, lang_code, []);\n\n\t\treturn {\n\t\t\ttranslations: r.translations,\n\t\t};\n\t}\n\n\tprivate async updateOnSpin(data: SAWSpinsCountPush) {\n\t\tconst templates: TMiniGameTemplate[] = await OCache.use(\n\t\t\tonUpdateContextKey.Saw,\n\t\t\tECacheContext.WSAPI,\n\t\t\t() => this.api.sawGetTemplatesT(null),\n\t\t\tCACHE_DATA_SEC,\n\t\t);\n\t\tconst index = templates.findIndex((t) => t.id === data.saw_template_id);\n\t\ttemplates[index].spin_count = data.spin_count;\n\t\tthis.updateEntity(onUpdateContextKey.Saw, templates);\n\t}\n\n\tprivate async reloadMiniGameTemplate() {\n\t\tconst updatedTemplates = await this.api.sawGetTemplatesT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Saw, updatedTemplates);\n\t}\n\n\tprivate async updateMissions() {\n\t\tconst payload = await this.api.missionsGetItemsT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Missions, payload);\n\t}\n\n\tprivate async updateBonuses() {\n\t\tconst payload = await this.api.bonusesGetItemsT(null);\n\t\tthis.updateEntity(onUpdateContextKey.Bonuses, payload);\n\t}\n\t\n\tprivate async updateTournaments() {\n\t\tconst payload = await this.api.tournamentsGetLobbyT(null);\n\t\tthis.updateEntity(onUpdateContextKey.TournamentList, payload);\n\t}\n\n\tprivate async updateInboxMessages() {\n\t\tconst payload = await this.api.getInboxMessagesT(null);\n\t\tthis.updateEntity(onUpdateContextKey.InboxMessages, payload);\n\t}\n\n\tprivate async updateEntity(contextKey: onUpdateContextKey, payload: any) {\n\t\tOCache.set(contextKey, payload, ECacheContext.WSAPI);\n\n\t\tconst onUpdate = this.onUpdateCallback.get(contextKey);\n\t\tif (onUpdate) {\n\t\t\tonUpdate(payload);\n\t\t}\n\t}\n\n\tprivate async jackpotClearCache() {\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Jackpots);\n\t\tOCache.clear(ECacheContext.WSAPI, onUpdateContextKey.Pots);\n\t}\n\n\t/** Returns list of Jackpots that are active in the systen and matching to the filter definition.\n\t * If filter is not provided, all active jackpots will be returned.\n\t * Filter can be used to get jackpots related to specific game or specific jackpot template.\n\t * You can call this method every second in order to get up to date information about current value of the jackpot(s) and present them to the end-users\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').jackpotGet({ related_game_id: 'wooko-slot' }).then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async jackpotGet(filter?: { related_game_id?: string; jp_template_id?: number }): Promise<JackpotDetails[]> {\n\t\tconst signature: string = `${filter?.jp_template_id}:${filter?.related_game_id}`;\n\n\t\tif (signature !== this.jackpotGetSignature) {\n\t\t\tthis.jackpotGetSignature = signature;\n\t\t\tthis.jackpotClearCache();\n\t\t}\n\n\t\tlet jackpots: JackpotDetails[] = [];\n\t\tlet pots: JackpotPot[] = [];\n\n\t\tjackpots = await OCache.use<JackpotDetails[]>(\n\t\t\tonUpdateContextKey.Jackpots,\n\t\t\tECacheContext.WSAPI,\n\t\t\tasync () => {\n\t\t\t\tconst _jackpots = await this.api.jackpotGet(null, filter);\n\t\t\t\tconst _pots = _jackpots.items.map((jp) => jp.pot);\n\n\t\t\t\tOCache.set(onUpdateContextKey.Pots, _pots, ECacheContext.WSAPI, JACKPOT_POT_CACHE_SEC);\n\t\t\t\treturn _jackpots.items;\n\t\t\t},\n\t\t\tJACKPOT_TEMPLATE_CACHE_SEC,\n\t\t);\n\n\t\tif (jackpots.length > 0) {\n\t\t\tpots = await OCache.use<JackpotPot[]>(\n\t\t\t\tonUpdateContextKey.Pots,\n\t\t\t\tECacheContext.WSAPI,\n\t\t\t\tasync () => {\n\t\t\t\t\tconst jp_template_ids = jackpots.map((jp) => jp.jp_template_id);\n\t\t\t\t\treturn (await this.api.potGet(null, { jp_template_ids })).items;\n\t\t\t\t},\n\t\t\t\tJACKPOT_POT_CACHE_SEC,\n\t\t\t);\n\t\t}\n\n\t\treturn jackpots.map((jp) => {\n\t\t\tlet _jp: JackpotDetails = {\n\t\t\t\t...jp,\n\t\t\t\tpot: pots.find((p) => p.jp_template_id === jp.jp_template_id),\n\t\t\t};\n\t\t\treturn _jp;\n\t\t});\n\t}\n\n\t/**\n\t * Opt-in currently logged in user to the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optin to see that user is opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptIn({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted in to the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptIn(filter: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptIn');\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptIn(null, filter);\n\n\t\treturn result;\n\t}\n\n\t/**\n\t * Opt-out currently logged in user from the jackpot with the specified jp_template_id.\n\t * You may call jackpotGet method after doing optout to see that user is not opted in to the jackpot.\n\t *\n\t * **Example**:\n\t * ```\n\t * _smartico.api.jackpotOptOut({ jp_template_id: 123 }).then((result) => {\n\t * console.log('Opted out from the jackpot');\n\t * });\n\t * ```\n\t *\n\t * **Visitor mode: not supported**\n\t *\n\t */\n\tpublic async jackpotOptOut(filter: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tif (!filter.jp_template_id) {\n\t\t\tthrow new Error('jp_template_id is required in jackpotOptOut');\n\t\t}\n\n\t\tconst result = await this.api.jackpotOptOut(null, filter);\n\n\t\treturn result;\n\t}\n\t/**\n\t * Returns all the related tournaments and missions for the provided game id for the current user\n\t * The provided Game ID should correspond to the ID from the Games Catalog - https://help.smartico.ai/welcome/technical-guides/games-catalog-api\n\t * \n\t * **Example**:\n\t * ```\n\t * _smartico.api.getRelatedItemsForGame('gold-slot2').then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t *\n\t * **Example in the Visitor mode**:\n\t * ```\n\t * _smartico.vapi('EN').getRelatedItemsForGame('gold-slot2').then((result) => {\n\t * console.log(result);\n\t * });\n\t * ```\n\t */\n\tpublic async getRelatedItemsForGame(related_game_id: string): Promise<GetAchievementMapResponse> {\n\n\t\tconst result = await this.api.getRelatedItemsForGame(null, related_game_id);\n return result;\n\t\t\n\t}\n}\n","import { LeaderBoardDetailsT, LeaderBoardUserT, LeaderBoardsRewardsT } from '../WSAPI/WSAPITypes';\nimport { LeaderBoardDetails } from './LeaderBoardDetails';\nimport { LeaderBoardPeriodType } from './LeaderBoardPeriodType';\nimport { LeaderBoardPosition } from './LeaderBoardPosition';\n\nconst pointsRewardTransform = (reward_points: number[]): LeaderBoardsRewardsT[] => {\n\tif (reward_points && reward_points.length) {\n\t\treturn reward_points.map((r, i) => ({ place: i + 1, points: r }));\n\t}\n\n\treturn null;\n};\n\nconst getLeaderBoardPlayerTransformed = (user: LeaderBoardPosition, isMe?: boolean): LeaderBoardUserT => {\n\tif (user) {\n\t\tconst x: LeaderBoardUserT = {\n\t\t\tpublic_username: user?.public_username || user.user_alt_name,\n\t\t\tavatar_url: user.avatar_url,\n\t\t\tposition: user.position_in_board,\n\t\t\tpoints: user.points_accumulated,\n\t\t\tis_me: user.is_me,\n\t\t};\n\n\t\tif (isMe) {\n\t\t\tdelete x.is_me;\n\t\t}\n\n\t\treturn x;\n\t}\n\n\treturn null;\n};\n\nexport const getLeaderBoardTransform = (board: LeaderBoardDetails): LeaderBoardDetailsT => {\n\tif (board) {\n\t\tconst x: LeaderBoardDetailsT = {\n\t\t\tboard_id: board.board_id,\n\t\t\tname: board.board_public_meta.name,\n\t\t\tdescription: board.board_public_meta.description,\n\t\t\trules: board.board_public_meta.rules,\n\t\t\tperiod_type_id: board.period_type_id,\n\t\t\trewards: pointsRewardTransform(board.reward_points),\n\t\t\tusers: board.positions.map((p) => getLeaderBoardPlayerTransformed(p)),\n\t\t\tme: getLeaderBoardPlayerTransformed(board.userPosition, true),\n\t\t};\n\n\t\treturn x;\n\t}\n\n\treturn null;\n};\n","export enum AchCustomSectionType {\n\tHTML_PAGE = 1,\n\tMISSIONS_CATEGORY = 2,\n\tTOURNAMENTS_CATEGORY = 3,\n\tLEVELS = 4,\n\tMINI_GAMES = 5,\n\tMISSION_CUSTOM_LAYOUT = 6,\n\tMATCH_X = 7,\n\tQUIZ = 8,\n\tREDIRECT_LINK = 9,\n\tLOOTBOX_WEEKLY = 10,\n\tLOOTBOX_CALENDAR_DAYS = 11,\n}\n\nexport enum AchCustomLayoutTheme {\n\tVALENTINES_LIGHT = 'valentines-light',\n\tVALENTINES_DARK = 'valentines-dark',\n\tEURO_2024 = 'euro-2024',\n\tGENERIC = 'generic',\n}\n\nexport enum AchMissionsTabsOptions {\n\tONLY_OVERVIEW = 1,\n\tNO_OVERVIEW = 2,\n\tALL = 3,\n}\n\nexport enum AchOverviewMissionsFilter {\n\tANY = 1,\n\tALL_MISSIONS = 2,\n\tALL_EXCEPT_COMPLETED = 3,\n\tALL_EXCEPT_LOCKED = 4,\n\tALL_EXCEPT_COMPLETED_AND_LOCKED = 5,\n}\n","import { TUICustomSection } from '../WSAPI/WSAPITypes';\nimport {\n\tAchCustomLayoutTheme,\n\tAchCustomSectionType,\n\tAchMissionsTabsOptions,\n\tAchOverviewMissionsFilter,\n} from './AchCustomSection';\n\nexport interface UICustomSection {\n\tbody?: string;\n\tmenu_img?: string;\n\tmenu_name?: string;\n\tcustom_skin_images?: string;\n\tsection_type_id?: AchCustomSectionType;\n\ttheme?: AchCustomLayoutTheme;\n\tgeneric_custom_css?: string;\n\tmission_tabs_options?: AchMissionsTabsOptions;\n\toverview_missions_filter?: AchOverviewMissionsFilter;\n\toverview_missions_count?: number;\n}\n\nexport const UICustomSectionTransform = (items: UICustomSection[]): TUICustomSection[] => {\n\treturn items\n\t\t.filter((r) => r.section_type_id !== undefined && r.section_type_id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TUICustomSection = {\n\t\t\t\tbody: r.body,\n\t\t\t\tmenu_img: r.menu_img,\n\t\t\t\tmenu_name: r.menu_name,\n\t\t\t\tsection_type_id: r.section_type_id,\n\t\t\t\tcustom_skin_images: r.custom_skin_images,\n\t\t\t\tgeneric_custom_css: r.generic_custom_css,\n\t\t\t\tmission_tabs_options: r.mission_tabs_options,\n\t\t\t\toverview_missions_count: r.overview_missions_count,\n\t\t\t\toverview_missions_filter: r.overview_missions_filter,\n\t\t\t\ttheme: r.theme,\n\t\t\t};\n\t\t\treturn x;\n\t\t});\n};\n","import { BonusStatus } from './BonusStatus';\nimport { BonusTemplateMetaMap } from './BonusTemplateMetaMap';\nimport { BonusMetaMap } from './BonusMetaMap';\nimport { TBonus } from '../WSAPI/WSAPITypes';\n\nexport interface Bonus {\n\tid: number;\n\tredeemable?: boolean;\n\tcreateDate?: string;\n\tupdateDate?: string;\n\tredeemDate?: string;\n\tengagementUid?: string;\n\tlabelBonusTemplateId?: number;\n\tsourceProductRefId?: number;\n\tsourceProductId?: number;\n\tuserId?: number;\n\tbonusStatusId?: BonusStatus;\n\tlabelBonusTemplateMetaMap?: BonusTemplateMetaMap;\n\tbonusMetaMap?: BonusMetaMap;\n}\n\nexport const BonusItemsTransform = (items: Bonus[]): TBonus[] => {\n\treturn items\n\t\t.filter((r) => r.id >= 1)\n\t\t.map((r) => {\n\t\t\tconst x: TBonus = {\n\n bonus_id: r.id,\n is_redeemable: r.redeemable,\n create_date: r.createDate,\n redeem_date: r.redeemDate,\n label_bonus_template_id: r.labelBonusTemplateId,\n bonus_status_id: r.bonusStatusId,\n label_bonus_template_meta_map: r.labelBonusTemplateMetaMap,\n bonus_meta_map: r.bonusMetaMap\n\t\t\t};\n\n\t\t\treturn x;\n\t\t});\n};","export enum BonusStatus {\n\tNew = 1,\n\tCOUPON_ISSUED = 2,\n\tREDEEMED = 3,\n\tREDEEM_FAILED = 4, \n\tCOUPON_ISSUE_FAILED = 5, \n\tEXPIRED = 6, \n}","import { ClassId } from './Base/ClassId';\nimport { ProtocolRequest } from './Base/ProtocolRequest';\nimport { ProtocolResponse } from './Base/ProtocolResponse';\nimport { SAWGetTemplatesResponse } from './MiniGames/SAWGetTemplatesResponse';\nimport { SAWGetTemplatesRequest } from './MiniGames/SAWGetTemplatesRequest';\nimport { IntUtils } from './IntUtils';\nimport { ILogger } from './ILogger';\nimport {\n\tSAWDoAknowledgeRequest,\n\tSAWDoAknowledgeResponse,\n\tSAWDoSpinRequest,\n\tSAWDoSpinResponse,\n\tSAWHistoryTransform,\n\tSAWPrizesHistory,\n\tSAWSpinErrorCode,\n\tSAWTemplate,\n\tSAWTemplatesTransform,\n\tSAWWinningHistoryRequest,\n\tSAWWinningHistoryResponse,\n} from './MiniGames';\nimport { ECacheContext, OCache } from './OCache';\nimport {\n\tCoreUtils,\n\tGetTranslationsRequest,\n\tGetTranslationsResponse,\n\tPublicLabelSettings,\n\tResponseIdentify,\n\tTranslationArea,\n} from './Core';\nimport { GetLabelInfoResponse } from './Core/GetLabelInfoResponse';\nimport { GetLabelInfoRequest } from './Core/GetLabelInfoRequest';\nimport {\n\tGetInboxMessagesRequest,\n\tGetInboxMessagesResponse,\n\tInboxMessageBody,\n\tInboxMessageBodyTransform,\n\tInboxMessagesTransform,\n\tMarkInboxMessageDeletedRequest,\n\tMarkInboxMessageDeletedResponse,\n\tMarkInboxMessageReadRequest,\n\tMarkInboxMessageReadResponse,\n\tMarkInboxMessageStarredRequest,\n\tMarkInboxMessageStarredResponse,\n} from './Inbox';\nimport {\n\tBuyStoreItemRequest,\n\tBuyStoreItemResponse,\n\tGetCategoriesStoreResponse,\n\tGetStoreHistoryRequest,\n\tGetStoreHistoryResponse,\n\tGetStoreItemsResponse,\n\tStoreCategoryTransform,\n\tStoreItemPurchasedTransform,\n\tStoreItemTransform,\n} from './Store';\nimport {\n\tAchCategoryTransform,\n\tAchClaimPrizeRequest,\n\tAchClaimPrizeResponse,\n\tAchievementOptinRequest,\n\tAchievementOptinResponse,\n\tAchievementType,\n\tGetAchCategoriesResponse,\n\tGetAchievementMapRequest,\n\tGetAchievementMapResponse,\n\tUserAchievementTransform,\n} from './Missions';\nimport {\n\tGetTournamentInfoRequest,\n\tGetTournamentInfoResponse,\n\tGetTournamentsRequest,\n\tGetTournamentsResponse,\n\tTournamentItemsTransform,\n\tTournamentRegisterRequest,\n\tTournamentRegisterResponse,\n\ttournamentInfoItemTransform,\n} from './Tournaments';\nimport { GetLeaderBoardsRequest, GetLeaderBoardsResponse, LeaderBoardDetails, LeaderBoardPeriodType } from './Leaderboard';\nimport { GetLevelMapResponse, GetLevelMapResponseTransform } from './Level';\nimport { WSAPI } from './WSAPI/WSAPI';\nimport {\n\tTInboxMessage,\n\tTInboxMessageBody,\n\tTLevel,\n\tTMiniGameTemplate,\n\tTMissionOrBadge,\n\tTStoreCategory,\n\tTAchCategory,\n\tTStoreItem,\n\tTTournament,\n\tTTournamentDetailed,\n\tLeaderBoardDetailsT,\n\tUserLevelExtraCountersT,\n\tTSegmentCheckResult,\n\tTUICustomSection,\n\tTBonus,\n\tTSawHistory,\n} from './WSAPI/WSAPITypes';\nimport { getLeaderBoardTransform } from './Leaderboard/LeaderBoards';\nimport { GetAchievementsUserInfoResponse } from './Core/GetAchievementsUserInfoResponse';\nimport { CheckSegmentMatchResponse } from './Core/CheckSegmentMatchResponse';\nimport { CheckSegmentMatchRequest } from './Core/CheckSegmentMatchRequest';\nimport {\n\tGetJackpotsPotsRequest,\n\tGetJackpotsPotsResponse,\n\tGetJackpotsRequest,\n\tGetJackpotsResponse,\n\tJackpotDetails,\n\tJackpotPot,\n\tJackpotsOptinRequest,\n\tJackpotsOptinResponse,\n\tJackpotsOptoutRequest,\n\tJackpotsOptoutResponse,\n} from './Jackpots';\nimport { GetCustomSectionsRequest, GetCustomSectionsResponse, UICustomSectionTransform } from './CustomSections';\nimport { BonusItemsTransform, ClaimBonusRequest, ClaimBonusResponse, GetBonusesResponse } from './Bonuses';\nimport { GetBonusesRequest } from './Bonuses/GetBonusesRequest';\nimport { SAWDoSpinBatchResponse } from './MiniGames/SAWDoSpinBatchResponse';\nimport { SAWDoSpinBatchRequest } from './MiniGames/SAWDoSpinBatchRequest';\nimport { SAWDoAcknowledgeBatchRequest } from './MiniGames/SAWDoAcknowledgeBatchRequest';\nimport { SAWDoAcknowledgeBatchResponse } from './MiniGames/SAWDoAcknowledgeBatchResponse';\nimport { GetRelatedAchTourRequest } from './Missions/GetRelatedAchTourRequest';\nimport { GetRelatedAchTourResponse } from './Missions/GetRelatedAchTourResponse';\n\nconst PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';\nconst C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services';\nconst AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';\nconst DEFAULT_LANG_EN = 'EN';\n\ninterface Tracker {\n\tlabel_api_key: string;\n\tuserPublicProps: any;\n\ton: (callBackKey: ClassId, func: (data: any) => void) => void;\n\tgetLabelSetting: (key: PublicLabelSettings) => any;\n}\ninterface IOptions {\n\tlogger?: ILogger;\n\tlogCIDs?: ClassId[];\n\tlogHTTPTiming?: boolean;\n\ttracker?: Tracker;\n}\n\ntype MessageSender = (message: any, publicApuUrl?: string, expectCID?: ClassId) => Promise<any>;\n\nclass SmarticoAPI {\n\tprivate publicUrl: string;\n\tprivate wsUrl: string;\n\tprivate inboxCdnUrl: string;\n\tprivate partnerUrl: string;\n\tpublic avatarDomain: string;\n\n\tprivate logger: ILogger;\n\tprivate logCIDs: ClassId[];\n\tprivate logHTTPTiming: boolean;\n\tpublic tracker?: Tracker;\n\n\tpublic constructor(\n\t\tprivate label_api_key: string,\n\t\tprivate brand_api_key: string,\n\t\tprivate messageSender: MessageSender,\n\t\toptions: IOptions = {},\n\t) {\n\t\tthis.logger = options.logger || (console as any);\n\n\t\tif (this.logger.always === undefined) {\n\t\t\tthis.logger.always = this.logger.info;\n\t\t}\n\n\t\tthis.logCIDs = options.logCIDs || [];\n\t\tthis.logHTTPTiming = options.logHTTPTiming || false;\n\t\tthis.tracker = options.tracker;\n\n\t\tthis.publicUrl = SmarticoAPI.getPublicUrl(label_api_key);\n\t\tthis.wsUrl = SmarticoAPI.getPublicWsUrl(label_api_key);\n\n\t\tthis.avatarDomain = SmarticoAPI.getAvatarUrl(label_api_key || options.tracker?.label_api_key);\n\n\t\tthis.label_api_key = SmarticoAPI.getCleanLabelApiKey(label_api_key);\n\t}\n\n\tpublic static getEnvDnsSuffix(label_api_key: string): string {\n\t\tlet ENV_ID = label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';\n\n\t\tif (ENV_ID === '1' || ENV_ID === '2') {\n\t\t\tENV_ID = '';\n\t\t}\n\t\treturn ENV_ID;\n\t}\n\n\tpublic static getEnvId(label_api_key: string): number {\n\t\treturn label_api_key.length === 38 ? parseInt(label_api_key.substring(37, 38), 10) : 2;\n\t}\n\n\tpublic static getCleanLabelApiKey(label_api_key: string): string {\n\t\treturn label_api_key.substring(0, 36);\n\t}\n\n\tpublic static getPublicUrl(label_api_key: string): string {\n\t\treturn PUBLIC_API_URL.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tpublic static getPublicWsUrl(label_api_key: string): string {\n\t\treturn C_SOCKET_PROD.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tpublic static getAvatarUrl(label_api_key: string): string {\n\t\treturn AVATAR_DOMAIN.replace('{ENV_ID}', SmarticoAPI.getEnvDnsSuffix(label_api_key));\n\t}\n\n\tprivate async send<T>(message: any, expectCID?: ClassId, force_language?: string): Promise<T> {\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('REQ', message);\n\t\t}\n\n\t\tif (force_language) {\n\t\t\tmessage.force_language = force_language;\n\t\t}\n\n\t\tlet result: any;\n\n\t\ttry {\n\t\t\tconst timeStart = new Date().getTime();\n\t\t\tresult = await this.messageSender(message, this.publicUrl, expectCID);\n\t\t\tconst timeEnd = new Date().getTime();\n\n\t\t\tif (this.logHTTPTiming) {\n\t\t\t\tthis.logger.always('HTTP time, ms:' + (timeEnd - timeStart));\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis.logger.warn(`Failed to make request to smartico channel, L2. ${e.message}`, {\n\t\t\t\turl: this.publicUrl,\n\t\t\t\trequest: message,\n\t\t\t\terror: e.message,\n\t\t\t});\n\t\t\tthrow new Error(`Failed to make request to smartico channel, L2 L1. ${e.message}`);\n\t\t}\n\n\t\tif (this.logCIDs.includes(message.cid)) {\n\t\t\tthis.logger.info('RES', result);\n\t\t}\n\n\t\tif (expectCID) {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tfor (const str of result as string[]) {\n\t\t\t\t\tconst obj: ProtocolResponse = JSON.parse(str);\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result);\n\t\t\t\t\t}\n\t\t\t\t\tif (obj.cid === expectCID) {\n\t\t\t\t\t\treturn obj as any;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.logger.error(`Cant find proper response in array, expected CID ${expectCID}`, {\n\t\t\t\t\trequest: message,\n\t\t\t\t\tresponse: result,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t} else {\n\t\t\tif (Array.isArray(result)) {\n\t\t\t\tif (result.length === 1) {\n\t\t\t\t\tconst obj = JSON.parse(result[0]);\n\t\t\t\t\tif (this.logCIDs.includes(obj.cid)) {\n\t\t\t\t\t\tthis.logger.info('RES', result);\n\t\t\t\t\t}\n\t\t\t\t\treturn obj;\n\t\t\t\t} else {\n\t\t\t\t\tthis.logger.error('Expected one response, but got array', { request: message, response: result });\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tprivate buildMessage<TRequest, TResponse>(user_ext_id: string, cid: ClassId, payload: Partial<TRequest> = {}): TResponse {\n\t\tconst message: ProtocolRequest = {\n\t\t\t// AA: in fact we need api and brand keys and ext_user_id only in the context of HTTP\n\t\t\t// its not needed in WebSocket and can be deleted\n\t\t\tapi_key: this.label_api_key,\n\t\t\tbrand_key: this.brand_api_key,\n\t\t\text_user_id: user_ext_id,\n\t\t\tcid,\n\t\t\tuuid: IntUtils.uuid(),\n\t\t\tts: new Date().getTime(),\n\t\t\t...payload,\n\t\t};\n\n\t\tif (message.ext_user_id === undefined || message.ext_user_id === null) {\n\t\t\tdelete message.ext_user_id;\n\t\t}\n\n\t\tif (message.brand_key === undefined || message.brand_key === null) {\n\t\t\tdelete message.brand_key;\n\t\t}\n\n\t\treturn message as any;\n\t}\n\n\tpublic async coreReportCustomEvent(user_ext_id: string, eventType: string, payload: any = {}): Promise<any> {\n\t\tconst eventMessage = this.buildMessage<any, any>(user_ext_id, ClassId.EVENT, {\n\t\t\teventType,\n\t\t\tpayload,\n\t\t});\n\n\t\tconst eventResponse = await this.send<any>(eventMessage, ClassId.EVENT_RESPONSE);\n\t\treturn eventResponse;\n\t}\n\n\tpublic async coreGetTranslations(\n\t\tuser_ext_id: string,\n\t\tlang_code: string,\n\t\tareas: TranslationArea[],\n\t\tcacheSec: number = 60,\n\t): Promise<GetTranslationsResponse> {\n\t\tif (lang_code === undefined || lang_code === null || (lang_code.trim && lang_code.trim() === '')) {\n\t\t\tlang_code = DEFAULT_LANG_EN;\n\t\t}\n\n\t\tconst response = await OCache.use<GetTranslationsResponse>(\n\t\t\t`${lang_code}-${this.label_api_key}-${this.brand_api_key}`,\n\t\t\tECacheContext.Translations,\n\t\t\tasync () => {\n\t\t\t\tconst tsBaseRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(\n\t\t\t\t\tuser_ext_id,\n\t\t\t\t\tClassId.GET_TRANSLATIONS_REQUEST,\n\t\t\t\t\t{\n\t\t\t\t\t\tlang_code: DEFAULT_LANG_EN,\n\t\t\t\t\t\thash_code: 0,\n\t\t\t\t\t\tareas,\n\t\t\t\t\t},\n\t\t\t\t);\n\n\t\t\t\tconst trBase = await this.send<GetTranslationsResponse>(tsBaseRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n\t\t\t\tif (lang_code !== DEFAULT_LANG_EN) {\n\t\t\t\t\tconst trUserRQ = this.buildMessage<GetTranslationsRequest, GetTranslationsResponse>(\n\t\t\t\t\t\tuser_ext_id,\n\t\t\t\t\t\tClassId.GET_TRANSLATIONS_REQUEST,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlang_code,\n\t\t\t\t\t\t\thash_code: 0,\n\t\t\t\t\t\t\tareas,\n\t\t\t\t\t\t},\n\t\t\t\t\t);\n\n\t\t\t\t\tconst trUser = await this.send<GetTranslationsResponse>(trUserRQ, ClassId.GET_TRANSLATIONS_RESPONSE);\n\n\t\t\t\t\tObject.keys(trUser?.translations ?? {}).forEach((k) => {\n\t\t\t\t\t\ttrBase.translations[k] = trUser.translations[k];\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn trBase;\n\t\t\t},\n\t\t\tcacheSec,\n\t\t);\n\n\t\treturn response;\n\t}\n\n\tpublic async coreIdentifyLabel(user_ext_id: string, cacheSec: number = 60): Promise<GetLabelInfoResponse> {\n\t\treturn OCache.use<GetLabelInfoResponse>(\n\t\t\t`${this.label_api_key} - ${this.brand_api_key}`,\n\t\t\tECacheContext.LabelInfo,\n\t\t\tasync () => {\n\t\t\t\tconst message = this.buildMessage<GetLabelInfoResponse, GetLabelInfoRequest>(user_ext_id, ClassId.INIT);\n\n\t\t\t\treturn this.send<GetLabelInfoResponse>(message, ClassId.INIT_RESPONSE);\n\t\t\t},\n\t\t\tcacheSec,\n\t\t);\n\t}\n\n\tpublic async coreIdentifyUser(user_ext_id: string): Promise<ResponseIdentify> {\n\t\tconst message = this.buildMessage<any, ResponseIdentify>(user_ext_id, ClassId.IDENTIFY, {\n\t\t\trequest_id: IntUtils.uuid(), // AA: do we need request_id?\n\t\t});\n\n\t\tconst r = await this.send<ResponseIdentify>(message, ClassId.IDENTIFY_RESPONSE);\n\n\t\tr.avatar_id = CoreUtils.avatarUrl(r.avatar_id, this.avatarDomain);\n\n\t\treturn r;\n\t}\n\n\tpublic async coreChangeUsername(\n\t\tuser_ext_id: string,\n\t\tpublic_username_custom: string,\n\t): Promise<{ public_username_custom: string }> {\n\t\tconst message = this.buildMessage<any, any>(user_ext_id, ClassId.CLIENT_SET_CUSTOM_USERNAME_REQUEST, {\n\t\t\tpublic_username_custom,\n\t\t});\n\n\t\treturn await this.send(message, ClassId.CLIENT_SET_CUSTOM_USERNAME_RESPONSE);\n\t}\n\n\tpublic async coreCheckSegments(user_ext_id: string, segment_id: number[]): Promise<TSegmentCheckResult[]> {\n\t\tconst message = this.buildMessage<CheckSegmentMatchRequest, any>(user_ext_id, ClassId.CHECK_SEGMENT_MATCH_REQUEST, {\n\t\t\tsegment_id,\n\t\t});\n\n\t\tconst results = await this.send<CheckSegmentMatchResponse>(message, ClassId.CHECK_SEGMENT_MATCH_RESPONSE);\n\n\t\treturn results.segments || [];\n\t}\n\n\tpublic async jackpotGet(\n\t\tuser_ext_id: string,\n\t\tfilter?: { related_game_id?: string; jp_template_id?: number },\n\t\tforce_language?: string,\n\t): Promise<GetJackpotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsRequest, GetJackpotsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_GET_JACKPOTS_REQUEST,\n\t\t\tfilter,\n\t\t);\n\t\treturn await this.send<GetJackpotsResponse>(message, ClassId.JP_GET_JACKPOTS_RESPONSE, force_language);\n\t}\n\n\tpublic async potGet(user_ext_id: string, filter: { jp_template_ids: number[] }): Promise<GetJackpotsPotsResponse> {\n\t\tconst message = this.buildMessage<GetJackpotsPotsRequest, GetJackpotsPotsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_GET_LATEST_POTS_REQUEST,\n\t\t\tfilter,\n\t\t);\n\t\treturn await this.send<GetJackpotsPotsResponse>(message, ClassId.JP_GET_LATEST_POTS_RESPONSE);\n\t}\n\n\tpublic async jackpotOptIn(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptinResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptinRequest, JackpotsOptinResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_OPTIN_REQUEST,\n\t\t\tpayload,\n\t\t);\n\t\treturn await this.send<JackpotsOptinResponse>(message, ClassId.JP_OPTIN_RESPONSE);\n\t}\n\n\tpublic async jackpotOptOut(user_ext_id: string, payload: { jp_template_id: number }): Promise<JackpotsOptoutResponse> {\n\t\tconst message = this.buildMessage<JackpotsOptoutRequest, JackpotsOptoutResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.JP_OPTOUT_REQUEST,\n\t\t\tpayload,\n\t\t);\n\t\treturn await this.send<JackpotsOptoutResponse>(message, ClassId.JP_OPTOUT_RESPONSE);\n\t}\n\n\tpublic async sawGetTemplates(\n\t\tuser_ext_id: string,\n\t\tforce_language?: string,\n\t\tis_visitor_mode: boolean = false,\n\t): Promise<SAWGetTemplatesResponse> {\n\t\tconst message = this.buildMessage<SAWGetTemplatesRequest, SAWGetTemplatesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_GET_SPINS_REQUEST,\n\t\t\t{ is_visitor_mode },\n\t\t);\n\n\t\tconst response = await this.send<SAWGetTemplatesResponse>(message, ClassId.SAW_GET_SPINS_RESPONSE, force_language);\n\n\t\tif (response && response.templates) {\n\t\t\tresponse.templates.forEach((t) => {\n\t\t\t\tif (t.jackpot_current !== undefined && t.jackpot_current !== null) {\n\t\t\t\t\tconst jackpotValue =\n\t\t\t\t\t\tt.jackpot_current +\n\t\t\t\t\t\t(t.saw_template_ui_definition?.jackpot_symbol ? ' ' + t.saw_template_ui_definition?.jackpot_symbol : '');\n\t\t\t\t\tt.saw_template_ui_definition.name = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.name,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.saw_template_ui_definition.description = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.description,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.saw_template_ui_definition.promo_text = IntUtils.replaceAll(\n\t\t\t\t\t\tt.saw_template_ui_definition.promo_text,\n\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t);\n\t\t\t\t\tt.prizes.forEach((p) => {\n\t\t\t\t\t\tp.saw_prize_ui_definition.name = IntUtils.replaceAll(\n\t\t\t\t\t\t\tp.saw_prize_ui_definition.name,\n\t\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tp.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(\n\t\t\t\t\t\t\tp.saw_prize_ui_definition.aknowledge_message,\n\t\t\t\t\t\t\t'{{jackpot}}',\n\t\t\t\t\t\t\tjackpotValue,\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tpublic async sawGetTemplatesT(user_ext_id: string): Promise<TMiniGameTemplate[]> {\n\t\treturn SAWTemplatesTransform((await this.sawGetTemplates(user_ext_id)).templates);\n\t}\n\n\tpublic async doAcknowledgeRequest(user_ext_id: string, request_id: string): Promise<SAWDoAknowledgeResponse> {\n\t\tconst message = this.buildMessage<SAWDoAknowledgeRequest, SAWDoAknowledgeResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_AKNOWLEDGE_REQUEST,\n\t\t\t{\n\t\t\t\trequest_id,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<SAWDoAknowledgeResponse>(message, ClassId.SAW_AKNOWLEDGE_RESPONSE);\n\t}\n\n\tpublic async sawSpinRequest(user_ext_id: string, saw_template_id: number, round_id?: number): Promise<SAWDoSpinResponse> {\n\t\tif (!saw_template_id) {\n\t\t\tthrow new Error('Missing template id');\n\t\t}\n\n\t\tconst request_id = IntUtils.uuid();\n\n\t\tconst message = this.buildMessage<SAWDoSpinRequest, SAWDoSpinResponse>(user_ext_id, ClassId.SAW_DO_SPIN_REQUEST, {\n\t\t\tsaw_template_id,\n\t\t\trequest_id,\n\t\t});\n\n\t\tconst spinAttemptResponse = await this.send<SAWDoSpinResponse>(message, ClassId.SAW_DO_SPIN_RESPONSE);\n\n\t\t// to simulate fail\n\t\t// response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;\n\n\t\tconst status: string =\n\t\t\t{\n\t\t\t\t[SAWSpinErrorCode.SAW_OK]: 'OK',\n\t\t\t\t[SAWSpinErrorCode.SAW_NO_SPINS]: 'NO SPINS AVAILABLE',\n\t\t\t\t[SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY]: 'PRIZE POOL IS EMPTY',\n\t\t\t\t[SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS]: 'NOT ENOUGH POINTS',\n\t\t\t\t[SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED]: 'MAX SPIN ATTEMPTS REACHED',\n\t\t\t\t[SAWSpinErrorCode.SAW_TEMPLATE_NOT_ACTIVE]: \"MINIGAME IS NOT IN ACTIVE PERIOD\",\n\t\t\t}[spinAttemptResponse.errCode] || 'OTHER';\n\n\t\tawait this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n\t\t\tsaw_template_id,\n\t\t\tstatus,\n\t\t\tround_id,\n\t\t});\n\n\t\treturn { ...spinAttemptResponse, request_id };\n\t}\n\n\n\tpublic async doAcknowledgeBatchRequest(user_ext_id: string, request_ids: string[]): Promise<SAWDoAcknowledgeBatchResponse> {\n\t\tconst message = this.buildMessage<SAWDoAcknowledgeBatchRequest, SAWDoAcknowledgeBatchResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.SAW_AKNOWLEDGE_REQUEST,\n\t\t\t{\n\t\t\t\trequest_ids,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<SAWDoAcknowledgeBatchResponse>(message, ClassId.SAW_AKNOWLEDGE_BATCH_RESPONSE);\n\t}\n\n\tpublic async sawSpinBatchRequest(user_ext_id: string, saw_template_id: number, spins_count: number): Promise<SAWDoSpinBatchResponse> {\n\n\t\tconst spins = [];\n\t\tfor (let i = 0; i < spins_count; i++) {\n\t\t\tconst request_id = IntUtils.uuid();\n\t\t\tspins.push({ request_id, saw_template_id })\n\t\t}\n\n\t\tconst message = this.buildMessage<SAWDoSpinBatchRequest, SAWDoSpinBatchResponse>(user_ext_id, ClassId.SAW_DO_SPIN_BATCH_REQUEST, { spins });\n\t\tconst spinAttemptResponse = await this.send<SAWDoSpinBatchResponse>(message, ClassId.SAW_DO_SPIN_BATCH_RESPONSE);\n\n\t\t// If one response is 'OK' we consider that whole result is 'OK'\n\t\tconst result = spinAttemptResponse.results.find((res) => res.errCode === 0);\n\n\t\tlet status = 'OK';\n\t\tif (!result) {\n\t\t\tstatus = 'BATCH FAIL';\n\t\t}\n\n\t\tawait this.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {\n\t\t\tsaw_template_id,\n\t\t\tstatus,\n\t\t\tspins_count,\n\t\t});\n\n\t\treturn { ...spinAttemptResponse };\n\t}\n\n\tpublic async getSawWinningHistory(user_ext_id: string, limit: number = 20, offset: number = 0, saw_template_id: number): Promise<SAWWinningHistoryResponse> {\n\t\tconst message = this.buildMessage<SAWWinningHistoryRequest, SAWWinningHistoryResponse>(user_ext_id, ClassId.GET_SAW_HISTORY_REQUEST, {\n\t\t\tlimit, offset, saw_template_id\n\t\t})\n\n\t\treturn await this.send<SAWWinningHistoryResponse>(message, ClassId.GET_SAW_HISTORY_RESPONSE);\n\t}\n\n\tpublic async getSawWinningHistoryT(user_ext_id: string, limit?: number, offset?: number, saw_template_id?: number): Promise<SAWPrizesHistory[]> {\n\t\treturn SAWHistoryTransform((await this.getSawWinningHistory(user_ext_id, limit, offset, saw_template_id)).prizes);\n\t}\n\t\n\tpublic async missionOptIn(user_ext_id: string, mission_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id');\n\t\t}\n\t\tconst message = this.buildMessage<AchievementOptinRequest, AchievementOptinResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MISSION_OPTIN_REQUEST,\n\t\t\t{\n\t\t\t\tachievementId: mission_id,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<AchievementOptinResponse>(message, ClassId.MISSION_OPTIN_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async missionClaimPrize(user_ext_id: string, mission_id: number, ach_completed_id: number) {\n\t\tif (!mission_id) {\n\t\t\tthrow new Error('Missing mission id');\n\t\t}\n\n\t\tconst message = this.buildMessage<AchClaimPrizeRequest, AchClaimPrizeResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.ACHIEVEMENT_CLAIM_PRIZE_REQUEST,\n\t\t\t{\n\t\t\t\tach_id: mission_id,\n\t\t\t\tach_completed_id: ach_completed_id,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<AchClaimPrizeResponse>(message, ClassId.ACHIEVEMENT_CLAIM_PRIZE_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async registerInTournament(user_ext_id: string, tournamentInstanceId: number) {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id');\n\t\t}\n\t\tconst message = this.buildMessage<TournamentRegisterRequest, TournamentRegisterResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.TOURNAMENT_REGISTER_REQUEST,\n\t\t\t{\n\t\t\t\ttournamentInstanceId,\n\t\t\t},\n\t\t);\n\n\t\tconst res = await this.send<TournamentRegisterResponse>(message, ClassId.TOURNAMENT_REGISTER_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async buyStoreItem(user_ext_id: string, itemId: number) {\n\t\tif (!itemId) {\n\t\t\tthrow new Error('Missing store item id');\n\t\t}\n\t\tconst message = this.buildMessage<BuyStoreItemRequest, BuyStoreItemResponse>(user_ext_id, ClassId.BUY_SHOP_ITEM_REQUEST, {\n\t\t\titemId,\n\t\t});\n\n\t\tconst res = await this.send<BuyStoreItemResponse>(message, ClassId.BUY_SHOP_ITEM_RESPONSE);\n\n\t\treturn res;\n\t}\n\n\tpublic async inboxGetMessages(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 10,\n\t\toffset: number = 0,\n\t): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_INBOX_MESSAGES_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\t}\n\n\tpublic async storeGetItems(user_ext_id: string, force_language?: string): Promise<GetStoreItemsResponse> {\n\t\tconst message = this.buildMessage<any, GetStoreItemsResponse>(user_ext_id, ClassId.GET_SHOP_ITEMS_REQUEST);\n\t\treturn await this.send<GetStoreItemsResponse>(message, ClassId.GET_SHOP_ITEMS_RESPONSE, force_language);\n\t}\n\n\tpublic async storeGetItemsT(user_ext_id: string): Promise<TStoreItem[]> {\n\t\treturn StoreItemTransform((await this.storeGetItems(user_ext_id)).items);\n\t}\n\n\tpublic async storeGetCategories(user_ext_id: string, force_language?: string): Promise<GetCategoriesStoreResponse> {\n\t\tconst message = this.buildMessage<any, GetCategoriesStoreResponse>(user_ext_id, ClassId.GET_SHOP_CATEGORIES_REQUEST);\n\t\treturn await this.send<GetCategoriesStoreResponse>(message, ClassId.GET_SHOP_CATEGORIES_RESPONSE, force_language);\n\t}\n\n\tpublic async storeGetCategoriesT(user_ext_id: string): Promise<TStoreCategory[]> {\n\t\treturn StoreCategoryTransform((await this.storeGetCategories(user_ext_id)).categories);\n\t}\n\n\tpublic async storeGetPurchasedItems(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 20,\n\t\toffset: number = 0,\n\t): Promise<GetStoreHistoryResponse> {\n\t\tconst message = this.buildMessage<GetStoreHistoryRequest, GetStoreHistoryResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.ACH_SHOP_ITEM_HISTORY_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<GetStoreHistoryResponse>(message, ClassId.ACH_SHOP_ITEM_HISTORY_RESPONSE);\n\t}\n\n\tpublic async storeGetPurchasedItemsT(user_ext_id: string, limit?: number, offset?: number): Promise<TStoreItem[]> {\n\t\treturn StoreItemPurchasedTransform((await this.storeGetPurchasedItems(user_ext_id, limit, offset)).items);\n\t}\n\n\tpublic async missionsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetAchievementMapResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with badgesGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response };\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Mission);\n\t\t}\n\t\treturn responseClone;\n\t}\n\n\tpublic async missionsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.missionsGetItems(user_ext_id)).achievements);\n\t}\n\n\tpublic async getUserGamificationInfo(user_ext_id: string): Promise<GetAchievementsUserInfoResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementsUserInfoResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_USER_REQUEST,\n\t\t);\n\n\t\treturn await this.send<GetAchievementsUserInfoResponse>(message, ClassId.GET_ACHIEVEMENT_USER_RESPONSE);\n\t}\n\n\tpublic async getUserGamificationInfoT(user_ext_id: string): Promise<UserLevelExtraCountersT> {\n\t\tconst response = await this.getUserGamificationInfo(user_ext_id);\n\n\t\treturn {\n\t\t\tlevel_counter_1: response.level_counter_1,\n\t\t\tlevel_counter_2: response.level_counter_2,\n\t\t};\n\t}\n\n\tpublic async achGetCategories(user_ext_id: string, force_language?: string): Promise<GetAchCategoriesResponse> {\n\t\tconst message = this.buildMessage<any, GetAchCategoriesResponse>(user_ext_id, ClassId.GET_ACH_CATEGORIES_REQUEST);\n\t\treturn await this.send<GetAchCategoriesResponse>(message, ClassId.GET_ACH_CATEGORIES_RESPONSE, force_language);\n\t}\n\n\tpublic async achGetCategoriesT(user_ext_id: string): Promise<TAchCategory[]> {\n\t\treturn AchCategoryTransform((await this.achGetCategories(user_ext_id)).categories);\n\t}\n\n\tpublic async badgetsGetItems(user_ext_id: string, force_language?: string): Promise<GetAchievementMapResponse> {\n\t\tconst message = this.buildMessage<GetAchievementMapRequest, GetAchievementMapResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetAchievementMapResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_ACHIEVEMENT_MAP_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t// we need to clone response to avoid changing original object,for cases when its called together with missionsGetItems (e.g. in Promise.all)\n\t\tconst responseClone = { ...response };\n\n\t\tif (responseClone.achievements) {\n\t\t\tresponseClone.achievements = responseClone.achievements.filter((a) => a.ach_type_id === AchievementType.Badge);\n\t\t}\n\t\treturn responseClone;\n\t}\n\n\tpublic async bonusesGetItems(user_ext_id: string, force_language?: string): Promise<GetBonusesResponse> {\n\t\tconst message = this.buildMessage<GetBonusesRequest, GetBonusesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_BONUSES_REQUEST,\n\t\t);\n\t\tconst response = await this.send<GetBonusesResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_BONUSES_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\t\t\n\t\tconst responseClone = { ...response };\n\n\t\treturn responseClone;\n\t}\n\tpublic async bonusClaimItem(user_ext_id: string, bonus_id: number): Promise<ClaimBonusResponse> {\n\t\tconst message = this.buildMessage<ClaimBonusRequest, ClaimBonusResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.CLAIM_BONUS_REQUEST,\n\t\t\t{ bonusId: bonus_id }\n\n\t\t);\n\t\tconst response = await this.send<ClaimBonusResponse>(\n\t\t\tmessage,\n\t\t\tClassId.CLAIM_BONUS_RESPONSE,\n\n\t\t);\n\t\t\n\t\tconst responseClone = { ...response };\n\n\t\treturn responseClone;\n\t}\n\n\tpublic async bonusesGetItemsT(user_ext_id: string): Promise<TBonus[]> {\n\t\treturn BonusItemsTransform((await this.bonusesGetItems(user_ext_id)).bonuses);\n\t}\n\n\tpublic async badgetsGetItemsT(user_ext_id: string): Promise<TMissionOrBadge[]> {\n\t\treturn UserAchievementTransform((await this.badgetsGetItems(user_ext_id)).achievements);\n\t}\n\n\tpublic async tournamentsGetLobby(user_ext_id: string, force_language?: string): Promise<GetTournamentsResponse> {\n\t\tconst message = this.buildMessage<GetTournamentsRequest, GetTournamentsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_TOURNAMENT_LOBBY_REQUEST,\n\t\t);\n\t\treturn await this.send<GetTournamentsResponse>(message, ClassId.GET_TOURNAMENT_LOBBY_RESPONSE, force_language);\n\t}\n\n\tpublic async tournamentsGetLobbyT(user_ext_id: string): Promise<TTournament[]> {\n\t\treturn TournamentItemsTransform((await this.tournamentsGetLobby(user_ext_id)).tournaments);\n\t}\n\n\tpublic async tournamentsGetInfo(\n\t\tuser_ext_id: string,\n\t\ttournamentInstanceId: number,\n\t\tforce_language?: string,\n\t): Promise<GetTournamentInfoResponse> {\n\t\tconst message = this.buildMessage<GetTournamentInfoRequest, GetTournamentInfoResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_TOURNAMENT_INFO_REQUEST,\n\t\t\t{\n\t\t\t\ttournamentInstanceId,\n\t\t\t},\n\t\t);\n\t\tconst response = await this.send<GetTournamentInfoResponse>(\n\t\t\tmessage,\n\t\t\tClassId.GET_TOURNAMENT_INFO_RESPONSE,\n\t\t\tforce_language,\n\t\t);\n\n\t\tif (response.userPosition?.avatar_id) {\n\t\t\tresponse.userPosition.avatar_url = CoreUtils.avatarUrl(response.userPosition.avatar_id, this.avatarDomain);\n\t\t}\n\n\t\tif (response.tournamentInfo?.players?.length) {\n\t\t\tresponse.tournamentInfo.players.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n\t\t\t});\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tpublic async tournamentsGetInfoT(user_ext_id: string, tournamentInstanceId: number): Promise<TTournamentDetailed> {\n\t\tif (!tournamentInstanceId) {\n\t\t\tthrow new Error('Missing tournament instance id');\n\t\t}\n\t\tconst response = await this.tournamentsGetInfo(user_ext_id, tournamentInstanceId);\n\t\treturn tournamentInfoItemTransform(response);\n\t}\n\n\tpublic async leaderboardGet(\n\t\tuser_ext_id: string,\n\t\tperiod_type_id?: LeaderBoardPeriodType,\n\t\tprevPeriod: boolean = false,\n\t\tforce_language?: string,\n\t): Promise<LeaderBoardDetails> {\n\t\tconst message = this.buildMessage<GetLeaderBoardsRequest, GetLeaderBoardsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_LEADERS_BOARD_REQUEST,\n\t\t\t{\n\t\t\t\tperiod_type_id,\n\t\t\t\tsnapshot_offset: prevPeriod ? 1 : 0,\n\t\t\t\tinclude_users: true,\n\t\t\t},\n\t\t);\n\n\t\tconst response = await this.send<GetLeaderBoardsResponse>(message, ClassId.GET_LEADERS_BOARD_RESPONSE, force_language);\n\n\t\tconst boardKey = Object.keys(response.map).find((k) => period_type_id === undefined || k === period_type_id?.toString());\n\n\t\tif (boardKey === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (response.map[boardKey]?.userPosition?.avatar_id) {\n\t\t\tresponse.map[boardKey].userPosition.avatar_url = CoreUtils.avatarUrl(\n\t\t\t\tresponse.map[boardKey].userPosition.avatar_id,\n\t\t\t\tthis.avatarDomain,\n\t\t\t);\n\t\t}\n\n\t\tif (response.map[boardKey]?.positions?.length) {\n\t\t\tresponse.map[boardKey].positions.forEach((p) => {\n\t\t\t\tp.avatar_url = CoreUtils.avatarUrl(p.avatar_id, this.avatarDomain);\n\t\t\t});\n\t\t}\n\n\t\treturn response.map[boardKey];\n\t}\n\n\tpublic async leaderboardsGetT(\n\t\tuser_ext_id: string,\n\t\tperiod_type_id: LeaderBoardPeriodType = LeaderBoardPeriodType.DAILY,\n\t\tprevPeriod: boolean = false,\n\t): Promise<LeaderBoardDetailsT> {\n\t\treturn getLeaderBoardTransform(await this.leaderboardGet(user_ext_id, period_type_id, prevPeriod));\n\t}\n\n\tpublic async levelsGet(user_ext_id: string, force_language?: string): Promise<GetLevelMapResponse> {\n\t\tconst message = this.buildMessage<any, GetLevelMapResponse>(user_ext_id, ClassId.GET_LEVEL_MAP_REQUEST);\n\t\treturn await this.send<GetLevelMapResponse>(message, ClassId.GET_LEVEL_MAP_RESPONSE, force_language);\n\t}\n\n\tpublic async levelsGetT(user_ext_id: string): Promise<TLevel[]> {\n\t\treturn GetLevelMapResponseTransform(await this.levelsGet(user_ext_id));\n\t}\n\n\tpublic async getCustomSections(user_ext_id: string): Promise<GetCustomSectionsResponse> {\n\t\tconst message = this.buildMessage<GetCustomSectionsRequest, GetCustomSectionsResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_CUSTOM_SECTIONS_REQUEST,\n\t\t);\n\t\treturn await this.send<GetCustomSectionsResponse>(message, ClassId.GET_CUSTOM_SECTIONS_RESPONSE);\n\t}\n\n\tpublic async getCustomSectionsT(user_ext_id: string): Promise<TUICustomSection[]> {\n\t\treturn UICustomSectionTransform(Object.values((await this.getCustomSections(user_ext_id)).customSections));\n\t}\n\n\tpublic async getTranslationsT(\n\t\tuser_ext_id: string,\n\t\tlang_code: string,\n\t\tareas: TranslationArea[],\n\t\tcacheSec: number = 60,\n\t): Promise<GetTranslationsResponse> {\n\t\treturn await this.coreGetTranslations(user_ext_id, lang_code, areas, 30);\n\t}\n\n\tpublic async getInboxMessages(\n\t\tuser_ext_id: string,\n\t\tlimit: number = 20,\n\t\toffset: number = 0,\n\t\tstarred_only: boolean,\n\t): Promise<GetInboxMessagesResponse> {\n\t\tconst message = this.buildMessage<GetInboxMessagesRequest, GetInboxMessagesResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_INBOX_MESSAGES_REQUEST,\n\t\t\t{\n\t\t\t\tlimit,\n\t\t\t\toffset,\n\t\t\t\tstarred_only,\n\t\t\t},\n\t\t);\n\t\treturn await this.send<GetInboxMessagesResponse>(message, ClassId.GET_INBOX_MESSAGES_RESPONSE);\n\t}\n\n\tpublic async getInboxMessagesT(\n\t\tuser_ext_id: string,\n\t\tfrom: number = 0,\n\t\tto: number = 20,\n\t\tfavoriteOnly: boolean = false,\n\t): Promise<TInboxMessage[]> {\n\t\tconst limit = to - from > 20 ? 20 : to - from;\n\t\tconst offset = from;\n\n\t\treturn InboxMessagesTransform((await this.getInboxMessages(user_ext_id, limit, offset, favoriteOnly)).log);\n\t}\n\n\tpublic async getInboxMessageBody(messageGuid: string): Promise<InboxMessageBody> {\n\t\tconst getMessageBody = async (messageGuid: string): Promise<InboxMessageBody> => {\n\t\t\tconst inboxCdnUrl = this.tracker.getLabelSetting(PublicLabelSettings.INBOX_PUBLIC_CDN);\n\n\t\t\ttry {\n\t\t\t\tconst url = `${inboxCdnUrl}${messageGuid}.json`;\n\n\t\t\t\tconst response = await fetch(url, {\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Accept': 'application/json',\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tconst data = await response.json();\n\t\t\t\treturn data || {};\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger.error('Error fetching inbox message body:', error);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t};\n\n\t\treturn await getMessageBody(messageGuid);\n\t}\n\n\tpublic async getInboxMessageBodyT(messageGuid: string): Promise<TInboxMessageBody> {\n\t\tconst message = await this.getInboxMessageBody(messageGuid);\n\t\treturn InboxMessageBodyTransform(message);\n\t}\n\n\tpublic async markInboxMessageRead(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_READ_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n\t}\n\n\tpublic async markAllInboxMessageRead(user_ext_id: string): Promise<MarkInboxMessageReadResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageReadRequest, MarkInboxMessageReadResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_READ_REQUEST,\n\t\t\t{\n\t\t\t\tall_read: true,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageReadResponse>(message, ClassId.MARK_INBOX_READ_RESPONSE);\n\t}\n\n\tpublic async markUnmarkInboxMessageAsFavorite(\n\t\tuser_ext_id: string,\n\t\tmessageGuid: string,\n\t\tmark: boolean,\n\t): Promise<MarkInboxMessageStarredResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageStarredRequest, MarkInboxMessageStarredResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_STARRED_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t\tis_starred: mark,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageStarredResponse>(message, ClassId.MARK_INBOX_STARRED_RESPONSE);\n\t}\n\n\tpublic async deleteInboxMessage(user_ext_id: string, messageGuid: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_DELETED_REQUEST,\n\t\t\t{\n\t\t\t\tengagement_uid: messageGuid,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n\t}\n\n\tpublic async deleteAllInboxMessages(user_ext_id: string): Promise<MarkInboxMessageDeletedResponse> {\n\t\tconst message = this.buildMessage<MarkInboxMessageDeletedRequest, MarkInboxMessageDeletedResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.MARK_INBOX_DELETED_REQUEST,\n\t\t\t{\n\t\t\t\tall_deleted: true,\n\t\t\t},\n\t\t);\n\n\t\treturn await this.send<MarkInboxMessageDeletedResponse>(message, ClassId.MARK_INBOX_DELETED_RESPONSE);\n\t}\n\n\tpublic getWSCalls(): WSAPI {\n\t\treturn new WSAPI(this);\n\t}\n\n\tpublic async getRelatedItemsForGame(user_ext_id: string, related_game_id: string,): Promise<GetRelatedAchTourResponse> {\n\t\tconst message = this.buildMessage< GetRelatedAchTourRequest, GetRelatedAchTourResponse>(\n\t\t\tuser_ext_id,\n\t\t\tClassId.GET_RELATED_ACH_N_TOURNAMENTS_REQUEST,\n\t\t\t{\n\t\t\t\trelated_game_id: related_game_id\n\t\t\t}\n\t\t);\n\t\t\n\t\treturn await this.send<GetRelatedAchTourResponse>(message, ClassId.GET_RELATED_ACH_N_TOURNAMENTS_RESPONSE);\n\n\t}\n}\n\nexport { SmarticoAPI, MessageSender };\n","import { TSMap } from 'typescript-map';\n\nclass CookieStore {\n\tprivate static cookieStore = new TSMap<string, string[]>();\n\n\tpublic static get(key: string): string[] | undefined {\n\t\treturn CookieStore.cookieStore.get(key);\n\t}\n\n\tpublic static set(key: string, value: string[]) {\n\t\tconst v = value.map((v) => v.split(';')[0]);\n\t\tCookieStore.cookieStore.set(key, v);\n\t}\n}\n\nexport { CookieStore };\n","export enum QuizSportType {\n\tSoccer = 1,\n\tBasketball = 2,\n\tTennis = 5,\n}\n\nexport const quizSupportedSports = [QuizSportType.Basketball, QuizSportType.Soccer, QuizSportType.Tennis];\n","export enum SAWGPMarketType {\n\tTwoTeamsWithScore = 1,\n\tRedCard = 2,\n\tOneXTwo = 3,\n\tOneXTwoHalftime = 4,\n\t// HalftimeFulltime = 5,\n\tFirstGoal = 6,\n\tDoubleChance = 7,\n\tOverUnder2_5 = 8,\n\tOverUnder1_5Halftime = 9,\n\tOverUnder1_5__2ndHalf = 10,\n\tTotalCorners8_5 = 11,\n\tTotalCorners9_5 = 12,\n\tCorners1x2 = 13,\n\tOne_Two = 14,\n\tOvertime = 15,\n\tOddEven = 16,\n\tOddEvenHomeAway = 17,\n\tFirstSet = 18,\n\tSecondSet = 19,\n\tThirdSet = 20,\n\tFourthSet = 21,\n\tFifthSet = 22,\n\tPlayerOneWinsOneSet = 23,\n\tPlayerTwoWinsOneSet = 24,\n\tLastGoal = 25,\n\n\tCustomSport = 26,\n\tCustomNonSport = 27,\n}\n","export enum QuizAnswersValueType {\n\tHomeTeam = '1',\n\tAwayTeam = '2',\n\tDraw = 'x',\n\tHomeTeamHomeTeam = '1/1',\n\tHomeTeamDraw = '1/x',\n\tHomeTeamAwayTeam = '1/2',\n\tDrawHomeTeam = 'x/1',\n\tDrawDraw = 'x/x',\n\tDrawAwayTeam = 'x/2',\n\tAwayTeamHomeTeam = '2/1',\n\tAwayTeamDraw = '2/x',\n\tAwayTeamAwayTeam = '2/2',\n\tYes = 'yes',\n\tNo = 'no',\n\tOdd = 'odd',\n\tEven = 'even',\n\tHomeOdd = '1/odd',\n\tHomeEven = '1/even',\n\tAwayOdd = '2/odd',\n\tAwayEven = '2/even',\n}\n\nexport const quizAnswerHomeTeamReplacementText = '{quiz_home_team}';\nexport const quizAnswerAwayTeamReplacementText = '{quiz_away_team}';\nexport const quizDrawReplacementText = '{quiz_draw}';\nexport const quizYesReplacementText = '{yes}';\nexport const quizNoReplacementText = '{no}';\nexport const quizOddReplacementText = '{odd}';\nexport const quizEvenReplacementText = '{even}';\nexport const quizOrReplacementText = '{or}';\nexport const quizNoGoalsReplacementText = '{quiz_no_goals}';\n\nexport const quizAnswersTrKeys = {\n\t[quizDrawReplacementText]: 'quizAnswer_draw',\n\t[quizYesReplacementText]: 'quizAnswer_yes',\n\t[quizNoReplacementText]: 'quizAnswer_no',\n\t[quizOddReplacementText]: 'quizAnswer_odd',\n\t[quizEvenReplacementText]: 'quizAnswer_even',\n\t[quizOrReplacementText]: 'quizAnswer_or',\n\t[quizNoGoalsReplacementText]: 'quizAnswer_no_goals',\n};\n","import {\n\tQuizAnswersValueType,\n\tquizAnswerAwayTeamReplacementText,\n\tquizAnswerHomeTeamReplacementText,\n\tquizDrawReplacementText,\n\tquizEvenReplacementText,\n\tquizNoGoalsReplacementText,\n\tquizNoReplacementText,\n\tquizOddReplacementText,\n\tquizOrReplacementText,\n\tquizYesReplacementText,\n} from './MarketsAnswers';\nimport { SAWGPMarketType } from './MarketsType';\n\nconst yesNoAnswers = [\n\t{ text: quizYesReplacementText, value: QuizAnswersValueType.Yes },\n\t{ text: quizNoReplacementText, value: QuizAnswersValueType.No },\n];\n\nconst homeAwayAnswers = [\n\t{ text: quizAnswerHomeTeamReplacementText, value: QuizAnswersValueType.HomeTeam },\n\t{ text: quizAnswerAwayTeamReplacementText, value: QuizAnswersValueType.AwayTeam },\n];\n\nconst homeAwayDrawAnswers = [...homeAwayAnswers, { text: quizDrawReplacementText, value: QuizAnswersValueType.Draw }];\nconst homeAwayNoGoalsAnswers = [...homeAwayAnswers, { text: quizNoGoalsReplacementText, value: QuizAnswersValueType.Draw }];\n\nexport const marketsInfo = [\n\t{\n\t\ttype: SAWGPMarketType.OneXTwo,\n\t\tname: '1x2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1x2' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OneXTwoHalftime,\n\t\tname: '1x2 Halftime',\n\t\tquestion: { text: 'Who will lead the first half of the match ?', trKey: 'quizQuestion_x2half' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t// {\n\t// \ttype: SAWGPMarketType.HalftimeFulltime,\n\t// \tname: 'Halftime / Fulltime',\n\t// \tquestion: { text: 'Who will lead the first half and who will win the match ?', trKey: 'quizQuestion__HalftimeFulltime' },\n\t// \tanswers: [\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.HomeTeamHomeTeam,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizDrawReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.HomeTeamDraw,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerHomeTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.HomeTeamAwayTeam,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizDrawReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.DrawHomeTeam,\n\t// \t\t},\n\t// \t\t{ text: `${quizDrawReplacementText} / ${quizDrawReplacementText}`, value: QuizAnswersValueType.DrawDraw },\n\t// \t\t{\n\t// \t\t\ttext: `${quizDrawReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.DrawAwayTeam,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerHomeTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.AwayTeamHomeTeam,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizDrawReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.AwayTeamDraw,\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\ttext: `${quizAnswerAwayTeamReplacementText} / ${quizAnswerAwayTeamReplacementText}`,\n\t// \t\t\tvalue: QuizAnswersValueType.AwayTeamAwayTeam,\n\t// \t\t},\n\t// \t],\n\t// },\n\t{\n\t\ttype: SAWGPMarketType.FirstGoal,\n\t\tname: 'First Goal',\n\t\tquestion: { text: 'Who will score the first goal ?', trKey: 'quizQuestion_firstGoal' },\n\t\tanswers: homeAwayNoGoalsAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.LastGoal,\n\t\tname: 'Last Goal',\n\t\tquestion: { text: 'Who will score the last goal ?', trKey: 'quizQuestion_lastGoal' },\n\t\tanswers: homeAwayNoGoalsAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.DoubleChance,\n\t\tname: 'Double Chance',\n\t\tquestion: { text: 'Who will win the match? Choose a combination:', trKey: 'quizQuestion_doubleChance' },\n\t\tanswers: [\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerHomeTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamDraw,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizAnswerHomeTeamReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.HomeTeamAwayTeam,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: `${quizDrawReplacementText} ${quizOrReplacementText} ${quizAnswerAwayTeamReplacementText}`,\n\t\t\t\tvalue: QuizAnswersValueType.AwayTeamDraw,\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder2_5,\n\t\tname: 'Over/Under 2.5',\n\t\tquestion: { text: 'Will there be 3 or more goals in the match?', trKey: 'quizQuestion_overUnder2_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5Halftime,\n\t\tname: 'Over/Under 1.5 Halftime',\n\t\tquestion: { text: 'Will there be 2 or more goals in the first half?', trKey: 'quizQuestion_overUnder1_5Halftime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tname: 'Over/Under 1.5 2nd Half',\n\t\tquestion: { text: 'Will there be 2 or more goals in the second half?', trKey: 'quizQuestion_overUnder1_5__2ndHalf' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.RedCard,\n\t\tname: 'Red Card',\n\t\tquestion: { text: 'Will there be a red card in the match?', trKey: 'quizQuestion_redCard' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners8_5,\n\t\tname: 'Total Corners 8.5',\n\t\tquestion: { text: 'Will there be 9 or more corners in the match?', trKey: 'quizQuestion_totalCorners8_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.TotalCorners9_5,\n\t\tname: 'Total Corners 9.5',\n\t\tquestion: { text: 'Will there be 10 or more corners in the match?', trKey: 'quizQuestion_totalCorners9_5' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Corners1x2,\n\t\tname: 'Corners 1x2',\n\t\tquestion: { text: 'Which team will have more corners in the match?', trKey: 'quizQuestion_corners1x2' },\n\t\tanswers: homeAwayDrawAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.One_Two,\n\t\tname: '1-2',\n\t\tquestion: { text: 'Who will win the match ?', trKey: 'quizQuestion_1-2' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.Overtime,\n\t\tname: 'Overtime',\n\t\tquestion: { text: 'Will there be overtime in the match?', trKey: 'quizQuestion_overtime' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEven,\n\t\tname: 'Odd/Even',\n\t\tquestion: {\n\t\t\ttext: 'Is the sum of all points scored in the game going to be an odd number or even?',\n\t\t\ttrKey: 'quizQuestion_oddEven',\n\t\t},\n\t\tanswers: [\n\t\t\t{ text: quizOddReplacementText, value: QuizAnswersValueType.Odd },\n\t\t\t{ text: quizEvenReplacementText, value: QuizAnswersValueType.Even },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.OddEvenHomeAway,\n\t\tname: 'Odd/Even Home/Away',\n\t\tquestion: {\n\t\t\ttext: 'Which team will win and what will be the sum of the points (Odd or Even)?',\n\t\t\ttrKey: 'quizQuestion_oddEvenHomeAway',\n\t\t},\n\t\tanswers: [\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.HomeOdd },\n\t\t\t{ text: `${quizAnswerHomeTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.HomeEven },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizOddReplacementText}`, value: QuizAnswersValueType.AwayOdd },\n\t\t\t{ text: `${quizAnswerAwayTeamReplacementText} - ${quizEvenReplacementText}`, value: QuizAnswersValueType.AwayEven },\n\t\t],\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FirstSet,\n\t\tname: 'First Set',\n\t\tquestion: { text: 'Who will win the first set ?', trKey: 'quizQuestion_firstSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.SecondSet,\n\t\tname: 'Second Set',\n\t\tquestion: { text: 'Who will win the second set ?', trKey: 'quizQuestion_secondSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.ThirdSet,\n\t\tname: 'Third Set',\n\t\tquestion: { text: 'Who will win the third set ?', trKey: 'quizQuestion_thirdSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FourthSet,\n\t\tname: 'Fourth Set',\n\t\tquestion: { text: 'Who will win the fourth set ?', trKey: 'quizQuestion_fourthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.FifthSet,\n\t\tname: 'Fifth Set',\n\t\tquestion: { text: 'Who will win the fifth set ?', trKey: 'quizQuestion_fifthSet' },\n\t\tanswers: homeAwayAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerOneWinsOneSet,\n\t\tname: 'Player One Wins One Set',\n\t\tquestion: { text: 'Will Player One win at least one set?', trKey: 'quizQuestion_playerOneWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tname: 'Player Two Wins One Set',\n\t\tquestion: { text: 'Will Player Two win at least one set?', trKey: 'quizQuestion_playerTwoWinsOneSet' },\n\t\tanswers: yesNoAnswers,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.CustomNonSport,\n\t\tname: 'Custom question (non sport)',\n\t\tquestion: null,\n\t\tanswers: null,\n\t},\n\t{\n\t\ttype: SAWGPMarketType.CustomSport,\n\t\tname: 'Custom question (sport)',\n\t\tquestion: null,\n\t\tanswers: null,\n\t},\n];\n","import { SAWGPMarketType } from './MarketsType';\nimport { QuizSportType } from './SportTypes';\n\nexport const QuizMarketPerSport = {\n\t[QuizSportType.Basketball]: [\n\t\tSAWGPMarketType.One_Two,\n\t\tSAWGPMarketType.Overtime,\n\t\tSAWGPMarketType.OneXTwo,\n\t\tSAWGPMarketType.OddEven,\n\t\tSAWGPMarketType.OddEvenHomeAway,\n\t\tSAWGPMarketType.DoubleChance,\n\t],\n\t[QuizSportType.Soccer]: [\n\t\tSAWGPMarketType.OneXTwo,\n\t\tSAWGPMarketType.OneXTwoHalftime,\n\t\t// SAWGPMarketType.HalftimeFulltime,\n\t\tSAWGPMarketType.FirstGoal,\n\t\tSAWGPMarketType.LastGoal,\n\t\tSAWGPMarketType.DoubleChance,\n\t\tSAWGPMarketType.OverUnder2_5,\n\t\tSAWGPMarketType.OverUnder1_5Halftime,\n\t\tSAWGPMarketType.OverUnder1_5__2ndHalf,\n\t\tSAWGPMarketType.RedCard,\n\t\tSAWGPMarketType.TotalCorners8_5,\n\t\tSAWGPMarketType.TotalCorners9_5,\n\t\tSAWGPMarketType.Corners1x2,\n\t],\n\t[QuizSportType.Tennis]: [\n\t\tSAWGPMarketType.One_Two,\n\t\tSAWGPMarketType.FirstSet,\n\t\tSAWGPMarketType.SecondSet,\n\t\tSAWGPMarketType.ThirdSet,\n\t\tSAWGPMarketType.FourthSet,\n\t\tSAWGPMarketType.FifthSet,\n\t\tSAWGPMarketType.PlayerOneWinsOneSet,\n\t\tSAWGPMarketType.PlayerTwoWinsOneSet,\n\t\tSAWGPMarketType.OddEven,\n\t],\n};\n","enum JackpotContributionType {\n\tFixed = 1,\n\tPercentage = 2,\n}\n\nexport { JackpotContributionType };\n","enum JackPotTemparature {\n\t/** cold */\n\tCOLD = 0,\n\t/** warm */\n\tWARM = 1,\n\t/** hot */\n\tHOT = 2\n}\n\ninterface JackpotPot {\n\t/** ID of the jackpot template */\n\tjp_template_id: number;\n\t/** ID of the jackpot pot */\n\tjp_pot_id: number;\n\t/** currency of the jackpot pot in the Jackput base currency */\n\tcurrent_pot_amount: number;\n\t/** currency of the jackpot pot in the user wallet currency */\n\tcurrent_pot_amount_user_currency: number;\n\t/** the date/time when this pot exploded */\n\texplode_date_ts: number;\n\t/** current pot temperature\n\t * 0 - cold. seed amount < current pot < (min amount - seed amount)/2\n\t * 1 - warm. (min amount - seed amount)/2 < current pot < min amount\n\t * 2 - hot. current pot > min amount\n\t */\n\tcurrent_pot_temperature: JackPotTemparature;\n}\n\nexport { JackpotPot };\n","enum JackpotType {\n\tMain = 1,\n\tPersonal = 2,\n}\n\nexport { JackpotType };\n"],"names":["ClassId","IntUtils","uuid","a","b","Math","random","toString","isNotNull","val","isNotEmpty","length","replaceAll","value","regex","replacement","replace","RegExp","escapeRegExp","v","JsonOrText","str","includes","JSON","parse","e","isWithinPeriod","timestamp","period","now","Date","completedDate","getFullYear","getMonth","getDate","startOfWeek","setDate","getDay","setHours","endOfWeek","SAWBuyInType","SAWBuyInTypeName","SAWBuyInTypeNamed","type","_SAWBuyInType$Free$SA","Free","Points","Spins","Unknown","SAWUtils","canPlay","t","pointsBalance","undefined","saw_buyin_type_id","spin_count","buyin_cost_points","console","error","SAWAcknowledgeType","SAWAcknowledgeTypeName","SAWAcknowledgeTypeNamed","_SAWAcknowledgeType$S","Silent","QuickMessage","FullMessage","ExplicityAcknowledge","SAWAskForUsername","SAWGameType","SAWGameTypeName","SAWGameTypeNamed","_SAWGameType$SpinAWhe","SpinAWheel","ScratchCard","MatchX","GiftBox","PrizeDrop","Quiz","LootboxWeekdays","LootboxCalendarDays","SAWPrizeType","MiniGamePrizeTypeName","MiniGamePrizeTypeNamed","_SAWPrizeType$NO_PRIZ","NO_PRIZE","POINTS","BONUS","MANUAL","SPIN","JACKPOT","CHANGE_LEVEL","MISSION","UNKNOWN","SAWTemplatesTransform","items","map","r","_r$saw_skin_ui_defini","x","id","saw_template_id","name","saw_template_ui_definition","description","thumbnail","saw_skin_ui_definition","skin_folder","saw_skin_key","over_limit_message","no_attempts_message","jackpot_symbol","saw_game_type","saw_game_type_id","saw_buyin_type","jackpot_add_on_attempt","jackpot_current","promo_image","promo_text","custom_data","expose_game_stat_on_api","relative_period_timezone","activeFromDate","activeTillDate","next_available_spin_ts","prizes","p","y","saw_prize_id","saw_prize_ui_definition","prize_type","prize_type_id","prize_value","font_size","font_size_mobile","icon","position","acknowledge_type","aknowledge_message","acknowledge_dp","acknowledge_action_title","acknowledge_dp_additional","acknowledge_action_title_additional","out_of_stock_message","pool","pool_initial","wins_count","weekdays","active_from_ts","active_till_ts","is_surcharge","SAWSpinErrorCode","SAWWinSoundType","SAWWinSoundFiles","_SAWWinSoundFiles","NoSound","Disappointing","Positive","HighlyPositive","SAWHistoryTransform","template","prize_amount","client_request_id","is_claimed","create_date_ts","acknowledge_date_ts","SAWGameLayout","NodeCache","ttlChecker","setInterval","getTime","key","cache","hasOwnProperty","o","ttl","_proto","prototype","get","set","ttlSeconds","remove","flushAll","ECacheContext","OCache","init","cacheContext","oKey","stringify","deepClone","use","f","Promise","resolve","_temp","then","_f2","reject","clear","_this","clearContext","_this2","clearAll","_this3","ActivityTypeLimited","CoreUtils","currencySymbol","currency","_USD$EUR$JPY$GBP$AUD$","toUpperCase","USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","MXN","SGD","HKD","NOK","KRW","TRY","INR","RUB","BRL","ZAR","avatarUrl","avatar_id","avatarDomain","startsWith","endsWith","slice","PublicLabelSettings","TranslationArea","InboxMessagesTransform","item","sent_date","createDate","message_guid","engagement_uid","read","is_read","favorite","is_starred","InboxMessageBodyTransform","action","image","title","preview_body","body","additional_buttons","buttons","text","inbox_cta_text","html_body","InboxMessageType","OpenLinksType","BuyStoreItemErrorCode","StoreCategoryTransform","_r$publicMeta","_r$publicMeta2","publicMeta","order","StoreItemType","StoreItemTypeName","StoreItemTypeNamed","_StoreItemType$Bonus$","Bonus","Tangible","MiniGameSpin","ChangeLevel","StoreItemTransform","filter","_r$itemPublicMeta$pri","_r$categoryIds","itemPublicMeta","price","image_url","ribbon","label_tag","custom_label_tag","limit_message","priority","related_item_ids","related_items","hint_text","itemTypeId","can_buy","canBuy","category_ids","categoryIds","shopPool","StoreItemPurchasedTransform","purchasedToday","purchase_ts","purchasedThisWeek","purchasedThisMonth","purchase_points_amount","purchased_today","purchased_this_week","purchased_this_month","AchievementStatus","AchievementTaskType","AchievementType","UserAchievementTransform","ach_id","_r$ach_categories","completedToday","complete_date_ts","completedThisWeek","completedThisMonth","ach_public_meta","unlock_mission_description","is_completed","isCompleted","is_locked","isLocked","is_requires_optin","requiresOptin","is_opted_in","isOptedIn","time_limit_ms","dt_start","start_date_ts","reward","progress","ach_type_id","Mission","cta_action","cta_text","custom_section_id","only_in_custom_section","tasks","achievementTasks","task_type_id","CompleteAchievement","_t$task_public_meta","task_id","task_public_meta","points_reward","userProgress","execution_count_expected","executionCount","execution_count_actual","userExecutedCount","display_progress_as_count","related_games","g","ext_game_id","game_public_meta","link","enabled","game_categories","game_provider","mobile_spec_link","ach_categories","ach_completed_id","requires_prize_claim","prize_claimed_date_ts","complete_date","completed_today","completed_this_week","completed_this_month","custom_section_type_id","ach_status_id","RecurringUponCompletion","completion_count","completed_count","max_completion_count","recurring_quantity","ScheduledMissionType","AchCategoryTransform","TournamentRegistrationType","TournamentRegistrationTypeGetName","_TournamentRegistrati","AUTO","BUY_IN_POINTS","MANUAL_APPROVAL","OPT_IN","REQUIRES_QUALIFICATION","TournamentRegistrationStatus","TournamentRegistrationStatusName","TournamentRegistrationStatusNamed","CANCELLED","FINISHED","NOT_REGISTERED","PENDING","QUALIFIED_PENDING_REGISTRATION","REGISTERED","REGISTERED_PENDING_QUALIFICATION","TournamentItemsTransform","tournamentId","instance_id","tournamentInstanceId","tournament_id","segment_dont_match_message","image1","image2","image_url2","image2_mobile","image_url2_mobile","prize_pool_short","custom_price_text","is_featured","featured","start_time","startTimeTs","end_time","endTimeTs","registration_count","registrationCount","is_user_registered","isUserRegistered","players_min_count","playersMinCount","players_max_count","playersMaxCount","registration_status","tournamentRegistrationStatus","registration_type","registrationType","registration_cost_points","buyInAmount","duration_ms","durationMs","is_active","TournamentUtils","isActive","is_can_register","isCanRegister","is_cancelled","isCancelled","is_finished","isFinished","is_in_progress","isInProgress","is_upcoming","isUpcoming","min_scores_win","minScoreToWin","hide_leaderboard_min_scores","hideLeaderboardsMinScores","prizeStructure","getPrizeTransformed","tournamentPlayer","me","getPlayerTransformed","TournamentInstanceStatus","TournamentInstanceStatusName","s","_TournamentInstanceSt","PUBLISHED","REGISTER","STARTED","FAILED","FINALIZING","tournamentPrizeTypeToPrizeName","_ActivityTypeLimited$","DoNothing","DeductPoints","ResetPoints","MiniGameAttempt","tournament","tournamentInstanceStatus","allowLateRegistration","player","isMe","playerTransformed","public_username","userAltName","avatar_url","scores","is_me","prize","_extends","tournamentInfoItemTransform","response","tournamentInfo","tournamentLobbyInfo","players","userPosition","TournamentRegistrationError","TournamentType","LeaderBoardPeriodType","GetLevelMapResponseTransform","levels","l","_l$level_public_meta","level_id","level_public_meta","required_points","visibility_points","parseInt","required_level_counter_1","required_level_counter_2","CACHE_DATA_SEC","JACKPOT_TEMPLATE_CACHE_SEC","JACKPOT_POT_CACHE_SEC","onUpdateContextKey","WSAPI","api","onUpdateCallback","Map","jackpotGetSignature","tracker","on","SAW_SPINS_COUNT_PUSH","data","updateOnSpin","SAW_SHOW_SPIN_PUSH","reloadMiniGameTemplate","SAW_AKNOWLEDGE_RESPONSE","SAWHistory","SAW_DO_SPIN_RESPONSE","MISSION_OPTIN_RESPONSE","updateMissions","ACHIEVEMENT_CLAIM_PRIZE_RESPONSE","RELOAD_ACHIEVEMENTS_EVENT","TOURNAMENT_REGISTER_RESPONSE","updateTournaments","CLIENT_ENGAGEMENT_EVENT_NEW","updateInboxMessages","LOGOUT_RESPONSE","IDENTIFY_RESPONSE","JP_WIN_PUSH","jackpotClearCache","JP_OPTOUT_RESPONSE","JP_OPTIN_RESPONSE","CLAIM_BONUS_RESPONSE","updateBonuses","SAW_DO_SPIN_BATCH_RESPONSE","clearCaches","getUserProfile","Object","assign","userPublicProps","Error","checkSegmentMatch","segment_id","coreCheckSegments","find","is_matching","checkSegmentListMatch","segment_ids","Array","isArray","getLevels","_this4","Levels","levelsGetT","getMissions","_ref","onUpdate","_this5","Missions","missionsGetItemsT","getBadges","_this6","Badges","badgetsGetItemsT","getBonuses","_temp2","_ref2","_this7","Bonuses","bonusesGetItemsT","claimBonus","bonus_id","_this8","bonusClaimItem","err_code","errCode","err_message","errMsg","success","getUserLevelExtraCounters","_this9","LevelExtraCounters","getUserGamificationInfoT","getStoreItems","_this10","StoreItems","storeGetItemsT","buyStoreItem","item_id","_this11","getStoreCategories","_this12","StoreCategories","storeGetCategoriesT","getStorePurchasedItems","_temp3","_ref3","limit","offset","_this13","StoreHistory","storeGetPurchasedItemsT","getAchCategories","_this14","AchCategories","achGetCategoriesT","getCustomSections","_this15","CustomSections","getCustomSectionsT","getMiniGames","_temp4","_ref4","_this16","Saw","sawGetTemplatesT","getMiniGamesHistory","_ref5","_this17","getSawWinningHistoryT","playMiniGame","template_id","_temp5","_ref6","_this18","sawSpinRequest","doAcknowledgeRequest","request_id","prize_id","playMiniGameBatch","_temp6","_ref7","_this19","sawSpinBatchRequest","request_ids","results","result","doAcknowledgeBatchRequest","errMessage","jackpot_amount","first_spin_in_period","requestMissionOptIn","mission_id","_this20","missionOptIn","requestMissionClaimReward","_this21","missionClaimPrize","getTournamentsList","_temp7","_ref8","_this22","TournamentList","tournamentsGetLobbyT","getTournamentInstanceInfo","_this23","tournamentsGetInfoT","registerInTournament","_this24","getLeaderBoard","periodType","getPreviousPeriod","_this25","LeaderBoards","leaderboardsGetT","getInboxMessages","_temp8","_ref9","from","to","onlyFavorite","_this26","InboxMessages","getInboxMessagesT","getInboxMessageBody","messageGuid","_this27","getInboxMessageBodyT","markInboxMessageAsRead","_this28","markInboxMessageRead","markAllInboxMessagesAsRead","_this29","markAllInboxMessageRead","markUnmarkInboxMessageAsFavorite","mark","_this30","deleteInboxMessage","_this31","deleteAllInboxMessages","_this32","getTranslations","lang_code","_this33","getTranslationsT","translations","_this34","templates","index","findIndex","updateEntity","_this35","updatedTemplates","_this36","payload","_this37","_this38","_this39","contextKey","_this40","Jackpots","Pots","jackpotGet","_this41","signature","jp_template_id","related_game_id","jackpots","pots","_jackpots","_pots","jp","pot","_OCache$use","_temp10","_jp","_temp9","jp_template_ids","potGet","_this41$api$potGet","_OCache$use2","jackpotOptIn","_this42","jackpotOptOut","_this43","getRelatedItemsForGame","_this44","pointsRewardTransform","reward_points","i","place","points","getLeaderBoardPlayerTransformed","user","user_alt_name","position_in_board","points_accumulated","getLeaderBoardTransform","board","board_id","board_public_meta","rules","period_type_id","rewards","users","positions","AchCustomSectionType","AchCustomLayoutTheme","AchMissionsTabsOptions","AchOverviewMissionsFilter","UICustomSectionTransform","section_type_id","menu_img","menu_name","custom_skin_images","generic_custom_css","mission_tabs_options","overview_missions_count","overview_missions_filter","theme","BonusItemsTransform","is_redeemable","redeemable","create_date","redeem_date","redeemDate","label_bonus_template_id","labelBonusTemplateId","bonus_status_id","bonusStatusId","label_bonus_template_meta_map","labelBonusTemplateMetaMap","bonus_meta_map","bonusMetaMap","BonusStatus","_catch","recover","PUBLIC_API_URL","C_SOCKET_PROD","AVATAR_DOMAIN","DEFAULT_LANG_EN","SmarticoAPI","label_api_key","brand_api_key","messageSender","options","_options$tracker","publicUrl","wsUrl","inboxCdnUrl","partnerUrl","logger","logCIDs","logHTTPTiming","always","info","getPublicUrl","getPublicWsUrl","getAvatarUrl","getCleanLabelApiKey","getEnvDnsSuffix","ENV_ID","substring","getEnvId","send","message","expectCID","force_language","_result","_exit","cid","_iterator","_createForOfIteratorHelperLoose","_step","done","obj","request","timeStart","_this$messageSender","timeEnd","warn","url","buildMessage","user_ext_id","api_key","brand_key","ext_user_id","ts","coreReportCustomEvent","eventType","eventMessage","EVENT","EVENT_RESPONSE","coreGetTranslations","areas","cacheSec","trim","Translations","tsBaseRQ","GET_TRANSLATIONS_REQUEST","hash_code","GET_TRANSLATIONS_RESPONSE","trBase","trUserRQ","trUser","_trUser$translations","keys","forEach","k","coreIdentifyLabel","LabelInfo","INIT","INIT_RESPONSE","coreIdentifyUser","IDENTIFY","coreChangeUsername","public_username_custom","CLIENT_SET_CUSTOM_USERNAME_REQUEST","CLIENT_SET_CUSTOM_USERNAME_RESPONSE","CHECK_SEGMENT_MATCH_REQUEST","CHECK_SEGMENT_MATCH_RESPONSE","segments","JP_GET_JACKPOTS_REQUEST","JP_GET_JACKPOTS_RESPONSE","JP_GET_LATEST_POTS_REQUEST","JP_GET_LATEST_POTS_RESPONSE","JP_OPTIN_REQUEST","JP_OPTOUT_REQUEST","sawGetTemplates","is_visitor_mode","SAW_GET_SPINS_REQUEST","SAW_GET_SPINS_RESPONSE","_t$saw_template_ui_de","_t$saw_template_ui_de2","jackpotValue","_this13$sawGetTemplat","SAW_AKNOWLEDGE_REQUEST","round_id","SAW_DO_SPIN_REQUEST","spinAttemptResponse","_SAWSpinErrorCode$SAW","status","SAW_OK","SAW_NO_SPINS","SAW_PRIZE_POOL_EMPTY","SAW_NOT_ENOUGH_POINTS","SAW_FAILED_MAX_SPINS_REACHED","SAW_TEMPLATE_NOT_ACTIVE","SAW_AKNOWLEDGE_BATCH_RESPONSE","spins_count","spins","push","SAW_DO_SPIN_BATCH_REQUEST","res","getSawWinningHistory","GET_SAW_HISTORY_REQUEST","GET_SAW_HISTORY_RESPONSE","_this19$getSawWinning","MISSION_OPTIN_REQUEST","achievementId","ACHIEVEMENT_CLAIM_PRIZE_REQUEST","TOURNAMENT_REGISTER_REQUEST","itemId","BUY_SHOP_ITEM_REQUEST","BUY_SHOP_ITEM_RESPONSE","inboxGetMessages","GET_INBOX_MESSAGES_REQUEST","GET_INBOX_MESSAGES_RESPONSE","storeGetItems","GET_SHOP_ITEMS_REQUEST","GET_SHOP_ITEMS_RESPONSE","_this26$storeGetItems","storeGetCategories","GET_SHOP_CATEGORIES_REQUEST","GET_SHOP_CATEGORIES_RESPONSE","_this28$storeGetCateg","categories","storeGetPurchasedItems","ACH_SHOP_ITEM_HISTORY_REQUEST","ACH_SHOP_ITEM_HISTORY_RESPONSE","_this30$storeGetPurch","missionsGetItems","GET_ACHIEVEMENT_MAP_REQUEST","GET_ACHIEVEMENT_MAP_RESPONSE","responseClone","achievements","_this32$missionsGetIt","getUserGamificationInfo","GET_ACHIEVEMENT_USER_REQUEST","GET_ACHIEVEMENT_USER_RESPONSE","level_counter_1","level_counter_2","achGetCategories","GET_ACH_CATEGORIES_REQUEST","GET_ACH_CATEGORIES_RESPONSE","_this36$achGetCategor","badgetsGetItems","Badge","bonusesGetItems","GET_BONUSES_REQUEST","GET_BONUSES_RESPONSE","CLAIM_BONUS_REQUEST","bonusId","_this40$bonusesGetIte","bonuses","_this41$badgetsGetIte","tournamentsGetLobby","GET_TOURNAMENT_LOBBY_REQUEST","GET_TOURNAMENT_LOBBY_RESPONSE","_this43$tournamentsGe","tournaments","tournamentsGetInfo","GET_TOURNAMENT_INFO_REQUEST","GET_TOURNAMENT_INFO_RESPONSE","_response$userPositio","_response$tournamentI","_this45","leaderboardGet","prevPeriod","_this46","GET_LEADERS_BOARD_REQUEST","snapshot_offset","include_users","GET_LEADERS_BOARD_RESPONSE","_response$map$boardKe","_response$map$boardKe2","boardKey","_this47","DAILY","levelsGet","_this48","GET_LEVEL_MAP_REQUEST","GET_LEVEL_MAP_RESPONSE","_this49","_this50","GET_CUSTOM_SECTIONS_REQUEST","GET_CUSTOM_SECTIONS_RESPONSE","_this51","_this51$getCustomSect","values","customSections","_this52","starred_only","_this53","favoriteOnly","_this54","_this54$getInboxMessa","log","_this55","getMessageBody","getLabelSetting","INBOX_PUBLIC_CDN","fetch","method","headers","json","_this56","_this57","MARK_INBOX_READ_REQUEST","MARK_INBOX_READ_RESPONSE","_this58","all_read","_this59","MARK_INBOX_STARRED_REQUEST","MARK_INBOX_STARRED_RESPONSE","_this60","MARK_INBOX_DELETED_REQUEST","MARK_INBOX_DELETED_RESPONSE","_this61","all_deleted","getWSCalls","_this62","GET_RELATED_ACH_N_TOURNAMENTS_REQUEST","GET_RELATED_ACH_N_TOURNAMENTS_RESPONSE","CookieStore","cookieStore","split","TSMap","QuizSportType","quizSupportedSports","Basketball","Soccer","Tennis","SAWGPMarketType","QuizAnswersValueType","quizAnswerHomeTeamReplacementText","quizAnswerAwayTeamReplacementText","quizDrawReplacementText","quizYesReplacementText","quizNoReplacementText","quizOddReplacementText","quizEvenReplacementText","quizOrReplacementText","quizNoGoalsReplacementText","quizAnswersTrKeys","_quizAnswersTrKeys","yesNoAnswers","Yes","No","homeAwayAnswers","HomeTeam","AwayTeam","homeAwayDrawAnswers","concat","Draw","homeAwayNoGoalsAnswers","marketsInfo","OneXTwo","question","trKey","answers","OneXTwoHalftime","FirstGoal","LastGoal","DoubleChance","HomeTeamDraw","HomeTeamAwayTeam","AwayTeamDraw","OverUnder2_5","OverUnder1_5Halftime","OverUnder1_5__2ndHalf","RedCard","TotalCorners8_5","TotalCorners9_5","Corners1x2","One_Two","Overtime","OddEven","Odd","Even","OddEvenHomeAway","HomeOdd","HomeEven","AwayOdd","AwayEven","FirstSet","SecondSet","ThirdSet","FourthSet","FifthSet","PlayerOneWinsOneSet","PlayerTwoWinsOneSet","CustomNonSport","CustomSport","QuizMarketPerSport","_QuizMarketPerSport","JackpotContributionType","JackPotTemparature","JackpotType"],"mappings":"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"}