@everymatrix/casino-challenge-details 0.9.26 → 0.9.28

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.
Files changed (22) hide show
  1. package/dist/casino-challenge-details/casino-challenge-details-8f737e06.js +7 -0
  2. package/dist/casino-challenge-details/casino-challenge-details_4.entry.js +1 -1
  3. package/dist/casino-challenge-details/index.esm.js +1 -1
  4. package/dist/cjs/{casino-challenge-details-df1d40f7.js → casino-challenge-details-8c125023.js} +601 -302
  5. package/dist/cjs/casino-challenge-details_4.cjs.entry.js +5 -10
  6. package/dist/cjs/index.cjs.js +1 -1
  7. package/dist/collection/assets/slot-machine.svg +39 -0
  8. package/dist/collection/assets/sportsbook.svg +46 -0
  9. package/dist/collection/components/casino-challenge-details/casino-challenge-details.css +66 -5
  10. package/dist/collection/components/casino-challenge-details/casino-challenge-details.js +411 -260
  11. package/dist/collection/components/components/casino-challenge-progress-bar.css +17 -11
  12. package/dist/collection/components/components/casino-challenge-progress-bar.js +3 -7
  13. package/dist/collection/utils/locale.utils.js +152 -42
  14. package/dist/collection/utils/types.js +36 -0
  15. package/dist/esm/{casino-challenge-details-252d9b9c.js → casino-challenge-details-8f737e06.js} +601 -302
  16. package/dist/esm/casino-challenge-details_4.entry.js +6 -11
  17. package/dist/esm/index.js +1 -1
  18. package/dist/types/components/casino-challenge-details/casino-challenge-details.d.ts +49 -31
  19. package/dist/types/utils/types.d.ts +77 -2
  20. package/package.json +1 -1
  21. package/dist/casino-challenge-details/casino-challenge-details-252d9b9c.js +0 -7
  22. package/dist/collection/assets/trophy.svg +0 -14
