student 2 týždňov pred
rodič
commit
62909b13b5

+ 6 - 0
Kitty_Fall/Kitty_Fall/Common/Http/Apis/Request/UserGameActivityHistory.cs

@@ -42,6 +42,12 @@ namespace Common.Http.Apis.Request
         public string rewardCssClass { get; set; } = "";
         public string rewardIcon { get; set; } = "";
         public bool hasReward { get; set; }
+        public decimal dataMb { get; set; }
+        public string dataMbText { get; set; } = "0";
+        public decimal score { get; set; }
+        public string scoreText { get; set; } = "0";
+        public decimal loyalty { get; set; }
+        public string loyaltyText { get; set; } = "0";
     }
 
     public class UserGameActivityProfile

+ 73 - 45
Kitty_Fall/Kitty_Fall/Kitty_Fall.Apis/Business/Game/GameBusinessImpl.cs

@@ -84,25 +84,39 @@ namespace Kitty_Fall.Apis.Business.Game
                     return CommonLogic.BuildResponse(url, json, CommonErrorCode.Error, Lang.accountInvalid, new { });
                 }
 
-                var query = dbContext.GameLevelAttempts.AsNoTracking()
-                    .Include(x => x.Mode)
-                    .Include(x => x.GameRewardLog)
+                var historyQuery = dbContext.GameLevelAttempts.AsNoTracking()
                     .Where(x => x.Msisdn == msisdn
                         && x.Status == 2
                         && ((x.SubmitTime ?? x.StartTime) >= fromDate)
-                        && ((x.SubmitTime ?? x.StartTime) < toExclusive))
-                    .OrderByDescending(x => x.SubmitTime ?? x.StartTime)
-                    .ThenByDescending(x => x.AttemptId);
+                        && ((x.SubmitTime ?? x.StartTime) < toExclusive));
 
-                var totalRow = await query.CountAsync();
+                // History hien thi theo mot luot choi (session), khong tach tung level.
+                var sessionQuery = historyQuery
+                    .GroupBy(x => x.SessionId)
+                    .Select(group => new
+                    {
+                        sessionId = group.Key,
+                        eventTime = group.Max(x => x.SubmitTime ?? x.StartTime)
+                    });
+
+                var totalRow = await sessionQuery.CountAsync();
                 var totalPage = totalRow == 0 ? 0 : (int)Math.Ceiling(totalRow / (double)pageSize);
                 if (totalPage > 0 && pageNumber > totalPage) pageNumber = totalPage;
 
-                var attempts = await query
+                var pageSessions = await sessionQuery
+                    .OrderByDescending(x => x.eventTime)
+                    .ThenByDescending(x => x.sessionId)
                     .Skip((pageNumber - 1) * pageSize)
                     .Take(pageSize)
                     .ToListAsync();
 
+                var pageSessionIds = pageSessions.Select(x => x.sessionId).ToList();
+                var attempts = await historyQuery
+                    .Include(x => x.Mode)
+                    .Include(x => x.GameRewardLog)
+                    .Where(x => pageSessionIds.Contains(x.SessionId))
+                    .ToListAsync();
+
                 var now = DateTime.Now;
                 var startOfMonth = new DateTime(now.Year, now.Month, 1);
                 var monthKey = now.Year * 100 + now.Month;
@@ -118,50 +132,64 @@ namespace Kitty_Fall.Apis.Business.Game
                         && x.StartTime < startOfMonth.AddMonths(1))
                     .SumAsync(x => (long?)x.TotalScore) ?? 0;
 
-                var items = attempts.Select(attempt =>
+                var attemptsBySession = attempts
+                    .GroupBy(x => x.SessionId)
+                    .ToDictionary(group => group.Key, group => group.ToList());
+
+                var items = pageSessions.Select(session =>
                 {
-                    var eventTime = attempt.SubmitTime ?? attempt.StartTime;
-                    // Ket qua random tren ATTEMPT la nguon su that. Reward log chi la
-                    // trang thai payout, worker khong duoc lam thay doi loai da trung.
-                    var hasAttemptReward = !string.IsNullOrWhiteSpace(attempt.RewardType);
-                    var rewardType = hasAttemptReward
-                        ? attempt.RewardType!
-                        : attempt.GameRewardLog?.RewardType ?? "";
-                    var rewardValue = hasAttemptReward
-                        ? attempt.RewardValue ?? 0
-                        : attempt.GameRewardLog?.RewardValue ?? 0;
-                    var rewardUnit = hasAttemptReward
-                        ? attempt.RewardUnit ?? ""
-                        : attempt.GameRewardLog?.RewardUnit ?? "";
-                    if (string.IsNullOrWhiteSpace(rewardType) && attempt.AwardedScore > 0)
+                    var sessionAttempts = attemptsBySession.GetValueOrDefault(session.sessionId) ?? new();
+                    var latestAttempt = sessionAttempts
+                        .OrderByDescending(x => x.SubmitTime ?? x.StartTime)
+                        .ThenByDescending(x => x.AttemptId)
+                        .First();
+                    decimal dataMb = 0;
+                    decimal loyalty = 0;
+                    decimal score = 0;
+
+                    foreach (var attempt in sessionAttempts)
                     {
-                        // Level thuong khong random reward option van phai hien thi
-                        // SCORE game da duoc server cong khi pass level.
-                        rewardType = "SCORE";
-                        rewardValue = attempt.AwardedScore;
-                        rewardUnit = "POINT";
+                        // Ket qua random tren ATTEMPT la nguon su that. Reward log chi la
+                        // trang thai payout, worker khong duoc lam thay doi loai da trung.
+                        var hasAttemptReward = !string.IsNullOrWhiteSpace(attempt.RewardType);
+                        var rewardType = hasAttemptReward
+                            ? attempt.RewardType!
+                            : attempt.GameRewardLog?.RewardType ?? "";
+                        var rewardValue = hasAttemptReward
+                            ? attempt.RewardValue ?? 0
+                            : attempt.GameRewardLog?.RewardValue ?? 0;
+
+                        score += attempt.AwardedScore;
+                        if (string.Equals(rewardType, "DATA", StringComparison.OrdinalIgnoreCase)) dataMb += rewardValue;
+                        if (string.Equals(rewardType, "LOYALTY", StringComparison.OrdinalIgnoreCase)) loyalty += rewardValue;
+                        if (string.Equals(rewardType, "SCORE", StringComparison.OrdinalIgnoreCase)) score += rewardValue;
                     }
 
+                    var firstLevel = sessionAttempts.Min(x => (int)x.LevelNo);
+                    var lastLevel = sessionAttempts.Max(x => (int)x.LevelNo);
+                    var levelDetail = firstLevel == lastLevel
+                        ? $"Played level {firstLevel}"
+                        : $"Played levels {firstLevel}-{lastLevel}";
+
                     return new UserGameActivityHistoryItem
                     {
-                        attemptId = attempt.AttemptId,
-                        sessionId = attempt.SessionId,
-                        dateText = eventTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture),
-                        timeText = eventTime.ToString("HH:mm:ss", CultureInfo.InvariantCulture),
+                        attemptId = latestAttempt.AttemptId,
+                        sessionId = session.sessionId,
+                        dateText = session.eventTime.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture),
+                        timeText = session.eventTime.ToString("HH:mm:ss", CultureInfo.InvariantCulture),
                         activity = "Play game",
-                        detail = $"Passed level {attempt.LevelNo}",
-                        modeCode = attempt.Mode.ModeCode,
-                        modeName = ToModeName(attempt.Mode.ModeCode, attempt.Mode.ModeName),
-                        modeCssClass = ToModeCssClass(attempt.Mode.ModeCode),
-                        levelNo = attempt.LevelNo,
-                        rewardType = rewardType,
-                        rewardValue = rewardValue,
-                        rewardValueText = FormatRewardValue(rewardValue),
-                        rewardUnit = rewardUnit,
-                        rewardUnitText = ToRewardUnitText(rewardType, rewardUnit),
-                        rewardCssClass = ToRewardCssClass(rewardType),
-                        rewardIcon = ToRewardIcon(rewardType),
-                        hasReward = !string.IsNullOrWhiteSpace(rewardType) && rewardValue > 0
+                        detail = levelDetail,
+                        modeCode = latestAttempt.Mode.ModeCode,
+                        modeName = ToModeName(latestAttempt.Mode.ModeCode, latestAttempt.Mode.ModeName),
+                        modeCssClass = ToModeCssClass(latestAttempt.Mode.ModeCode),
+                        levelNo = lastLevel,
+                        hasReward = dataMb > 0 || score > 0 || loyalty > 0,
+                        dataMb = dataMb,
+                        dataMbText = FormatRewardValue(dataMb),
+                        score = score,
+                        scoreText = FormatRewardValue(score),
+                        loyalty = loyalty,
+                        loyaltyText = FormatRewardValue(loyalty)
                     };
                 }).ToList();
 

+ 1021 - 554
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.Designer.cs

@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
 //     Runtime Version:4.0.30319.42000