@@ -84,8 +84,8 @@ const TRANSLATIONS = {
84
84
  congrats: 'Congratulations!',
85
85
  forfeitNotification: 'Unfortunately, your progress has been forfeited, and you are no longer eligible to continue this challenge. Check out other available challenges!',
86
86
  completedNofitication: "You've successfully completed this challenge! Explore the next one and keep playing to earn more rewards!",
87
- expiredNotification: "Unfortunately, this challenge has expired and is no longer available to complete. Try another one that’s still active!",
88
- terms: "Terms & Conditions",
87
+ expiredNotification: 'Unfortunately, this challenge has expired and is no longer available to complete. Try another one that’s still active!',
88
+ terms: 'Terms & Conditions',
89
89
  contribution: 'contribution',
90
90
  endDate: 'End Date',
91
91
  back: 'Back',
@@ -96,7 +96,29 @@ const TRANSLATIONS = {
96
96
  isNotContributeToOne: 'Bets contribute to all started challenges',
97
97
  bonusMoney: 'Bonus Money',
98
98
  realMoney: 'Real Money',
99
- mixedMoney: 'Real and Bonus Money contribution'
99
+ mixedMoney: 'Real and Bonus Money contribution',
100
+ defaultRule: 'All events - ',
101
+ fundsUsed: 'Funds Used',
102
+ sportsbookRealMoney: 'Only Real Money bets can contribute',
103
+ sportsbookBonusMoney: 'Only Bonus bets can contribute',
104
+ sportsbookMixMoney: 'Both Real Money and Bonus bets can contribute',
105
+ eligibleMatchTypes: 'Eligible Match Types',
106
+ preLiveMatchType: 'Only Pre-Match bets can contribute',
107
+ liveMatchType: 'Only Live bets can contribute',
108
+ mixMatchType: 'Both Pre-Match and Live bets can contribute',
109
+ eligibleBetTypes: 'Eligible Bet Types',
110
+ single: 'Single',
111
+ multi: 'Multi/Combi',
112
+ betBuilder: 'Only Bet Builder Bets',
113
+ nonBetBuilder: 'Only Non-Bet Builder Bets',
114
+ mixBetBuilder: 'Bet Builder & Non-Bet Builder Bets',
115
+ system: 'System',
116
+ banker: 'Only Banker Bets',
117
+ nonBanker: 'Only Non-Banker Bets',
118
+ mixBanker: 'Banker & Non-Banker Bets',
119
+ oddsPerSection: 'Odds per Selection',
120
+ totalOdds: 'Total Odds',
121
+ selections: 'Selections'
100
122
  },
101
123
  ro: {
102
124
  title: 'Provocări',
@@ -116,22 +138,44 @@ const TRANSLATIONS = {
116
138
  resume: 'Reia',
117
139
  pause: 'Pauză',
118
140
  join: 'Alătură-te pentru a începe',
119
- congrats: "Felicitări!",
120
- forfeitNotification: "Din păcate, progresul tău a fost abandonat și nu mai poți continua această provocare. Consultă celelalte provocări disponibile!",
121
- completedNofitication: "Ai finalizat cu succes această provocare! Explorează următoarea și continuă să joci pentru a câștiga mai multe recompense!",
122
- expiredNotification: "Din păcate, această provocare a expirat și nu mai este disponibilă pentru finalizare. Încearcă una care este încă activă!",
123
- terms: "Termeni și condiții",
124
- contribution: "contribuție",
125
- endDate: "Data de încheiere",
126
- back: "Înapoi",
127
- all: "Toate Provocările",
141
+ congrats: 'Felicitări!',
142
+ forfeitNotification: 'Din păcate, progresul tău a fost abandonat și nu mai poți continua această provocare. Consultă celelalte provocări disponibile!',
143
+ completedNofitication: 'Ai finalizat cu succes această provocare! Explorează următoarea și continuă să joci pentru a câștiga mai multe recompense!',
144
+ expiredNotification: 'Din păcate, această provocare a expirat și nu mai este disponibilă pentru finalizare. Încearcă una care este încă activă!',
145
+ terms: 'Termeni și condiții',
146
+ contribution: 'contribuție',
147
+ endDate: 'Data de încheiere',
148
+ back: 'Înapoi',
149
+ all: 'Toate Provocările',
128
150
  contributionType: 'Tip de contribuție',
129
151
  contributionRule: 'Regulă de contribuție',
130
152
  isContributeToOne: 'Pariurile contribuie doar la provocarea începută cel mai devreme (dacă există mai multe provocări începute)',
131
153
  isNotContributeToOne: 'Pariurile contribuie la toate provocările începute',
132
154
  bonusMoney: 'Bani bonus',
133
155
  realMoney: 'Bani reali',
134
- mixedMoney: 'Contribuție în bani reali și bonus'
156
+ mixedMoney: 'Contribuție în bani reali și bonus',
157
+ defaultRule: 'Toate evenimentele - ',
158
+ fundsUsed: 'Funds Used',
159
+ sportsbookRealMoney: 'Only Real Money bets can contribute',
160
+ sportsbookBonusMoney: 'Only Bonus bets can contribute',
161
+ sportsbookMixMoney: 'Both Real Money and Bonus bets can contribute',
162
+ eligibleMatchTypes: 'Eligible Match Types',
163
+ preLiveMatchType: 'Only Pre-Match bets can contribute',
164
+ liveMatchType: 'Only Live bets can contribute',
165
+ mixMatchType: 'Both Pre-Match and Live bets can contribute',
166
+ eligibleBetTypes: 'Eligible Bet Types',
167
+ single: 'Single',
168
+ multi: 'Multi/Combi',
169
+ betBuilder: 'Only Bet Builder Bets',
170
+ nonBetBuilder: 'Only Non-Bet Builder Bets',
171
+ mixBetBuilder: 'Bet Builder & Non-Bet Builder Bets',
172
+ system: 'System',
173
+ banker: 'Only Banker Bets',
174
+ nonBanker: 'Only Non-Banker Bets',
175
+ mixBanker: 'Banker & Non-Banker Bets',
176
+ oddsPerSection: 'Odds per Selection',
177
+ totalOdds: 'Total Odds',
178
+ selections: 'Selections'
135
179
  },
136
180
  fr: {
137
181
  title: 'Défis',
@@ -151,22 +195,44 @@ const TRANSLATIONS = {
151
195
  resume: 'Reprendre',
152
196
  pause: 'Pause',
153
197
  join: 'Rejoindre pour commencer',
154
- congrats: "Félicitations !",
198
+ congrats: 'Félicitations !',
155
199
  forfeitNotification: "Malheureusement, votre progression a été abandonnée et vous n'êtes plus éligible pour continuer ce défi. Découvrez les autres défis disponibles !",
156
- completedNofitication: "Vous avez réussi ce défi ! Découvrez le suivant et continuez à jouer pour gagner plus de récompenses !",
157
- expiredNotification: "Malheureusement, ce défi a expiré et n’est plus disponible à compléter. Essayez-en un autre qui est encore actif !",
158
- terms: "Termes et conditions",
159
- contribution: "contribution",
160
- endDate: "Date de fin",
161
- back: "Retour",
162
- all: "Tous les Défis",
200
+ completedNofitication: 'Vous avez réussi ce défi ! Découvrez le suivant et continuez à jouer pour gagner plus de récompenses !',
201
+ expiredNotification: 'Malheureusement, ce défi a expiré et n’est plus disponible à compléter. Essayez-en un autre qui est encore actif !',
202
+ terms: 'Termes et conditions',
203
+ contribution: 'contribution',
204
+ endDate: 'Date de fin',
205
+ back: 'Retour',
206
+ all: 'Tous les Défis',
163
207
  contributionType: 'Type de contribution',
164
208
  contributionRule: 'Règle de contribution',
165
209
  isContributeToOne: "Les paris contribuent uniquement au premier défi commencé (s'il y a plusieurs défis commencés)",
166
210
  isNotContributeToOne: 'Les paris contribuent à tous les défis commencés',
167
211
  bonusMoney: 'Argent bonus',
168
212
  realMoney: 'Argent réel',
169
- mixedMoney: 'Contribution en argent réel et bonus'
213
+ mixedMoney: 'Contribution en argent réel et bonus',
214
+ defaultRule: 'Tous les événements - ',
215
+ fundsUsed: 'Funds Used',
216
+ sportsbookRealMoney: 'Only Real Money bets can contribute',
217
+ sportsbookBonusMoney: 'Only Bonus bets can contribute',
218
+ sportsbookMixMoney: 'Both Real Money and Bonus bets can contribute',
219
+ eligibleMatchTypes: 'Eligible Match Types',
220
+ preLiveMatchType: 'Only Pre-Match bets can contribute',
221
+ liveMatchType: 'Only Live bets can contribute',
222
+ mixMatchType: 'Both Pre-Match and Live bets can contribute',
223
+ eligibleBetTypes: 'Eligible Bet Types',
224
+ single: 'Single',
225
+ multi: 'Multi/Combi',
226
+ betBuilder: 'Only Bet Builder Bets',
227
+ nonBetBuilder: 'Only Non-Bet Builder Bets',
228
+ mixBetBuilder: 'Bet Builder & Non-Bet Builder Bets',
229
+ system: 'System',
230
+ banker: 'Only Banker Bets',
231
+ nonBanker: 'Only Non-Banker Bets',
232
+ mixBanker: 'Banker & Non-Banker Bets',
233
+ oddsPerSection: 'Odds per Selection',
234
+ totalOdds: 'Total Odds',
235
+ selections: 'Selections'
170
236
  },
171
237
  ar: {
172
238
  title: 'تحديات',
@@ -186,22 +252,44 @@ const TRANSLATIONS = {
186
252
  resume: 'استئناف',
187
253
  pause: 'إيقاف مؤقت',
188
254
  join: 'انضم للبدء',
189
- congrats: "تهانينا!",
190
- forfeitNotification: "للأسف، تم التخلي عن تقدمك ولم تعد مؤهلاً لمتابعة هذا التحدي. تحقق من التحديات الأخرى المتاحة!",
191
- completedNofitication: "لقد أكملت هذا التحدي بنجاح! استكشف التحدي التالي واستمر في اللعب للحصول على مزيد من الجوائز!",
192
- expiredNotification: "للأسف، هذا التحدي انتهت صلاحيته ولم يعد متاحًا لإكماله. جرّب تحديًا آخر لا يزال نشطًا!",
193
- terms: "الشروط والأحكام",
194
- contribution: "مساهمة",
195
- endDate: "تاريخ الانتهاء",
196
- back: "عودة",
197
- all: "جميع التحديات",
255
+ congrats: 'تهانينا!',
256
+ forfeitNotification: 'للأسف، تم التخلي عن تقدمك ولم تعد مؤهلاً لمتابعة هذا التحدي. تحقق من التحديات الأخرى المتاحة!',
257
+ completedNofitication: 'لقد أكملت هذا التحدي بنجاح! استكشف التحدي التالي واستمر في اللعب للحصول على مزيد من الجوائز!',
258
+ expiredNotification: 'للأسف، هذا التحدي انتهت صلاحيته ولم يعد متاحًا لإكماله. جرّب تحديًا آخر لا يزال نشطًا!',
259
+ terms: 'الشروط والأحكام',
260
+ contribution: 'مساهمة',
261
+ endDate: 'تاريخ الانتهاء',
262
+ back: 'عودة',
263
+ all: 'جميع التحديات',
198
264
  contributionType: 'نوع المساهمة',
199
265
  contributionRule: 'قاعدة المساهمة',
200
266
  isContributeToOne: 'تُحتسب الرهانات فقط للتحدي الذي بدأ أولاً (إذا كان هناك عدة تحديات بدأت)',
201
267
  isNotContributeToOne: 'تُحتسب الرهانات لجميع التحديات التي بدأت',
202
268
  bonusMoney: 'أموال المكافأة',
203
269
  realMoney: 'أموال حقيقية',
204
- mixedMoney: 'مساهمة من الأموال الحقيقية وأموال المكافأة'
270
+ mixedMoney: 'مساهمة من الأموال الحقيقية وأموال المكافأة',
271
+ defaultRule: 'كل الأحداث - ',
272
+ fundsUsed: 'Funds Used',
273
+ sportsbookRealMoney: 'Only Real Money bets can contribute',
274
+ sportsbookBonusMoney: 'Only Bonus bets can contribute',
275
+ sportsbookMixMoney: 'Both Real Money and Bonus bets can contribute',
276
+ eligibleMatchTypes: 'Eligible Match Types',
277
+ preLiveMatchType: 'Only Pre-Match bets can contribute',
278
+ liveMatchType: 'Only Live bets can contribute',
279
+ mixMatchType: 'Both Pre-Match and Live bets can contribute',
280
+ eligibleBetTypes: 'Eligible Bet Types',
281
+ single: 'Single',
282
+ multi: 'Multi/Combi',
283
+ betBuilder: 'Only Bet Builder Bets',
284
+ nonBetBuilder: 'Only Non-Bet Builder Bets',
285
+ mixBetBuilder: 'Bet Builder & Non-Bet Builder Bets',
286
+ system: 'System',
287
+ banker: 'Only Banker Bets',
288
+ nonBanker: 'Only Non-Banker Bets',
289
+ mixBanker: 'Banker & Non-Banker Bets',
290
+ oddsPerSection: 'Odds per Selection',
291
+ totalOdds: 'Total Odds',
292
+ selections: 'Selections'
205
293
  },
206
294
  hr: {
207
295
  title: 'Izazovi',
@@ -221,22 +309,44 @@ const TRANSLATIONS = {
221
309
  resume: 'Nastavi',
222
310
  pause: 'Pauza',
223
311
  join: 'Pridruži se za početak',
224
- congrats: "Čestitamo!",
225
- forfeitNotification: "Nažalost, tvoj napredak je izgubljen i više nisi podoban nastaviti ovaj izazov. Pogledaj ostale dostupne izazove!",
226
- completedNofitication: "Uspješno si završio ovaj izazov! Istraži sljedeći i nastavi igrati kako bi zaradio/la više nagrada!",
227
- expiredNotification: "Nažalost, ovaj izazov je istekao i više nije dostupan za dovršavanje. Probaj neki drugi koji je još aktivan!",
228
- terms: "Uvjeti i odredbe",
229
- contribution: "doprinos",
230
- endDate: "Datum završetka",
231
- back: "Nazad",
232
- all: "Svi Izazovi",
312
+ congrats: 'Čestitamo!',
313
+ forfeitNotification: 'Nažalost, tvoj napredak je izgubljen i više nisi podoban nastaviti ovaj izazov. Pogledaj ostale dostupne izazove!',
314
+ completedNofitication: 'Uspješno si završio ovaj izazov! Istraži sljedeći i nastavi igrati kako bi zaradio/la više nagrada!',
315
+ expiredNotification: 'Nažalost, ovaj izazov je istekao i više nije dostupan za dovršavanje. Probaj neki drugi koji je još aktivan!',
316
+ terms: 'Uvjeti i odredbe',
317
+ contribution: 'doprinos',
318
+ endDate: 'Datum završetka',
319
+ back: 'Nazad',
320
+ all: 'Svi Izazovi',
233
321
  contributionType: 'Vrsta doprinosa',
234
322
  contributionRule: 'Pravilo doprinosa',
235
323
  isContributeToOne: 'Oklade se pridonose samo najranije započetom izazovu (ako postoji više započetih izazova)',
236
324
  isNotContributeToOne: 'Oklade se pridonose svim započetim izazovima',
237
325
  bonusMoney: 'Bonus novac',
238
326
  realMoney: 'Stvarni novac',
239
- mixedMoney: 'Doprinos stvarnog i bonus novca'
327
+ mixedMoney: 'Doprinos stvarnog i bonus novca',
328
+ defaultRule: 'Svi događaji - ',
329
+ fundsUsed: 'Funds Used',
330
+ sportsbookRealMoney: 'Only Real Money bets can contribute',
331
+ sportsbookBonusMoney: 'Only Bonus bets can contribute',
332
+ sportsbookMixMoney: 'Both Real Money and Bonus bets can contribute',
333
+ eligibleMatchTypes: 'Eligible Match Types',
334
+ preLiveMatchType: 'Only Pre-Match bets can contribute',
335
+ liveMatchType: 'Only Live bets can contribute',
336
+ mixMatchType: 'Both Pre-Match and Live bets can contribute',
337
+ eligibleBetTypes: 'Eligible Bet Types',
338
+ single: 'Single',
339
+ multi: 'Multi/Combi',
340
+ betBuilder: 'Only Bet Builder Bets',
341
+ nonBetBuilder: 'Only Non-Bet Builder Bets',
342
+ mixBetBuilder: 'Bet Builder & Non-Bet Builder Bets',
343
+ system: 'System',
344
+ banker: 'Only Banker Bets',
345
+ nonBanker: 'Only Non-Banker Bets',
346
+ mixBanker: 'Banker & Non-Banker Bets',
347
+ oddsPerSection: 'Odds per Selection',
348
+ totalOdds: 'Total Odds',
349
+ selections: 'Selections'
240
350
  }
241
351
  };
242
352
  const translate = (key, customLang) => {
@@ -3550,6 +3660,10 @@ var eventsource = {exports: {}};
3550
3660
  }(typeof globalThis === 'undefined' ? (typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : commonjsGlobal) : globalThis));
3551
3661
  }(eventsource, eventsource.exports));
3552
3662
 
3663
+ const sportsbookSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExLjgxNTkgMS40OTc5OUMxNC45MzA0IDEuNDk3OTkgMTcuNzE4NSAyLjg5MDQyIDE5LjU5NzIgNS4wODU4OEMyMS4xMjg1IDYuODc1NjggMjIuMDU0MiA5LjE5NjU3IDIyLjA1NDIgMTEuNzM2M0MyMi4wNTQyIDE3LjM5MDkgMTcuNDcwNiAyMS45NzQ1IDExLjgxNTkgMjEuOTc0NUM5LjM2NjA3IDIxLjk3NDUgNy4xMTkzNCAyMS4xMTM3IDUuMzU2OTMgMTkuNjc4NkMzLjA1MDM0IDE3LjgwMDMgMS41Nzc2NCAxNC45NDA5IDEuNTc3NjQgMTEuNzM2M0MxLjU3NzY5IDYuMDgxODggNi4xNjE3OCAxLjQ5ODAzIDExLjgxNTkgMS40OTc5OVoiIGZpbGw9IiNFMEUwRTAiIHN0cm9rZT0id2hpdGUiLz4KPHBhdGggZD0iTTExLjgxNTkgMS40OTc5OUMxNC44OTQzIDEuNDk3OTkgMTcuNjUyMiAyLjg1ODkzIDE5LjUyOTggNS4wMTA2OEMyMC42ODQzIDguNzMxMzIgMTkuNjMyNCAxMy4xOTUgMTYuNDEyNiAxNi40MTVDMTMuMjcwNSAxOS41NTcyIDguOTQyMjYgMjAuNjM1OSA1LjI3Njg2IDE5LjYxMjJDMy4wMTY0IDE3LjczMzIgMS41Nzc2NCAxNC45MDM2IDEuNTc3NjQgMTEuNzM2M0MxLjU3NzY4IDYuMDgxODggNi4xNjE3OCAxLjQ5ODAzIDExLjgxNTkgMS40OTc5OVoiIGZpbGw9IndoaXRlIiBzdHJva2U9IndoaXRlIi8+CjxwYXRoIGQ9Ik01Ljk1ODUgNi4zMzgxOEM1Ljk1ODUgNi4zMzgxOCA3LjM5Njk0IDQuMTAyOTcgOS4zNjUzMSAzLjU3MTk5QzkuMzY1MzEgMy41NzE5OSAxMS4xMDYzIDMuNDU4MTQgMTMuMDM3IDUuMDEyNDFDMTMuMDM3IDUuMDEyNDEgMTIuMzE3OCA4LjYxMTE1IDEyLjA5MDggOC45MTQyM0MxMi4wOTA4IDguOTE0MjMgNy44ODg5MSA5Ljg5OTMgNy42NjE3NCAxMC4wMTMxQzcuNjYyIDEwLjAxMyA2LjMzNjk1IDguMTU2NTMgNS45NTg1IDYuMzM4MThaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0xNy4wODg0IDIuMzk3MzRWNC40ODEyN0MxNy4wODg0IDQuNDgxMjcgMTkuNDczMiA2LjI2MTkzIDIwLjAwMjkgNy44NTMzNkwyMS44OTU0IDguMDA0OUMyMS44OTUyIDguMDA0OSAyMC43OTgxIDQuNDA1OSAxNy4wODg0IDIuMzk3MzRaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0xNS4yNzA2IDEyLjMyNDFMMTkuMTMyIDExLjgzMTZDMTkuMTMyIDExLjgzMTYgMjAuMDQwNSAxMy40MjI4IDIwLjA0MDUgMTUuNzMzOUMyMC4wNDA1IDE1LjczMzkgMTguMzM3MiAxOC4wNDU1IDE2Ljg2MDYgMTguNjEzOUwxMy43NTY4IDE2Ljc1NjlMMTUuMjcwNiAxMi4zMjQxWiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNNi4xNDc4MSAxNC4yNTYzQzYuMTQ3ODEgMTQuMjU2MyA3Ljg1MTEyIDE2LjY0MjggOS4xMzgyMiAxNy42NjU4TDguMDQwODEgMjAuMjhDOC4wNDA4MSAyMC4yOCA1LjczMTQxIDIwLjAxNDkgNC41OTYzMSAxOS4wNjc1QzQuNTk2MzEgMTkuMDY3NSAzLjI3MSAxNy40NzY0IDMuMjcxIDE1LjE2NTVMNi4xNDc4MSAxNC4yNTYzWiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNMSAxMS40NTI3SDEuNjQzODVDMS42NDM4NSAxMS40NTI3IDEuODMyODEgOC44MzgwNCAzLjAwNjEyIDcuMjA4OTNWNS41MDM5MUMzLjAwNjA2IDUuNTA0MSAxLjMwMjc1IDcuNTEyNjYgMSAxMS40NTI3WiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNMTEuMTg5OSAyMi40NjA4TDExLjIyIDIyLjIxMjRDMTEuMjIgMjIuMjEyNCAxNC42NjQ3IDIxLjc1NzYgMTUuODM4NSAyMS4wNzU2TDE2LjMxMjYgMjEuNDkwOEMxNi4zMTI2IDIxLjQ5MDggMTQuMTg3NSAyMi42NDA3IDExLjE4OTkgMjIuNDYwOFoiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTguMjMwMjIgMS41NjQwNUw5LjI5MDIxIDEuNjAxNzRMMTAuMjU2MyAxLjEwMjA1QzEwLjI1NiAxLjEwMjA1IDkuMTc2NjIgMS4yMjMwMiA4LjIzMDIyIDEuNTY0MDVaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0xMi45Mzg5IDUuMTA2MzZMMTIuOTE2MyA0Ljk5NTAxQzEzLjA0MzIgNC45NjkzOCAxNi4wMzU4IDQuMzc3MzIgMTcuMjAyMiA0LjQxMTMyTDE3LjE5ODggNC41MjUxN0MxNi4wNDM5IDQuNDg3NDkgMTIuOTY5NSA1LjA5OTk3IDEyLjkzODkgNS4xMDYzNloiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTE5LjE1OTQgMTEuOTIxNUwxOS4wNzM3IDExLjg0NzFDMTkuODA5IDExIDE5Ljk2NjkgNy44NDk5NCAxOS45NjgzIDcuODE4MTJMMjAuMDgxOSA3LjgyMzc4QzIwLjA3NTUgNy45NTQ5IDE5LjkyMDggMTEuMDQ1NiAxOS4xNTk0IDExLjkyMTVaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0yMS43MDgxIDE1LjkzMTZMMTkuOTc5IDE1Ljc5MTZMMTkuOTg2NiAxNS42NzhMMjEuNzU5NCAxNS44MDM0TDIxLjcwODEgMTUuOTMxNloiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTEyLjAwNzEgOC44ODI3NEwxNS4zMDA1IDEyLjQ2MzJMMTUuMzg0MSAxMi4zODYzTDEyLjA5MDcgOC44MDU4NEwxMi4wMDcxIDguODgyNzRaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0xNS44NTE2IDIxLjIxNDFMMTUuNzY3MSAyMS4xMzgyQzE2LjA5NTggMjAuNzcyNSAxNi44NDA4IDE4LjUzNzggMTYuODQ4MiAxOC41MTUxTDE2Ljk1NTkgMTguNTUxM0MxNi45MjU2IDE4LjY0NDUgMTYuMTk2MyAyMC44MzEyIDE1Ljg1MTYgMjEuMjE0MVoiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTguOTg5NDMgMTcuNzY1OUw4Ljk3Mzg4IDE3LjY1MzdDOS4wMTM4IDE3LjY0NzggMTMuMDA0MyAxNy4xMDA2IDEzLjc4MTQgMTYuNjkzM0wxMy44MzQ3IDE2Ljc5MzhDMTMuMDM5OCAxNy4yMTAyIDkuMTU0MjggMTcuNzQzNyA4Ljk4OTQzIDE3Ljc2NTlaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik02LjE4MzEgMTQuMzg1OUw2LjA3MzczIDE0LjM1NTZDNi4xMTcwOCAxNC4xOTk3IDcuMTM3NjEgMTAuNTI1MyA3LjYzMTQzIDkuOTE2NDRMNy43MTk5MSA5Ljk4Nzg2QzcuMjQwODUgMTAuNTc4NSA2LjE5MzQ1IDE0LjM0ODMgNi4xODMxIDE0LjM4NTlaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0xMS4yOTUgMjIuMzExNUM5LjQwODA5IDIxLjgyIDcuOTYwNTYgMjAuMjY0NSA3Ljk0NTggMjAuMjQ4N0w4LjAyOTM1IDIwLjE3MTZDOC4wNDM5MSAyMC4xODczIDkuNDY5NSAyMS43MTg3IDExLjMyMzYgMjIuMjAxM0wxMS4yOTUgMjIuMzExNVoiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTMuMjc3ODcgMTUuMjM1OEMxLjQ2NDIxIDEzLjQ1NzYgMS41MTM5NSAxMS4zOTE0IDEuNTE0OTQgMTEuMzcxMkwxLjYyODUzIDExLjM3NDlDMS42Mjc1NCAxMS4zOTU2IDEuNTgwNzYgMTMuNDEzIDMuMzU3NDcgMTUuMTU0NUwzLjI3Nzg3IDE1LjIzNThaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0yLjkzOTg0IDcuMzEyNDJMMi44NzE1OCA3LjIyMTc2QzIuODg1MTUgNy4yMTE4OCA0LjIyOTcxIDYuMjEzMyA2LjE1ODg3IDYuMjg2NjlMNi4xNTQyIDYuNDAwMjhDNC4yNjYxNCA2LjMyMjE0IDIuOTUzMTUgNy4zMDI1NCAyLjkzOTg0IDcuMzEyNDJaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik05LjIzNjYyIDEuNTEzOTdMOS4zMjE3OCAzLjYzMDc0TDkuNDM1MDEgMy42MjYxOEw5LjM0OTg1IDEuNTA5NDJMOS4yMzY2MiAxLjUxMzk3WiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNNC4yMTk3OSAxOS4zMjg5TDQuMjk1NjUgMTkuNDEzNUw0LjcwNjIxIDE5LjA0NUw0LjYzMDM0IDE4Ljk2MDVMNC4yMTk3OSAxOS4zMjg5WiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNMTEuMTkwNyAyMi40NTQ0TDExLjE4OTkgMjIuNDYwOEMxNC4xODc1IDIyLjY0MDQgMTYuMzEyNiAyMS40OTA2IDE2LjMxMjYgMjEuNDkwNkwxNi4zMTAxIDIxLjQ4ODNDMTQuOTQyNyAyMi4xMTk5IDEzLjQyMSAyMi40NzQ0IDExLjgxNiAyMi40NzQ0QzExLjYwNjEgMjIuNDc0NyAxMS4zOTc5IDIyLjQ2NjUgMTEuMTkwNyAyMi40NTQ0WiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNOS4zNTAzOSAxLjUxMDU1TDkuMzUyODIgMS41NjkxOUwxMC4yNTYxIDEuMTAyMDVDMTAuMjU2MSAxLjEwMjA1IDkuMTc2NjQgMS4yMjMwMiA4LjIyOTk4IDEuNTY0MDVMOS4yNDA0MiAxLjYwMDAyTDkuMjM2OTkgMS41MTUyOUw5LjM1MDM5IDEuNTEwNTVaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0xMi45Mzg5IDUuMTA2NDNDMTIuOTQxNiA1LjEwNTcxIDEyLjk3MDkgNS4xMDAwNCAxMy4wMjE3IDUuMDkwMTZDMTMuMDMxOCA1LjA0MDg3IDEzLjAzNzIgNS4wMTI1NCAxMy4wMzcyIDUuMDEyNTRDMTMuMDIyNyA1LjAwMDc1IDEzLjAwODYgNC45OTEzMyAxMi45OTQxIDQuOTc5OEMxMi45NTM3IDQuOTg3NyAxMi45MjU5IDQuOTkzMzcgMTIuOTE2MyA0Ljk5NTM1TDEyLjkzODkgNS4xMDY0M1oiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTE3LjE0NDEgNC41MjQwNEMxNy4xNjIzIDQuNTI0NSAxNy4xODEzIDQuNTI0MzEgMTcuMTk5IDQuNTI1MDNMMTcuMjAyNCA0LjQxMTE4QzE3LjE2NjIgNC40MTAxOSAxNy4xMjggNC40MDk3MyAxNy4wODg0IDQuNDA5NzNWNC40ODE0MUMxNy4wODg0IDQuNDgxNDEgMTcuMTExMiA0LjQ5OTE0IDE3LjE0NDEgNC41MjQwNFoiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTIwLjA3OTYgNy44NTkzQzIwLjA4MDQgNy44NDI5MSAyMC4wODExIDcuODI5NzkgMjAuMDgxMyA3LjgyMzkxTDE5Ljk4OTMgNy44MTkyN0MxOS45OTMyIDcuODMwNTEgMTkuOTk5MSA3Ljg0MTc0IDIwLjAwMjcgNy44NTI5N0wyMC4wNzk2IDcuODU5M1oiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTE5LjE1ODcgMTEuOTIwN0MxOS4xNjI5IDExLjkxNTggMTkuMTY2NiAxMS45MSAxOS4xNzA5IDExLjkwNTNDMTkuMTQ1OCAxMS44NTcgMTkuMTMxNiAxMS44MzE2IDE5LjEzMTYgMTEuODMxNkwxOS4wODA4IDExLjgzNzlDMTkuMDc4NCAxMS44NDA5IDE5LjA3NjIgMTEuODQ0MyAxOS4wNzQgMTEuODQ2OUwxOS4xNTg3IDExLjkyMDdaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0yMS43MDQxIDE1LjkzMTNMMjEuNzA4MSAxNS45MzE2TDIxLjc1OTMgMTUuODAzMkwyMS43NTU2IDE1LjgwM0MyMS43MzgxIDE1Ljg0NTggMjEuNzIxOCAxNS44ODkgMjEuNzA0MSAxNS45MzEzWiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNMTIuMTI2OSA4Ljg0NzI0TDEyLjA4ODkgOC44MDU2TDEyLjAwNTQgOC44ODI2OUwxMi4wNDQzIDguOTI1MzJDMTIuMDc0NiA4LjkxODIgMTIuMDkwOSA4LjkxNDI1IDEyLjA5MDkgOC45MTQyNUMxMi4xMDE4IDguODk5NjkgMTIuMTE0MSA4Ljg3NTU4IDEyLjEyNjkgOC44NDcyNFoiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTE1LjM4MTkgMTIuMzg1OUwxNS4zMTkzIDEyLjMxNzZMMTUuMjcwNSAxMi4zMjRMMTUuMjQzNCAxMi40MDI5TDE1LjI5ODYgMTIuNDYyOEwxNS4zODE5IDEyLjM4NTlaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0xMy43ODEzIDE2LjY5MzNDMTMuNzgwMyAxNi42OTM4IDEzLjc3OSAxNi42OTQzIDEzLjc3ODEgMTYuNjk0N0wxMy43NTY4IDE2Ljc1NjhMMTMuODI1NiAxNi43OThDMTMuODI4MyAxNi43OTY3IDEzLjgzMTUgMTYuNzk1MyAxMy44MzQyIDE2Ljc5MzhMMTMuNzgxMyAxNi42OTMzWiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNOS4xMDI0OSAxNy42MzU0QzkuMDI0NDEgMTcuNjQ2NSA4Ljk3NzgzIDE3LjY1MyA4Ljk3Mzg4IDE3LjY1MzdMOC45ODk0MyAxNy43NjU4QzkuMDAzIDE3Ljc2MzkgOS4wNDM2NSAxNy43NTg0IDkuMTAzNDggMTcuNzUwMUw5LjEzODkyIDE3LjY2NThDOS4xMjY2NyAxNy42NTY0IDkuMTE0MDggMTcuNjQ1MSA5LjEwMjQ5IDE3LjYzNTRaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik03LjcxNjA2IDkuOTkyODdDNy43MTczMiA5Ljk5MTQyIDcuNzE4NSA5Ljk4OTQ0IDcuNzE5NzUgOS45ODc5M0w3LjYzMTI3IDkuOTE2NUM3LjYyNTYgOS45MjM2MiA3LjYxOTIxIDkuOTMzNSA3LjYxMzI4IDkuOTQxODdDNy42NDM1OSA5Ljk4NjQ4IDcuNjYyNTYgMTAuMDEzMSA3LjY2MjU2IDEwLjAxMzFDNy42NzIxOCAxMC4wMDc5IDcuNjkxODggMTAuMDAxIDcuNzE2MDYgOS45OTI4N1oiIGZpbGw9IiMzQTNBMzkiLz4KPHBhdGggZD0iTTYuMDk2NDMgMTQuMjcyOEM2LjA4NDM4IDE0LjMxNTQgNi4wNzYyMSAxNC4zNDQ4IDYuMDczMjQgMTQuMzU1Nkw2LjE4MjYxIDE0LjM4NTlDNi4xODMzNCAxNC4zODM0IDYuMTg5MjcgMTQuMzYxOSA2LjE5ODg5IDE0LjMyNzJDNi4xNjgzMiAxNC4yODUxIDYuMTQ3ODkgMTQuMjU2NSA2LjE0Nzg5IDE0LjI1NjVMNi4wOTY0MyAxNC4yNzI4WiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNOC4wNjkyNyAyMC4yMTI4QzguMDQ2NjEgMjAuMTg5NiA4LjAzMDYgMjAuMTcyOSA4LjAyOTM1IDIwLjE3MTRMNy45NDU4IDIwLjI0ODZDNy45NDY3OSAyMC4yNDk2IDcuOTUzOTEgMjAuMjU3MiA3Ljk2NjQ5IDIwLjI3MDVDOC4wMTE1NiAyMC4yNzY1IDguMDQxMTQgMjAuMjgwMiA4LjA0MTE0IDIwLjI4MDJMOC4wNjkyNyAyMC4yMTI4WiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNMy4zNTYyMSAxNS4xNTQyQzMuMzUyMDMgMTUuMTUwMSAzLjM0ODkgMTUuMTQ2MiAzLjM0NDcyIDE1LjE0MkwzLjI3MSAxNS4xNjU1QzMuMjcxIDE1LjE4NzUgMy4yNzMyMiAxNS4yMDg0IDMuMjczNDEgMTUuMjMwNEMzLjI3NDg1IDE1LjIzMTkgMy4yNzYwOSAxNS4yMzM2IDMuMjc3NTkgMTUuMjM1MUwzLjM1NjIxIDE1LjE1NDJaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0xLjYyODQ0IDExLjM3NDlMMS41MTQ4NSAxMS4zNzEyQzEuNTE0NTkgMTEuMzczNSAxLjUxNDM5IDExLjQwNDIgMS41MTU1NyAxMS40NTI4SDEuNjI5MTZDMS42Mjc5OCAxMS40MDY5IDEuNjI4MTcgMTEuMzc3MyAxLjYyODQ0IDExLjM3NDlaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik01Ljk3MzMyIDYuMzk4NzVDNi4wMzM0MSA2LjM5OTIyIDYuMDkyNTggNi4zOTc3NyA2LjE1MzkyIDYuNDAwMkw2LjE1ODU5IDYuMjg2NjFDNi4xMDIzOSA2LjI4NDM3IDYuMDQ4NyA2LjI4NjM1IDUuOTkzNzUgNi4yODU4OUM1Ljk3MzA2IDYuMzE2NDYgNS45NTg1IDYuMzM4MTQgNS45NTg1IDYuMzM4MTRDNS45NjI5OCA2LjM1ODM3IDUuOTY4ODQgNi4zNzg1OSA1Ljk3MzMyIDYuMzk4NzVaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0yLjkzNzE2IDcuMzA4ODhDMi45NjAwOSA3LjI3NTM0IDIuOTgyNDkgNy4yNDE4NyAzLjAwNTg4IDcuMjA5MDZWNy4xMzA5OEMyLjkyMDg4IDcuMTg1MjEgMi44NzM4NCA3LjIxOTY2IDIuODcxMzQgNy4yMjE2NEwyLjkzNzE2IDcuMzA4ODhaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik05LjQzNTQyIDMuNjI3NDJMOS40MzMxOCAzLjU3MDVDOS4zOTA1NSAzLjU3MDk2IDkuMzY1NjQgMy41NzIyMSA5LjM2NTY0IDMuNTcyMjFDOS4zNTAwOSAzLjU3NjQzIDkuMzM1NiAzLjU4MjgyIDkuMzIwMzEgMy41ODcyM0w5LjMyMjAzIDMuNjMyNTZMOS40MzU0MiAzLjYyNzQyWiIgZmlsbD0iIzNBM0EzOSIvPgo8cGF0aCBkPSJNOS4zNTI0IDEuNTY5MzJMOS4zNDk5IDEuNTEwNjhMOS4yMzY1NyAxLjUxNTM2TDkuMjQwMDYgMS42MDAxNkw5LjI4OTU1IDEuNjAxODdMOS4zNTI0IDEuNTY5MzJaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik00LjYyNzU3IDE4Ljk2MDFMNC41NTk1NyAxOS4wMjEyQzQuNTgwOTggMTkuMDQ5MSA0LjU5NjAxIDE5LjA2NzUgNC41OTYwMSAxOS4wNjc1QzQuNjEwMDQgMTkuMDc5MyA0LjYyNjA1IDE5LjA4OTcgNC42NDA2MSAxOS4xMDExTDQuNzAzNDcgMTkuMDQ0N0w0LjYyNzU3IDE4Ljk2MDFaIiBmaWxsPSIjM0EzQTM5Ii8+CjxwYXRoIGQ9Ik0yMS44ODYzIDguMDA0MzFDMjEuNDQyMSA2LjgwODM0IDIwLjc5MTYgNS43MTIxOCAxOS45NzczIDQuNzYwMzhDMjAuMzAwNSA1Ljc2NTE1IDIwLjQ2NjYgNi44MjA2NiAyMC40ODIxIDcuODkxNzFMMjEuODg2MyA4LjAwNDMxWiIgZmlsbD0iIzJBMkIyQSIvPgo8cGF0aCBkPSJNMTkuNTE0NCAxMi43MDkyQzE4Ljg5MzMgMTQuMTY5MSAxNy45Nzg5IDE1LjU1NiAxNi43NjYyIDE2Ljc2ODdDMTYuMzgwNCAxNy4xNTQ1IDE1Ljk3NTYgMTcuNTA4MSAxNS41NTc5IDE3LjgzNDRMMTYuODIyOSAxOC41OTEzQzE2LjY5NjUgMTguOTY1MyAxNi4xMDIgMjAuNjkzIDE1Ljc5NjcgMjEuMDk4OEMxNC43MDY5IDIxLjcwMSAxMS44NzM1IDIyLjEyMTMgMTEuMzE3MSAyMi4xOTk0QzkuOTc2MjYgMjEuODQ4MyA4Ljg2MzM3IDIwLjk1MjIgOC4zNDQ3MSAyMC40Nzc5QzguMjkxMDEgMjAuNDc5MiA4LjIzNzA1IDIwLjQ4MjYgOC4xODMzNSAyMC40ODMyQzguNjU4MzkgMjAuOTI5OSA5LjgwNjU0IDIxLjg5NDcgMTEuMjExNyAyMi4yODY1TDExLjE5MTMgMjIuNDU0NUMxMS4zOTg1IDIyLjQ2NjUgMTEuNjA2NyAyMi40NzQ3IDExLjgxNjYgMjIuNDc0N0MxMy40MjE4IDIyLjQ3NDcgMTQuOTQzMyAyMi4xMjAyIDE2LjMxMDggMjEuNDg4N0wxNS45MDk0IDIxLjEzNzNDMTYuMjU4IDIwLjYyNTMgMTYuODc4MiAxOC43ODYyIDE2Ljk0ODcgMTguNTc0M0MxOC4yNzAzIDE4LjAwODYgMTkuNzM2OCAxNi4xMzQ4IDE5Ljk5NjMgMTUuNzkzMUwyMS43MDQ1IDE1LjkzMTZDMjEuNzIyMiAxNS44ODkzIDIxLjczODQgMTUuODQ1OSAyMS43NTYgMTUuODAzM0wyMC4wMzk2IDE1LjY4MkMyMC4wMzE4IDE0LjQyNzYgMTkuNzU5NiAxMy4zOSAxOS41MTQ0IDEyLjcwOTJaIiBmaWxsPSIjMkEyQjJBIi8+Cjwvc3ZnPgo=';
3664
+
3665
+ const slotMachineSvg = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzMyNDdfNzg5MCkiPgo8cGF0aCBkPSJNMTkuODMyIDE3LjA0MzhMMjEuMzU2NCAxNy4wMzQ1TDIxLjM4NjQgMTMuNzMwN0wyMi4zNTAyIDEzLjc0NTdDMjIuMzUwMiAxMy43NDU3IDIyLjMyMDIgMTcuMjgwMSAyMi4zMjAyIDE3LjUyMzhDMjIuMzIwMiAxNy43Njk1IDIyLjE2NjQgMTguMDEzMiAyMS45NTI3IDE4LjA0MzJDMjEuNzM4OSAxOC4wNzMyIDIwLjA1NTIgMTguMDczMiAyMC4wNTUyIDE4LjA3MzJMMTkuODMyIDE3LjA0MzhaIiBmaWxsPSIjOUE5QTlBIi8+CjxwYXRoIGQ9Ik0yMC40OTIgMTIuNjgwNkMyMC40Njk1IDEzLjQyMzEgMjAuOTEzOSAxNC4xNDY4IDIxLjkwOTUgMTQuMTM3NEMyMi45MDUxIDE0LjEyODEgMjMuMjUwMSAxMy41MjYyIDIzLjI3MDggMTIuNzg1NkMyMy4yODk1IDEyLjExODEgMjIuODY3NiAxMS4yOTEyIDIxLjg2MjYgMTEuMzE5M0MyMC45NTMzIDExLjM0NTYgMjAuNTEwOCAxMi4wNjE4IDIwLjQ5MiAxMi42ODA2WiIgZmlsbD0iI0RCMEQyQiIvPgo8cGF0aCBkPSJNMjAuOTc4NyAxMi44NzkzQzIxLjMyNTYgMTMuMDI5MyAyMS4zNDA2IDEyLjYyOTkgMjEuNTI5OSAxMi4zNjU2QzIxLjcyMTIgMTIuMDk5MyAyMi4wMzk5IDExLjk5NjIgMjEuODYxOCAxMS43ODA2QzIxLjc1MTIgMTEuNjQ3NCAyMS4zODc0IDExLjUyMTggMjEuMDMxMiAxMS45ODMxQzIwLjc4NzQgMTIuMjk2MiAyMC42ODYyIDEyLjc1MTggMjAuOTc4NyAxMi44NzkzWiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTEuMTk2NDUgMTguODA4QzEuMTk2NDUgMTguODA4IDEuMTk2NDUgMTEuMDA5OSAxLjI3MzMyIDkuNjgwNTJDMS4zNTAyIDguMzUxMTUgMi41MjU4MiA0Ljc0NTUyIDYuOTQ4OTUgMy4yODg2NUMxMS4zNzIxIDEuODMxNzcgMTUuNTMwOCAzLjQ1NTUyIDE3LjE3MzMgNC44NzQ5QzIwLjE5MDIgNy40ODMwMiAyMC4xMzk2IDkuOTExMTUgMjAuMTM5NiA5LjkxMTE1TDIwLjE2NTggMTguNjAzNkMyMC4xNjU4IDE4LjYwMzYgMjAuNzU2NCAxOS4zNjY4IDIwLjc1NjQgMTkuNTcxMUMyMC43NTY0IDE5Ljc3NTUgMjAuNzUyNyAyMC4yMzg2IDIwLjc1MjcgMjAuMjM4NkwwLjU4MTQ0OCAyMC4yOTExQzAuNTgxNDQ4IDIwLjI5MTEgMC41NjI2OTggMTkuNzQ3NCAwLjY2Mzk0OCAxOS41MTY4QzAuNzY1MTk4IDE5LjI4NjEgMS4xOTY0NSAxOC44MDggMS4xOTY0NSAxOC44MDhaIiBmaWxsPSIjQ0FDQUNBIi8+CjxwYXRoIGQ9Ik0xMC40Nzc3IDAuODc1NDg4QzkuNTY0NTMgMC44NzU0ODggOC45ODE0MSAxLjQ4MTExIDguNzk5NTMgMS45MzY3NEM4LjY0MjAzIDIuMzM0MjQgOC42Mjg5MSAyLjg2MTExIDguNjI4OTEgMi44NjExMUM4LjYyODkxIDIuODYxMTEgOS4xMTA3OCAyLjk2MjM2IDEwLjUxMTQgMi45NjIzNkMxMS45MTIgMi45NjIzNiAxMi4yODE0IDIuODI5MjQgMTIuMjgxNCAyLjgyOTI0QzEyLjI4MTQgMi44MjkyNCAxMi4zNDcgMi4yNjI5OSAxMi4xMzMzIDEuODcyOTlDMTEuODg5NSAxLjQyNjc0IDExLjQzMzkgMC44NzU0ODggMTAuNDc3NyAwLjg3NTQ4OFoiIGZpbGw9IiNEQjBBMjciLz4KPHBhdGggZD0iTTguOTcyMDQgMi40MDE4NUM5LjIxMjA0IDIuNjkwNiA5LjcwODkyIDIuNTI3NDcgMTAuMTU1MiAyLjE3MTIyQzEwLjUyNDUgMS44NzQ5NyAxMC45MzcgMS4zMTYyMiAxMC43MTk1IDEuMTI4NzJDMTAuNDA2NCAwLjg2MDU5NiA5Ljg3MjA0IDEuMDQwNiA5LjQwMTQyIDEuNDA2MjJDOS4xMDg5MiAxLjYzNDk3IDguNzU4MjkgMi4xNDY4NSA4Ljk3MjA0IDIuNDAxODVaIiBmaWxsPSIjRkY0RTIzIi8+CjxwYXRoIGQ9Ik05LjIyMzQ5IDIuMTc4NzZDOS4zNzE2MSAyLjI5Njg4IDkuNTc3ODYgMi4wODMxMyA5Ljg1NzI0IDEuODQ4NzZDMTAuMDkzNSAxLjY1MTg4IDEwLjQ0NiAxLjQ0NzUxIDEwLjMwOTEgMS4yODA2M0MxMC4xNzA0IDEuMTExODggOS44MDA5OSAxLjI2NTYzIDkuNTM0NzQgMS40NzkzOEM5LjI5ODQ5IDEuNjY1MDEgOC45OTI4NiAxLjk5NTAxIDkuMjIzNDkgMi4xNzg3NloiIGZpbGw9IiNGRkZERkQiLz4KPHBhdGggZD0iTTAuNjI4MzE1IDE5LjY4OTJDMC41MzY0NCAxOS44NTA1IDAuNDg5NTY1IDIyLjUyMDUgMC43MTA4MTUgMjIuNjg3NEMwLjkzMjA2NSAyMi44NTQyIDUuMTUyNjkgMjIuNzE1NSAxMC43MzA4IDIyLjcxNTVDMTYuMzA4OSAyMi43MTU1IDIwLjM4ODkgMjIuNjg3NCAyMC41ODM5IDIyLjQzOEMyMC44NjMzIDIyLjA3OCAyMC44NTAyIDE5LjY3MDUgMjAuNzY1OCAxOS41MzE3QzIwLjYwNDYgMTkuMjYxNyAxNS41NTg5IDE5LjQ5NjEgMTAuNzAyNyAxOS41MjQyQzUuNzA1ODIgMTkuNTUwNSAwLjc3MjY5IDE5LjQzNDIgMC42MjgzMTUgMTkuNjg5MloiIGZpbGw9IiM5QTlBOUEiLz4KPHBhdGggZD0iTTEuNjgxNjQgMjAuMzAwNkMxLjQ4NjY0IDIwLjM4MzEgMS40NjAzOSAyMS45MTEyIDEuNjgxNjQgMjEuOTY1NkMxLjk1MTY0IDIyLjAzMzEgOC4wNDE2NCAyMS45ODI0IDEwLjU5NTQgMjEuOTgyNEMxMy4xNDkxIDIxLjk4MjQgMTkuNDczNSAyMi4wNzYyIDE5LjcyMjkgMjEuODU0OUMxOS45NzIzIDIxLjYzMzcgMTkuOTQ5OCAyMC40MjQzIDE5Ljc4MjkgMjAuMjI5M0MxOS42MTYgMjAuMDM0MyAxMy4wODkxIDIwLjE4OTkgMTAuNjQ2IDIwLjE4OTlDOC4yMDI4OSAyMC4xODk5IDIuMDgxMDEgMjAuMTI4MSAxLjY4MTY0IDIwLjMwMDZaIiBmaWxsPSIjODU4NTg1Ii8+CjxwYXRoIGQ9Ik0yLjE4MjM3IDkuNjQxM0MyLjEyNjEyIDkuODM2MyAyLjA5OTg3IDE4LjE4OTQgMi4xODIzNyAxOC4yNDU3QzIuMjY0ODcgMTguMzAxOSAxOS4wNTc0IDE4LjM1NjMgMTkuMjI0MiAxOC4xODk0QzE5LjM5MTEgMTguMDIyNSAxOS4yODA1IDkuNzgwMDUgMTkuMjUyNCA5LjYxMzE3QzE5LjIyNDIgOS40NDYzIDEwLjYxOTkgOS4yNTMxNyAxMC42MTk5IDkuMjUzMTdMMi4xODIzNyA5LjY0MTNaIiBmaWxsPSIjNkY3MTc4Ii8+CjxwYXRoIGQ9Ik0yLjc2MDg2IDEwLjI2MzhDMi43Mjg5OSAxMC4zNSAyLjc3Nzc0IDE3LjY2NjMgMi44NTY0OSAxNy43NDY5QzIuOTM3MTEgMTcuODI3NSAxOC42MTAyIDE3LjcxNSAxOC42OTA5IDE3LjY1MTNDMTguNzcxNSAxNy41ODc1IDE4Ljc1NDYgMTAuMjczMiAxOC42OTA5IDEwLjIxNjlDMTguNjI3MSAxMC4xNTg4IDIuNzkyNzQgMTAuMTczOCAyLjc2MDg2IDEwLjI2MzhaIiBmaWxsPSIjM0EzODM5Ii8+CjxwYXRoIGQ9Ik0xMC43NTA4IDMuNDUzODZDNi45ODk1OCAzLjQyMDExIDQuNjg4OTYgNS4xMzk0OCAzLjY0MDgzIDYuNTMwNzNDMi41OTI3MSA3LjkyMTk4IDIuMDE4OTYgOS4yMDYzNiAyLjE4MDIxIDkuNjQxMzZDMi4yMjMzMyA5Ljc1OTQ4IDQuOTQwMjEgOS42NTI2MSAxMC40MzIxIDkuNjc1MTFDMTUuOTI0IDkuNjk3NjEgMTkuMTYwMiA5Ljc4MDExIDE5LjI1MDIgOS42MTMyM0MxOS4zNDIxIDkuNDQ2MzYgMTguOTY3MSA3LjU1ODIzIDE2LjkyNTIgNS44MDEzNkMxNS4yODY1IDQuMzg3NjEgMTMuMzQ5NiAzLjQ3NjM2IDEwLjc1MDggMy40NTM4NloiIGZpbGw9IiNGRkRCOEIiLz4KPHBhdGggZD0iTTIuNzkwMDQgOS4xMDE0N0MyLjc5MDA0IDkuMTAxNDcgNC42NTE5MSAzLjg3NzcyIDEwLjU3NjkgMy45MjgzNEMxNy4wNjYzIDMuOTg0NTkgMTguMzgyNSA5LjA2Mzk3IDE4LjM4MjUgOS4wNjM5N0wyLjc5MDA0IDkuMTAxNDdaIiBmaWxsPSIjRkZBRjI5Ii8+CjxwYXRoIGQ9Ik01LjYwMzg3IDYuNTI4ODFDNC40ODQ0OSA3LjU0NTA2IDMuOTk1MTIgOC41OTUwNiAzLjk5NTEyIDguNTk1MDZDMy45OTUxMiA4LjU5NTA2IDguMTY4ODcgOC42ODEzMSA4LjE4MDEyIDguNjE3NTZDOC4xOTMyNCA4LjUzNjkzIDUuNjAzODcgNi41Mjg4MSA1LjYwMzg3IDYuNTI4ODFaIiBmaWxsPSIjRkZENjFDIi8+CjxwYXRoIGQ9Ik04LjE5MTg0IDQuOTg5NUM3LjQzODA5IDUuMjMzMjUgNi43OTQ5NiA1LjU4MDEzIDYuMjU2ODQgNS45NjQ1QzYuOTY1NTkgNi42MDk1IDguOTI0OTYgOC4xMDU3NSA5LjE5MTIxIDguMjk1MTNDOS41MDgwOSA4LjUyMDEzIDkuNjEzMDkgOC42NDIgOS42ODQzNCA4LjU5ODg4QzkuNzQyNDYgOC41NjUxMyA5LjU4NDk2IDguMjY4ODggOS41MzQzNCA4LjE0N0M5LjQ0NjIxIDcuOTMxMzggOC40NzEyMSA1Ljc1ODI1IDguMTkxODQgNC45ODk1WiIgZmlsbD0iI0ZGRDYxQyIvPgo8cGF0aCBkPSJNMTEuNzE1IDQuNzMyMzFDMTEuMzI4OCA0LjY3MjMxIDEwLjg0NjkgNC42MTYwNiAxMC40MTk0IDQuNjE5ODFDOS44OTgxMiA0LjYyMzU2IDkuNTQzNzUgNC42NzYwNiA5LjA5Mzc1IDQuNzY2MDZDOS4wOTM3NSA0Ljc2NjA2IDEwLjU3MTIgOC40MjA0MyAxMC42MDMxIDguNTA4NTZDMTAuNjM2OSA4LjU5NjY4IDEwLjcxMTkgOC42ODY2OCAxMC43NTMxIDguNTA4NTZDMTAuNzkyNSA4LjMzMjMxIDExLjcxNSA0LjczMjMxIDExLjcxNSA0LjczMjMxWiIgZmlsbD0iI0ZGRDYxQyIvPgo8cGF0aCBkPSJNMTMuMjQ5OCA4LjY0OTE4QzEzLjI3NiA4LjcwNzMxIDE3LjI5MjMgOC42NzM1NiAxNy4yOTIzIDguNjczNTZDMTcuMjkyMyA4LjY3MzU2IDE2LjcxODUgNy41ODA0MyAxNS41MTQ4IDYuNTM0MThDMTUuNTE0OCA2LjUzMjMxIDEzLjIwMSA4LjUzODU2IDEzLjI0OTggOC42NDkxOFoiIGZpbGw9IiNGRkQ2MUMiLz4KPHBhdGggZD0iTTE0LjgwMzggNS45NDczOUMxNC4xOTI2IDUuNTE5ODkgMTMuNDY2OSA1LjEzNzM5IDEyLjYxNTcgNC44ODk4OUMxMi4zNzc2IDUuNzg5ODkgMTEuODU2MyA3Ljk3MDUyIDExLjgwMzggOC4yNDYxNEMxMS43ODMyIDguMzQ5MjcgMTEuNzEwMSA4LjU2ODY0IDExLjc2MDcgOC42MDk4OUMxMS44MTMyIDguNjUzMDIgMTIuMDAyNiA4LjUzMTE0IDEyLjE2NTcgOC4zNzM2NEMxMi4zNTEzIDguMTkzNjQgMTQuODAzOCA1Ljk0NzM5IDE0LjgwMzggNS45NDczOVoiIGZpbGw9IiNGRkQ2MUMiLz4KPHBhdGggZD0iTTcuNzk0NDQgMTMuOTcyNEM3Ljc2MDY5IDEyLjIwNDMgOC4yMTQ0NCAxMS4xODI0IDguNDQ2OTQgMTAuNzc5M0w0LjM4OTQ0IDEwLjc4NDlDNC4zODk0NCAxMC43ODQ5IDMuMzg4MTkgMTIuMDMxOCAzLjM3MTMxIDEzLjg0MTJDMy4zNTQ0NCAxNS42NTA1IDQuMzIwMDYgMTcuMjE0MyA0LjMyMDA2IDE3LjIxNDNMOC40MjgxOSAxNy4xOTc0QzguMjMxMzEgMTYuNzg0OSA3LjgyODE5IDE1LjcyNzQgNy43OTQ0NCAxMy45NzI0WiIgZmlsbD0id2hpdGUiLz4KPHBhdGggZD0iTTEzLjE1NzcgMTMuOTcyNEMxMy4yMTQgMTIuMzM5MyAxMi44MTQ2IDExLjIzNDkgMTIuNjA0NiAxMC43NzM3TDguODc1MjUgMTAuNzc5M0M4LjY0NjUgMTEuMzI0OSA4LjIzNzc1IDEyLjUwNjIgOC4yNzE1IDEzLjk0MjRDOC4zMDcxMiAxNS41MDgxIDguNzE3NzUgMTYuNzQ1NiA4Ljg4ODM3IDE3LjE5NzRMMTIuNzM0IDE3LjE4MjRDMTIuODYzNCAxNi42Nzk5IDEzLjEwMTUgMTUuNTYwNiAxMy4xNTc3IDEzLjk3MjRaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTcuMTk2MyAxMC43NjgzTDEzLjExODIgMTAuNzczOUMxMy4zNiAxMS4zNzU4IDEzLjc1NTcgMTIuNjA3NyAxMy42ODA3IDE0LjA4MTRDMTMuNjAzOCAxNS41NjQ2IDEzLjMzNzUgMTYuNzA4MyAxMy4yMSAxNy4xNzg5TDE3LjA3NDQgMTcuMTYyMUMxNy4wNzQ0IDE3LjE2MjEgMTguMDU4OCAxNS45Njc3IDE4LjE0NjkgMTQuMTA1OEMxOC4yMzMyIDEyLjI0MzkgMTcuMTk2MyAxMC43NjgzIDE3LjE5NjMgMTAuNzY4M1oiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik01LjE4NDU3IDE3LjIxNDNMNy4wMzg5NSAxNy4yMDQ5QzcuMDM4OTUgMTcuMjA0OSA2Ljg5NjQ1IDE2LjY4MzYgNi4xOTE0NSAxNi43MDI0QzUuNDcxNDUgMTYuNzI0OSA1LjE4NDU3IDE3LjIxNDMgNS4xODQ1NyAxNy4yMTQzWiIgZmlsbD0iI0ZBQjAzNyIvPgo8cGF0aCBkPSJNMTAuMTM5NiAxNy4xOTM1TDExLjU2MDkgMTcuMTg2QzExLjU2MDkgMTcuMTg2IDExLjU0NzggMTYuNzU2NiAxMC44NTIxIDE2Ljc2NkMxMC4yNTIxIDE2Ljc3MzUgMTAuMTY0IDE3LjE0NDggMTAuMTM5NiAxNy4xOTM1WiIgZmlsbD0iI0ZGRDQyOSIvPgo8cGF0aCBkPSJNMTQuNzI0NCAxNy4xNzVMMTYuMzY4NyAxNy4xNjU2QzE2LjM2ODcgMTcuMTY1NiAxNi40NTMxIDE2LjY5NjkgMTYuMDI5NCAxNi42NTk0QzE1LjY2OTQgMTYuNjI3NSAxNS41ODEyIDE2Ljk2MzEgMTUuNTgxMiAxNi45NjMxQzE1LjU4MTIgMTYuOTYzMSAxNS41MDI1IDE2LjcyMTIgMTUuMTg5NCAxNi43MTU2QzE0LjgxMjUgMTYuNzA4MSAxNC43MDc1IDE3LjExODcgMTQuNzI0NCAxNy4xNzVaIiBmaWxsPSIjQTc1RkI3Ii8+CjxwYXRoIGQ9Ik0xNC4zODY3IDEwLjc3MThMMTYuNTQ0OCAxMC43NjgxQzE2LjU0NDggMTAuNzY4MSAxNi41NTggMTEuNDM5MyAxNS43MTYxIDExLjQ1NjJDMTQuNTE2MSAxMS40ODA2IDE0LjM4NjcgMTAuNzcxOCAxNC4zODY3IDEwLjc3MThaIiBmaWxsPSIjRkVCRjIxIi8+CjxwYXRoIGQ9Ik05Ljk5NjA4IDEwLjc3NTZDOS45OTYwOCAxMC43NzU2IDkuODU5MiAxMS4yMzg3IDkuOTU0ODMgMTEuMzI4N0MxMC4wNjczIDExLjQzMTggMTEuNTc4NiAxMS40NTI0IDExLjY4MzYgMTEuMzI0OUMxMS43ODg2IDExLjE5NTYgMTEuNjU3MyAxMC43NzM3IDExLjY1NzMgMTAuNzczN0w5Ljk5NjA4IDEwLjc3NTZaIiBmaWxsPSIjNUI2NDY3Ii8+CjxwYXRoIGQ9Ik01LjExNzE5IDEwLjc4MTNMNy4yNzM0NCAxMC43Nzc2QzcuMjczNDQgMTAuNzc3NiA3LjI5NDA2IDExLjMyNyA2LjMyNDY5IDExLjMzODJDNS4yMjU5NCAxMS4zNTMyIDUuMTE3MTkgMTAuNzgxMyA1LjExNzE5IDEwLjc4MTNaIiBmaWxsPSIjNEU5MjI2Ii8+CjxwYXRoIGQ9Ik05LjY4MjU1IDEyLjQ4OTRDOS42MDE5MiAxMi40OTUgOS40ODE5MiAxMi4xNTM4IDkuMzM3NTUgMTIuMTg1NkM5LjE5MzE3IDEyLjIxNzUgOC45OTI1NSAxMi4yNTY5IDkuMDMzOCAxMy4xODY5QzkuMDc1MDUgMTQuMTE2OSA5LjE0NjMgMTQuMTk1NiA5LjMzMDA1IDE0LjE4ODFDOS41MTM4IDE0LjE4MDYgOS43OTUwNSAxMy42NDQ0IDkuNzk1MDUgMTMuNjQ0NEM5Ljc5NTA1IDEzLjY0NDQgOS45OTE5MiAxMy41NiAxMC4xMjg4IDEzLjU1MDZDMTAuMjY1NyAxMy41NDMxIDEwLjM2MzIgMTMuNjY2OSAxMC41MzE5IDEzLjcyMzFDMTAuNzAwNyAxMy43Nzk0IDEwLjk0MDcgMTMuNzg2OSAxMC45NDA3IDEzLjc4NjlDMTAuOTQwNyAxMy43ODY5IDEwLjM3MjUgMTQuMjY2OSAxMC4xNzk0IDE0Ljg4MzhDOS45ODYzIDE1LjUwMDYgOS45Nzg4IDE2LjEwODEgMTAuMDI3NSAxNi4xNDc1QzEwLjA3NjMgMTYuMTg2OSAxMS41NDA3IDE2LjIwMzggMTEuNTk2OSAxNi4xNjQ0QzExLjY1MzIgMTYuMTI1IDExLjU3MjUgMTQuNDY3NSAxMS44Njg4IDEzLjk0ODFDMTIuMTY1IDEzLjQyODggMTIuNTY0NCAxMi44MDQ0IDEyLjU2NDQgMTIuODA0NEMxMi41NjQ0IDEyLjgwNDQgMTIuNDEyNSAxMi4zOTU2IDEyLjI4NSAxMi4zNDg4QzEyLjE1NzUgMTIuMyAxMS44ODU3IDEyLjUwMDYgMTEuNTQ4MiAxMi40ODU2QzExLjIxMjUgMTIuNDY4OCAxMC44MTg4IDEyLjEzNSAxMC42MiAxMi4wNzY5QzEwLjI4MjUgMTEuOTc3NSA5LjkyMjU1IDEyLjQ3MjUgOS42ODI1NSAxMi40ODk0WiIgZmlsbD0iI0ZGMkIyNiIvPgo8cGF0aCBkPSJNNC42MjM4NSAxMi40NUM0LjU0MzIzIDEyLjQ1NTcgNC40MzA3MyAxMi4xODM4IDQuMjgyNiAxMi4xNzQ0QzQuMTExOTggMTIuMTYzMiAzLjk4NjM1IDEyLjE4OTQgMy45NzUxIDEzLjExNzVDMy45NjU3MyAxNC4wMjg4IDQuMDkxMzUgMTQuMjE2MyA0LjI3NTEgMTQuMjA4OEM0LjQ1ODg1IDE0LjIwMTMgNC43MzgyMyAxMy42MzEzIDQuNzM4MjMgMTMuNjMxM0M0LjczODIzIDEzLjYzMTMgNC44ODgyMyAxMy41Mzc1IDUuMDI4ODUgMTMuNTg0NEM1LjE1ODIzIDEzLjYyNzUgNS4yNTk0OCAxMy43MTE5IDUuNDU2MzUgMTMuNzRDNS42MzI2IDEzLjc2NDQgNS44MzEzNSAxMy43OTQ0IDUuODMxMzUgMTMuNzk0NEM1LjgzMTM1IDEzLjc5NDQgNS4zMTU3MyAxNC4yNTc1IDUuMTIyNiAxNC44NzI1QzQuOTMxMzUgMTUuNDg5NCA0LjkyMTk4IDE2LjA5NjkgNC45NzA3MyAxNi4xMzYzQzUuMDE5NDggMTYuMTc1NyA2LjQ4Mzg1IDE2LjE5MjUgNi41NDAxIDE2LjE1MzJDNi41OTYzNSAxNi4xMTM4IDYuNTUxMzUgMTQuNTEyNSA2Ljg0NzYgMTMuOTkxM0M3LjE0Mzg1IDEzLjQ3IDcuNTA5NDggMTIuNzkxMyA3LjUwOTQ4IDEyLjc5MTNDNy41MDk0OCAxMi43OTEzIDcuMzU3NiAxMi4zODI1IDcuMjMwMSAxMi4zMzU3QzcuMTAyNiAxMi4yODY5IDYuNzY4ODUgMTIuNDQ2MyA2LjQzMzIzIDEyLjQyOTRDNi4wOTc2IDEyLjQxMjUgNS43MzE5OCAxMi4xMDUgNS41MjU3MyAxMi4wNzVDNS4xNDMyMyAxMi4wMTg4IDQuODYzODUgMTIuNDM1IDQuNjIzODUgMTIuNDVaIiBmaWxsPSIjRkYyQjI2Ii8+CjxwYXRoIGQ9Ik0xNC43ODY2IDEyLjM1NjJDMTQuNzA2IDEyLjM2MTkgMTQuNTYzNSAxMi4wNzUgMTQuNDIxIDEyLjEwNjlDMTQuMjc2NiAxMi4xMzg3IDE0LjExOTEgMTIuMTc4MSAxNC4xMTcyIDEzLjEwODFDMTQuMTE1MyAxMy44ODYyIDE0LjIyOTcgMTQuMSAxNC40MTM1IDE0LjEwOTRDMTQuNzA2IDE0LjEyMjUgMTQuODYxNiAxMy42MDY5IDE0Ljg2MTYgMTMuNjA2OUMxNC44NjE2IDEzLjYwNjkgMTUuMDY2IDEzLjUzMzcgMTUuMjAxIDEzLjUyNjJDMTUuMzM3OCAxMy41MTg3IDE1LjQ0NDcgMTMuNTkgMTUuNjEzNSAxMy42NDYyQzE1Ljc4MjIgMTMuNzAyNSAxNS45OTAzIDEzLjcyNSAxNS45OTAzIDEzLjcyNUMxNS45OTAzIDEzLjcyNSAxNS40NTIyIDE0LjE5IDE1LjI2MSAxNC44MDY5QzE1LjA2OTcgMTUuNDIzNyAxNS4wNjAzIDE2LjAzMTIgMTUuMTA5MSAxNi4wNzA2QzE1LjE1NzggMTYuMTEgMTYuNjIyMiAxNi4xMjY5IDE2LjY3ODUgMTYuMDg3NUMxNi43MzQ3IDE2LjA0ODEgMTYuNjYzNSAxNC40Njk0IDE2Ljk1OTcgMTMuOTVDMTcuMjU2IDEzLjQzMDYgMTcuNjUzNSAxMi45MjA2IDE3LjY1MzUgMTIuODA4MUMxNy42NTM1IDEyLjY5NTYgMTcuNDY2IDEyLjI3NTYgMTcuMzM2NiAxMi4yMjY5QzE3LjIwOTEgMTIuMTc4MSAxNi45NjkxIDEyLjM3NSAxNi42MzM1IDEyLjM2QzE2LjI5NzggMTIuMzQzMSAxNS44OTQ3IDEyLjAzIDE1LjY5NiAxMS45NzE5QzE1LjM1ODUgMTEuODcyNSAxNS4wMjg1IDEyLjMzOTQgMTQuNzg2NiAxMi4zNTYyWiIgZmlsbD0iI0ZGMkIyNiIvPgo8L2c+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzMyNDdfNzg5MCI+CjxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K';
3666
+
3553
3667
  var EChallengeLevelTargetType;
3554
3668
  (function (EChallengeLevelTargetType) {
3555
3669
  EChallengeLevelTargetType[EChallengeLevelTargetType["Accumulative"] = 0] = "Accumulative";
@@ -3618,14 +3732,50 @@ var EChallengeValidityType;
3618
3732
  EChallengeValidityType[EChallengeValidityType["Period"] = 0] = "Period";
3619
3733
  EChallengeValidityType[EChallengeValidityType["Date"] = 1] = "Date";
3620
3734
  })(EChallengeValidityType || (EChallengeValidityType = {}));
3735
+ var EContributedFrom;
3736
+ (function (EContributedFrom) {
3737
+ EContributedFrom[EContributedFrom["Casino"] = 0] = "Casino";
3738
+ EContributedFrom[EContributedFrom["Any"] = 1] = "Any";
3739
+ EContributedFrom[EContributedFrom["Sportsbook"] = 2] = "Sportsbook";
3740
+ })(EContributedFrom || (EContributedFrom = {}));
3741
+ var EMatchType;
3742
+ (function (EMatchType) {
3743
+ EMatchType[EMatchType["Any"] = 0] = "Any";
3744
+ EMatchType[EMatchType["Live"] = 1] = "Live";
3745
+ EMatchType[EMatchType["PreLive"] = 2] = "PreLive";
3746
+ })(EMatchType || (EMatchType = {}));
3747
+ var EBetType;
3748
+ (function (EBetType) {
3749
+ EBetType[EBetType["Single"] = 0] = "Single";
3750
+ EBetType[EBetType["Multiple"] = 1] = "Multiple";
3751
+ EBetType[EBetType["System"] = 2] = "System";
3752
+ })(EBetType || (EBetType = {}));
3753
+ var EBanker;
3754
+ (function (EBanker) {
3755
+ EBanker[EBanker["Any"] = 0] = "Any";
3756
+ EBanker[EBanker["BankerOnly"] = 1] = "BankerOnly";
3757
+ EBanker[EBanker["NotBankerOnly"] = 2] = "NotBankerOnly";
3758
+ })(EBanker || (EBanker = {}));
3759
+ var EBetBuilder;
3760
+ (function (EBetBuilder) {
3761
+ EBetBuilder[EBetBuilder["Any"] = 0] = "Any";
3762
+ EBetBuilder[EBetBuilder["BetBuilderOnly"] = 1] = "BetBuilderOnly";
3763
+ EBetBuilder[EBetBuilder["NotBetBuilderOnly"] = 2] = "NotBetBuilderOnly";
3764
+ })(EBetBuilder || (EBetBuilder = {}));
3621
3765
  var EWalletTypes;
3622
3766
  (function (EWalletTypes) {
3623
3767
  EWalletTypes[EWalletTypes["RealCash"] = 0] = "RealCash";
3624
3768
  EWalletTypes[EWalletTypes["BonusMoney"] = 1] = "BonusMoney";
3625
3769
  EWalletTypes[EWalletTypes["Mixed"] = 2] = "Mixed";
3626
3770
  })(EWalletTypes || (EWalletTypes = {}));
3771
+ var EDetailsTabs;
3772
+ (function (EDetailsTabs) {
3773
+ EDetailsTabs[EDetailsTabs["Levels"] = 0] = "Levels";
3774
+ EDetailsTabs[EDetailsTabs["GamesOrEvents"] = 1] = "GamesOrEvents";
3775
+ EDetailsTabs[EDetailsTabs["Rules"] = 2] = "Rules";
3776
+ })(EDetailsTabs || (EDetailsTabs = {}));
3627
3777
 
3628
- const casinoChallengeDetailsCss = ".container {\n font-family: var(--emw--font-family-secondary, \"Montserrat\", sans-serif);\n background: var(--emw--color-background, #000);\n min-height: 100vh;\n padding-top: 16px;\n container-type: inline-size;\n container-name: challenges-details;\n min-width: 375px;\n width: 100%;\n margin: 0 auto;\n position: relative;\n}\n\n.challenges-header {\n display: none;\n}\n\n.back-button {\n display: flex;\n align-items: center;\n padding: 14px 0 14px 10px;\n outline: none;\n background: var(--emw--color-background-secondary, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n background-clip: text;\n border: none;\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n cursor: pointer;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.back-button__icon {\n margin: 0 4px;\n}\n.back-button__text {\n margin-left: 4px;\n}\n\n.details {\n min-width: 308px;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: 16px;\n min-width: 375px;\n width: 100%;\n}\n.details.grayed {\n opacity: 0.5;\n}\n.details__general-info {\n min-width: 344px;\n padding-bottom: 16px;\n width: 100%;\n}\n.details__general-info-image-container {\n position: relative;\n margin-bottom: 22px;\n}\n.details__general-info-image {\n display: block;\n min-width: 344px;\n height: 226px;\n border-radius: var(--emw--border-radius-medium, 16px);\n width: 100%;\n}\n.details__general-info-image.grayed {\n opacity: 0.5;\n}\n.details__general-info-timer-badge {\n position: absolute;\n background: var(--emw--color-white, #fff);\n top: 6px;\n right: 6px;\n border-radius: var(--emw--border-radius-large, 30px);\n padding: 2px 12px;\n line-height: 22px;\n font-weight: var(--emw--font-weight-medium, 500);\n font-size: var(--emw--font-size-x-small, 12px);\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\n backdrop-filter: blur(20px);\n}\n.details__general-info-timer-badge span {\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.expired {\n background: var(--emw--background-gray-color, rgba(250, 250, 250, 0.5019607843));\n border: 1px solid var(--emw--border-gray-color, #292c29);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.completed {\n background: var(--emw--background-success-color, #c9f0d7);\n border: 1px solid var(--emw--border-success-color, #00b74f);\n color: var(--emw--color-gray-300, #083b17);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.forfeited {\n background: var(--emw--background-errored-color, #ffe1df);\n border: 1px solid var(--emw--border-errored-color, #d6421e);\n color: var(--emw--errored-color, #850606);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.paused {\n background: var(--emw--background-warning-color, #f8e4ad);\n border: 1px solid var(--emw--border-warning-color, #ea9018);\n color: var(--emw--warning-color, #6d460a);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-title {\n margin: 0 0 4px;\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-large, 20px);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-end-date_label {\n color: var(--emw--color-gray-150, #727672);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n margin: 0;\n}\n.details__general-info-end-date_value {\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-action-button,\n.details .footer-action-button {\n width: 100%;\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-medium, 16px);\n border-radius: var(--emw--button-border-radius, 99px);\n border: 2px solid var(--emw--button-border-color, #083b17);\n background: var(--emw--button-background-color, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n text-align: center;\n text-transform: uppercase;\n font-weight: var(--emw--font-weight-bold, 700);\n height: 51px;\n padding: 16px 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: stretch;\n gap: 10px;\n}\n.details__general-info-action-button:hover,\n.details .footer-action-button:hover {\n border-color: var(--emw--color-secondary, #083b17);\n cursor: pointer;\n}\n.details__general-info-action-button.filled,\n.details .footer-action-button.filled {\n background-color: var(--emw--button-background-primary-color, #18ce51);\n color: var(--emw--color-white, #fff);\n border-color: var(--emw--color-gray-300, #083b17);\n}\n.details__general-info-action-button.filled:hover,\n.details .footer-action-button.filled:hover {\n border-color: transparent;\n box-shadow: 0 0 4px 0 rgba(188, 252, 177, 0.2), 0 0 20px 0 rgba(0, 183, 79, 0.5);\n}\n.details__general-info-action-button.grayed,\n.details .footer-action-button.grayed {\n color: var(--emw--color-gray-50, #e2e2e2);\n background: var(--emw--color-black-150, #000000);\n border-color: var(--emw--button-disabled-border-color, #727672);\n box-shadow: 0 0 20px 0 rgba(188, 252, 177, 0.2);\n}\n.details__general-info-action-button.grayed:hover,\n.details .footer-action-button.grayed:hover {\n color: var(--emw--color-white, #fff);\n}\n.details__general-info-action-button:disabled, .details__general-info-action-button:disabled:hover,\n.details .footer-action-button:disabled,\n.details .footer-action-button:disabled:hover {\n color: var(--emw--color-gray-50, #e2e2e2);\n cursor: not-allowed;\n border: 2px solid var(--emw--button-disabled-border-color, #727672);\n opacity: 0.7;\n}\n.details .footer-action-button {\n height: 44px;\n padding: 14px 20px;\n font-size: var(--emw--font-size-sm, 14px);\n}\n.details__general-info-action-button {\n display: none;\n margin-top: 32px;\n}\n.details__tabs-container {\n flex-grow: 1;\n max-width: 100%;\n}\n.details__tabs {\n position: relative;\n display: flex;\n justify-content: flex-start;\n border-bottom: 1px solid var(--emw--border-warning-color, #ea9018);\n}\n.details__tab {\n padding: 10px 20px;\n cursor: pointer;\n position: relative;\n font-weight: var(--emw--font-weight-medium, 500);\n color: var(--emw--color-gray-300, #555);\n display: flex;\n width: 33.3333333333%;\n padding: 12px 10px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n}\n.details__tab.active {\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n text-transform: uppercase;\n background: var(--emw--active-tab, linear-gradient(180deg, #ea9018 0%, #e0a84e 100%));\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.details__tab {\n color: var(--emw--color-gray-100, #727672);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n text-transform: uppercase;\n}\n.details__tab:nth-of-type(1).active ~ .active-tab-indicator {\n left: 0;\n width: 33.3333333333%;\n}\n.details__tab:nth-of-type(2).active ~ .active-tab-indicator {\n left: 33.3333333333%;\n width: 33.3333333333%;\n}\n.details__tab:nth-of-type(3).active ~ .active-tab-indicator {\n left: 66.6666666667%;\n width: 33.3333333333%;\n}\n.details .active-tab-indicator {\n position: absolute;\n bottom: -3px;\n height: 2px;\n background: var(--emw--active-tab-indicator, linear-gradient(180deg, rgba(234, 144, 24, 0.7) 0%, rgba(224, 168, 78, 0.7) 100%), #727672);\n transition: left 0.3s ease, width 0.3s ease;\n}\n.details .levels__tab {\n margin-top: 22px;\n display: flex;\n gap: 12px;\n flex-direction: column;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n}\n.details .level {\n display: flex;\n padding: 20px;\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--emw--border-radius-small, 12px);\n background-color: var(--emw--color-background, rgba(114, 118, 114, 0.2));\n}\n.details .level.grayed {\n background: rgba(114, 118, 114, 0.15);\n}\n.details .level.active {\n background: linear-gradient(90deg, rgba(30, 101, 79, 0.2) 0%, rgba(28, 141, 86, 0.2) 100%);\n border: 2px solid var(--Gradient-Blue, #003e5c);\n box-shadow: 0 0 20px 0 rgba(188, 252, 177, 0.2);\n}\n.details .level.completed {\n background: linear-gradient(90deg, rgba(0, 62, 92, 0.3) 0.05%, rgba(17, 59, 33, 0.3) 87.69%);\n}\n.details .level__status {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n}\n.details .level__title {\n width: 100%;\n display: flex;\n justify-content: space-between;\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n margin-bottom: 10px;\n}\n.details .level__title .completed, .details .level__title .in-progress {\n color: var(--emw--color-valid, #00b74f);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n text-align: right;\n line-height: 22px;\n}\n.details .level__title.grayed {\n color: var(--emw--disabled-color, #727672);\n}\n.details .level__progress {\n width: 100%;\n margin-bottom: 10px;\n}\n.details .level__icon {\n display: flex;\n margin: 5px 6px 5px 0;\n opacity: 1;\n}\n.details .level__icon img {\n display: block;\n width: 12px;\n height: 12px;\n}\n.details .level__icon img.grayed {\n opacity: 0.5;\n}\n.details .level__bonus, .details .level__target {\n display: flex;\n align-items: flex-start;\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n margin-bottom: 4px;\n}\n.details .level__value {\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n width: 100%;\n}\n.details .level__value.grayed {\n opacity: 0.5;\n}\n.details .games__tab {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n padding: 22px 0;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n}\n.details .games__tab .game {\n position: relative;\n width: 105px;\n height: 85px;\n cursor: pointer;\n}\n.details .games__tab .game img {\n width: 100%;\n height: 100%;\n border-radius: var(--emw--border-radius-medium, 16px);\n}\n.details .games__tab .game .contribution {\n position: absolute;\n top: 4px;\n right: 4px;\n color: var(--emw--color-white, #fff);\n border-radius: var(--emw--border-radius-small, 12px);\n border: 1px solid var(--Gradient-Blue, #003e5c);\n background: rgba(0, 0, 0, 0.5);\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\n backdrop-filter: blur(5px);\n padding: 0 8px;\n font-size: var(--emw--font-size-2x-small, 8px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 22px;\n text-align: center;\n}\n.details .rules__tab {\n display: flex;\n flex-direction: column;\n padding: 22px 0;\n gap: 8px;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n}\n.details .rules__tab .rule {\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-small, 14px);\n font-style: normal;\n font-weight: 500;\n line-height: 24px;\n}\n.details .rules__tab .link {\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n background: var(--emw--button-background-color, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n background-clip: text;\n padding: 14px 0;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.details .rules__tab .contributionType {\n margin: 24px 0;\n}\n.details .rules__tab .contributionRule {\n margin: 0;\n}\n.details .rules__tab .contribution__label {\n font-size: var(--emw--font-size-small, 14px);\n color: var(--emw--color-white, #fff);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n}\n.details .rules__tab .contribution__type__label {\n margin-right: 4px;\n}\n.details .rules__tab .contribution__value {\n font-size: var(--emw--font-size-small, 14px);\n color: var(--emw--color-gray-200, #c8d6ce);\n font-weight: var(--emw--font-weight-medium, 500);\n}\n.details .rules__tab .contribution__rule__value {\n margin-bottom: 8px;\n}\n.details__button {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n flex: 1 0 0;\n height: 42px;\n padding: 14px 20px;\n border-radius: var(--emw--button-border-radius, 99px);\n border: 2px solid var(--emw--button-border-color, #083b17);\n background-color: var(--emw--button-background-color, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n text-transform: uppercase;\n}\n\n.button__container {\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n width: calc(100% - 32px);\n padding: 16px 16px 22px 16px;\n justify-content: center;\n align-items: center;\n gap: 4px;\n border-top: 1px solid var(--emw--color-blue, #003e5c);\n background: var(--emw--color-background, #000);\n box-shadow: 0 0 20px 0 rgba(188, 252, 177, 0.2);\n}\n\n.lds-dual-ring {\n display: block;\n width: 80px;\n height: 80px;\n margin: 80px auto 0 auto;\n}\n\n.lds-dual-ring:after {\n content: \" \";\n display: block;\n width: 64px;\n height: 64px;\n margin: 8px;\n border-radius: 50%;\n border: 6px solid var(--emw--casino-color-primary, var(--emw--color-primary, #22b04e));\n border-color: var(--emw--casino-color-primary, var(--emw--color-primary, #22b04e)) transparent var(--emw--casino-color-primary, var(--emw--color-primary, #22b04e));\n animation: lds-dual-ring 1.2s linear infinite;\n}\n\n@keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.notification {\n display: flex;\n align-items: flex-start;\n border-radius: var(--emw--border-radius-small, 12px);\n background: rgba(188, 252, 177, 0.1);\n display: flex;\n padding: 16px;\n align-items: flex-start;\n gap: 10px;\n margin: 16px 16px 22px 16px;\n}\n.notification__icon {\n margin-top: 2px;\n}\n.notification__message, .notification__title {\n color: var(--emw--color-gray-50, #e2e2e2);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n}\n.notification__title {\n background: var(--emw--color-background-secondary, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.notification__column {\n display: flex;\n flex-direction: column;\n}\n\n@container challenges-details (min-width: 768px) {\n .button__container {\n display: none;\n }\n .details {\n gap: 36px;\n flex-wrap: nowrap;\n }\n .details__general-info-action-button {\n display: flex;\n }\n .details__general-info-image {\n width: 380px;\n height: 248px;\n object-fit: cover;\n }\n .details__general-info {\n max-width: 380px;\n }\n .details__tabs__container {\n max-width: calc(100% - 380px);\n }\n .details .levels__tab {\n gap: 20px;\n height: 60vh;\n }\n .details .levels__tab .level__icon {\n width: 14px;\n height: 14px;\n margin: 4px 6px 4px 0px;\n }\n .details .levels__tab .level__icon img {\n width: 100%;\n height: 100%;\n }\n .details .levels__tab .level__title {\n font-size: var(--emw--font-size-medium, 16px);\n }\n .details .levels__tab .level__title .completed, .details .levels__tab .level__title .in-progress {\n font-size: var(--emw--font-size-sm, 14px);\n }\n .details .levels__tab .level__bonus, .details .levels__tab .level__target, .details .levels__tab .level__value {\n font-size: var(--emw--font-size-sm, 14px);\n }\n .details .games__tab, .details .rules__tab {\n height: 60vh;\n }\n .details .games__tab {\n gap: 20px;\n min-width: 340px;\n }\n .details .games__tab .game {\n width: 160px;\n height: 110px;\n }\n .details .games__tab .game .contribution {\n top: 8px;\n right: 8px;\n padding: 4px 10px;\n font-size: var(--emw--font-size-2x-small, 10px);\n line-height: 18px;\n }\n .challenges-header {\n margin: 0 0 32px;\n display: flex;\n justify-content: space-between;\n }\n .challenges-title {\n margin: 0;\n display: flex;\n gap: 10px;\n align-items: center;\n font-size: var(--emw--font-size-x-large, 24px);\n font-weight: var(--emw--font-weight-bold, 700);\n color: var(--emw--color-white, #ffffff);\n }\n .challenges-tabs {\n display: flex;\n gap: 12px;\n border-radius: 48px;\n padding: 6px;\n color: var(--emw--color-gray-200, #c8d6ce);\n background-color: var(--emw--color-background-secondary, #272727);\n }\n .challenges-tab {\n padding: 10px 16px;\n border-radius: 40px;\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n cursor: pointer;\n text-align: center;\n width: 95px;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 4px;\n }\n .challenges-tab.active {\n color: var(--emw--color-white, #ffffff);\n background: linear-gradient(90deg, rgb(0, 62, 92) 0%, rgb(17, 59, 33) 100%);\n }\n .challenges-tab:last-child {\n width: inherit;\n padding: 10px 16px;\n }\n}";
3778
+ const casinoChallengeDetailsCss = ".container {\n font-family: var(--emw--font-family-secondary, \"Montserrat\", sans-serif);\n background: var(--emw--color-background, #000);\n min-height: 100vh;\n padding: 16px 12px;\n box-sizing: border-box;\n container-type: inline-size;\n container-name: challenges-details;\n min-width: 375px;\n width: 100%;\n margin: 0 auto;\n position: relative;\n}\n\n.challenges-header {\n display: none;\n}\n\n.back-button {\n display: flex;\n align-items: center;\n padding: 14px 0 14px 10px;\n outline: none;\n background: var(--emw--color-background-secondary, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n background-clip: text;\n border: none;\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n cursor: pointer;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.back-button__icon {\n margin: 0 4px;\n}\n.back-button__text {\n margin-left: 4px;\n}\n\n.details {\n min-width: 308px;\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n padding: 16px;\n min-width: 375px;\n width: 100%;\n}\n.details.grayed {\n opacity: 0.5;\n}\n.details__general-info {\n min-width: 344px;\n padding-bottom: 16px;\n width: 100%;\n}\n.details__general-info-image-container {\n position: relative;\n margin-bottom: 22px;\n}\n.details__general-info-image {\n display: block;\n min-width: 344px;\n height: 226px;\n border-radius: var(--emw--border-radius-medium, 16px);\n width: 100%;\n}\n.details__general-info-image.grayed {\n opacity: 0.5;\n}\n.details__general-info-timer-badge {\n position: absolute;\n background: var(--emw--color-white, #fff);\n top: 6px;\n right: 6px;\n border-radius: var(--emw--border-radius-large, 30px);\n padding: 2px 12px;\n line-height: 22px;\n font-weight: var(--emw--font-weight-medium, 500);\n font-size: var(--emw--font-size-x-small, 12px);\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\n backdrop-filter: blur(20px);\n}\n.details__general-info-timer-badge span {\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.expired {\n background: var(--emw--background-gray-color, rgba(250, 250, 250, 0.5019607843));\n border: 1px solid var(--emw--border-gray-color, #292c29);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.completed {\n background: var(--emw--background-success-color, #c9f0d7);\n border: 1px solid var(--emw--border-success-color, #00b74f);\n color: var(--emw--color-gray-300, #083b17);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.forfeited {\n background: var(--emw--background-errored-color, #ffe1df);\n border: 1px solid var(--emw--border-errored-color, #d6421e);\n color: var(--emw--errored-color, #850606);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-timer-badge.paused {\n background: var(--emw--background-warning-color, #f8e4ad);\n border: 1px solid var(--emw--border-warning-color, #ea9018);\n color: var(--emw--warning-color, #6d460a);\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-title {\n margin: 0 0 4px;\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-large, 20px);\n font-weight: var(--emw--font-weight-bold, 700);\n display: flex;\n justify-content: space-between;\n}\n.details__general-info-title__icon--casino {\n width: 24px;\n height: 24px;\n}\n.details__general-info-title__icon--sportsbook {\n width: 22px;\n height: 22px;\n}\n.details__general-info-end-date_label {\n color: var(--emw--color-gray-150, #727672);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n margin: 0;\n}\n.details__general-info-end-date_value {\n font-weight: var(--emw--font-weight-bold, 700);\n}\n.details__general-info-action-button,\n.details .footer-action-button {\n width: 100%;\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-medium, 16px);\n border-radius: var(--emw--button-border-radius, 99px);\n border: 2px solid var(--emw--button-border-color, #083b17);\n background: var(--emw--button-background-color, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n text-align: center;\n text-transform: uppercase;\n font-weight: var(--emw--font-weight-bold, 700);\n height: 51px;\n padding: 16px 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n align-self: stretch;\n gap: 10px;\n}\n.details__general-info-action-button:hover,\n.details .footer-action-button:hover {\n border-color: var(--emw--color-secondary, #083b17);\n cursor: pointer;\n}\n.details__general-info-action-button.filled,\n.details .footer-action-button.filled {\n background-color: var(--emw--button-background-primary-color, #18ce51);\n color: var(--emw--color-white, #fff);\n border-color: var(--emw--color-gray-300, #083b17);\n}\n.details__general-info-action-button.filled:hover,\n.details .footer-action-button.filled:hover {\n border-color: transparent;\n box-shadow: 0 0 4px 0 rgba(188, 252, 177, 0.2), 0 0 20px 0 rgba(0, 183, 79, 0.5);\n}\n.details__general-info-action-button.grayed,\n.details .footer-action-button.grayed {\n color: var(--emw--color-gray-50, #e2e2e2);\n background: var(--emw--color-black-150, #000000);\n border-color: var(--emw--button-disabled-border-color, #727672);\n box-shadow: 0 0 20px 0 rgba(188, 252, 177, 0.2);\n}\n.details__general-info-action-button.grayed:hover,\n.details .footer-action-button.grayed:hover {\n color: var(--emw--color-white, #fff);\n}\n.details__general-info-action-button:disabled, .details__general-info-action-button:disabled:hover,\n.details .footer-action-button:disabled,\n.details .footer-action-button:disabled:hover {\n color: var(--emw--color-gray-50, #e2e2e2);\n cursor: not-allowed;\n border: 2px solid var(--emw--button-disabled-border-color, #727672);\n opacity: 0.7;\n}\n.details .footer-action-button {\n height: 44px;\n padding: 14px 20px;\n font-size: var(--emw--font-size-sm, 14px);\n}\n.details__general-info-action-button {\n display: none;\n margin-top: 32px;\n}\n.details__tabs-container {\n flex-grow: 1;\n max-width: 100%;\n}\n.details__tabs {\n position: relative;\n display: flex;\n justify-content: flex-start;\n border-bottom: 1px solid var(--emw--border-warning-color, #ea9018);\n}\n.details__tab {\n padding: 10px 20px;\n cursor: pointer;\n position: relative;\n font-weight: var(--emw--font-weight-medium, 500);\n color: var(--emw--color-gray-300, #555);\n display: flex;\n width: 33.3333333333%;\n padding: 12px 10px;\n justify-content: center;\n align-items: center;\n gap: 10px;\n}\n.details__tab.active {\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n text-transform: uppercase;\n background: var(--emw--active-tab, linear-gradient(180deg, #ea9018 0%, #e0a84e 100%));\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.details__tab {\n color: var(--emw--color-gray-100, #727672);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n text-transform: uppercase;\n}\n.details__tab:nth-of-type(1).active ~ .active-tab-indicator {\n left: 0;\n width: 33.3333333333%;\n}\n.details__tab:nth-of-type(2).active ~ .active-tab-indicator {\n left: 33.3333333333%;\n width: 33.3333333333%;\n}\n.details__tab:nth-of-type(3).active ~ .active-tab-indicator {\n left: 66.6666666667%;\n width: 33.3333333333%;\n}\n.details .active-tab-indicator {\n position: absolute;\n bottom: -3px;\n height: 2px;\n background: var(--emw--active-tab-indicator, linear-gradient(180deg, rgba(234, 144, 24, 0.7) 0%, rgba(224, 168, 78, 0.7) 100%), #727672);\n transition: left 0.3s ease, width 0.3s ease;\n}\n.details .levels__tab {\n margin-top: 22px;\n display: flex;\n gap: 12px;\n flex-direction: column;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n}\n.details .level {\n display: flex;\n padding: 20px;\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--emw--border-radius-small, 12px);\n background-color: var(--emw--color-background, rgba(114, 118, 114, 0.2));\n}\n.details .level.grayed {\n background: rgba(114, 118, 114, 0.15);\n}\n.details .level.active {\n background: linear-gradient(90deg, rgba(30, 101, 79, 0.2) 0%, rgba(28, 141, 86, 0.2) 100%);\n border: 2px solid var(--Gradient-Blue, #003e5c);\n box-shadow: 0 0 20px 0 rgba(188, 252, 177, 0.2);\n}\n.details .level.completed {\n background: linear-gradient(90deg, rgba(0, 62, 92, 0.3) 0.05%, rgba(17, 59, 33, 0.3) 87.69%);\n}\n.details .level__status {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n}\n.details .level__title {\n width: 100%;\n display: flex;\n justify-content: space-between;\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n margin-bottom: 10px;\n}\n.details .level__title .completed, .details .level__title .in-progress {\n color: var(--emw--color-valid, #00b74f);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n text-align: right;\n line-height: 22px;\n}\n.details .level__title.grayed {\n color: var(--emw--disabled-color, #727672);\n}\n.details .level__progress {\n width: 100%;\n margin-bottom: 10px;\n}\n.details .level__icon {\n display: flex;\n margin: 5px 6px 5px 0;\n opacity: 1;\n}\n.details .level__icon img {\n display: block;\n width: 12px;\n height: 12px;\n}\n.details .level__icon img.grayed {\n opacity: 0.5;\n}\n.details .level__bonus, .details .level__target {\n display: flex;\n align-items: flex-start;\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n margin-bottom: 4px;\n}\n.details .level__value {\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n width: 100%;\n}\n.details .level__value.grayed {\n opacity: 0.5;\n}\n.details .games__tab {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n padding: 22px 0;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n justify-content: center;\n}\n.details .games__tab .game {\n position: relative;\n width: 105px;\n height: 85px;\n cursor: pointer;\n}\n.details .games__tab .game img {\n width: 100%;\n height: 100%;\n border-radius: var(--emw--border-radius-medium, 16px);\n}\n.details .games__tab .game .contribution {\n position: absolute;\n top: 4px;\n right: 4px;\n color: var(--emw--color-white, #fff);\n border-radius: var(--emw--border-radius-small, 12px);\n border: 1px solid var(--Gradient-Blue, #003e5c);\n background: rgba(0, 0, 0, 0.5);\n box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);\n backdrop-filter: blur(5px);\n padding: 0 8px;\n font-size: var(--emw--font-size-2x-small, 8px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 22px;\n text-align: center;\n}\n.details .events__tab {\n display: flex;\n flex-direction: column;\n padding: 22px 0;\n gap: 24px;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n}\n.details .events__tab .event {\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-small, 14px);\n font-style: normal;\n font-weight: 500;\n line-height: 24px;\n margin: 0;\n}\n.details .events__tab .event span {\n text-transform: capitalize;\n}\n.details .rules__tab {\n display: flex;\n flex-direction: column;\n padding: 22px 0;\n gap: 22px;\n overflow-y: auto;\n height: 300px;\n padding-bottom: 80px;\n line-height: 24px;\n}\n.details .rules__tab .sportsbook-rules,\n.details .rules__tab .rule {\n color: var(--emw--color-gray-200, #c8d6ce);\n font-size: var(--emw--font-size-small, 14px);\n font-style: normal;\n font-weight: 500;\n line-height: 24px;\n}\n.details .rules__tab .sportsbook-rules .rule {\n margin: 0 0 22px;\n}\n.details .rules__tab .sportsbook-rules .rule__title {\n margin: 0;\n font-size: var(--emw--font-size-small, 14px);\n color: var(--emw--color-white, #fff);\n font-weight: 700;\n}\n.details .rules__tab .sportsbook-rules .rule__title__value {\n display: inline-flex;\n align-items: center;\n height: 16px;\n}\n.details .rules__tab .sportsbook-rules .rule__title__value .infinity {\n font-size: 20px;\n font-weight: 500;\n margin-left: 4px;\n}\n.details .rules__tab .sportsbook-rules .rule__inners {\n gap: 22px;\n display: flex;\n flex-direction: column;\n}\n.details .rules__tab .link {\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n background: var(--emw--button-background-color, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n background-clip: text;\n padding: 0;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.details .rules__tab .contributionType {\n margin: 0 0 22px;\n}\n.details .rules__tab .contributionRule {\n margin: 0;\n}\n.details .rules__tab .contribution__label {\n font-size: var(--emw--font-size-small, 14px);\n color: var(--emw--color-white, #fff);\n font-weight: var(--emw--font-weight-bold, 700);\n line-height: 18px;\n}\n.details .rules__tab .contribution__type__label {\n margin-right: 4px;\n}\n.details .rules__tab .contribution__value {\n font-size: var(--emw--font-size-small, 14px);\n color: var(--emw--color-gray-200, #c8d6ce);\n font-weight: var(--emw--font-weight-medium, 500);\n}\n.details .rules__tab .contribution__rule__value {\n margin-bottom: 8px;\n}\n.details__button {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 10px;\n flex: 1 0 0;\n height: 42px;\n padding: 14px 20px;\n border-radius: var(--emw--button-border-radius, 99px);\n border: 2px solid var(--emw--button-border-color, #083b17);\n background-color: var(--emw--button-background-color, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n color: var(--emw--color-white, #fff);\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n text-transform: uppercase;\n}\n\n.button__container {\n position: absolute;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n width: calc(100% - 32px);\n padding: 16px 16px 22px 16px;\n justify-content: center;\n align-items: center;\n gap: 4px;\n border-top: 1px solid var(--emw--color-blue, #003e5c);\n background: var(--emw--color-background, #000);\n box-shadow: 0 0 20px 0 rgba(188, 252, 177, 0.2);\n}\n\n.lds-dual-ring {\n display: block;\n width: 80px;\n height: 80px;\n margin: 80px auto 0 auto;\n}\n\n.lds-dual-ring:after {\n content: \" \";\n display: block;\n width: 64px;\n height: 64px;\n margin: 8px;\n border-radius: 50%;\n border: 6px solid var(--emw--casino-color-primary, var(--emw--color-primary, #22b04e));\n border-color: var(--emw--casino-color-primary, var(--emw--color-primary, #22b04e)) transparent var(--emw--casino-color-primary, var(--emw--color-primary, #22b04e));\n animation: lds-dual-ring 1.2s linear infinite;\n}\n\n@keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n.notification {\n display: flex;\n align-items: flex-start;\n border-radius: var(--emw--border-radius-small, 12px);\n background: rgba(188, 252, 177, 0.1);\n display: flex;\n padding: 16px;\n align-items: flex-start;\n gap: 10px;\n margin: 16px 16px 22px 16px;\n}\n.notification__icon {\n margin-top: 2px;\n}\n.notification__message, .notification__title {\n color: var(--emw--color-gray-50, #e2e2e2);\n font-size: var(--emw--font-size-x-small, 12px);\n font-weight: var(--emw--font-weight-medium, 500);\n line-height: 22px;\n}\n.notification__title {\n background: var(--emw--color-background-secondary, linear-gradient(180deg, #24b24e 0%, #18ce51 100%));\n background-clip: text;\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n}\n.notification__column {\n display: flex;\n flex-direction: column;\n}\n\n@container challenges-details (min-width: 768px) {\n .button__container {\n display: none;\n }\n .details {\n gap: 36px;\n flex-wrap: nowrap;\n }\n .details__general-info-action-button {\n display: flex;\n }\n .details__general-info-image {\n width: 380px;\n height: 248px;\n object-fit: cover;\n }\n .details__general-info {\n min-width: 380px;\n max-width: 380px;\n }\n .details__tabs__container {\n max-width: calc(100% - 380px);\n }\n .details .levels__tab {\n gap: 20px;\n height: 60vh;\n }\n .details .levels__tab .level__icon {\n width: 14px;\n height: 14px;\n margin: 4px 6px 4px 0px;\n }\n .details .levels__tab .level__icon img {\n width: 100%;\n height: 100%;\n }\n .details .levels__tab .level__title {\n font-size: var(--emw--font-size-medium, 16px);\n }\n .details .levels__tab .level__title .completed, .details .levels__tab .level__title .in-progress {\n font-size: var(--emw--font-size-sm, 14px);\n }\n .details .levels__tab .level__bonus, .details .levels__tab .level__target, .details .levels__tab .level__value {\n font-size: var(--emw--font-size-sm, 14px);\n }\n .details .games__tab, .details .events__tab, .details .rules__tab {\n height: 60vh;\n padding: 32px 0;\n }\n .details .games__tab {\n gap: 20px;\n min-width: 340px;\n justify-content: normal;\n }\n .details .games__tab .game {\n width: 160px;\n height: 110px;\n }\n .details .games__tab .game .contribution {\n top: 8px;\n right: 8px;\n padding: 4px 10px;\n font-size: var(--emw--font-size-2x-small, 10px);\n line-height: 18px;\n }\n .challenges-header {\n margin: 0 0 32px;\n display: flex;\n justify-content: space-between;\n }\n .challenges-title {\n margin: 0;\n display: flex;\n gap: 10px;\n align-items: center;\n font-size: var(--emw--font-size-x-large, 24px);\n font-weight: var(--emw--font-weight-bold, 700);\n color: var(--emw--color-white, #ffffff);\n }\n .challenges-tabs {\n display: flex;\n gap: 12px;\n border-radius: 48px;\n padding: 6px;\n color: var(--emw--color-gray-200, #c8d6ce);\n background-color: var(--emw--color-background-secondary, #272727);\n }\n .challenges-tab {\n padding: 10px 16px;\n border-radius: 40px;\n font-size: var(--emw--font-size-small, 14px);\n font-weight: var(--emw--font-weight-bold, 700);\n cursor: pointer;\n text-align: center;\n width: 95px;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 4px;\n }\n .challenges-tab.active {\n color: var(--emw--color-white, #ffffff);\n background: linear-gradient(90deg, rgb(0, 62, 92) 0%, rgb(17, 59, 33) 100%);\n }\n .challenges-tab:last-child {\n width: inherit;\n padding: 10px 16px;\n }\n}";
3629
3779
  const CasinoChallengeDetailsStyle0 = casinoChallengeDetailsCss;
3630
3780
 
3631
3781
  const CasinoChallengeDetails = class {
@@ -3635,13 +3785,106 @@ const CasinoChallengeDetails = class {
3635
3785
  this.activeEntityRef = null;
3636
3786
  this.scrollContainerRef = null;
3637
3787
  this.challengesTabs = ['Active', 'Pending', 'Finished', 'Code'];
3638
- this.tabs = ['LEVELS', 'GAMES', 'RULES'];
3788
+ this.tabOptions = {
3789
+ casino: ['LEVELS', 'GAMES', 'RULES'],
3790
+ sportsbook: ['LEVELS', 'EVENTS', 'RULES']
3791
+ };
3639
3792
  this.showNotification = 10;
3640
3793
  this.abortController = new AbortController();
3794
+ this.currentFetchGamesId = 0;
3795
+ this.currentFetchChallengeId = 0;
3796
+ this.infinity = '∞';
3797
+ this.maxSelections = 999;
3798
+ this.nonValue = 'undefined';
3799
+ this.scrollToActiveLevel = () => {
3800
+ if (this.activeEntityRef) {
3801
+ const container = this.scrollContainerRef;
3802
+ const target = this.activeEntityRef;
3803
+ const containerTop = container.getBoundingClientRect().top;
3804
+ const targetTop = target.getBoundingClientRect().top;
3805
+ const scrollOffset = targetTop - containerTop;
3806
+ container.scrollTo({
3807
+ top: container.scrollTop + scrollOffset - container.clientHeight / 2 + target.clientHeight / 2,
3808
+ behavior: 'smooth'
3809
+ });
3810
+ }
3811
+ };
3641
3812
  this.checkIsMobile = () => {
3642
3813
  this.isMobile = window.innerWidth <= 768;
3643
3814
  };
3644
- this.currentFetchChallengeId = 0;
3815
+ this.updateChallengeViewedStatus = () => {
3816
+ if (!this.checkAttrs()) {
3817
+ const url = `${this.endpoint}/challenge/ChangeProgressIsNewStatus`;
3818
+ const body = {
3819
+ DomainId: this.domain,
3820
+ ChallengeProgressId: this.challenge.Id
3821
+ };
3822
+ return fetch(url, {
3823
+ method: 'POST',
3824
+ headers: {
3825
+ 'Content-Type': 'application/json'
3826
+ },
3827
+ body: JSON.stringify(body)
3828
+ })
3829
+ .then((res) => res.json())
3830
+ .then((res) => {
3831
+ if (res.Success) {
3832
+ this.challenge.IsNew = false;
3833
+ }
3834
+ });
3835
+ }
3836
+ };
3837
+ this.getChallenge = () => {
3838
+ if (!this.checkAttrs()) {
3839
+ this.currentFetchChallengeId++;
3840
+ const fetchId = this.currentFetchChallengeId;
3841
+ if (this.abortController) {
3842
+ this.abortController.abort();
3843
+ }
3844
+ this.abortController = new AbortController();
3845
+ const signal = this.abortController.signal;
3846
+ const url = `${this.endpoint}/challenge/GetChallengesInfo`;
3847
+ const body = Object.assign({ DomainId: this.domain, PlayerLanguage: this.language, PageNumber: 0, PageSize: 20 }, (this.session && { PlayerSession: this.session }));
3848
+ this.loading = true;
3849
+ return fetch(url, {
3850
+ method: 'POST',
3851
+ headers: {
3852
+ 'Content-Type': 'application/json'
3853
+ },
3854
+ signal,
3855
+ body: JSON.stringify(body)
3856
+ })
3857
+ .then((res) => res.json())
3858
+ .then((res) => {
3859
+ var _a;
3860
+ if (res.Success) {
3861
+ const challenge = (_a = res === null || res === void 0 ? void 0 : res.Data) === null || _a === void 0 ? void 0 : _a.find((challenge) => (challenge === null || challenge === void 0 ? void 0 : challenge.ChallengeId) === this.challengeId);
3862
+ if (challenge) {
3863
+ this.challenge = challenge;
3864
+ this.isChallengePaused = this.challenge.ChallengeStatus === EChallengeStatus.Paused;
3865
+ if (this.challenge.IsNew) {
3866
+ this.updateChallengeViewedStatus();
3867
+ }
3868
+ }
3869
+ else if (this.redirectIfNotFound) {
3870
+ this.goBack();
3871
+ }
3872
+ }
3873
+ })
3874
+ .finally(() => {
3875
+ if (fetchId === this.currentFetchChallengeId) {
3876
+ this.loading = false;
3877
+ }
3878
+ });
3879
+ }
3880
+ };
3881
+ this.getReward = (level) => {
3882
+ return level.CustomRewardMessage || '-';
3883
+ };
3884
+ this.getTarget = (level) => {
3885
+ var _a;
3886
+ return this.calculateTargetValue(level, (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.CurrencySymbol) || '-';
3887
+ };
3645
3888
  this.calculateTargetValue = (level, currencySymbol) => {
3646
3889
  var _a;
3647
3890
  if (!level)
@@ -3663,6 +3906,17 @@ const CasinoChallengeDetails = class {
3663
3906
  }
3664
3907
  }
3665
3908
  };
3909
+ this.updateTime = () => {
3910
+ var _a, _b;
3911
+ if (this.challenge) {
3912
+ this.timeLeft = getTimeLeft((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ExpirationTime);
3913
+ if (!this.timeLeft && this.timerExpired) {
3914
+ clearInterval(this.timerId);
3915
+ this.challenge = Object.assign(Object.assign({}, this.challenge), { Status: EChallengeProgressStatus.Expired });
3916
+ this.timerExpired.emit((_b = this.challenge) === null || _b === void 0 ? void 0 : _b.Id);
3917
+ }
3918
+ }
3919
+ };
3666
3920
  this.getBadgeContent = () => {
3667
3921
  var _a;
3668
3922
  if (this.challenge) {
@@ -3705,6 +3959,12 @@ const CasinoChallengeDetails = class {
3705
3959
  }
3706
3960
  return this.hasError;
3707
3961
  };
3962
+ this.openLoginRegisterModal = () => {
3963
+ window.postMessage({
3964
+ type: 'OpenLoginRegisterModal',
3965
+ transition: 'Login'
3966
+ });
3967
+ };
3708
3968
  this.joinUnjoinProgress = async () => {
3709
3969
  var _a, _b;
3710
3970
  if (!this.isUserAuthorized) {
@@ -3737,15 +3997,17 @@ const CasinoChallengeDetails = class {
3737
3997
  .finally(() => (this.actionLoading = false));
3738
3998
  }
3739
3999
  };
3740
- this.currentFetchGamesId = 0;
3741
4000
  this.handleTabClick = (index) => () => {
3742
- if (index === 0) {
4001
+ var _a;
4002
+ if (index === EDetailsTabs.Levels) {
3743
4003
  setTimeout(() => {
3744
4004
  this.scrollToActiveLevel();
3745
4005
  }, 0);
3746
4006
  }
3747
- if (index === 1) {
3748
- this.fetchGames();
4007
+ if (index === EDetailsTabs.GamesOrEvents) {
4008
+ if (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ContributedFrom) === EContributedFrom.Casino) {
4009
+ this.fetchGames();
4010
+ }
3749
4011
  }
3750
4012
  this.activeTabIndex = index;
3751
4013
  };
@@ -3755,6 +4017,141 @@ const CasinoChallengeDetails = class {
3755
4017
  this.getBackButtonText = () => {
3756
4018
  return (h("span", { class: "back-button__text" }, this.isMobile ? translate('all', this.language) : translate('back', this.language)));
3757
4019
  };
4020
+ this.getLevelStatus = (level, active) => {
4021
+ if (this.isUserAuthorized) {
4022
+ if (level.ProgressStatus === EChallengeProgressLevelStatus.InProgress && !active)
4023
+ return (h("div", { class: "level__status" }, h("span", null, Math.floor(level.ProgressPercentage), "%"), h("img", { src: lockSvg, alt: "lock-icon", title: "lock-icon" })));
4024
+ else if (level.ProgressStatus === EChallengeProgressLevelStatus.Closed || !active)
4025
+ return (h("div", { class: "level__status" }, h("img", { src: lockSvg, alt: "lock-icon", title: "lock-icon" })));
4026
+ else if (level.ProgressStatus === EChallengeProgressLevelStatus.Fillup)
4027
+ return (h("div", { class: "level__status" }, h("img", { src: lockSvg, alt: "lock-icon", title: "lock-icon" })));
4028
+ else if (level.ProgressStatus === EChallengeProgressLevelStatus.Completed)
4029
+ return h("span", { class: "completed" }, translate('completed', this.language));
4030
+ else if (level.ProgressStatus === EChallengeProgressLevelStatus.InProgress)
4031
+ return h("span", { class: "level__status in-progress" }, Math.floor(level.ProgressPercentage), "%");
4032
+ }
4033
+ return null;
4034
+ };
4035
+ this.pageHeader = () => {
4036
+ return (h("div", { class: "challenges-header" }, h("h1", { class: "challenges-title" }, h("img", { src: titleIconSvg, alt: "icon" }), translate('title', this.language)), this.isUserAuthorized && (h("div", { class: "challenges-tabs" }, this.challengesTabs.map((label, index) => (h("div", { class: `challenges-tab ${index === +this.activeChallengeTabIndex ? 'active' : ''}`, onClick: this.handleChallengesTabClick(index) }, label, this.showNotification === index && h("img", { src: notificationSvg }))))))));
4037
+ };
4038
+ this.cardGeneralInfo = () => {
4039
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
4040
+ const showButton = !(((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ChallengeStatus) === EChallengeStatus.Paused ||
4041
+ ((_b = this.challenge) === null || _b === void 0 ? void 0 : _b.Status) === EChallengeProgressStatus.Forfeited ||
4042
+ ((_c = this.challenge) === null || _c === void 0 ? void 0 : _c.Status) === EChallengeProgressStatus.Completed ||
4043
+ ((_d = this.challenge) === null || _d === void 0 ? void 0 : _d.Status) === EChallengeProgressStatus.Expired);
4044
+ return (h("div", { class: "details__general-info" }, h("div", { class: "details__general-info-image-container" }, h("img", { class: {
4045
+ 'details__general-info-image': true,
4046
+ grayed: [
4047
+ EChallengeProgressStatus.Expired,
4048
+ EChallengeProgressStatus.Forfeited,
4049
+ EChallengeProgressStatus.Completed
4050
+ ].includes((_e = this.challenge) === null || _e === void 0 ? void 0 : _e.Status) || this.isChallengePaused
4051
+ }, src: (_g = (_f = this.challenge) === null || _f === void 0 ? void 0 : _f.ChallengePresentation) === null || _g === void 0 ? void 0 : _g.BannerUrl, alt: "banner-image", title: "banner-image" }), this.getCardBadge()), h("div", { class: "details__general-info-content" }, h("h1", { class: "details__general-info-title" }, (_j = (_h = this.challenge) === null || _h === void 0 ? void 0 : _h.ChallengePresentation) === null || _j === void 0 ? void 0 :
4052
+ _j.PresentationName, this.renderCardIcon()), h("h3", { class: "details__general-info-end-date_label" }, translate('endDate', this.language), " -", ' ', h("span", { class: "details__general-info-end-date_value" }, this.challenge ? formatDate((_k = this.challenge) === null || _k === void 0 ? void 0 : _k.ExpirationTime) : '-')), h("casino-challenge-progress-bar", { challenge: this.challenge, isUserAuthorized: this.isUserAuthorized, language: this.language }), showButton && (h("button", { class: {
4053
+ 'details__general-info-action-button': true,
4054
+ filled: ((_l = this.challenge) === null || _l === void 0 ? void 0 : _l.Status) === EChallengeProgressStatus.Started,
4055
+ grayed: ((_m = this.challenge) === null || _m === void 0 ? void 0 : _m.Status) === EChallengeProgressStatus.Paused ||
4056
+ ((_o = this.challenge) === null || _o === void 0 ? void 0 : _o.Status) === EChallengeProgressStatus.InProgress ||
4057
+ ((_p = this.challenge) === null || _p === void 0 ? void 0 : _p.Status) === EChallengeProgressStatus.PendingLevelReward
4058
+ }, disabled: this.actionLoading, onClick: this.joinUnjoinProgress }, translate(this.actionButtonText, this.language))))));
4059
+ };
4060
+ this.challengeTabs = () => {
4061
+ var _a;
4062
+ const isSportsbook = ((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ContributedFrom) === EContributedFrom.Sportsbook;
4063
+ const tabs = isSportsbook ? this.tabOptions.sportsbook : this.tabOptions.casino;
4064
+ return (h("div", { class: "details__tabs" }, tabs.map((label, index) => (h("div", { class: {
4065
+ details__tab: true,
4066
+ active: index === this.activeTabIndex
4067
+ }, onClick: this.handleTabClick(index) }, label))), h("div", { class: "active-tab-indicator" })));
4068
+ };
4069
+ this.challengeTabContent = () => {
4070
+ var _a;
4071
+ switch (this.activeTabIndex) {
4072
+ case EDetailsTabs.Levels:
4073
+ return this.levelsTab();
4074
+ case EDetailsTabs.GamesOrEvents:
4075
+ if (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ContributedFrom) === EContributedFrom.Sportsbook) {
4076
+ return this.eventsTab();
4077
+ }
4078
+ return this.gamesTab();
4079
+ case EDetailsTabs.Rules:
4080
+ return this.rulesTab();
4081
+ }
4082
+ };
4083
+ this.levelsTab = () => {
4084
+ var _a, _b;
4085
+ return (h("div", { class: "levels__tab", ref: (el) => (this.scrollContainerRef = el) }, (_b = (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.LevelProgresses) === null || _b === void 0 ? void 0 : _b.map((level, index) => {
4086
+ var _a;
4087
+ const activeChallenge = [0, 1, 2, 3].includes((_a = this === null || this === void 0 ? void 0 : this.challenge) === null || _a === void 0 ? void 0 : _a.Status) && !this.isChallengePaused;
4088
+ const isGrayed = (this.isUserAuthorized && level.ProgressStatus !== EChallengeProgressLevelStatus.InProgress) ||
4089
+ !activeChallenge;
4090
+ const isActiveMatch = level.ProgressStatus === EChallengeProgressLevelStatus.InProgress;
4091
+ return (h("div", { class: {
4092
+ level: true,
4093
+ active: this.isUserAuthorized &&
4094
+ activeChallenge &&
4095
+ level.ProgressStatus === EChallengeProgressLevelStatus.InProgress,
4096
+ completed: this.isUserAuthorized &&
4097
+ activeChallenge &&
4098
+ level.ProgressStatus === EChallengeProgressLevelStatus.Completed,
4099
+ grayed: this.isUserAuthorized &&
4100
+ (level.ProgressStatus === EChallengeProgressLevelStatus.Closed ||
4101
+ level.ProgressStatus === EChallengeProgressLevelStatus.Fillup)
4102
+ }, ref: isActiveMatch ? (el) => (this.activeEntityRef = el) : undefined, key: level.LevelId }, h("div", { class: {
4103
+ level__title: true,
4104
+ grayed: isGrayed
4105
+ } }, h("span", null, "Level ", index + 1), this.isUserAuthorized && this.getLevelStatus(level, activeChallenge)), this.isUserAuthorized && level.ProgressStatus === EChallengeProgressLevelStatus.InProgress && (h("div", { class: "level__progress" }, h("casino-challenge-level-progress-bar", { height: "8px", value: level.ProgressPercentage, active: activeChallenge }))), h("casino-challenge-expandable-paragraph", { "max-height": "56", active: level.ProgressStatus === EChallengeProgressLevelStatus.InProgress && activeChallenge }, h("div", { class: {
4106
+ level__bonus: true,
4107
+ grayed: isGrayed
4108
+ } }, h("span", { class: "level__icon" }, h("img", { class: {
4109
+ grayed: isGrayed
4110
+ }, src: giftSvg, alt: "gift-icon", title: "gift-icon" })), h("span", { class: {
4111
+ level__value: true,
4112
+ grayed: isGrayed
4113
+ } }, this.getReward(level))), h("div", { class: {
4114
+ level__target: true,
4115
+ grayed: isGrayed
4116
+ } }, h("span", { class: "level__icon" }, h("img", { class: {
4117
+ grayed: isGrayed
4118
+ }, src: targetSvg, alt: "target-icon", title: "target-icon" })), h("span", { class: {
4119
+ level__value: true,
4120
+ grayed: isGrayed
4121
+ } }, this.getTarget(level))))));
4122
+ })));
4123
+ };
4124
+ this.gamesTab = () => {
4125
+ var _a;
4126
+ return (h("div", { class: "games__tab" }, this.gamesAreLoading ? (h("div", { class: "lds-dual-ring" })) : ((_a = this.games) === null || _a === void 0 ? void 0 : _a.map((game) => {
4127
+ return (h("div", { class: "game", onClick: () => this.handleGameClick(game) }, h("img", { src: game.Thumbnail, alt: "game-icon", title: "game-icon" }), h("span", { class: "contribution" }, translate('contribution', this.language), " ", game.Contribution, "%")));
4128
+ }))));
4129
+ };
4130
+ this.renderEventRule = (rule) => {
4131
+ var _a, _b, _c, _d, _e;
4132
+ const value = [
4133
+ (_a = rule === null || rule === void 0 ? void 0 : rule.Discipline) === null || _a === void 0 ? void 0 : _a.Name,
4134
+ (_b = rule === null || rule === void 0 ? void 0 : rule.Location) === null || _b === void 0 ? void 0 : _b.Name,
4135
+ (_c = rule === null || rule === void 0 ? void 0 : rule.Template) === null || _c === void 0 ? void 0 : _c.Name,
4136
+ (_d = rule === null || rule === void 0 ? void 0 : rule.Tournament) === null || _d === void 0 ? void 0 : _d.Name,
4137
+ (_e = rule === null || rule === void 0 ? void 0 : rule.Event) === null || _e === void 0 ? void 0 : _e.Name
4138
+ ]
4139
+ .filter((x) => !!x)
4140
+ .join(', ');
4141
+ return (h("p", { class: "event" }, `${value} - ${rule.ContributionPercent}% `, h("span", null, translate('contribution', this.language))));
4142
+ };
4143
+ this.eventsTab = () => {
4144
+ var _a, _b, _c;
4145
+ const sortedRules = (_c = (_b = (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.SportSettings) === null || _b === void 0 ? void 0 : _b.EventRules) === null || _c === void 0 ? void 0 : _c.sort((a, b) => a.OrderNumber - b.OrderNumber);
4146
+ return (h("div", { class: "events__tab" }, sortedRules === null || sortedRules === void 0 ? void 0 : sortedRules.map((rule) => {
4147
+ if (rule.OrderNumber === 0) {
4148
+ return (h("p", { class: "event" }, translate('defaultRule', this.language) + `${rule.ContributionPercent}% `, h("span", null, translate('contribution', this.language))));
4149
+ }
4150
+ else {
4151
+ return this.renderEventRule(rule);
4152
+ }
4153
+ })));
4154
+ };
3758
4155
  this.getContributionRule = (isContributeToOne) => {
3759
4156
  if (isContributeToOne) {
3760
4157
  return translate('isContributeToOne', this.language);
@@ -3773,6 +4170,92 @@ const CasinoChallengeDetails = class {
3773
4170
  }
3774
4171
  return '';
3775
4172
  };
4173
+ this.getSportsbookContributionType = (contributedBy) => {
4174
+ switch (contributedBy) {
4175
+ case EWalletTypes.BonusMoney:
4176
+ return translate('sportsbookBonusMoney', this.language);
4177
+ case EWalletTypes.RealCash:
4178
+ return translate('sportsbookRealMoney', this.language);
4179
+ case EWalletTypes.Mixed:
4180
+ return translate('sportsbookMixMoney', this.language);
4181
+ default:
4182
+ return '';
4183
+ }
4184
+ };
4185
+ this.getSportsbookMatchType = (matchType) => {
4186
+ switch (matchType) {
4187
+ case EMatchType.Live:
4188
+ return translate('liveMatchType', this.language);
4189
+ case EMatchType.Any:
4190
+ return translate('mixMatchType', this.language);
4191
+ case EMatchType.PreLive:
4192
+ return translate('preLiveMatchType', this.language);
4193
+ default:
4194
+ return '';
4195
+ }
4196
+ };
4197
+ this.getSportsbookBetBuilder = (betBuilder) => {
4198
+ switch (betBuilder) {
4199
+ case EBetBuilder.BetBuilderOnly:
4200
+ return translate('betBuilder', this.language);
4201
+ case EBetBuilder.Any:
4202
+ return translate('mixBetBuilder', this.language);
4203
+ case EBetBuilder.NotBetBuilderOnly:
4204
+ return translate('nonBetBuilder', this.language);
4205
+ default:
4206
+ return '';
4207
+ }
4208
+ };
4209
+ this.getSportsbookBanker = (banker) => {
4210
+ switch (banker) {
4211
+ case EBanker.BankerOnly:
4212
+ return translate('banker', this.language);
4213
+ case EBanker.Any:
4214
+ return translate('mixBanker', this.language);
4215
+ case EBanker.NotBankerOnly:
4216
+ return translate('nonBanker', this.language);
4217
+ default:
4218
+ return '';
4219
+ }
4220
+ };
4221
+ this.renderOddsLabel = (labelKey, total) => (h("span", null, translate(labelKey, this.language), ": ", this.renderOddsValue(total)));
4222
+ this.renderOddsValue = (total) => {
4223
+ var _a, _b, _c, _d;
4224
+ if (!total)
4225
+ return this.nonValue;
4226
+ return (h("span", { class: "rule__title__value" }, `${(_b = (_a = total.MinOdds) === null || _a === void 0 ? void 0 : _a.toFixed(2)) !== null && _b !== void 0 ? _b : '0'} - `, (_d = (_c = total.MaxOdds) === null || _c === void 0 ? void 0 : _c.toFixed(2)) !== null && _d !== void 0 ? _d : h("strong", { class: "infinity" }, this.infinity)));
4227
+ };
4228
+ this.renderSingleBetType = () => {
4229
+ return (h("div", null, h("h3", { class: "rule__title" }, translate('single', this.language)), this.renderOddsLabel('totalOdds', this.challenge.SportSettings.TotalOddsRangeSingle)));
4230
+ };
4231
+ this.renderMultipleBetType = () => {
4232
+ const betBuilder = this.getSportsbookBetBuilder(this.challenge.SportSettings.BetBuilder);
4233
+ const formatedSelectionAmount = this.formatSelectionRange(this.challenge.SportSettings.SelectionsAmountRangeMultiple, this.challenge.SportSettings.BetBuilder === EBetBuilder.NotBetBuilderOnly ? '2' : '1');
4234
+ return (h("div", null, h("h3", { class: "rule__title" }, translate('multi', this.language)), h("span", null, betBuilder), h("br", null), h("span", null, this.renderOddsLabel('totalOdds', this.challenge.SportSettings.TotalOddsRangeMultiple), h("br", null)), h("span", null, translate('selections', this.language), ": ", formatedSelectionAmount), h("br", null), h("span", null, this.renderOddsLabel('oddsPerSection', this.challenge.SportSettings.OddsPerSelectionRangeMultiple), h("br", null))));
4235
+ };
4236
+ this.renderSystemBetType = () => {
4237
+ const banker = this.getSportsbookBanker(this.challenge.SportSettings.Banker);
4238
+ const formatedSelectionAmount = this.formatSelectionRange(this.challenge.SportSettings.SelectionsAmountRangeSystem, '3');
4239
+ return (h("div", null, h("h3", { class: "rule__title" }, translate('system', this.language)), h("span", null, banker), h("br", null), this.renderOddsLabel('totalOdds', this.challenge.SportSettings.TotalOddsRangeSystem), h("br", null), h("span", null, translate('selections', this.language), ": ", formatedSelectionAmount), h("br", null), this.renderOddsLabel('oddsPerSection', this.challenge.SportSettings.OddsPerSelectionRangeSystem), " ", h("br", null)));
4240
+ };
4241
+ this.renderSportsbookRules = () => {
4242
+ var _a;
4243
+ if (!((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.SportSettings)) {
4244
+ return;
4245
+ }
4246
+ const { SportSettings, ContributedBy } = this.challenge;
4247
+ const { MatchType, BetTypes } = SportSettings;
4248
+ const contributionType = this.getSportsbookContributionType(ContributedBy);
4249
+ const matchType = this.getSportsbookMatchType(MatchType);
4250
+ return (h("div", { class: "sportsbook-rules" }, h("p", { class: "rule" }, h("h3", { class: "rule__title" }, translate('fundsUsed', this.language)), h("span", null, contributionType)), h("p", { class: "rule" }, h("h3", { class: "rule__title" }, translate('eligibleMatchTypes', this.language)), h("span", null, matchType)), h("p", { class: "rule" }, h("h3", { class: "rule__title" }, translate('eligibleBetTypes', this.language)), h("div", { class: "rule__inners" }, BetTypes.includes(EBetType.Single) && this.renderSingleBetType(), BetTypes.includes(EBetType.Multiple) && this.renderMultipleBetType(), BetTypes.includes(EBetType.System) && this.renderSystemBetType()))));
4251
+ };
4252
+ this.rulesTab = () => {
4253
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
4254
+ const contributionType = this.getContributionType((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ContributedBy);
4255
+ const contributionRule = this.getContributionRule((_b = this.challenge) === null || _b === void 0 ? void 0 : _b.IsContributeToOne);
4256
+ const isSportsbook = ((_c = this.challenge) === null || _c === void 0 ? void 0 : _c.ContributedFrom) === EContributedFrom.Sportsbook;
4257
+ return (h("div", { class: "rules__tab" }, ((_e = (_d = this.challenge) === null || _d === void 0 ? void 0 : _d.ChallengePresentation) === null || _e === void 0 ? void 0 : _e.Description) && (h("div", { class: "rule" }, (_g = (_f = this.challenge) === null || _f === void 0 ? void 0 : _f.ChallengePresentation) === null || _g === void 0 ? void 0 : _g.Description)), !isSportsbook && (h("div", null, contributionType && (h("div", { class: "contributionType" }, h("span", { class: "contribution__label contribution__type__label" }, '\u{1F4B0}', " ", translate('contributionType', this.language), ":"), h("span", { class: "contribution__value" }, contributionType))), contributionRule && (h("div", { class: "contributionRule" }, h("span", { class: "contribution__label" }, '\u{1F4C4}', " ", translate('contributionRule', this.language), ":"))), contributionRule && h("span", { class: "contribution__value contribution__rule__value" }, contributionRule))), ((_j = (_h = this.challenge) === null || _h === void 0 ? void 0 : _h.ChallengePresentation) === null || _j === void 0 ? void 0 : _j.Url) && (h("a", { class: "link", href: (_l = (_k = this.challenge) === null || _k === void 0 ? void 0 : _k.ChallengePresentation) === null || _l === void 0 ? void 0 : _l.Url, target: "_blank" }, translate('terms', this.language))), isSportsbook && this.renderSportsbookRules()));
4258
+ };
3776
4259
  this.footer = () => {
3777
4260
  var _a, _b, _c, _d, _e, _f, _g, _h;
3778
4261
  const showButton = !(((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ChallengeStatus) === EChallengeStatus.Paused ||
@@ -3791,6 +4274,18 @@ const CasinoChallengeDetails = class {
3791
4274
  ((_h = this.challenge) === null || _h === void 0 ? void 0 : _h.Status) === EChallengeProgressStatus.PendingLevelReward)
3792
4275
  }, onClick: this.joinUnjoinProgress, disabled: this.actionLoading }, translate(this.actionButtonText, this.language))));
3793
4276
  };
4277
+ this.forfeitedNofitication = () => {
4278
+ var _a;
4279
+ return (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === 5 && (h("div", { class: "notification" }, h("img", { class: "notification__icon", src: alertSvg }), h("span", { class: "notification__message" }, translate('forfeitNotification', this.language)))));
4280
+ };
4281
+ this.completedNotification = () => {
4282
+ var _a;
4283
+ return (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === 3 && (h("div", { class: "notification" }, h("img", { class: "notification__icon", src: checkSvg }), h("div", { class: "notification__column" }, h("span", { class: "notification__title" }, translate('congrats', this.language)), h("span", { class: "notification__message" }, translate('completedNofitication', this.language))))));
4284
+ };
4285
+ this.expiredNotification = () => {
4286
+ var _a;
4287
+ return (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === 4 && (h("div", { class: "notification" }, h("img", { class: "notification__icon", src: infoCircleSvg }), h("span", { class: "notification__message" }, translate('expiredNotification', this.language)))));
4288
+ };
3794
4289
  this.goBack = () => {
3795
4290
  window.history.back();
3796
4291
  };
@@ -3808,7 +4303,7 @@ const CasinoChallengeDetails = class {
3808
4303
  this.userId = '';
3809
4304
  this.redirectIfNotFound = true;
3810
4305
  this.timeLeft = undefined;
3811
- this.activeTabIndex = 0;
4306
+ this.activeTabIndex = EDetailsTabs.Levels;
3812
4307
  this.actionLoading = false;
3813
4308
  this.isMobile = false;
3814
4309
  this.error = '';
@@ -3820,51 +4315,6 @@ const CasinoChallengeDetails = class {
3820
4315
  this.isChallengePaused = false;
3821
4316
  this.sseConnection = undefined;
3822
4317
  }
3823
- connectGameToLiveLobby() {
3824
- if (EventSource && !this.sseConnection) {
3825
- const updateUrl = `${this.endpoint}/v1/encoder/challenges/*/update`;
3826
- this.sseConnection = new eventsource.exports.EventSourcePolyfill(updateUrl);
3827
- this.sseConnection.addEventListener('message', this.handleEvent.bind(this));
3828
- }
3829
- }
3830
- disconnectGameFromLiveLobby() {
3831
- if (this.sseConnection) {
3832
- this.sseConnection.removeEventListener('message');
3833
- this.sseConnection.close();
3834
- this.sseConnection = undefined;
3835
- }
3836
- }
3837
- handleEvent(e) {
3838
- try {
3839
- const parsedData = JSON.parse(e === null || e === void 0 ? void 0 : e.data);
3840
- const { data } = parsedData;
3841
- switch (data === null || data === void 0 ? void 0 : data.messageType) {
3842
- case 'disabledChallengeNotification': {
3843
- if (this.challenge.ChallengeId === (data === null || data === void 0 ? void 0 : data.challengeId)) {
3844
- this.challenge = Object.assign(Object.assign({}, this.challenge), { StatusName: 'Paused', ChallengeStatus: EChallengeStatus.Paused });
3845
- }
3846
- break;
3847
- }
3848
- case 'enabledChallengeNotification': {
3849
- if (this.challenge.ChallengeId === (data === null || data === void 0 ? void 0 : data.challengeId)) {
3850
- this.challenge = Object.assign(Object.assign({}, this.challenge), { StatusName: 'Enabled', ChallengeStatus: EChallengeStatus.Enabled });
3851
- }
3852
- break;
3853
- }
3854
- case 'forfeitedChallengeProgressNotification': {
3855
- if (this.session) {
3856
- if (this.challenge.Id === (data === null || data === void 0 ? void 0 : data.challengeProgressId)) {
3857
- this.challenge = Object.assign(Object.assign({}, this.challenge), { Status: EChallengeProgressStatus.Forfeited });
3858
- }
3859
- }
3860
- break;
3861
- }
3862
- }
3863
- }
3864
- catch (e) {
3865
- console.error('Exception when parse challenges NWA live updates', e);
3866
- }
3867
- }
3868
4318
  handleClientStylingChange(newValue, oldValue) {
3869
4319
  if (newValue != oldValue) {
3870
4320
  setClientStyling(this.stylingContainer, this.clientStyling);
@@ -3885,7 +4335,7 @@ const CasinoChallengeDetails = class {
3885
4335
  this.debounceTimer = setTimeout(() => {
3886
4336
  if (this.isUserAuthorized && this.session && this.challengeId) {
3887
4337
  this.getChallenge();
3888
- if (this.activeTabIndex === 1)
4338
+ if (this.activeTabIndex === EDetailsTabs.GamesOrEvents)
3889
4339
  this.fetchGames();
3890
4340
  }
3891
4341
  }, 50);
@@ -3901,17 +4351,18 @@ const CasinoChallengeDetails = class {
3901
4351
  }, 0);
3902
4352
  }
3903
4353
  }
3904
- scrollToActiveLevel() {
3905
- if (this.activeEntityRef) {
3906
- const container = this.scrollContainerRef;
3907
- const target = this.activeEntityRef;
3908
- const containerTop = container.getBoundingClientRect().top;
3909
- const targetTop = target.getBoundingClientRect().top;
3910
- const scrollOffset = targetTop - containerTop;
3911
- container.scrollTo({
3912
- top: container.scrollTop + scrollOffset - container.clientHeight / 2 + target.clientHeight / 2,
3913
- behavior: 'smooth'
3914
- });
4354
+ connectGameToLiveLobby() {
4355
+ if (EventSource && !this.sseConnection) {
4356
+ const updateUrl = `${this.endpoint}/v1/encoder/challenges/*/update`;
4357
+ this.sseConnection = new eventsource.exports.EventSourcePolyfill(updateUrl);
4358
+ this.sseConnection.addEventListener('message', this.handleEvent.bind(this));
4359
+ }
4360
+ }
4361
+ disconnectGameFromLiveLobby() {
4362
+ if (this.sseConnection) {
4363
+ this.sseConnection.removeEventListener('message');
4364
+ this.sseConnection.close();
4365
+ this.sseConnection = undefined;
3915
4366
  }
3916
4367
  }
3917
4368
  connectedCallback() {
@@ -3919,72 +4370,6 @@ const CasinoChallengeDetails = class {
3919
4370
  this.updateTime();
3920
4371
  }, 1000);
3921
4372
  }
3922
- async updateChallengeViewedStatus() {
3923
- if (!this.checkAttrs()) {
3924
- const url = `${this.endpoint}/challenge/ChangeProgressIsNewStatus`;
3925
- const body = {
3926
- DomainId: this.domain,
3927
- ChallengeProgressId: this.challenge.Id
3928
- };
3929
- return fetch(url, {
3930
- method: 'POST',
3931
- headers: {
3932
- 'Content-Type': 'application/json'
3933
- },
3934
- body: JSON.stringify(body)
3935
- })
3936
- .then((res) => res.json())
3937
- .then((res) => {
3938
- if (res.Success) {
3939
- this.challenge.IsNew = false;
3940
- }
3941
- });
3942
- }
3943
- }
3944
- async getChallenge() {
3945
- if (!this.checkAttrs()) {
3946
- this.currentFetchChallengeId++;
3947
- const fetchId = this.currentFetchChallengeId;
3948
- if (this.abortController) {
3949
- this.abortController.abort();
3950
- }
3951
- this.abortController = new AbortController();
3952
- const signal = this.abortController.signal;
3953
- const url = `${this.endpoint}/challenge/GetChallengesInfo`;
3954
- const body = Object.assign({ DomainId: this.domain, PlayerLanguage: this.language, PageNumber: 0, PageSize: 20 }, (this.session && { PlayerSession: this.session }));
3955
- this.loading = true;
3956
- return fetch(url, {
3957
- method: 'POST',
3958
- headers: {
3959
- 'Content-Type': 'application/json'
3960
- },
3961
- signal,
3962
- body: JSON.stringify(body)
3963
- })
3964
- .then((res) => res.json())
3965
- .then((res) => {
3966
- var _a;
3967
- if (res.Success) {
3968
- const challenge = (_a = res === null || res === void 0 ? void 0 : res.Data) === null || _a === void 0 ? void 0 : _a.find((challenge) => (challenge === null || challenge === void 0 ? void 0 : challenge.ChallengeId) === this.challengeId);
3969
- if (challenge) {
3970
- this.challenge = challenge;
3971
- this.isChallengePaused = this.challenge.ChallengeStatus === EChallengeStatus.Paused;
3972
- if (this.challenge.IsNew) {
3973
- this.updateChallengeViewedStatus();
3974
- }
3975
- }
3976
- else if (this.redirectIfNotFound) {
3977
- this.goBack();
3978
- }
3979
- }
3980
- })
3981
- .finally(() => {
3982
- if (fetchId === this.currentFetchChallengeId) {
3983
- this.loading = false;
3984
- }
3985
- });
3986
- }
3987
- }
3988
4373
  componentWillLoad() {
3989
4374
  if (this.translationUrl) {
3990
4375
  resolveTranslationUrl(this.translationUrl);
@@ -4016,23 +4401,36 @@ const CasinoChallengeDetails = class {
4016
4401
  this.disconnectGameFromLiveLobby();
4017
4402
  window.removeEventListener('resize', this.checkIsMobile);
4018
4403
  }
4019
- getReward(level) {
4020
- return level.CustomRewardMessage || '-';
4021
- }
4022
- getTarget(level) {
4023
- var _a;
4024
- return this.calculateTargetValue(level, (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.CurrencySymbol) || '-';
4025
- }
4026
- updateTime() {
4027
- var _a, _b;
4028
- if (this.challenge) {
4029
- this.timeLeft = getTimeLeft((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ExpirationTime);
4030
- if (!this.timeLeft && this.timerExpired) {
4031
- clearInterval(this.timerId);
4032
- this.challenge = Object.assign(Object.assign({}, this.challenge), { Status: EChallengeProgressStatus.Expired });
4033
- this.timerExpired.emit((_b = this.challenge) === null || _b === void 0 ? void 0 : _b.Id);
4404
+ handleEvent(e) {
4405
+ try {
4406
+ const parsedData = JSON.parse(e === null || e === void 0 ? void 0 : e.data);
4407
+ const { data } = parsedData;
4408
+ switch (data === null || data === void 0 ? void 0 : data.messageType) {
4409
+ case 'disabledChallengeNotification': {
4410
+ if (this.challenge.ChallengeId === (data === null || data === void 0 ? void 0 : data.challengeId)) {
4411
+ this.challenge = Object.assign(Object.assign({}, this.challenge), { StatusName: 'Paused', ChallengeStatus: EChallengeStatus.Paused });
4412
+ }
4413
+ break;
4414
+ }
4415
+ case 'enabledChallengeNotification': {
4416
+ if (this.challenge.ChallengeId === (data === null || data === void 0 ? void 0 : data.challengeId)) {
4417
+ this.challenge = Object.assign(Object.assign({}, this.challenge), { StatusName: 'Enabled', ChallengeStatus: EChallengeStatus.Enabled });
4418
+ }
4419
+ break;
4420
+ }
4421
+ case 'forfeitedChallengeProgressNotification': {
4422
+ if (this.session) {
4423
+ if (this.challenge.Id === (data === null || data === void 0 ? void 0 : data.challengeProgressId)) {
4424
+ this.challenge = Object.assign(Object.assign({}, this.challenge), { Status: EChallengeProgressStatus.Forfeited });
4425
+ }
4426
+ }
4427
+ break;
4428
+ }
4034
4429
  }
4035
4430
  }
4431
+ catch (e) {
4432
+ console.error('Exception when parse challenges NWA live updates', e);
4433
+ }
4036
4434
  }
4037
4435
  get actionButtonText() {
4038
4436
  var _a;
@@ -4057,12 +4455,6 @@ const CasinoChallengeDetails = class {
4057
4455
  }
4058
4456
  return 'join';
4059
4457
  }
4060
- openLoginRegisterModal() {
4061
- window.postMessage({
4062
- type: 'OpenLoginRegisterModal',
4063
- transition: 'Login'
4064
- });
4065
- }
4066
4458
  async fetchGames() {
4067
4459
  if (!this.checkAttrs()) {
4068
4460
  this.currentFetchGamesId++;
@@ -4101,92 +4493,6 @@ const CasinoChallengeDetails = class {
4101
4493
  });
4102
4494
  }
4103
4495
  }
4104
- getLevelStatus(level, active) {
4105
- if (this.isUserAuthorized) {
4106
- if (level.ProgressStatus === EChallengeProgressLevelStatus.InProgress && !active)
4107
- return (h("div", { class: "level__status" }, h("span", null, Math.floor(level.ProgressPercentage), "%"), h("img", { src: lockSvg, alt: "lock-icon", title: "lock-icon" })));
4108
- else if (level.ProgressStatus === EChallengeProgressLevelStatus.Closed || !active)
4109
- return (h("div", { class: "level__status" }, h("img", { src: lockSvg, alt: "lock-icon", title: "lock-icon" })));
4110
- else if (level.ProgressStatus === EChallengeProgressLevelStatus.Fillup)
4111
- return (h("div", { class: "level__status" }, h("img", { src: lockSvg, alt: "lock-icon", title: "lock-icon" })));
4112
- else if (level.ProgressStatus === EChallengeProgressLevelStatus.Completed)
4113
- return h("span", { class: "completed" }, translate('completed', this.language));
4114
- else if (level.ProgressStatus === EChallengeProgressLevelStatus.InProgress)
4115
- return h("span", { class: "level__status in-progress" }, Math.floor(level.ProgressPercentage), "%");
4116
- }
4117
- return null;
4118
- }
4119
- get pageHeader() {
4120
- return (h("div", { class: "challenges-header" }, h("h1", { class: "challenges-title" }, h("img", { src: titleIconSvg, alt: "icon" }), translate('title', this.language)), this.isUserAuthorized && (h("div", { class: "challenges-tabs" }, this.challengesTabs.map((label, index) => (h("div", { class: `challenges-tab ${index === +this.activeChallengeTabIndex ? 'active' : ''}`, onClick: this.handleChallengesTabClick(index) }, label, this.showNotification === index && h("img", { src: notificationSvg }))))))));
4121
- }
4122
- get cardGeneralInfo() {
4123
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
4124
- const showButton = !(((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ChallengeStatus) === EChallengeStatus.Paused ||
4125
- ((_b = this.challenge) === null || _b === void 0 ? void 0 : _b.Status) === EChallengeProgressStatus.Forfeited ||
4126
- ((_c = this.challenge) === null || _c === void 0 ? void 0 : _c.Status) === EChallengeProgressStatus.Completed ||
4127
- ((_d = this.challenge) === null || _d === void 0 ? void 0 : _d.Status) === EChallengeProgressStatus.Expired);
4128
- return (h("div", { class: "details__general-info" }, h("div", { class: "details__general-info-image-container" }, h("img", { class: {
4129
- 'details__general-info-image': true,
4130
- grayed: [
4131
- EChallengeProgressStatus.Expired,
4132
- EChallengeProgressStatus.Forfeited,
4133
- EChallengeProgressStatus.Completed
4134
- ].includes((_e = this.challenge) === null || _e === void 0 ? void 0 : _e.Status) || this.isChallengePaused
4135
- }, src: (_g = (_f = this.challenge) === null || _f === void 0 ? void 0 : _f.ChallengePresentation) === null || _g === void 0 ? void 0 : _g.BannerUrl, alt: "banner-image", title: "banner-image" }), this.getCardBadge()), h("div", { class: "details__general-info-content" }, h("h1", { class: "details__general-info-title" }, (_j = (_h = this.challenge) === null || _h === void 0 ? void 0 : _h.ChallengePresentation) === null || _j === void 0 ? void 0 : _j.PresentationName), h("h3", { class: "details__general-info-end-date_label" }, translate('endDate', this.language), " -", ' ', h("span", { class: "details__general-info-end-date_value" }, this.challenge ? formatDate((_k = this.challenge) === null || _k === void 0 ? void 0 : _k.ExpirationTime) : '-')), h("casino-challenge-progress-bar", { challenge: this.challenge, isUserAuthorized: this.isUserAuthorized, language: this.language }), showButton && (h("button", { class: {
4136
- 'details__general-info-action-button': true,
4137
- filled: ((_l = this.challenge) === null || _l === void 0 ? void 0 : _l.Status) === EChallengeProgressStatus.Started,
4138
- grayed: ((_m = this.challenge) === null || _m === void 0 ? void 0 : _m.Status) === EChallengeProgressStatus.Paused ||
4139
- ((_o = this.challenge) === null || _o === void 0 ? void 0 : _o.Status) === EChallengeProgressStatus.InProgress ||
4140
- ((_p = this.challenge) === null || _p === void 0 ? void 0 : _p.Status) === EChallengeProgressStatus.PendingLevelReward
4141
- }, disabled: this.actionLoading, onClick: this.joinUnjoinProgress }, translate(this.actionButtonText, this.language))))));
4142
- }
4143
- get challengeTabs() {
4144
- return (h("div", { class: "details__tabs" }, this.tabs.map((label, index) => (h("div", { class: {
4145
- details__tab: true,
4146
- active: index === this.activeTabIndex
4147
- }, onClick: this.handleTabClick(index) }, label))), h("div", { class: "active-tab-indicator" })));
4148
- }
4149
- get levelsTab() {
4150
- var _a, _b;
4151
- return (h("div", { class: "levels__tab", ref: (el) => (this.scrollContainerRef = el) }, (_b = (_a = this.challenge) === null || _a === void 0 ? void 0 : _a.LevelProgresses) === null || _b === void 0 ? void 0 : _b.map((level, index) => {
4152
- var _a;
4153
- const activeChallenge = [0, 1, 2, 3].includes((_a = this === null || this === void 0 ? void 0 : this.challenge) === null || _a === void 0 ? void 0 : _a.Status) && !this.isChallengePaused;
4154
- const isGrayed = (this.isUserAuthorized && level.ProgressStatus !== EChallengeProgressLevelStatus.InProgress) ||
4155
- !activeChallenge;
4156
- const isActiveMatch = level.ProgressStatus === EChallengeProgressLevelStatus.InProgress;
4157
- return (h("div", { class: {
4158
- level: true,
4159
- active: this.isUserAuthorized &&
4160
- activeChallenge &&
4161
- level.ProgressStatus === EChallengeProgressLevelStatus.InProgress,
4162
- completed: this.isUserAuthorized &&
4163
- activeChallenge &&
4164
- level.ProgressStatus === EChallengeProgressLevelStatus.Completed,
4165
- grayed: this.isUserAuthorized &&
4166
- (level.ProgressStatus === EChallengeProgressLevelStatus.Closed ||
4167
- level.ProgressStatus === EChallengeProgressLevelStatus.Fillup)
4168
- }, ref: isActiveMatch ? (el) => (this.activeEntityRef = el) : undefined, key: level.LevelId }, h("div", { class: {
4169
- level__title: true,
4170
- grayed: isGrayed
4171
- } }, h("span", null, "Level ", index + 1), this.isUserAuthorized && this.getLevelStatus(level, activeChallenge)), this.isUserAuthorized && level.ProgressStatus === EChallengeProgressLevelStatus.InProgress && (h("div", { class: "level__progress" }, h("casino-challenge-level-progress-bar", { height: "8px", value: level.ProgressPercentage, active: activeChallenge }))), h("casino-challenge-expandable-paragraph", { "max-height": "56", active: level.ProgressStatus === EChallengeProgressLevelStatus.InProgress && activeChallenge }, h("div", { class: {
4172
- level__bonus: true,
4173
- grayed: isGrayed
4174
- } }, h("span", { class: "level__icon" }, h("img", { class: {
4175
- grayed: isGrayed
4176
- }, src: giftSvg, alt: "gift-icon", title: "gift-icon" })), h("span", { class: {
4177
- level__value: true,
4178
- grayed: isGrayed
4179
- } }, this.getReward(level))), h("div", { class: {
4180
- level__target: true,
4181
- grayed: isGrayed
4182
- } }, h("span", { class: "level__icon" }, h("img", { class: {
4183
- grayed: isGrayed
4184
- }, src: targetSvg, alt: "target-icon", title: "target-icon" })), h("span", { class: {
4185
- level__value: true,
4186
- grayed: isGrayed
4187
- } }, this.getTarget(level))))));
4188
- })));
4189
- }
4190
4496
  handleGameClick(game) {
4191
4497
  if (!this.isUserAuthorized) {
4192
4498
  this.openLoginRegisterModal();
@@ -4204,32 +4510,25 @@ const CasinoChallengeDetails = class {
4204
4510
  }
4205
4511
  });
4206
4512
  }
4207
- get gamesTab() {
4208
- var _a;
4209
- return (h("div", { class: "games__tab" }, this.gamesAreLoading ? (h("div", { class: "lds-dual-ring" })) : ((_a = this.games) === null || _a === void 0 ? void 0 : _a.map((game) => {
4210
- return (h("div", { class: "game", onClick: () => this.handleGameClick(game) }, h("img", { src: game.Thumbnail, alt: "game-icon", title: "game-icon" }), h("span", { class: "contribution" }, translate('contribution', this.language), " ", game.Contribution, "%")));
4211
- }))));
4212
- }
4213
- get rulesTab() {
4214
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
4215
- const contributionType = this.getContributionType((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ContributedBy);
4216
- const contributionRule = this.getContributionRule((_b = this.challenge) === null || _b === void 0 ? void 0 : _b.IsContributeToOne);
4217
- return (h("div", { class: "rules__tab" }, ((_d = (_c = this.challenge) === null || _c === void 0 ? void 0 : _c.ChallengePresentation) === null || _d === void 0 ? void 0 : _d.Description) && (h("div", { class: "rule" }, (_f = (_e = this.challenge) === null || _e === void 0 ? void 0 : _e.ChallengePresentation) === null || _f === void 0 ? void 0 : _f.Description)), contributionType && (h("div", { class: "contributionType" }, h("span", { class: "contribution__label contribution__type__label" }, '\u{1F4B0}', " ", translate('contributionType', this.language), ":"), h("span", { class: "contribution__value" }, contributionType))), contributionRule && (h("div", { class: "contributionRule" }, h("span", { class: "contribution__label" }, '\u{1F4C4}', " ", translate('contributionRule', this.language), ":"))), contributionRule && h("span", { class: "contribution__value contribution__rule__value" }, contributionRule), ((_h = (_g = this.challenge) === null || _g === void 0 ? void 0 : _g.ChallengePresentation) === null || _h === void 0 ? void 0 : _h.Url) && (h("a", { class: "link", href: (_k = (_j = this.challenge) === null || _j === void 0 ? void 0 : _j.ChallengePresentation) === null || _k === void 0 ? void 0 : _k.Url, target: "_blank" }, translate('terms', this.language)))));
4218
- }
4219
- get forfeitedNofitication() {
4220
- var _a;
4221
- return (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === 5 && (h("div", { class: "notification" }, h("img", { class: "notification__icon", src: alertSvg }), h("span", { class: "notification__message" }, translate('forfeitNotification', this.language)))));
4222
- }
4223
- get completedNotification() {
4224
- var _a;
4225
- return (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === 3 && (h("div", { class: "notification" }, h("img", { class: "notification__icon", src: checkSvg }), h("div", { class: "notification__column" }, h("span", { class: "notification__title" }, translate('congrats', this.language)), h("span", { class: "notification__message" }, translate('completedNofitication', this.language))))));
4513
+ formatSelectionRange(range, fallbackMin) {
4514
+ var _a, _b;
4515
+ if (!range)
4516
+ return this.nonValue;
4517
+ return `${(_a = range.Min) !== null && _a !== void 0 ? _a : fallbackMin} - ${(_b = range.Max) !== null && _b !== void 0 ? _b : this.maxSelections}`;
4226
4518
  }
4227
- get expiredNotification() {
4519
+ renderCardIcon() {
4228
4520
  var _a;
4229
- return (((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.Status) === 4 && (h("div", { class: "notification" }, h("img", { class: "notification__icon", src: infoCircleSvg }), h("span", { class: "notification__message" }, translate('expiredNotification', this.language)))));
4521
+ switch ((_a = this.challenge) === null || _a === void 0 ? void 0 : _a.ContributedFrom) {
4522
+ case EContributedFrom.Casino:
4523
+ return h("img", { class: "details__general-info-title__icon--casino", src: slotMachineSvg });
4524
+ case EContributedFrom.Sportsbook:
4525
+ return h("img", { class: "details__general-info-title__icon--sportsbook", src: sportsbookSvg });
4526
+ default:
4527
+ return;
4528
+ }
4230
4529
  }
4231
4530
  render() {
4232
- return (h("div", { key: 'a5deb370d19234d211f2b0c8bfbdabd15bae600a', ref: (el) => (this.stylingContainer = el), class: "container" }, this.pageHeader, this.loading ? (h("div", { class: "lds-dual-ring" })) : (h("div", null, h("button", { class: "back-button", onClick: this.goBack }, h("img", { class: "back-button__icon", src: backArrowSvg }), this.getBackButtonText()), this.forfeitedNofitication, this.completedNotification, this.expiredNotification, h("div", { class: "details" }, this.cardGeneralInfo, h("div", { class: "details__tabs-container" }, this.challengeTabs, this.activeTabIndex === 0 && this.levelsTab, this.activeTabIndex === 1 && this.gamesTab, this.activeTabIndex === 2 && this.rulesTab), this.footer())))));
4531
+ return (h("div", { key: 'c7cab4f0694412840a4d7b9fa1fdae1f7fc8e65f', ref: (el) => (this.stylingContainer = el), class: "container" }, this.pageHeader(), this.loading ? (h("div", { class: "lds-dual-ring" })) : (h("div", null, h("button", { class: "back-button", onClick: this.goBack }, h("img", { class: "back-button__icon", src: backArrowSvg }), this.getBackButtonText()), this.forfeitedNofitication(), this.completedNotification(), this.expiredNotification(), h("div", { class: "details" }, this.cardGeneralInfo(), h("div", { class: "details__tabs-container" }, this.challengeTabs(), this.challengeTabContent()), this.footer())))));
4233
4532
  }
4234
4533
  static get watchers() { return {
4235
4534
  "clientStyling": ["handleClientStylingChange"],