@@ -61,1418 +61,1885 @@ namespace Kitty_Fall.Website.Language {
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to auto-renewed daily..
+        ///   Looks up a localized string similar to ACTIVE SUBSCRIPTION.
         /// </summary>
-        public static string AutoRenewedDaily {
+        public static string AccountActiveSubscription {
             get {
-                return ResourceManager.GetString("AutoRenewedDaily", resourceCulture);
+                return ResourceManager.GetString("AccountActiveSubscription", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Activity.
+        ///   Looks up a localized string similar to Auto renew.
         /// </summary>
-        public static string Activity {
+        public static string AccountAutoRenew {
             get {
-                return ResourceManager.GetString("Activity", resourceCulture);
+                return ResourceManager.GetString("AccountAutoRenew", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Back.
+        ///   Looks up a localized string similar to Account avatar.
         /// </summary>
-        public static string Back {
+        public static string AccountAvatarAlt {
             get {
-                return ResourceManager.GetString("Back", resourceCulture);
+                return ResourceManager.GetString("AccountAvatarAlt", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Balanced challenge.
+        ///   Looks up a localized string similar to Kitty Fall cat.
         /// </summary>
-        public static string BalancedChallenge {
+        public static string AccountCancelCatAlt {
             get {
-                return ResourceManager.GetString("BalancedChallenge", resourceCulture);
+                return ResourceManager.GetString("AccountCancelCatAlt", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Climb to the Leaderboard.
+        ///   Looks up a localized string similar to {0} to {1}.
         /// </summary>
-        public static string ClimbToLeaderboard {
+        public static string AccountCancelCommand {
             get {
-                return ResourceManager.GetString("ClimbToLeaderboard", resourceCulture);
+                return ResourceManager.GetString("AccountCancelCommand", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Confirm.
+        ///   Looks up a localized string similar to If you want to cancel the service, please send.
         /// </summary>
-        public static string Confirm {
+        public static string AccountCancelInstruction {
             get {
-                return ResourceManager.GetString("Confirm", resourceCulture);
+                return ResourceManager.GetString("AccountCancelInstruction", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Buy Turn.
+        ///   Looks up a localized string similar to Close account menu.
         /// </summary>
-        public static string BuyTurn {
+        public static string AccountCloseMenu {
             get {
-                return ResourceManager.GetString("BuyTurn", resourceCulture);
+                return ResourceManager.GetString("AccountCloseMenu", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Select a turn package.
+        ///   Looks up a localized string similar to CURRENT PACKAGE.
         /// </summary>
-        public static string SelectTurnPackage {
+        public static string AccountCurrentPackage {
             get {
-                return ResourceManager.GetString("SelectTurnPackage", resourceCulture);
+                return ResourceManager.GetString("AccountCurrentPackage", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Confirm Buy Turn.
+        ///   Looks up a localized string similar to Daily Package.
         /// </summary>
-        public static string ConfirmBuyTurn {
+        public static string AccountDailyPackage {
             get {
-                return ResourceManager.GetString("ConfirmBuyTurn", resourceCulture);
+                return ResourceManager.GetString("AccountDailyPackage", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Do you want to buy this turn package?.
+        ///   Looks up a localized string similar to DATA (MB).
         /// </summary>
-        public static string ConfirmBuyTurnQuestion {
+        public static string AccountDataMb {
             get {
-                return ResourceManager.GetString("ConfirmBuyTurnQuestion", resourceCulture);
+                return ResourceManager.GetString("AccountDataMb", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Confirm Subscription.
+        ///   Looks up a localized string similar to This is your default account..
         /// </summary>
-        public static string ConfirmSubscription {
+        public static string AccountDefaultDescription {
             get {
-                return ResourceManager.GetString("ConfirmSubscription", resourceCulture);
+                return ResourceManager.GetString("AccountDefaultDescription", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Date &amp; Time.
+        ///   Looks up a localized string similar to ENGLISH.
         /// </summary>
-        public static string Date {
+        public static string AccountEnglish {
             get {
-                return ResourceManager.GetString("Date", resourceCulture);
+                return ResourceManager.GetString("AccountEnglish", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Detail.
+        ///   Looks up a localized string similar to Expires {0}.
         /// </summary>
-        public static string Detail {
+        public static string AccountExpires {
             get {
-                return ResourceManager.GetString("Detail", resourceCulture);
+                return ResourceManager.GetString("AccountExpires", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Daily Package.
+        ///   Looks up a localized string similar to and follow the instructions..
         /// </summary>
-        public static string DailyPackage {
+        public static string AccountFollowInstructions {
             get {
-                return ResourceManager.GetString("DailyPackage", resourceCulture);
+                return ResourceManager.GetString("AccountFollowInstructions", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Daily Winner List.
+        ///   Looks up a localized string similar to HOW TO CANCEL.
         /// </summary>
-        public static string DailyWinnerList {
+        public static string AccountHowToCancel {
             get {
-                return ResourceManager.GetString("DailyWinnerList", resourceCulture);
+                return ResourceManager.GetString("AccountHowToCancel", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Easier to complete levels.
+        ///   Looks up a localized string similar to LANGUAGE.
         /// </summary>
-        public static string EasierToCompleteLevels {
+        public static string AccountLanguage {
             get {
-                return ResourceManager.GetString("EasierToCompleteLevels", resourceCulture);
+                return ResourceManager.GetString("AccountLanguage", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Easy.
+        ///   Looks up a localized string similar to LOYALTY POINTS.
         /// </summary>
-        public static string Easy {
+        public static string AccountLoyaltyPoints {
             get {
-                return ResourceManager.GetString("Easy", resourceCulture);
+                return ResourceManager.GetString("AccountLoyaltyPoints", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Enjoy more rewards and exciting gameplay!.
+        ///   Looks up a localized string similar to Points, data and rewards are accumulated from {0} - {1} and reset monthly..
         /// </summary>
-        public static string EnjoyMoreRewards {
+        public static string AccountMonthlySummary {
             get {
-                return ResourceManager.GetString("EnjoyMoreRewards", resourceCulture);
+                return ResourceManager.GetString("AccountMonthlySummary", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Fewer obstacles.
+        ///   Looks up a localized string similar to MYANMAR.
         /// </summary>
-        public static string FewerObstacles {
+        public static string AccountMyanmar {
             get {
-                return ResourceManager.GetString("FewerObstacles", resourceCulture);
+                return ResourceManager.GetString("AccountMyanmar", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to For experienced players.
+        ///   Looks up a localized string similar to No active package.
         /// </summary>
-        public static string ForExperiencedPlayers {
+        public static string AccountNoActivePackage {
             get {
-                return ResourceManager.GetString("ForExperiencedPlayers", resourceCulture);
+                return ResourceManager.GetString("AccountNoActivePackage", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Players can choose the game difficulty level: Easy - Normal - Hard..
+        ///   Looks up a localized string similar to ACCOUNT (PHONE NUMBER).
         /// </summary>
-        public static string GameDifficultyLevelGuide {
+        public static string AccountPhoneNumber {
             get {
-                return ResourceManager.GetString("GameDifficultyLevelGuide", resourceCulture);
+                return ResourceManager.GetString("AccountPhoneNumber", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Get 5 Turns every day!.
+        ///   Looks up a localized string similar to {0} plays per day.
         /// </summary>
-        public static string GetFiveTurnsEveryDay {
+        public static string AccountPlaysPerDay {
             get {
-                return ResourceManager.GetString("GetFiveTurnsEveryDay", resourceCulture);
+                return ResourceManager.GetString("AccountPlaysPerDay", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Guide.
+        ///   Looks up a localized string similar to POINTS.
         /// </summary>
-        public static string Guide {
+        public static string AccountPoints {
             get {
-                return ResourceManager.GetString("Guide", resourceCulture);
+                return ResourceManager.GetString("AccountPoints", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Hard.
+        ///   Looks up a localized string similar to Your game experience and rewards are saved to this account securely..
         /// </summary>
-        public static string Hard {
+        public static string AccountSecurityNote {
             get {
-                return ResourceManager.GetString("Hard", resourceCulture);
+                return ResourceManager.GetString("AccountSecurityNote", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Higher score rewards.
+        ///   Looks up a localized string similar to Subscribed since {0}.
         /// </summary>
-        public static string HigherScoreRewards {
+        public static string AccountSubscribedSince {
             get {
-                return ResourceManager.GetString("HigherScoreRewards", resourceCulture);
+                return ResourceManager.GetString("AccountSubscribedSince", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to History.
+        ///   Looks up a localized string similar to Subscription information is not available..
         /// </summary>
-        public static string History {
+        public static string AccountSubscriptionUnavailable {
             get {
-                return ResourceManager.GetString("History", resourceCulture);
+                return ResourceManager.GetString("AccountSubscriptionUnavailable", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to History is stored for last 30 days.
+        ///   Looks up a localized string similar to ACCOUNT.
         /// </summary>
-        public static string HistoryStoredLast30Days {
+        public static string AccountTitle {
             get {
-                return ResourceManager.GetString("HistoryStoredLast30Days", resourceCulture);
+                return ResourceManager.GetString("AccountTitle", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Home.
+        ///   Looks up a localized string similar to Total data won.
         /// </summary>
-        public static string Home {
+        public static string AccountTotalDataWon {
             get {
-                return ResourceManager.GetString("Home", resourceCulture);
+                return ResourceManager.GetString("AccountTotalDataWon", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Leaderboard.
+        ///   Looks up a localized string similar to Total loyalty points.
         /// </summary>
-        public static string Leaderboard {
+        public static string AccountTotalLoyaltyPoints {
             get {
-                return ResourceManager.GetString("Leaderboard", resourceCulture);
+                return ResourceManager.GetString("AccountTotalLoyaltyPoints", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Maximum to complete levels.
+        ///   Looks up a localized string similar to Total points.
         /// </summary>
-        public static string MaximumToCompleteLevels {
+        public static string AccountTotalPoints {
             get {
-                return ResourceManager.GetString("MaximumToCompleteLevels", resourceCulture);
+                return ResourceManager.GetString("AccountTotalPoints", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Medium.
+        ///   Looks up a localized string similar to TOTAL THIS MONTH.
         /// </summary>
-        public static string Medium {
+        public static string AccountTotalThisMonth {
             get {
-                return ResourceManager.GetString("Medium", resourceCulture);
+                return ResourceManager.GetString("AccountTotalThisMonth", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to mode.
+        ///   Looks up a localized string similar to Activity.
         /// </summary>
-        public static string Mode {
+        public static string Activity {
             get {
-                return ResourceManager.GetString("Mode", resourceCulture);
+                return ResourceManager.GetString("Activity", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to My Rank.
+        ///   Looks up a localized string similar to auto-renewed daily..
         /// </summary>
-        public static string MyRank {
+        public static string AutoRenewedDaily {
             get {
-                return ResourceManager.GetString("MyRank", resourceCulture);
+                return ResourceManager.GetString("AutoRenewedDaily", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to No leaderboard found.
+        ///   Looks up a localized string similar to Back.
         /// </summary>
-        public static string NoLeaderboardFound {
+        public static string Back {
             get {
-                return ResourceManager.GetString("NoLeaderboardFound", resourceCulture);
+                return ResourceManager.GetString("Back", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to No.
+        ///   Looks up a localized string similar to Balanced challenge.
         /// </summary>
-        public static string No {
+        public static string BalancedChallenge {
             get {
-                return ResourceManager.GetString("No", resourceCulture);
+                return ResourceManager.GetString("BalancedChallenge", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to No daily winners found.
+        ///   Looks up a localized string similar to BUY MORE TURNS.
         /// </summary>
-        public static string NoDailyWinnersFound {
+        public static string BuyMoreTurns {
             get {
-                return ResourceManager.GetString("NoDailyWinnersFound", resourceCulture);
+                return ResourceManager.GetString("BuyMoreTurns", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to No monthly winners found.
+        ///   Looks up a localized string similar to Buy Turn.
         /// </summary>
-        public static string NoMonthlyWinnersFound {
+        public static string BuyTurn {
             get {
-                return ResourceManager.GetString("NoMonthlyWinnersFound", resourceCulture);
+                return ResourceManager.GetString("BuyTurn", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Daily Winners.
+        ///   Looks up a localized string similar to You have successfully purchased {0} turns!.
         /// </summary>
-        public static string DailyWinners {
+        public static string BuyTurnSuccessMessage {
             get {
-                return ResourceManager.GetString("DailyWinners", resourceCulture);
+                return ResourceManager.GetString("BuyTurnSuccessMessage", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to View lucky winners and rewards received every day..
+        ///   Looks up a localized string similar to Climb to the Leaderboard.
         /// </summary>
-        public static string DailyWinnersDescription {
+        public static string ClimbToLeaderboard {
             get {
-                return ResourceManager.GetString("DailyWinnersDescription", resourceCulture);
+                return ResourceManager.GetString("ClimbToLeaderboard", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to First Prize.
+        ///   Looks up a localized string similar to Close.
         /// </summary>
-        public static string FirstPrize {
+        public static string Close {
             get {
-                return ResourceManager.GetString("FirstPrize", resourceCulture);
+                return ResourceManager.GetString("Close", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Hello!.
+        ///   Looks up a localized string similar to Confirm.
         /// </summary>
-        public static string Hello {
+        public static string Confirm {
             get {
-                return ResourceManager.GetString("Hello", resourceCulture);
+                return ResourceManager.GetString("Confirm", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Monthly Winner List.
+        ///   Looks up a localized string similar to Confirm Buy Turn.
         /// </summary>
-        public static string MonthlyWinnerList {
+        public static string ConfirmBuyTurn {
             get {
-                return ResourceManager.GetString("MonthlyWinnerList", resourceCulture);
+                return ResourceManager.GetString("ConfirmBuyTurn", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Monthly Winners.
+        ///   Looks up a localized string similar to Do you want to buy this turn package?.
         /// </summary>
-        public static string MonthlyWinners {
+        public static string ConfirmBuyTurnQuestion {
             get {
-                return ResourceManager.GetString("MonthlyWinners", resourceCulture);
+                return ResourceManager.GetString("ConfirmBuyTurnQuestion", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to View monthly prize winners and special rewards..
+        ///   Looks up a localized string similar to Confirm Subscription.
         /// </summary>
-        public static string MonthlyWinnersDescription {
+        public static string ConfirmSubscription {
             get {
-                return ResourceManager.GetString("MonthlyWinnersDescription", resourceCulture);
+                return ResourceManager.GetString("ConfirmSubscription", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Open menu.
+        ///   Looks up a localized string similar to Daily Package.
         /// </summary>
-        public static string OpenMenu {
+        public static string DailyPackage {
             get {
-                return ResourceManager.GetString("OpenMenu", resourceCulture);
+                return ResourceManager.GetString("DailyPackage", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Player avatar.
+        ///   Looks up a localized string similar to Daily Winner List.
         /// </summary>
-        public static string PlayerAvatar {
+        public static string DailyWinnerList {
             get {
-                return ResourceManager.GetString("PlayerAvatar", resourceCulture);
+                return ResourceManager.GetString("DailyWinnerList", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Second Prize.
+        ///   Looks up a localized string similar to Daily Winners.
         /// </summary>
-        public static string SecondPrize {
+        public static string DailyWinners {
             get {
-                return ResourceManager.GetString("SecondPrize", resourceCulture);
+                return ResourceManager.GetString("DailyWinners", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Select date.
+        ///   Looks up a localized string similar to View lucky winners and rewards received every day..
         /// </summary>
-        public static string SelectDate {
+        public static string DailyWinnersDescription {
             get {
-                return ResourceManager.GetString("SelectDate", resourceCulture);
+                return ResourceManager.GetString("DailyWinnersDescription", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Select month.
+        ///   Looks up a localized string similar to Date &amp; Time.
         /// </summary>
-        public static string SelectMonth {
+        public static string Date {
             get {
-                return ResourceManager.GetString("SelectMonth", resourceCulture);
+                return ResourceManager.GetString("Date", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Third Prize.
+        ///   Looks up a localized string similar to Detail.
         /// </summary>
-        public static string ThirdPrize {
+        public static string Detail {
             get {
-                return ResourceManager.GetString("ThirdPrize", resourceCulture);
+                return ResourceManager.GetString("Detail", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to View daily winners.
+        ///   Looks up a localized string similar to Easier to complete levels.
         /// </summary>
-        public static string ViewDailyWinners {
+        public static string EasierToCompleteLevels {
             get {
-                return ResourceManager.GetString("ViewDailyWinners", resourceCulture);
+                return ResourceManager.GetString("EasierToCompleteLevels", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to View monthly winners.
+        ///   Looks up a localized string similar to Easy.
         /// </summary>
-        public static string ViewMonthlyWinners {
+        public static string Easy {
             get {
-                return ResourceManager.GetString("ViewMonthlyWinners", resourceCulture);
+                return ResourceManager.GetString("Easy", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to More obstacles.
+        ///   Looks up a localized string similar to Enjoy more rewards and exciting gameplay!.
         /// </summary>
-        public static string MoreObstacles {
+        public static string EnjoyMoreRewards {
             get {
-                return ResourceManager.GetString("MoreObstacles", resourceCulture);
+                return ResourceManager.GetString("EnjoyMoreRewards", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to More turns and more fun!.
+        ///   Looks up a localized string similar to Fewer obstacles.
         /// </summary>
-        public static string MoreTurnsAndMoreFun {
+        public static string FewerObstacles {
             get {
-                return ResourceManager.GetString("MoreTurnsAndMoreFun", resourceCulture);
+                return ResourceManager.GetString("FewerObstacles", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Most challenging levels.
+        ///   Looks up a localized string similar to First Prize.
         /// </summary>
-        public static string MostChallengingLevels {
+        public static string FirstPrize {
             get {
-                return ResourceManager.GetString("MostChallengingLevels", resourceCulture);
+                return ResourceManager.GetString("FirstPrize", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Play game.
+        ///   Looks up a localized string similar to For experienced players.
         /// </summary>
-        public static string PlayGame {
+        public static string ForExperiencedPlayers {
             get {
-                return ResourceManager.GetString("PlayGame", resourceCulture);
+                return ResourceManager.GetString("ForExperiencedPlayers", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Play now.
+        ///   Looks up a localized string similar to Players can choose the game difficulty level: Easy - Normal - Hard..
         /// </summary>
-        public static string PlayNow {
+        public static string GameDifficultyLevelGuide {
             get {
-                return ResourceManager.GetString("PlayNow", resourceCulture);
+                return ResourceManager.GetString("GameDifficultyLevelGuide", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Play Turns.
+        ///   Looks up a localized string similar to Get 5 Turns every day!.
         /// </summary>
-        public static string PlayTurns {
+        public static string GetFiveTurnsEveryDay {
             get {
-                return ResourceManager.GetString("PlayTurns", resourceCulture);
+                return ResourceManager.GetString("GetFiveTurnsEveryDay", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Please try again..
+        ///   Looks up a localized string similar to Guide.
         /// </summary>
-        public static string PleaseTryAgain {
+        public static string Guide {
             get {
-                return ResourceManager.GetString("PleaseTryAgain", resourceCulture);
+                return ResourceManager.GetString("Guide", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Phone number.
+        ///   Looks up a localized string similar to Kitty Fall service guide.
         /// </summary>
-        public static string PhoneNumber {
+        public static string GuideAriaLabel {
             get {
-                return ResourceManager.GetString("PhoneNumber", resourceCulture);
+                return ResourceManager.GetString("GuideAriaLabel", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Prize.
+        ///   Looks up a localized string similar to Collect all eligible users.
         /// </summary>
-        public static string Prize {
+        public static string GuideCollectEligibleUsers {
             get {
-                return ResourceManager.GetString("Prize", resourceCulture);
+                return ResourceManager.GetString("GuideCollectEligibleUsers", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Rank.
+        ///   Looks up a localized string similar to Conditions.
         /// </summary>
-        public static string Rank {
+        public static string GuideConditions {
             get {
-                return ResourceManager.GetString("Rank", resourceCulture);
+                return ResourceManager.GetString("GuideConditions", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Score.
+        ///   Looks up a localized string similar to Customers can play the game via WEB/APP channels..
         /// </summary>
-        public static string Score {
+        public static string GuideCustomersCanPlay {
             get {
-                return ResourceManager.GetString("Score", resourceCulture);
+                return ResourceManager.GetString("GuideCustomersCanPlay", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Points.
+        ///   Looks up a localized string similar to Draw Tickets based on points.
         /// </summary>
-        public static string Points {
+        public static string GuideDrawTicketsBasedOnPoints {
             get {
-                return ResourceManager.GetString("Points", resourceCulture);
+                return ResourceManager.GetString("GuideDrawTicketsBasedOnPoints", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Requires better skills.
+        ///   Looks up a localized string similar to 10MB Data / 5 loyalty / 40 score.
         /// </summary>
-        public static string RequiresBetterSkills {
+        public static string GuideEasyReward10 {
             get {
-                return ResourceManager.GetString("RequiresBetterSkills", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward10", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Rewards.
+        ///   Looks up a localized string similar to 20MB Data / 10 loyalty / 70 score.
         /// </summary>
-        public static string Rewards {
+        public static string GuideEasyReward15 {
             get {
-                return ResourceManager.GetString("Rewards", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward15", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Select a difficulty level and start your adventure!.
+        ///   Looks up a localized string similar to 40MB Data / 10 Call minutes / 100 score.
         /// </summary>
-        public static string SelectDifficultyLevelAndStartAdventure {
+        public static string GuideEasyReward20 {
             get {
-                return ResourceManager.GetString("SelectDifficultyLevelAndStartAdventure", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward20", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Standard score rewards.
+        ///   Looks up a localized string similar to 70MB Data / 20 loyalty / 140 score.
         /// </summary>
-        public static string StandardScoreRewards {
+        public static string GuideEasyReward25 {
             get {
-                return ResourceManager.GetString("StandardScoreRewards", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward25", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Subscribe now.
+        ///   Looks up a localized string similar to 100MB Data / 30 loyalty / 180 score.
         /// </summary>
-        public static string SubscribeNow {
+        public static string GuideEasyReward30 {
             get {
-                return ResourceManager.GetString("SubscribeNow", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward30", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Subscription auto renew daily.
+        ///   Looks up a localized string similar to 120MB Data / 40 loyalty / 230 score.
         /// </summary>
-        public static string SubscriptionAutoRenewDaily {
+        public static string GuideEasyReward35 {
             get {
-                return ResourceManager.GetString("SubscriptionAutoRenewDaily", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward35", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Subscription Failed.
+        ///   Looks up a localized string similar to 150MB Data / 50 loyalty / 300 score.
         /// </summary>
-        public static string SubscriptionFailed {
+        public static string GuideEasyReward40 {
             get {
-                return ResourceManager.GetString("SubscriptionFailed", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward40", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to We couldn&apos;t complete your subscription..
+        ///   Looks up a localized string similar to 180MB Data / 60 loyalty / 350 score.
         /// </summary>
-        public static string SubscriptionFailedCopy {
+        public static string GuideEasyReward45 {
             get {
-                return ResourceManager.GetString("SubscriptionFailedCopy", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward45", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Opps! Something went wrong.
+        ///   Looks up a localized string similar to 5MB Data / 3 loyalty / 20 score.
         /// </summary>
-        public static string SubscriptionFailedTitle {
+        public static string GuideEasyReward5 {
             get {
-                return ResourceManager.GetString("SubscriptionFailedTitle", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward5", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Subscribe to the package below and enjoy more turns and rewards!.
+        ///   Looks up a localized string similar to 200MB Data / 80 loyalty / 500 score.
         /// </summary>
-        public static string SubscriptionIntro {
+        public static string GuideEasyReward50 {
             get {
-                return ResourceManager.GetString("SubscriptionIntro", resourceCulture);
+                return ResourceManager.GetString("GuideEasyReward50", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to You have successfully subscribed to the package!.
+        ///   Looks up a localized string similar to At the end of the month.
         /// </summary>
-        public static string SubscriptionSuccessMessage {
+        public static string GuideEndOfMonth {
             get {
-                return ResourceManager.GetString("SubscriptionSuccessMessage", resourceCulture);
+                return ResourceManager.GetString("GuideEndOfMonth", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Successful!.
+        ///   Looks up a localized string similar to If a player fails to complete a level within the required time, they will lose a turn, the game will stop, and they must restart from the beginning..
         /// </summary>
-        public static string Successful {
+        public static string GuideFailLevel {
             get {
-                return ResourceManager.GetString("Successful", resourceCulture);
+                return ResourceManager.GetString("GuideFailLevel", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Suitable for beginners.
+        ///   Looks up a localized string similar to First Prize.
         /// </summary>
-        public static string SuitableForBeginners {
+        public static string GuideFirstPrize {
             get {
-                return ResourceManager.GetString("SuitableForBeginners", resourceCulture);
+                return ResourceManager.GetString("GuideFirstPrize", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to This package will be.
+        ///   Looks up a localized string similar to 2,000,000 MMK.
         /// </summary>
-        public static string ThisPackageWillBe {
+        public static string GuideFirstPrizeReward {
             get {
-                return ResourceManager.GetString("ThisPackageWillBe", resourceCulture);
+                return ResourceManager.GetString("GuideFirstPrizeReward", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Time.
+        ///   Looks up a localized string similar to 5 tickets.
         /// </summary>
-        public static string Time {
+        public static string GuideFiveTickets {
             get {
-                return ResourceManager.GetString("Time", resourceCulture);
+                return ResourceManager.GetString("GuideFiveTickets", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to turns have been added!.
+        ///   Looks up a localized string similar to Game Overview.
         /// </summary>
-        public static string TurnsHaveBeenAdded {
+        public static string GuideGameOverview {
             get {
-                return ResourceManager.GetString("TurnsHaveBeenAdded", resourceCulture);
+                return ResourceManager.GetString("GuideGameOverview", resourceCulture);
             }
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to Winner List.
+        ///   Looks up a localized string similar to 80MB Data / 20 loyalty / 200 score.
         /// </summary>
-        public static string WinnerList {
+        public static string GuideHardReward10 {
             get {
-                return ResourceManager.GetString("WinnerList", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward10", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string similar to Your game activity.
+        ///   Looks up a localized string similar to 140MB Data / 30 loyalty / 300 score.
         /// </summary>
-        public static string YourGameActivity {
+        public static string GuideHardReward15 {
             get {
-                return ResourceManager.GetString("YourGameActivity", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward15", resourceCulture);
             }
         }
-
+        
         /// <summary>
-        ///   Looks up a localized string for Level.
+        ///   Looks up a localized string similar to 220MB Data / 400 score.
         /// </summary>
-        public static string Level {
+        public static string GuideHardReward20 {
             get {
-                return ResourceManager.GetString("Level", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward20", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideAriaLabel.
+        ///   Looks up a localized string similar to 300MB Data / 50 loyalty / 500 score.
         /// </summary>
-        public static string GuideAriaLabel {
+        public static string GuideHardReward25 {
             get {
-                return ResourceManager.GetString("GuideAriaLabel", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward25", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideTitle.
+        ///   Looks up a localized string similar to 380MB Data / 70 loyalty / 600 score.
         /// </summary>
-        public static string GuideTitle {
+        public static string GuideHardReward30 {
             get {
-                return ResourceManager.GetString("GuideTitle", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward30", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideServiceIntroduction.
+        ///   Looks up a localized string similar to 450MB Data / 90 loyalty / 700 score.
         /// </summary>
-        public static string GuideServiceIntroduction {
+        public static string GuideHardReward35 {
             get {
-                return ResourceManager.GetString("GuideServiceIntroduction", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward35", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideIntroP1.
+        ///   Looks up a localized string similar to 520MB Data / 110 loyalty / 800 score.
         /// </summary>
-        public static string GuideIntroP1 {
+        public static string GuideHardReward40 {
             get {
-                return ResourceManager.GetString("GuideIntroP1", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward40", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideIntroP2.
+        ///   Looks up a localized string similar to 600MB Data / 130 loyalty / 900 score.
         /// </summary>
-        public static string GuideIntroP2 {
+        public static string GuideHardReward45 {
             get {
-                return ResourceManager.GetString("GuideIntroP2", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward45", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideIntroP3.
+        ///   Looks up a localized string similar to 40MB Data / 10 loyalty / 100 score.
         /// </summary>
-        public static string GuideIntroP3 {
+        public static string GuideHardReward5 {
             get {
-                return ResourceManager.GetString("GuideIntroP3", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward5", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideIntroP4.
+        ///   Looks up a localized string similar to 750MB Data / 150 loyalty / 1000 score.
         /// </summary>
-        public static string GuideIntroP4 {
+        public static string GuideHardReward50 {
             get {
-                return ResourceManager.GetString("GuideIntroP4", resourceCulture);
+                return ResourceManager.GetString("GuideHardReward50", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideIntroP5.
+        ///   Looks up a localized string similar to How to Participate.
         /// </summary>
-        public static string GuideIntroP5 {
+        public static string GuideHowToParticipate {
             get {
-                return ResourceManager.GetString("GuideIntroP5", resourceCulture);
+                return ResourceManager.GetString("GuideHowToParticipate", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideIntroP6.
+        ///   Looks up a localized string similar to Kitty Fall is a casual puzzle game designed with simple, easy-to-access gameplay yet offering a high level of challenge. It provides light entertainment while giving players opportunities to earn attractive rewards through a play-earn-redeem mechanism..
         /// </summary>
-        public static string GuideIntroP6 {
+        public static string GuideIntroP1 {
             get {
-                return ResourceManager.GetString("GuideIntroP6", resourceCulture);
+                return ResourceManager.GetString("GuideIntroP1", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHowToParticipate.
+        ///   Looks up a localized string similar to Players join a journey by controlling number blocks to collect the correct number of cats of the same color. After completing each level, players receive reward points, extra turns, or support items, along with chances to unlock valuable rewards such as data packages, call minutes, and Loyalty points..
         /// </summary>
-        public static string GuideHowToParticipate {
+        public static string GuideIntroP2 {
             get {
-                return ResourceManager.GetString("GuideHowToParticipate", resourceCulture);
+                return ResourceManager.GetString("GuideIntroP2", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideCustomersCanPlay.
+        ///   Looks up a localized string similar to The game is designed for mass mobile users, especially in developing markets where users prefer lightweight, easy-to-play, highly interactive games that deliver real value..
         /// </summary>
-        public static string GuideCustomersCanPlay {
+        public static string GuideIntroP3 {
             get {
-                return ResourceManager.GetString("GuideCustomersCanPlay", resourceCulture);
+                return ResourceManager.GetString("GuideIntroP3", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideRegistrationChannels.
+        ///   Looks up a localized string similar to With a system of levels of increasing difficulty, Kitty Fall creates a clear progression journey, motivating players to continue conquering higher levels for greater rewards, thereby increasing retention and usage time..
         /// </summary>
-        public static string GuideRegistrationChannels {
+        public static string GuideIntroP4 {
             get {
-                return ResourceManager.GetString("GuideRegistrationChannels", resourceCulture);
+                return ResourceManager.GetString("GuideIntroP4", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuidePurchaseOrSubscribe.
+        ///   Looks up a localized string similar to The service integrates effective retention and monetization mechanisms such as daily play limits, purchasing additional turns, using Rescue when close to completing a level, and a point-based reward redemption system, ensuring a balance between user experience and business objectives..
         /// </summary>
-        public static string GuidePurchaseOrSubscribe {
+        public static string GuideIntroP5 {
             get {
-                return ResourceManager.GetString("GuidePurchaseOrSubscribe", resourceCulture);
+                return ResourceManager.GetString("GuideIntroP5", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideStartPlayingOptions.
+        ///   Looks up a localized string similar to Kitty Fall is not just an entertainment game but also a gamification tool that helps Mytel enhance customer engagement, drive data usage, and increase revenue from value-added services..
         /// </summary>
-        public static string GuideStartPlayingOptions {
+        public static string GuideIntroP6 {
             get {
-                return ResourceManager.GetString("GuideStartPlayingOptions", resourceCulture);
+                return ResourceManager.GetString("GuideIntroP6", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideSubscribeTurnPackages.
+        ///   Looks up a localized string similar to Level - Score - Time - Reward Table.
         /// </summary>
-        public static string GuideSubscribeTurnPackages {
+        public static string GuideLevelScoreTimeRewardTable {
             get {
-                return ResourceManager.GetString("GuideSubscribeTurnPackages", resourceCulture);
+                return ResourceManager.GetString("GuideLevelScoreTimeRewardTable", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideOneTimePurchase1.
+        ///   Looks up a localized string similar to 40MB Data / 12 loyalty / 130 score.
         /// </summary>
-        public static string GuideOneTimePurchase1 {
+        public static string GuideMediumReward10 {
             get {
-                return ResourceManager.GetString("GuideOneTimePurchase1", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward10", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideOneTimePurchase5.
+        ///   Looks up a localized string similar to 80MB Data / 18 loyalty / 190 score.
         /// </summary>
-        public static string GuideOneTimePurchase5 {
+        public static string GuideMediumReward15 {
             get {
-                return ResourceManager.GetString("GuideOneTimePurchase5", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward15", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideGameOverview.
+        ///   Looks up a localized string similar to 140MB Data / 260 score.
         /// </summary>
-        public static string GuideGameOverview {
+        public static string GuideMediumReward20 {
             get {
-                return ResourceManager.GetString("GuideGameOverview", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward20", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideModeLevels.
+        ///   Looks up a localized string similar to 180MB Data / 30 loyalty / 320 score.
         /// </summary>
-        public static string GuideModeLevels {
+        public static string GuideMediumReward25 {
             get {
-                return ResourceManager.GetString("GuideModeLevels", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward25", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideTotalLevels.
+        ///   Looks up a localized string similar to 220MB Data / 40 loyalty / 380 score.
         /// </summary>
-        public static string GuideTotalLevels {
+        public static string GuideMediumReward30 {
             get {
-                return ResourceManager.GetString("GuideTotalLevels", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward30", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideProgressRewards.
+        ///   Looks up a localized string similar to 260MB Data / 60 loyalty / 450 score.
         /// </summary>
-        public static string GuideProgressRewards {
+        public static string GuideMediumReward35 {
             get {
-                return ResourceManager.GetString("GuideProgressRewards", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward35", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideFailLevel.
+        ///   Looks up a localized string similar to 300MB Data / 70 loyalty / 520 score.
         /// </summary>
-        public static string GuideFailLevel {
+        public static string GuideMediumReward40 {
             get {
-                return ResourceManager.GetString("GuideFailLevel", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward40", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideRescueOption.
+        ///   Looks up a localized string similar to 350MB Data / 80 loyalty / 600 score.
         /// </summary>
-        public static string GuideRescueOption {
+        public static string GuideMediumReward45 {
             get {
-                return ResourceManager.GetString("GuideRescueOption", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward45", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideLevelScoreTimeRewardTable.
+        ///   Looks up a localized string similar to 20MB Data / 6 loyalty / 70 score.
         /// </summary>
-        public static string GuideLevelScoreTimeRewardTable {
+        public static string GuideMediumReward5 {
             get {
-                return ResourceManager.GetString("GuideLevelScoreTimeRewardTable", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward5", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward5.
+        ///   Looks up a localized string similar to 450MB Data / 100 loyalty / 700 score.
         /// </summary>
-        public static string GuideEasyReward5 {
+        public static string GuideMediumReward50 {
             get {
-                return ResourceManager.GetString("GuideEasyReward5", resourceCulture);
+                return ResourceManager.GetString("GuideMediumReward50", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward10.
+        ///   Looks up a localized string similar to Each mode consists of 50 levels, with differences in gameplay time, scoring, and rewards at each level..
         /// </summary>
-        public static string GuideEasyReward10 {
+        public static string GuideModeLevels {
             get {
-                return ResourceManager.GetString("GuideEasyReward10", resourceCulture);
+                return ResourceManager.GetString("GuideModeLevels", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward15.
+        ///   Looks up a localized string similar to On the 1st of each month at 5:00 AM, the system will announce the lucky customers who win the prizes..
         /// </summary>
-        public static string GuideEasyReward15 {
+        public static string GuideMonthlyAnnouncement {
             get {
-                return ResourceManager.GetString("GuideEasyReward15", resourceCulture);
+                return ResourceManager.GetString("GuideMonthlyAnnouncement", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward20.
+        ///   Looks up a localized string similar to Each subscriber is eligible to receive a monthly prize only once within the most recent 3-month period..
         /// </summary>
-        public static string GuideEasyReward20 {
+        public static string GuideMonthlyPrizeLimit {
             get {
-                return ResourceManager.GetString("GuideEasyReward20", resourceCulture);
+                return ResourceManager.GetString("GuideMonthlyPrizeLimit", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward25.
+        ///   Looks up a localized string similar to All users who meet the requirements have the chance to participate in the monthly reward..
         /// </summary>
-        public static string GuideEasyReward25 {
+        public static string GuideMonthlyRewardChance {
             get {
-                return ResourceManager.GetString("GuideEasyReward25", resourceCulture);
+                return ResourceManager.GetString("GuideMonthlyRewardChance", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward30.
+        ///   Looks up a localized string similar to Monthly Reward Eligibility Conditions.
         /// </summary>
-        public static string GuideEasyReward30 {
+        public static string GuideMonthlyRewardEligibility {
             get {
-                return ResourceManager.GetString("GuideEasyReward30", resourceCulture);
+                return ResourceManager.GetString("GuideMonthlyRewardEligibility", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward35.
+        ///   Looks up a localized string similar to Monthly Reward Table.
         /// </summary>
-        public static string GuideEasyReward35 {
+        public static string GuideMonthlyRewardTable {
             get {
-                return ResourceManager.GetString("GuideEasyReward35", resourceCulture);
+                return ResourceManager.GetString("GuideMonthlyRewardTable", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward40.
+        ///   Looks up a localized string similar to Number of ticket.
         /// </summary>
-        public static string GuideEasyReward40 {
+        public static string GuideNumberOfTicket {
             get {
-                return ResourceManager.GetString("GuideEasyReward40", resourceCulture);
+                return ResourceManager.GetString("GuideNumberOfTicket", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward45.
+        ///   Looks up a localized string similar to 1 ticket.
         /// </summary>
-        public static string GuideEasyReward45 {
+        public static string GuideOneTicket {
             get {
-                return ResourceManager.GetString("GuideEasyReward45", resourceCulture);
+                return ResourceManager.GetString("GuideOneTicket", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEasyReward50.
+        ///   Looks up a localized string similar to One-time purchase: 89 MMK / 1 turn.
         /// </summary>
-        public static string GuideEasyReward50 {
+        public static string GuideOneTimePurchase1 {
             get {
-                return ResourceManager.GetString("GuideEasyReward50", resourceCulture);
+                return ResourceManager.GetString("GuideOneTimePurchase1", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward5.
+        ///   Looks up a localized string similar to 189 MMK / 5 turn.
         /// </summary>
-        public static string GuideMediumReward5 {
+        public static string GuideOneTimePurchase5 {
             get {
-                return ResourceManager.GetString("GuideMediumReward5", resourceCulture);
+                return ResourceManager.GetString("GuideOneTimePurchase5", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward10.
+        ///   Looks up a localized string similar to Players are required to achieve:.
         /// </summary>
-        public static string GuideMediumReward10 {
+        public static string GuidePlayersRequired {
             get {
-                return ResourceManager.GetString("GuideMediumReward10", resourceCulture);
+                return ResourceManager.GetString("GuidePlayersRequired", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward15.
+        ///   Looks up a localized string similar to Prize.
         /// </summary>
-        public static string GuideMediumReward15 {
+        public static string GuidePrize {
             get {
-                return ResourceManager.GetString("GuideMediumReward15", resourceCulture);
+                return ResourceManager.GetString("GuidePrize", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward20.
+        ///   Looks up a localized string similar to As players progress and complete each level, they can earn reward points, and at key milestones, they will receive direct rewards from the service..
         /// </summary>
-        public static string GuideMediumReward20 {
+        public static string GuideProgressRewards {
             get {
-                return ResourceManager.GetString("GuideMediumReward20", resourceCulture);
+                return ResourceManager.GetString("GuideProgressRewards", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward25.
+        ///   Looks up a localized string similar to Purchase or subscribe to play turns.
         /// </summary>
-        public static string GuideMediumReward25 {
+        public static string GuidePurchaseOrSubscribe {
             get {
-                return ResourceManager.GetString("GuideMediumReward25", resourceCulture);
+                return ResourceManager.GetString("GuidePurchaseOrSubscribe", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward30.
+        ///   Looks up a localized string similar to Quantity.
         /// </summary>
-        public static string GuideMediumReward30 {
+        public static string GuideQuantity {
             get {
-                return ResourceManager.GetString("GuideMediumReward30", resourceCulture);
+                return ResourceManager.GetString("GuideQuantity", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward35.
+        ///   Looks up a localized string similar to Conduct a random draw.
         /// </summary>
-        public static string GuideMediumReward35 {
+        public static string GuideRandomDraw {
             get {
-                return ResourceManager.GetString("GuideMediumReward35", resourceCulture);
+                return ResourceManager.GetString("GuideRandomDraw", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward40.
+        ///   Looks up a localized string similar to Service registration is available through multiple channels: SMS / USSD / WEB / APP..
         /// </summary>
-        public static string GuideMediumReward40 {
+        public static string GuideRegistrationChannels {
             get {
-                return ResourceManager.GetString("GuideMediumReward40", resourceCulture);
+                return ResourceManager.GetString("GuideRegistrationChannels", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward45.
+        ///   Looks up a localized string similar to If a player is unable to complete a level, they can purchase a Rescue option (maximum 1 time per turn) at a cost of 79 MMK..
         /// </summary>
-        public static string GuideMediumReward45 {
+        public static string GuideRescueOption {
             get {
-                return ResourceManager.GetString("GuideMediumReward45", resourceCulture);
+                return ResourceManager.GetString("GuideRescueOption", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMediumReward50.
+        ///   Looks up a localized string similar to Reward.
         /// </summary>
-        public static string GuideMediumReward50 {
+        public static string GuideReward {
             get {
-                return ResourceManager.GetString("GuideMediumReward50", resourceCulture);
+                return ResourceManager.GetString("GuideReward", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward5.
+        ///   Looks up a localized string similar to Reward Distribution Mechanism.
         /// </summary>
-        public static string GuideHardReward5 {
+        public static string GuideRewardDistributionMechanism {
             get {
-                return ResourceManager.GetString("GuideHardReward5", resourceCulture);
+                return ResourceManager.GetString("GuideRewardDistributionMechanism", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward10.
+        ///   Looks up a localized string similar to Second Prize.
         /// </summary>
-        public static string GuideHardReward10 {
+        public static string GuideSecondPrize {
             get {
-                return ResourceManager.GetString("GuideHardReward10", resourceCulture);
+                return ResourceManager.GetString("GuideSecondPrize", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward15.
+        ///   Looks up a localized string similar to 500,000 MMK.
         /// </summary>
-        public static string GuideHardReward15 {
+        public static string GuideSecondPrizeReward {
             get {
-                return ResourceManager.GetString("GuideHardReward15", resourceCulture);
+                return ResourceManager.GetString("GuideSecondPrizeReward", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward20.
+        ///   Looks up a localized string similar to Service Introduction.
         /// </summary>
-        public static string GuideHardReward20 {
+        public static string GuideServiceIntroduction {
             get {
-                return ResourceManager.GetString("GuideHardReward20", resourceCulture);
+                return ResourceManager.GetString("GuideServiceIntroduction", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward25.
+        ///   Looks up a localized string similar to 7 tickets.
         /// </summary>
-        public static string GuideHardReward25 {
+        public static string GuideSevenTickets {
             get {
-                return ResourceManager.GetString("GuideHardReward25", resourceCulture);
+                return ResourceManager.GetString("GuideSevenTickets", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward30.
+        ///   Looks up a localized string similar to To start playing, users need available turns and can choose one of the following options:.
         /// </summary>
-        public static string GuideHardReward30 {
+        public static string GuideStartPlayingOptions {
             get {
-                return ResourceManager.GetString("GuideHardReward30", resourceCulture);
+                return ResourceManager.GetString("GuideStartPlayingOptions", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward35.
+        ///   Looks up a localized string similar to Subscribe to turn packages: 179 MMK / 5 turn.
         /// </summary>
-        public static string GuideHardReward35 {
+        public static string GuideSubscribeTurnPackages {
             get {
-                return ResourceManager.GetString("GuideHardReward35", resourceCulture);
+                return ResourceManager.GetString("GuideSubscribeTurnPackages", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward40.
+        ///   Looks up a localized string similar to 10 tickets.
         /// </summary>
-        public static string GuideHardReward40 {
+        public static string GuideTenTickets {
             get {
-                return ResourceManager.GetString("GuideHardReward40", resourceCulture);
+                return ResourceManager.GetString("GuideTenTickets", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward45.
+        ///   Looks up a localized string similar to Third Prize.
         /// </summary>
-        public static string GuideHardReward45 {
+        public static string GuideThirdPrize {
             get {
-                return ResourceManager.GetString("GuideHardReward45", resourceCulture);
+                return ResourceManager.GetString("GuideThirdPrize", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideHardReward50.
+        ///   Looks up a localized string similar to 200,000 MMK.
         /// </summary>
-        public static string GuideHardReward50 {
+        public static string GuideThirdPrizeReward {
             get {
-                return ResourceManager.GetString("GuideHardReward50", resourceCulture);
+                return ResourceManager.GetString("GuideThirdPrizeReward", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMonthlyRewardEligibility.
+        ///   Looks up a localized string similar to 3 tickets.
         /// </summary>
-        public static string GuideMonthlyRewardEligibility {
+        public static string GuideThreeTickets {
             get {
-                return ResourceManager.GetString("GuideMonthlyRewardEligibility", resourceCulture);
+                return ResourceManager.GetString("GuideThreeTickets", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuidePlayersRequired.
+        ///   Looks up a localized string similar to Each user receives a number of tickets corresponding to their point level.
         /// </summary>
-        public static string GuidePlayersRequired {
+        public static string GuideTicketsByPoint {
             get {
-                return ResourceManager.GetString("GuidePlayersRequired", resourceCulture);
+                return ResourceManager.GetString("GuideTicketsByPoint", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideConditions.
+        ///   Looks up a localized string similar to Proposed Scenario for&lt;br&gt;Kitty Fall Service.
         /// </summary>
-        public static string GuideConditions {
+        public static string GuideTitle {
             get {
-                return ResourceManager.GetString("GuideConditions", resourceCulture);
+                return ResourceManager.GetString("GuideTitle", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideValue.
+        ///   Looks up a localized string similar to The game includes a total of 50 levels with increasing difficulty, allowing players to progressively experience and challenge themselves..
         /// </summary>
-        public static string GuideValue {
+        public static string GuideTotalLevels {
             get {
-                return ResourceManager.GetString("GuideValue", resourceCulture);
+                return ResourceManager.GetString("GuideTotalLevels", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideTotalScore.
+        ///   Looks up a localized string similar to Total score.
         /// </summary>
         public static string GuideTotalScore {
             get {
                 return ResourceManager.GetString("GuideTotalScore", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideTotalScoreCondition.
+        ///   Looks up a localized string similar to &amp;ge; 5,000 score / month.
         /// </summary>
         public static string GuideTotalScoreCondition {
             get {
                 return ResourceManager.GetString("GuideTotalScoreCondition", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMonthlyRewardChance.
+        ///   Looks up a localized string similar to Total score month.
         /// </summary>
-        public static string GuideMonthlyRewardChance {
+        public static string GuideTotalScoreMonth {
             get {
-                return ResourceManager.GetString("GuideMonthlyRewardChance", resourceCulture);
+                return ResourceManager.GetString("GuideTotalScoreMonth", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideRewardDistributionMechanism.
+        ///   Looks up a localized string similar to 2 tickets.
         /// </summary>
-        public static string GuideRewardDistributionMechanism {
+        public static string GuideTwoTickets {
             get {
-                return ResourceManager.GetString("GuideRewardDistributionMechanism", resourceCulture);
+                return ResourceManager.GetString("GuideTwoTickets", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideEndOfMonth.
+        ///   Looks up a localized string similar to Value.
         /// </summary>
-        public static string GuideEndOfMonth {
+        public static string GuideValue {
             get {
-                return ResourceManager.GetString("GuideEndOfMonth", resourceCulture);
+                return ResourceManager.GetString("GuideValue", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideCollectEligibleUsers.
+        ///   Looks up a localized string similar to Hard.
         /// </summary>
-        public static string GuideCollectEligibleUsers {
+        public static string Hard {
             get {
-                return ResourceManager.GetString("GuideCollectEligibleUsers", resourceCulture);
+                return ResourceManager.GetString("Hard", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideRandomDraw.
+        ///   Looks up a localized string similar to Hello!.
         /// </summary>
-        public static string GuideRandomDraw {
+        public static string Hello {
             get {
-                return ResourceManager.GetString("GuideRandomDraw", resourceCulture);
+                return ResourceManager.GetString("Hello", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideTicketsByPoint.
+        ///   Looks up a localized string similar to Higher score rewards.
         /// </summary>
-        public static string GuideTicketsByPoint {
+        public static string HigherScoreRewards {
             get {
-                return ResourceManager.GetString("GuideTicketsByPoint", resourceCulture);
+                return ResourceManager.GetString("HigherScoreRewards", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideDrawTicketsBasedOnPoints.
+        ///   Looks up a localized string similar to History.
         /// </summary>
-        public static string GuideDrawTicketsBasedOnPoints {
+        public static string History {
             get {
-                return ResourceManager.GetString("GuideDrawTicketsBasedOnPoints", resourceCulture);
+                return ResourceManager.GetString("History", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideTotalScoreMonth.
+        ///   Looks up a localized string similar to History is stored for last 30 days.
         /// </summary>
-        public static string GuideTotalScoreMonth {
+        public static string HistoryStoredLast30Days {
             get {
-                return ResourceManager.GetString("GuideTotalScoreMonth", resourceCulture);
+                return ResourceManager.GetString("HistoryStoredLast30Days", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideNumberOfTicket.
+        ///   Looks up a localized string similar to Home.
         /// </summary>
-        public static string GuideNumberOfTicket {
+        public static string Home {
             get {
-                return ResourceManager.GetString("GuideNumberOfTicket", resourceCulture);
+                return ResourceManager.GetString("Home", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideOneTicket.
+        ///   Looks up a localized string similar to Leaderboard.
         /// </summary>
-        public static string GuideOneTicket {
+        public static string Leaderboard {
             get {
-                return ResourceManager.GetString("GuideOneTicket", resourceCulture);
+                return ResourceManager.GetString("Leaderboard", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideTwoTickets.
+        ///   Looks up a localized string similar to Level.
         /// </summary>
-        public static string GuideTwoTickets {
+        public static string Level {
             get {
-                return ResourceManager.GetString("GuideTwoTickets", resourceCulture);
+                return ResourceManager.GetString("Level", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideThreeTickets.
+        ///   Looks up a localized string similar to LOYALTY.
         /// </summary>
-        public static string GuideThreeTickets {
+        public static string LOYALTY {
             get {
-                return ResourceManager.GetString("GuideThreeTickets", resourceCulture);
+                return ResourceManager.GetString("LOYALTY", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideFiveTickets.
+        ///   Looks up a localized string similar to Maximum to complete levels.
         /// </summary>
-        public static string GuideFiveTickets {
+        public static string MaximumToCompleteLevels {
             get {
-                return ResourceManager.GetString("GuideFiveTickets", resourceCulture);
+                return ResourceManager.GetString("MaximumToCompleteLevels", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideSevenTickets.
+        ///   Looks up a localized string similar to MB.
         /// </summary>
-        public static string GuideSevenTickets {
+        public static string MB {
             get {
-                return ResourceManager.GetString("GuideSevenTickets", resourceCulture);
+                return ResourceManager.GetString("MB", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideTenTickets.
+        ///   Looks up a localized string similar to Medium.
         /// </summary>
-        public static string GuideTenTickets {
+        public static string Medium {
             get {
-                return ResourceManager.GetString("GuideTenTickets", resourceCulture);
+                return ResourceManager.GetString("Medium", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMonthlyAnnouncement.
+        ///   Looks up a localized string similar to mode.
         /// </summary>
-        public static string GuideMonthlyAnnouncement {
+        public static string Mode {
             get {
-                return ResourceManager.GetString("GuideMonthlyAnnouncement", resourceCulture);
+                return ResourceManager.GetString("Mode", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for GuideMonthlyPrizeLimit.
+        ///   Looks up a localized string similar to Monthly Winner List.
         /// </summary>
-        public static string GuideMonthlyPrizeLimit {
+        public static string MonthlyWinnerList {
             get {
-                return ResourceManager.GetString("GuideMonthlyPrizeLimit", resourceCulture);
+                return ResourceManager.GetString("MonthlyWinnerList", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for AccountLoyaltyPoints.
+        ///   Looks up a localized string similar to Monthly Winners.
         /// </summary>
-        public static string AccountLoyaltyPoints {
+        public static string MonthlyWinners {
             get {
-                return ResourceManager.GetString("AccountLoyaltyPoints", resourceCulture);
+                return ResourceManager.GetString("MonthlyWinners", resourceCulture);
             }
         }
+        
         /// <summary>
-        ///   Looks up a localized string for AccountTotalLoyaltyPoints.
+        ///   Looks up a localized string similar to View monthly prize winners and special rewards..
         /// </summary>
-        public static string AccountTotalLoyaltyPoints {
+        public static string MonthlyWinnersDescription {
             get {
-                return ResourceManager.GetString("AccountTotalLoyaltyPoints", resourceCulture);
+                return ResourceManager.GetString("MonthlyWinnersDescription", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to More obstacles.
+        /// </summary>
+        public static string MoreObstacles {
+            get {
+                return ResourceManager.GetString("MoreObstacles", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to More turns and more fun!.
+        /// </summary>
+        public static string MoreTurnsAndMoreFun {
+            get {
+                return ResourceManager.GetString("MoreTurnsAndMoreFun", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Most challenging levels.
+        /// </summary>
+        public static string MostChallengingLevels {
+            get {
+                return ResourceManager.GetString("MostChallengingLevels", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to My Rank.
+        /// </summary>
+        public static string MyRank {
+            get {
+                return ResourceManager.GetString("MyRank", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No.
+        /// </summary>
+        public static string No {
+            get {
+                return ResourceManager.GetString("No", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No daily winners found.
+        /// </summary>
+        public static string NoDailyWinnersFound {
+            get {
+                return ResourceManager.GetString("NoDailyWinnersFound", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No leaderboard found.
+        /// </summary>
+        public static string NoLeaderboardFound {
+            get {
+                return ResourceManager.GetString("NoLeaderboardFound", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to No monthly winners found.
+        /// </summary>
+        public static string NoMonthlyWinnersFound {
+            get {
+                return ResourceManager.GetString("NoMonthlyWinnersFound", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Open menu.
+        /// </summary>
+        public static string OpenMenu {
+            get {
+                return ResourceManager.GetString("OpenMenu", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Phone number.
+        /// </summary>
+        public static string PhoneNumber {
+            get {
+                return ResourceManager.GetString("PhoneNumber", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Player avatar.
+        /// </summary>
+        public static string PlayerAvatar {
+            get {
+                return ResourceManager.GetString("PlayerAvatar", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Play game.
+        /// </summary>
+        public static string PlayGame {
+            get {
+                return ResourceManager.GetString("PlayGame", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Play now.
+        /// </summary>
+        public static string PlayNow {
+            get {
+                return ResourceManager.GetString("PlayNow", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Play Turns.
+        /// </summary>
+        public static string PlayTurns {
+            get {
+                return ResourceManager.GetString("PlayTurns", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Please try again..
+        /// </summary>
+        public static string PleaseTryAgain {
+            get {
+                return ResourceManager.GetString("PleaseTryAgain", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Points.
+        /// </summary>
+        public static string Points {
+            get {
+                return ResourceManager.GetString("Points", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Prize.
+        /// </summary>
+        public static string Prize {
+            get {
+                return ResourceManager.GetString("Prize", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Rank.
+        /// </summary>
+        public static string Rank {
+            get {
+                return ResourceManager.GetString("Rank", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Requires better skills.
+        /// </summary>
+        public static string RequiresBetterSkills {
+            get {
+                return ResourceManager.GetString("RequiresBetterSkills", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Rewards.
+        /// </summary>
+        public static string Rewards {
+            get {
+                return ResourceManager.GetString("Rewards", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Score.
+        /// </summary>
+        public static string Score {
+            get {
+                return ResourceManager.GetString("Score", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Second Prize.
+        /// </summary>
+        public static string SecondPrize {
+            get {
+                return ResourceManager.GetString("SecondPrize", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Select date.
+        /// </summary>
+        public static string SelectDate {
+            get {
+                return ResourceManager.GetString("SelectDate", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Select a difficulty level and start your adventure!.
+        /// </summary>
+        public static string SelectDifficultyLevelAndStartAdventure {
+            get {
+                return ResourceManager.GetString("SelectDifficultyLevelAndStartAdventure", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Select month.
+        /// </summary>
+        public static string SelectMonth {
+            get {
+                return ResourceManager.GetString("SelectMonth", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Select a turn package.
+        /// </summary>
+        public static string SelectTurnPackage {
+            get {
+                return ResourceManager.GetString("SelectTurnPackage", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Standard score rewards.
+        /// </summary>
+        public static string StandardScoreRewards {
+            get {
+                return ResourceManager.GetString("StandardScoreRewards", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Subscribe now.
+        /// </summary>
+        public static string SubscribeNow {
+            get {
+                return ResourceManager.GetString("SubscribeNow", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Subscription auto renew daily.
+        /// </summary>
+        public static string SubscriptionAutoRenewDaily {
+            get {
+                return ResourceManager.GetString("SubscriptionAutoRenewDaily", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Subscription Failed.
+        /// </summary>
+        public static string SubscriptionFailed {
+            get {
+                return ResourceManager.GetString("SubscriptionFailed", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to We couldn&apos;t complete your subscription..
+        /// </summary>
+        public static string SubscriptionFailedCopy {
+            get {
+                return ResourceManager.GetString("SubscriptionFailedCopy", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Opps! Something went wrong.
+        /// </summary>
+        public static string SubscriptionFailedTitle {
+            get {
+                return ResourceManager.GetString("SubscriptionFailedTitle", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Subscribe to the package below and enjoy more turns and rewards!.
+        /// </summary>
+        public static string SubscriptionIntro {
+            get {
+                return ResourceManager.GetString("SubscriptionIntro", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to You have successfully subscribed to the package!.
+        /// </summary>
+        public static string SubscriptionSuccessMessage {
+            get {
+                return ResourceManager.GetString("SubscriptionSuccessMessage", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Successful!.
+        /// </summary>
+        public static string Successful {
+            get {
+                return ResourceManager.GetString("Successful", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Suitable for beginners.
+        /// </summary>
+        public static string SuitableForBeginners {
+            get {
+                return ResourceManager.GetString("SuitableForBeginners", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Third Prize.
+        /// </summary>
+        public static string ThirdPrize {
+            get {
+                return ResourceManager.GetString("ThirdPrize", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to This package will be.
+        /// </summary>
+        public static string ThisPackageWillBe {
+            get {
+                return ResourceManager.GetString("ThisPackageWillBe", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Time.
+        /// </summary>
+        public static string Time {
+            get {
+                return ResourceManager.GetString("Time", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to You don&apos;t have any play turns left..
+        /// </summary>
+        public static string TurnOverPrimary {
+            get {
+                return ResourceManager.GetString("TurnOverPrimary", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Get more turns and continue your adventure!.
+        /// </summary>
+        public static string TurnOverSecondary {
+            get {
+                return ResourceManager.GetString("TurnOverSecondary", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to NO TURNS LEFT!.
+        /// </summary>
+        public static string TurnOverTitle {
+            get {
+                return ResourceManager.GetString("TurnOverTitle", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to turns have been added!.
+        /// </summary>
+        public static string TurnsHaveBeenAdded {
+            get {
+                return ResourceManager.GetString("TurnsHaveBeenAdded", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to View daily winners.
+        /// </summary>
+        public static string ViewDailyWinners {
+            get {
+                return ResourceManager.GetString("ViewDailyWinners", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to View monthly winners.
+        /// </summary>
+        public static string ViewMonthlyWinners {
+            get {
+                return ResourceManager.GetString("ViewMonthlyWinners", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Winner List.
+        /// </summary>
+        public static string WinnerList {
+            get {
+                return ResourceManager.GetString("WinnerList", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Your game activity.
+        /// </summary>
+        public static string YourGameActivity {
+            get {
+                return ResourceManager.GetString("YourGameActivity", resourceCulture);
             }
         }
 
-        public static string AccountTitle => ResourceManager.GetString("AccountTitle", resourceCulture);
-        public static string AccountCloseMenu => ResourceManager.GetString("AccountCloseMenu", resourceCulture);
-        public static string AccountPhoneNumber => ResourceManager.GetString("AccountPhoneNumber", resourceCulture);
-        public static string AccountDefaultDescription => ResourceManager.GetString("AccountDefaultDescription", resourceCulture);
-        public static string AccountTotalThisMonth => ResourceManager.GetString("AccountTotalThisMonth", resourceCulture);
-        public static string AccountPoints => ResourceManager.GetString("AccountPoints", resourceCulture);
-        public static string AccountTotalPoints => ResourceManager.GetString("AccountTotalPoints", resourceCulture);
-        public static string AccountDataMb => ResourceManager.GetString("AccountDataMb", resourceCulture);
-        public static string AccountTotalDataWon => ResourceManager.GetString("AccountTotalDataWon", resourceCulture);
-        public static string AccountMonthlySummary => ResourceManager.GetString("AccountMonthlySummary", resourceCulture);
-        public static string AccountCurrentPackage => ResourceManager.GetString("AccountCurrentPackage", resourceCulture);
-        public static string AccountActiveSubscription => ResourceManager.GetString("AccountActiveSubscription", resourceCulture);
-        public static string AccountNoActivePackage => ResourceManager.GetString("AccountNoActivePackage", resourceCulture);
-        public static string AccountDailyPackage => ResourceManager.GetString("AccountDailyPackage", resourceCulture);
-        public static string AccountPlaysPerDay => ResourceManager.GetString("AccountPlaysPerDay", resourceCulture);
-        public static string AccountExpires => ResourceManager.GetString("AccountExpires", resourceCulture);
-        public static string AccountAutoRenew => ResourceManager.GetString("AccountAutoRenew", resourceCulture);
-        public static string AccountSubscribedSince => ResourceManager.GetString("AccountSubscribedSince", resourceCulture);
-        public static string AccountSubscriptionUnavailable => ResourceManager.GetString("AccountSubscriptionUnavailable", resourceCulture);
-        public static string AccountHowToCancel => ResourceManager.GetString("AccountHowToCancel", resourceCulture);
-        public static string AccountCancelInstruction => ResourceManager.GetString("AccountCancelInstruction", resourceCulture);
-        public static string AccountCancelCommand => ResourceManager.GetString("AccountCancelCommand", resourceCulture);
-        public static string AccountFollowInstructions => ResourceManager.GetString("AccountFollowInstructions", resourceCulture);
-        public static string AccountLanguage => ResourceManager.GetString("AccountLanguage", resourceCulture);
-        public static string AccountEnglish => ResourceManager.GetString("AccountEnglish", resourceCulture);
-        public static string AccountMyanmar => ResourceManager.GetString("AccountMyanmar", resourceCulture);
-        public static string AccountSecurityNote => ResourceManager.GetString("AccountSecurityNote", resourceCulture);
-        public static string AccountAvatarAlt => ResourceManager.GetString("AccountAvatarAlt", resourceCulture);
-        public static string AccountCancelCatAlt => ResourceManager.GetString("AccountCancelCatAlt", resourceCulture);
-        public static string BuyTurnSuccessMessage => ResourceManager.GetString("BuyTurnSuccessMessage", resourceCulture);
-        public static string TurnOverTitle => ResourceManager.GetString("TurnOverTitle", resourceCulture);
-        public static string TurnOverPrimary => ResourceManager.GetString("TurnOverPrimary", resourceCulture);
-        public static string TurnOverSecondary => ResourceManager.GetString("TurnOverSecondary", resourceCulture);
-        public static string BuyMoreTurns => ResourceManager.GetString("BuyMoreTurns", resourceCulture);
-        public static string Close => ResourceManager.GetString("Close", resourceCulture);
     }
 }

+ 16 - 0
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.resx

@@ -708,4 +708,20 @@
   <data name="Close" xml:space="preserve">
     <value>Close</value>
   </data>
+  <data name="MB" xml:space="preserve">
+    <value>MB</value>
+  </data>
+  <data name="LOYALTY" xml:space="preserve">
+    <value>LOYALTY</value>
+  </data>
+  <data name="GuideMonthlyRewardTable" xml:space="preserve"><value>Monthly Reward Table</value></data>
+  <data name="GuidePrize" xml:space="preserve"><value>Prize</value></data>
+  <data name="GuideQuantity" xml:space="preserve"><value>Quantity</value></data>
+  <data name="GuideReward" xml:space="preserve"><value>Reward</value></data>
+  <data name="GuideFirstPrize" xml:space="preserve"><value>First Prize</value></data>
+  <data name="GuideSecondPrize" xml:space="preserve"><value>Second Prize</value></data>
+  <data name="GuideThirdPrize" xml:space="preserve"><value>Third Prize</value></data>
+  <data name="GuideFirstPrizeReward" xml:space="preserve"><value>2,000,000 MMK</value></data>
+  <data name="GuideSecondPrizeReward" xml:space="preserve"><value>500,000 MMK</value></data>
+  <data name="GuideThirdPrizeReward" xml:space="preserve"><value>200,000 MMK</value></data>
 </root>

+ 16 - 0
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.vi.resx

@@ -708,4 +708,20 @@
   <data name="Close" xml:space="preserve">
     <value>ပိတ်ရန်</value>
   </data>
+  <data name="MB" xml:space="preserve">
+    <value>MB</value>
+  </data>
+  <data name="LOYALTY" xml:space="preserve">
+    <value>LOYALTY</value>
+  </data>
+  <data name="GuideMonthlyRewardTable" xml:space="preserve"><value>Monthly Reward Table</value></data>
+  <data name="GuidePrize" xml:space="preserve"><value>Prize</value></data>
+  <data name="GuideQuantity" xml:space="preserve"><value>Quantity</value></data>
+  <data name="GuideReward" xml:space="preserve"><value>Reward</value></data>
+  <data name="GuideFirstPrize" xml:space="preserve"><value>First Prize</value></data>
+  <data name="GuideSecondPrize" xml:space="preserve"><value>Second Prize</value></data>
+  <data name="GuideThirdPrize" xml:space="preserve"><value>Third Prize</value></data>
+  <data name="GuideFirstPrizeReward" xml:space="preserve"><value>2,000,000 MMK</value></data>
+  <data name="GuideSecondPrizeReward" xml:space="preserve"><value>500,000 MMK</value></data>
+  <data name="GuideThirdPrizeReward" xml:space="preserve"><value>200,000 MMK</value></data>
 </root>

+ 18 - 0
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Guide/Index.cshtml

@@ -180,6 +180,24 @@
                         <li>@Lang.GuideTicketsByPoint</li>
                     </ul>
 
+                    <h3 class="guide-monthly-reward-title">@Lang.GuideMonthlyRewardTable</h3>
+                    <div class="guide-table-wrap">
+                        <table class="guide-table is-reward guide-monthly-reward-table">
+                            <thead>
+                                <tr>
+                                    <th>@Lang.GuidePrize</th>
+                                    <th>@Lang.GuideQuantity</th>
+                                    <th>@Lang.GuideReward</th>
+                                </tr>
+                            </thead>
+                            <tbody>
+                                <tr><td>@Lang.GuideFirstPrize</td><td>1</td><td>@Lang.GuideFirstPrizeReward</td></tr>
+                                <tr><td>@Lang.GuideSecondPrize</td><td>1</td><td>@Lang.GuideSecondPrizeReward</td></tr>
+                                <tr><td>@Lang.GuideThirdPrize</td><td>2</td><td>@Lang.GuideThirdPrizeReward</td></tr>
+                            </tbody>
+                        </table>
+                    </div>
+
                     <div class="guide-winner-card">
                         <img src="~/kitty/assets/kitty-fall/winner-monthly.png" alt="">
                         <div>

+ 17 - 12
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/History/Index.cshtml

@@ -88,18 +88,23 @@
                                         <span><b>@item.dateText</b><small>@item.timeText</small></span>
                                         <span><b>@item.activity</b><small class="@item.modeCssClass">@item.modeName</small></span>
                                         <span>@item.detail</span>
-                                        @if (item.hasReward)
-                                        {
-                                            <strong class="reward-pill @item.rewardCssClass">
-                                                <img src="@item.rewardIcon" alt="">
-                                                <b>@item.rewardValueText</b>
-                                                <small>@item.rewardUnitText</small>
-                                            </strong>
-                                        }
-                                        else
-                                        {
-                                            <strong class="reward-pill is-empty"><b>-</b><small></small></strong>
-                                        }
+                                        <div class="history-reward-summary" aria-label="@item.dataMbText MB, @item.scoreText score, @item.loyaltyText loyalty">
+                                            <span class="history-reward-value is-data">
+                                                <img src="~/kitty/assets/kitty-fall/icon-data.png" alt="">
+                                                <b>@item.dataMbText</b>
+                                                <small>@Lang.MB</small>
+                                            </span>
+                                            <span class="history-reward-value is-score">
+                                                <img src="~/kitty/assets/kitty-fall/nav-winner.png" alt="">
+                                                <b>@item.scoreText</b>
+                                                <small>@Lang.Score</small>
+                                            </span>
+                                            <span class="history-reward-value is-loyalty">
+                                                <img src="~/kitty/assets/kitty-fall/nav-leaderboard.png" alt="">
+                                                <b>@item.loyaltyText</b>
+                                                <small>@Lang.LOYALTY</small>
+                                            </span>
+                                        </div>
                                     </div>
                                 }
                             }

+ 12 - 11
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Home/Index.cshtml

@@ -18,14 +18,6 @@
     // Khong chan modal theo regInfos vi session subscription co the chua kip dong bo.
     var autoOpenBuyTurn = (ViewBag.AutoOpenBuyTurn as bool?) == true;
     var turnPackages = ViewBag.TurnPackages as List<Dictionary<string, object?>> ?? new List<Dictionary<string, object?>>();
-    var firstTurnPackage = turnPackages.FirstOrDefault();
-    var buyTurnFee = firstTurnPackage != null && firstTurnPackage.TryGetValue("fee", out var buyTurnFeeValue) && decimal.TryParse(buyTurnFeeValue?.ToString(), out var parsedBuyTurnFee)
-        ? parsedBuyTurnFee
-        : packageFee;
-    var buyTurnCount = firstTurnPackage != null && firstTurnPackage.TryGetValue("numberSpin", out var buyTurnCountValue) && int.TryParse(buyTurnCountValue?.ToString(), out var parsedBuyTurnCount)
-        ? parsedBuyTurnCount
-        : packageTurns;
-    var buyTurnText = buyTurnCount <= 1 ? "Turn" : "Turns";
 }
 
 <main class="kitty-app" aria-label="Kitty Fall home screen">
@@ -87,14 +79,24 @@
     <section class="package-shell home-screen scale-floor" data-scale-floor="368" data-scale-height="100" data-scale-keep-height="true" aria-label="@(isSubscriber ? Lang.BuyTurn : Lang.DailyPackage)">
         <div class="package-card scale-floor-inner">
             <img class="package-icon" src="~/kitty/assets/kitty-fall/gift.png" alt="">
-            <div class="package-copy">
+            <div class="package-copy @(isSubscriber ? "buy-turn-package-copy" : "")">
                 <div class="package-title">
                     <h2>@(isSubscriber ? Lang.BuyTurn : Lang.DailyPackage)</h2>
                 </div>
                 @if (isSubscriber)
                 {
                     <p>@Lang.SelectTurnPackage</p>
-                    <p>@buyTurnCount @buyTurnText available from @buyTurnFee.ToString("N0") MMK</p>
+                    @foreach (var turnPackage in turnPackages.OrderBy(p =>
+                        p.TryGetValue("numberSpin", out var turnValue) && int.TryParse(turnValue?.ToString(), out var turnCount)
+                            ? turnCount
+                            : int.MaxValue))
+                    {
+                        var turnFee = turnPackage.TryGetValue("fee", out var feeValue) && decimal.TryParse(feeValue?.ToString(), out var parsedFee) ? parsedFee : 0M;
+                        var turnCount = turnPackage.TryGetValue("numberSpin", out var countValue) && int.TryParse(countValue?.ToString(), out var parsedCount) ? parsedCount : 0;
+                        var turnText = turnCount <= 1 ? "Turn" : "Turns";
+
+                        <p>@turnCount @turnText available from @turnFee.ToString("N0") MMK</p>
+                    }
                 }
                 else
                 {
@@ -105,7 +107,6 @@
             <div class="package-action">
                 @if (isSubscriber)
                 {
-                    <p><strong>@buyTurnFee.ToString("N0")</strong> MMK/@buyTurnCount @buyTurnText</p>
                     <button class="subscribe-trigger" type="button" data-open-buy-turn>@Lang.BuyTurn</button>
                 }
                 else

+ 86 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/kitty/css/all.min.css

@@ -459,6 +459,16 @@ button {
     line-height: 1.35;
 }
 
+.buy-turn-package-copy .package-title {
+    height: 24px;
+    margin-bottom: 2px;
+}
+
+.buy-turn-package-copy p {
+    font-size: 12px;
+    line-height: 1.25;
+}
+
 .package-action {
     display: grid;
     justify-items: center;
@@ -1811,7 +1821,7 @@ button {
 .history-row {
     width: 100%;
     display: grid;
-    grid-template-columns: 82px 66px minmax(94px, 1fr) 94px;
+    grid-template-columns: 76px 60px minmax(76px, 1fr) 150px;
     align-items: center;
 }
 
@@ -1927,6 +1937,52 @@ button {
     font-size: 7px;
 }
 
+.history-reward-summary {
+    justify-self: end;
+    width: 146px;
+    display: grid;
+    grid-template-columns: repeat(3, minmax(0, 1fr));
+    gap: 3px;
+}
+
+.history-reward-value {
+    min-width: 0;
+    height: 30px;
+    border-radius: 7px;
+    display: grid;
+    grid-template-columns: 15px minmax(0, 1fr);
+    grid-template-rows: 16px 8px;
+    align-items: center;
+    padding: 3px 2px;
+    background: rgba(255, 255, 255, 0.68);
+    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.16);
+}
+
+.history-reward-value img {
+    grid-row: 1 / 3;
+    width: 15px;
+    height: 15px;
+    object-fit: contain;
+}
+
+.history-reward-value b {
+    overflow: hidden;
+    font-size: 10px;
+    line-height: 1;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+
+.history-reward-value small {
+    color: #242424;
+    font-size: 5px;
+    line-height: 1;
+}
+
+.history-reward-value.is-data b { color: #3767df; }
+.history-reward-value.is-score b { color: #ff7900; }
+.history-reward-value.is-loyalty b { color: #4ca423; }
+
 .history-pages {
     width: 100%;
     max-width: 344px;
@@ -2278,6 +2334,35 @@ button {
     font-size: 10px;
 }
 
+.guide-section .guide-monthly-reward-title {
+    margin-top: 10px;
+    color: #111;
+    font-size: 13px;
+    font-style: normal;
+    text-align: left;
+}
+
+.guide-monthly-reward-table th,
+.guide-monthly-reward-table td {
+    text-align: center;
+    vertical-align: middle;
+}
+
+.guide-monthly-reward-table th:first-child,
+.guide-monthly-reward-table td:first-child {
+    width: 32%;
+    font-weight: 900;
+}
+
+.guide-monthly-reward-table th:nth-child(2),
+.guide-monthly-reward-table td:nth-child(2) {
+    width: 22%;
+}
+
+.guide-monthly-reward-table td:last-child {
+    font-weight: 800;
+}
+
 .guide-winner-card {
     width: 100%;
     min-height: 82px;

+ 86 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/kitty/css/input.css

@@ -459,6 +459,16 @@ button {
     line-height: 1.35;
 }
 
+.buy-turn-package-copy .package-title {
+    height: 24px;
+    margin-bottom: 2px;
+}
+
+.buy-turn-package-copy p {
+    font-size: 12px;
+    line-height: 1.25;
+}
+
 .package-action {
     display: grid;
     justify-items: center;
@@ -1811,7 +1821,7 @@ button {
 .history-row {
     width: 100%;
     display: grid;
-    grid-template-columns: 82px 66px minmax(94px, 1fr) 94px;
+    grid-template-columns: 76px 60px minmax(76px, 1fr) 150px;
     align-items: center;
 }
 
@@ -1927,6 +1937,52 @@ button {
     font-size: 7px;
 }
 
+.history-reward-summary {
+    justify-self: end;
+    width: 146px;
+    display: grid;
+    grid-template-columns: repeat(3, minmax(0, 1fr));
+    gap: 3px;
+}
+
+.history-reward-value {
+    min-width: 0;
+    height: 30px;
+    border-radius: 7px;
+    display: grid;
+    grid-template-columns: 15px minmax(0, 1fr);
+    grid-template-rows: 16px 8px;
+    align-items: center;
+    padding: 3px 2px;
+    background: rgba(255, 255, 255, 0.68);
+    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.16);
+}
+
+.history-reward-value img {
+    grid-row: 1 / 3;
+    width: 15px;
+    height: 15px;
+    object-fit: contain;
+}
+
+.history-reward-value b {
+    overflow: hidden;
+    font-size: 10px;
+    line-height: 1;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+
+.history-reward-value small {
+    color: #242424;
+    font-size: 5px;
+    line-height: 1;
+}
+
+.history-reward-value.is-data b { color: #3767df; }
+.history-reward-value.is-score b { color: #ff7900; }
+.history-reward-value.is-loyalty b { color: #4ca423; }
+
 .history-pages {
     width: 100%;
     max-width: 344px;
@@ -2278,6 +2334,35 @@ button {
     font-size: 10px;
 }
 
+.guide-section .guide-monthly-reward-title {
+    margin-top: 10px;
+    color: #111;
+    font-size: 13px;
+    font-style: normal;
+    text-align: left;
+}
+
+.guide-monthly-reward-table th,
+.guide-monthly-reward-table td {
+    text-align: center;
+    vertical-align: middle;
+}
+
+.guide-monthly-reward-table th:first-child,
+.guide-monthly-reward-table td:first-child {
+    width: 32%;
+    font-weight: 900;
+}
+
+.guide-monthly-reward-table th:nth-child(2),
+.guide-monthly-reward-table td:nth-child(2) {
+    width: 22%;
+}
+
+.guide-monthly-reward-table td:last-child {
+    font-weight: 800;
+}
+
 .guide-winner-card {
     width: 100%;
     min-height: 82px;